@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-regular.ttf) format("truetype")}@font-face{font-family:Barlow;font-style:normal;font-weight:500 800;font-display:swap;src:url(/fonts/barlow-semibold.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500 600;font-display:swap;src:url(/fonts/barlow-condensed-semibold.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700 900;font-display:swap;src:url(/fonts/barlow-condensed-extrabold.ttf) format("truetype")}:root{font-family:Barlow,Arial,sans-serif;color:#f5f3f0;background:#161a20;font-synthesis:none;color-scheme:dark;--paper: #f5f3f0;--muted: #98aaa9;--lime: #dfff80;--cyan: #7ad9db;--ink: #09191e;--brand: #c73c48;--brand-light: #ff858d}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--brand-light);outline-offset:5px}button{cursor:pointer}button:disabled{cursor:default}button,canvas{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}#app,#world{position:fixed;top:0;right:0;bottom:0;left:0}#world canvas{display:block;width:100%;height:100%;touch-action:none}#app{pointer-events:none}#app button,#app a,#app input{pointer-events:auto}.condensed,h1,h2,h3,.value,.primary,.wordmark,.number{font-family:Barlow Condensed,Arial Narrow,Impact,sans-serif}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:2.3px}.muted{color:var(--muted)}.lime{color:var(--lime)}.divider{display:inline-block;width:24px;height:1px;background:currentColor;vertical-align:middle;margin:0 12px}.topbar{position:absolute;top:30px;left:38px;right:38px;display:flex;align-items:center;justify-content:space-between;z-index:4}.wordmark{font-size:26px;letter-spacing:-1px;font-weight:800;display:flex;align-items:center;gap:12px}.brand-icon{width:32px;height:32px;display:block;background:url(/icon.svg) center / contain no-repeat}.brand-sub{border-left:1px solid #ffffff28;margin-left:8px;padding-left:20px;font-size:10px;font-family:Barlow,sans-serif;font-weight:500;letter-spacing:2px}.top-actions{display:flex;align-items:center;gap:8px}.icon-button{height:34px;padding:0 12px;border:1px solid #ffffff25;border-radius:3px;background:#07181dbb;color:var(--paper);font-size:10px;font-weight:700;letter-spacing:1px;transition:background .2s,border-color .2s}.icon-button:hover{border-color:var(--brand-light);background:#193237}.sound-bars{display:inline-flex;gap:2px;align-items:center;height:11px;margin-right:7px}.sound-bars i{width:2px;background:currentColor;height:5px}.sound-bars i:nth-child(2){height:11px}.sound-bars i:nth-child(3){height:8px}.icon-button[aria-pressed=false] .sound-bars{opacity:.35}.title-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#051319fa,#051319db 24%,#0513195c,#05131905 74%),linear-gradient(0deg,#07151eee,transparent 30%);pointer-events:none}.title-shade:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,#07151b08 4px);opacity:.5}.title-content{position:absolute;top:22%;left:7%;width:420px;max-width:48vw;z-index:2}.session-tag{display:flex;align-items:center;gap:10px;color:var(--cyan);font-size:10px;font-weight:700;letter-spacing:2px}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--brand-light);box-shadow:0 0 12px #c73c4850}.title-content h1{font-weight:800;font-size:clamp(82px,9.5vw,150px);line-height:.78;letter-spacing:-3px;margin:27px 0 23px;transform:skew(-5deg);transform-origin:left bottom}.title-content h1 span{display:block;color:var(--brand-light)}.title-content .subtitle{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;margin-left:4px}.title-description{font-size:14px;line-height:1.7;color:#b5c7c6;margin:24px 0;max-width:285px}.primary{border:0;background:var(--brand);color:#fff;font-weight:700;font-size:18px;letter-spacing:1.2px;padding:17px 24px;min-width:232px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:30px;transition:background .15s,transform .15s}.primary:hover{background:#ad303c;transform:translateY(-2px)}.primary .arrow{font-family:Arial,sans-serif;font-size:23px;line-height:1}.secondary{border:1px solid #a9c5c33b;background:#0b202988;color:var(--paper);padding:13px 20px;font-weight:600;font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:24px;min-width:232px}.secondary:hover{background:#284041;border-color:#a9c5c37a}.title-buttons{display:flex;flex-direction:column;gap:10px;width:250px}.button-key{font-size:9px;letter-spacing:1px;opacity:.55}.title-footer{position:absolute;bottom:33px;left:38px;right:38px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;z-index:2}.venue{display:flex;gap:15px;align-items:center}.venue-number{font-family:Barlow Condensed,Impact,sans-serif;font-size:42px;font-weight:600;color:#dbe6dc35;line-height:1}.venue p{margin:0;font-size:11px;font-weight:600;letter-spacing:1px}.venue small{display:block;font-size:9px;color:var(--muted);letter-spacing:1.4px;margin-top:6px}.title-stats{display:flex;gap:32px}.stat .value{display:block;font-size:26px;font-weight:600}.stat .eyebrow{display:block;font-size:8px;letter-spacing:1.5px;margin-top:5px;color:var(--muted)}.venue-caption{position:absolute;right:7%;top:20%;text-align:right;color:#d3e9db99;font-size:9px;letter-spacing:2px;line-height:1.9;pointer-events:none}.venue-caption strong{display:block;color:var(--paper);font-weight:500;font-size:11px;letter-spacing:3px}.hud{position:absolute;top:0;right:0;bottom:0;left:0}.hud-top{position:absolute;top:92px;left:38px;right:38px;display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.score-panel{display:flex;border-left:3px solid var(--cyan);background:linear-gradient(90deg,#081c24ef,#081c24b0);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:13px 18px;gap:26px;min-width:228px}.score-panel .eyebrow{font-size:8px;color:var(--muted);letter-spacing:1.4px}.score-panel .value{font-weight:700;font-size:38px;line-height:1.05}.score-panel .streak{border-left:1px solid #ffffff20;padding-left:22px}.score-panel .streak .value{color:var(--lime)}.clock-panel{position:absolute;left:50%;transform:translate(-50%);text-align:center;top:0;padding:9px 24px 12px;background:linear-gradient(180deg,#081c24e8,#081c2400);min-width:160px}.clock-panel .value{font-weight:700;font-size:46px;line-height:1}.clock-panel .eyebrow{font-size:8px;letter-spacing:2px;color:#bcd0cb;margin-bottom:5px}.clock-panel.danger .value{color:#ff8b72}.shot-clock{font-size:9px;letter-spacing:1.5px;margin-top:6px;color:var(--muted)}.shot-clock b{color:var(--paper);font-size:11px}.objective{width:236px;background:linear-gradient(270deg,#081c24ed,#081c24a0);border-right:2px solid #dfff8077;padding:13px 17px;text-align:right}.objective .eyebrow{color:var(--lime);font-size:8px}.objective h3{font-size:22px;letter-spacing:.5px;margin:5px 0 3px;font-weight:600}.objective p{font-size:10px;color:#aec2bc;line-height:1.5;margin:0}.hud-bottom{position:absolute;bottom:30px;left:38px;right:38px;display:flex;align-items:flex-end;justify-content:space-between}.defense-label{border-left:2px solid #ffffff40;padding-left:13px}.defense-label .eyebrow{font-size:8px;letter-spacing:1.6px;color:var(--muted)}.defense-label strong{display:block;font-size:11px;letter-spacing:1.4px;margin-top:5px}.controls-strip{display:flex;align-items:center;gap:16px;padding:11px 16px;border:1px solid #ffffff13;background:#07181bd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:9px;letter-spacing:.6px;color:#afbfba}.controls-strip span{white-space:nowrap}.controls-strip kbd{font-family:inherit;font-weight:700;color:var(--paper);margin-right:5px}.dodge-meter{width:90px}.meter-track{height:3px;background:#ffffff20;margin-top:8px;overflow:hidden}.meter-fill{height:100%;background:var(--lime);transform-origin:left;transition:transform .08s linear}.dodge-meter .eyebrow{font-size:8px;letter-spacing:1.3px}.callout{position:absolute;top:27%;left:50%;transform:translate(-50%,-10px) skew(-5deg);text-align:center;opacity:0;transition:opacity .15s,transform .2s;pointer-events:none;text-shadow:0 3px 20px #061518}.callout.visible{opacity:1;transform:translate(-50%) skew(-5deg)}.callout strong{font-family:Barlow Condensed,Impact,sans-serif;display:block;font-weight:800;font-size:44px;letter-spacing:1px;color:var(--lime)}.callout small{font-size:11px;font-weight:700;letter-spacing:3px}.aim-label{position:absolute;transform:translate(-50%,-100%);background:#071c23e8;border:1px solid #dfff8066;border-radius:2px;color:var(--lime);font-size:9px;font-weight:700;letter-spacing:.8px;width:max-content;max-width:min(300px,calc(100vw - 24px));white-space:normal;line-height:1.4;text-align:center;padding:6px 10px;pointer-events:none}.result-toast{position:absolute;left:50%;bottom:100px;transform:translate(-50%);display:flex;align-items:center;gap:20px;background:#091c25f0;border-left:3px solid var(--lime);padding:15px 24px;max-width:560px;min-width:360px;box-shadow:0 12px 40px #0004;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.result-toast h3{font-size:29px;margin:0;color:var(--lime);white-space:nowrap}.result-toast .grade{font-size:10px;font-weight:700;letter-spacing:1.5px;margin-bottom:5px}.result-toast p{font-size:11px;color:var(--muted);margin:0;line-height:1.5}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#04131988;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);display:grid;place-items:center;z-index:8;pointer-events:auto}.modal{width:min(440px,calc(100vw - 40px));background:linear-gradient(145deg,#19313a,#0a1e27);border:1px solid #9ad6d22b;border-top:3px solid var(--lime);padding:32px;box-shadow:0 20px 100px #0006}.modal .eyebrow{color:var(--cyan)}.modal h2{font-size:58px;line-height:1;margin:14px 0 20px;font-weight:700;letter-spacing:-1px}.modal p{font-size:12px;line-height:1.7;color:#aec0bd}.modal .primary,.modal .secondary{width:100%;margin-top:10px}.modal .secondary{min-width:0}.modal-actions{margin-top:24px}.run-score{font-size:82px;line-height:1;letter-spacing:-2px;color:var(--lime);font-weight:700}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-block:1px solid #ffffff16;padding:18px 0;margin:22px 0}.result-stats .value{font-size:28px}.result-stats .eyebrow{font-size:8px;color:var(--muted);letter-spacing:1px;margin-top:4px}.best-label{font-size:10px;letter-spacing:2px;color:var(--cyan);margin-top:10px}.results-modal{width:min(760px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow-y:auto}.results-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.results-heading h2{margin-bottom:8px}.results-score{flex:0 0 auto;text-align:right}.results-score .eyebrow{color:var(--muted)}.coach-report{display:grid;grid-template-columns:152px minmax(0,1fr);min-height:210px;margin-top:6px;overflow:hidden;background:linear-gradient(110deg,#88051d33,transparent 45%),linear-gradient(145deg,#132d36,#071a22);border:1px solid #ffffff18;border-left:3px solid #d82443;box-shadow:inset 0 1px #ffffff0d}.coach-portrait{position:relative;isolation:isolate;min-height:210px;overflow:hidden;background:repeating-linear-gradient(135deg,transparent 0 15px,#ff31550d 15px 17px),#061820;clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}.coach-portrait:after{content:"";position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 45%,#06151ee8 91%),linear-gradient(115deg,#ff31552b,transparent 58%);box-shadow:inset -10px 0 #e9ff9a12;pointer-events:none}.coach-portrait svg{display:block;width:100%;height:100%;transform:scale(1.035);filter:contrast(1.12) drop-shadow(8px 0 0 #06151e80)}.coach-portrait span{position:absolute;z-index:2;left:13px;bottom:21px;color:#fff;font-family:Barlow Condensed,Impact,sans-serif;font-size:17px;font-weight:800;letter-spacing:1.6px}.coach-portrait small{position:absolute;z-index:2;left:13px;bottom:9px;color:var(--lime);font-size:7px;font-weight:700;letter-spacing:1.2px}.coach-report-copy{position:relative;align-self:stretch;padding:22px 26px 22px 24px;background:linear-gradient(100deg,#102b34cc,transparent)}.coach-report-copy:before{content:"";position:absolute;top:74px;left:-12px;width:0;height:0;border-block:10px solid transparent;border-right:12px solid #102b34}.coach-report-copy .eyebrow{color:#ff687d}.coach-report-copy h3{margin:4px 0 10px;font-size:30px;line-height:1}.coach-report-copy blockquote{position:relative;margin:0;color:#e4ece9;font-size:13px;line-height:1.55}.coach-report-copy blockquote:before{content:"“";position:absolute;top:-20px;left:-14px;color:#d8244340;font-family:Georgia,serif;font-size:62px;line-height:1}.coach-report-copy cite{display:block;margin-top:8px;color:#ff687d;font-size:8px;font-style:normal;font-weight:700;letter-spacing:1.4px}.coach-report-focus{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:baseline;margin-top:15px;padding-top:12px;border-top:1px solid #ffffff18}.coach-report-focus span{color:#ff687d;font-size:8px;font-weight:700;letter-spacing:1.5px}.coach-report-focus strong{color:var(--lime);font-size:11px;line-height:1.4}.results-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.results-actions .primary,.results-actions .secondary{margin-top:0}.tutorial{position:absolute;bottom:96px;left:50%;transform:translate(-50%);width:410px;max-width:calc(100vw - 40px);padding:20px 24px;background:#0b242df2;border-top:2px solid var(--lime);box-shadow:0 10px 40px #0004;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tutorial-progress{display:flex;gap:5px;margin-bottom:16px}.tutorial-progress i{height:3px;background:#ffffff1a;flex:1}.tutorial-progress i.done{background:var(--lime)}.tutorial .eyebrow{font-size:8px;color:var(--cyan)}.tutorial h3{font-size:27px;font-weight:600;margin:7px 0}.tutorial p{font-size:12px;line-height:1.6;color:#bacac3;margin:0}.tutorial .primary{margin-top:16px;width:100%}.tutorial-skip{position:absolute;right:20px;top:38px;border:0;background:transparent;color:var(--muted);font-size:9px;letter-spacing:.5px;padding:0}.error-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#081b24;padding:30px}.error-screen section{max-width:460px}.error-screen h1{font-size:50px;margin:0}.error-screen p{font-size:14px;line-height:1.8;color:var(--muted)}.error-screen button{pointer-events:auto}.two-man-panel{position:absolute;bottom:86px;left:50%;transform:translate(-50%);width:460px;max-width:calc(100vw - 40px);padding:9px 12px;background:#0b242de8;border-left:2px solid #ffc86c}.two-man-keys{color:var(--muted);font-size:9px;letter-spacing:1px}.two-man-panel strong{display:block;margin-top:4px;color:#ffc86c;font-size:11px}.two-man-panel p{margin:5px 0 0;color:#bacac3;font-size:10px;line-height:1.4}.two-man-marker{position:absolute;transform:translate(-50%,-100%);padding:4px 6px;border:1px solid #ffc86c;background:#09242de8;color:#ffc86c;font-size:10px;white-space:nowrap;pointer-events:none}.two-man-panel[data-phase=set],.two-man-marker[data-phase=set]{border-color:#a6efb2}.two-man-panel[data-phase=set] strong,.two-man-marker[data-phase=set]{color:#a6efb2}.two-man-panel[data-phase=roll],.two-man-marker[data-phase=roll]{border-color:var(--cyan)}.two-man-panel[data-phase=roll] strong,.two-man-marker[data-phase=roll]{color:var(--cyan)}.two-man-panel[data-kind=slip],.two-man-marker[data-kind=slip]{border-color:#d3acff}.two-man-panel[data-kind=slip] strong,.two-man-marker[data-kind=slip]{color:#d3acff}.two-man-panel[data-phase=recover] strong,.two-man-marker[data-phase=recover]{color:var(--muted)}.touch-action-stack{display:grid;gap:6px}.touch-two-man{display:grid;grid-template-columns:1fr 1fr;gap:6px}.touch-two-man button{min-width:0;min-height:44px;padding:5px;font-size:9px}.touch-two-man button:disabled{opacity:.45}.touch-two-man button[data-touch=slip]{color:#d3acff}.touch-controls{display:none;position:absolute;inset:auto 20px 24px;justify-content:space-between;align-items:end;pointer-events:none}.touch-pad{display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px);gap:4px}.touch-pad button,.touch-actions button,.touch-two-man button{border:1px solid #ffffff35;background:#0b252cd9;color:var(--paper);border-radius:5px;font-weight:700;touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:auto}.touch-pad button[data-key=KeyW]{grid-column:2}.touch-pad button[data-key=KeyA]{grid-row:2;grid-column:1}.touch-pad button[data-key=KeyS]{grid-row:2;grid-column:2}.touch-pad button[data-key=KeyD]{grid-row:2;grid-column:3}.touch-actions{display:flex;align-items:flex-end;gap:8px}.touch-actions button{width:54px;height:54px;font-size:9px;letter-spacing:.5px}.touch-actions button[data-touch=shoot]{height:66px;width:66px;border-color:#dfff8080;color:var(--lime)}.touch-hint{position:absolute;bottom:100px;right:20px;font-size:9px;letter-spacing:1px;color:var(--muted)}@media (min-width: 1700px){.title-content{left:9%;top:24%}.title-content h1{font-size:168px}.title-description{font-size:16px;max-width:320px}}@media (max-height: 740px) and (min-width: 800px){.title-content{top:20%}.title-content h1{font-size:106px;margin:22px 0 18px}.title-description{margin:18px 0;font-size:12px}.primary{padding:13px 22px}.title-buttons{gap:8px}.secondary{padding:11px 20px}.title-footer{bottom:22px}.hud-top{top:78px}.topbar{top:23px}.hud-bottom{bottom:20px}.tutorial{bottom:77px}.result-toast{bottom:80px}}@media (max-width: 1000px){.brand-sub{display:none}.title-content{left:6%;max-width:49vw}.title-content h1{font-size:110px}.venue-caption{right:5%}.title-stats{gap:22px}.controls-strip{gap:9px;font-size:8px;padding:10px}.hud-top,.hud-bottom,.topbar{left:24px;right:24px}.objective{width:200px}.score-panel{min-width:180px;padding:12px;gap:16px}.score-panel .streak{padding-left:16px}.score-panel .value{font-size:32px}.clock-panel .value{font-size:38px}}@media (max-width: 360px){.topbar .wordmark{font-size:0;gap:0}}@media (max-width: 650px){#sound-label{display:none}.sound-bars{margin-right:0}.topbar{top:20px;left:20px;right:20px}.wordmark{font-size:22px}.icon-button{font-size:8px;padding:0 8px;height:30px}.top-actions{gap:5px}.title-content{top:23%;left:28px;max-width:calc(100vw - 56px);width:350px}.title-content h1{font-size:105px}.title-description{font-size:13px;max-width:265px}.title-shade{background:linear-gradient(90deg,#051319ef,#05131944),linear-gradient(0deg,#07151e,transparent 55%)}.venue-caption{display:none}.title-footer{left:24px;right:24px;bottom:25px}.title-stats .stat:not(:last-child){display:none}.title-stats{gap:0}.venue-number{font-size:34px}.venue p{font-size:9px}.venue small{font-size:8px}.title-content .subtitle{font-size:10px;letter-spacing:5px}.hud-top{top:70px;left:15px;right:15px}.score-panel{min-width:120px;gap:12px;padding:10px}.score-panel .value{font-size:28px}.score-panel .streak{padding-left:12px}.score-panel .eyebrow{font-size:7px}.objective{position:absolute;top:86px;right:0;width:155px;padding:8px 10px}.objective h3{font-size:17px}.objective p{font-size:9px}.objective .eyebrow{font-size:7px}.clock-panel{left:auto;right:0;transform:none;min-width:90px;padding:3px 12px}.clock-panel .value{font-size:33px}.clock-panel .eyebrow,.shot-clock{font-size:7px}.controls-strip{display:none}.hud-bottom{left:20px;right:20px;bottom:25px}.defense-label strong{font-size:9px}.dodge-meter{width:65px}.callout{top:35%}.callout strong{font-size:35px}.result-toast{bottom:110px;min-width:0;width:calc(100vw - 40px);padding:12px 17px;gap:15px}.result-toast h3{font-size:24px}.result-toast p{font-size:10px}.modal{padding:26px}.modal h2{font-size:48px}.results-modal{width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:18px}.results-heading{gap:12px}.results-heading h2{margin:8px 0 5px;font-size:36px}.results-score .run-score{font-size:54px}.result-stats{margin:13px 0;padding:11px 0}.result-stats .value{font-size:23px}.coach-report{grid-template-columns:94px minmax(0,1fr);min-height:176px}.coach-portrait{min-height:176px}.coach-portrait span{left:8px;bottom:17px;font-size:13px;letter-spacing:.8px}.coach-portrait small{left:8px;bottom:7px;font-size:6px}.coach-report-copy{padding:14px 15px 14px 14px}.coach-report-copy:before{top:63px;left:-8px;border-block-width:7px;border-right-width:8px}.coach-report-copy h3{font-size:23px}.coach-report-copy blockquote{font-size:11px;line-height:1.45}.coach-report-focus{grid-template-columns:1fr;gap:3px;margin-top:9px;padding-top:8px}.coach-report-focus strong{font-size:10px}.results-actions{margin-top:12px}.results-actions .primary,.results-actions .secondary{padding:11px 12px}.tutorial{bottom:130px;padding:16px 20px}.tutorial h3{font-size:24px}.tutorial p{font-size:11px}.tutorial-progress{margin-bottom:12px}.tutorial-skip{top:32px}}@media (pointer: coarse){#app[data-mode=play] .touch-controls,#app[data-mode=tutorial] .touch-controls{display:flex}#app[data-mode=play] .hud-bottom,#app[data-mode=tutorial] .hud-bottom{bottom:124px}.controls-strip{display:none}.result-toast,.tutorial{bottom:165px}}@media (prefers-reduced-motion: reduce){*{transition:none!important}.primary:hover{transform:none}}.modal{max-height:calc(100dvh - 40px);overflow-y:auto}@media (max-height: 520px) and (min-width: 600px){.topbar{top:14px}.title-content{top:22%}.title-content h1{font-size:68px;margin:14px 0}.title-content .subtitle{font-size:8px;letter-spacing:4px}.title-description{display:none}.title-buttons{margin-top:17px;gap:6px}.title-buttons .primary{font-size:16px;padding:10px 18px}.title-buttons .secondary{font-size:10px;padding:9px 18px}.title-footer{bottom:14px}.venue-number{font-size:30px}.venue small{display:none}.title-stats .value{font-size:22px}.hud-top{top:60px}.score-panel{padding:8px 12px}.score-panel .value{font-size:26px}.clock-panel{padding-top:3px}.clock-panel .value{font-size:28px}.objective{padding:8px 12px}.objective h3{font-size:18px}.objective p{display:none}.tutorial{width:330px;bottom:18px;padding:12px 16px}.tutorial h3{font-size:21px;margin:4px 0}.tutorial p{font-size:10px}.tutorial-progress{margin-bottom:8px}.tutorial-skip{top:24px;right:16px;font-size:8px}.tutorial .primary{margin-top:8px;padding:10px 14px}.touch-controls{bottom:18px}.touch-actions{gap:5px}.touch-actions button{width:44px;height:44px;font-size:8px}.touch-actions button[data-touch=shoot]{width:52px;height:52px}.result-toast{bottom:140px}.results-modal{width:min(800px,calc(100vw - 24px));max-height:calc(100vh - 20px);padding:14px 18px}.results-heading h2{margin:5px 0 2px;font-size:34px}.results-score .run-score{font-size:46px}.result-stats{margin:8px 0;padding:7px 0}.result-stats .value{font-size:21px}.coach-report{grid-template-columns:92px minmax(0,1fr);min-height:132px}.coach-portrait{min-height:132px}.coach-portrait span{left:7px;bottom:15px;font-size:12px}.coach-portrait small{left:7px;bottom:6px;font-size:5px}.coach-report-copy{padding:10px 16px 10px 12px}.coach-report-copy:before{top:44px;left:-7px;border-block-width:6px;border-right-width:7px}.coach-report-copy h3{margin:3px 0 6px;font-size:22px}.coach-report-copy blockquote{font-size:10px;line-height:1.35}.coach-report-focus{margin-top:6px;padding-top:5px}.results-actions{margin-top:8px}.results-actions .primary,.results-actions .secondary{padding:8px 12px}.callout{top:35%}.callout strong{font-size:30px}}:root{--coach-height: clamp(280px, 38vh, 340px)}body:has(#app[data-learning=true]) #world{bottom:var(--coach-height)}#app[data-learning=true] .hud-top,#app[data-learning=true] .hud-bottom{display:none}#app[data-learning=true] .tutorial{top:auto;bottom:12px;left:50%;right:auto;width:780px;max-width:calc(100vw - 32px);height:calc(var(--coach-height) - 20px);max-height:none;padding:16px 20px;overflow-y:auto;pointer-events:auto}.coach-choices,.coach-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.coach-choices .secondary,.coach-actions .secondary{min-width:0;min-height:42px;font-size:11px;gap:8px}.coach-actions .primary{margin-top:0;width:auto;min-height:42px;padding:10px 18px;font-size:17px}.tutorial .coach-feedback{margin-top:10px;color:var(--lime)}.tutorial .coach-controls,.tutorial .coach-disclaimer{margin-top:10px;font-size:10px}.tutorial .coach-disclaimer{color:var(--muted)}.coach-markers span{position:absolute;transform:translate(-50%,-100%);max-width:110px;padding:5px 7px;background:#09242dee;border:1px solid var(--cyan);color:var(--paper);text-align:center;font-size:11px}#app:not([data-mode=tutorial]) .coach-markers{display:none}#app[data-learning=true] .touch-controls{bottom:calc(var(--coach-height) + 8px)}@media (max-height: 520px) and (min-width: 600px){body:has(#app[data-learning=true]) #world{right:350px;bottom:0}#app[data-learning=true] .tutorial{top:62px;left:auto;right:12px;bottom:12px;transform:none;width:326px;height:auto}#app[data-learning=true] .touch-controls{right:356px;bottom:8px}}.coach-markers span[data-hint=false]{max-width:none;padding:2px 4px;border:0;background:#09242daa;font-size:12px;font-weight:700}#app[data-learning=true] .tutorial-skip{top:29px}#app[data-learning=true] .callout{display:none}@media (pointer: coarse){body:has(#app[data-mode=play]) #world,body:has(#app[data-mode=paused][data-learning=false]) #world{bottom:256px}#app[data-mode=play] .two-man-panel{bottom:176px;width:460px;padding:8px 10px}#app[data-mode=play] .hud-bottom{bottom:142px}#app[data-mode=play] .touch-controls{bottom:18px}}@media (pointer: coarse) and (max-height: 520px) and (min-width: 600px){body:has(#app[data-mode=play]) #world,body:has(#app[data-mode=paused][data-learning=false]) #world{bottom:128px}#app[data-mode=play] .two-man-panel{bottom:18px;width:calc(100vw - 380px);max-width:390px}#app[data-mode=play] .hud-bottom{bottom:132px}}@media (pointer: coarse) and (max-width: 650px){#app[data-mode=play] .touch-controls{inset:auto 12px 18px;gap:12px}.touch-pad{grid-template-columns:repeat(3,56px);grid-template-rows:repeat(2,56px);gap:3px}.touch-pad button{border-radius:10px;font-size:23px;background:#12323be8;box-shadow:inset 0 1px #ffffff1f,0 5px 16px #0004}.touch-pad button:active,.touch-actions button:active,.touch-two-man button:active{transform:scale(.96);background:var(--lime);color:#071a22}.touch-action-stack{width:168px}.touch-two-man button{min-height:50px}.touch-actions{gap:6px}.touch-actions button{width:50px;height:56px}.touch-actions button[data-touch=shoot]{width:56px;height:64px}}@media (pointer: coarse) and (max-height: 520px) and (min-width: 600px){.touch-pad{grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,48px);gap:3px}.touch-pad button{font-size:20px}.touch-action-stack{width:164px}.touch-two-man button{min-height:42px}.touch-actions button{width:48px;height:48px}.touch-actions button[data-touch=shoot]{width:56px;height:56px}}@media (pointer: coarse) and (max-width: 380px){#app[data-mode=play] .touch-controls{inset-inline:10px;gap:8px}.touch-pad{grid-template-columns:repeat(3,52px);grid-template-rows:repeat(2,52px)}.touch-action-stack{width:158px}.touch-actions button{width:46px;height:52px}.touch-actions button[data-touch=shoot]{width:54px;height:60px}}
