/* Emergency mode, guided first run and rescue. Large type, big targets, calm. Uses the Aurora tokens from styles.css. */

.em { font-size: 1.0625rem; }
.em .em-lead { font-size: 1.125rem; color: var(--ink-2); max-width: var(--measure); }
.em-big { min-height: 52px; font-size: 1.0625rem; padding: 12px 20px; }
.em-back { margin: 16px 0 4px; }

/* /help */
.em-triage h1 { font-size: clamp(1.75rem, 6vw, 2.5rem); line-height: 1.15; margin: 4px 0 10px; }
.em-choices { display: grid; gap: 12px; margin: 20px 0; }
.em-choice {
  display: flex; flex-direction: column; gap: 4px; text-align: left; width: 100%;
  padding: 18px 20px; min-height: 72px; border-radius: var(--r); cursor: pointer;
  background: var(--surface); border: 1px solid var(--line); color: var(--ink); text-decoration: none;
  font: inherit; transition: border-color .15s, background .15s;
}
.em-choice b { font-size: 1.1875rem; font-weight: 600; }
.em-choice span { color: var(--ink-2); font-size: .9375rem; }
.em-choice:hover, .em-choice:focus-visible { border-color: var(--hivis); background: var(--surface-2); outline: none; box-shadow: var(--glow-teal); }
.em-calm { color: var(--ink-2); border-left: 3px solid var(--ok); padding: 6px 0 6px 14px; }

/* shared paste form */
.em-paste { display: grid; gap: 10px; margin: 16px 0; }
.em-paste input, .em-paste select { min-height: 48px; font-size: 1rem; }
@media (min-width: 640px) { .em-paste { grid-template-columns: 1fr auto auto; align-items: end; } .em-paste label { grid-column: 1 / -1; } }

/* /emergency */
.em-stop { background: var(--danger-bg); border-left: 4px solid var(--danger); padding: 14px 16px; border-radius: var(--r-sm); font-size: 1.0625rem; margin: 8px 0 12px; }
.em-verdict { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 14px 16px; margin: 12px 0; }
.em-verdict b { display: block; font-size: 1.375rem; margin: 2px 0 4px; }
.em-verdict p { margin: 0; color: var(--ink-2); }
.em-verdict.bad { border-color: var(--danger); } .em-verdict.bad b { color: var(--danger); }
.em-verdict.good { border-color: var(--ok); } .em-verdict.good b { color: var(--ok); }
.em-steps { list-style: none; padding: 0; margin: 12px 0; display: grid; gap: 12px; }
.em-generic { list-style: decimal; padding-left: 1.4em; } .em-generic li { margin: 6px 0; }
.em-step { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 14px 16px; }
.em-step.prio-now { border-left: 4px solid var(--danger); }
.em-step.prio-soon { border-left: 4px solid var(--warn); }
.em-step.prio-skip { opacity: .7; }
.em-step.done { opacity: .65; border-left-color: var(--ok); }
.em-step.done label { text-decoration: line-through; color: var(--ink-2); }
.em-step-h { display: flex; gap: 12px; align-items: flex-start; }
.em-step-h input { width: 26px; height: 26px; flex: none; margin: 2px 0 0; accent-color: var(--ok); }
.em-step-h label { flex: 1; font-size: 1.125rem; font-weight: 600; margin: 0; cursor: pointer; }
.em-step > p { margin: 8px 0 0 38px; color: var(--ink-2); }
.em-act { margin: 10px 0 0 38px; }
.em-act:empty { display: none; }
.em-when { margin: 6px 0 0 38px; } .em-when:empty { display: none; }
.em-num { display: inline-grid; place-items: center; width: 1.6em; height: 1.6em; border-radius: 50%; background: var(--surface-2); font-size: .875rem; margin-right: 4px; }
.em-prio { flex: none; }
.em-thieves, .em-approvals { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.em-thieves li { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.em-approvals li { display: flex; gap: 12px; justify-content: space-between; align-items: flex-start; padding: 10px; background: var(--surface-2); border-radius: var(--r-sm); }
.em-approvals li.risk-high { border-left: 3px solid var(--danger); }
.em-rv { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex: none; }
.em-foot { margin-top: 24px; }

/* /rescue */
.em-warn p { margin: 0 0 8px; } .em-warn p:last-child { margin: 0; }
.em-offline { margin: 12px 0; }
.em-panel { margin: 16px 0; }
.em-panel form { display: grid; gap: 8px; }
.em-panel input:not([type=checkbox]):not([type=radio]), .em-panel textarea { min-height: 44px; font-size: 1rem; width: 100%; }
.em-panel fieldset { border: 1px solid var(--line); border-radius: var(--r-sm); padding: 10px 12px; margin: 4px 0; }
.em-tokens { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.em-tk { display: inline-flex; gap: 6px; align-items: center; font-weight: 400; margin: 0; }
.em-radio { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; margin: 6px 0; }
.em-radio input { margin-top: 4px; flex: none; }
.em-budget { background: var(--surface-2); border-radius: var(--r-sm); padding: 12px 14px; margin-top: 12px; }
.em-budget p { margin: 0 0 6px; }
.em-log { padding-left: 1.2em; } .em-log li { margin: 6px 0; } .em-log .good { color: var(--ok); } .em-log .bad { color: var(--danger); }
.em-simlist { margin: 0; }

@media (max-width: 520px) {
  .em-step > p, .em-act, .em-when { margin-left: 0; }
  .em-approvals li { flex-direction: column; } .em-rv { align-items: flex-start; flex-direction: row; }
}
