/* Brief, local feedback. The learning surfaces never shake or move. */
.answer-sigil {position:absolute;left:55%;top:3%;width:30%;text-align:center;font:600 clamp(26px,3vw,48px)/1 Georgia,serif;color:#ffe8b2;text-shadow:0 0 9px #bcf2f6;transform:translate(-50%,calc(-18px * var(--answer-progress,0)));opacity:calc(1 - var(--answer-progress,0));z-index:7;pointer-events:none;}
.answer-sigil[data-kind='wrong'] {color:#ffd0a6;text-shadow:0 0 8px #824429;}
.answer-sigil[data-kind='omitted'] {font-size:clamp(20px,2vw,34px);color:#ddd6b9;text-shadow:0 1px 4px #071319;}
.charge-pips i.filled {filter:brightness(calc(1 + var(--charge-pulse,0) * 1.8)) drop-shadow(0 0 calc(4px + var(--charge-pulse,0) * 8px) var(--accent));}
.ground-seal {position:absolute;left:20%;right:20%;bottom:6%;height:12%;border:2px solid var(--accent);border-radius:50%;box-shadow:inset 0 0 10px var(--accent),0 0 9px var(--accent);opacity:.65;pointer-events:none;z-index:-1;}
.ground-seal::after {content:'';position:absolute;inset:18%;border:1px dashed #eee5b8;border-radius:50%;}
.victor-rune {position:absolute;left:42%;top:-8%;color:#f8dc8c;font:500 clamp(24px,3vw,48px)/1 Georgia,serif;text-shadow:0 0 12px #eab765;pointer-events:none;}
.team[data-victor='true'] .ground-seal {border-color:#f8dc8c;box-shadow:inset 0 0 12px #efd386,0 0 15px #e3bd70;}
.team[data-victor='true'] .character-sprite {filter:drop-shadow(0 0 5px #f1ce8199);}
#gameScene[data-ceremony='ready'] .ground-seal {opacity:.45;}
.phase-overlay[data-phase='ready'],.phase-overlay[data-phase='group-change'],.phase-overlay[data-phase='final'] {background:linear-gradient(transparent 46%,#06101912 64%,#06101996);pointer-events:none;}
.phase-overlay[data-phase='ready'] .phase-card,.phase-overlay[data-phase='group-change'] .phase-card,.phase-overlay[data-phase='final'] .phase-card {position:absolute;background:transparent;border:0;border-radius:0;box-shadow:none;padding:12px 28px;color:#fff4d5;text-shadow:0 2px 6px #000,0 0 16px #000;}
.phase-overlay[data-phase='ready'] .phase-card {top:30%;width:230px;}
.phase-overlay[data-phase='ready'] .phase-card h2 {font:500 clamp(78px,10vh,120px)/1 Georgia,serif;margin:10px 0;}
.phase-overlay[data-phase='ready'] #phaseEyebrow {font-size:12px;letter-spacing:.22em;}
.countdown-runes {display:flex;justify-content:center;gap:22px;}
.countdown-runes i {display:block;width:14px;height:22px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:#304344;box-shadow:0 0 5px #000;}
.countdown-runes i.lit {background:#f4dfac;filter:drop-shadow(0 0 9px #f7da88);}
.phase-overlay[data-phase='group-change'] .phase-card {bottom:8%;width:min(630px,80vw);background:#07171cc9;border-block:1px solid #c5ae6755;}
.phase-overlay[data-phase='group-change'] .phase-card h2 {font:500 clamp(30px,4vw,48px)/1.2 Georgia,serif;}
.phase-overlay[data-phase='group-change'] #phaseDetails {font-size:18px;}
.phase-overlay[data-phase='final'] .phase-card {bottom:3%;width:min(680px,90vw);background:linear-gradient(90deg,transparent,#08171de8 18%,#08171de8 82%,transparent);transform:translateY(calc((1 - var(--reveal,1)) * 12px));opacity:calc(.3 + var(--reveal,1) * .7);pointer-events:auto;}
.phase-overlay[data-phase='final'] .phase-card h2 {font:500 clamp(34px,4vw,58px)/1.1 Georgia,serif;margin-bottom:10px;}
.phase-overlay[data-phase='final'][data-winner='A'] .phase-card h2 {color:#bceafa;}
.phase-overlay[data-phase='final'][data-winner='B'] .phase-card h2 {color:#ffbea3;}
.final-score {display:flex;justify-content:center;gap:48px;margin:12px auto;}
.final-score>div {display:flex;align-items:center;gap:16px;border-bottom:1px solid currentColor;padding:4px 14px;}
.final-score span {font:600 20px Georgia,serif;}.final-score strong {font:500 38px Georgia,serif;}
.score-a {color:#bceafa;}.score-b {color:#ffbea3;}
#finalStats {font-size:15px;line-height:1.55;color:#f4ead5;text-shadow:0 1px 3px #000;}
#finalStats summary {cursor:pointer;padding:8px;min-height:34px;}
#finalNumbers {white-space:pre-line;}
.phase-overlay[data-phase='final'] #phaseAction {margin-top:10px;min-height:48px;min-width:200px;font-size:18px;background:#d9c18c;}
.team[data-motion='reduced'] .answer-sigil {transform:translateX(-50%);opacity:1;}
#gameScene[data-motion='reduced'] .phase-card {transform:none!important;opacity:1!important;}
@media(max-height:800px){.phase-overlay[data-phase='final'] .phase-card{bottom:1%;padding:10px 24px;}.phase-overlay[data-phase='final'] #phaseEyebrow{margin-bottom:6px;}.final-score{margin:6px auto;}.final-score strong{font-size:30px;}.phase-overlay[data-phase='final'] .phase-card h2{font-size:36px;}#finalStats[open]{font-size:13px;}}

/* Decision window: preserve the spatial layout; optional saving closes only the choice. */
.power-panel{position:relative;}
.keep-energy{position:absolute;right:8px;bottom:calc(100% + 7px);min-height:44px;padding:6px 14px;border:1px solid #b6c9c76b;border-radius:10px;background:#0b222ce8;color:#ebefe5;font:600 14px system-ui;touch-action:manipulation;}
.keep-energy[hidden]{display:none;}
.keep-energy:focus-visible{outline:2px solid #f5dc9a;outline-offset:2px;}
.power-buttons button{position:relative;}
.power-target{position:absolute;right:5px;bottom:3px;font:700 10px system-ui;line-height:12px;color:#a9def5;}
.power-target[data-team='B']{color:#ffb196;}
.power-buttons button[data-counter-shield='true'] .power-target{border:1px solid #ebd499;border-radius:2px 2px 7px 7px;padding:0 3px;}
.power-buttons button[data-urgent='true']:not(:disabled){box-shadow:0 0 12px #e6c77c99;}
.shield-duration{position:absolute;left:21%;right:21%;bottom:3px;display:flex;justify-content:center;gap:3px;}
.shield-duration i{width:4px;height:4px;border-radius:50%;background:transparent;}
.shield-duration i.filled{background:#cdeaff;box-shadow:0 0 4px #cdeaff;}
.relay-notice{position:absolute;top:49px;left:50%;transform:translateX(-50%);z-index:20;background:#112b35de;border:1px solid #b6a57255;border-radius:12px;padding:4px 12px;color:#e8d6a5;font:600 12px system-ui;pointer-events:none;}
.relay-notice[hidden]{display:none;}
.finale-veil{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(ellipse at 94% 42%,#caeeff,transparent 48%);opacity:calc(var(--final-surge,0)*.32);}
#gameScene[data-outcome='B'] .finale-veil{background:radial-gradient(ellipse at 94% 66%,#ffcda1,transparent 48%);}
#gameScene[data-outcome='storm'] .finale-veil{background:linear-gradient(transparent,#040a18 75%);opacity:calc(var(--final-surge,0)*.75);}
.phase-overlay[data-phase='final'] .phase-card{opacity:clamp(0,calc((var(--reveal,1) - .4)*1.667),1);}
@media(prefers-reduced-motion:reduce){.finale-veil{display:none;}.phase-overlay[data-phase='final'] .phase-card{opacity:1;}}
