:root{--ink: #0e1217;--glass: rgba(14, 18, 23, .74);--chalk: #f3f5f2;--muted: #9aa5af;--line: rgba(243, 245, 242, .22);--you: #2f5bea;--cpu: #b42840;--num: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--text: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;background:var(--ink);color:var(--chalk);font-family:var(--text);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}button{font:inherit;color:inherit;cursor:pointer}#view{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}body.menu #hud{visibility:hidden}#left{position:absolute;left:0;top:0;bottom:0;width:45%;pointer-events:auto}#right{position:absolute;right:0;top:0;bottom:0;width:55%;pointer-events:auto}#scorebar{position:absolute;top:max(10px,env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:5px 14px;border-radius:10px;background:var(--glass);border:1px solid var(--line);font-family:var(--num);font-weight:700}#score{font-size:26px;line-height:1;min-width:54px;text-align:center;font-variant-numeric:tabular-nums;display:inline-block;letter-spacing:.02em}.team{display:flex;align-items:center;gap:6px;font-size:15px;letter-spacing:.08em;color:var(--chalk)}.team i{width:4px;height:18px;border-radius:2px;display:block}.team.you i{background:var(--you)}.team.cpu i{background:var(--cpu)}#clock{font-size:17px;color:var(--muted);font-variant-numeric:tabular-nums;padding-left:10px;border-left:1px solid var(--line)}#coach{position:absolute;top:calc(max(10px,env(safe-area-inset-top)) + 46px);left:50%;transform:translate(-50%);max-width:min(520px,80vw);padding:8px 14px;border-radius:8px;background:var(--glass);border:1px solid var(--line);font-size:13px;font-weight:500;line-height:1.35;text-align:center;opacity:0;display:none}#coach.on{display:block}#stick{position:absolute;left:max(96px,calc(env(safe-area-inset-left) + 90px));top:calc(100% - max(96px,calc(env(safe-area-inset-bottom) + 90px)));width:116px;height:116px;margin:-58px 0 0 -58px;border-radius:50%;border:2px solid rgba(243,245,242,.32);background:#0e121747;transition:border-color .12s,background .12s}#stick.on{border-color:#f3f5f28c;background:#0e121766}#stick.sprint{border-color:var(--chalk)}#knob{position:absolute;left:50%;top:50%;width:50px;height:50px;border-radius:50%;background:#f3f5f2e6;transform:translate(-50%,-50%)}#tackle{position:absolute;right:max(28px,env(safe-area-inset-right));bottom:max(28px,env(safe-area-inset-bottom));width:104px;height:104px;border-radius:50%;border:2px solid var(--chalk);pointer-events:auto;background:var(--cpu);color:var(--chalk);font-family:var(--num);font-weight:800;font-size:19px;letter-spacing:.06em;box-shadow:0 6px 16px #00000059;touch-action:none;display:none}#tackle.on{display:block}#banner{position:absolute;top:0;right:0;bottom:0;left:0;display:none;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center}#banner-big{font-family:var(--num);font-weight:800;font-size:clamp(56px,14vw,128px);line-height:.9;letter-spacing:.02em;color:var(--chalk);padding:0 18px 8px;border-bottom:6px solid var(--you);text-shadow:0 3px 14px rgba(0,0,0,.45)}#banner.cpu #banner-big{border-bottom-color:var(--cpu);font-size:clamp(40px,9vw,84px)}#banner-small{margin-top:12px;font-size:clamp(14px,3vw,19px);font-weight:600;color:var(--chalk);text-shadow:0 2px 8px rgba(0,0,0,.6)}#start{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:linear-gradient(180deg,#0e12178c,#0e1217eb);text-align:center;padding:20px}#start .brand{font-family:var(--num);font-weight:800;font-size:clamp(64px,15vw,120px);line-height:.85;letter-spacing:-.01em}#start .tag{font-size:14px;color:var(--muted);font-weight:500}.levels{display:flex;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:4px}.levels button{background:transparent;border:0;padding:9px 18px;font-family:var(--num);font-weight:700;font-size:18px;letter-spacing:.04em;color:var(--muted)}.levels button+button{border-left:1px solid var(--line)}.levels button.picked{background:var(--chalk);color:var(--ink)}.levels button:disabled{opacity:.4;cursor:default}#go{margin-top:4px;padding:13px 44px;border-radius:10px;border:0;background:var(--you);color:var(--chalk);font-family:var(--num);font-weight:800;font-size:22px;letter-spacing:.05em}#go:disabled{background:#2a3140;color:var(--muted)}#start .how{font-size:12px;color:var(--muted);max-width:560px;line-height:1.6}#rotate{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;text-align:center;background:var(--ink);font-family:var(--num);font-weight:700;font-size:26px;padding:30px;z-index:10}@media(orientation:portrait)and (max-width:820px){#rotate{display:flex}}#pass-controls{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:22px;display:flex;gap:8px;pointer-events:auto}#pass-controls button,#switch{font-family:var(--num);font-size:17px;font-weight:700;color:var(--chalk);border:1px solid var(--line);border-radius:50%;background:var(--you);width:65px;height:65px;touch-action:none}#switch{position:absolute;right:28px;bottom:105px;pointer-events:auto;background:var(--ink)}#tackle{right:104px;bottom:100px;width:72px;height:72px;font-size:16px}[hidden]{display:none!important}#start{gap:9px}#start .brand{font-size:clamp(44px,9vw,72px)}#start>*{flex-shrink:0}#profile{display:flex;gap:20px;align-items:end;text-align:left;font-size:12px;color:var(--muted)}#profile label,#profile>div{display:flex;flex-direction:column;gap:4px}#player-name{width:220px;height:44px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:var(--ink);color:var(--chalk);font:inherit;font-size:15px;-webkit-user-select:text;user-select:text}#colour-picker{display:flex;gap:6px}#colour-picker button{height:44px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--ink)}#colour-picker button.picked{border-color:var(--chalk)}#colour-picker [data-colour=cobalt]{background:#2f5bea}#colour-picker [data-colour=claret]{background:#b42840}#skip-first{background:none;border:0;min-height:36px;color:var(--chalk);font-size:12px;text-decoration:underline}#skip-first:disabled{opacity:.4}#help,#substitute{position:absolute;top:12px;right:12px;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:8px;background:var(--ink);pointer-events:auto;z-index:2}#substitute{top:65px}#tutorial{position:fixed;top:64px;left:18px;width:min(350px,44vw);padding:12px 16px;background:#0e1217f0;border:1px solid var(--line);border-radius:12px;pointer-events:none;z-index:3}.practice-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted)}#practice-skip{pointer-events:auto;min-height:36px;border:0;background:none;text-decoration:underline;font-size:12px}#practice-title{font:700 25px var(--num);margin-top:4px}#practice-copy{font-size:13px;line-height:1.4;margin-top:3px}#practice-cue{font-size:42px;position:fixed;bottom:138px;left:88px;animation:cue 1.1s ease-in-out infinite;color:var(--chalk)}#tutorial[data-exercise=pass] #practice-cue{left:auto;right:170px;bottom:83px}#tutorial[data-exercise=shoot] #practice-cue{left:auto;right:210px;bottom:170px;transform:rotate(90deg)}#tutorial[data-exercise=tackle] #practice-cue{left:auto;right:122px;bottom:170px}#tutorial[data-exercise=switch] #practice-cue{left:auto;right:40px;bottom:171px}.practice-highlight{outline:3px solid var(--chalk);outline-offset:4px}#right.practice-highlight{outline:none;background:linear-gradient(90deg,transparent,rgba(243,245,242,.06))}body.practice #coach,body.practice #help,body.practice #substitute{display:none}body.practice #pass-controls,body.practice #switch,body.practice #tackle{visibility:hidden}body.practice:has(#tutorial[data-exercise=pass]) #pass-controls,body.practice:has(#tutorial[data-exercise=tackle]) #tackle,body.practice:has(#tutorial[data-exercise=switch]) #switch{visibility:visible}body.practice #pass-loft,body.practice #pass-through{display:none}@keyframes cue{0%,to{translate:0 0}50%{translate:8px -8px}}@media(max-height:360px){#start .brand{font-size:44px}#start .how{display:none}#start{gap:6px;padding:10px}#tutorial{top:60px;padding:8px 12px}}@media(max-height:430px){#start{gap:6px;padding:12px}#start .brand{font-size:52px}#start .how{display:none}.levels button{padding:6px 18px;font-size:16px}#go{padding:10px 36px}#skip-first{min-height:28px}}@media(prefers-reduced-motion:reduce){#practice-cue{animation:none}}
