.simulation-dialog { width: min(900px, calc(100vw - 24px)); max-width: 900px; }
.simulation-dialog h2 { font-size: clamp(26px, 6vw, 40px); }
.simulation-deck { border: 1px solid var(--line); background: var(--bg-metal); padding: 16px; color: var(--white); font: 12px/1.5 'SFMono-Regular', Consolas, monospace; }
.simulation-deck__controls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.simulation-deck__controls > label:nth-child(2) { grid-column: span 2; }
.simulation-deck label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; letter-spacing: .05em; }
.simulation-deck input, .simulation-deck select { width: 100%; min-width: 0; min-height: 44px; border: 1px solid var(--line); background: var(--graphite); color: var(--white); padding: 8px; font: inherit; font-size: 12px; }
.simulation-deck input[type=range] { padding: 0; accent-color: var(--hazard-amber); }
.simulation-deck output { color: var(--phosphor); font-size: 12px; }
.simulation-deck small { font-size: 9px; line-height: 1.5; letter-spacing: 0; }
.simulation-deck__hint { color: var(--muted); font-size: 10px; line-height: 1.7; margin: 16px 0; }
.simulation-deck__actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.simulation-deck__actions button { flex: 1 1 auto; min-height: 44px; border: 1px solid var(--hazard-amber); background: var(--graphite); color: var(--hazard-amber); padding: 10px; font-size: 11px; }
.simulation-deck__actions button:hover:not(:disabled) { box-shadow: 0 0 12px #ffb70344; }
.simulation-deck__actions button:disabled { opacity: .4; }
.simulation-deck__timeline { display: grid; gap: 14px; border-block: 1px solid var(--line); padding: 16px 0; }
.simulation-deck__readout { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; color: var(--phosphor); }
.simulation-deck__timeline label { grid-template-columns: 1fr auto; }
.simulation-deck__timeline label output { text-align: right; }
.simulation-deck meter { grid-column: 1 / -1; appearance: none; width: 100%; height: 14px; border: 1px solid var(--line); background: var(--graphite); }
.simulation-deck meter::-webkit-meter-bar { background: var(--graphite); border: 0; border-radius: 0; }
.simulation-deck meter::-webkit-meter-optimum-value { background: var(--phosphor); }
.simulation-deck meter::-moz-meter-bar { background: var(--phosphor); }
.simulation-deck [data-meter=enemy]::-webkit-meter-optimum-value { background: var(--hazard-amber); }
.simulation-deck [data-meter=enemy]::-moz-meter-bar { background: var(--hazard-amber); }
.simulation-deck [data-stat=delay] { color: var(--muted); font-size: 9px; }
.simulation-deck__result { color: var(--hazard-amber); font-size: 10px; line-height: 1.8; }
.simulation-deck__log-heading { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 9px; margin-top: 20px; }
.simulation-deck__log-heading span { text-align: right; }
.simulation-deck__log { height: 200px; overflow: auto; margin: 10px 0 0; padding: 0; list-style: none; color: var(--white); font-size: 10px; user-select: text; }
.simulation-deck__log li { padding: 7px 4px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
@media (max-width: 520px) {
  .simulation-deck { padding: 10px; }
  .simulation-deck__controls { grid-template-columns: 1fr 1fr; gap: 12px; }
  .simulation-deck__controls > label:nth-child(2) { grid-column: auto; }
  .simulation-deck__controls > label:last-child { grid-column: 1 / -1; }
  .simulation-deck__timeline label { grid-template-columns: 1fr; }
  .simulation-deck__timeline label output { text-align: left; }
  .simulation-deck { padding: 12px; }
  .simulation-deck label, .simulation-deck small, .simulation-deck__hint,
  .simulation-deck [data-stat=delay], .simulation-deck__result,
  .simulation-deck__log-heading, .simulation-deck__log { font-size: 12px; line-height: 1.35; }
  .simulation-deck__actions button { font-size: 12px; }
}
