:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{margin:0}.tv-shell{color:#f8fafc;background:radial-gradient(circle at 10% 0,#2563eb47,#0000 28%),radial-gradient(circle at 90% 10%,#10b9812e,#0000 25%),linear-gradient(145deg,#061224 0%,#071a33 52%,#051222 100%);grid-template-rows:auto auto auto 1fr auto auto;gap:clamp(10px,1.5vw,24px);width:100%;min-height:100vh;padding:clamp(18px,2.5vw,48px);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid}.tv-header{text-align:center}.tv-header h1{letter-spacing:.02em;margin:0;font-size:clamp(32px,5vw,78px);font-style:italic;line-height:.98}.tv-header p{color:#aebbd0;margin:8px 0 0;font-size:clamp(15px,2vw,30px);font-weight:700}.tv-header p span{margin:0 .35em}.tv-statusbar,.tv-footerbar{text-align:center;background:#041226ad;border:2px solid #60a5fa8c;border-radius:999px;grid-template-columns:1fr 1fr 1fr;align-items:center;min-height:clamp(52px,7vw,86px);font-size:clamp(14px,2vw,30px);font-weight:900;display:grid;overflow:hidden;box-shadow:inset 0 0 30px #2563eb14}.tv-statusbar>div+div{border-left:1px solid #94a3b899}.tv-live-pill{color:#72f58c}.tv-dot{background:currentColor;border-radius:50%;width:.65em;height:.65em;margin-right:.45em;display:inline-block;box-shadow:0 0 18px}.tv-live-pill.offline{color:#fbbf24}.tv-connection-note{text-align:center;color:#fde68a;font-size:clamp(12px,1.3vw,20px);font-weight:800}.tv-main-score{grid-template-columns:minmax(0,1fr) minmax(180px,22vw) minmax(0,1fr);align-items:stretch;gap:clamp(12px,2vw,30px);min-height:0;display:grid}.tv-team-card{text-align:center;border:5px solid;border-radius:clamp(22px,3vw,46px);grid-template-rows:auto auto 1fr auto;align-items:center;min-width:0;padding:clamp(18px,2.4vw,42px);display:grid;box-shadow:inset 0 0 60px #0000002e,0 20px 60px #0003}.tv-team-card.player{background:linear-gradient(155deg,#092d60eb,#041b3cd1);border-color:#1da1ff}.tv-team-card.opponent{background:linear-gradient(155deg,#045345e0,#04262dd6);border-color:#3ce985}.tv-team-card.winner{box-shadow:0 0 40px #bef26438,inset 0 0 60px #bef26414}.tv-team-card h2{overflow-wrap:anywhere;border-bottom:2px solid #e2e8f0a6;margin:0;padding-bottom:.35em;font-size:clamp(28px,4vw,64px);line-height:1.05}.tv-server-badge,.tv-winner-badge{color:#09202a;background:#c9ff35;border-radius:999px;justify-self:center;margin-top:.65em;padding:.25em .75em;font-size:clamp(13px,1.5vw,24px);font-weight:950}.tv-winner-badge{background:linear-gradient(90deg,#facc15,#bef264)}.tv-score-value{letter-spacing:-.04em;align-self:center;font-size:clamp(92px,17vw,250px);font-weight:950;line-height:.85}.tv-adv{color:#facc15;font-size:clamp(16px,2vw,30px);font-weight:950}.tv-center-score{text-align:center;align-content:center;justify-items:center;gap:clamp(14px,2vw,28px);display:grid}.tv-center-score>span{color:#cbd5e1;font-size:clamp(18px,2.2vw,34px);font-weight:900}.tv-games{grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(8px,1vw,16px);width:100%;display:grid}.tv-games strong{background:#0f172ab8;border:2px solid #334155;border-radius:24px;place-items:center;min-height:clamp(82px,10vw,145px);font-size:clamp(56px,8vw,118px);display:grid}.tv-games i{font-size:clamp(24px,3vw,46px);font-style:normal}.tv-footerbar{border-radius:clamp(18px,2vw,28px);grid-template-columns:1fr 1fr}.tv-footerbar>*{padding:0 1em}.tv-footerbar strong{font-size:clamp(17px,2.1vw,34px);font-style:italic}.tv-footerbar span{color:#d7e2f2;font-size:clamp(14px,1.6vw,26px);font-weight:800}.tv-readonly{text-align:center;color:#8da0bc;font-size:clamp(11px,1.2vw,18px);font-style:italic}.tv-message{text-align:center;grid-template-rows:1fr;place-items:center}.tv-message h1{margin:20px 0 8px;font-size:clamp(34px,6vw,80px)}.tv-message p{color:#aebbd0;margin:0;font-size:clamp(16px,2vw,28px)}.tv-ball{font-size:clamp(60px,10vw,140px)}@media (width<=800px),(orientation:portrait){.tv-shell{grid-template-rows:auto auto auto auto auto auto;min-height:100svh;padding:16px}.tv-statusbar{border-radius:20px;grid-template-columns:1fr}.tv-statusbar>div{padding:9px}.tv-statusbar>div+div{border-top:1px solid #94a3b859;border-left:0}.tv-main-score{grid-template-columns:1fr}.tv-center-score{order:-1;grid-template-columns:auto 1fr auto}.tv-games{max-width:300px}.tv-team-card{min-height:260px}.tv-score-value{font-size:clamp(76px,28vw,150px)}.tv-footerbar{grid-template-columns:1fr;gap:8px;padding:12px}}:root{color:#e5e7eb;font-synthesis:none;text-rendering:optimizelegibility;background:#090d16;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#090d16 0%,#101827 100%);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{place-items:start center;min-height:100vh;padding:18px 12px 48px;display:grid}.phone-card{background:#111827f7;border:1px solid #273449;border-radius:28px;width:min(100%,490px);padding:20px;box-shadow:0 24px 60px #00000047}.screen-stack{gap:16px;display:grid}.screen-stack.compact{gap:12px}.centered{text-align:center}.screen-header h1,.welcome-screen h1,.result-hero h1{margin:0}.screen-header h1{font-size:24px;line-height:1.18}.screen-header p,.welcome-screen p,.result-hero p{color:#94a3b8;margin:6px 0 0}.section-question{margin:2px 0 0;font-size:14px}.welcome-screen{text-align:center;gap:24px;padding:28px 0;display:grid}.ball-mark{background:#172033;border:1px solid #334155;border-radius:50%;place-items:center;width:84px;height:84px;margin:auto;font-size:36px;display:grid}.panel{background:#151f32;border:1px solid #334155;border-radius:18px;gap:12px;min-width:0;padding:16px;display:grid}.panel.no-pad{padding:0;overflow:hidden}.panel h2{margin:0;font-size:15px}.panel small{color:#94a3b8;display:block}.slim-panel{padding:12px 14px}.choice{color:#e5e7eb;text-align:left;background:#151f32;border:1px solid #334155;border-radius:18px;gap:4px;width:100%;min-height:76px;padding:14px 16px;display:grid}.choice strong{font-size:16px}.choice span{color:#94a3b8;font-size:13px}.choice.selected{border-color:#7dd3fc;outline:2px solid #7dd3fc57}.compact-choice{min-height:64px;padding:12px}.field{gap:8px;font-size:14px;font-weight:700;display:grid}.field input,.field select{color:#e5e7eb;background:#0f172a;border:1px solid #334155;border-radius:12px;width:100%;min-height:50px;padding:0 13px;font-size:16px}.form-error{color:#fca5a5;font-size:13px;font-weight:700}.button{color:#e5e7eb;border:1px solid #0000;border-radius:13px;min-height:48px;padding:10px 14px;font-weight:800}.button-primary{background:#1d4ed8;border-color:#3b82f6}.button-secondary{background:#111827;border-color:#334155}.button-danger{background:#991b1b;border-color:#ef4444}.button-lg{min-height:56px}.button-xl{min-height:62px;font-size:18px}.button:disabled{opacity:.4}.two-col{grid-template-columns:1fr 1fr;gap:12px;min-width:0;display:grid}.info-box{color:#cbd5e1;background:#0f172a99;border:1px dashed #475569;border-radius:14px;padding:12px 14px;font-size:12px;line-height:1.55}.future-panel{grid-template-columns:1fr auto;align-items:center}.future-panel strong{display:block}.future-panel small{margin-top:3px}.rotation-preview>div{border-top:1px solid #263247;justify-content:space-between;gap:12px;padding-top:8px;font-size:13px;display:flex}.rotation-preview>div:first-of-type{border-top:0;padding-top:0}.rotation-preview span{color:#94a3b8}.timer-strip{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.timer-strip>div{background:#111827;border:1px solid #263247;border-radius:13px;min-width:0;padding:9px 5px}.timer-strip strong{white-space:nowrap;font-size:13px;display:block}.timer-strip span{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;display:block;overflow:hidden}.timer-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.timer-card{text-align:center;background:#111827;border:1px solid #334155;border-radius:18px;min-width:0;padding:15px 10px}.timer-card strong{overflow-wrap:anywhere;font-size:24px;display:block}.timer-card span{color:#94a3b8;margin-top:4px;font-size:11px;display:block}.game-progress{justify-content:space-between;align-items:center;gap:12px;display:flex}.game-progress>div{min-width:0}.game-progress small{letter-spacing:.06em;font-size:10px}.game-progress strong{margin-top:2px;display:block}.score-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:16px;display:grid}.score-row+.score-row{border-top:1px solid #334155}.score-name{min-width:0}.score-name strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.score-name small{color:#94a3b8}.score-value{text-align:right;min-width:48px}.score-value strong{font-size:30px;line-height:1;display:block}.score-value small{color:#fbbf24;margin-top:4px;font-weight:900}.serve-badge{color:#cbd5e1;white-space:nowrap;text-overflow:ellipsis;border:1px solid #475569;border-radius:999px;max-width:150px;padding:5px 8px;font-size:10px;display:inline-block;overflow:hidden}.deuce-banner{text-align:center;background:#151f32;border:1px solid #334155;border-radius:18px;gap:3px;padding:14px;display:grid}.deuce-banner strong{font-size:19px}.deuce-banner span{font-weight:900}.deuce-banner small{color:#94a3b8}.deuce-banner.small strong{font-size:14px}.score-buttons{grid-template-columns:1fr 1fr;gap:12px;display:grid}.score-action{color:#f8fafc;letter-spacing:.04em;border:1px solid #334155;border-radius:26px;place-content:center;gap:8px;min-height:142px;font-size:42px;font-weight:950;display:grid}.score-action span{letter-spacing:normal;color:#cbd5e1;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:11px;font-weight:700;overflow:hidden}.score-action.in{background:#22c55e24}.score-action.out{background:#ef444424}.confirmation{text-align:left}.confirmation h2{margin:0;font-size:17px}.confirmation p{color:#94a3b8;margin:0;font-size:13px}.result-hero{text-align:center;padding-top:8px}.result-hero>small{color:#94a3b8;letter-spacing:.08em;font-weight:900}.result-hero h1{overflow-wrap:anywhere;margin-top:10px;font-size:28px;line-height:1.15}.compact-hero{padding-top:0}.compact-hero p{margin-top:3px}.tie-score-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:19px 16px;display:grid}.tie-score-row+.tie-score-row{border-top:1px solid #334155}.tie-score-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tie-score-row span{font-size:38px;font-weight:950}.result-summary{grid-template-columns:1fr 1fr;gap:14px}.result-summary>div{min-width:0}.result-summary strong{overflow-wrap:anywhere;margin-top:3px;display:block}.history-list{gap:12px;display:grid}.history-card{gap:10px}.history-title{justify-content:space-between;align-items:start;gap:12px;display:flex}.history-title>div{min-width:0}.history-title strong{display:block}.history-title small{margin-top:3px}.history-title>span{color:#cbd5e1;white-space:nowrap;font-size:12px}.history-head{border-top:1px solid #263247;justify-content:space-between;align-items:center;gap:12px;padding-top:9px;display:flex}.point-history{gap:7px;margin:0;padding:0;list-style:none;display:grid}.point-history li{grid-template-columns:26px minmax(0,1fr);align-items:start;gap:8px;font-size:12px;display:grid}.point-history li span{color:#64748b}.point-history li strong{overflow-wrap:anywhere;font-weight:650}.compact-history{max-height:170px;padding-right:4px;overflow-y:auto}@media (width<=420px){.app-shell{padding:0}.phone-card{border-left:0;border-right:0;border-radius:0;min-height:100vh;padding:16px}.serve-badge{max-width:105px;padding:4px 6px;font-size:9px}.score-row{grid-template-columns:minmax(0,1fr) auto}.score-row>div:nth-child(2){grid-area:2/1/auto/-1;justify-self:start}.score-row>div:nth-child(3){grid-area:1/2}.timer-card strong{font-size:21px}.result-summary{grid-template-columns:1fr}}@media (orientation:landscape) and (height<=600px){.app-shell{padding-top:8px}.phone-card{width:min(100%,760px)}.score-action{min-height:104px}}.tie-server-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}.eyebrow{letter-spacing:.08em;font-size:10px;font-weight:900}.tie-server-name{overflow-wrap:anywhere;margin-top:5px;font-size:20px;line-height:1.1;display:block}.tie-server-panel>div:first-child>span{color:#94a3b8;margin-top:4px;font-size:12px;display:block}.court-side-card{text-align:right;background:#111827;border:1px solid #334155;border-radius:14px;min-width:118px;padding:10px 11px}.court-side-card small,.court-side-card span{color:#94a3b8;font-size:10px;display:block}.court-side-card strong{margin:3px 0;font-size:12px;display:block}.tie-rotation-panel{gap:10px}.tie-rotation-top{justify-content:space-between;align-items:start;gap:14px;display:flex}.tie-rotation-top>div{min-width:0}.tie-rotation-top small{font-size:10px}.tie-rotation-top strong{overflow-wrap:anywhere;margin-top:3px;font-size:13px;display:block}.align-right{text-align:right}.change-ends-banner{text-align:center;letter-spacing:.03em;background:#1e293bb3;border:1px dashed #64748b;border-radius:12px;padding:9px 10px;font-size:12px;font-weight:900}.rotation-order{overflow-wrap:anywhere;border-top:1px solid #263247;padding-top:9px}@media (width<=420px){.tie-server-panel{grid-template-columns:minmax(0,1fr) auto}.tie-server-name{font-size:17px}.court-side-card{min-width:102px;padding:9px}.tie-rotation-top{gap:8px}}.live-setup-panel{gap:14px}.live-setup-panel h2{margin-top:4px}.live-ready-row{color:#86efac;align-items:center;gap:8px;font-size:12px;display:flex}.live-dot-small{background:#22c55e;border-radius:50%;flex:0 0 9px;width:9px;height:9px;display:inline-block;box-shadow:0 0 10px #22c55ebf}.live-dot-small.syncing{background:#38bdf8;box-shadow:0 0 10px #38bdf8a6}.live-dot-small.offline{background:#f59e0b;box-shadow:0 0 10px #f59e0ba6}.live-link-details{gap:10px;min-width:0;display:grid}.live-code{background:#0f172a;border:1px solid #334155;border-radius:12px;justify-content:space-between;align-items:end;gap:10px;padding:10px 12px;display:flex}.live-code small{margin:0}.live-code strong{letter-spacing:.12em;font-size:20px}.live-url{text-overflow:ellipsis;white-space:nowrap;color:#7dd3fc;font-size:11px;overflow:hidden}.live-open-link{place-items:center;text-decoration:none;display:grid}.qr-details{text-align:center;border:1px dashed #475569;border-radius:12px;padding:10px}.qr-details summary{cursor:pointer;font-size:12px;font-weight:900}.qr-box{background:#fff;border-radius:12px;width:fit-content;margin:12px auto 0;padding:10px;line-height:0}.live-error{color:#fde68a;background:#78350f38;border:1px solid #f59e0b80;border-radius:12px;padding:9px 11px;font-size:11px;line-height:1.45}.live-controller-bar{background:#14532d33;border:1px solid #166534;border-radius:14px;margin-bottom:12px;overflow:hidden}.live-controller-bar>summary{cursor:pointer;color:#bbf7d0;align-items:center;gap:7px;min-height:42px;padding:9px 11px;font-size:10px;font-weight:900;list-style:none;display:flex}.live-controller-bar>summary::-webkit-details-marker{display:none}.live-controller-bar>summary span:last-child{color:#94a3b8;margin-left:auto;font-weight:700}.live-controller-body{border-top:1px solid #22c55e40;gap:10px;padding:12px;display:grid}
