/* The deck-side gauges use existing empty playmat cells, never resize card slots. */
.field-evolution{grid-area:evolution;align-self:end;justify-self:stretch;min-width:0;padding:8px 3px 6px;margin-bottom:5px;background:linear-gradient(180deg,#d8b7750b,#132128c9);border:1px solid #c5aa6150;border-radius:4px;color:var(--gold);text-align:center}
.opponent-mat .field-evolution{align-self:start;margin-top:5px;margin-bottom:0;color:var(--blue);border-color:#85bed542}
.evolution-caption,.evolution-state{display:block;font-size:9px;letter-spacing:.04em;white-space:nowrap}.evolution-state{color:#9eb1b9;font-size:8px;margin-top:6px}
.evolution-rings{display:flex;justify-content:center;flex-wrap:wrap;gap:3px 7px;margin-top:6px}
.evolution-ring{position:relative;display:block;width:43px;padding-bottom:13px}.evolution-ring svg{display:block;width:100%;height:auto;transform:rotate(-90deg);overflow:visible}.evolution-ring circle{fill:#07131baa;stroke:#afc0c229;stroke-width:2}.evolution-ring .ring-fill{stroke:currentColor;stroke-width:2.4;stroke-linecap:round;fill:none}.evolution-ring b{position:absolute;top:0;left:0;right:0;line-height:43px;font:17px/43px Georgia,serif;font-weight:400;color:#f0e5c9}.evolution-ring b small{font-size:10px;color:#b0bec1}.evolution-ring em{position:absolute;left:0;right:0;bottom:0;font-style:normal;font-size:8px;color:#adbdc3}.evolution-complete{font-size:34px;line-height:45px;text-shadow:0 0 16px currentColor}.field-evolution.ready{border-color:#e7c777;box-shadow:0 0 18px #dfbd5a30}.field-evolution.ready .evolution-state{color:#ead297}
.battle-page .hand{padding:27px 16px 8px;min-height:110px;align-items:flex-end;overflow-x:auto;overflow-y:hidden;isolation:isolate}
.battle-page .hand-card{transform-origin:50% 100%;transition:transform 170ms ease,filter 170ms ease,box-shadow 170ms ease;will-change:transform}
.battle-page .hand-card:hover,.battle-page .hand-card:focus-visible,.battle-page .hand-card.tutorial-focus:hover,.battle-page .hand-card.tutorial-focus:focus-visible{transform:translateY(-15px) rotate(0) scale(1.1)!important;filter:brightness(1.12);box-shadow:0 9px 16px #0009,0 0 12px #e7c77770;z-index:5}
.current-base{padding:9px 10px;margin:8px 0 13px;border:1px solid #dbc27d50;background:#d1b66b0c;border-radius:4px}.current-base>small{display:block;color:#c7b788;font-size:10px;margin-bottom:7px}.current-base .stats{justify-content:space-between;gap:12px;margin:0}.current-base .stat{font-size:18px}.current-base .stat img{width:18px;height:18px}
/* Fixed overlays are confined to the visible arena and ignore pointer input. */
.battle-cinematic,.phase-announcement{position:fixed;z-index:3100;pointer-events:none;overflow:hidden;isolation:isolate;--ceremony:#e7c675}
.battle-cinematic{background:radial-gradient(ellipse at 50% 45%,#836b2a75,#07121bf5 70%);border-block:1px solid var(--ceremony);display:grid;place-items:center}
.battle-cinematic.norse{--ceremony:#8bdcf4;background:radial-gradient(ellipse at 50% 45%,#24596e88,#07121bf5 70%)}
.ceremony-art{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:.74;mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent);filter:saturate(1.08)}
.ceremony-shade{position:absolute;inset:0;background:linear-gradient(180deg,#06101a22 20%,transparent 45%,#07121bf2 95%)}
.ceremony-ring{position:absolute;width:min(60vw,400px);aspect-ratio:1;border:2px solid var(--ceremony);border-radius:50%;box-shadow:0 0 35px var(--ceremony),inset 0 0 35px #f3e6b333;opacity:.7}
.ceremony-ring:before,.ceremony-ring:after{content:"";position:absolute;inset:12px;border:1px dashed var(--ceremony);border-radius:50%}.ceremony-ring:after{inset:28px;border-style:solid;border-width:1px;clip-path:polygon(0 0,100% 0,100% 20%,0 80%,0 100%,100% 100%)}
.ceremony-card{position:relative;width:clamp(90px,15vw,165px);max-height:66%;object-fit:contain;filter:drop-shadow(0 10px 30px #000);border-radius:4px}
.ceremony-title{position:absolute;bottom:5%;left:0;right:0;text-align:center;text-shadow:0 3px 12px #000;line-height:1.5;padding:20px 8px 4px;background:linear-gradient(transparent,#09141ecc)}
.ceremony-title small{display:block;color:var(--ceremony);font-size:10px;letter-spacing:.38em}.ceremony-title strong{display:block;color:#fff0c8;font:600 clamp(24px,3.5vw,42px)/1.4 var(--serif);letter-spacing:.08em}.ceremony-title span{display:block;font-size:12px;color:#d5e6e8;margin-top:4px;letter-spacing:.25em}
.ceremony-sparks{position:absolute;inset:0}.ceremony-sparks i{position:absolute;left:var(--x);top:var(--y);width:3px;height:18px;background:linear-gradient(transparent,#fff3bf);transform:rotate(25deg);box-shadow:0 0 12px var(--ceremony)}
.slam-ring{position:fixed;z-index:3102;pointer-events:none;width:110px;height:110px;border:4px solid #ffe6a0;border-radius:50%;box-shadow:0 0 20px #f6ce64,inset 0 0 20px #ffe5a0;background:radial-gradient(circle,#ffebc38c,transparent 65%)}
.slam-ring:after{content:"";position:absolute;inset:-28px;border:1px solid #ffe6a0;border-radius:50%}.slamming-card{z-index:3103;filter:drop-shadow(0 12px 10px #0009)}
.phase-announcement{display:grid;align-content:center;text-align:center;background:linear-gradient(90deg,transparent,#07141aef 18%,#172b34f5 50%,#07141aef 82%,transparent);border-block:1px solid #e8c8787d;color:#ffedc4;text-shadow:0 0 16px #c6a95c88}
.phase-announcement.cpu-phase{border-color:#9cdcf4aa;color:#d4f2ff;text-shadow:0 0 16px #8fd8f488}
.phase-announcement strong{font:700 clamp(28px,4.8vw,64px)/1.3 var(--serif);letter-spacing:.16em;transform:skew(-8deg);white-space:nowrap}.phase-announcement small{font-size:10px;letter-spacing:.3em;color:#b1c8cf;margin-bottom:8px}.phase-announcement span{font-size:11px;letter-spacing:.3em;margin-top:7px}
@media(max-width:1100px){.evolution-rings{gap:3px}.evolution-ring{width:35px}.evolution-ring b{font-size:14px;line-height:35px}.evolution-ring b small{font-size:8px}.evolution-caption{font-size:8px}}
@media(max-width:780px){.evolution-ring{width:32px}.evolution-ring b{line-height:32px;font-size:13px}.field-evolution{padding:4px 1px}.evolution-rings{gap:4px}.evolution-caption,.evolution-state{font-size:7px}.evolution-state{white-space:normal;line-height:1.4}.battle-page .hand{min-height:110px}.ceremony-title strong{font-size:24px}.ceremony-title small{letter-spacing:.2em}.phase-announcement strong{font-size:clamp(24px,6vw,40px)}}
@media(prefers-reduced-motion:reduce){.battle-page .hand-card{transition:none}.battle-page .hand-card:hover,.battle-page .hand-card:focus-visible{transform:translateY(-5px)!important}}
.battle-page .hand-card{transform:translateY(0) rotate(var(--angle));}
@media(min-width:781px) and (max-height:850px){.battle-page .hand{min-height:100px;padding-top:24px;padding-bottom:9px}.tutorial-action-note{font-size:9px;line-height:1.3;padding:4px}}
/* v0.5: clean art, legible value feedback and a real lethal-attack finale. */
.stat-value{font:inherit;display:inline-block;font-weight:400}[data-number]{display:inline-block;transform-origin:center}
.ceremony-hero{position:relative;width:min(90%,680px);height:94%;object-fit:contain;object-position:center;mask-image:radial-gradient(ellipse at center,#000 48%,transparent 77%);filter:drop-shadow(0 0 26px #e7c67544)}
.ceremony-art{opacity:.35;filter:blur(4px) saturate(.8)}.ceremony-title{z-index:2}
.number-ribbon{position:fixed;z-index:3200;pointer-events:none;display:flex;justify-content:center;flex-wrap:wrap;align-content:start;gap:5px;padding:0 8px;overflow:visible}
.number-ribbon>span{display:grid;grid-template-columns:auto auto;gap:2px 10px;padding:7px 10px;background:#06121df2;border:1px solid #99f4c78a;border-radius:5px;box-shadow:0 4px 18px #0008;color:#adffdc}
.number-ribbon>span.value-down{border-color:#f195958a;color:#ffb3a9}.number-ribbon small{font-size:10px;grid-column:1/-1;color:#e1e9ed}.number-ribbon b{font:600 22px/1.2 Georgia,serif}.number-ribbon em{align-self:center;font:11px/1.2 var(--sans);color:#c4d4dc}
.finisher-scene,.defeat-scene{position:fixed;z-index:3300;pointer-events:none;overflow:hidden;isolation:isolate;background:#050b12;--impact:#ffd373}
.finisher-scene.norse,.defeat-scene.norse{--impact:#b7edff}
.finisher-portrait{position:absolute;inset:0;overflow:hidden;background:#10151f}.finisher-portrait>img{position:absolute;max-width:none;object-fit:cover}
.finisher-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#030911e8,transparent 50%,#030911b3);pointer-events:none}
.red-eye-flare{position:absolute;width:90px;height:3px;border-radius:50%;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,#ff2715 30%,#fff1d0 50%,#ff2715 70%,transparent);box-shadow:0 0 10px 3px #ff1a19,0 0 30px 9px #d4001977;z-index:2}
.red-eye-flare:after{content:"";position:absolute;left:calc(50% - 3px);top:-6px;width:7px;height:14px;border-radius:50%;background:#fff2df;box-shadow:0 0 16px 6px #ff1725}
.finisher-action{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 32%;opacity:0}
.finisher-caption{position:absolute;z-index:3;bottom:7%;left:7%;right:5%;text-shadow:0 3px 20px #000,0 1px 5px #000;line-height:1.4}
.finisher-caption small{display:block;font-size:10px;letter-spacing:.38em;color:var(--impact)}.finisher-caption strong{display:block;font:800 clamp(36px,6vw,76px)/1.25 var(--serif);letter-spacing:.08em;color:#fff5db}.finisher-caption span{display:block;font-size:13px;letter-spacing:.15em;color:#fff0d4}
.defeat-scene{background:radial-gradient(ellipse,#261e17bb,#040b16f5)}.defeat-blast{position:absolute;width:85vmax;height:85vmax;border-radius:50%;opacity:0;background:radial-gradient(circle,#fff9d9 0 7%,#ffe5a0 10%,#ffb736ee 16%,#e9511677 28%,transparent 55%);box-shadow:inset 0 0 70px var(--impact)}
.defeat-fragment{position:absolute;width:8px;height:34px;border-radius:2px;background:linear-gradient(#fff5d9,var(--impact),transparent);box-shadow:0 0 12px var(--impact);opacity:0}
.defeat-title{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-shadow:0 2px 20px #000;color:#ffedbd}.defeat-title strong{font:800 clamp(40px,6vw,76px)/1.4 var(--serif);letter-spacing:.13em}.defeat-title small{font-size:13px;letter-spacing:.24em;color:#d3e0e6}.defeat-title span{font:17px Georgia,serif;letter-spacing:.65em;margin-left:.65em;color:var(--impact)}
@media(max-width:780px){.number-ribbon{gap:3px;padding-inline:4px}.number-ribbon>span{padding:5px 7px;gap:2px 6px}.number-ribbon b{font-size:18px}.number-ribbon small{font-size:8px}.number-ribbon em{font-size:9px}.finisher-caption strong{font-size:38px}.red-eye-flare{width:55px}.chapter-tabs{gap:12px}.chapter-tab{min-width:0}.story-aside{display:none}}
@media(min-width:600px) and (max-height:500px){
 .topbar{height:52px}.story{min-height:calc(100dvh - 52px);align-items:center}
 .story-copy{padding:12px 5vw 64px;max-width:67%}.story-copy .eyebrow{font-size:10px}
 .story-copy h1{font-size:28px;line-height:1.2;margin:8px 0}
 .story-copy p{font-size:12px;line-height:1.65}.story-copy .row{margin-top:10px}
 .story-copy button{padding:8px 14px;min-width:0;font-size:12px}
 .story-chapters{bottom:12px;left:5vw;right:5vw}.chapter-tabs{gap:18px}
 .chapter-tab{padding-top:7px;min-width:0}.story-aside{display:none}
}

.fixed-opponent{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:28px;padding:20px 0;border-block:1px solid #b49a613d}.fixed-opponent h3{margin:5px 0}.fixed-opponent .row{flex-wrap:wrap}.fixed-deck-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:65vh;overflow:auto}.fixed-deck-list button{display:flex;justify-content:space-between;gap:12px;text-align:left;padding:10px}.fixed-deck-list small{display:block;color:var(--muted);font-size:9px}.fixed-deck-list b{color:var(--gold)}@media(max-width:700px){.fixed-opponent{align-items:start;flex-direction:column}.fixed-deck-list{grid-template-columns:1fr}}

.realm-select{padding-top:22px;padding-bottom:12px}.realm-select .page-head{margin-bottom:20px}.realm-select .faction-card{height:clamp(260px,39vh,410px)}.realm-select .fixed-opponent{margin-top:18px;padding:13px 0}.realm-select .select-footer{padding:16px 0}.realm-select .faction-info{bottom:20px}.defeat-title strong{max-width:90%;text-align:center;overflow-wrap:anywhere;font-size:clamp(28px,5vw,64px)}@media(min-width:600px) and (max-height:500px){.realm-select .faction-card{height:200px}.realm-select .faction-info p,.realm-select .faction-info>.eyebrow{display:none}.realm-select .faction-info h2{font-size:27px}}

/* Public-information review remains separate from engine actions and card selection. */
.public-review-host{position:fixed;right:18px;bottom:calc(80px + env(safe-area-inset-bottom,0px));width:min(560px,calc(100vw - 36px));z-index:3400;filter:drop-shadow(0 12px 32px #000b)}
.public-review-host[hidden]{display:none}.public-review{padding:16px;border:1px solid #d4b96e;border-radius:8px;background:#0d1b23f5;color:#f2eee2;max-height:72vh;overflow:auto}.public-review-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.public-review-title small{display:block;color:#a7bdc7;font-size:12px}.public-review-title strong{display:block;font-size:20px;margin-top:4px}.public-review-cards{display:flex;gap:10px;overflow-x:auto;padding:5px 0 10px}.public-review-cards button{flex:0 0 108px;padding:0;border:0;background:none}.public-review-cards img{width:108px;aspect-ratio:744/1039;object-fit:contain;border-radius:4px}.public-review-cards span{display:block;font-size:12px;line-height:1.5;padding-top:5px}.public-review p{font-size:13px;color:#b4c3c8;margin:7px 0 12px}.public-card-thumbnails{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.public-card-thumbnails button{width:40px;padding:0;border:0;background:transparent}.public-card-thumbnails img{width:100%;display:block}.effect-source-card{z-index:3250;pointer-events:none;transform-origin:center;box-shadow:0 0 32px #f1cf7c}.effect-source-note{position:fixed;top:18%;left:50%;transform:translateX(-50%);padding:11px 22px;border:1px solid #d3b46c;background:#10232fee;color:#f6dda3;font-size:20px;z-index:3251;pointer-events:none;text-align:center}.public-review.collapsed{padding:12px}.public-review.collapsed .public-review-title{margin-bottom:8px}
@media(max-width:600px){.public-review-host{right:8px;bottom:calc(80px + env(safe-area-inset-bottom,0px));width:calc(100vw - 16px)}.public-review{max-height:62vh;padding:12px}.public-review-title strong{font-size:17px}.public-review-cards button{flex-basis:90px}.public-review-cards img{width:90px}.effect-source-note{font-size:16px;max-width:90vw;width:max-content}}

/* Kali finishing strike: violet eyes, aligned to her current P3 original. */
.finisher-scene.india{--impact:#cd9cff}
.purple-eye-flare{width:clamp(20px,3vw,42px);height:2px;background:linear-gradient(90deg,transparent,#a337ff 30%,#f5e4ff 50%,#a337ff 70%,transparent);box-shadow:0 0 8px 2px #a43cff,0 0 22px 6px #7c23d477}
.purple-eye-flare:after{left:calc(50% - 2px);top:-3px;width:4px;height:8px;background:#f8eaff;box-shadow:0 0 12px 4px #a53cff}
.finisher-scene.india .finisher-action{object-position:50% 0%}

.number-ribbon>.number-source{flex-basis:100%;text-align:center;white-space:normal;overflow-wrap:anywhere;color:#f1d39a;font:600 12px/1.4 var(--sans);text-shadow:0 1px 4px #000;padding:3px 6px;background:#06121ded;border-radius:4px}
