:root {
  --ink: #11100e;
  --ink-soft: #2b2925;
  --paper: #f1eddf;
  --paper-bright: #faf7ed;
  --line: rgba(17, 16, 14, 0.2);
  --muted: #6f6a60;
  --blue: #254fc4;
  --rust: #bc4b2d;
  --green: #42795c;
  --yellow: #e4c85a;
  --rail: 12.5rem;
  --read: 19rem;
  --sans: "Helvetica Neue", Helvetica, sans-serif;
  --serif: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;

  /* Phase 5 · merged motion tokens.
     Values taken verbatim from public/css/tokens.css so the two files agree.
     Only the theme-neutral motion, depth and column tokens are adopted here;
     tokens.css's dark colour palette is deliberately NOT adopted, because
     flipping this light paper theme to dark would be an undescribed redesign
     requiring every contrast pair across seven gates to be re-verified. */
  --motion-fast: 150ms;
  --motion-base: 250ms;
  --motion-slow: 450ms;
  --ease-out-quart: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.22, 0.68, 0, 1.2);
  --z-overlay: 300;
  --z-drawer: 500;
  --z-modal: 9999;
  --col-narrow: 520px;
  --col-default: 680px;
  --col-xwide: 780px;

  /* Phase 5 · gate field layer.
     One token set drives all six metaphors, so no gate hardcodes its own
     colours and the whole layer moves with the theme. */
  --field-ink: rgba(17, 16, 14, 0.5);
  --field-quiet: rgba(17, 16, 14, 0.24);
  --field-faint: rgba(17, 16, 14, 0.1);
  --field-accent: #bc4b2d;
  --field-accent-soft: rgba(188, 75, 45, 0.35);
  --field-height: 9rem;
  --field-fade: 1.25rem;
}

/* ---------------------------------------------------------------- *
 * Phase 5 · gate field layer
 * ---------------------------------------------------------------- */
.field-band {
  position: relative;
  margin: 1.25rem 0 1.75rem;
  height: var(--field-height);
  border-top: 1px solid var(--field-faint);
  border-bottom: 1px solid var(--field-faint);
  overflow: hidden;
}
.field-canvas {
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.92;
  transition: opacity var(--motion-slow) var(--ease-out-quart);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--field-fade), #000 calc(100% - var(--field-fade)), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 var(--field-fade), #000 calc(100% - var(--field-fade)), transparent 100%);
}

/* ---------------------------------------------------------------- *
 * Phase 5 · rail text, never bare ordinals
 * ---------------------------------------------------------------- */
.move-short { display: none; }
.rail-active-move {
  display: none;
  margin: .5rem 0 0;
  font-family: var(--mono);
  font-size: .62rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink);
}

/* ---------------------------------------------------------------- *
 * Phase 5 · governed primary action
 * ---------------------------------------------------------------- */
.primary-action-absent {
  max-width: var(--col-narrow);
  margin: 0;
  padding: .7rem .85rem;
  border: 1px dashed var(--line);
  background: transparent;
  font-size: .78rem;
  line-height: 1.45;
  color: var(--muted);
}
.required-inputs {
  flex-basis: 100%;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid var(--line);
  background: var(--paper-bright);
}
.required-inputs > p {
  margin: 0 0 .75rem;
  max-width: var(--col-default);
  font-size: .78rem;
  color: var(--muted);
}
.required-inputs dl {
  display: grid;
  gap: .45rem;
  margin: 0;
}
.required-inputs dl > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: baseline;
  padding-bottom: .4rem;
  border-bottom: 1px solid var(--field-faint);
}
.required-inputs dt { font-size: .8rem; }
.required-inputs dd {
  margin: 0;
  font-family: var(--mono);
  font-size: .62rem;
  letter-spacing: .06em;
  color: var(--rust);
}

