:root {
  --canvas: #f2f0ea;
  --surface: #fbfaf6;
  --surface-strong: #fffefa;
  --ink: #17212b;
  --ink-soft: #3d4852;
  --muted: #6d757c;
  --faint: #969da1;
  --rule: #ddd9cf;
  --rule-dark: #c7c1b5;
  --blue: #2c6a66;
  --blue-soft: #dfecea;
  --blue-pale: #edf3f1;
  --attention: #a04735;
  --attention-soft: #f2e1da;
  --support: #47765c;
  --support-soft: #e3eee7;
  --amber: #9a6b20;
  --amber-soft: #f1ead9;
  --shadow: 0 12px 34px rgb(34 38 38 / 7%);
  --sans: "Avenir Next", Avenir, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", sans-serif;
  --display: Charter, "Iowan Old Style", "Songti SC", "Noto Serif CJK SC", Georgia, serif;
  --mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --shell: 1440px;
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--canvas);
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.55;
  font-feature-settings: "tnum" 1;
  -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea { font: inherit; color: inherit; }

button { cursor: pointer; }

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

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible {
  outline: 3px solid rgb(39 95 159 / 34%);
  outline-offset: 3px;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: -90px;
  left: 20px;
  padding: 10px 16px;
  color: white;
  background: var(--ink);
}

.skip-link:focus { top: 12px; }

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.masthead {
  position: sticky;
  z-index: 40;
  top: 0;
  border-bottom: 1px solid var(--rule-dark);
  background: rgb(251 250 246 / 96%);
  backdrop-filter: blur(16px);
}

.masthead__inner {
  width: min(var(--shell), calc(100% - 48px));
  min-height: 60px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
}

.brand {
  display: flex;
  align-items: baseline;
  gap: 11px;
  padding: 0;
  border: 0;
  background: none;
  text-align: left;
}

.brand__name {
  font: 700 20px/1 var(--display);
  letter-spacing: -.02em;
}

.brand__descriptor {
  color: var(--muted);
  font: 10px/1 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nav { display: flex; justify-content: center; align-self: stretch; }

.nav__item {
  position: relative;
  min-height: 60px;
  padding: 0 14px;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 13px;
}

.nav__item::after {
  position: absolute;
  right: 14px;
  bottom: -1px;
  left: 14px;
  height: 3px;
  content: "";
  background: var(--blue);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 160ms ease;
}

.nav__item:hover,
.nav__item[aria-current="page"] { color: var(--ink); }

.nav__item:hover::after,
.nav__item[aria-current="page"]::after { transform: scaleX(1); }

.masthead__meta {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--muted);
  font: 11px/1 var(--mono);
}

.quiet-action,
.back-action,
.process-link {
  min-height: 38px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: var(--blue);
}

.quiet-action:hover,
.back-action:hover,
.process-link:hover { color: var(--ink); }

.view { display: none; }
.view.is-active { display: block; animation: view-in 180ms ease-out; }

@keyframes view-in {
  from { opacity: 0; transform: translateY(3px); }
  to { opacity: 1; transform: none; }
}

.shell {
  width: min(var(--shell), calc(100% - 48px));
  margin: 0 auto;
}

.today-shell,
.context-shell,
.portfolio-shell,
.decision-shell,
.journal-shell { padding: 54px 0 96px; }

.detail-shell { width: min(1100px, calc(100% - 48px)); padding: 34px 0 96px; }

.eyebrow,
.process__number {
  color: var(--blue);
  font: 700 10px/1.3 var(--mono);
  letter-spacing: .105em;
  text-transform: uppercase;
}

.today-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(420px, .8fr);
  gap: 80px;
  align-items: end;
  padding: 36px 0 42px;
  border-bottom: 1px solid var(--rule-dark);
}

.today-hero h1,
.page-head h1,
.detail-head h1 {
  max-width: 18ch;
  margin-top: 13px;
  font: 600 clamp(40px, 5vw, 70px)/1.02 var(--display);
  letter-spacing: -.045em;
  text-wrap: balance;
}

.today-hero h1 strong { color: var(--attention); font-weight: inherit; }

.today-hero__summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--rule-dark);
  background: rgb(248 250 251 / 72%);
}

.today-hero__summary div { min-height: 116px; padding: 20px; border-left: 1px solid var(--rule); }
.today-hero__summary div:first-child { border-left: 0; }
.today-hero__summary b { display: block; font: 600 36px/1 var(--mono); }
.today-hero__summary span { display: block; margin-top: 14px; color: var(--muted); font-size: 12px; }

.coverage-strip {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
  padding: 17px 20px;
  border: 1px solid var(--rule);
  border-top: 0;
  background: var(--blue-pale);
}

.coverage-strip__label { display: block; color: var(--muted); font: 9px/1.3 var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.coverage-strip strong { font-size: 13px; }
.coverage-strip p { color: var(--muted); font-size: 12px; }
.coverage-strip button { min-height: 40px; padding: 0 13px; border: 1px solid var(--blue); background: transparent; color: var(--blue); }

.today-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(330px, .65fr);
  gap: 24px;
  margin-top: 40px;
}

.today-side { display: grid; gap: 24px; align-content: start; }

.process,
.decision-entry,
.audit,
.context-panel,
.thesis-workbench,
.snapshot-panel,
.rule-panel,
.portfolio-alerts,
.recovery-history,
.simulation,
.brief-section,
.decision-record-form {
  border: 1px solid var(--rule-dark);
  background: var(--surface);
}

.process__head,
.context-panel > header,
.thesis-workbench > header,
.snapshot-panel > header,
.rule-panel > header,
.portfolio-alerts > header,
.simulation > header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 24px;
  border-bottom: 1px solid var(--rule);
}

.process__head h2,
.context-panel h2,
.thesis-workbench h2,
.snapshot-panel h2,
.rule-panel h2,
.portfolio-alerts h2,
.simulation h2,
.audit h2,
.brief-section h2,
.decision-record-form h2 { margin-top: 4px; font-size: 21px; line-height: 1.2; letter-spacing: -.025em; }

.process__head > p,
.process__head header > span,
.context-panel > header > span,
.snapshot-panel > header > span,
.rule-panel > header > span,
.simulation > header > span { max-width: 30ch; color: var(--muted); font-size: 12px; }

.review-row { display: grid; grid-template-columns: 118px 1fr; border-bottom: 1px solid var(--rule); }
.review-row:last-child { border-bottom: 0; }
.review-row--high { box-shadow: inset 3px 0 var(--attention); }
.review-row__meta { padding: 24px 14px 24px 22px; color: var(--muted); font: 10px/1.5 var(--mono); }
.review-row__meta span { display: block; margin-bottom: 10px; }
.priority-label { color: var(--attention); }

.review-row__body {
  display: grid;
  width: 100%;
  min-height: 168px;
  padding: 23px 26px;
  border: 0;
  border-left: 1px solid var(--rule);
  background: transparent;
  text-align: left;
  transition: background 150ms ease;
}

