:root{--club-ink:#192b28;--club-paper:#f0e9d3;--club-coral:#e48064;--club-violet:#b4a2d3;--club-lime:#d4e273;--control-radius:2px;--press-duration:.12s;--state-duration:.2s;--control-ease:cubic-bezier(.2, .7, .2, 1)}:where(button,input,select,textarea){border-radius:var(--control-radius)}:where(.primary,.secondary,.quiet,.text-button){transition:transform var(--press-duration) var(--control-ease), background-color var(--press-duration) var(--control-ease)}:where(.primary,.secondary):active:not(:disabled){transform:translateY(2px)}@media (prefers-reduced-motion:no-preference){.results:not([hidden])>*{animation:score-arrives var(--state-duration) var(--control-ease) both}@keyframes score-arrives{0%{opacity:0;translate:0 7px}to{opacity:1;translate:0}}}@media (prefers-reduced-motion:reduce){:root{--press-duration:0s;--state-duration:0s}html .primary:active,html .secondary:active{transform:none}}@font-face{font-family:Archivo Black;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/archivo-black-latin-400-normal-BTVu2TQR.woff2)format("woff2"),url(/assets/archivo-black-latin-400-normal-HW9MwEcM.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}:root{color:#f0e9d3;--ink:var(--club-ink);--paper:var(--club-paper);--orange:#ff915d;--muted:#c1c8b9;--mono:"IBM Plex Mono",monospace;--display:"Archivo Black",sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;background:#192b28;font-family:IBM Plex Sans,sans-serif}*{box-sizing:border-box}body,h1,h2,p{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button{border-radius:2px}a{color:inherit}p{line-height:1.55}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:5px}[hidden]{display:none!important}#basketball-app{max-width:1240px;padding:0 max(24px,env(safe-area-inset-left)) 0 max(24px,env(safe-area-inset-right));margin:auto}.topbar{height:100px;padding-top:env(safe-area-inset-top);border-bottom:1px solid #f0e9d344;justify-content:space-between;align-items:center;gap:16px;display:flex}.brand{font:22px var(--display);letter-spacing:-1.4px;text-decoration:none}.brand span{color:var(--orange)}.edition{font:10px var(--mono);letter-spacing:2px}.quiet{min-height:44px;color:inherit;text-underline-offset:5px;background:0 0;border:0;padding:10px 0;font-size:12px;text-decoration:underline}.primary,.secondary{border:1px solid var(--paper);background:var(--paper);min-height:52px;color:var(--ink);justify-content:center;align-items:center;gap:30px;padding:15px 24px;font-size:15px;font-weight:500;display:inline-flex}.secondary{color:var(--paper);background:0 0}.primary:active,.secondary:active{transform:translateY(1px)}.home{grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding:55px 0;display:grid}.kicker{font:10px/1.6 var(--mono);letter-spacing:1.6px}.home h1,.results h1{font:clamp(78px,9vw,134px)/.87 var(--display);letter-spacing:-.075em;margin:32px 0}.home h1 span,.results h1 span{color:var(--orange)}.lead{letter-spacing:-.5px;font-size:25px;line-height:1.3}.description{color:var(--muted);margin:16px 0 24px;font-size:14px}.home .primary{min-width:230px;margin:4px 0 13px}.micro{font:10px/1.6 var(--mono);color:var(--muted)}.home .quiet{margin-top:12px}.incoming{color:var(--orange);max-width:300px;padding:12px 0;font-size:13px}.home-poster{background:#2e4a42;border:1px solid #f0e9d399;transform:rotate(1deg);box-shadow:8px 8px #0c1d194d}.poster-top,.poster-bottom{font:10px/1.4 var(--mono);justify-content:space-between;padding:16px 22px;display:flex}.poster-top{border-bottom:1px solid #f0e9d355}.poster-art{width:100%;max-height:470px;display:block}.poster-bottom{color:var(--ink);background:#f0e9d3;align-items:center}.poster-number{font:54px/.9 var(--display);letter-spacing:-4px}.home-footer{padding:12px 0 max(12px,env(safe-area-inset-bottom));border-top:1px solid #f0e9d344;justify-content:space-between;align-items:center;font-size:11px;display:flex}.game{border:1px solid #f0e9d333;border-top:0;grid-template-rows:minmax(0,1fr) 18px minmax(215px,.55fr);height:calc(100dvh - 100px);max-height:880px;margin-bottom:0;display:grid;overflow:hidden}.in-game #basketball-app{max-width:1200px}.in-game .topbar{height:70px}.in-game .game{height:calc(100dvh - 70px)}.court-pane{background:#263f37;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.scoreboard{background:#21362f;border-bottom:1px solid #f0e9d333;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:70px;padding:8px 22px;display:flex}.mini-brand{font:17px var(--display);letter-spacing:-1px}.scoreboard>div{align-items:baseline;gap:10px;display:flex}.scoreboard>div>span{font:9px var(--mono);letter-spacing:1px}.scoreboard strong{font:26px var(--mono)}#court{flex:1;width:100%;min-height:0;display:block}.court-caption{height:28px;font:9px var(--mono);letter-spacing:.5px;background:#9c4029;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 20px;display:flex}.seam{font:7px var(--mono);letter-spacing:2px;background:#14231e;place-items:center;display:grid;overflow:hidden}.shoot-pane{color:var(--ink);min-width:0;min-height:0;padding:14px 22px max(10px,env(safe-area-inset-bottom));background:#f0e9d3;flex-direction:column;display:flex}.shoot-heading{flex-shrink:0;justify-content:space-between;gap:14px;font-size:13px;display:flex}.shoot-heading>span{font:9px var(--mono);white-space:nowrap;padding-top:4px}.aim-pad{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;flex:1;min-height:100px;position:relative;overflow:hidden}.aim-pad:active{cursor:grabbing}.aim-pad svg{width:100%;height:100%;min-height:80px;max-height:200px;display:block}.aim-ring{fill:none;stroke:#192b2830;stroke-width:1px;stroke-dasharray:4 8}.aim-arrow{fill:none;stroke:#192b2850;stroke-width:2px}#pull-line{stroke:#192b28;stroke-width:2px;stroke-dasharray:4 5}#hand-ball circle{fill:#da6a31;stroke:#192b28;stroke-width:2px}#hand-ball path{fill:none;stroke:#192b28;stroke-width:1.5px}#gesture-hint{font:9px var(--mono);letter-spacing:1px;color:#41594c;pointer-events:none;position:absolute;bottom:14px;left:0}.shoot-footer{flex-shrink:0;justify-content:space-between;align-items:center;gap:18px;display:flex}.shoot-footer details{min-width:120px}.shoot-footer summary{cursor:pointer;align-items:center;min-height:44px;font-size:11px;display:flex}.sliders{flex-wrap:wrap;align-items:center;gap:15px;padding:6px 0;display:flex}.sliders label{font:10px var(--mono);width:130px}.sliders output{float:right}.sliders input{accent-color:#192b28;width:100%;height:28px;display:block}.sliders .primary{color:#f0e9d3;background:#192b28;min-height:48px;padding:10px 20px;font-size:12px}.shot-strip{gap:5px;display:flex}.shot-strip span{border:1px solid #192b2855;border-radius:50%;width:13px;height:13px}.shot-strip span[data-points="0"]{background:#415449}.shot-strip span[data-points="2"]{background:#bf5129}.shot-strip span[data-points="3"]{background:#192b28}.shot-strip span.current{outline-offset:2px;outline:1px solid #192b28}.book .game{grid-template-rows:1fr;grid-template-columns:minmax(0,1.5fr) 18px minmax(0,1fr)}.book .seam span{writing-mode:vertical-rl}.book .shoot-pane{padding-top:22px}.book .shoot-heading,.book .shoot-footer{display:block}.book .mini-brand{display:none}.book .shot-strip{margin-top:12px}.book .aim-pad svg{max-height:none}.game[data-segments=stacked]{grid-template-rows:var(--first) var(--gap) var(--second)}.game[data-segments=book]{grid-template-columns:var(--first) var(--gap) var(--second)}.results{grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding:60px 0;display:grid}.results h1{font-size:clamp(65px,7vw,102px)}.result-actions{flex-direction:column;align-items:stretch;gap:12px;max-width:300px;margin:22px 0;display:flex}.result-ticket{color:#192b28;background:#f0e9d3;padding:32px;transform:rotate(1deg);box-shadow:8px 8px #0e1c19}.ticket-label{font:10px var(--mono);border-bottom:1px solid #192b2855;justify-content:space-between;gap:12px;padding-bottom:20px;display:flex}.big-score{align-items:baseline;gap:12px;margin:32px 0 18px;display:flex}.big-score strong{font:120px/1 var(--display);letter-spacing:-8px}.big-score span{font:28px var(--mono)}.final-strip{grid-template-columns:repeat(10,1fr);gap:5px;margin:24px 0;display:grid}.final-strip span{text-align:center;font:13px var(--mono);border:1px solid #192b2833;padding:12px 0}#personal-best{padding-bottom:25px;font-size:12px}.code-label{font:9px var(--mono);letter-spacing:1px;display:block}.code{color:#192b28;width:100%;font:18px var(--mono);background:0 0;border:0;border-bottom:1px solid #192b2855;border-radius:0;margin-bottom:12px;padding:12px 0;display:block}.result-ticket .micro{color:#415449}#result-title:focus{outline:none}dialog{color:#192b28;background:#f0e9d3;border:1px solid #192b28;border-radius:3px;width:min(470px,100% - 32px);max-height:calc(100dvh - 40px);padding:32px}dialog::backdrop{background:#071812be}dialog h2{font:28px/1.1 var(--display);letter-spacing:-1px;margin:12px 0 24px}dialog p{color:#3c4d42;margin:16px 0;font-size:13px}dialog li{margin:12px 0;font-size:14px;line-height:1.6}dialog ol{padding-left:22px}dialog .primary{color:#f0e9d3;background:#192b28;width:100%;margin:16px 0 0}dialog .secondary{color:#192b28;border-color:#192b2844;width:100%;margin-top:12px}dialog form{position:absolute;top:8px;right:10px}.close{color:#192b28;background:0 0;border:0;width:44px;height:44px;font-size:25px}.setting{border-bottom:1px solid #192b2822;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;font-size:14px;display:flex}.setting input{accent-color:#192b28;width:20px;height:20px}.setting select{color:#192b28;background:#f0e9d3;border:1px solid #192b2866;max-width:210px;padding:8px;font-size:12px}#challenge-code{color:#192b28;background:#fffdf2;border:1px solid #667866;border-radius:0;width:100%;margin-top:12px;padding:13px}#join-error{color:#943820}@media (width<=700px){#basketball-app{padding:0 max(18px,env(safe-area-inset-left)) 0 max(18px,env(safe-area-inset-right))}.topbar{height:calc(75px + env(safe-area-inset-top))}.brand{font-size:19px}.edition{display:none}.home{grid-template-columns:1fr;gap:30px;padding:34px 0}.home h1{margin:24px 0;font-size:105px}.kicker{letter-spacing:.8px;font-size:9px}.lead{font-size:23px}.home-poster{display:none}.home .primary{width:100%}.home .description{margin:16px 0 22px}.home-footer{margin-top:5px}.in-game #basketball-app{padding:0}.in-game .topbar{height:calc(55px + env(safe-area-inset-top));padding-inline:16px}.in-game .game{height:calc(100vh - 55px - env(safe-area-inset-top));height:calc(100dvh - 55px - env(safe-area-inset-top));border:0;grid-template-rows:minmax(0,1fr) 16px minmax(220px,.7fr);max-height:none}.scoreboard{gap:10px;height:58px;padding:8px 14px}.mini-brand{font-size:12px}.scoreboard strong{font-size:21px}.scoreboard>div{gap:5px}.scoreboard>div>span{font-size:8px}.shoot-pane{padding:12px 16px max(12px,env(safe-area-inset-bottom))}.shoot-heading{gap:6px;font-size:11px}.shoot-heading>span{font-size:8px}.court-caption{padding:0 12px;font-size:8px}.aim-pad svg{max-height:180px}.shoot-footer:has(details[open]){display:block}.shoot-footer:has(details[open]) .shot-strip{display:none}.sliders{gap:10px}.sliders label{width:105px}.sliders .primary{padding-inline:13px}.results{grid-template-columns:1fr;gap:30px;padding:35px 0}.results h1{margin:23px 0;font-size:68px}.result-actions{max-width:none}.result-ticket{padding:26px}.big-score strong{font-size:108px}.book .game{grid-template-rows:1fr}.book .scoreboard{padding-inline:7px}.book .scoreboard>div,.book .scoreboard>div>span{display:block}.book .scoreboard strong{font-size:16px}.book .shoot-pane{padding-inline:10px}.book .shoot-heading>span{display:block}.book .shot-strip{gap:3px}.book .shot-strip span{width:10px;height:10px}.book #gesture-hint{font-size:7px}}@media (height<=570px){.in-game .topbar{height:45px}.in-game .game{grid-template-rows:minmax(0,1fr) 12px minmax(150px,.7fr);height:calc(100dvh - 45px)}.shoot-pane{padding-block:8px}.aim-pad{min-height:55px}.aim-pad svg{min-height:50px}.scoreboard{height:45px}.book .game{grid-template-rows:1fr}.court-caption{height:22px}.sliders label{width:90px}#gesture-hint{bottom:0}}@media (prefers-reduced-motion:reduce){.home-poster,.result-ticket{transform:none}*{scroll-behavior:auto!important}}@media (forced-colors:active){.aim-pad{forced-color-adjust:none}.primary,.secondary{border:1px solid buttontext}}body.in-game .game[data-segments=stacked]{grid-template-columns:1fr;grid-template-rows:var(--first) var(--gap) var(--second)}body.in-game .game[data-segments=book]{grid-template-rows:1fr;grid-template-columns:var(--first) var(--gap) var(--second)}body.in-game .game[data-segments] .scoreboard{padding-top:max(8px,env(safe-area-inset-top));height:calc(70px + env(safe-area-inset-top))}@media (width<=700px){.results{flex-direction:column;align-items:stretch;display:flex}.result-ticket{order:-1}.results h1{margin:14px 0;font-size:36px}.results .kicker{display:none}.big-score{margin:20px 0 12px}.big-score strong{font-size:88px}.final-strip{margin:18px 0}#personal-best{padding-bottom:18px}}.app-nav{gap:22px;display:flex}.setting input[type=text]{color:#192b28;background:#fffdf2;border:1px solid #192b2866;width:190px;height:42px;padding:8px 10px}.audio-note{margin-top:8px!important;font-size:11px!important}#player-name{margin-top:18px}.event-list{gap:12px;display:grid}.event-card{text-align:left;color:#f0e9d3;background:#192b28;border:1px solid #192b2844;flex-direction:column;align-items:flex-start;gap:8px;min-height:120px;padding:20px;text-decoration:none;display:flex}.event-card span{font:9px var(--mono);letter-spacing:1px}.event-card strong{font:26px var(--display);letter-spacing:-1px}.event-card small{font-size:12px}.archery-event{background:#3b435f}.sprint-event{color:#192b28;background:#c9d88c}.event-card:focus-visible{outline-color:#192b28}@media (width<=400px){.app-nav{gap:14px}.app-nav .quiet{font-size:11px}}.event-card em{font:9px var(--mono);letter-spacing:.7px;opacity:.8;margin-top:8px;font-style:normal}.difficulty-picker{margin:20px 0}.difficulty-picker select{background:var(--paper);width:min(100%,320px);min-height:48px;color:var(--ink);border:1px solid var(--paper);padding:10px;font-size:14px;display:block}.difficulty-picker label{font:11px var(--mono);margin-bottom:8px;display:block}.difficulty-picker p{max-width:340px;margin:9px 0 0}.country-filters{grid-template-columns:1fr 1fr;gap:12px;display:grid}.country-filters label{font-size:12px}.country-filters select{color:#192b28;background:#f0e9d3;border:1px solid #192b2855;width:100%;min-height:44px;margin:6px 0;padding:6px;display:block}.table-scroll{overflow-x:auto}.country-table{border-collapse:collapse;width:100%;font:11px IBM Plex Mono,monospace}.country-table th,.country-table td{text-align:left;border-bottom:1px solid #192b2833;padding:12px 6px}.country-table th{letter-spacing:.03em;font-size:9px}.country-table caption{text-align:left;padding:8px 0;font:11px/1.5 IBM Plex Sans,sans-serif}.country-table .your-country{background:#d9dfb9}.setting select{min-width:0;max-width:65%;min-height:44px}#countries{width:min(620px,100% - 32px)}.topbar{gap:10px}.app-nav{gap:16px}.setting input[type=text]{min-width:0;max-width:65%}@media (width<=410px){.topbar .brand{letter-spacing:-1px;font-size:17px}.app-nav{gap:11px}.app-nav .quiet{font-size:10px}.topbar{gap:8px}dialog{padding:25px 21px}.home h1{font-size:96px}.country-filters{gap:8px}}@media (width<=380px){.app-nav #countries-open{display:none}}.home>*{min-width:0}.difficulty-picker select{max-width:100%}@media (width<=700px){.home h1{font-size:clamp(64px,24vw,105px)}}#countries .micro{color:#415449}.scoreboard strong{white-space:nowrap}.shoot-pane{overscroll-behavior:contain;overflow-y:auto}.shoot-pane:has(details[open]) .aim-pad{min-height:36px}.shoot-footer .sliders{flex-wrap:nowrap}.shoot-footer .sliders label{flex:1;width:auto;min-width:0}.shoot-footer .sliders .primary{flex-shrink:0}.shoot-footer:has(details[open]){display:block}.shoot-footer:has(details[open]) .shot-strip{display:none}@media (width<=350px){.scoreboard{gap:7px;padding-inline:12px}.mini-brand{white-space:nowrap;font-size:10px}.scoreboard>div>span{font-size:7px}.scoreboard strong{font-size:18px}.scoreboard .quiet{font-size:11px}}@media (height<=570px) and (width>=700px){.in-game .game:not([data-segments]){grid-template-rows:1fr;grid-template-columns:minmax(0,1.05fr) 12px minmax(0,1fr)}.game:not([data-segments]) .seam span{writing-mode:vertical-rl}.game:not([data-segments]) .shoot-pane{padding:14px 16px max(12px,env(safe-area-inset-bottom))}.game:not([data-segments]) .scoreboard{gap:8px;padding-inline:12px}.game:not([data-segments]) .mini-brand{font-size:11px}.game:not([data-segments]) .scoreboard strong{font-size:21px}}body.in-game .aim-pad{justify-content:center;align-items:center;display:flex}body.in-game .aim-pad svg{flex:none;width:min(100%,440px);height:auto;min-height:180px;max-height:calc(100% - 32px)}body.in-game .game:not([data-segments]){height:calc(100dvh - 55px - env(safe-area-inset-top));max-height:none}@media (width>=740px) and (aspect-ratio>=1){body.in-game .game:not([data-segments]){grid-template-rows:1fr;grid-template-columns:minmax(0,1fr) 12px clamp(250px,30vw,360px)}body.in-game .game:not([data-segments]) .seam span{writing-mode:vertical-rl}body.in-game .game:not([data-segments]) .shoot-pane{padding:18px 18px max(14px,env(safe-area-inset-bottom))}body.in-game .game:not([data-segments]) .shoot-heading{flex-wrap:wrap;gap:6px;font-size:14px;line-height:1.45}body.in-game .game:not([data-segments]) .shoot-heading>span{font-size:10px}body.in-game .game:not([data-segments]) .aim-pad svg{width:min(100%,320px)}body.in-game .game:not([data-segments]) .shoot-footer{display:block}body.in-game .game:not([data-segments]) .shot-strip{margin-top:10px}body.in-game .game:not([data-segments]) .scoreboard{gap:10px;height:56px;padding-inline:16px}body.in-game .game:not([data-segments]) .mini-brand{white-space:nowrap;font-size:13px}body.in-game .game:not([data-segments]) .scoreboard strong{font-size:23px}body.in-game .game:not([data-segments]) .court-caption{height:26px}}
