:root {
  --field: oklch(0.18 0.055 190);
  --paper: oklch(0.96 0.006 190);
  --breach: oklch(0.52 0.21 25);
  --dim: color-mix(in oklch, var(--paper) 57%, var(--field));
  --faint: color-mix(in oklch, var(--paper) 22%, var(--field));
  --mono: "Lucida Console", "Courier New", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--paper);
  background: var(--field);
  font-family: var(--mono);
  font-size: 12px;
}
button, input, textarea, select { font: inherit; }
button, a { color: inherit; }

.machine-window {
  width: min(1180px, calc(100% - 20px));
  margin: 10px auto;
  border: 2px solid var(--paper);
  box-shadow: inset 1px 1px var(--paper), inset -1px -1px var(--faint);
  background: var(--field);
}

.title-bar {
  height: 25px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 2px 3px;
  color: var(--field);
  background: var(--paper);
  font-family: Tahoma, Arial, sans-serif;
  font-size: 12px;
}
.program-icon { width: 18px; height: 18px; display: grid; place-items: center; border: 1px solid var(--field); font-family: var(--mono); font-weight: 700; }
.title-bar h1 { margin: 0; overflow: hidden; font: inherit; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.window-controls { display: flex; gap: 2px; margin-left: auto; }
.window-controls span { width: 18px; height: 18px; display: grid; place-items: center; border: 1px solid var(--field); line-height: 1; }

.menu-bar { min-height: 25px; display: flex; align-items: center; gap: 4px; padding: 2px 5px; border-bottom: 1px solid var(--paper); }
.menu-bar a, .menu-bar button { padding: 3px 8px; border: 0; background: transparent; text-decoration: none; cursor: pointer; }
.menu-bar a:hover, .menu-bar button:hover { color: var(--field); background: var(--paper); }
.clock { margin-left: auto; padding-right: 5px; color: var(--dim); }

.machine-toolbar { display: flex; flex-wrap: wrap; gap: 18px; padding: 5px 8px; border-bottom: 1px solid var(--paper); color: var(--dim); font-size: 10px; }
.breach-text { color: var(--breach) !important; }

.work-area { display: grid; grid-template-columns: 185px minmax(480px, 1fr) 205px; min-height: 650px; }
.directory-pane, .diagnostic-pane { min-width: 0; }
.directory-pane { border-right: 1px solid var(--paper); }
.diagnostic-pane { border-left: 1px solid var(--paper); }
.pane-title { padding: 4px 6px; color: var(--field); background: var(--paper); font-weight: 700; }

.tree-menu { margin: 0; padding: 10px 7px; list-style: none; line-height: 1.9; }
.tree-menu ul { margin: 2px 0 5px; padding-left: 14px; list-style: none; }
.tree-menu a, .tree-menu button { padding: 1px 2px; border: 0; background: transparent; text-decoration: none; cursor: pointer; }
.tree-menu a:hover, .tree-menu button:hover { color: var(--field); background: var(--paper); }
.directory-info { margin: 18px 7px 7px; padding: 7px; border: 1px dashed var(--dim); }
.directory-info p { margin: 8px 0 2px; color: var(--dim); font-size: 9px; }
.directory-info strong { font-weight: 400; }

.terminal-pane { min-width: 0; background: color-mix(in oklch, var(--field) 94%, var(--paper)); }
.terminal-output { padding: 10px 12px 14px; }
.boot-mark { margin: 0 0 9px; overflow: hidden; color: var(--paper); font-family: var(--mono); font-size: clamp(5px, .84vw, 10px); line-height: 1.05; white-space: pre; }
.boot-line, .prompt-line { margin: 3px 0; line-height: 1.45; }
.prompt-line { margin: 12px 0 9px; }

.recovery-box, .frame-box, .feed-box, .first-run-box { margin-top: 10px; border: 1px solid var(--paper); }
.dos-heading { display: flex; justify-content: space-between; gap: 12px; padding: 3px 5px; color: var(--field); background: var(--paper); font-weight: 700; }
.first-run-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--paper); }
.first-run-steps li { min-width: 0; }
.first-run-steps a, .first-run-steps button {
  width: 100%;
  min-height: 78px;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;
  gap: 2px 7px;
  align-content: center;
  padding: 8px;
  border: 0;
  border-right: 1px solid var(--dim);
  color: var(--paper);
  background: transparent;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.first-run-steps li:last-child a, .first-run-steps li:last-child button { border-right: 0; }
.first-run-steps strong { grid-row: 1 / span 2; color: var(--breach); font-weight: 400; }
.first-run-steps span { font-weight: 700; }
.first-run-steps em { color: var(--dim); font-size: 9px; font-style: normal; line-height: 1.35; }
.first-run-steps a:hover, .first-run-steps button:hover, .first-run-steps a:focus-visible, .first-run-steps button:focus-visible { color: var(--field); background: var(--paper); outline: 0; }
.first-run-steps a:hover strong, .first-run-steps button:hover strong, .first-run-steps a:focus-visible strong, .first-run-steps button:focus-visible strong { color: var(--breach); }
.first-run-steps a:hover em, .first-run-steps button:hover em, .first-run-steps a:focus-visible em, .first-run-steps button:focus-visible em { color: var(--field); }
.recovery-table { display: grid; grid-template-columns: 112px 1fr; gap: 5px 12px; padding: 9px; }
.recovery-table span { color: var(--dim); }
.recovery-table strong { font-weight: 400; }
.ascii-meter { display: flex; align-items: center; gap: 3px; padding: 0 9px 10px; }
.meter-track { flex: 1; height: 12px; border-top: 1px solid var(--dim); border-bottom: 1px solid var(--dim); }
.meter-track i { display: block; width: 12.481%; height: 100%; background: var(--paper); transition: width .2s steps(12, end); }

.frame-box { border-color: var(--breach); }
.frame-box .dos-heading { color: var(--paper); background: var(--breach); }
.frame-copy { margin: 0; padding: 22px 10px 18px; font-size: clamp(15px, 2.3vw, 25px); line-height: 1.15; text-align: center; }
.frame-source { margin: 0; padding: 5px 8px; border-top: 1px solid var(--breach); color: var(--dim); font-size: 9px; }

#event-feed { min-height: 130px; margin: 0; padding: 7px 9px; list-style: none; }
#event-feed li { display: grid; grid-template-columns: 75px 54px 1fr; gap: 6px; padding: 3px 0; line-height: 1.35; }
#event-feed time { color: var(--dim); }
#event-feed b { color: var(--dim); font-size: 8px; font-weight: 400; }
#event-feed b.live { color: var(--paper); }
#event-feed li.new-tape-entry { animation: tape-in .22s steps(3, end); }
.live-tape-heading > span:last-child { display: flex; align-items: center; gap: 6px; font-size: 8px; }
.live-tape-heading b { font-weight: 700; }
.live-tape-heading button { padding: 0 2px; border: 1px solid var(--field); color: var(--field); background: var(--paper); cursor: pointer; font-size: 8px; }
.live-tape-heading button:hover, .live-tape-heading button:focus-visible { color: var(--paper); background: var(--field); }
@keyframes tape-in { from { transform: translateY(-4px); opacity: .25; } }
.cursor-line { margin: 0; padding: 3px 9px 9px; }
.block-cursor { animation: blink 1s steps(1, end) infinite; }
@keyframes blink { 50% { opacity: 0; } }

.diagnostic-table { width: calc(100% - 12px); margin: 7px 6px; border-collapse: collapse; font-size: 10px; }
.diagnostic-table th, .diagnostic-table td { padding: 5px 4px; border: 1px solid var(--dim); text-align: left; font-weight: 400; }
.diagnostic-table td { text-align: right; }
.signal-scope, .sector-map, .broadcast-list, .anomaly-watch { margin: 14px 6px 0; padding-top: 8px; border-top: 1px dashed var(--dim); }
.signal-scope p, .sector-map p, .broadcast-list p, .anomaly-watch p { margin: 0 0 7px; color: var(--dim); font-size: 9px; }
.anomaly-watch strong, .anomaly-watch span { display: block; }
.anomaly-watch strong { color: var(--breach); font-weight: 400; }
.anomaly-watch span { margin: 4px 0 6px; color: var(--dim); font-size: 9px; }
.anomaly-watch button { padding: 3px 5px; border: 1px solid var(--paper); color: var(--paper); background: transparent; cursor: pointer; font-size: 9px; }
.anomaly-watch button:hover { color: var(--field); background: var(--paper); }
.scope-bars { height: 55px; display: flex; align-items: center; gap: 3px; }
.scope-bars i { flex: 1; height: 20%; background: var(--paper); animation: scope 2.1s steps(4, end) infinite alternate; }
.scope-bars i:nth-child(2), .scope-bars i:nth-child(11) { height: 46%; }.scope-bars i:nth-child(3), .scope-bars i:nth-child(10) { height: 72%; }.scope-bars i:nth-child(4), .scope-bars i:nth-child(9) { height: 35%; }.scope-bars i:nth-child(5), .scope-bars i:nth-child(8) { height: 88%; }.scope-bars i:nth-child(6), .scope-bars i:nth-child(7) { height: 58%; }
@keyframes scope { to { transform: scaleY(.45); } }
.signal-scope strong { display: block; margin-top: 5px; font-weight: 400; }
.sector-map pre { margin: 0; color: var(--dim); line-height: 1.3; }
.broadcast-list ol { margin: 0; padding: 0; list-style: none; font-size: 10px; line-height: 1.8; }
.broadcast-list span { display: inline-block; width: 48px; color: var(--dim); }
.broadcast-list .active { color: var(--breach); }

.directive-window { margin: 8px 8px 0; border-color: var(--breach); }
.directive-window .subwindow-title { color: var(--paper); background: var(--breach); }
.directive-body { display: grid; grid-template-columns: minmax(250px, .75fr) minmax(420px, 1.25fr) auto; gap: 14px; align-items: center; min-height: 122px; padding: 10px; }
.directive-copy h2 { margin: 0 0 7px; font-size: 15px; line-height: 1.2; }
.directive-copy p { max-width: 58ch; margin: 0 0 9px; color: var(--dim); font-size: 10px; line-height: 1.45; }
.directive-copy > strong { color: var(--breach); font-size: 9px; font-weight: 400; }
.directive-requirements { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; }
.directive-requirement { display: grid; grid-template-columns: 92px 1fr; gap: 4px 8px; align-items: center; }
.directive-requirement span { color: var(--dim); font-size: 8px; }
.directive-requirement strong { justify-self: end; font-size: 9px; font-weight: 400; }
.directive-requirement i { grid-column: 1 / -1; display: block; height: 7px; border-top: 1px solid var(--dim); border-bottom: 1px solid var(--dim); }
.directive-requirement b { display: block; width: 0; height: 100%; background: var(--paper); }
.directive-actions { display: grid; gap: 5px; }
.directive-actions a, .directive-actions button { min-width: 132px; padding: 5px 7px; border: 1px solid var(--paper); color: var(--paper); background: transparent; cursor: pointer; text-align: left; text-decoration: none; font-size: 9px; }
.directive-actions a:hover, .directive-actions button:hover { color: var(--field); background: var(--paper); }
.directive-actions > span { max-width: 150px; color: var(--dim); font-size: 8px; line-height: 1.35; }

.subwindows { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(310px, .65fr); gap: 8px; padding: 8px; border-top: 1px solid var(--paper); }
.subwindows > *, .subwindow-body, .archive-view { min-width: 0; }
.retro-window { border: 2px solid var(--paper); box-shadow: inset 1px 1px var(--faint); }
.subwindow-title { display: flex; justify-content: space-between; gap: 12px; padding: 3px 5px; color: var(--field); background: var(--paper); }
.subwindow-title span { font-size: 9px; }
.subwindow-body { min-height: 300px; padding: 8px; }
.command-path, .relay-instruction { margin: 0 0 9px; color: var(--dim); }
.archive-tabs { display: flex; gap: 3px; margin-bottom: 8px; border-bottom: 1px solid var(--paper); overflow-x: auto; }
.archive-tabs button { flex: 0 0 auto; padding: 5px 6px; border: 1px solid transparent; border-bottom: 0; color: var(--dim); background: transparent; cursor: pointer; font-size: 9px; white-space: nowrap; }
.archive-tabs button:hover, .archive-tabs button.active { color: var(--field); background: var(--paper); }
.archive-view[hidden] { display: none; }
.frame-engine, .incident-engine, .dictionary-engine, .anomaly-engine, .assembly-engine, .witness-engine { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(250px, 1.1fr); gap: 8px; }
.frame-grid { display: grid; grid-template-columns: repeat(10, minmax(24px, 1fr)); align-content: start; border-top: 1px solid var(--dim); border-left: 1px solid var(--dim); }
.frame-cell { position: relative; min-height: 34px; padding: 4px 2px; border: 0; border-right: 1px solid var(--dim); border-bottom: 1px solid var(--dim); color: var(--dim); background: transparent; cursor: default; text-align: center; }
.frame-cell b { display: block; font-size: 10px; font-weight: 400; }
.frame-cell small { display: block; margin-top: 2px; font-size: 7px; }
.frame-cell.sealed, .frame-cell.partial { color: var(--paper); cursor: pointer; }
.frame-cell.sealed::after { content: ""; position: absolute; right: 2px; bottom: 2px; width: 3px; height: 3px; background: var(--paper); }
.frame-cell.partial { color: var(--breach); }
.frame-cell.partial::after { content: "?"; position: absolute; right: 2px; bottom: 0; font-size: 8px; }
.frame-cell:hover:not(:disabled), .frame-cell.selected { color: var(--field); background: var(--paper); }
.frame-cell.selected::after { background: var(--field); }
.frame-cell:focus-visible, .incident-file:focus-visible { outline: 1px solid var(--breach); outline-offset: -2px; }
.record-detail { min-height: 250px; padding: 7px; border: 1px solid var(--dim); overflow-wrap: anywhere; }
.record-detail h3 { margin: 0; padding: 4px 5px; color: var(--field); background: var(--paper); font-size: 11px; font-weight: 700; }
.record-table { display: grid; grid-template-columns: 96px 1fr; gap: 4px 8px; margin: 8px 0; }
.record-table span { color: var(--dim); }
.record-table strong { font-weight: 400; }
.raw-data { min-height: 54px; margin: 8px 0 0; padding: 7px; border: 1px dashed var(--dim); color: var(--dim); font-size: 9px; line-height: 1.5; white-space: pre-wrap; }
.reconstruction { margin: 8px 0 0; padding: 8px; border: 1px solid var(--breach); color: var(--paper); font-size: 12px; line-height: 1.5; }
.record-links { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.record-links button { padding: 3px 5px; border: 1px solid var(--paper); color: var(--paper); background: transparent; cursor: pointer; }
.record-links button:hover { color: var(--field); background: var(--paper); }
.incident-list { border: 1px solid var(--dim); }
.incident-file { width: 100%; display: grid; grid-template-columns: 70px 1fr 65px; gap: 7px; padding: 6px; border: 0; border-bottom: 1px dotted var(--dim); color: var(--dim); background: transparent; text-align: left; }
.incident-file:last-child { border-bottom: 0; }
.incident-file:not(:disabled) { color: var(--paper); cursor: pointer; }
.incident-file:not(:disabled):hover, .incident-file.selected { color: var(--field); background: var(--paper); }
.incident-file span:last-child { text-align: right; }
.locked-record { color: var(--dim); }
.case-summary { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 7px; }
.case-summary span { flex: 1 1 120px; padding: 4px 5px; border: 1px inset var(--dim); color: var(--dim); font-size: 9px; }
.incident-timeline { display: flex; min-height: 42px; margin-bottom: 8px; border: 1px solid var(--dim); overflow-x: auto; }
.timeline-event { min-width: 84px; padding: 5px; border: 0; border-right: 1px solid var(--dim); color: var(--dim); background: transparent; text-align: left; cursor: default; }
.timeline-event:last-child { border-right: 0; }
.timeline-event:not(:disabled) { color: var(--paper); cursor: pointer; }
.timeline-event:not(:disabled):hover, .timeline-event.active { color: var(--field); background: var(--paper); }
.timeline-event time, .timeline-event span { display: block; }
.timeline-event time { margin-bottom: 4px; font-size: 9px; }
.timeline-event span { font-size: 8px; }
.case-board { margin-top: 8px; border: 1px solid var(--dim); }
.case-board-head { display: flex; justify-content: space-between; gap: 8px; align-items: center; padding: 4px 5px; color: var(--field); background: var(--paper); }
.case-board-head div { display: flex; gap: 3px; }
.case-board-head button { padding: 2px 5px; border: 1px solid var(--field); color: var(--field); background: var(--paper); cursor: pointer; font-size: 8px; }
.case-board-head button:active { color: var(--paper); background: var(--field); }
.case-board-grid { display: grid; grid-template-columns: .9fr 1.1fr; min-height: 90px; }
.pinned-evidence, .contradiction-report { padding: 7px; }
.pinned-evidence { border-right: 1px solid var(--dim); }
.pinned-evidence > p, .contradiction-report > p { margin: 0; color: var(--dim); }
.evidence-chip { display: grid; grid-template-columns: 62px 1fr auto; gap: 6px; padding: 4px 0; border-bottom: 1px dotted var(--dim); }
.evidence-chip button { border: 0; color: var(--breach); background: transparent; cursor: pointer; }
.contradiction-item { margin: 0 0 6px; padding: 5px; border: 1px solid var(--breach); line-height: 1.45; }
.contradiction-item:last-child { margin-bottom: 0; }
.contradiction-item strong { color: var(--breach); }
.dictionary-search { display: grid; grid-template-columns: 62px 1fr auto; gap: 6px; align-items: center; margin-bottom: 7px; }
.dictionary-search label, .dictionary-search span { color: var(--dim); font-size: 9px; }
.dictionary-list { border: 1px solid var(--dim); }
.dictionary-entry { width: 100%; display: grid; grid-template-columns: 92px 1fr 65px; gap: 7px; padding: 6px; border: 0; border-bottom: 1px dotted var(--dim); color: var(--dim); background: transparent; text-align: left; }
.dictionary-entry:last-child { border-bottom: 0; }
.dictionary-entry:not(:disabled) { color: var(--paper); cursor: pointer; }
.dictionary-entry:not(:disabled):hover, .dictionary-entry.selected { color: var(--field); background: var(--paper); }
.dictionary-entry .dict-status { text-align: right; font-size: 9px; }
.dictionary-entry.flagged .dict-status { color: var(--breach); }
.dictionary-entry.flagged:hover .dict-status, .dictionary-entry.flagged.selected .dict-status { color: var(--field); }
.dictionary-rule { margin: 8px 0 0; padding: 7px; border: 1px solid var(--breach); line-height: 1.5; }
.dictionary-example { display: grid; grid-template-columns: 60px 1fr; gap: 4px 7px; margin-top: 8px; font-size: 9px; }
.dictionary-example span { color: var(--dim); }
.anomaly-summary { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 7px; }
.anomaly-summary span, .anomaly-summary button { flex: 1 1 125px; padding: 4px 5px; border: 1px inset var(--dim); color: var(--dim); background: transparent; font-size: 9px; text-align: left; }
.anomaly-summary button { flex-basis: 145px; color: var(--paper); cursor: pointer; }
.anomaly-summary button:hover { color: var(--field); background: var(--paper); }
.anomaly-stream { height: 76px; margin-bottom: 8px; padding: 5px 7px; border: 1px solid var(--dim); overflow: hidden; }
.anomaly-observation { display: grid; grid-template-columns: 66px 64px 1fr; gap: 7px; padding: 2px 0; color: var(--dim); font-size: 9px; line-height: 1.25; }
.anomaly-observation:first-child { color: var(--paper); }
.anomaly-observation strong { color: var(--breach); font-weight: 400; }
.anomaly-list { border: 1px solid var(--dim); }
.anomaly-entry { width: 100%; display: grid; grid-template-columns: 68px 1fr 52px; gap: 7px; padding: 6px; border: 0; border-bottom: 1px dotted var(--dim); color: var(--paper); background: transparent; text-align: left; cursor: pointer; }
.anomaly-entry:last-child { border-bottom: 0; }
.anomaly-entry:hover, .anomaly-entry.selected { color: var(--field); background: var(--paper); }
.anomaly-entry span:last-child { text-align: right; font-size: 9px; }
.anomaly-entry.open span:last-child { color: var(--breach); }
.anomaly-entry.open:hover span:last-child, .anomaly-entry.open.selected span:last-child { color: var(--field); }
.anomaly-value { margin: 8px 0 0; padding: 8px; border: 1px solid var(--breach); font-size: 12px; line-height: 1.5; }
.anomaly-trace { margin: 8px 0 0; padding: 7px; border: 1px dashed var(--dim); color: var(--dim); font-size: 9px; line-height: 1.5; }
.assembly-summary { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 7px; }
.assembly-summary span { flex: 1 1 130px; padding: 4px 5px; border: 1px inset var(--dim); color: var(--dim); font-size: 9px; }
.assembly-controls { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 8px; }
.assembly-controls button { padding: 4px 6px; border: 1px solid var(--paper); color: var(--paper); background: transparent; cursor: pointer; font-size: 9px; }
.assembly-controls button:hover, .assembly-controls button.active { color: var(--field); background: var(--paper); }
.assembly-tape { margin-bottom: 8px; border: 1px solid var(--dim); }
.assembly-tape-head { display: flex; justify-content: space-between; gap: 8px; padding: 4px 5px; color: var(--field); background: var(--paper); font-size: 9px; }
.assembly-track { position: relative; height: 50px; overflow: hidden; background: color-mix(in oklch, var(--paper) 7%, var(--field)); }
.assembly-track::after { content: "52.511 SEC UNRECOVERED"; position: absolute; inset: 0 8px 0 12.481%; display: grid; place-items: center; color: var(--dim); font-size: 9px; pointer-events: none; }
.assembly-segment { position: absolute; top: 0; bottom: 0; min-width: 5px; padding: 3px 1px; overflow: hidden; border: 0; border-right: 1px solid var(--field); color: var(--field); background: var(--paper); cursor: pointer; font-size: 8px; text-align: center; }
.assembly-segment:hover, .assembly-segment.selected { color: var(--paper); background: var(--breach); }
.assembly-segment span { display: none; }
.assembly-playhead { position: absolute; z-index: 2; top: 0; bottom: 0; width: 2px; background: var(--breach); pointer-events: none; }
.assembly-ticks { display: flex; justify-content: space-between; padding: 3px 5px; border-top: 1px solid var(--dim); color: var(--dim); font-size: 8px; }
.audio-master { margin-bottom: 8px; border: 1px solid var(--dim); }
.audio-master-head { display: flex; justify-content: space-between; gap: 8px; padding: 4px 5px; color: var(--field); background: var(--paper); font-size: 9px; }
.audio-scope { height: 34px; display: flex; align-items: center; gap: 2px; padding: 4px 5px; overflow: hidden; }
.audio-scope i { flex: 1 1 0; min-width: 1px; height: 2px; background: var(--dim); }
.audio-scope i.recovered { background: var(--paper); }
.audio-scope i.active { background: var(--breach); }
.audio-master p { margin: 0; padding: 0 6px 6px; color: var(--dim); font-size: 8px; line-height: 1.45; }
.assembly-transcript { border: 1px solid var(--dim); }
.assembly-line { width: 100%; display: grid; grid-template-columns: 98px 38px 1fr; gap: 6px; padding: 6px; border: 0; border-bottom: 1px dotted var(--dim); color: var(--paper); background: transparent; cursor: pointer; text-align: left; line-height: 1.35; }
.assembly-line:last-child { border-bottom: 0; }
.assembly-line:hover, .assembly-line.selected { color: var(--field); background: var(--paper); }
.assembly-line time, .assembly-line span { color: var(--dim); font-size: 8px; }
.assembly-line:hover time, .assembly-line.selected time, .assembly-line:hover span, .assembly-line.selected span { color: var(--field); }
.assembly-output { margin: 8px 0 0; padding: 8px; border: 1px solid var(--breach); line-height: 1.5; }
.assembly-manifest { margin: 8px 0 0; padding: 7px; border: 1px dashed var(--dim); color: var(--dim); font-size: 9px; line-height: 1.5; overflow-wrap: anywhere; }
.transmission-gate { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-top: 8px; padding: 7px; border: 1px solid var(--breach); }
.transmission-gate div { display: grid; gap: 3px; }
.transmission-gate span { color: var(--breach); font-size: 9px; }
.transmission-gate button { padding: 5px 7px; border: 1px solid var(--dim); color: var(--dim); background: transparent; }
.witness-summary { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 7px; }
.witness-summary span { flex: 1 1 140px; padding: 4px 5px; border: 1px inset var(--dim); color: var(--dim); font-size: 9px; }
.witness-controls { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 8px; }
.witness-controls button { padding: 4px 6px; border: 1px solid var(--paper); color: var(--paper); background: transparent; cursor: pointer; font-size: 9px; }
.witness-controls button:hover { color: var(--field); background: var(--paper); }
.witness-list { border: 1px solid var(--dim); }
.witness-entry { width: 100%; display: grid; grid-template-columns: 88px 1fr 66px; gap: 7px; padding: 6px; border: 0; border-bottom: 1px dotted var(--dim); color: var(--paper); background: transparent; cursor: pointer; text-align: left; }
.witness-entry:last-child { border-bottom: 0; }
.witness-entry:hover, .witness-entry.selected { color: var(--field); background: var(--paper); }
.witness-entry span:last-child { text-align: right; color: var(--dim); font-size: 8px; }
.witness-entry:hover span:last-child, .witness-entry.selected span:last-child { color: var(--field); }
.witness-entry.disputed span:last-child { color: var(--breach); }
.witness-statement { margin: 8px 0 0; padding: 8px; border: 1px solid var(--breach); font-size: 12px; line-height: 1.5; }
.witness-hash { margin: 8px 0 0; padding: 7px; border: 1px dashed var(--dim); color: var(--dim); font-size: 9px; line-height: 1.5; overflow-wrap: anywhere; }
.witness-form { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 6px 8px; margin-top: 8px; padding: 7px; border: 1px solid var(--dim); }
.witness-form-head { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 8px; padding: 4px 5px; color: var(--field); background: var(--paper); font-size: 9px; }
.witness-form label { padding-top: 5px; color: var(--dim); font-size: 9px; }
.witness-form p { margin: 0; padding: 5px; border: 1px dashed var(--dim); line-height: 1.45; }
.witness-form select { width: 100%; padding: 5px; border: 1px solid var(--paper); border-radius: 0; outline: none; color: var(--paper); background: var(--field); }
.witness-form select:focus { color: var(--field); background: var(--paper); }
.witness-submit { grid-column: 2; display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.witness-submit span { color: var(--dim); font-size: 8px; }
.witness-submit button { padding: 4px 7px; border: 2px outset var(--paper); color: var(--field); background: var(--paper); cursor: pointer; font-weight: 700; }
.witness-submit button:active { border-style: inset; }
.node-window { margin: 0 8px 8px; }
.node-body { display: grid; grid-template-columns: minmax(360px, .8fr) minmax(420px, 1.2fr); gap: 8px; }
.node-identity, .node-ledger { min-width: 0; }
#node-registration-form { display: grid; grid-template-columns: 72px 1fr; gap: 6px; align-items: start; }
#node-registration-form[hidden] { display: none; }
#node-registration-form label { padding-top: 6px; color: var(--dim); font-size: 9px; }
.node-register-action { grid-column: 2; display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.node-register-action span { color: var(--dim); font-size: 8px; line-height: 1.4; }
.node-register-action button, .node-profile-actions button, .node-ledger-head button { padding: 4px 6px; border: 1px solid var(--paper); color: var(--paper); background: transparent; cursor: pointer; font-size: 9px; }
.node-register-action button:hover, .node-profile-actions button:hover, .node-ledger-head button:hover { color: var(--field); background: var(--paper); }
.node-profile { min-height: 105px; margin-top: 8px; padding: 7px; border: 1px solid var(--dim); }
.node-profile > p { margin: 0; color: var(--dim); }
.node-profile-head { display: flex; justify-content: space-between; gap: 8px; padding-bottom: 5px; border-bottom: 1px solid var(--paper); }
.node-profile-head span { color: var(--breach); }
.node-profile-table { display: grid; grid-template-columns: 88px 1fr; gap: 4px 7px; margin: 8px 0; font-size: 9px; }
.node-profile-table span { color: var(--dim); }
.node-profile-table strong { overflow-wrap: anywhere; font-weight: 400; }
.node-profile-actions { display: flex; flex-wrap: wrap; gap: 4px; }
.node-order { margin: 8px 0; padding: 7px; border: 1px solid var(--breach); }
.node-order > div { display: flex; justify-content: space-between; gap: 8px; }
.node-order > div span { color: var(--breach); font-size: 8px; }
.node-order p { margin: 7px 0; line-height: 1.45; }
.node-order small { display: block; margin-bottom: 7px; color: var(--dim); }
.node-order button { padding: 4px 6px; border: 1px solid var(--paper); color: var(--paper); background: transparent; cursor: pointer; font-size: 9px; }
.node-order button:hover { color: var(--field); background: var(--paper); }
.node-order.completed { border-color: var(--paper); }
.node-order.completed > div span { color: var(--paper); }
.node-ledger { border: 1px solid var(--dim); }
.node-ledger-head { display: flex; justify-content: space-between; gap: 8px; align-items: center; padding: 4px 5px; color: var(--field); background: var(--paper); }
.node-ledger-head div { display: flex; gap: 3px; width: min(310px, 60%); }
.node-ledger-head input { padding: 3px 5px; border-color: var(--field); color: var(--field); background: var(--paper); }
.node-ledger-head button { padding: 3px 5px; border-color: var(--field); color: var(--field); background: var(--paper); }
.node-ledger-list { min-height: 150px; }
.node-ledger-list > p { margin: 0; padding: 9px; color: var(--dim); }
.node-ledger-row { display: grid; grid-template-columns: 100px 1fr 62px 62px 72px; gap: 7px; padding: 6px; border-bottom: 1px dotted var(--dim); font-size: 9px; }
.node-ledger-row:last-child { border-bottom: 0; }
.node-ledger-row span { color: var(--dim); text-align: right; }
.node-ledger-row strong { font-weight: 400; }
.node-ledger-row button { padding: 0; border: 0; color: var(--paper); background: transparent; cursor: pointer; text-align: left; }
.node-ledger-row button:hover { text-decoration: underline; }
.node-ledger-row.active button { color: var(--breach); }

.market-window { margin: 0 8px 8px; }
.market-body { display: grid; grid-template-columns: minmax(180px, .52fr) minmax(480px, 1.6fr) minmax(230px, .78fr); gap: 8px; min-height: 238px; }
.market-body > section { min-width: 0; border: 1px solid var(--dim); }
.market-panel-head { display: flex; justify-content: space-between; gap: 8px; padding: 4px 5px; color: var(--field); background: var(--paper); font-size: 9px; }
.market-panel-head strong { font-weight: 700; }
.market-summary .command-path { margin: 8px 7px; font-size: 8px; line-height: 1.45; overflow-wrap: anywhere; }
#market-summary-grid { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border-top: 1px solid var(--dim); }
#market-summary-grid div { display: flex; justify-content: space-between; gap: 8px; padding: 6px; border-right: 1px solid var(--dim); border-bottom: 1px solid var(--dim); }
#market-summary-grid div:nth-child(even) { border-right: 0; }
#market-summary-grid dt { color: var(--dim); font-size: 8px; }
#market-summary-grid dd { margin: 0; font-variant-numeric: tabular-nums; }
.market-rule { margin: 7px; color: var(--dim); font-size: 8px; line-height: 1.5; }
.candidate-table { overflow-x: auto; }
.candidate-row { display: grid; grid-template-columns: 86px 42px 52px 38px minmax(76px, 1fr) 64px 58px 68px; gap: 6px; min-width: 570px; padding: 5px 6px; border-bottom: 1px dotted var(--dim); align-items: center; font-size: 8px; }
.candidate-row:last-child { border-bottom: 0; }
.candidate-row span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.candidate-head { color: var(--dim); border-bottom-style: solid; }
#candidate-queue-body > p, #worker-fleet-list > p { margin: 0; padding: 12px 7px; color: var(--dim); font-size: 9px; }
.candidate-row [data-state="SELECTED"], .candidate-row [data-state="QUALIFIED"] { color: var(--paper); }
.candidate-row [data-state="HELD"], .candidate-row [data-state="REJECTED"], .worker-row [data-state="FAILED"] { color: var(--breach); }
.worker-row { display: grid; grid-template-columns: 66px minmax(0, 1fr) 58px; gap: 6px; padding: 6px; border-bottom: 1px dotted var(--dim); font-size: 8px; }
.worker-row:last-child { border-bottom: 0; }
.worker-row strong { font-weight: 400; }
.worker-row div { min-width: 0; }
.worker-row div span { display: block; margin-top: 3px; overflow: hidden; color: var(--dim); text-overflow: ellipsis; white-space: nowrap; }
.worker-row > span { text-align: right; }
.worker-row [data-state="RUNNING"], .worker-row [data-state="QUEUED"] { color: var(--paper); }
.worker-row [data-state="HELD"] { color: var(--dim); }

.token-window { margin: 0 8px 8px; }
.token-body { display: grid; grid-template-columns: minmax(350px, .9fr) minmax(420px, 1.1fr); gap: 8px; }
.token-lock { display: grid; gap: 5px; min-height: 54px; padding: 8px; border: 1px solid var(--breach); }
.token-lock strong { color: var(--breach); font-weight: 400; }
.token-lock span { color: var(--dim); font-size: 9px; line-height: 1.45; }
.token-lock.live { border-color: var(--paper); }
.token-lock.live strong { color: var(--paper); }
.token-table { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 5px 8px; margin-top: 8px; padding: 7px; border: 1px solid var(--dim); font-size: 9px; }
.token-table span { color: var(--dim); }
.token-table strong { overflow-wrap: anywhere; font-weight: 400; }
.token-verification { border: 1px solid var(--dim); }
.token-verification-head { display: flex; justify-content: space-between; gap: 8px; padding: 4px 5px; color: var(--field); background: var(--paper); font-size: 9px; }
.token-verification ol { margin: 9px 10px; padding-left: 18px; color: var(--dim); font-size: 9px; line-height: 1.65; }
.token-verification > p { margin: 8px; padding: 7px; border: 1px dashed var(--dim); line-height: 1.5; }
.token-actions { display: flex; flex-wrap: wrap; gap: 5px; padding: 0 8px 8px; }
.token-actions button { padding: 4px 6px; border: 1px solid var(--paper); color: var(--paper); background: transparent; cursor: pointer; font-size: 9px; }
.token-actions button:hover:not(:disabled) { color: var(--field); background: var(--paper); }
.token-actions button:disabled { border-color: var(--dim); color: var(--dim); cursor: not-allowed; }

#relay-form { display: grid; grid-template-columns: 76px 1fr; gap: 6px; align-items: start; }
#relay-form label { padding-top: 6px; }
input, textarea { width: 100%; padding: 5px; border: 1px solid var(--paper); border-radius: 0; outline: none; color: var(--paper); background: var(--field); }
input:focus, textarea:focus { color: var(--field); background: var(--paper); }
textarea { min-height: 76px; resize: vertical; }
input::placeholder, textarea::placeholder { color: var(--dim); }
.form-controls, .form-status { grid-column: 2; }
.form-controls { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.form-controls button, .retro-button { padding: 4px 8px; border: 2px outset var(--paper); color: var(--field); background: var(--paper); cursor: pointer; font-weight: 700; }
.form-controls button:active, .retro-button:active { border-style: inset; }
.form-status { min-height: 15px; margin: 0; color: var(--breach); }
.receipt-console { margin-top: 12px; padding-top: 8px; border-top: 1px dashed var(--dim); }
.receipt-query { display: grid; grid-template-columns: 76px 1fr auto; gap: 6px; align-items: center; }
.receipt-query label { font-size: 10px; }
.receipt-query button, .receipt-actions button, .receipt-history button { padding: 4px 6px; border: 1px solid var(--paper); color: var(--paper); background: transparent; cursor: pointer; }
.receipt-query button:hover, .receipt-actions button:hover, .receipt-history button:hover, .receipt-history button.active { color: var(--field); background: var(--paper); }
.receipt-history { display: flex; flex-wrap: wrap; gap: 4px; margin: 7px 0; }
.receipt-history:empty { display: none; }
.receipt-history button { padding: 2px 4px; color: var(--dim); font-size: 9px; }
.receipt-card { min-height: 65px; padding: 7px; border: 1px solid var(--dim); }
.receipt-card > p { margin: 0; color: var(--dim); }
.receipt-head { display: flex; justify-content: space-between; gap: 8px; padding-bottom: 5px; border-bottom: 1px solid var(--paper); }
.receipt-head strong { color: var(--paper); }

.dialogue-window { grid-column: 1 / -1; }
.dialogue-body { display: grid; grid-template-columns: minmax(360px, 1.15fr) minmax(260px, .85fr); gap: 8px; }
.dialogue-console, .voice-fragment { min-width: 0; border: 1px solid var(--dim); padding: 8px; }
#dialogue-form { display: grid; grid-template-columns: 90px 1fr; gap: 7px; align-items: start; }
#dialogue-form textarea {
  min-height: 76px;
  resize: vertical;
  color: var(--paper);
  background: var(--field);
  border: 1px solid var(--paper);
  font: inherit;
  padding: 6px;
}
.dialogue-controls { grid-column: 2; }
.dialogue-response {
  min-height: 152px;
  margin-top: 8px;
  padding: 8px;
  border: 1px solid var(--paper);
  background: color-mix(in oklch, var(--paper) 7%, transparent);
  white-space: pre-wrap;
}
.dialogue-response p { margin: 0; color: var(--dim); }
.dialogue-response strong { color: var(--paper); }
.dialogue-response .dialogue-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin-bottom: 7px;
  padding-bottom: 6px;
  border-bottom: 1px dashed var(--dim);
}
.dialogue-response .dialogue-meta span { color: var(--dim); }
.voice-fragment > p { margin: 7px 0; color: var(--dim); }
.voice-scope {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 3px;
  height: 42px;
  align-items: end;
  padding: 4px;
  border: 1px solid var(--dim);
}
.voice-scope i {
  display: block;
  height: 18%;
  background: var(--paper);
  opacity: .45;
}
.voice-scope i:nth-child(2n) { height: 46%; }
.voice-scope i:nth-child(3n) { height: 71%; background: var(--breach); opacity: .8; }
.voice-scope.active i { animation: voicePulse 720ms steps(4, end) infinite; }
.voice-scope.active i:nth-child(2n) { animation-duration: 520ms; }
.voice-scope.active i:nth-child(3n) { animation-duration: 900ms; }
@keyframes voicePulse {
  0%, 100% { transform: scaleY(.35); opacity: .35; }
  50% { transform: scaleY(1); opacity: .9; }
}
#voice-fragment-player { width: 100%; margin: 8px 0 0; filter: saturate(0); }
.voice-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.voice-actions button {
  padding: 4px 8px;
  border: 2px outset var(--paper);
  color: var(--field);
  background: var(--paper);
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}
.voice-actions button:disabled { opacity: .45; cursor: not-allowed; }
.voice-ledger {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 8px 0 0;
  border: 1px solid var(--dim);
}
.voice-ledger div { min-width: 0; padding: 5px; border: 1px solid var(--dim); }
.voice-ledger dt { color: var(--dim); }
.voice-ledger dd { margin: 2px 0 0; overflow-wrap: anywhere; color: var(--paper); }
.signal-market-window { margin: 0 8px 8px; }
.signal-market-body { display: grid; grid-template-columns: minmax(420px, 1.15fr) minmax(280px, .85fr); gap: 8px; }
.market-monitor, .market-event-tape { min-width: 0; border: 1px solid var(--dim); padding: 8px; }
.signal-market-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--dim); }
.signal-market-grid div { min-width: 0; padding: 7px; border: 1px solid var(--dim); }
.signal-market-grid span { display: block; margin-bottom: 4px; color: var(--dim); font-size: 9px; }
.signal-market-grid strong { display: block; overflow-wrap: anywhere; font-weight: 400; }
.signal-pressure-bar { height: 16px; margin-top: 8px; border: 1px solid var(--paper); }
.signal-pressure-bar i { display: block; width: 0%; height: 100%; background: var(--breach); transition: width .25s steps(10, end); }
.signal-market-updated { margin: 8px 0 0; color: var(--dim); font-size: 9px; }
#signal-market-events { min-height: 132px; margin: 0; padding: 7px 8px 7px 24px; line-height: 1.45; }
#signal-market-events li { padding: 4px 0; }
#signal-market-events b { color: var(--breach); font-weight: 400; }
.receipt-head span { color: var(--breach); }
.receipt-table { display: grid; grid-template-columns: 86px 1fr; gap: 3px 6px; margin-top: 7px; font-size: 9px; }
.receipt-table span { color: var(--dim); }
.receipt-table strong { overflow-wrap: anywhere; font-weight: 400; }
.receipt-fragment { margin: 7px 0; padding: 6px; border: 1px dashed var(--dim); line-height: 1.45; }
.receipt-actions { display: flex; flex-wrap: wrap; gap: 4px; }
.receipt-actions button { font-size: 9px; }

.status-bar { display: grid; grid-template-columns: 1fr 1fr .5fr auto; gap: 3px; padding: 3px; border-top: 1px solid var(--paper); }
.status-bar span, .status-bar button { padding: 3px 5px; border: 1px inset var(--dim); color: var(--dim); background: transparent; font-size: 9px; text-align: left; }
.status-bar button { cursor: pointer; }
.status-bar button:hover { color: var(--paper); }

dialog { width: min(500px, calc(100% - 24px)); padding: 0; border: 2px solid var(--paper); border-radius: 0; color: var(--paper); background: var(--field); font-family: var(--mono); font-size: 11px; }
dialog::backdrop { background: color-mix(in oklch, var(--field) 82%, transparent); }
.dialog-title { display: flex; justify-content: space-between; align-items: center; padding: 3px 4px; color: var(--field); background: var(--paper); }
.dialog-title button { width: 19px; height: 19px; padding: 0; border: 1px solid var(--field); color: var(--field); background: var(--paper); cursor: pointer; }
.dialog-body { padding: 14px; line-height: 1.6; }
.dialog-body ul { padding-left: 20px; }
.dialog-body .retro-button { display: block; min-width: 72px; margin: 14px auto 0; }
.first-contact-dialog { width: min(680px, calc(100% - 24px)); }
.first-contact-body { padding: 10px; }
.contact-state { display: grid; grid-template-columns: 90px 1fr 90px 1fr; gap: 1px; margin-bottom: 9px; border: 1px solid var(--dim); }
.contact-state span, .contact-state strong { padding: 6px; font-size: 9px; }
.contact-state span { color: var(--dim); }
.contact-state strong { font-weight: 400; }
.first-contact-body ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--paper); }
.first-contact-body li { display: grid; grid-template-columns: 158px 1fr; gap: 12px; padding: 9px 5px; border-bottom: 1px dotted var(--dim); }
.first-contact-body li strong { color: var(--breach); font-weight: 400; }
.first-contact-body li p { max-width: 58ch; margin: 0; line-height: 1.5; }
.contact-command { margin-top: 10px; padding: 7px; border: 1px dashed var(--dim); color: var(--dim); }
.contact-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; margin-top: 10px; }
.contact-actions button { padding: 6px 8px; border: 1px solid var(--paper); color: var(--paper); background: transparent; cursor: pointer; }
.contact-actions button:first-child { border-width: 2px; color: var(--field); background: var(--paper); font-weight: 700; }

