@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-600-normal-Dd5YO2UX.woff2)format("woff2"),url(/assets/cinzel-latin-600-normal-CH_LB4su.woff)format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2)format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff)format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/cinzel-latin-900-normal-BI3z7Tow.woff2)format("woff2"),url(/assets/cinzel-latin-900-normal-t_fSDEbn.woff)format("woff")}:root{--gold-mid:var(--brass);--gold-deep:var(--brass-dark);--cream-dim:#f4e8c89e;--cream-faint:#f4e8c861;--hair:#f1d48a38;--hair-strong:#f1d48a80;--glass:#0c09069e;--slow:cubic-bezier(.16, 1, .3, 1);--pan:cubic-bezier(.22, 1, .36, 1);--night:#0d1410;--night-2:#142019;--night-3:#1c2a21;--oak:#6b4423;--oak-dark:#3a2616;--parchment:#f1dcaa;--parchment-deep:#e0c38a;--parchment-edge:#a9824a;--cream:#f4e8c8;--cream-muted:#cdb98f;--ink:#2a1b0f;--ink-muted:#654a2e;--brass:#c99a3e;--brass-light:#f1d48a;--brass-dark:#7a5a1c;--heraldic:#2350a8;--heraldic-dark:#142f6b;--teal:#3fbfae;--amber:#f2a93b;--blood:#b8402e;--moss:#4f7a3a;--font-display:"Cinzel", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-text:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--bg:var(--night);--panel:var(--night-2);--panel-raised:#26332a;--line:#3a3324;--line-strong:#6a5530;--text:var(--cream);--muted:var(--cream-muted);--gold:#e8bd5c;--danger:#e0614b;--ok:#7fcf6a;--accent:var(--gold);--crown:#f2c94c;--title-font:var(--font-display);--ease:.14s ease-out;--fade:.2s ease-out;--lift:0 10px 26px #00000080;--gap:12px;--pad:16px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.panel-wood{color:var(--cream);background:url(/ui/panel-wood.png) 0 0 / 256px repeat, var(--oak-dark);box-shadow:inset 0 0 0 1px #0000008c,inset 0 1px #ffe6b414,inset 0 0 48px #00000080}.panel-parchment{--text:var(--ink);--muted:var(--ink-muted);--line:#c9a970;--line-strong:var(--parchment-edge);--gold:#8a5a12;--accent:#8a5a12;--danger:#a3301f;--ok:#2f5a1f;color:var(--ink);background:url(/ui/panel-parchment.png) 0 0 / 384px repeat, var(--parchment);box-shadow:inset 0 0 0 1px #5a3c1473, inset 0 0 36px #784e1a59, var(--lift)}.ornament-top{position:relative}.ornament-top:before{content:"";pointer-events:none;background:url(/ui/ornament-divider.png) 50%/contain no-repeat;width:min(320px,80%);height:22px;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.ornate{position:relative}.ornament-corner{pointer-events:none;filter:drop-shadow(0 1px 1px #00000059);background:url(/ui/ornament-corner.png) 0 0/contain no-repeat;width:46px;height:46px;position:absolute}.ornament-corner.tl{top:4px;left:4px}.ornament-corner.tr{top:4px;right:4px;transform:scaleX(-1)}.ornament-corner.bl{bottom:4px;left:4px;transform:scaleY(-1)}.ornament-corner.br{bottom:4px;right:4px;transform:scale(-1)}.btn-plate{--plate-edge:12px;border:var(--plate-edge) solid transparent;border-image:url(/ui/button-plate.png) 24 fill / var(--plate-edge) stretch;color:var(--cream);font:600 15px/1.2 var(--font-display);letter-spacing:.06em;text-shadow:0 1px 2px #000c;transition:transform var(--ease), filter var(--ease);background:0 0;border-radius:0;padding:8px 22px;position:relative}.btn-plate,.btn-plate.primary,.btn-plate.danger,.btn-plate:hover:not(:disabled),.btn-plate[aria-pressed=true]{box-shadow:none;background:0 0}.btn-plate:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-2px)}.btn-plate:active:not(:disabled){filter:brightness(.92);transform:translateY(1px)}.btn-plate.primary{color:var(--brass-light);filter:drop-shadow(0 0 6px #f1d48a59)}.btn-plate.primary:hover:not(:disabled){filter:brightness(1.15)drop-shadow(0 0 10px #f1d48a8c)}.btn-plate.danger{color:#ffb3a3}.btn-plate:disabled{filter:grayscale(.7)brightness(.8);opacity:.6}.btn-plate:focus-visible{filter:brightness(1.12) drop-shadow(0 0 2px var(--brass-light)) drop-shadow(0 0 8px #f1d48ab3);outline:none}.btn-plate.small{--plate-edge:8px;padding:2px 10px;font-size:12px}.btn-plate.large{--plate-edge:16px;padding:10px 40px;font-size:20px}.ribbon-heading{--ribbon-h:54px;box-sizing:border-box;min-width:calc(var(--ribbon-h) * 4.5);height:var(--ribbon-h);padding:0 calc(var(--ribbon-h) * 1.05) calc(var(--ribbon-h) * .04);border:0 solid #0000;border-image:url(/ui/banner-ribbon.png) 0 110 fill / 0 calc(var(--ribbon-h) * .917) stretch;color:var(--cream);font:700 calc(var(--ribbon-h) * .38) / 1 var(--font-display);letter-spacing:.06em;white-space:nowrap;text-shadow:0 1px 0 var(--heraldic-dark), 0 2px 4px #0009;background:0 0;justify-content:center;align-items:center;margin:0;display:inline-flex}.ribbon-heading.small{--ribbon-h:40px}.ribbon-heading.large{--ribbon-h:66px}.ribbon-heading.prose{font:600 calc(var(--ribbon-h) * .27) / 1.2 var(--font-text);letter-spacing:.01em;white-space:normal;text-align:center}.tag-parchment{color:var(--ink);font:600 12px/1.2 var(--font-text);background:radial-gradient(circle at 9px 50%, #140e08d9 0 2.5px, var(--parchment-edge) 3px 3.6px, transparent 4px), url(/ui/panel-parchment.png) 0 0 / 256px repeat, var(--parchment);clip-path:polygon(8px 0,100% 0,100% 100%,8px 100%,0 50%);filter:drop-shadow(0 2px 3px #00000073);align-items:center;gap:8px;padding:4px 10px 4px 20px;display:inline-flex}.tag-parchment .tag-label{font:700 10px/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}.wax-seal{--wax:#a8322a;background:radial-gradient(circle at 36% 30%, color-mix(in srgb, var(--wax), white 28%), var(--wax) 45%, color-mix(in srgb, var(--wax), black 40%) 100%);width:56px;height:56px;box-shadow:inset 0 0 0 5px color-mix(in srgb, var(--wax), black 12%), inset 0 0 0 6.5px color-mix(in srgb, var(--wax), black 38%), 0 3px 6px #00000080;color:#fff1dc;font:700 9.5px/1 var(--font-display);letter-spacing:.04em;text-transform:uppercase;text-shadow:0 1px 1px #0009;border-radius:48% 52% 46% 54%/53% 47% 55% 45%;place-items:center;display:inline-grid;transform:rotate(-10deg)}.bezel{background:conic-gradient(from 210deg, var(--brass-dark), var(--brass-light), var(--brass), var(--brass-dark), var(--brass-light), var(--brass-dark));border-radius:50%;flex:none;place-items:center;padding:3px;display:inline-grid;box-shadow:0 2px 6px #00000080,inset 0 0 0 1px #0006}.portrait{background:radial-gradient(circle at 50% 35%, #33503c, var(--night) 75%);border-radius:50%;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0009}.portrait img{object-fit:cover;object-position:50% 12%;width:100%;height:100%;display:block}.portrait-initial{font:700 1.6em/1 var(--font-display);color:var(--brass-light)}.class-icon{filter:drop-shadow(0 1px 1px #0000008c);background:url(/ui/class-icons.png) 0 0/400% 100% no-repeat;flex:none;width:28px;height:28px;display:inline-block}.class-icon.none{background:0 0}.brass-rule{background:linear-gradient(var(--brass-dark), var(--brass-light) 50%, var(--brass-dark));flex:none;align-self:stretch;width:2px;margin:2px 0;box-shadow:1px 0 #00000080}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}}#shell,#loading,.glass,.btn-gold,.btn-quiet{--gold:var(--brass-light)}.glass{background:var(--glass);-webkit-backdrop-filter:blur(16px)saturate(1.25);backdrop-filter:blur(16px)saturate(1.25);border:1px solid var(--hair);box-shadow:0 24px 60px #00000073,inset 0 1px #fff0c80f}.btn-gold{cursor:pointer;font:700 15px/1 var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:#1f1408;border:0;border-radius:0;padding:14px 26px;transition:filter .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff80,inset 0 -2px #5a3c1466,0 8px 24px #c99a3e40}.btn-gold,.btn-gold:hover:not(:disabled){background:linear-gradient(#f8e2a4,#d9ac55 55%,#b98a35)}.btn-gold:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 35%,#ffffff8c 50%,#0000 65%);position:absolute;inset:0;translate:-120%}.btn-gold:hover:not(:disabled){filter:brightness(1.07);box-shadow:inset 0 1px #ffffff80,inset 0 -2px #5a3c1466,0 10px 34px #f1d48a73}.btn-gold:hover:not(:disabled):after{transition:translate .9s var(--slow);translate:120%}.btn-gold:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.btn-gold:disabled{cursor:not-allowed;color:var(--cream-dim);box-shadow:inset 0 0 0 1px var(--hair);background:#ffffff0a}.btn-gold:disabled:after{display:none}.btn-quiet{border:1px solid var(--hair);cursor:pointer;font:600 12px/1 var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--cream-dim);background:#0c090659;border-radius:0;padding:10px 18px;transition:color .3s,border-color .3s,background .3s}.btn-quiet:hover:not(:disabled),.btn-quiet:focus-visible{color:var(--gold);border-color:var(--hair-strong);background:#f1d48a0f;outline:none}.btn-quiet.danger{color:#f0a08e;background:#0c090659;border-color:#f0a08e47}.btn-quiet.danger:hover:not(:disabled),.btn-quiet.danger:focus-visible{color:#ffb3a3;background:#f0a08e14;border-color:#f0a08e8c}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font:14px/1.4 var(--font-text);margin:0}button{font:inherit;color:var(--cream);cursor:pointer;transition:background-color var(--ease), border-color var(--ease), box-shadow var(--ease), transform var(--ease), filter var(--ease);background:linear-gradient(#2c2a24,#1d1b17);border:1px solid #5a4626;border-radius:5px;padding:6px 12px;box-shadow:inset 0 1px #ffe6aa14,0 1px 2px #0006}button:where(:not(#app *)):hover:not(:disabled){border-color:var(--brass);background:linear-gradient(#36332b,#24211b)}button:where(:not(#app *)):active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible{outline:2px solid var(--brass-light);outline-offset:1px}button.primary{color:#fff4d6;background:linear-gradient(#4b6a2e,#33491f);border-color:#8fae55;font-weight:600}button.primary:hover:not(:disabled){background:linear-gradient(#56793a,#3c5426);border-color:#b5d17a}button.danger{color:#ffd8cf;background:linear-gradient(#5a2a21,#3e1c16);border-color:#8a4130}button.danger:hover:not(:disabled){background:linear-gradient(#6a3227,#4a221b);border-color:#b5583f}button:where(:not(#app *))[aria-pressed=true]{border-color:var(--brass-light);box-shadow:inset 3px 0 0 var(--brass-light);background:linear-gradient(#3a3322,#27221a)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}html.reduced-motion *,html.reduced-motion :before,html.reduced-motion :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}#app{--dock:104px;--ds:var(--dock-scale,1);background:var(--night);position:fixed;inset:0;overflow:hidden}:where(#app) button{color:inherit;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;transition:none;transform:none}:where(#app) button:disabled{opacity:1}kbd{font:600 11px/1 var(--font-mono);color:var(--cream-muted);background:#00000059;border:1px solid #5a4626;border-bottom-width:2px;border-radius:4px;padding:3px 5px}:where(#app) kbd{color:var(--cream-dim);border:1px solid var(--hair);background:#0000004d;border-radius:0;font-size:10px}#app .num{font-variant-numeric:tabular-nums}#ground{background:var(--night) 50% 50% / cover no-repeat;filter:blur(30px)brightness(.46)saturate(.85);position:absolute;inset:-40px}#stage{inset:0 0 var(--dock);min-width:0;min-height:0;position:absolute}#canvas-host{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}#canvas-host canvas{-webkit-mask-composite:source-in;display:block;-webkit-mask-image:linear-gradient(#0000,#000 3.5% 94%,#0000),linear-gradient(90deg,#0000,#000 1.5% 98.5%,#0000);mask-image:linear-gradient(#0000,#000 3.5% 94%,#0000),linear-gradient(90deg,#0000,#000 1.5% 98.5%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}#map-layer{pointer-events:none;position:absolute}#map-layer:after{content:"";background:linear-gradient(#06050380,#0000 11% 90%,#0605039e),linear-gradient(90deg,#06050338,#0000 7% 93%,#06050338);position:absolute;inset:0}.toast{z-index:9;color:var(--cream);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .2s, translate .35s var(--slow);background:#3a1812e0;border:1px solid #e0614b80;padding:9px 16px;position:absolute;bottom:24px;left:50%;translate:-50% 8px}.toast.show{opacity:1;translate:-50%}.island{background:var(--glass);-webkit-backdrop-filter:blur(16px)saturate(1.25);border:1px solid var(--hair);align-items:stretch;display:flex;box-shadow:0 14px 34px #0000006b,inset 0 1px #fff0c80f}#hud{z-index:16;pointer-events:none;position:fixed;inset:0}#hud>*{pointer-events:auto}#hud .island{z-index:10;position:fixed}.ledger{top:14px;left:16px}.fig{align-items:center;gap:9px;padding:9px 18px;display:flex;position:relative}.fig+.fig{border-left:1px solid var(--hair)}.fig-icon{filter:drop-shadow(0 1px 2px #00000080);line-height:0;display:block}.fig-icon svg{width:19px;height:19px;display:block}.fig b{font:700 23px/1 var(--font-display);letter-spacing:.01em;font-variant-numeric:tabular-nums lining-nums}.fig.gold b{color:var(--gold)}.fig.lives.hit{animation:lives-hit .7s var(--slow)}@keyframes lives-hit{0%{background:#e0614b80}to{background:0 0}}.float{font:700 14px/1 var(--font-display);color:var(--gold);opacity:0;pointer-events:none;position:absolute;top:3px;left:calc(100% - 12px)}.float.show{animation:float-rise 1.4s var(--slow)}@keyframes float-rise{0%{opacity:0;translate:0 8px}15%{opacity:1;translate:0}to{opacity:0;translate:0 -14px}}.fig.round{flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;min-width:150px}.round-line{font:700 12px/1 var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--cream-dim);align-items:baseline;gap:8px;display:flex}.round-line b{letter-spacing:.04em;color:var(--cream);font-size:15px}.round-line i{letter-spacing:.04em;color:var(--cream-faint);font-style:normal}.round-bar{background:#f1d48a29;width:100%;height:2px}.round-bar span{background:var(--gold);transform-origin:0;height:100%;transition:transform .8s var(--slow);display:block;box-shadow:0 0 8px #f1d48acc}.command{min-height:46px;top:14px;right:16px}button.cmd{font:600 11px/1 var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--cream-dim);cursor:pointer;align-items:center;gap:8px;padding:0 14px;transition:color .3s,background .3s;display:flex}.cmd+.cmd,.round-btn+.cmd{border-left:1px solid var(--hair)}button.cmd:hover:not(:disabled){color:var(--gold);background:#f1d48a12}button.cmd:disabled{opacity:.45;cursor:not-allowed}.cmd-icon{line-height:0;display:block}.wave{flex-direction:column;justify-content:center;gap:5px;min-width:172px;padding:0 18px;display:none}.wave-line{font:600 11px/1 var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--cream-dim);justify-content:space-between;gap:14px;display:flex}.wave-line b{color:var(--cream);font:inherit;font-variant-numeric:tabular-nums}.wave-bar{background:#f1d48a29;height:2px}.wave-bar span{background:linear-gradient(90deg, var(--gold), #fff1c2);transform-origin:0;height:100%;transition:transform .6s var(--slow);display:block}#app[data-state=round] .wave{display:flex}button.round-btn{height:46px;font:700 13px/1 var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:#1f1408;cursor:pointer;background:linear-gradient(#f8e2a4,#d9ac55 55%,#b98a35);align-items:center;gap:10px;margin:-1px 0 -1px -1px;padding:0 20px;transition:filter .3s,box-shadow .3s;display:flex;box-shadow:inset 0 1px #ffffff80,inset 0 -2px #5a3c1466,0 0 26px #f1d48a47}button.round-btn:hover:not(:disabled){filter:brightness(1.07);box-shadow:inset 0 1px #ffffff80,inset 0 -2px #5a3c1466,0 0 38px #f1d48a80}button.round-btn:disabled{cursor:not-allowed;filter:grayscale(.6)brightness(.6);box-shadow:none}.round-btn kbd{color:#3a2810;background:#ffffff2e;border-color:#3a281073}.chev{gap:2px;display:none}.chev i{clip-path:polygon(0 0,100% 50%,0 100%,30% 50%);opacity:.22;background:currentColor;width:7px;height:12px;transition:opacity .25s}.chev i.on{opacity:1;filter:drop-shadow(0 0 4px var(--gold))}#app:not([data-state=build]) button.round-btn{letter-spacing:.08em;min-width:118px;height:auto;color:var(--gold);box-shadow:inset 0 0 0 1px var(--hair-strong);background:#f1d48a14;justify-content:center;margin:0;padding:0 14px}#app:not([data-state=build]) button.round-btn:hover:not(:disabled){filter:none;box-shadow:inset 0 0 0 1px var(--gold);background:#f1d48a29}#app:not([data-state=build]) .round-btn kbd{color:var(--cream-dim);border-color:var(--hair);background:#0000004d}#app:not([data-state=build]) .chev{display:inline-flex}#hud .boss-bar{border-color:#3fbfae6b;flex-direction:column;gap:6px;width:min(36vw,520px);padding:9px 16px 11px;top:68px;left:50%;translate:-50%;box-shadow:0 14px 34px #0000006b,0 0 26px #3fbfae29}#hud .boss-bar[hidden]{display:none}.boss-head{font:700 12px/1 var(--font-display);letter-spacing:.2em;text-transform:uppercase;justify-content:space-between;display:flex}.boss-name{color:var(--boss-glow)}.boss-value{color:var(--cream-dim);letter-spacing:.06em;font-variant-numeric:tabular-nums lining-nums}.boss-track{background:#3fbfae24;height:5px;position:relative}.boss-fill{background:linear-gradient(90deg, var(--boss), var(--boss-glow));height:100%;transition:width .12s linear;box-shadow:0 0 10px #3fbfae99}.boss-mark{background:#ffffff4d;width:1px;position:absolute;top:-2px;bottom:-2px}.boss-mark.next{background:var(--amber);box-shadow:0 0 6px var(--amber)}.boss-mark.spent{background:#ffffff1f}.heralds[hidden]{display:none}.herald{z-index:3;background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(1.2);border:1px solid var(--hair);width:214px;transition:opacity .4s, translate .5s var(--slow);padding:9px 13px 10px;position:absolute;box-shadow:0 12px 28px #0006,inset 0 1px #fff0c80f}.herald[hidden],.road-run[hidden]{display:none}.herald:before{content:"";left:var(--stem,22px);width:1px;height:26px;position:absolute}.herald[data-anchor=below]:before{background:linear-gradient(0deg, var(--hair-strong), transparent);bottom:100%}.herald[data-anchor=above]:before{background:linear-gradient(180deg, var(--hair-strong), transparent);top:100%}.herald h2{font:600 10px/1 var(--font-display);letter-spacing:.24em;text-transform:uppercase;color:var(--cream-faint);margin:0 0 6px}.herald ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.herald li{align-items:baseline;gap:8px;font-size:13px;display:flex}.herald li b{font:700 13px/1 var(--font-display);color:var(--gold);font-variant-numeric:tabular-nums lining-nums;min-width:26px}.herald li.boss .foe{color:var(--boss-glow);font-weight:600}.herald li.elite .foe{color:var(--gold)}.foe{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.traits{color:var(--cream-dim);flex:none;align-self:center;gap:4px;display:inline-flex}.trait{line-height:0;display:block}.trait svg{display:block}.tag-new{font:700 9px/1 var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin-left:auto;font-style:normal}li.boss .tag-new{color:var(--boss-glow)}.road-run{z-index:3;translate:0 -50%;rotate:var(--a,0deg);transform-origin:0;pointer-events:none;gap:10px;transition:opacity .4s;display:flex;position:absolute}.road-run i{background:var(--gold);clip-path:polygon(0 0,100% 50%,0 100%,34% 50%);width:12px;height:18px;filter:drop-shadow(0 0 6px var(--gold));animation:road-run 1.8s var(--slow) infinite}.road-run i:nth-child(2){animation-delay:.18s}.road-run i:nth-child(3){animation-delay:.36s}@keyframes road-run{0%,to{opacity:.12}40%{opacity:1}}#app:not([data-state=build]) .herald,.herald.tuck{opacity:0;translate:0 -8px}#app:not([data-state=build]) .road-run,.road-run.tuck{opacity:0}#shop{height:var(--dock);z-index:10;pointer-events:none;position:fixed;bottom:0;left:0;right:0}.shop-bar{max-width:calc(100vw - 16px);padding:calc(2px * var(--ds)) calc(8px * var(--ds)) calc(6px * var(--ds));pointer-events:auto;align-items:flex-end;position:absolute;bottom:8px;left:50%;translate:-50%}.shop-sep{width:1px;margin:calc(12px * var(--ds)) calc(6px * var(--ds)) calc(6px * var(--ds));background:var(--hair);align-self:stretch}.shop-sep[hidden],.shop-tile[hidden]{display:none}button.shop-tile{flex:0 1 calc(84px * var(--ds));min-width:calc(62px * var(--ds));padding:0 calc(4px * var(--ds));cursor:pointer;flex-direction:column;align-items:center;gap:1px;display:flex;position:relative}.tile-art{width:calc(66px * var(--ds));height:calc(62px * var(--ds));margin-top:calc(-8px * var(--ds));transition:translate .4s var(--slow), filter .3s;filter:drop-shadow(0 3px 3px #0000008c);place-items:center;display:grid;position:relative}.tile-pool{left:50%;bottom:calc(13px * var(--ds));width:calc(66px * var(--ds));height:calc(26px * var(--ds));opacity:0;pointer-events:none;background:radial-gradient(closest-side,#f1d48a80,#0000);transition:opacity .35s;position:absolute;translate:-50%}.tile-cost{font:700 calc(13px * var(--ds))/1.1 var(--font-display);color:var(--gold);font-variant-numeric:tabular-nums lining-nums}.tile-key{top:calc(8px * var(--ds));left:calc(8px * var(--ds));font:600 calc(10px * var(--ds))/1 var(--font-mono);color:var(--cream-faint);position:absolute}.shop-tile:hover .tile-art,.shop-tile:focus-visible .tile-art{filter:drop-shadow(0 0 9px #f1d48aa6);translate:0 -6px}.shop-tile:hover .tile-pool,.shop-tile:focus-visible .tile-pool{opacity:1}.shop-tile[aria-pressed=true] .tile-art{filter:drop-shadow(0 0 12px #f1d48af2);translate:0 -9px}.shop-tile[aria-pressed=true] .tile-pool{opacity:1}.shop-tile[aria-pressed=true] .tile-cost{color:#fff1c2;text-shadow:0 0 10px var(--gold)}.shop-tile[data-state=poor] .tile-art{filter:grayscale(.6)brightness(.6)}.shop-tile[data-state=poor] .tile-cost{color:var(--danger)}.shop-tile[data-state=closed]>*{opacity:.45;filter:grayscale(.5)}.shop-tile[aria-disabled=true]{cursor:not-allowed}button.shop-tile[data-state=locked]{flex:0 0 calc(34px * var(--ds));min-width:calc(34px * var(--ds));padding:0 0 calc(7px * var(--ds));cursor:help;gap:3px}.shop-tile[data-state=locked] .tile-art,.shop-tile[data-state=locked] .tile-cost,.shop-tile[data-state=locked] .tile-pool{display:none}.tile-lock svg{width:calc(16px * var(--ds));height:auto}.tile-lock{color:var(--cream-faint);line-height:0;transition:color .25s;display:none}.shop-tile[data-state=locked] .tile-lock{display:block}.shop-tile[data-state=locked]:hover .tile-lock,.shop-tile[data-state=locked]:focus-visible .tile-lock{color:var(--gold)}.shop-tile[data-state=locked] .tile-key{font-size:calc(9px * var(--ds));position:static}.first-hint{z-index:17;background:var(--glass);-webkit-backdrop-filter:blur(16px)saturate(1.25);border:1px solid var(--hair-strong);pointer-events:none;border-radius:3px;width:252px;padding:9px 14px 10px;position:fixed;box-shadow:0 10px 26px #00000080}.first-hint[data-step=pick]{padding:12px 16px 13px}.first-hint[hidden],html:not([data-screen=game]) .first-hint{display:none}.first-hint.enter{animation:fade-in var(--fade)}.first-hint-title{font:700 15px/1.25 var(--font-display);letter-spacing:.02em;color:var(--brass-light);margin-bottom:4px;display:block}.first-hint-body{font:14.5px/1.42 var(--font-text);color:var(--cream);text-wrap:balance;display:block}button.shop-tile.hint-ring{box-shadow:0 0 0 1.5px var(--brass-light), 0 6px 22px 2px #f1d48a59;border-radius:3px}button.round-btn.hint-ring,button.round-btn.hint-ring:hover:not(:disabled){box-shadow:inset 0 1px 0 #ffffff80, inset 0 -2px 0 #5a3c1466, 0 0 0 1.5px var(--brass-light), 0 6px 22px 2px #f1d48a59}.tower-sprite{width:100%;height:100%;display:block;position:relative}.tower-sprite img{left:var(--x,50%);top:var(--y,50%);width:var(--w,100%);max-width:none;height:auto;transform:translate(var(--tx,-50%), var(--ty,-50%));filter:drop-shadow(1px 2px 1.5px #0000008c);position:absolute}.tower-sprite-cell{left:var(--x,50%);top:var(--y,50%);width:var(--w,100%);aspect-ratio:1;transform:translate(var(--tx,-50%), var(--ty,-50%));filter:drop-shadow(1px 2px 1.5px #0000008c);background-repeat:no-repeat;position:absolute}.tower-sprite-initial{height:100%;font:700 22px/1 var(--font-display);color:var(--cream);place-items:center;display:grid}.shop-tile .tower-sprite img,.shop-tile .tower-sprite-cell{filter:none}.shop-tip{z-index:12;bottom:calc(8px + 104px * var(--ds));pointer-events:none;width:260px;padding:11px 14px 12px;display:block;position:fixed}.shop-tip[hidden]{display:none}.shop-tip h3{font:700 15px/1.2 var(--font-display);letter-spacing:.06em;color:var(--gold);justify-content:space-between;align-items:baseline;margin:0;display:flex}.shop-tip h3 .cost{font-variant-numeric:tabular-nums lining-nums;font-size:13px}.shop-tip p{color:var(--cream-dim);margin:4px 0 0;font-size:12.5px}.shop-tip p[hidden]{display:none}.shop-tip .shop-tip-warning{color:var(--amber);font-weight:600}.shop-tip .shop-tip-warning[data-kind=gold]{color:var(--danger)}.shop-tip .shop-tip-kind{color:var(--cream-faint);font-size:11.5px}.sel{z-index:11;overscroll-behavior:contain;visibility:hidden;opacity:0;pointer-events:none;width:318px;max-height:calc(100vh - 184px);transition:opacity .3s, translate .55s var(--slow), visibility 0s .55s;flex-direction:column;padding:16px 0 14px;position:fixed;top:72px;overflow:hidden auto}.sel[data-side=right]{right:16px;translate:24px}.sel[data-side=left]{left:16px;translate:-24px}.sel.show{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .3s, translate .55s var(--slow), visibility 0s;translate:0}.selection{flex-direction:column;display:flex}.selection[hidden]{display:none}.sel-head{border-bottom:1px solid var(--hair);align-items:center;gap:12px;padding:0 16px 13px;display:flex}.sel-titles{flex:1;min-width:0}.sel-face{border:1px solid var(--hair-strong);background:radial-gradient(circle at 50% 38%,#f1d48a33,#00000080 72%);flex:none;place-items:center;width:58px;height:58px;display:grid}.sel-face.bezel{border:0;border-radius:50%;padding:2px}.sel-portrait{width:100%;height:100%}.sel-figure{width:52px;height:52px;display:block}.sel-head h2{font:700 19px/1.1 var(--font-display);letter-spacing:.06em;color:var(--gold);overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.sel-head h2[data-long=true]{letter-spacing:.04em;font-size:16px}.subtitle,.tiers{color:var(--cream-dim);margin:4px 0 0;font-size:12.5px;line-height:1.3}.subtitle b{color:var(--cream);font-weight:600}.tiers[hidden]{display:none}button.close{color:var(--cream-faint);cursor:pointer;align-self:flex-start;padding:2px 4px;font-size:18px;line-height:1;transition:color .25s}button.close:hover{color:var(--gold)}.sel h3,.stat-box summary{font:600 10px/1 var(--font-display);letter-spacing:.24em;text-transform:uppercase;color:var(--cream-faint);margin:0;padding:12px 16px 4px}.stat-box summary{cursor:pointer;align-items:center;gap:8px;list-style:none;transition:color .25s;display:flex}.stat-box summary::-webkit-details-marker{display:none}.stat-box summary:before{content:"";border:4px solid #0000;border-left:6px solid;border-right:0;width:0;height:0;transition:transform .25s}.stat-box[open] summary:before{transform:rotate(90deg)}.stat-box summary:hover{color:var(--gold)}.stat-list{grid-template-columns:auto 1fr;gap:1px 12px;margin:0;padding:4px 16px 8px;font-size:13px;display:grid}.stat-list dt{color:var(--cream-dim)}.stat-list dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.stat-next{font-style:normal;font-weight:600}.stat-next[data-path=A]{color:var(--path-a)}.stat-next[data-path=B]{color:var(--path-b)}.stat-next[data-path=C]{color:var(--path-c)}.upgrades[hidden],.upgrade-section[hidden]{display:none}button.upgrade{text-align:left;cursor:pointer;grid-template-columns:16px minmax(0,1fr) auto;gap:1px 10px;width:100%;padding:8px 16px;display:grid;position:relative;overflow:hidden}.upgrade+.upgrade{border-top:1px solid #f1d48a17}.upgrade:before{content:"";transform-origin:0;transition:transform .6s var(--slow);background:linear-gradient(90deg,#f1d48a2e,#f1d48a0d 55%,#0000 90%);position:absolute;inset:0;transform:scaleX(0)}.upgrade:after{content:"";background:var(--gold);width:2px;height:0;box-shadow:0 0 10px var(--gold);transition:height .45s var(--slow);position:absolute;top:50%;left:0;translate:0 -50%}button.upgrade:hover:not([aria-disabled=true]):before{transform:scaleX(1)}button.upgrade:hover:not([aria-disabled=true]):after{height:70%}.upgrade>*{position:relative}.up-path{font:700 15px/1.25 var(--font-display)}.path-A .up-path{color:var(--path-a)}.path-B .up-path{color:var(--path-b)}.path-C .up-path{color:var(--path-c)}.up-body{flex-direction:column;gap:1px;min-width:0;display:flex}.up-head{align-items:center;gap:8px;min-width:0;display:flex}.up-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden}.pips{flex:none;gap:3px;display:inline-flex}.pip{border:1px solid var(--hair-strong);width:6px;height:6px;rotate:45deg}.pip.on{background:var(--gold);box-shadow:0 0 5px #f1d48ab3}.pip-crown{border-color:var(--gold);width:7px;height:7px}.up-side{justify-content:flex-end;align-items:center;gap:8px;min-width:52px;display:flex}.upgrade .cost{font:700 15px/1 var(--font-display);color:var(--gold);font-variant-numeric:tabular-nums lining-nums}.up-summary{-webkit-line-clamp:2;line-clamp:2;color:var(--cream-dim);-webkit-box-orient:vertical;font-size:11.5px;line-height:1.3;display:-webkit-box;overflow:hidden}.up-summary:empty,.up-note:empty{display:none}.up-note{color:var(--amber);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;line-height:1.3;overflow:hidden}.up-note[data-kind=gold]{color:var(--danger)}.upgrade[aria-disabled=true]{cursor:not-allowed}.upgrade[aria-disabled=true] .up-name,.upgrade[aria-disabled=true] .up-path,.upgrade[aria-disabled=true] .up-summary,.upgrade[aria-disabled=true] .pips{opacity:.45}.upgrade[aria-disabled=true] .cost{color:var(--danger)}.targeting[hidden]{display:none}.segments{border:1px solid var(--hair);grid-template-columns:repeat(4,1fr);margin:2px 16px 0;display:grid}button.segment{color:var(--cream-dim);cursor:pointer;padding:7px 0;font-size:12px;transition:color .25s,background .25s}button.segment+button.segment{border-left:1px solid var(--hair)}button.segment:hover:not(:disabled){color:var(--cream);background:#f1d48a0f}button.segment[aria-pressed=true],button.segment[aria-pressed=true]:hover:not(:disabled){color:#1f1408;background:linear-gradient(#f1d48a,#d9ac55);font-weight:600}button.segment:disabled{opacity:.45;cursor:not-allowed}button.sell,button.clear{color:#ffb3a3;cursor:pointer;border:1px solid #e0614b66;margin:12px 16px 0;padding:9px 0;font-size:12.5px;transition:background .25s,border-color .25s}button.sell:hover:not(:disabled){background:#e0614b24;border-color:#e0614bbf}button.clear{border-color:var(--hair-strong);color:var(--gold);margin-top:14px;padding:10px 14px}button.clear:hover:not(:disabled){border-color:var(--gold);background:#f1d48a14}button.sell:disabled,button.clear:disabled{opacity:.45;cursor:not-allowed}.sell[hidden]{display:none}:root{--path-a:#6cc4ff;--path-b:#ffa94d;--path-c:#9ad36a;--boss:#8b6cf0;--boss-glow:var(--teal)}@media (width<=1180px){button.shop-tile{min-width:calc(56px * var(--ds))}.tile-art{width:calc(54px * var(--ds));height:calc(54px * var(--ds))}button.cmd span,.round-word,.hero-badge-name{display:none}.fig{padding-inline:14px}.fig.round{min-width:0}#hud .boss-bar{width:44vw;top:68px}}@media (width<=860px){.fig b{font-size:19px}.wave{min-width:0}.sel,.sel[data-side=left],.sel[data-side=right]{width:auto;max-height:60vh;inset:auto 8px 8px;translate:0 24px}.sel.show,.sel.show[data-side]{translate:0}}@media (width<=720px){#hud .command{top:66px}#hud .boss-bar{width:calc(100vw - 32px);top:118px}button.shop-tile{min-width:calc(40px * var(--ds));padding:0}.tile-art{width:calc(40px * var(--ds));height:calc(40px * var(--ds))}.tile-cost,.tile-key{display:none}}.go{--gold:var(--brass-light);z-index:15;color:var(--cream);position:fixed;inset:0;overflow:hidden}.go[hidden]{display:none}.go-scene{transform-origin:60% 42%;background:#000;position:absolute;inset:0}.go.intro .go-scene{animation:go-settle 3.4s .6s var(--slow) both}@keyframes go-settle{0%{opacity:0;filter:brightness(.1)blur(5px)saturate(.5);transform:scale(1.1)}20%{opacity:1}55%{filter:brightness(.85)blur()saturate()}to{filter:none;transform:scale(1)}}.go-layer{will-change:transform;position:absolute;inset:-3%}.go-art{background:var(--night) 50% 50% / cover no-repeat;position:absolute;inset:0}.go[data-result=won] .go-art{background-image:url(/art/victory.png)}.go[data-result=lost] .go-art{background-image:url(/art/defeat.png)}.go-glows{transform-origin:0 0;pointer-events:none;mix-blend-mode:screen;width:1024px;height:576px;position:absolute;top:0;left:0}.go-glows>*{border-radius:50%;position:absolute;translate:-50% -50%}.go-glows .fire{animation:go-flicker var(--d,.3s) ease-in-out infinite alternate;background:radial-gradient(closest-side,#ffecc4d9,#ffa03c6b 45%,#ff781e00 100%)}.go-glows .core{animation:go-pulse var(--d,2.8s) ease-in-out infinite;background:radial-gradient(closest-side,#fff0c8e6,#ffaa4680 40%,#ff781e00 100%)}.go-glows .sun{background:radial-gradient(closest-side,#ffe2a06b,#ffaa501f 45%,#0000);animation:7s ease-in-out infinite alternate go-sun}.go-glows .rays{opacity:.14;filter:blur(4px);background:repeating-conic-gradient(#ffd28ce6 0deg 2deg,#0000 2deg 9deg,#ffd28c80 9deg 10deg,#0000 10deg 17deg);animation:140s linear infinite go-turn;-webkit-mask-image:radial-gradient(closest-side,#000 8%,#0000 70%);mask-image:radial-gradient(closest-side,#000 8%,#0000 70%)}.go-glows .moon{background:radial-gradient(closest-side,#c8dcff5c,#82a0e61f 50%,#0000);animation:9s ease-in-out infinite alternate go-sun}.go-glows .lamp{animation:go-twinkle var(--d,3s) var(--o,0s) ease-in-out infinite;background:radial-gradient(closest-side,#ffe6aae6,#ffa03c59 50%,#0000)}.go-glows .beam{transform-origin:50% 0;filter:blur(3px);animation:go-flicker var(--d,.4s) ease-in-out infinite alternate;background:linear-gradient(#ffdc9673,#ffaa461f 55%,#0000);border-radius:50% 50% 40% 40%/12% 12% 88% 88%;translate:-50%}@keyframes go-flicker{0%{opacity:.78;scale:.96}to{opacity:1;scale:1.04}}@keyframes go-pulse{50%{opacity:.55;scale:.94}}@keyframes go-twinkle{0%,to{opacity:1}45%{opacity:.55}55%{opacity:.95}}@keyframes go-sun{to{opacity:.7;scale:1.05}}@keyframes go-turn{to{rotate:360deg}}.go-haze{pointer-events:none;opacity:.18;mix-blend-mode:screen;background:url(/art/realm-fog.jpg) 0 100%/60% repeat-x;animation:110s linear infinite go-haze;position:absolute;inset:-10% -20%;-webkit-mask-image:linear-gradient(#0000 50%,#000 85%);mask-image:linear-gradient(#0000 50%,#000 85%)}.go[data-result=lost] .go-haze{opacity:.16;filter:hue-rotate(180deg)saturate(.4)}@keyframes go-haze{to{background-position:100% 100%}}.go-fx{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.go-vignette{pointer-events:none;position:absolute;inset:0}.go[data-result=won] .go-vignette{background:linear-gradient(90deg,#060503eb 0%,#060503b8 30%,#0605032e 50%,#0000 60%),radial-gradient(130% 90% at 62% 40%,#0000 55%,#06050380),linear-gradient(#0000 72%,#06050399)}.go[data-result=lost] .go-vignette{background:linear-gradient(90deg,#03050aed 0%,#03050abd 30%,#03050a33 50%,#0000 60%),radial-gradient(120% 90% at 66% 55%,#0000 50%,#03050a9e),linear-gradient(#0000 70%,#03050a99)}.go-grain{pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:.5s steps(4,end) infinite go-grain;position:absolute;inset:-50%}@keyframes go-grain{25%{translate:-3% 2%}50%{translate:2% -3%}75%{translate:-2% -1%}}.go-body{width:min(600px,46vw);min-width:340px;position:absolute;top:50%;left:clamp(40px,6.5vw,120px);translate:0 -50%}.go-kicker{font:700 12px/1 var(--font-display);letter-spacing:.46em;text-transform:uppercase;white-space:nowrap;color:var(--gold-mid);align-items:center;gap:14px;margin:0 0 18px;display:flex}.go-kicker:before{content:"";background:linear-gradient(90deg,#0000,currentColor);flex:0 0 34px;height:1px}.go-kicker:after{content:"";background:linear-gradient(90deg,currentColor,#0000);flex:1;height:1px}.go-where{letter-spacing:.3em;color:var(--cream-dim);font-weight:600}.go[data-result=lost] .go-kicker{color:#d98b74}.go-title{font:900 clamp(46px, 5.6vw, 84px)/.92 var(--font-display);letter-spacing:.015em;text-align:left;filter:drop-shadow(0 2px #3a2208)drop-shadow(0 3px #1c1006)drop-shadow(0 14px 22px #000000bf);margin:0 0 18px}.go-title .w{white-space:nowrap;color:#0000;-webkit-text-stroke:1px #3c22088c;-webkit-background-clip:text;background-clip:text;display:block;position:relative}.go-title .w+.w{margin-top:.04em}.go[data-result=won] .go-title .w{background-image:linear-gradient(#fff6d6 0%,#f6dc94 30%,#d6a54c 58%,#9b6d26 78%,#e7c477 100%)}.go[data-result=won] .go-title .w:after{content:attr(data-text);color:#0000;-webkit-text-stroke:0;background:linear-gradient(105deg,#0000 42%,#fffff5f2 50%,#0000 58%) 160% 0/300% 100% no-repeat;-webkit-background-clip:text;background-clip:text;animation:9s ease-in-out 3.8s infinite go-sheen;position:absolute;inset:0}@keyframes go-sheen{0%{background-position:160% 0}22%,to{background-position:-60% 0}}.go[data-result=lost] .go-title{filter:drop-shadow(0 2px #1c1a1c)drop-shadow(0 3px #0b0a0c)drop-shadow(0 14px 22px #000c)}.go[data-result=lost] .go-title .w{-webkit-text-stroke-color:#14141e99;background-image:linear-gradient(#f1ece0 0%,#d8ccae 32%,#a8946a 60%,#6c5f45 80%,#b8a888 100%)}.go-line{max-width:52ch;font:400 16px/1.5 var(--font-text);color:var(--cream-dim);text-shadow:0 1px 3px #000000e6;margin:0 0 26px}.go-panel{padding:22px 24px 18px}.go-head{grid-template-columns:repeat(4,1fr);margin:0;display:grid}.go-head>div{border-left:1px solid var(--hair);padding:2px 16px}.go-head>div:first-child{border-left:0;padding-left:0}.go-head dt,.go-rows dt{font:600 10px/1 var(--font-display);letter-spacing:.26em;text-transform:uppercase;color:var(--cream-faint)}.go-head dd{font:700 30px/1 var(--font-display);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;color:var(--gold);margin:10px 0 0}.go-head dd small{letter-spacing:.06em;color:var(--cream-faint);margin-left:4px;font-size:13px}.go[data-result=lost] .go-head dd{color:#ead9b4}.go[data-result=lost] .go-head .zero dd{color:#e59a83}.go-rule{background:linear-gradient(90deg, var(--hair-strong), var(--hair) 60%, transparent);border:0;height:1px;margin:18px 0 12px}.go-rows{grid-template-columns:1fr 1fr;column-gap:28px;margin:0;display:grid}.go-rows>div{border-bottom:1px solid #f1d48a14;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;display:flex}.go-rows .wide{grid-column:1/-1}.go-rows dd{font:500 14px/1.2 var(--font-text);font-variant-numeric:tabular-nums;text-align:right;color:var(--cream);margin:0}.go-tags{flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.go-tags[hidden]{display:none}.go-tags li{border:1px solid var(--hair-strong);font:600 11px/1 var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);background:linear-gradient(90deg,#f1d48a24,#f1d48a08);align-items:center;gap:8px;padding:7px 12px;display:inline-flex}.go-tags li:before{content:"";background:var(--gold);width:6px;height:6px;box-shadow:0 0 8px var(--gold);rotate:45deg}.go-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px;display:flex}.go-actions .btn-gold{padding:15px 28px}.go-actions [hidden]{display:none}.go-sub{align-items:center;gap:22px;margin-top:16px;display:flex}.go-link{box-shadow:none;font:600 11px/1 var(--font-display);letter-spacing:.24em;text-transform:uppercase;color:var(--cream-dim);background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;padding:4px 0;transition:color .3s,border-color .3s}.go-link:hover:not(:disabled),.go-link:focus-visible{color:var(--gold);border-bottom-color:var(--hair-strong);background:0 0;outline:none}.go-seed{font:10px var(--font-mono);letter-spacing:.08em;color:var(--cream-faint);margin-left:auto}.go-keys{white-space:nowrap;font:600 10px/1 var(--font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--cream-faint);margin:0;position:absolute;bottom:30px;left:50%;translate:-50%}.go-keys kbd{border:1px solid var(--hair);font:inherit;color:var(--gold);margin-right:6px;padding:3px 7px}.go-keys span+span{margin-left:18px}.go .motion{font:600 10px/1 var(--font-text);letter-spacing:.22em;text-transform:uppercase;color:var(--cream-dim);border-radius:0;align-items:center;gap:10px;padding:7px 12px;transition:color .3s,border-color .3s;display:inline-flex;position:absolute;bottom:24px;left:clamp(40px,6.5vw,120px)}.go .motion:hover:not(:disabled){color:var(--cream);border-color:var(--hair-strong);background:var(--glass)}.go .motion:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.go .motion i{background:#f1d48ad9;border-radius:7px;width:26px;height:14px;transition:background .3s;position:relative}.go .motion i:after{content:"";width:10px;height:10px;transition:left .3s var(--slow);background:#1f1408;border-radius:50%;position:absolute;top:2px;left:14px}.go .motion[aria-pressed=false] i{background:#f4e8c833}.go .motion[aria-pressed=false] i:after{background:var(--cream-dim);left:2px}.go.intro .go-kicker{animation:go-fade 1.4s 2.1s var(--slow) both}.go.intro .go-title .w{animation:go-reveal 2.2s 1.4s var(--slow) both}.go.intro .go-title .w+.w{animation-delay:1.65s}.go.intro .go-line{animation:go-fade 1.4s 2.4s var(--slow) both}.go.intro .go-panel{animation:go-fade 1.4s 2.65s var(--slow) both}.go.intro .go-tags li{animation:go-fade 1s calc(3.2s + var(--i,0) * .15s) var(--slow) both}.go.intro .go-actions,.go.intro .go-sub,.go.intro .go-keys,.go.intro .motion{animation:go-fade 1.2s 3s var(--slow) both}@keyframes go-reveal{0%{opacity:0;letter-spacing:.35em;filter:blur(12px)}to{opacity:1;filter:blur()}}@keyframes go-fade{0%{opacity:0;translate:0 8px}to{opacity:1}}.go.intro .go-keys{animation-name:fade-in}.go.still .go-glows,.go.still .go-fx,.go.still .go-haze,.go.still .go-grain{display:none}.go.still .go-layer{transform:none!important}.go.still *,.go.still :after{animation:none!important}@media (width<=1200px){.go-body{width:min(600px,52vw)}.go-head>div{padding-inline:12px}.go-head dt{letter-spacing:.16em;white-space:nowrap}}@media (width<=900px){.go-body{width:auto;min-width:0;left:24px;right:24px}.go-head{grid-template-columns:1fr 1fr;row-gap:16px}.go-head>div:nth-child(3){border-left:0;padding-left:0}.go-rows{grid-template-columns:1fr}.go .motion{left:24px}.go-keys{display:none}}@media (height<=780px){.go-kicker{margin-bottom:12px}.go-title{margin-bottom:10px;font-size:clamp(40px,5vw,60px)}.go-line{margin-bottom:14px}.go-panel{padding:16px 20px 14px}.go-head dd{font-size:24px}.go-rule{margin:12px 0 6px}.go-rows>div{padding:6px 0}.go-actions{margin-top:14px}.go-sub{margin-top:10px}.go-keys{display:none}}.tile-portrait{width:calc(52px * var(--ds));height:calc(52px * var(--ds));border:1px solid var(--hair-strong);box-shadow:0 0 16px #f1d48a66}.tile-portrait img{object-position:50% 20%}.shop-hero .tile-cost{color:var(--cream-dim);font-size:calc(11px * var(--ds));letter-spacing:.08em}.hero-badge[hidden]{display:none}button.hero-badge{text-align:left;cursor:pointer;gap:10px;padding:6px 16px 6px 12px;transition:background .3s}button.hero-badge:hover:not(:disabled){background:#f1d48a14}button.hero-badge:disabled{cursor:default}.hero-ring{--charge:0%;background:conic-gradient(var(--gold) var(--charge), #f1d48a29 0);border-radius:50%;flex:none;width:36px;height:36px;padding:2px;transition:box-shadow .3s;position:relative}.hero-badge-portrait{border:1px solid #0c0906;width:100%;height:100%}.hero-badge-portrait img{object-position:50% 20%}.hero-badge[data-ready=true] .hero-ring{box-shadow:0 0 9px 2px #f1d48a80}.hero-badge-text{font:600 11px/1 var(--font-display);letter-spacing:.12em;color:var(--cream);white-space:nowrap;flex-direction:column;gap:3px;display:flex}.hero-level{font:12px/1 var(--font-text);letter-spacing:0;color:var(--cream-dim)}.hero-badge kbd{margin-left:2px}.hero-ability[hidden]{display:none}.hero-ability{margin:0 0 4px;padding:0 0 4px}.ability-head{justify-content:space-between;align-items:baseline;gap:8px;padding:2px 16px 0;display:flex}.ability-name{font:700 14px/1.2 var(--font-display);color:var(--gold)}.ability-status{color:var(--cream-dim);text-align:right;font-size:12px}.ability-desc{color:var(--cream-dim);margin:4px 16px 10px;font-size:12px}button.ability-use{letter-spacing:.18em;justify-content:center;align-items:center;gap:8px;width:calc(100% - 32px);margin:0 16px;padding:10px 14px;font-size:12px;display:flex}button.ability-use kbd{color:#3a2810;background:#ffffff2e;border-color:#3a281073}.moment{z-index:9;text-align:center;white-space:nowrap;pointer-events:none;opacity:0;--moment-ms:1.2s;flex-direction:column;align-items:center;gap:9px;padding:0 24px;display:flex;position:fixed;top:84px;left:50%;translate:-50%}.moment-text{font:700 22px/1 var(--font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--cream);text-shadow:0 2px 14px #000000bf,0 0 28px #00000080}.moment-gold{font:700 17px/1 var(--font-display);letter-spacing:.08em;color:var(--gold);font-variant-numeric:tabular-nums lining-nums;text-shadow:0 2px 10px #000000bf}.moment-gold:empty{display:none}.moment-rule{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:min(220px,60vw);height:1px;display:block;box-shadow:0 0 8px #f1d48a99}.moment[data-kind=cleared] .moment-text{color:var(--cream-dim);font-size:17px}.moment[data-kind=boss] .moment-text{color:var(--boss-glow);text-shadow:0 2px 14px #000000bf,0 0 22px #3fbfae80}.moment[data-kind=boss] .moment-rule{background:linear-gradient(90deg, transparent, var(--boss-glow), transparent);box-shadow:0 0 8px #3fbfae99}.moment.show{animation:moment-in-out var(--moment-ms) var(--slow)}.moment.still{opacity:1}@keyframes moment-in-out{0%{opacity:0;translate:-50% -6px}18%{opacity:1;translate:-50%}78%{opacity:1;translate:-50%}to{opacity:0;translate:-50%}}.moment.show .moment-rule{animation:moment-rule var(--moment-ms) var(--slow)}@keyframes moment-rule{0%{transform:scaleX(.2)}30%,to{transform:scaleX(1)}}.vignette{z-index:8;pointer-events:none;opacity:0;background:radial-gradient(#0000 52%,#be1c1480 100%);position:fixed;inset:0}.vignette.show{animation:.5s ease-out vignette-out}.vignette.still{opacity:.55}@keyframes vignette-out{0%{opacity:1}to{opacity:0}}@media (width<=720px){.moment{top:124px}.moment-text{letter-spacing:.22em;font-size:18px}}.shell-layer{z-index:20;place-items:safe center;padding:24px 16px;display:grid;position:fixed;inset:0;overflow-y:auto}html:not([data-screen]) #app{visibility:hidden}#shell [hidden]{display:none!important}.dim-layer{-webkit-backdrop-filter:blur(6px)saturate(.8);backdrop-filter:blur(6px)saturate(.8);animation:fade-in var(--fade);background:#0609078c}.corner-tag{z-index:21;font-family:var(--font-mono);pointer-events:none;font-size:11px;position:fixed;bottom:14px;right:16px}.shell-layer.menu-screen,.shell-layer.select-screen{color:var(--cream);padding:0;display:block;overflow:hidden}.shell-layer.menu-screen button,.shell-layer.select-screen button{box-shadow:none;color:inherit;font:inherit;background:0 0;border:0;border-radius:0;padding:0;transition:none}.shell-layer.menu-screen button:focus-visible,.shell-layer.select-screen button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.shell-layer.menu-screen .glass,.shell-layer.select-screen .glass{background:var(--glass);border:1px solid var(--hair);box-shadow:0 24px 60px #00000073,inset 0 1px #fff0c80f}.shell-layer.menu-screen svg,.shell-layer.select-screen svg{display:block}.shell-layer.menu-screen .motion,.shell-layer.select-screen .motion{font:600 10px/1 var(--font-text);letter-spacing:.22em;text-transform:uppercase;color:var(--cream-dim);align-items:center;gap:10px;padding:7px 12px;transition:color .3s,border-color .3s;display:inline-flex}.shell-layer.menu-screen .motion:hover,.shell-layer.select-screen .motion:hover{color:var(--cream);border-color:var(--hair-strong)}.shell-layer.menu-screen .motion i,.shell-layer.select-screen .motion i{background:#f1d48ad9;border-radius:7px;width:26px;height:14px;transition:background .3s;position:relative}.shell-layer.menu-screen .motion i:after,.shell-layer.select-screen .motion i:after{content:"";width:10px;height:10px;transition:left .3s var(--slow);background:#1f1408;border-radius:50%;position:absolute;top:2px;left:14px}.shell-layer.menu-screen .motion[aria-pressed=false] i,.shell-layer.select-screen .motion[aria-pressed=false] i{background:#f4e8c833}.shell-layer.menu-screen .motion[aria-pressed=false] i:after,.shell-layer.select-screen .motion[aria-pressed=false] i:after{background:var(--cream-dim);left:2px}.shell-layer.menu-screen{background:#000}.shell-layer.menu-screen .menu-scene{transform-origin:62% 40%;position:absolute;inset:0}.shell-layer.menu-screen.intro .menu-scene{animation:sk-settle 3.2s var(--slow) both}@keyframes sk-settle{0%{filter:brightness(.15)blur(4px)saturate(.6);transform:scale(1.12)}55%{filter:brightness(.85)blur()saturate()}to{filter:none;transform:scale(1)}}.shell-layer.menu-screen .menu-layer{will-change:transform;position:absolute;inset:-3%}.shell-layer.menu-screen .menu-art{background:url(/art/title-key-art.png) 50% 40% / cover no-repeat, var(--night);position:absolute;inset:0}.shell-layer.menu-screen .menu-glows{transform-origin:0 0;pointer-events:none;mix-blend-mode:screen;width:1920px;height:1080px;position:absolute;top:0;left:0}.shell-layer.menu-screen .glow{animation:sk-flicker var(--d,.3s) ease-in-out infinite alternate;background:radial-gradient(closest-side,#ffecc4cc,#ffa03c66 45%,#ff781e00 100%);border-radius:50%;position:absolute;translate:-50% -50%}.shell-layer.menu-screen .plume{transform-origin:50% 0;filter:blur(4px);animation:sk-plume var(--d,.3s) ease-in-out infinite alternate;background:linear-gradient(#ffe4aa8c,#ff963240 45%,#0000);border-radius:50%/18% 18% 82% 82%;position:absolute;translate:-50%}@keyframes sk-flicker{0%{opacity:.8;scale:.97}to{opacity:1;scale:1.03}}@keyframes sk-plume{0%{opacity:.8;scale:.96 .94}to{opacity:1;scale:1.02 1.05}}.shell-layer.menu-screen .ring{background:radial-gradient(closest-side,#ffc464b3,#ff963c33 60%,#0000);border-radius:50%;animation:4.2s ease-in-out infinite sk-ringpulse;position:absolute;translate:-50% -50%}@keyframes sk-ringpulse{50%{opacity:.45}}.shell-layer.menu-screen .sun{background:radial-gradient(closest-side,#ffdc9652,#ffaa501a 45%,#0000);border-radius:50%;width:900px;height:900px;animation:7s ease-in-out infinite alternate sk-sun;position:absolute;translate:-50% -50%}@keyframes sk-sun{to{opacity:.7;scale:1.05}}.shell-layer.menu-screen .rays{opacity:.12;filter:blur(6px);background:repeating-conic-gradient(#ffd28ce6 0deg 2deg,#0000 2deg 9deg,#ffd28c80 9deg 10deg,#0000 10deg 17deg);border-radius:50%;width:2400px;height:2400px;animation:140s linear infinite sk-turn;position:absolute;translate:-50% -50%;-webkit-mask-image:radial-gradient(closest-side,#000 8%,#0000 70%);mask-image:radial-gradient(closest-side,#000 8%,#0000 70%)}@keyframes sk-turn{to{rotate:360deg}}.shell-layer.menu-screen .menu-haze{mix-blend-mode:screen;opacity:.22;pointer-events:none;background:url(/art/realm-fog.jpg) 0 100%/60% repeat-x;animation:90s linear infinite sk-haze;position:absolute;inset:-10% -20%;-webkit-mask-image:linear-gradient(#0000 45%,#000 80%);mask-image:linear-gradient(#0000 45%,#000 80%)}.shell-layer.menu-screen .menu-haze.b{opacity:.14;background-size:85%;animation-duration:140s;animation-direction:reverse}@keyframes sk-haze{to{background-position:100% 100%}}.shell-layer.menu-screen .menu-fx{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.shell-layer.menu-screen .menu-vignette{pointer-events:none;background:linear-gradient(90deg,#040605e6 0%,#0406059e 26%,#0406051f 46%,#0000 56%),radial-gradient(130% 90% at 60% 40%,#0000 55%,#0406058c),linear-gradient(#0000 75%,#0406058c);position:absolute;inset:0}.shell-layer.menu-screen .menu-grain{pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:.5s steps(4,end) infinite sk-grain;position:absolute;inset:-50%}@keyframes sk-grain{25%{translate:-3% 2%}50%{translate:2% -3%}75%{translate:-2% -1%}}.shell-layer.menu-screen .menu-body{width:min(420px,40vw);min-width:300px;position:absolute;top:50%;left:clamp(40px,6.5vw,120px);translate:0 -50%}.shell-layer.menu-screen .menu-kicker{font:700 12px/1 var(--font-display);letter-spacing:.5em;color:var(--gold-mid);text-transform:uppercase;align-items:center;gap:14px;margin:0 0 22px;display:flex}.shell-layer.menu-screen .menu-kicker:before{content:"";background:linear-gradient(90deg, transparent, var(--gold-mid));flex:0 0 34px;height:1px}.shell-layer.menu-screen .menu-kicker:after{content:"";background:linear-gradient(90deg, var(--gold-mid), transparent);flex:1;height:1px}.shell-layer.menu-screen .menu-title{font:900 clamp(46px, 5.6vw, 88px)/.9 var(--font-display);letter-spacing:.015em;text-align:left;filter:drop-shadow(0 2px #3a2208)drop-shadow(0 3px #1c1006)drop-shadow(0 14px 22px #000000bf);margin:0 0 28px;position:relative}.shell-layer.menu-screen .menu-title .w{white-space:nowrap;color:#0000;-webkit-text-stroke:1px #3c22088c;background:linear-gradient(#fff6d6 0%,#f6dc94 30%,#d6a54c 58%,#9b6d26 78%,#e7c477 100%);-webkit-background-clip:text;background-clip:text;display:block;position:relative}.shell-layer.menu-screen .menu-title .w+.w{margin-top:.04em}.shell-layer.menu-screen .menu-title .w:after{content:attr(data-text);color:#0000;-webkit-text-stroke:0;background:linear-gradient(105deg,#0000 42%,#fffff5f2 50%,#0000 58%) 160% 0/300% 100% no-repeat;-webkit-background-clip:text;background-clip:text;animation:9s ease-in-out 2.6s infinite sk-sheen;position:absolute;inset:0}@keyframes sk-sheen{0%{background-position:160% 0}22%,to{background-position:-60% 0}}.shell-layer.menu-screen.intro .menu-kicker{animation:sk-fade 1.6s 1.7s var(--slow) both}.shell-layer.menu-screen.intro .menu-title .w{animation:sk-reveal 2.4s .9s var(--slow) both}.shell-layer.menu-screen.intro .menu-title .w+.w{animation-delay:1.15s}@keyframes sk-reveal{0%{opacity:0;letter-spacing:.4em;filter:blur(12px)}to{opacity:1;filter:blur()}}@keyframes sk-fade{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}.shell-layer.menu-screen .menu-list{gap:2px;display:grid}.shell-layer.menu-screen.intro .menu-list>*{animation:sk-fade 1.2s calc(2.1s + var(--i,0) * .12s) var(--slow) both}.shell-layer.menu-screen .menu-item{text-align:left;width:100%;font:600 16px/1 var(--font-display);letter-spacing:.24em;text-transform:uppercase;color:var(--cream-dim);text-shadow:0 2px 6px #000c;cursor:pointer;padding:11px 0 11px 20px;transition:color .35s;display:block;position:relative}.shell-layer.menu-screen .menu-item span{transition:translate .6s var(--slow);display:inline-block}.shell-layer.menu-screen .menu-item:before{content:"";transform-origin:0;transition:transform .6s var(--slow);background:linear-gradient(90deg,#f1d48a2e,#f1d48a0d 55%,#0000 85%);position:absolute;inset:0;transform:scaleX(0)}.shell-layer.menu-screen .menu-item:after{content:"";background:var(--gold);width:2px;height:0;box-shadow:0 0 10px var(--gold);transition:height .45s var(--slow);position:absolute;top:50%;left:0;translate:0 -50%}.shell-layer.menu-screen .menu-item:hover,.shell-layer.menu-screen .menu-item:focus-visible{color:var(--gold);outline:none}.shell-layer.menu-screen .menu-item:hover span,.shell-layer.menu-screen .menu-item:focus-visible span{translate:8px}.shell-layer.menu-screen .menu-item:hover:before,.shell-layer.menu-screen .menu-item:focus-visible:before{transform:scaleX(1)}.shell-layer.menu-screen .menu-item:hover:after,.shell-layer.menu-screen .menu-item:focus-visible:after{height:62%}.shell-layer.menu-screen .menu-item:active span{translate:10px}.shell-layer.menu-screen .menu-continue{text-align:left;width:100%;color:var(--cream);cursor:pointer;grid-template-columns:118px 1fr;align-items:center;gap:16px;margin-bottom:14px;padding:12px 16px 12px 12px;transition:border-color .4s,box-shadow .4s;display:grid;position:relative}.shell-layer.menu-screen .menu-continue:hover,.shell-layer.menu-screen .menu-continue:focus-visible{border-color:var(--hair-strong);outline:none;box-shadow:0 24px 60px #00000073,0 0 0 1px #f1d48a26,0 0 30px #f1d48a1f}.shell-layer.menu-screen .menu-continue:disabled{opacity:.7;cursor:default}.shell-layer.menu-screen .menu-continue:disabled:hover{border-color:var(--hair);box-shadow:0 24px 60px #00000073,inset 0 1px #fff0c80f}.shell-layer.menu-screen .continue-thumb{aspect-ratio:9/5;border:1px solid var(--hair);background:var(--moss);width:118px;display:block;overflow:hidden}.shell-layer.menu-screen .continue-thumb svg{width:100%;height:100%;transition:scale 1.2s var(--slow)}.shell-layer.menu-screen .menu-continue:hover:not(:disabled) .continue-thumb svg{scale:1.08}.shell-layer.menu-screen .continue-text{min-width:0;padding-right:22px;display:block}.shell-layer.menu-screen .continue-eyebrow{font:600 10px/1 var(--font-text);letter-spacing:.28em;text-transform:uppercase;color:var(--gold-mid);display:block}.shell-layer.menu-screen .continue-title{font:700 22px/1 var(--font-display);letter-spacing:.08em;color:var(--gold);margin-top:6px;display:block}.shell-layer.menu-screen .continue-detail{font:500 12px/1.3 var(--font-text);color:var(--cream-dim);margin-top:7px;display:block}.shell-layer.menu-screen .continue-go{opacity:.35;width:18px;height:12px;transition:opacity .3s, translate .5s var(--slow);position:absolute;top:50%;right:14px;translate:0 -50%}.shell-layer.menu-screen .menu-continue:hover:not(:disabled) .continue-go{opacity:1;translate:4px -50%}.shell-layer.menu-screen .menu-outdated{gap:8px;margin:-4px 0 14px;display:grid}.shell-layer.menu-screen .menu-outdated-text{color:var(--cream-dim);text-shadow:0 1px 2px #000c;margin:0;font-size:12px;line-height:1.35}.shell-layer.menu-screen .menu-outdated-actions{gap:8px;display:flex}.shell-layer.menu-screen .menu-chip{border:1px solid var(--hair);font:600 11px/1 var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--cream-dim);cursor:pointer;background:#0c090680;padding:8px 16px;transition:color .3s,border-color .3s}.shell-layer.menu-screen .menu-chip:hover,.shell-layer.menu-screen .menu-chip.primary{color:var(--gold);border-color:var(--hair-strong)}.shell-layer.menu-screen .menu-chip.danger:hover{color:#ff9a85;border-color:#8a4130}.shell-layer.menu-screen .menu-message{max-width:44ch;color:var(--cream);background:#3a1812eb;border:1px solid #8a4130;margin:18px 0 0;padding:8px 12px;font-size:13px}.shell-layer.menu-screen .menu-press{white-space:nowrap;font:600 11px/1 var(--font-display);letter-spacing:.34em;color:var(--cream-faint);animation:3.6s ease-in-out infinite sk-breathe;position:absolute;bottom:30px;left:50%;translate:-50%}.shell-layer.menu-screen .menu-press kbd{font:inherit;border:1px solid var(--hair);color:var(--gold);padding:3px 8px}@keyframes sk-breathe{50%{opacity:.45}}.shell-layer.menu-screen .menu-tag{font:10px var(--font-mono);color:var(--cream-faint);letter-spacing:.08em;gap:10px;display:flex;position:absolute;bottom:14px;right:16px}.shell-layer.menu-screen .menu-seed:not(:empty):before{content:"· "}.shell-layer.menu-screen .motion{z-index:3;position:absolute;bottom:24px;left:clamp(40px,6.5vw,120px)}.shell-layer.menu-screen.still .menu-glows,.shell-layer.menu-screen.still .menu-fx,.shell-layer.menu-screen.still .menu-haze,.shell-layer.menu-screen.still .menu-grain{display:none}.shell-layer.menu-screen.still .menu-layer{transform:none!important}.shell-layer.menu-screen.still .menu-scene,.shell-layer.menu-screen.still .menu-kicker,.shell-layer.menu-screen.still .menu-title .w,.shell-layer.menu-screen.still .menu-title .w:after,.shell-layer.menu-screen.still .menu-list>*,.shell-layer.menu-screen.still .menu-press{animation:none!important}.gate{z-index:35;pointer-events:none;position:fixed;inset:0}.gate.shut{pointer-events:auto}.gate i{background:repeating-linear-gradient(90deg,#0000 0 38px,#140d07 38px 52px),repeating-linear-gradient(0deg,#0000 0 46px,#140d07 46px 58px),linear-gradient(#3a2616,#1e130a);height:50.5%;transition:transform .55s cubic-bezier(.7,0,.25,1);position:absolute;left:0;right:0;box-shadow:0 0 40px #000}.gate i:first-child{border-bottom:4px solid var(--brass-dark);top:0;transform:translateY(-102%)}.gate i:last-child{border-top:4px solid var(--brass-dark);bottom:0;transform:translateY(102%)}.gate.shut i{transform:translateY(0)}@media (width<=720px){.shell-layer.menu-screen .menu-body{width:calc(100% - 48px);min-width:0;left:24px}.shell-layer.menu-screen .menu-continue{grid-template-columns:88px 1fr}.shell-layer.menu-screen .continue-thumb{width:88px}.shell-layer.menu-screen .motion{left:24px}.shell-layer.menu-screen .menu-press{display:none}}@media (height<=640px){.shell-layer.menu-screen .menu-kicker{margin-bottom:12px}.shell-layer.menu-screen .menu-title{margin-bottom:14px;font-size:clamp(40px,5vw,64px)}.shell-layer.menu-screen .menu-item{padding-block:8px}}@property --fx{syntax:"<length>";inherits:true;initial-value:400px}@property --fy{syntax:"<length>";inherits:true;initial-value:900px}.shell-layer.select-screen{background:#0d0905}.shell-layer.select-screen .cam{position:absolute;inset:0;overflow:clip}.shell-layer.select-screen .rig{will-change:transform;position:absolute;inset:0}.shell-layer.select-screen .board{transform-origin:0 0;will-change:transform;width:1920px;height:1280px;transition:transform .9s var(--pan), --fx .9s var(--pan), --fy .9s var(--pan);position:absolute;top:0;left:0}.shell-layer.select-screen .board>.fill{-webkit-user-select:none;user-select:none;width:100%;max-width:none;height:100%;position:absolute;inset:0}.shell-layer.select-screen .base{filter:saturate(.86)contrast(.95)brightness(.96)}.shell-layer.select-screen .soft{filter:blur(2.4px)saturate(.78)brightness(.9);-webkit-mask-image:radial-gradient(760px 520px at var(--fx) var(--fy), transparent 30%, #000 90%);-webkit-mask-image:radial-gradient(760px 520px at var(--fx) var(--fy), transparent 30%, #000 90%);mask-image:radial-gradient(760px 520px at var(--fx) var(--fy), transparent 30%, #000 90%)}.shell-layer.select-screen .greyed{filter:grayscale(.85)brightness(.55)sepia(.25)}.shell-layer.select-screen .fogmask{pointer-events:none;mix-blend-mode:screen;overflow:hidden}.shell-layer.select-screen .fogmask .drift{opacity:.9;will-change:transform;background:url(/art/realm-fog.jpg) 50%/2080px 1440px;animation:46s ease-in-out infinite alternate sk-drift;position:absolute;inset:-80px}.shell-layer.select-screen .fogmask .drift.b{opacity:.5;background-size:2600px 1800px;animation-duration:70s;animation-direction:alternate-reverse}@keyframes sk-drift{0%{transform:translate(-50px,10px)}to{transform:translate(50px,-16px)}}.shell-layer.select-screen .life{pointer-events:none;width:1920px;height:1280px;position:absolute;top:0;left:0}.shell-layer.select-screen .cam-vignette{pointer-events:none;background:radial-gradient(120% 100% at 45%,#0000 50%,#080503bf);position:absolute;inset:0}.shell-layer.select-screen .region-label{font:900 34px/1 var(--font-display);letter-spacing:.46em;color:#faf0d7d1;white-space:nowrap;pointer-events:none;text-shadow:0 2px 12px #000000b3,0 0 40px #0006;position:absolute;translate:-50% -50%}.shell-layer.select-screen .region-label.open{color:#fff6dc8c}.shell-layer.select-screen .lock-note{font:600 12px/1.2 var(--font-text);letter-spacing:.02em;color:var(--cream);white-space:nowrap;align-items:center;gap:8px;padding:7px 14px;display:flex;position:absolute;translate:-50%}.shell-layer.select-screen .lock-note svg{width:12px;height:14px}.shell-layer.select-screen .site{cursor:pointer;background:0 0;border:0;width:0;height:0;padding:0;position:absolute}.shell-layer.select-screen .site:focus-visible{outline:none}.shell-layer.select-screen .site .hit{width:120px;height:170px;position:absolute;top:-150px;left:-60px}.shell-layer.select-screen .site .pool{mix-blend-mode:screen;pointer-events:none;width:130px;height:44px;transition:scale .6s var(--slow), opacity .6s;opacity:.7;background:radial-gradient(closest-side,#ffe6aacc,#ffb45a4d 50%,#0000);border-radius:50%;animation:3.6s ease-in-out infinite sk-pool;position:absolute;top:0;left:0;translate:-50% -50%}@keyframes sk-pool{50%{opacity:.5}}.shell-layer.select-screen .site .stem{pointer-events:none;width:1px;height:44px;transition:height .6s var(--slow);background:linear-gradient(#f1d48ae6,#f1d48a00);position:absolute;bottom:0;left:0;translate:-50%;box-shadow:0 0 6px #f1d48a80}.shell-layer.select-screen .site .node{pointer-events:none;width:34px;height:34px;transition:bottom .6s var(--slow);place-items:center;display:grid;position:absolute;bottom:44px;left:0;translate:-50% 50%}.shell-layer.select-screen .site .node:before{content:"";background:#0e0a07b8;border:1px solid #f1d48abf;transition:background .4s,border-color .4s,box-shadow .4s;position:absolute;inset:5px;rotate:45deg;box-shadow:0 6px 16px #0000008c,inset 0 0 0 2px #0e0a0799,inset 0 0 0 3px #f1d48a38}.shell-layer.select-screen .site .node svg{width:14px;height:14px;color:var(--gold);transition:color .4s;position:relative}.shell-layer.select-screen .site .ripple{mix-blend-mode:screen;opacity:0;pointer-events:none;border:1.5px solid #ffe2a0e6;border-radius:50%;width:110px;height:38px;position:absolute;top:0;left:0;translate:-50% -50%}.shell-layer.select-screen .site.sel .ripple{animation:2.4s ease-out infinite sk-ripple}.shell-layer.select-screen .site.sel .ripple.b{animation-delay:1.2s}@keyframes sk-ripple{0%{opacity:.9;scale:.45}to{opacity:0;scale:1.8}}.shell-layer.select-screen .site .label{pointer-events:none;white-space:nowrap;transition:bottom .6s var(--slow);justify-items:center;gap:5px;display:grid;position:absolute;bottom:74px;left:0;translate:-50%}.shell-layer.select-screen .site .label b{font:700 17px/1 var(--font-display);letter-spacing:.1em;color:var(--cream);text-shadow:0 2px 4px #000000f2,0 0 16px #000c,0 0 2px #000;transition:color .4s}.shell-layer.select-screen .site .label small{font:600 9px/1 var(--font-text);letter-spacing:.24em;text-transform:uppercase;color:var(--cream-dim);text-shadow:0 1px 3px #000,0 0 10px #000000d9}.shell-layer.select-screen .site:hover .node,.shell-layer.select-screen .site:focus-visible .node{bottom:50px}.shell-layer.select-screen .site:hover .stem,.shell-layer.select-screen .site:focus-visible .stem{height:50px}.shell-layer.select-screen .site:hover .label,.shell-layer.select-screen .site:focus-visible .label{bottom:80px}.shell-layer.select-screen .site:hover .node:before,.shell-layer.select-screen .site:focus-visible .node:before{border-color:var(--gold);box-shadow:0 6px 16px #0000008c,inset 0 0 0 2px #0e0a0799,inset 0 0 0 3px #f1d48a66,0 0 14px #f1d48a59}.shell-layer.select-screen .site:hover .pool{opacity:1;scale:1.1}.shell-layer.select-screen .site.sel .node:before{background:linear-gradient(135deg,#f8e2a4,#c99a3e);border-color:#fff0c4;box-shadow:0 6px 16px #00000080,0 0 22px #f1d48aa6}.shell-layer.select-screen .site.sel .node svg{color:#1f1408}.shell-layer.select-screen .site.sel .label b{color:var(--gold)}.shell-layer.select-screen .site.sel .pool{opacity:1;scale:1.25}.shell-layer.select-screen .site.locked .pool,.shell-layer.select-screen .site.locked .stem{display:none}.shell-layer.select-screen .site.locked .node{bottom:18px;scale:.82}.shell-layer.select-screen .site.locked .node:before{background:#0e0a0780;border-color:#f4e8c859;box-shadow:0 4px 10px #0006}.shell-layer.select-screen .site.locked .node svg{color:#f4e8c899;width:11px;height:12px}.shell-layer.select-screen .site.locked .label{bottom:42px}.shell-layer.select-screen .site.locked .label b{color:#f4e8c89e;font-size:14px}.shell-layer.select-screen .site.locked .label small{display:none}.shell-layer.select-screen .site.locked:hover .node,.shell-layer.select-screen .site.locked:focus-visible .node{bottom:22px}.shell-layer.select-screen .site.locked:hover .label,.shell-layer.select-screen .site.locked:focus-visible .label{bottom:46px}.shell-layer.select-screen .site.locked.sel .node:before{border-color:var(--cream-dim);background:#0e0a07bf}.shell-layer.select-screen .site.locked.sel .node svg,.shell-layer.select-screen .site.locked.sel .label b{color:var(--cream)}.shell-layer.select-screen .topbar{z-index:5;pointer-events:none;background:linear-gradient(#080503b3,#0000);align-items:center;gap:22px;padding:20px 28px;display:flex;position:absolute;top:0;left:0;right:0}.shell-layer.select-screen .topbar>*{pointer-events:auto}.shell-layer.select-screen .back{font:600 12px/1 var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--cream-dim);cursor:pointer;align-items:center;gap:8px;padding:8px 16px 8px 12px;transition:color .3s,border-color .3s;display:inline-flex}.shell-layer.select-screen .back:hover{color:var(--gold);border-color:var(--hair-strong)}.shell-layer.select-screen .back .back-arrow{width:14px;height:10px;rotate:180deg}.shell-layer.select-screen .back.records{margin-left:auto;padding-left:16px}.shell-layer.select-screen .crumbs{font:700 12px/1 var(--font-display);letter-spacing:.34em;color:var(--gold);text-transform:uppercase;text-shadow:0 2px 4px #000}.shell-layer.select-screen .crumbs span{color:var(--cream-faint)}.shell-layer.select-screen .held{font:600 11px/1 var(--font-text);letter-spacing:.22em;text-transform:uppercase;color:var(--cream-dim);text-shadow:0 2px 4px #000;align-items:center;gap:12px;display:flex}.shell-layer.select-screen .held .bar{gap:3px;display:flex}.shell-layer.select-screen .held .bar i{background:#f4e8c82e;width:18px;height:3px}.shell-layer.select-screen .held .bar i.part{background:linear-gradient(90deg, var(--gold) 60%, #f4e8c82e 60%)}.shell-layer.select-screen .held .bar i.done{background:var(--gold);box-shadow:0 0 6px #f1d48a80}.shell-layer.select-screen .muster{z-index:6;width:372px;max-width:calc(100% - 48px);max-height:calc(100% - 96px);transition:opacity .5s var(--slow), translate .7s var(--slow);flex-direction:column;gap:16px;padding:24px 22px 20px;display:flex;position:absolute;top:76px;right:24px;overflow:auto}.shell-layer.select-screen .muster.left{left:24px;right:auto}.shell-layer.select-screen .muster.swap{opacity:0;transition-duration:.16s;translate:18px}.shell-layer.select-screen .muster.left.swap{translate:-18px}.shell-layer.select-screen .m-tier{font:600 10px/1 var(--font-text);letter-spacing:.34em;color:var(--gold-mid);text-transform:uppercase}.shell-layer.select-screen .m-name{font:700 32px/1 var(--font-display);letter-spacing:.04em;color:var(--cream);margin:9px 0 10px}.shell-layer.select-screen .m-meta{font:500 12px/1 var(--font-text);color:var(--cream-dim);gap:16px;display:flex}.shell-layer.select-screen .m-meta b{color:var(--cream);font-weight:600}.shell-layer.select-screen .diff{align-items:center;gap:7px;display:inline-flex}.shell-layer.select-screen .diff i{background:var(--w);width:7px;height:7px;box-shadow:0 0 8px var(--w);rotate:45deg}.shell-layer.select-screen .diff-easy{--w:#7fcf6a}.shell-layer.select-screen .diff-medium{--w:#f2a93b}.shell-layer.select-screen .diff-hard{--w:#e0614b}.shell-layer.select-screen .thumbwrap{aspect-ratio:9/4.4;border:1px solid var(--hair);flex:none;position:relative;overflow:hidden;box-shadow:inset 0 0 30px #00000080}.shell-layer.select-screen .thumbwrap svg{width:100%;height:100%}.shell-layer.select-screen .thumbwrap:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 24px #0000008c}.shell-layer.select-screen .m-label{font:600 10px/1 var(--font-text);letter-spacing:.3em;color:var(--cream-faint);text-transform:uppercase;align-items:center;gap:12px;margin:4px 0 -6px;display:flex}.shell-layer.select-screen .m-label:after{content:"";background:var(--hair);flex:1;height:1px}.shell-layer.select-screen .modes{grid-template-columns:repeat(3,1fr);display:grid}.shell-layer.select-screen .mode{height:38px;font:600 11px/1 var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--cream-dim);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 4px;transition:color .3s;display:flex;position:relative}.shell-layer.select-screen .mode:after{content:"";background:var(--gold);height:2px;box-shadow:0 0 8px var(--gold);transition:transform .45s var(--slow);position:absolute;bottom:4px;left:22%;right:22%;transform:scaleX(0)}.shell-layer.select-screen .mode:hover:not(.locked){color:var(--cream)}.shell-layer.select-screen .mode.sel{color:var(--gold)}.shell-layer.select-screen .mode.sel:after{transform:scaleX(1)}.shell-layer.select-screen .mode.locked{color:var(--cream-faint);cursor:help}.shell-layer.select-screen .mode-lock-icon{display:none}.shell-layer.select-screen .mode.locked .mode-lock-icon{display:inline-flex}.shell-layer.select-screen .mode-lock-icon svg{opacity:.7;width:9px;height:11px}.shell-layer.select-screen .modeinfo{min-height:34px;font:13px/1.45 var(--font-text);color:var(--cream-dim);margin:-6px 0 0}.shell-layer.select-screen .modeinfo em{color:#f2b15a;margin-top:2px;font-style:normal;font-weight:500;display:block}.shell-layer.select-screen .heroes{grid-template-columns:.75fr 1fr 1fr;gap:8px;display:grid}.shell-layer.select-screen .hero{border:1px solid var(--hair);text-align:left;cursor:pointer;background:#00000059;height:128px;transition:border-color .35s,box-shadow .35s;position:relative;overflow:hidden}.shell-layer.select-screen .hero img{object-fit:cover;object-position:50% 18%;filter:grayscale(.75)brightness(.5);width:100%;height:100%;transition:filter .5s, scale 1.2s var(--slow);position:absolute;inset:0}.shell-layer.select-screen .hero .n{font:700 12px/1.1 var(--font-display);letter-spacing:.06em;color:var(--cream);background:linear-gradient(#0000,#000000e6);padding:22px 9px 8px;position:absolute;bottom:0;left:0;right:0}.shell-layer.select-screen .hero .n small{font:600 9px var(--font-text);letter-spacing:.14em;color:var(--cream-faint);text-transform:uppercase;margin-top:4px;display:block}.shell-layer.select-screen .hero:hover img{filter:grayscale(.3)brightness(.75)}.shell-layer.select-screen .hero.sel{border-color:var(--gold);box-shadow:0 0 0 1px #f1d48a59,0 0 24px #f1d48a2e}.shell-layer.select-screen .hero.sel img{filter:none;scale:1.06}.shell-layer.select-screen .hero.none{place-items:center;display:grid}.shell-layer.select-screen .hero.none .hero-none-icon{opacity:.45;width:34px;height:34px;margin-bottom:26px;transition:opacity .3s}.shell-layer.select-screen .hero.none.sel .hero-none-icon{opacity:1}.shell-layer.select-screen .bark{min-height:18px;color:var(--cream-dim);margin:-6px 0 0;font:italic 13px/1.4 Georgia,serif}.shell-layer.select-screen .foot{align-items:stretch;gap:10px;margin-top:2px;display:flex}.shell-layer.select-screen .seed{border:1px solid var(--hair);font:600 9px/1 var(--font-text);letter-spacing:.24em;color:var(--cream-faint);flex-direction:column;justify-content:center;gap:4px;padding:0 10px;display:flex}.shell-layer.select-screen .seed div{font:12px var(--font-mono);letter-spacing:0;color:var(--cream);align-items:center;gap:4px;display:flex}.shell-layer.select-screen .seed-input{border:0;border-bottom:1px dashed var(--cream-faint);width:7ch;color:var(--cream);font:inherit;background:0 0;border-radius:0;padding:1px 0}.shell-layer.select-screen .seed-input:focus-visible{border-bottom:1px solid var(--gold);outline:none}.shell-layer.select-screen .reroll{color:var(--gold-mid);cursor:pointer;padding:0 2px;font-size:13px}.shell-layer.select-screen .reroll:hover{color:var(--gold)}.shell-layer.select-screen .seed-error{color:#ff9a85;margin:-8px 0 0;font-size:12px}.shell-layer.select-screen .horn{height:52px;font:700 15px/1 var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:#1f1408;cursor:pointer;background:linear-gradient(#f8e2a4,#d9ac55 55%,#b98a35);flex:1;transition:filter .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff80,inset 0 -2px #5a3c1466,0 8px 24px #c99a3e40}.shell-layer.select-screen .horn:after{content:"";background:linear-gradient(100deg,#0000 35%,#ffffff8c 50%,#0000 65%);position:absolute;inset:0;translate:-120%}.shell-layer.select-screen .horn:hover:not(:disabled){filter:brightness(1.07);box-shadow:inset 0 1px #ffffff80,inset 0 -2px #5a3c1466,0 10px 34px #f1d48a73}.shell-layer.select-screen .horn:hover:not(:disabled):after{transition:translate .9s var(--slow);translate:120%}.shell-layer.select-screen .horn small{font:600 9px var(--font-text);letter-spacing:.2em;color:#1f140899;margin-top:5px;display:block}.shell-layer.select-screen .horn:disabled{opacity:1;cursor:not-allowed;color:var(--cream-dim);box-shadow:inset 0 0 0 1px var(--hair);filter:none;background:#ffffff0a}.shell-layer.select-screen .horn:disabled small{color:var(--cream-faint);letter-spacing:.04em;text-transform:none;font-size:11px}.shell-layer.select-screen .horn:disabled:after{display:none}.shell-layer.select-screen .muster.sealed .thumbwrap svg{filter:grayscale(.9)brightness(.55)}.shell-layer.select-screen .muster.sealed .modes,.shell-layer.select-screen .muster.sealed .heroes,.shell-layer.select-screen .muster.sealed .bark,.shell-layer.select-screen .muster.sealed .modeinfo{opacity:.3;pointer-events:none}.shell-layer.select-screen.still .life{display:none}.shell-layer.select-screen.still .rig{transform:none!important}.shell-layer.select-screen.still .fogmask .drift,.shell-layer.select-screen.still .site *,.shell-layer.select-screen.still .site :before,.shell-layer.select-screen.still .site :after{animation:none!important}@media (width<=720px){.shell-layer.select-screen .topbar{flex-wrap:wrap;gap:10px 14px;padding:12px 14px}.shell-layer.select-screen .crumbs{display:none}.shell-layer.select-screen .muster{width:auto;max-width:none;max-height:62%;inset:auto 12px 12px}.shell-layer.select-screen .muster.left{left:12px}}.shell-layer.records-screen{color:var(--cream);animation:fade-in var(--fade);background:#0d0905;padding:0;display:block}.records-backdrop{pointer-events:none;position:fixed;inset:0;overflow:hidden}.records-backdrop:before{content:"";filter:blur(14px)saturate(.75)brightness(.42);background:url(/art/realm-map.jpg) 50% 45%/cover no-repeat;position:absolute;inset:-40px}.records-backdrop:after{content:"";background:radial-gradient(120% 90% at 50% 30%,#08050333,#080503d9);position:absolute;inset:0}.records-wrap{box-sizing:border-box;width:min(1240px,100%);margin:0 auto;padding:28px 32px 40px;position:relative}.records-head{justify-items:center;display:grid;position:relative}.records-back{position:absolute;top:50%;left:0;translate:0 -50%}.records-heading{text-align:center}.records-kicker{font:600 11px/1 var(--font-display);letter-spacing:.42em;text-transform:uppercase;color:var(--cream-faint);margin:0 0 8px}.records-title{font:700 30px/1 var(--font-display);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);text-shadow:0 2px 18px #0009;margin:0}.records-lifetime{border-block:1px solid var(--hair);justify-content:center;width:min(860px,100%);margin:20px auto 0;padding:12px 0;display:flex}.records-total{text-align:center;flex:1;justify-items:center;gap:6px;padding:0 14px;display:grid}.records-total+.records-total{border-left:1px solid var(--hair)}.records-total dt{font:600 10px/1.2 var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--cream-faint);order:2}.records-total dd{font:700 22px/1.1 var(--font-display);color:var(--cream);font-variant-numeric:tabular-nums;margin:0}.records-total:last-child dd{font-size:15px;line-height:1.45}.records-empty{text-align:center;max-width:420px;color:var(--cream-dim);margin:48px auto 0;font-size:15px;line-height:1.6}.records-hall{margin-top:24px}.records-maps{scrollbar-width:thin;scrollbar-color:var(--hair-strong) transparent;grid-auto-columns:minmax(96px,1fr);grid-auto-flow:column;gap:12px;padding-bottom:6px;display:grid;overflow-x:auto}.shell-layer.records-screen .records-map{box-shadow:none;color:var(--cream-dim);text-align:left;background:0 0;border:0;border-radius:0;gap:7px;padding:0 0 10px;transition:color .3s;display:grid;position:relative}.records-map:after{content:"";background:var(--gold);height:2px;transition:scale .4s var(--slow);position:absolute;bottom:0;left:0;right:0;scale:0 1}.records-map-thumb{aspect-ratio:16/10;border:1px solid var(--hair);filter:saturate(.8)brightness(.8);background:#1a120a;transition:border-color .3s,filter .3s;display:block;overflow:hidden}.records-map-thumb svg{width:100%;height:100%;display:block}.records-map-name{font:600 11px/1.2 var(--font-display);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.records-map-marks{gap:4px;height:6px;display:flex}.records-map-marks i{width:6px;height:6px;box-shadow:inset 0 0 0 1px var(--hair-strong);border-radius:50%}.records-map-marks i.won{background:var(--gold);box-shadow:0 0 6px #f1d48a99}.shell-layer.records-screen .records-map.empty{color:var(--cream-faint)}.records-map.empty .records-map-thumb{filter:grayscale(.85)brightness(.5)sepia(.2)}.shell-layer.records-screen .records-map:hover:not(:disabled){color:var(--cream);background:0 0;border-color:#0000}.records-map:hover .records-map-thumb{border-color:var(--hair-strong);filter:none}.shell-layer.records-screen .records-map[aria-pressed=true]{color:var(--gold);box-shadow:none;background:0 0}.records-map[aria-pressed=true]:after{scale:1}.records-map[aria-pressed=true] .records-map-thumb{border-color:var(--gold);filter:none}.shell-layer.records-screen .records-map:focus-visible{outline:none}.records-map:focus-visible .records-map-thumb{outline:2px solid var(--gold);outline-offset:3px;filter:none}.records-plaque{margin-top:18px;padding:24px 28px 26px}.records-plaque-head{border-bottom:1px solid var(--hair);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;padding-bottom:14px;display:flex}.records-plaque-title{font:700 24px/1 var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--cream);margin:0}.records-tabs{flex-wrap:wrap;gap:4px 22px;display:flex}.shell-layer.records-screen .records-tab{box-shadow:none;font:600 12px/1 var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--cream-dim);background:0 0;border:0;border-radius:0;padding:6px 0 8px;transition:color .3s;position:relative}.records-tab:after{content:"";background:var(--gold);height:2px;transition:scale .4s var(--slow);position:absolute;bottom:-15px;left:0;right:0;scale:0 1}.shell-layer.records-screen .records-tab.empty{color:var(--cream-faint)}.shell-layer.records-screen .records-tab:hover:not(:disabled){color:var(--cream);background:0 0;border-color:#0000}.shell-layer.records-screen .records-tab[aria-pressed=true]{color:var(--gold);box-shadow:none;background:0 0}.records-tab[aria-pressed=true]:after{scale:1}.shell-layer.records-screen .records-tab:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.records-cards{grid-template-columns:1.35fr repeat(4,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.records-card{border:1px solid var(--hair);background:#fff0c808;align-content:start;gap:10px;min-width:0;padding:16px 18px 15px;display:grid}.records-card.lead:only-child{grid-column:1/-1}.records-card.lead{border-color:var(--hair-strong);background:linear-gradient(160deg,#f1d48a1a,#f1d48a05 60%)}.records-card-label{font:600 10px/1.3 var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--cream-dim);align-items:center;gap:8px;margin:0;display:flex}.records-medal{background:radial-gradient(circle at 35% 30%, #fff1c4, var(--gold) 45%, var(--gold-deep));border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 2px #f1d48a33,0 0 8px #f1d48a80}.records-figure{flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0;display:flex}.records-number{font:700 38px/1 var(--font-display);color:var(--gold);font-variant-numeric:tabular-nums}.records-card.lead .records-number{font-size:54px}.records-unit{color:var(--cream-dim);font-size:13px}.records-card-detail{color:var(--cream-faint);margin:0;font-size:12px;line-height:1.4}.records-card.unset .records-figure{font:600 15px/38px var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--cream-faint)}.records-card.lead.unset .records-figure{line-height:54px}.records-label{font:600 11px/1 var(--font-display);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);align-items:center;gap:14px;margin:26px 0 8px;display:flex}.records-label:after{content:"";background:linear-gradient(90deg, var(--hair-strong), transparent);flex:1;height:1px}.records-board{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.records-board th{text-align:left;font:600 10px/1.2 var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--cream-faint);border-bottom:1px solid var(--hair-strong);padding:8px 12px}.records-board td{color:var(--cream-dim);border-bottom:1px solid var(--hair);padding:10px 12px}.records-board tbody tr:first-child td{color:var(--cream)}.records-board .records-rank{width:32px;font-family:var(--font-display);color:var(--gold)}.records-result.won{color:var(--gold)}.records-result.won:before{content:"";vertical-align:1px;background:var(--gold);border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block;box-shadow:0 0 6px #f1d48a80}.records-version{color:var(--cream-faint);font-size:11px;display:block}.records-none{color:var(--cream-faint);margin:10px 0 0}@media (width<=1100px){.records-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.records-card.lead{grid-column:1/-1}}@media (width<=760px){.records-wrap{padding:20px 16px 32px}.records-head{padding-top:44px}.records-back{top:0;translate:none}.records-lifetime{flex-wrap:wrap;row-gap:12px}.records-total{flex-basis:33%}.records-total+.records-total{border-left:0}.records-plaque{padding:18px 16px 20px}.records-tab:after{bottom:0}.records-board th:nth-child(5),.records-board td:nth-child(5){display:none}}.dialog-layer{-webkit-backdrop-filter:blur(8px)saturate(.75);backdrop-filter:blur(8px)saturate(.75);animation:fade-in .35s var(--slow);background:radial-gradient(at 50% 45%,#08060461,#040302b8 75%)}.confirm-layer{z-index:40}.dialog-card{width:min(380px,100%);color:var(--cream);animation:dialog-in .5s var(--slow);padding:34px 34px 28px;position:relative}.dialog-card:before{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);width:96px;height:1px;position:absolute;top:-1px;left:50%;translate:-50%}@keyframes dialog-in{0%{opacity:0;transform:translateY(14px)scale(.985)}}.dialog-title{text-align:center;font:700 22px/1.1 var(--font-display);letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin:0;padding-inline-start:.32em}.dialog-sub{text-align:center;font:600 11px/1.4 var(--font-text);letter-spacing:.22em;text-transform:uppercase;color:var(--cream-dim);margin:12px 0 24px;padding-inline-start:.22em}.dialog-body{text-align:center;color:var(--cream-dim);margin:16px 0 0;line-height:1.55}.dialog-stack{gap:8px;display:grid}.dialog-stack>button{width:100%}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:26px;display:flex}.pause-card{width:min(340px,100%)}.pause-card .btn-gold{margin-bottom:8px}.pause-card .btn-quiet.danger{margin-top:8px}.confirm-card{width:min(420px,100%)}.confirm-card .dialog-actions{justify-content:center}.confirm-card .dialog-title{letter-spacing:.2em;padding-inline-start:.2em;font-size:19px;line-height:1.3}.settings-card{width:min(460px,100%)}.settings-list{border-top:1px solid var(--hair);margin-top:22px;display:grid}.setting-row{text-align:left;width:100%;font:inherit;color:var(--cream);border:0;border-bottom:1px solid var(--hair);box-shadow:none;cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:16px;padding:14px 4px;transition:background .3s;display:flex}.setting-row:hover:not(:disabled){background:#f1d48a0d}.setting-row:focus-visible{outline:1px solid var(--hair-strong);outline-offset:-1px;background:#f1d48a0d}.setting-text{flex:1;gap:5px;display:grid}.setting-label{font:600 12px/1.2 var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--cream);align-items:center;gap:10px;display:flex}.setting-hint{color:var(--cream-faint);font-size:12px;line-height:1.45}.tag-soon{border:1px solid var(--hair);font:600 9px/1 var(--font-text);letter-spacing:.2em;text-transform:uppercase;color:var(--cream-faint);padding:3px 6px}.setting-switch{background:#f4e8c833;border-radius:7px;flex:none;width:26px;height:14px;transition:background .3s;position:relative}.setting-switch:after{content:"";background:var(--cream-dim);width:10px;height:10px;transition:left .3s var(--slow), background .3s;border-radius:50%;position:absolute;top:2px;left:2px}.setting-row[aria-checked=true] .setting-switch{background:#f1d48ad9}.setting-row[aria-checked=true] .setting-switch:after{background:#1f1408;left:14px}.setting-group{font:600 11px/1 var(--font-display);letter-spacing:.24em;text-transform:uppercase;color:var(--cream-dim);margin:26px 0 0}.setting-group+.settings-list{margin-top:10px}.setting-slider{cursor:default}.setting-slider:hover{background:0 0}.setting-slider .setting-label{flex:none;width:76px}.setting-value{text-align:right;width:3.2em;font:600 12px/1 var(--font-text);font-variant-numeric:tabular-nums;color:var(--cream-dim);flex:none}.setting-range{cursor:pointer;appearance:none;background:0 0;flex:1;min-width:0;height:18px;margin:0}.setting-range::-webkit-slider-runnable-track{background:#f4e8c833;border-radius:2px;height:4px}.setting-range::-moz-range-track{background:#f4e8c833;border-radius:2px;height:4px}.setting-range::-webkit-slider-thumb{-webkit-appearance:none;background:#f1d48ae6;border:0;border-radius:50%;width:12px;height:12px;margin-top:-4px;box-shadow:0 0 0 1px #1f1408}.setting-range::-moz-range-thumb{background:#f1d48ae6;border:0;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 1px #1f1408}.setting-range:focus-visible{outline:1px solid var(--hair-strong);outline-offset:4px}.settings-danger{justify-items:start;gap:12px;margin-top:24px;display:grid}.settings-danger p{margin:0}.restoring-layer{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#040302c7}.restoring-card{animation:dialog-in .3s var(--slow);align-items:center;gap:14px;padding:14px 24px;display:inline-flex}.restoring-text{font:600 12px/1 var(--font-display);letter-spacing:.24em;text-transform:uppercase;color:var(--cream-dim);margin:0}.restoring-mark{border:1px solid var(--hair);border-top-color:var(--gold);border-radius:50%;flex:none;width:14px;height:14px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{z-index:60;background:radial-gradient(ellipse at 50% 50%, #0604038c, #040302eb 80%), linear-gradient(#04030240, #04030240), url(/art/title-key-art.png) center / cover no-repeat, var(--night);place-items:center;transition:opacity .25s ease-out;display:grid;position:fixed;inset:0}.loading-screen.done{opacity:0;pointer-events:none}.loading-card{justify-items:center;gap:16px;width:min(340px,100% - 32px);padding:28px 32px 24px;display:grid}.loading-title{font:700 24px/1.1 var(--font-display);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0;padding-inline-start:.24em}.loading-text{font:600 10px/1 var(--font-text);letter-spacing:.3em;text-transform:uppercase;color:var(--cream-faint);margin:0;padding-inline-start:.3em}.loading-bar{background:var(--hair);width:100%;height:2px}.loading-fill{background:linear-gradient(90deg, var(--gold-deep), var(--gold));transform-origin:0;width:100%;height:100%;transition:transform .15s ease-out;display:block;transform:scaleX(0);box-shadow:0 0 10px #f1d48a80}.shell-layer.codex-layer{-webkit-backdrop-filter:blur(6px)saturate(.85);backdrop-filter:blur(6px)saturate(.85);color:var(--cream);background:radial-gradient(120% 90% at 50% 45%,#0606054d,#040403a8)}.shell-layer.codex-layer.over-menu{background:var(--night);overflow:hidden}.shell-layer.codex-layer.over-menu:before{content:"";filter:blur(10px)saturate(.9)brightness(.7);pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,#06060559,#040403d1),url(/art/title-key-art.png) 50% 40%/cover no-repeat;position:fixed;inset:-24px}.shell-layer.codex-layer button:not(.btn-quiet){box-shadow:none;color:inherit;font:inherit;text-align:left;transition:color .3s, border-color .3s, background-color .3s, transform .4s var(--slow), box-shadow .3s;background:0 0;border:0;border-radius:0;padding:0;transform:none}.shell-layer.codex-layer button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.codex-panel{width:min(1240px,100%);height:min(840px,100dvh - 48px);animation:rise-in .5s var(--slow);flex-direction:column;display:flex;position:relative;overflow:hidden}.codex-head{border-bottom:1px solid var(--hair);align-items:center;gap:22px;padding:18px 28px 16px;display:flex}.codex-title{font:700 18px/1 var(--font-display);letter-spacing:.42em;text-transform:uppercase;color:var(--gold);flex:none;align-items:center;gap:14px;margin:0;display:flex}.codex-title:before{content:"";background:linear-gradient(90deg, transparent, var(--gold-mid));width:34px;height:1px}.codex-hint{color:var(--cream-dim);letter-spacing:.02em;margin:0;font-size:12px}.codex-head-actions{gap:10px;margin-left:auto;display:flex}.codex-head-actions .btn-quiet{align-items:center;gap:10px;padding:9px 16px;font-size:11px;display:inline-flex}.codex-head-actions kbd{letter-spacing:0;color:var(--cream-faint);border:1px solid var(--hair);background:0 0;border-radius:0;padding:2px 5px;font-size:10px}.codex-body{flex:1;grid-template-columns:260px minmax(0,1fr);min-height:0;display:grid}.codex-nav{border-right:1px solid var(--hair);background:#00000029;flex-direction:column;min-height:0;padding:18px 0 0;display:flex}.codex-search{font:14px/1.2 var(--font-text);color:var(--cream);border:0;border-bottom:1px solid var(--hair);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='8.5' cy='8.5' r='5.5' fill='none' stroke='%23c99a3e' stroke-width='1.6'/%3E%3Cpath d='m13 13 4.5 4.5' stroke='%23c99a3e' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") 2px/15px no-repeat;border-radius:0;margin:0 20px 8px;padding:9px 4px 9px 26px;transition:border-color .3s}.codex-search::placeholder{color:var(--cream-faint)}.codex-search:hover{border-bottom-color:var(--hair-strong)}.codex-search:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-bottom-color:var(--gold)}.codex-search::-webkit-search-cancel-button{filter:sepia()saturate(2)hue-rotate(5deg)}.codex-list-nav{scrollbar-width:thin;scrollbar-color:var(--hair-strong) transparent;flex:1;padding:0 12px 18px;overflow-y:auto}.codex-list-nav .hint{color:var(--cream-dim);padding:12px 8px}.codex-section h3{font:600 10px/1 var(--font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-mid);align-items:center;gap:10px;margin:20px 8px 6px;display:flex}.codex-section h3:after{content:"";background:linear-gradient(90deg, var(--hair-strong), transparent);flex:1;height:1px}.shell-layer.codex-layer button.codex-entry{width:100%;color:var(--cream-dim);justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;font-size:13.5px;display:flex}.shell-layer.codex-layer button.codex-entry:hover:not(:disabled){color:var(--cream);background:#f1d48a0a}.shell-layer.codex-layer button.codex-entry[aria-pressed=true]{color:var(--gold);background:#f1d48a0f}.codex-entry>span:first-child{padding-bottom:2px;transition:box-shadow .3s;box-shadow:inset 0 -1px #0000}.codex-entry[aria-pressed=true]>span:first-child{box-shadow:inset 0 -1px 0 var(--gold)}.shell-layer.codex-layer button.codex-entry:focus-visible{outline:1px solid var(--hair-strong);outline-offset:-1px}.codex-tick{color:var(--ok);text-transform:uppercase;letter-spacing:.14em;opacity:.85;flex:none;align-items:center;gap:4px;font-size:9.5px;display:inline-flex}.codex-tick:before{content:"";border:0 solid;border-width:0 0 1.5px 1.5px;width:6px;height:3px;transform:translateY(-1px)rotate(-45deg)}.codex-content{flex-direction:column;min-height:0;display:flex}.codex-tabs{border-bottom:1px solid var(--hair);flex-wrap:wrap;gap:30px;padding:0 40px;display:flex}.shell-layer.codex-layer button.codex-tab{font:600 11px/1 var(--font-display);letter-spacing:.24em;text-transform:uppercase;color:var(--cream-dim);padding:16px 0 14px;position:relative}.shell-layer.codex-layer button.codex-tab:hover:not(:disabled){color:var(--cream)}.shell-layer.codex-layer button.codex-tab[aria-selected=true]{color:var(--gold)}.codex-tab:after{content:"";background:var(--gold);height:2px;transition:transform .4s var(--slow);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.codex-tab[aria-selected=true]:after{transform:scaleX(1)}.codex-main{scrollbar-width:thin;scrollbar-color:var(--hair-strong) transparent;flex:1;padding:30px 40px 44px;overflow-y:auto}.codex-page{font:14px/1.6 var(--font-text);color:var(--cream)}:is(.codex-page,.codex-brief-block,.codex-beat,.codex-ability)>h4{font:600 11px/1.2 var(--font-display);letter-spacing:.28em;text-transform:uppercase;color:var(--gold-mid);align-items:center;gap:14px;margin:32px 0 12px;display:flex}:is(.codex-page,.codex-brief-block,.codex-beat,.codex-ability)>h4:after{content:"";background:linear-gradient(90deg, var(--hair-strong), transparent 85%);flex:1;height:1px}.codex-page-head{align-items:center;gap:28px;display:flex}.codex-page-title{min-width:0}.codex-page-title h3{font:700 34px/1.1 var(--font-display);letter-spacing:.04em;color:var(--cream);text-shadow:0 2px 18px #00000080;margin:0}.codex-page-title p{margin:6px 0 0}.codex-kicker{font:600 11px/1.3 var(--font-display);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-mid);align-items:center;gap:8px;display:flex}.codex-class-icon{width:20px;height:20px}.codex-tagline{color:var(--cream-dim);max-width:62ch;font-size:15px;font-style:italic;line-height:1.5}.codex-role{color:var(--cream-dim);max-width:64ch}.codex-lock{color:#f0a08e;font-size:12px}.codex-placed-note{color:var(--ok);letter-spacing:.04em;font-size:12px;font-weight:600}.codex-note{color:var(--cream-dim);margin:14px 0 0;font-size:13px}.codex-footnote{border-top:1px solid var(--hair);color:var(--cream-faint);max-width:80ch;margin:28px 0 0;padding-top:14px;font-size:12px}.codex-blurb{max-width:68ch;color:var(--cream);margin:22px 0 0;font-size:15px;line-height:1.7}.codex-list{max-width:68ch;margin:0;padding-left:18px}.codex-list li::marker{color:var(--gold-mid)}.codex-stats{grid-template-columns:max-content minmax(0,1fr);gap:0;max-width:640px;margin:12px 0 0;font-size:13px;display:grid}.codex-stats dt,.codex-stats dd{border-bottom:1px solid var(--hair);padding:7px 0}.codex-stats dt{color:var(--cream-dim);padding-right:28px}.codex-stats dd{font-variant-numeric:tabular-nums;margin:0}.codex-flags{grid-template-columns:max-content minmax(0,1fr);gap:0;max-width:760px;margin:0;display:grid}.codex-flags dt,.codex-flags dd{border-bottom:1px solid var(--hair);padding:7px 0}.codex-flags dt{font:600 12px/1.6 var(--font-display);letter-spacing:.08em;color:var(--gold);padding-right:24px}.codex-flags dd{color:var(--cream);margin:0}.codex-chip{border:1px solid var(--hair);flex:none;place-items:center;min-width:160px;min-height:160px;padding:8px;display:grid;box-shadow:0 18px 40px #0006,inset 0 0 40px #00000073}.codex-chip>*{grid-area:1/1}.codex-chip-stone{background:radial-gradient(circle at 50% 60%,#f1d48a29,#0000 62%),linear-gradient(#ffffff08,#0000004d),#0e0b08b3}.codex-chip-grass{background:radial-gradient(circle, transparent 40%, #0006), url(/ground/grass-tile.png) 0 0 / 256px 256px repeat, var(--moss)}.codex-chip-wide{max-width:100%}.codex-chip-elite{border-color:var(--hair-strong);box-shadow:inset 0 0 0 3px #0c090699, inset 0 0 0 4px var(--gold), 0 18px 40px #0006}.codex-sprite{filter:drop-shadow(3px 5px 3px #00000073);max-width:100%;height:auto;display:block}.codex-initial{font:700 48px/1 var(--font-display);color:var(--gold)}.codex-portrait{width:144px;height:144px;display:block}.codex-painting{width:162px;height:162px;padding:0;overflow:hidden}.codex-painting img{width:100%;height:100%;display:block}.codex-hero-frame{border:1px solid var(--hair-strong);border-radius:50%;flex:none;place-items:center;padding:6px;display:inline-grid;box-shadow:0 18px 40px #00000073}.codex-hero-portrait{width:140px;height:140px;box-shadow:inset 0 0 0 1px var(--hair);font-size:40px}.codex-roles{grid-template-columns:repeat(3,max-content);gap:6px 26px;margin:14px 0 0;padding:0;list-style:none;display:grid}.codex-roles li{color:var(--cream-dim);justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.codex-pips{flex:none;gap:4px;display:inline-flex}.codex-pip{width:8px;height:8px;box-shadow:inset 0 0 0 1px var(--hair-strong);border-radius:50%}.codex-pip.on{background:var(--gold);box-shadow:0 0 6px #f1d48a73}.codex-pips.danger .codex-pip.on{background:var(--danger);box-shadow:0 0 6px #e0614b80}.codex-danger{font:600 10px/1 var(--font-display);letter-spacing:.24em;text-transform:uppercase;color:var(--cream-dim);align-items:center;gap:10px;display:flex}.codex-brief{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px;margin-top:6px;display:grid}.codex-brief-block p{max-width:60ch;margin:0;line-height:1.6}.codex-brief-block h4{margin-bottom:10px}.codex-bullets{gap:6px;margin:0;padding:0;list-style:none;display:grid}.codex-bullets li{padding-left:18px;line-height:1.5;position:relative}.codex-bullets li:before{content:"";background:var(--gold-mid);width:5px;height:5px;position:absolute;top:.62em;left:2px;transform:rotate(45deg)}.good .codex-bullets li:before{background:var(--ok)}.bad .codex-bullets li:before{background:var(--danger)}.shell-layer.codex-layer button.codex-link{color:var(--gold);text-decoration:underline;-webkit-text-decoration-color:var(--hair-strong);text-decoration-color:var(--hair-strong);text-underline-offset:4px;font-weight:600;display:inline}.shell-layer.codex-layer button.codex-link:hover:not(:disabled){color:var(--cream);-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}.codex-beat p{max-width:68ch;margin:0;font-size:15px;line-height:1.7}.codex-numbers{color:var(--cream-dim);margin-top:8px;font-size:12px}.codex-numbers summary{cursor:pointer;width:max-content;font:600 10px/1.6 var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--cream-faint);transition:color .3s}.codex-numbers summary::marker{color:var(--gold-mid)}.codex-numbers summary:hover,.codex-numbers[open] summary{color:var(--gold)}.codex-numbers summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.codex-numbers p{font-variant-numeric:tabular-nums;margin:4px 0 0;line-height:1.45}.codex-base-numbers{margin-top:24px}.codex-base-numbers .codex-stats{margin-top:6px}.codex-sort-row{border-bottom:1px solid var(--hair);align-items:baseline;gap:22px;margin-top:24px;padding-bottom:0;display:flex}.codex-sort-label{font:600 10px/1 var(--font-display);letter-spacing:.28em;text-transform:uppercase;color:var(--gold-mid);flex:none}.codex-sorts{flex-wrap:wrap;gap:4px 22px;display:flex}.shell-layer.codex-layer button.codex-sort{color:var(--cream-dim);padding:8px 0 10px;font-size:12.5px;position:relative}.shell-layer.codex-layer button.codex-sort:hover:not(:disabled){color:var(--cream)}.shell-layer.codex-layer button.codex-sort[aria-pressed=true]{color:var(--gold)}.codex-sort:after{content:"";background:var(--gold);height:2px;transition:transform .4s var(--slow);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.codex-sort[aria-pressed=true]:after{transform:scaleX(1)}.codex-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:20px;display:grid}.shell-layer.codex-layer button.codex-card,.codex-path,.codex-level,.tech-branch,.codex-tier-row{border:1px solid var(--hair);background:linear-gradient(#fff0c806,#0000001f),#0c090659}.shell-layer.codex-layer button.codex-card{flex-direction:column;gap:10px;padding:14px;display:flex}.shell-layer.codex-layer button.codex-card:hover:not(:disabled),.shell-layer.codex-layer button.codex-card:focus-visible{border-color:var(--hair-strong);background:#f1d48a0d;transform:translateY(-2px);box-shadow:0 14px 30px #00000059}.codex-card-head{align-items:center;gap:14px;display:flex}.codex-card-text{flex-direction:column;gap:3px;min-width:0;display:flex}.codex-card .codex-chip{zoom:.5;filter:saturate(.5)brightness(.8);transition:filter .5s var(--slow)}.codex-card:hover .codex-chip,.codex-card:focus-visible .codex-chip{filter:none}.codex-card-name{font:600 16px/1.2 var(--font-display);letter-spacing:.03em;color:var(--cream)}.codex-card-meta{color:var(--gold-mid);align-items:center;gap:6px;font-size:12px;display:flex}.codex-card-lock{color:#f0a08e;font-size:11px}.codex-card-lock.open{color:var(--cream-faint)}.codex-card-tagline{color:var(--cream-dim);font-size:12.5px;font-style:italic;line-height:1.45}.codex-card-roles{border-top:1px solid var(--hair);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;margin:0;padding-top:10px}.codex-card-roles .codex-pip{width:7px;height:7px}.codex-paths{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:32px;display:grid}.codex-path{padding:16px 16px 10px}.codex-path.active{border-color:var(--hair-strong)}.codex-path h4{font:600 16px/1.2 var(--font-display);letter-spacing:.04em;text-transform:none;color:var(--cream);margin:0 0 8px}.codex-path .up-path{text-shadow:none;margin-right:6px}.codex-tiers{margin:0;padding:0;list-style:none;display:grid}.codex-tier{border-top:1px solid var(--hair);padding:12px 0}.codex-tier.gated{border-top-style:dashed}.codex-tier-top,.codex-level-top{justify-content:space-between;align-items:center;font-size:11px;display:flex}.codex-tier-no,.codex-level-no{color:var(--cream-dim);font:600 10px/1 var(--font-display);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:8px;display:inline-flex}.codex-tier-art{object-fit:contain;filter:drop-shadow(1px 2px 1.5px #00000080);width:48px;height:48px}.codex-tier-look{float:right;width:88px;height:88px;margin:-2px -4px 2px 8px}.codex-numeral{border:1px solid var(--hair-strong);min-width:24px;height:24px;font:700 10px/1 var(--font-display);letter-spacing:.04em;color:var(--gold);border-radius:12px;place-items:center;padding:0 4px;display:inline-grid}.codex-tier.crown .codex-numeral,.codex-level.unlock .codex-numeral{color:#1f1408;background:linear-gradient(#f8e2a4,#d9ac55 55%,#b98a35);border-color:#0000}.codex-tier.crown .codex-tier-no,.codex-level.unlock .codex-level-no{color:var(--gold)}.codex-tier-name{color:var(--cream);margin:6px 0 0;font-weight:600}.codex-tier.crown .codex-tier-name{color:var(--gold)}.codex-tier .codex-lock{margin:4px 0 0;font-size:11px}.codex-tier-flavour{color:var(--cream-dim);margin:2px 0 0;font-size:12.5px;font-style:italic;line-height:1.45}.codex-tier-effect{margin:4px 0 0;font-size:12.5px;line-height:1.5}.codex-playstyle{color:var(--cream-dim);margin:0 0 10px;font-size:12.5px;line-height:1.5}.codex-bestfor{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;font-size:12px;display:flex}.codex-bestfor span{font:700 9px/1 var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:#120c05;background:var(--gold-mid);padding:3px 7px}.path-A .codex-bestfor span{background:var(--path-a)}.path-B .codex-bestfor span{background:var(--path-b)}.path-C .codex-bestfor span{background:var(--path-c)}.codex-levels{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.codex-level{padding:12px 14px}.codex-level.unlock{border-color:var(--hair-strong);background:#f1d48a0f}.codex-level-xp{color:var(--cream-faint);font-variant-numeric:tabular-nums}.codex-ability{border-left:1px solid var(--gold);background:linear-gradient(90deg,#f1d48a14,#0000 70%);margin-top:28px;padding:2px 22px 16px}.codex-ability h4{margin-top:14px}.codex-ability p{max-width:68ch;margin:0;line-height:1.65}.tech-tree{justify-items:center;margin-top:28px;display:grid}.tech-hub{text-align:center;border:1px solid var(--hair-strong);background:#f1d48a0f;justify-items:center;gap:4px;max-width:360px;padding:14px 24px;display:grid;position:relative;box-shadow:0 14px 30px #00000059}.tech-hub-name{font:700 18px/1.2 var(--font-display);letter-spacing:.06em;color:var(--gold)}.tech-hub-role{color:var(--cream-dim);font-size:12.5px}.tech-hub:after{content:"";border-left:1px solid var(--hair-strong);height:18px;position:absolute;top:100%;left:50%}.tech-branches{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;margin-top:18px;padding-top:18px;display:grid;position:relative}.tech-branches:before{content:"";border-top:1px solid var(--hair-strong);position:absolute;top:0;left:16.6667%;right:16.6667%}.tech-branch{padding:14px 16px 6px;position:relative}.tech-branch:before{content:"";border-left:1px solid var(--hair-strong);height:18px;position:absolute;bottom:100%;left:50%}.tech-branch h4{text-align:center;font:600 15px/1.2 var(--font-display);letter-spacing:.04em;text-transform:none;color:var(--cream);margin:0 0 8px}.tech-branch .up-path{margin-right:6px}.tech-tiers{margin:0;padding:0;list-style:none;display:grid}.tech-tier{border-top:1px solid var(--hair);padding:9px 0}.tech-tier-head{gap:10px;font-weight:600;display:flex}.tech-tier-no{color:var(--gold-mid);font:700 12px/1.6 var(--font-display);font-variant-numeric:tabular-nums}.tech-tier.keyed .tech-tier-head{color:var(--gold)}.tech-tier p{margin:3px 0 0 22px;font-size:12px;line-height:1.4}.tech-unlock{color:var(--ok)}.tech-gate{color:var(--gold-mid)}.codex-tier-list{gap:14px;margin-top:24px;display:grid}.codex-tier-row{padding:14px 16px 16px}.codex-tier-row.locked{background:#0003}.codex-tier-row-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.codex-tier-row-head h4{font:600 16px/1.2 var(--font-display);letter-spacing:.04em;text-transform:none;color:var(--cream);margin:0}.codex-tier-rounds{color:var(--gold-mid);font-variant-numeric:tabular-nums;font-size:12px}.codex-tier-row>.codex-card-lock{margin:4px 0 0}.codex-tier-maps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.shell-layer.codex-layer button.codex-tier-map{border:1px solid var(--hair);background:#00000038;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;display:flex}.shell-layer.codex-layer button.codex-tier-map:hover:not(:disabled),.shell-layer.codex-layer button.codex-tier-map:focus-visible{border-color:var(--hair-strong);background:#f1d48a0d}.codex-tier-map .codex-card-name{font-size:14px}.codex-tier-map .codex-card-meta,.codex-tier-row.locked .codex-tier-map .codex-card-name{color:var(--cream-dim)}.codex-map-frame{border:1px solid var(--hair-strong);background:#0000004d;max-width:560px;margin:22px 0 12px;padding:6px;box-shadow:0 18px 40px #0006}.codex-map-frame svg{width:100%;height:auto;display:block}@media (width<=900px){.codex-paths{grid-template-columns:minmax(0,1fr)}.codex-path:not(.active){display:none}.codex-brief{grid-template-columns:minmax(0,1fr)}.codex-hint{display:none}.codex-tier-maps{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.codex-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.codex-nav{border-right:0;border-bottom:1px solid var(--hair);max-height:34dvh}.codex-tabs,.codex-main{padding-left:20px;padding-right:20px}.tech-branches{grid-template-columns:minmax(0,1fr)}.tech-branches:before,.tech-branch:before{display:none}.codex-page-head{flex-wrap:wrap}.codex-roles{grid-template-columns:repeat(2,max-content)}.codex-sort-row{flex-direction:column;gap:8px}}
