/* Hallmark · macrostructure: Workbench · tone: editorial · anchor hue: rust
 * pre-emit critique: Philosophy 5 · Hierarchy 4 · Execution 4 · Specificity 5 · Restraint 5 · Variety 4
 * custom theme: warm paper / roman serif / rust · typography only */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;450;500;600&family=Instrument+Serif&display=swap');
@import url('tokens.css');
* {
  box-sizing:border-box
}

html,body {
  overflow-x:clip
}

html {
  scroll-padding-top:24px
}

body {
  margin:0;
  background:var(--color-paper);
  color:var(--color-ink);
  font-family:var(--font-body);
  font-size:15px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased
}

body,button,input,select {
  font-synthesis:none
}

button,input,select {
  font:inherit
}

button,a,select {
  -webkit-tap-highlight-color:var(--color-transparent)
}

a {
  color:inherit;
  text-decoration-thickness:1px;
  text-underline-offset:4px
}

a:hover {
  color:var(--color-accent)
}

button,select,input {
  border:1px solid var(--color-rule-strong);
  border-radius:var(--radius-control);
  background:var(--color-surface);
  color:var(--color-ink)
}

button,select {
  min-height:44px
}

button {
  padding:9px 15px;
  cursor:pointer;
  white-space:nowrap;
  transition:background var(--dur-short) var(--ease-out),transform var(--dur-press) var(--ease-out)
}

button:hover {
  background:var(--color-paper-2)
}

button:active {
  transform:translateY(1px)
}

button:disabled {
  cursor:not-allowed;
  color:var(--color-ink-muted);
  opacity:.55;
  transform:none
}

select {
  padding:8px 32px 8px 12px;
  max-width:100%;
  cursor:pointer
}

input {
  min-height:44px;
  padding:10px 12px;
  width:100%
}

[hidden] {
  display:none!important
}

h1,h2,h3,p {
  margin:0
}

h1,h2 {
  font-family:var(--font-display);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.02em;
  font-style:normal;
  overflow-wrap:anywhere;
  min-width:0
}

h1 {
  font-size:var(--text-title)
}

h2 {
  font-size:2.5rem
}

h3 {
  font-size:1rem;
  line-height:1.35;
  font-weight:500
}

p+p {
  margin-top:12px
}

strong,b {
  font-weight:600
}

code,kbd,.mono {
  font-family:var(--font-data);
  font-size:.8em;
  font-variant-numeric:tabular-nums
}

code {
  overflow-wrap:anywhere
}

kbd {
  color:var(--color-ink-muted)
}

small,.quiet,.muted,.fine-print {
  color:var(--color-ink-muted)
}

.quiet,.fine-print {
  font-size:var(--text-xs)
}

.fine-print {
  line-height:1.6
}

.section-label,.eyebrow {
  font-family:var(--font-body);
  font-size:var(--text-xs);
  color:var(--color-ink-muted);
  font-weight:500;
  margin-bottom:8px
}

.primary-button {
  background:var(--color-accent);
  border-color:var(--color-accent);
  color:var(--color-accent-ink);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:20px
}

.primary-button:hover {
  background:var(--color-accent-strong);
  color:var(--color-accent-ink)
}

.primary-button:disabled {
  color:var(--color-accent-ink)
}

.quiet-button {
  background:var(--color-transparent);
  border-color:var(--color-transparent);
  padding:8px
}

.text-link {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  white-space:nowrap;
  font-size:var(--text-sm)
}

.section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:20px
}

.section-heading h2 {
  font-size:2.3rem
}

.section-heading>* {
  min-width:0
}

.masthead {
  height:72px;
  padding:0 48px;
  display:flex;
  align-items:center;
  border-bottom:1px solid var(--color-rule);
  gap:32px;
  max-width:1680px;
  margin:auto
}

.brand {
  text-decoration:none;
  display:flex;
  align-items:center;
  min-height:44px
}

.brand-word {
  font-family:var(--font-display);
  font-size:42px;
  letter-spacing:-2px;
  line-height:1
}

.brand-point {
  color:var(--color-accent)
}

.masthead-context {
  font-size:12px;
  color:var(--color-ink-muted);
  border-left:1px solid var(--color-rule);
  padding-left:24px
}

.masthead nav {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:28px
}

.masthead nav>a {
  font-size:13px;
  display:flex;
  align-items:center;
  min-height:44px;
  text-decoration:none;
  white-space:nowrap
}

.masthead .active {
  color:var(--color-accent)
}

.search-pill {
  border-color:var(--color-rule);
  display:flex;
  gap:20px;
  align-items:center;
  font-size:12px;
  background:var(--color-transparent)
}

main {
  max-width:1500px;
  margin:auto;
  padding:0 48px
}

.desk-heading {
  display:flex;
  justify-content:space-between;
  gap:32px;
  align-items:center;
  padding:24px 0
}

.desk-heading h1 {
  font-size:clamp(2.5rem,3.5vw,3rem)
}

.desk-description {
  font-size:14px;
  color:var(--color-ink-muted);
  line-height:1.7;
  padding-right:8px
}

.recorded-bar {
  display:flex;
  gap:16px;
  align-items:center;
  border-top:1px solid var(--color-rule);
  border-bottom:1px solid var(--color-rule);
  min-height:48px;
  font-size:12px;
  color:var(--color-ink-muted)
}

.recorded-mark {
  color:var(--color-accent);
  font-weight:500;
  display:flex;
  align-items:center;
  gap:8px
}

.recorded-mark:before {
  content:'';
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--color-accent)
}

.recorded-bar a {
  margin-left:auto;
  display:flex;
  align-items:center;
  min-height:44px;
  text-decoration:none;
  white-space:nowrap
}

.desk-layout {
  display:grid;
  grid-template-columns:192px minmax(0,1fr);
  border-bottom:1px solid var(--color-rule)
}

.case-rail {
  padding:28px 24px 24px 0;
  border-right:1px solid var(--color-rule)
}

.rail-title {
  font-size:12px;
  color:var(--color-ink-muted);
  display:flex;
  justify-content:space-between;
  margin-bottom:16px
}

.case-list {
  display:flex;
  flex-direction:column;
  gap:4px
}

.case-button {
  border:0;
  background:var(--color-transparent);
  display:block;
  white-space:normal;
  text-align:left;
  width:100%;
  padding:12px;
  margin-left:-12px;
  min-height:70px;
  border-radius:0
}

.case-button span {
  display:block
}

.case-button .case-date {
  font-size:14px;
  font-weight:500
}

