:root{--bg:#090909;--surface:#1b1b1b;--text:#fff;--text-dim:#8a8a8a;--border:#242424;--neon:#fcce43;--accent-a:var(--neon);--accent-b:#555;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font:16px/1.4 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{min-height:100svh;margin:0}#root{flex-direction:column;min-height:100svh;display:flex}button{font:inherit;cursor:pointer}input{font:inherit}.scoreboard,.code-entry,.status-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(12px,2vw,24px);width:100%;max-width:720px;margin:0 auto;padding:clamp(16px,4vw,48px);display:flex}.scoreboard{gap:clamp(14px,3vh,40px);max-width:min(1000px,94vw);padding:clamp(20px,5vh,64px) clamp(16px,4vw,64px)}.scoreboard-brand{letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-size:clamp(.85rem,1.4vw,1.15rem)}.scoreboard-winner{color:var(--neon);font-size:clamp(1.2rem,3vw,2.4rem);font-weight:700}.scoreboard-info{text-align:center;flex-direction:column;align-items:center;gap:clamp(2px,.6vh,6px);display:flex}.scoreboard-championship{letter-spacing:.02em;color:var(--text);font-size:clamp(1rem,2.4vw,1.9rem);font-weight:700}.scoreboard-info-sub{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(6px,1.2vw,14px);font-size:clamp(.75rem,1.5vw,1.1rem);display:flex}.scoreboard-info-sub>*+:before{content:"·";color:var(--border);margin-right:clamp(6px,1.2vw,14px)}.scoreboard-tiebreak{color:var(--text);font-weight:700}.scoreboard-players{border:1px solid var(--border);background:var(--surface);border-radius:clamp(12px,1.4vw,20px);width:100%;overflow:hidden}.player-row{grid-template-columns:1fr auto auto auto;align-items:center;gap:clamp(8px,3vw,24px);padding:clamp(12px,3vw,24px);display:grid}.player-row:first-of-type{border-bottom:1px solid var(--border)}.scoreboard-header{border-bottom:1px solid var(--border);background:#ffffff05;grid-template-columns:1fr auto auto auto;align-items:center;gap:clamp(8px,3vw,24px);padding:clamp(6px,1.5vw,10px) clamp(12px,3vw,24px);display:grid}.scoreboard-header .col-stat{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);text-align:center;min-width:2.5ch;font-size:clamp(.62rem,1.2vw,.95rem)}.player-name{letter-spacing:.01em;text-align:left;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:clamp(8px,.9vw,16px);min-width:0;font-size:clamp(1.05rem,3vw,2.6rem);font-weight:700;display:flex;overflow:hidden}.player-name>.name-text{text-overflow:ellipsis;overflow:hidden}.player-name.identity-a,.player-name.identity-b{color:var(--text)}.serving-dot{background:var(--neon);border-radius:50%;flex-shrink:0;width:.55em;height:.55em}.player-sets,.player-games,.player-points{text-align:center;min-width:2.5ch}.player-sets,.player-games{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:clamp(1rem,2.4vw,1.9rem)}.player-points{font-variant-numeric:tabular-nums;text-align:center;min-width:2.5ch;font-size:clamp(1.5rem,6.5vw,4rem);font-weight:800}.scoreboard-status-label{color:var(--text);letter-spacing:.06em;text-transform:uppercase;font-size:clamp(.9rem,2vw,1.5rem);font-weight:600}.scoreboard-timer{letter-spacing:.06em;color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:clamp(.9rem,1.9vw,1.55rem)}.scoreboard-timer-paused{color:#ffb300}.prematch{flex:1;justify-content:center;align-items:center;padding:clamp(20px,5vh,72px) clamp(16px,5vw,96px);display:flex;container-type:inline-size}.prematch-content{text-align:center;flex-direction:column;align-items:center;gap:clamp(14px,3.2vh,40px);width:100%;max-width:min(1200px,92vw);display:flex}.prematch-brand{letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin:0;font-size:clamp(.7rem,1.4vw,1rem)}.prematch-status{letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--border);background:var(--surface);border-radius:999px;align-self:center;margin:0;padding:clamp(6px,.9vh,12px) clamp(14px,1.6vw,26px);font-size:clamp(.8rem,1.5vw,1.15rem);font-weight:700}.prematch-context{flex-direction:column;align-items:center;gap:clamp(2px,.6vh,8px);display:flex}.prematch-championship{letter-spacing:.02em;color:var(--text);margin:0;font-size:clamp(1.25rem,3.2vw,2.6rem);font-weight:700;line-height:1.1}.prematch-phase{letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin:0;font-size:clamp(.85rem,1.6vw,1.3rem);font-weight:600}.prematch-players{flex-direction:column;justify-content:center;align-items:center;gap:clamp(6px,1.4vh,18px);width:100%;display:flex}.prematch-player{letter-spacing:-.01em;text-transform:uppercase;min-width:0;max-width:100%;font-weight:800;line-height:1.02}.prematch-player-name{overflow-wrap:anywhere;text-wrap:balance;font-size:clamp(2.4rem,12vw,5rem);display:block}.prematch-player.identity-a,.prematch-player.identity-b{color:var(--text)}.prematch-vs{color:var(--text-dim);font-size:clamp(1.2rem,3.5vw,2.4rem);font-weight:400;line-height:1}.prematch-meta{color:var(--text-dim);flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(6px,1vw,14px);font-size:clamp(.95rem,2vw,1.5rem);display:flex}.prematch-format{font-weight:600}.prematch-meta-sep{color:var(--border)}.prematch-datetime{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--text);font-weight:600}.prematch-countdown{font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--text);margin:0;font-size:clamp(1.5rem,4.5vw,3.4rem);font-weight:700}@container (width>=620px){.prematch-players{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:clamp(16px,3cqw,56px);display:grid}.prematch-player{text-align:center;justify-self:stretch;container-type:inline-size}.prematch-player-name{overflow-wrap:normal;font-size:clamp(1.75rem,15cqi,4.75rem)}}.important-moment{letter-spacing:.04em;text-transform:uppercase;border:1px solid;border-radius:999px;align-items:center;gap:8px;padding:clamp(6px,1.5vw,12px) clamp(12px,3vw,22px);font-size:clamp(.85rem,2vw,1.4rem);font-weight:700;display:inline-flex}.important-moment-a,.important-moment-b{color:var(--neon)}.important-moment-sep{opacity:.6}.set-history{flex-direction:column;gap:4px;width:100%;max-width:min(480px,100%);display:flex}.set-history-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);text-align:center;font-size:clamp(.7rem,1.5vw,.85rem)}.set-history-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.set-history-row{justify-content:space-between;gap:16px;padding:4px 10px;font-size:clamp(.85rem,1.9vw,1rem);display:flex}.set-history-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.set-history-score{font-variant-numeric:tabular-nums;font-weight:600}.momentum{flex-direction:column;gap:6px;width:100%;max-width:min(480px,100%);display:flex}.momentum-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);text-align:center;font-size:clamp(.7rem,1.5vw,.85rem)}.momentum-labels{justify-content:space-between;font-size:clamp(.75rem,1.6vw,.9rem);display:flex}.momentum-label{font-weight:600}.momentum-label-a{color:var(--accent-a)}.momentum-label-b{color:var(--accent-b)}.momentum-track{background:linear-gradient(to right, #fcce4338 0 50%, #88888838 50% 100%), var(--surface);border:1px solid var(--border);border-radius:999px;height:10px;position:relative;overflow:hidden}.momentum-center{background:var(--border);width:1px;position:absolute;top:0;bottom:0;left:50%}.momentum-fill{position:absolute;top:0;bottom:0}.momentum-fill-a{background:var(--accent-a)}.momentum-fill-b{background:var(--accent-b)}.stale-banner{color:var(--text-dim);text-align:center;padding:6px 12px;font-size:.85rem}.code-entry form{flex-direction:column;gap:12px;width:100%;max-width:360px;display:flex}.code-entry label{color:var(--text-dim);text-align:left;font-size:.85rem}.code-entry input{border:1px solid var(--border);background:var(--surface);color:var(--text);letter-spacing:.05em;text-transform:uppercase;border-radius:8px;padding:12px 14px;font-size:1.1rem}.code-entry button,.status-screen button{background:var(--neon);color:#090909;border:none;border-radius:8px;padding:12px 20px;font-weight:700}.status-screen-hint{color:var(--text-dim);font-size:.9rem}