* { box-sizing: border-box; }
html { color-scheme: light; background: var(--ink); }
body {
  margin: 0;
  min-width: 20rem;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  text-rendering: optimizeLegibility;
}
button { font: inherit; }
button:focus-visible, a:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--yellow);
  outline-offset: 3px;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: fixed;
  z-index: 100;
  left: 1rem;
  top: -5rem;
  padding: .75rem 1rem;
  color: var(--ink);
  background: var(--yellow);
}
.skip-link:focus { top: 1rem; }
.app-shell {
  display: grid;
  grid-template-columns: var(--rail) minmax(0, 1fr) var(--read);
  min-height: 100vh;
}
.brand-rail {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  padding: 1.35rem 1rem 1.1rem;
  color: #f5f0e3;
  background: var(--ink);
  border-right: 1px solid #37342e;
}
.brand-lockup {
  display: flex;
  align-items: center;
  gap: .7rem;
  margin-bottom: 3.5rem;
  font-family: var(--serif);
  font-size: 1.1rem;
}
.brand-mark {
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-family: var(--mono);
  font-size: .7rem;
}
.move-nav { display: grid; gap: .25rem; }
.move-button {
  width: 100%;
  display: grid;
  grid-template-columns: 1.65rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .55rem;
  padding: .72rem .55rem;
  border: 0;
  border-left: 2px solid transparent;
  color: #aaa59a;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: color 150ms ease, background 150ms ease, border-color 150ms ease;
}
.move-button[data-validity="stale"] {
  color: #c9a99f;
  border-left-color: rgba(188, 75, 45, .7);
}
.validity-badge {
  padding: .18rem .3rem;
  border: 1px solid currentColor;
  color: #e7a28e;
  font-family: var(--mono);
  font-size: .46rem;
  letter-spacing: .08em;
}
.move-button:hover { color: #fff; background: #201f1c; }
.move-button[aria-current="page"] {
  color: #fff;
  background: #292722;
  border-color: var(--yellow);
}
.move-number {
  font-family: var(--mono);
  font-size: .65rem;
  color: #77736a;
}
.move-label { font-size: .74rem; letter-spacing: .025em; }
.rail-foot {
  margin-top: auto;
  padding: 1rem .55rem 0;
  border-top: 1px solid #34312c;
  color: #8c877d;
  font-family: var(--mono);
  font-size: .58rem;
  line-height: 1.55;
  text-transform: uppercase;
}
.workspace-shell {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  background:
    linear-gradient(rgba(17, 16, 14, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17, 16, 14, .025) 1px, transparent 1px),
    var(--paper);
  background-size: 28px 28px;
}
.strategic-spine {
  position: sticky;
  top: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: auto repeat(3, minmax(0, 1fr)) auto;
  align-items: stretch;
  min-height: 5.15rem;
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--paper-bright) 94%, transparent);
  backdrop-filter: blur(12px);
}
.spine-heading {
  display: grid;
  align-content: center;
  padding: 0 1.1rem;
  border-right: 1px solid var(--line);
  font-family: var(--mono);
  font-size: .58rem;
  line-height: 1.45;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.spine-item {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: .35rem;
  padding: .8rem 1rem;
  border-right: 1px solid var(--line);
}
.eyebrow, .spine-item dt {
  margin: 0;
  color: var(--muted);
  font-family: var(--mono);
  font-size: .58rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.spine-item dd {
  overflow: hidden;
  margin: 0;
  color: var(--ink-soft);
  font-family: var(--serif);
  font-size: .85rem;
  line-height: 1.18;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ask-council {
  margin: 1rem;
  padding: .65rem .85rem;
  border: 1px solid var(--ink);
  color: var(--paper-bright);
  background: var(--ink);
  font-family: var(--mono);
  font-size: .62rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}
.ask-council:hover { color: var(--ink); background: var(--yellow); }
.workspace {
  width: min(100%, 68rem);
  margin: 0 auto;
  padding: clamp(2rem, 5vw, 5.5rem) clamp(1.25rem, 5vw, 5rem) 5rem;
}
.workspace-kicker {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1.2rem;
}
.move-chip {
  padding: .35rem .5rem;
  border: 1px solid var(--ink);
  font-family: var(--mono);
  font-size: .58rem;
}
.workspace h1 {
  max-width: 13ch;
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(3rem, 6vw, 6.8rem);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.055em;
}
.workspace-lede {
  max-width: 43rem;
  margin: 1.5rem 0 3.5rem;
  color: var(--ink-soft);
  font-family: var(--serif);
  font-size: clamp(1rem, 1.5vw, 1.3rem);
  line-height: 1.45;
}
.validity-notice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  margin: -1.2rem 0 2.5rem;
  padding: .85rem 1rem;
  border: 1px solid var(--rust);
  background: color-mix(in srgb, var(--rust) 8%, var(--paper-bright));
}
.validity-notice[data-validity="unknown"] {
  border-color: var(--muted);
  background: color-mix(in srgb, var(--muted) 7%, var(--paper-bright));
}
.validity-flag {
  padding-top: .12rem;
  color: var(--rust);
  font-family: var(--mono);
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .08em;
  white-space: nowrap;
}
.validity-notice[data-validity="unknown"] .validity-flag { color: var(--muted); }
.validity-notice p {
  margin: 0;
  color: var(--ink-soft);
  font-size: .78rem;
  line-height: 1.45;
}
.state-board {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(13rem, .8fr);
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}
.state-primary { padding: 1.4rem 1.5rem 1.7rem 0; }
.state-primary h2 {
  margin: .8rem 0 .5rem;
  font-family: var(--serif);
  font-size: clamp(1.7rem, 3vw, 2.7rem);
  font-weight: 400;
}
.state-primary p {
  max-width: 36rem;
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}
.state-meta {
  display: grid;
  align-content: center;
  gap: 1.2rem;
  padding: 1.4rem;
  border-left: 1px solid var(--ink);
}
.brief-region {
  border-top: 1px solid var(--ink);
}
.brief-loader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  border-bottom: 1px solid var(--line);
  background: var(--paper-bright);
}
.brief-loader p {
  margin: .35rem 0 0;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.45;
}
.brief-loader button,
.brief-mode button,
.quick-options button {
  min-height: 2.75rem;
  border: 1px solid var(--line);
  color: var(--ink);
  background: transparent;
  font-family: var(--mono);
  font-size: .62rem;
  letter-spacing: .06em;
  cursor: pointer;
}
.brief-loader button { flex: none; padding: .6rem .8rem; }
.brief-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: end;
  padding: 2.2rem 0 2.4rem;
}
.input-chip {
  display: inline-block;
  margin-bottom: 1rem;
  padding: .3rem .55rem;
  border: 1px solid color-mix(in srgb, var(--blue) 45%, transparent);
  color: var(--blue);
  font: .6rem/1 var(--mono);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.brief-intro h2 {
  max-width: 17ch;
  margin: 0;
  font: 400 clamp(2rem, 4vw, 3.8rem)/1.02 var(--serif);
  letter-spacing: -.035em;
}
.brief-intro p {
  max-width: 48ch;
  margin: 1rem 0 0;
  color: var(--muted);
  font: 1rem/1.55 var(--serif);
}
.brief-mode {
  display: inline-flex;
  border: 1px solid var(--line);
}
.brief-mode button {
  min-width: 7.5rem;
  padding: .65rem 1rem;
  border: 0;
}
.brief-mode button + button { border-left: 1px solid var(--line); }
.brief-mode button[aria-pressed="true"] {
  color: var(--paper-bright);
  background: var(--ink);
}
.brief-working-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}
.brief-working-head h3 {
  display: flex;
  align-items: center;
  gap: .7rem;
  margin: 0;
  font: 400 1.45rem/1.2 var(--serif);
}
.brief-working-head h3 span {
  width: .4rem;
  height: .4rem;
  border-radius: 50%;
  background: var(--blue);
}
.brief-working-head p {
  color: var(--muted);
  font: .62rem/1.4 var(--mono);
}
.brief-field { display: block; margin: 1rem 0 2.5rem; }
.brief-region textarea {
  width: 100%;
  padding: 1rem 1.1rem;
  border: 1px solid var(--line);
  border-radius: 0;
  color: var(--ink);
  background: #e8e2d5;
  font: .9rem/1.65 var(--sans);
  resize: vertical;
}
.quick-brief {
  padding: 1.5rem;
  border: 1px solid var(--line);
  background: var(--paper-bright);
}
.quick-brief > h3 {
  margin: .6rem 0 1.8rem;
  font: 400 1.25rem/1.35 var(--serif);
}
.quick-groups { display: grid; gap: 1.5rem; }
.quick-groups fieldset { padding: 0; border: 0; }
.quick-groups legend,
.brief-notes label > span {
  display: block;
  margin-bottom: .65rem;
  font: 600 .62rem/1.4 var(--mono);
  letter-spacing: .09em;
  text-transform: uppercase;
}
.quick-options { display: flex; flex-wrap: wrap; gap: .5rem; }
.quick-options button { padding: .55rem .75rem; }
.quick-options button[aria-pressed="true"] {
  border-color: var(--blue);
  color: var(--blue);
  background: color-mix(in srgb, var(--blue) 9%, transparent);
}
.brief-notes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: 1.6rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line);
}
.brief-exclusions > span,
.brief-exclusions small { color: var(--rust); }
.brief-exclusions textarea { border-color: color-mix(in srgb, var(--rust) 42%, transparent); }
.brief-exclusions small {
  display: block;
  margin-top: .5rem;
  font: .55rem/1.4 var(--mono);
  letter-spacing: .06em;
}
.brief-content {
  margin-top: 2.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--ink);
}
.brief-content-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 1.5rem;
}
.brief-content-head h3 {
  margin: .55rem 0 0;
  font: 400 clamp(1.65rem, 3vw, 2.6rem)/1.05 var(--serif);
}
.brief-content-head > p {
  max-width: 25rem;
  margin: 0;
  color: var(--muted);
  font: .65rem/1.5 var(--mono);
}
.brief-fact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.brief-fact {
  min-width: 0;
  padding: 1rem 1.1rem 1.15rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--paper-bright) 60%, transparent);
}
.brief-fact h4,
.brief-contract-row > span,
.density-notes > span {
  margin: 0 0 .6rem;
  color: var(--muted);
  font: 600 .58rem/1.4 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.brief-fact p,
.brief-fact ul,
.brief-contract-row p,
.brief-contract-row ul {
  margin: 0;
  padding: 0;
  color: var(--ink-soft);
  font: .88rem/1.55 var(--serif);
}
.brief-fact ul,
.brief-contract-row ul,
.density-notes ul { padding-left: 1.1rem; }
.brief-content-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(15rem, .7fr);
  gap: 1rem;
  margin-top: 1rem;
}
.brief-contract,
.brief-density {
  padding: 1.2rem;
  border: 1px solid var(--line);
  background: var(--paper-bright);
}
.brief-section-label {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: .8rem;
  border-bottom: 1px solid var(--line);
  font: .58rem/1.4 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.brief-section-label strong {
  color: var(--blue);
  font-weight: 600;
}
.brief-contract > h4,
.brief-density > h4 {
  margin: 1rem 0 1.2rem;
  font: 400 1.2rem/1.25 var(--serif);
}
.brief-contract-row {
  display: grid;
  grid-template-columns: minmax(8rem, .72fr) minmax(0, 1.28fr);
  gap: 1rem;
  padding: .8rem 0;
  border-top: 1px solid var(--line);
}
.brief-contract-row > span { margin: .15rem 0 0; }
.density-score {
  display: flex;
  align-items: baseline;
  gap: .75rem;
  padding: 1rem 0;
  border-top: 1px solid var(--line);
}
.density-score strong {
  font: 400 2.4rem/1 var(--serif);
}
.density-score span {
  color: var(--blue);
  font: 600 .65rem/1 var(--mono);
  letter-spacing: .08em;
}
.density-notes {
  padding: .8rem 0 0;
  border-top: 1px solid var(--line);
}
.density-notes ul {
  margin: .4rem 0 .8rem;
  color: var(--ink-soft);
  font: .78rem/1.5 var(--sans);
}
.density-notes[data-tone="warning"] > span { color: var(--rust); }
.brief-content-missing {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 0;
  border-top: 1px solid var(--line);
}
.brief-content-missing strong {
  font: 400 .9rem/1.4 var(--serif);
}
.brief-content-missing span {
  color: var(--muted);
  font: .58rem/1.4 var(--mono);
  letter-spacing: .06em;
}
.meta-row { display: grid; gap: .25rem; }
.meta-row strong {
  font-family: var(--mono);
  font-size: .7rem;
  font-weight: 500;
}
.narrative-slots { margin-top: 3rem; }
.narrative-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
}
.narrative-pager {
  display: flex;
  justify-content: center;
  gap: .4rem;
  margin-bottom: 1rem;
}
.narrative-pager button, .narrative-case button, .narrative-select {
  padding: .5rem .65rem;
  border: 1px solid var(--ink);
  color: var(--ink);
  background: transparent;
  font: .58rem/1 var(--mono);
  text-transform: uppercase;
  cursor: pointer;
}
.slot-card {
  min-height: 10.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1rem;
  border: 1px solid var(--line);
  background: var(--paper-bright);
}
.narrative-open {
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.narrative-case {
  padding-top: .8rem;
  border-top: 1px solid var(--line);
}
.narrative-case p { margin: 0 0 .7rem; color: var(--muted); font-size: .72rem; line-height: 1.4; }
.narrative-select { margin-top: .8rem; color: var(--paper-bright); background: var(--ink); }
.slot-card:nth-child(2) { transform: translateY(1rem); }
.slot-card:nth-child(3) { transform: translateY(2rem); }
.slot-role {
  font-family: var(--mono);
  font-size: .6rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.slot-value {
  color: var(--muted);
  font-family: var(--serif);
  font-size: 1.05rem;
  line-height: 1.3;
}
.concept-empty {
  margin-top: 3rem;
  padding: 1.2rem 0;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--line);
}
.concept-empty p {
  margin: .8rem 0 0;
  color: var(--muted);
  font: 1rem/1.5 var(--serif);
}
.concept-region { margin-top: 3.25rem; }
.concept-funnel {
  display: grid;
  gap: .55rem;
  margin-bottom: 2rem;
  padding: 1.15rem 1.25rem;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--paper) 88%, var(--ink));
}
.concept-funnel p {
  margin: 0;
  font: 500 clamp(1.05rem, 2vw, 1.45rem)/1.25 var(--mono);
  letter-spacing: -.035em;
}
.concept-region-head,
.kill-board-disclosure-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  padding-top: 1rem;
  border-top: 1px solid var(--ink);
}
.concept-region-head h2,
.kill-board-disclosure-head h2 {
  margin: .65rem 0 0;
  font: 400 clamp(1.65rem, 3vw, 2.6rem)/1.05 var(--serif);
}
.concept-region-head > p {
  max-width: 25rem;
  margin: 0;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.5;
  text-align: right;
}
.concept-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}
.concept-card {
  min-height: 15rem;
  display: flex;
  flex-direction: column;
  padding: 1.2rem;
  border: 1px solid var(--line);
  background: var(--paper-bright);
}
.concept-card[data-selected="true"] {
  border-color: var(--blue);
  box-shadow: inset 0 4px 0 var(--blue);
}
.concept-card[data-blocked="true"] {
  background: color-mix(in srgb, var(--rust) 5%, var(--paper-bright));
}
.concept-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.concept-card-meta span {
  padding: .25rem .4rem;
  border: 1px solid var(--line);
  color: var(--muted);
  font-family: var(--mono);
  font-size: .52rem;
  letter-spacing: .07em;
}
.concept-card-meta .concept-blocked { color: var(--rust); border-color: var(--rust); }
.concept-card-meta .concept-selected { color: var(--blue); border-color: var(--blue); }
.concept-card h3 {
  margin: 1.6rem 0 .8rem;
  font: 400 clamp(1.6rem, 2.7vw, 2.5rem)/1 var(--serif);
}
.concept-block-reason {
  margin: 0 0 1rem;
  color: var(--rust);
  font-size: .75rem;
  line-height: 1.45;
}
.concept-promote,
.kill-board-disclosure-head button {
  align-self: flex-start;
  margin-top: auto;
  padding: .65rem .8rem;
  border: 1px solid var(--ink);
  color: var(--ink);
  background: transparent;
  font-family: var(--mono);
  font-size: .58rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}