.case-button .case-subtitle {
  font-size:11px;
  color:var(--color-ink-muted);
  margin-top:4px
}

.case-button[aria-pressed=true] {
  background:var(--color-paper-2);
  box-shadow:inset 2px 0 var(--color-accent)
}

.rail-note {
  margin-top:72px;
  color:var(--color-ink-muted);
  font-size:12px;
  line-height:1.8
}

.ledger-glyph {
  font-family:var(--font-display);
  font-size:42px;
  line-height:1;
  color:var(--color-ink);
  display:block;
  margin-bottom:12px
}

.ledger-glyph>span {
  color:var(--color-accent)
}

.rail-link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:44px;
  font-size:12px;
  text-decoration:none;
  margin-top:32px
}

.mobile-case {
  display:none
}

.case-workspace {
  padding:24px 0 32px 32px;
  min-width:0
}

.case-topline {
  display:flex;
  justify-content:space-between;
  gap:16px;
  font-size:12px;
  color:var(--color-ink-muted);
  margin-bottom:20px
}

.challenge-picker {
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:28px;
  flex-wrap:wrap
}

.challenge-picker label {
  font-size:12px;
  color:var(--color-ink-muted)
}

.challenge-picker select {
  font-size:13px;
  flex:0 1 330px;
  background:var(--color-transparent);
  border-color:var(--color-rule)
}

.challenge-picker .quiet {
  margin-left:auto
}

.investigation-grid {
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);
  gap:32px
}

.decision-column,.research-column {
  min-width:0
}

.research-column {
  border-left:1px solid var(--color-rule);
  padding-left:28px
}

.decision-topline {
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:12px;
  margin-bottom:12px
}

.paper-label {
  color:var(--color-ink-muted)
}

.state-label {
  color:var(--color-accent)
}

.state-label[data-kind=open] {
  color:var(--status-intact)
}

.research-decision h2 {
  font-size:var(--text-display);
  margin:0 0 16px
}

.decision-reason {
  font-size:14px;
  line-height:1.75;
  color:var(--color-ink-2);
  min-height:0
}

.position-change {
  display:flex;
  align-items:center;
  gap:28px;
  border-top:1px solid var(--color-rule);
  border-bottom:1px solid var(--color-rule);
  padding:20px 0;
  margin:24px 0
}

.position-change>div {
  flex:1;
  min-width:0
}

.position-change span:not(.change-arrow) {
  display:block;
  font-size:11px;
  color:var(--color-ink-muted);
  margin-bottom:5px
}

.position-change strong {
  display:block;
  font-size:17px;
  font-weight:500
}

.position-change small {
  display:block;
  font-family:var(--font-data);
  font-size:11px;
  margin-top:4px
}

.change-arrow {
  color:var(--color-accent);
  font-size:24px
}

.replay-controls {
  display:flex;
  flex-wrap:wrap;
  gap:8px
}

.replay-controls button {
  font-size:12px
}

.replay-note {
  font-size:11px;
  color:var(--color-ink-muted);
  margin-top:12px;
  min-height:34px
}

.condition-section {
  margin-top:32px
}

.condition-list {
  border-top:1px solid var(--color-rule)
}

.condition-row {
  padding:16px 0;
  border-bottom:1px solid var(--color-rule);
  display:grid;
  grid-template-columns:20px minmax(0,1fr) auto;
  gap:8px
}

.condition-symbol {
  font-family:var(--font-data);
  font-size:14px
}

.condition-row strong {
  display:block;
  font-size:13px;
  font-weight:500
}

.condition-row p {
  font-size:12px;
  color:var(--color-ink-muted);
  margin-top:5px;
  line-height:1.6
}

.condition-row[data-status=pass] .condition-symbol {
  color:var(--status-intact)
}

.condition-row[data-status=fail] .condition-symbol {
  color:var(--status-invalidated)
}

.condition-status {
  font-size:11px;
  white-space:nowrap;
  color:var(--color-ink-muted)
}

.condition-row[data-status=pass] .condition-status {
  color:var(--status-intact)
}

.condition-section>.fine-print {
  margin-top:12px
}

.measurements {
  margin-top:32px
}

.measurements .section-heading {
  margin-bottom:8px
}

.table-scroll {
  overflow-x:auto;
  max-width:100%;
  overscroll-behavior-x:contain
}

table {
  width:100%;
  border-collapse:collapse;
  text-align:left;
  font-size:12px
}

th {
  font-size:11px;
  font-weight:400;
  color:var(--color-ink-muted);
  white-space:nowrap
}

th,td {
  padding:12px 8px;
  border-bottom:1px solid var(--color-rule);
  vertical-align:top
}

th:first-child,td:first-child {
  padding-left:0
}

td {
  font-variant-numeric:tabular-nums
}

.measurements th,.measurements td {
  padding-right:6px;
  padding-left:6px
}

.measurements th:first-child,.measurements td:first-child {
  padding-left:0
}

.asset-button {
  border:0;
  padding:0;
  min-width:44px;
  background:var(--color-transparent);
  text-align:left;
  font-weight:500;
  font-size:12px;
  text-decoration:underline;
  text-underline-offset:4px
}

.measurements td {
  vertical-align:middle;
  padding-top:2px;
  padding-bottom:2px;
  font-family:var(--font-data);
  font-size:11px
}

.measurements .fine-print {
  margin-top:12px
}

.research-column>.section-heading {
  margin-bottom:12px
}

.challenge-text {
  border-top:1px solid var(--color-rule);
  border-bottom:1px solid var(--color-rule);
  padding:0
}

.challenge-text summary {
  font-size:12px;
  padding:12px 0
}

.challenge-text p {
  font-size:12px;
  line-height:1.7;
  white-space:pre-line;
  padding-bottom:12px
}

.research-events {
  list-style:none;
  padding:0;
  margin:24px 0
}

.research-event {
  position:relative;
  border-left:1px solid var(--color-rule);
  padding:0 0 24px 20px;
  margin-left:5px
}

.research-event:before {
  position:absolute;
  content:'';
  left:-4px;
  top:6px;
  width:7px;
  height:7px;
  background:var(--color-paper);
  border:1px solid var(--color-rule-strong);
  border-radius:50%
}

.research-event.current:before {
  background:var(--color-accent);
  border-color:var(--color-accent)
}

.research-event:last-child {
  padding-bottom:4px;
  border-left-color:var(--color-transparent)
}

.research-event h4 {
  font-size:13px;
  font-weight:500;
  margin:0 0 7px
}

