/* The turn summary under a Voice entry (v7.4, src/ui/turn-summary-view.mjs):
   a status line between two hairlines that opens onto what the turn changed.
   Set in the interface type at fixed sizes, so the story's reading size
   leaves it alone. Tokens from tokens.css; vital icons keep the Character
   panel's meter colours. */
.turn-summary{margin-top:12px;font:400 var(--size-ui)/1.45 var(--head);color:var(--text-soft);letter-spacing:0}
.turn-summary>.summary-when,.turn-summary>.summary-vitals,.turn-summary-toggle{padding:9px 12px;border-top:1px solid var(--stone-850);border-bottom:1px solid var(--stone-850)}
.turn-summary>.summary-when{border-bottom:0;padding-bottom:0}
.turn-summary>.summary-vitals{border-top:0;padding-top:6px}
button.turn-summary-toggle{display:grid;gap:var(--space-3);width:100%;border-left:0;border-right:0;border-radius:0;background:none;text-align:left;font:inherit;letter-spacing:0;color:inherit;cursor:pointer}
button.turn-summary-toggle:hover{border-color:var(--stone-850);background:rgb(var(--surface-warm-rgb) / .6)}
button.turn-summary-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-color:var(--stone-850)}

/* Plain text flow, so a long place name wraps like a sentence and the dot
   before it never starts a line of its own. */
.summary-when{display:block}
.summary-when .material-symbols-outlined{margin-right:var(--space-3);font-size:17px;vertical-align:-3px;color:var(--accent)}
.summary-when b{font-weight:600;color:var(--text)}
.summary-place{display:block;padding-left:calc(17px + var(--space-3));color:var(--text-lore)}
.summary-vitals{display:flex;flex-wrap:wrap;align-items:center;gap:2px var(--space-6)}
.summary-vital,.summary-coin{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.summary-vital.numbered{font-variant-numeric:tabular-nums}
.summary-vital .material-symbols-outlined,.summary-coin .material-symbols-outlined{font-size:15px}
.summary-vital[data-vital=health] .material-symbols-outlined{color:var(--health-icon)}
.summary-vital[data-vital=stamina] .material-symbols-outlined{color:var(--stamina-icon)}
.summary-vital[data-vital=hunger] .material-symbols-outlined{color:var(--hunger-icon)}
.summary-vital[data-vital=thirst] .material-symbols-outlined{color:var(--thirst-to)}
.summary-vital:is([data-vital=mana],[data-vital=pool]) .material-symbols-outlined{color:var(--mana-icon)}
.summary-coin{color:var(--text)}
.summary-coin .material-symbols-outlined{color:var(--accent-450)}
.summary-dir{font-size:12px;margin-left:1px}
.summary-dir.worse{color:var(--danger)}
.summary-dir.better{color:var(--ok)}
.summary-delta.gain{color:var(--ok)}
.summary-delta.loss{color:var(--danger-400)}
.summary-foot{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);font-size:var(--size-label);color:var(--muted)}
.summary-foot .material-symbols-outlined{font-size:20px;color:var(--accent-450);transition:transform .15s ease}
.turn-summary[data-open] .summary-foot .material-symbols-outlined{transform:rotate(180deg)}

/* The open view: one row of changes per kind, label on the left. */
.turn-summary-detail{display:grid;gap:var(--space-5);padding:12px;border-bottom:1px solid var(--stone-850);background:var(--surface-low)}
.turn-summary-detail[hidden]{display:none}
.summary-group{display:grid;grid-template-columns:88px minmax(0,1fr);gap:var(--space-2) var(--space-6)}
.summary-group+.summary-group{border-top:1px solid var(--stone-850);padding-top:var(--space-5)}
.summary-group-name{display:flex;align-self:start;align-items:center;gap:5px;font:600 var(--size-caption)/1.6 var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-550)}
.summary-group-name .material-symbols-outlined{font-size:15px}
.summary-group ul{list-style:none;margin:0;padding:0;display:grid;gap:5px;min-width:0}
.summary-group li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px var(--space-4);min-width:0;overflow-wrap:anywhere}
.summary-group li b{font-weight:500;color:var(--text)}
.summary-detail,.summary-more{color:var(--muted)}
.summary-sign{width:12px;font-weight:600;text-align:center}
.summary-sign.plus{color:var(--ok)}
.summary-sign.minus{color:var(--danger-400)}
.summary-change{display:inline-flex;align-items:baseline;gap:5px}
.summary-change .from{color:var(--muted)}
.summary-change [aria-hidden]{color:var(--accent-550)}
.summary-tag{align-self:center;padding:3px 5px;border:1px solid var(--accent-800);border-radius:var(--radius-sm);font:600 var(--size-micro)/1 var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-450)}
.summary-tag.up{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.summary-group[data-group=injuries] .summary-tag{border-color:var(--danger-700);color:var(--danger)}
.summary-pips{display:inline-flex;gap:3px;align-self:center}
.summary-pips i{display:block;width:13px;height:6px;border:1px solid var(--grey-800);border-radius:2px;background:var(--field)}
.summary-pips i.lit{border-color:transparent;background:var(--accent-450)}
.summary-pips i.new{border-color:transparent;background:var(--accent);box-shadow:0 0 0 1px var(--accent-300)}
.summary-bar{display:inline-block;align-self:center;width:72px;height:6px;border:1px solid var(--grey-800);border-radius:2px;background:var(--field);overflow:hidden}
.summary-bar i{display:block;height:100%;background:var(--accent-450)}

@media(max-width:560px){
  .turn-summary>.summary-when,.turn-summary>.summary-vitals,.turn-summary-toggle{padding-inline:8px}
  .turn-summary-detail{padding:10px 8px}
  .summary-group{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.summary-foot .material-symbols-outlined{transition:none}}
/* More than a day passed this turn; marked when the action did not ask for it, with Retry on the newest turn. */
.summary-jump{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);margin:0;padding:8px 12px;border-bottom:1px solid var(--stone-850);color:var(--text-dim);font:var(--size-label)/1.4 var(--head)}
.summary-jump>.material-symbols-outlined{flex:none;font-size:17px;color:var(--accent)}
.summary-jump-text{flex:1;min-width:0}
.summary-jump b{font-weight:600;color:var(--text)}
.summary-jump.unasked{background:rgb(var(--accent-900-rgb) / .35);color:var(--text-soft)}
.summary-jump.unasked>.material-symbols-outlined{color:var(--warn)}
.summary-jump .jump-retry{min-height:44px;padding:0 14px;border:1px solid var(--accent-600);border-radius:var(--ledger-radius,2px);background:var(--accent-950);color:var(--accent);font:500 var(--size-label) var(--head)}
.summary-jump .jump-retry:hover,.summary-jump .jump-retry:focus-visible{border-color:var(--accent);background:var(--accent-900)}