.concept-promote:hover,
.kill-board-disclosure-head button:hover {
  color: var(--paper-bright);
  background: var(--blue);
  border-color: var(--blue);
}
.kill-board-disclosure { margin-top: 3.25rem; }
.kill-board-disclosure-head button { margin-top: 0; flex: none; }
.kill-board { margin-top: 1rem; }
.kill-board-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: .8rem;
}
.kill-board-head h2 { margin: .45rem 0 0; font: 400 1.7rem/1 var(--serif); }
.kill-board-total { font: 600 .6rem/1 var(--mono); text-transform: uppercase; }
.kill-board-disclosure .kill-board-head { display: none; }
.kill-board-rows { border-top: 1px solid var(--line); }
.kill-board-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, .8fr);
  gap: 1.5rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
}
.kill-board-row h3 { margin: 0; font: 400 1.15rem/1.3 var(--serif); }
.kill-board-row dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: .8rem; margin: 0; }
.kill-board-row dl div { display: grid; gap: .25rem; }
.kill-board-row dt {
  color: var(--muted);
  font-family: var(--mono);
  font-size: .5rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.kill-board-row dd { margin: 0; font: .62rem/1.35 var(--mono); }
.kill-board-reason {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--rust);
  font: .68rem/1.45 var(--sans);
}
.kill-board-row [data-revive-concept] {
  justify-self: start;
  padding: .55rem .7rem;
  border: 1px solid var(--ink);
  color: var(--ink);
  background: transparent;
  font: 600 .55rem/1 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
}
.big-idea-region { margin-top: 3rem; }
.big-idea-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--ink);
}
.big-idea-head h2 {
  margin: .6rem 0 0;
  font: 400 clamp(2rem, 4vw, 3.2rem)/1 var(--serif);
}
.big-idea-head > p {
  max-width: 30rem;
  margin: 0;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.5;
  text-align: right;
}
.big-idea-head code { font-family: var(--mono); font-size: .62rem; }
.big-idea-population { margin-top: 1rem; }
.big-idea-population > h3 {
  margin: 0 0 .9rem;
  font: 400 1.25rem/1.2 var(--serif);
}
.big-idea-population-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
}
.big-idea-population-grid > article {
  min-width: 0;
  padding: .8rem;
  background: var(--paper-bright);
}
.big-idea-population-grid h4,
.concept-argument-grid h4,
.big-idea-restored-field h4,
.selection-receipt h4 {
  margin: 0 0 .65rem;
  color: var(--muted);
  font: 600 .54rem/1.3 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.big-idea-concepts {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}
.big-idea-concept {
  min-width: 0;
  padding: 1.25rem;
  border: 1px solid var(--ink);
  background: var(--paper-bright);
}
.big-idea-concept-head {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(15rem, .6fr);
  gap: 1.5rem;
  align-items: end;
}
.big-idea-concept-head > div > span {
  color: var(--muted);
  font: .55rem/1 var(--mono);
  letter-spacing: .07em;
}
.big-idea-concept-head h3 {
  margin: .7rem 0 0;
  font: 400 clamp(1.8rem, 3.5vw, 3.1rem)/1 var(--serif);
}
.big-idea-concept-head dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
  margin: 0;
}
/* Phase 5 · real kill_lifecycle values are long unbreakable tokens
 * (KILL_CURRENT_TERMINAL). Without wrapping they burst the ~75px metadata track
 * and cascade into horizontal document overflow at the 58rem breakpoint. */
