:root{--deep: #071a25;--ink: #02080e;--mist: #eafff8;--mint: #5ff4c2;--coral: #ff6e89;--panel: #041825;color:var(--mist);background:var(--ink);font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-width:320px;overflow:hidden;background:radial-gradient(circle at 50% 55%,#0d353b,#06131c 40%,#02080e 74%)}button{font:inherit}#app{min-height:100svh;display:grid;place-items:center;position:relative}#game-shell{width:min(100vw,46.2svh);aspect-ratio:420 / 908;max-height:100svh;position:relative;overflow:hidden;background:#071a25;box-shadow:0 0 0 1px #85f6e41f,0 20px 80px #00000094}#game-root,#game-root canvas{width:100%!important;height:100%!important;display:block;touch-action:none}#game-shell{touch-action:none}.loading-layer{position:absolute;z-index:50;inset:0;overflow:hidden;color:var(--mist);background:#020c12fb;pointer-events:auto;transition:opacity .18s cubic-bezier(.16,1,.3,1) .3s,visibility 0s linear .48s}.loading-layer:before{content:"";position:absolute;inset:0;opacity:.42;background:radial-gradient(ellipse at center,rgba(22,87,83,.24),transparent 52%)}.loading-axis{position:absolute;top:14%;bottom:14%;left:50%;width:1px;background:#5ff4c252;box-shadow:0 0 20px #5ff4c21a}.loading-axis:before,.loading-axis:after{content:"";position:absolute;left:50%;width:7px;height:7px;border:1px solid rgba(151,255,225,.78);background:var(--deep);transform:translate(-50%)}.loading-axis:before{top:0}.loading-axis:after{bottom:0}.loading-axis i{position:absolute;top:20%;left:50%;width:5px;height:42px;background:var(--mint);box-shadow:0 0 18px #5ff4c2d1;transform:translate(-50%);animation:loading-scan 2.8s cubic-bezier(.16,1,.3,1) infinite}.loading-copy{position:absolute;top:50%;left:24px;right:24px;display:grid;justify-items:center;gap:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center;transform:translateY(-50%)}.loading-copy span{color:#dbfff59e;font-size:10px;letter-spacing:1.5px}.loading-copy strong{color:var(--mint);font-size:13px;letter-spacing:2px;line-height:1}.loading-layer.is-ready{opacity:0;visibility:hidden;pointer-events:none}.loading-layer.is-ready .loading-axis i{animation:loading-complete .3s cubic-bezier(.16,1,.3,1) forwards}.loading-layer.is-ready .loading-copy span{color:var(--mint)}#hud{position:absolute;inset:0;pointer-events:none;z-index:2}.hud-top{position:absolute;top:max(16px,env(safe-area-inset-top));left:16px;right:16px;display:flex;justify-content:space-between;align-items:flex-start;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-shadow:0 2px 7px #021019}.level-mark,.metric{display:grid;gap:1px}.level-mark span,.metric span,.health-readout span{color:#d3fff4a8;font-size:10px;letter-spacing:1px}.level-mark strong{color:#5ff4c2;font-size:24px;letter-spacing:0;line-height:.9}.metric{text-align:right}.metric strong{color:#ffce33;font-size:16px;line-height:1.1}.metric-button{min-width:74px;padding:0;border:0;color:inherit;background:transparent;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent}.metric-button span:after{content:" +";color:var(--mint)}.metric-button:active{transform:translateY(1px)}.metric-button:focus-visible{outline:1px solid var(--mint);outline-offset:4px}.threat-panel{position:absolute;top:calc(max(16px,env(safe-area-inset-top)) + 50px);left:16px;right:16px;display:grid;gap:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.threat-line{display:flex;justify-content:space-between;color:#d7fff6cc;font-size:11px;letter-spacing:.6px}.threat-line strong{color:#4af6b6;font-size:13px}.progress-track{height:6px;overflow:hidden;background:#011118b8;border:1px solid rgba(136,242,220,.25)}.progress-track i{display:block;width:100%;height:100%;transform-origin:left center;background:#39f0af;box-shadow:0 0 12px #39f0afbf;transition:transform .16s ease-out}.experience-panel{position:absolute;top:calc(max(16px,env(safe-area-inset-top)) + 82px);left:16px;right:16px;display:grid;gap:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-shadow:0 2px 7px #021019}.experience-line{display:flex;justify-content:space-between;color:#d7fff6ad;font-size:10px;letter-spacing:.5px}.experience-line strong{color:var(--mist);font-size:12px}.experience-line em{color:#b7ffebc7;font-style:normal}.experience-track{height:4px;overflow:hidden;background:#011118b8;border:1px solid rgba(136,242,220,.2)}.experience-track i{display:block;width:100%;height:100%;transform-origin:left center;background:#a7ffe4;box-shadow:0 0 10px #5ff4c29e;transition:transform .18s cubic-bezier(.16,1,.3,1)}.boss-panel{position:absolute;top:calc(max(16px,env(safe-area-inset-top)) + 108px);left:16px;right:16px;display:grid;gap:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-shadow:0 2px 7px #021019;transition:opacity .18s ease-out,visibility .18s ease-out}.boss-line{display:flex;justify-content:space-between;color:#ffdae3d1;font-size:10px;letter-spacing:.6px}.boss-line em{color:#ffb7c7;font-style:normal}.boss-track{height:6px;overflow:hidden;background:#19050dc7;border:1px solid rgba(255,97,127,.44)}.boss-track i{display:block;width:100%;height:100%;transform-origin:left center;background:#ff617f;box-shadow:0 0 12px #ff617fb3;transition:transform .13s ease-out}.health-readout{position:absolute;left:16px;bottom:max(18px,env(safe-area-inset-bottom));width:104px;display:grid;gap:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-shadow:0 2px 8px #021019}.health-line{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.health-readout b{color:#ff8ca3;font-size:13px;line-height:1}.health-track{height:5px;overflow:hidden;background:#011118c7;border:1px solid rgba(255,142,163,.34)}.health-track i{display:block;width:100%;height:100%;transform-origin:left center;background:#ff6e89;box-shadow:0 0 10px #ff6e8994;transition:transform .18s cubic-bezier(.16,1,.3,1)}.emergency-shield{display:flex;justify-content:space-between;color:#c9ebf8ad;font-size:9px;letter-spacing:.55px}.emergency-shield b{color:#a8def8;font-size:10px;line-height:1}.ability-dock{position:absolute;right:12px;top:44%;display:grid;gap:8px;pointer-events:auto}.ability{width:66px;min-height:72px;border:1px solid rgba(124,255,220,.34);border-radius:6px;color:#dffff5;background:#041825c4;box-shadow:inset 0 0 16px #2cffc014,0 5px 14px #00000040;display:grid;justify-items:center;align-content:center;gap:3px;padding:6px 4px;cursor:pointer;-webkit-tap-highlight-color:transparent}.ability:active{transform:translateY(1px);border-color:#5ff4c2}.ability span{font-size:11px;font-weight:700}.ability em{color:#d3fff49e;font-style:normal;font-family:ui-monospace,monospace;font-size:9px}.ability i{display:block;width:21px;height:21px;position:relative}.pulse-icon:before,.pulse-icon:after{content:"";position:absolute;inset:0;border:2px solid #56eaff;border-radius:50%}.pulse-icon:after{inset:6px;border-color:#eaffff}.overload-icon:before{content:"";position:absolute;left:6px;top:0;width:10px;height:21px;background:#ff78d0;clip-path:polygon(55% 0,100% 0,62% 42%,96% 42%,14% 100%,36% 54%,3% 54%)}.is-overloaded .ability:first-child{border-color:#ff7ad0b8}.upgrade-layer{position:absolute;z-index:20;inset:0;display:grid;align-items:center;padding:56px 16px 20px;background:#020d14b8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:auto;transition:opacity .18s ease-out,visibility .18s ease-out}.upgrade-panel{width:100%;max-height:100%;overflow:auto;border:1px solid rgba(95,244,194,.56);border-radius:4px;background:#041923fa;box-shadow:0 18px 50px #00000075,inset 0 0 30px #5ff4c20b}.upgrade-head{min-height:64px;display:grid;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:12px;padding:12px 12px 10px 14px;border-bottom:1px solid rgba(129,255,222,.2)}.upgrade-head div{display:grid;gap:2px}.upgrade-head div span,.upgrade-head p{margin:0;color:#defff794;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.7px}.upgrade-head div strong{color:var(--mist);font-size:20px;line-height:1}.upgrade-head p{white-space:nowrap}.upgrade-head p b{color:var(--mint);font-size:14px}.icon-button{width:32px;height:32px;padding:0;border:1px solid rgba(132,255,224,.3);border-radius:2px;color:var(--mist);background:transparent;font-size:24px;line-height:1;cursor:pointer}.icon-button:hover,.icon-button:focus-visible{border-color:var(--mint);color:var(--mint);outline:none}.upgrade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px}.upgrade-card{min-width:0;min-height:104px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:4px 8px;padding:11px;border:1px solid rgba(130,255,221,.2);border-radius:3px;color:var(--mist);text-align:left;background:#05252fb8;cursor:pointer;transition:border-color .15s ease-out,background-color .15s ease-out,transform .15s ease-out}.upgrade-card:hover:not(:disabled),.upgrade-card:focus-visible{border-color:var(--mint);background:#0a3d43d6;outline:none}.upgrade-card:active:not(:disabled){transform:translateY(1px)}.upgrade-card:disabled{color:#e1f9f275;background:#051b24c7;cursor:not-allowed}.upgrade-card-top{grid-column:1 / -1;display:flex;align-items:baseline;justify-content:space-between;gap:6px}.upgrade-card-top b{font-size:13px}.upgrade-card-top em{color:#d0fff08f;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-style:normal}.upgrade-card>strong{min-width:0;color:var(--mint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.2}.upgrade-card>small{grid-column:1 / -1;color:#ddfff694;font-size:10px;line-height:1.2}.upgrade-cost{justify-self:end;align-self:end;color:#dafff5b8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;white-space:nowrap}.upgrade-card:disabled .upgrade-cost{color:#dafff557}.run-layer{position:absolute;z-index:24;inset:0;display:grid;place-items:center;padding:70px 16px 26px;background:#020d14b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:auto;transition:opacity .18s ease-out,visibility .18s ease-out}.levelup-panel,.wave-panel{width:100%;border:1px solid rgba(95,244,194,.58);border-radius:4px;background:#041923fa;box-shadow:0 18px 50px #00000075,inset 0 0 30px #5ff4c20b}.run-head{display:grid;gap:3px;padding:13px 14px 11px;border-bottom:1px solid rgba(129,255,222,.2)}.run-head span,.run-head em{color:#defff794;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-style:normal;letter-spacing:.65px}.run-head strong{color:var(--mist);font-size:21px;line-height:1.1}.run-head em{color:var(--mint)}.levelup-grid{display:grid;gap:7px;padding:10px}.levelup-card{min-height:70px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid rgba(130,255,221,.24);border-radius:3px;color:var(--mist);text-align:left;background:#05252fb8;cursor:pointer;transition:border-color .15s ease-out,background-color .15s ease-out,transform .15s ease-out}.levelup-card>span{min-width:0;display:grid;gap:3px}.levelup-card b{font-size:14px}.levelup-card small{color:#ddfff69e;font-size:10px;line-height:1.2}.levelup-card>strong{color:var(--mint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;white-space:nowrap}.levelup-card:hover,.levelup-card:focus-visible{border-color:var(--mint);background:#0a3d43d6;outline:none}.levelup-card:active{transform:translateY(1px)}.wave-panel{max-width:314px}.wave-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}.wave-action{min-height:44px;border-radius:2px;font-size:12px;font-weight:800;cursor:pointer;transition:background-color .15s ease-out,border-color .15s ease-out,transform .15s ease-out}.wave-action:active{transform:translateY(1px)}.wave-primary{border:1px solid var(--mint);color:#06231f;background:var(--mint)}.wave-secondary{border:1px solid rgba(201,255,239,.35);color:#e5fff7db;background:transparent}.wave-primary:hover,.wave-primary:focus-visible{background:#a0ffdb;outline:none}.wave-secondary:hover,.wave-secondary:focus-visible{border-color:var(--mist);outline:none}.hud-top,.threat-panel,.experience-panel,.health-readout,.ability-dock{transition:opacity .26s ease-out,transform .26s ease-out}#hud:not(.is-playing) .hud-top,#hud:not(.is-playing) .threat-panel,#hud:not(.is-playing) .experience-panel,#hud:not(.is-playing) .boss-panel,#hud:not(.is-playing) .health-readout,#hud:not(.is-playing) .ability-dock{opacity:0;pointer-events:none}#hud:not(.is-playing) .hud-top,#hud:not(.is-playing) .threat-panel,#hud:not(.is-playing) .experience-panel{transform:translateY(-10px)}#hud:not(.is-playing) .health-readout{transform:translateY(10px)}#hud:not(.is-playing) .ability-dock{transform:translate(10px)}.screen-layer{position:absolute;inset:0;isolation:isolate;overflow:hidden;color:var(--mist);background:linear-gradient(to bottom,#03111aa8,#03111ae0);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto;transition:opacity .36s ease-out,visibility .36s ease-out}.screen-layer:before,.screen-layer:after{content:"";position:absolute;z-index:0;width:46px;height:46px;border-color:#77f4cd4d;border-style:solid}.screen-layer:before{top:18px;left:18px;border-width:1px 0 0 1px}.screen-layer:after{right:18px;bottom:18px;border-width:0 1px 1px 0}.screen-topline{position:absolute;z-index:2;top:max(24px,env(safe-area-inset-top));left:28px;right:28px;display:flex;justify-content:space-between;color:#dafff594;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1}.screen-status{color:var(--mint)}.screen-status:before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;background:currentColor;box-shadow:0 0 10px currentColor}.screen-axis{position:absolute;z-index:0;top:13%;bottom:11%;left:50%;width:1px;background:linear-gradient(to bottom,transparent,rgba(95,244,194,.55) 20%,rgba(95,244,194,.55) 80%,transparent)}.screen-axis:before,.screen-axis:after{content:"";position:absolute;left:50%;width:7px;height:7px;border:1px solid var(--mint);background:var(--deep);transform:translate(-50%)}.screen-axis:before{top:13%}.screen-axis:after{bottom:13%}.screen-axis i{position:absolute;left:50%;top:42%;width:5px;height:38px;background:var(--mint);box-shadow:0 0 18px #5ff4c2cc;transform:translate(-50%);animation:axis-drift 4.8s cubic-bezier(.16,1,.3,1) infinite}.screen-copy{position:absolute;z-index:1;top:50%;left:24px;right:24px;display:grid;justify-items:center;gap:10px;text-align:center;transform:translateY(-52%)}.screen-eyebrow{margin:0;color:#dafff5a3;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.2}.screen-copy h1,.screen-copy h2{margin:0;font-family:Arial Black,PingFang SC,sans-serif;font-size:76px;line-height:.92;letter-spacing:0;text-shadow:0 4px 18px rgba(2,16,25,.72)}.screen-copy h1{color:var(--mist)}.screen-summary,.result-detail{margin:4px 0 0;color:#defff7c7;font-size:13px;line-height:1.6}.screen-summary b{display:inline-block;width:3px;height:3px;margin:0 9px 3px;background:var(--mint)}.screen-action-wrap{position:absolute;z-index:2;right:24px;bottom:max(42px,env(safe-area-inset-bottom));left:24px;display:grid;justify-items:center}.screen-action{width:min(248px,100%);min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--mint);border-radius:2px;color:#06231f;background:var(--mint);font-size:14px;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 10px 24px #12a17933;transition:background-color .18s ease-out,box-shadow .18s ease-out,transform .18s ease-out}.screen-action i{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid currentColor}.screen-action:hover{background:#a0ffdb;box-shadow:0 12px 28px #12a17952}.screen-action:active{transform:translateY(1px)}.screen-action:focus-visible{outline:2px solid var(--mist);outline-offset:3px}.result-layer{background:linear-gradient(to bottom,#120812c4,#0e060eeb)}.result-layer:before,.result-layer:after{border-color:#ff6e8952}.result-layer .screen-status,.result-layer .screen-eyebrow{color:var(--coral)}.result-layer .screen-axis{background:linear-gradient(to bottom,transparent,rgba(255,110,137,.5) 20%,rgba(255,110,137,.5) 42%,transparent 42%,transparent 58%,rgba(255,110,137,.5) 58%,rgba(255,110,137,.5) 80%,transparent)}.result-layer .screen-axis:before,.result-layer .screen-axis:after{border-color:var(--coral);background:#180b16}.result-layer .screen-axis i{display:none}.result-layer .screen-copy h2{font-size:64px;color:var(--mist)}.result-metrics{position:absolute;z-index:2;right:30px;bottom:max(120px,calc(env(safe-area-inset-bottom) + 92px));left:30px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid rgba(255,173,190,.28);border-bottom:1px solid rgba(255,173,190,.28)}.result-metrics div{min-width:0;padding:11px 0 10px}.result-metrics div+div{padding-left:18px;border-left:1px solid rgba(255,173,190,.22)}.result-metrics dt{color:#ffdae29e;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.result-metrics dd{margin:4px 0 0;color:var(--coral);font-family:Arial Black,PingFang SC,sans-serif;font-size:22px;line-height:1}.result-layer .screen-action{border-color:var(--coral);color:#2b0d19;background:var(--coral);box-shadow:0 10px 24px #aa234b3d}.result-layer .screen-action:hover{background:#ff9ab0;box-shadow:0 12px 28px #aa234b57}.result-layer.is-retired{background:linear-gradient(to bottom,#03181bc4,#031216eb)}.result-layer.is-retired:before,.result-layer.is-retired:after{border-color:#5ff4c257}.result-layer.is-retired .screen-status,.result-layer.is-retired .screen-eyebrow,.result-layer.is-retired .result-metrics dd{color:var(--mint)}.result-layer.is-retired .screen-axis{background:linear-gradient(to bottom,transparent,rgba(95,244,194,.5) 20%,rgba(95,244,194,.5) 42%,transparent 42%,transparent 58%,rgba(95,244,194,.5) 58%,rgba(95,244,194,.5) 80%,transparent)}.result-layer.is-retired .screen-axis:before,.result-layer.is-retired .screen-axis:after{border-color:var(--mint);background:var(--deep)}.result-layer.is-retired .result-metrics{border-color:#96ffe047}.result-layer.is-retired .result-metrics div+div{border-color:#96ffe038}.result-layer.is-retired .screen-action{border-color:var(--mint);color:#06231f;background:var(--mint);box-shadow:0 10px 24px #12a17933}.result-layer.is-retired .screen-action:hover{background:#a0ffdb;box-shadow:0 12px 28px #12a17952}.screen-layer.is-hidden{display:none}.is-hidden{opacity:0;visibility:hidden;pointer-events:none}@keyframes axis-drift{0%,to{top:42%;opacity:.74}50%{top:48%;opacity:1}}@keyframes loading-scan{0%,to{top:20%;opacity:.65}50%{top:66%;opacity:1}}@keyframes loading-complete{0%{top:20%;height:42px;opacity:1}to{top:calc(100% - 42px);height:42px;opacity:0}}@media(max-width:600px){#game-shell{width:min(100vw,46.2svh);max-height:100svh;box-shadow:none}.screen-topline{top:max(22px,env(safe-area-inset-top));left:24px;right:24px}.screen-copy h1{font-size:72px}.result-layer .screen-copy h2{font-size:58px}.result-metrics{right:26px;left:26px}}@media(max-width:600px)and (max-height:640px){.screen-topline{top:max(16px,env(safe-area-inset-top));left:18px;right:18px}.screen-copy{left:14px;right:14px;gap:6px}.screen-copy h1{font-size:58px;white-space:nowrap}.result-layer .screen-copy h2{font-size:46px;white-space:nowrap}.screen-eyebrow{font-size:10px}.screen-summary,.result-detail{font-size:12px}.screen-action-wrap{right:18px;bottom:max(24px,env(safe-area-inset-bottom));left:18px}.result-metrics{right:22px;bottom:max(94px,calc(env(safe-area-inset-bottom) + 70px));left:22px}.run-layer{padding:22px 12px 12px}.run-head{padding:10px 12px 9px}.run-head strong{font-size:18px}.levelup-grid{gap:5px;padding:7px}.levelup-card{min-height:58px;padding:8px 10px}.levelup-card b{font-size:13px}.wave-actions{padding:9px}.upgrade-layer{padding:24px 12px 12px}.upgrade-head{min-height:54px;padding:9px 10px 8px 12px}.upgrade-head div strong{font-size:18px}.upgrade-grid{grid-template-columns:1fr;gap:5px;padding:7px}.upgrade-card{min-height:64px;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;padding:8px 10px;gap:2px 7px}.upgrade-card-top{grid-column:1}.upgrade-card>strong{grid-column:1;grid-row:2}.upgrade-card>small{grid-column:2;grid-row:2;align-self:center;text-align:right}.upgrade-cost{grid-column:2;grid-row:1;align-self:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}
