:root{--bg-0: #03040c;--bg-1: #0b1033;--panel: rgba(18, 24, 62, .66);--panel-strong: rgba(22, 28, 74, .94);--line: rgba(130, 170, 255, .24);--cyan: #25e8ff;--violet: #7a5cff;--magenta: #ff3df2;--gold: #ffd23f;--orange: #ff9f1c;--lime: #7dff6b;--red: #ff4d6d;--text: #eef3ff;--muted: #95a3cc;--radius: 18px;--radius-lg: 26px;--neon-border: linear-gradient(135deg, var(--cyan), var(--violet) 50%, var(--magenta));--font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Segoe UI", sans-serif;--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg-0);-webkit-text-size-adjust:100%}html,body{margin:0;min-height:100%}body{min-height:100vh;min-height:100dvh;background:transparent;color:var(--text);font-family:var(--font);line-height:1.45;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-3;pointer-events:none;background:radial-gradient(ellipse 70% 45% at 15% 5%,rgba(122,60,255,.42),transparent 70%),radial-gradient(ellipse 55% 40% at 95% 35%,rgba(0,190,255,.26),transparent 70%),radial-gradient(ellipse 80% 45% at 50% 105%,rgba(255,40,190,.28),transparent 70%),linear-gradient(180deg,var(--bg-1),var(--bg-0) 75%)}body:before,body:after{content:"";position:fixed;left:0;right:0;pointer-events:none;will-change:transform}body:before{z-index:-2;top:-320px;height:calc(100% + 320px);opacity:.75;background-image:radial-gradient(circle at 23px 41px,#fff 0 .8px,transparent 1.4px),radial-gradient(circle at 141px 12px,#cfe8ff 0 .7px,transparent 1.3px),radial-gradient(circle at 87px 173px,#fff 0 .9px,transparent 1.5px),radial-gradient(circle at 271px 98px,#ffd6fb 0 .8px,transparent 1.4px),radial-gradient(circle at 199px 233px,#fff 0 .6px,transparent 1.2px),radial-gradient(circle at 301px 287px,#b8f6ff 0 .8px,transparent 1.4px),radial-gradient(circle at 44px 266px,#fff 0 .7px,transparent 1.3px),radial-gradient(circle at 233px 160px,#fff 0 .6px,transparent 1.2px);background-size:320px 320px;animation:star-drift-far 110s linear infinite}body:after{z-index:-1;top:-540px;height:calc(100% + 540px);background-image:radial-gradient(circle at 60px 90px,#fff 0 1.3px,transparent 2.2px),radial-gradient(circle at 380px 40px,var(--cyan) 0 1.2px,transparent 2.2px),radial-gradient(circle at 250px 300px,#fff 0 1.5px,transparent 2.6px),radial-gradient(circle at 470px 420px,var(--magenta) 0 1.1px,transparent 2px),radial-gradient(circle at 130px 480px,#fff 0 1.1px,transparent 2px),radial-gradient(circle at 520px 210px,#fff 0 1.4px,transparent 2.4px);background-size:540px 540px;animation:star-drift-near 70s linear infinite}@keyframes star-drift-far{to{transform:translate3d(0,320px,0)}}@keyframes star-drift-near{to{transform:translate3d(0,540px,0)}}#app{max-width:720px;margin:0 auto;min-height:100vh;min-height:100dvh;padding:calc(var(--safe-t) + 12px) calc(var(--safe-r) + 16px) calc(var(--safe-b) + 20px) calc(var(--safe-l) + 16px)}.screen{display:flex;flex-direction:column;gap:16px;animation:screen-in .28s ease-out}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)}}h1,h2,p{margin:0}.btn{min-height:48px;padding:0 20px;border-radius:14px;border:1px solid var(--line);background:#ffffff12;color:var(--text);font:800 17px/1 var(--font);letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;touch-action:manipulation;transition:transform .08s ease,filter .15s ease;white-space:nowrap}.btn:active:not(:disabled){transform:scale(.95)}.btn:focus-visible,.game-card:focus-visible,.planet:focus-visible,.ship-card:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.btn-primary{border:none;background:linear-gradient(135deg,#19d3ff,var(--violet) 60%,var(--magenta));box-shadow:0 0 18px #25e8ff66,inset 0 1px #ffffff73;text-shadow:0 1px 2px rgba(0,0,0,.35)}.btn-gold{border:none;color:#2b1700;background:linear-gradient(135deg,#ffe873,var(--orange));box-shadow:0 0 16px #ffbe286b,inset 0 1px #fff9}.btn-ghost{background:#ffffff12;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.btn-icon{width:48px;padding:0;font-size:22px}.btn-sm{padding:0 14px;font-size:15px}.btn:disabled{cursor:not-allowed;filter:grayscale(1);opacity:.45;box-shadow:none}.btn-equipped,.btn-equipped:disabled{filter:none;opacity:1;background:#7dff6b14;border:1.5px solid var(--lime);color:var(--lime)}.pill{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px 0 8px;border-radius:999px;background:#00000061;border:1px solid rgba(255,210,63,.5);color:var(--gold);font:900 18px/1 var(--font);font-variant-numeric:tabular-nums;box-shadow:0 0 14px #ffd23f2e,inset 0 0 10px #ffd23f1a}.coin-icon{flex:none;display:inline-block;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff7c2 0,#fff7c2 12%,#ffd23f 35%,#e09400 75%,#a86200);box-shadow:inset 0 0 0 2px #fff0aab3,inset 0 0 0 4px #aa64008c,0 0 8px #ffd23f99}.topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.screen-map>.topbar{position:sticky;top:0;z-index:10;margin:calc(-12px - var(--safe-t)) -8px 0;padding:calc(var(--safe-t) + 10px) 8px 10px;border-radius:0 0 var(--radius) var(--radius);background:#050716c7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.btn-back{padding:0 14px}.topbar-title{text-align:center;font-size:clamp(19px,5.4vw,26px);font-weight:900;letter-spacing:.08em;text-shadow:0 0 14px rgba(37,232,255,.65);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:8px}.section-title{font-size:18px;font-weight:900;letter-spacing:.12em;color:var(--muted);display:flex;align-items:center;gap:10px}.section-title:before{content:"";width:6px;height:18px;border-radius:3px;background:var(--neon-border);box-shadow:0 0 10px var(--cyan)}.map-hint{text-align:center;color:var(--muted);font-size:14px}.neon-panel,.rank-card,.ship-card,.game-card.open,.modal{border:1.5px solid transparent;background:linear-gradient(var(--panel-strong),var(--panel-strong)) padding-box,var(--neon-border) border-box}.ship{display:block;flex:none;overflow:visible;filter:drop-shadow(0 0 8px var(--trail))}.ship-flame{transform-box:fill-box;transform-origin:50% 0;animation:flame .16s ease-in-out infinite alternate}@keyframes flame{0%{transform:scaleY(.75);opacity:.75}to{transform:scaleY(1.15);opacity:1}}.ship-hero{animation:hover 2.6s ease-in-out infinite}@keyframes hover{50%{transform:translateY(-8px)}}.lobby-top{display:flex;align-items:center;justify-content:space-between}.lobby-title{text-align:center;padding:6px 0 2px}.logo{display:inline-block;font-size:clamp(42px,12vw,68px);font-weight:900;font-style:italic;letter-spacing:.06em;line-height:1.1;background:linear-gradient(180deg,#fff 15%,#8ff2ff 50%,#ff7cf3);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px rgba(37,232,255,.55)) drop-shadow(0 3px 0 rgba(122,92,255,.9))}.logo-sub{margin-top:4px;color:var(--muted);font-size:14px;font-weight:700;letter-spacing:.3em}.hero-row{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:12px}.rank-card{--t1: #e0a067;--t2: #8a4b22;border-radius:var(--radius-lg);padding:16px 14px;display:flex;align-items:center;gap:14px;min-width:0}.tier-1{--t1: #f2f6ff;--t2: #8796b5}.tier-2{--t1: #ffe680;--t2: #d18b00}.tier-3{--t1: #a4fff0;--t2: #149d8a}.tier-4{--t1: #b9e2ff;--t2: #2f6bff}.tier-5{--t1: #f0c2ff;--t2: #8a2be2}.tier-6{--t1: #ffe680;--t2: #ff2d6f}.rank-badge{flex:none;width:76px;height:84px;filter:drop-shadow(0 0 10px var(--t1)) drop-shadow(0 0 22px var(--t2));animation:badge-glow 2.4s ease-in-out infinite}.rank-badge-inner{position:relative;width:100%;height:100%;display:grid;place-items:center;clip-path:polygon(50% 0,96% 25%,96% 75%,50% 100%,4% 75%,4% 25%);background:linear-gradient(160deg,var(--t1),var(--t2));font-size:32px;font-weight:900;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.35),0 0 12px var(--t2);isolation:isolate}.rank-badge-inner:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;z-index:-1;clip-path:inherit;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.35),transparent 60%),linear-gradient(200deg,var(--t2),rgba(10,12,40,.9))}@keyframes badge-glow{50%{filter:drop-shadow(0 0 16px var(--t1)) drop-shadow(0 0 30px var(--t2))}}.rank-info{min-width:0;flex:1}.rank-label{font-size:12px;color:var(--muted);letter-spacing:.2em}.rank-name{font-size:28px;font-weight:900;letter-spacing:.1em;color:var(--t1);text-shadow:0 0 12px var(--t2)}.rank-bar{margin:6px 0 4px;height:8px;border-radius:4px;background:#ffffff1a;overflow:hidden}.rank-bar span{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--t2),var(--t1));box-shadow:0 0 10px var(--t1)}.rank-stars{font-size:15px;font-weight:800;color:var(--gold);font-variant-numeric:tabular-nums}.ship-card{border-radius:var(--radius-lg);padding:12px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text);font-family:var(--font);cursor:pointer;min-width:0}.ship-card-name{font-size:16px;font-weight:900}.ship-card-sub{font-size:13px;color:var(--cyan);font-weight:700}.a2hs-banner{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;border-radius:var(--radius);background:#ffd23f1a;border:1px solid rgba(255,210,63,.5);color:#ffe9a6;font-size:15px;font-weight:700}.a2hs-icon{font-size:22px}.a2hs-text{flex:1}.a2hs-sub{display:block;margin-top:2px;font-size:13px;font-weight:600;opacity:.85}.game-list{display:grid;grid-template-columns:1fr;gap:12px}.game-card{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:84px;padding:14px 16px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--panel);color:var(--text);font-family:var(--font);text-align:left;cursor:pointer;touch-action:manipulation;transition:transform .1s ease}.game-card.open{min-height:116px;background:linear-gradient(115deg,#193c8cf2,#3c1e82f2 55%,#6e146ef2) padding-box,var(--neon-border) border-box;box-shadow:0 0 26px #25e8ff4d,0 0 50px #ff3df226}.game-card.open:after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-50%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.16),transparent);transform:skew(-20deg);animation:sweep 3.2s ease-in-out infinite;pointer-events:none}@keyframes sweep{60%,to{left:130%}}.game-card.open:active{transform:scale(.97)}.game-card:disabled{cursor:default;filter:grayscale(.95);opacity:.55}.game-icon{width:64px;height:64px;display:grid;place-items:center;font-size:38px;border-radius:20px;background:#ffffff14;border:1px solid rgba(255,255,255,.12)}.game-card.open .game-icon{width:80px;height:80px;font-size:50px;background:radial-gradient(circle,#25e8ff59,#25e8ff0d 70%);border-color:#25e8ff80;box-shadow:0 0 18px #25e8ff73}.game-text{display:flex;flex-direction:column;gap:4px;min-width:0}.game-name{font-size:20px;font-weight:900;letter-spacing:.06em}.game-card.open .game-name{font-size:26px;text-shadow:0 0 12px rgba(37,232,255,.7)}.game-desc{font-size:13px;color:var(--muted)}.game-card.open .game-desc{color:#c9d6ff}.game-cta{padding:8px 12px;border-radius:999px;font-size:13px;font-weight:800;background:#ffffff1a;color:var(--muted);white-space:nowrap}.game-card.open .game-cta{padding:12px 18px;font-size:17px;color:#2b1700;background:linear-gradient(135deg,#ffe873,var(--orange));box-shadow:0 0 16px #ffbe2880}@media(min-width:560px){.game-list{grid-template-columns:1fr 1fr}.game-card.open{grid-column:1 / -1}}.planet-path{position:relative;isolation:isolate;list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.planet-node{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.planet-route{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.planet-route svg{display:block;width:100%;height:100%;overflow:visible}.route-line{stroke:#25e8ff99;stroke-width:3;stroke-linecap:round;stroke-dasharray:2 12;filter:drop-shadow(0 0 4px var(--cyan))}.route-line.locked{stroke:#96a0c847;filter:none}.planet{position:relative;flex:none;width:84px;height:84px;padding:0;border:none;border-radius:50%;cursor:pointer;touch-action:manipulation;background:radial-gradient(circle at 32% 28%,hsl(var(--hue) 100% 88%) 0,hsl(var(--hue) 95% 62%) 22%,hsl(var(--hue) 80% 38%) 58%,hsl(var(--hue) 75% 13%));box-shadow:0 0 26px hsl(var(--hue) 100% 60% / .55),inset -10px -12px 22px #00000073;transition:transform .1s ease}.planet:active:not(:disabled){transform:scale(.92)}.planet-node:nth-child(3n) .planet:after{content:"";position:absolute;left:-22%;top:36%;width:144%;height:28%;border-radius:50%;border:3px solid hsl(var(--hue) 100% 80% / .65);border-top-color:transparent;transform:rotate(-16deg);pointer-events:none}.planet-face{position:relative;font-size:28px;line-height:1}.planet-ring{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:50%;pointer-events:none}.planet-node.current .planet-ring{border:3px solid var(--cyan);box-shadow:0 0 18px var(--cyan),inset 0 0 12px var(--cyan);animation:ring-pulse 1.4s ease-out infinite}.planet-node.current .planet-label:after{content:"出击！";margin-left:6px;padding:2px 8px;border-radius:999px;font-size:12px;color:#2b1700;background:var(--gold)}@keyframes ring-pulse{0%{transform:scale(.92);opacity:1}to{transform:scale(1.25);opacity:0}}.planet-node.boss .planet{width:116px;height:116px;background:radial-gradient(circle at 32% 28%,#ffd0f4 0,#ff3d9a 25%,#a3005c 60%,#2a0018);box-shadow:0 0 34px #ff2d8cb3,0 0 70px #ff3df259,inset -14px -16px 28px #00000080}.planet-node.boss .planet-face{font-size:54px;filter:drop-shadow(0 0 8px rgba(255,255,255,.6))}.planet-node.locked .planet{cursor:not-allowed;filter:grayscale(1) brightness(.5);box-shadow:inset -10px -12px 22px #00000080}.planet-label{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:900;letter-spacing:.05em;text-shadow:0 1px 3px #000}.planet-node.locked .planet-label{color:var(--muted)}.boss-tag{padding:2px 8px;border-radius:6px;font-size:12px;background:var(--red);box-shadow:0 0 10px var(--red)}.planet-stars{display:flex;gap:2px;font-size:18px;line-height:1}.star{color:#ffffff2e}.star.on{color:var(--gold);text-shadow:0 0 8px rgba(255,210,63,.9)}.skin-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(146px,100%),1fr));gap:12px}.skin-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:16px 10px 12px;border-radius:var(--radius-lg);background:var(--panel);border:1px solid var(--line)}.skin-card:before{content:"";position:absolute;top:-30px;left:50%;width:150px;height:150px;margin-left:-75px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--glow) 35%,transparent),transparent 70%);pointer-events:none}.skin-card.equipped{border-color:var(--lime);box-shadow:0 0 20px #7dff6b4d}.skin-card>*{position:relative}.skin-name{font-size:17px;font-weight:900}.skin-price{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:800;color:var(--gold)}.skin-card.owned .skin-price{color:var(--muted)}.skin-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;min-height:24px}.skin-chip{display:inline-flex;align-items:center;gap:1px;padding:1px 7px;border-radius:999px;background:#ffffff14;border:1px solid var(--line);font-size:13px;font-weight:800;line-height:20px}.skin-blurb{min-height:2.8em;color:var(--muted);font-size:12px;line-height:1.4;text-align:center;overflow-wrap:anywhere}.skin-strength{width:100%;display:flex;flex-direction:column;align-items:center;gap:3px}.skin-strength-bar{width:100%;height:8px;border-radius:999px;background:#ffffff1a;overflow:hidden}.skin-strength-bar>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--cyan),var(--gold) 60%,var(--orange));box-shadow:0 0 8px #ffd23f99}.skin-strength-text{color:var(--gold);font-size:13px;font-weight:800;letter-spacing:1px;white-space:nowrap}.skin-card .btn{width:100%;margin-top:4px}.result-hero{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 0 4px;text-align:center}.result-level{color:var(--muted);font-weight:800;letter-spacing:.15em}.result-title{font-size:clamp(38px,11vw,68px);white-space:nowrap;font-weight:900;font-style:italic;letter-spacing:.06em;line-height:1.1;background:linear-gradient(180deg,#fff6b0 10%,var(--gold) 45%,var(--orange) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 16px rgba(255,190,40,.6))}.screen-result.failed .result-title{background-image:linear-gradient(180deg,#fff 10%,#8ff2ff 50%,var(--violet) 100%);filter:drop-shadow(0 0 16px rgba(37,232,255,.5))}.result-stars{display:flex;align-items:flex-end;gap:6px;height:96px}.big-star{display:inline-block;font-size:64px;line-height:1;color:#ffffff24}.big-star:nth-child(2){font-size:84px}.big-star.on{color:var(--gold);text-shadow:0 0 18px rgba(255,210,63,.9),0 0 40px rgba(255,140,0,.6);animation:star-pop .55s cubic-bezier(.2,1.6,.4,1) backwards}@keyframes star-pop{0%{transform:scale(0) rotate(-120deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.tag{padding:4px 12px;border-radius:999px;font-size:14px;font-weight:900}.tag-best{color:#2b1700;background:var(--gold);box-shadow:0 0 14px #ffd23f99}.result-note{color:var(--muted);font-size:14px}.promo{margin-top:4px;padding:10px 26px;border-radius:14px;font-size:24px;font-weight:900;letter-spacing:.1em;background:linear-gradient(135deg,var(--magenta),var(--violet));box-shadow:0 0 24px #ff3df299;animation:promo-pulse 1.2s ease-in-out infinite alternate}@keyframes promo-pulse{to{transform:scale(1.06);box-shadow:0 0 40px #ff3df2e6}}.coin-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 12px 16px;border-radius:var(--radius);background:var(--panel);border:1px solid rgba(255,210,63,.45);box-shadow:0 0 18px #ffd23f24,inset 0 0 14px #ffd23f14;text-align:center}.coin-card-label{font-size:13px;color:var(--muted)}.coin-parts{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 8px;font-size:15px;color:var(--text)}.coin-part{white-space:nowrap}.coin-part b{color:var(--gold);font-variant-numeric:tabular-nums}.coin-part.bonus b{text-shadow:0 0 10px rgba(255,210,63,.8)}.coin-sep{color:var(--muted)}.coin-total{display:flex;align-items:center;gap:8px;font-size:30px;font-weight:900;line-height:1;color:var(--gold);text-shadow:0 0 12px rgba(255,210,63,.6);font-variant-numeric:tabular-nums}.coin-total .coin-icon{width:28px;height:28px}.coin-total-label{font-size:15px;color:var(--muted);text-shadow:none}.stat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:14px 8px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);text-align:center}.stat-value{font-size:26px;font-weight:900;color:var(--cyan);text-shadow:0 0 10px rgba(37,232,255,.6);font-variant-numeric:tabular-nums}.stat-label{margin-top:2px;font-size:13px;color:var(--muted)}.wrong-list{display:flex;flex-direction:column;gap:10px}.wrong-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.wrong-item{--subj: var(--cyan);padding:12px 14px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--subj);display:flex;flex-direction:column;gap:6px;-webkit-user-select:text;user-select:text}.subj-yuwen{--subj: #3ddc84}.subj-shuxue{--subj: #ff5b6e}.subj-yingyu{--subj: #4da3ff}.wrong-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.subj-tag{padding:3px 10px;border-radius:8px;font-size:13px;font-weight:900;color:#06101f;background:var(--subj)}.wrong-stem{font-size:17px;font-weight:700}.wrong-audio,.wrong-explain{font-size:14px;color:var(--muted)}.wrong-answer b{color:var(--lime);font-size:18px}.btn-report{color:var(--muted)}.result-actions{position:sticky;bottom:calc(var(--safe-b) + 8px);display:flex;flex-wrap:wrap;gap:10px;padding:10px;border-radius:var(--radius-lg);background:#080a1ecc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line)}.result-actions .btn{flex:1 1 120px}.screen-soon{min-height:70vh;align-items:center;justify-content:center;text-align:center}.soon-icon{font-size:80px;filter:drop-shadow(0 0 20px rgba(37,232,255,.6));animation:hover 2.6s ease-in-out infinite}.soon-title{font-size:clamp(26px,7vw,36px);font-weight:900;letter-spacing:.08em;text-shadow:0 0 16px rgba(37,232,255,.7)}.soon-sub{color:var(--muted);font-weight:700}.screen-soon .btn{min-width:160px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:calc(var(--safe-t) + 16px) calc(var(--safe-r) + 16px) calc(var(--safe-b) + 16px) calc(var(--safe-l) + 16px);background:#03040cb8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade-in .2s ease-out}.modal{width:100%;max-width:420px;padding:26px 22px 20px;border-radius:24px;text-align:center;box-shadow:0 0 40px #7a5cff73;animation:modal-pop .3s cubic-bezier(.2,1.4,.4,1)}.modal-title{font-size:24px;font-weight:900;letter-spacing:.06em;text-shadow:0 0 12px rgba(37,232,255,.6)}.modal-body{margin-top:10px;color:#cdd6f5;font-size:17px}.modal-actions{margin-top:20px;display:flex;gap:10px}.modal-actions .btn{flex:1}@keyframes fade-in{0%{opacity:0}}@keyframes modal-pop{0%{transform:scale(.85);opacity:0}}@media(max-width:380px){.hero-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8px}.rank-card{padding:12px 10px;gap:10px}.rank-badge{width:60px;height:66px}.rank-name{font-size:22px}.topbar-right .pill{padding:0 10px 0 6px}}@media(max-width:440px){.topbar,.topbar-right{gap:6px}.btn-back{padding:0 10px}.topbar-title{font-size:18px;letter-spacing:.02em}.btn-shop{width:48px;padding:0}.btn-shop-label{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}.sh-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;overflow:hidden;touch-action:none;overscroll-behavior:none}.sh-root canvas{display:block}.sh-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.sh-hud{--u: .5px;position:absolute;left:0;top:0;width:0;height:0;overflow:hidden;pointer-events:none;font-family:var(--font);color:var(--text)}.sh-hud button{pointer-events:auto;touch-action:manipulation;font-family:var(--font)}.sh-top{position:absolute;left:calc(var(--u) * 16);right:calc(var(--u) * 126);top:calc(var(--u) * 14);display:flex;align-items:flex-start;justify-content:space-between;gap:calc(var(--u) * 12);font-weight:900;text-shadow:0 1px 4px rgba(0,0,0,.8)}.sh-life{display:flex;flex-direction:column;gap:calc(var(--u) * 6)}.sh-hearts-row{display:flex;align-items:center;gap:calc(var(--u) * 10)}.sh-hearts{display:flex;gap:calc(var(--u) * 6);font-size:max(18px,calc(var(--u) * 42));line-height:1}.sh-heart{transition:opacity .3s,filter .3s}.sh-heart.lost{opacity:.22;filter:grayscale(1)}.sh-hearts.flash{animation:sh-heart-flash .6s ease-out}@keyframes sh-heart-flash{0%{transform:scale(1);filter:drop-shadow(0 0 0 transparent)}25%{transform:scale(1.35);filter:drop-shadow(0 0 10px #ff1744)}to{transform:scale(1);filter:drop-shadow(0 0 0 transparent)}}.sh-shield{font-size:max(18px,calc(var(--u) * 40));line-height:1;filter:drop-shadow(0 0 calc(var(--u) * 10) rgba(125,249,255,.9))}.sh-coins{display:flex;align-items:center;gap:calc(var(--u) * 10);align-self:flex-start;font-size:max(18px,calc(var(--u) * 46));line-height:1;color:var(--gold);font-variant-numeric:tabular-nums;text-shadow:0 0 calc(var(--u) * 12) rgba(255,210,63,.7),0 1px 4px rgba(0,0,0,.8);transform-origin:left center}.sh-coins .coin-icon{width:max(20px,calc(var(--u) * 48));height:max(20px,calc(var(--u) * 48));box-shadow:inset 0 0 0 calc(var(--u) * 3) #fff0aabf,inset 0 0 0 calc(var(--u) * 6) #aa64008c,0 0 calc(var(--u) * 14) #ffd23fbf}.sh-coins .coin-icon,.coin-total .coin-icon{position:relative}.sh-coins .coin-icon:after,.coin-total .coin-icon:after{content:"★";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.62em;line-height:1;color:#fff3b0;text-shadow:0 0 1px #a05a00,0 1px 0 #a05a00,0 -1px 0 #a05a00,1px 0 0 #a05a00,-1px 0 0 #a05a00}.coin-total .coin-icon:after{font-size:17px}.sh-coins.pop-a{animation:sh-coin-pop-a .32s ease-out}.sh-coins.pop-b{animation:sh-coin-pop-b .32s ease-out}@keyframes sh-coin-pop-a{0%{transform:scale(1)}35%{transform:scale(1.28)}to{transform:scale(1)}}@keyframes sh-coin-pop-b{0%{transform:scale(1)}35%{transform:scale(1.28)}to{transform:scale(1)}}.sh-stage{margin-top:calc(var(--u) * 6);padding:calc(var(--u) * 6) calc(var(--u) * 20);border-radius:999px;background:#0a0e2e94;border:1px solid var(--line);color:var(--cyan);font-size:max(14px,calc(var(--u) * 30));white-space:nowrap}.sh-stage.boss{color:#fff;border-color:#ff3df2cc;box-shadow:0 0 calc(var(--u) * 18) #ff3df28c}.sh-boss{position:absolute;left:calc(var(--u) * 110);right:calc(var(--u) * 110);top:calc(var(--u) * 132);display:flex;align-items:center;gap:calc(var(--u) * 12);font-weight:900}.sh-boss-label{color:#ff3df2;font-size:max(12px,calc(var(--u) * 26));letter-spacing:.08em;text-shadow:0 0 calc(var(--u) * 10) rgba(255,61,242,.9)}.sh-boss-track{flex:1;height:max(8px,calc(var(--u) * 20));border-radius:999px;background:#3a2d5cd9;border:1px solid rgba(255,255,255,.25);overflow:hidden}.sh-boss-fill{width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff3df2,#ff9f1c);box-shadow:inset 0 calc(var(--u) * 4) 0 #ffffff59;transition:width .15s linear}.sh-pause{position:absolute;top:calc(var(--u) * 12);right:calc(var(--u) * 14);width:calc(var(--u) * 96);height:calc(var(--u) * 96);min-width:44px;min-height:44px;padding:0;border-radius:calc(var(--u) * 24);border:1px solid var(--line);background:#0a0e2e94;color:var(--text);font-size:max(18px,calc(var(--u) * 40));line-height:1;cursor:pointer}.sh-pause:disabled{opacity:.35}.sh-pause-menu{pointer-events:auto}.sh-pause-menu[hidden],.sh-hud [hidden]{display:none!important}.screen-empty-bank{min-height:70vh;justify-content:center;align-items:center;text-align:center}.screen-parent{min-width:0;user-select:text;-webkit-user-select:text}.screen-parent>*{min-width:0}.pr-gate{display:flex;flex-direction:column;gap:14px;align-items:center;padding:28px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.pr-gate-q{font-size:34px;font-weight:900;color:var(--cyan)}.pr-input,.pr-text,.pr-select{width:100%;max-width:100%;min-height:46px;padding:8px 12px;border-radius:12px;border:1px solid var(--line);background:#0006;color:var(--text);font:700 16px var(--font);-webkit-user-select:text;user-select:text}.pr-gate .pr-input{max-width:220px;text-align:center;font-size:22px}.pr-text{resize:vertical;word-break:break-all;font-family:ui-monospace,Menlo,monospace;font-size:13px}.pr-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden}.pr-summary{padding:14px 16px;min-height:48px;font-size:18px;font-weight:900;letter-spacing:.08em;cursor:pointer}.pr-body{display:flex;flex-direction:column;gap:10px;padding:0 16px 16px;min-width:0}.pr-h{margin:6px 0 0;font-size:15px;color:var(--muted);letter-spacing:.08em}.pr-hint,.pr-sub,.pr-empty{font-size:14px;color:var(--muted);overflow-wrap:anywhere}.pr-msg{font-size:14px;color:var(--lime);overflow-wrap:anywhere}.pr-msg.err{color:var(--red)}.pr-row{display:grid;grid-template-columns:3em minmax(0,1fr) auto;align-items:center;gap:8px;font-size:14px}.pr-bar{height:12px;border-radius:6px;background:#ffffff1a;overflow:hidden}.pr-bar span{display:block;height:100%;background:var(--neon-border)}.pr-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;align-items:end}.pr-col{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;min-width:0}.pr-col-track{width:100%;height:90px;display:flex;align-items:flex-end;background:#ffffff0f;border-radius:6px;overflow:hidden}.pr-col-track span{width:100%;background:linear-gradient(180deg,var(--cyan),var(--violet))}.pr-col-day{color:var(--muted)}.pr-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;min-width:0}.pr-item,.pr-q{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:#00000047;overflow-wrap:anywhere}.pr-q.flagged{border:1.5px solid var(--red);background:#ff4d6d1f}.pr-q-head{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pr-q-id{font-size:12px;color:var(--cyan);overflow-wrap:anywhere}.pr-tag{font-size:12px;padding:2px 8px;border-radius:999px;background:#ffd23f33;color:var(--gold)}.pr-tag-red{background:#ff4d6d40;color:var(--red)}.pr-tag-inline{align-self:flex-start}.pr-q-stem{font-weight:800}.pr-opts{margin:0;padding-left:1.6em;display:flex;flex-direction:column;gap:2px}.pr-opts li.right{color:var(--lime);font-weight:900}.pr-q .btn{align-self:flex-start}.pr-label{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--muted)}.pr-inline{flex-direction:row;align-items:center;gap:10px;color:var(--text);font-size:16px}.pr-check{width:24px;height:24px}.pr-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.pr-actions{display:flex;flex-wrap:wrap;gap:8px}.pr-reset,.pr-step2{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.pr-danger{background:var(--red);border:none}.pr-danger-ghost{border-color:var(--red);color:var(--red);align-self:flex-start}.screen-prep{min-width:0}.screen-prep>*{min-width:0}.screen-prep [hidden]{display:none!important}.pill-energy{padding:0 14px;border-color:#25e8ff8c;color:var(--cyan);box-shadow:0 0 14px #25e8ff33,inset 0 0 10px #25e8ff1a}.pill-energy.bump{animation:energy-bump .5s cubic-bezier(.2,1.6,.4,1)}@keyframes energy-bump{40%{transform:scale(1.3);box-shadow:0 0 26px #25e8ffcc}}.quiz-sub{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:14px;font-weight:700}.quiz-dots{display:flex;gap:6px}.quiz-dot{width:14px;height:14px;border-radius:50%;background:#ffffff24;border:1px solid var(--line)}.quiz-dot.now{border:2px solid var(--cyan);box-shadow:0 0 8px var(--cyan)}.quiz-dot.correct{background:var(--lime);border-color:var(--lime)}.quiz-dot.wrong{background:var(--red);border-color:var(--red)}.quiz-dot.skipped{background:var(--muted)}.quiz-body{display:flex;flex-direction:column;gap:14px;min-width:0}.quiz-card{padding:14px 16px 18px;border-radius:var(--radius-lg);background:var(--panel-strong);border:1.5px solid var(--line);border-top:4px solid var(--subj);display:flex;flex-direction:column;gap:10px;min-width:0;animation:screen-in .25s ease-out}.quiz-card.mistake{box-shadow:0 0 18px #ff9f1c40}.quiz-meta{display:flex;align-items:center;gap:8px;min-height:48px}.quiz-meta-gap{flex:1}.quiz-mistake-tag,.quiz-skip-tag{padding:3px 10px;border-radius:8px;font-size:13px;font-weight:900;color:#2b1700;background:var(--orange);white-space:nowrap}.quiz-skip-tag{color:var(--text);background:#ffffff29}.quiz-tool[aria-disabled=true]{opacity:.4}.quiz-stem{font-size:clamp(20px,5.6vw,28px);font-weight:900;line-height:1.4;overflow-wrap:anywhere}.quiz-audio{font-size:20px;font-weight:800;color:var(--cyan);overflow-wrap:anywhere}.quiz-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quiz-options.n3>:last-child{grid-column:1 / -1}.quiz-opt{min-height:64px;padding:10px 12px;border-radius:18px;border:1.5px solid var(--line);background:#ffffff14;color:var(--text);font:800 20px/1.3 var(--font);display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;text-align:center;overflow-wrap:anywhere;cursor:pointer;touch-action:manipulation;transition:transform .08s ease,background .15s ease,border-color .15s ease}.quiz-opt:active{transform:scale(.96)}.quiz-opt:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.quiz-opt-emoji{font-size:44px;line-height:1.1}.quiz-options.emoji .quiz-opt{min-height:96px}.quiz-options.emoji .quiz-opt-emoji{font-size:56px}.quiz-options.locked .quiz-opt{pointer-events:none}.quiz-options.locked .quiz-opt:not(.right):not(.wrong){opacity:.45}.quiz-opt.right{border-color:var(--lime);background:#7dff6b2e;box-shadow:0 0 18px #7dff6b73}.quiz-opt.wrong{border-color:var(--red);background:#ff4d6d33;animation:opt-shake .35s ease}@keyframes opt-shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.quiz-reveal{padding:14px 16px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--lime);display:flex;flex-direction:column;gap:8px;animation:screen-in .25s ease-out}.quiz-reveal-answer{font-size:18px;font-weight:800}.quiz-reveal-answer b{color:var(--lime)}.quiz-reveal-explain{color:#cdd6f5;font-size:16px}.quiz-continue{margin-top:4px;min-height:56px;font-size:20px}.quiz-pop{position:fixed;left:50%;top:calc(var(--safe-t) + 96px);z-index:50;pointer-events:none;font-size:36px;font-weight:900;color:var(--cyan);text-shadow:0 0 16px rgba(37,232,255,.9);white-space:nowrap;transform:translate(-50%);animation:quiz-pop .8s ease-out forwards}@keyframes quiz-pop{0%{opacity:0;transform:translate(-50%,20px) scale(.6)}25%{opacity:1;transform:translate(-50%) scale(1.1)}to{opacity:0;transform:translate(-50%,-60px) scale(1)}}.prep-toast{position:fixed;left:50%;bottom:calc(var(--safe-b) + 28px);z-index:60;max-width:calc(100vw - 32px);padding:10px 18px;border-radius:999px;background:#080a1eeb;border:1px solid var(--line);font-weight:800;transform:translate(-50%);pointer-events:none}.prep-toast[hidden]{display:none}.prep-hint{text-align:center;color:var(--muted);font-weight:700}.locked-hero{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 0 4px;text-align:center}.locked-icon{font-size:64px;filter:grayscale(1) brightness(.8) drop-shadow(0 0 16px rgba(255,77,109,.7));animation:hover 2.6s ease-in-out infinite}.locked-title{font-size:clamp(24px,7vw,36px);font-weight:900;letter-spacing:.04em;color:#fff;text-shadow:0 0 16px rgba(255,77,109,.7)}.locked-sub{color:var(--muted);font-weight:700;max-width:30em}.pick-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.pick-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"icon name lv" "icon desc desc";align-items:center;gap:4px 12px;min-height:96px;padding:14px 16px;border-radius:var(--radius-lg);border:1.5px solid transparent;background:linear-gradient(var(--panel-strong),var(--panel-strong)) padding-box,var(--neon-border) border-box;color:var(--text);font-family:var(--font);text-align:left;cursor:pointer;touch-action:manipulation;transition:transform .12s ease,opacity .25s ease,box-shadow .2s ease;animation:screen-in .3s ease-out backwards}.pick-card:nth-child(2){animation-delay:.06s}.pick-card:nth-child(3){animation-delay:.12s}.pick-card:active{transform:scale(.96)}.pick-card:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.pick-icon{grid-area:icon;font-size:48px;line-height:1;filter:drop-shadow(0 0 10px rgba(37,232,255,.5))}.pick-name{grid-area:name;font-size:22px;font-weight:900}.pick-lv{grid-area:lv;padding:3px 10px;border-radius:999px;background:#25e8ff29;color:var(--cyan);font-weight:900;font-size:15px;white-space:nowrap}.pick-desc{grid-area:desc;color:#cdd6f5;font-size:15px}.pick-cards.picking .pick-card{pointer-events:none}.pick-cards.picking .pick-card:not(.chosen){opacity:.25;transform:scale(.94)}.pick-card.chosen{transform:scale(1.05);box-shadow:0 0 30px #ffd23fbf}@media(min-width:560px){.pick-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.pick-cards.n1{grid-template-columns:minmax(0,240px);justify-content:center}.pick-cards.n2{grid-template-columns:repeat(2,minmax(0,240px));justify-content:center}.pick-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"icon" "name" "lv" "desc";justify-items:center;text-align:center;padding:22px 12px}}.loadout-ship{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 0 4px}.loadout-ship-name{font-size:20px;font-weight:900;letter-spacing:.08em}.loadout-group{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line)}.loadout-chips{display:flex;flex-wrap:wrap;gap:8px}.loadout-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:4px 12px 4px 8px;border-radius:999px;background:#ffffff14;border:1px solid var(--line);font-weight:800}.loadout-chip-icon{font-size:22px}.loadout-chip b{color:var(--cyan);font-size:14px}.loadout-empty{color:var(--muted)}.btn-go{min-height:64px;font-size:26px;letter-spacing:.2em;animation:go-pulse 1.4s ease-in-out infinite alternate}@keyframes go-pulse{to{box-shadow:0 0 34px #25e8ffbf,inset 0 1px #ffffff73}}.star-reasons{display:flex;flex-direction:column;align-items:center;gap:4px}.star-reasons ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;font-weight:800}.star-reasons li{display:inline-flex;align-items:center;gap:4px}.star-reasons li.ok .star-mark{color:var(--lime)}.star-reasons li.miss{color:var(--muted)}.star-reasons li.miss .star-mark{color:var(--red)}.star-hint{color:var(--muted);font-size:13px}.book-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:56px;padding:10px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);color:var(--text);font-family:var(--font);text-align:left;cursor:pointer;touch-action:manipulation;transition:transform .08s ease}.book-bar:active{transform:scale(.98)}.book-bar:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.book-icon{font-size:26px;line-height:1}.book-main{display:flex;flex-direction:column;gap:2px;min-width:0}.book-label{font-size:12px;font-weight:800;color:var(--muted);letter-spacing:.12em}.book-text{font-size:14px;font-weight:800;line-height:1.5;overflow-wrap:anywhere}.book-part{white-space:nowrap}.book-cta{font-size:14px;font-weight:900;color:var(--cyan);white-space:nowrap}.screen-progress{min-width:0}.screen-progress>*{min-width:0}.pg-head{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding-top:6px}.pg-hint{font-size:14px;color:var(--muted);overflow-wrap:anywhere}.pg-card{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);min-width:0}.pg-label{margin:0;font-size:16px;font-weight:900;letter-spacing:.06em}.pg-grades{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.pg-grade,.pg-unit{min-height:44px;border-radius:12px;border:1px solid var(--line);background:#ffffff14;color:var(--text);font:800 15px/1 var(--font);cursor:pointer;touch-action:manipulation;transition:transform .08s ease}.pg-grade{padding:0 2px}.pg-grade:active,.pg-unit:active{transform:scale(.92)}.pg-grade:focus-visible,.pg-unit:focus-visible,.pg-ed-switch:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}.pg-grade.off{opacity:.35;filter:grayscale(1)}.pg-grade.on{border:none;background:linear-gradient(90deg,var(--cyan),var(--magenta));color:#06101f;font-weight:900;box-shadow:0 0 14px #25e8ff66}.pg-ed{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:6px 12px;border-radius:12px;border:1px solid transparent;background:#00000047;color:var(--text);font:700 15px/1.35 var(--font);text-align:left}.pg-ed-switch{border-color:var(--line);cursor:pointer;touch-action:manipulation}.pg-ed-name{overflow-wrap:anywhere}.pg-ed-ok{color:var(--lime);font-weight:900;font-size:18px}.pg-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:13px;color:var(--muted)}.pg-dot{width:14px;height:14px;border-radius:4px;background:#ffffff24;margin-left:6px}.pg-dot:first-child{margin-left:0}.pg-subj{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-top:4px}.pg-subj+.pg-subj{border-top:1px solid var(--line);padding-top:12px}.pg-units{display:flex;flex-wrap:wrap;gap:6px}.pg-unit{width:44px;padding:0;color:var(--muted)}.pg-unit.done,.pg-dot.done{background:#1f9d6a;border-color:#3ddc84;color:#fff}.pg-unit.cur,.pg-dot.cur{background:var(--gold);border-color:#fff3b0;color:#2b1700;font-weight:900}.pg-unit.cur{box-shadow:0 0 14px #ffd23f8c}.pg-unit-info{font-size:14px;font-weight:700;overflow-wrap:anywhere}.pg-foot{position:sticky;bottom:0;z-index:5;margin:0 -16px calc(-20px - var(--safe-b));padding:10px 16px calc(var(--safe-b) + 14px);background:linear-gradient(180deg,#03040c00,#03040cd9 30%)}.pg-save{width:100%;min-height:54px;font-size:19px}.pr-gift{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px}.pr-coins-now{color:var(--gold, #ffd23f);font-weight:800}.sh-skills{position:absolute;right:calc(var(--u) * 14);bottom:calc(var(--u) * 36);display:flex;flex-direction:column;gap:calc(var(--u) * 16);pointer-events:none}.sh-skill{--p: 1;--c: #25e8ff;position:relative;width:calc(var(--u) * 108);height:calc(var(--u) * 108);min-width:48px;min-height:48px;padding:0;border:0;border-radius:50%;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 50% 50%,rgba(10,14,46,.86) 0 62%,transparent 63%),conic-gradient(var(--c) calc(var(--p) * 360deg),rgba(255,255,255,.14) 0);color:var(--text);display:grid;place-items:center;transition:transform .12s ease,opacity .2s ease}.sh-skill-bomb{--c: #ff9f1c}.sh-skill-shield{--c: #ffd23f}.sh-skill-slow{--c: #7a5cff}.sh-skill-swarm{--c: #25e8ff}.sh-skill-icon{font-size:calc(var(--u) * 50);line-height:1;filter:grayscale(.6) brightness(.8)}.sh-skill-name{position:absolute;bottom:calc(var(--u) * -4);left:50%;transform:translate(-50%);white-space:nowrap;font-size:max(10px,calc(var(--u) * 20));font-weight:800;color:#fff;text-shadow:0 0 4px #05061a,0 0 2px #05061a}.sh-skill.ready .sh-skill-icon,.sh-skill.active .sh-skill-icon{filter:none}.sh-skill.ready{box-shadow:0 0 calc(var(--u) * 18) var(--c)}.sh-skill.ready:active{transform:scale(.9)}.sh-skill-bomb.ready{animation:sh-skill-pulse .9s ease-in-out infinite}.sh-skill.active{box-shadow:0 0 calc(var(--u) * 26) var(--c),inset 0 0 calc(var(--u) * 16) var(--c)}.sh-skill.off,.sh-skill:disabled{opacity:.4}@keyframes sh-skill-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media(prefers-reduced-motion:reduce){.sh-skill-bomb.ready{animation:none}}.sh-skills{transition:opacity .18s ease}.sh-skills.faded{opacity:.28}.cn-hud{--u: .6px;position:absolute;left:0;top:0;width:0;height:0;overflow:hidden;pointer-events:none;font-family:var(--font);color:var(--text)}.cn-hud button{pointer-events:auto;touch-action:none;font-family:var(--font);-webkit-user-select:none;user-select:none}.cn-hud [hidden]{display:none!important}.cn-top{position:absolute;left:calc(var(--u) * 20);right:calc(var(--u) * 120);top:calc(var(--u) * 16);display:flex;align-items:flex-start;gap:calc(var(--u) * 24);font-weight:900;text-shadow:0 1px 4px rgba(0,0,0,.8)}.cn-me{display:flex;flex-direction:column;gap:calc(var(--u) * 6);min-width:calc(var(--u) * 300)}.cn-me-label{font-size:max(11px,calc(var(--u) * 20));color:var(--cyan);letter-spacing:.06em}.cn-hp{display:flex;align-items:center;gap:calc(var(--u) * 10)}.cn-hp-track{flex:1;height:max(10px,calc(var(--u) * 22));border-radius:999px;background:#0a0e2ebf;border:1px solid rgba(255,255,255,.28);overflow:hidden}.cn-hp-fill{width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2bd47a,var(--lime));box-shadow:inset 0 calc(var(--u) * 4) 0 #ffffff59;transition:width .25s ease-out}.cn-hp-fill.low{background:linear-gradient(90deg,var(--red),var(--orange))}.cn-hp-text{font-size:max(12px,calc(var(--u) * 24));font-variant-numeric:tabular-nums}.cn-hp.hit{animation:cn-shake .45s ease-out}@keyframes cn-shake{0%,to{transform:translate(0)}20%{transform:translate(calc(var(--u) * -8));filter:drop-shadow(0 0 8px #ff1744)}40%{transform:translate(calc(var(--u) * 7))}60%{transform:translate(calc(var(--u) * -4))}}.cn-coins{display:flex;align-items:center;gap:calc(var(--u) * 8);font-size:max(16px,calc(var(--u) * 34));line-height:1;color:var(--gold);font-variant-numeric:tabular-nums}.cn-coins .coin-icon{width:max(18px,calc(var(--u) * 34));height:max(18px,calc(var(--u) * 34))}.cn-center{flex:1;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 8)}.cn-turn{padding:calc(var(--u) * 6) calc(var(--u) * 26);border-radius:999px;background:#3c0a1eb3;border:1px solid rgba(255,90,110,.7);color:#ffd0d8;font-size:max(14px,calc(var(--u) * 30));white-space:nowrap}.cn-turn.mine{background:#0a283cb8;border-color:#25e8ffd9;color:#fff;box-shadow:0 0 calc(var(--u) * 18) #25e8ff80;animation:cn-pulse 1.4s ease-in-out infinite}@keyframes cn-pulse{50%{box-shadow:0 0 calc(var(--u) * 30) #25e8ffd9}}.cn-wind{padding:calc(var(--u) * 4) calc(var(--u) * 18);border-radius:999px;background:#0a0e2e99;border:1px solid var(--line);color:#bfeaff;font-size:max(12px,calc(var(--u) * 24));white-space:nowrap;letter-spacing:-.04em}.cn-wind.strong{color:var(--gold);border-color:#ffd23f99}.cn-pause{position:absolute;top:calc(var(--u) * 14);right:calc(var(--u) * 16);width:calc(var(--u) * 84);height:calc(var(--u) * 84);min-width:44px;min-height:44px;padding:0;border-radius:calc(var(--u) * 22);border:1px solid var(--line);background:#0a0e2e94;color:var(--text);font-size:max(18px,calc(var(--u) * 36));line-height:1;cursor:pointer}.cn-pause:disabled{opacity:.35}.cn-hint{position:absolute;left:50%;top:36%;transform:translate(-50%);padding:calc(var(--u) * 12) calc(var(--u) * 30);border-radius:999px;background:#0a0e2eb8;border:1px solid rgba(255,210,63,.6);color:var(--gold);font-weight:900;font-size:max(14px,calc(var(--u) * 32));white-space:nowrap;animation:cn-hint 1.6s ease-in-out infinite}@keyframes cn-hint{50%{transform:translate(-50%) scale(1.05)}}.cn-move{position:absolute;left:calc(var(--u) * 20);bottom:calc(var(--u) * 18);display:flex;align-items:center;gap:calc(var(--u) * 12)}.cn-move-btn{width:calc(var(--u) * 104);height:calc(var(--u) * 92);min-width:48px;min-height:44px;border-radius:calc(var(--u) * 24);border:1px solid rgba(37,232,255,.55);background:#0a1e3cb3;color:var(--cyan);font-size:max(18px,calc(var(--u) * 40));line-height:1;cursor:pointer}.cn-move-btn.down{background:#25e8ff59;color:#fff}.cn-move-btn:disabled,.cn-hud.waiting .cn-arm{opacity:.4}.cn-fuel{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 4);width:calc(var(--u) * 120);font-size:max(12px,calc(var(--u) * 24))}.cn-fuel-track{width:100%;height:max(6px,calc(var(--u) * 12));border-radius:999px;background:#0a0e2ebf;border:1px solid rgba(255,255,255,.25);overflow:hidden}.cn-fuel-fill{width:100%;height:100%;background:linear-gradient(90deg,var(--orange),var(--gold));transition:width .1s linear}.cn-arms{position:absolute;right:calc(var(--u) * 20);bottom:calc(var(--u) * 18);display:flex;gap:calc(var(--u) * 12)}.cn-arm{position:relative;width:calc(var(--u) * 116);height:calc(var(--u) * 116);min-width:52px;min-height:52px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--u) * 2);border-radius:calc(var(--u) * 26);border:2px solid rgba(130,170,255,.4);background:#0e1238c7;color:var(--text);cursor:pointer;font-weight:900}.cn-arm.on{border-color:var(--gold);background:#46320ac7;box-shadow:0 0 calc(var(--u) * 20) #ffd23fa6}.cn-arm:disabled{opacity:.38}.cn-arm-icon{font-size:max(16px,calc(var(--u) * 40));line-height:1}.cn-arm-normal .cn-arm-icon{color:var(--cyan)}.cn-arm-name{font-size:max(10px,calc(var(--u) * 20))}.cn-arm-count{font-size:max(10px,calc(var(--u) * 20));color:var(--gold);font-variant-numeric:tabular-nums}.cn-arm-repair{margin-left:calc(var(--u) * 10);border-color:#69f0ae8c}.cn-rotate{display:none;position:absolute;left:50%;top:calc(var(--safe-t) + 18px);transform:translate(-50%);padding:8px 18px;border-radius:999px;background:#0a0e2ecc;border:1px solid var(--line);color:var(--muted);font-size:14px;white-space:nowrap}@media(orientation:portrait){.cn-root .cn-rotate{display:block}}.tank.ship-hero{filter:drop-shadow(0 0 18px rgba(37,232,255,.35))}.map-cannon .planet-node .planet-face{font-size:30px}.acct-btn{max-width:150px;padding:0 12px;font-size:15px}.acct-btn.in{border-color:#25e8ff8c;color:var(--cyan)}.acct-name{overflow:hidden;text-overflow:ellipsis}.pg-login{margin-top:4px}.screen-account{width:100%;max-width:520px;margin:0 auto;min-width:0}.ac-intro{text-align:center}.ac-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border-radius:16px;border:1px solid var(--line);background:#0000004d}.ac-tab{min-height:46px;border:none;border-radius:12px;background:transparent;color:var(--muted);font:800 16px/1.2 var(--font);cursor:pointer;touch-action:manipulation}.ac-tab.on{color:var(--text);background:linear-gradient(135deg,#19d3ff59,#7a5cff73);box-shadow:0 0 12px #25e8ff40}.ac-card{display:flex;flex-direction:column;gap:14px;padding:18px 16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);min-width:0}.ac-field{display:flex;flex-direction:column;gap:6px}.ac-field[hidden]{display:none}.ac-label{font-size:15px;font-weight:800;color:var(--muted)}.ac-input{width:100%;min-height:52px;padding:8px 14px;border-radius:14px;border:1px solid var(--line);background:#0006;color:var(--text);font:800 20px var(--font);-webkit-user-select:text;user-select:text}.ac-input:focus{outline:2px solid var(--cyan);outline-offset:1px}.ac-pin{letter-spacing:.5em;font-variant-numeric:tabular-nums}.ac-pin.masked{-webkit-text-security:disc}.ac-show{font-size:15px}.ac-submit{min-height:54px;font-size:19px}.ac-msg{min-height:1.4em;font-size:15px;font-weight:700;color:var(--red);overflow-wrap:anywhere}.ac-hint{font-size:14px;color:var(--muted);overflow-wrap:anywhere}.ac-warn{font-size:15px;font-weight:800;color:var(--orange)}.ac-me,.ac-welcome{align-items:center;text-align:center}.ac-avatar{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;font:900 34px/1 var(--font);background:linear-gradient(135deg,#19d3ff,var(--violet) 60%,var(--magenta));box-shadow:0 0 20px #25e8ff73}.ac-name{font-size:26px;font-weight:900;overflow-wrap:anywhere}.ac-status{font-size:15px;color:var(--muted)}.ac-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.ac-big{font-size:48px}.ac-title{font-size:24px;font-weight:900}.ac-cred{display:grid;grid-template-columns:auto auto;gap:6px 16px;align-items:baseline;padding:12px 20px;border-radius:14px;background:#00000059;font-size:16px;color:var(--muted)}.ac-cred b{font-size:24px;color:var(--gold);letter-spacing:.06em;text-align:left}@media(max-width:440px){.acct-btn{max-width:104px;padding:0 10px}}