.research-event p {
  font-size:12px;
  color:var(--color-ink-muted);
  line-height:1.7
}

.research-event .event-change {
  color:var(--status-intact);
  font-size:11px;
  margin-top:8px
}

.event-link {
  border:0;
  padding:0;
  background:var(--color-transparent);
  text-decoration:underline;
  text-underline-offset:3px;
  font-size:11px;
  min-height:44px
}

.pending-event {
  color:var(--color-ink-muted);
  font-size:12px;
  padding:0 0 0 25px
}

.test-caveat {
  background:var(--status-weakened-soft);
  border-left:2px solid var(--status-weakened);
  padding:12px 16px;
  font-size:12px;
  color:var(--status-weakened);
  margin:24px 0
}

.test-caveat strong {
  display:block;
  margin-bottom:6px
}

.review-details {
  border-top:1px solid var(--color-rule);
  font-size:12px
}

.review-details summary {
  padding:16px 0
}

.review-details dl {
  margin:0 0 12px
}

.review-details dt {
  color:var(--color-ink-muted);
  margin-top:12px
}

.review-details dd {
  margin:4px 0;
  overflow-wrap:anywhere
}

.review-details a {
  display:flex;
  align-items:center;
  min-height:44px
}

.review-details label {
  display:block;
  margin-top:16px;
  margin-bottom:8px
}

.review-details select {
  font-size:12px;
  width:100%
}

.source-dialog {
  width:min(660px,calc(100% - 32px));
  max-height:85dvh;
  border:1px solid var(--color-rule);
  background:var(--color-paper);
  padding:28px;
  color:var(--color-ink);
  border-radius:4px
}

.source-dialog::backdrop {
  background:var(--color-backdrop)
}

.source-dialog-head {
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:16px
}

.source-dialog h2 {
  font-size:2.3rem
}

.source-dialog button {
  font-size:12px
}

.source-entry {
  border-top:1px solid var(--color-rule);
  padding-top:20px;
  margin-top:24px
}

.source-entry h3 {
  margin-bottom:8px
}

.source-entry code {
  font-size:11px
}

.source-entry dl {
  font-size:12px;
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:8px
}

.source-entry dt {
  color:var(--color-ink-muted)
}

.source-entry dd {
  margin:0;
  overflow-wrap:anywhere
}

.source-entry table {
  font-size:11px
}

.source-entry td:first-child {
  overflow-wrap:anywhere
}

.source-entry a {
  font-size:12px;
  display:inline-flex;
  align-items:center;
  min-height:44px
}

.research-load-error {
  background:var(--status-invalidated-soft);
  padding:16px;
  margin-bottom:20px;
  color:var(--status-invalidated)
}

.research-load-error button {
  margin-top:12px
}

.archive-home {
  padding:48px 0
}

.archive-layout {
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);
  gap:48px
}

.archive-record {
  padding:20px 0;
  border-top:1px solid var(--color-rule)
}

.archive-record-meta {
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:12px
}

.archive-record h3 {
  font-size:20px;
  line-height:1.5;
  font-weight:400;
  margin-bottom:12px
}

.archive-record h3 a {
  text-decoration:none
}

.archive-record p {
  font-size:14px;
  color:var(--color-ink-2)
}

.archive-record-foot {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:12px
}

.empty-state {
  padding:32px;
  border:1px solid var(--color-rule);
  min-height:200px;
  display:flex;
  flex-direction:column;
  justify-content:center
}

.empty-state h3 {
  font-family:var(--font-display);
  font-size:32px;
  font-weight:400
}

.empty-state p {
  font-size:13px;
  color:var(--color-ink-muted);
  max-width:460px;
  margin-top:12px
}

.live-review {
  border-top:1px solid var(--color-rule);
  padding-top:20px
}

.live-review .section-heading {
  flex-wrap:wrap
}

.live-review p {
  font-size:13px;
  color:var(--color-ink-muted);
  margin-bottom:16px
}

.mode-label {
  font-family:var(--font-data);
  font-size:10px;
  color:var(--color-ink-muted)
}

.run-helper {
  font-size:11px;
  color:var(--color-ink-muted);
  margin:12px 0
}

.run-feedback {
  border-left:2px solid var(--color-accent);
  padding:12px;
  margin:16px 0;
  background:var(--color-paper-2);
  font-size:13px
}

.run-feedback-detail,.run-record-link {
  display:block;
  margin-top:8px
}

.run-progress {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  font-size:11px;
  padding:12px 0
}

.run-progress [data-state=active] {
  color:var(--color-accent)
}

.test-notes {
  border-top:1px solid var(--color-rule);
  border-bottom:1px solid var(--color-rule);
  padding:36px 0;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);
  gap:64px
}

.test-notes h2 {
  font-size:2.5rem
}

.test-notes p {
  font-size:14px;
  color:var(--color-ink-muted);
  margin-top:16px;
  max-width:370px
}

.test-notes dl {
  margin:0
}

.test-notes dl>div {
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  gap:16px;
  padding:12px 0;
  border-bottom:1px solid var(--color-rule);
  font-size:13px
}

.test-notes dl>div:first-child {
  padding-top:0
}

.test-notes dl>div:last-child {
  border-bottom:0
}

.test-notes dt {
  font-weight:500
}

.test-notes dd {
  margin:0;
  color:var(--color-ink-muted)
}

.activity-section,.demo-links-section {
  padding:40px 0;
  border-bottom:1px solid var(--color-rule)
}

.activity-list {
  list-style:none;
  padding:0
}

.activity-item {
  border-top:1px solid var(--color-rule);
  padding:20px 0;
  font-size:13px
}

.activity-head {
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-bottom:8px
}

.activity-head time,.activity-context,.activity-evidence {
  font-size:11px;
  color:var(--color-ink-muted)
}

.activity-context {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:8px
}

.reason-code {
  font-family:var(--font-data);
  font-size:11px;
  display:block;
  margin-top:8px;
  overflow-wrap:anywhere
}

.demo-links-grid {
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  margin-top:24px
}

.demo-link-card {
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1 1 220px;
  text-decoration:none;
  border-top:1px solid var(--color-rule);
  padding:20px 0
}

.demo-link-card span {
  font-size:12px;
  color:var(--color-ink-muted)
}

footer {
  max-width:1500px;
  margin:auto;
  padding:32px 48px;
  display:flex;
  align-items:start;
  gap:32px;
  font-size:12px
}

footer>.quiet {
  margin-left:auto;
  font-size:10px
}

