@font-face{font-family:Orbitron;font-style:normal;font-weight:600 900;font-display:swap;src:url(/fonts/orbitron-latin.woff2) format("woff2")}@font-face{font-family:Rajdhani;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rajdhani-500-latin.woff2) format("woff2")}@font-face{font-family:Rajdhani;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rajdhani-600-latin.woff2) format("woff2")}@font-face{font-family:Rajdhani;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rajdhani-700-latin.woff2) format("woff2")}:root{--void: #030614;--deep: #070d22;--surface: rgba(9, 17, 38, .74);--surface-2: rgba(14, 26, 54, .86);--line: rgba(84, 180, 255, .3);--cyan: #37e6ff;--blue: #2f7bff;--magenta: #ff3df0;--amber: #ffb545;--acid: #9dff3d;--red: #ff4d5e;--green: #3dffb0;--text: #e9f4ff;--muted: #90a8ca;--display: "Orbitron", "Rajdhani", "PingFang SC", "Microsoft YaHei", monospace;--ui: "Rajdhani", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", system-ui, sans-serif;--mono: "Orbitron", "SF Mono", Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;overflow:hidden;background:var(--void);color:var(--text);font-family:var(--ui);overscroll-behavior:none}#app{position:fixed;inset:0}#scene{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}#vignette{position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(ellipse at 50% 42%,transparent 46%,rgba(2,4,14,.55) 100%)}#scanlines{position:absolute;inset:0;pointer-events:none;z-index:3;opacity:.12;mix-blend-mode:overlay;background:repeating-linear-gradient(0deg,rgba(120,220,255,.1) 0 1px,transparent 1px 3px)}.hidden{display:none!important}.corner{position:absolute;width:14px;height:14px;pointer-events:none;opacity:.9}.corner.tl{top:-1px;left:-1px;border-top:2px solid var(--cyan);border-left:2px solid var(--cyan)}.corner.tr{top:-1px;right:-1px;border-top:2px solid var(--cyan);border-right:2px solid var(--cyan)}.corner.bl{bottom:-1px;left:-1px;border-bottom:2px solid var(--cyan);border-left:2px solid var(--cyan)}.corner.br{bottom:-1px;right:-1px;border-bottom:2px solid var(--cyan);border-right:2px solid var(--cyan)}.hud{position:absolute;left:0;right:0;z-index:10;pointer-events:none}#hud-top{top:0;padding:14px 16px 0;display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(180px,1fr);gap:14px;align-items:start}#hud-bottom{bottom:0;padding:0 16px 12px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.panel{position:relative;pointer-events:auto;background:linear-gradient(160deg,#0a142cb8,#060c1ca8);border:1px solid var(--line);box-shadow:0 0 0 1px #04081480,0 6px 22px #0006,inset 0 0 18px #2f7bff1a;backdrop-filter:blur(8px);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));padding:8px 13px 9px;overflow:hidden}.panel:after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.6;animation:scanX 3.2s linear infinite}@keyframes scanX{0%{transform:translate(-100%)}to{transform:translate(100%)}}.panel-label{font-family:var(--display);font-size:9px;font-weight:700;letter-spacing:.3em;color:var(--cyan);opacity:.9;margin-bottom:4px}#mission-panel{max-width:300px}#rank-row{display:flex;align-items:center;gap:6px;margin-bottom:2px}#rank-insignia{color:var(--amber);font-size:13px;text-shadow:0 0 8px var(--amber)}#rank-name{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--amber)}#mission-name{font-family:var(--ui);font-size:15px;font-weight:700;letter-spacing:.04em;margin-bottom:1px}#mission-desc{font-size:11px;color:var(--muted);margin-bottom:5px;min-height:14px;letter-spacing:.02em}.progress-track{height:5px;background:#142850cc;border:1px solid rgba(84,180,255,.2);clip-path:polygon(0 0,100% 0,calc(100% - 4px) 100%,0 100%)}#mission-progress{height:100%;width:0%;background:linear-gradient(90deg,var(--blue),var(--cyan),var(--acid));box-shadow:0 0 12px var(--cyan);transition:width .25s ease}#score-panel{text-align:center;pointer-events:none;padding:4px 18px 6px;background:radial-gradient(ellipse at 50% 40%,#030612c7,#03061200 72%)}#score{font-family:var(--display);font-size:clamp(26px,4vw,46px);font-weight:900;line-height:1;letter-spacing:.05em;color:#fff;text-shadow:0 0 16px rgba(55,230,255,.7),0 0 40px rgba(47,123,255,.45);font-variant-numeric:tabular-nums}#score.bump{animation:scoreBump .18s ease}@keyframes scoreBump{40%{transform:scale(1.07)}}#high-score{font-family:var(--display);font-size:10px;font-weight:600;color:var(--muted);letter-spacing:.18em;margin-top:4px}#status-panel{justify-self:end;min-width:150px}.stat{display:flex;justify-content:space-between;gap:12px;font-family:var(--display);font-size:12px;font-weight:600;padding:1px 0}.stat-key{color:var(--muted);letter-spacing:.18em;font-size:9px;align-self:center}#ball-count{color:var(--text);font-weight:700}#multiplier{color:var(--acid);font-weight:700;text-shadow:0 0 8px rgba(157,255,61,.6)}#combo{color:var(--magenta);font-weight:700}#save-indicator{margin-top:5px;font-size:10px;letter-spacing:.08em;font-family:var(--ui);font-weight:600}.save-on{color:var(--green);text-shadow:0 0 10px rgba(61,255,176,.7);animation:pulse 1s infinite}.save-off{color:#90a8ca80}@keyframes pulse{50%{opacity:.45}}#controls-hint{display:flex;flex-wrap:wrap;gap:6px 14px;max-width:60%;font-size:12px;color:var(--muted);letter-spacing:.04em;align-items:center}#controls-hint b{color:var(--cyan);font-weight:700}kbd{font-family:var(--display);font-size:10px;font-weight:700;padding:2px 7px;color:var(--cyan);border:1px solid var(--line);background:#14285099;border-radius:4px;box-shadow:0 2px #040814cc}#actions{display:flex;gap:8px;pointer-events:auto}.icon-btn{width:40px;height:40px;display:grid;place-items:center;cursor:pointer;color:var(--text);background:linear-gradient(160deg,var(--surface-2),var(--surface));border:1px solid var(--line);clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));transition:transform .12s ease,box-shadow .12s ease,color .12s}.icon-btn svg{width:18px;height:18px}.icon-btn:hover{color:var(--cyan);box-shadow:0 0 16px #37e6ff59;transform:translateY(-2px)}.icon-btn:active{transform:translateY(0) scale(.94)}.icon-btn[aria-pressed=true]{color:var(--red);border-color:#ff4d5e80}#banner{position:absolute;top:22%;left:50%;transform:translate(-50%);z-index:12;font-family:var(--display);font-weight:800;letter-spacing:.2em;text-align:center;font-size:clamp(18px,3.6vw,36px);color:#fff;pointer-events:none;text-shadow:0 0 20px var(--cyan),0 0 60px var(--blue);padding:10px 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(90deg,transparent,rgba(10,24,52,.7),transparent);animation:bannerIn .3s ease}#banner.magenta{text-shadow:0 0 20px var(--magenta),0 0 60px var(--magenta)}#banner.amber,#banner.gold{text-shadow:0 0 20px var(--amber),0 0 60px var(--amber)}#banner.acid,#banner.green{text-shadow:0 0 20px var(--acid),0 0 60px var(--acid)}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%) scale(.8)}}#popups{position:absolute;inset:0;z-index:11;pointer-events:none;overflow:hidden}.popup{position:absolute;transform:translate(-50%,-50%);font-family:var(--display);font-weight:800;font-size:17px;color:var(--cyan);text-shadow:0 0 12px currentColor;white-space:nowrap;animation:popupFly .9s ease-out forwards}.popup.gold{color:var(--amber);font-size:21px}.popup.pink{color:var(--magenta)}.popup.green{color:var(--acid)}@keyframes popupFly{0%{opacity:0;transform:translate(-50%,-30%) scale(.7)}18%{opacity:1;transform:translate(-50%,-60%) scale(1.1)}to{opacity:0;transform:translate(-50%,-160%) scale(1)}}#launch-meter{position:absolute;right:22px;bottom:90px;z-index:10;width:16px;height:150px;border:1px solid var(--line);background:#081024cc}#launch-fill{position:absolute;bottom:0;left:0;right:0;height:0%;background:linear-gradient(0deg,var(--blue),var(--cyan),var(--amber));box-shadow:0 0 14px var(--cyan)}#launch-skill{position:absolute;left:-3px;right:-3px;bottom:55%;height:23%;border:1px solid var(--amber);background:#ffb5452e;box-shadow:0 0 10px #ffb54580}#launch-meter span{position:absolute;top:-22px;left:50%;transform:translate(-50%);font-size:10px;letter-spacing:.2em;color:var(--muted);font-family:var(--display);font-weight:600}#touch-controls{position:absolute;left:0;right:0;bottom:0;z-index:14;height:96px;display:flex;justify-content:space-between;align-items:center;padding:0 12px env(safe-area-inset-bottom);gap:10px;pointer-events:none;background:linear-gradient(0deg,#040814eb,#04081466);border-top:1px solid var(--line)}.touch-btn{pointer-events:auto;user-select:none;touch-action:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-width:108px;padding:14px;font-size:15px;font-weight:700;letter-spacing:.08em;color:var(--text);font-family:var(--ui);background:linear-gradient(160deg,#142854d9,#081026d9);border:1px solid var(--line);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));box-shadow:inset 0 0 18px #2f7bff2e}.touch-btn svg{width:16px;height:16px}.touch-btn small{font-size:10px;font-weight:500;color:var(--muted)}.touch-btn.launch{border-color:#ffb54580;color:var(--amber);flex-direction:column;gap:2px}.touch-btn.active{background:linear-gradient(160deg,#37e6ff59,#2f7bff4d);box-shadow:0 0 22px #37e6ff80}.touch-btn.launch.active{background:linear-gradient(160deg,#ffb54566,#ff4d5e4d);box-shadow:0 0 22px #ffb5458c}#overlay-loading{background:radial-gradient(ellipse at 50% 40%,#0a1430,#02040c 75%)}.load-box{width:min(420px,86vw);text-align:center}.load-logo{font-family:var(--display);font-size:44px;font-weight:900;letter-spacing:.08em;color:#fff;text-shadow:0 0 24px rgba(55,230,255,.6)}.load-logo span{display:block;background:linear-gradient(92deg,var(--cyan),var(--blue) 40%,var(--magenta));-webkit-background-clip:text;background-clip:text;color:transparent}.load-sub{margin:8px 0 26px;font-size:13px;letter-spacing:.5em;color:var(--amber);text-indent:.5em}.load-track{height:6px;background:#142850cc;border:1px solid var(--line)}#load-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--blue),var(--cyan));box-shadow:0 0 14px var(--cyan);transition:width .2s ease}.load-row{display:flex;justify-content:space-between;margin-top:10px;font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--muted)}.overlay{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,#060c208c,#02040cdb);backdrop-filter:blur(7px);padding:20px}.overlay-card{position:relative;width:min(620px,94vw);max-height:92vh;overflow-y:auto;text-align:center;background:linear-gradient(165deg,#0d1834eb,#060b1cf0);border:1px solid var(--line);box-shadow:0 0 0 1px #030610cc,0 30px 90px #0009,inset 0 0 60px #2f7bff14;clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,26px 100%,0 calc(100% - 26px));padding:38px 40px 34px;animation:cardIn .45s cubic-bezier(.2,.9,.25,1.1)}.overlay-card.small{width:min(440px,92vw);padding:32px 34px}@keyframes cardIn{0%{opacity:0;transform:translateY(24px) scale(.96)}}.overlay-card::-webkit-scrollbar{width:8px}.overlay-card::-webkit-scrollbar-track{background:#0a142c99}.overlay-card::-webkit-scrollbar-thumb{background:linear-gradient(var(--blue),var(--cyan));border-radius:4px}.overlay-card::-webkit-scrollbar-thumb:hover{background:var(--cyan)}.eyebrow{font-family:var(--display);font-size:11px;font-weight:700;letter-spacing:.34em;color:var(--cyan);margin-bottom:14px}.title{font-family:var(--display);font-size:clamp(40px,8vw,72px);font-weight:900;line-height:.95;letter-spacing:.06em;color:#fff;text-shadow:0 0 24px rgba(55,230,255,.6)}.title span{display:block;background:linear-gradient(92deg,var(--cyan),var(--blue) 40%,var(--magenta));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(255,61,240,.45))}.title-sm{font-family:var(--ui);font-size:30px;font-weight:700;letter-spacing:.1em;margin-bottom:18px;text-shadow:0 0 18px rgba(55,230,255,.5)}.subtitle{margin-top:10px;font-size:16px;font-weight:600;letter-spacing:.5em;color:var(--amber);text-indent:.5em}.lede{margin:18px auto 20px;max-width:480px;font-size:14px;line-height:1.85;color:var(--muted)}.briefing{list-style:none;text-align:left;max-width:470px;margin:0 auto 26px}.briefing li{font-size:13px;color:var(--text);padding:8px 0 8px 26px;position:relative;line-height:1.6;border-bottom:1px dashed rgba(84,180,255,.14)}.briefing b{color:var(--cyan);margin-right:6px}.briefing em{color:var(--amber);font-style:normal;font-weight:700}.bi{position:absolute;left:0;top:10px;width:15px;height:15px;background:var(--cyan);opacity:.9;-webkit-mask:center / contain no-repeat;mask:center / contain no-repeat}.bi-launch{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l4 8h-3v12h-2V10H8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l4 8h-3v12h-2V10H8z'/%3E%3C/svg%3E")}.bi-flip{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 18l8-12 3 2-6 10z M14 18l7-4-1-2-6 3z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 18l8-12 3 2-6 10z M14 18l7-4-1-2-6 3z'/%3E%3C/svg%3E")}.bi-target{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3C/svg%3E")}.bi-rank{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3 6 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3 6 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z'/%3E%3C/svg%3E")}.primary-btn{cursor:pointer;font-family:var(--ui);font-size:17px;font-weight:700;letter-spacing:.24em;text-indent:.24em;color:#04101f;padding:15px 46px;border:none;background:linear-gradient(92deg,var(--cyan),var(--blue));clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));box-shadow:0 0 28px #37e6ff73;transition:transform .14s ease,box-shadow .14s ease,filter .14s}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 0 44px #37e6ffb3;filter:brightness(1.08)}.primary-btn:active{transform:scale(.96)}.ghost-btn{display:block;margin:14px auto 0;cursor:pointer;background:none;border:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.16em;padding:10px 26px;font-family:var(--ui);clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));transition:color .12s,border-color .12s}.ghost-btn:hover{color:var(--cyan);border-color:var(--cyan)}#start-high{margin-top:18px;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--muted)}.record{font-family:var(--display);color:var(--amber);letter-spacing:.3em;margin-bottom:14px;text-shadow:0 0 14px var(--amber);animation:pulse 1s infinite}.end-stats{margin:6px 0 24px}.end-stats div{display:flex;justify-content:space-between;padding:9px 4px;border-bottom:1px dashed rgba(84,180,255,.16);font-size:14px}.end-stats span{color:var(--muted);letter-spacing:.1em}.end-stats b{font-family:var(--display);color:var(--cyan)}@media(max-width:860px){#hud-top{grid-template-columns:minmax(150px,1fr) auto minmax(110px,1fr);gap:6px;padding:8px 8px 0}#mission-panel{max-width:none;padding:6px 9px}#mission-name{font-size:12px}#mission-desc{font-size:9px}#rank-name{font-size:10px}#score{font-size:24px}#status-panel{min-width:110px;padding:6px 9px}.stat{font-size:10px;gap:8px}#save-indicator{font-size:9px}#controls-hint{display:none}#hud-bottom{padding:0 8px 8px;justify-content:flex-end}#launch-meter{right:10px;bottom:120px;height:110px}#banner{font-size:14px;max-width:92vw;letter-spacing:.12em;padding:8px 14px}.overlay-card{padding:28px 22px}.briefing li{font-size:12px}}@media(pointer:coarse){#controls-hint{display:none}}body.touch #touch-controls{display:flex}body.touch #scene{inset:0 0 96px;height:auto}body.touch #hud-bottom{bottom:104px}body.touch #vignette,body.touch #scanlines{bottom:96px}