.review-row__body:hover { background: var(--blue-pale); }
.review-row__source { color: var(--blue); font: 10px/1.4 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.review-row__body > strong { margin: 7px 0; font: 600 23px/1.2 var(--display); }
.review-row__summary { color: var(--ink-soft); font-size: 13px; }
.review-row__link { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-top: 18px; }
.review-row__link i { padding: 4px 7px; background: var(--blue-soft); color: var(--blue); font: normal 10px/1.3 var(--mono); }

.review-done { padding: 15px 24px 19px; border-top: 1px solid var(--rule); }
.review-done__label { color: var(--faint); font: 10px/1.4 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.review-done__row { display: flex; gap: 12px; align-items: baseline; width: 100%; margin-top: 9px; padding: 0; border: 0; background: none; color: var(--muted); font-size: 12px; text-align: left; cursor: pointer; }
.review-done__row strong { overflow: hidden; flex: 1; min-width: 0; color: var(--ink-soft); font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.review-done__row:hover strong { color: var(--ink); }
.review-done__row span { color: var(--support); }
.review-done__row time { color: var(--faint); font-family: var(--mono); }

.alert-summary { padding: 21px 22px; border-bottom: 1px solid var(--rule); }
.alert-summary strong { display: block; margin: 10px 0 6px; font-size: 15px; }
.alert-summary p { color: var(--muted); font-size: 12px; }
.status-label { color: var(--attention); font: 700 9px/1.2 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.alert-summary--recovered .status-label { color: var(--support); }
.alert-summary--waiting { border-left: 3px solid var(--amber); background: var(--amber-soft); }
.alert-summary--waiting .status-label { color: var(--amber); }
.metric-shift { display: flex; align-items: baseline; gap: 10px; margin-top: 16px; font-family: var(--mono); }
.metric-shift span { color: var(--muted); }
.metric-shift b { color: var(--attention); font-size: 24px; }
.process-link { margin: 17px 22px; }

.decision-entry {
  position: relative;
  overflow: hidden;
  padding: 27px 26px 30px;
  color: white;
  background: var(--ink);
}

.decision-entry::after {
  position: absolute;
  right: -62px;
  bottom: -76px;
  width: 180px;
  height: 180px;
  border: 1px solid rgb(255 255 255 / 14%);
  border-radius: 50%;
  content: "";
}

.decision-entry .process__number { color: #90b9e3; }
.decision-entry h2 { margin-top: 9px; font: 600 27px/1.1 var(--display); }
.decision-entry p:not(.process__number) { margin-top: 13px; color: #becbd4; font-size: 13px; }

.primary-action,
.danger-action,
.judgment-actions button,
.portfolio-alert button,
.intent-form button {
  min-height: 44px;
  padding: 0 17px;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: white;
  font-weight: 650;
}

.primary-action:hover { background: var(--blue); border-color: var(--blue); }
.primary-action:disabled { cursor: not-allowed; background: var(--faint); border-color: var(--faint); }
.decision-entry .primary-action { position: relative; z-index: 1; margin-top: 22px; border-color: white; background: white; color: var(--ink); }

.audit { margin-top: 24px; }
.audit > header { display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 22px 24px; border-bottom: 1px solid var(--rule); }
.audit__summary { display: grid; grid-template-columns: repeat(5, 1fr); }
.audit-stat { min-height: 108px; padding: 19px 22px; border-left: 1px solid var(--rule); }
.audit-stat:first-child { border-left: 0; }
.audit-stat b { display: block; font: 600 28px/1 var(--mono); }
.audit-stat span { display: block; margin-top: 13px; color: var(--muted); font-size: 11px; }
.audit-stat--failed b { color: var(--attention); }
.audit-stat--waiting_for_data b { color: var(--amber); }
.audit__ledger { padding: 0 24px 12px; border-top: 1px solid var(--rule); }
.ledger-row { display: grid; grid-template-columns: 120px 130px 1fr; gap: 20px; padding: 12px 0; border-bottom: 1px dotted var(--rule); font-size: 12px; }
.ledger-row time { color: var(--muted); font-family: var(--mono); }
.ledger-row__status { color: var(--blue); }

.back-action { margin-bottom: 28px; }
.detail-head { max-width: 820px; padding: 28px 0 42px; }
.detail-head p:last-child,
.page-head > div > p:last-child,
.page-head > p:last-child { max-width: 66ch; margin-top: 20px; color: var(--ink-soft); font-size: 16px; }

.provenance {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--rule-dark);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.provenance::before {
  position: absolute;
  z-index: 2;
  top: 60px;
  right: 10%;
  left: 10%;
  height: 2px;
  content: "";
  background: var(--blue);
}

.provenance-step { position: relative; z-index: 3; min-width: 0; padding: 26px 23px 32px; border-left: 1px solid var(--rule); }
.provenance-step:first-child { border-left: 0; }
.provenance-step__index { display: grid; place-items: center; width: 34px; height: 34px; border: 2px solid var(--blue); border-radius: 50%; background: var(--surface); color: var(--blue); font: 700 10px/1 var(--mono); }
.provenance-step__kind { margin: 20px 0 16px; color: var(--muted); font: 700 9px/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.source-record { padding: 12px 0; border-top: 1px solid var(--rule); }
.source-record span,
.source-record code { color: var(--muted); font: 9px/1.5 var(--mono); }
.source-record strong,
.source-record p,
.source-record code { display: block; margin-top: 5px; }
.source-record > a { display: inline-flex; min-height: 32px; align-items: center; margin-top: 9px; border-bottom: 1px solid currentColor; color: var(--blue); font-size: 10px; }
.source-identity { margin: 11px 0 0; padding-top: 9px; border-top: 1px dotted var(--rule); }
.source-identity div { margin-top: 6px; }
.source-identity dt,
.source-identity dd { display: inline; margin: 0; color: var(--muted); font: 8px/1.5 var(--mono); overflow-wrap: anywhere; }
.source-identity dt::after { content: " · "; }
.provenance blockquote { margin: 0 0 17px; font: 600 17px/1.5 var(--display); }
.classification { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 17px; }
.classification span { padding: 4px 6px; background: var(--blue-soft); color: var(--blue); font: 9px/1.3 var(--mono); }
.merge-note,
.model-note { color: var(--muted); font-size: 11px; }
.ticker-mark { color: var(--blue); font: 700 18px/1 var(--mono); }
.provenance-step h2 { margin-top: 13px; font-size: 17px; line-height: 1.4; }
.relation { margin-top: 19px; color: var(--blue); font-weight: 650; }
.trigger-notice { margin-top: 20px; padding: 13px; border-left: 3px solid var(--attention); background: var(--attention-soft); }
.trigger-notice strong,
.trigger-notice span { display: block; }
.trigger-notice span { margin-top: 5px; color: var(--ink-soft); font-size: 11px; }
.uncertainty { margin-top: 20px; padding: 13px; border: 1px dashed var(--rule-dark); }
.uncertainty span { color: var(--attention); font: 700 9px/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.uncertainty p { margin-top: 7px; font-size: 12px; }
.model-note { margin-top: 17px; font-family: var(--mono); }

.judgment-panel {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 50px;
  margin-top: 30px;
  padding: 30px;
  border: 1px solid var(--rule-dark);
  background: var(--surface);
}

.judgment-panel h2 { margin: 7px 0 9px; font-size: 25px; }
.judgment-panel > div > p:last-child { color: var(--muted); }
.judgment-form label { display: block; margin-bottom: 7px; font-size: 12px; font-weight: 650; }
.judgment-form textarea + label { margin-top: 14px; }
.judgment-form textarea,
.thesis-form textarea,
.thesis-form input,
.decision-record-form textarea,
.intent-form select,
.intent-form input {
  width: 100%;
  border: 1px solid var(--rule-dark);
  border-radius: 0;
  background: var(--surface-strong);
}
.judgment-form textarea,
.thesis-form textarea,
.decision-record-form textarea { padding: 12px; resize: vertical; }
.judgment-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.judgment-actions button { border-color: var(--rule-dark); background: transparent; color: var(--ink); }
.judgment-actions button:hover { border-color: var(--blue); background: var(--blue-pale); }
.resolution-record { padding: 20px; border-left: 3px solid var(--support); background: var(--support-soft); }
.resolution-record span,
.resolution-record strong,
.resolution-record p { display: block; }
.resolution-record span { color: var(--muted); font: 10px/1.4 var(--mono); }
.resolution-record strong { margin: 7px 0; font-size: 18px; }
.resolution-record code { display: block; margin-top: 11px; color: var(--support); font-size: 10px; }
.resolution-record--deferred { margin-bottom: 14px; border-left-color: var(--amber); background: var(--amber-soft); }

.page-head { padding: 24px 0 40px; border-bottom: 1px solid var(--rule-dark); }
.page-head--split { display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: end; }

.readiness { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--rule-dark); background: var(--surface); }
.readiness div { min-height: 92px; padding: 16px; border-left: 1px solid var(--rule); }
.readiness div:first-child { border-left: 0; }
.readiness span,
.readiness strong { display: block; }
.readiness span { color: var(--muted); font-size: 10px; }
.readiness strong { margin-top: 12px; font-size: 13px; }

.context-map { margin-top: 28px; }
.context-map > header { display: flex; gap: 18px; align-items: baseline; margin-bottom: 11px; }
.context-map > div { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--rule-dark); background: var(--surface); }
.context-map article { min-height: 112px; padding: 17px; border-left: 1px solid var(--rule); }
.context-map article:first-child { border-left: 0; }
.context-map article span { color: var(--blue); font: 700 9px/1.3 var(--mono); }
.context-map article strong { display: block; margin-top: 11px; font-size: 14px; }
.context-map article p { margin-top: 6px; color: var(--muted); font-size: 10px; }

.context-gap {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: center;
  padding: 22px 25px;
  border: 1px solid var(--amber);
  border-top: 0;
  background: var(--amber-soft);
}
.context-gap h2 { margin: 5px 0; font-size: 20px; }
.context-gap p:not(.process__number) { color: var(--ink-soft); font-size: 12px; }
.context-gap > span { color: var(--amber); font: 700 11px/1.4 var(--mono); }

.context-grid,
.portfolio-grid,
.brief-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 28px; }
.context-panel--holdings { grid-row: span 2; }
.holding-row { display: grid; grid-template-columns: 60px 1fr 70px 112px; align-items: center; min-height: 52px; padding: 0 20px; border-bottom: 1px solid var(--rule); }
.holding-row:last-child { border-bottom: 0; }
.holding-row strong,
.holding-row b { font-family: var(--mono); }
.holding-row span { color: var(--muted); font-size: 12px; }
.holding-row b { text-align: right; }
.coverage-state { justify-self: end; font: normal 9px/1.3 var(--mono); }
.coverage-state--covered { color: var(--support); }
.coverage-state--gap { color: var(--amber); }
.context-definitions { margin: 0; padding: 0 22px 12px; }
.context-definitions div { padding: 13px 0; border-bottom: 1px solid var(--rule); }
.context-definitions div:last-child { border-bottom: 0; }
.context-definitions dt { color: var(--muted); font-size: 10px; }
.context-definitions dd { margin: 5px 0 0; font-size: 13px; }

.thesis-workbench { margin-top: 24px; }
.thesis-workbench > header > div > p:last-child { margin-top: 8px; color: var(--muted); font-size: 12px; }
.version-mark { color: var(--blue); font: 11px/1.4 var(--mono); }
.thesis-form { padding: 26px; }
.thesis-form label { display: grid; gap: 7px; font-size: 11px; font-weight: 650; }
.thesis-form input { min-height: 44px; padding: 0 11px; }
.thesis-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.thesis-form__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 20px; }
.thesis-form__actions > span { color: var(--muted); font-size: 11px; }
.danger-action { border-color: var(--attention); background: transparent; color: var(--attention); }
.revision-ledger { padding: 0 26px 22px; }
.revision-ledger > div { display: grid; grid-template-columns: 150px 1fr 160px; gap: 14px; padding: 9px 0; border-bottom: 1px dotted var(--rule); font: 10px/1.4 var(--mono); }

.snapshot-stamp { padding: 17px 20px; border: 1px solid var(--rule-dark); background: var(--surface); }
.snapshot-stamp span,
.snapshot-stamp strong,
.snapshot-stamp i { display: block; }
.snapshot-stamp span { color: var(--muted); font: 9px/1.4 var(--mono); text-transform: uppercase; }
.snapshot-stamp strong { margin-top: 8px; font-family: var(--mono); }
.snapshot-stamp i { margin-top: 5px; color: var(--support); font-size: 11px; font-style: normal; }
.portfolio-alerts { margin-top: 28px; }
.portfolio-alert { display: grid; grid-template-columns: 150px 1fr 130px 170px; gap: 22px; align-items: center; padding: 23px 24px; border-left: 4px solid var(--attention); }
.portfolio-alert__state span,
.portfolio-alert__state strong { display: block; }
.portfolio-alert__state span { color: var(--attention); font: 700 10px/1.4 var(--mono); }
.portfolio-alert__state strong { margin-top: 7px; font-size: 11px; }
.portfolio-alert__main p { margin-top: 5px; color: var(--muted); font-size: 12px; }
.portfolio-alert__main code { display: block; margin-top: 10px; color: var(--blue); font-size: 11px; }
.portfolio-alert__metric { text-align: right; }
.portfolio-alert__metric span { display: block; color: var(--muted); font-size: 10px; }
.portfolio-alert__metric b { display: block; margin-top: 5px; color: var(--attention); font: 600 28px/1 var(--mono); }
.portfolio-alert button { border-color: var(--attention); background: transparent; color: var(--attention); }
.portfolio-alert--waiting { grid-template-columns: 150px 1fr; border-left-color: var(--amber); background: var(--amber-soft); }
.portfolio-alert--waiting .portfolio-alert__state span { color: var(--amber); }
.acknowledged-mark { color: var(--muted); font-size: 11px; text-align: right; }
.weight-table { width: 100%; border-collapse: collapse; font-family: var(--mono); }
.weight-row { height: 48px; border-bottom: 1px solid var(--rule); }
.weight-row--head { height: 38px; color: var(--muted); font-size: 9px; text-transform: uppercase; }
.weight-row th,
.weight-row td { padding: 0 22px; text-align: right; }
.weight-row th:first-child { text-align: left; }
.weight-row th { font-weight: 700; }
.delta { font-style: normal; }
.delta--up { color: var(--attention); }
.delta--down { color: var(--support); }
.rule-row { display: grid; grid-template-columns: 58px 1fr auto; gap: 14px; align-items: center; min-height: 58px; padding: 0 22px; border-bottom: 1px solid var(--rule); }
.rule-state { font: 700 9px/1.3 var(--mono); }
.rule-state--breach { color: var(--attention); }
.rule-state--ok { color: var(--support); }
.rule-state--waiting { color: var(--amber); }
.rule-row code { color: var(--muted); }
.recovery-history { margin-top: 24px; padding: 22px 24px; }
.recovery-history > header { margin-bottom: 15px; }
.recovery-history article { display: grid; grid-template-columns: 190px 1fr 1fr; gap: 20px; padding: 13px 0; border-top: 1px solid var(--rule); }
.recovery-history article span { color: var(--support); font: 10px/1.4 var(--mono); }
.recovery-history article p { color: var(--muted); font-size: 12px; }

.intent-form { display: grid; grid-template-columns: 150px minmax(220px, 1fr) 190px auto; gap: 14px; align-items: end; margin-top: 28px; padding: 22px; border: 1px solid var(--rule-dark); background: var(--surface); }
.intent-form label { display: grid; gap: 7px; }
.intent-form label span { color: var(--muted); font-size: 10px; }
.intent-form select,
.intent-form input { min-height: 44px; padding: 0 10px; }
.brief-bar { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); margin-top: 22px; border: 1px solid var(--rule-dark); background: var(--ink); color: white; }
.brief-bar > div { min-height: 78px; padding: 16px; border-left: 1px solid rgb(255 255 255 / 13%); }
.brief-bar > div:first-child { border-left: 0; }
.brief-bar span,
.brief-bar strong { display: block; }
.brief-bar span { color: #9fb0bd; font: 9px/1.3 var(--mono); text-transform: uppercase; }
.brief-bar strong { margin-top: 9px; font: 11px/1.4 var(--mono); }
.brief-state--current { color: #8ed4b7; }
.brief-state--stale { color: #f1a58f; }
.brief-stale-warning { display: flex; gap: 18px; padding: 14px 18px; border: 1px solid var(--attention); border-top: 0; background: var(--attention-soft); }
.brief-stale-warning span { color: var(--ink-soft); font-size: 12px; }
.simulation { margin-top: 24px; }
.simulation-metrics { display: grid; grid-template-columns: repeat(3, 1fr); }
.simulation-metrics div { min-height: 100px; padding: 20px 23px; border-left: 1px solid var(--rule); }
.simulation-metrics div:first-child { border-left: 0; }
.simulation-metrics span { display: block; color: var(--muted); font-size: 10px; }
.simulation-metrics strong { display: block; margin-top: 13px; font: 600 20px/1.2 var(--mono); }
.simulation-metrics i { color: var(--blue); font-style: normal; }
.brief-section { padding: 24px; }
.brief-section > header { padding-bottom: 17px; border-bottom: 1px solid var(--rule); }
.brief-section--history { grid-column: 1 / -1; }
.conflict-row { display: grid; grid-template-columns: 80px 1fr; gap: 14px; padding: 17px 0; border-bottom: 1px solid var(--rule); }
.conflict-row > span { color: var(--attention); font: 700 9px/1.4 var(--mono); }
.conflict-row--judgment > span { color: var(--blue); }
.conflict-row--invalid > span { color: var(--amber); }
.conflict-row p,
.brief-thesis,
.past-decision p { margin-top: 6px; color: var(--muted); font-size: 12px; }
.falsification-line { margin-top: 16px; padding: 12px; border-left: 2px solid var(--attention); background: var(--attention-soft); font-size: 12px; }
.falsification-line span { display: block; margin-bottom: 4px; color: var(--attention); font: 9px/1.3 var(--mono); text-transform: uppercase; }
.falsification-line--missing { border-left-color: var(--rule-dark); background: var(--surface); color: var(--muted); }
.falsification-line--missing span { color: var(--faint); }
.open-review-note { margin-top: 18px; }
.open-review-note strong { display: block; margin-bottom: 8px; }
.open-review-note button { display: block; width: 100%; min-height: 44px; border: 0; border-top: 1px solid var(--rule); background: transparent; color: var(--blue); text-align: left; }
.open-review-note button span { display: block; margin-bottom: 3px; color: var(--amber); font: 700 8px/1.3 var(--mono); }
.past-decision,
.stale-example { padding: 17px 0; border-bottom: 1px solid var(--rule); }
.past-decision > span,
.stale-example > span { color: var(--muted); font: 9px/1.4 var(--mono); }
.past-decision > strong,
.stale-example > strong { display: block; margin-top: 7px; }
.stale-example { margin-top: 14px; padding: 15px; border: 1px solid var(--attention); background: var(--attention-soft); }
.decision-record-form { margin-top: 24px; padding: 26px; }
.decision-record-form > div:first-child { margin-bottom: 20px; }
.decision-record-form > div:first-child p:last-child { margin-top: 6px; color: var(--muted); font-size: 12px; }
.decision-record-form label { display: block; margin-bottom: 7px; font-size: 11px; font-weight: 650; }
.decision-record-form > div:last-child { display: flex; gap: 14px; align-items: center; margin-top: 13px; }
.decision-record-form > div:last-child span { color: var(--muted); font: 10px/1.4 var(--mono); }

.journal-list { margin-top: 28px; border-top: 1px solid var(--rule-dark); }
.decision-record { display: grid; grid-template-columns: 180px 1fr; border-bottom: 1px solid var(--rule-dark); }
.decision-record__margin { padding: 24px 20px 24px 0; font-family: var(--mono); }
.decision-record__margin time,
.decision-record__margin strong,
.decision-record__margin span { display: block; }
.decision-record__margin time { color: var(--muted); font-size: 10px; }
.decision-record__margin strong { margin-top: 12px; font-size: 18px; }
.decision-record__margin span { margin-top: 5px; font-size: 11px; }
.decision-record__body { padding: 24px 0 28px 28px; border-left: 1px solid var(--rule); }
.brief-reference { color: var(--blue); font: 9px/1.4 var(--mono); }
.brief-archive { margin-top: 12px; padding: 12px; border: 1px solid var(--rule); background: var(--blue-pale); }
.brief-archive span { color: var(--blue); font: 700 9px/1.4 var(--mono); text-transform: uppercase; }
.brief-archive p { margin-top: 5px; color: var(--ink-soft); font: 9px/1.5 var(--mono); overflow-wrap: anywhere; }
.record-block { margin-top: 17px; }
.record-block h3 { margin-bottom: 5px; color: var(--muted); font: 700 9px/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.record-block ul { margin: 0; padding-left: 18px; }
.record-block li,
.record-block p { color: var(--ink-soft); font-size: 13px; }
.record-review { display: grid; grid-template-columns: 130px 130px 1fr; gap: 18px; margin-top: 20px; padding: 16px; border-left: 3px solid var(--amber); background: var(--amber-soft); }
.record-review span,
.record-review strong { display: block; }
.record-review span { color: var(--muted); font-size: 9px; }
.record-review strong { margin-top: 5px; }
.record-review p { font-size: 12px; }
.pending-review { margin-top: 16px; color: var(--muted); font-size: 11px; }
.record-appendix { margin-top: 14px; padding: 13px; border: 1px dashed var(--rule-dark); }
.record-appendix span { color: var(--attention); font: 9px/1.4 var(--mono); }
.record-appendix p { margin-top: 5px; font-size: 12px; }

.directed-empty { padding: 22px; color: var(--muted); font-size: 12px; }
.relationship-unavailable { border: 1px solid var(--amber); background: var(--amber-soft); }
.relationship-unavailable h1 { margin-top: 7px; color: var(--ink); font: 600 30px/1.15 var(--display); }
.relationship-unavailable p:last-child { max-width: 62ch; margin-top: 10px; }
.toast {
  position: fixed;
  z-index: 100;
  right: 24px;
  bottom: 24px;
  max-width: 380px;
  padding: 14px 17px;
  border: 1px solid var(--blue);
  background: var(--ink);
  color: white;
  box-shadow: var(--shadow);
  font-size: 13px;
}
.toast[data-tone="error"] { border-color: var(--attention); }
.toast[hidden] { display: none; }

.footer { padding: 20px 24px 30px; border-top: 1px solid var(--rule-dark); background: var(--surface); }
.footer p { width: min(var(--shell), 100%); margin: 0 auto; color: var(--muted); font-size: 11px; }

/* ── Dense research workbench ────────────────────────────── */

.today-shell,
.context-shell,
.portfolio-shell,
.decision-shell,
.journal-shell { padding: 24px 0 72px; }

.today-commandbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: 14px 18px;
  border: 1px solid var(--rule-dark);
  background: var(--surface);
}

.today-commandbar h1 {
  display: inline;
  margin-right: 16px;
  font: 600 25px/1.15 var(--display);
  letter-spacing: -.025em;
}

.today-commandbar > div > p:last-child {
  display: inline;
  color: var(--muted);
  font-size: 12px;
}

.today-commandbar .eyebrow { margin-bottom: 5px; }

.today-commandbar__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(86px, 1fr));
  margin: 0;
  border-left: 1px solid var(--rule);
}

.today-commandbar__metrics div { padding: 3px 17px; border-right: 1px solid var(--rule); }
.today-commandbar__metrics dt { color: var(--muted); font: 9px/1.3 var(--mono); text-transform: uppercase; }
.today-commandbar__metrics dd { margin: 4px 0 0; font: 700 19px/1.1 var(--mono); }

.today-workbench {
  display: grid;
  grid-template-columns: 334px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-top: 18px;
}

.desk-context {
  position: sticky;
  top: 78px;
  max-height: calc(100vh - 96px);
  overflow: auto;
  border: 1px solid var(--rule-dark);
  background: var(--surface);
}

.desk-context > summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 16px 12px;
  border-bottom: 1px solid var(--rule-dark);
  cursor: pointer;
  list-style: none;
}

.desk-context > summary::-webkit-details-marker { display: none; }
.desk-context > summary > span { color: var(--blue); font: 9px/1.3 var(--mono); }

.desk-context h2 { margin-top: 3px; font: 600 17px/1.2 var(--display); }
.desk-context .quiet-action { min-height: 28px; font-size: 11px; }
.desk-context__group { padding: 10px 14px 11px; border-bottom: 1px solid var(--rule); }
.desk-context__group:last-child { border-bottom: 0; }
.desk-context__group-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.desk-context__group-head strong { font-size: 11px; letter-spacing: .02em; }
.desk-context__group-head span { color: var(--faint); font: 9px/1.3 var(--mono); }

.desk-holdings { margin-top: 6px; }
.desk-holdings > div {
  display: grid;
  grid-template-columns: 43px minmax(0, 1fr) 48px 8px;
  gap: 7px;
  align-items: center;
  min-height: 25px;
  font-size: 11px;
}
.desk-holdings b,
.desk-holdings em { font-family: var(--mono); font-style: normal; }
.desk-holdings span { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.desk-holdings em { text-align: right; }
.coverage-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--rule-dark); }
.coverage-dot--covered { background: var(--support); }
.coverage-dot--gap { background: var(--amber); }
.coverage-dot--cash { background: var(--faint); }

.desk-context__line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  margin-top: 6px;
  color: var(--muted);
  font-size: 10.5px;
}
.desk-context__line b { color: var(--ink-soft); font: 600 10px/1.4 var(--mono); text-align: right; }
.desk-context__tickers { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.desk-context__tickers b,
.desk-context__tickers i { padding: 2px 5px; font: normal 9px/1.4 var(--mono); }
.desk-context__tickers b { background: var(--support-soft); color: var(--support); }
.desk-context__tickers i { background: var(--amber-soft); color: var(--amber); }
.desk-context__note { margin-top: 6px; color: var(--muted); font-size: 10.5px; }

.today-processes { min-width: 0; }
.process-index {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--rule-dark);
  background: var(--surface);
}
.process-index__item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1px 12px;
  min-height: 62px;
  padding: 10px 14px;
  border: 0;
  border-left: 1px solid var(--rule);
  background: transparent;
  text-align: left;
}
.process-index__item:first-child { border-left: 0; }
.process-index__item:hover { background: var(--blue-pale); }
.process-index__item--active { box-shadow: inset 0 3px var(--blue); background: var(--blue-pale); }
.process-index__item span { grid-column: 1 / -1; color: var(--muted); font: 9px/1.3 var(--mono); }
.process-index__item strong { font-size: 13px; }
.process-index__item em { color: var(--blue); font: normal 9px/1.4 var(--mono); text-align: right; }

.today-grid { grid-template-columns: minmax(0, 1.65fr) minmax(270px, .7fr); gap: 14px; margin-top: 14px; }
.today-side { gap: 14px; }
.process__head,
.context-panel > header,
.thesis-workbench > header,
.snapshot-panel > header,
.rule-panel > header,
.portfolio-alerts > header,
.simulation > header { padding: 13px 16px; }
.process__head h2,
.context-panel h2,
.thesis-workbench h2,
.snapshot-panel h2,
.rule-panel h2,
.portfolio-alerts h2,
.simulation h2,
.audit h2,
.brief-section h2,
.decision-record-form h2 { font-size: 17px; }
.process__head > p { align-self: center; font-size: 10.5px; }

