:root{--void: #04141a;--deep: #071e24;--agar: #0e2f35;--line: rgba(93, 232, 196, .16);--line-strong: rgba(93, 232, 196, .42);--mint: #5de8c4;--mint-dim: #2b8f7d;--cyan: #45c8f0;--amber: #f0b45c;--coral: #ff8a5c;--pink: #ff6f9c;--violet: #b96bff;--lime: #b8d94a;--ink: #eafaf6;--muted: #8fb3b0;--panel: rgba(8, 30, 34, .86);--panel-2: rgba(13, 42, 46, .92);--shadow: 0 18px 50px rgba(0, 0, 0, .45);--mono: ui-monospace, "SFMono-Regular", "Cascadia Mono", Consolas, monospace;--sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#020c10;color:var(--ink);font-family:var(--sans);overflow:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body{background:radial-gradient(1200px 700px at 50% 0%,#0a2b30,#04161b 52%,#020b0e)}#app{display:grid;place-items:center;width:100%;height:100dvh;padding:0}#stage{position:relative;width:min(100%,177.78dvh);aspect-ratio:16 / 9;overflow:hidden;container-type:size;font-size:clamp(12px,1.02cqw,15px);background:#04141a;border-radius:clamp(0px,.9vw,14px);box-shadow:0 30px 90px #000000a6,0 0 0 1px #5de8c417;isolation:isolate}#game{position:relative;width:100%;height:100%;flex:1 1 auto;min-height:0}#game canvas{display:block}.topbar{position:absolute;top:0;left:0;right:0;z-index:6;display:flex;align-items:center;gap:.65em;padding:.62em 1.1em .8em;background:linear-gradient(180deg,#031115f0,#031115b8 55%,#03111500);pointer-events:none}.topbar>*{pointer-events:auto}.spacer{flex:1}.stat{display:flex;align-items:center;gap:.45em;height:2.5em;padding:0 .8em;border-radius:999px;background:#082125b8;border:1px solid var(--line);box-shadow:inset 0 1px #ffffff0a}.stat b{font-family:var(--mono);font-size:1.05em;letter-spacing:.02em;font-variant-numeric:tabular-nums}.stat small{color:var(--muted);font-size:.66em;letter-spacing:.14em}.core-orb{width:1.05em;height:1.05em;border-radius:50%;background:radial-gradient(circle at 34% 30%,#ffd6c2,var(--coral) 58%,#b93b26);box-shadow:0 0 .7em #ff8a5cb3;flex:none}.core-meter{width:7.4em;height:.5em;border-radius:999px;background:#00000073;box-shadow:inset 0 0 0 1px #ff8a5c2e;overflow:hidden}.core-meter i{display:block;height:100%;width:100%;border-radius:999px;background:linear-gradient(90deg,#ff6a4d,#ffb27a);box-shadow:0 0 .7em #ff8a5ccc;transition:width .25s ease,background .3s}.core.low .core-meter i{background:linear-gradient(90deg,#ff3d3d,#ff8a5c);animation:throb .9s ease-in-out infinite}@keyframes throb{50%{opacity:.55}}.atp-dot{width:.62em;height:.62em;border-radius:50%;background:var(--mint);box-shadow:0 0 .6em var(--mint)}.wave-block{display:flex;flex-direction:column;gap:.26em;padding-left:.3em}.wave-label{font-size:.76em;color:var(--muted);letter-spacing:.03em}.wave-label b{color:var(--ink);font-family:var(--mono);font-size:1.15em}.pips{display:flex;gap:.22em}.pips i{width:1.35em;height:.28em;border-radius:999px;background:#8fb3b038;transition:background .3s,box-shadow .3s}.pips i.done{background:var(--mint);box-shadow:0 0 .5em #5de8c4a6}.pips i.now{background:var(--amber);box-shadow:0 0 .5em #f0b45cb3}.chip{display:flex;align-items:center;gap:.35em;height:2.2em;padding:0 .7em;border-radius:999px;font-size:.74em;background:#b96bff1f;border:1px solid rgba(185,107,255,.45);color:#e7d2ff;white-space:nowrap}.chip em{font-style:normal;color:#ffb0ec;font-family:var(--mono)}.icon-btn{width:2.5em;height:2.5em;display:grid;place-items:center;border-radius:.72em;border:1px solid var(--line);background:#082125b8;color:var(--ink);font-family:var(--mono);font-size:.86em;cursor:pointer;transition:border-color .15s,background .15s,transform .1s}.icon-btn:hover{border-color:var(--line-strong);background:#12383ae6}.icon-btn:active{transform:scale(.94)}.icon-btn.on{color:var(--void);background:var(--mint);border-color:var(--mint)}.icon-btn.off{color:var(--muted);opacity:.55}.float{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:hidden}.science{position:absolute;top:5.2em;right:1.2em;width:19em;padding:.85em 1em .95em;border-radius:.85em;background:linear-gradient(155deg,#103437f5,#05181cf5);border:1px solid rgba(93,232,196,.32);box-shadow:var(--shadow),inset 0 1px #ffffff0f;animation:slideIn .34s cubic-bezier(.2,.9,.25,1)}.science:before{content:"";position:absolute;left:0;top:.9em;bottom:.9em;width:3px;border-radius:3px;background:var(--mint);box-shadow:0 0 .7em var(--mint)}@keyframes slideIn{0%{opacity:0;transform:translate(18px)}}.science-tag{font-size:.64em;letter-spacing:.22em;color:var(--mint);margin-bottom:.4em}.science h4{margin:0 0 .35em;font-size:.96em;letter-spacing:.02em}.science p{margin:0;font-size:.76em;line-height:1.65;color:#bfe3de}.toast{position:absolute;left:50%;bottom:10.5em;transform:translate(-50%);padding:.55em 1.1em;border-radius:999px;font-size:.82em;background:#05181ceb;border:1px solid var(--line-strong);color:var(--ink);box-shadow:0 10px 30px #0006;animation:popIn .22s ease-out;white-space:nowrap;max-width:92%;overflow:hidden;text-overflow:ellipsis}.toast.warn{border-color:#ff8a5c99;color:#ffd2c2}.toast.ok{border-color:#5de8c499}@keyframes popIn{0%{opacity:0;transform:translate(-50%,8px)}}.rotate-hint{display:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:.5em 1em;border-radius:999px;background:#041216d9;border:1px solid var(--line);color:var(--muted);font-size:.78em}.dock{position:absolute;left:0;right:0;bottom:0;z-index:6;display:flex;flex-direction:column;gap:.6em;padding:1.4em 1.1em .95em;background:linear-gradient(0deg,#030f13f7,#030f13db 62%,#030f1300)}.dock-row{display:flex;gap:.7em;align-items:stretch}.shop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6em;flex:1}.card{position:relative;display:flex;align-items:center;gap:.55em;padding:.55em .65em;min-height:4.7em;border-radius:.8em;border:1px solid var(--line);background:linear-gradient(158deg,#133739e6,#07191df0);color:var(--ink);font-family:inherit;text-align:left;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s;box-shadow:inset 0 1px #ffffff0d}.card:hover{transform:translateY(-2px);border-color:#5de8c473;box-shadow:0 10px 24px #00000059,inset 0 1px #ffffff12}.card:active{transform:translateY(0) scale(.99)}.card.selected{border-color:var(--mint);background:linear-gradient(158deg,#1e524cf5,#092224f5);box-shadow:0 0 0 1px #5de8c480,0 10px 28px #14786447}.card.poor{opacity:.55}.card-icon{width:3.6em;height:3.6em;flex:none;filter:drop-shadow(0 4px 10px rgba(0,0,0,.45))}.card-body{min-width:0;flex:1}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.35em}.card-name{font-size:.84em;font-weight:600;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cost{font-family:var(--mono);font-size:.82em;color:var(--amber);flex:none}.card-role{font-size:.7em;color:var(--mint);margin-top:.1em}.card-mech{font-size:.66em;color:var(--muted);margin-top:.18em;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wave-control{width:14.5em;flex:none;display:flex;flex-direction:column;gap:.4em;padding:.65em .8em;border-radius:.8em;border:1px solid var(--line);background:linear-gradient(160deg,#103034eb,#06161af2)}.wave-meta{display:flex;align-items:baseline;justify-content:space-between;gap:.4em}.wave-meta b{font-size:.84em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wave-meta span{font-size:.66em;color:var(--muted);white-space:nowrap}.wave-progress{height:.34em;border-radius:999px;background:#00000073;overflow:hidden}.wave-progress i{display:block;height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,var(--amber),var(--mint));transition:width .2s linear}.wave-btn{margin-top:.1em;height:2.3em;border-radius:.6em;border:none;font-family:inherit;font-size:.84em;font-weight:700;letter-spacing:.02em;color:#04211d;background:linear-gradient(180deg,#8ffce0,#46d3b2);box-shadow:0 6px 18px #46d3b24d;cursor:pointer;transition:filter .15s,transform .1s}.wave-btn:hover{filter:brightness(1.08)}.wave-btn:active{transform:scale(.98)}.wave-btn:disabled{background:#8fb3b029;color:var(--muted);box-shadow:none;cursor:default}.tower-panel{align-self:center;display:flex;align-items:center;gap:.9em;padding:.55em .75em .55em 1em;border-radius:.85em;border:1px solid var(--line-strong);background:linear-gradient(160deg,#153e3ef7,#071b1ff7);box-shadow:var(--shadow);animation:riseIn .22s ease-out}@keyframes riseIn{0%{opacity:0;transform:translateY(8px)}}.panel-title{display:flex;align-items:baseline;gap:.45em;font-size:.86em;font-weight:600}.panel-title span{font-family:var(--mono);font-size:.78em;color:var(--mint);padding:.1em .4em;border-radius:.35em;background:#5de8c41f}.panel-stats{font-size:.72em;color:var(--muted);font-family:var(--mono);white-space:nowrap}.panel-actions{display:flex;gap:.4em}.panel-actions button{height:2.1em;padding:0 .8em;border-radius:.5em;border:1px solid var(--line);background:#092426e6;color:var(--ink);font-family:inherit;font-size:.76em;cursor:pointer}.panel-actions button.up{background:linear-gradient(180deg,#8ffce0,#46d3b2);color:#04211d;border:none;font-weight:700}.panel-actions button:hover{filter:brightness(1.1)}.panel-actions button:disabled{opacity:.4;cursor:default}.panel-actions button.close{width:2.1em;padding:0;color:var(--muted)}.overlay{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:1.4em;background:radial-gradient(circle at 50% 42%,#051a1eb8,#020a0df0);backdrop-filter:blur(6px);animation:fadeIn .28s ease-out}.overlay.hidden{display:none}@keyframes fadeIn{0%{opacity:0}}.overlay-card{width:min(44em,100%);padding:1.9em 2.1em 1.8em;border-radius:1.1em;border:1px solid rgba(93,232,196,.24);background:linear-gradient(158deg,#0e2e32f7,#041317fa);box-shadow:0 40px 100px #0009,inset 0 1px #ffffff0f;text-align:left;position:relative;overflow:hidden}.overlay-card:after{content:"";position:absolute;right:-6em;top:-8em;width:20em;height:20em;border-radius:50%;background:radial-gradient(circle,rgba(93,232,196,.16),transparent 68%);pointer-events:none}.eyebrow{font-size:.68em;letter-spacing:.28em;color:var(--mint);margin-bottom:.7em}.overlay h1{font-size:clamp(2.1em,4.2cqw,3.4em);margin:0 0 .15em;letter-spacing:.04em;line-height:1.05;background:linear-gradient(120deg,#fff,#a8f6e3 46%,#6fd7ff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 20px rgba(93,232,196,.22))}.subtitle{font-size:.86em;color:var(--muted);margin:0 0 1.3em;letter-spacing:.02em}.rules{display:grid;gap:.55em;margin:0 0 1.5em}.rule{display:flex;gap:.7em;font-size:.78em;color:#cfeae5;line-height:1.55}.rule i{flex:none;width:1.6em;height:1.6em;display:grid;place-items:center;border-radius:.45em;font-style:normal;font-family:var(--mono);font-size:.9em;color:var(--mint);background:#5de8c41a;border:1px solid var(--line)}.cta{display:flex;align-items:center;gap:.8em;flex-wrap:wrap}.btn-primary{height:2.9em;padding:0 1.8em;border:none;border-radius:.65em;font-family:inherit;font-size:.92em;font-weight:700;letter-spacing:.06em;color:#04211d;background:linear-gradient(180deg,#a5ffe9,#46d3b2);box-shadow:0 10px 28px #46d3b252;cursor:pointer;transition:transform .12s,filter .12s}.btn-primary:hover{filter:brightness(1.07);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0) scale(.99)}.btn-ghost{height:2.9em;padding:0 1.2em;border-radius:.65em;border:1px solid var(--line);background:#071c20cc;color:var(--ink);font-family:inherit;font-size:.82em;cursor:pointer}.hint{font-size:.7em;color:var(--muted)}.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6em;margin:1.1em 0 1.5em}.result-cell{padding:.75em .85em;border-radius:.7em;border:1px solid var(--line);background:#082023b3}.result-cell small{display:block;font-size:.66em;color:var(--muted);letter-spacing:.08em;margin-bottom:.3em}.result-cell b{font-family:var(--mono);font-size:1.35em;font-weight:600}.verdict{display:inline-flex;align-items:center;gap:.4em;padding:.25em .7em;border-radius:999px;font-size:.7em;letter-spacing:.12em;margin-bottom:.8em}.verdict.win{color:#04211d;background:var(--mint)}.verdict.lose{color:#ffe3d8;background:#ff5a4633;border:1px solid rgba(255,120,100,.5)}.codex{position:absolute;inset:0;z-index:30;display:grid;place-items:center;padding:1.6em;background:#020a0ed6;backdrop-filter:blur(8px);animation:fadeIn .2s ease-out}.codex-panel{width:min(62em,100%);max-height:100%;display:flex;flex-direction:column;min-height:0;padding:1.35em 1.6em 1.1em;border-radius:1.1em;border:1px solid rgba(93,232,196,.25);background:linear-gradient(158deg,#0e2e32fa,#041317fc);box-shadow:0 40px 100px #0009,inset 0 1px #ffffff0f}.codex-head{display:flex;align-items:center;gap:1em}.codex-head h2{margin:0;font-size:1.5em;letter-spacing:.05em}.codex-head .eyebrow{margin-bottom:.35em}.codex-count{margin-left:auto;font-size:.76em;color:var(--muted)}.codex-count b{font-family:var(--mono);font-size:1.25em;color:var(--mint)}.codex-count i{font-style:normal;color:var(--ink)}.codex-hint{margin:.65em 0 1em;font-size:.73em;line-height:1.6;color:var(--muted)}.codex-body{display:flex;flex-direction:column;gap:1.05em;overflow-y:auto;padding-right:.45em;min-height:0}.codex-body::-webkit-scrollbar{width:.4em}.codex-body::-webkit-scrollbar-thumb{background:#5de8c447;border-radius:999px}.codex-group h3{display:flex;align-items:baseline;gap:.6em;margin:0 0 .55em;font-size:.8em;letter-spacing:.16em;color:var(--mint)}.codex-group h3 span{font-family:var(--mono);font-size:.85em;letter-spacing:0;color:var(--muted)}.codex-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55em}.codex-item{padding:.7em .8em;border-radius:.7em;border:1px solid var(--line);background:#082023a8}.codex-item h4{margin:0 0 .3em;font-size:.8em;letter-spacing:.02em}.codex-item p{margin:0;font-size:.7em;line-height:1.6;color:#bfe3de}.codex-item.locked{opacity:.48;border-style:dashed}.codex-item.locked h4,.codex-item.locked p{color:var(--muted)}.codex-item.locked h4{letter-spacing:.12em}@media(max-aspect-ratio:1/1){#app{align-items:stretch}#stage{width:100%;height:100dvh;aspect-ratio:auto;border-radius:0;display:flex;flex-direction:column;justify-content:flex-start;font-size:13px}.topbar{position:static;padding:.5em .45em;background:#031115fa;border-bottom:1px solid var(--line);gap:.3em}.stat{height:2.2em;padding:0 .55em;gap:.3em;font-size:.95em}.stat small{display:none}.icon-btn{width:2.2em;height:2.2em;font-size:.8em}.core-meter{width:3.2em}.wave-block{display:flex;align-items:center}.wave-block .pips,.wave-block .muted{display:none}.wave-label{font-size:.72em}.chip{height:2em;padding:0 .55em;font-size:.62em;gap:.25em}.chip>span:first-child{display:none}#game{flex:none;width:100%;height:auto;aspect-ratio:16 / 9;margin:auto 0;background:#04141a}.dock{position:relative;padding:.7em .6em calc(.7em + env(safe-area-inset-bottom));background:#030f13fa;gap:.5em}.dock-row{flex-direction:column}.shop{grid-template-columns:repeat(2,minmax(0,1fr))}.card{min-height:3.9em}.card-icon{width:2.9em;height:2.9em}.card-mech{display:none}.wave-control{width:100%;flex-direction:row;align-items:center;padding:.45em .6em}.wave-meta{flex:1;flex-direction:column;align-items:flex-start;gap:.1em}.wave-progress{display:none}.wave-btn{width:9.5em;margin:0}.tower-panel{position:absolute;left:.6em;right:.6em;bottom:calc(100% + .4em);flex-wrap:wrap;gap:.5em .8em;padding:.5em .7em}.panel-stats{font-size:.68em}.science{top:.6em;right:.6em;width:min(19em,58%)}.toast{bottom:.8em}.rotate-hint{display:block;top:58px;left:50%}.overlay-card{padding:1.4em 1.3em}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.codex{padding:.7em}.codex-panel{padding:1em .9em .9em}.codex-head h2{font-size:1.2em}.codex-hint{margin:.5em 0 .8em}.codex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-height:430px)and (min-aspect-ratio:1/1){#stage{font-size:12px}.card-mech{display:none}.card{min-height:3.9em}.card-icon{width:2.8em;height:2.8em}}.hidden{display:none!important}.tower-panel .mech{font-size:.7em;color:var(--muted);max-width:16em;line-height:1.45}