.footer-brand {
  font-family:var(--font-display);
  font-size:28px
}

.footer-statement {
  font-family:var(--font-display);
  font-size:28px
}

.footer-meta {
  font-size:12px;
  color:var(--color-ink-muted)
}

/* Existing thesis records use the same paper, typography, and rule system. */
.thesis-shell main {
  max-width:1250px
}

.thesis-shell>.callout {
  max-width:1154px;
  margin:24px auto 0
}

.callout {
  padding:16px 20px;
  border-left:2px solid var(--color-accent);
  background:var(--color-paper-2);
  font-size:13px
}

.callout-label {
  font-weight:500;
  display:block;
  margin-bottom:8px
}

.section {
  padding:36px 0;
  border-bottom:1px solid var(--color-rule)
}

.section-first {
  padding-top:36px
}

.section>h2 {
  margin-bottom:24px
}

.section>p {
  max-width:800px
}

.decision-plate-head,.decision-plate-status,.section-kicker {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap
}

.decision-plate-head {
  padding-bottom:24px;
  border-bottom:1px solid var(--color-rule)
}

.section-kicker {
  font-size:12px;
  color:var(--color-ink-muted)
}

.section-kicker .eyebrow {
  margin:0
}

.decision-plate-context {
  font-size:11px;
  color:var(--color-accent)
}

.decision-plate-body {
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,1fr);
  gap:48px;
  padding:32px 0 8px
}

.decision-plate-label {
  font-size:12px;
  color:var(--color-ink-muted);
  display:block;
  margin-bottom:12px
}

.page-title {
  font-size:var(--text-title);
  margin-bottom:20px
}

.cause-summary {
  font-size:16px;
  line-height:1.75
}

.banner {
  padding:16px 0;
  margin-top:24px;
  border-top:1px solid var(--color-rule)
}

.banner-copy {
  font-size:13px
}

.banner-copy strong {
  display:block;
  margin-bottom:8px
}

.snapshot-grid {
  margin:0;
  display:flex;
  flex-direction:column;
  border-left:1px solid var(--color-rule);
  padding-left:28px
}

.snapshot-grid>div {
  padding:12px 0;
  border-bottom:1px solid var(--color-rule)
}

.snapshot-grid>div:first-child {
  padding-top:0
}

.snapshot-grid dt {
  font-size:12px;
  color:var(--color-ink-muted)
}

.snapshot-grid dd {
  margin:4px 0;
  font-size:24px;
  font-weight:400
}

.snapshot-grid small {
  font-size:11px
}

.state-note {
  padding:16px;
  background:var(--color-paper-2);
  font-size:13px;
  margin-top:20px;
  max-width:none!important
}

.state-note-warning {
  background:var(--status-weakened-soft);
  color:var(--status-weakened)
}

.state-note-danger {
  background:var(--status-invalidated-soft);
  color:var(--status-invalidated)
}

.status-pill {
  font-size:11px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  line-height:1.5
}

.status-intact {
  color:var(--status-intact)
}

.status-weakened {
  color:var(--status-weakened)
}

.status-invalidated {
  color:var(--status-invalidated)
}

.status-unknown,.status-expired {
  color:var(--status-unknown)
}

.dot {
  width:5px;
  height:5px;
  display:inline-block;
  background:currentColor;
  border-radius:50%
}

.trace-actions {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap
}

.trace-action {
  font-size:12px
}

.trace-action-status {
  font-size:12px;
  color:var(--color-ink-muted)
}

.trace-action-status[data-kind=error] {
  color:var(--status-invalidated)
}

.trace-action-status[data-kind=success] {
  color:var(--status-intact)
}

.trace-intro {
  color:var(--color-ink-muted);
  font-size:13px
}

.trace-steps {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  padding:0;
  list-style:none;
  margin:28px 0;
  border-top:1px solid var(--color-rule);
  border-bottom:1px solid var(--color-rule)
}

.trace-step {
  padding:20px 20px 20px 0;
  margin-right:20px;
  border-right:1px solid var(--color-rule);
  min-width:0
}

.trace-step:last-child {
  border:0;
  margin:0
}

.trace-step-number {
  font-family:var(--font-data);
  font-size:11px;
  color:var(--color-accent);
  display:block;
  margin-bottom:16px
}

.trace-step-kicker {
  font-size:10px;
  color:var(--color-ink-muted)
}

.trace-step h3 {
  margin:5px 0 8px
}

.trace-step p {
  font-size:12px;
  color:var(--color-ink-muted)
}

.trace-code {
  display:block;
  margin-top:8px;
  font-size:10px
}

.cause-card {
  border-left:2px solid var(--color-accent);
  padding:16px 24px;
  background:var(--color-paper-2)
}

.cause-heading {
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px
}

.cause-trigger-row {
  font-size:12px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:12px
}

.trace-change-list {
  margin-top:12px
}

.trace-change {
  font-size:13px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
  border-top:1px solid var(--color-rule)
}

.trace-change>span:last-child {
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap
}

.evidence-inspector {
  margin-top:24px;
  border-top:1px solid var(--color-rule);
  border-bottom:1px solid var(--color-rule)
}

summary {
  min-height:44px;
  cursor:pointer;
  font-size:13px;
  padding:14px 0
}

summary:hover {
  color:var(--color-accent)
}

.summary-hash {
  font-size:11px;
  color:var(--color-ink-muted);
  overflow-wrap:anywhere;
  margin-left:12px
}

.evidence-inspector-body {
  padding:0 0 24px
}

.inspector-heading {
  display:flex;
  justify-content:space-between;
  gap:16px;
  font-size:12px
}

.inspector-bundle-hash {
  display:block;
  font-size:11px
}

.subsection-heading {
  margin:28px 0 16px
}

.source-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px
}

.source-card {
  border-top:1px solid var(--color-rule);
  padding:16px 0;
  min-width:0;
  font-size:12px
}

.source-card-top {
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px
}

.source-card p {
  margin-top:8px
}

.source-meta,.source-arguments {
  font-size:11px;
  color:var(--color-ink-muted)
}

.source-meta code {
  font-size:10px
}

.source-warnings,.issue-list {
  font-size:12px;
  padding-left:20px
}

.trace-integrity {
  font-size:10px;
  color:var(--color-ink-muted);
  margin-top:16px;
  max-width:none!important
}

.trace-integrity code {
  font-size:10px
}

.kv {
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  font-size:13px;
  gap:12px;
  margin:20px 0
}

.kv dt {
  color:var(--color-ink-muted)
}

