:root{--bg: #0b0907;--panel: #17130f;--ink: #f4ead8;--muted: #a89882;--gold: #e4c36a;--gold-dim: #8a6f32;--hp: #d45b4a;--block: #6ea8d8;--energy: #f0c45a;--attack: #c45a48;--skill: #4f8f86;--power: #c9a24a;--status: #6b6358;--danger: #c96b5a;--ok: #7ec8a3;--hit: 3rem;--edge: #3a3127;--curse: #7a4e5c;--rarity-common: #8a7a68;--rarity-uncommon: #6aa396;--rarity-rare: #e4c36a;--rarity-special: #6b6358;--fx-scale: 2;--card-w: 8.7rem;--card-ratio: 2 / 3;--hand-raise-room: 2rem;--unit-w: 9.2rem;--safe-top: max(env(safe-area-inset-top, 0px), var(--safe-area-top, 0px));--safe-bottom: max(env(safe-area-inset-bottom, 0px), var(--safe-area-bottom, 0px));--map-screen-pad-top: .5rem;--map-screen-pad-bottom: max(1.15rem, var(--safe-bottom));--map-field-top: 2.5rem;--map-field-x: 2.1rem;--map-field-bottom: 2.25rem;--map-legend-bottom: max(.5rem, var(--safe-bottom));--map-v-scale: 1.25;--map-row-gap: 4.75rem;--map-col-max: 6.5rem}*{box-sizing:border-box}html{margin:0;width:100%;height:100%;min-height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{overflow-x:clip}body{margin:0;width:100%;font-family:Palatino,Palatino Linotype,Book Antiqua,Georgia,serif;background:radial-gradient(ellipse 90% 55% at 50% -8%,rgba(228,195,106,.2),transparent 52%),radial-gradient(ellipse 40% 28% at 12% 88%,rgba(90,40,18,.35),transparent 60%),var(--bg);color:var(--ink);line-height:1.4;min-height:100dvh;min-height:100svh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:radial-gradient(circle at 20% 30%,#000 .6px,transparent .8px),radial-gradient(circle at 80% 70%,#000 .7px,transparent .9px);background-size:7px 7px,11px 11px;z-index:0}#app{position:relative;min-height:100dvh;min-height:100svh;width:100%}.hidden{display:none!important}button,input{font:inherit;color:var(--ink)}input{background:var(--panel);border:2px solid var(--edge);border-radius:.5rem;padding:.7rem .8rem;min-height:var(--hit)}button{cursor:pointer;border:2px solid #5a4c3c;background:var(--panel);border-radius:.65rem;min-height:var(--hit);padding:.7rem 1.1rem;touch-action:manipulation;-webkit-tap-highlight-color:rgba(228,195,106,.22)}button.ghost{background:transparent;border-color:var(--edge);color:var(--muted)}.stats-line,.session-recap{color:var(--muted);margin:0;font-variant-numeric:tabular-nums}.hud-abandon{min-height:2.2rem;padding:.35rem .7rem;font-size:.85rem}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-size:.78rem;margin:0}h1,h2,h3{font-weight:700}.embark{min-height:100dvh;display:grid;place-items:center;padding:max(1.5rem,env(safe-area-inset-top)) 1rem max(3rem,env(safe-area-inset-bottom))}.embark-card{width:min(36rem,100%);display:flex;flex-direction:column;gap:.75rem}.embark-card:has(.foe-roster[open]){width:min(52rem,100%)}.hero-portrait{width:100%;aspect-ratio:1;object-fit:cover;border-radius:.82rem;border:1px solid #1a140c;box-shadow:inset 0 1px #f4ead838,0 0 0 1px #6a5844,0 0 0 2px #241c16,0 0 40px #e4c36a2e}.roster{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.roster-pick{--unit-accent: var(--gold);appearance:none;-webkit-appearance:none;container-type:size;container-name:unit;display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:100%;aspect-ratio:4 / 5;height:auto;min-width:0;min-height:0;padding:.22rem .2rem .24rem;overflow:visible;text-align:left;isolation:isolate;background:linear-gradient(180deg,#4a3f34,#2a221b 38%,#16110d);border:1px solid #1a140c;border-radius:.82rem;box-shadow:inset 0 1px #f4ead838,inset 0 -1px #00000073,0 0 0 1px #6a5844,0 0 0 2px #241c16,0 10px 20px #00000080;transition:transform .16s ease,box-shadow .16s ease}.roster-pick.foe{--unit-accent: var(--attack)}.roster-pick .face{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(2.4rem,1fr) auto auto;grid-template-areas:"art" "kind" "body";flex:1 1 auto;min-height:0;min-width:0;height:100%;border-radius:clamp(.28rem,6cqi,.58rem);overflow:hidden;background:#120e0b;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--unit-accent) 32%,#3a3127),inset 0 1px #f4ead814}.roster-pick .art{grid-area:art;position:relative;display:block;min-height:0;min-width:0;overflow:hidden;background:radial-gradient(circle at 50% 32%,#2a221b,#120e0b)}.roster-pick.foe .art{background:radial-gradient(circle at 50% 32%,#4a241c,#120e0b)}.roster-pick img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 28%;display:block;pointer-events:none}.roster-pick .art:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(18,14,11,.08),transparent 22%,transparent 52%,rgba(12,9,7,.88) 100%),radial-gradient(ellipse at 50% 18%,transparent 42%,rgba(0,0,0,.38) 100%);box-shadow:inset 0 0 0 1px #f4ead814}.roster-pick .pick-name{grid-area:art;align-self:end;justify-self:stretch;margin:0;padding:.32em .48em .26em;position:relative;z-index:1;font-weight:700;font-size:clamp(.7rem,10cqi,1.02rem);line-height:1.18;text-align:center;overflow-wrap:anywhere;text-shadow:0 1px 3px #000,0 0 8px rgba(0,0,0,.55);color:#f7f0e2;background:linear-gradient(180deg,color-mix(in srgb,var(--unit-accent) 42%,#1a140c),#100c09 62%,#0c0907);box-shadow:0 -1px #f4ead81f,inset 0 2px color-mix(in srgb,var(--unit-accent) 80%,transparent)}.roster-pick .kind{grid-area:kind;position:relative;display:block;min-width:0;padding:.22em .5em .32em;background:#0c0907;color:color-mix(in srgb,var(--unit-accent) 28%,#f4ead8);font-size:clamp(.48rem,7.4cqi,.7rem);font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-align:center;line-height:1;text-shadow:0 1px 2px #000}.roster-pick .kind:after{content:"";position:absolute;left:50%;bottom:-.2rem;z-index:2;width:clamp(.32rem,5cqi,.48rem);height:clamp(.32rem,5cqi,.48rem);transform:translate(-50%) rotate(45deg);background:linear-gradient(135deg,color-mix(in srgb,var(--unit-accent) 70%,#fff6d4),var(--unit-accent) 42%,color-mix(in srgb,var(--unit-accent) 55%,#1a140c));border:1px solid rgba(244,234,216,.35);box-shadow:0 0 7px color-mix(in srgb,var(--unit-accent) 55%,transparent)}.roster-pick .pick-stat{grid-area:body;min-width:0;padding:clamp(.28rem,5.2cqi,.48rem) clamp(.28rem,5.4cqi,.5rem) clamp(.22rem,4.2cqi,.38rem);color:#ece0cc;font-size:clamp(.62rem,8.8cqi,.88rem);font-weight:600;text-align:center;overflow-wrap:anywhere;text-shadow:0 1px 2px rgba(0,0,0,.7);background:linear-gradient(var(--unit-accent),var(--unit-accent)) 0 0 / 100% 2px no-repeat,linear-gradient(180deg,#16110d,#0e0b08)}.roster-pick.selected{box-shadow:inset 0 1px #f4ead847,inset 0 -1px #00000073,0 0 0 1px color-mix(in srgb,var(--unit-accent) 82%,#6a5844),0 0 0 2px #241c16,0 0 18px color-mix(in srgb,var(--unit-accent) 35%,transparent),0 10px 20px #00000080}.foe-roster{border:1px solid #1a140c;border-radius:.82rem;padding:.15rem .65rem .65rem;background:linear-gradient(180deg,#1c1712,#120e0b);box-shadow:inset 0 1px #f4ead81a,0 0 0 1px #6a5844,0 0 0 2px #241c16}.foe-roster summary{cursor:pointer;color:var(--muted);min-height:var(--hit);display:flex;align-items:center;justify-content:space-between;gap:.75rem;list-style:none;font-size:.92rem}.foe-roster summary::-webkit-details-marker{display:none}.foe-roster summary:after{content:"▸";color:var(--gold-dim)}.foe-roster[open] summary:after{content:"▾"}.foe-roster summary span{margin-left:auto;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.roster-foes{grid-template-columns:repeat(2,1fr);max-height:22rem;overflow:auto;padding-right:.15rem;margin-top:.45rem}.roster-foes .pick-name,.roster-foes .pick-stat{font-size:.8rem}.roster-foes .kind{font-size:.58rem;letter-spacing:.12em}.lede{color:var(--muted);margin:0}.seed-field{display:flex;flex-direction:column;gap:.35rem;color:var(--muted)}.check-field{display:flex;align-items:center;gap:.55rem;color:var(--muted);min-height:var(--hit);cursor:pointer;-webkit-user-select:none;user-select:none}.check-field input{width:1.15rem;height:1.15rem;min-height:0;padding:0;accent-color:var(--gold);cursor:pointer}.hint{color:var(--muted);font-size:.92rem}.embark-tools{display:flex;flex-wrap:wrap;gap:.55rem}.embark-tools button{flex:1 1 auto}.modal.settings-modal{z-index:30}.modal-card.settings-card{width:min(28rem,100%)}.layout-fields{display:flex;flex-direction:column;gap:.12rem;margin:0;padding:.55rem .7rem .45rem;border:1px solid var(--gold-dim);border-radius:.7rem;min-width:0}.layout-fields legend{color:var(--gold);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;padding:0 .25rem}.layout-fields .hint{margin:0 0 .2rem;font-size:.82rem}.layout-fields .check-field{align-items:flex-start;min-height:0;padding:.18rem 0}.layout-fields .check-field strong{color:var(--ink)}.layout-screen-field{display:grid;grid-template-columns:8.6rem minmax(0,1fr);gap:.4rem;align-items:center;color:var(--ink);font-size:.88rem}.layout-screen-field select{width:100%;min-height:2.2rem}html[data-ui^=phone] .layout-screen-field{grid-template-columns:minmax(0,1fr)}.arrange-screen{display:flex;flex-direction:column;gap:.28rem;padding:.35rem 0 .2rem;border-top:1px solid color-mix(in srgb,var(--gold-dim) 70%,transparent)}.arrange-screen:first-of-type{border-top:0;padding-top:.1rem}.arrange-screen-label{margin:0;color:var(--gold);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.arrange-row{display:grid;grid-template-columns:4.8rem minmax(0,1fr);gap:.35rem;align-items:start;color:var(--ink);font-size:.82rem;padding:.12rem 0}.arrange-row>span{padding-top:.45rem;color:var(--muted)}.arrange-picks{display:flex;flex-wrap:wrap;gap:.28rem}.arrange-pick{flex:1 1 auto;min-height:2.05rem;padding:.28rem .45rem;font-size:.78rem;border:1px solid var(--gold-dim);background:transparent}.arrange-pick[aria-pressed=true]{border-color:var(--gold);color:var(--gold);background:color-mix(in srgb,var(--gold) 16%,transparent)}.arrange-float{position:fixed;top:max(3.05rem,calc(var(--safe-top) + 2.55rem));left:50%;right:auto;transform:translate(-50%);z-index:28;width:max-content;max-width:calc(100vw - .9rem);max-height:none;overflow:visible;padding:.28rem .5rem;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .55rem;background:#100c0af0;border:2px solid var(--gold-dim);border-radius:.85rem;box-shadow:0 12px 32px #00000073}.arrange-float h2{margin:0 0 .25rem;font-size:1.15rem}.arrange-float .arrange-row{grid-template-columns:4.6rem minmax(0,1fr)}.arrange-float #arrange-close,.arrange-float #arrange-reset{margin-top:0;min-height:2.05rem;padding:.22rem .7rem}html[data-hand=right] .arrange-float,html[data-hand=overlay] .arrange-float{left:50%;right:auto}html[data-ui^=phone] .arrange-row{grid-template-columns:minmax(0,1fr)}html[data-ui^=phone] .arrange-row>span{padding-top:0}.hud-layout{display:inline-flex;min-height:2.2rem;padding:.35rem .7rem;font-size:.85rem;white-space:nowrap}.hud-settings{min-height:2.2rem;padding:.35rem .7rem;font-size:.85rem}kbd{border:1px solid #5a4c3c;border-radius:.3rem;padding:.05rem .35rem;font-size:.85em}.hud{display:flex;flex-wrap:wrap;gap:.55rem 1rem;align-items:center;padding:max(.7rem,env(safe-area-inset-top)) 1rem .7rem;background:#0b0907b8;border-bottom:1px solid var(--edge);position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hud-main{display:flex;flex-wrap:wrap;gap:.45rem .85rem;align-items:center;flex:1 1 12rem}.hud .stat{font-variant-numeric:tabular-nums}.hud .stat.hp{display:inline-flex;align-items:center;gap:.38rem;color:var(--ink)}.hud .stat.hp:before{content:"";width:.42rem;height:.42rem;flex:none;transform:rotate(45deg);background:linear-gradient(135deg,#f8d0c8,var(--hp) 42%,#5a1814);border:1px solid rgba(244,234,216,.35);box-shadow:0 0 7px color-mix(in srgb,var(--hp) 55%,transparent)}.hud .stat.hp:has(.life.hurt):before,.hud .stat.hp:has(.life.critical):before{background:linear-gradient(135deg,#f8d8b8,#e07840 42%,#8a2818);box-shadow:0 0 8px color-mix(in srgb,#e07840 60%,transparent)}.hud .stat.hp:has(.life.down):before{background:linear-gradient(135deg,#8a7a72,#3a3028);box-shadow:none;opacity:.7}.hud .life{width:7.1rem;height:1.12rem;flex:none}.hud .gold{color:var(--gold)}.relics{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}.relic-chip{border:1px solid var(--gold-dim);border-radius:.55rem;padding:.12rem .45rem .12rem .12rem;font-size:.78rem;color:var(--gold)}button.relic-chip{min-height:0;background:transparent;cursor:help;display:inline-flex;align-items:center;gap:.35rem}.relic-chip.has-art{padding:.08rem;gap:0}.relic-mark{width:1.7rem;height:1.7rem;border-radius:.4rem;border:1px solid var(--gold);display:grid;place-items:center;font-size:.62rem;font-weight:700;letter-spacing:.03em;color:var(--gold);background:linear-gradient(#2a2016,#16110d);object-fit:cover;flex:none;overflow:hidden}img.relic-mark{display:block;padding:0}.relic-name{max-width:8.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relic-chip.fx-relic-fire{animation:fx-relic-fire calc(.7s * var(--fx-scale)) ease-out;z-index:1}@keyframes fx-relic-fire{0%{box-shadow:0 0 #e4c36a26;filter:brightness(1)}32%{box-shadow:0 0 16px 3px #e4c36ab8;filter:brightness(1.25)}to{box-shadow:0 0 0 0 transparent;filter:brightness(1)}}@media(prefers-reduced-motion:reduce){.relic-chip.fx-relic-fire{animation:none;box-shadow:0 0 0 2px var(--gold)}}.screen{padding:.8rem 1rem 1.4rem;max-width:64rem;margin:0 auto}.map-wrap{position:relative;min-height:min(78dvh,44rem);background:linear-gradient(180deg,rgba(228,195,106,.08),transparent 18%),linear-gradient(#14110d,#0e0c0a);border:2px solid var(--edge);border-radius:1rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--gold) 55%,#3a3127) transparent;scroll-padding-top:var(--map-field-top);scroll-padding-bottom:var(--map-field-bottom)}.map-wrap::-webkit-scrollbar{width:5px}.map-wrap::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--gold) 70%,#3a3127);border-radius:99px}.map-wrap::-webkit-scrollbar-track{background:transparent}.map-scroll{box-sizing:border-box;container-type:inline-size;min-height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--map-field-top) var(--map-field-x) var(--map-field-bottom)}.map-field{position:relative;flex:0 0 auto;width:min(100%,calc(var(--map-cols, 7) * var(--map-col-max)));height:max(calc(min(100cqw,calc(var(--map-cols, 7) * var(--map-col-max))) * var(--map-row-gaps, 6) * var(--map-v-scale) / var(--map-cols, 7)),calc(var(--map-row-gaps, 6) * var(--map-row-gap)))}.map-svg{position:absolute;inset:0;width:100%;height:100%}.map-svg line{stroke:#6a5638;stroke-width:2px;stroke-dasharray:7 8;vector-effect:non-scaling-stroke;animation:dash 18s linear infinite}@keyframes dash{to{stroke-dashoffset:-120}}.map-node{position:absolute;width:3.5rem;height:3.5rem;transform:translate(-50%,-50%);border-radius:50%;border:2px solid #4a3d30;background:#1a1612;color:var(--ink);display:grid;place-items:center;font-size:1.15rem;padding:0;min-height:3.5rem;touch-action:pan-y}.map-node.available{border-color:var(--gold);box-shadow:0 0 0 4px #e4c36a2e;background:#2a2218}.map-node.current{border-color:var(--gold);box-shadow:0 0 18px #e4c36a8c;animation:pulse 1.6s ease-in-out infinite}.map-node.visited{opacity:.55}.map-node.locked{opacity:.28;cursor:default}.map-node.boss{width:3.8rem;height:3.8rem;font-size:1.4rem}.map-node.elite{color:#e08a6a}.map-node.rest{color:#e4c36a}.map-node.shop{color:#8fbfa8}.map-node.treasure{color:#d4b25a}.map-node.event{color:#c9b8e0}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{box-shadow:0 0 26px #e4c36ad9;transform:translate(-50%,-50%) scale(1.06)}}.legend{display:flex;flex-wrap:wrap;gap:.6rem 1rem;color:var(--muted);font-size:.85rem;margin-top:.7rem}.screen.map-screen,.screen.map-backdrop{max-width:none;width:100%;margin:0;padding:var(--map-screen-pad-top) 0 var(--map-screen-pad-bottom);pointer-events:none;-webkit-user-select:none;user-select:none;flex:1 1 0;min-height:0;min-width:0;position:relative;display:flex;flex-direction:column}.screen.map-screen{pointer-events:auto;-webkit-user-select:auto;user-select:auto}.map-screen .map-wrap,.map-backdrop .map-wrap{flex:1 1 0;min-height:0;width:100%;border:0;border-radius:0}#app:has(.map-screen),#app:has(.map-backdrop){display:flex;flex-direction:column;height:100dvh;height:100svh;min-height:0;max-height:100svh;overflow:hidden}#app:has(.map-screen) .hud,#app:has(.map-backdrop) .hud{flex:0 0 auto;position:relative}.map-chrome{position:absolute;top:max(.45rem,var(--map-screen-pad-top));left:1rem;right:1rem;z-index:4;pointer-events:none;text-shadow:0 1px 10px #0b0907,0 0 12px #0b0907}.map-screen .legend{position:absolute;left:1rem;right:1rem;bottom:var(--map-legend-bottom);z-index:4;margin:0;pointer-events:none;text-shadow:0 1px 10px #0b0907}.map-screen>.status{position:absolute;left:1rem;right:1rem;bottom:max(2.35rem,calc(var(--map-legend-bottom) + 1.55rem));z-index:4;pointer-events:none}.map-screen .map-field,.map-backdrop .map-field{inset:auto}.stage{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:.75rem;align-items:flex-start;min-height:12rem;padding:.2rem 0 .35rem}.stage.boss-stage{align-items:flex-start;min-height:18rem}.enemies{display:flex;flex-wrap:nowrap;gap:.28rem;justify-content:flex-end;align-items:flex-start;flex:1 1 auto;min-width:0;min-height:0}.actor{--unit-accent: var(--attack);container-type:size;container-name:unit;flex:1 1 var(--unit-w);width:var(--unit-w);max-width:15rem;min-width:5.2rem;max-height:min(22rem,64dvh);aspect-ratio:var(--card-ratio);height:auto;appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;align-self:flex-start;background-color:#16110d;background-image:linear-gradient(180deg,#4a3f34,#2a221b 38%,#16110d);border:1px solid #1a140c;border-radius:.82rem;padding:.22rem .2rem .24rem;text-align:center;cursor:pointer;min-height:0;position:relative;isolation:isolate;transform-origin:50% 60%;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:inset 0 1px #f4ead838,inset 0 -1px #00000073,0 0 0 1px #6a5844,0 0 0 2px #241c16,0 10px 20px #00000080;transition:transform .16s ease,box-shadow .16s ease}.actor.player{--unit-accent: var(--gold);cursor:default}.actor.boss{--unit-accent: var(--gold);--unit-w: 12.4rem;max-width:18rem;max-height:min(26rem,76dvh);box-shadow:inset 0 1px #f4ead847,0 0 0 1px color-mix(in srgb,var(--gold) 78%,#6a5844),0 0 0 2px #241c16,0 0 28px #e4c36a38,0 18px 40px #00000073}.actor.boss .name{letter-spacing:.03em}.actor.enraged{--unit-accent: var(--hp);box-shadow:inset 0 1px #f4ead82e,0 0 0 1px color-mix(in srgb,var(--hp) 75%,#6a5844),0 0 0 2px #241c16,0 0 28px #d45b4a47,0 18px 40px #00000073}.actor.enraged .boss-tag{color:var(--danger)}.boss-tag{margin:0 0 .28rem;font-size:.68rem;flex:none}.actor .face{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(2.4rem,1fr) auto auto;grid-template-areas:"art" "kind" "body";flex:1 1 auto;min-height:0;min-width:0;height:100%;border-radius:clamp(.28rem,6cqi,.58rem);overflow:hidden;background:#120e0b;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--unit-accent) 32%,#3a3127),inset 0 1px #f4ead814}.actor .art{grid-area:art;position:relative;display:block;min-height:0;min-width:0;overflow:hidden;background:radial-gradient(circle at 50% 32%,#4a241c,#120e0b)}.actor.player .art{background:radial-gradient(circle at 50% 32%,#3a2e14,#120e0b)}.actor img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 28%;display:block;pointer-events:none}.actor .art.body-host img,.actor .art.body-host canvas,.actor .art.body-host .body-visual{object-fit:contain;object-position:50% 100%}.actor.has-body{aspect-ratio:auto;width:8.6rem;max-width:10rem;flex:0 1 8.6rem;max-height:min(18rem,58dvh);padding:0;background:none;border:none;border-radius:0;box-shadow:none;align-self:flex-end}.actor.has-body .face{overflow:visible;background:none;box-shadow:none;border-radius:0;grid-template-rows:minmax(7.2rem,1fr) auto auto}.actor.has-body .art{background:none;overflow:visible;min-height:7.2rem}.actor.has-body .art:after{content:none}.actor.has-body .art.body-host img,.actor.has-body .art.body-host canvas,.actor.has-body .art.body-host .body-visual{position:relative;inset:auto;width:100%;height:11rem;max-height:11rem;filter:drop-shadow(0 8px 10px rgba(0,0,0,.45))}.actor.has-body .name{grid-area:kind;align-self:start;background:#0c0907d1;box-shadow:none;font-size:.78rem;padding:.18em .4em}.actor.has-body .kind{display:none}.actor .art:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(18,14,11,.08),transparent 22%,transparent 52%,rgba(12,9,7,.88) 100%),radial-gradient(ellipse at 50% 18%,transparent 42%,rgba(0,0,0,.38) 100%);box-shadow:inset 0 0 0 1px #f4ead814}.actor .name{grid-area:art;align-self:end;justify-self:stretch;margin:0;padding:.32em .48em .2em;position:relative;z-index:1;font-size:clamp(.72rem,11cqi,1.14rem);line-height:1.18;overflow-wrap:anywhere;text-shadow:0 1px 3px #000,0 0 8px rgba(0,0,0,.55);color:#f7f0e2;background:linear-gradient(180deg,color-mix(in srgb,var(--unit-accent) 42%,#1a140c),#100c09 62%,#0c0907);box-shadow:0 -1px #f4ead81f,inset 0 2px color-mix(in srgb,var(--unit-accent) 80%,transparent)}.actor .kind{grid-area:kind;position:relative;display:block;min-width:0;padding:.18em .5em .32em;background:#0c0907;color:color-mix(in srgb,var(--unit-accent) 28%,#f4ead8);font-size:clamp(.48rem,7.2cqi,.68rem);font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1;text-shadow:0 1px 2px #000;z-index:2}.actor .kind:after{content:"";position:absolute;left:50%;bottom:-.18rem;z-index:3;width:clamp(.32rem,5cqi,.44rem);height:clamp(.32rem,5cqi,.44rem);transform:translate(-50%) rotate(45deg);background:linear-gradient(135deg,#fff6d4,var(--unit-accent) 46%,color-mix(in srgb,var(--unit-accent) 45%,#1a140c));border:1px solid rgba(244,234,216,.5);box-shadow:0 0 0 1px #1a140c,0 0 7px color-mix(in srgb,var(--unit-accent) 55%,transparent)}.life{--life: 100%;position:relative;display:grid;place-items:center;isolation:isolate;overflow:hidden;height:1.28rem;border:1px solid #1a0c0a;border-radius:.28rem;background:linear-gradient(180deg,rgba(0,0,0,.42),transparent 46%),repeating-linear-gradient(-28deg,rgba(0,0,0,.32) 0 1px,transparent 1px 4px),#160e0c;box-shadow:inset 0 1px #f4ead824,inset 0 -1px #0000008c,0 0 0 1px #6a5044}.actor .vitals{grid-area:body;display:flex;flex-direction:column;flex:none;align-self:start;justify-self:stretch;min-width:0;width:100%}.actor .life{flex:none;min-width:0;height:clamp(.92rem,12cqb,1.28rem);border:0;border-radius:0;box-shadow:inset 0 1px #0000009e,inset 0 -1px #f4ead814;background:linear-gradient(180deg,rgba(0,0,0,.5),transparent 48%),repeating-linear-gradient(-28deg,rgba(0,0,0,.34) 0 1px,transparent 1px 4px),#0a0706}.actor.boss .life:not(.ward){height:1.42rem}.life.ward{height:.78rem}.actor .life.ward{height:clamp(.52rem,7.2cqb,.72rem);box-shadow:inset 0 1px #a8d4f038,inset 0 -1px #f4ead814}.actor.boss .life.ward{height:.78rem}.life.ward .life-fill{background:linear-gradient(180deg,rgba(220,236,255,.4),transparent 44%),linear-gradient(90deg,#1c3a58,var(--block) 58%,#b7dcff);box-shadow:0 0 8px color-mix(in srgb,var(--block) 42%,transparent),inset 0 1px #dcecff52}.life.ward .life-read{font-size:.7rem}.actor.boss .life.ward .life-read{font-size:.76rem}.life-fill{display:block;font-style:normal;position:absolute;z-index:0;top:2px;bottom:2px;left:2px;width:max(0px,calc(var(--life) - 4px));max-width:calc(100% - 4px);border-radius:.14rem;background:linear-gradient(180deg,rgba(248,208,200,.38),transparent 44%),linear-gradient(90deg,#6a2018,var(--hp) 58%,#e07860);box-shadow:0 0 8px #d45b4a61,inset 0 1px #ffe6dc47}.life-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;width:.42rem;background:linear-gradient(90deg,transparent,rgba(255,224,210,.42));pointer-events:none}.life:not(.down) .life-fill{min-width:.32rem}.life.hurt .life-fill{background:linear-gradient(180deg,rgba(255,210,160,.32),transparent 44%),linear-gradient(90deg,#8a2818,#d45b4a 42%,#e07840);box-shadow:0 0 9px #e0784080,inset 0 1px #ffe6c847}.life.critical .life-fill{background:linear-gradient(180deg,rgba(255,220,180,.42),transparent 40%),linear-gradient(90deg,#c45a28,#e07840 50%,#f0a060);box-shadow:0 0 12px #e07840b3,inset 0 1px #ffecd259;animation:life-critical 1.15s ease-in-out infinite}.actor.enraged .life:not(.ward) .life-fill{background:linear-gradient(180deg,rgba(255,210,160,.35),transparent 42%),linear-gradient(90deg,#c45a28,#e07840);box-shadow:0 0 10px #e07840b3}.life.down .life-fill{width:0;opacity:0;animation:none;box-shadow:none}.life.down .life-read{color:#8a7a72}@keyframes life-critical{0%,to{filter:brightness(1)}50%{filter:brightness(1.28)}}.life-read{position:relative;z-index:1;display:block;width:100%;text-align:center;font-size:.8rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:#fff6ee;text-shadow:0 1px 2px #000,0 0 6px rgba(0,0,0,.85);white-space:nowrap}.life-read small{font-size:.72em;opacity:.88;margin-left:.04rem;font-weight:700}.actor.boss .life-read{font-size:.9rem}.hud .life-read{font-size:.76rem}button.actor:disabled{opacity:1}.actor:disabled:not(.dead),.actor[aria-disabled=true]:not(.dead){opacity:1;cursor:default}.actor.selected{z-index:2;transform:translateY(-.22rem);box-shadow:inset 0 1px #f4ead84d,0 0 0 2px #e4c36ab3,0 0 0 4px #120e0be6,0 12px 22px #0006}.actor.aimed{z-index:2;transform:translateY(-.32rem) scale(1.04);box-shadow:inset 0 1px #f4ead847,0 0 0 2px #c45a48bf,0 0 0 4px #120e0be6,0 0 28px #e4c36a52,0 14px 24px #0006}.actor.aimed:after{content:"";position:absolute;inset:-7px;border-radius:inherit;border:2px dashed var(--gold);pointer-events:none;animation:fx-aim .9s ease-in-out infinite}.actor.dead{opacity:.38;filter:grayscale(.8);cursor:default}.actor .meters{display:flex;flex-direction:column;align-items:stretch;flex:none}.actor .meters:empty{display:none}.intent{margin-top:.4rem;min-height:2.05rem;display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.22rem .42rem;color:#f7f0e2;font-size:.88rem;font-weight:600;background:linear-gradient(var(--unit-accent),var(--unit-accent)) 0 0 / 100% 2px no-repeat,#0c0907;border-radius:.35rem;text-shadow:0 1px 3px #000}.pips{display:flex;gap:.32rem;justify-content:center;margin-top:.4rem}.pip{width:.92rem;height:.92rem;border-radius:50%;border:1.5px solid var(--energy);background:radial-gradient(circle at 32% 26%,#3a2e18,#120e0b);box-shadow:inset 0 1px #f4ead81f}.pip.on{background:radial-gradient(circle at 32% 26%,#fff6d4 0 8%,var(--energy) 42%,#6a4a18 100%);box-shadow:0 0 8px var(--energy),inset 0 1px #ffffff73}.pips.short .pip:not(.on){border-color:color-mix(in srgb,var(--hp) 78%,var(--energy));box-shadow:0 0 7px color-mix(in srgb,var(--hp) 42%,transparent),inset 0 1px #f4ead814}.hand{display:flex;flex-wrap:nowrap;gap:1.55rem;overflow-x:auto;overflow-y:hidden;padding:var(--hand-raise-room) .4rem 1rem;scroll-snap-type:x proximity;scroll-padding-inline:.5rem;touch-action:pan-x;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;align-items:flex-end;justify-content:flex-start;justify-content:safe center}.hand .card,.hand .card-stack{touch-action:pan-x;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;flex-shrink:0;align-self:flex-end;height:auto}.hand.is-overflowing{justify-content:flex-start;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--gold) 62%,#3a3127) transparent;padding-bottom:.85rem}.hand.is-overflowing::-webkit-scrollbar{height:5px}.hand.is-overflowing::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--gold) 70%,#3a3127);border-radius:99px}.hand.is-overflowing::-webkit-scrollbar-track{background:transparent}.hand.is-overflowing[data-overflow-left][data-overflow-right]{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 .9rem,#000 calc(100% - .9rem),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 .9rem,#000 calc(100% - .9rem),transparent 100%)}.hand.is-overflowing[data-overflow-right]:not([data-overflow-left]){-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - .9rem),transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - .9rem),transparent 100%)}.hand.is-overflowing[data-overflow-left]:not([data-overflow-right]){-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 .9rem,#000 100%);mask-image:linear-gradient(90deg,transparent 0,#000 .9rem,#000 100%)}.hand-slot{flex:0 0 var(--slot-w, var(--card-w));width:var(--slot-w, var(--card-w));min-height:1px;align-self:stretch;pointer-events:none;transition:flex-basis .16s ease,width .16s ease,opacity .16s ease}.hand-slot.is-closed{flex-basis:0!important;width:0!important;min-width:0;margin:0;opacity:0}.is-lifted{position:fixed!important;z-index:14;margin:0!important;scroll-snap-align:none;pointer-events:none;cursor:grabbing;filter:drop-shadow(0 18px 28px rgba(0,0,0,.55));flex:none!important;aspect-ratio:auto}.card-stack.is-remainder{min-height:calc(var(--card-w) * 3 / 2 + var(--sheet-pad-y))}.card-stack.is-remainder .card-sheet{transform:translate(calc((var(--i) - 1) * -1 * var(--sheet-x)),calc((var(--i) - 1) * -1 * var(--sheet-y)))}.hand .card.fx-incoming,.hand .card-stack.fx-incoming{opacity:0;pointer-events:none}.card-stack{--sheet-x: .38rem;--sheet-y: .32rem;--shown: 2;--sheet-pad-x: calc((var(--shown) - 1) * var(--sheet-x));--sheet-pad-y: calc((var(--shown) - 1) * var(--sheet-y));position:relative;box-sizing:border-box;display:flex;flex-direction:column;flex:0 0 calc(var(--card-w) + var(--sheet-pad-x));width:calc(var(--card-w) + var(--sheet-pad-x));min-width:0;min-height:0;aspect-ratio:var(--card-ratio);padding-top:var(--sheet-pad-y);padding-left:var(--sheet-pad-x);scroll-snap-align:start;isolation:isolate;overflow:visible;transform-origin:50% 100%;z-index:1}.card-stack>.card{position:relative;z-index:5;width:100%;height:100%;flex:1 1 auto;min-height:0;min-width:0;max-height:none;aspect-ratio:auto}.card-stack .card-sheet{position:absolute;left:var(--sheet-pad-x);right:0;top:var(--sheet-pad-y);bottom:0;width:auto;border:0;border-radius:.82rem;background:linear-gradient(180deg,rgba(244,234,216,.08),transparent 28%),#231c16;box-shadow:0 0 0 1px #1a140c,0 0 0 2px #6a5844,0 0 0 3px #241c16,0 8px 16px #00000080;pointer-events:none;transform:translate(calc(var(--i) * -1 * var(--sheet-x)),calc(var(--i) * -1 * var(--sheet-y)));z-index:calc(4 - var(--i))}.card-stack.attack .card-sheet{background:linear-gradient(180deg,rgba(196,90,72,.22),transparent 34%),radial-gradient(circle at 50% 18%,#4a241c,#221410 70%)}.card-stack.skill .card-sheet{background:linear-gradient(180deg,rgba(79,143,134,.22),transparent 34%),radial-gradient(circle at 50% 18%,#1a322e,#101814 70%)}.card-stack.power .card-sheet{background:linear-gradient(180deg,rgba(201,162,74,.22),transparent 34%),radial-gradient(circle at 50% 18%,#3a2e14,#1a160c 70%)}.card-stack.status .card-sheet,.card-stack.curse .card-sheet{background:linear-gradient(180deg,rgba(107,99,88,.22),transparent 34%),radial-gradient(circle at 50% 18%,#2a2722,#161410 70%)}.card-stack.playable .card-sheet{box-shadow:0 0 0 1px #1a140c,0 0 0 2px color-mix(in srgb,var(--gold) 55%,#6a5844),0 0 0 3px #241c16,0 8px 16px #00000080}.card{--card-type: var(--muted);--card-rarity: var(--rarity-common);container-type:size;container-name:card;flex:0 0 var(--card-w);width:var(--card-w);max-width:100%;aspect-ratio:var(--card-ratio);height:auto;min-width:0;min-height:0;scroll-snap-align:start;appearance:none;-webkit-appearance:none;background-color:#16110d;background-image:linear-gradient(180deg,#4a3f34,#2a221b 38%,#16110d);border:1px solid #1a140c;border-radius:.82rem;padding:.22rem .2rem .24rem;text-align:left;display:flex;flex-direction:column;color:var(--ink);overflow:visible;position:relative;z-index:1;isolation:isolate;transform-origin:50% 100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:inset 0 1px #f4ead838,inset 0 -1px #00000073,0 0 0 1px #6a5844,0 0 0 2px #241c16,0 10px 20px #0000008c;transition:transform .16s ease,box-shadow .16s ease}.card.attack{--card-type: var(--attack)}.card.skill{--card-type: var(--skill)}.card.power{--card-type: var(--power)}.card.status{--card-type: var(--status)}.card.curse{--card-type: var(--curse)}.card.rarity-common{--card-rarity: var(--rarity-common)}.card.rarity-uncommon{--card-rarity: var(--rarity-uncommon)}.card.rarity-rare{--card-rarity: var(--rarity-rare)}.card.rarity-special{--card-rarity: var(--rarity-special)}button.card:disabled{opacity:1;cursor:not-allowed}.card .face{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(2.4rem,1fr) auto fit-content(36%);grid-template-areas:"art" "kind" "body";flex:1 1 auto;min-height:0;min-width:0;height:100%;border-radius:clamp(.28rem,6cqi,.58rem);overflow:hidden;background:#120e0b;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--card-type) 28%,#3a3127),inset 0 1px #f4ead814}.card .art{grid-area:art;position:relative;display:block;min-height:0;min-width:0;overflow:hidden;background:radial-gradient(circle at 50% 40%,#2a221b,#120e0b)}.card.attack .art{background:radial-gradient(circle at 50% 40%,#4a241c,#120e0b)}.card.skill .art{background:radial-gradient(circle at 50% 40%,#1a322e,#120e0b)}.card.power .art{background:radial-gradient(circle at 50% 40%,#3a2e14,#120e0b)}.card.status .art,.card.curse .art{background:radial-gradient(circle at 50% 40%,#2a2722,#120e0b)}.card .art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%;display:block;pointer-events:none}.card .art:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(18,14,11,.08),transparent 22%,transparent 48%,rgba(12,9,7,.88) 100%),radial-gradient(ellipse at 50% 18%,transparent 42%,rgba(0,0,0,.38) 100%);box-shadow:inset 0 0 0 1px #f4ead814}.card .banner{grid-area:art;align-self:end;justify-self:stretch;min-height:0;margin:0;padding:.32em .48em .26em;position:relative;z-index:1;background:linear-gradient(180deg,color-mix(in srgb,var(--card-type) 42%,#1a140c),#100c09 62%,#0c0907);color:#f7f0e2;font-weight:700;font-size:clamp(.62rem,9.6cqi,1.02rem);line-height:1.18;letter-spacing:.01em;display:flex;align-items:center;justify-content:center;text-align:center;overflow-wrap:anywhere;text-shadow:0 1px 3px #000,0 0 8px rgba(0,0,0,.55);box-shadow:0 -1px #f4ead81f,inset 0 2px color-mix(in srgb,var(--card-type) 80%,transparent)}.card .banner .plus,.card .banner .fx-plus{color:#f3d98a;margin-left:.05em;text-shadow:0 1px 2px #000,0 0 8px rgba(228,195,106,.45)}.card .kind{grid-area:kind;position:relative;display:block;min-width:0;padding:.22em .5em .32em;background:#0c0907;color:color-mix(in srgb,var(--card-type) 28%,#f4ead8);font-size:clamp(.48rem,7.4cqi,.7rem);font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-align:center;line-height:1;text-shadow:0 1px 2px #000}.card .kind:after{content:"";position:absolute;left:50%;bottom:-.22rem;z-index:2;width:clamp(.32rem,5cqi,.48rem);height:clamp(.32rem,5cqi,.48rem);transform:translate(-50%) rotate(45deg);background:linear-gradient(135deg,color-mix(in srgb,var(--card-rarity) 70%,#fff6d4),var(--card-rarity) 42%,color-mix(in srgb,var(--card-rarity) 55%,#1a140c));border:1px solid rgba(244,234,216,.35);box-shadow:0 0 7px color-mix(in srgb,var(--card-rarity) 55%,transparent),0 1px 2px #0000008c}.card .body{grid-area:body;position:relative;min-height:0;min-width:0;max-height:100%;overflow:hidden;padding:clamp(.28rem,5.6cqi,.55rem) clamp(.28rem,5.4cqi,.5rem) clamp(.22rem,4.4cqi,.42rem);display:flex;flex-direction:column;gap:.2em;background:linear-gradient(var(--card-rarity),var(--card-rarity)) 0 0 / 100% 2px no-repeat,linear-gradient(180deg,#16110d,#0e0b08)}.card.playable{box-shadow:inset 0 1px #f4ead847,inset 0 -1px #00000073,0 0 0 1px color-mix(in srgb,var(--gold) 78%,#6a5844),0 0 0 2px #241c16,0 0 16px #e4c36a38,0 10px 20px #0000008c}.card.pending{z-index:3;transform:translateY(-.72rem) scale(1.05);box-shadow:inset 0 1px #f4ead84d,0 0 0 2px #e4c36ab3,0 0 0 4px #120e0be6,0 16px 28px #00000080}.card-stack.pending{z-index:3;transform:translateY(-.72rem) scale(1.05)}.card-stack.pending>.card.pending{transform:none;box-shadow:inset 0 1px #f4ead84d,0 0 0 2px #e4c36ab3,0 0 0 4px #120e0be6,0 16px 28px #00000080}@media(hover:hover)and (pointer:fine){.hand .card.playable:hover{z-index:2;transform:translateY(-.58rem) scale(1.045)}.offer-row .card.playable:hover{z-index:2}.hand .card.playable.pending:hover{transform:translateY(-.72rem) scale(1.05)}.hand .card-stack.playable:hover{z-index:2;transform:translateY(-.58rem) scale(1.045)}.hand .card-stack.playable.pending:hover{transform:translateY(-.72rem) scale(1.05)}.hand .card-stack .card.playable:hover,.hand .card-stack .card.playable.pending:hover{transform:none}.roster-pick:hover{z-index:2;transform:translateY(-.28rem)}.actor.enemy:hover:not(.dead):not(.selected):not(.aimed){z-index:2;transform:translateY(-.2rem)}}.card .cost{position:absolute;top:-.08em;left:-.08em;z-index:4;width:clamp(1.15rem,21cqi,2rem);height:clamp(1.15rem,21cqi,2rem);border-radius:50%;pointer-events:none;background:radial-gradient(circle at 32% 26%,#fff6d4 0 7%,#f0c45a 20%,#c9a24a 48%,#6a4a18 78%,#1a140c);border:1.5px solid #f4ead8;color:#1a140c;display:grid;place-items:center;font-weight:800;font-size:clamp(.7rem,12cqi,1.12rem);font-variant-numeric:tabular-nums;line-height:1;isolation:isolate;text-shadow:0 1px 0 rgba(255,255,216,.35);box-shadow:0 0 0 1px #3a2a10,0 3px 10px #0000009e,inset 0 1px #ffffff7a}.card .cost:before{content:"";position:absolute;inset:-12%;z-index:-1;border-radius:22%;transform:rotate(45deg);background:linear-gradient(135deg,#e8d5a4,#6a5844 38%,#1a140c 68%,#c4a66a);box-shadow:0 2px 8px #0000008c}.card .cost[data-cost="0"]{background:radial-gradient(circle at 32% 26%,#efe0b0 0 6%,#8a6f32 26%,#3a2e18 68%,#120e0b);color:#fff6e4;text-shadow:0 1px 3px #000}.card .stacks{position:absolute;top:-.04em;right:-.04em;z-index:4;min-width:clamp(1.2rem,18cqi,1.7rem);height:clamp(1.2rem,18cqi,1.7rem);padding:0 .32em;border-radius:999px;background:#1a140c;border:1.5px solid var(--gold);color:var(--gold);display:grid;place-items:center;font-weight:800;font-size:clamp(.64rem,9.4cqi,.9rem);pointer-events:none;box-shadow:0 2px 10px #0000008c}.card .text{color:#f0e4ce;font-size:clamp(.54rem,8.4cqi,.84rem);line-height:1.28;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overflow-wrap:anywhere;scrollbar-width:thin;text-shadow:0 1px 2px rgba(0,0,0,.85)}.stat-icon{display:inline-flex;align-items:center;gap:.08em;white-space:nowrap;font-weight:800;font-variant-numeric:tabular-nums;vertical-align:-.1em;line-height:1;cursor:help;border-bottom:1.5px solid color-mix(in srgb,var(--gold) 55%,transparent)}.stat-icon.dmg{color:color-mix(in srgb,var(--attack) 62%,#f4ead8);--stat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M9.1 1.2 14.8 6.9 13.2 8.5 11.5 6.8 6.8 11.5 8.5 13.2 6.9 14.8 1.2 9.1 2.8 7.5 4.5 9.2 9.2 4.5 7.5 2.8z'/%3E%3C/svg%3E")}.stat-icon.blk{color:color-mix(in srgb,var(--block) 70%,#f4ead8);--stat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 1.15 13.4 3.2v4.35c0 3.28-2.22 5.82-5.4 6.95C4.82 13.37 2.6 10.83 2.6 7.55V3.2z'/%3E%3C/svg%3E")}.stat-icon .stat-n{font-size:1.05em}.stat-icon .stat-g{width:1.05em;height:1.05em;flex:none;background:currentColor;-webkit-mask:var(--stat-icon) center / contain no-repeat;mask:var(--stat-icon) center / contain no-repeat}.stat-icon .stat-hits{margin-left:.04em;font-size:.88em;font-weight:700;opacity:.92}.term{color:#f3d98a;font-weight:700;text-decoration:none;border-bottom:1.5px solid color-mix(in srgb,var(--gold) 70%,transparent);text-underline-offset:.14em;text-shadow:0 1px 2px rgba(0,0,0,.8);cursor:help}.card .hotkey{position:absolute;right:clamp(.18rem,3.6cqi,.38rem);bottom:clamp(.1rem,2.8cqi,.24rem);color:#e4c36a;font-size:clamp(.58rem,8.2cqi,.78rem);font-weight:600;letter-spacing:.04em;text-align:right;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.7)}.card.unplayable{box-shadow:inset 0 1px #f4ead81a,inset 0 -1px #00000073,0 0 0 1px #4a4036,0 0 0 2px #1a140c,0 8px 16px #00000080}.card.unplayable .art img{filter:saturate(.62) brightness(.78)}.card.unplayable .cost{background:radial-gradient(circle at 32% 26%,#8a7a66 0 10%,#3a3228 48%,#120e0b);border-color:#6b6358;color:#efe4d0;text-shadow:0 1px 3px #000;box-shadow:0 0 0 1px #241c16,0 2px 8px #0000008c,inset 0 1px #f4ead81f}.card.unplayable .cost:before{background:linear-gradient(135deg,#6a5a4a,#2a221b 55%,#120e0b);filter:grayscale(.35)}.card.needs-energy{cursor:not-allowed}.card.unplayable.needs-energy{box-shadow:inset 0 1px #f4ead814,inset 0 -1px #00000073,0 0 0 1px color-mix(in srgb,var(--hp) 55%,#4a4036),0 0 0 2px #1a140c,0 8px 16px #00000080}.card.needs-energy .cost,.card.unplayable.needs-energy .cost,.card.unplayable.needs-energy .cost[data-cost="0"]{background:radial-gradient(circle at 32% 26%,#3a221c 0 12%,#140c0a 52%,#090706);border-color:color-mix(in srgb,var(--hp) 86%,#f4ead8);color:#ffe8e0;text-shadow:0 1px 2px #000;box-shadow:0 0 0 1px color-mix(in srgb,var(--hp) 55%,#241016),0 0 12px color-mix(in srgb,var(--hp) 48%,transparent),0 2px 8px #0000008c,inset 0 1px #ffd2c82e}.card.needs-energy .cost:before,.card.unplayable.needs-energy .cost:before{background:linear-gradient(135deg,color-mix(in srgb,var(--hp) 55%,#6a5a4a),#2a1614 55%,#12080b);filter:none}.card.sold .face{opacity:.52}.card.sold .cost{opacity:.4;filter:grayscale(.4)}.card.upgraded .face{box-shadow:inset 0 0 0 1px #e4c36a6b,inset 0 1px #f4ead81f}.card.upgraded .banner{color:#fff6d4}@container card (min-aspect-ratio: 1 / 1){.card .face{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"art name" "art kind" "art body"}.card .banner{grid-area:name;align-self:stretch}.card .art:after{background:linear-gradient(90deg,transparent 42%,rgba(12,9,7,.55) 100%),radial-gradient(ellipse at 50% 18%,transparent 42%,rgba(0,0,0,.32) 100%)}.card .kind:after{display:none}.card .kind{padding-bottom:.18em}}@container card (max-aspect-ratio: 1 / 2){.card .face{grid-template-rows:minmax(0,1fr) auto fit-content(36%)}}@container card (max-height: 11.2rem){.card .kind:after{display:none}.card .kind{padding-bottom:.16em}}@container card (max-height: 9.4rem){.card .kind,.card .hotkey{display:none}}@container card (max-height: 7.4rem){.card .text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}@container card (max-width: 6.2rem){.card .kind,.card .hotkey{display:none}}@container card (min-height: 16.5rem) and (max-aspect-ratio: .9){.card .body{padding:.55rem .5rem .42rem}}@container unit (min-aspect-ratio: 1 / 1){.actor .face,.roster-pick .face{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"art name" "art kind" "art body"}.actor .name,.roster-pick .pick-name{grid-area:name;align-self:stretch}.actor .art:after,.roster-pick .art:after{background:linear-gradient(90deg,transparent 42%,rgba(12,9,7,.55) 100%),radial-gradient(ellipse at 50% 18%,transparent 42%,rgba(0,0,0,.32) 100%)}.actor .kind:after,.roster-pick .kind:after{display:none}.actor .kind,.roster-pick .kind{padding-bottom:.18em}}@container unit (max-height: 11.2rem){.actor .kind:after,.roster-pick .kind:after{display:none}}@container unit (max-height: 9.4rem){.actor .kind,.roster-pick .kind{display:none}}@container unit (max-height: 5.4rem){.actor .face,.roster-pick .face{grid-template-columns:3.15rem minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"art name" "art body";align-items:center;column-gap:.36rem}.actor .name,.roster-pick .pick-name{grid-area:name;align-self:end;margin:0;padding:.08rem .12rem 0 0;background:none;box-shadow:none;text-align:left;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actor .kind,.roster-pick .kind{display:none}.actor .vitals{align-self:center;margin:0 .08rem .06rem 0;border-radius:.16rem;overflow:hidden}.actor .life{height:.72rem;align-self:stretch;margin:0;border-radius:0}.actor .life.ward{height:.5rem}.actor .life.ward .life-read{font-size:.62rem}.actor .art:after,.roster-pick .art:after{background:linear-gradient(90deg,transparent 28%,rgba(12,9,7,.45) 100%),radial-gradient(ellipse at 50% 18%,transparent 42%,rgba(0,0,0,.28) 100%)}}.bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;background:linear-gradient(transparent,var(--bg) 28%);padding:.55rem 0 max(.5rem,env(safe-area-inset-bottom))}.piles{color:var(--muted)}.piles [data-pile]{display:inline-block;min-width:5.2rem;text-align:center}.piles [data-popup]{cursor:help}.status{min-height:1.2rem;color:var(--danger);margin:0}.modal{position:fixed;inset:0;background:#080605e0;display:flex;align-items:center;justify-content:center;padding:max(.7rem,env(safe-area-inset-top)) max(.7rem,env(safe-area-inset-right)) max(.7rem,env(safe-area-inset-bottom)) max(.7rem,env(safe-area-inset-left));z-index:8}.modal-card{background:#16120e;border:2px solid var(--gold-dim);border-radius:1rem;padding:1.2rem;width:min(42rem,100%);max-height:90dvh;overflow:auto;display:flex;flex-direction:column;gap:.8rem;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-card .offer-row,.modal-card .shop-relics,.modal-card .shop-potions,.modal-card .shop-keeper,.modal-card .forge-preview,.modal-card .choices{flex-shrink:0;min-width:0;max-width:100%;align-self:stretch}.choices{display:flex;flex-direction:column;gap:.55rem}.choices button{width:100%}.event-card .event-art{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:.75rem;border:2px solid var(--gold-dim);background:#0a0806}.event-card .event-art:not(.is-ready){background:#0a0806 linear-gradient(110deg,transparent 0%,rgba(255,236,210,.07) 46%,transparent 62%);background-size:220% 100%;animation:event-art-wait 1.15s linear infinite}@keyframes event-art-wait{to{background-position:-220% 0}}@media(prefers-reduced-motion:reduce){.event-card .event-art:not(.is-ready){animation:none}}.modal-card.event-card{width:min(46rem,100%)}.modal-card.spoils-card{width:min(44rem,100%);height:auto;align-self:center;align-items:center;text-align:center;gap:.7rem;padding:1.15rem 1.2rem 1rem;min-width:0;overflow:visible}.spoils-card h2,.spoils-card p,.spoils-card ul{margin:0}.spoils-head{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:100%}.spoils-head h2{font-size:clamp(1.45rem,3.6vw,1.85rem);line-height:1.15}.spoils-taken{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;padding:0;list-style:none}.spoils-pill{border:1px solid var(--gold-dim);border-radius:999px;padding:.18rem .7rem;font-size:.88rem;color:var(--ink);background:#1c1814;display:inline-flex;align-items:center;gap:.35rem}.spoils-pill:has(.spoils-relic),.spoils-pill:has(.spoils-potion){padding-left:.22rem}.spoils-relic,.spoils-potion{width:1.45rem;height:1.45rem;border-radius:50%;object-fit:cover;border:1px solid var(--gold-dim);flex:none}.spoils-gold{color:var(--gold)}.spoils-kind{color:var(--muted);text-transform:capitalize;margin-right:.35rem}.spoils-card .lede{font-size:.95rem}.spoils-skip{width:auto;min-width:9.5rem;margin-top:.15rem;position:sticky;bottom:0;z-index:3;background:#16120e;box-shadow:0 -.7rem .7rem #16120e}.spoils-card .status{width:100%;min-height:0}.offer-row{display:flex;flex:0 0 auto;gap:1.6rem;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:1.05rem .95rem .55rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.offer-row .card{--card-w: 10.2rem;flex-basis:var(--card-w);width:var(--card-w);scroll-snap-align:start;-webkit-backface-visibility:visible;backface-visibility:visible}.spoils-card .offer-row,.spoils-card .shop-relics{justify-content:center;justify-content:safe center;align-self:stretch;width:100%;min-width:0;max-width:100%;gap:clamp(.3rem,1.8vw,1.6rem);overflow:visible}.spoils-card .offer-row .card{flex:1 1 0;width:auto;min-width:0;max-width:10.8rem}.forge-preview{display:flex;flex-direction:column;gap:.75rem}.forge-compare{display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap}.forge-col{display:flex;flex-direction:column;align-items:center;gap:.35rem}.forge-compare .card{--card-w: 10.2rem;flex-basis:var(--card-w);width:var(--card-w)}.forge-label{margin:0;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.forge-arrow{color:var(--gold);font-size:1.5rem;font-weight:800;padding-top:1.1rem}.forge-delta{display:flex;flex-direction:column;gap:.25rem}.forge-delta .fx-stat-row{font-size:1.2rem}.forge-delta .fx-stat-from{color:var(--muted);text-decoration:line-through;opacity:.7}.forge-delta .fx-stat-arrow,.forge-delta .fx-stat-to{color:var(--gold)}.forge-actions{flex-direction:row}.forge-actions button{flex:1;width:auto}.modal-actions,.forge-actions{position:sticky;bottom:0;z-index:3;background:#16120e;padding-top:.5rem;margin-top:auto;box-shadow:0 -.85rem .9rem #16120e}button.modal-actions{width:100%}.forge-compare button.card:disabled{cursor:default}@media(max-width:520px){.forge-arrow{padding-top:0;transform:rotate(90deg)}}.end{min-height:100dvh;display:grid;place-items:center;text-align:center;padding:max(2rem,env(safe-area-inset-top)) 1.2rem max(2rem,env(safe-area-inset-bottom))}.end h2{font-size:clamp(2rem,7vw,3.2rem);margin:0}.end.win h2{color:var(--gold)}.end.lose h2{color:var(--danger)}#fx-layer{position:fixed;inset:0;pointer-events:none;z-index:12;overflow:visible}#drag-layer{position:fixed;inset:0;pointer-events:none;z-index:15}.drag-arrow{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:.72}.drag-arrow.is-locked{opacity:1}.drag-arrow .drag-shaft{fill:none}.drag-arrow.is-locked .drag-head{fill:var(--attack)}.fx-drag-ghost{position:fixed;top:0;left:0;pointer-events:none;z-index:15;transform:translateZ(0);will-change:transform;filter:drop-shadow(0 16px 28px rgba(0,0,0,.55))}.fx-drag-ghost .card{width:100%;height:100%;min-height:0;flex:none;aspect-ratio:auto;max-width:none}.fx-dragging{opacity:.2}body.play-aiming,body.play-aiming *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important;touch-action:none}body.play-aiming .hand .card:hover,body.play-aiming .hand .card-stack:hover{transform:none}@keyframes fx-aim{0%{opacity:.35;transform:scale(.98)}50%{opacity:1;transform:scale(1.03)}to{opacity:.35;transform:scale(.98)}}.fx-ghost{position:fixed;top:0;left:0;pointer-events:none;z-index:12;transform:translateZ(0);will-change:transform,opacity}.fx-ghost .card,.fx-ghost .card-stack{width:100%;height:100%;min-height:0;flex:none;aspect-ratio:auto;max-width:none}.fx-ghost .card{box-shadow:0 12px 28px #00000080}.actor.fx-shake-hp,.actor.fx-shake-block,.actor.fx-slam,.actor.fx-lunge,.actor.fx-slash-glow,.actor.fx-spark-brand,.actor.fx-star-glow,.actor.fx-hope-skip,.actor.fx-enter,.actor.fx-die{clip-path:inset(0 round .82rem)}.actor.fx-shake-hp,.actor.fx-shake-block,.actor.fx-slam,.actor.fx-lunge,.actor.fx-slash-glow,.actor.fx-spark-brand,.actor.fx-star-glow,.actor.fx-hope-skip,.actor.fx-enter{box-shadow:inset 0 1px #f4ead838,inset 0 -1px #00000073,inset 0 0 0 1px #6a5844;filter:drop-shadow(0 10px 16px rgba(0,0,0,.55))}.actor.fx-shake-hp{box-shadow:inset 0 1px #f4ead838,inset 0 -1px #00000073,inset 0 0 0 1px #6a5844,inset 0 0 0 2px var(--hp)}.actor.fx-shake-block{box-shadow:inset 0 1px #f4ead838,inset 0 -1px #00000073,inset 0 0 0 1px #6a5844,inset 0 0 0 2px var(--block)}.actor.fx-slash-glow{box-shadow:inset 0 1px #f4ead847,inset 0 -1px #00000073,inset 0 0 0 1px color-mix(in srgb,var(--gold) 70%,#6a5844)}.actor.fx-spark-brand{box-shadow:inset 0 1px #ffdcb459,inset 0 -1px #00000073,inset 0 0 0 1px color-mix(in srgb,#e07a5a 78%,#6a5844),inset 0 0 34px #e07a5a6b}.actor.fx-star-glow{box-shadow:inset 0 1px #ffe6fa66,inset 0 -1px #00000073,inset 0 0 0 1px color-mix(in srgb,#ff7ad9 80%,#6a5844),inset 0 0 32px #7ef0f547}.actor.fx-hope-skip{box-shadow:inset 0 1px #fff6c873,inset 0 -1px #00000073,inset 0 0 0 1px color-mix(in srgb,#ff9ad4 82%,#e4c36a),inset 0 0 36px #ffbae86b;animation:fx-hope-skip-glow calc(.44s * var(--fx-scale)) ease-out}@keyframes fx-hope-skip-glow{0%{filter:drop-shadow(0 10px 16px rgba(0,0,0,.55)) brightness(1)}38%{filter:drop-shadow(0 0 20px rgba(255,186,232,.9)) brightness(1.18)}to{filter:drop-shadow(0 10px 16px rgba(0,0,0,.55)) brightness(1)}}.life.fx-hp-flash .life-fill{filter:brightness(1.55);box-shadow:0 0 16px var(--hp),inset 0 1px #ffecdc73}.life.fx-block-flash{box-shadow:0 0 14px var(--block)}.life.ward.fx-block-flash,.life.ward.fx-bump{transform-origin:50% 100%;box-shadow:0 0 14px var(--block)}.pips.fx-energy .pip.on{box-shadow:0 0 12px var(--energy)}.actor.fx-enter{animation:fx-enter calc(.38s * var(--fx-scale)) ease both}.actor.fx-die{animation:fx-die calc(.44s * var(--fx-scale)) ease forwards;pointer-events:none}@keyframes fx-enter{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}@keyframes fx-die{0%{opacity:1;filter:none;transform:scale(1) rotate(0)}to{opacity:.38;filter:grayscale(.8);transform:scale(.92) rotate(2.5deg)}}.fx-slash{position:fixed;pointer-events:none;z-index:13;background:linear-gradient(118deg,transparent 42%,#fff6dc 46%,#e4c36a 50%,#fff 52%,transparent 58%);clip-path:polygon(8% 18%,100% 0%,92% 82%,0% 100%);opacity:0;animation:fx-slash calc(.28s * var(--fx-scale)) ease-out forwards;mix-blend-mode:screen}.fx-atk-ghost{z-index:14;transform-origin:50% 50%;filter:brightness(1.22) drop-shadow(0 0 14px rgba(228,195,106,.7)) drop-shadow(0 12px 24px rgba(0,0,0,.5))}.fx-afterimage{z-index:13;filter:saturate(1.25) brightness(1.2) drop-shadow(0 0 10px rgba(228,195,106,.55));pointer-events:none}.fx-atk-ghost.is-spark{filter:brightness(1.4) saturate(1.15) drop-shadow(0 0 12px rgba(255,210,160,.85)) drop-shadow(0 10px 20px rgba(0,0,0,.5))}.fx-lantern-orb{position:fixed;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#fff,#ffe9a8 26%,#e4c36a 58%,#c45a28);box-shadow:0 0 16px 6px #e4c36ad9,0 0 40px 12px #c45a286b;mix-blend-mode:screen;z-index:15;pointer-events:none;will-change:transform,opacity}.fx-lantern-orb.is-pop{width:18px;height:18px;margin:-9px 0 0 -9px}.fx-hero-bloom{position:fixed;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,236,180,.72),rgba(228,195,106,.22) 42%,transparent 70%);mix-blend-mode:screen;pointer-events:none;z-index:13}.fx-hero-bloom.is-spark{background:radial-gradient(circle,rgba(255,236,200,.55),rgba(224,122,90,.22) 42%,transparent 70%)}.fx-spark-core{position:fixed;width:11px;height:11px;margin:-5px 0 0 -5px;border-radius:50%;background:radial-gradient(circle at 36% 30%,#fff,#ffe7b0 32%,#e07a5a 72%,#9a3018);box-shadow:0 0 12px 5px #ffe6b4f2,0 0 28px 8px #e07a5a8c;mix-blend-mode:screen;z-index:15;pointer-events:none;will-change:transform,opacity}.fx-atk-ghost.is-starlight{filter:brightness(1.28) saturate(1.2) drop-shadow(0 0 14px rgba(255,122,217,.8)) drop-shadow(0 10px 20px rgba(40,12,48,.5))}.fx-spark-core.is-streak{width:8px;height:8px;margin:-4px 0 0 -4px;opacity:.65}.fx-hero-bloom.is-starlight{background:radial-gradient(circle,rgba(255,214,240,.7),rgba(255,122,217,.22) 40%,rgba(126,240,245,.12) 58%,transparent 72%)}.fx-star-shot{position:fixed;width:36px;height:36px;margin:-18px 0 0 -18px;z-index:15;pointer-events:none;filter:drop-shadow(0 0 8px rgba(255,122,217,.95)) drop-shadow(0 0 16px rgba(126,240,245,.55));mix-blend-mode:screen;will-change:transform,opacity}.fx-star-shot svg{width:100%;height:100%;overflow:visible}.fx-star-shot.is-5{width:30px;height:30px;margin:-15px 0 0 -15px}.fx-star-shot.is-streak{width:18px;height:18px;margin:-9px 0 0 -9px;opacity:.6}.fx-star-shot.is-burst{width:52px;height:52px;margin:-26px 0 0 -26px}.fx-star-glint{position:fixed;height:4px;margin-top:-2px;background:linear-gradient(90deg,transparent,#fff,#ff7ad9 46%,#7ef0f5,transparent);box-shadow:0 0 12px #ffd6f0;mix-blend-mode:screen;pointer-events:none;z-index:15;transform-origin:50% 50%}.fx-star-prism{position:fixed;width:72px;height:88px;margin:-44px 0 0 -36px;z-index:16;pointer-events:none;filter:drop-shadow(0 0 14px rgba(255,122,217,.95)) drop-shadow(0 0 22px rgba(126,240,245,.55));mix-blend-mode:screen;will-change:transform,opacity}.fx-star-prism svg{width:100%;height:100%;overflow:visible}.fx-prism-beam{position:fixed;height:6px;margin-top:-3px;transform-origin:0 50%;background:linear-gradient(90deg,#fff,#ff7ad9 36%,#7ef0f5 72%,transparent);box-shadow:0 0 14px #ff7ad9d9;mix-blend-mode:screen;pointer-events:none;z-index:15}.fx-star-storm{position:fixed;width:160px;height:160px;margin:-80px 0 0 -80px;border-radius:50%;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.7) 0 8%,transparent 28%),conic-gradient(from 200deg,#ff7ad9,#7ef0f5,#ffd6f0,#ff7ad9);filter:blur(10px) saturate(1.25);mix-blend-mode:screen;pointer-events:none;z-index:14;opacity:0;will-change:transform,opacity}.fx-star-storm.is-hope{background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.82) 0 10%,transparent 30%),conic-gradient(from 180deg,#ffe38a,#ff9ad4,#fff6c8,#ffe38a)}.fx-hope-halo{position:fixed;margin:0;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,246,200,.58) 0 18%,transparent 54%);box-shadow:0 0 22px #ffbae8b3;mix-blend-mode:screen;pointer-events:none;z-index:15}.fx-cost-flip{position:fixed;width:2.4rem;height:2.4rem;margin:-1.2rem 0 0 -1.2rem;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:1.15rem;letter-spacing:-.04em;color:#1a1024;background:radial-gradient(circle at 32% 28%,#fff,#ffe38a 38%,#e4c36a 72%,#b8862a);box-shadow:0 0 0 2px #ffd6f0d9,0 0 16px #ff7ad9b3;pointer-events:none;z-index:17}.fx-cost-flip .is-from{position:absolute;opacity:.35;transform:translate(-.45rem,-.15rem) scale(.72);text-decoration:line-through}.fx-cost-flip .is-to{position:relative;z-index:1}.fx-sakura{position:fixed;width:11px;height:13px;border-radius:80% 0;background:radial-gradient(ellipse at 35% 30%,#fff,#ffb3d4 42%,#ff7ad9);mix-blend-mode:screen;pointer-events:none;z-index:14;box-shadow:0 0 8px #ff7ad98c}.fx-cut-svg{position:fixed;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:14;mix-blend-mode:screen}.fx-cut-flash{position:fixed;inset:0;background:radial-gradient(circle at var(--cx) var(--cy),rgba(255,248,220,.46),transparent 38%);mix-blend-mode:screen;pointer-events:none;z-index:11}.fx-cut-flash.is-spark{background:radial-gradient(circle at var(--cx) var(--cy),rgba(255,236,200,.5),rgba(224,122,90,.22) 22%,transparent 42%)}.fx-cut-flash.is-starlight{background:radial-gradient(circle at var(--cx) var(--cy),rgba(255,240,252,.55),rgba(255,122,217,.22) 24%,rgba(126,240,245,.12) 38%,transparent 48%)}.fx-cut-mark{position:fixed;pointer-events:none;z-index:13;mix-blend-mode:screen;border-radius:.82rem;background:radial-gradient(circle at 50% 40%,rgba(255,250,230,.5),rgba(228,195,106,.12) 48%,transparent 72%)}.fx-cut-mark.is-spark{background:radial-gradient(circle at 50% 38%,rgba(255,240,210,.62),rgba(224,122,90,.28) 36%,transparent 70%)}.fx-cut-mark.is-starlight{background:radial-gradient(circle at 50% 40%,rgba(255,214,240,.55),rgba(255,122,217,.22) 40%,rgba(126,240,245,.1) 62%,transparent 76%)}.fx-shock{position:fixed;transform:translate(-50%,-50%);border:2px solid rgba(255,244,210,.92);border-radius:50%;box-shadow:0 0 18px #e4c36a8c;pointer-events:none;z-index:13;mix-blend-mode:screen}.fx-shock.is-spark{border-color:#ffd2aae6;box-shadow:0 0 16px #e07a5a8c}.fx-shock.is-starlight{border-color:#ffb4e6eb;box-shadow:0 0 16px #7ef0f573}.fx-hit-spark{position:fixed;height:5px;margin-top:-2px;background:linear-gradient(90deg,transparent,#fff,#ffe9a8 46%,#e4c36a,transparent);box-shadow:0 0 12px #fff6dc;mix-blend-mode:screen;pointer-events:none;z-index:15;transform-origin:50% 50%}.fx-hit-spark.is-starlight{background:linear-gradient(90deg,transparent,#fff,#ff7ad9 46%,#7ef0f5,transparent);box-shadow:0 0 12px #ffd6f0}.fx-ember{position:fixed;border-radius:50%;mix-blend-mode:screen;pointer-events:none;z-index:14;box-shadow:0 0 8px currentColor;will-change:transform,opacity}.fx-ember.is-spark{border-radius:1px;box-shadow:0 0 10px #fff6dc}.fx-float{position:fixed;transform:translate(-50%);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:900;font-size:2.75rem;letter-spacing:-.04em;line-height:1;pointer-events:none;z-index:16;-webkit-text-stroke:.09em #0b0907;paint-order:stroke fill;text-shadow:0 .06em 0 #0b0907,0 .12em .08em rgba(0,0,0,.55),0 0 .55em currentColor;font-variant-numeric:tabular-nums}.fx-float.hp{color:#ff8b78;font-size:3.05rem}.fx-float.blocked{color:#b7dcff}.fx-float.block{color:#c8ebff}.fx-float.heal{color:#9ee8c0}.badges{display:flex;flex-wrap:wrap;gap:.22rem;justify-content:center;margin-top:.3rem;min-height:0}.badge{border-radius:999px;padding:.1rem .45rem;font-size:.76rem;font-weight:700;border:1px solid currentColor;line-height:1.2}.badge.might{color:#e8b35a;background:#e8b35a24}.badge.exposed{color:#e07a5a;background:#e07a5a29}.badge.fx-badge-pop{animation:fx-badge-pop calc(.48s * var(--fx-scale)) ease-out}@keyframes fx-badge-pop{0%{transform:scale(.55);filter:brightness(2.2)}38%{transform:scale(1.22);filter:brightness(1.35)}to{transform:scale(1);filter:none}}.badge.restrained{color:#8eb5e0;background:#8eb5e024}.badge.toxin{color:#7ecb7a;background:#7ecb7a29}.badge.hopeful{color:#f3c6e8;background:#ffb0dc33}.badge.fearful{color:#c9b08a;background:#b48c5a38}.badge[data-popup],.life.ward[data-popup]{cursor:help}.hud-opts{display:flex;gap:.55rem;align-items:center;margin-left:auto;position:relative;z-index:6;flex-wrap:wrap}.hud-tools{display:flex;gap:.55rem;align-items:center}.hud .stat.turn{display:none}.hud .check-field{min-height:0;font-size:.85rem;white-space:nowrap}.audio-fields{border:1px solid var(--edge);border-radius:.65rem;padding:.55rem .75rem .7rem;margin:0;display:flex;flex-direction:column;gap:.3rem}.audio-fields legend{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;padding:0 .35rem}.vol-field{display:grid;grid-template-columns:4.4rem 1fr 2rem;gap:.4rem;align-items:center;color:var(--muted);font-size:.88rem}.vol-field input[type=range]{width:100%;min-height:0;height:1.35rem;padding:0;accent-color:var(--gold);background:transparent;border:none}.audio-panel{position:relative}.audio-panel summary{cursor:pointer;color:var(--muted);font-size:.85rem;min-height:var(--hit);display:grid;align-items:center;list-style:none;-webkit-user-select:none;user-select:none}.hud .audio-panel summary{min-height:0}.audio-panel summary::-webkit-details-marker{display:none}.hud .audio-panel[open] .audio-fields{position:absolute;right:0;top:calc(100% + .3rem);width:min(18rem,80vw);background:#16120e;z-index:12;box-shadow:0 10px 32px #00000073}.potion-belt{display:flex;gap:.35rem}.potion-slot{width:2.85rem;height:2.85rem;min-height:2.85rem;padding:0;border-radius:.55rem;border:2px dashed #5a4c3c;background:#120f0c;color:var(--ink);display:grid;place-items:center;font-size:.72rem;text-align:center;line-height:1.05}.potion-slot.filled{border-style:solid;border-color:var(--gold-dim);background:linear-gradient(#2a2016,#16110d)}.potion-slot.usable{border-color:var(--gold)}.potion-slot.pending{box-shadow:0 0 0 3px #e4c36a59}.potion-slot.has-art{position:relative;overflow:hidden;padding:0;display:grid;grid-template:1fr / 1fr;place-items:stretch}.potion-mark{grid-area:1 / 1;width:100%;height:100%;object-fit:cover;display:block}.potion-slot.has-art .key{grid-area:1 / 1;align-self:end;justify-self:center;z-index:1;margin:0 0 .08rem;color:var(--gold);text-shadow:0 1px 3px #000,0 0 6px #000}.potion-slot .key{display:block;font-size:.62rem;color:var(--muted)}.map-token{position:absolute;width:1.15rem;height:1.15rem;margin:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3c4,var(--gold) 45%,#8a5a18);border:2px solid #1a140c;box-shadow:0 0 14px #e4c36ad9;transform:translate(-50%,-50%);z-index:3;pointer-events:none;transition:left .42s cubic-bezier(.22,.7,.18,1),top .42s cubic-bezier(.22,.7,.18,1)}.shop-potions,.shop-relics{display:flex;gap:.45rem;flex-wrap:wrap}.shop-keeper{display:flex;gap:.85rem;align-items:center;min-width:0}.shop-keeper figure{margin:0;flex:0 0 auto;width:5.8rem;height:5.8rem}.shop-keeper img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;border-radius:.7rem;border:2px solid var(--gold-dim);display:block;background:#120e0b}.shop-keeper-copy{min-width:0;display:flex;flex-direction:column;gap:.22rem}.shop-keeper-copy h2,.shop-keeper-copy p,.shop-card>h2,.shop-card>p{margin:0}.shop-line{color:var(--muted);font-style:italic}.shop-relics .relic-ware,.shop-potions .potion-ware{width:6.6rem;max-width:6.6rem;flex:0 0 6.6rem}.shop-relics .relic-ware-mark,.shop-potions .potion-ware-mark{min-height:0}.potion-ware,.relic-ware{min-width:0;min-height:var(--hit);text-align:left;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:.28rem;border:1px solid var(--gold-dim);color:var(--gold);max-width:9.6rem;padding:.4rem}.potion-ware .key,.relic-ware .key{display:block;font-size:.78rem;color:var(--muted)}.potion-ware-mark,.relic-ware-mark{width:100%;flex:1 1 auto;min-height:4rem;aspect-ratio:1;object-fit:cover;border-radius:.35rem;border:1px solid var(--gold-dim);display:block;background:#16110d}.potion-ware-name,.relic-ware-name{font-weight:600;line-height:1.2}.spoils-card .relic-ware{flex:1 1 0;min-width:0;max-width:10.8rem}.spoils-card .relic-ware .key{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.treasure-relic{width:min(7.5rem,100%);aspect-ratio:1;height:auto;object-fit:cover;border-radius:.55rem;border:1px solid var(--gold);display:block;margin:0 auto .15rem;background:#16110d}.end-recap{color:var(--muted)}.end-actions{display:flex;flex-direction:column;align-items:stretch;gap:.65rem;width:min(18rem,100%);margin:.85rem auto 0}.end-actions button{width:100%}.end.win{background:radial-gradient(ellipse 70% 50% at 50% 40%,rgba(228,195,106,.18),transparent 70%)}.end.lose{background:radial-gradient(ellipse 70% 50% at 50% 40%,rgba(212,91,74,.16),transparent 70%)}.end h2{animation:end-in .7s ease both}@keyframes end-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}@keyframes fx-slash{0%{opacity:0;transform:scale(.4) rotate(-18deg)}35%{opacity:1}to{opacity:0;transform:scale(1.15) rotate(8deg)}}@keyframes phase-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}#app.phase-swap .screen,#app.phase-swap .modal,#app.phase-swap .end{animation:phase-in .32s ease both}.card.fx-forging{visibility:hidden}.fx-upgrade{position:fixed;inset:0;z-index:22;display:grid;place-items:center;pointer-events:auto;cursor:pointer;opacity:1;transition:opacity calc(.42s * var(--fx-scale)) ease}.fx-upgrade.is-out{opacity:0;pointer-events:none}.fx-upgrade-veil{position:absolute;inset:0;background:#08060500;transition:background calc(.42s * var(--fx-scale)) ease}.fx-upgrade.is-live .fx-upgrade-veil,.fx-upgrade.is-before .fx-upgrade-veil,.fx-upgrade.is-strike .fx-upgrade-veil,.fx-upgrade.is-after .fx-upgrade-veil{background:#080605c7}.fx-upgrade.is-out .fx-upgrade-veil{background:#08060500}.fx-upgrade-stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.85rem;max-width:calc(100vw - 2rem)}.fx-upgrade-kicker{margin:0;letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;color:var(--gold);opacity:0;transform:translateY(6px);transition:opacity calc(.22s * var(--fx-scale)) ease,transform calc(.22s * var(--fx-scale)) ease}.fx-upgrade.is-before .fx-upgrade-kicker,.fx-upgrade.is-after .fx-upgrade-kicker,.fx-upgrade.is-strike .fx-upgrade-kicker{opacity:1;transform:none}.fx-upgrade-card{--card-w: 11.4rem;width:var(--card-w);flex:none;cursor:pointer;transform-origin:50% 50%}.fx-upgrade-bloom{position:absolute;inset:-20%;pointer-events:none;background:radial-gradient(circle at 50% 40%,rgba(228,195,106,.55),transparent 62%);opacity:0;mix-blend-mode:screen}.fx-upgrade.is-strike .fx-upgrade-bloom{animation:fx-forge-bloom calc(.42s * var(--fx-scale)) ease-out}.fx-upgrade.is-after .fx-upgrade-card{box-shadow:inset 0 1px #f4ead84d,0 0 0 2px #e4c36a9e,0 0 0 4px #241c16,0 18px 44px #0000008c}.fx-upgrade.is-after .fx-upgrade-card .face{box-shadow:inset 0 0 0 1px #e4c36a80,inset 0 1px #f4ead81f}.fx-upgrade.is-after .fx-upgrade-card .banner{color:#fff6d4}.fx-plus{display:inline-block;color:var(--gold);margin-left:.12em;opacity:0;transform:scale(.4) translateY(4px);transition:opacity calc(.2s * var(--fx-scale)) ease,transform calc(.28s * var(--fx-scale)) cubic-bezier(.18,.9,.22,1.15)}.fx-upgrade.is-after .fx-plus{opacity:1;transform:none}.fx-upgrade-card .fx-stat{font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}.fx-upgrade-card .cost .fx-stat{color:inherit}.fx-upgrade.is-after .fx-upgrade-card .fx-stat{color:var(--gold)}.fx-upgrade.is-after .fx-upgrade-card .cost .fx-stat{color:inherit}.fx-swap{display:grid}.fx-swap-from,.fx-swap-to{grid-area:1 / 1}.fx-swap-to{opacity:0;color:var(--gold)}.fx-upgrade.is-after .fx-swap-from{opacity:0}.fx-upgrade.is-after .fx-swap-to{opacity:1}.fx-upgrade-readout{display:flex;flex-direction:column;gap:.35rem;min-height:2.2rem;opacity:0;transform:translateY(8px);transition:opacity calc(.24s * var(--fx-scale)) ease,transform calc(.24s * var(--fx-scale)) ease}.fx-upgrade.is-before .fx-upgrade-readout,.fx-upgrade.is-strike .fx-upgrade-readout,.fx-upgrade.is-after .fx-upgrade-readout{opacity:1;transform:none}.fx-stat-row{display:flex;align-items:baseline;justify-content:center;gap:.7rem;font-weight:800;font-size:1.45rem;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.fx-stat-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}.fx-stat-pair{display:flex;align-items:baseline;gap:.45rem}.fx-stat-from{color:var(--ink);transition:color calc(.2s * var(--fx-scale)) ease,opacity calc(.2s * var(--fx-scale)) ease}.fx-upgrade.is-after .fx-stat-from{color:var(--muted);text-decoration:line-through;opacity:.55}.fx-upgrade .fx-stat-arrow{color:var(--gold-dim);opacity:0;transform:translate(-6px);transition:opacity calc(.2s * var(--fx-scale)) ease,transform calc(.24s * var(--fx-scale)) ease,color calc(.2s * var(--fx-scale)) ease}.fx-upgrade .fx-stat-to{color:var(--gold);opacity:0;transform:translate(-8px);transition:opacity calc(.22s * var(--fx-scale)) ease,transform calc(.24s * var(--fx-scale)) ease}.fx-upgrade.is-after .fx-stat-arrow,.fx-upgrade.is-after .fx-stat-to{opacity:1;transform:none}.fx-upgrade.is-after .fx-stat-arrow{color:var(--gold)}.fx-upgrade-hint{margin:0;color:var(--muted);font-size:.72rem;letter-spacing:.08em;opacity:0;transition:opacity calc(.3s * var(--fx-scale)) ease}.fx-upgrade.is-before .fx-upgrade-hint,.fx-upgrade.is-strike .fx-upgrade-hint,.fx-upgrade.is-after .fx-upgrade-hint{opacity:.7}.fx-upgrade.is-ready .fx-upgrade-hint{opacity:1;color:var(--gold);letter-spacing:.12em;text-transform:uppercase}.fx-upgrade.is-out .fx-upgrade-stage{opacity:0;transform:scale(.97) translateY(8px);transition:opacity calc(.42s * var(--fx-scale)) ease,transform calc(.42s * var(--fx-scale)) ease}@keyframes fx-forge-bloom{0%{opacity:0;transform:scale(.6)}35%{opacity:1}to{opacity:0;transform:scale(1.2)}}#app.boss-fight{background:radial-gradient(ellipse 70% 48% at 72% 22%,rgba(212,91,74,.18),transparent 58%),radial-gradient(ellipse 46% 36% at 12% 82%,rgba(70,18,10,.42),transparent 62%)}.boss-title{position:fixed;inset:0;z-index:16;display:grid;place-items:center;align-content:center;gap:.5rem;margin:0;padding:2rem 1.4rem 3rem;border:0;border-radius:0;min-height:100dvh;width:100%;background:radial-gradient(ellipse 70% 48% at 50% 40%,rgba(90,36,16,.5),transparent 68%),#060403e6;cursor:pointer;animation:boss-title-in .55s ease both}.boss-title h2{margin:0;font-size:clamp(2.1rem,8vw,3.6rem);color:var(--gold);text-shadow:0 0 28px rgba(228,195,106,.35)}.boss-title .lede{max-width:28rem;font-size:1.12rem;text-align:center}.boss-title .hint{margin-top:.85rem}@keyframes boss-title-in{0%{opacity:0}to{opacity:1}}@media(min-width:720px){.fx-upgrade-card{--card-w: 12.6rem}}html:has(.combat-screen),body:has(.combat-screen),html:has(.scene-screen),body:has(.scene-screen){height:100dvh;height:100svh;overscroll-behavior:none}#app:has(.combat-screen),#app:has(.scene-screen){display:flex;flex-direction:column;height:100dvh;height:100svh;min-height:0;max-height:100svh;overflow:hidden}#app:has(.combat-screen) .hud,#app:has(.scene-screen) .hud{flex:0 0 auto;position:relative}.combat-env{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.combat-env img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}.combat-env:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,8,10,.46) 0%,rgba(12,8,10,.12) 18%,transparent 38%,rgba(12,8,10,.28) 64%,rgba(11,9,7,.82) 100%),radial-gradient(ellipse at 50% 40%,transparent 34%,rgba(8,6,5,.42) 100%)}.combat-env[data-env=elite]:after{background:linear-gradient(180deg,#0c080a85,#0c080a2e 18%,#28120c1f 40%,#0c080a5c 64%,#0b0907db),radial-gradient(ellipse at 50% 40%,transparent 30%,rgba(8,6,5,.5) 100%)}.combat-env[data-env=boss]:after{background:linear-gradient(180deg,rgba(12,8,10,.4) 0%,rgba(12,8,10,.08) 16%,transparent 36%,rgba(12,8,10,.3) 66%,rgba(11,9,7,.84) 100%),radial-gradient(ellipse at 50% 36%,transparent 28%,rgba(8,6,5,.48) 100%)}.scene-screen{position:relative;z-index:1;flex:1 1 auto;min-height:0;width:100%;max-width:64rem;margin:0 auto;padding:.45rem 1rem max(1rem,env(safe-area-inset-bottom));display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:.6rem;cursor:pointer}.scene-stage{position:relative;min-height:12rem;display:flex;align-items:stretch;justify-content:space-between;gap:1rem;pointer-events:none}.scene-cast{margin:0;width:min(38%,14rem);min-width:0;min-height:0;height:auto;align-self:stretch;display:flex;flex-direction:column;align-items:center;filter:grayscale(.15) brightness(.86);transition:transform .2s ease,filter .2s ease}.scene-cast img{width:100%;flex:1 1 auto;min-height:0;height:auto;aspect-ratio:auto;object-fit:cover;object-position:50% 18%;border-radius:.7rem;border:2px solid var(--gold-dim);display:block;background:#120e0b}.scene-cast figcaption{margin-top:.35rem;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.scene-cast-left{align-self:flex-end}.scene-cast-right{align-self:flex-end;margin-left:auto}.scene-cast-center{position:absolute;left:50%;top:0;bottom:0;transform:translate(-50%);width:min(42%,15rem);height:auto}.scene-cast.is-speaking{filter:none;transform:translateY(-.35rem);z-index:1}.scene-cast-center.is-speaking{transform:translate(-50%) translateY(-.35rem)}.scene-meters{display:flex;flex-wrap:wrap;gap:.55rem 1rem;color:var(--muted);font-size:.82rem}.scene-meter b{color:var(--gold)}.scene-box{background:#100c0ae0;border:2px solid var(--gold-dim);border-radius:1rem;padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.45rem;cursor:pointer}.scene-who{margin:0;font-weight:700;color:var(--gold)}.scene-line{margin:0;min-height:3.2rem;font-size:1.05rem;line-height:1.45}.scene-continue{margin:0;color:var(--muted);font-size:.82rem}.scene-progress{float:right;color:var(--muted);letter-spacing:.04em}.scene-choices{margin-top:.35rem}#app:has(.scene-screen) .hud{flex:0 0 auto;position:relative;z-index:2;background:#100c0aeb;border-bottom:1px solid var(--gold-dim)}html[data-theme=starlight] #app:has(.scene-screen) .hud{background:#120c20f0;border-bottom-color:#6a4a88}html[data-theme=starlight] .scene-box{background:#160e28e0;border-color:#6a4a88}html[data-theme=starlight] .scene-cast img{border-color:#6a4a88;background:#160e28}html[data-theme=starlight] .shop-keeper img{border-color:#6a4a88;background:#160e28;border-radius:1rem}.combat-screen{position:relative;z-index:1;flex:1 1 auto;min-height:0;min-width:0;width:100%;max-width:64rem;margin:0 auto;padding:.45rem 1rem 0;display:grid;grid-template-areas:"turn" "stage" "status" "hand" "bar";grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:0}.combat-screen>.eyebrow{grid-area:turn;margin:0 0 .2rem}#app:has(.combat-env) .combat-screen>.eyebrow{text-shadow:0 1px 8px #0b0907,0 0 12px #0b0907}#app:has(.combat-env) .hud{background:#0b09078c}.combat-screen>.stage{grid-area:stage;min-height:0;overflow:hidden;padding:.1rem 0 .2rem;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;align-items:flex-start;isolation:isolate}.combat-screen .enemies{flex:1 1 auto;min-width:0;min-height:0;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;justify-content:flex-end;align-items:flex-start;align-self:stretch;-webkit-overflow-scrolling:touch}.combat-screen .actor{min-height:0;height:auto;align-self:flex-start}.combat-screen .actor.has-body{align-self:flex-end;aspect-ratio:auto;width:8.6rem;max-width:10rem;height:auto;max-height:min(18rem,58dvh)}.combat-screen .actor .face{flex:1 1 auto;min-height:0}.combat-screen .meters,.combat-screen .vitals,.combat-screen .pips,.combat-screen .badges,.combat-screen .intent,.combat-screen .life{flex-shrink:0}.combat-screen>.status{grid-area:status}.combat-screen>.hand{grid-area:hand;min-width:0;min-height:0;max-width:100%;width:100%}.combat-screen>.bar{grid-area:bar;flex-wrap:nowrap;gap:.45rem .65rem;padding-bottom:max(.55rem,env(safe-area-inset-bottom,0px))}.combat-screen #end-turn{position:relative;isolation:isolate;white-space:nowrap;overflow:hidden;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.combat-screen #end-turn.needs-hold{border-color:var(--gold-dim)}.combat-screen #end-turn.holding:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#e4c36a6b,#e4c36a29);transform:scaleX(0);transform-origin:left center;animation:end-turn-hold var(--end-turn-hold, .45s) linear forwards;pointer-events:none}.combat-screen #end-turn.nudge{animation:end-turn-nudge .28s ease}@keyframes end-turn-hold{to{transform:scaleX(1)}}@keyframes end-turn-nudge{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@media(prefers-reduced-motion:reduce){.combat-screen #end-turn.holding:before{animation:none;transform:scaleX(1);opacity:.4}.combat-screen #end-turn.nudge{animation:none}}.combat-screen .bar .potion-belt{margin-right:.15rem}.combat-screen .piles{font-size:.82rem}@media(pointer:coarse),(hover:none){:root{--map-screen-pad-top: .65rem;--map-screen-pad-bottom: max(3.2rem, calc(var(--safe-bottom) + 1.25rem));--map-legend-bottom: max(3rem, var(--safe-bottom))}.kbd-hint{display:none}.potion-slot:not(.potion-ware){width:3rem;height:3rem;min-height:3rem}.hud-abandon,.hud-settings{min-height:2.6rem}#app:has(.map-screen) .hud,#app:has(.map-backdrop) .hud{padding-top:max(1.55rem,var(--safe-top))}}@media(max-width:719px){.hud{gap:.35rem .7rem;padding:max(.45rem,env(safe-area-inset-top)) .75rem .45rem}.hud-main{gap:.28rem .7rem}.hud .life{width:5.8rem;height:1.02rem}.hud .stat.seed,.hud .stat.act,.hud .stat.deck,.relic-name{display:none}.hud-opts{margin-left:0;flex:1 1 100%;flex-wrap:nowrap;overflow-x:auto;min-width:0;-webkit-overflow-scrolling:touch}.map-wrap{min-height:min(64dvh,36rem)}.map-chrome{left:.75rem;right:.75rem;top:max(.3rem,var(--map-screen-pad-top))}.map-screen .legend{left:.75rem;right:.75rem}.map-node,.map-node.boss{width:2.8rem;height:2.8rem;min-height:2.8rem;font-size:1rem}.map-node.boss{font-size:1.15rem}.card,.card-stack{--card-w: 8.2rem}.hand{padding:var(--hand-raise-room) .25rem .45rem;gap:1.15rem}.offer-row .card,.forge-compare .card{--card-w: 8.8rem}.screen{padding:.65rem .75rem 1.2rem}.embark-card h1{font-size:1.85rem;margin:.15rem 0 .2rem}.piles [data-pile]{min-width:0}}@media(min-width:560px){.roster-foes{grid-template-columns:repeat(3,1fr)}}@media(max-width:719px),(orientation:landscape)and (max-height:640px)and (max-width:1199px){.kbd-hint,.hud .stat.seed,.hud .stat.act,.hud .stat.deck,.relic-name{display:none}.hud{font-size:.92rem}.potion-slot:not(.potion-ware){width:2.85rem;height:2.85rem;min-height:2.85rem}.hud-abandon{min-height:2.55rem;padding:.35rem .75rem}}html[data-ui^=phone] .kbd-hint,html[data-ui^=phone] .hud .stat.seed,html[data-ui^=phone] .hud .stat.act,html[data-ui^=phone] .hud .stat.deck,html[data-ui^=phone] .relic-name{display:none}html[data-ui^=phone] .hud{font-size:.88rem;flex-wrap:nowrap;gap:.3rem .45rem;justify-content:space-between;padding:max(.28rem,env(safe-area-inset-top)) .55rem .28rem}html[data-ui^=phone] .hud-main{flex-wrap:nowrap;gap:.25rem .45rem;min-width:0;flex:1 1 auto;overflow:hidden}html[data-ui^=phone] .hud .life{width:4.8rem;height:.92rem}html[data-ui^=phone] .hud .stat.turn{display:inline;color:var(--gold);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;flex:none}html[data-ui^=phone] .relic-chip{padding:.06rem;gap:0}html[data-ui^=phone] .relic-mark{width:1.55rem;height:1.55rem}html[data-ui^=phone] .relic-ware{min-width:5.6rem;max-width:7.4rem;padding:.3rem}html[data-ui^=phone] .treasure-relic{width:5.6rem;height:5.6rem}html[data-ui^=phone]:has(.combat-screen) .hud-tools{display:none}html[data-ui^=phone]:has(.combat-screen) .hud-main>.eyebrow,html[data-ui^=phone]:has(.combat-screen) .hud .stat.gold{display:none}html[data-ui^=phone]:has(.combat-screen) .combat-screen>.eyebrow,html[data-ui^=phone]:has(.combat-screen) .combat-screen>.log{display:none}html[data-ui^=phone] .combat-screen .potion-slot:not(.filled),html[data-ui^=phone]:has(.map-screen) .hud .potion-belt{display:none}html[data-ui^=phone]{--map-field-top: 2.8rem;--map-field-x: 1.5rem;--map-field-bottom: 1.85rem}html[data-ui^=phone] .map-screen .legend{gap:.2rem .55rem;font-size:.68rem;justify-content:center;flex-wrap:wrap;left:.45rem;right:.45rem;padding:.15rem .2rem}html[data-ui^=phone] .map-screen .legend span{white-space:nowrap}html[data-ui^=phone] .potion-slot:not(.potion-ware){width:2.75rem;height:2.75rem;min-height:2.75rem}html[data-ui^=phone] .hud-abandon,html[data-ui^=phone] .hud-settings{min-height:2.4rem;padding:.28rem .55rem;font-size:.78rem}html[data-ui^=phone] .hud-layout,html[data-ui=desktop] .hud-layout{display:inline-flex}html[data-ui=phone-landscape] .hud-layout{min-height:2.4rem;padding:.28rem .55rem;font-size:.78rem}html[data-ui^=phone] .pip{width:.72rem;height:.72rem}html[data-ui^=phone] .pips{gap:.22rem;margin-top:.22rem}html[data-ui^=phone] .intent{min-height:1.55rem;font-size:.74rem;margin-top:.22rem;padding:.12rem .28rem}html[data-ui^=phone] .badge{font-size:.68rem;padding:.08rem .35rem}html[data-ui=phone-portrait] .hud-opts{margin-left:auto;flex:0 0 auto;flex-wrap:nowrap}html[data-ui=phone-portrait]{--map-screen-pad-top: .7rem;--map-field-top: 3.15rem;--map-field-x: .7rem;--map-field-bottom: 2.35rem}html[data-ui=phone-portrait] .map-wrap{min-height:0}html[data-ui=phone-portrait] .map-node,html[data-ui=phone-portrait] .map-node.boss{width:2.8rem;height:2.8rem;min-height:2.8rem;font-size:1rem}html[data-ui=phone-portrait] .combat-screen{position:relative;max-width:none;padding:.12rem .45rem 0;grid-template-areas:"stage" "hand" "bar";grid-template-rows:minmax(0,1fr) auto auto}html[data-ui=phone-portrait] .combat-screen>.status{grid-area:stage;align-self:start;justify-self:end;z-index:3;margin:0;max-width:55%;font-size:.78rem}html[data-ui=phone-portrait] .combat-screen>.stage{min-height:0;overflow:hidden;padding:.12rem .05rem .1rem}html[data-ui=phone-portrait] .combat-screen.boss-screen>.stage{min-height:0}html[data-ui=phone-portrait] .combat-screen .enemies{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:flex-start;gap:.2rem;min-width:0;min-height:0;overflow-x:auto;overflow-y:hidden}html[data-ui=phone-portrait] .combat-screen .enemies:has(.actor:nth-child(3)){display:flex;grid-template-columns:none}html[data-ui=phone-portrait] .combat-screen .enemies .actor{flex:0 1 auto;width:min(15rem,calc(min(22rem,64dvh) * 2 / 3));max-width:15rem;min-width:5.6rem;height:auto;max-height:min(22rem,64dvh);min-height:0;align-self:flex-end;display:flex;flex-direction:column;aspect-ratio:var(--card-ratio)}html[data-ui=phone-portrait] .combat-screen .actor.boss{--unit-w: min(15rem, 72vw);max-width:var(--unit-w);max-height:min(26rem,72dvh)}html[data-ui=phone-portrait] .combat-screen .actor .face{flex:1 1 auto;min-height:0}html[data-ui=phone-portrait] .combat-screen .vitals,html[data-ui=phone-portrait] .combat-screen .pips,html[data-ui=phone-portrait] .combat-screen .badges,html[data-ui=phone-portrait] .combat-screen .intent,html[data-ui=phone-portrait] .combat-screen .life{flex-shrink:0}html[data-ui=phone-portrait] .combat-screen>.hand{padding:.28rem .05rem .12rem;gap:.42rem;align-items:flex-end;justify-content:flex-start;min-width:0;min-height:0;max-width:100%;width:100%;overflow-x:auto;overflow-y:hidden;touch-action:pan-x;-webkit-overflow-scrolling:touch}html[data-ui=phone-portrait] .combat-screen>.hand.is-overflowing{padding-bottom:.38rem}html[data-ui=phone-portrait] .combat-screen>.hand>.card{--card-w: min(9.4rem, 44vw);flex:0 0 var(--card-w);width:var(--card-w);min-width:var(--card-w);max-width:none;min-height:0;height:auto;touch-action:pan-x}html[data-ui=phone-portrait] .combat-screen>.hand .card-stack{--card-w: min(9.4rem, 44vw);flex:0 0 calc(var(--card-w) + var(--sheet-pad-x));width:calc(var(--card-w) + var(--sheet-pad-x));min-width:calc(var(--card-w) + var(--sheet-pad-x));max-width:none;height:auto;touch-action:pan-x}html[data-ui=phone-portrait] .combat-screen>.bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"flasks end piles";gap:.35rem .45rem;align-items:center;padding:.28rem .05rem max(.7rem,calc(env(safe-area-inset-bottom,0px) + .32rem))}html[data-ui=phone-portrait] .combat-screen .bar .potion-belt{grid-area:flasks;margin:0}html[data-ui=phone-portrait] .combat-screen #end-turn{grid-area:end;width:100%;min-height:2.85rem}html[data-ui=phone-portrait] .combat-screen .piles{grid-area:piles;display:flex;flex-direction:column;gap:.05rem;font-size:.72rem;line-height:1.15}html[data-ui=phone-portrait] .combat-screen .piles [aria-hidden]{display:none}html[data-ui=phone-portrait] .combat-screen .piles [data-pile]{min-width:0;min-height:0;display:block;text-align:right;padding:0}html[data-ui=phone-landscape]{--map-screen-pad-top: .3rem;--map-field-top: 1.9rem;--map-field-x: 1.5rem;--map-field-bottom: 1.35rem}html[data-ui=phone-landscape] .hud{padding-top:max(.2rem,env(safe-area-inset-top));padding-bottom:.18rem;overflow-x:auto}html[data-ui=phone-landscape] .hud-opts{flex-wrap:nowrap;width:auto;margin-left:auto}html[data-ui=phone-landscape] .map-wrap{min-height:min(78dvh,22rem)}html[data-hand] .combat-screen{--hand-rail: clamp(10.8rem, 46dvh, 13.6rem);--hand-overlay: clamp(7.4rem, 36dvh, 9.2rem);--ls-card-w: clamp(9.2rem, 28dvh, 11.4rem);position:relative;max-width:none}html[data-hand] .combat-screen>.stage{display:flex;flex-wrap:nowrap;align-items:flex-end;justify-content:space-between;gap:.55rem .8rem;min-height:0;overflow:hidden}html[data-hand] .combat-screen .enemies{display:flex;flex:1 1 auto;justify-content:flex-end;align-items:flex-end;min-width:0;min-height:0}html[data-hand] .combat-screen .enemies .actor{flex:0 1 auto;width:min(15rem,calc(min(22rem,64dvh) * 2 / 3));min-width:5.6rem;max-width:15rem;min-height:0;height:auto;max-height:min(22rem,64dvh);aspect-ratio:var(--card-ratio);align-self:flex-end}html[data-hand] .combat-screen .actor.boss{flex:0 1 auto;width:min(18rem,calc(min(26rem,76dvh) * 2 / 3));max-width:18rem;max-height:min(26rem,76dvh)}html[data-hand] .combat-screen .stage>.actor.player{flex:0 0 auto;display:flex;flex-direction:column;width:min(11.8rem,calc(min(18.5rem,52dvh) * 2 / 3));max-width:13.2rem;min-width:5.2rem;min-height:0;height:auto;max-height:min(18.5rem,52dvh);aspect-ratio:var(--card-ratio);align-self:flex-end;container-type:size}html[data-hand=bottom] .combat-screen{grid-template-areas:"turn" "stage" "hand" "bar";grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto;column-gap:0}html[data-hand=bottom][data-bar=beside] .combat-screen{grid-template-areas:"turn turn" "stage stage" "hand bar";grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto;column-gap:.28rem}html[data-hand=right] .combat-screen{grid-template-areas:"turn hand" "stage hand" "bar   hand";grid-template-columns:minmax(0,1fr) var(--hand-rail);grid-template-rows:auto minmax(0,1fr) auto;column-gap:.32rem}html[data-hand=right][data-bar=bottom] .combat-screen{grid-template-areas:"turn turn" "stage hand" "bar   bar";grid-template-rows:auto minmax(0,1fr) auto}html[data-hand=left] .combat-screen{grid-template-areas:"hand turn" "hand stage" "hand bar";grid-template-columns:var(--hand-rail) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;column-gap:.32rem}html[data-hand=left][data-bar=bottom] .combat-screen{grid-template-areas:"turn turn" "hand stage" "bar  bar";grid-template-rows:auto minmax(0,1fr) auto}html[data-hand=overlay] .combat-screen{grid-template-areas:"turn" "stage" "bar";grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}html[data-hand=overlay] .combat-screen>.stage{padding-right:var(--hand-overlay)}html[data-hand=overlay] .combat-screen>.hand{grid-area:stage;justify-self:end;align-self:stretch;width:var(--hand-overlay);max-width:42%;min-height:0;z-index:2}html[data-hand=overlay] .combat-screen>.status{justify-self:start;max-width:42%}html[data-hand] .combat-screen>.status{grid-area:stage;align-self:start;justify-self:end;z-index:3;margin:0;max-width:48%}html[data-hero=right][data-foes=left] .combat-screen>.stage,html[data-hero=right][data-foes=right] .combat-screen>.stage,html[data-hero=right][data-foes=center] .combat-screen>.stage{flex-direction:row-reverse}html[data-hero=left][data-foes=left] .combat-screen>.stage,html[data-hero=right][data-foes=right] .combat-screen>.stage{justify-content:flex-start}html[data-hero=center] .combat-screen>.stage{justify-content:center}html[data-hero=below] .combat-screen>.stage{flex-direction:column;align-items:center;justify-content:flex-end}html[data-hero=below] .combat-screen .stage>.actor.player{order:1;align-self:center;width:min(13.5rem,calc(min(22rem,62dvh) * 2 / 3));max-height:min(22rem,62dvh)}html[data-hero=center] .combat-screen .stage>.actor.player,html[data-hero=left][data-foes=right] .combat-screen .stage>.actor.player{width:min(13.5rem,calc(min(22rem,62dvh) * 2 / 3));max-height:min(22rem,62dvh)}html[data-hand] .combat-screen .actor.has-body,html[data-hero] .combat-screen .actor.has-body,html[data-ui] .combat-screen .actor.has-body{aspect-ratio:auto;width:8.6rem;max-width:10rem;max-height:min(18rem,58dvh);align-self:flex-end}html[data-foes=left] .combat-screen .enemies{justify-content:flex-start}html[data-foes=right] .combat-screen .enemies{justify-content:flex-end}html[data-foes=center] .combat-screen .enemies{justify-content:center}html[data-hero=left][data-foes=left] .combat-screen .enemies,html[data-hero=right][data-foes=right] .combat-screen .enemies,html[data-hero=center] .combat-screen .enemies,html[data-hero=below] .combat-screen .enemies{flex:0 1 auto}html[data-hand=bottom] .combat-screen>.hand{flex-direction:row;flex-wrap:nowrap;align-items:flex-end;justify-content:safe center;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;touch-action:pan-x;border-left:none;background:linear-gradient(180deg,transparent,rgba(12,9,7,.8));padding:.12rem .2rem .16rem;gap:.42rem}html[data-hand=bottom] .combat-screen>.hand>.card,html[data-hand=bottom] .combat-screen>.hand>.card-stack{align-self:flex-end;touch-action:pan-x;scroll-snap-align:start}html[data-hand=bottom] .combat-screen>.hand>.card{--card-w: var(--ls-card-w, 9.4rem);flex:0 0 var(--card-w);width:var(--card-w);max-width:none;height:auto;aspect-ratio:var(--card-ratio)}html[data-hand=bottom] .combat-screen>.hand>.card-stack{--card-w: var(--ls-card-w, 9.4rem);flex:0 0 calc(var(--card-w) + var(--sheet-pad-x, 0px));width:calc(var(--card-w) + var(--sheet-pad-x, 0px));height:auto}html[data-hand=bottom] .combat-screen>.hand .card-stack>.card{width:100%;height:100%}html[data-hand=bottom] .combat-screen>.hand.is-overflowing{justify-content:flex-start}html:is([data-hand=left],[data-hand=right],[data-hand=overlay]) .combat-screen>.hand{flex-direction:column;flex-wrap:nowrap;align-self:stretch;align-items:stretch;justify-content:flex-start;overflow-x:hidden;overflow-y:auto;scroll-snap-type:y proximity;touch-action:pan-y;isolation:isolate;z-index:1;min-width:0;min-height:0;max-width:100%;padding:.08rem .18rem .12rem .2rem;gap:.22rem;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--gold) 62%,#3a3127) transparent}html[data-hand=right] .combat-screen>.hand{border-left:1px solid var(--gold-dim);background:linear-gradient(90deg,#120e0beb,#0c0907b8 28%,#0c09078c)}html[data-hand=left] .combat-screen>.hand{border-right:1px solid var(--gold-dim);background:linear-gradient(270deg,#120e0beb,#0c0907b8 28%,#0c09078c);padding:.08rem .2rem .12rem .18rem}html[data-hand=overlay] .combat-screen>.hand{background:linear-gradient(90deg,transparent,rgba(12,9,7,.9) 22%);border-left:1px solid color-mix(in srgb,var(--gold-dim) 70%,transparent)}html[data-hand=left] .combat-screen>.status{justify-self:start}html:is([data-hand=left],[data-hand=right],[data-hand=overlay]) .combat-screen>.hand>.card,html:is([data-hand=left],[data-hand=right],[data-hand=overlay]) .combat-screen>.hand>.card-stack{align-self:stretch;flex-grow:0;flex-shrink:0;scroll-snap-align:start;touch-action:pan-y}html:is([data-hand=left],[data-hand=right],[data-hand=overlay]) .combat-screen>.hand>.card{--card-w: 100%;flex:0 0 auto;width:100%;max-width:none;min-width:0;min-height:0;height:auto;aspect-ratio:var(--card-ratio)}html:is([data-hand=left],[data-hand=right],[data-hand=overlay]) .combat-screen>.hand>.card-stack{--card-w: 100%;flex-basis:auto;width:100%;height:auto}html:is([data-hand=left],[data-hand=right],[data-hand=overlay]) .combat-screen>.hand .card-stack>.card{width:100%;height:100%}html[data-bar=beside][data-hand=bottom] .combat-screen>.bar{flex-direction:column;align-items:stretch;justify-content:flex-end;gap:.18rem;min-width:6.6rem;padding-left:.2rem}html[data-bar=beside][data-hand=bottom] .combat-screen #end-turn{min-width:0;width:100%}html[data-ui=phone-portrait][data-hand=bottom] .combat-screen>.hand>.card{--card-w: min(9.4rem, 44vw)}html[data-ui=phone-portrait][data-hand=bottom] .combat-screen>.hand .card-stack{--card-w: min(9.4rem, 44vw)}html[data-ui=phone-landscape] .modal-card.settings-card{overflow:auto}html[data-ui=phone-landscape] .embark{padding-top:max(.6rem,env(safe-area-inset-top));padding-bottom:max(.8rem,env(safe-area-inset-bottom))}html[data-ui=phone-landscape] .modal{align-items:stretch;padding:.28rem .55rem}html[data-ui=phone-landscape] .modal-card{max-height:none;height:100%;padding:.65rem .85rem .4rem;gap:.4rem}html[data-ui=phone-landscape] .modal-card.spoils-card{height:auto;max-height:100%;align-self:center;overflow:auto}html[data-ui=phone-landscape] .event-card .event-art{aspect-ratio:auto;height:4.4rem;max-height:4.4rem}html[data-ui=phone-landscape] .shop-keeper{gap:.55rem}html[data-ui=phone-landscape] .shop-keeper figure{width:3.5rem;height:3.5rem}html[data-ui=phone-landscape] .offer-row .card,html[data-ui=phone-landscape] .forge-compare .card{--card-w: 7.4rem}html[data-ui=phone-landscape][data-hand] .combat-screen{--hand-rail: clamp(6.2rem, 36dvh, 7.4rem);--hand-overlay: clamp(5.8rem, 34dvh, 6.8rem);--ls-card-w: clamp(4.5rem, 30dvh, 5.5rem);padding:.02rem .16rem 0;padding-left:max(.16rem,env(safe-area-inset-left,0px));padding-right:max(.16rem,env(safe-area-inset-right,0px))}html[data-ui=phone-landscape][data-hand] .combat-screen .enemies .actor{width:min(7.2rem,calc(min(9.8rem,42dvh) * 2 / 3));max-width:7.6rem;min-width:4.4rem;max-height:min(9.8rem,42dvh)}html[data-ui=phone-landscape][data-hand] .combat-screen .actor.boss{width:min(8.4rem,calc(min(11.2rem,48dvh) * 2 / 3));max-width:9rem;max-height:min(11.2rem,48dvh)}html[data-ui=phone-landscape][data-hand] .combat-screen .stage>.actor.player{width:min(6.4rem,calc(min(8.8rem,38dvh) * 2 / 3));max-width:7rem;min-width:4.2rem;max-height:min(8.8rem,38dvh)}html[data-ui=phone-landscape][data-hand] .combat-screen>.bar{padding:.04rem .04rem max(.28rem,env(safe-area-inset-bottom,0px));gap:.2rem .32rem}html[data-ui=phone-landscape][data-hand] .combat-screen #end-turn{min-height:2rem;min-width:5.2rem;padding:.2rem .5rem}html[data-ui=phone-landscape][data-hero=below] .combat-screen .stage>.actor.player{width:min(6.4rem,calc(min(8.8rem,38dvh) * 2 / 3));max-height:min(8.8rem,38dvh)}html[data-ui^=phone] .combat-screen .enemies .actor .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html[data-ui^=phone] .map-screen .map-wrap,html[data-ui^=phone] .map-backdrop .map-wrap{min-height:0}html[data-place]{--hand-pack-x: 0;--hand-pack-y: 0;--hand-pack-w: 1;--hand-pack-h: 1;--hero-pack-x: 0;--hero-pack-y: 0;--hero-pack-w: 1;--hero-pack-h: 1;--foes-pack-x: 0;--foes-pack-y: 0;--foes-pack-w: 1;--foes-pack-h: 1}html[data-place] .combat-screen{position:relative;display:block;max-width:none;overflow:hidden}html[data-place] .combat-screen>.eyebrow,html[data-place] .combat-screen>.status,html[data-place] .combat-screen>.stage,html[data-place] .combat-screen>.place-unit,html[data-place] .combat-screen>.hand,html[data-place] .combat-screen>.bar{grid-area:auto}html[data-place] .combat-screen>.eyebrow{position:absolute;top:.1rem;left:.2rem;z-index:20;margin:0}html[data-place] .combat-screen>.status{position:absolute;top:.15rem;right:.35rem;z-index:20;margin:0;max-width:46%;justify-self:auto;align-self:auto}html[data-place] .combat-screen>.stage{position:absolute;inset:0;z-index:0;pointer-events:none;min-height:0;overflow:hidden}html[data-place] .combat-screen>.place-unit{position:absolute;z-index:2;min-width:0;min-height:0;box-sizing:border-box;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}html[data-place] .combat-screen>.place-unit .actor,html[data-place][data-hand] .combat-screen>.place-unit .actor{position:relative;left:auto;top:auto;width:100%;height:100%;max-width:100%;max-height:100%;min-width:0;min-height:0;aspect-ratio:auto;flex:none;align-self:stretch}html[data-place] .combat-screen>.hand{position:absolute;z-index:4;left:calc(var(--hand-x) * 100%);top:calc(var(--hand-y) * 100%);width:calc(var(--hand-w) * 100%);height:calc(var(--hand-h) * 100%);max-width:none;min-width:0;min-height:0;box-sizing:border-box;overflow:visible;padding:0}html[data-place] .combat-screen>.hand>.place-pack{position:absolute;left:calc(var(--hand-pack-x) * 100%);top:calc(var(--hand-pack-y) * 100%);width:calc(var(--hand-pack-w) * 100%);height:calc(var(--hand-pack-h) * 100%);box-sizing:border-box;min-width:0;min-height:0}html[data-place] .combat-screen>.bar{position:absolute;z-index:5;left:calc(var(--bar-x) * 100%);top:calc(var(--bar-y) * 100%);width:calc(var(--bar-w) * 100%);height:calc(var(--bar-h) * 100%);box-sizing:border-box;margin:0;padding:.12rem .2rem;display:flex;flex-wrap:nowrap;align-items:center;min-width:0}html[data-place] .combat-screen>.bar #end-turn{min-width:0}html[data-place][data-hand-flow=row] .combat-screen>.hand{background:linear-gradient(180deg,transparent,rgba(12,9,7,.82))}html[data-place][data-hand-flow=row] .combat-screen>.hand>.place-pack{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-end;justify-content:safe center;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;touch-action:pan-x;gap:.38rem;padding:.12rem .28rem}html[data-place][data-hand-flow=row] .combat-screen>.hand>.place-pack.is-overflowing{justify-content:flex-start}html[data-place][data-hand-flow=row] .combat-screen>.hand>.place-pack>.card,html[data-place][data-hand-flow=row] .combat-screen>.hand>.place-pack>.card-stack{align-self:flex-end;touch-action:pan-x;scroll-snap-align:start;flex:0 0 auto;height:calc(100% - var(--hand-raise-room));max-height:calc(100% - var(--hand-raise-room));width:auto;min-width:0;aspect-ratio:var(--card-ratio)}html[data-place][data-hand-flow=row] .combat-screen>.hand>.place-pack>.card{--card-w: auto}html[data-place][data-hand-flow=row] .combat-screen>.hand>.place-pack>.card-stack{--card-w: auto}html[data-place][data-hand-flow=row] .combat-screen>.hand .card-stack>.card{width:100%;height:100%}html[data-ui=phone-portrait][data-place][data-hand-flow=row] .combat-screen>.hand>.place-pack>.card,html[data-ui=phone-portrait][data-place][data-hand-flow=row] .combat-screen>.hand>.place-pack>.card-stack{--card-w: min(7.8rem, 31vw);width:var(--card-w);height:auto;flex:0 0 var(--card-w);max-height:calc(100% - var(--hand-raise-room))}html[data-ui=phone-portrait][data-place][data-hand-flow=row] .combat-screen>.hand>.place-pack>.card-stack{flex-basis:calc(var(--card-w) + var(--sheet-pad-x, 0px));width:calc(var(--card-w) + var(--sheet-pad-x, 0px))}html[data-place][data-hand-flow=col] .combat-screen>.hand{background:linear-gradient(90deg,#120e0be6,#0c09078c)}html[data-place][data-hand-flow=col] .combat-screen>.hand>.place-pack{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;overflow-x:hidden;overflow-y:auto;scroll-snap-type:y proximity;touch-action:pan-y;gap:.2rem;padding:.12rem .16rem}html[data-place][data-hand-flow=col] .combat-screen>.hand>.place-pack:before{content:"";flex:0 0 var(--hand-raise-room);width:100%;pointer-events:none}html[data-place][data-hand-flow=col] .combat-screen>.hand>.place-pack>.card,html[data-place][data-hand-flow=col] .combat-screen>.hand>.place-pack>.card-stack{align-self:stretch;flex:0 0 auto;width:100%;max-width:none;min-width:0;height:auto;aspect-ratio:var(--card-ratio);touch-action:pan-y;scroll-snap-align:start}html[data-place][data-hand-flow=col] .combat-screen>.hand>.place-pack>.card{--card-w: 100%}html[data-place][data-hand-flow=col] .combat-screen>.hand .card-stack>.card{width:100%;height:100%}html[data-place]:not([data-arranging]) .combat-screen .hand .card,html[data-place]:not([data-arranging]) .combat-screen .hand .card-stack,html[data-place]:not([data-arranging]) .combat-screen .place-unit .actor{pointer-events:auto}.place-chrome{display:none;pointer-events:none}html[data-arranging] .combat-screen>[data-place]{outline:2px dashed color-mix(in srgb,var(--gold) 80%,transparent);outline-offset:2px;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}html[data-arranging] .combat-screen>[data-place].place-focus{outline-width:3px;outline-color:var(--gold)}html[data-arranging] .combat-screen>[data-place].place-grouped{outline-width:2px;outline-style:dashed}html[data-arranging] .combat-screen>[data-place].place-grouped>.place-chrome{display:none;pointer-events:none}html[data-arranging] .place-group{position:absolute;box-sizing:border-box;pointer-events:auto;outline:3px solid var(--gold);outline-offset:2px;cursor:grab;z-index:18}html[data-arranging] .place-group>.place-chrome{display:block}html[data-arranging] .combat-screen [data-pack]{outline:none;pointer-events:none;touch-action:none}html[data-arranging] .combat-screen [data-pack]>.place-chrome{display:none;pointer-events:none}html[data-arranging] .combat-screen [data-pack] .card,html[data-arranging] .combat-screen [data-pack] .card-stack,html[data-arranging] .combat-screen [data-pack] .actor,html[data-arranging] .combat-screen .place-unit .actor{pointer-events:none}html[data-arranging] .combat-screen>[data-place]>:not(.place-chrome):not(.place-pack){pointer-events:none}html[data-arranging] .place-chrome{display:block;position:absolute;inset:0;z-index:8;pointer-events:auto;cursor:grab}html[data-arranging] .place-label{pointer-events:auto;position:absolute;top:.18rem;left:.28rem;z-index:2;padding:.08rem .45rem;border-radius:999px;background:color-mix(in srgb,#120e0b 82%,transparent);color:var(--gold);font-size:.68rem;letter-spacing:.04em;cursor:grab;-webkit-user-select:none;user-select:none}html[data-arranging] .place-handle{--handle-size: .7rem;--handle-bar: 1.35rem;--handle-out: .28rem;pointer-events:auto;position:absolute;z-index:3;width:var(--handle-size);height:var(--handle-size);background:var(--gold);border:1px solid #120e0b;border-radius:.12rem;box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 50%,transparent);touch-action:none}html[data-arranging] .place-handle[data-handle=n],html[data-arranging] .place-handle[data-handle=s]{left:50%;width:var(--handle-bar);margin-left:calc(var(--handle-bar) / -2);cursor:ns-resize}html[data-arranging] .place-handle[data-handle=e],html[data-arranging] .place-handle[data-handle=w]{top:50%;height:var(--handle-bar);margin-top:calc(var(--handle-bar) / -2);cursor:ew-resize}html[data-arranging] .place-handle[data-handle=n]{top:calc(0px - var(--handle-out))}html[data-arranging] .place-handle[data-handle=s]{bottom:calc(0px - var(--handle-out));top:auto}html[data-arranging] .place-handle[data-handle=e]{right:calc(0px - var(--handle-out));left:auto}html[data-arranging] .place-handle[data-handle=w]{left:calc(0px - var(--handle-out))}html[data-arranging] .place-handle[data-handle=nw]{top:calc(0px - var(--handle-out));left:calc(0px - var(--handle-out));cursor:nwse-resize}html[data-arranging] .place-handle[data-handle=ne]{top:calc(0px - var(--handle-out));right:calc(0px - var(--handle-out));left:auto;cursor:nesw-resize}html[data-arranging] .place-handle[data-handle=sw]{bottom:calc(0px - var(--handle-out));top:auto;left:calc(0px - var(--handle-out));cursor:nesw-resize}html[data-arranging] .place-handle[data-handle=se]{bottom:calc(0px - var(--handle-out));top:auto;right:calc(0px - var(--handle-out));left:auto;cursor:nwse-resize}@media(pointer:coarse),(hover:none){html[data-arranging] .place-handle{--handle-size: 1.15rem;--handle-bar: 2.4rem;--handle-out: .42rem}html[data-arranging] .place-handle:before{content:"";position:absolute;inset:-.8rem}}html[data-arranging] .combat-screen>.hand .card,html[data-arranging] .combat-screen>.hand .card-stack{cursor:inherit}.arrange-float .hint{margin:0;font-size:.78rem;color:var(--muted)}.arrange-float #arrange-reset{margin-top:0}.arrange-snaps{position:relative}.arrange-snaps>summary{list-style:none;cursor:pointer;color:var(--gold);font-size:.78rem;letter-spacing:.04em;min-height:2.05rem;padding:.22rem .55rem;display:inline-flex;align-items:center;border-radius:.45rem;border:1px solid color-mix(in srgb,var(--gold-dim) 70%,transparent);-webkit-user-select:none;user-select:none}.arrange-snaps>summary::-webkit-details-marker{display:none}.arrange-snaps[open]>summary{background:color-mix(in srgb,var(--gold) 16%,transparent)}.arrange-snaps-body{position:absolute;top:calc(100% + .35rem);left:50%;transform:translate(-50%);width:min(20.5rem,calc(100vw - 1.2rem));max-height:min(52dvh,22rem);overflow:auto;padding:.45rem .55rem .55rem;background:#100c0af5;border:2px solid var(--gold-dim);border-radius:.7rem;box-shadow:0 12px 28px #00000073;z-index:1}.popup-root{position:fixed;inset:0;pointer-events:none;z-index:40}.popup-scrim{position:absolute;inset:0;pointer-events:auto;border:0;padding:0;margin:0;min-height:0;border-radius:0;background:transparent;cursor:default}.info-popup{position:fixed;inset:auto;margin:0;z-index:1;pointer-events:auto;width:min(22rem,calc(100vw - 1.5rem));max-height:min(78dvh,32rem);overflow:auto;background:#16120e;border:2px solid var(--gold-dim);border-radius:.85rem;padding:.85rem 1rem;box-shadow:0 16px 40px #0000008c;color:var(--ink)}.info-popup:focus{outline:none}.info-popup:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.popup-title{margin:0 0 .35rem;color:var(--gold);font-size:1.05rem}.popup-body{margin:0;color:var(--muted);font-size:.92rem;white-space:pre-wrap}.popup-rows{margin:.55rem 0 0;display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;color:var(--ink);font-size:.88rem}.popup-rows dt{color:var(--muted);margin:0}.popup-rows dd{margin:0;font-variant-numeric:tabular-nums}.popup-sections{display:flex;flex-direction:column;gap:.7rem}.popup-title:not([hidden])~.popup-sections:not([hidden]),.popup-body:not([hidden])~.popup-sections:not([hidden]),.popup-rows:not([hidden])~.popup-sections:not([hidden]){margin-top:.7rem}.popup-sections h4{margin:0 0 .2rem;color:var(--gold);font-size:.98rem}.popup-sections p{margin:0;color:var(--muted);font-size:.9rem}@media(min-width:720px){.roster-foes{grid-template-columns:repeat(4,1fr)}}@media(min-width:720px)and (min-height:560px){.actor{--unit-w: 12.4rem}.actor.boss{--unit-w: 15.6rem;max-height:min(26rem,76dvh)}.card,.card-stack{--card-w: 9.5rem}.offer-row .card,.forge-compare .card{--card-w: 10.8rem}}@media(prefers-reduced-motion:reduce){.map-svg line,.map-node.current,.actor.fx-enter,.actor.fx-die,.actor.fx-hope-skip,.fx-slash,.fx-ember,.fx-shock,.fx-cut-flash,.fx-lantern-orb,.fx-cut-svg,.fx-atk-ghost,.fx-hero-bloom,.fx-hit-spark,.fx-cut-mark,.fx-spark-core,.fx-star-shot,.fx-sakura,.fx-star-glint,.fx-star-prism,.fx-prism-beam,.fx-star-storm,.fx-hope-halo,.fx-cost-flip,.badge.fx-badge-pop,.end h2,#app.phase-swap .screen,#app.phase-swap .modal,#app.phase-swap .end,.fx-upgrade-kicker,.fx-plus,.fx-upgrade-readout,.fx-stat-arrow,.fx-stat-to,.fx-swap-from,.fx-swap-to,.fx-upgrade,.fx-upgrade-veil,.fx-upgrade-stage,.fx-upgrade-hint,.boss-title,.life.critical .life-fill{animation:none;transition:none}.hand-slot,.hand-slot.is-closed,.card,.card-stack,.roster-pick,.actor{transition:none}.card.pending,.card-stack.pending,.actor.selected,.actor.aimed,.actor.aimed:after,.hand .card.playable:hover,.hand .card-stack.playable:hover,.offer-row .card.playable:hover,.roster-pick:hover,.actor.enemy:hover:not(.dead):not(.selected):not(.aimed){transform:none;animation:none}}html[data-theme=starlight]{--bg: #160e28;--panel: #2a1848;--ink: #fff5fb;--muted: #cbb3dc;--gold: #ff7ad9;--gold-dim: #b45a9a;--hp: #ff6b9d;--block: #7ecbff;--energy: #ffe066;--attack: #ff6b9d;--skill: #7ad7c7;--power: #c9a0ff;--status: #6b5a78;--danger: #ff6b9d;--ok: #7ee0b8;--edge: #5a3a78;--curse: #8a4e7c;--rarity-common: #b8a0c8;--rarity-uncommon: #7ad7c7;--rarity-rare: #ffd36a;--rarity-special: #6b5a78}html[data-theme=starlight] body{font-family:Trebuchet MS,Segoe UI,Hiragino Sans,Hiragino Kaku Gothic ProN,sans-serif;background:radial-gradient(ellipse 90% 55% at 50% -8%,rgba(255,122,217,.32),transparent 52%),radial-gradient(ellipse 40% 28% at 88% 10%,rgba(126,203,255,.24),transparent 60%),radial-gradient(ellipse 35% 22% at 8% 92%,rgba(201,160,255,.18),transparent 58%),var(--bg)}html[data-theme=starlight] body:before{opacity:.28;background-image:radial-gradient(circle at 18% 28%,#ffb7e0 .7px,transparent .9px),radial-gradient(circle at 78% 68%,#7ecbff .55px,transparent .75px),radial-gradient(circle at 52% 12%,#ffe066 .45px,transparent .7px)}html[data-theme=starlight] button{border-color:#7a4e8c;border-radius:999px}html[data-theme=starlight] .card,html[data-theme=starlight] .card-stack,html[data-theme=starlight] .roster-pick,html[data-theme=starlight] .actor,html[data-theme=starlight] .modal-card,html[data-theme=starlight] .info-popup{border-radius:1.15rem}html[data-theme=starlight] .card .face,html[data-theme=starlight] .actor .face,html[data-theme=starlight] .roster-pick .face{border-radius:clamp(.4rem,8cqi,.85rem)}html[data-theme=starlight] .card-stack .card-sheet{border-radius:1.15rem}html[data-theme=starlight] .info-popup{background:#241536}html[data-theme=starlight] .eyebrow{letter-spacing:.12em}html[data-theme=starlight] .combat-env:after{background:linear-gradient(180deg,rgba(22,14,40,.42) 0%,rgba(22,14,40,.1) 18%,transparent 38%,rgba(22,14,40,.3) 64%,rgba(16,10,32,.84) 100%),radial-gradient(ellipse at 50% 38%,transparent 32%,rgba(40,16,64,.4) 100%)}html[data-theme=starlight] .combat-env[data-env=elite]:after{background:linear-gradient(180deg,#160e2880,#160e2829 18%,#5018481f 40%,#160e2861 64%,#100a20e0),radial-gradient(ellipse at 50% 38%,transparent 28%,rgba(40,16,64,.48) 100%)}html[data-theme=starlight] .combat-env[data-env=boss]:after{background:linear-gradient(180deg,rgba(22,14,40,.36) 0%,rgba(22,14,40,.06) 16%,transparent 36%,rgba(22,14,40,.28) 66%,rgba(16,10,32,.86) 100%),radial-gradient(ellipse at 50% 34%,transparent 26%,rgba(48,12,72,.46) 100%)}html[data-theme=starlight] #app:has(.combat-env) .hud{background:#160e288c}html[data-theme=starlight] .actor{background-color:#1a1030;background-image:linear-gradient(180deg,#3a2460,#241848 38%,#160e28);border-color:#3a2058;box-shadow:inset 0 1px #fff5fb29,inset 0 -1px #00000073,0 0 0 1px #6a4a88,0 0 0 2px #1a1030,0 10px 24px #28083880}html[data-theme=starlight] .actor.boss{box-shadow:inset 0 1px #fff5fb38,0 0 0 1px color-mix(in srgb,var(--gold) 78%,#6a4a88),0 0 0 2px #1a1030,0 0 28px #ff7ad938,0 18px 40px #10082080}html[data-theme=starlight] .actor .face{background:#160e28}html[data-theme=starlight] .actor .art{background:radial-gradient(circle at 50% 32%,#4a2460,#160e28)}html[data-theme=starlight] .actor.player .art{background:radial-gradient(circle at 50% 32%,#3a2e58,#160e28)}html[data-theme=starlight] .actor .name{background:linear-gradient(180deg,color-mix(in srgb,var(--unit-accent) 42%,#241040),#160e28 62%,#10081c)}html[data-theme=starlight] .actor .kind{background:#10081c}.pack-select{width:min(42rem,100%)}.pack-roster{grid-template-columns:1fr}@media(min-width:640px){.pack-roster{grid-template-columns:1fr 1fr}}.pack-pick.theme-starlight{border-color:#ff7ad9;background:linear-gradient(180deg,#2a1848,#1a1030)}.pack-pick.theme-soot{border-color:#e4c36a}.pack-select code{font-size:.85em}