.big-idea-concept-head dl > div,
.big-idea-concept-head dl dt,
.big-idea-concept-head dl dd {
  min-width: 0;
  overflow-wrap: anywhere;
}
.selection-receipt {
  margin-top: 1rem;
  padding: .8rem;
  border: 1px dashed var(--line);
}
.concept-argument-grid,
.big-idea-restored-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 1px;
  background: var(--line);
}
.concept-argument-grid > article,
.big-idea-restored-field {
  min-width: 0;
  padding: .85rem;
  background: var(--paper);
  overflow-wrap: anywhere;
}
.big-idea-restored-field > header {
  display: flex;
  justify-content: space-between;
  gap: .6rem;
}
.big-idea-restored-field > header span {
  flex: none;
  color: var(--muted);
  font: 600 .5rem/1.2 var(--mono);
  letter-spacing: .06em;
}
.big-idea-restored-field[data-projection-kind="derived"] {
  background: color-mix(in srgb, var(--yellow) 10%, var(--paper));
}
.big-idea-restored-field[data-projection-kind="derived"] > header span { color: var(--rust); }
.big-idea-restored-field[data-projection-kind="honest-missing"] { border: 1px dashed var(--line); }
.red-team-empty,
.red-team-region,
.expansion-region {
  margin-top: 3rem;
}
.red-team-empty {
  padding: 1.2rem;
  border: 1px solid var(--line);
  background: var(--paper-bright);
}
.red-team-empty p { margin: .7rem 0 0; color: var(--muted); }
.region-heading {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: end;
  margin-bottom: 1.2rem;
}
.region-heading h2 {
  margin: .55rem 0 0;
  font: 400 clamp(1.7rem, 3vw, 2.7rem)/1 var(--serif);
}
.region-heading > p {
  max-width: 24rem;
  margin: 0;
  color: var(--muted);
  font-size: .75rem;
  line-height: 1.5;
  text-align: right;
}
.seed-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.seed-card,
.surface-card {
  padding: 1rem;
  border: 1px solid var(--ink);
  background: var(--paper-bright);
}
.seed-card > span {
  font: 600 .55rem/1 var(--mono);
  letter-spacing: .08em;
}
.seed-card h3,
.surface-card h3 {
  margin: 1.5rem 0;
  font: 400 1.2rem/1.2 var(--serif);
}
.seed-card button,
.surface-card button,
.region-heading button,
.expansion-tabs button,
.channel-mix button,
.run-mix {
  padding: .65rem .8rem;
  border: 1px solid var(--ink);
  color: var(--ink);
  background: transparent;
  font: 600 .58rem/1 var(--mono);
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: pointer;
}
.seed-card small { color: var(--muted); font: .58rem/1.4 var(--mono); }
.expansion-tabs {
  display: flex;
  gap: .45rem;
  margin-bottom: 2.5rem;
  border-bottom: 1px solid var(--ink);
}
.expansion-tabs button { border-bottom: 0; }
.expansion-tabs button[aria-selected="true"] {
  color: var(--paper-bright);
  background: var(--ink);
}
.channel-mix {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  padding: 1.2rem 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.channel-mix button[aria-pressed="true"] { background: var(--yellow); }
.run-mix { margin: 1rem 0 2.5rem; color: var(--paper-bright); background: var(--ink); }
.surface-stack { display: grid; gap: .75rem; }
.surface-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 1rem;
  align-items: center;
}
.surface-card h3 { margin: .35rem 0 0; }
.surface-card ul {
  grid-column: 1 / -1;
  margin: 0;
  padding: 1rem 1rem 1rem 2rem;
  border-top: 1px solid var(--line);
}
.ladder-status {
  margin: 1rem 0 0;
  color: var(--muted);
  font: .6rem/1.4 var(--mono);
  text-transform: uppercase;
}
.expansion-projection-panel,
.expansion-empty {
  min-width: 0;
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid var(--line);
  background: var(--paper-bright);
}
.expansion-panel-heading,
.expansion-projection-summary,
.expansion-surface-card > header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
}
.expansion-panel-heading > div { display: grid; gap: .4rem; }
.expansion-panel-heading small,
.expansion-projection-summary,
.surface-acceptance {
  color: var(--muted);
  font: .56rem/1.45 var(--mono);
  letter-spacing: .04em;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}
.recommended-surface-list {
  display: grid;
  gap: 1rem;
  margin: 1rem 0 0;
  padding-left: 1.35rem;
}
.recommended-surface-list > li { min-width: 0; padding-left: .35rem; }
.recommended-surface-list > li > strong {
  display: block;
  margin-bottom: .65rem;
  font: 400 1.05rem/1.2 var(--serif);
}
.expansion-projection-summary {
  flex-wrap: wrap;
  padding: .75rem 0;
  border-block: 1px solid var(--line);
}
.expansion-surface-card {
  display: block;
  min-width: 0;
  padding: clamp(1rem, 2vw, 1.5rem);
}
.expansion-surface-card h3 { max-width: 35rem; }
.surface-acceptance { max-width: 10rem; text-align: right; }
.expansion-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 1.25rem 0 0;
  background: var(--line);
}
.expansion-field-grid > div {
  min-width: 0;
  padding: .8rem;
  background: var(--paper);
}
.expansion-field-grid dt,
.expansion-field-grid dd,
.expansion-ladder dt,
.expansion-ladder dd {
  min-width: 0;
  margin: 0;
}
.expansion-field-grid dt,
.expansion-ladder dt {
  color: var(--muted);
  font: 600 .54rem/1.35 var(--mono);
  letter-spacing: .04em;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}
