:root{--font-display: "Fredoka Variable", "Fredoka", ui-rounded, system-ui, sans-serif;--font-body: "Nunito Variable", "Nunito", system-ui, sans-serif;--glass: rgba(13, 21, 37, .74);--glass-strong: rgba(12, 19, 34, .92);--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 255, 255, .18);--text: #f3f7fc;--muted: #9cb0c8;--gold: #ffcf4a;--gold2: #ff9f1c;--teal: #3fd4c4;--blue: #4aa8ff;--green: #3ddc84;--red: #ff5c5c;--pink: #ff5fb4;--radius: 16px;--shadow: 0 12px 34px rgba(0, 0, 0, .38);color-scheme:dark}*{box-sizing:border-box}html,body{font-family:var(--font-body);color:var(--text);-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}button:disabled{cursor:default}h1,h2,h3{font-family:var(--font-display);margin:0;font-weight:600;letter-spacing:.2px}p{margin:0}kbd{font-family:var(--font-display)}#stage{position:fixed;inset:0;touch-action:none}.game-canvas{display:block;width:100%;height:100%;outline:none}#ui{position:fixed;inset:0;pointer-events:none;z-index:10}.ui-root>*{pointer-events:auto}.ui-root{position:absolute;inset:0;pointer-events:none}.ui-root .vignette,.ui-root .toasts,.ui-root .fps{pointer-events:none}.glass{background:var(--glass);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.ico{display:inline-flex;width:1.25em;height:1.25em;flex:none;vertical-align:-.28em}.ico svg{width:100%;height:100%;display:block;overflow:visible}.muted{color:var(--muted)}.pad{padding:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:999px;font-family:var(--font-display);font-weight:600;font-size:15px;transition:transform .12s,filter .12s,opacity .12s,box-shadow .12s;white-space:nowrap;box-shadow:0 3px #00000040,inset 0 1px #ffffff40}.btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}.btn:active:not(:disabled){transform:translateY(1px) scale(.98);box-shadow:0 1px #00000040}.btn:disabled{opacity:.45;filter:saturate(.4)}.btn.primary{background:linear-gradient(180deg,#4fd1c5,#2a9d9a);color:#06201f}.btn.gold{background:linear-gradient(180deg,#ffe07a,#ffa928);color:#3a2400}.btn.ghost{background:#ffffff14;color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong)}.btn.danger{background:linear-gradient(180deg,#ff7a7a,#e04848);color:#2a0606}.btn.ad{background:linear-gradient(180deg,#fff07a,#ffc928);color:#3a2a00}.btn.air{background:linear-gradient(180deg,#8ff3ff,#2bb5e0);color:#032430}.btn.big{padding:14px 34px;font-size:21px}.icon-btn{width:40px;height:40px;border-radius:12px;display:inline-grid;place-items:center;flex:none;background:#ffffff12;transition:background .15s,transform .12s}.icon-btn:hover{background:#ffffff24}.icon-btn:active{transform:scale(.94)}.icon-btn .ico{width:22px;height:22px}.icon-btn.ok{background:linear-gradient(180deg,#4fe39a,#22b56a);color:#04210f}.icon-btn.ok.disabled{opacity:.4}.bar{height:8px;border-radius:99px;background:#ffffff1a;overflow:hidden}.bar.thin{height:5px}.bar .fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--teal),var(--blue));transition:width .3s}.costs{display:flex;flex-wrap:wrap;gap:4px}.cost{display:inline-flex;align-items:center;gap:3px;padding:2px 7px 2px 4px;border-radius:99px;background:#ffffff12;font-size:12.5px;font-weight:800;font-variant-numeric:tabular-nums}.cost.ok{color:#c9f7dc}.cost.short{color:#ffb4b4;background:#ff5c5c1f}.cost.over{color:#fff;background:#ff5c5c73}.costs.compact .cost{font-size:11.5px}.flow{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;font-weight:700}.flow-item{display:inline-flex;align-items:center;gap:2px;padding:1px 6px 1px 3px;border-radius:6px;background:#ffffff0f}.flow-item.out{color:#b6f5cf}.flow-item.in{color:#ffd2a8}.flow-item.pw{color:#ffe27a}.flow-arrow{color:var(--muted)}.hud-tl{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));width:292px;display:flex;flex-direction:column;gap:9px;max-height:calc(100% - 120px);pointer-events:none}.hud-tl>*{pointer-events:auto}.age-badge{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;text-align:left;transition:transform .15s}.age-badge:hover{transform:translateY(-1px)}.age-badge .ico{width:42px;height:42px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.age-text{flex:1;display:flex;flex-direction:column;gap:2px}.age-text small{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:var(--muted);font-weight:800}.age-text b{font-family:var(--font-display);font-size:19px;font-weight:600}.goal{padding:10px 12px;display:flex;flex-direction:column;gap:6px;border-left:3px solid var(--gold)}.goal.done{flex-direction:row;align-items:center;gap:8px;font-weight:700;font-size:14px}.goal-head{display:flex;align-items:center;gap:8px}.goal-head b{flex:1;font-family:var(--font-display);font-weight:600;font-size:15.5px}.goal-tag{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:1px;padding:2px 6px;border-radius:6px;background:var(--gold);color:#3a2400}.goal-gems{display:inline-flex;align-items:center;gap:3px;font-weight:800;color:#ffb3dc;font-size:13px}.goal p{font-size:12.5px;color:var(--muted);line-height:1.35}.goal-prog{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800}.goal-prog .bar{flex:1}.guide-toggle{align-self:flex-start;font-size:11.5px;font-weight:800;padding:3px 8px;border-radius:99px;background:#ffffff12;color:var(--muted)}.guide-toggle.on{color:#ffe680;background:#ffcf4a24}.guide-toggle.air{color:#bff4ff;background:#62e3ff29}.goal-actions{display:flex;gap:6px;flex-wrap:wrap}.goal-actions:empty{display:none}.res-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.res-head{display:flex;align-items:center;gap:8px;padding:9px 12px;font-family:var(--font-display);font-weight:600;font-size:15px}.res-head small{margin-left:auto;color:var(--muted);font-family:var(--font-body);font-weight:700;font-size:12px}.res-head small b{color:var(--text)}.chev{display:inline-block;transition:transform .2s;color:var(--muted);font-size:13px}.chev.up{transform:rotate(180deg)}.res-scroll{overflow-y:auto;padding:0 6px 8px;max-height:46vh;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.res-group+.res-group{margin-top:4px;border-top:1px solid var(--line);padding-top:4px}.res-group-head{display:flex;align-items:center;gap:6px;width:100%;padding:4px 6px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.res-group-head .chev{margin-left:auto}.res-row{position:relative;display:grid;grid-template-columns:22px 1fr auto 62px;align-items:center;gap:6px;padding:4px 6px;border-radius:8px;font-size:13px}.res-row:hover{background:#ffffff0d}.res-row .ico{width:21px;height:21px}.res-name{color:#d5e1ef;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.res-val{font-family:var(--font-display);font-weight:600;font-size:14px;font-variant-numeric:tabular-nums}.res-rate{font-size:11.5px;font-weight:800;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.res-rate.pos{color:var(--green)}.res-rate.neg{color:#ff8a8a}.res-cap{position:absolute;left:6px;bottom:1px;height:2px;border-radius:2px;background:linear-gradient(90deg,#3fd4c433,#3fd4c4bf);max-width:calc(100% - 12px);pointer-events:none}.res-row.full .res-val{color:#ff8a8a}.res-row.icy .res-name{color:#bff4ff}.res-row.full .res-cap{background:var(--red)}.res-compact{display:flex;flex-wrap:wrap;gap:4px 10px;padding:2px 6px 4px;font-size:12px;font-weight:800}.res-compact span{display:inline-flex;align-items:center;gap:3px}.res-compact span.full{color:#ff8a8a}.hud-tr{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));display:flex;gap:8px;align-items:stretch}.hud-tr .icon-btn{width:46px;height:46px;border-radius:14px}.overdrive{display:flex;align-items:center;gap:8px;padding:6px 14px 6px 10px;text-align:left;border-color:#ffcf4a73}.overdrive .ico{width:26px;height:26px}.overdrive span{display:flex;flex-direction:column;line-height:1.1}.overdrive b{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--gold)}.overdrive small{font-size:11px;color:var(--muted);font-weight:800}.overdrive.active{background:linear-gradient(135deg,#ffcf4a59,#ff8c1e4d);animation:pulse 2s ease-in-out infinite}.overdrive.active small{color:#fff3c4}@keyframes pulse{50%{box-shadow:0 0 0 4px #ffcf4a2e,var(--shadow)}}.gems{display:flex;align-items:center;gap:6px;padding:6px 14px;font-family:var(--font-display);font-size:18px}.gems .ico{width:24px;height:24px}.power{display:flex;align-items:center;gap:10px;padding:7px 14px 7px 10px;width:330px}.power>.ico{width:26px;height:26px}.power-main{flex:1;display:flex;flex-direction:column;gap:4px}.power-line{display:flex;align-items:baseline;gap:6px;font-size:12px;color:var(--muted);font-weight:700}.power-line b{font-family:var(--font-display);color:var(--text);font-size:15px;font-weight:600}.power-line .cap{margin-left:auto;font-size:11px}.power.deficit{border-color:#ff5c5c99}.power.deficit .power-line b{color:#ff8a8a}.battery{display:flex;align-items:center;gap:6px}.battery .bar{flex:1}.battery small{font-size:10.5px;color:#9fdcff;font-weight:800}.daynight{font-size:20px;color:#ffe27a}.bottom-bar{position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;gap:12px}.action{position:relative;width:92px;height:78px;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:linear-gradient(180deg,#1e2c46eb,#0e1626eb);border:1px solid var(--line-strong);box-shadow:0 5px #00000059,var(--shadow);font-family:var(--font-display);font-weight:600;font-size:14.5px;transition:transform .12s,box-shadow .12s}.action:hover{transform:translateY(-2px)}.action:active{transform:translateY(3px);box-shadow:0 2px #00000059,var(--shadow)}.action .ico{width:30px;height:30px;color:var(--gold)}.action.research .ico{color:#8fe9ff}.action.research.glow{border-color:#8fe9ffb3;animation:glow 2s ease-in-out infinite}@keyframes glow{50%{box-shadow:0 5px #00000059,0 0 24px #8fe9ff73}}.action kbd{position:absolute;top:6px;right:8px;font-size:10px;color:var(--muted)}.badge{position:absolute;top:-6px;right:-6px;min-width:24px;height:24px;padding:0 6px;border-radius:99px;display:grid;place-items:center;background:var(--red);color:#fff;font-style:normal;font-size:13px;font-weight:900;box-shadow:0 2px 6px #0006}.placement{position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:10px 12px;width:min(600px,94vw)}.pl-thumb{width:56px;height:56px;border-radius:12px;background:#ffffff0f}.pl-main{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.pl-main b{font-family:var(--font-display);font-weight:600;font-size:16px}.pl-main small{font-size:12px;font-weight:700}.pl-main small.ok{color:#a8f0c8}.pl-main small.bad{color:#ff9a9a}.binfo{position:absolute;right:max(12px,env(safe-area-inset-right));top:76px;width:340px;padding:14px;display:flex;flex-direction:column;gap:9px;max-height:calc(100% - 180px);overflow-y:auto;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(16px)}}.binfo-head{display:flex;align-items:center;gap:10px}.binfo-head img{width:64px;height:64px;border-radius:14px;background:radial-gradient(circle at 50% 35%,#ffffff1f,#ffffff05)}.binfo-head>div{flex:1;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.binfo-head b{font-family:var(--font-display);font-weight:600;font-size:19px}.tier{font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:1px;padding:2px 8px;border-radius:99px;color:#10141c}.binfo .desc{font-size:13px;color:var(--muted);line-height:1.4}.status{display:flex;align-items:center;gap:7px;font-weight:800;font-size:13px}.status i{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}.status.st-power i{background:var(--red);box-shadow:0 0 8px var(--red)}.status.st-input i{background:#ffb020;box-shadow:0 0 8px #ffb020}.status.st-full i,.status.st-idle i,.status.st-off i{background:#8aa0b8;box-shadow:none}.status.st-air{color:#9fdcff}.status.st-air i{background:#3fa7ff;box-shadow:0 0 8px #3fa7ff;animation:airPulse 1.2s infinite}.missing{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:12px;background:#ffb0201a;border:1px solid rgba(255,176,32,.4);font-size:12.5px;line-height:1.35;color:#ffe2b0;font-weight:700}.missing-text{flex:1;min-width:0}.missing>.ico{width:26px;height:26px;flex:none}.missing b{color:#ffc65a}.missing .btn{font-size:13px;padding:7px 12px;flex:none}.recipes{display:flex;flex-wrap:wrap;gap:5px}.recipes button{display:inline-flex;align-items:center;gap:4px;padding:5px 9px 5px 6px;border-radius:10px;background:#ffffff12;font-size:12.5px;font-weight:800;border:1px solid transparent}.recipes button.on{border-color:var(--teal);background:#3fd4c42e}.binfo-all{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:10px;background:#ffffff0a}.binfo-all small{color:var(--muted);font-weight:700;font-size:11.5px}.tierup{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:12px;background:linear-gradient(135deg,#ffcf4a1f,#ad72ff1a)}.tierup .btn{font-size:13.5px}.binfo-actions{display:flex;gap:8px}.binfo-actions .btn{flex:1;font-size:13.5px;padding:8px 10px}.hud-tc{position:absolute;top:max(12px,env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.hud-tc>*{pointer-events:auto}.atmo-meter{display:flex;align-items:center;gap:10px;padding:7px 14px 7px 10px;width:330px;text-align:left;border-color:#62e3ff59;transition:border-color .2s}.atmo-meter>.ico{width:28px;height:28px}.am-main{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.am-line{display:flex;align-items:baseline;gap:6px;font-size:12px;color:var(--muted);font-weight:700}.am-line b{font-family:var(--font-display);color:#bff4ff;font-size:15px;font-weight:600}.am-line>span:nth-child(2){color:var(--text);font-weight:800}.am-line .cap{margin-left:auto;font-size:11px;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.am-line .cap .ico{width:14px;height:14px}.am-bars{display:flex;gap:4px}.am-bars>span{flex:1}.atmo-meter.low{border-color:#ffb347b3}.atmo-meter.bad{border-color:#ff5c5cd9;animation:airPulse 1.2s ease-in-out infinite}.atmo-meter.bad .am-line b{color:#ff9a9a}@keyframes airPulse{50%{box-shadow:0 0 0 4px #ff5c5c40,var(--shadow)}}.binfo-actions .btn.danger{flex:0 0 auto}.badges{display:flex;align-items:center;gap:8px}.badges small{font-size:11.5px;font-weight:800}.pips{display:inline-flex;gap:3px}.pips i{width:9px;height:9px;border-radius:3px;background:#ffffff21;transform:rotate(45deg) scale(.8)}.upg{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:14px;background:linear-gradient(160deg,#62e3ff12,#ad72ff12);border:1px solid rgba(255,255,255,.07)}.upg-head{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:600;font-size:15px}.upg-head .ico{color:var(--gold)}.upg-head small{margin-left:auto;font-family:var(--font-body);font-size:11px;color:var(--muted);font-weight:800}.tier-row,.mod-row{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:11px;background:#0000002e}.tier-row{background:linear-gradient(135deg,#ffcf4a24,#ad72ff1a)}.tier-row .btn{font-size:13px;padding:7px 12px}.mod-row.has{background:#ffffff0d}.mod-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.mod-top{display:flex;align-items:center;gap:8px}.mod-top b{font-family:var(--font-display);font-weight:600;font-size:14px}.mod-top .good{color:var(--green);font-weight:800;font-size:11.5px}.mod-main>small{font-size:11.5px;color:var(--muted);font-weight:700}.mod-main>small em{font-style:normal;color:#c9f7dc}.mod-btn{width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;font-family:var(--font-display);font-size:22px;font-weight:700;line-height:1;background:linear-gradient(180deg,#4fd1c5,#2a9d9a);color:#06201f;box-shadow:0 3px #0000004d;transition:transform .1s,filter .1s}.mod-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.mod-btn:active:not(:disabled){transform:translateY(1px)}.mod-btn:disabled{opacity:.35;filter:saturate(.3)}.mod-max{font-size:10.5px;font-weight:900;letter-spacing:1px;color:var(--gold);padding:0 4px}.tier-lock{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700}.match{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:#3fd4c41a;border:1px solid rgba(63,212,196,.35)}.match>div{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.match b{font-family:var(--font-display);font-weight:600;font-size:14px}.match small{font-size:11.5px;color:var(--muted);font-weight:700}.match .btn{font-size:13px;padding:8px 12px}.atmo-panel{border-color:#62e3ff66}.binfo-head>.atmo-icon{width:64px;height:64px;flex:none;border-radius:14px;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#62e3ff47,#62e3ff0a)}.air-big{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:4px 8px;padding:10px 12px;border-radius:12px;background:#62e3ff14}.air-big span{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.air-big b{font-family:var(--font-display);font-size:26px;font-weight:600}.air-big .bar{grid-column:1 / -1}.air-big.bad{background:#ff5c5c1f;animation:airPulse 1.2s infinite}.atmo-stats{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;font-size:13px;padding:0 2px}.atmo-stats span{color:var(--muted);font-weight:700}.atmo-stats b{text-align:right;font-weight:800}.atmo-stats b small{color:var(--muted);font-weight:700;font-size:11px;margin-left:4px}.atmo-up{background:linear-gradient(135deg,#62e3ff29,#ad72ff1a)}.atmo-up b{font-family:var(--font-display);font-weight:600;font-size:16px}.atmo-up small{font-size:12px;color:#cfeaf5;font-weight:700}.atmo-up .btn{align-self:stretch}.binfo .fine{margin-top:0}.small{font-size:12.5px}.toasts{position:absolute;top:142px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:40;width:max-content;max-width:92vw}.toast{display:flex;align-items:center;gap:8px;padding:8px 16px 8px 10px;border-radius:99px;background:var(--glass-strong);border:1px solid var(--line-strong);box-shadow:var(--shadow);font-weight:800;font-size:14px;animation:toastIn .3s cubic-bezier(.2,1.4,.4,1)}.toast .ico{width:22px;height:22px}.toast.good{border-color:#3ddc8499}.toast.warn{border-color:#ffb020b3;color:#ffd9a0}.toast.age{border-color:#ffcf4ab3;color:#fff3c4}.toast.gem{border-color:#ff5fb499;color:#ffd1ea}@keyframes toastIn{0%{opacity:0;transform:translateY(-10px) scale(.92)}}.sheet-wrap{position:absolute;inset:0;display:grid;place-items:center;background:#04091261;animation:fade .18s;z-index:20;padding:12px}@keyframes fade{0%{opacity:0}}.sheet{width:min(720px,96vw);max-height:min(84vh,860px);display:flex;flex-direction:column;background:var(--glass-strong);animation:pop .22s cubic-bezier(.2,1.3,.4,1)}.sheet.wide{width:min(1040px,96vw)}@keyframes pop{0%{opacity:0;transform:translateY(14px) scale(.97)}}.sheet-head{display:flex;align-items:center;gap:10px;padding:14px 14px 10px 18px;border-bottom:1px solid var(--line)}.sheet-head h2{flex:1;font-size:23px}.sheet-head>.ico{width:28px;height:28px;color:var(--gold)}.sheet-body{overflow-y:auto;padding:14px 16px 18px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.tabs button{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:99px;background:#ffffff12;font-weight:800;font-size:13.5px;transition:background .15s}.tabs button:hover:not(:disabled){background:#ffffff21}.tabs button.on{background:linear-gradient(180deg,#ffe07a,#ffa928);color:#3a2400}.tabs button:disabled{opacity:.35}.tabs button i{font-style:normal;font-size:11px;padding:0 6px;border-radius:99px;background:#0003}.tabs.ages button{padding:6px 12px 6px 7px}.tabs.ages button span{font-family:var(--font-display);font-weight:600}.tabs.ages button em{font-style:normal;font-size:12px;opacity:.8}.tabs.ages button.on{background:var(--age);color:#1c1305}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.bcard{display:flex;gap:10px;padding:9px;text-align:left;border-radius:14px;background:#ffffff0d;border:1px solid var(--line);transition:transform .12s,background .15s,border-color .15s}.bcard:hover:not(:disabled){transform:translateY(-2px);background:#ffffff17;border-color:#3fd4c499}.bcard.locked{opacity:.55;filter:grayscale(.6)}.bthumb{position:relative;width:84px;height:84px;flex:none;border-radius:12px;background:radial-gradient(circle at 50% 35%,#ffffff24,#ffffff05)}.bthumb img{width:100%;height:100%;display:block}.bthumb .count{position:absolute;bottom:3px;right:4px;font-family:var(--font-display);font-weight:600;font-size:13px;padding:0 6px;border-radius:99px;background:#0000008c}.tier-dot{position:absolute;top:4px;left:4px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:900;color:#10141c}.bcard-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.bcard-body b{font-family:var(--font-display);font-weight:600;font-size:15.5px}.bcard .lock{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);font-weight:800}.veins{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:800;color:#a8f0c8}.veins.none{color:#ff9a9a}.veins em{font-style:normal;color:var(--muted)}.tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:10px}.tcard{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:14px;background:#ffffff0d;border:1px solid var(--line)}.tcard.ready{border-color:#8fe9ff99;background:#8fe9ff12}.tcard.done{opacity:.5}.tcard.locked{opacity:.7}.tcard.major{grid-column:1 / -1;padding:14px;background:linear-gradient(135deg,#ffcf4a29,#ff8c1e14);border-color:#ffcf4a80}.tcard.major b{font-size:19px;color:var(--gold)}.ticon{width:54px;height:54px;flex:none;border-radius:12px;display:grid;place-items:center;background:#ffffff12}.ticon img{width:100%;height:100%}.tbody{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.tbody b{font-family:var(--font-display);font-weight:600;font-size:15.5px}.tbody p{font-size:12.5px;color:var(--muted);line-height:1.35}.tbody .req{font-size:11.5px;color:#ffcf9a;font-weight:800}.tact{align-self:center}.done-badge{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#3ddc8433;color:var(--green)}.shop-sec+.shop-sec,.set-sec+.set-sec{margin-top:18px}.shop-sec h3,.set-sec h3{font-size:13px;text-transform:uppercase;letter-spacing:1.4px;color:var(--muted);margin-bottom:8px}.shop-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#ffffff0d;border:1px solid var(--line)}.shop-row+.shop-row{margin-top:8px}.shop-row>div{flex:1}.shop-row b{font-family:var(--font-display);font-weight:600;font-size:16px;display:flex;align-items:center;gap:8px}.shop-row p{font-size:12.5px;color:var(--muted)}.shop-row.best{border-color:#ff5fb499}.shop-row.vip{background:linear-gradient(135deg,#ffcf4a24,#ad72ff1f);border-color:#ffcf4a80}.tag{font-style:normal;font-size:10px;font-weight:900;text-transform:uppercase;padding:2px 7px;border-radius:99px;background:var(--pink);color:#2a0618}.fine{margin-top:12px;font-size:11.5px;color:var(--muted)}.slider{display:grid;grid-template-columns:90px 1fr 44px;align-items:center;gap:10px;padding:6px 0;font-weight:700;font-size:14px}.slider em{font-style:normal;color:var(--muted);font-size:12px;text-align:right}input[type=range]{accent-color:var(--teal);width:100%}.seg{display:inline-flex;padding:3px;border-radius:99px;background:#ffffff12;margin-bottom:8px}.seg button{padding:6px 16px;border-radius:99px;font-weight:800;font-size:13.5px}.seg button.on{background:var(--teal);color:#06201f}.check{display:flex;align-items:center;gap:8px;padding:4px 0;font-weight:700;font-size:14px}.check input{accent-color:var(--teal);width:16px;height:16px}.stats{display:grid;grid-template-columns:1fr auto;gap:4px 12px;font-size:14px;margin-bottom:10px}.stats span{color:var(--muted);font-weight:700}.stats b{font-family:var(--font-display);font-weight:600;text-align:right}.row-btns{display:flex;gap:8px;flex-wrap:wrap}.modal-wrap{position:absolute;inset:0;display:grid;place-items:center;background:#04091294;z-index:50;animation:fade .2s;padding:14px}.modal{width:min(540px,94vw);max-height:90vh;overflow-y:auto;padding:24px 24px 20px;text-align:center;background:var(--glass-strong);display:flex;flex-direction:column;gap:12px;align-items:center;animation:pop .3s cubic-bezier(.2,1.3,.4,1)}.modal h1{font-size:30px;line-height:1.1}.modal h2{font-size:24px}.modal .sub{color:var(--muted);font-size:14.5px}.modal p{font-size:14px;line-height:1.45}.modal .kicker{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:900;color:var(--muted)}.modal-icon .ico{color:var(--teal)}.modal-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:4px}.gains{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;width:100%}.gain{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:12px;background:#ffffff0f}.gain b{font-family:var(--font-display);font-weight:600;font-size:16px;color:#b6f5cf}.gain small{font-size:10.5px;color:var(--muted);font-weight:700}.age-burst{position:relative;width:140px;height:140px;display:grid;place-items:center}.age-burst:before{content:"";position:absolute;inset:-20px;border-radius:50%;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--age) 55%,transparent) 0 8deg,transparent 8deg 22deg);animation:spin 14s linear infinite;mask:radial-gradient(circle,#000 30%,transparent 70%);-webkit-mask:radial-gradient(circle,#000 30%,transparent 70%)}.age-burst:after{content:"";position:absolute;inset:20px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--age) 70%,transparent),transparent 70%)}.age-burst .ico{position:relative;z-index:1;filter:drop-shadow(0 6px 16px rgba(0,0,0,.5));animation:bob 2.4s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bob{50%{transform:translateY(-6px)}}.unlocks{width:100%;display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;background:#ffffff0d}.unlocks>div{display:flex;align-items:center;gap:8px;justify-content:center;font-size:14px}.unlocks .thumbs img{width:58px;height:58px;border-radius:10px;background:#ffffff0f}.unlocks .thumbs{gap:6px;flex-wrap:wrap}.fake-ad{width:100%;aspect-ratio:16 / 9;border-radius:14px;display:grid;place-content:center;gap:10px;background:repeating-linear-gradient(45deg,#1d2a42 0 14px,#18233a 14px 28px);border:1px dashed var(--line-strong);color:var(--muted)}textarea.code{width:100%;height:76px;resize:none;border-radius:10px;border:1px solid var(--line-strong);background:#0000004d;color:var(--text);font-family:ui-monospace,monospace;font-size:11px;padding:8px;user-select:text;-webkit-user-select:text}.note{color:var(--gold);font-weight:800}.warnbox{width:100%;display:flex;gap:8px;align-items:flex-start;text-align:left;padding:10px 12px;border-radius:12px;background:#ff5c5c1f;border:1px solid rgba(255,92,92,.4);font-size:13px!important;color:#ffd2d2}.warnbox .ico{width:22px;height:22px;flex:none}.title-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;background:radial-gradient(ellipse at 50% 45%,#050c1800,#050c188c);animation:fade .8s}.logo{display:flex;flex-direction:column;align-items:center;gap:6px}.logo-mark{width:84px;height:84px;transform:rotate(-6deg);filter:drop-shadow(0 10px 26px rgba(98,227,255,.35))}.logo h1{font-size:clamp(54px,11vw,112px);font-weight:700;letter-spacing:2px;line-height:.95;color:#fff;text-shadow:0 4px 0 #23406e,0 8px 0 rgba(10,20,45,.6),0 14px 30px rgba(0,0,0,.55)}.logo h1 span{color:var(--gold);text-shadow:0 4px 0 #b06a00,0 8px 0 rgba(60,30,0,.6),0 14px 30px rgba(0,0,0,.45)}.logo p{font-family:var(--font-display);font-size:clamp(16px,2.6vw,22px);color:#bff4ff;text-shadow:0 2px 8px rgba(0,0,0,.6);letter-spacing:.5px}.title-home{position:absolute;top:max(16px,env(safe-area-inset-top));left:16px;padding:7px 14px;border-radius:999px;font-family:var(--font-display);font-weight:600;font-size:14px;color:#d5e1ef;text-decoration:none;background:#070b1680;border:1px solid var(--line-strong);backdrop-filter:blur(8px)}.title-home:hover{color:#fff;background:#070b16bf}.title-btns{display:flex;flex-direction:column;align-items:center;gap:12px}.title-foot{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));font-size:13px;font-weight:700;color:#ffffffbf;text-shadow:0 1px 4px rgba(0,0,0,.6);text-align:center;padding:0 16px}.vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 58%,rgba(5,10,20,.34));z-index:-1}.fps{position:absolute;bottom:8px;right:10px;font-size:12px;font-weight:800;color:#9fdcff}.world-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}.floater{position:absolute;left:0;top:0;white-space:nowrap;font-family:var(--font-display);font-weight:600;font-size:20px;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.45),0 0 10px rgba(0,0,0,.35);will-change:transform,opacity}.floater .ico{width:24px;height:24px;vertical-align:-5px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.4))}.floater.fl-gain{color:#fff6cf}.floater.fl-gold{color:var(--gold);font-size:22px}.harvest-ring{position:absolute;left:0;top:0;width:42px;height:42px;display:none}.harvest-ring svg{width:100%;height:100%;transform:rotate(-90deg);filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.harvest-ring .bg{fill:#0a12208c;stroke:#ffffff40;stroke-width:4}.harvest-ring .fg{fill:none;stroke:#ffe066;stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .08s linear}.harvest-ring .lock{display:none;position:absolute;top:44px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:12px;font-weight:800;padding:3px 9px;border-radius:99px;background:#0c1322d9;color:#ffb4b4;border:1px solid rgba(255,92,92,.5)}.harvest-ring.locked .lock{display:block}.harvest-ring.locked .fg{stroke:transparent}.harvest-ring.locked .bg{stroke:#ff5c5c99}.suit-pill{position:absolute;left:0;top:0;display:none;align-items:center;gap:5px;padding:3px 8px 3px 3px;border-radius:99px;background:#081222d1;border:1px solid rgba(98,227,255,.5);font-size:11.5px;font-weight:900;color:#bff4ff;white-space:nowrap;box-shadow:0 3px 10px #00000059}.suit-o2{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#62e3ff38;font-size:9px;font-weight:900;color:#e4fbff}.suit-bar{width:52px;height:6px;border-radius:99px;background:#ffffff1f;overflow:hidden}.suit-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#3fb4ff,#8ff3ff);transition:width .2s linear}.suit-pill b{min-width:32px;text-align:right;font-variant-numeric:tabular-nums}.suit-pill.fill{border-color:#3ddc84a6;color:#b6f5cf}.suit-pill.fill .suit-o2{background:#3ddc8440}.suit-pill.fill .suit-bar i{background:linear-gradient(90deg,#22b56a,#4fe39a)}.suit-pill.thin,.suit-pill.reserve{border-color:#ffb34799}.suit-pill.low{border-color:#ffb347f2;color:#ffd9a0}.suit-pill.low .suit-o2{background:#ff9f1c4d}.suit-pill.low .suit-bar i{background:linear-gradient(90deg,#ff9f1c,#ffcf4a)}.suit-pill.crit{border-color:#ff5c5c;color:#ffc4c4;animation:suitBlink .7s steps(2) infinite}.suit-pill.crit .suit-o2{background:#ff5c5c73}.suit-pill.crit .suit-bar i{background:#ff5c5c}@keyframes suitBlink{50%{background:#5a0a10eb}}.suit-vignette{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 50%,transparent 38%,rgba(255,30,30,.42) 70%,rgba(255,24,24,.85) 100%)}.blackout-fx{position:absolute;inset:0;pointer-events:none;background:#02040a;opacity:0}.blackout-fx.on{animation:blackoutFx 2s ease-out}@keyframes blackoutFx{0%,40%{opacity:1}to{opacity:0}}.world-tag{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;padding:6px 12px;border-radius:12px;background:#0c1322bf;border:1px solid var(--line-strong);white-space:nowrap}.world-tag b{font-family:var(--font-display);font-weight:600;font-size:15px}.world-tag span{font-size:11px;color:var(--muted);font-weight:700}.world-tag.locked b{color:#ffe7a8}.world-tag.atmo{border-color:#62e3ff73;background:#081626b8}.world-tag.atmo b{color:#bff4ff;font-size:14px}.world-tag.atmo.dormant{border-color:#ffcf4a99;animation:tagBob 1.6s ease-in-out infinite}.world-tag.atmo.dormant b{color:#ffe7a8}.world-tag.atmo.warn{border-color:#ff5c5ccc;background:#300a0ecc}.world-tag.atmo.warn b{color:#ffb4b4}@keyframes tagBob{50%{margin-top:-4px}}.joystick{position:fixed;display:none;width:112px;height:112px;margin:-56px 0 0 -56px;border-radius:50%;background:#ffffff14;border:2px solid rgba(255,255,255,.28);pointer-events:none;z-index:8}.joystick-knob{position:absolute;left:50%;top:50%;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;background:#ffffffb3;box-shadow:0 4px 12px #00000059}@media(max-width:760px){.hud-tl{width:214px;gap:6px}.age-badge{padding:5px 10px 5px 5px}.age-badge .ico{width:32px;height:32px}.age-text b{font-size:15px}.goal{padding:7px 9px}.goal p{display:none}.goal-head b{font-size:13.5px}.res-scroll{max-height:28vh}.res-row{grid-template-columns:20px 1fr auto 52px;font-size:12px}.res-name{display:none}.res-row{grid-template-columns:20px auto 1fr}.res-rate{text-align:right}.hud-tc{top:auto;bottom:104px;flex-direction:column-reverse}.power,.atmo-meter{width:min(300px,70vw)}.hud-tr .overdrive span small{display:none}.overdrive{padding:6px 10px}.gems{padding:6px 10px;font-size:16px}.hud-tr .icon-btn{width:42px;height:42px}.binfo{inset:auto 8px 104px;width:auto;max-height:56vh;z-index:15}.action{width:78px;height:66px;font-size:13px}.action kbd{display:none}.toasts{top:120px}.card-grid,.tech-grid{grid-template-columns:1fr}.sheet{max-height:88vh}.tabs.ages button em{display:none}}@media(max-width:560px){.hud-tl{top:calc(max(12px,env(safe-area-inset-top)) + 58px);width:200px}.hud-tr{left:max(12px,env(safe-area-inset-left));justify-content:flex-end}.hud-tr .overdrive{margin-right:auto}}@media(max-width:760px)and (max-height:500px){.hud-tl{width:200px}.res-scroll{max-height:22vh}}input,textarea{user-select:text;-webkit-user-select:text}.title-account{width:min(520px,92vw)}.account-card{display:flex;align-items:center;gap:12px;padding:12px 14px;text-align:left}.account-card .ac-icon{width:44px;height:44px;flex:none;border-radius:14px;display:grid;place-items:center;background:#62e3ff24}.account-card.st-guest .ac-icon,.account-card.st-signedout .ac-icon,.account-card.st-offline .ac-icon,.account-card.st-unavailable .ac-icon{background:#ffb34724}.account-card .ac-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.account-card .ac-main b{font-family:var(--font-display);font-weight:600;font-size:16px}.account-card .ac-main small{font-size:12.5px;color:var(--muted);font-weight:700;line-height:1.35}.account-card .ac-actions{display:flex;flex-direction:column;gap:6px;flex:none}.account-card .ac-actions .btn{font-size:13.5px;padding:8px 14px}.account-card.compact{box-shadow:none;background:#ffffff0a;margin-bottom:8px}.account-card.compact .ac-actions{flex-direction:row}.cloud-btn{position:relative}.cloud-btn.st-guest,.cloud-btn.st-signedout{border-color:#ffb34799}.cloud-btn.st-saving .ico{animation:bob .8s ease-in-out infinite}.cloud-btn.st-conflict{border-color:#ff5c5ccc}.cloud-btn .dot{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 2px #0a101ce6}.cloud-btn.st-conflict .dot{background:var(--red)}.modal form.login{display:contents}.login-tabs{margin:2px 0 4px}.field{width:100%;display:flex;flex-direction:column;gap:4px;text-align:left}.field span{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.field input{width:100%;padding:11px 13px;border-radius:12px;border:1px solid var(--line-strong);background:#00000052;color:var(--text);font:inherit;font-size:16px;font-weight:700;outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:#62e3ffcc;box-shadow:0 0 0 3px #62e3ff2e}.check.keep{width:100%;align-items:flex-start;text-align:left;padding:10px 12px;border-radius:12px;background:#3ddc8414;border:1px solid rgba(61,220,132,.3)}.check.keep span{display:flex;flex-direction:column;gap:3px}.btn.google{width:100%;gap:10px;background:#fff;color:#1f1f1f;font-family:"Roboto",var(--font-body, system-ui),sans-serif;font-weight:600;box-shadow:0 3px #00000040,inset 0 0 0 1px #dadce0}.btn.google.small{width:auto;padding:7px 14px;font-size:13.5px}.modal-btns .btn.google{width:auto}.g-mark{flex:none}.or-line{width:100%;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.or-line:before,.or-line:after{content:"";flex:1;height:1px;background:var(--line-strong)}.sum-line{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:12.5px;font-weight:700;color:#d5e1ef}.err{width:100%;padding:8px 12px;border-radius:10px;background:#ff5c5c24;border:1px solid rgba(255,92,92,.45);color:#ffc4c4;font-size:13px!important;font-weight:800;text-align:left}.conflict{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.cf-card{display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;padding:12px;border-radius:14px;background:#ffffff0d;border:1px solid var(--line)}.cf-card small{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted)}.cf-card em{font-style:normal;font-size:12px;color:var(--muted);font-weight:700}.cf-card .btn{margin-top:4px;align-self:stretch;font-size:13.5px}.backups{width:100%;display:flex;flex-direction:column;gap:6px;text-align:left}.backups h3{font-size:12px;text-transform:uppercase;letter-spacing:1.4px;color:var(--muted);margin-top:6px}.bk-row{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:12px;background:#ffffff0d}.bk-row>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.bk-row b{font-family:var(--font-display);font-weight:600;font-size:14.5px}.bk-row em{font-style:normal;font-size:11.5px;color:var(--muted);font-weight:700}.bk-row .btn{flex:none;font-size:13px;padding:7px 12px}@media(max-width:560px){.conflict{grid-template-columns:1fr}.account-card{flex-wrap:wrap}.account-card .ac-actions{flex-direction:row;width:100%}.account-card .ac-actions .btn{flex:1}}