.review-row { grid-template-columns: 86px 1fr; }
.review-row__meta { padding: 15px 10px 14px 14px; font-size: 9px; }
.review-row__meta span { margin-bottom: 5px; }
.review-row__body { min-height: 112px; padding: 14px 17px; }
.review-row__source { font-size: 9.5px; }
.review-row__body > strong { margin: 4px 0; font-size: 18px; }
.review-row__summary { font-size: 11.5px; }
.review-row__link { gap: 6px; margin-top: 9px; }
.review-row__link i { padding: 2px 5px; font-size: 9.5px; }

.alert-summary { padding: 13px 15px; }
.alert-summary strong { margin: 6px 0 3px; font-size: 13px; }
.alert-summary p { font-size: 10.5px; }
.metric-shift { margin-top: 8px; }
.metric-shift b { font-size: 19px; }
.process-link { min-height: 28px; margin: 9px 15px; font-size: 10.5px; }
.decision-entry { padding: 17px 16px 18px; }
.decision-entry h2 { margin-top: 5px; font-size: 20px; }
.decision-entry p:not(.process__number) { margin-top: 7px; font-size: 11px; }
.decision-entry .primary-action { min-height: 36px; margin-top: 13px; padding: 0 12px; font-size: 11px; }

.audit { margin-top: 14px; }
.audit > header { padding: 11px 15px; }
.audit__summary { grid-template-columns: repeat(5, 1fr); }
.audit-stat { display: flex; min-height: 50px; align-items: baseline; gap: 8px; padding: 12px 14px; }
.audit-stat b { font-size: 18px; }
.audit-stat span { margin-top: 0; font-size: 9px; }

.page-head { padding: 8px 0 22px; }
.page-head--split { grid-template-columns: 1.4fr .8fr; gap: 34px; }
.page-head h1,
.detail-head h1 { max-width: 30ch; margin-top: 7px; font-size: clamp(27px, 2.7vw, 36px); line-height: 1.08; letter-spacing: -.035em; }
.page-head > div > p:last-child,
.page-head > p:last-child,
.detail-head p:last-child { margin-top: 9px; font-size: 12px; }
.readiness div { min-height: 66px; padding: 11px 13px; }
.readiness strong { margin-top: 7px; font-size: 11px; }

.context-map { margin-top: 16px; }
.context-map > header { margin-bottom: 7px; }
.context-map article { min-height: 72px; padding: 11px 13px; }
.context-map article strong { margin-top: 6px; font-size: 12px; }
.context-map article p { margin-top: 3px; font-size: 9px; }
.context-gap { padding: 12px 16px; }
.context-gap h2 { margin: 2px 0; font-size: 15px; }
.context-grid,
.portfolio-grid,
.brief-grid { gap: 14px; margin-top: 16px; }
.context-grid { grid-template-columns: 1.15fr .85fr .85fr; }
.context-panel--holdings { grid-row: auto; }
.holding-row { min-height: 37px; padding: 0 14px; }
.context-definitions { padding: 0 15px 5px; }
.context-definitions div { padding: 8px 0; }
.thesis-workbench { margin-top: 14px; }
.thesis-form { padding: 16px; }
.thesis-form__row { gap: 12px; margin-top: 11px; }
.thesis-form__actions { margin-top: 12px; }
.revision-ledger { padding: 0 16px 12px; }

.portfolio-alerts { margin-top: 16px; }
.portfolio-alert { grid-template-columns: 120px 1fr 100px 150px; gap: 16px; padding: 14px 16px; }
.portfolio-alert__metric b { font-size: 21px; }
.portfolio-alert__main code { margin-top: 5px; font-size: 9.5px; }
.weight-row { height: 38px; }
.weight-row th,
.weight-row td { padding: 0 15px; }
.rule-row { min-height: 44px; padding: 0 15px; }
.recovery-history { margin-top: 14px; padding: 14px 16px; }
.recovery-history article { padding: 8px 0; }

.intent-form { grid-template-columns: 120px minmax(210px, 1fr) 170px auto; gap: 10px; margin-top: 16px; padding: 13px; }
.intent-form select,
.intent-form input,
.intent-form button { min-height: 38px; }
.brief-bar { margin-top: 12px; }
.brief-bar > div { min-height: 56px; padding: 10px 13px; }
.brief-bar strong { margin-top: 5px; }
.simulation { margin-top: 14px; }
.simulation-metrics div { min-height: 70px; padding: 13px 16px; }
.simulation-metrics strong { margin-top: 7px; font-size: 16px; }
.brief-grid { grid-template-columns: repeat(3, 1fr); }
.brief-section { min-width: 0; padding: 15px; }
.brief-section--history { grid-column: auto; }
.brief-section > header { padding-bottom: 10px; }
.conflict-row { grid-template-columns: 66px 1fr; gap: 9px; padding: 10px 0; }
.falsification-line { margin-top: 10px; padding: 8px; }
.open-review-note { margin-top: 11px; }
.past-decision { padding: 10px 0; }
.stale-example { padding: 10px 12px; }
.decision-record-form { margin-top: 14px; padding: 16px; }
.decision-record-form > div:first-child { margin-bottom: 10px; }
.decision-record-form textarea { min-height: 74px; }

.journal-list { margin-top: 16px; }
.decision-record { grid-template-columns: 140px 1fr; }
.decision-record__margin { padding: 16px 14px 16px 0; }
.decision-record__body { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; padding: 16px 0 18px 20px; }
.decision-record__body > .brief-reference,
.decision-record__body > .brief-archive,
.decision-record__body > .record-review,
.decision-record__body > .pending-review,
.decision-record__body > .record-appendix { grid-column: 1 / -1; }
.record-block { margin-top: 11px; }
.record-review { margin-top: 12px; padding: 11px; }
.back-action { margin-bottom: 10px; }
.detail-head { padding: 10px 0 22px; }

@media (max-width: 1060px) {
  .masthead__inner { grid-template-columns: auto 1fr; padding: 12px 0; }
  .masthead__meta { display: none; }
  .nav { grid-column: 1 / -1; justify-content: flex-start; overflow-x: auto; }
  .nav__item { min-height: 48px; white-space: nowrap; }
  .today-hero,
  .page-head--split { grid-template-columns: 1fr; gap: 34px; }
  .today-commandbar { grid-template-columns: 1fr; gap: 12px; }
  .today-commandbar__metrics { border-top: 1px solid var(--rule); border-left: 0; padding-top: 10px; }
  .today-commandbar__metrics div:first-child { border-left: 1px solid var(--rule); }
  .today-workbench { grid-template-columns: 286px minmax(0, 1fr); }
  .desk-context { position: static; max-height: none; }
  .context-grid { grid-template-columns: 1fr 1fr; }
  .today-grid { grid-template-columns: 1fr; }
  .today-side { grid-template-columns: 1fr 1fr; }
  .context-map > div { grid-template-columns: repeat(3, 1fr); }
  .context-map article:nth-child(4) { border-top: 1px solid var(--rule); border-left: 0; }
  .context-map article:nth-child(5) { border-top: 1px solid var(--rule); }
  .provenance { grid-template-columns: 1fr 1fr; }
  .provenance::before { display: none; }
  .provenance-step:nth-child(3) { border-left: 0; border-top: 1px solid var(--rule); }
  .provenance-step:nth-child(4) { border-top: 1px solid var(--rule); }
  .portfolio-alert { grid-template-columns: 130px 1fr 110px; }
  .portfolio-alert > :last-child { grid-column: 2 / -1; justify-self: start; }
  .intent-form { grid-template-columns: 1fr 1.4fr 1fr; }
  .intent-form button { grid-column: 1 / -1; }
  .brief-grid { grid-template-columns: 1fr 1fr; }
  .brief-section--history { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  :root { --shell: 100%; }
  body { background-size: 36px 100%; }
  .masthead__inner,
  .shell,
  .detail-shell { width: calc(100% - 28px); }
  .masthead__inner { display: flex; flex-wrap: wrap; gap: 9px; }
  .brand { min-height: 44px; }
  .brand__descriptor { display: none; }
  .nav { order: 3; width: 100%; margin: 0 -2px; }
  .nav__item { min-width: max-content; min-height: 44px; padding: 0 11px; }
  .nav__item::after { right: 11px; left: 11px; }
  .today-shell,
  .context-shell,
  .portfolio-shell,
  .decision-shell,
  .journal-shell { padding: 28px 0 70px; }
  .today-commandbar { padding: 13px 14px; }
  .today-commandbar h1,
  .today-commandbar > div > p:last-child { display: block; }
  .today-commandbar > div > p:last-child { margin-top: 5px; }
  .today-commandbar__metrics { grid-template-columns: repeat(3, 1fr); }
  .today-commandbar__metrics div { padding: 3px 8px; }
  .today-commandbar__metrics dd { font-size: 16px; }
  .today-workbench { grid-template-columns: 1fr; }
  .desk-context { position: static; max-height: none; }
  .today-processes { order: 1; }
  .desk-context { order: 2; }
  .process-index__item { min-height: 70px; padding: 9px; }
  .process-index__item { grid-template-columns: 1fr; }
  .process-index__item span,
  .process-index__item strong,
  .process-index__item em { grid-column: auto; text-align: left; }
  .today-hero { display: flex; flex-direction: column; align-items: stretch; padding-top: 14px; }
  .today-hero h1,
  .page-head h1,
  .detail-head h1 { font-size: clamp(35px, 11vw, 48px); }
  .today-hero__summary { width: 100%; }
  .today-hero__summary div { min-height: 92px; padding: 14px; }
  .today-hero__summary b { font-size: 28px; }
  .coverage-strip { grid-template-columns: 1fr; gap: 8px; padding: 16px; }
  .coverage-strip button,
  .quiet-action,
  .back-action,
  .process-link { min-height: 44px; }
  .desk-context .quiet-action,
  .decision-entry .primary-action,
  .intent-form select,
  .intent-form input,
  .intent-form button { min-height: 44px; }
  .desk-context > summary { min-height: 52px; }
  .today-side { grid-template-columns: 1fr; }
  .review-row { grid-template-columns: 1fr; }
  .review-row__meta { display: flex; justify-content: space-between; min-height: 44px; padding: 13px 16px; }
  .review-row__meta span { margin: 0; }
  .review-row__body { min-height: 0; padding: 20px 17px; border-top: 1px solid var(--rule); border-left: 0; }
  .audit__summary { grid-template-columns: repeat(2, 1fr); }
  .audit-stat { min-height: 90px; border-top: 1px solid var(--rule); }
  .ledger-row { grid-template-columns: 1fr; gap: 4px; padding: 14px 0; }
  .provenance { grid-template-columns: 1fr; }
  .provenance-step,
  .provenance-step:nth-child(3) { border-top: 1px solid var(--rule); border-left: 0; }
  .provenance-step:first-child { border-top: 0; }
  .judgment-panel { grid-template-columns: 1fr; gap: 25px; padding: 22px; }
  .judgment-actions button { flex: 1 1 calc(50% - 8px); }
  .source-record > a { min-height: 44px; }
  .readiness { grid-template-columns: 1fr; }
  .readiness div { min-height: 70px; border-top: 1px solid var(--rule); border-left: 0; }
  .readiness div:first-child { border-top: 0; }
  .context-gap { align-items: flex-start; }
  .context-gap > span { display: none; }
  .context-map > div { grid-template-columns: 1fr; }
  .context-map article,
  .context-map article:nth-child(4),
  .context-map article:nth-child(5) { min-height: 86px; border-top: 1px solid var(--rule); border-left: 0; }
  .context-map article:first-child { border-top: 0; }
  .context-grid,
  .portfolio-grid,
  .brief-grid { grid-template-columns: 1fr; }
  .context-panel--holdings { grid-row: auto; }
  .holding-row { grid-template-columns: 52px 1fr 58px; padding: 7px 15px; }
  .holding-row .coverage-state { grid-column: 2 / -1; justify-self: start; min-height: 22px; }
  .thesis-form { padding: 19px; }
  .thesis-form__row { grid-template-columns: 1fr; }
  .thesis-form__actions > button { width: 100%; }
  .revision-ledger > div { grid-template-columns: 1fr; gap: 3px; }
  .portfolio-alert { grid-template-columns: 1fr; gap: 14px; }
  .portfolio-alert__metric { text-align: left; }
  .portfolio-alert > :last-child { grid-column: auto; }
  .portfolio-alert button { width: 100%; min-height: 44px; }
  .weight-row { font-size: 11px; }
  .weight-row th,
  .weight-row td { padding: 0 8px; }
  .recovery-history article { grid-template-columns: 1fr; gap: 5px; }
  .intent-form { grid-template-columns: 1fr; padding: 17px; }
  .intent-form button { grid-column: auto; }
  .brief-bar { grid-template-columns: 1fr 1fr; }
  .brief-bar > div:nth-child(3) { border-top: 1px solid rgb(255 255 255 / 13%); border-left: 0; }
  .brief-bar > div:nth-child(4) { border-top: 1px solid rgb(255 255 255 / 13%); }
  .brief-stale-warning { flex-direction: column; gap: 4px; }
  .simulation-metrics { grid-template-columns: 1fr; }
  .simulation-metrics div { min-height: 82px; border-top: 1px solid var(--rule); border-left: 0; }
  .simulation-metrics div:first-child { border-top: 0; }
  .brief-section--history { grid-column: auto; }
  .decision-record { grid-template-columns: 1fr; }
  .decision-record__margin { display: grid; grid-template-columns: 1fr auto; padding: 18px 0; }
  .decision-record__margin strong { margin-top: 7px; }
  .decision-record__margin span { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .decision-record__body { padding: 22px 0; border-top: 1px solid var(--rule); border-left: 0; }
  .decision-record__body { display: block; }
  .record-review { grid-template-columns: 1fr 1fr; }
  .record-review p { grid-column: 1 / -1; }
  .toast { right: 14px; bottom: 14px; left: 14px; max-width: none; }
}

.intent-example-note {
  margin: 8px 2px 0;
  color: var(--muted);
  font-size: 11px;
}

.decision-outcome {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 18px;
  padding: 0;
  border: 0;
}

.decision-outcome legend {
  grid-column: 1 / -1;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 650;
}

.decision-outcome label {
  display: flex;
  gap: 11px;
  align-items: center;
  min-height: 64px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--rule-dark);
  border-radius: 10px;
  background: var(--surface);
  cursor: pointer;
}

.decision-outcome label:has(input:checked) {
  border-color: var(--blue);
  background: var(--blue-pale);
  box-shadow: 0 0 0 2px rgb(49 102 93 / 10%);
}

.decision-outcome input {
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: var(--blue);
}

.decision-outcome label span {
  display: grid;
  gap: 3px;
}

.decision-outcome label strong {
  color: var(--ink);
  font-size: 13px;
}

.decision-outcome label small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 450;
}

.evaluated-action {
  display: flex;
  gap: 12px;
  align-items: baseline;
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  background: var(--blue-pale);
}

.evaluated-action span {
  color: var(--blue);
  font: 700 9px/1.3 var(--mono);
  letter-spacing: .05em;
}

.evaluated-action strong {
  color: var(--ink);
  font-size: 12px;
}

@media (max-width: 700px) {
  .decision-outcome { grid-template-columns: 1fr; }
  .decision-outcome label { min-height: 58px; }
  .evaluated-action { align-items: flex-start; flex-direction: column; gap: 4px; }
}

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

/* ═══════════════════════════════════════════════════════════
   Calm investment workspace
   Clear task hierarchy, warm editorial surfaces, fewer rules.
   ═══════════════════════════════════════════════════════════ */

:root {
  --canvas: #f5f4f0;
  --surface: #ffffff;
  --surface-strong: #ffffff;
  --ink: #18231f;
  --ink-soft: #46524d;
  --muted: #77817c;
  --faint: #a1a8a4;
  --rule: #e4e5df;
  --rule-dark: #d2d5ce;
  --blue: #31665d;
  --blue-soft: #deece8;
  --blue-pale: #edf5f2;
  --attention: #b5523b;
  --attention-soft: #fae9e4;
  --support: #3f765e;
  --support-soft: #e7f1eb;
  --amber: #9a6a23;
  --amber-soft: #f8f0df;
  --shadow: 0 12px 32px rgb(25 40 34 / 7%);
  --shadow-soft: 0 3px 12px rgb(25 40 34 / 5%);
  --radius: 14px;
  --shell: 1280px;
}

body {
  color: var(--ink);
  background:
    radial-gradient(circle at 84% 4%, rgb(49 102 93 / 7%), transparent 26rem),
    var(--canvas);
  font-size: 14px;
  line-height: 1.55;
}

.masthead {
  border-bottom: 1px solid rgb(24 35 31 / 8%);
  background: rgb(255 255 255 / 88%);
  box-shadow: 0 2px 16px rgb(25 40 34 / 4%);
}