.expansion-field-grid dd,
.expansion-ladder dd {
  margin-top: .4rem;
  overflow-wrap: anywhere;
  font: .74rem/1.5 var(--sans);
}
.expansion-ladder {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid var(--ink);
  background: var(--yellow);
}
.expansion-ladder > dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0 0;
}
.expansion-receipt-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin-top: .75rem;
}
.expansion-receipt-grid article {
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--line);
}
.expansion-empty strong { font: 400 1.15rem/1.2 var(--serif); }
.expansion-empty p { margin: .5rem 0 0; color: var(--muted); font: .6rem/1.4 var(--mono); }
.assembly-region { min-width: 0; margin-top: 3rem; }
.assembly-readiness {
  display: grid;
  grid-template-columns: minmax(14rem, .7fr) minmax(0, 1.3fr);
  gap: 1px;
  margin: 1rem 0;
  border: 1px solid var(--ink);
  background: var(--ink);
}
.assembly-readiness > div {
  min-width: 0;
  padding: 1rem;
  background: var(--yellow);
}
.assembly-readiness > div:first-child h3 {
  margin: .7rem 0;
  font: 400 clamp(1.5rem, 3vw, 2.5rem)/1 var(--serif);
}
.assembly-readiness > div:first-child p {
  margin: 0 0 1rem;
  font-size: .75rem;
  line-height: 1.5;
}
.assembly-readiness > div:first-child strong {
  font: 600 .58rem/1.4 var(--mono);
  letter-spacing: .05em;
  text-transform: uppercase;
}
.assembly-prerequisites {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  padding: 0 !important;
  background: var(--ink) !important;
}
.assembly-field {
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--line);
  background: var(--paper-bright);
}
.assembly-field > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .8rem;
}
.assembly-field > header h3 {
  margin: 0;
  font: 600 .58rem/1.35 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.assembly-field > header span {
  color: var(--muted);
  font: .52rem/1.35 var(--mono);
  text-transform: uppercase;
}
.assembly-contract-grid,
.assembly-evidence-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 1rem 0;
  background: var(--line);
}
.assembly-slide-grid {
  display: grid;
  gap: 1rem;
  margin: 1rem 0;
}
.assembly-slide {
  min-width: 0;
  padding: clamp(1rem, 2vw, 1.5rem);
  border: 1px solid var(--ink);
  background: var(--paper-bright);
}
.assembly-slide > header {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) minmax(18rem, 1.4fr);
  gap: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--line);
}
.assembly-slide > header h3 {
  margin: .65rem 0 0;
  font: 400 1.4rem/1.15 var(--serif);
}
.assembly-slide > header dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem;
  margin: 0;
}
.assembly-slide > header dt,
.assembly-slide > header dd {
  margin: 0;
  overflow-wrap: anywhere;
}
.assembly-slide > header dt {
  color: var(--muted);
  font: 600 .52rem/1.3 var(--mono);
  text-transform: uppercase;
}
.assembly-slide > header dd { margin-top: .25rem; font-size: .7rem; }
.assembly-slide-spine {
  margin-top: 1rem;
  padding: 1rem;
  border-left: 4px solid var(--blue);
  background: var(--paper);
}
.assembly-slot-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin-top: 1rem;
}
.assembly-slot,
.assembly-annex {
  min-width: 0;
  padding: .8rem;
  border: 1px solid var(--line);
}
.assembly-slot > .eyebrow,
.assembly-annex > .eyebrow { display: block; margin-bottom: .65rem; }
.assembly-annex { margin-top: .75rem; }
.assembly-honest-missing small {
  color: var(--muted);
  font: .52rem/1.4 var(--mono);
  overflow-wrap: anywhere;
}
.assembly-export-affordance {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid var(--ink);
  background: var(--paper-bright);
}
.assembly-export-affordance strong {
  display: block;
  margin-top: .5rem;
  font: 400 1.4rem/1.1 var(--serif);
}
.assembly-export-affordance p {
  max-width: 38rem;
  margin: .5rem 0 0;
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.45;
}
.assembly-export-affordance button {
  flex: 0 0 auto;
  padding: .75rem .9rem;
  border: 1px solid var(--ink);
  color: var(--paper-bright);
  background: var(--ink);
  font: 600 .57rem/1 var(--mono);
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: pointer;
}
.assembly-export-affordance button:disabled { opacity: .35; cursor: not-allowed; }
.assembly-empty {
  padding: 1rem;
  border: 1px dashed var(--line);
  color: var(--muted);
  font: .6rem/1.5 var(--mono);
  text-transform: uppercase;
}
.assembly-empty strong { display: block; color: var(--ink); font: 400 1.1rem/1.2 var(--serif); }
.assembly-empty span { display: block; margin-top: .4rem; }
.truth-detail { margin-top: 3rem; }
.truth-funnel {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .9rem 1rem;
  border: 1px solid var(--ink);
  background: var(--yellow);
  font: .68rem/1.2 var(--mono);
  letter-spacing: .04em;
  text-transform: uppercase;
}
.truth-funnel strong { font-size: 1rem; }
.truth-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: 1rem 0;
}
.truth-toolbar button, .truth-card button {
  padding: .5rem .65rem;
  border: 1px solid var(--ink);
  color: var(--ink);
  background: transparent;
  font: .58rem/1 var(--mono);
  text-transform: uppercase;
  cursor: pointer;
}
.truth-toolbar button[aria-pressed="true"] { color: var(--paper-bright); background: var(--ink); }
.truth-baseline {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  padding: .75rem 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-size: .7rem;
}
.truth-baseline span { color: var(--muted); font-family: var(--mono); text-transform: uppercase; }
.truth-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
  margin-top: 1rem;
}
.truth-card {
  padding: 1rem;
  border: 1px solid var(--line);
  background: var(--paper-bright);
}
.truth-card[data-selected="true"] { border: 2px solid var(--blue); }
.truth-family { color: var(--blue); font: .58rem/1 var(--mono); text-transform: uppercase; }
.truth-card h3 { margin: 1rem 0 .6rem; font: 400 1.2rem/1.2 var(--serif); }
.truth-card p { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.45; }
.truth-card footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: .75rem;
  border-top: 1px solid var(--line);
  font: .57rem/1 var(--mono);
}
.truth-detail-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--ink);
}
.truth-detail-head h2 {
  margin: .6rem 0 0;
  font: 400 clamp(1.8rem, 4vw, 3.2rem)/1 var(--serif);
}
.truth-detail-head > p {
  max-width: 28rem;
  margin: 0;
  color: var(--muted);
  font: .65rem/1.5 var(--mono);
  text-align: right;
}
.truth-position {
  color: var(--blue);
  font: 600 .58rem/1 var(--mono);
  letter-spacing: .07em;
  text-transform: uppercase;
}
.truth-evidence-grid,
.narrative-contract-grid,
.deep-work-contract-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 1rem;
  background: var(--line);
}
.truth-evidence-grid > section,
.narrative-contract-grid > section,
.deep-work-contract-grid > section {
  min-width: 0;
  padding: 1rem;
  background: var(--paper-bright);
}
.truth-evidence-grid h3,
.narrative-contract-grid h3,
.deep-work-contract-grid h3,
.narrative-room h3,
.narrative-scores h3,
.projection-panel h3,
.projection-panel h4,
.truth-selection-state h3 {
  margin: 0 0 .8rem;
  font: 600 .58rem/1.35 var(--mono);
  letter-spacing: .07em;
  text-transform: uppercase;
}
.truth-selection-state {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--paper-bright) 72%, transparent);
}
.truth-selection-state > p {
  margin: 0 0 1rem;
  color: var(--muted);
  font: .72rem/1.5 var(--sans);
}
.comparative-deck { margin-top: 3rem; }
.deck-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--ink);
}
.deck-heading h2 {
  margin: 0;
  font: 400 clamp(1.7rem, 3vw, 2.7rem)/1 var(--serif);
}
.deck-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin-top: .75rem;
}
.deck-card {
  min-height: 13rem;
  padding: 1rem;
  border: 1px solid var(--ink);
  background: var(--paper-bright);
}
.deck-card > span {
  font: 600 .55rem/1 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.deck-card h3 {
  margin: 2.5rem 0 .65rem;
  font: 400 1.35rem/1.15 var(--serif);
}
.deck-card p {
  margin: 0;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.5;
}
.blocked-surface {
  margin-top: 2rem;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  border: 1px solid var(--ink);
  background:
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 12px,
      rgba(31, 30, 27, .035) 12px,
      rgba(31, 30, 27, .035) 13px
    ),
    var(--paper-bright);
}
.blocked-surface h2 {
  max-width: 38rem;
  margin: .8rem 0;
  font: 400 clamp(1.8rem, 4vw, 3.2rem)/1.02 var(--serif);
}
.blocked-surface > p {
  max-width: 42rem;
  color: var(--muted);
  line-height: 1.55;
}
.blocked-surface .blocked-invariant {
  padding-left: 1rem;
  border-left: 4px solid var(--rust);
  color: var(--ink);
}
.blocked-surface dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 2rem 0 0;
  background: var(--line);
}
.blocked-surface dl > div { padding: 1rem; background: var(--paper); }
.blocked-surface dt,
.blocked-surface dd {
  margin: 0;
  font: .6rem/1.4 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.blocked-surface dd { margin-top: .45rem; color: var(--rust); }
.narrative-projection {
  display: grid;
  gap: 0;
  margin: 1rem 0;
  border-top: 1px solid var(--line);
}
.narrative-projection > div,
.deep-work-facts > div {
  display: grid;
  grid-template-columns: minmax(6rem, .7fr) minmax(0, 1.3fr);
  gap: .75rem;
  padding: .6rem 0;
  border-bottom: 1px solid var(--line);
}
.narrative-projection dt,
.narrative-projection dd,
.deep-work-facts dt,
.deep-work-facts dd {
  margin: 0;
  font-size: .68rem;
  line-height: 1.35;
}
.narrative-projection dt,
.deep-work-facts dt {
  color: var(--muted);
  font-family: var(--mono);
  font-size: .55rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.narrative-projection [data-projection-state]:not([data-projection-state="present"]) dd,
.deep-work-facts [data-projection-state]:not([data-projection-state="present"]) dd {
  color: var(--muted);
  font-family: var(--mono);
  font-size: .56rem;
}
.projection-tree {
  display: grid;
  min-width: 0;
  gap: .55rem;
  margin: 0;
}
.projection-tree > div {
  min-width: 0;
  padding-top: .55rem;
  border-top: 1px solid var(--line);
}
.projection-tree > div:first-child { padding-top: 0; border-top: 0; }
.projection-tree dt,
.projection-tree dd {
  min-width: 0;
  margin: 0;
}
.projection-tree dt {
  color: var(--muted);
  font: 600 .55rem/1.35 var(--mono);
  letter-spacing: .05em;
  text-transform: uppercase;
}
.projection-tree dd {
  margin-top: .3rem;
  overflow-wrap: anywhere;
  font: .76rem/1.5 var(--sans);
}
.projection-list {
  display: grid;
  gap: .4rem;
  margin: 0;
  padding-left: 1.25rem;
}
.projection-list > li {
  min-width: 0;
  overflow-wrap: anywhere;
}
.projected-field {
  display: grid;
  min-width: 0;
  gap: .3rem;
}
.projected-field small,
.field-state {
  color: var(--muted);
  font: .55rem/1.4 var(--mono);
  letter-spacing: .04em;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}
.projected-field[data-projection-state="malformed"] .field-state,
.projected-field[data-projection-state="error"] .field-state {
  color: var(--rust);
}
.narrative-room,
.narrative-scores,
.projection-panel {
  min-width: 0;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid var(--line);
}
.narrative-room,
.narrative-scores { background: color-mix(in srgb, var(--paper) 45%, transparent); }
.honest-missing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 1rem;
  background: var(--line);
}
.honest-missing-grid article {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: .65rem;
  padding: .8rem;
  background: var(--paper);
}
.honest-missing-grid strong {
  font: 400 .82rem/1.35 var(--serif);
  overflow-wrap: anywhere;
}
.honest-missing-grid span {
  color: var(--rust);
  font: 600 .55rem/1 var(--mono);
  letter-spacing: .07em;
}
.slot-card[data-selected="true"] { box-shadow: 0 0 0 3px var(--blue); }
.deep-work-region { margin-top: 3rem; }
.deep-work-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--ink);
}
.deep-work-head h2 {
  margin: .6rem 0 0;
  font: 400 clamp(2rem, 4vw, 3.2rem)/1 var(--serif);
}
.deep-work-head > p {
  max-width: 26rem;
  margin: 0;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.5;
  text-align: right;
}
.deep-work-head code { font-family: var(--mono); font-size: .62rem; }
.deep-work-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 1px;
  background: var(--ink);
}
.deep-work-summary > div { min-height: 11rem; padding: 1rem; background: var(--paper-bright); }
.deep-work-summary span,
.recommended-pairing > span,
.buyer-read > span,
.red-team-read > span,
.council-seat > span {
  font: .56rem/1 var(--mono);
  letter-spacing: .07em;
  text-transform: uppercase;
}
.deep-work-summary strong { display: block; margin-top: 2rem; font: 400 1.25rem/1.2 var(--serif); }
.deep-work-summary p,
.recommended-pairing p,
.buyer-read p,
.red-team-read p {
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.5;
}
.recommended-pairing {
  margin: 1.5rem 0;
  padding: 1.25rem;
  border: 1px solid var(--blue);
  background: var(--paper-bright);
}
.recommended-pairing h3 { margin: .8rem 0 .35rem; font: 400 1.5rem/1.1 var(--serif); }
.deep-work-concepts { display: grid; gap: 1rem; }
.deep-work-concept { padding: 1.25rem; border: 1px solid var(--ink); background: var(--paper-bright); }
.deep-work-concept > header span { color: var(--muted); font: .55rem/1 var(--mono); text-transform: uppercase; }
.deep-work-concept > header h3 { margin: .7rem 0 1.5rem; font: 400 1.8rem/1.05 var(--serif); }
.deep-work-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.5rem; }
.council-seat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  margin-top: 1.5rem;
}
.council-seat { padding: .9rem; border: 1px solid var(--line); }
.council-seat strong { display: block; margin: .65rem 0; font: 400 1rem/1.2 var(--serif); }
.council-seat p { margin: .35rem 0 0; color: var(--muted); font-size: .68rem; line-height: 1.4; }
.council-seat .demanded-change { color: var(--rust); }
.buyer-read,
.red-team-read {
  display: grid;
  grid-template-columns: 8rem 8rem minmax(0, 1fr);
  gap: 1rem;
  align-items: baseline;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}
