*{box-sizing:border-box}:root{--bg:#08131e;--white:#e8eff1;--cyan:#8aedff;--orange:#ff9e73;--lime:#ddfb88;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}html,body{margin:0;background:var(--bg);color:var(--white);font-family:Arial,Helvetica,sans-serif;overscroll-behavior:none}button,a,input,select{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}button:active{transform:translateY(1px)}[hidden]{display:none!important}#app{height:100svh;min-height:700px;position:relative;overflow:hidden;isolation:isolate}#world{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:0}.vignette{position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(90deg,#07111df5,#07111ddc 29%,transparent 72%),linear-gradient(0deg,#07111d,transparent 25%,transparent 85%,#07111d99)}#app[data-state=playing] .vignette,#app[data-state=paused] .vignette,#app[data-state=results] .vignette{background:linear-gradient(0deg,#07111df2,transparent 32%,transparent 70%,#07111dd9)}header{position:absolute;left:3.5%;right:3.5%;top:25px;display:flex;align-items:center;justify-content:space-between;gap:15px;z-index:7}.wordmark{display:flex;gap:10px;align-items:center;color:var(--white);text-decoration:none}.wordmark svg{width:30px;height:33px;color:var(--lime)}.wordmark>span{font-size:23px;font-weight:700;letter-spacing:-.9px}.wordmark small{display:block;font:8px var(--mono);letter-spacing:3px;margin-top:5px}.wordmark img{width:140px;max-height:40px;object-fit:contain}.prototype{display:flex;align-items:center;gap:8px;font:8px var(--mono);letter-spacing:1.5px;color:#a0b3c7}.prototype i{width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}nav{display:flex;gap:6px;align-items:center}.tool{background:#10212b9c;border:1px solid #a2c3dd30;min-height:34px;padding:0 12px;font:8px var(--mono);letter-spacing:1px}.tool b{font-weight:400;color:var(--cyan);margin-left:5px}.tool.square{width:34px;padding:0;font-size:17px}#menu{position:absolute;top:23%;left:7%;width:510px;max-width:48%;z-index:2}.micro{font:9px var(--mono);letter-spacing:1.6px;color:#a5bdd3;display:flex;align-items:center;gap:13px}.micro>span{font-size:24px;color:var(--orange)}h1{font-style:italic;line-height:.86;letter-spacing:-4px;font-weight:900;transform:translateX(-4px);margin:26px 0}h1>span{display:block;font-size:clamp(66px,7vw,106px)}h1 strong{display:block;font-size:clamp(65px,7.1vw,108px);letter-spacing:-5px;margin-top:8px;color:var(--cyan)}h1 strong span{color:var(--orange);font-style:normal;font-size:.5em;vertical-align:top;display:inline-block;margin-left:5px;margin-top:2px}.slogan{font-size:26px;letter-spacing:-.6px;line-height:1.16;font-weight:600;margin:25px 0 18px}.intro{color:#a5b7c9;font-size:12px;line-height:1.8;margin:0 0 26px}.primary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:55px;max-width:340px;width:100%;padding:0 22px;background:var(--cyan);color:#0b1c26;border:0;font-size:11px;font-weight:800;letter-spacing:1px}.primary>span:last-child{font-size:29px;font-weight:400}.primary #start-label{font-size:11px;font-weight:800}.primary:hover{background:#c2f6ff}.gesture{font:8px var(--mono);letter-spacing:1px;color:#8baac3;margin:22px 0}.gesture b{font-weight:400;padding:0 7px;color:#546b81}.best{display:flex;gap:25px;font:7px var(--mono);letter-spacing:.8px;color:#6f8da4;margin-top:26px}.best b{font-weight:400;color:#d9e9ee;margin-left:8px}#courier-label{position:absolute;right:6%;bottom:22%;z-index:2;pointer-events:none;display:flex;align-items:center;gap:12px;font:8px var(--mono);letter-spacing:1px;color:#b8d1df}#courier-label i{width:55px;height:1px;background:#6b92ab}#courier-label small{display:block;font-size:6px;color:#7394ac;margin-top:8px;letter-spacing:.7px}#menu-status{position:absolute;left:7%;bottom:90px;display:flex;gap:28px;font:7px var(--mono);letter-spacing:.8px;color:#7b98b0;z-index:2}#menu-status b{color:var(--orange);font-weight:400;margin-right:5px}footer{position:absolute;bottom:21px;left:3.5%;right:3.5%;display:flex;justify-content:space-between;gap:15px;border-top:1px solid #91b4cf26;padding-top:17px;font:7px var(--mono);letter-spacing:.9px;color:#5d7b94;z-index:2}footer b{font-weight:400;color:#aac1d1}footer>span:last-child{color:#85a9a2}#hud{position:absolute;inset:0;z-index:3;pointer-events:none}.top-hud{position:absolute;top:108px;left:4.5%;right:4.5%;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.top-hud span{font:8px var(--mono);letter-spacing:1.5px;color:#97afc3;display:block}.score>span b{font-size:13px;color:var(--cyan);font-weight:400;margin-left:12px}.score>strong{display:block;font:37px var(--mono);letter-spacing:-1.5px;margin-top:5px}.top-hud small{display:block;font:7px var(--mono);letter-spacing:1px;color:#708fa7;margin-top:8px}.clock{text-align:center}.clock>strong{display:block;font:46px var(--mono);letter-spacing:-3px;line-height:1.2}.clock small{color:var(--orange)}.integrity{text-align:right}.integrity>div{display:flex;justify-content:flex-end;gap:5px;margin:14px 0}.integrity i{display:block;width:24px;height:7px;background:var(--cyan);transform:skewX(-18deg);box-shadow:0 0 10px #8aedff22}.integrity i.lost{background:#536b803d;box-shadow:none}#speed{color:var(--white);font-size:12px}.bottom-hud{position:absolute;bottom:80px;left:5%;right:5%;display:grid;grid-template-columns:1fr 310px 250px;gap:30px;align-items:end}.altimeter>span{display:block;font:7px var(--mono);letter-spacing:1.2px;color:#92aabe}.altimeter>strong{font-style:italic;font-weight:900;font-size:61px;letter-spacing:-4px;line-height:1.1}.altimeter>small{font:9px var(--mono);letter-spacing:1.5px;margin-left:7px;color:#a7bccb}.altimeter p{font:7px var(--mono);color:#7d9bb2;letter-spacing:1px;margin:7px 0 0}.altimeter p b{font-weight:400;color:var(--orange);margin-left:8px}.power-label{display:flex;justify-content:space-between;gap:10px;font:7px var(--mono);letter-spacing:1px;margin-bottom:8px;color:#95aec5}.power-label b{font-weight:400;color:var(--cyan)}.hook-tools,.dash-tools{pointer-events:auto}.keycap{border:1px solid #7cc7dc55;padding:3px;font:7px var(--mono);color:inherit}#hook{width:100%;min-height:52px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 13px;border:1px solid #8aedff8c;background:#102c3de8;color:var(--cyan);font:10px var(--mono);letter-spacing:1px;touch-action:none;user-select:none;-webkit-user-select:none}#hook.active{background:var(--cyan);color:#09202e;box-shadow:0 0 35px #4bdcff36}#hook .hook-symbol{font-size:29px}.hook-tools>small,.dash-tools>small{display:block;font:6px var(--mono);letter-spacing:.4px;color:#647e99;margin-top:10px}.hook-tools>small b{font-weight:400;padding:0 5px;color:#81c9d9}.energy-track{height:5px;background:#617b912c;overflow:hidden}.energy-track i{height:100%;width:65%;display:block;background:var(--orange)}#dash{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:43px;width:100%;padding:0 13px;margin-top:7px;background:#30282ae0;border:1px solid #f1a77f88;color:var(--orange);font:9px var(--mono);letter-spacing:1px;touch-action:manipulation}#dash>span:last-child{font-size:24px}#dash.ready{color:#241b18;background:var(--orange);border-color:var(--orange)}#dash .keycap{border-color:currentColor}.progress-track{position:absolute;left:5%;right:5%;bottom:60px;height:2px;background:#7392a52b}.progress-track i{height:100%;width:0;display:block;background:var(--cyan)}#notice{position:absolute;top:29%;left:10%;right:10%;text-align:center;font:9px var(--mono);letter-spacing:1.4px;color:var(--cyan);text-shadow:0 2px 10px #000}#anchor-label{position:absolute;left:0;top:0;display:flex;align-items:center;gap:7px;background:#091b27bd;padding:7px 10px;border:1px solid #8aedff59;transform:translate(-50%,-100%);color:var(--cyan);font:8px var(--mono);letter-spacing:.7px;white-space:nowrap}#anchor-label>span{font-size:19px}#anchor-label>b{font-weight:400}#anchor-label>small{color:#b5ccd7;font:7px var(--mono)}#damage-flash{position:absolute;inset:0;z-index:4;pointer-events:none;box-shadow:inset 0 0 130px #ff7541;opacity:0}#damage-flash.hit{animation:impact .4s ease-out}@keyframes impact{from{opacity:.5}to{opacity:0}}.overlay{position:absolute;inset:0;display:grid;justify-items:center;align-items:safe center;overflow:auto;padding:95px 20px 60px;background:#07121dc7;backdrop-filter:blur(8px);z-index:6}.panel{width:100%;max-width:440px;padding:32px;background:#10202dec;border:1px solid #91adc13d;box-shadow:0 20px 80px #0007}h2{font-size:48px;font-weight:900;font-style:italic;letter-spacing:-2px;line-height:.97;margin:25px 0}h2 em{font-style:inherit;color:var(--cyan)}.panel .micro{font-size:8px;color:var(--orange)}.panel p{font-size:12px;line-height:1.8;color:#a0b8c9;margin:22px 0}.panel .primary{max-width:none;margin:22px 0 10px}.secondary{display:block;width:100%;border:1px solid #8cb6c72e;background:none;padding:13px 16px;color:#a6c0d2;font:9px var(--mono);letter-spacing:1px}.panel .secondary{border:0}.panel>small{display:block;font:8px/1.7 var(--mono);color:#789ab2;margin-top:15px}.big-score>span{display:block;font:8px var(--mono);letter-spacing:1.3px;color:#8bacc3}.big-score strong{display:block;font:45px var(--mono);letter-spacing:-1.5px;margin-top:6px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:20px 8px;border-top:1px solid #a1becb26;padding-top:20px;margin-top:20px}.stats span{display:block;font:7px var(--mono);letter-spacing:1px;color:#82a0b8}.stats strong{display:block;font:20px var(--mono);margin-top:7px}#medal{font:10px var(--mono);color:var(--orange);letter-spacing:1px;margin:18px 0}dialog{color:var(--white);background:#10212f;border:1px solid #a5c0d13b;box-shadow:0 20px 120px #000a;width:min(530px,92vw);max-height:85svh;overflow:auto;padding:36px}dialog::backdrop{background:#06121cc9;backdrop-filter:blur(8px)}dialog .micro{font-size:8px;color:var(--orange)}dialog h2{font-size:45px}dialog p{font-size:12px;line-height:1.8;color:#a0bbcd}.close{position:absolute;right:15px;top:11px;border:0;background:none;color:#a6c0d3;font-size:27px}dialog dl{margin:25px 0}dialog dl div{display:grid;grid-template-columns:85px 1fr;gap:14px;margin:18px 0}dt{font:8px var(--mono);color:var(--cyan);padding-top:4px;letter-spacing:.5px}dd{margin:0;font-size:11px;color:#9cbace;line-height:1.65}.fine{font:9px/1.8 var(--mono)!important;color:#779bb7!important}dialog .primary{max-width:none}.slider-row{display:grid;grid-template-columns:60px 1fr 37px;align-items:center;gap:13px;font:9px var(--mono);letter-spacing:1px;margin:26px 0}.slider-row output{color:var(--cyan);text-align:right}input[type=range]{width:100%;accent-color:var(--orange)}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0;border-top:1px solid #829cb62e;font:9px var(--mono);letter-spacing:.7px}input[type=checkbox]{accent-color:var(--cyan);width:18px;height:18px}select{background:#0e1e2b;color:var(--white);border:1px solid #87adc44a;padding:8px;font:10px var(--mono)}#audio-toggle{color:var(--cyan);margin:25px 0 8px}#app[data-state=playing] .prototype{display:none}#app[data-state=loading] #world{opacity:.3}
@media(min-width:800px) and (max-height:810px){#app{min-height:640px}#menu{top:21%}h1{margin:22px 0}h1>span{font-size:76px}h1 strong{font-size:78px}.slogan{font-size:23px;margin:22px 0 14px}.intro{font-size:11px;margin-bottom:20px}.best{margin-top:24px}#menu-status{bottom:70px}.bottom-hud{bottom:80px}}
@media(max-width:780px){#app{min-height:700px}header{left:5%;right:5%;top:20px;gap:10px}.wordmark{gap:7px}.wordmark svg{width:24px;height:29px}.wordmark>span{font-size:18px}.wordmark small{font-size:6px;letter-spacing:2.4px}.prototype{display:none}.tool{padding:0 8px;font-size:7px;min-height:33px}.tool.square{width:30px;font-size:15px}.sound-text{display:none}nav{gap:4px}#menu{top:17%;left:7%;width:86%;max-width:none}h1{margin:25px 0}h1>span{font-size:57px;letter-spacing:-3px}h1 strong{font-size:58px;letter-spacing:-4px}.slogan{font-size:23px;margin-top:22px}.intro{font-size:11px}.primary{max-width:300px}.best{font-size:7px;gap:22px}#courier-label{display:none}#menu-status{left:7%;bottom:68px;gap:15px;font-size:5px}footer{left:5%;right:5%;bottom:17px;font-size:5px;letter-spacing:.6px;padding-top:13px}footer>span:nth-child(2){display:none}.top-hud{top:90px;left:5%;right:5%;gap:5px}.top-hud span{font-size:6px;letter-spacing:.5px}.score>strong{font-size:24px;letter-spacing:-1px}.score>span b{font-size:10px;margin-left:6px}.top-hud small{font-size:5px;letter-spacing:.2px}.clock>strong{font-size:33px;letter-spacing:-2px}.integrity i{width:17px;height:6px}.integrity>div{gap:4px;margin:11px 0}.integrity #speed{font-size:9px}.bottom-hud{left:5%;right:5%;bottom:62px;grid-template-columns:1.4fr 1fr;gap:14px;align-items:end}.altimeter{grid-column:1/3;display:flex;align-items:baseline;gap:8px}.altimeter>strong{font-size:36px;letter-spacing:-2px}.altimeter>span{font-size:6px}.altimeter>small{font-size:7px;margin:0}.altimeter p{font-size:6px;margin-left:auto}.altimeter p b{margin-left:5px}.power-label{font-size:6px;letter-spacing:.3px}#hook{min-height:48px;font-size:8px;letter-spacing:.4px;padding:0 8px;gap:5px}#hook .hook-symbol{font-size:23px}#hook .keycap{display:none}#dash{min-height:41px;font-size:8px;padding:0 9px;letter-spacing:.3px}#dash .keycap{display:none}.hook-tools>small,.dash-tools>small{display:none}.progress-track{bottom:45px}#notice{top:19%;left:5%;right:5%;font-size:7px;letter-spacing:.7px}#anchor-label{font-size:7px;padding:5px 7px}#anchor-label>small{font-size:6px}.panel{padding:27px}h2{font-size:40px}.overlay{padding:85px 20px 50px}.big-score strong{font-size:39px}dialog{padding:30px 24px}dialog h2{font-size:40px}dialog dl div{grid-template-columns:66px 1fr;gap:10px}.slider-row{grid-template-columns:53px 1fr 34px;gap:9px}}
@media(max-height:520px) and (min-width:600px){#app{min-height:0}header{top:12px}.wordmark>span{font-size:18px}.wordmark small{font-size:6px}.wordmark svg{width:24px}.tool{min-height:32px}#menu{top:25%;left:6%;width:330px;max-width:47%}#menu .micro{font-size:6px}#menu .micro>span{font-size:17px}h1{margin:18px 0}h1>span{font-size:50px}h1 strong{font-size:53px}.slogan,.intro,.best,#menu-status,#courier-label{display:none}#menu .primary{min-height:44px;max-width:300px}.gesture{font-size:6px;margin-top:17px}footer{bottom:10px;padding-top:10px;font-size:5px}.top-hud{top:67px}.score>strong{font-size:27px}.clock>strong{font-size:32px}.top-hud span{font-size:6px}.top-hud small{font-size:5px;margin-top:4px}.integrity>div{margin:8px 0}.integrity #speed{font-size:8px}.bottom-hud{bottom:43px;grid-template-columns:1fr 250px 190px;gap:20px}.altimeter>strong{font-size:38px}.altimeter>span,.altimeter p{font-size:5px}#hook{min-height:39px;font-size:8px}#dash{min-height:32px;font-size:8px}.hook-tools>small,.dash-tools>small{display:none}.power-label{font-size:6px;margin-bottom:5px}.progress-track{bottom:31px}#notice{top:35%;font-size:7px}.overlay{padding:70px 20px 25px}.panel{padding:25px}h2{font-size:36px}.panel p{margin:17px 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

/* Exact official corporate wordmark; custom brand asset remains configurable. */
.wordmark #custom-logo{display:block;width:215px;max-width:42vw;height:auto;object-fit:contain}.wordmark>[hidden]{display:none!important}
@media(max-width:760px){.wordmark #custom-logo{width:155px;max-width:40vw}}

/* Course choice and the release cue share the actual clean-transfer rule. */
.courses{display:flex;gap:5px;max-width:340px}.courses button{flex:1;background:#102b3b;border:1px solid #8aedff44;padding:11px 5px;font:8px var(--mono);color:#b8d4df}.courses button[aria-pressed=true]{background:var(--cyan);color:#081c28}#course-note{margin:8px 0 13px;max-width:340px;font-size:8px!important;min-height:28px}#release-cue{position:absolute;top:39%;left:5%;right:5%;text-align:center;font:11px var(--mono);letter-spacing:1px;color:#b1cad7;text-shadow:0 2px 8px #000}#release-cue[data-timing=perfect]{color:var(--lime);font-weight:800}#release-cue[data-timing=late]{color:var(--orange)}
#menu{top:18%}#menu .slogan{margin:17px 0 10px}#menu .intro{margin-bottom:15px}#menu .gesture{margin:14px 0}#menu .best{margin-top:17px}
@media(max-width:780px){#menu{top:15%}#menu h1{margin:19px 0}#menu .slogan{font-size:19px;margin:14px 0 8px}#menu .intro{display:none}#release-cue{top:34%;font-size:8px}.courses{max-width:300px}}
@media(max-height:520px) and (min-width:600px){#menu{top:20%}#menu h1{margin:12px 0}#course-note{font-size:6px!important;min-height:0;margin:5px 0 8px}.courses button{padding:7px 3px;font-size:7px}#menu .gesture{display:none}#release-cue{top:47%;font-size:8px}}
/* Course choices and personal records already carry this information. */
#menu-status{display:none}
