.battle-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:20px 28px;display:grid}.arena-frame{background:var(--plate);border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px #26221a59,0 18px 40px -24px #26221a8c}#arena{aspect-ratio:1;width:100%;height:auto;display:block}.turn-panel{min-width:0}.turn-head{font-family:var(--display);font-size:var(--step-1);margin:0 0 6px;font-weight:700;font-stretch:115%;line-height:1.2}.verdict{font-size:var(--step-0);margin:0 0 12px}.turn-log{color:var(--ink-soft);gap:2px;margin:0;padding-left:1.2em;font-size:.98rem;display:grid}.swatch-food:after{background:var(--oat);border-radius:50%;inset:3px 1px;transform:rotate(-28deg)}.swatch-choice:after{box-shadow:inset 0 0 0 2.5px var(--physarum);background:0 0;border-radius:50%;inset:2px}.table-wrap{margin:0 0 1em;overflow-x:auto}.scorecard{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.98rem}.scorecard th,.scorecard td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);padding:10px 12px 10px 0}.scorecard thead th{border-bottom:2px solid var(--ink);font-weight:700}.scorecard tbody th{color:var(--ink-soft);font-weight:400}.prose:has(.scorecard){max-width:52rem}@media (width<=760px){.battle-grid{grid-template-columns:1fr}}@media (width>=560px){.embed .battle-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.pickers{gap:12px;display:grid}

/* Battle text box. Fixed height (three lines) so the panel, and the card that embeds it,
   never change size as messages come and go. The head, verdict and status keep room for
   their longest text too. */
.turn-head{min-height:2.4em}
.verdict{line-height:1.45;min-height:5.8em}
.session{min-height:1.55em}
.dlg{--dlg-lh:24px;position:relative;box-sizing:border-box;height:calc(3*var(--dlg-lh) + 28px + 8px);margin:0;padding:14px 18px;overflow:hidden;background:#fbfbf4;color:#26221a;border:4px solid #26221a;border-radius:12px;box-shadow:inset 0 0 0 3px #fbfbf4,inset 0 0 0 6px #6f8f8a,0 18px 40px -24px #26221a8c}
.dlg-text{margin:0;font:400 12px/var(--dlg-lh) "Press Start 2P",ui-monospace,monospace;letter-spacing:0;overflow-wrap:break-word;-webkit-font-smoothing:none;font-smooth:never}
.dlg-rest{visibility:hidden}
.dlg:after{content:"";position:absolute;right:14px;bottom:10px;width:0;height:0;border:6px solid transparent;border-top:7px solid #c0392b;border-bottom:0;opacity:0}
.dlg.more:after{opacity:1;animation:dlg-blink 1s steps(1) infinite}
@keyframes dlg-blink{50%{opacity:0}}
@media (prefers-reduced-motion: reduce){.dlg.more:after{animation:none}}
.dlg-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
@media (width<=420px){.dlg{--dlg-lh:22px;padding:14px 14px}.dlg-text{font-size:10px}}
