:root{font-family:Inter,"Helvetica Neue","PingFang TC","Microsoft JhengHei",sans-serif;color:#eafaff;background:#050b16;font-synthesis:none;--cyan:#84ffe5;--muted:#91a9b7;--pink:#ff6eac}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}[hidden]{display:none!important}#world{position:fixed;width:100%;height:100%;inset:0;touch-action:none;display:block}#vignette{position:fixed;inset:0;background:linear-gradient(90deg,rgba(3,12,23,.92),rgba(3,12,23,.53) 35%,transparent 70%),linear-gradient(0deg,rgba(3,12,23,.7),transparent 25%);pointer-events:none;transition:opacity .5s}body.playing #vignette{opacity:.25}#damage{position:fixed;inset:0;box-shadow:inset 0 0 120px 35px #ff174a;opacity:0;pointer-events:none;z-index:3}header{position:fixed;z-index:5;top:0;left:0;right:0;padding:28px 4%;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.brand{color:white;text-decoration:none;font-size:22px;letter-spacing:2px;font-weight:800;display:flex;align-items:center;gap:10px;pointer-events:auto}.brand-symbol{font-size:35px;line-height:1;color:var(--cyan)}.brand-small{font-size:9px;font-weight:500;letter-spacing:2px;border-left:1px solid #66808a;padding-left:12px;width:85px;line-height:1.5}.header-right{display:flex;align-items:center;gap:20px}.live{font-size:9px;letter-spacing:2px;color:#c4dcdf}.live i{display:inline-block;width:5px;height:5px;background:var(--cyan);box-shadow:0 0 10px var(--cyan);border-radius:50%;margin-right:8px}header button{pointer-events:auto;border:1px solid #62798c66;background:#06132288;color:#cadce5;padding:9px 12px;font-size:10px;letter-spacing:1px;border-radius:3px}.panel{position:fixed;z-index:2;left:7%;top:23%;max-width:650px}.eyebrow{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:2px;color:var(--cyan)}.line{height:1px;width:40px;background:#638c87}h1{font-size:clamp(44px,5.5vw,84px);font-weight:800;letter-spacing:-3px;line-height:1.2;margin:26px 0 12px}h1 em{color:var(--cyan);font-style:normal}.english{font-size:12px;letter-spacing:5px;color:#c7dde0;margin:0 0 28px}.intro{color:#a7bdca;line-height:1.9;font-size:14px}.menu-actions{display:flex;gap:14px;margin-top:30px}.primary,.secondary{padding:16px 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:40px;border-radius:2px;font-size:13px;letter-spacing:1px;font-weight:600}.primary{background:var(--cyan);color:#042527;border:1px solid var(--cyan);box-shadow:0 0 28px #81ffe516;transition:background .2s,box-shadow .2s}.primary:hover{background:#caffed;box-shadow:0 0 32px #81ffe54f}.secondary{background:#0a1c2b77;color:#d5e4e9;border:1px solid #728b974d}.secondary:hover{border-color:#84ffe5aa}.primary span,.secondary span{font-size:23px;line-height:1}.mission-meta{display:flex;gap:32px;margin-top:37px;color:#90a5b5;font-size:10px;letter-spacing:1px}.mission-meta span{display:flex;align-items:center;gap:10px}.mission-meta b{font-size:21px;font-weight:400;color:#cde4e8}.menu-foot{color:#6d879a;font-size:10px;margin-top:27px;letter-spacing:1px}#scene-caption{position:fixed;right:5%;bottom:8%;display:flex;flex-direction:column;gap:10px;text-align:right}#scene-caption>span{font-size:9px;letter-spacing:5px;color:var(--cyan)}#scene-caption b{font-weight:500;font-size:20px;letter-spacing:3px}#scene-caption small{font-size:8px;letter-spacing:2px;color:#a9b3c5}#hud{position:fixed;inset:0;pointer-events:none}body.playing header{padding:20px 3%}body.playing .brand-small,body.playing .live{display:none}.objectives{position:absolute;top:90px;left:3%;max-width:240px}.objectives>b{display:block;font-size:17px;font-weight:500;margin-top:8px}#locks{display:flex;gap:8px;margin-top:14px}#locks span{border:1px solid #55728c;background:#08142188;min-width:53px;padding:8px 12px;font-size:11px;color:#bdd4dc}#locks span.done{color:#84ffe5;border-color:#84ffe5;background:#84ffe517}.score{position:absolute;top:90px;right:3%;display:flex;flex-direction:column;text-align:right;gap:5px}.score small{font-size:8px;letter-spacing:2px;color:#97adb8}.score strong{font-size:32px;font-weight:500;letter-spacing:2px;font-variant-numeric:tabular-nums}.score>span{font-size:11px;letter-spacing:2px;color:var(--cyan)}#reticle{position:absolute;top:50%;left:50%;width:28px;height:28px;transform:translate(-50%,-50%);color:#bfffee;filter:drop-shadow(0 0 3px #001b2c)}#reticle i{position:absolute;background:currentColor}#reticle i:nth-child(1){width:7px;height:1px;top:14px;left:0}#reticle i:nth-child(2){width:7px;height:1px;top:14px;right:0}#reticle i:nth-child(3){height:7px;width:1px;left:14px;top:0}#reticle i:nth-child(4){height:7px;width:1px;left:14px;bottom:0}#reticle b{position:absolute;left:13px;top:13px;width:3px;height:3px;border-radius:50%;background:currentColor}#reticle.enemy{color:#ff9caf;transform:translate(-50%,-50%) rotate(45deg)}#aim-label{position:absolute;top:calc(50% + 28px);left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:2px;color:#cae9e8;text-shadow:0 2px 4px #000;white-space:nowrap}#notice{position:absolute;top:28%;width:100%;text-align:center;font-size:15px;letter-spacing:2px;text-shadow:0 2px 10px #000;color:#b6fff0;transition:opacity .3s}#secret{position:absolute;top:34%;width:100%;text-align:center;color:#ffd59a;font-size:27px;letter-spacing:5px;text-shadow:0 0 22px #ff8950;transition:opacity .5s}#bottom-left{position:absolute;bottom:83px;left:3%;width:180px}.vital{display:grid;grid-template-columns:1fr 40px;gap:5px;font-size:9px;letter-spacing:2px;margin-bottom:11px}.vital b{text-align:right;font-weight:500}.vital>div{grid-column:1/3;height:3px;background:#7396b23b}.vital i{height:100%;display:block;background:#a2ffe5;width:100%}.energy i{background:#7f99bb}.energy{color:#95aac2}#gravity{font-size:10px;letter-spacing:2px;color:#c1dddf;display:block;margin-top:17px}#kinetic{position:absolute;bottom:74px;left:50%;transform:translateX(-50%);width:230px}#kinetic>span{font-size:8px;letter-spacing:3px;color:#8fb3be}#kinetic>div:not(.meter){display:flex;gap:10px;align-items:baseline}#speed{font-size:46px;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:-2px}#kinetic small{font-size:9px;color:#adc6d0}#power{margin-left:auto;font-size:12px;font-weight:500;color:var(--cyan)}.meter{height:3px;background:#7c98a83a}.meter i{display:block;height:100%;background:#84ffe5;box-shadow:0 0 8px #84ffe5}#kinetic p{font-size:8px;color:#7297ab;letter-spacing:1px;margin:8px 0 0}#bottom-right{position:absolute;right:3%;bottom:86px;text-align:right}#bottom-right>span{font-size:8px;letter-spacing:2px;color:#8fb3be}#charges{display:flex;gap:11px;justify-content:flex-end;margin:13px 0 18px}#charges i{width:25px;height:25px;border:1px solid #84ffe577;border-radius:50%;background:radial-gradient(circle,#d8ffef 5%,#6afade 15%,#28acbf77 36%,#043334aa 65%);box-shadow:0 0 14px #55ffd22f;transition:opacity .15s}#charges i.empty{background:#14243555;box-shadow:none;border-color:#537487;opacity:.4}#bottom-right small{font-size:10px;color:#afcbd0}kbd{font:inherit;font-size:9px;padding:4px 5px;border:1px solid #829fb74a;border-radius:3px;color:#d2e7ef;background:#08131e66;white-space:nowrap}#keybar{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:20px;white-space:nowrap;font-size:9px;color:#91acbb}#tutorial{position:absolute;left:50%;bottom:220px;transform:translateX(-50%);text-align:center;font-size:12px;line-height:1.8;color:#d2e7eb;text-shadow:0 1px 8px #000;width:min(460px,80%)}#target-marker{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%);color:#ffcda2;text-shadow:0 0 8px #c86330}#target-marker span{font-size:35px;font-weight:200}#target-marker small{font-size:9px;white-space:nowrap}#boss{position:absolute;top:40px;left:50%;transform:translateX(-50%);width:30%;text-align:center}#boss>span{font-size:9px;letter-spacing:3px;color:#ffd4df}#boss>div{height:4px;background:#392938;margin-top:10px}#boss i{display:block;height:100%;background:#ff719b;box-shadow:0 0 10px #ff418c}.overlay{position:fixed;inset:0;background:#030d1dba;backdrop-filter:blur(16px);z-index:8;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}.dialog{max-width:620px;width:100%;padding:40px;background:linear-gradient(130deg,#112433e8,#091521f2);border:1px solid #466d7e66;box-shadow:0 20px 100px #0007}.dialog h2{font-size:32px;letter-spacing:-1px;margin:18px 0}.dialog p{font-size:13px;line-height:1.8;color:#9eb5c6}.instructions{display:grid;gap:12px;margin:23px 0}.instructions>div{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:15px;font-size:11px;line-height:1.7;color:#b4c8d5}.instructions kbd{text-align:center;padding:6px}.tip{padding:16px;background:#84ffe507;border-left:2px solid #84ffe5;font-size:11px;line-height:1.9;color:#a8c6ca;margin-bottom:24px}.tip b{color:#b8ffed;margin-right:10px}.compact{max-width:450px}.dialog .secondary{margin-top:12px}.result-top{display:flex;align-items:center;justify-content:space-between}.result-top strong{font-size:90px;line-height:1;color:#a6ffe6;text-shadow:0 0 40px #6dffc054;font-style:italic;font-weight:400}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0}.result-stats div{border-top:1px solid #61809055;padding-top:15px;display:flex;flex-direction:column;gap:9px}.result-stats span{font-size:9px;letter-spacing:1px;color:#a4bbca}.result-stats b{font-weight:400;font-size:23px}.result-secret{font-size:11px;color:#bde7de;line-height:1.8;margin-bottom:25px}#mobile-controls{position:fixed;inset:0;pointer-events:none;z-index:4}#stick{position:absolute;width:110px;height:110px;left:22px;bottom:95px;border:1px solid #a1eed44a;border-radius:50%;background:#132d3540;pointer-events:auto;touch-action:none}#stick i{display:block;position:absolute;width:44px;height:44px;top:32px;left:32px;border-radius:50%;border:1px solid #b0ffee66;background:#aaffdd22}.touch-actions{position:absolute;right:20px;bottom:85px;display:grid;grid-template-columns:repeat(2,53px);gap:13px;pointer-events:auto}.touch-actions button{width:53px;height:53px;border-radius:50%;background:#102b3788;border:1px solid #b2ffe680;color:#beffe7;touch-action:none;font-size:12px}.touch-actions button:last-child{background:#80ffccbb;color:#07291f}#fatal{position:fixed;inset:0;background:#08111e;display:grid;place-content:center;padding:40px;z-index:99;line-height:2}body.touch #keybar{display:none}
@media(max-width:700px){header{padding:20px}.header-right{gap:8px}.live{display:none}.panel{left:7%;top:21%;right:7%}.eyebrow{font-size:7px;gap:7px;letter-spacing:1px}.line{width:20px}h1{font-size:48px;letter-spacing:-2px}.english{font-size:9px;letter-spacing:3px}.intro{font-size:12px}.mission-meta{gap:18px;margin-top:28px}.mission-meta span{font-size:9px;gap:7px}.mission-meta b{font-size:19px}.primary,.secondary{padding:14px 17px;gap:23px}.menu-actions{gap:8px}#scene-caption{bottom:30px;right:7%}#scene-caption b{font-size:14px}#scene-caption small{font-size:7px}.objectives{top:77px;left:20px}.objectives>b{font-size:13px}.score{top:78px;right:20px}.score strong{font-size:23px}.score small{font-size:6px}.score>span{font-size:8px}#locks{gap:5px}#locks span{min-width:30px;padding:6px 9px;font-size:9px}#bottom-left{bottom:24px;left:20px;width:105px}#gravity{font-size:7px;letter-spacing:.5px;margin-top:9px}.vital{font-size:7px;gap:3px;margin-bottom:8px}#bottom-right{bottom:25px;right:20px}#bottom-right>span{font-size:6px;letter-spacing:1px}#charges{margin:7px 0 0;gap:8px}#charges i{width:20px;height:20px}#bottom-right small{display:none}#kinetic{width:105px;bottom:25px}#kinetic>span{font-size:6px;letter-spacing:1px}#speed{font-size:30px}#kinetic>div:not(.meter){gap:5px}#kinetic small{font-size:6px}#power{font-size:7px}#kinetic p{display:none}#tutorial{bottom:225px;font-size:10px;width:78%}#notice{top:25%;font-size:11px;letter-spacing:1px;padding:0 20px}#secret{font-size:18px;letter-spacing:2px}#boss{top:156px;width:55%}.dialog{padding:25px}.dialog h2{font-size:25px}.instructions>div{grid-template-columns:85px 1fr;gap:10px;font-size:10px}.tip{font-size:10px}.result-stats{gap:12px}.result-stats b{font-size:19px}.result-top strong{font-size:65px}.overlay{padding:16px}.dialog p{font-size:12px}}
@media(max-height:650px) and (min-width:701px){.panel{top:20%}h1{font-size:50px;margin-top:18px}.english{margin-bottom:15px}.intro{font-size:12px}.mission-meta{margin-top:20px}.menu-actions{margin-top:20px}.menu-foot{margin-top:15px}.dialog{max-height:90vh;overflow:auto}.objectives,.score{top:70px}#tutorial{bottom:185px}}

#status-screen{position:fixed;inset:0;pointer-events:none;z-index:3;transition:box-shadow .2s}#status-screen.stunned{box-shadow:inset 0 0 150px 35px #f3c03d66;background:repeating-linear-gradient(0deg,transparent 0px,transparent 5px,#e4c46c0a 6px,#e4c46c0a 7px)}#status-screen.slowed{box-shadow:inset 0 0 130px 25px #9e5aff55;border:2px solid #ba8aff44}#status-badges{position:absolute;top:20%;left:50%;transform:translateX(-50%);display:flex;gap:9px;white-space:nowrap}#status-badges b{font-size:11px;font-weight:500;letter-spacing:1px;padding:9px 14px;background:#211c0ed9;border:1px solid #ffe39b99;color:#ffe39b;box-shadow:0 0 25px #ffd24022}#status-badges .slowed{background:#1d142ddd;border-color:#cba4ff99;color:#d5b6ff}@media(max-width:700px){#status-badges{top:20%;flex-direction:column}#status-badges b{font-size:9px;padding:7px}}

.attack-guide{display:flex;flex-wrap:wrap;gap:10px;font-size:10px;line-height:1.8;margin:20px 0}.attack-guide>b{width:100%;color:#d7e7ec;font-weight:500}.attack-guide .red{color:#ff97ac}.attack-guide .gold{color:#ffda7a}.attack-guide .purple{color:#c5a0ff}.attack-guide small{color:#9bafc4;font-size:10px}.overlay .dialog{max-height:92vh;overflow:auto}

.menu-actions{flex-wrap:wrap}.menu-actions .secondary{gap:16px}.text-button{border:0;background:none;color:#a7c6ce;font-size:11px;padding:12px 0;cursor:pointer}.text-button:hover{color:var(--cyan)}#coach{position:fixed;z-index:5;top:215px;left:3%;width:310px;padding:20px;background:linear-gradient(120deg,#102c38f5,#081923f5);border:1px solid #84ffe566;box-shadow:0 12px 40px #0005}.coach-top{display:flex;justify-content:space-between;font-size:9px;color:#a4c7ca;letter-spacing:1px}.coach-track{height:2px;background:#84ffe522;margin:13px 0 18px}.coach-track i{height:100%;display:block;background:#84ffe5;transition:width .3s}#coach h2{font-size:22px;margin:0 0 12px;letter-spacing:-.5px}#lesson-key{display:inline-block;color:#84ffe5;background:#84ffe510;border:1px solid #84ffe53a;padding:7px 10px;font-size:12px;font-weight:500}#coach p{font-size:12px;line-height:1.9;color:#b1c6d1;margin:13px 0}#lesson-goal{font-size:11px;color:#e0f6e9;border-top:1px solid #789f9e44;padding-top:12px}.coach-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.coach-actions button{border:1px solid #84ffe544;background:#16323b;color:#bcebdc;font-size:9px;padding:7px 9px}#demo-effect{background:#84ffe5!important;color:#06241f!important}body.training #tutorial,body.training #keybar{display:none}body.training #coach.done-step{border-color:#d2ffc0;box-shadow:0 0 30px #84ffe533}body.training #notice{top:15%;left:30%;width:60%}@media(max-height:750px) and (min-width:701px){#coach{top:185px;padding:15px;width:290px}#coach p{font-size:11px;margin:9px 0}.coach-track{margin:9px 0 12px}#coach h2{font-size:20px}.coach-actions{margin-top:9px}}@media(max-width:700px){#coach{top:164px;left:16px;width:calc(100% - 32px);padding:12px 15px}#coach h2{font-size:18px;margin-bottom:7px}.coach-track{margin:8px 0 10px}#coach p{font-size:10px;line-height:1.65;margin:8px 0}#lesson-key{font-size:10px;padding:5px 8px}#lesson-goal{font-size:10px;padding-top:7px}.coach-actions{margin-top:8px}body.training #notice{top:auto;bottom:225px;left:5%;width:90%;font-size:10px}.menu-actions{gap:8px}.menu-actions .secondary{padding:12px;gap:10px;font-size:11px}.mission-meta{margin-top:15px}}

body.training .score{display:none}