.buyer-read p,
.red-team-read p { margin: 0; }
.council-take-missing,
.deep-work-missing {
  margin: 1rem 0 0;
  padding: .75rem;
  border: 1px dashed var(--line);
  color: var(--muted);
  font: .58rem/1.45 var(--mono);
  text-transform: uppercase;
}
.action-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 3.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--ink);
}
.action-footer > div { display: flex; gap: .55rem; }
.action-footer button,
.chat-actions button {
  padding: .7rem .9rem;
  border: 1px solid var(--ink);
  color: var(--ink);
  background: transparent;
  font: 600 .58rem/1 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
}
.action-footer [data-footer-primary],
.chat-actions button {
  color: var(--paper-bright);
  background: var(--ink);
}
.action-footer button:disabled { opacity: .35; cursor: not-allowed; }
.council-read {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: auto;
  padding: 1.3rem 1rem 2rem;
  background: #e7e1d3;
  border-left: 1px solid var(--line);
}
.read-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.3rem;
}
.read-head h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: 1.25rem;
  font-weight: 400;
}
.read-count {
  display: grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-family: var(--mono);
  font-size: .6rem;
}
.read-stack { display: grid; gap: .75rem; }
.read-card {
  padding: .9rem;
  border: 1px solid var(--ink);
  background: var(--paper-bright);
  box-shadow: 3px 3px 0 var(--ink);
}
.read-card[data-tone="decision"] { border-top: 6px solid var(--blue); }
.read-card[data-tone="pressure-point"],
.read-card[data-tone="tension"] { border-top: 6px solid var(--rust); }
.read-card[data-tone="diagnostic"],
.read-card[data-tone="evidence-status"] { border-top: 6px solid var(--yellow); }
.read-card[data-tone="room-split"] { border-top: 6px solid var(--blue); }
.read-card[data-tone="decision-status"] { border-top: 6px solid var(--ink-soft); }
.read-card[data-tone="trace"] { border-top: 6px solid var(--green); }
.read-card[data-projection-state]:not([data-projection-state="present"]) {
  border-style: dashed;
  box-shadow: none;
}
.read-type {
  font-family: var(--mono);
  font-size: .57rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.read-card h3 {
  margin: .85rem 0 .45rem;
  font-family: var(--serif);
  font-size: 1.1rem;
  font-weight: 400;
}
.read-card p {
  margin: 0;
  color: var(--muted);
  font-size: .75rem;
  line-height: 1.45;
}
.read-card small {
  display: block;
  margin-top: .8rem;
  padding-top: .55rem;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font: .5rem/1.35 var(--mono);
  overflow-wrap: anywhere;
}
.gate-slots {
  margin-top: 1.8rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--ink);
}
.gate-slots h3 {
  margin: 0 0 .8rem;
  font-family: var(--mono);
  font-size: .58rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.gate-slot {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .65rem 0;
  border-bottom: 1px solid var(--line);
  font-size: .7rem;
}
.gate-slot span:last-child {
  color: var(--muted);
  font-family: var(--mono);
  font-size: .58rem;
  text-transform: uppercase;
}
.council-drawer {
  position: fixed;
  z-index: 50;
  inset: 0 0 0 auto;
  width: min(32rem, 92vw);
  padding: 1.5rem;
  color: var(--paper-bright);
  background: var(--ink);
  box-shadow: -2rem 0 6rem rgba(0, 0, 0, .28);
  transform: translateX(105%);
  transition: transform 220ms ease;
}
.council-drawer[data-open="true"] { transform: translateX(0); }
.council-drawer:focus { outline: 3px solid var(--yellow); outline-offset: -3px; }
.drawer-head { display: flex; justify-content: space-between; align-items: center; }
.drawer-head h2 { margin: 0; font: 400 2rem/1 var(--serif); }
.drawer-close {
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #6f6a60;
  color: inherit;
  background: transparent;
  cursor: pointer;
}
.drawer-copy {
  margin-top: 2.5rem;
  max-width: 25rem;
  color: #bbb5a9;
  font: 1.25rem/1.5 var(--serif);
}
.drawer-read {
  display: grid;
  gap: .45rem;
  margin-top: 1.5rem;
  padding-block: 1rem;
  border-block: 1px solid #4c4942;
}
.drawer-read h3 {
  margin: 0 0 .35rem;
  color: #aaa59a;
  font: 600 .58rem/1 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.drawer-read article {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: .75rem;
  align-items: baseline;
}
.drawer-read article > span {
  color: #8c877d;
  font: .52rem/1.3 var(--mono);
  letter-spacing: .06em;
}
.drawer-read article > strong {
  color: var(--paper-bright);
  font: 400 .78rem/1.35 var(--serif);
}
.drawer-read article[data-projection-state]:not([data-projection-state="present"]) > strong {
  color: #aaa59a;
}
.chat-label {
  display: block;
  margin: 2.2rem 0 .55rem;
  color: #aaa59a;
  font: .58rem/1 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
[data-council-chat] {
  width: 100%;
  resize: vertical;
  padding: .9rem;
  border: 1px solid #6f6a60;
  border-radius: 0;
  color: var(--paper-bright);
  background: #201f1c;
  font: 1rem/1.45 var(--serif);
}
.chat-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: .65rem;
}
.chat-actions span { color: #8c877d; font: .55rem/1.4 var(--mono); }
.chat-actions button { border-color: var(--paper-bright); }
.drawer-note {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid #4c4942;
  color: #8c877d;
  font: .65rem/1.5 var(--mono);
  text-transform: uppercase;
}
.ogilvy-scoring-spine {
  margin-top: 1.25rem;
  padding: 1rem;
  border: 1px solid var(--ink);
  background: color-mix(in srgb, var(--yellow) 12%, var(--paper-bright));
}
.ogilvy-scoring-head h4 {
  margin: .55rem 0 1rem;
  font: 400 1.25rem/1.2 var(--serif);
}
.ogilvy-scoring-spine dl {
  display: grid;
  gap: 0;
  margin: 0;
}
.ogilvy-scoring-spine dl > div {
  display: grid;
  grid-template-columns: minmax(9rem, .7fr) minmax(0, 1.3fr);
  gap: 1rem;
  padding: .65rem 0;
  border-top: 1px solid var(--line);
}
.ogilvy-scoring-spine dt,
.ogilvy-scoring-spine dd { margin: 0; }
.ogilvy-scoring-spine dt {
  color: var(--muted);
  font: .56rem/1.35 var(--mono);
  letter-spacing: .05em;
  text-transform: uppercase;
}
.ogilvy-scoring-spine dd { font: .76rem/1.45 var(--sans); }
.b4-gasp {
  margin: 1rem 0 0;
  padding: .9rem;
  border: 1px solid var(--line);
}
.b4-gasp legend { padding: 0 .4rem; font: 400 1rem/1.2 var(--serif); }
.b4-gasp p { margin: 0 0 .7rem; color: var(--muted); font-size: .68rem; }
.b4-gasp label {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-right: 1rem;
  font: .65rem/1 var(--mono);
  text-transform: uppercase;
}
.fatal-state { padding: 3rem; font-family: var(--mono); }

@media (max-width: 75rem) {
  :root { --rail: 10.5rem; --read: 16.5rem; --field-height: 8rem; }
  .strategic-spine { grid-template-columns: repeat(3, minmax(0, 1fr)) auto; }
  .spine-heading { display: none; }
}
@media (max-width: 58rem) {
  .app-shell { grid-template-columns: 5rem minmax(0, 1fr); }
  .brand-rail { padding-inline: .65rem; }
  .brand-lockup { justify-content: center; }
  /* Phase 5 · the compact rail drops the full label but MUST keep text.
     A short label replaces it, and the active move is named below the nav. */
  .brand-lockup span:last-child, .move-label, .rail-foot { display: none; }
  .move-short { display: block; font-size: .58rem; letter-spacing: .04em; text-align: center; }
  .rail-active-move { display: block; text-align: center; font-size: .55rem; letter-spacing: .06em; }
  .move-button { grid-template-columns: 1fr; justify-items: center; }
  .validity-badge { display: none; }
  .council-read {
    position: relative;
    grid-column: 2;
    height: auto;
    padding: 2rem;
    border-top: 1px solid var(--ink);
  }
}
@media (max-width: 42rem) {
  :root { --field-height: 6.5rem; --field-fade: .75rem; }
  .app-shell { display: block; }
  /* Phase 5 · the mobile rail becomes a horizontal scroller with real
     scrollable text labels, not bare numbers. */
  .move-label { display: block; font-size: .58rem; line-height: 1.15; text-align: center; }
  .move-short { display: none; }
  .rail-active-move { display: block; text-align: left; margin-top: .6rem; }
  .brand-rail {
    position: relative;
    width: 100%;
    height: auto;
    padding: .75rem;
  }
  .brand-lockup { justify-content: flex-start; margin-bottom: .75rem; }
  .brand-lockup span:last-child { display: inline; }
  .move-nav {
    grid-template-columns: repeat(7, minmax(4.25rem, 1fr));
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
  }
  .move-button { padding: .65rem .3rem; scroll-snap-align: start; }
  .workspace-shell { display: block; }
  .strategic-spine { position: relative; grid-template-columns: 1fr; }
  .spine-item { border-bottom: 1px solid var(--line); }
  .ask-council { width: calc(100% - 2rem); }
  .workspace { padding-top: 2.5rem; }
  .state-board, .narrative-card-grid, .truth-grid, .seed-grid, .deck-grid, .concept-grid { grid-template-columns: 1fr; }
  .blocked-surface dl,
  .truth-evidence-grid,
  .narrative-contract-grid,
  .big-idea-population-grid,
  .big-idea-concept-head,
  .big-idea-concept-head dl,
  .concept-argument-grid,
  .big-idea-restored-grid,
  .deep-work-contract-grid,
  .deep-work-summary,
  .deep-work-facts,
  .council-seat-grid { grid-template-columns: 1fr; }
  .honest-missing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .truth-detail-head { align-items: flex-start; flex-direction: column; }
  .truth-detail-head > p { text-align: left; }
  .deep-work-head { align-items: flex-start; flex-direction: column; }
  .deep-work-head > p { text-align: left; }
  .big-idea-head { align-items: flex-start; flex-direction: column; }
  .big-idea-head > p { text-align: left; }
  .buyer-read,
  .red-team-read { grid-template-columns: 1fr; }
  .brief-intro,
  .brief-notes,
  .brief-fact-grid,
  .brief-content-columns,
  .brief-contract-row { grid-template-columns: 1fr; }
  .brief-intro { align-items: start; }
  .brief-working-head { display: block; }
  .brief-loader { align-items: flex-start; }
  .brief-content-head { align-items: flex-start; flex-direction: column; }
  .validity-notice { grid-template-columns: 1fr; }
  .state-meta { border-top: 1px solid var(--ink); border-left: 0; }
  .slot-card:nth-child(n) { transform: none; }
  .concept-region-head,
  .kill-board-disclosure-head { align-items: flex-start; flex-direction: column; }
  .concept-region-head > p { text-align: left; }
  .kill-board-row,
  .kill-board-row dl { grid-template-columns: 1fr; }
  .council-read { grid-column: auto; }
  .region-heading { align-items: flex-start; flex-direction: column; }
  .region-heading > p { text-align: left; }
  .surface-card { grid-template-columns: 1fr; }
  .surface-card ul { grid-column: auto; }
  .expansion-panel-heading,
  .expansion-surface-card > header { flex-direction: column; }
  .surface-acceptance { max-width: none; text-align: left; }
  .expansion-field-grid,
  .expansion-ladder > dl,
  .expansion-receipt-grid,
  .assembly-readiness,
  .assembly-prerequisites,
  .assembly-contract-grid,
  .assembly-evidence-grid,
  .assembly-slide > header,
  .assembly-slide > header dl,
  .assembly-slot-grid { grid-template-columns: 1fr; }
  .assembly-export-affordance { align-items: stretch; flex-direction: column; }
  .assembly-export-affordance button { width: 100%; }
  .action-footer,
  .action-footer > div,
  .chat-actions { align-items: stretch; flex-direction: column; }
}
@media (max-width: 28rem) {
  .honest-missing-grid { grid-template-columns: 1fr; }
  .truth-evidence-grid > section,
  .narrative-contract-grid > section,
  .deep-work-contract-grid > section,
  .projection-panel { padding: .8rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
  /* Phase 5 · the field layer degrades to a single static resting frame in
     JS; CSS neutralises its transition so nothing fades or moves either. */
  .field-canvas { transition: none !important; animation: none !important; }
  .move-nav { scroll-snap-type: none; }
}

/* ── Transport notice ─────────────────────────────────────────────────────────
   Engine-attributed failures and boot outcomes. Previously these events were
   dispatched with no listener and no surface, so a failed run looked identical
   to a run that had never been started. */
.transport-notice-host:empty { display: none; }
.transport-notice {
  display: grid;
  gap: .35rem;
  margin: 0 0 1.25rem;
  padding: .85rem 1rem .95rem;
  border: 1px solid var(--line);
  border-left-width: 3px;
  border-radius: 2px;
  background: var(--paper-bright);
  animation: notice-in var(--motion-base) var(--ease-out-quart) both;
}
.transport-notice[data-notice-tone="error"] { border-left-color: var(--rust); }
.transport-notice[data-notice-tone="rejected"] { border-left-color: var(--yellow); }
.transport-notice[data-notice-tone="info"] { border-left-color: var(--blue); }
.transport-notice .eyebrow { color: var(--muted); }
.transport-notice .notice-code {
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: .06em;
  color: var(--ink);
  background: rgba(17, 16, 14, 0.06);
  padding: .1rem .35rem;
  border-radius: 2px;
  justify-self: start;
}
.transport-notice .notice-message {
  margin: 0;
  font-size: .92rem;
  line-height: 1.45;
  color: var(--ink-soft);
}
.transport-notice .notice-move {
  font-family: var(--mono);
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--muted);
}
@keyframes notice-in {
  from { opacity: 0; transform: translateY(-.4rem); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .transport-notice { animation: none; }
}

body:has([data-council-cover]) { background: #f3f1ea; }

/* ─── Cover ────────────────────────────────────────────────────────────────
   Prototype parity. Values carried from the prototype cover template: canvas
   #F3F1EA, paper #FEFDFB, rail black #0D0D0D, cobalt #2E42C6, pressure
   #E8793C, body #585249, muted #8A8377, hairline rgba(27,26,23,.15). */
.council-cover {
  --cover-canvas: #f3f1ea;
  --cover-paper: #fefdfb;
  --cover-ink: #1b1a17;
  --cover-body: #585249;
  --cover-muted: #8a8377;
  --cover-cobalt: #2e42c6;
  --cover-pressure: #e8793c;
  --cover-hairline: rgba(27, 26, 23, 0.15);
  --cover-black: #0d0d0d;
  position: relative;
  min-height: 100vh;
  background: var(--cover-canvas);
  color: var(--cover-ink);
  padding: 0 clamp(20px, 4vw, 56px) 96px;
  animation: cover-in var(--motion-slow) var(--ease-out-quart) both;
}

.council-cover + .app-shell[data-shell-behind-cover='true'] { display: none; }

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

.cover-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  padding: 26px 0 18px;
  border-bottom: 1px solid var(--cover-hairline);
}

.cover-mark {
  font-family: var(--mono);
  font-size: 0.8125rem;
  letter-spacing: 0.34em;
  font-weight: 500;
}

.cover-status {
  font-family: var(--mono);
  font-size: 0.625rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--cover-muted);
  text-align: right;
}

.cover-lede {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
  padding: clamp(48px, 8vh, 110px) 0 clamp(40px, 7vh, 88px);
}

.cover-eyebrow {
  display: block;
  font-family: var(--mono);
  font-size: 0.625rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--cover-pressure);
  font-weight: 500;
  margin-bottom: 26px;
}

.council-cover h1 {
  font-family: var(--serif);
  font-size: clamp(2.5rem, 5.6vw, 4.875rem);
  line-height: 1.03;
  font-weight: 300;
  letter-spacing: -0.02em;
  text-wrap: balance;
  margin: 0 0 26px;
}

.council-cover h1 em {
  font-style: italic;
  color: var(--cover-cobalt);
}

.cover-dot {
  display: inline-block;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--cover-cobalt);
  margin-left: 6px;
}

.cover-copy > p {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--cover-body);
  max-width: 52ch;
  text-wrap: pretty;
  margin: 0 0 36px;
}

