:root{color-scheme:dark;--ground: #0e0b13;--panel: #17121f;--panel-2: #211a2b;--line: #2e2638;--bone: #ece4c8;--muted: #a39aae;--soul: #6ff5da;--soul-dark: #1f8a80;--brass: #ffd36b;--brass-dark: #b07a2a;--rust: #a0582c;--cloth: #6a5270;--danger: #e0685a;--common: #a8b1be;--rare: #6ff5da;--epic: #b58ad6;--legendary: #ffd36b;--curse: #6b3522;--pixel: "Silkscreen", ui-monospace, monospace;--body: "Sarabun", "Noto Sans Thai", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--ground);color:var(--bone);font:15px/1.5 var(--body);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#app{max-width:760px;margin:0 auto;min-height:calc(100% / var(--ui-zoom, 1));zoom:var(--ui-zoom, 1);display:flex;flex-direction:column;padding-inline:12px}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--soul);outline-offset:2px}.px{font-family:var(--pixel);letter-spacing:.04em}.muted{color:var(--muted)}canvas{image-rendering:pixelated;display:block}.btn{background:none;border:8px solid transparent;border-image:var(--nine-btn) 4 fill / 8px stretch;image-rendering:pixelated;padding:3px 10px 4px;font-weight:600;min-height:44px;text-shadow:0 1px 0 #000;transition:transform .06s}.btn:hover:not(:disabled){border-image-source:var(--nine-btn-hover)}.btn:active:not(:disabled){border-image-source:var(--nine-btn-down);transform:translateY(2px)}.btn:disabled{opacity:.45;cursor:default;filter:saturate(.3)}.btn.primary{border-image-source:var(--nine-primary);color:#1d1522;text-shadow:0 1px 0 rgba(255,244,214,.6)}.btn.primary:hover:not(:disabled){border-image-source:var(--nine-primary);filter:brightness(1.08)}.btn.primary:active:not(:disabled){border-image-source:var(--nine-primary-down)}.btn.ghost{border-image:none;border-color:transparent;text-decoration:underline dotted;text-underline-offset:4px}.panel,.summary,.relic-row,.tip,.deck-dialog{border:8px solid transparent!important;border-image:var(--nine-panel) 4 fill / 8px stretch!important;background:none!important;image-rendering:pixelated}.room-scene{width:100%;max-width:560px;justify-self:center;aspect-ratio:200 / 78;height:auto;image-rendering:pixelated;border:2px solid #140c1c;box-shadow:0 0 0 2px #3e3448,0 8px 24px #00000080}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.stack{display:grid;gap:12px}.hud{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;position:sticky;top:0;background:var(--ground);z-index:5}.hud .stat{display:inline-flex;align-items:center;gap:5px;font-family:var(--pixel);font-size:13px}.hud .hp{color:#f0a090}.hud .gold{color:var(--brass);transition:transform .1s}.hud .gold.gain{transform:scale(1.18);text-shadow:0 0 8px rgba(255,211,107,.7)}.hud .gold.spend{color:#f0a090}.hp-px{display:inline-block;width:64px;height:10px;margin-left:4px;background:#2a0f14;border:2px solid #140c1c;box-shadow:0 0 0 1px #5a2a2a;position:relative;image-rendering:pixelated}.hp-px i{position:absolute;inset:0 auto 0 0;background:linear-gradient(#ff8a7a 0 2px,#e0685a 2px 4px,#a83a30 4px);transition:width .35s steps(8)}.hp-px i:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 7px,rgba(20,12,28,.6) 7px 8px)}.hp-px.low i{animation:hpLow .9s steps(2) infinite}@keyframes hpLow{50%{filter:brightness(1.5)}}.hud .keys{color:var(--brass)}.hud .spacer{flex:1}.hud .relics{display:flex;gap:4px}.relic-chip{width:26px;height:26px;border:1px solid var(--line);background:var(--panel);display:grid;place-items:center;position:relative}.relic-chip canvas{width:20px;height:20px}.icon{width:14px;height:14px;display:inline-block}.hud button.small{background:none;border:1px solid var(--line);padding:4px 8px;font-size:12px;min-height:30px}.tip{position:fixed;z-index:50;max-width:260px;background:var(--panel-2);border:1px solid var(--line);padding:8px 10px;font-size:13px;pointer-events:none}.toast{position:fixed;left:50%;top:20%;transform:translate(-50%);font-family:var(--pixel);font-size:28px;pointer-events:none;z-index:60;text-shadow:0 2px 0 #000;animation:toast 1.2s ease-out forwards;white-space:nowrap}@keyframes toast{0%{opacity:0;transform:translate(-50%,10px) scale(.9)}15%{opacity:1;transform:translate(-50%) scale(1.05)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-12px)}}.title{flex:1;display:grid;align-content:start;justify-items:center;gap:18px;text-align:center;padding-block:12px 32px}.title-hero{position:relative;width:100%;max-width:760px;margin-bottom:34px}.title-scene{width:100%;height:auto;aspect-ratio:240 / 135;image-rendering:pixelated;border:2px solid #140c1c;box-shadow:0 0 0 2px #2a2233,0 20px 60px #000000b3,0 0 80px #6ff5da14}.title-hero .vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 62% 45%,transparent 45%,rgba(8,5,12,.75) 100%)}.logo{position:absolute;left:0;right:0;bottom:-30px;margin:0;display:grid;justify-items:center;line-height:.9;pointer-events:none;font-family:var(--pixel);font-weight:400;letter-spacing:.04em;animation:logoSlam .6s cubic-bezier(.3,1.6,.5,1) .15s backwards}.logo span{display:block;background:linear-gradient(100deg,transparent 40%,rgba(255,255,255,.85) 50%,transparent 60%) no-repeat,linear-gradient(#fff4d6 0 18%,#ffd36b 18% 48%,#e0a93c 48% 72%,#b07a2a 72%);background-size:250% 100%,100% 100%;background-position:200% 0,0 0;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #6b3f14) drop-shadow(0 2px 0 #3a2208) drop-shadow(0 3px 0 #140c1c) drop-shadow(2px 0 0 #140c1c) drop-shadow(-2px 0 0 #140c1c) drop-shadow(0 0 16px rgba(255,211,107,.35));animation:logoShine 5s ease-in-out 1.2s infinite}.logo .w1{font-size:clamp(26px,6vw,44px);letter-spacing:.3em;margin-right:-.3em}.logo .w2{font-size:clamp(38px,10vw,76px)}@keyframes logoSlam{0%{transform:scale(2.4) translateY(-30px);opacity:0;filter:blur(6px)}60%{opacity:1;filter:none}}@keyframes logoShine{0%,70%{background-position:200% 0,0 0}to{background-position:-100% 0,0 0}}.title .sub{color:var(--muted);max-width:34ch;margin:0 auto;font-style:italic}.title .menu .btn.primary{animation:callToArms 2.2s ease-in-out infinite}@keyframes callToArms{50%{filter:brightness(1.12) drop-shadow(0 0 10px rgba(255,211,107,.45))}}.title .menu{display:grid;gap:10px;justify-content:center}.title .menu .btn{min-width:240px}.title .meta{font-family:var(--pixel);font-size:12px;color:var(--soul)}.settings{display:grid;gap:6px;text-align:left;margin:0 auto;font-size:14px}.settings label{display:flex;gap:8px;align-items:center}.settings .vol-row{justify-content:space-between;gap:12px}.settings .vol{width:140px;accent-color:var(--soul)}.map-wrap{flex:1;overflow-y:auto;padding-block:12px 24px}.map-title{font-family:var(--pixel);font-size:14px;color:var(--muted);text-align:center;margin:4px 0 8px}.map{position:relative;margin:0 auto;overflow:hidden;border:2px solid #140c1c;box-shadow:0 0 0 2px #2a2233,0 10px 40px #0009}.map .floor{position:absolute;inset:0;image-rendering:pixelated}.map svg.paths{position:absolute;inset:0;pointer-events:none}.map .open-path{stroke:var(--soul);stroke-width:3;stroke-dasharray:3 6;stroke-linecap:square;opacity:.8;animation:march .9s linear infinite;filter:drop-shadow(0 0 3px var(--soul))}@keyframes march{to{stroke-dashoffset:-18}}.map .torch{position:absolute;width:24px;height:48px;transform:translate(-50%,-50%);background-size:72px 48px;background-position:-48px 0;image-rendering:pixelated;pointer-events:none;filter:brightness(.35) saturate(.2)}.map .torch.lit{filter:none;animation:flicker .42s steps(3) infinite}.map .torch:not(.lit){background-position:-48px 0;clip-path:inset(40% 0 0 0)}@keyframes flicker{0%{background-position:0 0}to{background-position:-72px 0}}.map .torch-glow{position:absolute;width:150px;height:150px;transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle,rgba(255,179,71,.28),rgba(224,100,28,.1) 40%,transparent 70%);animation:glow 1.8s ease-in-out infinite alternate}.map.theme-flood .torch-glow{background:radial-gradient(circle,rgba(111,245,218,.22),rgba(31,138,128,.08) 40%,transparent 70%)}@keyframes glow{0%{opacity:.75;scale:.95}to{opacity:1;scale:1.05}}.map .stairs{position:absolute;width:60px;height:22px;transform:translate(-50%,-50%);pointer-events:none;background:repeating-linear-gradient(to bottom,#3e2214 0 4px,#140c0a 4px 6px,#553018 6px 8px);border:2px solid #140c0a;image-rendering:pixelated}.map .fog{position:absolute;left:0;right:0;top:0;pointer-events:none;z-index:2;background-size:192px 192px,288px 288px;image-rendering:pixelated;background-color:#09060ec7;animation:fogDrift 40s linear infinite;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 70px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 70px),transparent)}@keyframes fogDrift{to{background-position:192px 40px,-288px 80px}}.map .sprite-view{position:absolute;image-rendering:pixelated;pointer-events:none}.map .map-boss{z-index:3;filter:drop-shadow(0 0 8px rgba(255,90,60,.35))}.map .map-boss.shadow{filter:drop-shadow(0 0 1px #b58ad6) drop-shadow(0 0 8px rgba(181,138,214,.55))}.map .map-knight{z-index:7;transition:left .52s cubic-bezier(.45,0,.55,1),top .52s cubic-bezier(.45,0,.55,1);filter:drop-shadow(0 2px 0 rgba(0,0,0,.6))}.map .map-knight.walking{animation:hop .13s ease-in-out infinite alternate}@keyframes hop{to{translate:0 -3px}}.node{position:absolute;z-index:1;width:46px;height:46px;transform:translate(-50%,-50%);display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:radial-gradient(circle at 40% 35%,#4a3f55,#2a2233 60%,#140c1c 62%);box-shadow:0 3px #0a0610,inset 0 0 0 2px #140c1c}.node canvas{width:32px;height:32px}.node.done:not(.walked){opacity:.35;filter:grayscale(.8)}.node.walked{background:radial-gradient(circle at 40% 35%,#7a5a30,#3e2a18 60%,#140c1c 62%)}.node.here{box-shadow:0 3px #0a0610,0 0 0 2px var(--bone),0 0 14px #ffd36b73}.node.open{box-shadow:0 3px #0a0610,0 0 0 2px var(--soul),0 0 16px #6ff5da80;animation:pulse 1.4s ease-in-out infinite;z-index:5}.node.open:hover{transform:translate(-50%,-50%) scale(1.12)}.node.boss{width:66px;height:66px;z-index:3}.node.boss canvas{width:48px;height:48px}.node:disabled{cursor:default}.door-fx{position:fixed;inset:0;z-index:90;pointer-events:none;display:flex}.door-fx .door{flex:1;background-size:100% 100%;image-rendering:pixelated;transition:transform .3s cubic-bezier(.6,0,.9,.6);box-shadow:0 0 40px #000}.door-fx .door.l{transform:translate(-102%)}.door-fx .door.r{transform:translate(102%) scaleX(-1)}.door-fx.shut .door.l{transform:translate(0)}.door-fx.shut .door.r{transform:translate(0) scaleX(-1)}.door-fx.open .door{transition:transform .45s cubic-bezier(.2,.7,.3,1)}.door-fx.open .door.l{transform:translate(-102%) perspective(600px) rotateY(20deg)}.door-fx.open .door.r{transform:translate(102%) scaleX(-1) perspective(600px) rotateY(20deg)}@keyframes pulse{50%{box-shadow:0 0 0 4px #6ff5da2e}}.legend{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;font-size:12px;color:var(--muted)}.legend span{display:inline-flex;gap:4px;align-items:center}.legend canvas{width:16px;height:16px}.combat{flex:1;display:flex;flex-direction:column;gap:8px;padding-block:8px}.stage-wrap{position:relative;align-self:center;background:#000}.stage-wrap .ov{position:absolute;inset:0;pointer-events:none}.stage-wrap canvas.hd2d{display:block;image-rendering:pixelated}canvas.hd2d{image-rendering:auto}.stage-wrap{transition:transform .5s cubic-bezier(.2,.8,.3,1)}.stage-wrap.kill-zoom{transform:scale(1.06);transition:transform .12s ease-out}.stage-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 0 transparent;transition:box-shadow .3s}.lock-dial .band.small{stroke:#fff4d6;filter:drop-shadow(0 0 4px var(--brass))}.lock-dial .band.wide+.band-links{stroke:#6ff5da}.lock-dial .band.steady+.band-links{stroke:#b6ffc4}.lock-dial .band.done+.band-links{stroke:#8a93a0}.lock-dial .band.wide{stroke:#1f8a80;filter:none;opacity:.85}.lock-dial .band.steady{stroke:#8ff0a0;filter:drop-shadow(0 0 3px rgba(143,240,160,.7))}.lock-dial .band.done{stroke:#6b7483;filter:none}.steady-meter{position:relative;width:min(230px,62vw);height:10px;background:#140c1c;border:2px solid #2e2638}.steady-meter>b{position:absolute;left:0;top:0;bottom:0;width:0;background:#1f8a80;transition:width .08s linear}.steady-meter.great>b{background:#b07a2a}.steady-meter.perfect>b{background:#ffd36b;box-shadow:0 0 8px #ffd36b}.steady-meter .mark{position:absolute;top:-3px;bottom:-3px;width:2px;z-index:1;background:#8a5a1e}.steady-meter .mark.great{left:55%}.steady-meter .mark.perfect{left:80%;background:#ffd36b}.steady-clock{width:min(230px,62vw);height:3px;background:#140c1c}.steady-clock i{display:block;height:100%;background:#6b7483}.lock-dial .pin{stroke:#140c1c;stroke-width:1.2}.lock-dial .pin.hit{fill:#ffd36b}.lock-dial .pin.miss{fill:#6b7483}.lock-dial .pin.bad{fill:#c0443a}.potion-slots{display:flex;gap:4px}.potion-slot{position:relative;width:40px;height:40px;padding:0;display:grid;place-items:center;background:#140c1c;border:2px solid #3e3448;cursor:pointer}.potion-slot canvas{width:28px;height:28px;image-rendering:pixelated}.potion-slot.empty{cursor:default;opacity:.45;border-style:dashed}.potion-slot.armed{border-color:var(--brass);box-shadow:0 0 10px #ffd36b99}.potion-label{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:4px;white-space:nowrap;font-size:11px;padding:2px 6px;background:#2a1a08;border:1px solid #b07a2a;color:var(--brass)}.hud-potions{display:inline-flex;gap:2px}.shop-potions{justify-content:center}.potion-buy canvas{width:18px;height:18px;vertical-align:-4px;image-rendering:pixelated}.ult-gauge{position:relative;width:44px;height:44px;padding:0;overflow:hidden;background:#140c1c;border:2px solid #3e3448;cursor:default;display:grid;place-items:center}.ult-gauge i{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,#6b3f14,#e0a93c);transition:height .35s ease}.ult-gauge b{position:relative;font:10px var(--pixel);color:#fff4d6;text-shadow:0 1px 0 #140c1c}.ult-gauge.full{cursor:pointer;border-color:#ffd36b;box-shadow:0 0 12px #ffd36bb3;animation:ultPulse 1s ease-in-out infinite}.ult-gauge.full i{background:linear-gradient(0deg,#e0a93c,#fff4d6)}.ult-gauge.full b{color:#2a1a08;text-shadow:none}@keyframes ultPulse{50%{box-shadow:0 0 22px #ffd36b;transform:scale(1.06)}}.ult-card{display:grid;justify-items:center;gap:2px;max-width:320px;padding:10px 14px;text-align:center;background:#2a1a08;border:2px solid #b07a2a;box-shadow:0 0 18px #ffd36b59}.ult-card .tier{font:11px var(--pixel);color:#e0a93c;letter-spacing:2px}.ult-card b{font:18px var(--pixel);color:#fff4d6}.ult-card .muted{font-size:12px}.streak{display:grid;gap:2px;padding:2px 8px;border:2px solid #b07a2a;background:#2a1a08;animation:streakIn .3s cubic-bezier(.2,1.5,.4,1)}.streak b{font:11px var(--pixel);color:var(--brass);white-space:nowrap}.streak .pips{display:flex;gap:3px}.streak .pips i{width:7px;height:7px;background:#3a2208;transform:rotate(45deg)}.streak .pips i.on{background:var(--brass);box-shadow:0 0 5px var(--brass)}.streak.s6{border-color:#fff4d6;box-shadow:0 0 12px #ffd36b99}@keyframes streakIn{0%{transform:scale(.6);opacity:0}}.break-prompt{position:fixed;inset:0;z-index:40;display:grid;place-content:center;justify-items:center;gap:4px;padding:8px;background:radial-gradient(ellipse at center,#0e0b13e6,#08060cf5);backdrop-filter:blur(3px);touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer;animation:breakIn .18s ease-out}@keyframes breakIn{0%{opacity:0;transform:scale(1.06)}}.break-prompt .lock-dial{width:min(300px,78vw)}.break-prompt .break-card{transform:scale(.9);margin-bottom:4px;pointer-events:none}.break-label{font:16px var(--pixel);color:var(--brass);text-shadow:0 2px 0 #000;letter-spacing:.06em}.break-hint{font-size:12px}.brk-chip{color:var(--brass);font-weight:400}.hero-dialog{background:var(--ground);color:var(--bone);border:8px solid transparent;border-image:var(--nine-panel) 4 fill / 8px stretch;max-width:640px;width:calc(100% - 24px);padding:16px;overflow-x:hidden;max-height:calc(100% - 24px);display:grid;gap:14px;justify-items:center}.hero-dialog::backdrop{background:#08050ccc}.hero-dialog h2{margin:0;color:var(--brass);font-size:18px}.hero-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.hero-card{display:grid;justify-items:center;gap:6px;width:220px;padding:12px;text-align:center;color:var(--bone);background:none;border:8px solid transparent;border-image:var(--nine-btn) 4 fill / 8px stretch;cursor:pointer}.hero-card:hover:not(:disabled){border-image-source:var(--nine-btn-hover);transform:translateY(-3px)}.hero-card.locked{opacity:.5;cursor:default;filter:grayscale(.7)}.hero-card canvas{image-rendering:pixelated}.hero-card b{font:15px var(--pixel);color:var(--brass)}.hero-card .muted{font-size:13px}.codex-progress{position:relative;height:22px;background:#0b0810;border:2px solid #140c1c;box-shadow:0 0 0 1px #3e3448}.codex-progress i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#1f8a80,#6ff5da)}.codex-progress span{position:relative;display:block;text-align:center;font:12px/22px var(--pixel);color:var(--bone);text-shadow:0 1px 0 #000}.codex-tabs{display:flex;flex-wrap:wrap;gap:6px}.codex-tabs .btn{min-height:38px;font-size:13px}.codex-body .deck-grid .card{transform:scale(.92)}.codex-sealed{width:112px;height:172px;cursor:default;animation:none;opacity:.5}.codex-list{display:grid;gap:6px}.relic-row.dim,.codex-foe.dim,.lore-page.dim{opacity:.55}.codex-unknown{font:16px var(--pixel);color:var(--muted);width:32px;text-align:center}.codex-foes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.codex-foe{display:grid;justify-items:center;gap:2px;padding:8px;text-align:center;border:8px solid transparent;border-image:var(--nine-panel) 4 fill / 8px stretch}.codex-foe canvas{image-rendering:pixelated;max-width:100%}.codex-foe b{font-size:13px}.codex-lore{display:grid;gap:10px}.lore-page{position:relative;padding:12px 14px 12px 52px;border:8px solid transparent;border-image:var(--nine-panel) 4 fill / 8px stretch}.lore-page h3{margin:0 0 4px;font:15px var(--pixel);color:var(--brass)}.lore-page p{margin:0;line-height:1.6;max-width:62ch}.lore-no{position:absolute;left:12px;top:12px;font:18px var(--pixel);color:var(--soul);opacity:.8}.ach-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 12px;border:8px solid transparent;border-image:var(--nine-panel) 4 fill / 8px stretch;opacity:.6}.ach-row.done{opacity:1}.ach-mark{font-size:18px;color:var(--muted)}.ach-row.done .ach-mark{color:var(--brass);text-shadow:0 0 8px rgba(255,211,107,.7)}.ach-reward{font:11px var(--pixel);color:var(--soul)}.looks{display:flex;flex-wrap:wrap;gap:18px}.look-group{display:grid;gap:6px}.look-back{width:48px;height:67px;background-size:100% 100%;image-rendering:pixelated;border:2px solid transparent;padding:0;cursor:pointer}.look-back.on,.look-cape.on{border-color:var(--brass);box-shadow:0 0 10px #ffd36b80}.look-back:disabled,.look-cape:disabled{opacity:.35;filter:grayscale(.8);cursor:default}.look-cape{display:grid;justify-items:center;gap:2px;background:none;border:2px solid #2e2638;padding:4px;color:var(--bone);font-size:11px;cursor:pointer}.look-cape canvas{image-rendering:pixelated}.news{position:fixed;left:50%;top:14px;z-index:80;transform:translate(-50%);display:grid;justify-items:center;gap:2px;padding:8px 22px;pointer-events:none;border:8px solid transparent;border-image:var(--nine-panel) 4 fill / 8px stretch;animation:newsIn 2.6s cubic-bezier(.2,1.2,.4,1) forwards}.news .kicker{font:10px var(--pixel);letter-spacing:.2em;color:var(--soul);text-transform:uppercase}.news b{font:16px var(--pixel);color:var(--brass);text-shadow:0 0 10px rgba(255,211,107,.5)}.news.lore .kicker{color:#b58ad6}@keyframes newsIn{0%{transform:translate(-50%,-140%)}12%,82%{transform:translate(-50%)}to{transform:translate(-50%,-140%);opacity:0}}.pacts{width:100%;display:grid;gap:8px}.heirlooms{width:100%;display:grid;gap:6px}.heirloom-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:6px}.heirloom{display:grid;grid-template-columns:auto 1fr;gap:2px 6px;align-items:center;text-align:left;padding:6px 8px;color:var(--bone);background:#17121f;border:2px solid #2e2638;cursor:pointer}.heirloom canvas{grid-row:span 2;image-rendering:pixelated;width:24px;height:24px}.heirloom b{font:11px var(--pixel);color:var(--brass)}.heirloom .muted{font-size:11px}.heirloom.on{border-color:var(--brass);background:#2a1e10;box-shadow:0 0 8px #ffd36b4d}.rank-name b{display:flex;align-items:center;gap:6px}.rank-name b canvas{width:16px;height:16px;image-rendering:pixelated;flex:none}.pacts h3{margin:0;font-size:14px;color:var(--danger);text-align:center}.pact-heat{text-align:center}.pact-heat b{font:16px var(--pixel);color:#ff8a7a}.pact-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(170px,100%),1fr));gap:6px}.pact{display:grid;grid-template-columns:1fr auto;gap:2px 6px;text-align:left;padding:6px 8px;color:var(--bone);background:#17121f;border:2px solid #2e2638;cursor:pointer}.pact.on{border-color:#c0443a;background:#2a1216;box-shadow:0 0 8px #c0443a59}.pact b{font-size:13px}.pact .muted{grid-column:1 / -1;font-size:11px;line-height:1.35}.pact .pips{display:flex;gap:3px;align-items:center}.pact .pips i{width:8px;height:8px;background:#2e2638;transform:rotate(45deg)}.pact .pips i.on{background:#ff8a7a}.pact .heat{position:absolute}.pact{position:relative}.pact .heat{right:6px;bottom:4px;font:10px var(--pixel);color:#ff8a7a}.rune-gem{position:absolute;top:-10px;right:-10px;z-index:3;width:22px;height:22px;display:grid;place-items:center;font:11px var(--pixel);color:#140c1c;background:var(--rc);transform:rotate(45deg);border:2px solid #140c1c;box-shadow:0 0 8px var(--rc)}.rune-gem,.rune-chip{text-shadow:none}.rune-gem{line-height:1}.rune-bar{display:flex;gap:8px;align-items:center;justify-content:center;margin:4px 0;flex-wrap:wrap}.rune-chip{display:inline-grid;place-items:center;width:24px;height:24px;font:11px var(--pixel);color:#140c1c;background:var(--rc);border:2px solid #140c1c;transform:rotate(45deg);box-shadow:0 0 8px var(--rc);cursor:pointer;padding:0}.rune-bar .rune-chip:hover{filter:brightness(1.25)}.affix{font-weight:700}.phase2-tag{color:#ff6a4a;font-family:var(--pixel)}.cutin.rage .cutin-name .tier{color:#ff6a4a}.cutin.rage .cutin-name .name{background:linear-gradient(90deg,transparent,rgba(160,30,20,.9) 15%,rgba(160,30,20,.9) 85%,transparent);text-shadow:0 2px 0 #3a0a06,0 0 18px rgba(255,106,74,.8)}.callout{position:absolute;transform:translate(-50%,-100%);z-index:5;pointer-events:none;white-space:nowrap;font-size:13px;font-weight:700;padding:3px 10px;color:var(--bone);background:#140c1ceb;border:2px solid #c0443a;box-shadow:0 3px #00000080;animation:calloutIn .22s cubic-bezier(.2,1.4,.4,1)}.callout:after{content:"";position:absolute;left:50%;bottom:-7px;transform:translate(-50%);border:5px solid transparent;border-top-color:#c0443a}.callout.defend{border-color:#6b7483}.callout.defend:after{border-top-color:#6b7483}.callout.buff{border-color:#e0a93c}.callout.buff:after{border-top-color:#e0a93c}.callout.debuff,.callout.summon{border-color:#b58ad6}.callout.debuff:after,.callout.summon:after{border-top-color:#b58ad6}.callout.support{border-color:#4f7a3a}.callout.support:after{border-top-color:#4f7a3a}@keyframes calloutIn{0%{transform:translate(-50%,-60%) scale(.6);opacity:0}}.cutin{position:absolute;inset:0;pointer-events:none;z-index:6;overflow:hidden;animation:cutinDim 1.6s ease forwards}@keyframes cutinDim{0%{background:#08050c00}10%,60%{background:#08050c1f}to{background:#08050c00}}.cutin .bars{position:absolute;left:0;right:0;height:7%;background:#000;animation:cutinBars 1.6s ease forwards}.cutin .bars.top{top:0;transform-origin:top}.cutin .bars.bottom{bottom:0;transform-origin:bottom}@keyframes cutinBars{0%{transform:scaleY(0)}12%,78%{transform:scaleY(1)}to{transform:scaleY(0)}}.cutin-name{position:absolute;left:0;right:0;top:50%;display:grid;justify-items:center;gap:2px;transform:translateY(-50%);animation:cutinName 1.6s cubic-bezier(.2,.9,.3,1) forwards}.cutin-name .tier{font:11px var(--pixel);letter-spacing:.3em;color:var(--brass)}.cutin-name .name{font:clamp(22px,5vw,38px) var(--pixel);color:#fff4d6;padding:4px 28px;letter-spacing:.06em;background:linear-gradient(90deg,transparent,rgba(176,122,42,.85) 15%,rgba(176,122,42,.85) 85%,transparent);text-shadow:0 2px 0 #3a2208,0 0 18px rgba(255,211,107,.8)}.cutin.soul .cutin-name .tier{color:var(--soul)}.cutin.soul .cutin-name .name{background:linear-gradient(90deg,transparent,rgba(31,138,128,.85) 15%,rgba(31,138,128,.85) 85%,transparent);text-shadow:0 2px 0 #123f45,0 0 18px rgba(111,245,218,.8)}@keyframes cutinName{0%{transform:translate(-50%,-50%) skew(-12deg);opacity:0}10%{transform:translateY(-50%) skew(0);opacity:1}78%{transform:translate(3%,-50%);opacity:1}to{transform:translate(25%,-50%) skew(8deg);opacity:0}}.stage-wrap.impact{animation:impactPunch .35s ease-out}@keyframes impactPunch{0%{transform:scale(1.045);filter:brightness(1.7) contrast(1.2)}30%{filter:none}to{transform:none}}.stage-wrap.hurt:after{box-shadow:inset 0 0 40px 6px #c8281e8c;transition:none}.combat.low .stage-wrap:after{animation:lowHp 1.1s ease-in-out infinite}@keyframes lowHp{0%,to{box-shadow:inset 0 0 30px 2px #a0141440}15%{box-shadow:inset 0 0 50px 10px #c81e1e80}30%{box-shadow:inset 0 0 34px 4px #a014144d}45%{box-shadow:inset 0 0 46px 8px #c81e1e73}}.turn-banner{position:absolute;left:0;right:0;top:38%;display:grid;place-items:center;pointer-events:none;z-index:4;overflow:hidden}.turn-banner span{font:20px var(--pixel);letter-spacing:.08em;padding:8px 0;width:100%;text-align:center;color:var(--bone);background:linear-gradient(90deg,transparent,rgba(20,12,28,.92) 20%,rgba(20,12,28,.92) 80%,transparent);border-block:2px solid var(--soul);text-shadow:0 2px 0 #000;animation:bannerSweep 1s cubic-bezier(.2,.9,.3,1) forwards}.turn-banner.enemy span{border-color:#c0443a;color:#ffb0a0}@keyframes bannerSweep{0%{transform:translate(-60%) scaleY(.2);opacity:0}18%{transform:translate(0) scaleY(1);opacity:1}75%{transform:translate(0);opacity:1}to{transform:translate(40%);opacity:0}}.unit{position:absolute;transform:translate(-50%);display:grid;justify-items:center;gap:2px;pointer-events:auto}.unit .hpbar{width:var(--uw, 64px);height:7px;background:#2a0f0f;border:1px solid #000;position:relative}.unit .hpbar i{position:absolute;inset:0 auto 0 0;background:#c94c3c}.unit .hpbar.block i{background:#6b7483}.unit .hptext{font:11px var(--pixel);text-shadow:0 1px 0 #000}.unit .blk{font:11px var(--pixel);color:#a8b1be}.unit .statuses{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 3px;font:10px var(--pixel);max-width:calc(var(--uw, 64px) + 4px)}.unit .statuses span{background:#0009;padding:0 3px;border:1px solid var(--line)}.unit .statuses .bad{color:#f0a090}.unit .statuses .good{color:var(--soul)}.unit .name{font-size:11px;color:var(--muted);text-shadow:0 1px 0 #000}.intent{font:12px var(--pixel);padding:1px 6px;max-width:calc(var(--uw, 64px) + 10px);overflow:hidden;text-overflow:ellipsis;background:#000000b3;border:1px solid var(--line);white-space:nowrap}.intent.attack{color:#f0a090;border-color:#7a2c24}.intent.defend{color:#a8b1be}.intent.buff{color:var(--brass)}.intent.debuff{color:var(--epic)}.intent.summon,.intent.support{color:var(--soul)}.target-hit{position:absolute;inset:0;background:transparent;border:0;cursor:crosshair;pointer-events:auto;z-index:1;touch-action:manipulation}.targeting .target-hit{outline:2px dashed var(--soul);outline-offset:-2px}.targeting .target-hit.far{outline:2px dotted rgba(192,68,58,.6);cursor:not-allowed}.row-tag{display:inline-block;margin-top:2px;padding:0 5px;font:10px var(--pixel);color:#a8b1be;background:#140c1ccc;border:1px solid #434a58}.float{position:absolute;font:16px var(--pixel);pointer-events:none;text-shadow:0 2px 0 #000,2px 0 0 #000,-2px 0 0 #000,0 -2px 0 #000;animation:floatUp .9s ease-out forwards;transform:translate(-50%);z-index:8}.float.dmg{color:#ff8a7a;animation:dmgPop 1.05s cubic-bezier(.2,.8,.4,1) forwards}.float.crit{color:var(--brass);text-shadow:0 2px 0 #6b3522,2px 0 0 #140c1c,-2px 0 0 #140c1c,0 -2px 0 #140c1c,0 0 10px rgba(255,211,107,.7)}@keyframes dmgPop{0%{opacity:1;translate:0 0;scale:.4}12%{scale:1.35;translate:calc(var(--dx, 0px) * .3) -22px}30%{scale:1;translate:calc(var(--dx, 0px) * .6) -34px}55%{translate:var(--dx, 0px) -18px}68%{translate:var(--dx, 0px) -24px;opacity:1}to{opacity:0;translate:var(--dx, 0px) -30px}}.float.blk{color:#c9d2de}.float.heal{color:#8ff0a0}.float.info{color:var(--soul);font-size:12px}.float.great{color:#e0a93c;font-weight:700}@keyframes floatUp{0%{opacity:1;translate:0 0}to{opacity:0;translate:0 -28px}}.player-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.energy{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 40% 35%,#ffe7a8,var(--brass) 55%,var(--brass-dark));color:#1d1522;font:18px var(--pixel);border:2px solid #1d1522;box-shadow:0 0 0 1px var(--brass-dark)}.energy.empty{filter:grayscale(.8) brightness(.6)}.piles{font:12px var(--pixel);color:var(--muted);display:flex;gap:10px}.player-bar .spacer{flex:1}.hand{display:flex;justify-content:center;min-height:170px;padding:14px 0 12px}.hand .card{margin-left:6px}.hand .card:first-child{margin-left:0}.hand .card:hover:not(:disabled),.hand .card.selected{z-index:20!important}.card{--rx: 0deg;--ry: 0deg;--lift: 0px;--sx: 50%;--sy: 50%;--glow: transparent;position:relative;flex:0 0 auto;width:112px;height:172px;border:12px solid transparent;border-image-slice:6 fill;border-image-width:12px;border-image-repeat:stretch;image-rendering:pixelated;background:none;padding:0 1px 1px;display:grid;grid-template-rows:auto auto 1fr auto;gap:3px;text-align:left;color:var(--bone);transform:perspective(500px) translateY(var(--lift)) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .14s ease-out,filter .14s;filter:drop-shadow(0 3px 0 rgba(0,0,0,.55)) drop-shadow(0 0 0 var(--glow))}.card .cost{position:absolute;top:-18px;left:-18px;width:28px;height:28px;background-size:100% 100%;image-rendering:pixelated;color:#1d1522;font:13px var(--pixel);display:grid;place-items:center;z-index:2;text-shadow:0 1px 0 #fff4d6}.card .cost.x{background:#2a2233;color:#8d8499;border:2px solid #140c1c;border-radius:50%;text-shadow:none}.card .name{font-weight:700;font-size:13.5px;line-height:1.15;min-height:2.3em;padding:1px 2px 0 12px;text-shadow:0 1px 0 #000}.card.up .name{color:#9ef0a8}.card .art{display:block;line-height:0;border:1px solid #140c1c;box-shadow:0 0 0 1px #ffffff0f}.card .art canvas{width:100%;height:auto;aspect-ratio:48 / 26}.card .desc{font-size:12px;line-height:1.35;padding:0 2px;min-height:0;overflow:hidden}.card.fit1 .desc{font-size:11px;line-height:1.28}.card.fit2 .desc{font-size:10.5px;line-height:1.24}.card.fit2 .art canvas{aspect-ratio:48 / 19;object-fit:cover}.card.fit3 .desc{font-size:10px;line-height:1.2}.card.fit3 .art canvas{aspect-ratio:48 / 14;object-fit:cover}.card.fit4 .desc{font-size:9.5px;line-height:1.16;letter-spacing:-.01em}.card.fit4 .art canvas{aspect-ratio:48 / 11;object-fit:cover}.card .ctype{font:9px var(--pixel);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;text-align:center}.card .shine{position:absolute;inset:-12px;pointer-events:none;opacity:0;mix-blend-mode:screen;transition:opacity .2s;background:radial-gradient(circle at var(--sx) var(--sy),rgba(255,255,255,.35),transparent 45%)}.card.r-rare .shine,.card.r-epic .shine,.card.r-legendary .shine,.card.up .shine{background:radial-gradient(circle at var(--sx) var(--sy),rgba(255,255,255,.4),transparent 40%),linear-gradient(115deg,transparent 30%,rgba(111,245,218,.18) 42%,rgba(255,211,107,.2) 50%,rgba(181,138,214,.18) 58%,transparent 70%);background-size:100% 100%,250% 250%;background-position:0 0,var(--sx) var(--sy)}.card:hover .shine,.card.selected .shine{opacity:1}.card.r-legendary{--glow: rgba(255, 211, 107, .5);filter:drop-shadow(0 3px 0 rgba(0,0,0,.55)) drop-shadow(0 0 6px var(--glow))}.card.r-curse .desc,.card.r-curse .name{color:#f0c8b8}.hand .card:hover:not(:disabled),.card.selected{--lift: -14px}.card.selected{--glow: var(--soul);filter:drop-shadow(0 3px 0 rgba(0,0,0,.55)) drop-shadow(0 0 5px var(--glow))}.card:disabled{filter:saturate(.45) brightness(.65) drop-shadow(0 3px 0 rgba(0,0,0,.55));cursor:default}.card.big{width:140px;height:212px}.card.big .desc{font-size:13px}.card.big .name{font-size:15px}.card.deal{animation:deal .38s cubic-bezier(.2,1.3,.4,1) backwards}@keyframes deal{0%{opacity:0;transform:perspective(500px) translate(-46vw,40px) rotate(-18deg) scale(.6)}}.card.nope{animation:nope .3s}@keyframes nope{20%,60%{translate:-5px 0}40%,80%{translate:5px 0}}.card-ghost{position:fixed;z-index:40;pointer-events:none;margin:0!important}.intro-card{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none;animation:intro 2.2s ease-out forwards}.intro-card .tier{font:12px var(--pixel);color:var(--danger);letter-spacing:.3em;text-transform:uppercase}.intro-card .name{font:28px var(--pixel);color:var(--bone);text-shadow:0 3px 0 #000,0 0 12px rgba(0,0,0,.8)}.bars{position:absolute;left:0;right:0;height:12%;background:#000;pointer-events:none;animation:bars 2.2s ease-in-out forwards}.bars.top{top:0}.bars.bottom{bottom:0}@keyframes intro{0%{opacity:0;transform:scale(1.3)}12%{opacity:1;transform:scale(1)}75%{opacity:1}to{opacity:0}}@keyframes bars{0%{transform:scaleY(0)}15%,80%{transform:scaleY(1)}to{transform:scaleY(0)}}.hint{text-align:center;color:var(--soul);font-size:13px;margin:0}.reveal .card{animation:reveal .5s cubic-bezier(.2,1.4,.4,1) backwards}.reveal .card.up{--glow: var(--brass)}@keyframes reveal{0%{opacity:0;transform:translateY(24px) rotateY(80deg) scale(.9)}to{opacity:1;transform:none}}.screen{flex:1;display:grid;align-content:start;gap:16px;padding-block:16px 32px}.screen h2{font:20px/1.2 var(--pixel);margin:0;color:var(--brass)}.screen p{margin:0;max-width:60ch}.choices{display:grid;gap:8px}.choices .btn{text-align:left}.asc-rules{margin:0;padding-left:22px;font-size:13px;color:var(--bone);opacity:.85;display:grid;gap:2px}.asc-rules li.new{color:var(--brass);opacity:1}body:has(.screen.camp){background:radial-gradient(ellipse 70% 45% at 50% 18%,rgba(224,120,40,.16),transparent 70%),radial-gradient(ellipse at 50% 100%,rgba(0,0,0,.7),transparent 60%),var(--camp-bricks) 0 0 / 96px 48px,#120d17;image-rendering:pixelated}.screen.camp{gap:12px}.camp-top{position:relative;display:grid;justify-items:center}.camp-top .room-scene{max-width:640px}.camp-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 12px;margin-top:8px}.camp-title h2{margin:0;font-size:22px;color:var(--brass);text-shadow:0 2px 0 #140c1c,0 0 12px rgba(255,180,80,.5)}.shard-plaque{display:flex;align-items:center;gap:6px;padding:3px 12px;background:#2a1a08;border:2px solid #b07a2a;box-shadow:0 0 0 2px #140c1c,0 0 14px #6ff5da40}.shard-plaque canvas{width:18px;height:18px;image-rendering:pixelated}.shard-plaque b{font:16px var(--pixel);color:var(--soul)}.shard-plaque span{font-size:12px;color:var(--bone);opacity:.8}.camp-intro{text-align:center;margin:0;font-size:13px}.camp-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.camp-nav>*{flex:0 0 calc((100% - 6 * 6px) / 7);min-width:0}.camp-cat{display:grid;justify-items:center;gap:2px;padding:8px 4px;color:var(--bone);background:none;border:8px solid transparent;border-image:var(--nine-btn) 4 fill / 8px stretch;cursor:pointer;font:11px var(--pixel)}.camp-cat canvas{width:28px;height:28px;image-rendering:pixelated}.camp-cat:hover{border-image-source:var(--nine-btn-hover)}.camp-cat.on{border-image-source:var(--nine-primary);color:#2a1a08}.camp-panel{display:grid;gap:10px;padding:14px;border:9px solid transparent;border-image:var(--nine-panel) 4 fill / 9px stretch}.camp-panel-head{display:flex;gap:10px;align-items:center;padding-bottom:8px;border-bottom:2px solid #2e2638}.camp-panel-head canvas{width:36px;height:36px;image-rendering:pixelated}.camp-panel-head h3{margin:0;font-size:16px;color:var(--brass)}.camp-panel-head p{margin:0;font-size:13px}.camp-sub{margin:4px 0 0;font-size:13px;color:var(--bone);opacity:.85}.camp-heroes{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px}.camp-hero{display:grid;justify-items:center;align-content:start;gap:2px;padding:6px 4px;text-align:center;line-height:1.25;color:var(--bone);background:#17121f;border:2px solid #2e2638;cursor:pointer;font-size:12px}.camp-hero canvas{image-rendering:pixelated;height:56px;width:auto}.camp-hero.on{border-color:var(--brass);background:#2a1e10;box-shadow:0 0 10px #ffd36b4d}.camp-hero.locked{opacity:.7}.rank-row.chosen{border-color:var(--brass);box-shadow:0 0 8px #ffd36b40}.descent-row .btn{min-width:40px}.camp-actions{justify-content:center}@media(max-width:620px){.camp-nav>*{flex-basis:calc((100% - 18px)/4)}.camp-title h2{font-size:16px}}.daily-btn{display:grid!important;gap:0;line-height:1.2}.daily-btn small{font-size:11px;opacity:.75;font-weight:400}.board{display:grid;gap:4px;width:100%;max-height:46vh;overflow:auto}.board-row.me{border-color:var(--brass);background:#2a1e10}.board-tabs{justify-content:center}.board-me{width:100%;display:grid;gap:6px}.name-input{flex:1;min-width:0;padding:8px 10px;color:var(--bone);background:#17121f;border:2px solid #3e3448;font:14px var(--body)}.daily-status{font-size:13px}.cloud-line{font-size:12px;margin:0}.cloud-hint{font-size:12px}.board-row{display:flex;justify-content:space-between;padding:6px 10px;background:#17121f;border:2px solid #2e2638}.board-row b{font:14px var(--pixel);color:var(--brass)}.camp-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.mastery-head{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:flex-start}.mastery-head>.stack{flex:1 1 320px;max-width:560px}.rank-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:8px 10px;background:#00000040;border:1px solid var(--line)}.rank-name{display:grid;gap:2px}.rank-name b{font:13px var(--pixel);color:var(--brass)}.rank-name .muted{font-size:12px}.rank-row .pips,.hero-stats .pips{display:flex;gap:3px}.rank-row .pips i{width:8px;height:8px;background:#2a1a2e;transform:rotate(45deg);border:1px solid #5a4660}.rank-row .pips i.on{background:var(--soul);border-color:var(--soul);box-shadow:0 0 5px var(--soul)}.need{font-size:12px;color:var(--danger);max-width:180px;text-align:center}.shop-item.gated>:first-child{opacity:.5;filter:grayscale(.6)}.hero-stats{display:grid;gap:3px;width:100%;margin-top:4px}.stat-line{display:grid;grid-template-columns:74px 1fr 34px;gap:6px;align-items:center;font-size:11px;text-align:left}.stat-line .stat-name{color:var(--bone);opacity:.8}.stat-line b{font:11px var(--pixel);color:var(--bone);text-align:right}.stat-bar{position:relative;height:7px;background:#1a1220;border:1px solid #3a2a40}.stat-bar i{position:absolute;left:0;top:0;bottom:0}.stat-bar i.gain{background:var(--soul)}.stat-bar i.base{background:var(--brass)}@media(max-width:520px){.rank-row{grid-template-columns:1fr auto}.rank-row .pips{grid-column:1}}.offer{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;padding-top:12px}.shop-item{display:grid;justify-items:center;gap:6px}.price{font:13px var(--pixel);color:var(--brass)}.price.no{color:var(--danger)}.relic-row{display:flex;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--line);padding:8px 10px;text-align:left}.relic-row canvas{width:32px;height:32px}.deck-grid{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding-top:10px}.chest{flex:1;display:grid;justify-items:center;align-content:start;gap:clamp(6px,1.6svh,14px);padding-block:clamp(6px,1.6svh,16px);user-select:none;-webkit-user-select:none;touch-action:none}.chest .stage-wrap{cursor:pointer}.dial-row{display:flex;align-items:center;justify-content:center;gap:14px;width:min(460px,100%)}.lock-dial{width:min(230px,62vw,30svh);height:auto;overflow:visible;shape-rendering:crispEdges;filter:drop-shadow(0 4px 0 rgba(0,0,0,.45))}.lock-dial .ld-plate{fill:#1d1522;stroke:#0b0810;stroke-width:3}.lock-dial .ld-rim{fill:none;stroke:#3a2f44;stroke-width:1.4}.lock-dial .ld-inner{fill:#140e19;stroke:#2a2132;stroke-width:1.2}.lock-dial .ld-rivet{fill:#4a3e56}.lock-dial .ld-shine{fill:#8a7a98}.lock-dial .ld-track{fill:none;stroke:#0b0810;stroke-width:11}.lock-dial .ld-links{fill:none;stroke:#4a4252;stroke-width:7}.lock-dial .ld-holes{fill:none;stroke:#0b0810;stroke-width:2}.lock-dial .lash{fill:none;stroke:#8a2a22;stroke-width:7}.lock-dial .band{fill:none;stroke:#b07a2a;stroke-width:11;filter:drop-shadow(0 0 3px rgba(255,211,107,.9))}.lock-dial .band-links{fill:none;stroke:#ffd36b;stroke-width:7}.lock-dial .band.sway{stroke:#e0a93c}.lock-dial .great{fill:none;stroke:#3a2208;stroke-width:11}.lock-dial .great-links{fill:none;stroke:#8a5a1e;stroke-width:7}.lock-dial .ld-key.warm{fill:#e0a93c}.lock-dial .ld-hub.warm{fill:#8a5a1e}.lock-dial .ld-bow.warm{fill:#ffd36b}.lock-dial .pin.near{fill:#b07a2a}.lock-dial .ld-shackle{fill:none;stroke:#a8b1be;stroke-width:1.8}.lock-dial .ld-padbody{fill:#b07a2a;stroke:#3a2208;stroke-width:1}.lock-dial .ld-padtop{fill:#ffd36b}.lock-dial .ld-padhole{fill:#140c1c}.lock-dial .ld-hub{fill:#6b3f14;stroke:#140c1c;stroke-width:1.5}.lock-dial .ld-hub.hot{fill:#b07a2a}.lock-dial .ld-hub.bad{fill:#5a1a14}.lock-dial .ld-hubring{fill:none;stroke:#e0a93c;stroke-width:1.2;stroke-dasharray:2 2}.lock-dial .ld-key{fill:#a8b1be;stroke:#140c1c;stroke-width:.8}.lock-dial .ld-key.safe{fill:#6ff5da}.lock-dial .ld-key.hot{fill:#fff4d6;filter:drop-shadow(0 0 3px #ffd36b)}.lock-dial .ld-key.bad{fill:#ff8a7a}.lock-dial .ld-key.idle{fill:#6b7483}.lock-dial .ld-bow{fill:#e0a93c;stroke:#140c1c;stroke-width:1.2}.lock-dial .ld-bow.hot{fill:#fff4d6}.lock-dial .ld-bow.bad{fill:#c0443a}.lock-dial .ld-keyhole{fill:#140c1c}.lock-name{font:12px var(--pixel);color:var(--bone);opacity:.75;text-align:center;letter-spacing:1px}.break-prompt.inline{position:static;inset:auto;background:none;backdrop-filter:none;padding:0;min-height:0;box-shadow:none;cursor:pointer;touch-action:none;user-select:none}.chain-pips{display:grid;gap:6px}.chain-pips .pip{width:16px;height:16px;border:2px solid #140c1c;background:#2a2233;box-shadow:inset 0 0 0 2px #434a58;transform:rotate(45deg)}.chain-pips .pip.active{background:#1f8a80;box-shadow:inset 0 0 0 2px #6ff5da;animation:pulse 1.2s ease-in-out infinite}.chain-pips .pip.perfect{background:#ffd36b;box-shadow:inset 0 0 0 2px #fff4d6,0 0 8px #ffd36bb3}.chain-pips .pip.safe{background:#6b7483}.chain-pips .pip.great{background:#b07a2a;box-shadow:inset 0 0 0 2px #e0a93c}.chain-pips .pip.cursed{background:#c0443a;box-shadow:inset 0 0 0 2px #ff8a7a}.seal-slot{position:relative;display:grid;justify-items:center}.sealed{width:140px;min-height:200px;aspect-ratio:40 / 56;border:0;padding:0;background-size:100% 100%;image-rendering:pixelated;cursor:pointer;position:relative;filter:drop-shadow(0 4px 0 rgba(0,0,0,.55));animation:sealIn .5s cubic-bezier(.2,1.3,.4,1) backwards;transition:transform .15s}.sealed:hover{transform:translateY(-6px) rotate(-1deg)}.sealed .hint-glow{position:absolute;inset:-4px;pointer-events:none;animation:sealGlow 1.6s ease-in-out infinite}.sealed.r-rare .hint-glow{box-shadow:0 0 14px #6ff5da59}.sealed.r-epic .hint-glow{box-shadow:0 0 16px #b58ad673}.sealed.r-legendary .hint-glow{box-shadow:0 0 22px #ffd36b99}.sealed.r-legendary{animation:sealIn .5s cubic-bezier(.2,1.3,.4,1) backwards,sealShiver 1.2s ease-in-out .6s infinite}@keyframes sealIn{0%{opacity:0;transform:translateY(40px) scale(.7) rotate(-6deg)}}@keyframes sealGlow{50%{opacity:.35}}@keyframes sealShiver{0%,80%,to{translate:0 0}84%{translate:-2px 0}88%{translate:2px 0}92%{translate:-1px 0}}.sealed.turning{animation:sealTurn .22s ease-in forwards}@keyframes sealTurn{to{transform:scaleX(0) translateY(-10px);filter:brightness(2.5)}}.card.turned-in{animation:turnedIn .45s cubic-bezier(.2,1.4,.4,1)}@keyframes turnedIn{0%{transform:perspective(500px) scaleX(0) translateY(-10px);filter:brightness(3)}}.seal-slot.shown:before{content:"";position:absolute;inset:-30px;pointer-events:none;opacity:0;animation:rarityBurst .9s ease-out}.seal-slot.shown.r-rare:before{background:radial-gradient(circle,rgba(111,245,218,.45),transparent 60%);opacity:1}.seal-slot.shown.r-epic:before{background:radial-gradient(circle,rgba(181,138,214,.55),transparent 60%);opacity:1}.seal-slot.shown.r-legendary:before{background:radial-gradient(circle,rgba(255,244,214,.8),rgba(255,211,107,.4) 35%,transparent 65%);opacity:1}.seal-slot.shown.r-legendary:after{content:"";position:absolute;left:50%;top:-60px;bottom:-20px;width:60px;transform:translate(-50%);pointer-events:none;background:linear-gradient(to bottom,transparent,rgba(255,211,107,.5),transparent);animation:rarityBurst 1.4s ease-out forwards}@keyframes rarityBurst{0%{transform:scale(.4)}to{transform:scale(1.3);opacity:0}}.up-tag{position:absolute;top:-10px;right:-6px;font:10px var(--pixel);color:#1d1522;background:#8ff0a0;padding:2px 6px;border:2px solid #140c1c;transform:rotate(6deg);animation:sealIn .4s backwards}#app.quake{animation:quake .45s}.chest{position:relative}.chest-burst{position:absolute;inset:0;pointer-events:none;z-index:30;display:grid;place-items:center;overflow:hidden}.chest-burst .flash{position:absolute;inset:-20%;background:radial-gradient(circle at 50% 40%,#fff4d6f2,#ffd36b8c 25%,#b07a2a00 60%);animation:burstFlash 1.1s ease-out forwards}.chest-burst.great .flash{background:radial-gradient(circle at 50% 40%,rgba(255,228,160,.75),rgba(224,169,60,.35) 25%,transparent 55%)}.chest-burst.safe .flash{background:radial-gradient(circle at 50% 40%,rgba(111,245,218,.45),transparent 50%)}.chest-burst.cursed .flash{background:radial-gradient(circle at 50% 40%,rgba(255,138,122,.6),rgba(90,26,20,.5) 35%,transparent 65%)}.burst-text{position:relative;top:-12%;font:44px var(--pixel);color:#fff4d6;letter-spacing:3px;text-shadow:0 0 18px #ffd36b,0 4px 0 #6b3f14,0 8px 0 #140c1c;animation:burstSlam 1.5s cubic-bezier(.2,1.4,.4,1) forwards}.chest-burst.great .burst-text{font-size:34px;color:#ffe29a}.chest-burst.cursed .burst-text{color:#ff8a7a;text-shadow:0 0 14px #c0443a,0 4px 0 #5a1a14,0 8px 0 #140c1c}@keyframes burstFlash{0%{opacity:0;transform:scale(.6)}12%{opacity:1}to{opacity:0;transform:scale(1.3)}}@keyframes burstSlam{0%{opacity:0;transform:scale(2.6)}14%{opacity:1;transform:scale(.92)}22%{transform:scale(1.04)}30%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:scale(1) translateY(-14px)}}.perfect-slam{position:absolute;left:50%;top:30%;z-index:20;transform:translate(-50%,-50%);display:grid;justify-items:center;pointer-events:none;animation:breakSlam 1.05s cubic-bezier(.2,1.4,.4,1) forwards}.perfect-slam b{font:30px var(--pixel);color:#fff4d6;letter-spacing:2px;text-shadow:0 0 14px #ffd36b,0 3px 0 #6b3f14,0 6px 0 #140c1c}.perfect-slam span{font:13px var(--pixel);color:var(--brass);text-shadow:0 2px 0 #140c1c}.perfect-slam.great b{font-size:22px;color:#ffe29a}@keyframes breakSlam{0%{opacity:0;transform:translate(-50%,-50%) scale(2.4)}16%{opacity:1;transform:translate(-50%,-50%) scale(.94)}26%{transform:translate(-50%,-50%) scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-62%) scale(1)}}.stage-wrap.punch{animation:punch .38s cubic-bezier(.2,1.3,.4,1)}@keyframes punch{0%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes quake{20%{translate:-4px 2px}40%{translate:4px -2px}60%{translate:-3px 1px}80%{translate:2px 0}}.charge{width:min(420px,100%);height:18px;background:#0b0810;border:1px solid var(--line);position:relative}.charge .win{position:absolute;top:0;bottom:0;background:#ffd36b47;border-inline:2px solid var(--brass)}.charge .over{position:absolute;top:0;bottom:0;right:0;background:repeating-linear-gradient(45deg,#2a0f14 0 6px,#3a1a1f 6px 12px)}.charge .fill{position:absolute;inset:0 auto 0 0;background:var(--soul)}.charge .fill.hot{background:var(--brass)}.charge .fill.bad{background:var(--danger)}.charge-legend{display:flex;justify-content:space-between;width:min(420px,100%);font:11px var(--pixel);color:var(--muted)}.hold-btn{min-width:240px;min-height:56px;font-size:17px}.outcome{font:26px var(--pixel);min-height:1.2em}.outcome.perfect{color:var(--brass)}.outcome.great{color:#e0a93c}.outcome.safe{color:var(--bone)}.outcome.cursed{color:var(--danger)}.end h2{font-size:26px}.summary{display:grid;gap:6px;background:var(--panel);border:1px solid var(--line);padding:14px}.summary b{font-family:var(--pixel);color:var(--soul)}@media(max-width:520px){.card{width:100px;height:168px}.hand .card{width:102px;height:170px}.card .name{padding-left:10px}.card .name{font-size:12.5px}.card .desc{font-size:11.5px}.intent{font-size:10px;padding:0 4px}.unit .name{font-size:9.5px;max-width:calc(var(--uw, 64px) + 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud{gap:8px}}@media(prefers-reduced-motion:reduce){.node.open{animation:none}.float{animation-duration:.01s}.logo,.logo span,.title .menu .btn.primary,.sealed,.sealed .hint-glow,.chain-pips .pip.active{animation:none}}.map.hd .floor{filter:brightness(.82) saturate(1.1) contrast(1.08)}.map.hd .torch-glow{width:220px;height:220px;background:radial-gradient(circle,rgba(255,196,110,.42),rgba(224,100,28,.16) 38%,transparent 70%)}.map.hd.theme-flood .torch-glow{background:radial-gradient(circle,rgba(140,255,230,.34),rgba(31,138,128,.12) 38%,transparent 70%)}.map.hd .torch.lit{filter:drop-shadow(0 0 6px rgba(255,190,90,.9)) drop-shadow(0 0 14px rgba(224,100,28,.6))}.map.hd.theme-flood .torch.lit{filter:drop-shadow(0 0 6px rgba(140,255,230,.9)) drop-shadow(0 0 14px rgba(31,138,128,.6))}.map.hd .node.open{filter:drop-shadow(0 0 6px rgba(111,245,218,.55))}.map.hd .map-knight{filter:drop-shadow(0 2px 0 rgba(0,0,0,.6)) drop-shadow(0 6px 4px rgba(0,0,0,.55))}.map .hd-air{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden;background:linear-gradient(100deg,transparent 30%,rgba(170,180,230,.07) 38%,transparent 46%),linear-gradient(100deg,transparent 58%,rgba(170,180,230,.05) 63%,transparent 68%)}.map .hd-air:before,.map .hd-air:after{content:"";position:absolute;inset:-60px 0 0;background-size:97px 113px;background-image:radial-gradient(circle at 20% 30%,rgba(255,240,210,.55) 1px,transparent 1.6px),radial-gradient(circle at 70% 80%,rgba(255,240,210,.35) 1px,transparent 1.6px);animation:dust-drift 9s linear infinite}.map .hd-air:after{background-size:151px 139px;opacity:.6;animation-duration:14s;animation-direction:reverse}@keyframes dust-drift{0%{transform:translate(0)}to{transform:translate(-20px,113px)}}.map .hd-grade{position:absolute;inset:0;pointer-events:none;z-index:8;background:linear-gradient(90deg,rgba(8,4,14,.6),transparent 16%,transparent 84%,rgba(8,4,14,.6)),linear-gradient(#3c285a1f,#ff963c0f);mix-blend-mode:multiply}.map.theme-flood .hd-grade{background:linear-gradient(90deg,rgba(4,10,14,.6),transparent 16%,transparent 84%,rgba(4,10,14,.6)),linear-gradient(#1e465a24,#3cc8b40d)}@media(prefers-reduced-motion:reduce){.map .hd-air:before,.map .hd-air:after{animation:none}}.ov.tight .unit .hptext,.ov.tight .unit .blk{font-size:9px}.ov.tight .unit .hptext{display:grid;justify-items:center;line-height:1.05}.ov.tight .unit .blk{white-space:nowrap}.ov.tight .intent{font-size:9px;padding:0 3px}.ov.tight .unit .statuses{font-size:8px}.ov.tight .unit .statuses span{padding:0 2px}.unit .statuses{position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%);width:max-content;flex-direction:column-reverse;align-items:center}.unit .statuses span{white-space:nowrap}.stage-wrap{margin-bottom:8px}.stage-wrap:has(.ov.tight){margin-bottom:16px}.unit .statuses i{font-style:normal}.unit .statuses .short,.ov.tight .unit .statuses .full{display:none}.ov.tight .unit .statuses .short{display:inline}.sigil-gem{position:absolute;bottom:-9px;left:-9px;z-index:3;width:20px;height:20px;display:grid;place-items:center;font:12px/1 system-ui,sans-serif;color:var(--sc);background:#140c1c;border:2px solid var(--sc);border-radius:50%;text-shadow:none;pointer-events:auto}.hand .card.fusable{box-shadow:0 0 0 2px var(--brass),0 0 16px 2px #ffd36b99;animation:fuseGlow 1s ease-in-out infinite alternate}.hand .card.fusable .sigil-gem{transform:scale(1.2);box-shadow:0 0 10px var(--sc)}.hand .card.fusing{box-shadow:0 0 0 2px #fff4d6,0 0 22px 4px #fff4d6b3}@keyframes fuseGlow{0%{filter:brightness(1)}to{filter:brightness(1.18)}}.fuse-panel{min-height:0;display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:13px}.fuse-panel.hint{color:var(--brass);justify-content:center;font-size:12px}.fuse-panel.open{padding:6px 8px;background:#140c1ceb;border:2px solid var(--sc);box-shadow:0 0 18px -4px var(--sc);animation:fuseIn .25s cubic-bezier(.3,1.6,.5,1)}.fuse-panel .fuse-glyph{font:22px/1 system-ui,sans-serif;color:var(--sc)}.fuse-panel .fuse-text{flex:1;min-width:0;display:grid;gap:1px}.fuse-panel .fuse-text b{font:13px var(--pixel);color:var(--sc);letter-spacing:.04em}.fuse-panel .fuse-text .muted{font-size:11px;overflow:hidden;text-overflow:ellipsis}.fuse-panel .fuse-cost{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#ffd36b;color:#1d1522;font:13px var(--pixel);flex:none}.fuse-panel .btn{padding:6px 12px;flex:none}@keyframes fuseIn{0%{transform:scale(.9);opacity:0}}.cutin.fuse .cutin-name .tier{color:var(--sc)}.cutin.fuse .cutin-name .name{background:linear-gradient(90deg,transparent,rgba(20,12,28,.92) 15%,rgba(20,12,28,.92) 85%,transparent);color:var(--sc);text-shadow:0 2px 0 #000,0 0 18px var(--sc)}.fuse-card .tier{color:var(--sc)!important}.fuse-card b{color:var(--sc)}@media(prefers-reduced-motion:reduce){.hand .card.fusable,.fuse-panel.open{animation:none}}.hand .card.fusable.secret,.hand .card.fusable.recipe{box-shadow:0 0 0 2px #d9a8ff,0 0 18px 3px #d9a8ffa6}.hand .card.fusable.secret:after{content:"?";position:absolute;top:-12px;right:-8px;z-index:4;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#d9a8ff;color:#140c1c;font:14px var(--pixel);box-shadow:0 0 10px #d9a8ff}.hand .card.fusable.recipe:after{content:"✧";position:absolute;top:-12px;right:-8px;z-index:4;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#d9a8ff;color:#140c1c;font:13px/1 system-ui,sans-serif}.news.recipe .kicker{color:#d9a8ff}.codex-sigil{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:50%;border:2px solid var(--sc);color:var(--sc);font:14px/1 system-ui,sans-serif}.codex-sub{margin:10px 0 0;font-size:13px;color:#d9a8ff}@media(max-height:780px){.chest .lock-dial{width:min(230px,62vw,24svh)}.chest .outcome:empty{display:none}.chest .hold-btn{min-height:46px}.chest h2{font-size:16px!important}}.potion-buy{display:grid;justify-items:center;gap:1px}.potion-buy .buy-desc{font-size:11px;color:var(--muted);max-width:22ch;line-height:1.25}.leave-bar{position:sticky;bottom:0;z-index:4;justify-content:space-between;padding:10px 0 max(10px,env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--ground) 30%)}.leave-bar canvas{width:16px;height:16px;vertical-align:-3px;image-rendering:pixelated}.leave-bar .btn{min-width:140px}@media(max-height:780px){.screen>.room-scene{width:auto;max-width:100%;max-height:22svh}}.leave-bar>.muted{display:inline-flex;align-items:center;gap:5px;font:14px var(--pixel);color:var(--brass)}.leave-bar>.muted canvas{display:inline-block}.tip{white-space:pre-line}.relic-pop{position:fixed;left:0;right:0;margin-inline:auto;top:22%;z-index:85;width:min(300px,calc(100% - 32px));box-sizing:border-box;display:grid;justify-items:center;gap:4px;padding:14px 16px;text-align:center;background:var(--panel-2, #1d1522);border:2px solid var(--brass);box-shadow:0 0 0 2px #140c1c,0 0 30px #ffd36b59;animation:fuseIn .3s cubic-bezier(.3,1.6,.5,1);cursor:pointer}.relic-pop .kicker{font:10px var(--pixel);letter-spacing:.2em;color:var(--soul);text-transform:uppercase}.relic-pop-icon canvas{width:48px;height:48px;image-rendering:pixelated}.relic-pop b{font:16px var(--pixel);color:var(--brass)}.relic-pop .muted{font-size:12px}.card .desc .up-num{color:#8ff0a0;font-weight:700}.card .cost.cheaper{box-shadow:0 0 0 2px #8ff0a0,0 0 8px #8ff0a0;border-radius:50%}.upgrade-dialog{background:var(--ground);color:var(--bone);border:2px solid var(--brass);padding:16px;width:min(420px,calc(100% - 24px))}.upgrade-dialog::backdrop{background:#08050cbf}.upgrade-dialog h2{margin:0 0 12px;font-size:15px;color:var(--brass);text-align:center}.upgrade-pair{display:flex;align-items:center;justify-content:center;gap:10px;padding-top:14px}.upgrade-pair .card{pointer-events:none}.upgrade-arrow{font-size:22px;color:#8ff0a0}.upgrade-diff{text-align:center;color:#8ff0a0;font:13px var(--pixel);margin:12px 0}.name-status{margin:4px 0 0;font-size:12px;min-height:1.2em}.name-status.ok{color:#8ff0a0}.name-status.taken{color:var(--danger, #ff8a7a)}.fuse-panel.hint{justify-content:space-between}.fuse-panel .fuse-hint-text{flex:1;min-width:0}.fuse-panel .put-back{padding:4px 10px;font-size:12px;flex:none}.fuse-panel .fuse-btns{display:grid;gap:4px;flex:none}.fuse-panel .ult-fuse{background:linear-gradient(#fff4d6,#ffd36b);font-size:12px;padding:4px 8px}.fuse-panel.grand{box-shadow:0 0 24px -2px var(--sc)}.cutin.fuse.grand .cutin-name .name{font-size:clamp(26px,6vw,44px)}.coach{margin:0 0 8px;padding:10px 12px;border:2px solid var(--soul);background:#140c1cf2;display:grid;gap:6px;font-size:13px}.coach b{font:13px var(--pixel);color:var(--soul)}.coach p{margin:0}.coach .btn{justify-self:end;padding:4px 14px}.fuse-anchor{position:relative;height:0}.fuse-anchor>.fuse-panel{position:absolute;left:0;right:0;bottom:6px;z-index:8;margin:0}.fuse-anchor>.fuse-panel.hint{padding:6px 8px;background:#140c1cf0;border:1px solid var(--line)}.fuse-anchor>.fuse-panel:empty{display:none}.coach{position:fixed;left:0;right:0;top:14%;margin-inline:auto;width:min(340px,calc(100% - 32px));box-sizing:border-box;z-index:70;box-shadow:0 8px 30px #000000b3}.fuse-panel .ult-fuse.armed{outline:2px solid #fff4d6;box-shadow:0 0 14px #ffd36b}.pause-dialog{background:var(--ground);color:var(--bone);border:2px solid var(--brass);padding:16px;width:min(380px,calc(100% - 24px));max-height:calc(100svh - 24px);box-sizing:border-box;display:grid;gap:10px}.pause-dialog:not([open]){display:none}.pause-dialog::backdrop{background:#08050ccc}.pause-dialog h2{margin:0;font-size:16px;color:var(--brass)}.pause-dialog .settings{padding:8px 0;border-block:1px solid var(--line)}.pause-note{margin:-4px 0 0;font-size:12px}.pause-confirm{padding:10px;border:1px solid var(--danger, #c0443a);display:grid;gap:8px;text-align:center}.pause-confirm[hidden]{display:none}.pause-confirm p{margin:0}.btn.danger{background:#5a1a14;color:#fff4d6;border-color:#c0443a}.danger-text{color:#ff8a7a}.menu-btn{font-size:16px}.armed{position:relative;outline:2px solid var(--brass);outline-offset:2px;box-shadow:0 0 16px #ffd36b73}.confirm-label{position:absolute;left:50%;top:-12px;transform:translate(-50%);z-index:6;white-space:nowrap;pointer-events:none;padding:2px 8px;background:var(--brass);color:#140c1c;font:11px/1.4 var(--body);border-radius:2px;box-shadow:0 2px #000}.card.armed .confirm-label{top:auto;bottom:-12px}.thanks-note{margin:-4px 0 4px;padding:6px 10px;border-left:3px solid var(--soul);background:#6ff5da14;color:var(--soul);font-size:13px}.unit .statuses{flex-direction:row;flex-wrap:wrap;justify-content:center;width:auto;max-width:calc(var(--uw, 64px) + 30px)}.unit .statuses .full,.ov.tight .unit .statuses .full{display:none}.unit .statuses .short{display:inline}.bar-statuses{display:flex;flex-wrap:wrap;gap:4px;font:10px var(--pixel);max-width:100%}.bar-statuses span{padding:1px 5px;background:#00000080;border:1px solid var(--line);cursor:help}.bar-statuses .good{color:var(--soul)}.bar-statuses .bad{color:#f0a090}.bar-statuses i{font-style:normal}.bar-statuses .short{display:none}@media(max-width:560px){.bar-statuses .full{display:none}.bar-statuses .short{display:inline}.bar-statuses{order:10;flex-basis:100%}}.unit .statuses{width:max-content;max-width:calc(var(--uw, 64px) + 44px)}.curse-notice{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid #7a2c24;background:#5a1a1440;max-width:560px;margin-inline:auto}.curse-notice .card{flex:none;pointer-events:none;transform:scale(.85);transform-origin:left center;margin-right:-14px}.curse-notice b{color:#ff8a7a}.curse-notice p{margin:4px 0;font-size:13px}.curse-notice ul{margin:0;padding-left:18px;font-size:13px;display:grid;gap:3px}.rune-bar-hint{font-size:11px}.loot-panel{position:fixed;left:0;right:0;top:50%;transform:translateY(-50%);margin-inline:auto;width:min(340px,calc(100% - 32px));box-sizing:border-box;z-index:60;display:grid;gap:10px;padding:14px 16px;background:var(--ground);border:2px solid var(--brass);box-shadow:0 0 0 2px #140c1c,0 12px 40px #000000b3}.loot-panel h3{margin:0;text-align:center;color:var(--brass);font-size:15px}.loot-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.loot-panel li{display:flex;gap:10px;align-items:center;font-size:14px}.loot-panel li canvas{width:28px;height:28px;image-rendering:pixelated;flex:none}.loot-panel li small{color:var(--muted);font-size:12px}.loot-panel li.curse b{color:#ff8a7a}.loot-panel .loot-x{width:28px;text-align:center;color:#ff8a7a;font-size:18px;flex:none}.loot-panel .rune-chip{flex:none}.row-tag{margin-top:1px;padding:0 3px;font:8px/1.4 var(--pixel);white-space:nowrap;opacity:.85;pointer-events:auto;cursor:help}.player-bar .end-turn{margin-left:auto}.hero-dialog{align-content:start}.hero-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}.hero-tile{display:grid;justify-items:center;gap:2px;padding:6px 4px;background:none;color:var(--bone);border:6px solid transparent;border-image:var(--nine-btn) 4 fill / 6px stretch;cursor:pointer;min-width:0}.hero-tile canvas{image-rendering:pixelated;max-width:100%;height:auto;max-height:72px}.hero-tile b{font:11px var(--pixel);color:var(--brass);text-align:center;overflow-wrap:anywhere}.hero-tile.on{border-image-source:var(--nine-btn-hover);box-shadow:0 0 0 2px var(--brass)}.hero-tile.locked{opacity:.65}.hero-tile.shadow{cursor:default;opacity:.8}.hero-tile.shadow b{color:var(--muted)}.hero-tile.shadow small{font-size:10px;color:var(--muted)}.hero-detail{width:100%;display:grid;justify-items:center}.hero-detail .hero-card{width:100%;max-width:360px;cursor:default}.hero-detail .hero-card:hover{transform:none}.hero-pickers{width:100%;display:grid;gap:14px}.hero-foot{position:sticky;bottom:-16px;margin:0 -16px -16px;padding:10px 16px 14px;width:calc(100% + 32px);box-sizing:border-box;display:grid;gap:8px;background:linear-gradient(transparent,var(--ground) 18%)}.hero-foot .row{justify-content:center}.hero-foot .btn.primary{min-width:200px}.loadout-line{background:none;border:1px dashed var(--line);color:var(--bone);padding:6px 10px;font-size:12px;text-align:center;cursor:pointer}.loadout-line small{color:var(--soul)}.dev{display:grid;gap:12px;padding-block:12px}.dev-gate{display:grid;gap:10px;max-width:360px;margin:40px auto;text-align:center}.dev-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.dev-tabs .btn{padding:6px 10px;font-size:13px}.dev-body{display:grid;gap:10px}.dev-body h3{margin:14px 0 4px;color:var(--brass);font-size:14px}.dev-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--line)}.dev-table{border-collapse:collapse;width:100%;font-size:12.5px}.dev-table th{position:sticky;top:0;background:var(--panel-2, #1d1522);color:var(--brass);text-align:left;font-weight:600}.dev-table th,.dev-table td{padding:5px 8px;border-bottom:1px solid var(--line);vertical-align:top}.dev-table tr:hover td{background:#ffd36b0d}.dev-table a{color:var(--bone)}.dev-icon{width:24px;height:24px;image-rendering:pixelated}.dev-sprite{image-rendering:pixelated;max-height:48px}.dev-pill{display:inline-block;padding:0 6px;border:1px solid var(--pc, var(--line));color:var(--pc, var(--bone));white-space:nowrap;font-size:12px}.dev-fused{color:#d9a8ff}.dev-filters{gap:6px}.dev-filters select,.dev-sandbox select{max-width:100%}.dev-peek:empty{display:none}.dev-peek{padding:10px;border:1px dashed var(--line)}.dev-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.dev-card{padding:12px;border:1px solid var(--line);display:grid;gap:6px;align-content:start}.dev-card canvas{image-rendering:pixelated;justify-self:center}.dev-card h3{margin:0}.dev-card p{margin:0;font-size:13px}.dev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.dev-field{display:grid;gap:2px;font-size:12px;color:var(--muted)}.dev-num{width:100%;box-sizing:border-box;background:var(--panel);color:var(--bone);border:1px solid var(--line);padding:4px 6px}.dev-chips{display:flex;flex-wrap:wrap;gap:4px;min-height:8px}.dev-chip{font-size:12px;padding:2px 6px;background:#00000059;color:var(--bone);border:1px solid var(--line);cursor:pointer}.dev-start{margin-top:12px;justify-self:start;min-width:220px}.dev-sim-out{min-height:20px}body:has(.dev) #app{max-width:1400px}.owned-badge{position:absolute;top:-10px;right:-6px;z-index:4;padding:1px 6px;font:10px/1.4 var(--body);background:#2b2033;color:var(--bone);border:1px solid var(--line);white-space:nowrap;pointer-events:none}.owned-badge.new{background:#123f45;color:var(--soul);border-color:var(--soul)}.loot-veil{position:fixed;inset:0;z-index:59;background:#08050cb8}.dev-table th.sortable{cursor:pointer;user-select:none}.dev-table th.sortable:after{content:attr(data-sort);margin-left:4px;font-size:10px}.callout{font-size:13px;padding:3px 9px;animation:calloutIn .18s ease-out}@keyframes calloutIn{0%{transform:translate(-50%,-80%) scale(.8);opacity:0}}.bar-statuses .tide-chip{color:#8fd8ff;border-color:#2c6a85}.bar-statuses .minion-chip{color:#9ff0cf;border-color:#2f7a5f}.region-pick{display:flex;gap:6px;align-items:center;flex-wrap:nowrap;margin:0 0 6px}.region-pick>.muted{font-size:12px;white-space:nowrap}.region-btn{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:4px 8px;border:1px solid var(--line);background:var(--panel);color:var(--bone);border-radius:6px;cursor:pointer;min-width:0;font-size:13px}.region-btn.on{border-color:var(--gold, #ffd36b);box-shadow:0 0 0 1px var(--gold, #ffd36b) inset}.region-btn.locked{opacity:.45;cursor:not-allowed}.region-btn small{font-size:11px;opacity:.8}.card.frozen{filter:saturate(.3) brightness(.85);box-shadow:0 0 0 2px #8fd0e0 inset,0 0 10px #3a7aa0}.stage-wrap canvas,canvas.room-scene,.map-wrap canvas,.chest canvas,canvas.title-scene{filter:brightness(var(--scene-bright, 1))}.rune-next{text-align:center;font-size:14px;color:var(--bone);margin:4px 0}.sealed.codex-sealed{width:112px;height:172px;min-height:0;aspect-ratio:auto;transform:scale(.92);opacity:.5;cursor:default;animation:none}.sealed.codex-sealed:hover{transform:scale(.92)}.codex-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 2px}.codex-select{background:var(--panel);color:var(--bone);border:1px solid var(--line);border-radius:4px;padding:4px 6px;font:inherit;font-size:13px}.codex-found{font-size:13px;display:inline-flex;align-items:center;gap:2px}@media(max-width:520px){.sealed.codex-sealed{width:100px;height:168px}}.row-tag.swift-tag{color:#ffd36b;border-color:#8a6a2a}.bar-statuses .plan-chip{color:#ffe08a;border-color:#8a6a2a}.boss-relics{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:10px 0}.boss-relic{display:flex;flex-direction:column;align-items:center;gap:4px;width:170px;padding:10px;border:2px solid #8a6a2a;background:var(--panel);color:var(--bone);border-radius:8px;text-align:center;cursor:pointer;font:inherit}.boss-relic:hover,.boss-relic:focus-visible{border-color:var(--gold, #ffd36b);box-shadow:0 0 12px #ffd36b59}.boss-relic b{color:var(--gold, #ffd36b)}.boss-relic>span:not(.boss-relic-icon){font-size:13px}.boss-relic-icon canvas,.boss-relic-icon img{width:48px;height:48px;image-rendering:pixelated}.boss-relic-hero{color:#9ff0cf;font-size:11px}@media(max-width:520px){.boss-relic{width:100%;flex-direction:row;text-align:left;flex-wrap:wrap}.boss-relic b{flex:1}.boss-relic>span:not(.boss-relic-icon){flex-basis:100%}}.name-dialog{max-width:420px;width:calc(100% - 32px)}.name-dialog .name-row{flex-wrap:nowrap}.name-dialog .name-input{flex:1;min-width:0}.coach.low{top:auto;bottom:18%}.coach-btns{justify-content:flex-end;gap:6px}.coach-focus{outline:3px solid var(--soul);outline-offset:3px;border-radius:6px;animation:coachPulse 1.2s ease-in-out infinite;position:relative;z-index:60}@keyframes coachPulse{50%{outline-color:#6ff5da40}}.kw-strip{display:flex;flex-direction:column;gap:2px;margin:4px auto 0;max-width:620px;padding:6px 10px;font-size:12px;color:var(--bone);background:#140c1ccc;border:1px solid var(--line);border-radius:6px}.kw-strip b{color:var(--soul)}.glossary-dialog{max-width:520px;width:calc(100% - 32px)}.glossary{display:grid;grid-template-columns:max-content 1fr;gap:6px 12px;font-size:13px;margin:8px 0 12px}.glossary dt{color:var(--soul);font-weight:700}.glossary dd{margin:0}@media(prefers-reduced-motion:reduce){.coach-focus{animation:none}}.install-btn{border-color:var(--soul);color:var(--soul)}.install-dialog{max-width:400px;width:calc(100% - 32px)}.install-dialog ol{padding-left:20px;display:grid;gap:6px;font-size:14px}.copyright{text-align:center;font-size:11px;opacity:.55;margin:18px 0 6px}.history-dialog{max-width:640px;width:calc(100% - 24px);max-height:90svh}.history-body{overflow:auto;max-height:calc(90svh - 80px)}.history-list{display:grid;gap:6px}.history-row{display:grid;grid-template-columns:44px 1fr auto;gap:8px;align-items:center;text-align:left;padding:6px 8px;border:1px solid var(--line);background:var(--panel);color:var(--bone);border-radius:6px;cursor:pointer;font:inherit}.history-row canvas{width:44px;height:44px;object-fit:contain;image-rendering:pixelated}.history-row.won{border-color:#8a6a2a}.history-main{display:grid;gap:1px;min-width:0}.history-main small{font-size:11px}.history-score{font:13px var(--pixel);color:var(--gold, #ffd36b)}.history-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px;margin:8px 0}.history-stats>div{display:grid;padding:4px 8px;border:1px solid var(--line);border-radius:4px}.history-relics{display:flex;flex-wrap:wrap;gap:4px}.history-deck .card{transform:scale(.85);margin:-10px -6px}.node.dire{box-shadow:0 0 0 2px #e0641c,0 0 14px #e0641cb3;animation:direGlow 1.6s ease-in-out infinite}@keyframes direGlow{50%{box-shadow:0 0 0 2px #ffb347,0 0 20px #ffb347cc}}.dire-legend{color:#ffb347}.node.k-vault{box-shadow:0 0 0 2px #b07a2a}.node.k-altar{box-shadow:0 0 0 2px #6ff5da}@media(prefers-reduced-motion:reduce){.node.dire{animation:none}}.share-btn{border-color:var(--soul);color:var(--soul)}.shop-treasure{border:2px solid #b07a2a;background:linear-gradient(90deg,rgba(176,122,42,.18),transparent)}.shop-treasure .treasure-tag{color:var(--gold, #ffd36b);font:11px var(--pixel);letter-spacing:.5px}.card .desc .rune-line{display:block;margin-top:2px;color:var(--rc);font-weight:700}.fuse-panel.grand-ready{gap:6px}.fuse-panel .grand-go{padding:4px 10px;border:2px solid var(--sc);color:var(--sc);background:#140c1cd9;font:12px var(--pixel);cursor:pointer;animation:grandPulse 1.4s ease-in-out infinite}@keyframes grandPulse{50%{box-shadow:0 0 12px -2px var(--sc)}}@media(prefers-reduced-motion:reduce){.fuse-panel .grand-go{animation:none}}.card-inspect{background:var(--ground);color:var(--bone);border:2px solid var(--brass);padding:14px;width:min(420px,calc(100% - 24px));max-height:calc(100% - 24px);overflow-y:auto;display:grid;gap:10px;justify-items:center}.card-inspect::backdrop{background:#08050ccc}.card-inspect .inspect-card .card{pointer-events:none}.card-inspect .inspect-body{display:grid;gap:6px;width:100%}.card-inspect .inspect-row{display:grid;gap:2px;padding:6px 8px;border-left:3px solid var(--ic);background:var(--panel);font-size:13px;line-height:1.4}.card-inspect .inspect-row b{color:var(--ic)}.card-inspect .inspect-mark{display:inline-block;min-width:1em;text-align:center}.card{-webkit-touch-callout:none;user-select:none}.elem-gem{position:absolute;bottom:-9px;right:-9px;z-index:3;width:20px;height:20px;display:grid;place-items:center;font:11px/1 system-ui,sans-serif;background:#140c1c;border:2px solid var(--ec);border-radius:50%;box-shadow:0 0 8px -2px var(--ec);text-shadow:none}.elem-tag{margin-left:4px;font:10px/1 system-ui,sans-serif;white-space:nowrap}.elem-tag b{margin-left:2px}.elem-line b{font-weight:700}dialog,.relic-pop,.toast{zoom:var(--ui-zoom, 1)}.ult-choose{display:grid;gap:6px;justify-items:center;margin-top:8px;text-align:center}.ult-choose .row{flex-wrap:wrap;justify-content:center;gap:6px}.fuse-anchor>.fuse-panel.grand-ready{left:50%;right:auto;transform:translate(-50%);width:max-content;max-width:46%;padding:0;background:none;border:0;pointer-events:none}.fuse-anchor>.fuse-panel.grand-ready .grand-go{pointer-events:auto;white-space:normal;line-height:1.3}.look-row{flex-wrap:wrap;gap:8px}.look-back.locked{filter:grayscale(.7) brightness(.6);position:relative}.look-back{position:relative}.look-back .look-price{position:absolute;left:0;right:0;bottom:2px;text-align:center;font:10px var(--pixel);color:var(--gold, #ffd36b);text-shadow:0 1px 0 #000}.look-heroes{margin:6px 0}.look-skins{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;margin-top:6px}.look-skin{display:grid;justify-items:center;gap:4px;padding:8px 4px;background:var(--panel);border:2px solid var(--line);text-align:center;font-size:12px}.look-skin.on{border-color:var(--brass);box-shadow:0 0 10px #ffd36b40}.look-skin canvas{image-rendering:pixelated;height:96px;width:auto}.look-skin .btn{padding:4px 8px;font-size:11px}.looks{display:grid;gap:14px}.looks>.look-group{display:grid;gap:6px;min-width:0;width:100%}.hero-tile b{overflow-wrap:normal;word-break:normal;hyphens:auto;font-size:clamp(9px,2.6vw,12px)}.event-result .ev-lines{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:6px}.event-result .ev-lines li{padding:6px 10px;background:var(--panel);border-left:3px solid var(--line);font-size:14px}.event-result .ev-lines li.good{border-left-color:#6ff5da;color:#c8fff2}.event-result .ev-lines li.bad{border-left-color:#e06a60;color:#ffd0c8}.codex-lore .lore-part{grid-column:1 / -1;margin:14px 0 2px;color:var(--brass);font-size:15px}.codex-lore .lore-hero{grid-column:1 / -1;display:grid;gap:8px}.codex-lore .lore-hero h4{display:flex;align-items:center;gap:8px;margin:6px 0 0}.codex-lore .lore-hero h4 canvas{image-rendering:pixelated;height:40px;width:auto}.new-badge{margin-left:6px;padding:1px 6px;background:#e0464a;color:#fff;font:10px var(--pixel);border-radius:8px;vertical-align:middle}.run-news{background:var(--panel);border:2px solid var(--brass);padding:10px 12px}.run-news h3{margin:0 0 6px;color:var(--brass);font-size:15px}.run-news ul{list-style:none;padding:0;margin:0 0 6px;display:grid;gap:4px}.run-news li .mark{display:inline-block;width:1.4em;color:var(--brass)}.stage-wrap{position:relative}.stage-elem{position:absolute;right:4px;top:4px;z-index:6;display:flex;gap:4px;padding:2px 6px;background:#0c0812b8;border:1px solid var(--line);font:11px/1.2 system-ui,sans-serif}.pick-dialog{width:min(640px,calc(100% - 24px))}.pick-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:8px 0 12px;max-height:60vh;overflow-y:auto}.pick-grid .card.selected{outline:3px solid var(--brass);transform:translateY(-4px)}.world-map{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;margin:6px 0}.world-road{display:grid;gap:4px;justify-items:stretch}.world-link{text-align:center;color:var(--brass);font-size:12px;line-height:1}.world-node{position:relative;display:grid;gap:2px;padding:8px 10px;text-align:left;color:var(--bone);background:var(--panel);border:2px solid var(--line);cursor:pointer}.world-node b{font:13px var(--pixel);color:var(--brass)}.world-node small{font-size:11px;opacity:.8}.world-node.on{border-color:var(--brass);box-shadow:0 0 12px #ffd36b4d}.world-node.here{border-color:#6ff5da}.world-node.locked{opacity:.55;cursor:default}.world-node.r1{background:linear-gradient(90deg,rgba(160,88,44,.18),var(--panel))}.world-node.r2{background:linear-gradient(90deg,rgba(95,138,78,.18),var(--panel))}.world-node.r3{background:linear-gradient(90deg,rgba(92,92,192,.22),var(--panel))}.world-node.future{border-style:dashed}.world-mark{position:absolute;right:8px;top:6px;font-size:13px}.world-note{grid-column:1 / -1}.region-end .choices .btn{text-align:center}.world-map{display:grid;grid-template-columns:1fr;gap:4px}.world-road{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto .7fr;gap:3px;align-items:stretch}.world-link{align-self:center;font-size:16px}.world-link.dim{opacity:.4}.world-node{padding:5px 6px;min-width:0}.world-node b{font-size:11px}.world-node small{font-size:10px;line-height:1.25}.world-mark{right:4px;top:3px;font-size:11px}.world-note{font-size:11px}.world{gap:10px}.world-art{position:relative;width:min(100%,420px);margin:0 auto;border:2px solid var(--line);box-shadow:0 0 24px #00000080}.world-art img{display:block;width:100%;image-rendering:pixelated}.world-pin{position:absolute;transform:translate(-50%,-50%);display:grid;gap:1px;justify-items:center;padding:4px 8px;min-width:96px;max-width:46%;background:#0c0812d1;color:var(--bone);border:2px solid var(--line);cursor:pointer;text-align:center}.world-pin b{font:11px var(--pixel);color:var(--brass)}.world-pin small{font-size:10px;opacity:.85;line-height:1.25}.world-pin.on{border-color:var(--brass);box-shadow:0 0 14px #ffd36b73}.world-pin.locked{opacity:.7}.world-pin.unknown{min-width:0;padding:3px 8px;border-style:dashed}.world-info{width:min(100%,420px);margin:0 auto;background:var(--panel);border:2px solid var(--line);padding:10px 12px;box-sizing:border-box}.world-info h3{margin:0 0 4px;color:var(--brass)}.world-info p{margin:4px 0;font-size:13px}.world-state{font-size:12px}.world-state.good{color:#6ff5da}.world .world-note{text-align:center;font-size:12px;margin:0}.dev-jumps{border:2px solid var(--line);padding:8px 10px;margin-bottom:12px}.dev-jumps h3{margin:0 0 4px}.google-slot{display:flex;justify-content:center;margin:6px 0;min-height:0}.weekly-rules{text-align:left;margin:6px 0;padding-left:18px;font-size:13px}.weekly-rules li{margin:4px 0}.loadout-strip{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}.loadout-tile{flex:0 0 auto;width:92px;display:grid;justify-items:center;gap:3px;padding:6px 4px;background:#17121f;border:2px solid #2e2638;color:var(--bone);cursor:pointer;scroll-snap-align:start}.loadout-tile canvas{image-rendering:pixelated;width:28px;height:28px}.loadout-tile b{font-size:11px;line-height:1.25;text-align:center;color:var(--brass);font-weight:600}.loadout-tile.on{border-color:var(--brass);background:#2a1e10;box-shadow:0 0 8px #ffd36b4d}.loadout-none{font-size:20px;line-height:28px;color:var(--muted)}.loadout-note{font-size:13px;margin:4px 2px 0;min-height:1.4em}.hero-foot{background:var(--ground);box-shadow:0 -10px 12px var(--ground)}.region-pick{flex-wrap:wrap;justify-content:center}.region-chip{padding:4px 10px;font-size:13px;background:var(--panel);color:var(--bone);border:1px solid var(--line);border-radius:99px;cursor:pointer}.region-chip.on{border-color:var(--brass);color:var(--brass);box-shadow:0 0 0 1px var(--brass) inset}.ult-tag{display:inline-block;padding:6px 14px;border:2px solid var(--brass);color:var(--brass);font-weight:600;margin:4px 0;cursor:help}.hero-pickers,.hero-pickers .heirlooms{min-width:0;max-width:100%}.loadout-strip{max-width:100%}.chart-title{font:700 26px IM Fell English SC,Charm,Georgia,serif;color:#e9d3a0;text-align:center;margin:0;letter-spacing:.04em;text-shadow:0 2px 0 #2a1a0c}.chart{position:relative;width:min(100%,460px);margin:0 auto;box-shadow:0 10px 30px #0009,0 0 0 1px #5a3e22;border-radius:3px;transform:rotate(-.4deg)}.chart img{display:block;width:100%;height:auto;border-radius:3px}.chart-pin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;padding:0;background:none;border:0;cursor:pointer;color:#3b2818;text-align:left}.chart-pin .seal{flex:0 0 auto;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:700 14px IM Fell English SC,Georgia,serif;font-style:normal;color:#f6dcc0;background:radial-gradient(circle at 35% 30%,#c2453a,#8a1f19 60%,#5e120e);box-shadow:0 2px 3px #280a058c,inset 0 -2px 3px #00000059;border:2px solid #6d1812}.chart-label{display:grid;line-height:1.15;padding:3px 8px;background:#ecdbafd1;border:1px solid rgba(90,60,30,.45);border-radius:2px;box-shadow:1px 1px #5a3c1e40}.chart-label b{font:700 15px Charm,IM Fell English SC,Georgia,serif;color:#3b2818;white-space:nowrap}.chart-label small{font-size:11px;color:#6b4d2c;white-space:nowrap}.chart-pin.on .seal{outline:2px solid #ffd36b;outline-offset:2px;animation:sealPulse 1.6s ease-in-out infinite}.chart-pin.on .chart-label{border-color:#8a1f19;background:#f5e6bef2}.chart-pin.locked .seal{background:radial-gradient(circle at 35% 30%,#8a7a66,#5b4c3c 60%,#3e3226);border-color:#4a3c2e;color:#e0d2bb}.chart-pin.locked .chart-label{opacity:.8}.chart-pin.unknown .chart-label{border-style:dashed}.chart-pin:focus-visible{outline:2px solid #ffd36b;outline-offset:4px}@keyframes sealPulse{50%{outline-color:#ffd36b40}}@media(prefers-reduced-motion:reduce){.chart-pin.on .seal{animation:none}}@media(max-width:420px){.chart-label b{font-size:13px}.chart-label small{font-size:10px}.chart-pin .seal{width:26px;height:26px}}.world h2.chart-title{font:700 26px IM Fell English SC,Charm,Georgia,serif;letter-spacing:.04em}.chart-img{background:#d9bd86 radial-gradient(circle at 50% 50%,#e6cf9c,#b89660);aspect-ratio:2 / 3}.chart-img:not(.ready){animation:chartWait 1.2s ease-in-out infinite}@keyframes chartWait{50%{opacity:.75}}.chart-img.failed{animation:none}html.wide #app{max-width:1100px}html.wide .combat{display:grid;grid-template-columns:minmax(0,1fr) 220px;column-gap:16px;align-items:start}html.wide .combat>*{grid-column:1 / -1}html.wide .combat>.stage-wrap{grid-column:1;grid-row:2;justify-self:center}html.wide .combat>.player-bar{grid-column:2;grid-row:2;flex-direction:column;flex-wrap:nowrap;align-items:stretch;align-self:stretch;gap:8px;background:#00000040;border:1px solid var(--line);padding:10px}html.wide .combat>.player-bar>*{align-self:center}html.wide .combat>.player-bar .bar-statuses{align-self:stretch}html.wide .combat>.player-bar .spacer{flex:1}html.wide .combat>.player-bar .end-turn{margin-left:0;align-self:stretch}.unit .name .row-tag{margin:0 0 0 4px;vertical-align:1px}.intent{max-width:calc(var(--uw, 64px) + 44px);cursor:help}.dd{position:relative;display:inline-block;vertical-align:middle}.dd-btn{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:4px 10px;background:var(--panel-2);color:var(--bone);border:1px solid var(--line);border-radius:4px;box-shadow:inset 0 -2px #00000059;font:inherit;font-size:13px;text-shadow:0 1px 0 #000;cursor:pointer}.dd-btn:hover,.dd.open .dd-btn{border-color:var(--brass-dark)}.dd-btn:focus-visible{outline:2px solid var(--soul);outline-offset:1px}.dd-caret{font-style:normal;color:var(--brass);font-size:11px;transition:transform .12s}.dd.open .dd-caret{transform:rotate(180deg)}.dd-list{position:absolute;left:0;top:calc(100% + 4px);z-index:60;min-width:100%;max-height:min(320px,50svh);overflow-y:auto;overscroll-behavior:contain;display:grid;padding:4px;background:var(--panel);border:1px solid var(--brass-dark);border-radius:4px;box-shadow:0 8px 22px #0009,inset 0 0 0 1px #00000080}.dd-list[hidden]{display:none}.dd.up .dd-list{top:auto;bottom:calc(100% + 4px)}.dd-item{text-align:left;white-space:nowrap;background:none;border:0;border-radius:3px;color:var(--bone);font:inherit;font-size:13px;padding:8px 10px;min-height:36px;cursor:pointer}.dd-item:hover,.dd-item:focus-visible{background:var(--panel-2);color:var(--brass);outline:none}.dd-item.on{color:var(--soul)}.dd-item.on:before{content:"◆ ";font-size:10px}.codex-select.dd{font-size:13px}.hud .relics{flex:0 1 auto;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}.hud .relics::-webkit-scrollbar{display:none}.hud .relic-chip{flex:none}.hud{max-width:100%}.hud>*{min-width:0}.hud .relic-count{color:var(--brass);font-family:var(--pixel)}.potion-swap{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;background:var(--panel-2);border:1px solid var(--brass-dark);font-size:13px}.potion-swap .btn{min-height:34px;font-size:12px}.potion-swap canvas{width:20px;height:20px}.history-relics,.hud-potions{max-width:100%}.map-where{display:block;font-family:inherit;font-size:12px;color:var(--muted);letter-spacing:0;margin-top:2px}.turn-chip{position:absolute;left:6px;top:6px;font:11px var(--pixel);color:var(--bone);background:#0e0b13b8;border:1px solid var(--line);padding:2px 6px;z-index:2;cursor:help}.turn-chip.in-par{color:var(--brass);border-color:var(--brass-dark)}#app,.title-hero{overflow-x:clip}.talk-box{position:absolute;left:6px;right:6px;bottom:6px;z-index:6;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:4px 10px;align-items:start;background:#0e0b13eb;border:1px solid var(--brass-dark);box-shadow:0 4px 14px #0009;padding:8px 10px}.talk-side{grid-row:1 / 3;display:grid;justify-items:center;gap:2px;max-width:76px}.talk-face{image-rendering:pixelated;max-height:56px;width:auto!important;height:auto!important;max-width:70px}.talk-name{font:10px var(--pixel);color:var(--danger);text-align:center}.talk-side.hero .talk-name{color:var(--soul)}.talk-text{margin:0;font-size:14px;line-height:1.35;color:var(--bone);min-height:2.7em}.talk-btns{display:flex;gap:6px;justify-content:flex-end}.talk-btns .btn{min-height:32px;padding:2px 10px;font-size:13px}.float.info{animation:floatRead 2.4s ease-out forwards;background:#0e0b13b3;padding:1px 5px;white-space:nowrap}@keyframes floatRead{0%{opacity:0;transform:translate(-50%,6px)}10%,80%{opacity:1;transform:translate(-50%,-8px)}to{opacity:0;transform:translate(-50%,-16px)}}.potion-swap .swap-what{flex:1 1 100%}.potion-swap .swap-desc{color:var(--soul)}.statuses .psn,.bar-statuses .psn{color:#b6f25a;border-color:#4a6a1a}.float.psn-float{color:#b6f25a}.cutin-name{top:16%}.cutin-name .name{font-size:clamp(13px,3vw,22px)!important;padding:2px 18px!important;white-space:nowrap}.cutin-name .tier{font-size:9px}.cutin .bars{display:none}.fuse-why{color:var(--brass)}.shop-sec{display:grid;gap:6px}.shop-sec-title{margin:6px 0 0;font:11px var(--pixel);letter-spacing:.12em;color:var(--brass);text-transform:uppercase}.shop-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.shop-tile{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:8px;text-align:left;padding:8px 10px;background:var(--panel);color:var(--bone);border:1px solid var(--line);font:inherit;cursor:pointer;min-height:58px}.shop-tile:hover:not(:disabled){border-color:var(--brass-dark)}.shop-tile:disabled{opacity:.5;cursor:default}.shop-tile-pic{display:grid;place-items:center}.shop-tile-pic canvas,.shop-tile-pic img{width:32px;height:32px;image-rendering:pixelated}.shop-tile-body{display:grid;gap:1px}.shop-tile-body small{color:var(--muted);font-size:12px;line-height:1.3}.shop-tile .price{font-family:var(--pixel);color:var(--brass);white-space:nowrap}.shop-tile .price.no{color:var(--danger)}.rune-img{image-rendering:pixelated;vertical-align:middle}.carve-rune{display:grid;place-items:center;margin:4px 0}.rune-img.big{width:64px;height:64px;filter:drop-shadow(0 0 6px rgba(255,211,107,.35))}.rune-bar .rune-chip{padding:1px;background:none}.rune-bar .rune-chip .rune-img{width:22px;height:22px;display:block}