.kv dd {
  margin:0
}

.kv ul {
  margin:0;
  padding-left:16px
}

.change-row {
  margin-bottom:8px
}

.change-values {
  display:inline-flex;
  gap:8px;
  margin-left:12px
}

.thesis-statement {
  font-size:20px;
  line-height:1.6
}

.fact-list {
  list-style:none;
  padding:0
}

.fact-item {
  padding:12px 0;
  border-bottom:1px solid var(--color-rule);
  font-size:13px
}

.fact-badge {
  color:var(--status-intact);
  font-size:11px
}

.fact-note {
  font-size:12px
}

.conditions {
  min-width:650px
}

.conditions td {
  font-size:12px
}

.conditions caption {
  text-align:left;
  padding-bottom:20px;
  color:var(--color-ink-muted);
  font-size:12px
}

.technical-label {
  font-size:10px;
  color:var(--color-ink-muted)
}

.timeline {
  list-style:none;
  padding:0
}

.timeline-event {
  display:grid;
  grid-template-columns:200px minmax(0,1fr);
  gap:24px;
  border-top:1px solid var(--color-rule);
  padding:16px 0;
  font-size:13px
}

.timeline-event time {
  font-size:11px;
  color:var(--color-ink-muted)
}

.timeline-event strong {
  display:block;
  margin-bottom:6px
}

.archive-section details {
  border-top:1px solid var(--color-rule)
}

.archive-section details>p,.evidence-summary {
  font-size:12px;
  padding-bottom:20px
}

.evidence-section-intro {
  font-size:13px;
  color:var(--color-ink-muted);
  margin-bottom:20px
}

.evidence-list {
  padding-left:16px
}

.evidence-list li {
  margin-bottom:8px
}

.section#share p {
  font-size:13px
}

.recovery-path {
  margin:12px 0;
  padding:12px;
  background:var(--color-paper-2);
  font-size:12px
}

@media(min-width:1500px) {
  .desk-layout {
    grid-template-columns:210px minmax(0,1fr)
  }

  .case-workspace {
    padding-left:40px
  }

  .investigation-grid {
    gap:48px
  }

  .research-column {
    padding-left:36px
  }

}

@media(max-width:1150px) {
  main {
    padding:0 28px
  }

  .masthead {
    padding:0 28px
  }

  .desk-layout {
    grid-template-columns:160px minmax(0,1fr)
  }

  .case-workspace {
    padding-left:24px
  }

  .investigation-grid {
    grid-template-columns:minmax(0,1fr)
  }

  .research-column {
    border-left:0;
    padding-left:0;
    border-top:1px solid var(--color-rule);
    padding-top:24px
  }

  .research-events {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 24px
  }

  .decision-reason {
    min-height:0
  }

  .rail-note {
    margin-top:48px
  }

  .challenge-picker .quiet {
    margin:0
  }

  .thesis-shell>.callout {
    margin-left:28px;
    margin-right:28px
  }

  .trace-steps {
    grid-template-columns:minmax(0,1fr)
  }

  .trace-step {
    display:flex;
    gap:20px;
    padding:16px 0;
    border-right:0;
    border-bottom:1px solid var(--color-rule);
    margin:0
  }

  .trace-step-number {
    margin:0;
    min-width:24px
  }

  .trace-step-kicker {
    display:none
  }

  .trace-step h3 {
    margin-top:0
  }

  .test-notes {
    gap:32px
  }

  footer {
    padding:32px 28px
  }

}

@media(max-width:768px) {
  .masthead {
    height:76px;
    padding:0 24px;
    gap:20px
  }

  .masthead-context {
    display:none
  }

  .masthead nav {
    gap:20px
  }

  .brand-word {
    font-size:36px
  }

  .search-pill {
    gap:12px
  }

  .desk-heading {
    padding:32px 0 24px;
    display:block
  }

  .desk-description {
    margin-top:16px
  }

  .desk-description br {
    display:none
  }

  .recorded-bar {
    flex-wrap:wrap;
    gap:4px 12px;
    padding:10px 0
  }

  .recorded-bar a {
    margin-left:0
  }

  .desk-layout {
    display:block
  }

  .case-rail {
    border-right:0;
    border-bottom:1px solid var(--color-rule);
    padding:16px 0
  }

  .rail-title,.case-list,.rail-note,.rail-link {
    display:none
  }

  .mobile-case {
    display:flex;
    gap:16px;
    align-items:center;
    font-size:12px
  }

  .mobile-case select {
    flex:1;
    min-width:0;
    font-size:13px
  }

  .case-workspace {
    padding:24px 0 32px
  }

  .case-topline {
    font-size:11px
  }

  .challenge-picker {
    gap:8px;
    margin-bottom:24px
  }

  .challenge-picker select {
    flex:1;
    min-width:0
  }

  .challenge-picker .quiet {
    width:100%;
    padding-left:0
  }

  .investigation-grid {
    gap:24px
  }

  .research-decision h2 {
    margin-bottom:16px
  }

  .decision-reason {
    font-size:14px
  }

  .archive-layout,.test-notes {
    grid-template-columns:minmax(0,1fr);
    gap:28px
  }

  .archive-home {
    padding:32px 0
  }

  .test-notes dl>div {
    grid-template-columns:120px minmax(0,1fr)
  }

  .test-notes p {
    max-width:none
  }

  .test-notes dl>div:first-child {
    padding-top:12px
  }

  .section-heading {
    align-items:start
  }

  .section-heading h2 {
    font-size:2rem
  }

  .decision-plate-body {
    grid-template-columns:minmax(0,1fr);
    gap:24px
  }

  .snapshot-grid {
    flex-direction:row;
    border-left:0;
    padding-left:0;
    gap:24px
  }

  .snapshot-grid>div {
    flex:1;
    border-top:1px solid var(--color-rule);
    border-bottom:0;
    padding:12px 0!important
  }

  .snapshot-grid dd {
    font-size:20px
  }

  .decision-plate-head {
    display:block
  }

  .decision-plate-status {
    margin-top:12px
  }

  .source-grid {
    grid-template-columns:minmax(0,1fr)
  }

  .timeline-event {
    grid-template-columns:minmax(0,1fr);
    gap:8px
  }

  .kv {
    grid-template-columns:110px minmax(0,1fr)
  }

  .section>.section-heading {
    flex-wrap:wrap
  }

  .source-dialog {
    padding:20px
  }

  .source-dialog-head h2 {
    font-size:2rem
  }

  .summary-hash {
    display:block;
    margin:6px 0 0
  }

  footer {
    flex-wrap:wrap;
    gap:20px
  }

  footer>.quiet {
    margin-left:0;
    width:100%
  }

}