.cover-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.cover-actions button {
  font-family: var(--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 500;
  padding: 14px 22px;
  border-radius: 2px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background var(--motion-base) var(--ease-out-quart),
    border-color var(--motion-base) var(--ease-out-quart),
    color var(--motion-base) var(--ease-out-quart);
}

.cover-start {
  background: var(--cover-cobalt);
  color: var(--cover-canvas);
}

.cover-start:hover { background: #1f2f9b; }

.cover-resume {
  background: none;
  border-color: rgba(27, 26, 23, 0.27);
  color: var(--cover-ink);
}

.cover-resume:hover {
  border-color: var(--cover-cobalt);
  color: var(--cover-cobalt);
}

.cover-foot {
  margin: 22px 0 0;
  font-family: var(--mono);
  font-size: 0.625rem;
  letter-spacing: 0.12em;
  line-height: 1.7;
  text-transform: uppercase;
  color: var(--cover-muted);
  max-width: 46ch;
}

.cover-field {
  position: relative;
  background: var(--cover-black);
  border-radius: 2px;
  aspect-ratio: 4 / 3;
  min-height: 280px;
  overflow: hidden;
}

.cover-field .field-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.cover-field-label {
  position: absolute;
  left: 18px;
  bottom: 16px;
  font-family: var(--mono);
  font-size: 0.5625rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: rgba(242, 242, 238, 0.6);
}

.cover-method {
  display: flex;
  align-items: center;
  gap: 16px;
  border-top: 1px solid var(--cover-hairline);
  padding-top: 22px;
  margin-bottom: 30px;
  font-family: var(--mono);
  font-size: 0.625rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--cover-muted);
}

.cover-method-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cover-cobalt);
  flex: none;
}

