@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-vietnamese-400-normal-TxZB8OSn.woff2)format("woff2"),url(/assets/public-sans-vietnamese-400-normal-BO1meqcx.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-ext-400-normal-mk90oQqJ.woff2)format("woff2"),url(/assets/public-sans-latin-ext-400-normal-B02wwOdZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2)format("woff2"),url(/assets/public-sans-latin-400-normal-SBbinRkI.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-vietnamese-500-normal-DjztbcKe.woff2)format("woff2"),url(/assets/public-sans-vietnamese-500-normal-CXYe29CY.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-ext-500-normal-DC-z7ASZ.woff2)format("woff2"),url(/assets/public-sans-latin-ext-500-normal-BHCCp-na.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-500-normal-NlrCPXnF.woff2)format("woff2"),url(/assets/public-sans-latin-500-normal-vCxiVFAq.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-vietnamese-600-normal-P4BtCUdw.woff2)format("woff2"),url(/assets/public-sans-vietnamese-600-normal-CcnAzmUX.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-ext-600-normal-DchWdWJ_.woff2)format("woff2"),url(/assets/public-sans-latin-ext-600-normal-DfkbVac2.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-600-normal-Fru-LXNs.woff2)format("woff2"),url(/assets/public-sans-latin-600-normal-BR59oU-I.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-vietnamese-700-normal-D97ShjGS.woff2)format("woff2"),url(/assets/public-sans-vietnamese-700-normal-Dq5VrXjD.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-ext-700-normal-CgolUQuG.woff2)format("woff2"),url(/assets/public-sans-latin-ext-700-normal-jWHjnMgZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-700-normal-BqJmxWdE.woff2)format("woff2"),url(/assets/public-sans-latin-700-normal-Dm-oTPSL.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--accent:#d30038;--accent-hover:#b70030;--cream:#fbfaee;--ink:#141413;--pitch:#141413;--pitch-lift:#222729;--panel:#222729;--chalk:#f5f5f2;--chalk-70:#aeb7b8;--chalk-45:#929c9d;--chalk-28:#687477;--chalk-12:#3b4345;--chalk-06:#f5f5f20f;--warning:#d00014;--score-yellow:#f9d930;--score-yellow-light:#ffe982;--score-yellow-edge:#fbe785;--score-teal:#0b937c;--score-ink:#101313;--v1:#da0011;--v2:#f7dc06;--v3:#0c7662;--v4:#7b3209;--v5:#105d99;--v6:#db728f;--v7:#010101;--face-heading:"Archivo Variable", "Archivo", sans-serif;--face-body:"Public Sans", system-ui, -apple-system, sans-serif;--face-score:Arial, Helvetica, sans-serif;--u:4px;--radius:8px;--rule:1px solid var(--chalk-12);--swift:.14s cubic-bezier(.2, 0, 0, 1);--table-left:0px;--table-top:0px;--table-render-width:100vw;--table-render-height:100dvh;--power-left:100vw;--power-top:50dvh;--power-height:200px}.plate-wide,.plate-narrow{font-family:var(--face-body);font-variant-numeric:tabular-nums;letter-spacing:normal;font-weight:600}.v-0{--value-colour:#fff}.v-1{--value-colour:var(--v1)}.v-2{--value-colour:var(--v2)}.v-3{--value-colour:var(--v3)}.v-4{--value-colour:var(--v4)}.v-5{--value-colour:var(--v5)}.v-6{--value-colour:var(--v6)}.v-7{--value-colour:var(--v7)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100dvh;overflow:hidden}body{background:var(--pitch);color:var(--chalk);font-family:var(--face-body);-webkit-font-smoothing:antialiased;touch-action:auto;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;font-size:16px;line-height:1.35}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;font-size:14px}button:disabled{cursor:default}input[type=range]{appearance:none;touch-action:none;background:0 0}img{-webkit-user-drag:none;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.arena{background:var(--pitch);isolation:isolate;--rail-w:116px;--toolbar-h:34px;--score-h:72px;--hud-safe-left:env(safe-area-inset-left);--hud-safe-top:calc(var(--toolbar-h) + env(safe-area-inset-top));--hud-safe-right:calc(var(--rail-w) + env(safe-area-inset-right));--hud-safe-bottom:calc(var(--score-h) + env(safe-area-inset-bottom));--table-x:0px;--table-y:0px;--table-cx:calc(var(--table-x) + var(--table-render-width) / 2);--table-cy:calc(var(--table-y) + var(--table-render-height) / 2);position:fixed;inset:0;overflow:hidden}.table-mount{z-index:1;min-width:0;min-height:0;position:absolute;inset:0}.table-mount canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.table-mount .table-camera-controls{top:calc(var(--toolbar-h) + 6px + env(safe-area-inset-top));left:6px}.game-toolbar{inset:env(safe-area-inset-top) 0 auto 0;height:var(--toolbar-h);z-index:12;min-width:0;padding:0 max(8px, env(safe-area-inset-right)) 0 max(8px, env(safe-area-inset-left));border-bottom:var(--rule);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(90deg,#141413fa 0%,#141413f4 76%,#222729f2 100%);justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute}.game-tools{flex:none;align-items:center;gap:5px;min-width:0;margin-left:auto;display:flex}.game-mode{color:var(--chalk);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.game-tools .icon-button{width:28px;height:28px}.game-tools .call-action{min-height:28px;padding-block:3px;font-size:11px}.game-replay,.practice-command{border:var(--rule);min-height:28px;color:var(--chalk);white-space:nowrap;background:#222729b8;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.game-replay:hover,.practice-command:not(:disabled):hover{border-color:var(--chalk-28);background:var(--chalk-06);color:#fff}.practice-command:disabled{opacity:.42}.practice-end{border:1px solid var(--accent);color:#fff;background:var(--accent);white-space:nowrap;border-radius:6px;min-height:28px;padding:4px 8px;font-size:11px;font-weight:600}.practice-end:not(:disabled):hover{background:var(--accent-hover)}.practice-end:disabled{opacity:.45}.game-toolbar a{color:var(--chalk-70)}.arena-foul{z-index:8;pointer-events:none;box-shadow:inset 0 0 0 2px var(--warning);animation:.18s step-end both foul-cut;position:absolute;inset:0}@keyframes foul-cut{0%{opacity:1}to{opacity:0}}.table-layer{left:var(--table-x);top:var(--table-y);width:var(--table-render-width);height:var(--table-render-height);z-index:4;pointer-events:none;position:absolute}.table-layer>*{pointer-events:auto}.arena>:not(.arena-foul):not(.table-mount):not(.table-layer):not(.observation-joystick){z-index:6}.arena>.observation-joystick{z-index:24;position:fixed}.nameplate{left:env(safe-area-inset-left);right:calc(var(--rail-w) + env(safe-area-inset-right));bottom:env(safe-area-inset-bottom);height:var(--score-h);z-index:11;pointer-events:none;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:linear-gradient(#141413b8 0%,#141413e8 28%,#141413f7 100%);min-width:0;padding:0;position:absolute}@media (max-height:560px){.arena{--rail-w:104px;--toolbar-h:30px;--score-h:62px}.game-toolbar{gap:4px;padding-inline:5px}.game-tools{gap:4px}.game-tools .icon-button{width:26px;height:26px}.game-replay,.practice-command,.practice-end{min-height:26px;padding:3px 6px;font-size:10px}}@media (max-width:760px){.game-mode{display:none}}@media (max-width:560px){.game-replay{display:none}}.highlight-status{z-index:5;color:#f4f1e8;text-align:center;pointer-events:none;background:#0a1411e0;border-radius:8px;gap:3px;max-width:min(360px,65%);padding:10px 16px;display:grid;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.highlight-status strong{font-size:15px}.highlight-status span{font-size:12px}.highlight-status small{opacity:.8;font-size:10px}.nameplate{pointer-events:none;min-width:0;overflow:hidden}.scoreboard{width:min(100%, calc(var(--sb-width) * var(--sb-scale) * 1px));color:var(--ink);font-family:var(--face-score);font-variant-numeric:tabular-nums;letter-spacing:normal;margin-inline:auto;line-height:1.35;container:scoreboard/inline-size}.scoreboard-main,.scoreboard-break-slot{--sb-unit:min(calc(100cqw / var(--sb-width)), calc(var(--sb-scale) * 1px));--sb-ball-size:max(var(--sb-ball-diameter), calc(var(--sb-ball-value-size) * 1.35 + 2));--sb-break-size:max(var(--sb-break-height), calc(var(--sb-break-value-size) * 1.35 + 8), calc(var(--sb-break-label-size) * 1.35 + 8), calc(var(--sb-ball-size) + 8))}.scoreboard-main{--sb-center-size:var(--sb-frames-size);grid-template-columns:minmax(0, 1fr) calc(80 * var(--sb-unit)) calc(132 * var(--sb-unit)) calc(80 * var(--sb-unit)) minmax(0, 1fr);height:calc(max(var(--sb-height), calc(var(--sb-name-size) * 1.51 + 8), calc(var(--sb-score-size) * 1.3 + 6), calc(var(--sb-center-size) * 1.3 + var(--sb-frame-label-size) * 1.3 + 8)) * var(--sb-unit));border:1px solid var(--ink);background:var(--ink);gap:1px;display:grid}.player-plate{background:var(--cream);align-items:center;min-width:0;display:flex;position:relative}.player-plate[data-active=true]:before{content:"";inset-block:0;width:calc(4 * var(--sb-unit));background:var(--accent);position:absolute;left:0}.player-plate[data-side=right][data-active=true]:before{left:auto;right:0}.player-identity{width:100%;min-width:0;padding-inline:calc(18 * var(--sb-unit));align-items:center;gap:calc(10 * var(--sb-unit));display:flex}.player-plate[data-side=right] .player-identity{flex-direction:row-reverse}.player-name{min-width:0;font-family:var(--sb-name-family);font-size:max(11px, calc(var(--sb-name-size) * var(--sb-unit)));font-weight:var(--sb-name-weight);white-space:nowrap;text-overflow:ellipsis;padding-block:.08em;line-height:1.35;overflow:hidden}.player-flag{width:calc(28 * var(--sb-unit));height:calc(19 * var(--sb-unit));object-fit:contain;flex:none}.player-turn{border-block:calc(5 * var(--sb-unit)) solid transparent;border-left:calc(7 * var(--sb-unit)) solid var(--accent);visibility:hidden;flex:none;width:0;height:0;margin-left:auto}.player-plate[data-active=true] .player-turn{visibility:visible}.player-plate[data-side=right] .player-turn{margin-left:0;margin-right:auto;transform:rotate(180deg)}.player-score{white-space:nowrap;background:var(--ink);color:#fff;font-family:var(--sb-score-family);font-size:max(18px, calc(var(--sb-score-size) * var(--sb-unit)));font-weight:var(--sb-score-weight);place-items:center;line-height:1.3;display:grid}.nameplate-frames{justify-content:center;align-items:center;gap:calc(3 * var(--sb-unit));background:var(--cream);white-space:nowrap;flex-direction:column;display:flex}.frames-label{color:#66665f;font-family:var(--sb-frame-label-family);font-size:calc(var(--sb-frame-label-size) * var(--sb-unit));font-weight:var(--sb-frame-label-weight);letter-spacing:.06em;text-transform:uppercase;line-height:1.3}.frames-values{align-items:baseline;gap:calc(10 * var(--sb-unit));font-family:var(--sb-frames-family);font-size:calc(var(--sb-frames-size) * var(--sb-unit));font-weight:var(--sb-frames-weight);line-height:1.3;display:flex}.frames-divider{color:#66665f;font-size:.75em;font-weight:400}.practice-label{font-family:var(--sb-practice-family);font-size:calc(var(--sb-practice-size) * var(--sb-unit));font-weight:var(--sb-practice-weight);line-height:1.3}.scoreboard[data-practice] .scoreboard-main{--sb-center-size:var(--sb-practice-size);grid-template-columns:minmax(0, 1fr) calc(80 * var(--sb-unit)) calc(132 * var(--sb-unit))}.scoreboard-break-slot{height:calc((var(--sb-break-size) + 4) * var(--sb-unit));align-items:start;display:flex}.break-strip{align-items:center;gap:calc(16 * var(--sb-unit));width:max-content;max-width:100%;height:calc(var(--sb-break-size) * var(--sb-unit));padding:calc(3 * var(--sb-unit)) calc(14 * var(--sb-unit));color:var(--cream);white-space:nowrap;border-bottom:1px solid #3b4345;display:flex}.break-strip[data-side=right]{margin-left:auto}.break-totals{align-items:baseline;gap:calc(16 * var(--sb-unit));flex:none;display:flex}.break-metric{align-items:baseline;gap:calc(7 * var(--sb-unit));display:flex}.break-label{font-family:var(--sb-break-label-family);font-size:max(10px, calc(var(--sb-break-label-size) * var(--sb-unit)));font-weight:var(--sb-break-label-weight);color:#aeb7b8;line-height:1.35}.break-metric:first-child .break-label{text-transform:uppercase;letter-spacing:.03em}.break-value{font-family:var(--sb-break-value-family);font-size:max(10px, calc(var(--sb-break-value-size) * var(--sb-unit)));font-weight:var(--sb-break-value-weight);line-height:1.35}.break-balls{align-items:center;gap:calc(5 * var(--sb-unit));padding-left:calc(16 * var(--sb-unit));border-left:1px solid #3b4345;display:flex}.break-ball{width:calc(var(--sb-ball-size) * var(--sb-unit));height:calc(var(--sb-ball-size) * var(--sb-unit));color:#fff;background:var(--value-colour);font-family:var(--sb-ball-value-family);font-size:calc(var(--sb-ball-value-size) * var(--sb-unit));font-weight:var(--sb-ball-value-weight);border-radius:50%;flex:none;place-items:center;line-height:1.3;display:grid}.break-ball.v-2,.break-ball.v-6{color:#141413}.break-ball.v-7{box-shadow:inset 0 0 0 1px #3b4345}@container scoreboard (width<=760px){.player-identity{padding-inline:calc(12 * var(--sb-unit));gap:calc(8 * var(--sb-unit))}.scoreboard-main{grid-template-columns:minmax(0, 1fr) calc(76 * var(--sb-unit)) calc(120 * var(--sb-unit)) calc(76 * var(--sb-unit)) minmax(0, 1fr)}.break-strip{gap:calc(12 * var(--sb-unit));padding-inline:calc(10 * var(--sb-unit))}.break-balls{padding-left:calc(12 * var(--sb-unit))}}@container scoreboard (width<=420px){.player-identity{padding-inline:calc(7 * var(--sb-unit));gap:calc(4 * var(--sb-unit))}.player-turn{display:none}.break-strip{gap:calc(6 * var(--sb-unit));padding-inline:calc(3 * var(--sb-unit))}.break-totals{gap:calc(6 * var(--sb-unit))}.break-balls{gap:calc(2 * var(--sb-unit));padding-left:calc(6 * var(--sb-unit))}}.nameplate .scoreboard{width:100%;height:100%;margin:0}.nameplate .scoreboard-main{height:calc(var(--score-h) - 30px)}.nameplate .scoreboard-break-slot{height:30px}.nameplate .break-strip{gap:max(8px, calc(16 * var(--sb-unit)));height:26px;padding-inline:max(8px, calc(14 * var(--sb-unit)))}.nameplate .break-balls{gap:max(3px, calc(5 * var(--sb-unit)));padding-left:max(8px, calc(16 * var(--sb-unit)))}.nameplate .break-ball{width:max(18px, calc(var(--sb-ball-size) * var(--sb-unit)));height:max(18px, calc(var(--sb-ball-size) * var(--sb-unit)));font-size:max(10px, calc(var(--sb-ball-value-size) * var(--sb-unit)))}.nameplate .player-identity{padding-inline:max(8px, calc(18 * var(--sb-unit)));gap:max(6px, calc(10 * var(--sb-unit)))}.nameplate .player-flag{width:max(18px, calc(28 * var(--sb-unit)));height:auto;max-height:15px}.nameplate .nameplate-frames{gap:0}.nameplate .frames-label{font-size:max(9px, calc(var(--sb-frame-label-size) * var(--sb-unit)))}.nameplate .frames-values{font-size:max(12px, calc(var(--sb-frames-size) * var(--sb-unit)));line-height:1.15}.nameplate .practice-label{font-size:max(11px, calc(var(--sb-practice-size) * var(--sb-unit)))}@media (max-height:560px){.nameplate .player-name{font-size:max(10px, calc(var(--sb-name-size) * var(--sb-unit)))}.nameplate .player-score{font-size:max(17px, calc(var(--sb-score-size) * var(--sb-unit)))}.nameplate .player-identity{gap:4px;padding-inline:6px}.nameplate .player-flag{width:16px;max-height:12px}.nameplate .frames-label{font-size:8px}.nameplate .frames-values{font-size:11px}}.cue-rail{top:calc(var(--toolbar-h) + env(safe-area-inset-top));right:env(safe-area-inset-right);bottom:env(safe-area-inset-bottom);z-index:12;scrollbar-width:thin;touch-action:pan-y;min-height:0;inline-size:var(--rail-w);align-items:center;gap:calc(var(--u) * 1.5);padding:calc(var(--u) * 1.5) calc(var(--u) * 1.25) calc(var(--u) * 2);border-left:var(--rule);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#222729f7;flex-direction:column;display:flex;position:absolute;overflow:hidden auto}.rail-utilities{gap:calc(var(--u));flex:none;display:flex}.icon-button{border-radius:var(--radius);block-size:28px;inline-size:28px;color:var(--chalk-70);transition:color var(--swift), background var(--swift);place-items:center;display:grid;position:relative}.icon-button:hover{color:var(--chalk);background:var(--chalk-06)}.power-column{align-items:center;gap:calc(var(--u) * 1.5);flex-direction:column;flex:auto;min-block-size:88px;inline-size:100%;display:flex}.power-value{color:var(--chalk);flex:none;font-size:1rem;font-weight:700;line-height:1}.power-column[data-blocked] .power-value{color:var(--chalk-28)}.power-track{flex:auto;min-block-size:44px;inline-size:100%;position:relative;container-type:size}.power-track:before{content:"";inset-block:0;background:var(--chalk-06);inline-size:6px;box-shadow:inset 0 0 0 1px var(--chalk-12);border-radius:3px;position:absolute;left:50%;transform:translate(-50%)}.power-ticks{inset-block:0;background:repeating-linear-gradient(to top, var(--chalk-12) 0 1px, transparent 1px 25%);opacity:.7;inline-size:20px;position:absolute;left:50%;transform:translate(-50%)}.power-fill{inline-size:6px;block-size:var(--power-level,0%);background:var(--accent);transition:block-size var(--swift);border-radius:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.power-fill:after{content:"";background:var(--chalk);block-size:2px;inline-size:22px;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.power-column[data-blocked] .power-fill{background:var(--chalk-12)}.power-column[data-blocked] .power-fill:after{background:var(--chalk-28)}.power-slider{opacity:0;cursor:ns-resize;block-size:44px;inline-size:max(44px,100cqh);margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}.power-slider:disabled{cursor:default}.power-track:has(.power-slider:focus-visible){outline:2px solid var(--accent);outline-offset:4px}.power-label{color:var(--chalk-70);flex:none;font-size:.75rem}.strike{align-items:center;gap:calc(var(--u));--strike-size:104px;flex-direction:column;flex:none;inline-size:100%;display:flex}.strike-ball{inline-size:min(100%, var(--strike-size));aspect-ratio:1;clip-path:circle(50%);touch-action:none;cursor:crosshair;block-size:auto;transition:opacity var(--swift);border-radius:50%;position:relative}.strike-ball-face{pointer-events:none;--ball-fill:.87971;block-size:100%;inline-size:100%;transform:scale(calc(1 / var(--ball-fill)));border-radius:50%}.strike[data-blocked] .strike-ball{opacity:.26;cursor:default}.strike-point{background:var(--chalk);pointer-events:none;block-size:12px;inline-size:12px;transition:opacity var(--swift);border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0000008c}.strike[data-blocked] .strike-point{opacity:0}.strike:has(.strike-axes input:focus-visible) .strike-ball{outline:2px solid var(--accent);outline-offset:3px}.strike-axes{clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;position:absolute;overflow:hidden}.elevation,.view-height{align-items:center;column-gap:calc(var(--u));grid-template-columns:1fr auto;inline-size:100%;display:grid}.elevation-label,.view-height label,.elevation-value,.view-height output{color:var(--chalk-70);font-size:.75rem}.elevation input[type=range],.view-height input[type=range]{cursor:pointer;grid-column:1/-1;block-size:26px;inline-size:100%}.elevation input[type=range]::-webkit-slider-runnable-track{background:var(--chalk-12);block-size:2px}.view-height input[type=range]::-webkit-slider-runnable-track{background:var(--chalk-12);block-size:2px}.elevation input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--chalk-70);border-radius:50%;block-size:10px;inline-size:10px;margin-top:-4px}.view-height input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--chalk-70);border-radius:50%;block-size:10px;inline-size:10px;margin-top:-4px}.elevation input[type=range]::-moz-range-track{background:var(--chalk-12);block-size:2px}.view-height input[type=range]::-moz-range-track{background:var(--chalk-12);block-size:2px}.elevation input[type=range]::-moz-range-thumb{background:var(--chalk-70);border:0;border-radius:50%;block-size:10px;inline-size:10px}.view-height input[type=range]::-moz-range-thumb{background:var(--chalk-70);border:0;border-radius:50%;block-size:10px;inline-size:10px}.elevation input[type=range]:disabled,.view-height input[type=range]:disabled{cursor:default;opacity:.4}.view-height{border-bottom:var(--rule);flex:none;grid-template-rows:auto 32px;grid-template-columns:minmax(0,1fr) auto;padding-block-end:calc(var(--u))}.view-height label{white-space:nowrap;grid-area:1/1}.view-height output{color:var(--chalk-45);grid-area:1/2;font-size:.65rem}.view-height input[type=range]{touch-action:none;grid-area:2/1/3/-1;block-size:32px;min-block-size:32px}.strike-button{min-block-size:44px;inline-size:100%;padding:calc(var(--u));border:1px solid var(--accent);border-radius:var(--radius);color:#fff;background:var(--accent);flex:none;font-weight:600}.strike-button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.strike-button:disabled{border-color:var(--chalk-12);color:var(--chalk-28);background:var(--chalk-06)}.strike-hint{text-align:center;color:var(--chalk-70);transition:color var(--swift);flex:none;font-size:.75rem;line-height:1.3}.strike:not([data-blocked]):not([data-idle]) .strike-hint{color:var(--accent)}.practice-actions{gap:6px;margin-top:6px;display:grid}.practice-actions .room-secondary{min-height:34px;padding:6px;font-size:12px}.practice-actions [aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.practice-ball-picker button{border:var(--rule);border-radius:6px;place-items:center;min-height:32px;display:grid;position:relative}.practice-ball-picker button:hover{background:var(--chalk-06);border-color:var(--chalk-28)}.practice-ball-picker button>span:last-child:not(.value-disc){color:#fff;font-size:10px;position:absolute}@media (max-height:560px){.cue-rail{padding:calc(var(--u)) calc(var(--u) * 1.5) calc(var(--u) * 1.5);gap:calc(var(--u) * 1.5)}.icon-button{block-size:42px;inline-size:42px}.power-value{font-size:.875rem}.power-column{min-block-size:64px}.power-label{display:none}.strike{--strike-size:84px}.strike-hint{font-size:.75rem}}@media (max-height:400px){.cue-rail{gap:4px}.strike{--strike-size:72px}}.arena[data-step=power] .power-track{outline:1px solid var(--accent);outline-offset:2px}.arena[data-step=play] .strike-button{box-shadow:0 0 0 2px var(--accent)}.practice-tools{align-items:center;gap:5px;display:flex;position:relative}.practice-drill{position:relative}.practice-drill>summary{cursor:pointer;list-style:none}.practice-drill>summary::-webkit-details-marker{display:none}.practice-drill-trigger strong{text-overflow:ellipsis;max-width:92px;overflow:hidden}.practice-drill[open]>summary{border-color:var(--accent);color:#fff}.practice-drill-menu{z-index:22;overscroll-behavior:contain;border:var(--rule);background:#222729fa;border-radius:10px;width:min(380px,100vw - 20px);max-height:min(68dvh,520px);padding:10px;position:absolute;top:calc(100% + 7px);left:0;overflow-y:auto;box-shadow:0 12px 32px #0008}.practice-drill-menu section+section{border-top:var(--rule);margin-top:8px;padding-top:8px}.practice-drill-menu h3{color:var(--chalk-70);letter-spacing:.07em;text-transform:uppercase;margin:0 4px 5px;font-size:10px;font-weight:600}.practice-drill-menu button{text-align:left;border-radius:6px;grid-template-columns:minmax(90px,.65fr) minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:34px;padding:5px 7px;display:grid}.practice-drill-menu button:hover{background:var(--chalk-06)}.practice-drill-menu button[aria-current=true]{color:#fff;background:#d3003824}.practice-drill-menu button strong{font-size:12px}.practice-drill-menu button small{color:var(--chalk-70);font-size:10px;line-height:1.35}.practice-training{min-height:26px;color:var(--chalk);white-space:nowrap;background:#d3003818;border:1px solid #d3003855;border-radius:6px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;display:flex}.practice-training>span{text-overflow:ellipsis;max-width:70px;overflow:hidden}.practice-training b{font-size:12px}.practice-training small{color:var(--chalk-70)}.practice-training em{border-left:1px solid #d3003855;padding-left:4px;font-style:normal;font-weight:700}.practice-training em[data-result=made]{color:#7de2b0}.practice-training em[data-result=missed]{color:#ff7f92}.practice-drawer{width:min(380px,100vw - 20px);max-height:calc(100dvh - var(--toolbar-h) - var(--score-h) - 18px);overscroll-behavior:contain;border:var(--rule);z-index:22;background:#222729fa;border-radius:10px;padding:14px;font-size:12px;position:absolute;top:calc(100% + 7px);right:0;overflow-y:auto;box-shadow:0 12px 32px #0008}.practice-drawer header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.practice-drawer h2{font-size:15px}.practice-drawer header button{width:30px;height:30px;font-size:22px}.practice-drawer p{color:var(--chalk-70);margin:10px 0;line-height:1.5}.practice-ball-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:8px;display:grid}.practice-ball-item{border:var(--rule);border-radius:6px;grid-template-columns:minmax(0,1fr) 18px;min-width:0;display:grid;overflow:hidden}.practice-ball-item>button:first-child{place-items:center;min-width:0;min-height:32px;display:grid;position:relative}.practice-ball-item>button:first-child:hover{background:var(--chalk-06)}.practice-ball-item>button:first-child>span:last-child:not(.value-disc){color:#fff;font-size:10px;position:absolute}.practice-ball-remove{border-left:var(--rule);color:var(--chalk-70);place-items:center;display:grid}.practice-ball-remove:not(:disabled):hover{color:#fff;background:#d0001433}.practice-ball-remove:disabled{opacity:.25}.practice-save{border-top:var(--rule);align-items:end;gap:8px;padding-top:12px;display:flex}.practice-save label{flex:1;min-width:0;margin:0}.saved-layouts{margin-top:14px}.saved-layouts h3{color:var(--chalk-70);margin-bottom:6px;font-size:11px;font-weight:400}.saved-layouts>div{border-top:var(--rule);display:flex}.saved-layouts button{min-height:34px;padding:5px}.saved-layouts button:first-child{text-align:left;overflow-wrap:anywhere;flex:1}.saved-layouts button:last-child{width:30px}@media (max-height:560px){.practice-drill-trigger>span{display:none}.practice-drill-trigger strong{max-width:64px}.practice-training>span{display:none}.practice-drawer{max-height:calc(100dvh - var(--toolbar-h) - var(--score-h) - 10px)}}@media (max-height:400px){.cue-rail .icon-button{block-size:34px;inline-size:34px}}.reset-shot-parameters{min-height:28px;color:var(--chalk-70);border:var(--rule);border-radius:var(--radius);padding:5px 3px;font-size:11px;line-height:1.25}.reset-shot-parameters:not(:disabled):hover{color:var(--chalk);background:var(--chalk-06)}.reset-shot-parameters:disabled{opacity:.35}.value-disc{background:var(--value-colour);color:#fff;transition:opacity var(--swift);border-radius:50%;flex:none;place-items:center;display:inline-grid}.value-disc.v-2,.value-disc.v-6{color:#000}.value-disc.v-7{box-shadow:inset 0 0 0 1px var(--chalk-28)}.value-disc[data-dim]{opacity:.22}.disc-count{font-family:var(--face-score);font-size:.7em}.referee-controls{border-block:var(--rule);overflow-wrap:anywhere;flex:none;gap:8px;width:100%;padding-block:8px;font-size:12px;line-height:1.4;display:grid}.referee-controls:empty{display:none}.referee-notice{color:var(--chalk-70)}.referee-error,.referee-rules>strong{color:var(--warning)}.referee-rules{gap:8px;display:grid}.call-actions{gap:6px;display:grid}.referee-controls .call-action{white-space:normal;width:100%;padding:6px;font-size:12px}.ball-nomination{gap:4px;min-width:0;display:grid}.ball-nomination select{border:var(--rule);border-radius:var(--radius);background:var(--panel);width:100%;min-width:0;min-height:32px;color:var(--chalk);font:inherit;padding:4px}.aim-chip,.referee-panel{border:var(--rule);border-radius:var(--radius);background:#222729f5;box-shadow:0 6px 18px #0000003d}.aim-chip{right:calc(var(--hud-safe-right) + 8px);bottom:calc(var(--hud-safe-bottom) + 8px);max-width:calc(100% - var(--hud-safe-left) - var(--hud-safe-right) - 16px);color:var(--chalk-70);white-space:nowrap;flex-wrap:wrap;align-items:center;gap:6px;padding:2px 2px 2px 8px;font-size:12px;display:flex;position:absolute}.aim-chip-hint{box-shadow:none;color:var(--chalk);text-shadow:0 1px 4px #000000e6;pointer-events:none;background:0 0;border:0;padding:0}.aim-chip-toggle,.aim-chip-back{border-radius:var(--radius);min-height:28px;color:var(--chalk);padding:4px 6px}.aim-chip-toggle:hover,.aim-chip-back:hover{background:var(--chalk-06)}.aim-chip-toggle[aria-pressed=true]{color:var(--accent)}.referee-panel{left:8px;right:calc(var(--rail-w) + 8px);bottom:calc(var(--score-h) + 8px);z-index:9;border-color:var(--warning);flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;max-width:none;padding:12px 16px;display:flex;position:absolute;transform:none}.referee-verdict{min-width:0}.referee-verdict-call{color:var(--chalk);font-size:14px}.referee-verdict-reason{color:var(--chalk-70);margin-top:4px;font-size:12px}.referee-choices{flex-wrap:wrap;flex:auto;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.choice,.call-action{border:var(--rule);border-radius:var(--radius);background:var(--panel);min-height:34px;color:var(--chalk);white-space:nowrap;transition:background var(--swift), border-color var(--swift);padding:6px 12px;font-size:14px}.choice:not(:disabled):hover,.call-action:not(:disabled):hover{border-color:var(--chalk-28);background:var(--chalk-06)}.choice-primary,.call-action-primary{border-color:var(--accent);background:var(--accent);color:#fff}.choice-primary:not(:disabled):hover,.call-action-primary:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.choice:disabled,.call-action:disabled{opacity:.45}.concede[data-armed]{width:auto;color:var(--chalk);border:1px solid var(--warning);grid-auto-flow:column;gap:4px;padding:0 8px}.concede-confirm{font-size:12px}@media (max-height:560px){.referee-panel{gap:10px;padding:8px}.referee-verdict-reason{display:none}.choice,.call-action{font-size:12px}}@media (pointer:coarse){.choice{min-height:44px}.aim-chip-clear{width:30px;height:30px}}@media (max-width:720px){.referee-panel{flex-direction:column;align-items:stretch;gap:6px}.referee-choices{flex-wrap:wrap;justify-content:stretch}}.table-callouts{top:calc(var(--hud-safe-top) + 8px);left:var(--hud-safe-left);right:var(--hud-safe-right);pointer-events:none;justify-content:center;padding-inline:8px;display:flex;position:absolute}.frame-equation{border:1px solid var(--chalk-12);border-radius:var(--radius);background:#0b0906db;align-items:center;gap:16px;max-width:100%;padding:8px 16px;display:flex;box-shadow:0 6px 18px #00000080}.frame-equation>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:180px;color:var(--chalk-70);font-size:12px;overflow:hidden}.equation-term{flex-direction:column;flex:none;align-items:center;gap:2px;display:flex}.equation-term small{color:var(--chalk-70);white-space:nowrap;font-size:10px;line-height:1.2}.equation-term b{color:var(--chalk);font-size:18px;line-height:1.2}.equation-over b,.equation-over small{color:var(--warning)}.frame-equation[data-decided]{border-color:var(--warning)}@media (max-height:560px){.frame-equation{gap:12px;padding:6px 12px}.frame-equation>strong{max-width:110px}.equation-term b{font-size:16px}}@media (max-width:1024px){.table-callouts{top:calc(var(--hud-safe-top) + 46px)}}.start{z-index:30;padding:clamp(16px,3vw,36px);padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));background:var(--cream);place-items:center;display:grid;position:fixed;inset:0}.start-card{border:var(--rule);text-align:center;border-radius:16px;inline-size:min(980px,100%);padding:clamp(24px,3vw,32px)}.start-eyebrow{color:var(--accent);margin:0 0 8px;font-size:12px;font-weight:600}.start-title{margin:0 0 16px;line-height:1}.start-title-line{font-family:var(--face-heading);font-variation-settings:"wdth" 75;letter-spacing:normal;color:var(--ink);font-size:40px;font-weight:600;font-stretch:75%;line-height:1;display:block}.start-body{min-block-size:50px;color:var(--chalk-70);margin:0 0 12px;font-size:16px;line-height:1.55}.start-rack{justify-content:center;gap:12px;margin:0 0 24px;list-style:none;display:flex}.start-rack-ball{justify-items:center;gap:4px;display:grid}.start-rack .value-disc.v-7{box-shadow:none;background:#010101;border:0}.start-rack-value{color:var(--chalk-70);font-size:12px}.start-button{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:#fff;width:100%;min-height:48px;transition:background var(--swift), border-color var(--swift);margin-bottom:20px;padding:12px 20px;font-size:14px;font-weight:600}.start-button:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.start-button:disabled{opacity:.45}.start-local-players{text-align:left;grid-template-columns:1fr 1fr;gap:12px;display:grid}.start-local-players .room-field,.start-local-players .country-select{margin:0 0 12px}.practice-layout-picker{text-align:left;border:0;min-width:0;margin:0 0 16px;padding:0;display:block}.practice-layout-groups{overscroll-behavior:contain;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:min(38dvh,300px);padding:2px 4px 2px 2px;display:grid;overflow-y:auto}.practice-layout-groups>section{align-content:start;gap:6px;min-width:0;display:grid}.practice-layout-groups h3{color:var(--chalk-70);letter-spacing:.06em;text-transform:uppercase;margin:0 2px 2px;font-size:10px;font-weight:600}.practice-layout-picker legend{color:var(--chalk);margin-bottom:8px;font-size:12px;font-weight:600}.practice-layout-option{border:var(--rule);cursor:pointer;border-radius:8px;align-items:center;gap:8px;min-width:0;padding:12px;display:flex}.practice-layout-option:has(input:checked){border-color:var(--accent);background:#d300380d}.practice-layout-option input{accent-color:var(--accent);flex:none}.practice-layout-option strong{color:var(--chalk);font-size:14px;font-weight:600;display:block}.practice-layout-option small{color:var(--chalk-70);margin-top:4px;font-size:12px;line-height:1.4;display:block}@media (max-height:560px){.start{padding:16px 24px}.start-card{padding:20px 24px}.start-eyebrow{margin-bottom:8px}.start-title{margin-bottom:12px}.start-title-line{font-size:32px}.start-body{display:none}.start-rack{margin-bottom:16px}.start-button{min-height:42px;margin-bottom:12px}}@media (max-width:600px){.start-card{padding:24px}.start-title-line{font-size:32px}}.lobby-card{text-align:left;width:min(600px,100%);display:block}.lobby-card .start-title,.lobby-card .start-eyebrow,.lobby-card .start-body{text-align:center}.start-modes{border:var(--rule);border-radius:10px;gap:4px;margin-bottom:16px;padding:4px;display:flex}.start-modes>*{min-height:40px;color:var(--ink);border-radius:6px;flex:1;place-items:center;font-size:14px;font-weight:600;text-decoration:none;display:grid}.start-modes [aria-pressed=true],.start-modes [aria-current]{background:var(--accent);color:#fff}.resume-local{width:100%}.start-footer{justify-content:space-between;align-items:center;gap:16px;margin-top:20px;display:flex}.start-footer a{color:var(--accent);font-size:13px}.start-help{border-top:var(--rule);color:var(--chalk-70);margin-top:20px;padding-top:16px;font-size:12px}.start-help summary{cursor:pointer}.start-help p{margin:12px 0;line-height:1.6}.start-help .start-rack{margin:12px 0 0}.start-title:focus,.overlay-title[tabindex="-1"]:focus{outline:none}.start-setup{grid-template-rows:70px 108px 48px minmax(96px,auto);gap:10px;display:grid}.start-setup:has(.practice-layout-picker){grid-template-rows:repeat(4,auto)}.start-setup .start-button,.start-setup .room-field,.start-setup .country-select{margin:0}.start-mode-options{min-width:0}.start-mode-options .practice-layout-picker,.start-mode-options .room-join{margin:0}.start-mode-options .room-join button{min-height:44px}.start-feedback .room-rules{margin:6px 0}.start-room{min-block-size:406px}@media (max-height:560px){.start-setup{grid-template-rows:70px 100px 42px minmax(96px,auto);gap:8px}.practice-layout-option{padding:8px}.practice-layout-groups{max-height:170px}}@media (max-width:720px){.start-setup{grid-template-rows:70px 148px 48px minmax(96px,auto)}.practice-layout-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.practice-layout-option{padding:8px}}@media (max-width:420px){.start-setup{grid-template-rows:70px 168px 48px minmax(96px,auto)}.practice-layout-groups{grid-template-columns:1fr;gap:6px}.practice-layout-option{padding:8px}.practice-layout-groups{max-height:170px}}.start,.overlay,.replay-header,.replay-controls,.replay-empty,.recording-options{--chalk:#141413;--chalk-70:#66665f;--chalk-45:#78786f;--chalk-28:#aaa99f;--chalk-12:#d8d7cc;--chalk-06:#1414130a;--pitch-lift:#fff;--panel:#fff;--rule:1px solid var(--chalk-12);color:var(--chalk);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.overlay{z-index:40;padding:24px max(24px, env(safe-area-inset-right)) 24px max(24px, env(safe-area-inset-left));background:#141413c7;place-items:center;display:grid;position:fixed;inset:0}.overlay-card{border:var(--rule);background:var(--cream);text-align:center;border-radius:16px;width:min(520px,100%);max-width:60ch;padding:32px}.overlay-eyebrow{color:var(--accent);margin-bottom:12px;font-size:12px}.overlay-title{margin-bottom:16px;font-size:20px;font-weight:600;line-height:1.2}.overlay-body{color:var(--chalk-70);margin-bottom:28px;font-size:16px;line-height:1.55}.button-primary{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:#fff;min-height:44px;font-family:var(--face-body);transition:background var(--swift), border-color var(--swift);justify-content:center;align-items:center;padding:10px 24px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.button-primary:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.button-primary:disabled{opacity:.45}.button-secondary{border:1px solid var(--chalk-28);border-radius:var(--radius);min-height:44px;color:var(--chalk);padding:10px 20px;font-size:14px;font-weight:600}.button-secondary:hover{background:var(--chalk-06)}dialog.start,dialog.overlay{touch-action:pan-y;overscroll-behavior:contain;border:0;place-items:safe center;width:100%;max-width:none;height:100%;max-height:none;margin:0;overflow:auto}dialog:not([open]){display:none}dialog::backdrop{background:#141413c7}.dialog-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.help-card{width:min(680px,100%);max-width:70ch}.help-steps{text-align:left;margin:24px 0;padding-left:24px}.help-steps li{color:var(--chalk-70);margin-bottom:12px;line-height:1.5}.help-steps strong{color:var(--chalk)}.help-display,.orientation-help{color:var(--chalk-70);margin:16px 0;font-size:14px}@media (max-height:400px){dialog.start,dialog.overlay{padding:12px 24px}.overlay-card{padding:24px}.start-rack{display:none}}.room-rules{color:var(--chalk-70);margin:14px 0;font-size:12px;line-height:1.6}.room-label{color:var(--accent);font-size:12px;font-weight:600}.room-field,.country-select{color:var(--chalk-70);gap:7px;margin:14px 0;font-size:12px;display:grid}.room-input{inline-size:100%;border:var(--rule);border-radius:var(--radius);background:var(--pitch-lift);min-width:0;min-height:44px;color:var(--chalk);font:inherit;-webkit-user-select:text;user-select:text;padding:10px 12px;font-size:14px}.room-input::placeholder{color:var(--chalk-45)}.room-card .button-primary{inline-size:100%;min-height:44px;margin:0}.room-secondary{border:1px solid var(--chalk-28);border-radius:var(--radius);min-height:40px;color:var(--chalk);transition:background var(--swift), border-color var(--swift);justify-content:center;align-items:center;padding:10px 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.room-secondary:hover:not(:disabled){border-color:var(--chalk);background:var(--chalk-06)}.room-secondary:disabled{opacity:.45}.room-join{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.room-join .room-field{margin-bottom:0}.room-code-input{font-variant-numeric:tabular-nums;letter-spacing:.12em;text-transform:uppercase}.room-invite{border:var(--rule);border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:4px 16px;margin:20px 0;padding:16px;display:grid}.room-invite .room-label{grid-column:1}.room-code{letter-spacing:.12em;-webkit-user-select:text;user-select:text;grid-column:1;font-size:26px;font-weight:600;line-height:1.2}.room-invite button{grid-area:1/2/span 2}.room-invite input{grid-column:1/-1}.room-seat{border-bottom:var(--rule);align-items:center;gap:12px;padding:14px 0;display:flex}.room-seat-number{color:var(--accent);font-size:16px;font-weight:600}.room-seat>div{flex:1;min-width:0}.room-seat strong{overflow-wrap:anywhere;font-size:14px;display:block}.room-seat div>span{color:var(--chalk-70);margin-top:3px;font-size:12px;display:block}.room-seat-dot{background:var(--chalk-28);border-radius:50%;width:6px;height:6px}.room-seat-dot[data-connected=true]{background:var(--accent)}.room-seat[data-ready=true] strong{color:var(--accent)}.room-error{color:var(--warning);padding:10px 0;font-size:12px;line-height:1.5}.room-leave{inline-size:100%;margin-top:12px}.room-card{text-align:left;inline-size:min(500px,100%)}.room-actions{gap:10px;margin-top:12px;display:flex}.room-actions>*{flex:1}.player-timeouts{color:var(--chalk-70);white-space:nowrap;font-size:12px}.shot-clock{text-align:center;min-width:46px;color:var(--chalk);border-left:var(--rule);margin-left:4px;padding-left:8px;font-size:16px}.shot-clock[data-urgent=true]{color:var(--warning)}.room-toggle{width:34px;height:34px}.timeout-explanation{color:var(--chalk-70);margin:8px 0 12px;font-size:12px;line-height:1.5}.timeout-panel{max-width:min(420px,86%)}.referee-choices[inert]{opacity:.45}.reconnect-button{pointer-events:auto}.recording-controls{font-size:12px;position:relative}.recording-controls>summary{border:var(--rule);border-radius:var(--radius);cursor:pointer;white-space:nowrap;align-items:center;min-height:32px;padding:6px 10px;display:flex}.recording-controls[open]>summary{border-color:var(--accent)}.recording-options{z-index:12;width:min(340px,100vw - 40px);max-height:calc(100dvh - 64px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain;touch-action:pan-y;border:var(--rule);background:var(--cream);border-radius:12px;gap:12px;padding:16px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 8px 24px #0000003d}.recording-options p:not(.room-error){color:var(--chalk-70);line-height:1.5}.recording-actions{gap:8px;display:grid}.recording-actions select,.recording-options select{border:var(--rule);border-radius:var(--radius);width:100%;min-height:40px;color:var(--ink);font:inherit;background:#fff;padding:8px}.recording-actions .room-secondary{font-size:12px}.recording-options a{color:var(--accent)}.recording-note{font-size:12px}@media (max-height:560px){.room-field,.country-select{margin:10px 0}.room-invite{margin:10px 0;padding:10px}.room-seat{padding:9px 0}.room-rules{margin:10px 0}.shot-clock{font-size:14px}}@media (max-width:760px){.player-timeouts{display:none}.shot-clock{min-width:36px;padding-left:5px}}.recording-options h3{font-size:13px;font-weight:600}.recording-history{gap:12px;display:grid}.recording-history>section{border-top:var(--rule);padding-top:10px}.recording-history p{margin-bottom:8px}.recording-history summary{cursor:pointer;padding-top:8px}.recording-frame-list{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.recording-frame-list button{border:var(--rule);border-radius:6px;padding:6px 8px}
