:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#eff6ff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--panel:#09131fd1;--panel-strong:#0d1a28f5;--panel-border:#94a3b82e;--text:#eff6ff;--soft:#dbeafe;--muted:#9db0c4;--primary:#2ee6a6;--primary-dark:#082018;--shadow:0 24px 48px #00000042;background:radial-gradient(circle at 0 0,#2ee6a629,#0000 0 36%),radial-gradient(circle at 100% 100%,#ffb84d1f,#0000 0 32%),#06111a;font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;color:var(--text);background:radial-gradient(circle at 0 0,#2ee6a629,#0000 0 36%),radial-gradient(circle at 100% 100%,#ffb84d1f,#0000 0 32%),#06111a;margin:0}button,input{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--text)}h1{letter-spacing:-.04em;font-size:clamp(2rem,5vw,3.4rem);line-height:1.02}h2{font-size:clamp(1.15rem,2vw,1.4rem)}a{color:inherit}img{max-width:100%;display:block}#root{min-height:100vh}::selection{color:#fff;background:#2ee6a64d}.app-shell{max-width:1180px;margin:0 auto;padding:16px}.dashboard-grid{gap:16px;display:grid}.dashboard-grid>*{min-width:0}.panel{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:24px;padding:16px}.panel-wide{grid-column:1/-1}.hero-panel{background:radial-gradient(circle at 100% 0,#2ee6a63d,#0000 0 38%),linear-gradient(135deg,#0b1826f5,#070f18f5);margin-bottom:14px;position:relative;overflow:hidden}.hero-panel:after{content:"";border:18px solid #ffb84d1a;border-radius:50%;width:180px;height:180px;position:absolute;inset:auto -60px -70px auto}.eyebrow,.section-tag,.hint-pill,.badge,.court-badge,.mini-status,.vs-pill,.rank-pill{letter-spacing:.08em;text-transform:uppercase}.eyebrow{color:var(--soft);background:#ffffff0f;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:.73rem;font-weight:700;display:inline-flex}.hero-content{gap:18px;margin-top:14px;display:grid}.hero-links{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.hero-link{color:var(--soft);letter-spacing:.03em;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.72rem;font-weight:700;text-decoration:none;transition:transform .2s,filter .2s,background-color .2s;display:inline-flex}.hero-link svg{width:14px;height:14px}.hero-link:hover{filter:brightness(1.05);transform:translateY(-1px)}.hero-link:active{transform:translateY(0)scale(.98)}.hero-copy{max-width:58rem;color:var(--muted)}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.stat-card{background:#ffffff0d;border:1px solid #ffffff0f;border-radius:18px;flex-direction:column;gap:4px;padding:12px;display:flex}.stat-card span{color:var(--muted);font-size:.75rem}.stat-card strong{font-size:1.1rem}.status-banner{color:var(--soft);background:#2ee6a614;border:1px solid #2ee6a640;border-radius:16px;margin:0 0 16px;padding:12px 14px}.section-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.section-heading h2,.round-head h3{margin:2px 0 0}.section-tag{color:var(--muted);margin:0;font-size:.72rem;font-weight:700}.hint-pill{color:#ffd08a;background:#ffb84d1f;border-radius:999px;align-items:center;padding:6px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.panel-toggle{color:var(--text);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;padding:8px 10px;font-size:.74rem;font-weight:700;transition:transform .2s,background-color .2s,border-color .2s}.panel-toggle:hover{background:#ffffff14;transform:translateY(-1px)}.panel-toggle:active{transform:translateY(0)scale(.98)}.player-form,.action-row{gap:10px;display:grid}.action-row{margin-top:12px}.input-stack{flex-direction:column;gap:6px;display:flex}.input-stack label,.score-field span{color:var(--muted);font-size:.78rem}.field,.score-input{border:1px solid var(--panel-border);width:100%;color:var(--text);background:#ffffff0a;border-radius:14px;outline:none;padding:12px 14px;transition:border-color .2s,transform .2s}.field:focus,.score-input:focus{border-color:#2ee6a699;transform:translateY(-1px)}.field-input-wrap,.score-input-wrap,.field-inline-action{position:relative}.field-with-inline-action{padding-right:72px}.field-inline-button{background:var(--primary);color:#89ffd8;cursor:pointer;white-space:nowrap;background:#2ee6a61f;border:1px solid #2ee6a657;border-radius:10px;height:calc(100% - 12px);padding:0 14px;font-size:13px;font-weight:700;transition:opacity .2s,filter .2s;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.field-inline-button:hover{opacity:.85}.field-inline-button:disabled{opacity:.35;cursor:not-allowed}.field-with-steps,.score-input{padding-left:42px;padding-right:42px}.skill-level-selector{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.skill-level-button{min-height:68px;color:var(--text);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:10px 8px;transition:transform .2s,border-color .2s,background-color .2s,filter .2s;display:flex}.skill-level-button span{font-size:1rem;font-weight:800}.skill-level-button small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:700}.skill-level-button:hover{filter:brightness(1.05);transform:translateY(-1px)}.skill-level-button:active{transform:translateY(0)scale(.98)}.skill-level-button-active{color:#89ffd8;background:#2ee6a61f;border-color:#2ee6a66b}.skill-level-button-active small{color:#b8ffe7}.primary-button,.ghost-button,.player-chip button{cursor:pointer;border:0;border-radius:14px;font-size:14px;transition:transform .2s,opacity .2s,filter .2s}.primary-button,.ghost-button{padding:12px 14px;font-weight:700}.primary-button{background:linear-gradient(135deg, var(--primary), #6ef8c6);color:var(--primary-dark)}.ghost-button.share-readonly-button{background:linear-gradient(135deg, var(--primary), #6ef8c6);color:var(--primary-dark);filter:hue-rotate(88deg)saturate(1.08);border:0}.ghost-button{color:var(--text);background:#ffffff0f;border:1px solid #ffffff14}.primary-button:hover,.ghost-button:hover,.player-chip button:hover{filter:brightness(1.05);transform:translateY(-1px)}.primary-button:active,.ghost-button:active,.player-chip button:active{filter:brightness(.98);transform:translateY(0)scale(.98)}.ghost-button.share-readonly-button:hover{filter:hue-rotate(88deg)saturate(1.08)brightness(1.05)}.ghost-button.share-readonly-button:active{filter:hue-rotate(88deg)saturate(1.08)brightness(.98)}.ghost-button.ghost-button-purple{color:#c084fc;border-color:#a855f780}.ghost-button.ghost-button-purple:hover{color:#e9d5ff;background:#a855f71f;border-color:#a855f7cc}.ghost-button.ghost-button-purple:active{background:#a855f733}.field:disabled,.score-input:disabled,.primary-button:disabled,.ghost-button:disabled,.player-chip button:disabled,.field-step-button:disabled,.score-step-button:disabled,.skill-level-button:disabled{opacity:.58;cursor:not-allowed}.primary-button:disabled:hover,.ghost-button:disabled:hover,.player-chip button:disabled:hover{transform:none}.helper-text{color:var(--muted);margin:12px 0 0}.meta-strip{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:14px;display:grid}.meta-strip div{background:#ffffff0a;border-radius:18px;flex-direction:column;padding:12px;display:flex}.meta-strip strong{font-size:1.1rem}.meta-strip span{color:var(--muted);font-size:.78rem}.skill-level-panel{margin-top:14px}.skill-level-tag{margin-bottom:8px}.skill-duration-card{background:#ffffff0a;border-radius:18px;flex-direction:column;gap:4px;margin-top:10px;padding:12px;display:flex}.skill-duration-card strong{font-size:1.1rem}.skill-duration-card span{color:var(--muted);font-size:.78rem}.roster-list{gap:10px;display:grid}.roster-count-pill{color:#89ffd8;vertical-align:middle;letter-spacing:.04em;background:#2ee6a61f;border:1px solid #2ee6a640;border-radius:999px;justify-content:center;align-items:center;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.player-chip{background:#ffffff0a;border:1px solid #ffffff0d;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.player-chip-identity{align-items:center;gap:10px;min-width:0;display:flex}.player-row-number{color:#89ffd8;background:#2ee6a61f;border:1px solid #2ee6a640;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.74rem;font-weight:700;line-height:1;display:inline-flex}.player-chip strong,.team-line strong,table td{color:var(--text)}.player-chip-meta{color:var(--muted);margin-top:2px;font-size:.76rem;display:block}.player-chip button{color:#ff9b9b;background:#ff6b6b1f;width:32px;height:32px;font-size:1.15rem}.empty-state{color:var(--muted);text-align:center;border:1px dashed #9db0c447;border-radius:18px;padding:18px}.empty-state.compact{padding:14px}.round-list{gap:14px;display:grid}.round-card{background:var(--panel-strong);border:1px solid #ffffff0d;border-radius:20px;padding:14px}.round-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.round-head p{color:var(--muted);margin:4px 0 0;font-size:.82rem}.round-head-toggle{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:0;transition:transform .2s,background-color .2s}.round-head-toggle:hover{background:#ffffff08;transform:translateY(-1px)}.round-head-toggle:active{transform:translateY(0)scale(.995)}.panel-toggle:focus-visible,.round-head-toggle:focus-visible,.primary-button:focus-visible,.ghost-button:focus-visible,.skill-level-button:focus-visible,.player-chip button:focus-visible{outline-offset:2px;outline:2px solid #2ee6a68c}.round-head-side{align-items:center;gap:8px;display:flex}.round-head-caret{color:var(--muted);font-size:1rem;line-height:1}.badge{border-radius:999px;align-items:center;padding:6px 10px;font-size:.7rem;font-weight:700;display:inline-flex}.badge-complete{color:#89ffd8;background:#2ee6a61f}.badge-pending{color:#8edaff;background:#7dd3fc1f}.bench-note{color:var(--muted);margin:0 0 12px}.match-grid{gap:12px;display:grid}.match-card{background:#ffffff0a;border:1px solid #ffffff0d;border-radius:18px;padding:12px}.match-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.court-badge,.mini-status,.vs-pill{border-radius:999px;justify-content:center;align-items:center;font-size:.68rem;font-weight:700;display:inline-flex}.court-badge{color:#89ffd8;background:#2ee6a61f;padding:6px 10px}.mini-status{color:var(--muted);background:#ffffff0f;padding:5px 8px}.team-stack{gap:10px;margin:14px 0;display:grid}.team-line{text-align:center;background:#ffffff0a;border-radius:14px;padding:12px}.vs-pill{color:#ffd08a;background:#ffb84d1f;width:fit-content;margin:0 auto;padding:5px 9px}.score-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.score-field{flex-direction:column;gap:6px;display:flex}.score-input,.field-with-steps{text-align:center;padding-top:10px;padding-bottom:10px;font-size:1rem;font-weight:700}.field-step-button,.score-step-button{color:#89ffd8;cursor:pointer;background:#2ee6a61f;border:1px solid #2ee6a657;border-radius:10px;width:30px;height:30px;font-size:.95rem;font-weight:800;line-height:1;transition:transform .2s,filter .2s,background-color .2s;position:absolute;top:50%;transform:translateY(-50%)}.field-minus-button,.score-minus-button{color:#ff9b9b;background:#ff6b6b24;border-color:#ff6b6b5c;left:6px}.field-plus-button,.score-plus-button{right:6px}.field-step-button:hover,.score-step-button:hover{filter:brightness(1.06);transform:translateY(calc(-50% - 1px))}.field-step-button:active,.score-step-button:active{filter:brightness(.98);transform:translateY(-50%)scale(.98)}.ingame-reminder{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.ingame-badge{color:#ffd08a;letter-spacing:.08em;text-transform:uppercase;background:#ffb84d1a;border:1px solid #ffb84d33;border-radius:999px;align-items:center;padding:5px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;min-width:0;max-width:100%;overflow:auto hidden}.leaderboard-table{border-collapse:collapse;width:100%;min-width:700px}.leaderboard-table th,.leaderboard-table td{text-align:left;border-bottom:1px solid #ffffff0f;padding:12px 10px}.leaderboard-table th{color:var(--muted);font-size:.78rem;font-weight:700}.leader-row-top{background:#2ee6a60d}.rank-pill{min-width:32px;color:var(--text);background:#ffffff14;border-radius:999px;padding:6px 8px;font-size:.7rem;font-weight:800}.rank-pill-1{color:#8effdc;background:#2ee6a62e}.rank-pill-2{color:#a6e5ff;background:#7dd3fc2e}.rank-pill-3{color:#ffd08a;background:#ffb84d2e}.rank-pill-4{background:#ffffff14}.readonly-sticky-action{z-index:5;background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #ffffff14;border-radius:20px;margin-top:4px;padding:14px;position:sticky;bottom:12px}.readonly-sticky-action-grid{grid-column:1/-1}.readonly-sticky-action .primary-button{width:100%}.readonly-sticky-action{gap:10px;display:grid}.share-modal-overlay{z-index:50;background:#040a10bf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.share-modal{border:1px solid var(--panel-border);background:var(--panel);width:min(640px,100%);box-shadow:var(--shadow);border-radius:18px;gap:12px;padding:16px;display:grid}.share-modal h3{margin:0}.share-modal p{color:var(--muted);margin:0}.share-url-field{font-size:.9rem}.share-preview-wrap{background:#ffffff05;border:1px solid #ffffff14;border-radius:16px;justify-content:center;max-height:min(40vh,460px);padding:10px;display:flex;overflow:auto}.share-preview-image{object-fit:contain;border:1px solid #ffffff14;border-radius:12px;flex:none;width:auto;max-width:none;height:min(40vh,460px);max-height:100%}.share-modal-actions{gap:10px;display:grid}.share-close-button{grid-column:1/-1;width:100%}.ghost-button.share-close-button{color:#fecaca;background:#ef444429;border-color:#ef44448c}.ghost-button.share-close-button:hover{color:#ffe4e6;background:#ef44443d;border-color:#ef4444d1}.ghost-button.share-close-button:active{background:#ef44444d}@keyframes copySuccessPulse{0%{transform:scale(1);box-shadow:0 0 #2ee6a600}50%{transform:scale(1.03);box-shadow:0 0 0 6px #2ee6a638}to{transform:scale(1);box-shadow:0 0 #2ee6a600}}.copy-success-feedback{animation:.55s copySuccessPulse}@media (width<=699px){.share-modal-overlay{align-items:flex-start;padding:8px}.share-modal{max-height:calc(100dvh - 16px);overflow-y:auto}.share-preview-wrap{max-height:min(34dvh,320px)}.share-preview-image{height:min(34dvh,320px)}}@media (width>=700px){.player-form{grid-template-columns:2fr 120px auto;align-items:end}.action-row{grid-template-columns:repeat(4,minmax(0,1fr))}.match-grid,.share-modal-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=960px){.app-shell{padding:24px}.hero-links{flex-wrap:nowrap;align-items:center}.dashboard-grid{grid-template-columns:1.1fr .9fr}.panel{padding:18px}.hero-content{grid-template-columns:1.4fr .8fr;align-items:end}.round-list{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.match-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.panel-roster{flex-direction:column;align-self:stretch;min-height:0;display:flex}.panel-roster .roster-list{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;flex:1;min-height:0;max-height:530px;overflow-y:auto}.panel-roster .empty-state{flex:1}}