@media(max-width:480px) {
  main {
    padding:0 20px
  }

  .masthead {
    padding:0 20px;
    gap:16px
  }

  .masthead nav {
    gap:16px
  }

  .masthead nav>a {
    font-size:12px
  }

  .search-pill {
    padding:8px 12px
  }

  .search-pill kbd {
    display:none
  }

  .desk-heading h1 {
    font-size:2.8rem
  }

  .desk-description {
    font-size:13px
  }

  .recorded-bar {
    font-size:11px
  }

  .recorded-bar>a {
    font-size:11px
  }

  .case-topline {
    flex-wrap:wrap;
    gap:4px
  }

  .challenge-picker {
    display:block
  }

  .challenge-picker label {
    display:block;
    margin-bottom:8px
  }

  .challenge-picker select {
    width:100%;
    font-size:12px
  }

  .challenge-picker .quiet {
    display:block;
    margin-top:8px
  }

  .decision-topline {
    font-size:11px
  }

  .research-decision h2 {
    font-size:3.5rem
  }

  .position-change {
    gap:12px
  }

  .position-change strong {
    font-size:16px
  }

  .position-change small {
    font-size:10px
  }

  .replay-controls {
    gap:4px
  }

  .replay-controls button {
    padding:8px 10px;
    font-size:11px
  }

  .replay-controls .primary-button {
    gap:12px
  }

  .condition-row {
    grid-template-columns:16px minmax(0,1fr)
  }

  .condition-status {
    grid-column:2;
    margin-top:0
  }

  .condition-row strong {
    font-size:13px
  }

  .research-events {
    grid-template-columns:minmax(0,1fr);
    gap:0
  }

  .measurements th {
    font-size:10px
  }

  .measurements td {
    font-size:10px
  }

  .measurements .section-heading h3 {
    font-size:14px
  }

  .section-heading {
    flex-direction:column;
    gap:8px
  }

  .measurements .section-heading,.research-column>.section-heading,.condition-section>.section-heading {
    flex-direction:row;
    align-items:center
  }

  .condition-section .section-heading h3 {
    font-size:14px
  }

  .test-notes dl>div {
    display:block
  }

  .test-notes dd {
    margin-top:6px
  }

  .source-dialog-head {
    gap:8px
  }

  .source-dialog-head button {
    padding:8px;
    font-size:11px
  }

  .source-dialog h2 {
    font-size:1.8rem
  }

  .source-dialog {
    padding:16px
  }

  .source-entry dl {
    grid-template-columns:70px minmax(0,1fr)
  }

  .source-entry th,.source-entry td {
    font-size:10px;
    padding:8px 4px
  }

  .source-entry th:first-child,.source-entry td:first-child {
    max-width:130px
  }

  .thesis-shell>.callout {
    margin-left:20px;
    margin-right:20px
  }

  .snapshot-grid {
    gap:16px
  }

  .snapshot-grid dd {
    font-size:18px
  }

  .snapshot-grid small {
    font-size:10px
  }

  .snapshot-grid dt {
    font-size:11px
  }

  .kv {
    display:block
  }

  .kv dt {
    margin-top:12px
  }

  .kv dd {
    margin-top:4px
  }

  .trace-change {
    display:block
  }

  .trace-change>span:last-child {
    margin-top:6px
  }

  .activity-head {
    display:block
  }

  .activity-head time {
    display:block;
    margin-top:6px
  }

  .section-kicker {
    display:block
  }

  .last-checked {
    display:block;
    margin-top:8px
  }

  .cause-card {
    padding:16px
  }

  .cause-summary {
    font-size:14px
  }

  .page-title {
    font-size:2.8rem
  }

  .empty-state {
    padding:24px
  }

  .section {
    padding:28px 0
  }

  footer {
    padding:28px 20px
  }

}

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

}

@media(max-width:480px) {
  .mobile-case {
    display:block
  }

  .mobile-case label {
    display:block;
    margin-bottom:8px
  }

  .mobile-case select {
    width:100%
  }

}

select:disabled,input:disabled {
  opacity:.55;
  cursor:not-allowed;
  background:var(--color-paper-2)
}

.static-note {
  padding:24px 0;
  font-size:12px;
  color:var(--color-ink-muted)
}

.share-actions {
  display:flex;
  align-items:center;
  gap:16px;
  margin-top:20px
}

.copy-status {
  font-size:12px;
  color:var(--status-intact)
}

.decision-attribution {
  font-size:11px;
  color:var(--color-ink-muted);
  margin:0 0 8px
}

.decision-attribution+.decision-reason {
  margin-top:0
}

/* Hallmark · genre: editorial · macrostructure: Workbench · design-system: design.md
 * designed-as-app · clarity pass: decision first, bounded proofs, progressive detail
 * pre-emit critique: P5 H4 E4 S5 R5 V4 */