@media (max-width: 900px) {
  .work-area { grid-template-columns: 155px minmax(0, 1fr); }
  .menu-bar a, .menu-bar button { min-height: 36px; display: inline-flex; align-items: center; padding: 8px 10px; }
  .tree-menu a, .tree-menu button { min-height: 36px; display: inline-flex; align-items: center; padding: 7px 6px; }
  .live-tape-heading button, .anomaly-watch button { min-height: 40px; padding: 7px 9px; }
  .diagnostic-pane { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; border-top: 1px solid var(--paper); border-left: 0; }
  .diagnostic-pane .pane-title { grid-column: 1 / -1; }
  .diagnostic-table { align-self: start; }
  .subwindows { grid-template-columns: 1fr; }
  .directive-body { grid-template-columns: 1fr 1fr; }
  .directive-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; }
  .node-body { grid-template-columns: 1fr; }
  .token-body { grid-template-columns: 1fr; }
  .market-body { grid-template-columns: minmax(180px, .55fr) minmax(0, 1.45fr); }
  .worker-fleet { grid-column: 1 / -1; }
  #worker-fleet-list { display: grid; grid-template-columns: repeat(3, 1fr); }
  .worker-row:nth-last-child(-n + 3) { border-bottom: 0; }
  .frame-engine, .incident-engine, .dictionary-engine, .anomaly-engine, .assembly-engine, .witness-engine { grid-template-columns: 1fr; }
  .frame-grid { grid-template-columns: repeat(12, minmax(24px, 1fr)); }
}

