/* Fieldcraft, clear rewards, and a quiet postgame keepsake. */
.growth-events .event-reward{border:1px solid #d9b66c;background:#fff5d9;color:#715421;padding:9px 11px;border-radius:9px;font-weight:700}
.growth-events .event-reward .item-art{width:30px;height:30px;flex:none}
.growth-events>div{display:flex;align-items:center;gap:9px}
.tactics-grid{display:grid;gap:12px;margin:18px 0}.tactics-grid>div{padding:15px;background:#f2f5ed;border-radius:12px}.tactics-grid p{margin:5px 0 0}
.battle-result{max-height:52vh;overflow:auto;overscroll-behavior:contain}.battle-result>.primary{position:sticky;bottom:0;box-shadow:0 0 0 7px #fffdf7}
.move-button:disabled em{opacity:.85}.move-button small .damage-estimate{font-weight:700}
.vigil-dialog{width:min(740px,calc(100vw - 28px));background:#111f2a;color:#dbe8de;border:1px solid #587869}.vigil-dialog .dialog-head{border-color:#314a4c}.vigil-dialog h2{color:#e9ebca}.vigil-dialog .dialog-body>p{color:#bdd0cb}.vigil-dialog .close{color:#dbe8de;background:#253e45}.vigil-invitation{font-style:italic}
.vigil-sky{position:relative;height:310px;border:1px solid #496158;border-radius:16px;overflow:hidden;background:radial-gradient(ellipse at 70% 5%,#314e61 0,transparent 45%),linear-gradient(#0d192c,#214340);margin:22px 0 16px}
.vigil-moon{position:absolute;top:22px;right:14%;width:42px;height:42px;border-radius:50%;background:#f8efbe;box-shadow:0 0 45px #eadc8660,inset -8px -3px #afc4b1}
.vigil-star{position:absolute;left:var(--x);top:var(--y);width:2px;height:2px;border-radius:50%;background:#f4efc5;box-shadow:0 0 6px #fff1a5;animation:vigil-twinkle 6s var(--delay) infinite alternate}
.vigil-lines{position:absolute;inset:0;width:100%;height:100%;opacity:.55}.vigil-lines polyline{fill:none;stroke:#e1d597;stroke-width:.25;stroke-dasharray:1.2 1.3}
.vigil-friend{position:absolute;left:var(--x);top:var(--y);width:66px;text-align:center;transform:translate(-50%,-50%);z-index:2;animation:vigil-float 6s var(--delay) ease-in-out infinite}.vigil-friend>.sprite{width:58px;height:58px;filter:drop-shadow(0 0 12px #e7cb65bb)}.vigil-friend>span{display:block;font:10px/1.2 monospace;color:#ffefb9;text-shadow:0 2px 4px #102334}.vigil-friend>i{display:block;margin:9px auto;width:7px;height:10px;background:#f9de90;box-shadow:0 0 18px 4px #ffd66388;border-radius:3px}
.vigil-horizon{position:absolute;bottom:-30px;left:-5%;width:110%;height:135px;border-radius:50% 70% 0 0;background:linear-gradient(#123b35dd,#081e23);box-shadow:0 -4px 35px #b5cc6422}.vigil-caption{position:absolute;bottom:18px;width:100%;text-align:center;color:#e8db99!important;font-size:12px;letter-spacing:.08em}.vigil-signoff{font-family:Georgia,serif;font-size:21px;margin:20px 0;color:#e8db99}
@keyframes vigil-float{50%{transform:translate(-50%,calc(-50% - 8px))}}@keyframes vigil-twinkle{to{opacity:.25}}
@media(max-width:520px){.vigil-sky{height:290px}.vigil-friend{width:44px}.vigil-friend>.sprite{width:40px;height:40px}.vigil-friend>span{font-size:8px}.vigil-signoff{font-size:18px}.battle-result{max-height:57vh}}
@media(prefers-reduced-motion:reduce){.vigil-friend,.vigil-star{animation:none}}
/* Keep the outcome, rewards and Continue control inside one visible panel. */
.battle-dialog.result-mode{display:flex;flex-direction:column;height:min(760px,94dvh);overflow:hidden}
.battle-dialog.result-mode .battle-heading{flex:none}
.battle-dialog.result-mode .battle-result{flex:1;min-height:0;max-height:none;padding:18px 24px;overflow-y:auto}
.battle-dialog.result-mode .battle-result h3{margin:0 0 10px}
.battle-dialog.result-mode .growth-events{margin:14px auto 18px}
@media(max-width:600px){.battle-dialog.result-mode .battle-result{padding:15px}}

.battle-aftermath{display:flex;justify-content:space-between;gap:18px;flex:none;padding:16px 26px;background:linear-gradient(120deg,#e3ecda,#f4eedb);border-bottom:1px solid #d8e2cc}.battle-aftermath>div{display:flex;align-items:center;gap:14px;min-width:0}.battle-aftermath .sprite{width:80px;height:80px;object-fit:contain}.battle-aftermath strong{display:block;font-size:15px}.battle-aftermath small{display:block;font-size:12px;margin-top:5px;color:#697861}
@media(max-width:600px){.battle-aftermath{padding:12px;gap:8px}.battle-aftermath>div{gap:7px}.battle-aftermath .sprite{width:44px;height:54px}.battle-aftermath strong{font-size:12px}.battle-aftermath small{font-size:10px}}

#battle-motion{font:inherit;font-size:12px;max-width:60%;padding:9px;border-radius:8px;border:1px solid var(--line);background:var(--cream);color:var(--ink)}
/* The bite countdown conveys a live deadline rather than decorative movement. */
@media(prefers-reduced-motion:reduce){.bite-timer{animation:bite-countdown var(--bite-time) linear forwards!important}}
