:root{color-scheme:dark;--bg:#081117;--ink:#e8eeea;--muted:#93a5aa;--line:#273840;--cyan:#8ce8e2;--amber:#f1ae68;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}button{border:0}button:disabled{opacity:.5}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.masthead{height:94px;max-width:1440px;margin:auto;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:16px;font-weight:700;letter-spacing:.12em;display:flex;gap:12px;align-items:center}.wordmark small{font-size:10px;font-weight:400;color:var(--muted);letter-spacing:.22em;margin-left:10px}.orbit-mark{font-size:34px;color:var(--amber);font-weight:300}.top-tools{display:flex;gap:22px;align-items:center}.icon-button{width:44px;height:44px;display:grid;place-items:center;background:transparent;font-size:24px;border-radius:3px}.icon-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6}.text-button{background:transparent;padding:12px 2px;font-size:13px;border-bottom:1px solid var(--line)}.layout{max-width:1200px;display:grid;grid-template-columns:minmax(200px,1fr) minmax(300px,480px) minmax(80px,.6fr);gap:56px;margin:10px auto 0;padding:0 45px;align-items:center}.intro{align-self:center}.eyebrow{font-family:monospace;font-size:10px;letter-spacing:.2em;color:var(--amber)}h1{font-size:42px;letter-spacing:.08em;margin:25px 0 4px;font-weight:600;white-space:nowrap}.english-title{font-family:monospace;letter-spacing:.42em;font-size:13px;color:var(--muted);margin:0}.intro-copy{font-size:25px;line-height:1.9;letter-spacing:.12em;margin:45px 0 25px}.small-copy{font-size:12px;color:var(--muted);line-height:2}.route-diagram{display:flex;align-items:center;height:25px;width:150px;gap:10px;color:var(--cyan)}.route-diagram span{height:1px;background:var(--line);flex:1}.route-diagram i{width:6px;height:6px;border:1px solid var(--cyan);transform:rotate(45deg)}.route-diagram b{font-family:monospace;font-size:9px;font-weight:400}.desktop-controls{margin-top:38px;font-size:11px;color:var(--muted);display:grid;gap:12px}.desktop-controls>div{display:flex;align-items:center;gap:3px}.desktop-controls span{margin-left:12px}kbd{font:10px monospace;border:1px solid #3a4c54;padding:4px;min-width:20px;text-align:center;color:#c8d6d7}.lab-link{display:flex;justify-content:space-between;width:190px;background:none;border-top:1px solid var(--line);padding:18px 0;margin-top:32px;text-align:left;font-size:12px}.lab-link span{color:var(--amber)}.game-shell{width:100%;aspect-ratio:480/760;position:relative;overflow:hidden;isolation:isolate;box-shadow:0 20px 80px #0007;border:1px solid #344449;background:#08121b;touch-action:none;-webkit-user-select:none;user-select:none}#game{position:absolute;top:0;right:0;bottom:0;left:0}#game canvas{display:block;width:100%!important;height:100%!important}.hud{position:absolute;top:24px;left:24px;right:19px;display:flex;justify-content:space-between;pointer-events:none}.hud-score{display:grid;gap:4px}.hud-score>span{font:9px monospace;letter-spacing:.18em;color:#a7c3c6}.hud-score strong{font:24px monospace;letter-spacing:.1em}.hud-right{display:flex;gap:14px;align-items:flex-start}.hud-right>span{font:20px monospace;padding-top:9px}.hud button{pointer-events:auto}.health{position:absolute;left:0;top:55px;display:flex;gap:5px}.health i{height:4px;width:17px;background:var(--cyan)}.health i.empty{background:#546169}.boss-hud{position:absolute;left:24px;right:24px;top:103px}.boss-hud span{font-size:9px;letter-spacing:.13em;color:#f8bf80}.boss-hud>div{height:3px;margin-top:7px;background:#6f453955}.boss-hud i{height:100%;display:block;background:var(--amber)}.screen{position:absolute;top:0;right:0;bottom:0;left:0;padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#061018a8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:5}.start-screen{background:linear-gradient(180deg,#09141c05 15%,#08131b30 45%,#08131be8);-webkit-backdrop-filter:none;backdrop-filter:none;justify-content:space-between;align-items:stretch;padding:31% 9% 13%;text-align:left}.start-top h2{font-size:27px;line-height:1.7;letter-spacing:.04em;font-weight:500;margin-top:18px;text-shadow:0 2px 18px #000}.start-bottom p{font-size:12px;color:#bdcbcf}.primary{width:100%;padding:17px 22px;background:var(--cyan);color:#10282c;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:15px;letter-spacing:.08em;min-height:54px}.primary:hover{background:#b7fff5}.primary span{font-size:20px;font-weight:400}.start-bottom .sound-note{font-size:10px;color:var(--muted);margin-top:14px}.pause-screen h2,.result-screen h2{font-size:30px;font-weight:500;margin:18px 0 35px}.pause-screen .primary,.result-screen .primary{max-width:290px}.pause-screen .text-button,.result-screen .text-button{margin-top:20px}.result-number{font:44px monospace;color:var(--cyan)}.result-screen p{font-size:12px;color:var(--muted);margin-bottom:35px}.bottom-hud{position:absolute;bottom:55px;left:24px;right:20px;display:flex;justify-content:space-between;align-items:flex-end;gap:15px;pointer-events:none}.charge-state{width:130px;padding-bottom:8px}.charge-state span{font-size:10px;letter-spacing:.08em;color:#c3d6d7}.charge-track{height:3px;background:#66888c55;margin-top:12px}.charge-track i{display:block;background:var(--cyan);height:100%;width:0}#charge{pointer-events:auto;width:72px;height:77px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #a7d9dba6;background:#0e2a30d9;border-radius:50%;touch-action:none;color:var(--cyan);gap:0}#charge svg{width:32px;height:32px;fill:currentColor}#charge span{font:8px monospace;letter-spacing:.1em}#charge.is-ready{background:#8ce8e2;color:#153439;box-shadow:0 0 24px #8ce8e244}.game-footer{position:absolute;bottom:15px;left:24px;right:24px;display:flex;justify-content:space-between;font:8px monospace;letter-spacing:.12em;color:#9eb5bb}.wave-label{position:absolute;top:30%;width:100%;text-align:center;font-size:13px;letter-spacing:.22em;color:var(--amber);pointer-events:none}.right-note{height:550px;display:flex;align-items:flex-start;justify-content:space-between;flex-direction:column}.vertical-label{writing-mode:vertical-rl;font:10px monospace;letter-spacing:.28em;color:var(--muted)}.signal-bars{display:flex;gap:3px;height:38px;align-items:center}.signal-bars i{width:2px;background:#809c9c;height:12px}.signal-bars i:nth-child(2n){height:25px}.signal-bars i:nth-child(3n){height:36px}.side-index{font:10px monospace;color:var(--amber);letter-spacing:.2em}.page-footer{max-width:1200px;margin:34px auto;padding:0 45px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:.04em}.page-footer>span:last-child{font-family:monospace;font-size:9px}dialog{width:min(540px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #43585f;background:#101e25;color:var(--ink);padding:28px;border-radius:4px;box-shadow:0 20px 90px #0008}dialog::backdrop{background:#02070bba;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lab-head{display:flex;justify-content:space-between;align-items:flex-start}.lab-head h2{font-size:25px;font-weight:500;margin:10px 0 18px}.lab-description{font-size:12px;line-height:1.8;color:#b4c6c8;margin:0 0 24px}.mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #45595e}.mode-switch button{background:transparent;padding:13px 7px;font-size:14px}.mode-switch small{display:block;font-size:10px;margin-top:5px;color:#a5bec1}.mode-switch button[aria-pressed=true]{background:#24444b;box-shadow:inset 0 -2px var(--cyan)}.volume-row{display:flex;align-items:center;gap:16px;font-size:12px;margin:25px 0}.volume-row input{flex:1;min-width:40px;accent-color:var(--cyan)}.volume-row output{font:11px monospace;width:35px}.lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sample-button{min-height:70px;text-align:left;padding:13px 12px;background:#192f37;border:1px solid #35505a}.sample-button span{font-size:12px}.sample-button small{display:block;color:var(--muted);font-size:9px;margin-top:7px;letter-spacing:.1em;font-family:monospace}.sample-button:hover{border-color:var(--cyan)}.lab-actions{display:flex;gap:24px;justify-content:space-between;margin:15px 0 25px}details{border-top:1px solid #36505a;padding-top:18px;font-size:12px}summary{cursor:pointer}details p{font-size:11px;line-height:1.9;color:#a5bec1}.raw-samples{display:flex;gap:8px;flex-wrap:wrap}.raw-samples button{background:#20363e;font-size:11px;padding:12px 9px}.audio-status{color:#a8c8cb;font-size:10px;line-height:1.7;margin-top:25px;margin-bottom:0}@media(min-height:950px)and (min-width:900px){.masthead{height:110px}.layout{margin-top:24px}}@media(max-width:1100px){.layout{gap:30px;padding:0 35px;grid-template-columns:minmax(190px,1fr) minmax(300px,450px) 40px}.intro h1{font-size:34px}}@media(max-width:800px){.masthead{height:66px;padding:0 20px}.wordmark{font-size:13px;gap:8px}.wordmark small{display:none}.orbit-mark{font-size:26px}.top-tools{gap:14px}.layout{display:block;padding:0 16px;margin-top:0}.intro,.right-note{display:none}.game-shell{max-width:480px;margin:auto;width:min(100%,calc((100dvh - 110px)*.63158))}.page-footer{max-width:480px;margin:14px auto;padding:0 16px;font-size:9px}.page-footer>span:last-child{display:none}.hud{top:19px;left:19px}.hud-score strong{font-size:21px}.bottom-hud{bottom:44px;left:19px;right:16px}.charge-state{width:120px}#charge{width:64px;height:69px}.game-footer{bottom:13px;left:19px;right:19px;font-size:7px}.start-top h2{font-size:23px}.start-screen{padding-top:33%}.health i{width:14px}.boss-hud{top:93px}.charge-state span{font-size:9px}}@media(max-height:500px)and (orientation:landscape){.masthead{height:50px}.layout{display:grid;grid-template-columns:1fr 270px 1fr;gap:20px}.intro{display:block}.intro h1{font-size:24px}.intro .intro-copy,.intro .route-diagram,.intro .small-copy,.intro .desktop-controls,.intro .lab-link{display:none}.game-shell{width:auto;height:calc(100dvh - 65px)}.page-footer{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.game-shell[data-phase=title] .bottom-hud,.game-shell[data-phase=title] .game-footer{visibility:hidden}.volume-row{gap:10px}#lab-mute{min-width:44px;min-height:36px;padding:0 4px;background:#20363e;font-size:10px;border:1px solid #48626a}#lab-mute[aria-pressed=true]{border-color:var(--amber);color:var(--amber)}.play-column{min-width:0;width:100%}.live-sound-switch{display:flex;align-items:center;justify-content:space-between;gap:3px;border-bottom:1px solid var(--line);padding:10px 0 0;font-size:11px}.live-sound-switch>span{font-size:10px;color:var(--muted);margin-right:6px}.live-sound-switch button{background:none;padding:12px 8px;border-bottom:2px solid transparent;min-height:44px;white-space:nowrap}.live-sound-switch button[aria-pressed=true]{color:var(--cyan);border-color:var(--cyan)}.mission-goal{font-size:12px;color:#bed6d7}.start-instructions{margin-bottom:22px}.start-instructions p{line-height:1.7;margin:6px 0}.start-instructions b{color:var(--cyan);font-size:18px;margin-right:6px}.demo-indicator{position:absolute;top:82px;right:24px;padding:6px 10px;border:1px solid #9db2b8;background:#0b1c22;font-size:10px;color:#cde6e7}.game-shell[data-demo=true] #charge{opacity:.3;pointer-events:none}.result-screen{padding:24px 32px;overflow:auto}.result-screen h2{font-size:24px;margin:5px 0 15px}.result-rank{font:64px monospace;color:var(--amber);line-height:1.2}.result-number{font-size:35px}.result-screen>p{margin:10px 0 16px}.result-stats{width:100%;max-width:330px;display:flex;justify-content:space-around;gap:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.result-stats div{text-align:center}.result-stats strong{display:block;font:20px monospace}.result-stats small{display:block;font-size:9px;margin-top:7px;color:var(--muted)}.result-screen .result-tip{max-width:290px;font-size:11px;line-height:1.8;text-align:left;color:#b6ced0;margin:16px 0 20px}.page-footer{gap:16px;flex-wrap:wrap;line-height:1.8}.page-footer a{font-size:10px;text-decoration:underline;text-underline-offset:3px}.page-footer>span{flex:1;min-width:170px}dialog{width:min(650px,calc(100vw - 24px));padding:24px}.lab-description{margin-bottom:16px}.lab-top{position:sticky;top:-24px;background:#101e25;z-index:1;padding-top:8px}.mode-switch button{font-size:12px;min-height:64px;padding:10px 4px}.mode-switch small{font-size:9px;line-height:1.5}.volume-row{margin:18px 0;gap:12px}.volume-row button{min-height:38px;min-width:44px;background:#20363e;font-size:10px}.audition-monitor{display:flex;gap:14px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 0 12px}.audition-monitor span{font-size:11px;color:var(--cyan);min-width:0}.audition-monitor canvas{width:40%;max-width:240px;height:32px}.lab-grid{display:block}.sample-row{border-top:1px solid var(--line);padding:16px 0}.sample-heading{display:grid;grid-template-columns:1fr auto;gap:5px;align-items:center;margin-bottom:12px}.sample-heading strong{font-size:13px;font-weight:500}.sample-heading small{font-size:10px;color:var(--muted);grid-column:1}.sample-heading .compare-one{grid-column:2;grid-row:1/3;background:none;border:1px solid #4b626a;padding:9px 12px;min-height:40px;font-size:11px}.sample-variants{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sample-variants button{background:#192f37;border:1px solid #35505a;min-height:44px;font-size:11px;padding:8px 3px;white-space:nowrap}.sample-variants button:hover,.sample-variants button.is-playing{border-color:var(--cyan);background:#26494f;color:#c8fff8}.lab-actions{gap:10px;flex-wrap:wrap;margin:8px 0 18px}.lab-actions button{min-height:44px;font-size:11px}details a{color:var(--cyan);text-decoration:underline}#leave-demo{display:block;margin:10px auto;min-height:44px}#leave-demo[hidden]{display:none}.live-sound-switch button:focus-visible{outline-offset:1px}@media(max-width:800px){.play-column{max-width:480px;margin:auto;width:min(100%,calc((100dvh - 180px)*.63158))}.game-shell{width:100%;max-width:none}.layout{padding:0 12px}.live-sound-switch{font-size:10px;padding-top:4px}.live-sound-switch button{padding:8px 5px;min-height:38px}.start-instructions{margin-bottom:16px}.start-instructions p{font-size:10px}.page-footer{margin-top:12px;font-size:9px;gap:5px 14px}.page-footer a{font-size:9px}.page-footer>span{flex-basis:100%}.result-rank{font-size:44px}.result-screen{padding:18px 24px}.result-screen h2{font-size:21px;margin:2px 0 10px}.result-number{font-size:27px}.result-stats{padding:10px 0}.result-screen .result-tip{margin:10px 0;line-height:1.7}.result-screen .primary{padding:12px 18px;min-height:44px;font-size:13px}.result-screen .text-button{margin-top:8px}.demo-indicator{top:72px;right:18px;font-size:8px}.charge-state{width:100px}.start-top h2{margin:10px 0;font-size:21px}.mission-goal{font-size:10px}.start-screen{padding-top:27%}}@media(max-width:380px){dialog{padding:18px}.lab-top{top:-18px}.lab-head h2{font-size:22px}.mode-switch button{font-size:10px}.mode-switch small{font-size:8px}.lab-description{font-size:11px}.sample-variants{gap:5px}.sample-variants button{font-size:10px}.volume-row{gap:8px}.lab-actions button{font-size:10px}.lab-actions{gap:8px}.start-screen{padding:24% 8% 11%}.start-instructions p{font-size:9px}.start-top h2{font-size:18px}.start-bottom .primary{padding:12px 14px;font-size:12px;min-height:44px}.start-instructions{margin-bottom:10px}.health i{width:12px}}@media(max-height:500px)and (orientation:landscape){.layout{grid-template-columns:1fr 230px 1fr}.play-column{height:auto;width:230px}.game-shell{width:190px;height:auto;margin:auto}.live-sound-switch{font-size:8px}.live-sound-switch button{min-height:32px;padding:5px}.start-instructions{display:none}.start-top h2{font-size:16px}.start-bottom .sound-note{display:none}.start-screen{padding:25% 9% 11%}.start-bottom .primary{font-size:10px;min-height:35px;padding:5px 10px}.result-rank{font-size:28px}.result-screen h2{font-size:17px}.result-number{font-size:24px}.result-stats,.result-screen .result-tip{display:none}.result-screen>p{font-size:9px;margin:6px}.result-screen .primary{min-height:35px;padding:6px}.bottom-hud .charge-state{display:none}}@media(min-width:801px)and (min-height:501px){.play-column{max-width:min(480px,calc((100dvh - 210px)*.63158));justify-self:center}.right-note{height:min(550px,calc(100dvh - 250px))}.start-top h2{font-size:clamp(21px,2vw,27px)}.start-instructions p{font-size:11px}}.sample-variants button,.compare-one{scroll-margin-top:210px;scroll-margin-bottom:30px}@media(max-height:500px)and (orientation:landscape){.masthead{height:50px}.layout{margin:0 auto;align-items:start;padding:0 20px}.right-note{display:none}.play-column{width:230px;max-width:none}.game-shell{height:calc(100dvh - 100px);width:auto;aspect-ratio:480/760;margin:auto;max-width:100%}.intro{align-self:center}.intro h1{font-size:24px}.hud{left:10px;right:8px;top:10px}.hud-score strong{font-size:16px}.hud-score>span{font-size:7px}.hud-right{gap:6px}.hud-right>span{font-size:14px;padding-top:8px}.hud .icon-button{width:28px;height:32px;font-size:18px}.health{top:34px;gap:4px}.health i{width:10px;height:3px}.bottom-hud{bottom:30px;left:10px;right:10px}#charge{width:48px;height:50px}#charge svg{width:25px;height:25px}#charge span{font-size:6px}.boss-hud{top:64px;left:12px;right:12px}.game-footer{left:10px;right:10px;bottom:10px;font-size:6px}.wave-label{font-size:9px}.demo-indicator{top:55px;right:10px;font-size:7px}.start-top h2{margin:3px 0}.mission-goal{font-size:8px}.result-screen{padding:10px}.result-screen .text-button{font-size:10px;padding:6px}}
