@font-face{font-family:Chakra Petch;font-weight:500;font-display:swap;src:url(/ui/fonts/chakra-petch-500.woff2)format("woff2")}@font-face{font-family:Chakra Petch;font-weight:600;font-display:swap;src:url(/ui/fonts/chakra-petch-600.woff2)format("woff2")}@font-face{font-family:Chakra Petch;font-weight:700;font-display:swap;src:url(/ui/fonts/chakra-petch-700.woff2)format("woff2")}@font-face{font-family:Nunito;font-weight:200 1000;font-display:swap;src:url(/ui/fonts/nunito-var.woff2)format("woff2")}:root{--portal:#97ff5a;--portal-2:#3dffb0;--portal-3:#c9ff8a;--cyan:#5bf0ff;--gold:#ffd86b;--danger:#ff4f6d;--purple:#c06bff;--ink:#eefff3;--ink-dim:#eefff39e;--ink-faint:#eefff352;--bg:#030907;--panel:#06120dc7;--panel-2:#0a1c14a8;--edge:#97ff5a52;--edge-strong:#97ff5ab3;--glow:#97ff5a73;--display:"Chakra Petch", "Segoe UI", system-ui, sans-serif;--body:"Nunito", "Segoe UI", system-ui, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--hud-scale:1;--touch-scale:1;--sub-scale:1;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-back:cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box}html,body{background:var(--bg);width:100%;height:100%;color:var(--ink);font-family:var(--body);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;margin:0;padding:0;font-weight:500;overflow:hidden}#game{outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;z-index:10;position:fixed;inset:0;overflow:hidden}#ui .screen{pointer-events:auto;opacity:0;display:none;position:absolute;inset:0}#ui .screen.visible{opacity:1;animation:screenIn .45s var(--ease-out);display:flex}#ui .screen.leaving{animation:screenOut .3s var(--ease-in-out) forwards}.hidden{display:none!important}@keyframes screenIn{0%{opacity:0}to{opacity:1}}@keyframes screenOut{to{opacity:0}}svg{display:block}button{font:inherit;color:inherit}button:focus{outline:none}html.reduced-motion *,html.reduced-motion :before,html.reduced-motion :after{transition-duration:50ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}html.tier-low .glass{-webkit-backdrop-filter:none!important}.glass{-webkit-backdrop-filter:blur(14px)saturate(1.3)}.btn{--c:var(--portal);font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);cursor:pointer;border:2px solid var(--edge);min-width:280px;transition:transform .15s var(--ease-back), border-color .15s, box-shadow .2s, background .2s, color .15s;pointer-events:auto;background:linear-gradient(#97ff5a24,#3dffb00d);border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:14px 28px;font-size:17px;font-weight:700;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 8px 24px #00000059}.btn:before{content:"";opacity:0;background:linear-gradient(120deg,#0000 20%,#ffffff29 50%,#0000 80%);transition:opacity .2s;position:absolute;inset:0;transform:translate(-60%)}.btn:hover,.btn:focus-visible,.btn.focus{border-color:var(--c);box-shadow:0 0 0 1px var(--c), 0 0 28px var(--glow), 0 10px 30px #00000073;background:linear-gradient(#97ff5a42,#3dffb01a);transform:translateY(-2px)scale(1.03)}.btn:hover:before,.btn.focus:before{opacity:1;animation:sheen .9s var(--ease-out) forwards}@keyframes sheen{to{transform:translate(60%)}}.btn:active{transform:translateY(1px)scale(.98)}.btn:disabled{opacity:.35;cursor:default;box-shadow:none;transform:none}.btn.primary{--c:var(--portal);color:#07130a;background:linear-gradient(180deg, var(--portal-3), var(--portal) 60%, #6be23a);border-color:var(--portal);text-shadow:none}.btn.primary:hover,.btn.primary.focus{background:linear-gradient(180deg, #e2ffb8, var(--portal-3) 60%, var(--portal))}.btn.ghost{background:#0000004d;min-width:0;padding:10px 18px;font-size:13px}.btn.danger{--c:var(--danger);background:linear-gradient(#ff4f6d29,#ff4f6d0a);border-color:#ff4f6d66}.btn.danger:hover,.btn.danger.focus{box-shadow:0 0 0 1px var(--danger), 0 0 28px #ff4f6d66}.btn.small{border-radius:10px;min-width:0;padding:9px 16px;font-size:12px}.btn.icon{border-radius:50%;width:48px;min-width:0;height:48px;padding:0}.btn.icon svg{width:22px;height:22px}.btn .sub{font-family:var(--body);letter-spacing:.02em;text-transform:none;color:var(--ink-dim);font-size:12px;font-weight:600;display:block}.btn.primary .sub{color:#07130ab3}.btn-col{flex-direction:column;align-items:center;gap:12px;display:flex}.btn-row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn.stagger{animation:btnIn .6s var(--ease-out) both;animation-delay:calc(var(--i,0) * 80ms + .35s)}@keyframes btnIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}kbd{min-width:24px;height:22px;font-family:var(--display);letter-spacing:.04em;color:var(--ink);vertical-align:middle;background:linear-gradient(#ffffff24,#ffffff0f);border:1px solid #ffffff47;border-bottom-width:3px;border-radius:6px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}kbd.pad{border-radius:50%;min-width:22px;padding:0;font-size:11px}.title-screen{background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:12px}.title-screen:before{content:"";pointer-events:none;background:radial-gradient(at 50% 60%,#0000 30%,#020805bf 100%),linear-gradient(#0208058c,#0000 30% 70%,#020805bf);position:absolute;inset:0}.logo-wrap{text-align:center;margin-top:-4vh;position:relative}.logo-kicker{font-family:var(--display);letter-spacing:.5em;text-transform:uppercase;color:var(--portal-2);opacity:0;animation:fadeUp .9s var(--ease-out) .2s forwards;text-indent:.5em;font-size:clamp(10px,1.4vw,14px);font-weight:600}.logo{font-family:var(--display);letter-spacing:.04em;color:var(--portal);text-shadow:0 0 24px #97ff5a8c,0 0 60px #3dffb059,0 6px #1b4d18,0 10px 24px #0009;justify-content:center;margin:0;font-size:clamp(54px,11.5vw,150px);font-weight:700;line-height:.95;display:flex}.logo .ltr{opacity:0;animation:letterIn .8s var(--ease-back) forwards;animation-delay:calc(var(--i) * 55ms + .15s);display:inline-block;transform:translateY(40px)rotateX(70deg)}.logo .ltr:nth-child(odd){animation-name:letterIn,floatA;animation-duration:.8s,5s;animation-delay:calc(var(--i) * 55ms + .15s), calc(var(--i) * .2s + 1.4s);animation-iteration-count:1,infinite;animation-timing-function:var(--ease-back), ease-in-out}@keyframes letterIn{to{opacity:1;transform:none}}@keyframes floatA{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.logo-under{background:linear-gradient(90deg, transparent, var(--portal), transparent);opacity:0;width:60%;height:3px;animation:fadeUp .8s var(--ease-out) .9s forwards;margin:8px auto 0;position:relative}.logo-under:after{content:"";filter:blur(3px);opacity:.8;background:#fff;border-radius:4px;width:60px;height:7px;animation:3s ease-in-out 1.6s infinite scan;position:absolute;top:-2px;left:0}@keyframes scan{0%{opacity:0;left:0}10%{opacity:.9}90%{opacity:.9}to{opacity:0;left:calc(100% - 60px)}}.title-tag{color:var(--ink-dim);text-align:center;opacity:0;max-width:640px;animation:fadeUp .9s var(--ease-out) 1s forwards;text-shadow:0 2px 12px #000;margin:6px 0 14px;padding:0 20px;font-size:clamp(14px,1.8vw,18px)}.title-tag b{color:var(--portal-2);font-weight:800}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.title-menu{flex-direction:column;align-items:center;gap:12px;display:flex}.title-foot{left:0;right:0;bottom:calc(10px + var(--safe-bottom));color:var(--ink-faint);pointer-events:none;justify-content:space-between;align-items:flex-end;padding:0 16px;font-size:12px;display:flex;position:absolute}.title-foot>*{pointer-events:auto}.title-foot .stats{gap:14px;display:flex}.title-foot .stats b{color:var(--ink-dim);font-weight:800}.title-corner{top:calc(12px + var(--safe-top));right:calc(12px + var(--safe-right));gap:8px;display:flex;position:absolute}.gp-hint{color:var(--ink-faint);opacity:0;animation:fadeUp .9s var(--ease-out) 1.4s forwards;align-items:center;gap:14px;margin-top:12px;font-size:12px;display:flex}.modal{background:#0106048c;justify-content:center;align-items:center;padding:16px}.modal.dim{background:#010604d1}.panel{background:var(--panel);border:1px solid var(--edge);width:min(94vw,720px);max-height:min(92vh,92dvh);animation:panelIn .45s var(--ease-back);scrollbar-width:thin;scrollbar-color:var(--edge) transparent;border-radius:22px;flex-direction:column;gap:14px;padding:26px 28px 24px;display:flex;position:relative;overflow:auto;box-shadow:0 30px 80px #0009,inset 0 1px #ffffff14,0 0 0 1px #00000080}.panel:before{content:"";background:linear-gradient(90deg, transparent, var(--portal), transparent);opacity:.8;height:2px;position:absolute;top:0;left:24px;right:24px}@keyframes panelIn{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:none}}.panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel h2{font-family:var(--display);color:var(--portal);letter-spacing:.14em;text-transform:uppercase;text-shadow:0 0 18px var(--glow);margin:0;font-size:22px;font-weight:700}.panel h3{font-family:var(--display);color:var(--ink-dim);letter-spacing:.18em;text-transform:uppercase;margin:6px 0 0;font-size:12px;font-weight:600}.panel .sub{color:var(--ink-dim);font-size:14px}.panel .btn-col,.panel .btn-col .btn{width:100%}.pause-creature{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:14px;padding:12px 14px;display:flex}.pause-creature .dot{background:currentColor;border-radius:50%;flex:none;width:14px;height:14px;box-shadow:0 0 14px}.pause-creature .n{font-family:var(--display);font-size:18px;font-weight:700}.pause-creature .t{color:var(--ink-dim);font-size:13px}.mini-lineage{color:var(--ink-dim);flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.mini-lineage i{background:currentColor;border-radius:50%;width:9px;height:9px;display:inline-block;box-shadow:0 0 8px}.mini-lineage .arr{opacity:.4}.tabs{border-bottom:1px solid #ffffff1a;flex-wrap:wrap;gap:6px;padding-bottom:8px;display:flex}.tab{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:600;transition:all .15s}.tab:hover,.tab.focus{color:var(--ink);background:#ffffff0f}.tab.active{color:#07130a;background:var(--portal);border-color:var(--portal);box-shadow:0 0 16px var(--glow)}.tab-page{flex-direction:column;gap:8px;display:none}.tab-page.active{display:flex}.setting-row{cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;width:100%;padding:8px 10px;transition:background .15s;display:flex}.setting-row:hover,.setting-row.focus{background:#ffffff0d}.setting-row .lbl{flex-direction:column;gap:2px;display:flex}.setting-row .lbl small{color:var(--ink-faint);font-size:12px}.setting-row .val{font-family:var(--display);color:var(--ink-dim);text-align:right;min-width:36px;font-size:12px}.setting-row .ctl{align-items:center;gap:10px;display:flex}input[type=range].slider{appearance:none;background:linear-gradient(90deg, var(--portal) var(--p,50%), #ffffff1f var(--p,50%));cursor:pointer;border-radius:3px;outline:none;width:min(40vw,190px);height:6px}input[type=range].slider::-webkit-slider-thumb{-webkit-appearance:none;border:3px solid var(--portal);width:20px;height:20px;box-shadow:0 0 12px var(--glow);background:#fff;border-radius:50%}input[type=range].slider::-moz-range-thumb{border:3px solid var(--portal);background:#fff;border-radius:50%;width:16px;height:16px}.toggle{cursor:pointer;background:#ffffff1f;border:1px solid #ffffff26;border-radius:14px;flex:none;width:52px;height:28px;transition:background .2s;position:relative}.toggle:after{content:"";width:20px;height:20px;transition:transform .2s var(--ease-back), background .2s;background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.toggle.on{background:var(--portal);border-color:var(--portal);box-shadow:0 0 14px var(--glow)}.toggle.on:after{background:#07130a;transform:translate(24px)}.seg{background:#ffffff0f;border-radius:10px;gap:4px;padding:3px;display:flex}.seg button{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600}.seg button.active{background:var(--portal);color:#07130a}.key-table{grid-template-columns:auto 1fr 1fr 1fr;align-items:center;gap:6px 14px;padding:6px 10px;font-size:13px;display:grid}.key-table .h{font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-size:11px}.loading-screen{background:radial-gradient(ellipse at 50% 40%, #07160f, var(--bg) 70%);flex-direction:column;justify-content:center;align-items:center;gap:18px}.load-era{font-family:var(--display);letter-spacing:.4em;text-transform:uppercase;color:var(--ink-dim);text-indent:.4em;font-size:12px}.load-name{font-family:var(--display);letter-spacing:.04em;text-shadow:0 0 30px;font-size:clamp(28px,5.5vw,54px);font-weight:700}.load-bar{background:#ffffff14;border:1px solid #ffffff14;border-radius:6px;width:min(70vw,440px);height:8px;position:relative;overflow:hidden}.load-bar>div{background:linear-gradient(90deg, var(--portal), var(--portal-2));width:0%;height:100%;transition:width .25s var(--ease-out);box-shadow:0 0 16px var(--glow)}.load-bar:after{content:"";background:linear-gradient(90deg,#0000,#ffffff40,#0000);animation:1.4s linear infinite barShine;position:absolute;inset:0}@keyframes barShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.load-tip{text-align:center;max-width:560px;color:var(--ink-dim);min-height:2.6em;padding:0 20px;font-size:14px}.load-tip b{color:var(--portal-2);font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px;font-size:11px;display:block}.load-tree{align-items:center;gap:8px;display:flex}.load-tree i{background:#ffffff2e;border-radius:50%;width:10px;height:10px}.load-tree i.on{background:var(--portal);box-shadow:0 0 10px var(--portal)}.load-tree i.cur{width:14px;height:14px;box-shadow:0 0 14px var(--portal), 0 0 0 3px #97ff5a59;background:#fff}.load-tree s{background:#ffffff26;width:14px;height:2px}.dna-spin{width:64px;height:64px;position:relative}.dna-spin i{background:var(--portal);width:8px;height:8px;animation:1.4s ease-in-out infinite dnaDot;animation-delay:calc(var(--i) * -.14s);border-radius:50%;margin-left:-4px;position:absolute;left:50%}.dna-spin i:nth-child(2n){background:var(--cyan);animation-delay:calc(var(--i) * -.14s - .7s)}@keyframes dnaDot{0%,to{opacity:.5;transform:translate(-16px)scale(.7)}50%{opacity:1;transform:translate(16px)scale(1.1)}}.stage-card{text-align:center;pointer-events:none;opacity:0;flex-direction:column;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:absolute;inset:0}.stage-card:before{content:"";opacity:0;background:radial-gradient(#0000008c,#0003 60%,#0000);transition:opacity .6s;position:absolute;inset:0}.stage-card.visible,.stage-card.visible:before{opacity:1}.stage-card .era{font-family:var(--display);color:var(--ink-dim);letter-spacing:.45em;text-transform:uppercase;text-indent:.45em;opacity:0;animation:fadeUp .7s var(--ease-out) .1s forwards;font-size:clamp(11px,1.4vw,15px)}.stage-card .name{font-family:var(--display);letter-spacing:.04em;text-shadow:0 0 40px,0 4px 30px #000c;flex-wrap:wrap;justify-content:center;font-size:clamp(36px,8vw,92px);font-weight:700;line-height:1.05;display:flex}.stage-card .name .ltr{opacity:0;filter:blur(6px);animation:cardLtr .7s var(--ease-out) forwards;animation-delay:calc(var(--i) * 35ms + .2s);display:inline-block;transform:translateY(30px)scale(1.4)}@keyframes cardLtr{to{opacity:1;filter:none;transform:none}}.stage-card .rule{width:0;height:2px;animation:ruleIn .9s var(--ease-out) .5s forwards;background:linear-gradient(90deg,#0000,currentColor,#0000);margin:12px 0}@keyframes ruleIn{to{width:min(60vw,420px)}}.stage-card .tag{color:var(--ink);text-shadow:0 2px 10px #000;opacity:0;animation:fadeUp .8s var(--ease-out) .7s forwards;font-size:clamp(15px,2.4vw,22px)}.stage-card .branches{opacity:0;animation:fadeUp .8s var(--ease-out) 1s forwards;gap:18px;margin-top:18px;display:flex}.stage-card .branches span{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);align-items:center;gap:6px;font-size:12px;display:inline-flex}.stage-card .branches svg{width:16px;height:16px}.hud{pointer-events:none;font-size:calc(14px * var(--hud-scale));display:none;position:absolute;inset:0}.hud.visible{animation:.5s screenIn;display:block}.hud-tl{top:calc(12px + var(--safe-top));left:calc(12px + var(--safe-left));transform-origin:0 0;width:min(44vw,320px);transform:scale(var(--hud-scale));flex-direction:column;gap:6px;display:flex;position:absolute}.nameplate{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;text-shadow:0 2px 8px #000;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.nameplate i{background:currentColor;border-radius:50%;width:10px;height:10px;box-shadow:0 0 10px}.nameplate .stage-no{color:var(--ink-faint);letter-spacing:.2em;margin-left:auto;font-size:11px}.hbar{background:#00000080;border:1px solid #ffffff29;border-radius:9px;height:16px;position:relative;overflow:hidden;box-shadow:0 2px 10px #0006}.hbar>i{transform-origin:0;position:absolute;inset:0}.hbar .ghost{transition:transform .6s var(--ease-out) .25s;background:#ffffff8c}.hbar .fill{transition:transform .12s}.hbar .fill:after{content:"";background:linear-gradient(#ffffff59,#0000 50%,#00000026);position:absolute;inset:0}.hbar .segs{background:repeating-linear-gradient(90deg,#0000 0 calc(10% - 1px),#00000059 calc(10% - 1px) 10%);position:absolute;inset:0}.hbar.health{height:18px}.hbar.health .fill{background:linear-gradient(90deg,#ff3b5c,#ff8a5b)}.hbar.health.low .fill{animation:.8s ease-in-out infinite hpBlink}@keyframes hpBlink{50%{filter:brightness(1.6)}}.hbar.stamina .fill{background:linear-gradient(90deg,#4fc3ff,#a5f1ff)}.hbar .ico{color:#fff;opacity:.9;filter:drop-shadow(0 0 2px #000);width:11px;height:11px;position:absolute;top:50%;left:5px;transform:translateY(-50%)}.hbar .ico svg{stroke-width:3px;width:100%;height:100%}.evo-meter{margin-top:4px;position:relative}.evo-meter .lbl{font-family:var(--display);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim);text-shadow:0 1px 4px #000;justify-content:space-between;margin-bottom:3px;font-size:10px;display:flex}.evo-meter .lbl b{color:var(--portal);font-weight:600}.evo-meter .track{background:#00000080;border:1px solid #97ff5a4d;border-radius:7px;height:12px;position:relative;overflow:visible}.evo-meter .fill{transform-origin:0;width:100%;transition:transform .25s var(--ease-out);background:linear-gradient(90deg, var(--portal-2), var(--portal));box-shadow:0 0 12px var(--glow);border-radius:7px;position:absolute;top:0;bottom:0;left:0}.evo-meter .fill:after{content:"";border-radius:inherit;opacity:.6;background:linear-gradient(90deg,#0000,#ffffff59,#0000) 0 0/200% 100%;animation:2.4s linear infinite barShine;position:absolute;inset:0}.evo-meter .notch{z-index:1;background:#0a1a10;border:2px solid #97ff5a66;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;transition:all .3s;position:absolute;top:50%}.evo-meter .notch.on{background:var(--portal);box-shadow:0 0 12px var(--portal);animation:notchPop .5s var(--ease-back);border-color:#fff}.evo-meter .notch.last{width:20px;height:20px;margin:-10px 0 0 -10px}.evo-meter .notch.last:after{content:"";opacity:0;background:radial-gradient(circle,#fff,#0000 60%);border-radius:50%;position:absolute;inset:3px}.evo-meter .notch.last.on:after{opacity:1;animation:1.2s ease-in-out infinite pulseGlow}@keyframes notchPop{0%{transform:scale(.6)}60%{transform:scale(1.5)}to{transform:scale(1)}}@keyframes pulseGlow{50%{opacity:.3}}.mut-meter{pointer-events:auto;cursor:help;margin-top:4px}.mut-meter .lbl{font-family:var(--display);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim);text-shadow:0 1px 4px #000;justify-content:space-between;margin-bottom:3px;font-size:10px;display:flex}.mut-meter .lbl .lead{color:var(--ink);letter-spacing:.1em;font-weight:600}.mut-meter .track{background:#00000073;border:1px solid #ffffff2e;border-radius:7px;height:12px;display:flex;overflow:hidden}.mut-meter .track i{height:100%;transition:flex-grow .5s var(--ease-out);min-width:4px;position:relative}.mut-meter .track i:after{content:"";background:linear-gradient(#ffffff59,#0000 60%);position:absolute;inset:0}.mut-meter .track i.lead{box-shadow:0 0 12px}html.colorblind .mut-meter .track i:nth-child(2){background-image:repeating-linear-gradient(135deg,#00000073 0 3px,#0000 3px 7px)}html.colorblind .mut-meter .track i:nth-child(3){background-image:radial-gradient(circle,#00000080 1.5px,#0000 2px);background-size:6px 6px}.mut-meter .legend{justify-content:space-between;gap:8px;margin-top:4px;font-size:11px;display:flex}.mut-meter .legend span{color:var(--ink-dim);text-shadow:0 1px 4px #000;align-items:center;gap:5px;font-weight:700;transition:color .2s;display:inline-flex}.mut-meter .legend span.lead{color:var(--ink)}.mut-meter .legend svg{width:14px;height:14px}.mut-meter .legend b{font-family:var(--display);letter-spacing:.06em;font-size:10px;font-weight:600}.mut-tip{background:var(--panel);border:1px solid var(--edge);width:100%;color:var(--ink);opacity:0;pointer-events:none;z-index:5;border-radius:12px;padding:10px 12px;font-size:12px;transition:all .2s;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-4px)}.mut-tip.show{opacity:1;transform:none}.mut-tip div{align-items:flex-start;gap:8px;padding:3px 0;display:flex}.mut-tip svg{flex:none;width:16px;height:16px;margin-top:1px}.mut-tip b{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;font-size:11px;display:block}.hud-tr{top:calc(12px + var(--safe-top));right:calc(12px + var(--safe-right));transform-origin:100% 0;transform:scale(var(--hud-scale));flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute}.hud-tr .row{align-items:center;gap:8px;display:flex}.chip{color:var(--ink-dim);animation:fadeUp .3s var(--ease-out);background:#00000080;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;display:inline-flex}.chip b{font-family:var(--display);color:var(--ink);text-align:right;min-width:1.2em;font-size:13px;font-weight:700}.chip.bump b{animation:bump .35s var(--ease-back)}@keyframes bump{40%{color:var(--portal);transform:scale(1.5)}}.hud-btn{pointer-events:auto;border:2px solid var(--edge);width:44px;height:44px;color:var(--ink);cursor:pointer;background:#00000073;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.hud-btn:hover{border-color:var(--portal);box-shadow:0 0 16px var(--glow)}.objective{top:calc(12px + var(--safe-top));text-align:center;pointer-events:none;max-width:min(46vw,520px);position:absolute;left:50%;transform:translate(-50%)}.objective:empty{display:none}.objective .pill{animation:objIn .5s var(--ease-back);background:#00000080;border:1px solid #ffffff24;border-radius:12px;align-items:center;gap:8px;padding:7px 14px;font-size:14px;font-weight:700;display:inline-flex}.objective .pill:before{content:"";background:var(--portal);width:7px;height:7px;box-shadow:0 0 8px var(--portal);border-radius:50%;flex:none;animation:1.6s ease-in-out infinite pulseGlow}@keyframes objIn{0%{opacity:0;transform:translateY(-10px)scale(.95)}to{opacity:1;transform:none}}.toasts{top:calc(70px + var(--safe-top));pointer-events:none;flex-direction:column;align-items:center;gap:6px;width:max-content;max-width:80vw;display:flex;position:absolute;left:50%;transform:translate(-50%)}.toast{border:1px solid #ffffff1f;border-left:4px solid var(--portal);animation:toastIn .35s var(--ease-back), toastOut .4s var(--ease-in-out) 2.8s forwards;background:#0000009e;border-radius:10px;align-items:center;gap:10px;padding:8px 16px;font-size:14px;font-weight:700;display:flex;box-shadow:0 8px 24px #0006}.toast svg{flex:none;width:18px;height:18px}.toast.good{border-left-color:var(--portal)}.toast.bad{border-left-color:var(--danger);color:#ffd9df}.toast.trait{border-left-color:var(--gold);background:linear-gradient(90deg,#ffd86b33,#0000009e 40%)}.toast.trait svg{color:var(--gold)}.toast.growth{border-left-color:var(--portal);font-family:var(--display);letter-spacing:.06em;background:linear-gradient(90deg,#97ff5a38,#0000009e 40%)}.toast.growth svg{color:var(--portal)}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px)scale(.9)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translateY(-8px)}}.boss{bottom:calc(96px + var(--safe-bottom));text-align:center;opacity:0;pointer-events:none;width:min(64vw,560px);transition:opacity .4s;position:absolute;left:50%;transform:translate(-50%)}.boss.show{opacity:1;animation:bossIn .6s var(--ease-back)}@keyframes bossIn{0%{transform:translate(-50%)translateY(20px)scale(.9)}}.boss .bn{font-family:var(--display);letter-spacing:.3em;text-transform:uppercase;color:#ffb3c1;text-shadow:0 0 12px #ff4f6dcc,0 2px 6px #000;justify-content:center;align-items:center;gap:8px;margin-bottom:5px;font-size:13px;font-weight:700;display:flex}.boss .bn svg{width:16px;height:16px}.boss .hbar{border-color:#ff4f6d73;height:12px}.boss .hbar .fill{background:linear-gradient(90deg,#b23cff,#ff4f6d)}.boss .hbar .ghost{background:#fff9}.action-bar{bottom:calc(14px + var(--safe-bottom));right:calc(16px + var(--safe-right));pointer-events:none;align-items:flex-end;gap:10px;display:flex;position:absolute}.abtn{flex-direction:column;align-items:center;gap:4px;width:62px;display:flex}.abtn .ring{width:46px;height:46px;color:var(--ink);background:#00000080;border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;transition:border-color .2s,box-shadow .2s,transform .1s;display:flex;position:relative}.abtn .ring svg{width:22px;height:22px}.abtn .ring .cd{background:conic-gradient(#000000b3 calc(var(--cd,0) * 100%), transparent 0);pointer-events:none;border-radius:50%;position:absolute;inset:-2px}.abtn .ring .cd:after{content:"";border:2px solid #0000;border-radius:50%;position:absolute;inset:0}.abtn.ready .ring{border-color:var(--portal);box-shadow:0 0 14px var(--glow)}.abtn.down .ring{background:#97ff5a59;transform:scale(.9)}.abtn.primary .ring{border-color:#97ff5a80;width:54px;height:54px}.abtn .lbl{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);text-shadow:0 1px 4px #000;white-space:nowrap;font-size:10px}.abtn kbd{min-width:18px;height:18px;font-size:10px}.move-hint{color:var(--ink-dim);font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;flex-direction:column;align-items:center;gap:4px;margin-right:8px;font-size:10px;display:flex}.move-hint .keys{grid-template-columns:repeat(3,18px);gap:2px;display:grid}.move-hint kbd{min-width:18px;height:16px;padding:0;font-size:9px}.evolve-prompt{bottom:calc(24% + var(--safe-bottom));border:1px solid var(--edge-strong);box-shadow:0 0 30px var(--glow), inset 0 0 20px #97ff5a14;pointer-events:auto;cursor:pointer;animation:evoIn .6s var(--ease-back), evoPulse 1.6s ease-in-out .6s infinite;touch-action:none;background:#0000009e;border-radius:999px;align-items:center;gap:16px;padding:12px 22px 12px 14px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.evolve-prompt.holding{box-shadow:0 0 50px var(--portal);animation:none}@keyframes evoIn{0%{opacity:0;transform:translate(-50%)translateY(20px)scale(.8)}}@keyframes evoPulse{50%{box-shadow:0 0 50px var(--glow), inset 0 0 30px #97ff5a24}}.evolve-prompt .ring{background:conic-gradient(var(--c,var(--portal)) calc(var(--hold,0) * 100%), #ffffff1f 0);border-radius:50%;flex:none;justify-content:center;align-items:center;width:62px;height:62px;display:flex;position:relative}.evolve-prompt .ring:before{content:"";background:#06120b;border-radius:50%;position:absolute;inset:5px}.evolve-prompt .ring svg{width:28px;height:28px;color:var(--c,var(--portal));animation:6s linear infinite spinSlow;position:relative}@keyframes spinSlow{to{transform:rotate(360deg)}}.evolve-prompt .txt{text-align:left;flex-direction:column;gap:2px;display:flex}.evolve-prompt .k{font-family:var(--display);letter-spacing:.3em;text-transform:uppercase;color:var(--portal);font-size:10px}.evolve-prompt .n{font-family:var(--display);letter-spacing:.04em;font-size:20px;font-weight:700;line-height:1.1}.evolve-prompt .h{color:var(--ink-dim);align-items:center;gap:6px;font-size:12px;display:flex}.evolve-prompt .h .p{color:var(--c,var(--portal));font-weight:800}.vignette{pointer-events:none;opacity:0;position:absolute;inset:0}.vignette.damage{background:radial-gradient(#0000 45%,#ff1e3c99);transition:opacity .5s}.vignette.threat{background:radial-gradient(#0000 55%,#ff3c3c59);transition:opacity .4s;animation:1.2s ease-in-out infinite threatPulse}@keyframes threatPulse{50%{transform:scale(1.03)}}.vignette.lowhp{background:radial-gradient(#0000 50%,#a0001e8c);animation:1.1s ease-in-out infinite heartbeat}@keyframes heartbeat{0%,to{opacity:.35}15%{opacity:.85}30%{opacity:.4}45%{opacity:.75}}.threat-badge{top:calc(66px + var(--safe-top));right:calc(16px + var(--safe-right));color:#ffb3c1;font-family:var(--display);letter-spacing:.24em;text-transform:uppercase;opacity:0;pointer-events:none;text-shadow:0 0 8px #ff4f6dcc;align-items:center;gap:6px;font-size:11px;transition:opacity .3s;display:flex;position:absolute}.threat-badge.show{opacity:1;animation:.9s ease-in-out infinite threatBlink}.threat-badge svg{width:16px;height:16px}@keyframes threatBlink{50%{opacity:.45}}.narrator{left:50%;bottom:calc(78px + var(--safe-bottom));background:var(--panel);border:1px solid var(--edge);opacity:0;width:max-content;max-width:min(92vw,680px);transition:opacity .25s, transform .3s var(--ease-out);pointer-events:none;border-radius:18px;align-items:center;gap:14px;padding:10px 18px 10px 10px;display:flex;position:absolute;transform:translate(-50%)translateY(12px);box-shadow:0 12px 40px #00000080}.narrator.visible{opacity:1;transform:translate(-50%)translateY(0)}.narrator.cinematic{bottom:calc(24px + var(--safe-bottom));background:#0000008c}.portrait{border:2px solid var(--portal);width:64px;height:64px;box-shadow:0 0 18px var(--glow);background:radial-gradient(circle at 50% 30%,#1c3a2a,#07130c);border-radius:50%;flex:none;position:relative;overflow:hidden}.portrait svg{width:100%;height:100%}.narrator .txt{flex-direction:column;gap:3px;min-width:0;display:flex}.narrator .who{font-family:var(--display);letter-spacing:.3em;text-transform:uppercase;color:var(--portal);align-items:center;gap:8px;font-size:10px;display:flex}.narrator .who .mood{color:var(--ink-faint);letter-spacing:.12em}.narrator .line{font-size:calc(16px * var(--sub-scale));text-shadow:0 1px 3px #000;font-weight:700;line-height:1.35}.narrator .line .cur{background:var(--portal);vertical-align:-2px;width:2px;height:1em;margin-left:2px;animation:.7s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.portrait .brow{transform-origin:50%;transition:transform .2s}.portrait .mouth{transition:d .2s}.portrait.mood-snark .brow.l{transform:translateY(-2px)rotate(-8deg)}.portrait.mood-alarm .brow{transform:translateY(-5px)}.portrait.mood-alarm .eye{animation:eyeWide .4s var(--ease-back)}.portrait.mood-proud .brow{transform:translateY(-2px)rotate(0)}.portrait.mood-bored .brow{transform:translateY(2px)}.portrait.mood-bored .lid{opacity:1}.portrait.mood-excited .brow{transform:translateY(-4px)}.portrait.talking .jaw{transform-origin:50% 0;animation:.18s ease-in-out infinite alternate talk}.portrait .lid{opacity:0;transition:opacity .2s}@keyframes talk{to{transform:scaleY(1.7)}}@keyframes eyeWide{50%{transform:scale(1.3)}}.portrait .blinker{animation:4.5s step-end infinite lidBlink}@keyframes lidBlink{0%,96%,to{opacity:0}97%,99%{opacity:1}}.portrait .burp{opacity:0;background:radial-gradient(circle,#97ff5a80,#0000 70%);position:absolute;inset:0}.portrait.burping .burp{animation:.5s ease-out burp}@keyframes burp{20%{opacity:1}to{opacity:0}}.devolve{cursor:pointer;background:radial-gradient(#5a001e8c,#020403eb);flex-direction:column;justify-content:center;align-items:center;gap:10px;overflow:hidden}.devolve .scan{mix-blend-mode:multiply;opacity:.6;pointer-events:none;background:repeating-linear-gradient(0deg,#00000059 0 2px,#0000 2px 4px);animation:.3s linear infinite scanMove;position:absolute;inset:0}@keyframes scanMove{to{background-position:0 4px}}.devolve .noise{opacity:.14;pointer-events:none;background:repeating-radial-gradient(circle at 30% 40%,#97ff5a80 0 1px,#0000 1px 12px),repeating-radial-gradient(circle at 70% 60%,#ff4f6d80 0 1px,#0000 1px 9px);animation:.5s steps(4,end) infinite noiseShift;position:absolute;inset:-20%}@keyframes noiseShift{0%{transform:translate(0)}25%{transform:translate(-2%,3%)}50%{transform:translate(3%,-1%)}75%{transform:translate(-1%,-3%)}}.devolve .dna-row{gap:6px;margin-bottom:8px;display:flex}.devolve .dna-row i{background:var(--portal);width:10px;height:10px;animation:1.1s ease-in-out infinite dnaDot;animation-delay:calc(var(--i) * -.12s);box-shadow:0 0 10px var(--portal);border-radius:50%}.devolve h1{font-family:var(--display);color:var(--danger);letter-spacing:.1em;text-shadow:0 0 30px #ff4f6d99;margin:0;font-size:clamp(44px,12vw,132px);font-weight:700;line-height:1;animation:.35s steps(2,end) infinite glitchShake;position:relative}.devolve h1:before,.devolve h1:after{content:attr(data-t);width:100%;position:absolute;top:0;left:0;overflow:hidden}.devolve h1:before{color:var(--portal);clip-path:inset(10% 0 55%);mix-blend-mode:screen;animation:.9s steps(3,end) infinite glitchA;transform:translate(-6px,-2px)}.devolve h1:after{color:var(--cyan);clip-path:inset(55% 0 5%);mix-blend-mode:screen;animation:1.1s steps(3,end) infinite glitchB;transform:translate(6px,2px)}@keyframes glitchShake{0%{transform:translate(0)}50%{transform:translate(1px,-1px)}to{transform:translate(-1px,1px)}}@keyframes glitchA{0%{clip-path:inset(10% 0 55%)}33%{clip-path:inset(40% 0 20%)}66%{clip-path:inset(0 0 80%)}to{clip-path:inset(70% 0 5%)}}@keyframes glitchB{0%{clip-path:inset(55% 0 5%)}33%{clip-path:inset(15% 0 60%)}66%{clip-path:inset(70% 0 10%)}to{clip-path:inset(30% 0 40%)}}.devolve .cause{font-family:var(--display);letter-spacing:.24em;text-transform:uppercase;color:#ffb3c1;animation:fadeUp .5s var(--ease-out) .2s both;font-size:14px}.devolve .count{color:var(--ink-dim);animation:fadeUp .5s var(--ease-out) .35s both;font-size:14px}.devolve .count b{color:var(--ink)}.devolve .bar{background:#ffffff1f;border-radius:2px;width:min(50vw,320px);height:4px;margin-top:10px;overflow:hidden}.devolve .bar i{background:var(--portal);width:0;height:100%;animation:devolveBar var(--dur,2.2s) linear forwards;box-shadow:0 0 10px var(--portal);display:block}@keyframes devolveBar{to{width:100%}}.devolve .hint{color:var(--ink-faint);font-size:12px;font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;margin-top:4px}.transition{background:0 0;justify-content:center;align-items:center;overflow:hidden}.transition .snap{filter:saturate(1.3);transition:transform 2.2s var(--ease-in-out), opacity 1.4s ease-in, filter 2s;background-position:50%;background-size:cover;position:absolute;inset:0}.transition .snap.go{filter:saturate(2.2)blur(8px)hue-rotate(50deg)brightness(1.4);opacity:0;transform:scale(1.5)rotate(3deg)}.transition .flash{background:radial-gradient(circle, #fff, var(--portal) 30%, transparent 70%);opacity:0;pointer-events:none;position:absolute;inset:0}.transition .flash.go{animation:.9s ease-out forwards flash}@keyframes flash{0%{opacity:0}15%{opacity:1}to{opacity:0}}.transition .rings{pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%}.transition .rings i{border:2px solid var(--portal);opacity:0;width:20vmax;height:20vmax;animation:2.4s ease-out infinite ringOut;animation-delay:calc(var(--i) * .6s);border-radius:50%;margin:-10vmax 0 0 -10vmax;position:absolute;top:50%;left:50%}@keyframes ringOut{0%{opacity:.9;transform:scale(.2)}to{opacity:0;transform:scale(4)}}.tcard{text-align:center;pointer-events:none;opacity:0;transition:opacity .6s;position:absolute;bottom:12%;left:0;right:0}.tcard.show{opacity:1}.tcard .from{font-family:var(--display);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-dim);animation:fadeUp .6s var(--ease-out) both;font-size:12px}.tcard .arrow{font-family:var(--display);letter-spacing:.3em;color:var(--portal);animation:fadeUp .6s var(--ease-out) .1s both;margin:4px 0;font-size:12px}.tcard .to{font-family:var(--display);letter-spacing:.04em;text-shadow:0 0 40px,0 4px 30px #000c;justify-content:center;font-size:clamp(32px,7vw,76px);font-weight:700;line-height:1.05;display:flex}.tcard .to .ltr{opacity:0;filter:blur(6px);animation:cardLtr .6s var(--ease-out) forwards;animation-delay:calc(var(--i) * 30ms + .2s);display:inline-block;transform:translateY(20px)}.tcard .era{font-family:var(--display);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-dim);animation:fadeUp .6s var(--ease-out) .5s both;margin-top:6px;font-size:12px}.tcard .traits{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.tcard .traits span{color:var(--gold);animation:btnIn .5s var(--ease-back) both;animation-delay:calc(var(--i) * .12s + .8s);background:#ffd86b24;border:1px solid #ffd86b80;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:800;display:inline-flex}.tcard .traits svg{width:14px;height:14px}.skip-hint{right:calc(20px + var(--safe-right));bottom:calc(16px + var(--safe-bottom));font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);opacity:0;pointer-events:auto;cursor:pointer;align-items:center;gap:8px;font-size:12px;transition:opacity .4s;display:flex;position:absolute}.skip-hint.show{opacity:1}.skip-hint .prog{background:#ffffff26;border-radius:2px;width:60px;height:3px;overflow:hidden}.skip-hint .prog i{background:var(--portal);height:100%;width:var(--p,0%);transition:width .1s linear;display:block}.cine{cursor:pointer;background:#000;justify-content:center;align-items:center;overflow:hidden}.cine .bars{z-index:3;background:#000;height:9vh;position:absolute;left:0;right:0}.cine .bars.t{animation:barT .8s var(--ease-out) forwards;top:0;transform:translateY(-100%)}.cine .bars.b{animation:barB .8s var(--ease-out) forwards;bottom:0;transform:translateY(100%)}@keyframes barT{to{transform:none}}@keyframes barB{to{transform:none}}.cine .zap{background:radial-gradient(circle at 50% 50%, #fff, var(--portal) 25%, transparent 65%);opacity:0;pointer-events:none;z-index:2;position:absolute;inset:0}.cine .zap.go{animation:.7s ease-out 2 zap}@keyframes zap{0%{opacity:0}10%{opacity:1}to{opacity:0}}.cine .white{opacity:0;pointer-events:none;z-index:4;background:#fff;position:absolute;inset:0}.cine .white.go{animation:1.2s ease-in forwards whiteout}@keyframes whiteout{to{opacity:1}}.cine .subs{text-align:center;max-width:min(90vw,760px);font-size:calc(clamp(16px, 2.4vw, 24px) * var(--sub-scale));text-shadow:0 2px 6px #000,0 0 20px #000c;z-index:3;opacity:0;font-weight:800;line-height:1.35;transition:opacity .25s;position:absolute;bottom:12vh;left:50%;transform:translate(-50%)}.cine .subs.show{opacity:1}.cine .subs .who{font-family:var(--display);letter-spacing:.3em;text-transform:uppercase;color:var(--portal);margin-bottom:4px;font-size:11px;display:block}.cine .caption{font-family:var(--display);letter-spacing:.4em;text-transform:uppercase;color:var(--ink-dim);opacity:0;z-index:3;text-indent:.4em;font-size:13px;transition:opacity .6s;position:absolute;top:14vh;left:50%;transform:translate(-50%)}.cine .caption.show{opacity:1}.cine .lab-art{z-index:1;width:100%;height:100%;position:absolute;inset:0}.codex{background:#02080599;flex-direction:column}.codex-top{top:calc(12px + var(--safe-top));left:calc(16px + var(--safe-left));right:calc(16px + var(--safe-right));z-index:3;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute}.codex-top h2{font-family:var(--display);color:var(--portal);letter-spacing:.16em;text-transform:uppercase;text-shadow:0 0 18px var(--glow);align-items:center;gap:10px;margin:0;font-size:clamp(16px,2.4vw,24px);font-weight:700;display:flex}.codex-top h2 svg{width:24px;height:24px}.codex-top .count{font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);font-size:12px}.codex-top .count b{color:var(--gold)}.codex-body{padding-top:calc(64px + var(--safe-top));grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);display:grid;position:absolute;inset:0}.tree-wrap{touch-action:pan-x pan-y;position:relative;overflow:hidden}.tree-wrap svg.tree{width:100%;height:100%;display:block}.tree-wrap .edge{fill:none;stroke:#ffffff1f;stroke-width:3px;stroke-linecap:round}.tree-wrap .edge.on{stroke:var(--c);stroke-opacity:.7;filter:drop-shadow(0 0 4px var(--c))}.tree-wrap .edge.on.flow{stroke-dasharray:6 10;animation:1.4s linear infinite dashFlow}@keyframes dashFlow{to{stroke-dashoffset:-16px}}.tree-wrap .node{cursor:pointer}.tree-wrap .node .halo{fill:var(--c);opacity:0;transition:opacity .2s}.tree-wrap .node .ring{fill:#08140d;stroke:#fff3;stroke-width:2px;transition:all .2s}.tree-wrap .node.found .ring{stroke:var(--c);fill:color-mix(in srgb, var(--c) 22%, #08140d)}.tree-wrap .node .glyph{fill:#ffffff40}.tree-wrap .node.found .glyph{fill:var(--c)}.tree-wrap .node text{font-family:var(--display);letter-spacing:.06em;fill:var(--ink-dim);text-anchor:middle;pointer-events:none;text-transform:uppercase;font-size:11px;font-weight:600}.tree-wrap .node.found text{fill:var(--ink)}.tree-wrap .node:hover .halo,.tree-wrap .node.sel .halo,.tree-wrap .node.focus .halo{opacity:.25}.tree-wrap .node.sel .ring,.tree-wrap .node.focus .ring{stroke:#fff;stroke-width:3px}.tree-wrap .node .star{fill:var(--gold);filter:drop-shadow(0 0 4px var(--gold))}.tree-wrap .node .lock{fill:#ffffff4d}.tree-wrap .node .pulse{fill:none;stroke:var(--c);stroke-width:2px;opacity:0}.tree-wrap .node.cur .pulse{animation:1.8s ease-out infinite nodePulse}@keyframes nodePulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}.codex-detail{padding:16px 24px calc(20px + var(--safe-bottom));pointer-events:none;flex-direction:column;justify-content:flex-end;gap:10px;display:flex;position:relative}.codex-detail>*{pointer-events:auto}.codex-detail .cd-era{font-family:var(--display);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-dim);font-size:12px}.codex-detail .cd-name{font-family:var(--display);letter-spacing:.03em;text-shadow:0 0 30px;font-size:clamp(28px,4vw,48px);font-weight:700;line-height:1.05}.codex-detail .cd-tag{color:var(--ink);max-width:480px;font-size:16px}.codex-detail .cd-meta{flex-wrap:wrap;gap:8px;display:flex}.codex-detail .cd-meta span{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);background:#0006;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;display:inline-flex}.codex-detail .cd-meta svg{width:14px;height:14px}.codex-detail .cd-meta .ending{color:var(--gold);border-color:#ffd86b66}.codex-detail .cd-paths{color:var(--ink-dim);flex-direction:column;gap:4px;font-size:13px;display:flex}.codex-detail .cd-paths span{align-items:center;gap:8px;display:flex}.codex-detail .cd-paths svg{width:14px;height:14px}.codex-detail .cd-paths b{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.codex-detail .cd-btns{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.codex-detail .cd-btns .btn{min-width:0}.codex-detail .cd-lock{color:var(--ink-faint);font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:8px;font-size:12px;display:flex}.codex-detail .cd-lock svg{width:16px;height:16px}.codex-detail.enter>*{animation:fadeUp .45s var(--ease-out) both}.codex-detail.enter>:nth-child(2){animation-delay:50ms}.codex-detail.enter>:nth-child(3){animation-delay:.1s}.codex-detail.enter>:nth-child(4){animation-delay:.15s}.codex-detail.enter>:nth-child(5){animation-delay:.2s}.codex-detail.enter>:nth-child(6){animation-delay:.25s}.codex-back{left:calc(16px + var(--safe-left));bottom:calc(16px + var(--safe-bottom));z-index:3;position:absolute}.ending{background:0 0;overflow:hidden}.ending:before{content:"";pointer-events:none;background:linear-gradient(90deg,#020805d9 0%,#0208058c 40%,#0000 70%);position:absolute;inset:0}.ending-body{left:calc(24px + var(--safe-left));top:0;right:0;bottom:calc(24px + var(--safe-bottom));flex-direction:column;justify-content:center;gap:12px;max-width:min(56vw,640px);padding-top:24px;display:flex;position:absolute}.ending .kick{font-family:var(--display);letter-spacing:.4em;text-transform:uppercase;color:var(--gold);animation:fadeUp .7s var(--ease-out) .3s both;align-items:center;gap:10px;font-size:12px;display:flex}.ending .kick svg{width:16px;height:16px}.ending h1{font-family:var(--display);letter-spacing:.03em;text-shadow:0 0 40px,0 4px 30px #000c;flex-wrap:wrap;margin:0;font-size:clamp(34px,6.5vw,80px);font-weight:700;line-height:1;display:flex}.ending h1 .ltr{opacity:0;animation:letterIn .7s var(--ease-back) forwards;animation-delay:calc(var(--i) * 40ms + .5s);display:inline-block;transform:translateY(30px)}.ending .text{color:var(--ink);max-width:560px;animation:fadeUp .8s var(--ease-out) 1.2s both;font-size:clamp(15px,1.8vw,19px);line-height:1.45}.ending .stats{animation:fadeUp .8s var(--ease-out) 1.5s both;flex-wrap:wrap;gap:8px;display:flex}.ending .stat{background:#0006;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:2px;min-width:96px;padding:8px 14px;display:flex}.ending .stat b{font-family:var(--display);color:var(--ink);font-size:20px;font-weight:700}.ending .stat span{font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);font-size:10px}.ending .stat.gold b{color:var(--gold)}.ending .lineage{animation:fadeUp .8s var(--ease-out) 1.7s both}.ending .traits{animation:fadeUp .8s var(--ease-out) 1.8s both;flex-wrap:wrap;gap:6px;display:flex}.ending .traits span{color:var(--gold);background:#ffd86b1f;border:1px solid #ffd86b59;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800}.ending .btn-row{animation:fadeUp .8s var(--ease-out) 2s both;justify-content:flex-start;margin-top:8px}.ending .btn-row .btn{min-width:0}.credits{z-index:5;cursor:pointer;background:#000000e0;display:none;position:absolute;inset:0;overflow:hidden}.credits.show{display:block}.credits .roll{text-align:center;animation:roll var(--dur,34s) linear forwards;position:absolute;top:100%;left:0;right:0}@keyframes roll{to{transform:translateY(calc(-100% - 100vh))}}.credits h1{font-family:var(--display);color:var(--portal);letter-spacing:.06em;text-shadow:0 0 30px var(--glow);margin:0 0 8px;font-size:clamp(36px,7vw,80px);font-weight:700}.credits h2{font-family:var(--display);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-dim);margin:44px 0 10px;font-size:13px;font-weight:600}.credits p{margin:4px 0;font-size:18px;font-weight:700}.credits p small{color:var(--ink-dim);font-size:13px;font-weight:600;display:block}.credits .fin{font-family:var(--display);letter-spacing:.4em;text-transform:uppercase;color:var(--ink-faint);margin-top:60px;font-size:12px}.credits .skip{position:absolute;bottom:20px;right:20px}.touch{pointer-events:none;--ts:var(--touch-scale);display:none;position:absolute;inset:0}.touch.visible{display:block}.touch .zone-move{pointer-events:auto;width:46%;position:absolute;top:22%;bottom:0;left:0}.touch .zone-look{pointer-events:auto;width:54%;position:absolute;top:0;bottom:0;right:0}.touch.left-handed .zone-move{left:auto;right:0}.touch.left-handed .zone-look{left:0;right:auto}.touch .stick{width:calc(128px * var(--ts));height:calc(128px * var(--ts));margin:calc(-64px * var(--ts)) 0 0 calc(-64px * var(--ts));background:radial-gradient(circle,#00000040,#0000000d 70%);border:2px solid #ffffff47;border-radius:50%;display:none;position:absolute;box-shadow:0 0 0 1px #0000004d}.touch .stick.visible{animation:stickIn .15s var(--ease-out);display:block}@keyframes stickIn{0%{opacity:0;transform:scale(.6)}}.touch .stick:before{content:"";border:1px dashed #ffffff2e;border-radius:50%;position:absolute;inset:24%}.touch .stick .arrows{position:absolute;inset:0}.touch .stick .arrows i{width:0;height:0;transform-origin:5px calc(64px * var(--ts) - 6px);border:5px solid #0000;border-top:0;border-bottom:7px solid #ffffff59;margin-left:-5px;position:absolute;top:6px;left:50%}.touch .stick .arrows i:nth-child(2){transform:rotate(90deg)}.touch .stick .arrows i:nth-child(3){transform:rotate(180deg)}.touch .stick .arrows i:nth-child(4){transform:rotate(270deg)}.touch .stick .knob{width:calc(56px * var(--ts));height:calc(56px * var(--ts));margin:calc(-28px * var(--ts)) 0 0 calc(-28px * var(--ts));background:radial-gradient(circle at 40% 35%, #c8ffaaf2, var(--portal) 60%, #5bc23a);box-shadow:0 4px 16px #00000080, 0 0 20px var(--glow);border-radius:50%;position:absolute;top:50%;left:50%}.touch .buttons{right:calc(14px + var(--safe-right));bottom:calc(16px + var(--safe-bottom));width:calc(210px * var(--ts));height:calc(200px * var(--ts));pointer-events:none;position:absolute}.touch.left-handed .buttons{right:auto;left:calc(14px + var(--safe-left));transform:scaleX(-1)}.touch.left-handed .buttons .tbtn{transform:scaleX(-1)}.touch .tbtn{pointer-events:auto;width:calc(68px * var(--ts));height:calc(68px * var(--ts));color:var(--ink);touch-action:none;background:radial-gradient(circle at 50% 40%,#14281ebf,#0009);border:2px solid #ffffff59;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;transition:transform 80ms,background .1s,border-color .1s;display:flex;position:absolute;overflow:hidden;box-shadow:0 4px 14px #00000080}.touch .tbtn svg{width:calc(26px * var(--ts));height:calc(26px * var(--ts));z-index:1;position:relative}.touch .tbtn span{font-family:var(--display);font-weight:700;font-size:calc(9px * var(--ts));letter-spacing:.08em;text-transform:uppercase;z-index:1;position:relative}.touch .tbtn .cd{background:conic-gradient(#000000b8 calc(var(--cd,0) * 100%), transparent 0);border-radius:50%;position:absolute;inset:-2px}.touch .tbtn.ready{border-color:var(--portal);box-shadow:0 0 16px var(--glow), 0 4px 14px #00000080}.touch .tbtn.down{background:#97ff5a80;border-color:#fff;transform:scale(.9)}.touch .tbtn.primary{width:calc(86px * var(--ts));height:calc(86px * var(--ts));border-color:#97ff5a99;bottom:0;right:0}.touch .tbtn.primary svg{width:calc(34px * var(--ts));height:calc(34px * var(--ts))}.touch .tbtn.pos-dash{right:calc(100px * var(--ts));bottom:calc(8px * var(--ts))}.touch .tbtn.pos-jump{right:calc(8px * var(--ts));bottom:calc(104px * var(--ts))}.touch .tbtn.pos-ability{right:calc(112px * var(--ts));bottom:calc(96px * var(--ts))}.touch .top-btns{top:calc(12px + var(--safe-top));right:calc(66px + var(--safe-right));gap:8px;display:flex;position:absolute}.touch .top-btns .hud-btn{width:40px;height:40px}.rotate-prompt{z-index:100;background:var(--bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:none;position:fixed;inset:0}.rotate-prompt svg{width:64px;height:64px;color:var(--portal);animation:rotatePhone 2s var(--ease-in-out) infinite}@keyframes rotatePhone{0%,20%{transform:rotate(0)}60%,to{transform:rotate(90deg)}}.rotate-prompt .t{font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--portal);font-size:16px;font-weight:700}.rotate-prompt .s{color:var(--ink-dim);font-size:14px}@media (orientation:portrait) and (pointer:coarse) and (max-width:820px){.rotate-prompt.armed{display:flex}}.fps{bottom:calc(4px + var(--safe-bottom));left:calc(6px + var(--safe-left));color:#9f9;pointer-events:none;background:#0006;border-radius:4px;padding:3px 6px;font:11px/1 monospace;display:none;position:absolute}.fps.visible{display:block}@media (max-width:900px){.codex-body{grid-template-rows:1fr auto;grid-template-columns:1fr}.codex-detail{padding:10px 16px calc(14px + var(--safe-bottom));background:linear-gradient(#0000,#020805e6 30%)}.codex-detail .cd-tag{font-size:14px}.codex-detail .cd-paths{display:none}.ending-body{max-width:62vw}}@media (max-width:700px),(max-height:460px){.btn{min-width:220px;padding:11px 20px;font-size:14px}.action-bar,.move-hint{display:none}.narrator{bottom:auto;top:calc(58px + var(--safe-top));border-radius:14px;max-width:min(70vw,520px);padding:6px 12px 6px 6px}.narrator .line{font-size:calc(13px * var(--sub-scale))}.portrait{width:44px;height:44px}.narrator .who{font-size:9px}.hud-tl{gap:4px;width:min(40vw,240px)}.hbar.health{height:14px}.evo-meter .track,.mut-meter .track{height:9px}.mut-meter .legend{font-size:10px}.objective{max-width:40vw;top:calc(8px + var(--safe-top))}.objective .pill{padding:5px 10px;font-size:12px}.toasts{top:calc(44px + var(--safe-top))}.toast{padding:6px 12px;font-size:12px}.boss{bottom:calc(100px + var(--safe-bottom));width:min(44vw,360px)}.evolve-prompt{bottom:calc(110px + var(--safe-bottom));gap:10px;padding:8px 14px 8px 8px;left:50%}.evolve-prompt .ring{width:48px;height:48px}.evolve-prompt .n{font-size:15px}.panel{border-radius:16px;gap:10px;max-height:min(94vh,94dvh);padding:18px 16px 16px}.panel h2{font-size:16px}.setting-row{padding:6px}input[type=range].slider{width:34vw}.logo-wrap{margin-top:-2vh}.title-tag{margin:2px 0 8px;font-size:13px}.title-menu{gap:8px}.stage-card .branches{margin-top:8px}.tcard{bottom:8%}.ending-body{left:calc(16px + var(--safe-left));gap:8px;max-width:70vw}.ending .stat{min-width:80px;padding:6px 10px}.ending .stat b{font-size:16px}.ending .text{font-size:13px}.cine .subs{bottom:11vh}.key-table{grid-template-columns:auto 1fr 1fr}.key-table .touch-col{display:none}}@media (hover:none) and (pointer:coarse){.action-bar,.move-hint,.gp-hint{display:none}}.touch .stick.idle{opacity:.32;transition:opacity .3s;display:block}.touch .stick.idle .knob{box-shadow:none}.hud.touch-mode .action-bar{display:none}.hud-tr .chips{flex-direction:column;align-items:flex-end;gap:6px}.evo-meter.full .track{border-color:var(--portal);box-shadow:0 0 14px var(--glow);animation:1.2s ease-in-out infinite pulseGlow}.narrator .line em{color:var(--portal);font-style:italic}.tree-wrap .node text.q{font-family:var(--display);fill:#ffffff59;font-size:18px;font-weight:700}.tree-wrap .node .glyph svg,.lineage .node .glyph svg{overflow:visible}.tree-wrap .node .star,.lineage .node .star{color:var(--gold)}.tree-wrap .node .star.dim,.lineage .node .star.dim{color:#ffffff38;filter:none}.codex-detail .cd-paths i{display:inline-flex}.codex-detail .cd-paths small{color:var(--ink-faint)}.confirm{text-align:center;align-items:center;width:min(92vw,460px)}.confirm .btn-row .btn{min-width:0}.pause-panel{width:min(94vw,460px)}.pause-panel .sub{flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;display:flex}.pause-panel .mini-lineage span{align-items:center;display:inline-flex}.ending .lineage{width:min(52vw,560px)}.ending .lineage svg.tree{width:100%;height:auto;max-height:150px;display:block}.lineage .edge{fill:none;stroke:#ffffff1a;stroke-width:3px;stroke-linecap:round}.lineage .edge.on{stroke:var(--c);stroke-opacity:.45}.lineage .edge.flow{stroke-opacity:1;stroke-width:5px;stroke-dasharray:6 10;filter:drop-shadow(0 0 4px var(--c));animation:1.4s linear infinite dashFlow}.lineage .node .halo,.lineage .node .pulse{display:none}.lineage .node .ring{fill:#08140d;stroke:#ffffff2e;stroke-width:2px}.lineage .node.found .ring{stroke:var(--c);stroke-opacity:.5}.lineage .node.hl .ring{stroke:var(--c);stroke-opacity:1;stroke-width:4px;fill:color-mix(in srgb, var(--c) 30%, #08140d)}.lineage .node .glyph{opacity:.5}.lineage .node.hl .glyph{opacity:1}.lineage .node text.q{fill:#ffffff40;text-anchor:middle;font-size:16px;font-family:var(--display)}.tree-wrap .node.hl .ring{stroke-width:3px}.credits .skip{right:calc(20px + var(--safe-right));bottom:calc(20px + var(--safe-bottom));position:absolute}.cine .skip-hint{z-index:5}.cine .subs em,.tcard em{color:var(--portal)}.cine .lab-art .flask .liq{animation:2.4s ease-in-out infinite liqGlow;animation-delay:var(--d)}@keyframes liqGlow{50%{opacity:.55}}.cine .lab-art .bub{fill:#dcffdc8c;animation:3.2s ease-in infinite bubUp;animation-delay:var(--d)}@keyframes bubUp{0%{opacity:0;transform:translate(0)}15%{opacity:1}to{transform:translate(var(--x), -420px);opacity:0}}.cine .lab-art .mcell{animation:6s ease-in-out infinite alternate mDrift;animation-delay:calc(var(--d) * -1)}@keyframes mDrift{to{transform:translate(var(--dx), var(--dy))}}.cine .lab-art .coils ellipse{animation:.9s ease-in-out infinite coilPulse}@keyframes coilPulse{50%{stroke-opacity:.35}}.cine .lab-art .lampglow{animation:3s ease-in-out infinite pulseGlow}.transition .tcard .from{color:var(--ink-dim)}@media (max-width:950px) and (max-height:500px),(max-width:700px){.objective{top:calc(8px + var(--safe-top));max-width:calc(100vw + -2*min(40vw,240px) - 72px)}.narrator{top:calc(44px + var(--safe-top));gap:8px;max-width:calc(100vw + -2*min(40vw,240px) - 72px);padding:5px 10px 5px 5px;bottom:auto}.narrator .who{display:none}.toasts{top:calc(132px + var(--safe-top));max-width:calc(100vw + -2*min(40vw,240px) - 72px)}.toast{white-space:normal;padding:5px 10px;font-size:12px}.evolve-prompt{bottom:calc(96px + var(--safe-bottom))}}.btn svg{flex:none;width:20px;height:20px}.btn.small svg{width:16px;height:16px}.hud-btn svg{width:20px;height:20px}.evo-meter .fill{overflow:hidden}@media (max-width:950px) and (max-height:500px),(max-width:700px){.objective .pill{white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.objective .pill:before{vertical-align:middle;margin-right:6px;display:inline-block}.nameplate{font-size:12px}.nameplate .stage-no{white-space:nowrap;font-size:9px}}.ltr+.sp,.sp{width:.28em;display:inline-block}.tcard .to{font-size:clamp(30px,6vw,64px)}.tree-wrap .node text{letter-spacing:.03em;font-size:10px}.w{white-space:nowrap;display:inline-flex}.narrator.side{left:auto;right:calc(24px + var(--safe-right));bottom:calc(24px + var(--safe-bottom));max-width:min(40vw,460px);transform:translateY(12px)}.narrator.side.visible{transform:none}.ending h1{font-size:clamp(32px,5.6vw,68px)}.settings-panel .tabs{z-index:2;background:var(--panel);margin:0 -10px;padding:8px 10px;position:sticky;top:-26px}.settings-panel .tab-page{display:flex}.settings-panel .tab-page h3{margin:10px 10px 2px}.toggle input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.ending .stat{flex-direction:column-reverse}.ending .lineage{width:auto;font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:2px 0;font-size:12px;display:flex}.ending .lineage i{color:var(--ink-faint);padding:0 6px;font-style:normal}.ending .lineage-tree{width:min(52vw,560px);animation:fadeUp .8s var(--ease-out) 1.6s both}.ending .lineage-tree svg.tree{width:100%;height:auto;max-height:150px;display:block}.lineage-tree .edge{fill:none;stroke:#ffffff1a;stroke-width:3px;stroke-linecap:round}.lineage-tree .edge.on{stroke:var(--c);stroke-opacity:.45}.lineage-tree .edge.flow{stroke-opacity:1;stroke-width:5px;stroke-dasharray:6 10;animation:1.4s linear infinite dashFlow}.lineage-tree .node .halo,.lineage-tree .node .pulse{display:none}.lineage-tree .node .ring{fill:#08140d;stroke:#ffffff2e;stroke-width:2px}.lineage-tree .node.found .ring{stroke:var(--c);stroke-opacity:.5}.lineage-tree .node.hl .ring{stroke:var(--c);stroke-opacity:1;stroke-width:4px;fill:color-mix(in srgb, var(--c) 30%, #08140d)}.lineage-tree .node .glyph{opacity:.5}.lineage-tree .node.hl .glyph{opacity:1}.lineage-tree .node text.q{fill:#ffffff40;text-anchor:middle;font-size:16px;font-family:var(--display)}.lineage-tree .node .star{color:var(--gold)}.lineage-tree .node .star.dim{color:#ffffff38}.codex.modal{justify-content:stretch;align-items:stretch;padding:0}@media (max-width:950px) and (max-height:500px){.ending .lineage-tree{display:none}}.hud-tl{background:linear-gradient(#020a069e,#020a066b);border:1px solid #ffffff12;border-radius:14px;margin:-8px 0 0 -10px;padding:8px 10px 10px;box-shadow:0 6px 24px #00000040}html:not(.tier-low) .hud-tl{-webkit-backdrop-filter:blur(6px)}.evo-meter .lbl,.mut-meter .lbl,.mut-meter .legend span{color:#eefff3d1;text-shadow:0 1px 2px #000,0 0 6px #000c}.evo-meter .track,.mut-meter .track,.hbar{background:#000000ad;border-color:#ffffff47}.hbar .hp-val{font-family:var(--display);color:#fff;text-shadow:0 1px 2px #000;z-index:1;font-size:11px;font-weight:700;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.hbar.stamina{height:10px}.hbar.stamina .ico{width:8px;height:8px;left:4px}.chip,.objective .pill{background:#0000009e}.boss{top:calc(56px + var(--safe-top));bottom:auto}@media (max-width:950px) and (max-height:500px),(max-width:700px){.boss{top:auto;bottom:calc(10px + var(--safe-bottom));width:min(36vw,320px)}.hud-tl{margin:-6px 0 0 -8px;padding:6px 8px 8px}}.touch .tbtn.pos-interact{right:calc(196px * var(--ts));bottom:calc(10px * var(--ts));border-color:#ffd86bb3}.touch .tbtn.pos-interact svg{color:var(--gold)}.tree-wrap .sr,.lineage-tree .sr{fill:#0000;font-size:0}.codex-top .codex-back{flex:none;position:static}.codex-top h2{margin-right:auto}.codex-detail .cd-meta span{color:#eefff3c7}@media (max-width:950px) and (max-height:500px){.codex-body{padding-top:calc(52px + var(--safe-top));grid-template-rows:1fr;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}.codex-top{top:calc(8px + var(--safe-top))}.codex-top .count{letter-spacing:.12em;text-align:right;font-size:9px}.codex-detail{padding:8px 14px calc(12px + var(--safe-bottom));background:0 0;gap:6px}.codex-detail .cd-name{font-size:24px}.codex-detail .cd-tag{font-size:12px}.codex-detail .cd-paths{display:none}.codex-detail .cd-meta span{padding:3px 8px;font-size:9px}}.fps{left:50%;transform:translate(-50%)}.codex-detail .cd-meta span.ending{color:var(--gold);border-color:#ffd86b66}.touch.off{display:none!important}.transition .rings i{border-width:1px}@media (max-width:950px) and (max-height:500px),(max-width:700px){.narrator.side{top:auto;bottom:calc(12px + var(--safe-bottom));max-width:min(38vw,340px)}.narrator.side .line{font-size:calc(12px * var(--sub-scale))}.pause-panel{gap:8px;width:min(94vw,620px);padding:14px 16px}.pause-panel .pause-creature{padding:6px 10px}.pause-panel .pause-creature .t,.pause-panel .mini-lineage{display:none}.pause-panel .btn-col{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pause-panel .btn-col .btn:first-child{grid-column:span 2}.pause-panel .btn-col .btn{min-width:0;padding:9px 12px;font-size:13px}.ending-body{max-width:60vw}.ending .stats .stat{min-width:0}}html.tier-low .panel{background:#06120df2}.hud.boss-on .toasts{top:calc(104px + var(--safe-top))}.threat-badge{position:static}.mut-meter .legend span{white-space:nowrap}@media (max-width:950px) and (max-height:500px),(max-width:700px){.hud.boss-on .toasts{top:calc(132px + var(--safe-top))}.mut-meter .legend{gap:4px;font-size:10px}.mut-meter .legend svg{width:11px;height:11px}.mut-meter .legend b{font-size:8px}.mut-meter .legend.n3>span:not(.lead) b{display:none}}.credits:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#000000f2,#0000 16% 84%,#000000f2);position:absolute;inset:0}.credits .skip{z-index:2}.tcard{bottom:21%}.loading-screen.flash-in:after{content:"";pointer-events:none;background:#fff;animation:1.1s ease-out forwards whiteFade;position:absolute;inset:0}@keyframes whiteFade{to{opacity:0}}.ios-swipe{z-index:200;touch-action:pan-y;pointer-events:auto;-webkit-user-select:none;user-select:none;background:linear-gradient(#0208058c,#02080533 40%,#02080559);width:100vw;height:100vh;display:none;position:fixed;top:0;left:0}.ios-swipe.show{display:block}.ios-swipe-bar{left:50%;top:calc(12px + var(--safe-top));border:1px solid var(--edge-strong);box-shadow:0 0 24px var(--glow), 0 8px 24px #00000080;font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);white-space:nowrap;animation:evoIn .5s var(--ease-back);pointer-events:none;background:#06120deb;border-radius:999px;align-items:center;gap:12px;padding:10px 20px 10px 14px;font-size:14px;font-weight:700;display:flex;position:absolute;transform:translate(-50%)}.ios-swipe-bar .arr{width:22px;height:26px;position:relative}.ios-swipe-bar .arr i{border-left:3px solid var(--portal);border-top:3px solid var(--portal);width:14px;height:14px;animation:1.2s ease-in-out infinite swipeArrow;position:absolute;left:3px;transform:rotate(45deg)}.ios-swipe-bar .arr i:first-child{top:4px}.ios-swipe-bar .arr i:nth-child(2){opacity:.6;animation-delay:.15s;top:13px}@keyframes swipeArrow{0%{opacity:0;transform:translateY(6px)rotate(45deg)}40%{opacity:1}to{opacity:0;transform:translateY(-8px)rotate(45deg)}}.ios-swipe-spacer{pointer-events:none;width:1px;height:200vh}html.ios-scroll,html.ios-scroll body{overscroll-behavior:none;min-height:100%;height:auto!important;overflow:auto!important}html.ios-swipe-on,html.ios-swipe-on body{overscroll-behavior:auto;touch-action:pan-y!important}.ios-swipe-bar{pointer-events:auto;padding-right:6px}.ios-swipe-x{width:44px;height:44px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;margin:-8px 0 -8px 4px;display:flex}.ios-swipe-x svg{width:16px;height:16px}.xp-badge{font-family:var(--display);letter-spacing:.16em;color:#07130a;background:var(--gold);text-shadow:none;vertical-align:middle;border-radius:999px;margin-left:10px;padding:3px 9px;font-size:10px}.tree-wrap text.blabel,.lineage-tree text.blabel{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#020805e6;stroke-width:3px;font-size:9px;font-weight:600}.btn.explore{--c:var(--gold);background:linear-gradient(#ffd86b33,#ffd86b0d);border-color:#ffd86b99}.btn.explore svg{color:var(--gold)}.btn.explore:hover,.btn.explore.focus{box-shadow:0 0 0 1px var(--gold), 0 0 28px #ffd86b66}.skip-box{border-top:1px solid #ffffff14;flex-direction:column;gap:8px;padding-top:8px;display:flex}.skip-box h3{color:var(--gold);align-items:center;gap:6px;margin:0;display:flex}.skip-box h3 svg{width:14px;height:14px}.skip-row{flex-wrap:wrap;gap:8px;display:flex}.skip-row .btn.skip-btn{text-align:left;border-color:color-mix(in srgb, var(--c,var(--gold)) 60%, transparent);flex:140px;justify-content:flex-start;min-width:0;min-height:44px}.skip-row .btn.skip-btn i{display:inline-flex}.skip-row .btn.skip-btn .sub{letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-family:var(--display)}.hud-btn.explorer-btn{color:var(--gold);border-color:#ffd86b99}@media (max-width:950px) and (max-height:500px),(max-width:700px){.pause-panel .skip-box h3{font-size:10px}.skip-row .btn.skip-btn{padding:6px 10px;font-size:11px}}.tree-wrap text.blabel.end,.lineage-tree text.blabel.end{text-anchor:end}.stage-card .era{animation-duration:.35s;animation-delay:0s}.stage-card .name .ltr{animation-duration:.35s;animation-delay:calc(var(--i) * 15ms + 50ms)}.stage-card .rule{animation-duration:.4s;animation-delay:.15s}.stage-card .tag{animation-duration:.35s;animation-delay:.2s}.stage-card .branches{animation-duration:.35s;animation-delay:.3s}.stage-card{transition:opacity .2s}.tcard .to .ltr{animation-duration:.35s;animation-delay:calc(var(--i) * 15ms + 50ms)}.tcard .era{animation-delay:.2s}.tcard .traits span{animation-delay:calc(var(--i) * 60ms + .3s)}.tcard{transition:opacity .25s}html.is-touch .glass,html.is-touch .hud-tl{-webkit-backdrop-filter:none!important}html.is-touch .panel{background:#06120df2}html.is-touch .narrator{background:#06120de6}html.is-touch .hud-tl{background:linear-gradient(#020a06b8,#020a068c)}.touch .tbtn{transition:transform 40ms,background 40ms,border-color 40ms}.setting-row.info{cursor:default}.setting-row.info small{font-family:var(--display);letter-spacing:.06em;color:var(--ink-dim)}.skip-hint{white-space:nowrap}.video-cine{background:#000}.video-cine .cine-video{object-fit:cover;background:#000;width:100%;height:100%;position:absolute;inset:0}.video-cine .subs{z-index:3;bottom:calc(8vh + var(--safe-bottom))}.video-cine .skip-hint{z-index:4}.abtn{width:auto;min-width:62px}.abtn .keyrow{align-items:center;gap:2px;display:flex}.abtn .keyrow kbd{min-width:18px;height:18px;padding:0 4px;font-size:10px}.kor{color:var(--ink-faint);padding:0 2px;font-size:10px;font-style:normal}.move-hint .grids{align-items:center;gap:4px;display:flex}.evolve-prompt .h kbd{min-width:20px;height:20px;font-size:11px}.hbar.health.regen .fill:before{content:"";mix-blend-mode:screen;background:linear-gradient(90deg,#0000 0%,#a0ffb48c 45%,#0000 60%) 0 0/220% 100%;animation:.9s linear infinite regenSweep;position:absolute;inset:0}.hbar.health.regen{box-shadow:0 0 10px #78ff9673,0 2px 10px #0006}@keyframes regenSweep{0%{background-position:120% 0}to{background-position:-120% 0}}.controls-panel{width:min(96vw,860px)}.kb-wrap{flex-direction:column;gap:8px;display:flex}.kb-sub{color:var(--ink-dim);font-size:13px}.kb{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.kb-main{flex-direction:column;flex:520px;gap:5px;min-width:0;display:flex}.kb-arrows{flex-direction:column;gap:5px;width:138px;display:flex}.kr{gap:5px;display:flex}.kk{min-width:0;height:44px;color:var(--ink-faint);background:#ffffff0d;border:1px solid #ffffff1a;border-bottom-width:3px;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;display:flex;overflow:hidden}.kk b{font-family:var(--display);font-size:12px;font-weight:600}.kk small{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:0 2px;font-size:8px;overflow:hidden}.kk.gap{visibility:hidden}.kk.on{color:#07130a;box-shadow:0 0 12px color-mix(in srgb, var(--ac) 50%, transparent);background:var(--ac);border-color:#00000059}.kb-mouse{color:var(--ink-dim);flex-direction:column;align-items:center;gap:4px;font-size:11px;display:flex}.kb-mouse .mouse{border:2px solid #ffffff59;border-radius:22px;width:44px;height:64px;display:flex;overflow:hidden}.kb-mouse .mouse span{border-bottom:2px solid #ffffff59;flex:1;height:45%}.kb-mouse .mouse span.l{background:var(--ac);border-right:1px solid #ffffff59}.a-move{--ac:#c9ffe0}.a-attack{--ac:#ff6b81}.a-dash{--ac:#5bf0ff}.a-jump{--ac:#ffd86b}.a-ability{--ac:#c38bff}.a-interact{--ac:#97ff5a}.a-pause{--ac:#b8c4bd}.kb-legend{color:var(--ink-dim);flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.kb-legend span{align-items:center;gap:6px;display:inline-flex}.kb-legend i{background:var(--ac);border-radius:3px;width:12px;height:12px}.ctl-other{color:var(--ink-dim);grid-template-columns:1fr 1fr;gap:14px;font-size:13px;display:grid}.ctl-other ul{flex-direction:column;gap:4px;margin:4px 0 0;padding-left:18px;display:flex}.ctl-other kbd.pad{min-width:20px;height:20px;font-size:10px}@media (max-width:950px) and (max-height:500px),(max-width:700px){.kk{height:34px}.kk b{font-size:10px}.kk small{font-size:7px}.kb-arrows{width:110px}.ctl-other{grid-template-columns:1fr}}.tab{transition:none}