@media (max-width: 620px) {
  body { font-size: 11px; }
  .machine-window { width: 100%; margin: 0; border-left: 0; border-right: 0; }
  .menu-bar { overflow-x: auto; padding: 3px 5px; }
  .menu-bar a, .menu-bar button { min-height: 36px; display: inline-flex; align-items: center; padding: 8px 10px; }
  .clock { min-width: max-content; }
  .work-area { display: block; }
  .directory-pane { border-right: 0; border-bottom: 1px solid var(--paper); }
  .directory-info { display: none; }
  .tree-menu { display: flex; flex-wrap: wrap; gap: 6px 8px; padding: 8px 7px; }
  .tree-menu > li:not(.open) { display: none; }
  .tree-menu ul { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; }
  .tree-menu a, .tree-menu button { min-height: 36px; display: inline-flex; align-items: center; padding: 7px 6px; border: 1px solid var(--faint); }
  .diagnostic-pane { display: block; }
  .boot-mark { font-size: 5px; }
  #event-feed li { grid-template-columns: 58px 45px 1fr; gap: 4px; }
  .live-tape-heading button { min-height: 28px; padding: 2px 6px; }
  .first-run-steps { grid-template-columns: 1fr 1fr; }
  .first-run-steps a, .first-run-steps button { min-height: 62px; border-right: 0; border-bottom: 1px solid var(--dim); }
  .first-run-steps li:nth-last-child(-n + 2) a, .first-run-steps li:nth-last-child(-n + 2) button { border-bottom: 0; }
  .recovery-table { grid-template-columns: 90px 1fr; }
  .subwindows { padding: 4px; }
  .directive-window { margin: 4px 4px 0; }
  .directive-body { grid-template-columns: 1fr; }
  .directive-requirements { grid-template-columns: 1fr; }
  .directive-actions { grid-column: 1; display: grid; }
  #relay-form { grid-template-columns: 1fr; }
  #relay-form label, .form-controls, .form-status { grid-column: 1; }
  #dialogue-form { grid-template-columns: 1fr; }
  .dialogue-controls { grid-column: 1; }
  #dialogue-form textarea { min-height: 96px; font-size: 12px; }
  .form-controls button, .retro-button, .voice-actions button, .receipt-actions button, .directive-actions a, .directive-actions button { min-height: 42px; padding: 9px 10px; }
  .voice-actions { display: grid; grid-template-columns: 1fr; }
  #voice-fragment-player { min-height: 48px; }
  .voice-ledger { grid-template-columns: 1fr; }
  .receipt-query { grid-template-columns: 1fr; }
  .receipt-query button, .receipt-query input { min-height: 42px; }
  .archive-tabs { overflow-x: auto; }
  .archive-tabs button { min-height: 40px; padding: 8px 9px; white-space: nowrap; }
  .frame-grid button, .incident-file button, .dictionary-entry button, .anomaly-entry button, .witness-entry button { min-height: 38px; }
  .frame-grid { grid-template-columns: repeat(6, minmax(32px, 1fr)); }
  .incident-file { grid-template-columns: 63px 1fr; }
  .incident-file span:last-child { grid-column: 2; text-align: left; }
  .dictionary-search { grid-template-columns: 1fr; }
  .dictionary-entry { grid-template-columns: 72px 1fr; }
  .dictionary-entry .dict-status { grid-column: 2; text-align: left; }
  .anomaly-entry { grid-template-columns: 64px 1fr; }
  .anomaly-entry span:last-child { grid-column: 2; text-align: left; }
  .anomaly-observation { grid-template-columns: 58px 58px 1fr; }
  .assembly-line { grid-template-columns: 88px 34px 1fr; }
  .transmission-gate { align-items: flex-start; flex-direction: column; }
  .witness-entry { grid-template-columns: 82px 1fr; }
  .witness-entry span:last-child { grid-column: 2; text-align: left; }
  .witness-form { grid-template-columns: 1fr; }
  .witness-form-head, .witness-submit { grid-column: 1; }
  .witness-submit { align-items: flex-start; flex-direction: column; }
  .node-window { margin: 0 4px 4px; }
  .token-window { margin: 0 4px 4px; }
  .market-window { margin: 0 4px 4px; }
  .signal-market-window { margin: 0 4px 4px; }
  .dialogue-body { grid-template-columns: 1fr; }
  .signal-market-body { grid-template-columns: 1fr; }
  .signal-market-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .market-body { grid-template-columns: 1fr; }
  .worker-fleet { grid-column: 1; }
  #worker-fleet-list { display: block; }
  .worker-row { border-bottom: 1px dotted var(--dim) !important; }
  .worker-row:last-child { border-bottom: 0 !important; }
  #node-registration-form { grid-template-columns: 1fr; }
  .node-register-action { grid-column: 1; align-items: flex-start; flex-direction: column; }
  .node-ledger-head { align-items: flex-start; flex-direction: column; }
  .node-ledger-head div { width: 100%; }
  .node-ledger-row { grid-template-columns: 92px 1fr; }
  .node-ledger-row span { text-align: left; }
  .case-board-head { align-items: flex-start; flex-direction: column; }
  .case-board-grid { grid-template-columns: 1fr; }
  .pinned-evidence { border-right: 0; border-bottom: 1px solid var(--dim); }
  .status-bar { grid-template-columns: 1fr 1fr; }
  .contact-state { grid-template-columns: 82px 1fr; }
  .first-contact-body li { grid-template-columns: 1fr; gap: 4px; }
  .contact-actions { justify-content: stretch; }
  .contact-actions button { width: 100%; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