.masthead__inner {
  min-height: 64px;
  grid-template-columns: auto 1fr auto;
  gap: 34px;
}

.brand__name { font-size: 21px; }
.brand__descriptor { color: var(--faint); letter-spacing: .04em; }
.nav { gap: 5px; }
.nav__item {
  min-height: 64px;
  padding: 0 17px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
}
.nav__item::after {
  right: 17px;
  bottom: 8px;
  left: 17px;
  height: 2px;
  border-radius: 2px;
}
.nav__item[aria-current="page"] { color: var(--blue); }

.masthead__meta { gap: 12px; }
.framework-action {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid var(--rule-dark);
  border-radius: 9px;
  background: white;
  color: var(--ink-soft);
  font-size: 11px;
  font-weight: 650;
}
.framework-action:hover { border-color: var(--blue); color: var(--blue); }

.today-shell,
.context-shell,
.portfolio-shell,
.decision-shell,
.journal-shell { padding: 28px 0 76px; }

.today-commandbar {
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 34px;
  min-height: 136px;
  padding: 24px 26px;
  border: 0;
  border-radius: 18px;
  background:
    linear-gradient(120deg, rgb(255 255 255 / 3%), transparent 42%),
    #1d2d28;
  color: white;
  box-shadow: 0 16px 38px rgb(25 40 34 / 16%);
}
.today-commandbar .eyebrow { color: #a9c8be; }
.today-commandbar h1 {
  display: block;
  margin: 5px 0 6px;
  color: white;
  font: 600 31px/1.12 var(--display);
}
.today-commandbar h1 strong { color: #eab07e; }
.today-commandbar > div > p:last-child { display: block; color: #c8d4d0; font-size: 12px; }
.today-commandbar__metrics {
  align-self: stretch;
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: 12px;
  background: rgb(255 255 255 / 5%);
  overflow: hidden;
}
.today-commandbar__metrics div { display: grid; align-content: center; padding: 10px 16px; border-color: rgb(255 255 255 / 10%); }
.today-commandbar__metrics dt { color: #a9b9b4; }
.today-commandbar__metrics dd { color: white; font-size: 24px; }

.today-grid {
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 20px;
  align-items: start;
  margin-top: 22px;
}
.today-main { display: grid; gap: 16px; min-width: 0; }
.today-main .audit { margin-top: 0; }
.today-side { gap: 16px; }

.process,
.audit,
.investment-summary,
.context-panel,
.thesis-workbench,
.snapshot-panel,
.rule-panel,
.portfolio-alerts,
.recovery-history,
.simulation,
.brief-section,
.decision-record-form {
  border: 1px solid rgb(24 35 31 / 9%);
  border-radius: var(--radius);
  background: rgb(255 255 255 / 94%);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

.process__head,
.context-panel > header,
.thesis-workbench > header,
.snapshot-panel > header,
.rule-panel > header,
.portfolio-alerts > header,
.simulation > header {
  padding: 17px 19px;
  border-bottom-color: var(--rule);
}
.process__number,
.eyebrow { color: var(--blue); letter-spacing: .08em; }
.process__head h2,
.context-panel h2,
.thesis-workbench h2,
.snapshot-panel h2,
.rule-panel h2,
.portfolio-alerts h2,
.simulation h2,
.audit h2,
.brief-section h2,
.decision-record-form h2 { margin-top: 5px; font-size: 18px; }
.process__head > p { max-width: 34ch; color: var(--muted); font-size: 11px; }

.review-row { grid-template-columns: 94px 1fr; border-bottom-color: var(--rule); }
.review-row--high { box-shadow: inset 4px 0 var(--attention); }
.review-row__meta { padding: 18px 12px 16px 18px; }
.review-row__body { min-height: 130px; padding: 17px 20px; border-left-color: var(--rule); }
.review-row__body:hover { background: #f7faf8; }
.review-row__body > strong { margin: 5px 0; font-size: 20px; }
.review-row__summary { color: var(--ink-soft); font-size: 12px; }
.review-row__link { margin-top: 12px; }
.review-row__link i { border-radius: 5px; background: var(--blue-pale); color: var(--blue); }

.alert-summary { padding: 15px 17px; }
.alert-summary strong { font-size: 14px; }
.metric-shift b { font-size: 22px; }
.process-link { margin: 10px 16px 14px; color: var(--blue); }

.decision-entry {
  padding: 20px;
  border: 1px solid #cfe0da;
  border-radius: var(--radius);
  color: var(--ink);
  background: linear-gradient(145deg, #eff6f3, #e4f0eb);
  box-shadow: var(--shadow-soft);
}
.decision-entry::after { border-color: rgb(49 102 93 / 12%); }
.decision-entry .process__number { color: var(--blue); }
.decision-entry h2 { color: var(--ink); font: 600 22px/1.15 var(--display); }
.decision-entry p:not(.process__number) { color: var(--ink-soft); }
.decision-entry .primary-action {
  min-height: 40px;
  margin-top: 15px;
  border-color: var(--blue);
  border-radius: 9px;
  background: var(--blue);
  color: white;
}

.investment-summary {
  padding: 18px;
  overflow: visible;
}
.investment-summary > header { display: flex; justify-content: space-between; gap: 15px; align-items: center; }
.investment-summary h2 { margin-top: 4px; font-size: 18px; }
.investment-summary > header button {
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid var(--rule-dark);
  border-radius: 8px;
  background: transparent;
  color: var(--blue);
  font-size: 10px;
}
.investment-summary dl { margin: 14px 0 0; }
.investment-summary dl div { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-top: 1px solid var(--rule); }
.investment-summary dt { color: var(--muted); font-size: 11px; }
.investment-summary dd { margin: 0; font: 600 11px/1.4 var(--mono); text-align: right; }
.investment-summary > p { margin-top: 10px; padding: 10px; border-radius: 8px; background: var(--amber-soft); color: var(--ink-soft); font-size: 10.5px; }

.audit { margin-top: 20px; }
.audit > header { padding: 14px 18px; border-bottom-color: var(--rule); }
.audit-stat { min-height: 58px; padding: 14px 16px; border-color: var(--rule); }
.audit-stat b { font-size: 19px; }

.page-head { padding: 12px 0 26px; }
.page-head--split { gap: 44px; }
.page-head h1,
.detail-head h1 { max-width: 28ch; font-size: clamp(30px, 3vw, 40px); }
.page-head > div > p:last-child,
.page-head > p:last-child,
.detail-head p:last-child { margin-top: 11px; color: var(--ink-soft); font-size: 13px; }
.readiness,
.context-map > div { border-radius: 12px; overflow: hidden; background: white; box-shadow: var(--shadow-soft); }
.readiness { border-color: var(--rule-dark); }
.context-map > div { border-color: var(--rule-dark); }
.context-map article { background: white; }
.context-gap { margin-top: 12px; border: 1px solid #dfc894; border-radius: 12px; }
.context-grid { gap: 16px; }
.thesis-workbench { margin-top: 16px; }
.thesis-form input,
.thesis-form textarea,
.judgment-form textarea,
.decision-record-form textarea,
.intent-form select,
.intent-form input { border-radius: 8px; border-color: var(--rule-dark); }
.primary-action,
.danger-action,
.judgment-actions button,
.portfolio-alert button,
.intent-form button { border-radius: 8px; }

.portfolio-alerts { margin-top: 18px; }
.portfolio-alert { border-left-width: 4px; }
.portfolio-grid { gap: 16px; }
.recovery-history { margin-top: 16px; }

.intent-form {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgb(24 35 31 / 10%);
  border-radius: 12px;
  background: white;
  box-shadow: var(--shadow-soft);
}
.brief-bar { margin-top: 14px; border: 0; border-radius: 12px; overflow: hidden; background: #1d2d28; }
.brief-bar > div { border-color: rgb(255 255 255 / 10%); }
.simulation { margin-top: 16px; }
.brief-grid { gap: 16px; }
.brief-section { padding: 17px; }
.decision-record-form { margin-top: 16px; }

.journal-list { border-top: 0; }
.decision-record {
  margin-bottom: 14px;
  border: 1px solid rgb(24 35 31 / 10%);
  border-radius: 12px;
  background: white;
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}
.decision-record__margin { padding-left: 18px; background: #f8f9f6; }
.decision-record__body { padding-right: 20px; }
.footer { background: rgb(255 255 255 / 70%); }

@media (max-width: 1060px) {
  .masthead__inner { min-height: 64px; grid-template-columns: auto 1fr auto; padding: 0; }
  .nav { grid-column: auto; justify-content: center; }
  .nav__item { min-height: 64px; }
  .masthead__meta { display: flex; }
  #as-of,
  #reset-demo { display: none; }
  .today-commandbar { grid-template-columns: 1fr 320px; }
  .today-grid { grid-template-columns: minmax(0, 1fr) 300px; }
  .context-grid { grid-template-columns: 1.1fr 1fr; }
  .context-panel--holdings { grid-row: span 2; }
}

@media (max-width: 820px) {
  .today-commandbar { grid-template-columns: 1fr; }
  .today-commandbar__metrics { min-height: 82px; }
  .today-grid { grid-template-columns: 1fr; }
  .today-side { grid-template-columns: 1fr 1fr; }
  .investment-summary { grid-column: 1 / -1; }
  .brief-grid { grid-template-columns: 1fr; }
  .brief-section--history { grid-column: auto; }
}

@media (max-width: 700px) {
  body { font-size: 14px; }
  .masthead__inner {
    width: calc(100% - 28px);
    min-height: 58px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 6px 12px;
    padding: 9px 0 0;
  }
  .brand { min-height: 40px; }
  .brand__name { font-size: 19px; }
  .masthead__meta { grid-column: 2; grid-row: 1; }
  .framework-action { min-height: 38px; }
  .nav { grid-column: 1 / -1; grid-row: 2; width: 100%; justify-content: stretch; }
  .nav__item { flex: 1; min-width: 0; min-height: 46px; padding: 0 7px; font-size: 12px; }
  .nav__item::after { right: 10px; left: 10px; }

  .today-shell,
  .context-shell,
  .portfolio-shell,
  .decision-shell,
  .journal-shell { padding: 18px 0 58px; }
  .today-commandbar { min-height: 0; padding: 20px; border-radius: 14px; }
  .today-commandbar h1 { font-size: 28px; }
  .today-commandbar__metrics { min-height: 76px; }
  .today-commandbar__metrics div { padding: 8px 10px; }
  .today-commandbar__metrics dd { font-size: 20px; }
  .today-grid { gap: 14px; margin-top: 14px; }
  .today-side { grid-template-columns: 1fr; gap: 14px; }
  .investment-summary { grid-column: auto; }

  .review-row { grid-template-columns: 1fr; }
  .review-row__meta { display: flex; justify-content: space-between; min-height: 42px; padding: 12px 16px; }
  .review-row__meta span { margin: 0; }
  .review-row__body { min-height: 0; padding: 18px; border-top: 1px solid var(--rule); border-left: 0; }

  .process,
  .audit,
  .investment-summary,
  .context-panel,
  .thesis-workbench,
  .snapshot-panel,
  .rule-panel,
  .portfolio-alerts,
  .recovery-history,
  .simulation,
  .brief-section,
  .decision-record-form { border-radius: 10px; }
  .review-row__body { padding: 18px; }
  .process__head { align-items: flex-start; }
  .process__head > p { max-width: none; }
  .decision-entry .primary-action,
  .investment-summary > header button,
  .framework-action { min-height: 44px; }

  .page-head h1,
  .detail-head h1 { font-size: clamp(29px, 9vw, 38px); }
  .page-head { padding-top: 5px; }
  .readiness { border-radius: 10px; }
  .context-grid { grid-template-columns: 1fr; }
  .context-panel--holdings { grid-row: auto; }
  .intent-form { border-radius: 10px; }
  .journal-list { margin-top: 12px; }
  .decision-record { border-radius: 10px; }
  .decision-record__margin { background: white; }
}

/* Observation mode: disclosure ledger, distinct from narrative review. */
.demo-switcher {
  display: inline-flex;
  padding: 2px;
  border: 1px solid var(--rule-dark);
  border-radius: 8px;
  background: var(--canvas);
}

.demo-switcher button {
  min-height: 30px;
  padding: 0 9px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  font-size: 10px;
}

.demo-switcher button.is-selected {
  background: var(--surface-strong);
  color: var(--ink);
  box-shadow: 0 1px 4px rgb(23 33 43 / 10%);
}

.holding-updates {
  border: 1px solid var(--rule-dark);
  border-radius: 14px;
  background: var(--surface-strong);
  box-shadow: var(--shadow);
}

.holding-updates > header { padding: 22px 24px; border-bottom: 1px solid var(--rule); }
.holding-update-list { display: grid; }

.holding-update-card {
  position: relative;
  padding: 22px 24px 24px 30px;
  border-bottom: 1px solid var(--rule);
}

.holding-update-card:last-child { border-bottom: 0; }
.holding-update-card::before {
  position: absolute;
  top: 25px;
  bottom: 25px;
  left: 0;
  width: 4px;
  content: "";
  background: var(--blue);
}

.holding-update-card--read::before { background: var(--rule-dark); }
.holding-update-card > header { display: flex; justify-content: space-between; gap: 18px; align-items: center; }
.holding-update-card > header > div { display: flex; gap: 8px; align-items: center; }
.holding-update-card__ticker { font: 700 13px/1 var(--mono); }
.holding-update-card__type {
  padding: 4px 7px;
  border: 1px solid #b7ceca;
  border-radius: 999px;
  color: var(--blue);
  background: var(--blue-pale);
  font-size: 9px;
}
.holding-update-card time { color: var(--faint); font: 10px/1.3 var(--mono); }
.holding-update-card h3 { margin-top: 12px; font: 600 22px/1.25 var(--display); }
.holding-update-card__summary { margin-top: 7px; color: var(--ink-soft); font-size: 12px; }

.disclosure-proof-list {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.disclosure-proof {
  display: grid;
  gap: 7px;
  padding: 14px 16px;
  border-left: 2px solid var(--blue);
  background: #f1f5f3;
}
.disclosure-proof span { color: var(--blue); font-size: 10px; }
.disclosure-proof strong { font-weight: 550; }
.disclosure-proof small { color: var(--muted); font: 9px/1.5 var(--mono); }

.holding-update-card__actions { margin-top: 16px; }
.holding-update-card__actions > .quiet-action,
.holding-update-card__actions > .primary-action { min-height: 38px; }
.request-state { display: inline-block; padding: 9px 11px; border-radius: 7px; background: var(--blue-pale); color: var(--ink-soft); font-size: 10px; }

.value-moment-ask {
  padding-top: 14px;
  border-top: 1px solid var(--rule);
}
.value-moment-ask p { color: var(--ink-soft); font-size: 11px; }
.value-moment-ask > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.value-moment-ask button {
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid var(--rule-dark);
  border-radius: 7px;
  background: transparent;
  font-size: 10px;
}
.value-moment-ask .primary-action { border-color: var(--blue); background: var(--blue); color: white; }

.observation-holdings { margin-top: 14px; border-top: 1px solid var(--rule); }
.observation-holdings > div { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--rule); }
.observation-holdings span { display: flex; gap: 7px; color: var(--muted); font-size: 10px; }
.observation-holdings strong,
.observation-holdings b { color: var(--ink); font: 600 10px/1.4 var(--mono); }
.observation-holdings__cash { background: #f6f5f0; }

.context-gap--capability { border-color: #b9cbc8; background: var(--blue-pale); }
.context-empty { background: #f5f4ef; }
.context-empty dt { color: var(--ink-soft); }
.thesis-form select {
  width: 100%;
  min-height: 43px;
  padding: 0 11px;
  border: 1px solid var(--rule-dark);
  border-radius: 8px;
  background: white;
}
.thesis-form label > span small { color: var(--muted); font-weight: 400; }
.thesis-form__row--single { grid-template-columns: 1fr; }
.context-confirmation { display: flex; gap: 12px; margin-top: 12px; padding: 11px 13px; border-left: 3px solid var(--blue); background: var(--blue-pale); }
.context-confirmation strong { white-space: nowrap; font-size: 10px; }
.context-confirmation span { color: var(--ink-soft); font-size: 10px; }
.decision-record-form label small { color: var(--muted); font-weight: 400; }
.rationale-skip-note { margin-top: 7px; color: var(--muted); font-size: 10px; }
.record-gap { display: flex; gap: 10px; margin-top: 12px; padding: 10px 12px; border-left: 3px solid var(--amber); background: var(--amber-soft); }
.record-gap strong { white-space: nowrap; font-size: 10px; }
.record-gap span { color: var(--ink-soft); font-size: 10px; }

@media (max-width: 1060px) {
  .demo-switcher { display: inline-flex; }
}

@media (max-width: 700px) {
  .masthead__meta { gap: 6px; }
  .demo-switcher { display: inline-flex; }
  .demo-switcher button { min-height: 44px; padding: 0 8px; }
  .framework-action { display: none; }
  .holding-updates { border-radius: 10px; }
  .holding-updates > header,
  .holding-update-card { padding: 18px; }
  .holding-update-card { padding-left: 22px; }
  .holding-update-card h3 { font-size: 19px; }
  .value-moment-ask > div { display: grid; grid-template-columns: 1fr 1fr; }
  .value-moment-ask button { min-height: 44px; }
  .holding-update-card__actions > .quiet-action,
  .holding-update-card__actions > .primary-action { min-height: 44px; }
  .value-moment-ask .primary-action { grid-column: 1 / -1; }
  .context-confirmation { flex-direction: column; }
}

/* Rule verdict: a compact execution ledger layered onto the existing prototype. */
:root {
  --verdict: #4f46a5;
  --verdict-dark: #302b67;
  --verdict-soft: #efedf9;
  --verdict-rule: #cbc7e8;
}

.process--verdict {
  border-color: var(--verdict-rule);
  background: linear-gradient(180deg, #faf9ff 0%, #f4f2fb 100%);
  box-shadow: 0 5px 18px rgb(48 43 103 / 8%);
}

.process--verdict .process__head {
  border-bottom-color: var(--verdict-rule);
  background: rgb(255 255 255 / 64%);
}

.process--verdict .process__number { color: var(--verdict); }
.verdict-card-list { display: grid; }

.verdict-card {
  position: relative;
  display: grid;
  grid-template-columns: 5px 1fr;
  overflow: hidden;
  background: #fbfaff;
}

.verdict-card__rail {
  background: repeating-linear-gradient(to bottom, var(--verdict) 0 12px, #9189c7 12px 18px);
}

.verdict-card > header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 12px 18px 8px;
}

.verdict-card > header > div { display: flex; gap: 9px; align-items: center; }
.verdict-card > header > div > span:last-child { color: var(--muted); font: 10px/1.4 var(--mono); }
.verdict-card__ticker { color: var(--verdict-dark); font: 750 12px/1 var(--mono); letter-spacing: .05em; }

.verdict-status {
  padding: 5px 8px;
  border: 1px solid var(--verdict-rule);
  border-radius: 999px;
  color: var(--verdict-dark);
  background: white;
  font: 650 9px/1 var(--mono);
}

.verdict-status--overridden,
.verdict-status--revised,
.verdict-status--abandoned { color: var(--ink-soft); background: #f5f4f0; border-color: var(--rule-dark); }

.verdict-card__body {
  grid-column: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 20px;
  min-height: 116px;
  padding: 4px 18px 16px;
  border: 0;
  background: transparent;
  text-align: left;
  transition: background 180ms ease;
}

.verdict-card__body:hover { background: rgb(79 70 165 / 5%); }
.verdict-card__body > strong { color: var(--verdict-dark); font: 650 21px/1.25 var(--display); }
.verdict-card__body > span:not(.verdict-card__comparison) { align-self: start; color: var(--verdict-dark); font: 700 17px/1.25 var(--mono); }
.verdict-card__comparison { grid-column: 1; color: var(--ink-soft); font-size: 11px; }
.verdict-card__body > i { grid-column: 2; grid-row: 2; align-self: end; color: var(--verdict); font-size: 10px; font-style: normal; }

.review-row__boundary {
  width: fit-content;
  margin-top: 6px;
  padding: 4px 7px;
  border: 1px solid #e1cbbb;
  border-radius: 999px;
  color: #8b4a36;
  background: #fff8f3;
  font: 650 9px/1 var(--mono);
}
.review-row__boundary--fact { border-color: #bed4ce; color: var(--blue); background: var(--blue-pale); }

.verdict-shell {
  width: min(1360px, calc(100% - 48px));
  padding: 32px 0 88px;
}

.verdict-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 290px;
  gap: 44px;
  align-items: end;
  margin-top: 24px;
  padding: 28px 30px;
  border: 1px solid var(--verdict-rule);
  border-radius: 16px;
  background:
    linear-gradient(125deg, rgb(255 255 255 / 2%), transparent 46%),
    var(--verdict-dark);
  color: white;
  box-shadow: 0 16px 38px rgb(48 43 103 / 17%);
}

.verdict-head .eyebrow { color: #beb9ec; }
.verdict-head h1 { margin-top: 9px; font: 650 clamp(30px, 3.4vw, 47px)/1.08 var(--display); letter-spacing: -.025em; }
.verdict-head > div:first-child > p:last-child { max-width: 70ch; margin-top: 11px; color: #d6d3ed; font-size: 12px; }

.policy-stamp {
  display: grid;
  gap: 7px;
  padding: 18px;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 11px;
  background: rgb(255 255 255 / 7%);
}
.policy-stamp span { color: #b9b5df; font: 700 9px/1 var(--mono); letter-spacing: .08em; }
.policy-stamp strong { font: 650 17px/1.25 var(--display); }
.policy-stamp small { color: #d0cde6; font: 9px/1.5 var(--mono); }

.verdict-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 370px;
  gap: 18px;
  align-items: start;
  margin-top: 18px;
}

.verdict-trace {
  border: 1px solid var(--verdict-rule);
  border-radius: 14px;
  background: #fdfcff;
  box-shadow: 0 5px 18px rgb(48 43 103 / 7%);
  overflow: hidden;
}

.trace-step {
  position: relative;
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  min-width: 0;
  border-bottom: 1px solid #dfdcec;
}
.trace-step:last-child { border-bottom: 0; }
.trace-step::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 49px;
  width: 1px;
  content: "";
  background: var(--verdict-rule);
}
.trace-step__index {
  position: relative;
  z-index: 1;
  padding-top: 21px;
  color: var(--verdict);
  background: #f5f3fc;
  font: 750 10px/1 var(--mono);
  text-align: center;
}
.trace-step > div { min-width: 0; padding: 20px 22px 22px; }
.trace-step__kind { color: var(--verdict); font: 700 9px/1.3 var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.trace-step h2 { margin-top: 7px; font: 630 21px/1.3 var(--display); }

.policy-definition {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 16px 0 0;
  border: 1px solid var(--verdict-rule);
  border-radius: 9px;
  overflow: hidden;
}
.policy-definition div { padding: 10px 12px; border-right: 1px solid #e3e0ef; border-bottom: 1px solid #e3e0ef; }
.policy-definition div:nth-child(even) { border-right: 0; }
.policy-definition div:nth-last-child(-n+2) { border-bottom: 0; }
.policy-definition dt { color: var(--muted); font-size: 9px; }
.policy-definition dd { margin: 3px 0 0; color: var(--ink); font: 600 10px/1.45 var(--mono); }

.observation-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 14px; }
.observation-card { min-width: 0; padding: 13px; border: 1px solid #dedbec; border-radius: 9px; background: white; }
.observation-card > header { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.observation-card > header span { color: var(--muted); font: 700 9px/1 var(--mono); }
.observation-card > header strong { color: var(--verdict-dark); font: 750 21px/1 var(--mono); }
.observation-card > p { min-height: 38px; margin-top: 9px; color: var(--ink-soft); font-size: 10px; }
.observation-card dl { margin: 11px 0 0; border-top: 1px solid var(--rule); }
.observation-card dl div { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 7px; padding: 6px 0; border-bottom: 1px solid var(--rule); }
.observation-card dt { color: var(--faint); font-size: 8px; }
.observation-card dd { min-width: 0; margin: 0; color: var(--ink-soft); font-size: 8.5px; overflow-wrap: anywhere; }
.observation-card a { display: inline-block; min-height: 28px; margin-top: 8px; color: var(--verdict); font-size: 9px; }

.comparison-rail { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 16px; }
.comparison-rail::before { position: absolute; top: 8px; right: 12%; left: 12%; height: 2px; content: ""; background: var(--verdict-rule); }
.comparison-point { position: relative; z-index: 1; display: grid; gap: 5px; justify-items: center; padding: 0 8px; text-align: center; }
.comparison-point > span { display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; color: var(--verdict); background: #fdfcff; font-size: 12px; }
.comparison-point--clear > span { color: var(--muted); }
.comparison-point strong { font: 650 10px/1.4 var(--mono); }
.comparison-point small { color: var(--muted); font-size: 9px; }
.evaluation-record { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; margin-top: 17px; padding: 11px 13px; border-left: 3px solid var(--verdict); background: var(--verdict-soft); }
.evaluation-record span { color: var(--verdict); font: 700 9px/1 var(--mono); }
.evaluation-record strong { font-size: 11px; }
.evaluation-record code { color: var(--muted); font-size: 8px; overflow-wrap: anywhere; }

.trace-step--verdict { background: linear-gradient(100deg, #f7f5ff, #fff); }
.verdict-banner h2 { color: var(--verdict-dark); font-size: 25px; }
.verdict-banner > p:not(.trace-step__kind) { max-width: 72ch; margin-top: 8px; color: var(--ink-soft); font-size: 11px; }
.verdict-banner code { display: block; margin-top: 11px; color: var(--verdict); font-size: 9px; }

.verdict-side { display: grid; gap: 12px; }
.verdict-context-card,
.verdict-disposition,
.disposition-ledger,
.correction-ledger,
.verdict-trade-boundary {
  border: 1px solid var(--rule-dark);
  border-radius: 12px;
  background: white;
  box-shadow: 0 3px 12px rgb(31 27 76 / 5%);
}
.verdict-context-card { padding: 17px; }
.verdict-context-card h2 { margin-top: 5px; font: 620 18px/1.25 var(--display); }
.verdict-context-card > p:not(.process__number) { margin-top: 9px; color: var(--ink-soft); font-size: 11px; }
.verdict-context-card > div { margin-top: 13px; padding: 10px 11px; border-left: 3px solid var(--verdict); background: var(--verdict-soft); }
.verdict-context-card > div span { display: block; color: var(--verdict); font-size: 8px; }
.verdict-context-card > div strong { display: block; margin-top: 4px; font-size: 10px; }

.verdict-disposition { overflow: hidden; border-color: var(--verdict-rule); }
.verdict-disposition > header { display: grid; gap: 6px; padding: 16px; border-bottom: 1px solid var(--verdict-rule); }
.verdict-disposition h2 { margin-top: 4px; font: 620 18px/1.25 var(--display); }
.verdict-disposition > header > span { color: var(--muted); font-size: 9px; }
.verdict-action-picker { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 12px; }
.verdict-action-picker button {
  min-height: 40px;
  padding: 7px 9px;
  border: 1px solid var(--verdict-rule);
  border-radius: 7px;
  background: white;
  color: var(--verdict-dark);
  font-size: 10px;
  font-weight: 650;
}
.verdict-action-picker button:hover,
.verdict-action-picker button.is-selected { border-color: var(--verdict); background: var(--verdict-soft); }
.verdict-action-picker button:nth-child(2) { color: var(--attention); border-color: #e2c7bf; }
.verdict-action-hint { margin: 0 12px 14px; padding: 10px; background: #f7f6f2; color: var(--ink-soft); font-size: 9.5px; }
.verdict-disposition-form { display: grid; gap: 7px; padding: 0 12px 14px; }
.verdict-disposition-form label { color: var(--ink-soft); font-size: 9px; font-weight: 700; }
.verdict-disposition-form label small { color: var(--muted); font-weight: 400; }
.verdict-disposition-form input,
.verdict-disposition-form select,
.verdict-disposition-form textarea {
  width: 100%;
  min-height: 40px;
  padding: 9px 10px;
  border: 1px solid var(--rule-dark);
  border-radius: 7px;
  background: white;
  font-size: 11px;
}
.verdict-disposition-form textarea { resize: vertical; }
.verdict-disposition-form .primary-action { min-height: 42px; margin-top: 4px; border-color: var(--verdict); background: var(--verdict); }

.disposition-ledger { padding: 16px; }

.correction-ledger { padding: 16px; }
.correction-ledger article { display: grid; gap: 4px; margin-top: 10px; padding: 10px; border-left: 3px solid var(--amber); background: var(--amber-soft); }
.correction-ledger article span { color: var(--muted); font: 8px/1.4 var(--mono); }
.correction-ledger article strong { font-size: 11px; }
.correction-ledger article p { color: var(--ink-soft); font-size: 9px; }
.correction-ledger__status { margin-top: 10px; color: var(--muted); font-size: 9px; }

.ledger-row__body { display: grid; gap: 5px; }
.ledger-row__split { display: flex; flex-wrap: wrap; gap: 5px; }
.ledger-row__split i { padding: 1px 6px; border: 1px solid var(--rule-dark); border-radius: 999px; color: var(--ink-soft); font: normal 9px/1.6 var(--mono); }

.rule-draft {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 18px;
  border: 1px solid var(--rule-dark);
  border-radius: 12px;
  background: white;
}
.rule-draft h2 { font: 620 17px/1.25 var(--display); }
.rule-draft > div > p, .rule-draft > p:not(.process__number) { color: var(--ink-soft); font-size: 10px; }
.rule-draft__context { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.rule-draft__context > div { display: grid; gap: 2px; padding: 10px; border: 1px solid var(--rule); border-radius: 9px; }
.rule-draft__context span { color: var(--muted); font: 8px/1.4 var(--mono); }
.rule-draft__context strong { font-size: 13px; }
.rule-draft__context small { color: var(--muted); font-size: 8.5px; }
.rule-draft__proposal { padding: 12px; border-left: 3px solid var(--verdict); background: var(--verdict-soft); display: grid; gap: 5px; }
.rule-draft__proposal span { color: var(--muted); font-size: 9px; }
.rule-draft__proposal strong { font-size: 13px; }
.rule-draft__candidates { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.rule-draft__candidates button { min-height: 34px; padding: 0 12px; border: 1px solid var(--rule-dark); border-radius: 8px; background: white; font-size: 10px; }
.rule-draft__candidates button[aria-pressed="true"] { border-color: var(--verdict); background: white; color: var(--verdict); box-shadow: inset 0 0 0 1px var(--verdict); }
.rule-draft__custom { display: inline-flex; gap: 6px; align-items: center; font-size: 10px; color: var(--ink-soft); }
.rule-draft__custom input { width: 74px; min-height: 34px; padding: 0 8px; border: 1px solid var(--rule-dark); border-radius: 8px; font: inherit; }
.rule-draft__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.rule-draft__actions button { min-height: 38px; padding: 0 14px; border: 1px solid var(--rule-dark); border-radius: 8px; background: white; font-size: 11px; }
.rule-draft__actions .primary-action { border-color: var(--verdict); background: var(--verdict); color: white; }
.disposition-ledger article { display: grid; gap: 4px; margin-top: 10px; padding: 10px; border-left: 3px solid var(--verdict); background: var(--verdict-soft); }
.disposition-ledger article span { color: var(--muted); font: 8px/1.4 var(--mono); }
.disposition-ledger article strong { font-size: 11px; }
.disposition-ledger article p { color: var(--ink-soft); font-size: 9px; }

.verdict-trade-boundary { padding: 15px; border-color: #cfdcd7; background: #f5faf8; }
.verdict-trade-boundary strong { font: 620 15px/1.2 var(--display); }
.verdict-trade-boundary p { margin-top: 5px; color: var(--ink-soft); font-size: 10px; }
.verdict-trade-boundary button { min-height: 36px; margin-top: 10px; padding: 0 10px; border: 1px solid var(--blue); border-radius: 7px; background: transparent; color: var(--blue); font-size: 10px; }

.context-policy-card {
  position: relative;
  display: grid;
  grid-template-columns: 84px minmax(0, 1.2fr) minmax(260px, .8fr) 160px;
  gap: 18px;
  align-items: center;
  margin-top: 16px;
  padding: 17px 18px;
  border: 1px solid var(--verdict-rule);
  border-radius: 12px;
  background: linear-gradient(100deg, #f7f5ff, #fff 64%);
  box-shadow: 0 3px 12px rgb(48 43 103 / 6%);
}
.context-policy-card__stamp { display: grid; gap: 3px; padding-right: 16px; border-right: 1px solid var(--verdict-rule); }
.context-policy-card__stamp span { color: var(--verdict); font: 750 13px/1 var(--mono); }
.context-policy-card__stamp strong { color: var(--verdict-dark); font: 650 23px/1 var(--display); }
.context-policy-card__stamp small { color: var(--muted); font-size: 8px; }
.context-policy-card h2 { margin-top: 4px; font: 620 17px/1.3 var(--display); }
.context-policy-card > div:nth-child(2) > p:last-child { margin-top: 5px; color: var(--ink-soft); font-size: 9.5px; }
.context-policy-card__trajectory { display: flex; gap: 8px; align-items: center; }
.context-policy-card__trajectory span { display: grid; gap: 3px; text-align: center; }
.context-policy-card__trajectory small { color: var(--muted); font: 8px/1 var(--mono); }
.context-policy-card__trajectory strong { color: var(--verdict-dark); font: 700 14px/1 var(--mono); }
.context-policy-card__trajectory i { color: var(--verdict-rule); font-style: normal; }
.context-policy-card__state { display: grid; gap: 4px; }
.context-policy-card__state span { color: var(--muted); font-size: 8px; }
.context-policy-card__state strong { color: var(--verdict-dark); font-size: 11px; }
.context-policy-card__state button { min-height: 32px; padding: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--verdict); font-size: 9px; text-align: left; }
.context-policy-card__boundary { grid-column: 2 / -1; margin-top: -10px; color: var(--muted); font-size: 8.5px; }

.operation-verdict-note { position: relative; margin-bottom: 14px; padding: 12px 13px; border: 1px solid var(--verdict-rule); border-left: 4px solid var(--verdict); border-radius: 7px; background: var(--verdict-soft); }
.operation-verdict-note > span { display: block; color: var(--verdict); font: 700 8px/1 var(--mono); }
.operation-verdict-note > strong { display: block; margin-top: 5px; color: var(--verdict-dark); font-size: 11px; }
.operation-verdict-note > p { margin-top: 5px; color: var(--ink-soft); font-size: 9px; }
.operation-verdict-note > button { min-height: 30px; margin-top: 6px; padding: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--verdict); font-size: 9px; }

@media (max-width: 1060px) {
  .verdict-layout { grid-template-columns: minmax(0, 1fr) 330px; }
  .observation-grid { grid-template-columns: 1fr; }
  .observation-card > p { min-height: 0; }
  .context-policy-card { grid-template-columns: 74px minmax(0, 1fr) 220px; }
  .context-policy-card__state { grid-column: 2; }
  .context-policy-card__boundary { grid-column: 3; margin: 0; }
}

@media (max-width: 820px) {
  .verdict-head { grid-template-columns: 1fr; gap: 20px; }
  .policy-stamp { max-width: 360px; }
  .verdict-layout { grid-template-columns: 1fr; }
  .verdict-side { grid-template-columns: 1fr 1fr; }
  .verdict-disposition { grid-column: 1 / -1; }
  .context-policy-card { grid-template-columns: 72px minmax(0, 1fr); }
  .context-policy-card__trajectory,
  .context-policy-card__state,
  .context-policy-card__boundary { grid-column: 2; }
}

@media (max-width: 700px) {
  .verdict-card > header { align-items: flex-start; padding: 12px 14px 8px; }
  .verdict-card__body { grid-template-columns: 1fr; min-height: 0; padding: 4px 14px 16px; }
  .verdict-card__body > strong { font-size: 19px; }
  .verdict-card__body > span:not(.verdict-card__comparison) { font-size: 15px; }
  .verdict-card__body > i { grid-column: 1; grid-row: auto; min-height: 44px; display: flex; align-items: center; }
  .verdict-shell { width: calc(100% - 28px); padding: 18px 0 58px; }
  .verdict-head { margin-top: 15px; padding: 22px 18px; border-radius: 12px; }
  .verdict-head h1 { font-size: 30px; }
  .verdict-layout { margin-top: 12px; }
  .trace-step { grid-template-columns: 38px minmax(0, 1fr); }
  .trace-step::before { left: 37px; }
  .trace-step > div { padding: 18px 15px 20px; }
  .trace-step h2 { font-size: 19px; }
  .policy-definition { grid-template-columns: 1fr; }
  .policy-definition div { border-right: 0; }
  .policy-definition div:nth-last-child(-n+2) { border-bottom: 1px solid #e3e0ef; }
  .policy-definition div:last-child { border-bottom: 0; }
  .comparison-rail { grid-template-columns: 1fr; gap: 14px; }
  .comparison-rail::before { top: 8px; bottom: 8px; left: 8px; width: 2px; height: auto; }
  .comparison-point { grid-template-columns: 18px 1fr; justify-items: start; text-align: left; }
  .comparison-point > small { grid-column: 2; }
  .evaluation-record { grid-template-columns: 1fr; }
  .verdict-side { grid-template-columns: 1fr; }
  .verdict-disposition { grid-column: auto; }
  .verdict-action-picker { grid-template-columns: 1fr; }
  .verdict-action-picker button,
  .verdict-disposition-form input,
  .verdict-disposition-form select,
  .verdict-disposition-form textarea,
  .verdict-disposition-form .primary-action,
  .verdict-trade-boundary button,
  .observation-card a,
  .operation-verdict-note > button { min-height: 44px; }
  .context-policy-card { grid-template-columns: 1fr; gap: 12px; padding: 16px; }
  .context-policy-card__stamp { padding: 0 0 10px; border-right: 0; border-bottom: 1px solid var(--verdict-rule); }
  .context-policy-card__trajectory,
  .context-policy-card__state,
  .context-policy-card__boundary { grid-column: 1; }
  .context-policy-card__trajectory { justify-content: space-between; }
  .context-policy-card__state button { min-height: 44px; }
  .context-policy-card__boundary { margin: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .view.is-active { animation: none; }
  .verdict-card__body { transition: none; }
}

/* ═══════════════════════════════════════════════════════════
   Visual system v2 · Quiet analytical workstation
   This final layer is the source of truth for presentation.
   ═══════════════════════════════════════════════════════════ */

:root {
  --canvas: #f7f7f7;
  --surface: #fbfbfb;
  --surface-strong: #ffffff;
  --ink: #222222;
  --ink-soft: #494949;
  --muted: #707070;
  --faint: #909090;
  --rule: #dedede;
  --rule-dark: #cccccc;
  --blue: #315e4d;
  --blue-soft: #dbe8e0;
  --blue-pale: #e7efea;
  --positive: #53695e;
  --positive-soft: #edf1ef;
  --attention: #985442;
  --attention-soft: #f5ece8;
  --support: var(--positive);
  --support-soft: var(--positive-soft);
  --amber: #80652d;
  --amber-soft: #f3efe4;
  --verdict: #5e4b66;
  --verdict-dark: #493950;
  --verdict-soft: #f0ecf1;
  --verdict-rule: #d8cedb;
  --shadow: none;
  --shadow-soft: none;
  --radius: 6px;
  --sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;
  --display: var(--sans);
  --brand: Charter, "Iowan Old Style", "Songti SC", Georgia, serif;
  --mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --shell: 1280px;
}

html { background: var(--canvas); }

body {
  color: var(--ink);
  background: var(--canvas);
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.55;
}

button,
a,
input,
select,
textarea { transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease, opacity 150ms ease; }

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible { outline-color: rgb(49 94 77 / 42%); }

.skip-link { min-height: 44px; border-radius: 4px; }

.masthead {
  border-bottom: 1px solid var(--rule);
  background: rgb(251 251 251 / 96%);
  box-shadow: none;
  backdrop-filter: blur(12px);
}

.masthead__inner { min-height: 64px; gap: 24px; }
.brand { min-height: 44px; }
.brand__name { font: 650 20px/1 var(--brand); letter-spacing: -.02em; }
.brand__descriptor { color: var(--muted); font: 10px/1 var(--mono); letter-spacing: .03em; text-transform: none; }
.nav { gap: 4px; }
.nav__item { min-height: 64px; padding: 0 16px; color: var(--muted); font-size: 13px; font-weight: 550; }
.nav__item::after { right: 16px; bottom: 0; left: 16px; height: 2px; border-radius: 0; background: var(--blue); }
.nav__item[aria-current="page"] { color: var(--ink); }
.masthead__meta { gap: 8px; }
.framework-action,
.demo-switcher,
.demo-switcher button,
.quiet-action,
.back-action,
.process-link { border-radius: 4px; }
.framework-action { min-height: 36px; border-color: var(--rule-dark); color: var(--ink-soft); background: var(--surface-strong); }
.demo-switcher { border-color: var(--rule); background: transparent; }
.demo-switcher button { min-height: 32px; }
.demo-switcher button.is-selected { color: var(--blue); background: var(--blue-pale); box-shadow: none; }

.quiet-action,
.back-action,
.process-link { color: var(--ink-soft); }

.quiet-action:hover,
.back-action:hover,
.process-link:hover,
.quiet-action:focus-visible,
.back-action:focus-visible,
.process-link:focus-visible { color: var(--blue); }

.today-shell,
.context-shell,
.portfolio-shell,
.decision-shell,
.journal-shell { padding: 24px 0 72px; }

.today-commandbar,
.today-hero--compact {
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: center;
  padding: 18px 20px;
  border: 1px solid var(--rule-dark);
  border-radius: var(--radius);
  color: var(--ink);
  background: var(--surface);
  box-shadow: none;
}

.today-commandbar .eyebrow { color: var(--muted); }
.today-commandbar h1 { margin: 4px 0 3px; color: var(--ink); font: 650 24px/1.2 var(--display); letter-spacing: -.025em; }
.today-commandbar h1 strong { color: var(--attention); }
.today-commandbar > div > p:last-child { color: var(--muted); font-size: 12px; }
.today-commandbar__metrics {
  width: auto;
  min-width: 370px;
  align-self: stretch;
  border: 0;
  border-left: 1px solid var(--rule);
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.today-commandbar__metrics div { min-width: 116px; align-content: center; padding: 6px 16px; border-color: var(--rule); }
.today-commandbar__metrics dt { color: var(--muted); font-size: 10px; }
.today-commandbar__metrics dd { color: var(--ink); font: 650 20px/1.2 var(--mono); }
.today-commandbar__metrics .today-metric--action dd { color: var(--attention); }

.today-grid { grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; margin-top: 16px; }
.today-main { gap: 12px; }
.today-side { gap: 12px; }

.process,
.audit,
.investment-summary,
.context-panel,
.thesis-workbench,
.snapshot-panel,
.rule-panel,
.portfolio-alerts,
.recovery-history,
.simulation,
.brief-section,
.decision-record-form,
.decision-record,
.holding-updates,
.readiness,
.context-map > div,
.intent-form,
.verdict-context-card,
.verdict-disposition,
.disposition-ledger,
.verdict-trade-boundary {
  border-color: var(--rule);
  border-radius: var(--radius);
  background: var(--surface-strong);
  box-shadow: none;
}

.process__head,
.context-panel > header,
.thesis-workbench > header,
.snapshot-panel > header,
.rule-panel > header,
.portfolio-alerts > header,
.simulation > header { align-items: center; padding: 14px 16px; border-bottom-color: var(--rule); }

.process__number,
.eyebrow { color: var(--muted); font-size: 11px; letter-spacing: .045em; text-transform: none; }

.process__head h2,
.context-panel h2,
.thesis-workbench h2,
.snapshot-panel h2,
.rule-panel h2,
.portfolio-alerts h2,
.simulation h2,
.audit h2,
.brief-section h2,
.decision-record-form h2 {
  margin-top: 3px;
  font-family: var(--display);
  font-size: 17px;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: -.015em;
}
.process__head > p { color: var(--muted); font-size: 13px; }

.review-row { grid-template-columns: 88px minmax(0, 1fr); border-color: var(--rule); }
.review-row--high { box-shadow: inset 3px 0 var(--attention); }
.review-row__meta { padding: 16px 10px 14px 16px; }
.review-row__body { min-height: 112px; padding: 15px 18px; border-left-color: var(--rule); }
.review-row__body:hover { background: #f7f7f7; }
.review-row__source { color: var(--muted); letter-spacing: .025em; text-transform: none; }
.review-row__body > strong { margin: 5px 0; font: 650 18px/1.25 var(--display); }
.review-row__summary { font-size: 13px; }
.review-row__link { margin-top: 10px; }
.review-row__link i { border-radius: 3px; color: var(--ink-soft); background: #f1f1f1; }
.review-row__boundary--fact { border-color: #ccd7d1; color: var(--positive); background: var(--positive-soft); }
.classification span { color: var(--ink-soft); background: #f1f1f1; }
.provenance-step__index { border-color: var(--rule-dark); color: var(--muted); }
.ticker-mark { color: var(--ink); }
.relation { color: var(--ink-soft); }
.relation--supports { color: var(--positive); }
.relation--challenges { color: var(--attention); }
.relation--introduces_unknown { color: var(--amber); }

.process--verdict { border-color: var(--rule); background: var(--surface-strong); box-shadow: none; }
.process--verdict .process__head { border-bottom-color: var(--rule); background: transparent; }
.process--verdict .process__number { color: var(--verdict); }
.verdict-card { grid-template-columns: 3px 1fr; background: var(--surface-strong); }
.verdict-card__rail { background: var(--verdict); }
.verdict-card > header { padding: 11px 16px 7px; }
.verdict-card__body { min-height: 108px; padding: 8px 16px 15px; }
.verdict-card__body:hover { background: #f7f7f7; }
.verdict-card__body > strong { color: var(--ink); font: 650 18px/1.25 var(--display); }
.verdict-card__body > span:not(.verdict-card__comparison) { color: var(--ink); font-size: 15px; }
.verdict-card__body > i { color: var(--verdict); }
.verdict-status { border-color: var(--verdict-rule); background: transparent; }

.alert-summary { padding: 14px 16px; }
.alert-summary strong { margin-top: 7px; font-size: 14px; }
.metric-shift { margin-top: 12px; }
.metric-shift b { font-size: 20px; }
.process-link { min-height: 44px; margin: 4px 12px 10px; padding: 0 4px; border-bottom: 0; text-align: left; }

.decision-entry { padding: 16px; border-color: var(--rule); border-radius: var(--radius); color: var(--ink); background: var(--surface-strong); box-shadow: none; }
.decision-entry::after { display: none; }
.decision-entry .process__number { color: var(--muted); }
.decision-entry h2 { margin-top: 3px; color: var(--ink); font: 650 17px/1.25 var(--display); }
.decision-entry p:not(.process__number) { margin-top: 7px; color: var(--ink-soft); font-size: 13px; }
.decision-entry .primary-action { min-height: 44px; margin-top: 12px; border: 1px solid var(--blue); border-radius: 4px; background: var(--blue); color: white; }

.investment-summary { padding: 15px 16px; }
.investment-summary h2 { font-size: 17px; }
.investment-summary > header button { min-height: 44px; border-color: var(--rule-dark); border-radius: 4px; color: var(--ink-soft); background: var(--surface-strong); }
.investment-summary > header button:hover,
.investment-summary > header button:focus-visible { border-color: var(--blue); color: var(--blue); }
.investment-summary dl { margin-top: 10px; }
.investment-summary dl div { padding: 7px 0; }
.investment-summary > p { margin-top: 8px; padding: 9px 0 0; border-top: 1px solid var(--rule); border-radius: 0; background: transparent; }

.audit { margin-top: 0; }
.audit > header { padding: 12px 16px; }
.audit__summary { grid-template-columns: repeat(5, 1fr); }
.audit-stat { min-height: 48px; padding: 10px 14px; }
.audit-stat b { font-size: 17px; }
.audit-stat span { margin-top: 5px; font-size: 11px; }
.ledger-row__status { color: var(--ink-soft); }

.context-map article span,
.version-mark { color: var(--muted); }

.portfolio-alert__main code { color: var(--ink-soft); }

.page-head,
.detail-head { padding: 10px 0 22px; }
.page-head h1,
.detail-head h1,
.today-hero h1 { max-width: 30ch; margin-top: 8px; font: 650 clamp(28px, 3vw, 32px)/1.18 var(--display); letter-spacing: -.025em; }
.page-head > div > p:last-child,
.page-head > p:last-child,
.detail-head p:last-child { margin-top: 9px; color: var(--ink-soft); font-size: 14px; }

.primary-action,
.danger-action,
.judgment-actions button,
.portfolio-alert button,
.intent-form button,
.verdict-action-picker button,
.verdict-disposition-form .primary-action { min-height: 44px; border-radius: 4px; }
.primary-action { border-color: var(--blue); background: var(--blue); color: white; }

.source-record > a,
.open-review-note button,
.verdict-trade-boundary button { color: var(--ink-soft); border-color: var(--rule-dark); }

.source-record > a:hover,
.open-review-note button:hover,
.verdict-trade-boundary button:hover,
.source-record > a:focus-visible,
.open-review-note button:focus-visible,
.verdict-trade-boundary button:focus-visible { color: var(--blue); border-color: var(--blue); }

.simulation-metrics i { color: var(--muted); }
.conflict-row--judgment > span { color: var(--attention); }
.brief-reference { color: var(--muted); }
.brief-archive { background: #f7f7f7; }
.brief-archive span { color: var(--muted); }
.evaluated-action { background: #f7f7f7; }
.evaluated-action span { color: var(--muted); }

.thesis-form input,
.thesis-form textarea,
.thesis-form select,
.judgment-form textarea,
.decision-record-form textarea,
.intent-form select,
.intent-form input,
.verdict-disposition-form input,
.verdict-disposition-form select,
.verdict-disposition-form textarea { min-height: 44px; border-color: var(--rule-dark); border-radius: 4px; background: var(--surface-strong); }

.intent-form { margin-top: 14px; padding: 14px; }
.brief-bar { margin-top: 12px; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--surface-strong); }
.brief-bar > div { border-color: var(--rule); }
.brief-bar span { color: var(--muted); }
.brief-bar strong { color: var(--ink); }
.simulation { margin-top: 12px; }
.brief-grid { gap: 12px; }
.brief-section { padding: 15px; }
.decision-record-form { margin-top: 12px; }

.decision-record { margin-bottom: 10px; }
.decision-record__margin { background: #f7f7f7; }
.footer { border-top-color: var(--rule); background: var(--surface); }

.holding-update-card h3 { font-family: var(--display); }
.holding-updates > .process__head { padding: 14px 16px; }
.holding-update-card { padding: 16px 18px 18px 20px; }
.holding-update-card::before { top: 16px; bottom: 16px; width: 3px; }
.holding-update-card h3 { margin-top: 9px; font-size: 18px; line-height: 1.25; }
.holding-update-card__summary { margin-top: 5px; font-size: 14px; }
.holding-update-card__type { border-radius: 999px; }
.focus-hit-list { display: grid; gap: 8px; margin-top: 14px; }
.focus-hit {
  display: grid;
  gap: 6px;
  padding: 13px 15px;
  border: 1px solid var(--rule);
  border-left: 3px solid var(--blue);
  border-radius: 4px;
  background: #f7f7f7;
}
.focus-hit > span { color: var(--blue); font: 650 11px/1.3 var(--mono); letter-spacing: .045em; }
.focus-hit > strong { font: 600 14px/1.4 var(--display); }
.focus-hit > p { color: var(--ink-soft); font-size: 13px; }
.focus-hit > small { padding-top: 6px; border-top: 1px solid var(--rule); color: var(--muted); font-size: 11px; }
.disclosure-proof { background: #f7f7f7; }
.disclosure-proof span { font-size: 12px; }
.disclosure-proof small { font-size: 11px; }
.holding-update-card__meta { display: flex; gap: 10px; align-items: center; }
.holding-update-card__meta .quiet-action { min-height: 36px; padding: 0 4px; border: 0; border-bottom: 1px solid var(--rule-dark); background: transparent; font-size: 12px; }
.holding-update-card__actions { margin-top: 14px; }
.value-moment-ask p { font-size: 13px; }
.value-moment-ask__primary { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 10px; }
.value-moment-ask__primary > button,
.value-moment-more > summary { min-height: 44px; padding: 0 12px; border: 1px solid var(--rule-dark); border-radius: 4px; background: var(--surface-strong); font-size: 12px; }
.value-moment-ask__primary > .primary-action { border-color: var(--blue); background: var(--blue); color: white; }
.value-moment-more { flex: 1 1 100%; }
.value-moment-more > summary { width: fit-content; display: flex; align-items: center; cursor: pointer; color: var(--ink-soft); list-style-position: inside; }
.value-moment-more[open] > summary { color: var(--blue); border-color: var(--blue); }
.value-moment-more > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; padding: 10px; border-left: 2px solid var(--rule-dark); background: #f7f7f7; }
.value-moment-more button { min-height: 44px; padding: 0 12px; border: 1px solid var(--rule-dark); border-radius: 4px; background: var(--surface-strong); font-size: 12px; }
.observation-holdings span,
.observation-holdings strong,
.observation-holdings b { font-size: 12px; }
.portfolio-history-note { margin: 0 16px 6px; padding: 10px 0; border-top: 1px solid var(--rule); color: var(--muted); font-size: 12px; }
.portfolio-history-note span { display: block; margin-bottom: 3px; color: var(--positive); font: 650 11px/1.3 var(--mono); }
.delta--flat { color: var(--muted); }
.context-map article p { font-size: 12px; }
.context-gap p:not(.process__number),
.thesis-workbench > header > div > p:last-child,
.portfolio-alert__main p,
.decision-record-form > div:first-child p:last-child,
.intent-example-note,
.directed-empty { font-size: 13px; }
.rationale-skip-note { font-size: 12px; }
.primary-action,
.process-link,
.investment-summary > header button { font-size: 13px; }
.empty-state-inline { display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 16px; }
.empty-state-inline p { max-width: 70ch; color: var(--ink-soft); font-size: 13px; }
.empty-state-inline button { min-height: 44px; flex: 0 0 auto; padding: 0 14px; border: 1px solid var(--rule-dark); border-radius: 4px; color: var(--ink-soft); background: var(--surface-strong); }
.empty-state-inline button:hover,
.empty-state-inline button:focus-visible { color: var(--blue); border-color: var(--blue); }
.journal-empty { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 32px; align-items: center; padding: 24px; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--surface-strong); }
.journal-empty > .process__number,
.journal-empty > h2,
.journal-empty > p { grid-column: 1; }
.journal-empty h2 { margin-top: 2px; font-size: 20px; }
.journal-empty > p:not(.process__number) { max-width: 72ch; color: var(--ink-soft); font-size: 14px; }
.journal-empty > div { grid-column: 2; grid-row: 1 / 4; display: grid; gap: 8px; min-width: 180px; }
.journal-empty button { min-height: 44px; padding: 0 14px; border: 1px solid var(--rule-dark); border-radius: 4px; background: var(--surface-strong); }
.journal-empty .primary-action { border-color: var(--blue); background: var(--blue); color: white; }
.observation-holdings { margin: 0 16px; border-top: 0; }
.observation-holdings__cash { background: transparent; }

.verdict-shell { padding-top: 24px; }
.verdict-head { border: 1px solid var(--rule-dark); border-radius: var(--radius); color: var(--ink); background: var(--surface-strong); box-shadow: none; }
.verdict-head::after { display: none; }
.verdict-head .eyebrow { color: var(--verdict); }
.verdict-head h1 { color: var(--ink); font-family: var(--display); }
.verdict-head > div:first-child > p:last-child { color: var(--ink-soft); }
.policy-stamp { border: 1px solid var(--verdict-rule); border-radius: 4px; background: transparent; }
.policy-stamp span,
.policy-stamp small { color: var(--muted); }
.policy-stamp strong { color: var(--verdict); }
.verdict-layout { gap: 12px; }
.trace-step { border-color: var(--rule); background: var(--surface-strong); }
.trace-step::before { background: var(--verdict-rule); }
.trace-step--verdict { background: var(--surface-strong); }
.trace-step__index { color: var(--verdict); background: var(--surface-strong); }
.policy-definition,
.observation-card { border-color: var(--rule); border-radius: 4px; }
.observation-card { background: var(--surface-strong); }
.comparison-point > span { background: var(--surface-strong); }
.evaluation-record { background: var(--verdict-soft); }
.verdict-context-card > div,
.disposition-ledger article { background: var(--verdict-soft); }
.verdict-action-picker button { border-radius: 4px; }
.verdict-action-hint { background: #f7f7f7; }
.verdict-trade-boundary { background: #f7f7f7; }
.context-policy-card { border-radius: var(--radius); background: var(--surface-strong); box-shadow: none; }
.operation-verdict-note { border-radius: 4px; background: var(--verdict-soft); }

@media (max-width: 1060px) {
  .masthead__inner { gap: 12px; }
  .brand__descriptor { display: none; }
  .demo-switcher { display: inline-flex; }
  .today-grid { grid-template-columns: minmax(0, 1fr) 290px; }
  .today-commandbar__metrics { min-width: 330px; }
}

@media (max-width: 820px) {
  .today-commandbar,
  .today-hero--compact { grid-template-columns: 1fr; gap: 10px; }
  .today-commandbar__metrics { min-width: 0; min-height: 0; border-top: 1px solid var(--rule); border-left: 0; }
  .today-grid { grid-template-columns: 1fr; }
  .today-side { grid-template-columns: 1fr 1fr; }
  .investment-summary { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  body { font-size: 14px; }
  .masthead__inner { min-height: 58px; }
  .brand { min-height: 44px; }
  .today-shell,
  .context-shell,
  .portfolio-shell,
  .decision-shell,
  .journal-shell { padding-top: 14px; }
  .today-commandbar,
  .today-hero--compact { padding: 15px 16px; border-radius: var(--radius); }
  .today-commandbar h1 { font-size: 22px; }
  .today-commandbar__metrics { grid-template-columns: repeat(3, 1fr); }
  .today-commandbar__metrics div { min-width: 0; padding: 8px 7px; }
  .today-commandbar__metrics dd { font-size: 17px; }
  .today-grid { gap: 10px; margin-top: 10px; }
  .today-main,
  .today-side { gap: 10px; }
  .today-side { grid-template-columns: 1fr; }
  .investment-summary { grid-column: auto; }
  .process,
  .audit,
  .investment-summary,
  .context-panel,
  .thesis-workbench,
  .snapshot-panel,
  .rule-panel,
  .portfolio-alerts,
  .recovery-history,
  .simulation,
  .brief-section,
  .decision-record-form,
  .decision-record,
  .holding-updates { border-radius: var(--radius); }
  .process__head { align-items: flex-start; padding: 13px 14px; }
  .process__head h2 { font-size: 16px; }
  .process__head > p { font-size: 14px; }
  .review-row { grid-template-columns: 1fr; }
  .review-row__meta { min-height: 44px; padding: 10px 14px; }
  .review-row__body { min-height: 0; padding: 14px; }
  .review-row__body > strong { font-size: 17px; }
  .review-row__summary { font-size: 14px; }
  .verdict-card__body { min-height: 0; padding: 8px 14px 14px; }
  .verdict-card__body > strong { font-size: 17px; }
  .audit__summary { grid-template-columns: repeat(2, 1fr); }
  .audit-stat { min-height: 56px; }
  .decision-entry p:not(.process__number),
  .investment-summary dt,
  .investment-summary > p { font-size: 14px; }
  .page-head h1,
  .detail-head h1 { font-size: 28px; }
  .holding-update-card__summary { font-size: 14px; }
  .framework-action,
  .demo-switcher button,
  .nav__item,
  .quiet-action,
  .back-action,
  .process-link,
  .investment-summary > header button,
  .observation-card a,
  .operation-verdict-note > button { min-height: 44px; }
  .holding-update-card__meta { align-items: flex-end; flex-direction: column; gap: 2px; }
  .holding-update-card__meta .quiet-action { min-height: 44px; }
  .value-moment-ask__primary { display: grid; grid-template-columns: 1fr 1fr; }
  .value-moment-ask__primary > .primary-action,
  .value-moment-more { grid-column: 1 / -1; }
  .value-moment-ask__primary > button { min-height: 45px; }
  .value-moment-more > summary { width: 100%; justify-content: center; }
  .value-moment-more > div { display: grid; grid-template-columns: 1fr; }
  .empty-state-inline { align-items: stretch; flex-direction: column; }
  .context-map article p { font-size: 13px; }
  .context-gap p:not(.process__number),
  .thesis-workbench > header > div > p:last-child,
  .portfolio-alert__main p,
  .decision-record-form > div:first-child p:last-child,
  .intent-example-note,
  .directed-empty,
  .empty-state-inline p { font-size: 14px; }
  .rationale-skip-note { font-size: 13px; }
  .holding-update-card__type,
  .today-commandbar__metrics dt { font-size: 11px; }
  .primary-action,
  .process-link,
  .investment-summary > header button,
  .value-moment-ask button,
  .value-moment-more > summary { font-size: 14px; }
  .journal-empty { grid-template-columns: 1fr; padding: 18px; }
  .journal-empty > .process__number,
  .journal-empty > h2,
  .journal-empty > p,
  .journal-empty > div { grid-column: 1; grid-row: auto; }
  .journal-empty > div { margin-top: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  button,
  a,
  input,
  select,
  textarea { transition: none !important; }
}

.conflict-row--passed > span { color: var(--muted); }

body:not(.show-proto-notes) .proto-note { display: none !important; }
.show-proto-notes .proto-note { outline: 1px dashed var(--amber); outline-offset: 2px; }
#toggle-proto-notes[aria-pressed="true"] { color: var(--amber); }

/* Holdings-first: default reference frames. Badges are deliberately neutral (no red/green): the
   product states where a value sits, never whether that is good or bad. */
.holding-group { padding: 18px 20px 6px; border-top: 1px solid var(--rule); }
.holding-group:first-of-type { border-top: 0; }
.holding-group__head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 12px; }
.holding-group__head strong { font: 700 15px/1.2 var(--mono); }
.holding-group__head span { color: var(--muted); font-size: 13px; }
.holding-group__head b { margin-left: auto; font: 600 13px/1.2 var(--mono); color: var(--ink-soft); }
.holding-group__empty { margin: 0 0 14px; color: var(--muted); font-size: 13px; }
.holding-group .holding-update-list { display: grid; gap: 12px; padding-bottom: 12px; }
.sparkline { display: block; margin-top: 8px; }
.sparkline rect { fill: var(--rule-dark); }
.sparkline rect.is-current { fill: var(--ink); }
.source-details { margin-top: 10px; }
.source-details > summary { cursor: pointer; min-height: 32px; display: flex; align-items: center; color: var(--ink-soft); font-size: 13px; }
.source-details[open] > summary { margin-bottom: 8px; }
.value-moment-ask--optional { padding-top: 10px; border-top: 1px solid var(--rule); }
.value-moment-ask--optional p { color: var(--ink-soft); font-size: 13px; }
.muted-salience { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 20px 18px; padding: 10px 12px; border-radius: 6px; background: var(--canvas); color: var(--muted); font-size: 12px; }
.muted-salience__item { display: inline-flex; align-items: center; gap: 4px; color: var(--ink-soft); }
.goal-checks { display: grid; gap: 8px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--rule); }
.goal-check span { display: block; color: var(--muted); font-size: 12px; }
.goal-check strong { display: block; font-size: 13px; }
.goal-check--breached strong { color: var(--attention); }
.goal-cta { margin-top: 14px; padding: 14px; border: 1px dashed var(--rule-dark); border-radius: 6px; }
.goal-cta strong { display: block; }
.goal-cta p { margin: 6px 0 10px; color: var(--muted); font-size: 12px; }
.decision-entry--secondary button { min-height: 40px; padding: 0 14px; border: 1px solid var(--rule-dark); border-radius: 4px; background: var(--surface-strong); }
.goal-form-panel { margin-top: 20px; padding: 22px 24px; border: 1px solid var(--rule); border-radius: 8px; background: var(--surface); }
.goal-form-panel > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
.goal-form { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.goal-form label > span { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 650; }
.goal-form select,
.goal-form input { width: 100%; min-height: 44px; padding: 0 10px; border: 1px solid var(--rule-dark); border-radius: 4px; background: var(--surface-strong); font: inherit; }
.input-suffix { position: relative; display: block; }
.input-suffix input { padding-right: 28px; }
.input-suffix i { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); color: var(--muted); font-style: normal; }
.goal-form__actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.goal-form__actions span { color: var(--muted); font-size: 12px; }
@media (max-width: 900px) {
  .goal-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .goal-form { grid-template-columns: 1fr; }
  .holding-group { padding: 14px 14px 4px; }
}

/* V1: one sentence per holding, and its read-only relation annotation. */
.note-relation { margin: 12px 0 0; padding: 12px 14px; border-left: 3px solid var(--blue); border-radius: 0 6px 6px 0; background: var(--blue-pale); }
.note-relation > span { display: block; color: var(--blue); font: 600 11px/1.3 var(--mono); }
.note-relation q { display: block; margin: 6px 0; font-weight: 650; }
.note-relation p { margin: 0; color: var(--ink-soft); font-size: 13px; }
.note-relation small { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; }
.note-panel > p { margin: 0 0 12px; color: var(--muted); font-size: 12px; }
.note-form { display: grid; gap: 10px; }
.note-form label > span { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 650; }
.note-form label small { color: var(--muted); font-weight: 400; }
.note-form select,
.note-form textarea { width: 100%; padding: 10px; border: 1px solid var(--rule-dark); border-radius: 4px; background: var(--surface-strong); font: inherit; }
.note-form select { min-height: 44px; }
.note-form .primary-action { justify-self: start; }
.note-form--page { grid-template-columns: 160px minmax(0, 1fr) auto; align-items: end; }
.note-list { margin-bottom: 16px; }
.goal-checks--page { margin-top: 0; padding-top: 0; border-top: 0; }
.goal-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 720px) {
  .note-form--page { grid-template-columns: 1fr; }
  .goal-form { grid-template-columns: 1fr; }
}
.note-relation-none { margin: 10px 0 0; color: var(--muted); font-size: 12px; }

/* V1 navigation: holdings list -> one holding. */
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.holdings-home .page-head { align-items: flex-end; }
.portfolio-overview { margin-top: 20px; padding: 20px 22px; border: 1px solid var(--rule); border-radius: 8px; background: var(--surface); }
.portfolio-overview > header h2 { margin-top: 4px; }
.portfolio-overview__weights { display: flex; gap: 2px; margin-top: 14px; overflow: hidden; border-radius: 6px; }
.portfolio-overview__weights span { min-width: 0; padding: 8px 10px; background: var(--canvas); color: var(--ink-soft); font: 12px/1.3 var(--mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.portfolio-overview__weights span b { display: block; color: var(--ink); }
.portfolio-overview__weights .is-cash { background: transparent; border: 1px dashed var(--rule-dark); }
.goal-editor { margin-top: 14px; }
.goal-editor > summary { cursor: pointer; min-height: 40px; display: flex; align-items: center; color: var(--blue); font-size: 13px; }
.goal-editor .goal-form-panel { margin-top: 8px; padding: 16px; }
.goal-editor .goal-form-panel > header { display: none; }
.holding-rows { display: grid; gap: 10px; margin: 20px 0 60px; }
.holding-row-card { display: grid; grid-template-columns: minmax(150px, 1.2fr) 70px minmax(0, 3fr) 20px; grid-template-areas: "id weight latest go" "id weight meta go"; gap: 4px 16px; align-items: center; width: 100%; padding: 16px 18px; border: 1px solid var(--rule); border-radius: 8px; background: var(--surface-strong); color: var(--ink); text-align: left; cursor: pointer; }
.holding-row-card:hover,
.holding-row-card:focus-visible { border-color: var(--blue); }
.holding-row-card__id { grid-area: id; }
.holding-row-card__id strong { display: block; font: 700 16px/1.2 var(--mono); }
.holding-row-card__id span { color: var(--muted); font-size: 12px; }
.holding-row-card__weight { grid-area: weight; font: 600 14px/1.2 var(--mono); }
.holding-row-card__latest { grid-area: latest; font-size: 14px; }
.holding-row-card__latest time { margin-right: 8px; color: var(--muted); font: 12px/1.3 var(--mono); }
.holding-row-card__meta { grid-area: meta; display: flex; flex-wrap: wrap; gap: 6px; }
.holding-row-card__go { grid-area: go; color: var(--muted); }
.holding-flag,
.holding-chip { padding: 2px 8px; border-radius: 999px; font-size: 11px; font-style: normal; }
.holding-flag { border: 1px solid var(--attention); color: var(--attention); }
.holding-chip { border: 1px solid var(--rule-dark); color: var(--muted); }
.back-link { min-height: 40px; margin-top: 20px; padding: 0; border: 0; background: none; color: var(--blue); font-size: 13px; cursor: pointer; }
.holding-shell { width: min(960px, calc(100% - 48px)); margin: 0 auto; }
.holding-head h1 span { margin-left: 8px; color: var(--muted); font-size: 0.5em; font-weight: 400; }
.holding-head__flags { display: flex; flex-wrap: wrap; gap: 6px; }
.note-panel--detail { margin-top: 16px; padding: 16px 18px; border: 1px solid var(--rule); border-radius: 8px; background: var(--surface); }
.note-panel--detail .note-form { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
.holding-timeline { margin: 24px 0 60px; }
.holding-timeline h2 { margin-bottom: 12px; font-size: 18px; }
.holding-timeline h2 small { color: var(--muted); font-size: 13px; font-weight: 400; }
.holding-timeline .holding-update-list { display: grid; gap: 14px; }
@media (max-width: 720px) {
  .holding-row-card { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "id weight" "latest latest" "meta meta"; }
  .holding-row-card__go { display: none; }
  .note-panel--detail .note-form { grid-template-columns: 1fr; }
  .holding-shell { width: calc(100% - 28px); }
}
.masthead__meta { grid-column: 3; justify-self: end; }
.holdings-home .page-head--split { grid-template-columns: minmax(0, 1fr) auto; }
.import-action { min-height: 40px; padding: 0 16px; border: 1px solid var(--rule-dark); border-radius: 4px; background: var(--surface-strong); color: var(--ink); font-size: 13px; cursor: pointer; }

/* ------------------------------------------------------------------
   V1 style layer (2026-09-28). Neutral palette: in finance green/red read
   as up/down or good/bad, which contradicts "state positions, never
   direction". Accent is slate blue; limit breaches use amber, not red.
   One sans family for text; mono only for numeric columns.
   ------------------------------------------------------------------ */
:root {
  --canvas: #f6f6f4;
  --surface: #ffffff;
  --surface-strong: #ffffff;
  --ink: #1f2430;
  --ink-soft: #454b57;
  --muted: #6e7380;
  --faint: #9a9ea8;
  --rule: #e4e5e8;
  --rule-dark: #cfd2d8;
  --blue: #3a4f6e;
  --blue-soft: #dfe5ee;
  --blue-pale: #eef1f6;
  --attention: #a3620f;
  --attention-soft: #fbf1e2;
}

body { background: var(--canvas); }

.brand__name { font-family: var(--sans); font-weight: 700; letter-spacing: -0.01em; }
.eyebrow,
.process__number { font-family: var(--sans); letter-spacing: 0; text-transform: none; color: var(--muted); font-size: 12px; font-weight: 500; }
.holdings-home h1,
.holding-head h1,
.portfolio-overview h2,
.holding-timeline h2 { font-family: var(--sans); letter-spacing: -0.01em; }
.holdings-home .page-head,
.holding-head { border-bottom: 0; padding-bottom: 8px; }
.primary-action,
.primary-action:hover { background: var(--blue); border-color: var(--blue); }
.demo-switcher button[aria-pressed="true"] { background: var(--blue-pale); color: var(--blue); }

/* Holdings list */
.portfolio-overview { border-color: var(--rule); box-shadow: none; }
.portfolio-overview__weights span { font-family: var(--sans); }
.portfolio-overview__weights span b { font-family: var(--sans); font-weight: 650; }
.goal-check strong { font-weight: 600; }
.goal-check--breached strong { color: var(--attention); }
.holding-row-card__id strong { font-family: var(--sans); font-weight: 700; letter-spacing: 0.02em; }
.holding-row-card__latest time { font-family: var(--sans); }
.holding-flag { border-color: transparent; background: var(--attention-soft); color: var(--attention); }
.holding-chip { border-color: transparent; background: var(--canvas); color: var(--muted); }

/* Disclosure card: one card per filing, comparisons as borderless rows. */
.holding-timeline .holding-update-list { gap: 16px; }
.disclosure-card { padding: 20px 22px; border: 1px solid var(--rule); border-radius: 10px; background: var(--surface); }
.disclosure-card__head { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 12px; }
.disclosure-card__head span { color: var(--ink-soft); font-weight: 600; }
.disclosure-card h3 { margin: 8px 0 0; font: 650 18px/1.4 var(--sans); }
.disclosure-card__summary { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.compare-rows { margin: 14px 0 0; padding: 0; list-style: none; }
.compare-row { padding: 14px 0; border-top: 1px solid var(--rule); }
.compare-row__frame { display: block; margin-bottom: 4px; color: var(--muted); font-size: 12px; }
.compare-row__main { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 12px; }
.compare-row__main strong { font-size: 16px; font-weight: 650; }
.compare-row__badge { padding: 2px 10px; border-radius: 999px; background: var(--blue-pale); color: var(--blue); font-size: 13px; font-weight: 600; white-space: nowrap; }
.compare-row > p { margin: 4px 0 0; color: var(--ink-soft); font-size: 13px; }
.compare-row__why { display: block; margin-top: 6px; color: var(--faint); font-size: 12px; }
.compare-row__quote { margin: 8px 0 0; padding: 8px 12px; border-radius: 6px; background: var(--canvas); color: var(--ink-soft); font-size: 13px; }
.compare-row__quote span { display: block; margin-bottom: 2px; color: var(--muted); font-size: 12px; }
.compare-row__caveat { margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.sparkline rect { fill: var(--rule-dark); }
.sparkline rect.is-current { fill: var(--blue); }
.note-relation { margin-top: 14px; border-left: 0; border-radius: 8px; background: var(--blue-pale); }
.note-relation > span { color: var(--blue); font-family: var(--sans); font-size: 12px; }
.source-details { margin-top: 6px; border-top: 1px solid var(--rule); padding-top: 6px; }
.source-details > summary { color: var(--muted); font-size: 12px; }
.disclosure-proof span { color: var(--muted); }
.disclosure-proof small { font-family: var(--sans); }
.note-panel--detail { border-radius: 10px; }

/* One white for page, masthead, cards and footer; a single cool grey only for small fills.
   The earlier warm off-white canvas clashed with the cool ink/borders/accent. */
:root { --canvas: #f4f5f7; }
html,
body { background: #ffffff; }
.masthead { background: rgb(255 255 255 / 96%); border-bottom: 1px solid var(--rule); }
.footer { background: #ffffff; border-top: 1px solid var(--rule); }

/* ------------------------------------------------------------------
   Final V1 palette ("墨蓝"). No red/green anywhere; limit breaches use
   amber. Series slots validated with the dataviz validator (CVD and
   normal-vision separation, 3:1 on the white surface).
   ------------------------------------------------------------------ */
:root {
  --page: #ffffff;
  --surface: #ffffff;
  --surface-strong: #ffffff;
  --canvas: #f3f4f9;
  --ink: #1b2033;
  --ink-soft: #414862;
  --muted: #6b7189;
  --faint: #9a9fb3;
  --rule: #e3e5ee;
  --rule-dark: #cdd1df;
  --blue: #3f51b5;
  --blue-soft: #dfe3f7;
  --blue-pale: #eef0fb;
  --attention: #a3620f;
  --attention-soft: #fbf1e2;
  --band: #2f3b6e;
  --band-ink: #ffffff;
  --band-muted: #b9c0e0;
  --series-1: #3f51b5;
  --series-2: #2b8cc9;
  --series-3: #a9568f;
  --series-4: #7b68ee;
  --series-cash: #c9ccd8;
  --heading: var(--sans);
}

html,
body { background: var(--page); color: var(--ink); }
.footer { background: var(--page); border-top: 1px solid var(--rule); color: var(--muted); }
.footer p { color: var(--muted); }

/* Masthead as a deep indigo band. */
.masthead { background: var(--band); border-bottom: 1px solid var(--rule); }
.masthead { border-bottom-color: var(--band); }
.brand__name { color: var(--band-ink); }
.brand__descriptor,
#as-of { color: var(--band-muted); }
.masthead .quiet-action { color: var(--band-ink); border-color: var(--band-muted); }
.demo-switcher { display: inline-flex; gap: 2px; padding: 2px; border: 1px solid var(--band-muted); border-radius: 6px; }
.demo-switcher button { min-height: 30px; padding: 0 10px; border: 0; border-radius: 4px; background: transparent; color: var(--band-muted); font-size: 12px; cursor: pointer; }
.demo-switcher button[aria-pressed="true"] { background: var(--band-ink); color: var(--band); font-weight: 600; }

.holdings-home h1,
.holding-head h1,
.portfolio-overview h2,
.holding-timeline h2,
.disclosure-card h3 { font-family: var(--heading); color: var(--ink); }

/* Surfaces */
.portfolio-overview,
.holding-row-card,
.disclosure-card,
.note-panel--detail,
.goal-editor .goal-form-panel { background: var(--surface); border-color: var(--rule); color: var(--ink); }
.goal-form input,
.goal-form select,
.note-form textarea { background: var(--page); border-color: var(--rule-dark); color: var(--ink); }
.import-action { background: var(--surface); border-color: var(--rule-dark); color: var(--ink); }
.back-link,
.goal-editor > summary { color: var(--blue); }

/* Proportional weight bar: 2px surface gaps, 4px rounded ends, legend + direct values. */
.weight-bar { display: flex; gap: 2px; height: 14px; margin-top: 16px; }
.weight-bar__seg { min-width: 4px; border-radius: 2px; }
.weight-bar__seg:first-child { border-radius: 4px 2px 2px 4px; }
.weight-bar__seg:last-child { border-radius: 2px 4px 4px 2px; }
.weight-bar__seg--cash { background: var(--series-cash); }
.weight-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 10px 0 0; padding: 0; list-style: none; color: var(--ink-soft); font-size: 13px; }
.weight-legend li { display: inline-flex; align-items: center; gap: 6px; }
.weight-legend i { width: 10px; height: 10px; border-radius: 3px; }
.weight-legend i.is-cash { background: var(--series-cash); }
.weight-legend b { color: var(--ink); font: 600 13px/1 var(--mono); }
.portfolio-overview__weights { display: none; }

.series-mark { display: inline-block; width: 10px; height: 10px; margin-right: 8px; border-radius: 3px; vertical-align: 1px; }
.series-mark--lg { width: 14px; height: 14px; margin-right: 12px; border-radius: 4px; vertical-align: 4px; }
.holding-row-card__weight { color: var(--ink); }
.holding-row-card__latest { color: var(--ink); }

/* Comparison row: the figure carries the eye. */
.compare-row__top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.compare-row__frame { margin: 0; }
.compare-row__main { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: flex-start; gap: 4px 12px; margin-top: 6px; }
.compare-row__label { color: var(--ink-soft); font-size: 14px; }
.compare-row__figure { color: var(--ink); font: 650 24px/1.2 var(--sans); letter-spacing: -0.01em; }
.compare-row__badge { background: var(--blue-pale); color: var(--blue); }
.compare-row > p { color: var(--ink-soft); }
.compare-row,
.source-details { border-color: var(--rule); }
.compare-row__quote { background: var(--canvas); color: var(--ink-soft); }
.sparkline { margin-top: 10px; }
.sparkline rect { fill: var(--rule-dark); }
.sparkline rect.is-current { fill: var(--blue); }
.note-relation { background: var(--blue-pale); }
.note-relation q,
.note-relation p { color: var(--ink); }
.holding-chip { background: var(--canvas); color: var(--muted); }
.holding-flag { background: var(--attention-soft); color: var(--attention); }
.goal-check span { color: var(--muted); }
.goal-check strong { color: var(--ink); }
.goal-check--breached strong { color: var(--attention); }
.eyebrow,
.process__number,
.disclosure-card__head,
.compare-row__frame,
.compare-row__why,
.disclosure-card__summary { color: var(--muted); }
.disclosure-card__head span { color: var(--ink-soft); }
.page-head p,
.holding-group__empty,
.note-relation-none { color: var(--muted); }
.primary-action,
.primary-action:hover { background: var(--blue); border-color: var(--blue); color: var(--page); }
.primary-action { color: #ffffff; }
.toast { background: var(--ink); color: var(--page); }

/* Narrow screens: switchers move to their own row under the brand. */
.demo-switcher button { white-space: nowrap; }
@media (max-width: 700px) {
  .brand { grid-row: 1; order: 1; }
  .masthead__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; width: 100%; order: 3; justify-content: flex-start; grid-column: 1 / -1; grid-row: 2; }
  .masthead__meta #as-of { display: none; }
}

/* ETF fund-level views. Bars use the accent only (single measure, no categorical colour needed). */
.fund-insights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--rule); }
.fund-insight h3 { margin: 0 0 4px; font: 650 15px/1.3 var(--sans); color: var(--ink); }
.fund-insight__lead,
.fund-insight__note { margin: 4px 0 10px; color: var(--muted); font-size: 12px; }
.sector-bars,
.overlap-list,
.fund-holdings,
.fund-events { margin: 0; padding: 0; list-style: none; }
.sector-bars li { margin-bottom: 10px; }
.sector-bars__label { display: flex; justify-content: space-between; font-size: 13px; color: var(--ink-soft); }
.sector-bars__label b { color: var(--ink); font: 600 13px/1.3 var(--mono); }
.sector-bars__track { height: 8px; margin-top: 4px; border-radius: 4px; background: var(--canvas); overflow: hidden; }
.sector-bars__track i { display: block; height: 100%; border-radius: 4px; background: var(--blue); }
.sector-bars small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.overlap-list li { padding: 8px 0; border-bottom: 1px solid var(--rule); }
.overlap-list li > div { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; }
.overlap-list b { color: var(--ink); font: 600 13px/1.3 var(--mono); white-space: nowrap; }
.overlap-list small { color: var(--muted); font-size: 12px; }
.coverage-gap { grid-column: 1 / -1; margin: 4px 0 0; padding: 10px 12px; border-radius: 6px; background: var(--attention-soft); color: var(--attention); font-size: 12px; }
.fund-detail { margin: 16px 0 60px; }
.fund-facts { display: grid; grid-template-columns: 2fr 1fr 1.4fr; gap: 12px; margin: 0; padding: 16px 18px; border: 1px solid var(--rule); border-radius: 10px; background: var(--surface); }
.fund-facts dt { color: var(--muted); font-size: 12px; }
.fund-facts dd { margin: 4px 0 0; color: var(--ink); font-size: 14px; font-weight: 600; }
.fund-facts dd small { display: block; color: var(--muted); font-size: 11px; font-weight: 400; }
.fund-detail__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.fund-detail__grid > section { padding: 16px 18px; border: 1px solid var(--rule); border-radius: 10px; background: var(--surface); }
.fund-detail__grid h2,
.fund-detail .holding-timeline h2 { margin: 0 0 10px; font: 650 16px/1.3 var(--sans); color: var(--ink); }
.fund-detail__sub { margin-top: 18px !important; }
.fund-holdings li { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--rule); font-size: 13px; }
.fund-holdings li span { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.fund-holdings li i { padding: 1px 7px; border-radius: 999px; background: var(--attention-soft); color: var(--attention); font-size: 11px; font-style: normal; }
.fund-holdings b { font: 600 13px/1.3 var(--mono); }
.fund-events li { padding: 12px 0; border-top: 1px solid var(--rule); }
.fund-events time { color: var(--muted); font-size: 12px; }
.fund-events strong { display: block; margin-top: 2px; }
.fund-events p { margin: 2px 0 0; color: var(--ink-soft); font-size: 13px; }
@media (max-width: 720px) {
  .fund-insights,
  .fund-detail__grid,
  .fund-facts { grid-template-columns: 1fr; }
}