.cover-strip {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 1px;
  background: var(--cover-hairline);
  list-style: none;
  margin: 0;
  padding: 0;
}

.cover-move {
  background: var(--cover-paper);
  padding: 10px 10px 12px;
  min-width: 0;
}

.cover-move-field {
  aspect-ratio: 4 / 3;
  background: #f4f3ee;
  border: 1px solid var(--cover-hairline);
  margin-bottom: 10px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cover-move-field .field-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.cover-move-nofield {
  font-family: var(--mono);
  font-size: 0.5rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cover-muted);
  text-align: center;
  padding: 0 6px;
  line-height: 1.5;
}

.cover-move-rail {
  display: block;
  font-family: var(--mono);
  font-size: 0.5625rem;
  letter-spacing: 0.2em;
  color: var(--cover-cobalt);
  font-weight: 500;
  margin-bottom: 5px;
}

.cover-move-name {
  display: block;
  font-size: 0.9375rem;
  line-height: 1.2;
  margin-bottom: 5px;
  text-wrap: pretty;
}

.cover-move p {
  font-family: var(--mono);
  font-size: 0.59375rem;
  line-height: 1.5;
  color: var(--cover-muted);
  text-wrap: pretty;
  margin: 0;
}

@media (max-width: 1080px) {
  .cover-lede { grid-template-columns: minmax(0, 1fr); }
  .cover-field { order: -1; min-height: 220px; }
  .cover-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .cover-strip { grid-template-columns: minmax(0, 1fr); }
  .cover-move-field { aspect-ratio: 16 / 9; }
  .cover-head { flex-direction: column; gap: 6px; }
  .cover-status { text-align: left; }
  .cover-actions button { flex: 1 1 auto; }
}

@media (prefers-reduced-motion: reduce) {
  .council-cover { animation: none; }
}

.quick-brief-note {
  font-family: var(--mono);
  font-size: 0.625rem;
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: var(--muted);
  max-width: 68ch;
  margin: 8px 0 0;
}

.brief-compose {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  border-top: 1px solid var(--line);
  margin-top: 22px;
  padding-top: 18px;
}

.brief-compose button {
  font-family: var(--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 500;
  padding: 12px 20px;
  border-radius: 2px;
  border: 1px solid transparent;
  background: var(--blue);
  color: var(--paper);
  cursor: pointer;
  transition: background var(--motion-base) var(--ease-out-quart);
}

.brief-compose button:hover:not(:disabled) { background: #1f2f9b; }

.brief-compose button:disabled {
  background: none;
  border-color: var(--line);
  color: var(--muted);
  cursor: not-allowed;
}

.brief-compose small {
  font-family: var(--mono);
  font-size: 0.625rem;
  line-height: 1.6;
  color: var(--muted);
  max-width: 52ch;
}

.brief-region[data-brief-mode-active='build'] .quick-brief { border-color: var(--blue); }

.brief-mode button[aria-pressed='true'] {
  background: var(--blue);
  color: var(--paper);
  border-color: var(--blue);
}