.masthead { height:72px; }
.masthead nav { align-items:center; }
.masthead nav>a { min-height:44px; }
.clarity-desk { padding-top:12px; }
.walkthrough-nav { display:flex; align-items:center; gap:8px; padding:4px 0 12px; border-bottom:1px solid var(--color-rule); }
.walkthrough-nav button { display:flex; align-items:center; justify-content:center; gap:8px; background:var(--color-transparent); border-color:var(--color-transparent); font-size:14px; padding:8px 16px; }
.walkthrough-nav button span { color:var(--color-ink-muted); font-family:var(--font-data); font-size:12px; }
.walkthrough-nav button[aria-pressed=true] { color:var(--color-accent); background:var(--color-accent-soft); }
.walkthrough-nav button:hover { background:var(--color-paper-2); }
.recorded-disclosure { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; font-size:12px; color:var(--color-ink-muted); }
.loading-record { padding:40px 0; font-size:16px; color:var(--color-ink-muted); }
.decision-overview { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:48px; padding:16px 0 24px; }
.clarity-desk .research-decision h1 { font-size:clamp(3rem,4.8vw,4.5rem); line-height:1.08; margin:8px 0 12px; }
.clarity-desk .decision-topline { margin:0; font-size:13px; }
.decision-allocation { font-size:20px; line-height:1.5; font-variant-numeric:tabular-nums; margin:0 0 16px; max-width:38ch; }
.clarity-desk .decision-reason { font-size:16px; line-height:1.65; margin:0; max-width:63ch; }
.clarity-desk .replay-controls { display:flex; align-items:center; gap:8px; margin-top:24px; }
.clarity-desk .replay-controls button { font-size:14px; }
.clarity-desk .replay-note { margin-top:8px; font-size:12px; min-height:20px; }
.clarity-desk .condition-section { margin:0; padding:4px 0 0 32px; border-left:1px solid var(--color-rule); }
.clarity-desk .condition-section h2,.research-detail-grid h2 { font:500 17px/1.4 var(--font-body); letter-spacing:0; margin:0; }
.clarity-desk .condition-section .section-heading { margin-bottom:16px; }
.clarity-desk .condition-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:0; gap:0 20px; }
.clarity-desk .condition-row { grid-template-columns:20px minmax(0,1fr); padding:16px 0; border-top:1px solid var(--color-rule); border-bottom:0; }
.clarity-desk .condition-row strong { font-size:14px; font-weight:500; }
.clarity-desk .condition-status { display:block; font-size:13px; margin-top:4px; }
.condition-rules { border-top:1px solid var(--color-rule); font-size:14px; }
.condition-rules summary { font-size:13px; }
.condition-rules dl { margin:0 0 16px; }
.condition-rules dt { margin-top:12px; font-weight:500; }
.condition-rules dd { margin:4px 0 0; color:var(--color-ink-muted); }
.condition-rules>p { padding-bottom:16px; color:var(--color-ink-muted); }
.walkthrough-next { display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid var(--color-rule); padding:16px 0; }
.walkthrough-next button { font-size:14px; white-space:nowrap; }
.recording-options { border-top:1px solid var(--color-rule); border-bottom:1px solid var(--color-rule); margin-bottom:28px; }
.recording-options>summary { font-size:14px; padding:16px 0; }
.recording-selectors { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:16px; }
.recording-selectors>div { min-width:0; }
.recording-selectors label { display:block; margin-bottom:8px; font-size:13px; color:var(--color-ink-muted); }
.recording-selectors select { width:100%; min-width:0; font-size:13px; }
.recording-options>p { padding-bottom:12px; }
.research-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; }
.research-detail-grid .measurements { margin-top:0; min-width:0; }
.research-detail-grid .measurements h2 { margin:0 0 16px; }
.research-detail-grid .research-column { padding-left:32px; }
.research-detail-grid .measurements td,.research-detail-grid .asset-button { font-size:14px; }
.research-detail-grid .measurements th { font-size:13px; }
.research-detail-grid .measurements .fine-print { font-size:13px; }
.research-detail-grid .research-column>.section-heading { align-items:center; }
.research-detail-grid .research-events { margin-top:20px; }
.research-detail-grid .research-event { padding-bottom:20px; }
.research-detail-grid .research-event h3 { font-size:15px; margin-bottom:8px; }
.research-detail-grid .research-event p { font-size:14px; line-height:1.6; }
.research-detail-grid .event-change { font-size:13px!important; }
.research-event details summary { font-size:13px; }
.research-event details p { padding:4px 0 12px; }
.research-detail-grid .event-link { font-size:13px; min-height:44px; }
.agent-assessment { border-top:1px solid var(--color-rule); margin-top:20px; }
.agent-assessment p { font-size:14px; margin:0 0 16px; }
.clarity-desk .review-details { margin-top:28px; }
.clarity-desk .review-details dl { max-width:65ch; }
.clarity-desk .test-caveat { margin:16px 0; font-size:14px; }
.proof-stage { padding:12px 0 24px; }
.proof-stage h1 { font-size:var(--text-title); margin-bottom:16px; }
.proof-lead { max-width:65ch; font-size:17px; line-height:1.6; color:var(--color-ink-2); margin-bottom:28px; }
.proof-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--color-rule); border-bottom:1px solid var(--color-rule); padding:20px 0; margin:0 0 28px; gap:24px; }
.proof-metrics strong { display:block; font-size:32px; font-weight:500; line-height:1.3; font-variant-numeric:tabular-nums; }
.proof-metrics span { display:block; font-size:14px; color:var(--color-ink-muted); margin-top:8px; }
.proof-comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; }
.proof-comparison article { border-top:1px solid var(--color-rule); padding:20px 0; }
.proof-comparison h2 { font-size:28px; margin:12px 0; }
.proof-comparison p { font-size:15px; line-height:1.65; max-width:65ch; }
.proof-comparison a,.outage-captures a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; white-space:nowrap; }
.proof-status { font-size:13px; font-weight:500; }
.proof-status.failed { color:var(--status-invalidated); }
.proof-status.passed { color:var(--status-intact); }
.proof-details { border-top:1px solid var(--color-rule); margin-top:20px; font-size:14px; }
.proof-details summary { font-size:14px; }
.proof-details p,.proof-details ul { padding-bottom:16px; max-width:70ch; }
.proof-details li { padding:8px 0; }
.proof-details ol { margin:0 0 20px; padding-left:24px; }
.proof-details ol p { white-space:pre-line; }
.proof-boundary { max-width:70ch; font-size:15px; color:var(--color-ink-2); }
.outage-captures { margin:24px 0; }
.outage-captures article { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,2fr) auto; align-items:center; gap:24px; padding:12px 0; border-top:1px solid var(--color-rule); }
.outage-captures h2 { font:500 15px/1.4 var(--font-body); letter-spacing:0; }
.outage-captures p { font-size:14px; color:var(--color-ink-muted); }
.verify-action { display:flex; align-items:center; gap:24px; margin:24px 0; }
.verify-action button { min-height:44px; }
.verify-action p { font-size:14px; color:var(--color-ink-muted); }
[data-verify-status][data-kind=success] { color:var(--status-intact); }
[data-verify-status][data-kind=error] { color:var(--status-invalidated); }
.verification-checks { list-style:none; margin:24px 0; padding:0; max-width:800px; }
.verification-checks li { border-top:1px solid var(--color-rule); padding:16px 0; }
.verification-checks strong { font-size:16px; font-weight:500; color:var(--status-intact); }
.verification-checks p { font-size:14px; color:var(--color-ink-muted); margin-top:4px; }
[data-proof-loading] { padding:24px 0; font-size:15px; color:var(--color-ink-muted); }
[data-proof-loading] button { display:block; margin-top:16px; }
.live-view { max-width:760px; padding:36px 0; border:0; }
.live-view h1 { margin:0; }
.live-view .section-heading { align-items:center; }
.live-view p { font-size:16px; max-width:65ch; }
.live-view .run-helper { font-size:14px; }
.archive-home .archive-layout { display:block; }
.archive-home { min-height:260px; }
.archive-home .empty-state { border:0; border-top:1px solid var(--color-rule); padding:24px 0; min-height:0; }
.test-notes { display:block; padding:0; margin-top:24px; border-top:1px solid var(--color-rule); }
.test-notes>summary { font-size:14px; padding:16px 0; }
.evaluation-copy { max-width:72ch; padding:4px 0 24px; }
.evaluation-copy p { font-size:14px; max-width:none; margin-top:12px; }
.source-entry th,.source-entry td { font-size:13px; }
.source-entry td:first-child { overflow-wrap:anywhere; }
.source-entry summary { font-size:13px; }
.source-dialog-head h2 { font-size:2rem; }
@media(max-width:1150px) {
  .decision-overview { gap:28px; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
  .clarity-desk .condition-section { padding-left:24px; }
  .clarity-desk .replay-controls { gap:4px; }
  .clarity-desk .replay-controls button { padding:8px 12px; }
  .research-detail-grid { gap:28px; }
  .research-detail-grid .research-column { border-top:0; border-left:1px solid var(--color-rule); padding:0 0 0 24px; }
  .research-detail-grid .research-events { display:block; }
}
@media(max-width:768px) {
  .clarity-desk .decision-overview { display:block; padding-top:12px; }
  .clarity-desk .research-decision h1 { font-size:3.5rem; }
  .clarity-desk .condition-section { border-left:0; border-top:1px solid var(--color-rule); padding:20px 0 0; margin-top:20px; }
  .clarity-desk .condition-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .clarity-desk .replay-controls { gap:8px; }
  .research-detail-grid { grid-template-columns:minmax(0,1fr); }
  .research-detail-grid .research-column { border-left:0; border-top:1px solid var(--color-rule); padding:24px 0 0; }
  .recording-selectors { grid-template-columns:minmax(0,1fr); }
  .proof-comparison { grid-template-columns:minmax(0,1fr); gap:8px; }
  .walkthrough-next { flex-wrap:wrap; gap:12px; }
  .outage-captures article { grid-template-columns:minmax(0,1fr) auto; gap:8px 16px; }
  .outage-captures p { grid-row:2; grid-column:1 / -1; }
  .verify-action { flex-direction:column; align-items:start; gap:12px; }
  .proof-metrics { gap:16px; }
  .proof-metrics span { font-size:13px; }
}
@media(max-width:480px) {
  .masthead { height:64px; padding:0 16px; gap:12px; }
  .masthead .brand-word { font-size:32px; }
  .masthead nav { gap:12px; }
  .masthead nav>a { font-size:12px; }
  .masthead .search-pill { padding:8px 10px; }
  main { padding:0 16px; }
  .clarity-desk { padding-top:8px; }
  .walkthrough-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 8px; padding:0 0 8px; }
  .walkthrough-nav button { justify-content:start; font-size:13px; padding:8px; gap:8px; }
  .recorded-disclosure { display:block; padding:10px 0; font-size:12px; }
  .recorded-disclosure>span { display:inline-flex; margin-right:12px; }
  .clarity-desk .decision-overview { padding-top:8px; padding-bottom:12px; }
  .clarity-desk .decision-topline { font-size:12px; }
  .clarity-desk .research-decision h1 { font-size:3rem; margin:8px 0; }
  .decision-allocation { font-size:18px; line-height:1.45; margin-bottom:12px; }
  .clarity-desk .decision-reason { font-size:15px; line-height:1.6; }
  .clarity-desk .replay-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:16px; }
  .clarity-desk .replay-controls button { font-size:13px; padding:8px; }
  .clarity-desk .replay-note { font-size:12px; }
  .clarity-desk .condition-section .section-heading { flex-direction:row; align-items:center; margin-bottom:8px; }
  .clarity-desk .condition-section h2 { font-size:16px; }
  .clarity-desk .condition-row { padding:12px 0; }
  .clarity-desk .condition-row strong { font-size:14px; }
  .clarity-desk .condition-row .condition-status { grid-column:auto; }
  .walkthrough-next button { font-size:13px; padding:8px 12px; }
  .recording-options { margin-bottom:24px; }
  .recording-options>summary { font-size:13px; }
  .research-detail-grid .measurements th { font-size:12px; }
  .research-detail-grid .measurements td { font-size:13px; }
  .proof-stage { padding-top:8px; }
  .proof-stage h1 { font-size:2.5rem; }
  .proof-lead { font-size:16px; margin-bottom:20px; }
  .proof-metrics { gap:12px; padding:16px 0; }
  .proof-metrics strong { font-size:24px; }
  .proof-metrics span { font-size:12px; }
  .proof-comparison h2 { font-size:26px; }
  .outage-captures h2,.outage-captures p { font-size:14px; }
  .outage-captures article { grid-template-columns:minmax(0,1fr); }
  .outage-captures p { grid-column:auto; }
  .source-entry th,.source-entry td { font-size:12px; }
  footer { padding:24px 16px; }
}
@media(max-width:350px) {
  .masthead nav { gap:8px; }
  .masthead .search-pill { min-width:44px; padding:8px; }
  .masthead nav>a { font-size:11px; }
  .walkthrough-nav button { font-size:12px; }
  .clarity-desk .condition-list { gap:0 12px; }
}
@media(min-width:769px) { .decision-allocation { max-width:none; } }
.decision-allocation { max-width:none; }
@media(max-width:480px) { .research-detail-grid .measurements td { font-size:14px; } }
.source-entry table { table-layout:fixed; }
.source-entry td,.source-entry th { overflow-wrap:anywhere; white-space:normal; }
.source-entry th:first-child { width:42%; }
.source-entry th:nth-child(2) { width:32%; }
.source-entry th:nth-child(3) { width:26%; }
.source-entry td:nth-child(2) { font-size:14px; font-variant-numeric:tabular-nums; }
/* Supplied Ledger identity: use the original transparent image without recolouring. */
.brand-logo { display:block; width:156px; height:52px; object-fit:contain; }
.nav-compact { display:none; }
@media(max-width:480px) {
  .masthead { padding-inline:12px; gap:8px; }
  .brand-logo { width:132px; height:44px; }
  .masthead .nav-full { display:none; }
  .masthead .nav-compact { display:inline; }
  .masthead nav { gap:8px; }
  .masthead nav>a { font-size:12px; }
}
@media(max-width:350px) { .brand-logo { width:108px; height:36px; } }
