/* Hallmark · genre: modern-minimal · macrostructure: Workbench · tone: technical-austere · anchor hue: ink-blue
 * design-system: design.md · nav: N9 edge-aligned app bar · footer: none · product receipt strip · slop: pass (42-45)
 * redesigned-as-app · contrast: pass (40-41)
 * honest: pass (46) · chrome: pass (47) · tokens: pass (48) · responsive: pass (34,49) · mobile: pass (50-57)
 * pre-emit critique: P5 H5 E5 S5 R5 V5
 */
@import "./tokens.css";

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
  overflow-x: clip;
}

body {
  margin: 0;
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-body);
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}

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

button {
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

button,
input,
select,
textarea {
  border-radius: var(--radius-control);
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 3px;
}

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

a {
  color: inherit;
  text-decoration: none;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  min-height: 4.5rem;
  padding: var(--space-sm) clamp(var(--space-md), 3vw, var(--space-xl));
  border-bottom: 1px solid var(--color-rule);
  background: var(--color-paper);
}

.brand-block,
.topbar-actions,
.action-row,
.tag-row,
.source-links,
.source-meta {
  display: flex;
  align-items: center;
}

.brand-block {
  gap: var(--space-sm);
  min-width: 0;
}

.mark {
  position: relative;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  overflow: hidden;
  border: 1px solid var(--color-ink);
  border-radius: var(--radius-control);
  background: var(--color-ink);
  color: var(--color-paper);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  font-weight: 700;
}

.mark::before,
.mark::after {
  content: "";
  position: absolute;
  left: 0.68rem;
  z-index: 2;
  width: 0.38rem;
  height: 0.38rem;
  border: 1px solid var(--color-paper);
  border-radius: 999px;
  background: var(--color-paper);
}

.mark::before {
  top: 0.64rem;
}

.mark::after {
  bottom: 0.64rem;
  background: var(--color-accent);
}

.mark span {
  position: relative;
  z-index: 1;
  transform: translateX(0.2rem);
}

.mark i {
  position: absolute;
  inset: 0.62rem auto 0.62rem 0.72rem;
  width: 0.18rem;
  border-radius: 0.125rem;
  background: var(--color-accent);
}

.brand-copy {
  min-width: 0;
}

h1 {
  font-family: var(--font-display);
  font-size: var(--text-md);
  line-height: 1.1;
  letter-spacing: 0;
}

.brand-copy p,
.hint,
.muted {
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.topbar-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-xs);
}

.workbench {
  display: grid;
  grid-template-columns: minmax(18rem, 22rem) minmax(0, 1fr) minmax(20rem, 25rem);
  gap: var(--space-md);
  width: min(100%, 108rem);
  margin-inline: auto;
  padding: var(--space-md);
}

.panel {
  min-width: 0;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-panel);
  background: var(--color-surface);
}

.source-rail,
.evidence-rail {
  align-self: start;
  position: sticky;
  top: 5.5rem;
  max-height: calc(100dvh - 6.5rem);
  overflow: auto;
}

.source-module {
  padding: var(--space-md);
  border-bottom: 1px solid var(--color-rule);
}

.source-module:last-child {
  border-bottom: 0;
}

.module-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-bottom: var(--space-md);
}

.module-head.compact {
  margin-bottom: var(--space-sm);
}

.module-head h2,
.receipt-head h2 {
  font-size: var(--text-base);
  font-weight: 700;
  line-height: 1.2;
}

.run-profile {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-paper);
  overflow: hidden;
}

.run-profile div {
  display: grid;
  gap: var(--space-2xs);
  min-width: 0;
  padding: var(--space-sm);
}

.run-profile div + div {
  border-left: 1px solid var(--color-rule);
}

.run-profile span,
.backend-drawer summary {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 700;
}

.run-profile strong {
  min-width: 0;
  overflow: hidden;
  color: var(--color-ink);
  font-size: var(--text-sm);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-proof-strip {
  display: grid;
  gap: var(--space-2xs);
  min-height: 3.35rem;
  margin-top: var(--space-xs);
  padding: var(--space-sm);
  border: 1px solid var(--color-rule);
  border-left-width: 0.25rem;
  border-radius: var(--radius-control);
  background: var(--color-paper);
}

.live-proof-strip span,
.live-proof-strip small {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 700;
}

.live-proof-strip strong {
  min-width: 0;
  overflow: hidden;
  color: var(--color-ink);
  font-size: var(--text-sm);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-proof-strip small {
  overflow-wrap: anywhere;
  line-height: 1.35;
}

.live-proof-strip.is-executed {
  border-color: var(--color-good);
  background: var(--color-good-soft);
}

.live-proof-strip.is-pending {
  border-color: var(--color-warn);
  background: var(--color-warn-soft);
}

.live-proof-strip.is-missing {
  border-color: var(--color-risk);
  background: var(--color-risk-soft);
}

.field {
  display: grid;
  gap: var(--space-xs);
  margin-top: var(--space-sm);
}

.review-focus,
.starter-projects,
.quick-starters,
.review-mode-switch {
  display: grid;
  gap: var(--space-xs);
  margin-top: var(--space-sm);
}

.review-focus > span,
.starter-projects > span,
.quick-starters > span {
  color: var(--color-ink-2);
  font-size: var(--text-xs);
  font-weight: 700;
}

.review-focus-options,
.starter-row {
  display: grid;
  gap: var(--space-xs);
}

.review-mode-switch {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 0;
}

.mode-chip {
  display: grid;
  gap: var(--space-2xs);
  min-width: 0;
  min-height: 3.35rem;
  align-content: center;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  padding: var(--space-xs) var(--space-sm);
  background: var(--color-paper);
  color: var(--color-ink);
  text-align: left;
  transition:
    background-color var(--dur-short) var(--ease-out),
    border-color var(--dur-short) var(--ease-out),
    transform var(--dur-micro) var(--ease-out);
}

.mode-chip strong,
.mode-chip small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mode-chip strong {
  font-size: var(--text-xs);
  line-height: 1.2;
}

.mode-chip small {
  color: var(--color-muted);
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.2;
}

.mode-chip.is-active {
  border-color: var(--color-accent);
  background: var(--color-accent-soft);
}

.first-run-promise {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: var(--space-sm) 0 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-rule);
  list-style: none;
}

.first-run-promise li {
  display: grid;
  gap: var(--space-3xs);
  min-width: 0;
  min-height: 3.1rem;
  align-content: center;
  padding: var(--space-xs);
  background: var(--color-surface-muted);
}

.first-run-promise strong,
.first-run-promise span {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.2;
}

.first-run-promise strong {
  color: var(--color-ink);
  font-size: var(--text-xs);
}

.first-run-promise span {
  color: var(--color-muted);
  font-size: 0.68rem;
  font-weight: 750;
}

.quick-starters {
  grid-template-columns: auto repeat(3, minmax(0, 1fr));
  align-items: center;
  padding: var(--space-xs);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-surface-muted);
}

.quick-starters > span {
  padding-inline: var(--space-2xs);
  white-space: nowrap;
}

.intake-path {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-rule);
  list-style: none;
  counter-reset: intake;
}

.intake-path li {
  position: relative;
  display: grid;
  gap: var(--space-3xs);
  min-width: 0;
  min-height: 3.6rem;
  align-content: center;
  padding: var(--space-xs);
  background: var(--color-paper);
}

.intake-path li::before {
  content: none;
}

.intake-path strong,
.intake-path span {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.2;
}

.intake-path strong {
  font-family: var(--font-mono);
  color: var(--color-accent);
  font-size: 0.68rem;
  text-transform: uppercase;
}

.intake-path span {
  color: var(--color-muted);
  font-size: 0.68rem;
  font-weight: 750;
}

.review-coach {
  display: grid;
  gap: var(--space-xs);
  padding: var(--space-sm);
  border: 1px solid var(--color-rule);
  border-left: 0.25rem solid var(--color-accent);
  border-radius: var(--radius-control);
  background: var(--color-paper);
}

.review-coach-head {
  display: grid;
  gap: var(--space-2xs);
  min-width: 0;
}

.review-coach-head span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 800;
}

.review-coach-head strong {
  color: var(--color-ink);
  font-size: var(--text-base);
  line-height: 1.2;
}

.review-coach-head p {
  color: var(--color-ink-2);
  font-size: var(--text-xs);
  font-weight: 650;
  line-height: 1.35;
}

.review-coach-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.review-coach-actions .secondary-button,
.review-coach-actions .text-button {
  flex: 1 1 9rem;
}

.review-coach-checks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-rule);
  list-style: none;
}

.review-coach-checks li {
  display: grid;
  align-content: start;
  gap: var(--space-2xs);
  min-width: 0;
  min-height: 4.6rem;
  padding: var(--space-xs);
  background: var(--color-surface-muted);
}

.review-coach-checks li.ready {
  background: color-mix(in oklch, var(--color-good-soft) 42%, var(--color-paper));
}

.review-coach-checks span {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.62rem;
  font-weight: 800;
}

.review-coach-checks li.ready span {
  color: var(--color-good);
}

.review-coach-checks strong,
.review-coach-checks small {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.review-coach-checks strong {
  color: var(--color-ink);
  font-size: 0.72rem;
}

.review-coach-checks small {
  color: var(--color-muted);
  font-size: 0.66rem;
  font-weight: 650;
}

.flight-recorder {
  display: grid;
  gap: var(--space-sm);
  margin-bottom: var(--space-md);
  padding: var(--space-md);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-paper);
}

.flight-recorder.compact {
  margin-bottom: 0;
  padding: var(--space-sm);
}

.flight-recorder-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-sm);
  align-items: start;
}

.flight-recorder-head > div {
  display: grid;
  gap: var(--space-2xs);
  min-width: 0;
}

.flight-recorder-head span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 800;
}

.flight-recorder-head h3 {
  margin: 0;
  color: var(--color-ink);
  font-size: var(--text-base);
  line-height: 1.2;
}

.flight-recorder-head p {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.4;
}

.flight-recorder.compact .flight-recorder-head p {
  font-size: var(--text-xs);
}

.flight-recorder-head > strong {
  display: inline-flex;
  min-height: 1.65rem;
  align-items: center;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  padding-inline: var(--space-xs);
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.64rem;
  font-weight: 800;
  white-space: nowrap;
}

.flight-recorder-stages {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-rule);
  list-style: none;
}

.flight-recorder-stages li {
  display: grid;
  align-content: start;
  gap: var(--space-2xs);
  min-width: 0;
  min-height: 5rem;
  padding: var(--space-sm);
  background: var(--color-surface-muted);
}

.flight-recorder.compact .flight-recorder-stages li {
  min-height: 3.75rem;
  padding: var(--space-xs);
}

.flight-recorder-stages li.executed,
.flight-recorder-stages li.saved {
  background: color-mix(in oklch, var(--color-good-soft) 44%, var(--color-paper));
}

.flight-recorder-stages li.public-only,
.flight-recorder-stages li.planned,
.flight-recorder-stages li.pending {
  background: color-mix(in oklch, var(--color-warn-soft) 46%, var(--color-paper));
}

.flight-recorder-stages span,
.flight-recorder-stages strong,
.flight-recorder-stages small {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.flight-recorder-stages span {
  color: var(--color-muted);
  font-size: 0.68rem;
  font-weight: 800;
}

.flight-recorder-stages strong {
  color: var(--color-ink);
  font-family: var(--font-mono);
  font-size: 0.68rem;
}

.flight-recorder-stages small {
  color: var(--color-muted);
  font-size: 0.66rem;
  font-weight: 650;
}

.review-focus-options {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.focus-chip,
.starter-chip {
  min-width: 0;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-paper);
  color: var(--color-ink);
  text-align: left;
  transition:
    background-color var(--dur-short) var(--ease-out),
    border-color var(--dur-short) var(--ease-out),
    transform var(--dur-micro) var(--ease-out);
}

.focus-chip {
  display: grid;
  gap: var(--space-2xs);
  min-height: 4.25rem;
  align-content: start;
  padding: var(--space-sm);
}

.focus-chip strong,
.focus-chip small,
.starter-chip {
  overflow-wrap: anywhere;
}

.focus-chip strong {
  font-size: var(--text-xs);
  line-height: 1.25;
}

.focus-chip small {
  color: var(--color-muted);
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.25;
}

.focus-chip.is-active {
  border-color: var(--color-accent);
  background: var(--color-accent-soft);
}

.starter-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.starter-chip {
  min-height: 2.25rem;
  padding: 0 var(--space-sm);
  font-size: var(--text-xs);
  font-weight: 700;
  line-height: 1.2;
}

.path-drawer {
  margin-top: var(--space-sm);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-surface-muted);
}

.review-helper-drawer {
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-surface-muted);
}

.path-drawer summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  min-height: 2.35rem;
  padding-inline: var(--space-sm);
  color: var(--color-ink);
  font-size: var(--text-xs);
  font-weight: 800;
  list-style-position: inside;
  cursor: pointer;
}

.review-helper-drawer > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  min-height: 2.75rem;
  padding-inline: var(--space-sm);
  color: var(--color-ink);
  font-size: var(--text-sm);
  font-weight: 800;
  list-style: none;
  cursor: pointer;
}

.path-drawer summary span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.path-drawer summary strong,
.review-helper-drawer > summary strong {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.64rem;
  white-space: nowrap;
}

.review-helper-drawer > summary::-webkit-details-marker {
  display: none;
}

.review-helper-drawer > summary::after {
  content: "+";
  display: inline-grid;
  flex: 0 0 1.5rem;
  width: 1.5rem;
  height: 1.5rem;
  place-items: center;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  color: var(--color-muted);
  font-family: var(--font-mono);
}

.review-helper-drawer[open] > summary {
  border-bottom: 1px solid var(--color-rule);
}

.review-helper-drawer[open] > summary::after {
  content: "-";
}

.review-helper-body {
  display: grid;
  gap: var(--space-sm);
  padding: var(--space-sm);
}

.mode-ladder {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-xs);
  margin-top: var(--space-sm);
}

.mode-ladder span {
  display: grid;
  gap: var(--space-2xs);
  min-width: 0;
  padding: var(--space-sm);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-paper);
}

.mode-ladder strong,
.mode-ladder small {
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.mode-ladder strong {
  color: var(--color-ink);
  font-size: var(--text-xs);
}

.mode-ladder small {
  color: var(--color-muted);
  font-size: 0.68rem;
  font-weight: 700;
}

.quick-path {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--color-rule);
  border-inline: 0;
  border-radius: var(--radius-control);
  background: var(--color-rule);
  list-style: none;
}

.path-drawer .quick-path {
  border-radius: 0;
}

.quick-path li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-2xs) var(--space-xs);
  align-content: start;
  min-width: 0;
  min-height: 6.6rem;
  padding: var(--space-sm);
  background: var(--color-paper);
}

.quick-path span {
  display: inline-grid;
  width: 1.35rem;
  height: 1.35rem;
  place-items: center;
  border: 1px solid var(--color-rule);
  border-radius: 999px;
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 800;
}

.quick-path strong,
.quick-path small {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.quick-path strong {
  color: var(--color-ink);
  font-size: var(--text-xs);
}

.quick-path small {
  grid-column: 1 / -1;
  color: var(--color-muted);
  font-size: 0.7rem;
  font-weight: 650;
}

.field > span,
.field-label {
  color: var(--color-ink-2);
  font-size: var(--text-xs);
  font-weight: 700;
}

.field-label {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  width: fit-content;
  max-width: 100%;
}

.qmark {
  padding: 0;
  display: inline-grid;
  width: 1rem;
  height: 1rem;
  place-items: center;
  border: 1px solid var(--color-rule);
  border-radius: 999px;
  background: var(--color-paper);
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.62rem;
  line-height: 1;
}

.qmark[aria-expanded="true"] {
  border-color: var(--color-accent);
  color: var(--color-accent);
}

.tip-panel {
  position: absolute;
  left: 0;
  top: calc(100% + var(--space-2xs));
  z-index: 12;
  display: none;
  width: min(18rem, calc(100vw - 2rem));
  padding: var(--space-sm);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-ink);
  color: var(--color-paper);
  font-size: var(--text-xs);
  font-weight: 600;
  line-height: 1.4;
  box-shadow: var(--shadow-low);
}

.field-label:hover .tip-panel,
.field-label:focus-within .tip-panel,
.field-label:has(.qmark[aria-expanded="true"]) .tip-panel {
  display: block;
}

.field-help {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 600;
  line-height: 1.35;
}

input,
select,
textarea {
  width: 100%;
  min-height: 2.5rem;
  border: 1px solid var(--color-rule);
  background: var(--color-paper);
  color: var(--color-ink);
  padding: 0 var(--space-sm);
}

textarea {
  min-height: 8rem;
  padding-block: var(--space-sm);
  line-height: 1.45;
  resize: vertical;
}

select {
  appearance: auto;
}

.backend-drawer {
  margin-top: var(--space-sm);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-surface-muted);
}

.backend-drawer summary {
  display: flex;
  align-items: center;
  min-height: 2.5rem;
  padding-inline: var(--space-sm);
  list-style-position: inside;
  cursor: pointer;
}

.backend-drawer .field {
  margin: 0;
  padding: 0 var(--space-sm) var(--space-sm);
}

input::placeholder {
  color: var(--color-muted);
}

.split-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-sm);
}

.action-row {
  gap: var(--space-sm);
  margin-top: var(--space-md);
}

.primary-button,
.secondary-button,
.text-button,
.filter-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  border: 1px solid var(--color-ink);
  border-radius: var(--radius-control);
  padding: 0 var(--space-md);
  color: var(--color-ink);
  font-weight: 700;
  white-space: nowrap;
  transition:
    background-color var(--dur-short) var(--ease-out),
    border-color var(--dur-short) var(--ease-out),
    color var(--dur-short) var(--ease-out),
    transform var(--dur-micro) var(--ease-out);
}

.primary-button {
  background: var(--color-ink);
  color: var(--color-paper);
}

.secondary-button,
.text-button,
.filter-chip {
  background: transparent;
}

.primary-button.small,
.secondary-button.small,
.text-button.small {
  min-height: 2rem;
  padding-inline: var(--space-sm);
  font-size: var(--text-xs);
}

.text-button:disabled {
  border-color: var(--color-rule);
}

.wide {
  width: 100%;
}

@media (hover: hover) and (pointer: fine) {
  .primary-button:hover,
  .secondary-button:hover,
  .text-button:hover,
  .filter-chip:hover,
  .mode-chip:hover,
  .focus-chip:hover,
  .starter-chip:hover,
  .bright-path:hover,
  .project-row:hover,
  .source-link:hover {
    transform: translateY(-1px);
  }
}

.primary-button:active,
.secondary-button:active,
.text-button:active,
.filter-chip:active,
.mode-chip:active,
.focus-chip:active,
.starter-chip:active,
.bright-path:active,
.project-row:active,
.source-link:active {
  transform: translateY(1px);
}

.secondary-button:hover,
.text-button:hover,
.filter-chip:hover,
.mode-chip:hover,
.focus-chip:hover,
.starter-chip:hover {
  background: var(--color-paper-2);
}

.focus-chip.is-active:hover {
  background: var(--color-accent-soft);
}

.bright-path:hover {
  background: color-mix(in oklch, var(--color-accent-soft) 70%, var(--color-paper));
}

.file-drop {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 2.5rem;
  margin-top: var(--space-sm);
  border: 1px dashed var(--color-muted);
  border-radius: var(--radius-control);
  background: var(--color-paper);
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  font-weight: 700;
  text-align: center;
}

.file-drop input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  opacity: 0;
  cursor: pointer;
}

.file-drop:focus-within {
  outline: 2px solid var(--color-focus);
  outline-offset: 3px;
}

.status-line {
  min-height: 2.75rem;
  margin-top: var(--space-sm);
  padding: var(--space-sm);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-accent-soft);
  color: var(--color-accent);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1.35;
}

.status-line.warn {
  background: var(--color-warn-soft);
  color: var(--color-warn);
}

.status-line.error {
  background: var(--color-risk-soft);
  color: var(--color-risk);
}

.readiness-summary {
  display: grid;
  gap: var(--space-xs);
  margin-bottom: var(--space-sm);
  padding: var(--space-sm);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-paper);
}

.readiness-summary strong {
  font-size: var(--text-sm);
}

.readiness-summary span {
  color: var(--color-ink-2);
  font-size: var(--text-xs);
  line-height: 1.45;
}

.readiness-summary small {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1.3;
}

.readiness-meter {
  margin-bottom: var(--space-sm);
}

.readiness-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.readiness-list li {
  display: grid;
  grid-template-columns: 4.75rem minmax(0, 1fr);
  gap: var(--space-xs) var(--space-sm);
  padding-block: var(--space-sm);
  border-top: 1px solid var(--color-rule);
}

.readiness-list li:first-child {
  border-top: 0;
}

.readiness-list span {
  grid-row: span 3;
  align-self: start;
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 700;
}

.readiness-list .passed span {
  color: var(--color-good);
}

.readiness-list .needs-action span {
  color: var(--color-risk);
}

.readiness-list .optional.needs-action span {
  color: var(--color-warn);
}

.readiness-list strong {
  min-width: 0;
  font-size: var(--text-sm);
}

.readiness-list p,
.readiness-list small {
  color: var(--color-muted);
  line-height: 1.45;
}

.readiness-list p {
  font-size: var(--text-xs);
}

.readiness-list small {
  font-family: var(--font-mono);
  font-size: 0.64rem;
  overflow-wrap: anywhere;
}

.review-stage {
  display: grid;
  gap: var(--space-md);
  min-width: 0;
}

.proof-topology {
  padding: var(--space-md);
}

.proof-head {
  align-items: start;
}

.proof-head > div {
  min-width: 0;
}

.proof-head .hint {
  margin-top: var(--space-2xs);
}

.route-verdict {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.75rem;
  border: 1px solid var(--color-warn);
  border-radius: var(--radius-control);
  padding-inline: var(--space-sm);
  background: var(--color-warn-soft);
  color: var(--color-warn);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 700;
  white-space: nowrap;
}

.route-verdict.passed {
  border-color: var(--color-good);
  background: var(--color-good-soft);
  color: var(--color-good);
}

.route-map {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--color-rule);
  border-left: 1px solid var(--color-rule);
  list-style: none;
}

.route-node {
  display: grid;
  align-content: start;
  gap: var(--space-xs);
  min-height: 7rem;
  min-width: 0;
  padding: var(--space-sm);
  border-right: 1px solid var(--color-rule);
  border-bottom: 1px solid var(--color-rule);
  background: var(--color-paper);
}

.route-node span {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.64rem;
  font-weight: 800;
}

.route-node strong {
  min-width: 0;
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.25;
}

.route-node p {
  color: var(--color-muted);
  font-size: var(--text-xs);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.route-node.passed {
  background: color-mix(in oklch, var(--color-good-soft) 35%, var(--color-paper));
}

.route-node.pending {
  background: color-mix(in oklch, var(--color-warn-soft) 48%, var(--color-paper));
}

.route-node.missing {
  background: color-mix(in oklch, var(--color-risk-soft) 48%, var(--color-paper));
}

.route-node.passed span {
  color: var(--color-good);
}

.route-node.pending span {
  color: var(--color-warn);
}

.route-node.missing span {
  color: var(--color-risk);
}

.filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  align-items: center;
  padding: var(--space-xs);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-panel);
  background: var(--color-surface);
}

.filter-chip {
  min-height: 2.25rem;
  border-color: var(--color-rule);
  padding-inline: var(--space-sm);
  font-size: var(--text-sm);
}

.filter-chip.is-active {
  border-color: var(--color-accent);
  background: var(--color-accent-soft);
  color: var(--color-accent);
}

.queue-section,
.scorecard,
.field-map,
.sponsor-matrix,
.fix-list,
.evidence-rail {
  padding: var(--space-md);
}

.fix-list {
  grid-column: 1 / -1;
  display: grid;
  gap: var(--space-md);
}

.fix-score-strip {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-paper);
  overflow: hidden;
}

.fix-score-strip > div {
  display: grid;
  align-content: start;
  gap: var(--space-2xs);
  min-width: 0;
  min-height: 6.5rem;
  padding: var(--space-md);
  border-left: 1px solid var(--color-rule);
}

.fix-score-strip > div:first-child {
  border-left: 0;
}

.fix-score-strip span,
.fix-card-grid span {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.fix-score-strip strong {
  color: var(--color-ink);
  font-size: var(--text-lg);
  line-height: 1.1;
}

.fix-score-strip > div:first-child strong {
  font-family: var(--font-mono);
  font-size: var(--text-2xl);
}

.fix-score-strip small,
.fix-card-grid small {
  color: var(--color-ink-2);
  font-size: var(--text-xs);
  font-weight: 700;
  line-height: 1.35;
}

.fix-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid var(--color-rule);
  border-left: 1px solid var(--color-rule);
  background: var(--color-rule);
  gap: 0;
}

.fix-card-grid article {
  display: grid;
  align-content: start;
  gap: var(--space-xs);
  min-width: 0;
  min-height: auto;
  padding: var(--space-sm);
  border-right: 1px solid var(--color-rule);
  border-bottom: 1px solid var(--color-rule);
  background: var(--color-paper);
}

.fix-card-grid article > div {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: var(--space-xs);
  min-width: 0;
}

.fix-card-grid strong {
  min-width: 0;
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.fix-card-grid span {
  flex: 0 0 auto;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  padding: 0.2rem 0.38rem;
  background: var(--color-surface-muted);
  text-transform: none;
}

.fix-card-grid p {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.4;
}

.fix-card-grid article.clear {
  background: color-mix(in oklch, var(--color-good-soft) 28%, var(--color-paper));
}

.fix-card-grid article.clear span {
  border-color: var(--color-good);
  background: var(--color-good-soft);
  color: var(--color-good);
}

.fix-card-grid article.gap {
  background: color-mix(in oklch, var(--color-warn-soft) 24%, var(--color-paper));
}

.fix-card-grid article.gap span {
  border-color: var(--color-warn);
  background: var(--color-warn-soft);
  color: var(--color-warn);
}

.fix-card-grid article.blocker {
  background: color-mix(in oklch, var(--color-risk-soft) 22%, var(--color-paper));
}

.fix-card-grid article.blocker span {
  border-color: var(--color-risk);
  background: var(--color-risk-soft);
  color: var(--color-risk);
}

.ranked-list {
  display: grid;
  border-top: 1px solid var(--color-rule);
}

.project-row {
  display: grid;
  grid-template-columns: 2.25rem minmax(10rem, 1fr) minmax(8rem, 14rem) 3.25rem;
  gap: var(--space-sm);
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 4.5rem;
  border: 0;
  border-bottom: 1px solid var(--color-rule);
  background: transparent;
  color: var(--color-ink);
  padding: var(--space-sm) 0;
  text-align: left;
}

.project-row.is-selected {
  background: var(--color-accent-soft);
}

.sponsor-matrix {
  overflow: visible;
}

.matrix-grid {
  display: grid;
  gap: var(--space-xs);
  border-top: 1px solid var(--color-rule);
}

.matrix-row {
  display: grid;
  grid-template-columns: minmax(10rem, 0.8fr) minmax(0, 1.8fr);
  gap: var(--space-sm);
  align-items: stretch;
  padding: var(--space-sm) 0;
  border-bottom: 1px solid var(--color-rule);
}

.matrix-project {
  display: grid;
  align-content: center;
  gap: var(--space-3xs);
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--color-ink);
  padding: 0;
  text-align: left;
}

.matrix-project strong,
.matrix-project span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.matrix-project span {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 700;
}

.matrix-cells {
  display: grid;
  grid-template-columns: repeat(6, minmax(4.6rem, 1fr));
  gap: var(--space-2xs);
  min-width: 0;
}

.matrix-cell {
  display: grid;
  gap: 0.1rem;
  min-height: 3rem;
  align-content: center;
  padding: var(--space-2xs);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-surface-muted);
}

.matrix-cell strong,
.matrix-cell small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.matrix-cell strong {
  font-size: var(--text-xs);
}

.matrix-cell small {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.62rem;
  font-weight: 700;
}

.matrix-cell.passed {
  border-color: var(--color-good);
  background: var(--color-good-soft);
}

.matrix-cell.pending {
  border-color: var(--color-warn);
  background: var(--color-warn-soft);
}

.rank-number {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 700;
}

.queue-main,
.queue-proof {
  min-width: 0;
}

.queue-main {
  display: grid;
  gap: var(--space-2xs);
}

.queue-main strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--text-base);
}

.queue-main span,
.queue-main em,
.queue-proof {
  overflow: hidden;
  color: var(--color-muted);
  font-size: var(--text-sm);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.queue-main em {
  color: var(--color-ink-2);
  font-style: normal;
}

.row-score,
.count-pill,
.verdict-pill,
.tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-control);
  font-weight: 700;
  white-space: nowrap;
}

.row-score {
  width: 3rem;
  height: 3rem;
  border: 1px solid var(--color-rule);
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-mono);
}

.row-score.good,
.verdict-pill.good {
  border-color: var(--color-good);
  background: var(--color-good-soft);
  color: var(--color-good);
}

.row-score.risk,
.verdict-pill.risk {
  border-color: var(--color-risk);
  background: var(--color-risk-soft);
  color: var(--color-risk);
}

.row-score.review,
.verdict-pill.review {
  border-color: var(--color-warn);
  background: var(--color-warn-soft);
  color: var(--color-warn);
}

.count-pill {
  min-height: 1.75rem;
  min-width: 2rem;
  border: 1px solid var(--color-rule);
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
}

.focus-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 9rem;
  gap: var(--space-xl);
  align-items: start;
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid var(--color-rule);
}

.focus-copy {
  min-width: 0;
}

.verdict-pill {
  min-height: 1.75rem;
  padding-inline: var(--space-sm);
  font-size: var(--text-xs);
}

.focus-strip h2 {
  margin-top: var(--space-sm);
  max-width: 18ch;
  font-size: var(--text-2xl);
  line-height: 1.02;
  overflow-wrap: anywhere;
}

.focus-strip p {
  max-width: 68ch;
  margin-top: var(--space-sm);
  color: var(--color-ink-2);
  font-size: var(--text-base);
  line-height: 1.58;
}

.score-block {
  display: grid;
  gap: var(--space-xs);
  justify-items: end;
}

.score-block span {
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.score-block strong {
  font-family: var(--font-mono);
  font-size: clamp(2.25rem, 5vw, 3.6rem);
  line-height: 0.95;
}

.score-block.is-proof-status strong {
  font-size: var(--text-2xl);
  line-height: 1.05;
}

.score-block small {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 700;
}

.score-help {
  min-height: 28px;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-sm);
  background: var(--color-paper);
  color: var(--color-ink-2);
  cursor: pointer;
  font: 700 var(--text-xs) / 1 var(--font-mono);
  padding: 0 var(--space-sm);
  transition:
    background var(--dur-fast) var(--ease-out),
    border-color var(--dur-fast) var(--ease-out),
    color var(--dur-fast) var(--ease-out),
    transform var(--dur-fast) var(--ease-out);
}

.score-help:hover,
.score-help:focus-visible {
  border-color: var(--color-accent);
  color: var(--color-accent);
}

.score-help:active {
  transform: translateY(1px);
}

.tag-row {
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-top: var(--space-md);
}

.tag {
  min-height: 1.75rem;
  border: 1px solid var(--color-rule);
  padding-inline: var(--space-sm);
  color: var(--color-ink-2);
  font-size: var(--text-xs);
}

.muted-tag {
  color: var(--color-muted);
}

.focus-tag {
  border-color: var(--color-accent);
  background: var(--color-accent-soft);
  color: var(--color-accent);
}

.source-links {
  flex-wrap: wrap;
  gap: var(--space-xs);
  padding-block: var(--space-md);
  border-bottom: 1px solid var(--color-rule);
}

.source-link {
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  padding-inline: var(--space-sm);
  background: var(--color-paper);
  color: var(--color-ink);
  font-size: var(--text-sm);
  font-weight: 700;
  white-space: nowrap;
  transition:
    background-color var(--dur-short) var(--ease-out),
    transform var(--dur-micro) var(--ease-out);
}

.prize-brief {
  display: grid;
  gap: var(--space-sm);
  padding-block: var(--space-md);
  border-bottom: 1px solid var(--color-rule);
}

.prize-brief-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-md);
  align-items: start;
}

.prize-brief-head > div:first-child {
  min-width: 0;
}

.prize-brief-head span {
  display: inline-flex;
  align-items: center;
  min-height: 1.6rem;
  width: fit-content;
  border: 1px solid var(--color-accent);
  border-radius: var(--radius-control);
  padding-inline: var(--space-xs);
  background: var(--color-accent-soft);
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.prize-brief h3 {
  margin-top: var(--space-xs);
  color: var(--color-ink);
  font-size: var(--text-lg);
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.prize-brief-head p {
  max-width: 68ch;
  margin-top: var(--space-xs);
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.prize-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  gap: var(--space-xs);
  width: min(100%, 24rem);
  justify-self: end;
}

.prize-lanes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-rule);
}

.prize-lane {
  display: grid;
  align-content: start;
  gap: var(--space-2xs);
  min-width: 0;
  min-height: 6.75rem;
  padding: var(--space-sm);
  background: var(--color-paper);
}

.prize-lane span,
.prize-pressure span {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.64rem;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.prize-lane strong {
  color: var(--color-ink);
  font-size: var(--text-base);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.prize-lane p,
.prize-pressure p {
  color: var(--color-muted);
  font-size: var(--text-xs);
  line-height: 1.4;
}

.prize-pressure {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-xs);
  margin: 0;
  padding: 0;
  list-style: none;
}

.prize-pressure li {
  display: grid;
  align-content: start;
  gap: var(--space-2xs);
  min-width: 0;
  padding-left: var(--space-sm);
  border-left: 2px solid var(--color-rule);
}

.action-board {
  display: grid;
  grid-template-columns: minmax(14rem, 0.82fr) minmax(0, 1.18fr);
  gap: var(--space-md);
  padding-block: var(--space-md);
  border-bottom: 1px solid var(--color-rule);
}

.action-board-copy {
  display: grid;
  align-content: start;
  gap: var(--space-2xs);
  min-width: 0;
}

.action-board-copy span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 800;
}

.action-board-copy strong {
  color: var(--color-ink);
  font-size: var(--text-base);
  line-height: 1.25;
}

.action-buttons {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: var(--space-xs);
  min-width: 0;
}

.action-buttons button,
.draft-card-actions button,
.visitor-brief-actions button,
.prize-actions button,
.quick-actions button {
  min-width: 0;
  min-height: 2.5rem;
  height: auto;
  white-space: normal;
  text-align: center;
  overflow-wrap: anywhere;
}

.action-board ul {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--color-rule);
  border-left: 1px solid var(--color-rule);
  list-style: none;
}

.action-board li {
  display: grid;
  align-content: start;
  gap: var(--space-2xs);
  min-width: 0;
  min-height: 5.5rem;
  padding: var(--space-sm);
  border-right: 1px solid var(--color-rule);
  border-bottom: 1px solid var(--color-rule);
  background: var(--color-paper);
}

.action-board li.is-clear {
  background: color-mix(in oklch, var(--color-good-soft) 38%, var(--color-paper));
}

.action-board li span {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.64rem;
  font-weight: 800;
}

.action-board li strong {
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.25;
}

.action-board li p {
  color: var(--color-muted);
  font-size: var(--text-xs);
  line-height: 1.35;
}

.score-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7.75rem, 1fr));
  border-bottom: 1px solid var(--color-rule);
  border-left: 1px solid var(--color-rule);
}

.score-tile {
  display: grid;
  gap: var(--space-xs);
  min-height: 8rem;
  padding: var(--space-md);
  border-right: 1px solid var(--color-rule);
  border-top: 1px solid var(--color-rule);
}

.score-tile:last-child {
  border-right: 0;
}

.score-tile span {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 700;
}

.score-tile strong {
  font-family: var(--font-mono);
  font-size: var(--text-xl);
  line-height: 1;
}

.score-tile p {
  color: var(--color-muted);
  font-size: var(--text-xs);
  line-height: 1.4;
}

.meter {
  height: 0.375rem;
  overflow: hidden;
  border-radius: 999px;
  background: var(--color-paper-3);
}

.meter > i {
  display: block;
  width: var(--bar-width);
  height: 100%;
  border-radius: inherit;
  background: var(--color-accent);
}

.review-notes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-lg);
  padding-block: var(--space-lg);
  border-bottom: 1px solid var(--color-rule);
}

.market-position {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid var(--color-rule);
  border-left: 1px solid var(--color-rule);
  background: var(--color-paper);
}

.market-position article {
  display: grid;
  align-content: start;
  gap: var(--space-xs);
  min-width: 0;
  min-height: 7rem;
  padding: var(--space-md);
  border-top: 1px solid var(--color-rule);
  border-right: 1px solid var(--color-rule);
}

.market-position span {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 800;
}

.market-position strong {
  color: var(--color-ink);
  font-size: var(--text-base);
  line-height: 1.25;
}

.market-position p {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.proof-highlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
  padding-block: var(--space-md);
  border-bottom: 1px solid var(--color-rule);
}

.proof-highlights article {
  min-width: 0;
  padding-inline: var(--space-md);
  border-left: 1px solid var(--color-rule);
}

.proof-highlights article:first-child {
  padding-left: 0;
  border-left: 0;
}

.review-notes h3 {
  font-size: var(--text-sm);
}

.proof-highlights span {
  display: block;
  margin-bottom: var(--space-2xs);
  color: var(--color-muted);
  font-size: var(--text-sm);
  font-weight: 800;
}

.proof-highlights strong {
  display: block;
  overflow-wrap: anywhere;
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  line-height: 1.35;
}

.review-notes p,
.review-notes li,
.proof-highlights p {
  margin-top: var(--space-xs);
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.pitch-review-panel {
  display: grid;
  gap: var(--space-md);
  padding-block: var(--space-md);
  border-bottom: 1px solid var(--color-rule);
}

.pitch-review-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-md);
  align-items: start;
}

.pitch-review-head span,
.pitch-review-action span {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 800;
}

.pitch-review-head h3 {
  margin-top: var(--space-2xs);
  color: var(--color-ink);
  font-size: var(--text-lg);
  line-height: 1.2;
}

.pitch-review-head p,
.pitch-review-action p {
  margin-top: var(--space-xs);
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.pitch-review-head > strong {
  display: inline-grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-surface);
  color: var(--color-ink);
  font-family: var(--font-mono);
  font-size: var(--text-xl);
}

.pitch-review-rows {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-rule);
  list-style: none;
  margin: 0;
  padding: 0;
}

.pitch-review-rows li {
  min-width: 0;
  min-height: 8rem;
  padding: var(--space-sm);
  background: var(--color-paper);
}

.pitch-review-rows span {
  display: inline-flex;
  align-items: center;
  min-height: 1.5rem;
  border-radius: var(--radius-pill);
  padding-inline: var(--space-xs);
  background: var(--color-warn-soft);
  color: var(--color-warn);
  font-size: var(--text-xs);
  font-weight: 800;
  white-space: nowrap;
}

.pitch-review-rows .passed span {
  background: var(--color-good-soft);
  color: var(--color-good);
}

.pitch-review-rows strong {
  display: block;
  margin-top: var(--space-sm);
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.pitch-review-rows p {
  margin-top: var(--space-xs);
  color: var(--color-ink-2);
  font-size: var(--text-xs);
  line-height: 1.4;
}

.pitch-review-action {
  border-left: 2px solid var(--color-accent);
  padding-left: var(--space-sm);
}

.judge-memo-card {
  display: grid;
  gap: var(--space-sm);
  margin-block: var(--space-sm) var(--space-md);
  padding: var(--space-md);
  border: 1px solid var(--color-ink);
  border-left: 0.25rem solid var(--color-accent);
  border-radius: var(--radius-control);
  background: var(--color-paper);
}

.judge-memo-head {
  display: grid;
  gap: var(--space-2xs);
  min-width: 0;
  max-width: 68ch;
}

.judge-memo-head span,
.bright-delta span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 850;
  text-transform: uppercase;
}

.judge-memo-head h3 {
  margin: 0;
  color: var(--color-ink);
  font-size: clamp(var(--text-xl), 2.5vw, var(--text-2xl));
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.judge-memo-head p {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.judge-memo-grid {
  display: grid;
  grid-template-columns: 0.82fr 1.36fr 0.82fr;
  gap: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-rule);
  list-style: none;
}

.judge-memo-grid li {
  display: grid;
  align-content: start;
  gap: var(--space-xs);
  min-width: 0;
  min-height: 5.75rem;
  padding: var(--space-sm);
  background: var(--color-surface-muted);
}

.judge-memo-grid span {
  color: var(--color-muted);
  font-size: 0.68rem;
  font-weight: 850;
  text-transform: uppercase;
}

.judge-memo-grid strong {
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.bright-delta {
  display: grid;
  gap: var(--space-2xs);
  padding: var(--space-sm);
  border: 1px solid var(--color-accent);
  border-radius: var(--radius-control);
  background: var(--color-accent-soft);
}

.bright-delta strong {
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.decision-path-card {
  display: grid;
  gap: var(--space-sm);
  margin-block: var(--space-sm) var(--space-md);
  padding: var(--space-md);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-surface-muted);
}

.decision-path-copy {
  display: grid;
  gap: var(--space-2xs);
  max-width: 68ch;
}

.decision-path-copy span,
.decision-path-actions span {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 850;
  text-transform: uppercase;
}

.decision-path-copy h3 {
  color: var(--color-ink);
  font-size: var(--text-lg);
  line-height: 1.16;
  overflow-wrap: anywhere;
}

.decision-path-copy p {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.decision-path-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-rule);
  list-style: none;
}

.decision-path-steps li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-content: start;
  gap: var(--space-xs);
  min-width: 0;
  min-height: 5.5rem;
  padding: var(--space-sm);
  background: var(--color-paper);
}

.decision-path-steps li > span {
  display: grid;
  place-items: center;
  width: 1.6rem;
  height: 1.6rem;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-pill);
  background: var(--color-surface-muted);
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 900;
}

.decision-path-steps li.ready > span {
  border-color: var(--color-good);
  background: var(--color-good-soft);
  color: var(--color-good);
}

.decision-path-steps li.next > span {
  border-color: var(--color-accent);
  background: var(--color-accent-soft);
  color: var(--color-accent);
}

.decision-path-steps strong {
  display: block;
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.2;
}

.decision-path-steps p {
  margin-top: var(--space-2xs);
  color: var(--color-muted);
  font-size: var(--text-xs);
  line-height: 1.35;
}

.decision-path-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
}

.decision-path-actions span {
  margin-left: auto;
}

.reviewer-details {
  margin-block: var(--space-sm) var(--space-md);
}

.decision-path-drawer,
.proof-path-drawer {
  margin-block: var(--space-sm);
}

.decision-path-drawer > summary,
.proof-path-drawer > summary {
  padding-inline: var(--space-md);
}

.decision-path-drawer .decision-path-card {
  margin-block: 0 var(--space-sm);
  border-color: var(--color-rule);
  background: var(--color-paper);
}

.proof-path-body {
  display: grid;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md) var(--space-md);
}

.proof-path-body .module-head {
  margin-bottom: 0;
}

.reviewer-details .prize-brief,
.reviewer-details .action-board,
.reviewer-details .draft-review-card,
.reviewer-details .visitor-brief {
  margin-block: 0;
}

.draft-review-card {
  display: grid;
  gap: var(--space-sm);
  margin-block: var(--space-sm) var(--space-md);
  padding: var(--space-md);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-surface-muted);
}

.draft-card-head {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  gap: var(--space-md);
  align-items: start;
}

.draft-card-head div {
  display: grid;
  gap: var(--space-2xs);
  min-width: 8rem;
}

.draft-card-head span {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 800;
}

.draft-card-head strong {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 1.7rem;
  border-radius: var(--radius-pill);
  padding-inline: var(--space-xs);
  background: var(--color-warn-soft);
  color: var(--color-warn);
  font-size: var(--text-xs);
  font-weight: 900;
  white-space: nowrap;
}

.draft-card-head p {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.draft-review-card ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-rule);
  list-style: none;
  margin: 0;
  padding: 0;
}

.draft-review-card li {
  min-width: 0;
  min-height: 4.75rem;
  padding: var(--space-sm);
  background: var(--color-paper);
}

.draft-review-card li span {
  display: block;
  margin-bottom: var(--space-xs);
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 800;
}

.draft-review-card li strong {
  display: block;
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.draft-card-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  gap: var(--space-xs);
}

.visitor-brief {
  display: grid;
  gap: var(--space-sm);
  margin-block: var(--space-sm) var(--space-md);
  padding: var(--space-md);
  border: 1px solid var(--color-rule);
  border-left-width: 0.25rem;
  border-radius: var(--radius-control);
  background: var(--color-paper);
}

.visitor-brief.draft,
.visitor-brief.review {
  border-left-color: var(--color-warn);
}

.visitor-brief.evidence {
  border-left-color: var(--color-good);
}

.visitor-brief-head {
  display: grid;
  gap: var(--space-2xs);
  min-width: 0;
}

.visitor-brief-head span {
  width: fit-content;
  min-height: 1.55rem;
  border-radius: var(--radius-pill);
  padding: 0.1rem var(--space-xs);
  background: var(--color-surface-muted);
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 900;
  line-height: 1.35;
}

.visitor-brief.draft .visitor-brief-head span,
.visitor-brief.review .visitor-brief-head span {
  background: var(--color-warn-soft);
  color: var(--color-warn);
}

.visitor-brief.evidence .visitor-brief-head span {
  background: var(--color-good-soft);
  color: var(--color-good);
}

.visitor-brief-head h3 {
  color: var(--color-ink);
  font-size: var(--text-lg);
  line-height: 1.15;
}

.visitor-brief-head p {
  max-width: 66ch;
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.visitor-brief ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-rule);
  list-style: none;
  margin: 0;
  padding: 0;
}

.visitor-brief li {
  display: grid;
  align-content: start;
  gap: var(--space-xs);
  min-width: 0;
  min-height: 5.75rem;
  padding: var(--space-sm);
  background: var(--color-surface);
}

.visitor-brief li span {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 800;
}

.visitor-brief li strong {
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.visitor-brief-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  gap: var(--space-xs);
}

.field-comparison {
  display: grid;
  gap: var(--space-sm);
  padding-block: var(--space-md);
  border-bottom: 1px solid var(--color-rule);
}

.field-comparison h3 {
  color: var(--color-ink);
  font-size: var(--text-base);
  line-height: 1.2;
}

.field-comparison-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--color-rule);
  border-left: 1px solid var(--color-rule);
}

.field-comparison article {
  display: grid;
  align-content: start;
  gap: var(--space-2xs);
  min-width: 0;
  min-height: 9.25rem;
  padding: var(--space-sm);
  border-right: 1px solid var(--color-rule);
  border-bottom: 1px solid var(--color-rule);
  background: var(--color-paper);
}

.field-comparison article.is-proofrank {
  background: color-mix(in oklch, var(--color-accent-soft) 72%, var(--color-paper));
}

.field-comparison span {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.62rem;
  font-weight: 800;
  line-height: 1.2;
}

.field-comparison strong {
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.2;
}

.field-comparison p,
.field-comparison small {
  color: var(--color-muted);
  font-size: var(--text-xs);
  line-height: 1.35;
}

.review-notes ul {
  margin: 0;
  padding-left: var(--space-md);
}

.claim-ledger {
  padding-top: var(--space-lg);
}

.tribunal-panel {
  padding-block: var(--space-lg);
  border-bottom: 1px solid var(--color-rule);
}

.tribunal-verdict {
  display: grid;
  gap: var(--space-xs);
  margin-bottom: var(--space-md);
  padding: var(--space-md);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-panel);
  background: var(--color-paper);
}

.tribunal-verdict strong {
  font-size: var(--text-base);
}

.tribunal-verdict p {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.tribunal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--color-rule);
  border-left: 1px solid var(--color-rule);
}

.tribunal-card {
  display: grid;
  align-content: start;
  gap: var(--space-sm);
  min-height: 12rem;
  padding: var(--space-md);
  border-right: 1px solid var(--color-rule);
  border-bottom: 1px solid var(--color-rule);
}

.tribunal-card > div {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: var(--space-sm);
}

.tribunal-card h3 {
  max-width: 16ch;
  font-size: var(--text-sm);
  line-height: 1.25;
}

.tribunal-card span {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  font-weight: 700;
}

.tribunal-card p,
.tribunal-card li {
  color: var(--color-muted);
  font-size: var(--text-xs);
  line-height: 1.45;
}

.tribunal-card ul {
  display: grid;
  gap: var(--space-2xs);
  margin: 0;
  padding-left: var(--space-md);
}

.dispute-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-top: var(--space-md);
}

.dispute-row span {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  border: 1px solid var(--color-warn);
  border-radius: var(--radius-control);
  padding-inline: var(--space-xs);
  background: var(--color-warn-soft);
  color: var(--color-warn);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 700;
}

.dispute-row .resolved {
  border-color: var(--color-good);
  background: var(--color-good-soft);
  color: var(--color-good);
}

.dispute-row .open {
  border-color: var(--color-risk);
  background: var(--color-risk-soft);
  color: var(--color-risk);
}

.winner-benchmark {
  padding-block: var(--space-lg);
  border-bottom: 1px solid var(--color-rule);
}

.benchmark-meter {
  margin-bottom: var(--space-md);
}

.benchmark-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  border-top: 1px solid var(--color-rule);
  border-left: 1px solid var(--color-rule);
}

.benchmark-grid > div {
  min-width: 0;
  padding: var(--space-md);
  border-right: 1px solid var(--color-rule);
  border-bottom: 1px solid var(--color-rule);
}

.benchmark-grid h3 {
  margin-bottom: var(--space-sm);
  font-size: var(--text-sm);
}

.benchmark-grid ul {
  display: grid;
  gap: var(--space-sm);
  margin: 0;
  padding: 0;
  list-style: none;
}

.benchmark-grid li {
  display: grid;
  gap: var(--space-2xs);
}

.benchmark-grid strong {
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.3;
}

.benchmark-grid span {
  color: var(--color-muted);
  font-size: var(--text-xs);
  line-height: 1.45;
}

.originality-panel {
  display: grid;
  gap: var(--space-md);
  padding-block: var(--space-lg);
  border-bottom: 1px solid var(--color-rule);
}

.originality-grid {
  display: grid;
  grid-template-columns: minmax(8rem, 0.7fr) minmax(0, 1.3fr);
  gap: var(--space-sm);
}

.radar-summary,
.differentiator-list,
.similarity-card,
.query-strip {
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-card);
  background: var(--color-surface-muted);
}

.radar-summary {
  display: grid;
  place-content: center;
  gap: var(--space-2xs);
  min-height: 9rem;
  text-align: center;
}

.radar-summary span,
.radar-summary p,
.similarity-card p {
  color: var(--color-muted);
  font-size: var(--text-xs);
}

.radar-summary strong {
  color: var(--color-ink);
  font-family: var(--font-mono);
  font-size: clamp(2.25rem, 8vw, 4.5rem);
  line-height: 0.95;
}

.differentiator-list,
.query-strip {
  padding: var(--space-md);
}

.differentiator-list h3,
.query-strip h3 {
  font-size: var(--text-sm);
}

.differentiator-list ul,
.similarity-card ul,
.query-strip ul {
  display: grid;
  gap: var(--space-xs);
  margin: var(--space-sm) 0 0;
  padding: 0;
  list-style: none;
}

.differentiator-list li,
.similarity-card li,
.query-strip li {
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.similarity-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-sm);
}

.similarity-card {
  display: grid;
  gap: var(--space-xs);
  padding: var(--space-md);
}

.similarity-card > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-xs);
  align-items: start;
}

.similarity-card strong {
  font-size: var(--text-sm);
  overflow-wrap: anywhere;
}

.similarity-card span {
  display: inline-grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 1px solid var(--color-warn);
  border-radius: 50%;
  color: var(--color-warn);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 800;
}

.query-strip li {
  display: grid;
  gap: var(--space-2xs);
  overflow-wrap: anywhere;
}

.query-strip strong {
  color: var(--color-ink);
  font-family: var(--font-mono);
  font-size: 0.68rem;
}

.claim-grid,
.receipt-list {
  display: grid;
}

.claim-row,
.receipt-item {
  display: grid;
  gap: var(--space-xs);
  padding-block: var(--space-md);
  border-top: 1px solid var(--color-rule);
}

.claim-row {
  grid-template-columns: 7rem minmax(0, 1fr);
}

.claim-row:first-child,
.receipt-item:first-child {
  border-top: 0;
}

.claim-row h3,
.receipt-item h3 {
  font-size: var(--text-sm);
}

.claim-row p,
.receipt-item p {
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.claim-status {
  display: inline-flex;
  align-self: start;
  justify-content: center;
  min-height: 1.75rem;
  border: 1px solid var(--color-warn);
  border-radius: var(--radius-control);
  padding: var(--space-2xs) var(--space-xs);
  background: var(--color-warn-soft);
  color: var(--color-warn);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 700;
  text-align: center;
}

.claim-status.verified {
  border-color: var(--color-good);
  background: var(--color-good-soft);
  color: var(--color-good);
}

.claim-status.not-found,
.claim-status.needs-proof {
  border-color: var(--color-risk);
  background: var(--color-risk-soft);
  color: var(--color-risk);
}

.source-meta {
  flex-wrap: wrap;
  gap: var(--space-xs);
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.68rem;
}

.trace-timeline {
  display: grid;
  gap: var(--space-sm);
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--color-rule);
}

.judge-meaning {
  max-width: 72ch;
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.trace-timeline ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--color-rule);
  border-left: 1px solid var(--color-rule);
  list-style: none;
}

.trace-timeline li {
  display: grid;
  gap: var(--space-2xs);
  min-width: 0;
  min-height: 8rem;
  align-content: start;
  padding: var(--space-sm);
  border-right: 1px solid var(--color-rule);
  border-bottom: 1px solid var(--color-rule);
  background: var(--color-paper);
}

.trace-timeline li > span {
  display: grid;
  width: 1.5rem;
  height: 1.5rem;
  place-items: center;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 800;
}

.trace-timeline strong {
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.25;
}

.trace-timeline p,
.trace-timeline small {
  color: var(--color-muted);
  font-size: var(--text-xs);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.trace-timeline small {
  font-family: var(--font-mono);
  font-weight: 700;
}

.trace-timeline .passed {
  background: color-mix(in oklch, var(--color-good-soft) 42%, var(--color-paper));
}

.trace-timeline .pending {
  background: color-mix(in oklch, var(--color-warn-soft) 50%, var(--color-paper));
}

.trace-timeline .missing {
  background: color-mix(in oklch, var(--color-risk-soft) 50%, var(--color-paper));
}

.trace-timeline .passed > span {
  border-color: var(--color-good);
  color: var(--color-good);
}

.trace-timeline .pending > span {
  border-color: var(--color-warn);
  color: var(--color-warn);
}

.trace-timeline .missing > span {
  border-color: var(--color-risk);
  color: var(--color-risk);
}

.run-receipt {
  display: grid;
  gap: var(--space-2xs);
  padding: var(--space-sm);
  border: 1px solid var(--color-rule);
  border-left-width: 0.25rem;
  border-radius: var(--radius-control);
  background: var(--color-paper);
}

.run-receipt.is-issued {
  border-color: var(--color-good);
  background: var(--color-good-soft);
}

.run-receipt.is-empty {
  border-color: var(--color-warn);
  background: var(--color-warn-soft);
}

.run-receipt span,
.run-receipt small {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 700;
}

.run-receipt strong {
  overflow-wrap: anywhere;
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

.trace-table {
  width: 100%;
  margin-top: var(--space-md);
  border-collapse: collapse;
  font-size: var(--text-xs);
}

.trace-table th,
.trace-table td {
  padding: var(--space-xs);
  border-top: 1px solid var(--color-rule);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}

.trace-table th {
  color: var(--color-muted);
  font-weight: 700;
}

.trace-state {
  display: inline-flex;
  min-height: 1.5rem;
  align-items: center;
  border: 1px solid var(--color-rule-strong);
  border-radius: var(--radius-control);
  padding: 0 var(--space-xs);
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 700;
  white-space: nowrap;
}

.trace-run {
  display: grid;
  gap: var(--space-2xs);
}

.trace-run small {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.64rem;
  line-height: 1.2;
  overflow-wrap: normal;
  white-space: nowrap;
}

.trace-state.executed {
  border-color: var(--color-good);
  background: var(--color-good-soft);
  color: var(--color-good);
}

.trace-state.failed {
  border-color: var(--color-risk);
  background: var(--color-risk-soft);
  color: var(--color-risk);
}

.trace-state.planned,
.trace-state.pending,
.trace-state.claimed {
  border-color: var(--color-warn);
  background: var(--color-warn-soft);
  color: var(--color-warn);
}

.live-plan {
  margin-top: var(--space-md);
}

.live-plan ul {
  display: grid;
  gap: var(--space-xs);
  margin: var(--space-sm) 0 0;
  padding: 0;
  list-style: none;
}

.live-plan li {
  display: grid;
  gap: var(--space-2xs);
  padding-top: var(--space-xs);
  border-top: 1px solid var(--color-rule);
}

.live-plan li strong {
  font-family: var(--font-mono);
  font-size: 0.7rem;
}

.live-plan li span {
  color: var(--color-muted);
  font-size: var(--text-xs);
  line-height: 1.4;
}

.map-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0;
  border-top: 1px solid var(--color-rule);
  border-left: 1px solid var(--color-rule);
}

.map-cell {
  min-height: 7rem;
  padding: var(--space-md);
  border-right: 1px solid var(--color-rule);
  border-bottom: 1px solid var(--color-rule);
  background: var(--color-paper);
}

.map-cell h3 {
  font-size: var(--text-sm);
}

.map-cell p {
  margin-top: var(--space-xs);
  color: var(--color-muted);
  font-size: var(--text-xs);
  line-height: 1.45;
}

.empty-state {
  padding: var(--space-lg);
  color: var(--color-muted);
  text-align: center;
}

.reveal {
  opacity: 0;
  transform: translateY(8px);
  animation: reveal var(--dur-long) var(--ease-out) forwards;
  animation-delay: calc(var(--i, 0) * 60ms);
}

@keyframes reveal {
  to {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 88rem) {
  .workbench {
    grid-template-columns: minmax(17rem, 21rem) minmax(0, 1fr);
  }

  .evidence-rail {
    grid-column: 1 / -1;
    position: static;
    max-height: none;
  }
}

@media (max-width: 62rem) {
  .topbar {
    position: static;
    align-items: flex-start;
    flex-direction: column;
  }

  .topbar-actions {
    justify-content: flex-start;
  }

  .workbench {
    grid-template-columns: 1fr;
  }

  .review-stage {
    order: 1;
  }

  .evidence-rail {
    order: 2;
  }

  .source-rail {
    order: 3;
    position: static;
    max-height: none;
  }

  .project-row {
    grid-template-columns: 2.25rem minmax(0, 1fr) 3.25rem;
  }

  .queue-proof {
    display: none;
  }

  .matrix-row {
    grid-template-columns: 1fr;
  }

  .matrix-cells {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .focus-strip,
  .review-notes,
  .proof-highlights {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .field-comparison-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .score-block {
    justify-items: start;
  }

  .score-grid,
  .tribunal-grid,
  .benchmark-grid,
  .similarity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .proof-highlights article {
    padding-inline: 0;
    padding-top: var(--space-sm);
    border-top: 1px solid var(--color-rule);
    border-left: 0;
  }

  .proof-highlights article:first-child {
    padding-top: 0;
    border-top: 0;
  }

  .score-tile {
    border-top: 1px solid var(--color-rule);
  }

  .score-tile:nth-child(2n) {
    border-right: 0;
  }
}

@media (max-width: 40rem) {
  .topbar,
  .workbench {
    padding-inline: var(--space-sm);
  }

  .topbar-actions,
  .filter-bar,
  .source-links {
    width: 100%;
  }

  .text-button,
  .primary-button,
  .secondary-button,
  .filter-chip,
  .source-link,
  .starter-chip {
    min-height: 2.75rem;
  }

  .topbar-actions .text-button,
  .topbar-actions .primary-button,
  .filter-chip {
    flex: 1 1 auto;
  }

  .split-fields,
  .review-focus-options,
  .starter-row,
  .mode-ladder,
  .score-grid,
  .originality-grid,
  .similarity-grid,
  .tribunal-grid,
  .benchmark-grid,
  .field-comparison-grid,
  .trace-timeline ol,
  .route-map,
  .claim-row {
    grid-template-columns: 1fr;
  }

  .score-tile {
    border-right: 0;
  }

  .project-row {
    grid-template-columns: 2rem minmax(0, 1fr) 2.75rem;
    gap: var(--space-xs);
  }

  .row-score {
    width: 2.5rem;
    height: 2.5rem;
  }

  .matrix-cells {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .focus-strip h2 {
    font-size: clamp(1.65rem, 10vw, 2.35rem);
  }

  .trace-table,
  .trace-table thead,
  .trace-table tbody,
  .trace-table th,
  .trace-table td,
  .trace-table tr {
    display: block;
  }

  .trace-table thead {
    display: none;
  }

  .trace-table td {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    gap: var(--space-sm);
    padding-inline: 0;
  }

  .trace-table td::before {
    content: attr(data-label);
    color: var(--color-muted);
    font-family: var(--font-mono);
    font-size: 0.64rem;
    font-weight: 800;
    text-transform: uppercase;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 150ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 150ms !important;
  }

  .reveal {
    transform: none;
  }
}

/* Redesign pass: lablab-style event header plus tabbed reviewer sections. */
.brand-name {
  display: block;
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: 800;
  line-height: 1.1;
}

.topbar {
  min-height: 4rem;
  padding-block: var(--space-xs);
}

.topbar-actions {
  align-items: center;
}

.nav-jump {
  min-height: 2.25rem;
  border-color: transparent;
  padding-inline: var(--space-sm);
}

.export-menu {
  position: relative;
}

.export-menu summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  border: 1px solid var(--color-ink);
  border-radius: var(--radius-control);
  padding: 0 var(--space-md);
  color: var(--color-ink);
  font-weight: 700;
  list-style: none;
  white-space: nowrap;
  cursor: pointer;
}

.export-menu summary::-webkit-details-marker {
  display: none;
}

.export-menu-panel {
  position: absolute;
  top: calc(100% + var(--space-xs));
  right: 0;
  z-index: var(--z-sticky);
  display: grid;
  grid-template-columns: repeat(4, max-content);
  gap: var(--space-xs);
  min-width: max-content;
  padding: var(--space-xs);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-panel);
  background: var(--color-surface);
  box-shadow: 0 1rem 2rem color-mix(in oklch, var(--color-ink) 10%, transparent);
}

.workbench {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
  width: min(100%, 92rem);
  margin-inline: auto;
  padding: var(--space-lg) clamp(var(--space-sm), 3vw, var(--space-xl)) var(--space-2xl);
}

.event-hero {
  display: grid;
  grid-template-columns: minmax(21rem, 0.9fr) minmax(28rem, 1fr);
  gap: clamp(var(--space-md), 2vw, var(--space-lg));
  align-items: start;
  min-height: auto;
  padding: var(--space-sm) 0 var(--space-md);
  border-bottom: 1px solid var(--color-rule);
}

.hero-copy {
  display: grid;
  align-content: center;
  gap: var(--space-md);
  min-width: 0;
}

.event-meta {
  display: none;
  flex-wrap: wrap;
  gap: var(--space-xs);
  align-items: center;
}

.event-meta span,
.event-date {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  font-weight: 700;
}

.event-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  padding-inline: var(--space-sm);
  background: var(--color-surface);
  white-space: nowrap;
}

.event-meta strong {
  margin-right: var(--space-2xs);
  font-family: var(--font-mono);
}

.event-date {
  color: var(--color-risk);
}

.event-hero h1 {
  max-width: 14ch;
  color: var(--color-ink);
  font-size: clamp(2.6rem, 4.8vw, 3.6rem);
  line-height: 1.02;
  overflow-wrap: anywhere;
}

.hero-subtitle {
  max-width: 43ch;
  color: var(--color-ink-2);
  font-size: clamp(var(--text-base), 1.4vw, var(--text-md));
  line-height: 1.45;
}

.context-brief {
  display: grid;
  gap: var(--space-2xs);
  max-width: 45rem;
  padding: var(--space-sm);
  border: 1px solid var(--color-rule);
  border-left: 0.25rem solid var(--color-accent);
  border-radius: var(--radius-control);
  background: var(--color-surface);
}

.context-brief span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.context-brief strong {
  color: var(--color-ink);
  font-size: var(--text-base);
  line-height: 1.25;
}

.context-brief p {
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.4;
}

.product-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-panel);
  background: var(--color-surface);
  overflow: hidden;
}

.product-strip article {
  display: grid;
  align-content: start;
  gap: var(--space-xs);
  min-width: 0;
  min-height: 8rem;
  padding: var(--space-md);
  border-left: 1px solid var(--color-rule);
}

.product-strip article:first-child {
  border-left: 0;
}

.product-strip span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 800;
}

.product-strip strong {
  color: var(--color-ink);
  font-size: var(--text-base);
  line-height: 1.25;
}

.product-strip p {
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.hackathon-profile-strip {
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) minmax(0, 1.15fr);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-panel);
  background: var(--color-surface);
  overflow: hidden;
}

.profile-copy {
  display: grid;
  gap: var(--space-xs);
  min-width: 0;
  padding: var(--space-md);
  background: var(--color-paper);
}

.profile-copy span,
.pipeline-head span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 800;
  text-transform: uppercase;
}

.profile-copy strong,
.pipeline-head strong {
  color: var(--color-ink);
  font-size: var(--text-lg);
  line-height: 1.15;
}

.profile-copy p,
.pipeline-head p {
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.profile-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-width: 0;
  border-left: 1px solid var(--color-rule);
}

.profile-stats article {
  display: grid;
  align-content: center;
  gap: var(--space-2xs);
  min-height: 5.75rem;
  min-width: 0;
  padding: var(--space-sm);
  border-left: 1px solid var(--color-rule);
}

.profile-stats article:first-child {
  border-left: 0;
}

.profile-stats span,
.pipeline-grid span {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.profile-stats strong {
  color: var(--color-ink);
  font-family: var(--font-mono);
  font-size: var(--text-lg);
  line-height: 1;
}

.pipeline-strip {
  display: grid;
  grid-template-columns: minmax(16rem, 0.72fr) minmax(0, 1.8fr);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-panel);
  background: var(--color-surface);
  overflow: hidden;
}

.pipeline-head {
  display: grid;
  align-content: start;
  gap: var(--space-xs);
  min-width: 0;
  padding: var(--space-md);
  background: var(--color-paper);
}

.pipeline-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
}

.pipeline-grid article {
  display: grid;
  align-content: start;
  gap: var(--space-xs);
  min-width: 0;
  min-height: 10.5rem;
  padding: var(--space-md);
  border-left: 1px solid var(--color-rule);
  border-bottom: 1px solid var(--color-rule);
}

.pipeline-grid article:nth-child(3n + 1) {
  border-left: 0;
}

.pipeline-grid article:nth-last-child(-n + 3) {
  border-bottom: 0;
}

.pipeline-grid strong {
  color: var(--color-ink);
  font-size: var(--text-base);
  line-height: 1.25;
}

.pipeline-grid p {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.42;
}

.pipeline-grid small {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.35;
}

.guide-strip {
  display: grid;
  grid-template-columns: minmax(14rem, 1.1fr) repeat(3, minmax(12rem, 1fr));
  gap: 0;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-panel);
  background: var(--color-surface);
  overflow: hidden;
}

.review-room-strip {
  display: grid;
  grid-template-columns: minmax(16rem, 0.95fr) minmax(0, 1.35fr) auto;
  align-items: stretch;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-panel);
  background: var(--color-surface);
  overflow: hidden;
}

.ops-map {
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-panel);
  background: var(--color-paper);
  overflow: clip;
}

.ops-map > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  min-height: 4.25rem;
  padding: var(--space-sm) var(--space-md);
  color: var(--color-ink);
  list-style: none;
  cursor: pointer;
}

.ops-map > summary::-webkit-details-marker {
  display: none;
}

.ops-map > summary span {
  display: grid;
  gap: var(--space-2xs);
  min-width: 0;
}

.ops-map > summary strong {
  font-size: var(--text-base);
  line-height: 1.2;
}

.ops-map > summary small {
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.35;
}

.ops-map > summary em {
  flex: 0 0 auto;
  border: 1px solid var(--color-rule);
  border-radius: 999px;
  padding: 0.42rem 0.7rem;
  background: var(--color-surface);
  color: var(--color-ink-2);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
  white-space: nowrap;
}

.ops-map > summary::after {
  content: "+";
  display: inline-grid;
  flex: 0 0 1.7rem;
  width: 1.7rem;
  height: 1.7rem;
  place-items: center;
  border: 1px solid var(--color-rule);
  border-radius: 999px;
  background: var(--color-surface);
  color: var(--color-ink);
  font-weight: 900;
}

.ops-map[open] > summary {
  border-bottom: 1px solid var(--color-rule);
}

.ops-map[open] > summary::after {
  content: "-";
}

.ops-map-body {
  display: grid;
  gap: var(--space-md);
  padding: var(--space-md);
  background: var(--color-surface-muted);
}

.room-copy,
.room-actions {
  min-width: 0;
  padding: var(--space-md);
}

.room-copy {
  display: grid;
  gap: var(--space-xs);
  background: var(--color-paper);
}

.room-copy span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 800;
  text-transform: uppercase;
}

.room-copy strong {
  color: var(--color-ink);
  font-size: var(--text-lg);
  line-height: 1.15;
}

.room-copy p {
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.room-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-width: 0;
  border-left: 1px solid var(--color-rule);
}

.room-stats article {
  display: grid;
  align-content: center;
  gap: var(--space-2xs);
  min-width: 0;
  min-height: 6.5rem;
  padding: var(--space-md);
  border-right: 1px solid var(--color-rule);
}

.room-stats span {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 800;
  line-height: 1.2;
}

.room-stats strong {
  color: var(--color-ink);
  font-family: var(--font-mono);
  font-size: var(--text-xl);
  line-height: 1;
}

.room-actions {
  display: grid;
  align-content: center;
  gap: var(--space-xs);
}

.guide-copy,
.qtip {
  min-width: 0;
  padding: var(--space-md);
}

.guide-copy {
  display: grid;
  gap: var(--space-xs);
  background: var(--color-paper);
}

.guide-copy span,
.quick-review-head span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 800;
  text-transform: uppercase;
}

.guide-copy strong,
.quick-review-head strong {
  color: var(--color-ink);
  font-size: var(--text-lg);
  line-height: 1.15;
}

.guide-copy p,
.qtip p,
.quick-review-head p {
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.qtip,
.inline-qtip {
  border-left: 1px solid var(--color-rule);
}

.qtip summary,
.inline-qtip summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  color: var(--color-ink);
  font-size: var(--text-sm);
  font-weight: 800;
  line-height: 1.35;
  list-style: none;
  cursor: pointer;
}

.qtip summary::-webkit-details-marker,
.inline-qtip summary::-webkit-details-marker {
  display: none;
}

.qtip summary::after,
.inline-qtip summary::after {
  content: "+";
  display: inline-grid;
  flex: 0 0 auto;
  width: 1.5rem;
  height: 1.5rem;
  place-items: center;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  color: var(--color-muted);
  font-family: var(--font-mono);
}

.qtip[open] summary::after,
.inline-qtip[open] summary::after {
  content: "-";
}

.qtip p,
.inline-qtip p {
  margin-top: var(--space-sm);
}

.guided-tour {
  position: fixed;
  right: var(--space-lg);
  bottom: var(--space-lg);
  z-index: 80;
  width: min(560px, calc(100vw - var(--space-lg) * 2));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-md);
  align-items: center;
  padding: var(--space-md);
  border: 1px solid var(--color-accent);
  border-radius: var(--radius-panel);
  background:
    linear-gradient(90deg, color-mix(in oklch, var(--color-accent-soft) 72%, var(--color-surface)), var(--color-surface));
  box-shadow: 0 20px 60px color-mix(in oklch, var(--color-ink) 16%, transparent);
}

.guided-tour[hidden] {
  display: none;
}

.guided-tour > div:first-child {
  display: grid;
  gap: var(--space-2xs);
  min-width: 0;
}

.guided-tour span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 800;
  text-transform: uppercase;
}

.guided-tour strong {
  color: var(--color-ink);
  font-size: var(--text-lg);
  line-height: 1.2;
}

.guided-tour p {
  max-width: 64ch;
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.tour-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-xs);
}

.is-tour-target {
  position: relative;
  z-index: 2;
  box-shadow: 0 0 0 4px color-mix(in oklch, var(--color-accent) 18%, transparent);
}

.hero-controls {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  align-items: end;
}

.field.compact {
  width: min(100%, 14rem);
  margin-top: 0;
}

.hero-controls .primary-button {
  min-width: 10rem;
  min-height: 2.75rem;
}

.hero-copy .status-line {
  width: fit-content;
  max-width: 100%;
  min-height: 1.75rem;
  margin-top: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-muted);
}

.hero-copy .status-line.warn,
.hero-copy .status-line.error {
  width: min(100%, 44rem);
  min-height: 2.5rem;
  padding: var(--space-sm);
  border: 1px solid currentColor;
}

.decision-card {
  display: grid;
  gap: var(--space-xs);
  align-self: center;
  padding: var(--space-sm);
}

.review-card {
  align-self: stretch;
}

.decision-card #flightRecorderHero,
.decision-card .selection-drawer {
  display: none;
}

.quick-review {
  display: grid;
  gap: var(--space-xs);
  padding-bottom: 0;
  border-bottom: 0;
}

.quick-review-head {
  display: grid;
  gap: var(--space-2xs);
}

.quick-review-head p {
  display: none;
}

.visitor-mode {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  overflow: hidden;
  background: var(--color-paper);
}

.visitor-mode article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-xs);
  align-items: center;
  min-width: 0;
  min-height: 3rem;
  padding: var(--space-sm);
  border-left: 1px solid var(--color-rule);
}

.visitor-mode article:first-child {
  border-left: 0;
}

.visitor-mode strong {
  display: grid;
  width: 1.45rem;
  height: 1.45rem;
  place-items: center;
  border: 1px solid var(--color-accent);
  border-radius: var(--radius-control);
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  line-height: 1;
}

.visitor-mode span {
  min-width: 0;
  color: var(--color-ink);
  font-size: var(--text-xs);
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.bright-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xs);
}

.bright-path {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-sm);
  align-items: center;
  min-width: 0;
  min-height: 2.75rem;
  border: 1px solid var(--color-accent);
  border-radius: var(--radius-control);
  padding: var(--space-xs) var(--space-sm);
  background: var(--color-accent-soft);
  color: var(--color-ink);
  text-align: left;
  transition:
    background-color var(--dur-short) var(--ease-out),
    transform var(--dur-micro) var(--ease-out);
}

.bright-path span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 800;
  white-space: nowrap;
}

.bright-path strong {
  min-width: 0;
  color: var(--color-ink);
  font-size: var(--text-xs);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.quick-fields {
  display: grid;
  gap: var(--space-sm);
}

.quick-review .field {
  margin-top: 0;
}

.review-options {
  min-width: 0;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-surface-muted);
}

.review-options > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  min-height: 2.75rem;
  padding: var(--space-sm);
  color: var(--color-ink);
  list-style: none;
  cursor: pointer;
}

.review-options > summary::-webkit-details-marker {
  display: none;
}

.review-options > summary::after {
  content: "+";
  display: inline-grid;
  flex: 0 0 auto;
  width: 1.5rem;
  height: 1.5rem;
  place-items: center;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

.review-options[open] > summary::after {
  content: "-";
}

.review-options > summary span {
  color: var(--color-ink);
  font-size: var(--text-sm);
  font-weight: 900;
}

.review-options > summary strong {
  margin-left: auto;
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 800;
  line-height: 1.35;
  text-align: right;
}

.review-options-body {
  display: grid;
  gap: var(--space-sm);
  padding: var(--space-sm);
  border-top: 1px solid var(--color-rule);
}

.review-path-line {
  margin: 0;
  padding: var(--space-sm);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-paper);
  color: var(--color-ink-2);
  font-size: var(--text-xs);
  font-weight: 700;
  line-height: 1.35;
}

.public-room-note {
  display: grid;
  gap: var(--space-2xs);
  min-width: 0;
  padding: var(--space-sm);
  border: 1px solid var(--color-rule);
  border-left: 0.25rem solid var(--color-accent);
  border-radius: var(--radius-control);
  background: var(--color-paper);
}

.public-room-note span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 800;
}

.public-room-note strong {
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.25;
}

.public-room-note p {
  color: var(--color-muted);
  font-size: var(--text-xs);
  line-height: 1.35;
}

.quick-actions {
  display: grid;
  grid-template-columns: minmax(11rem, 1fr) repeat(2, minmax(6.5rem, 0.72fr));
  gap: var(--space-xs);
}

.quick-actions .primary-button {
  min-width: 0;
}

.quick-actions .text-button {
  border-color: var(--color-rule);
}

.outcome-preview {
  display: grid;
  gap: var(--space-xs);
  padding: var(--space-sm);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-paper);
}

.outcome-preview > div {
  display: grid;
  gap: var(--space-2xs);
  min-width: 0;
}

.outcome-preview > div span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.outcome-preview > div strong {
  min-width: 0;
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.outcome-preview ul {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-rule);
  list-style: none;
}

.outcome-preview li {
  display: grid;
  gap: var(--space-3xs);
  min-width: 0;
  min-height: 3.3rem;
  align-content: center;
  padding: var(--space-xs);
  background: var(--color-surface-muted);
}

.outcome-preview li span,
.outcome-preview li strong {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.2;
}

.outcome-preview li span {
  color: var(--color-muted);
  font-size: 0.62rem;
  font-weight: 850;
  text-transform: uppercase;
}

.outcome-preview li strong {
  color: var(--color-ink);
  font-size: 0.7rem;
}

.receipt-teaser {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-2xs) var(--space-sm);
  align-items: center;
  padding: var(--space-sm);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-accent-soft);
}

.receipt-teaser span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: 0.66rem;
  font-weight: 800;
  text-transform: uppercase;
}

.receipt-teaser strong {
  min-width: 0;
  color: var(--color-ink);
  font-size: var(--text-xs);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.receipt-teaser .text-button {
  grid-column: 2;
  grid-row: 1 / span 2;
}

.rubric-memo {
  display: grid;
  gap: var(--space-sm);
  padding: var(--space-md);
  border: 1px solid var(--color-rule);
  border-left: 0.25rem solid var(--color-ink);
  border-radius: var(--radius-control);
  background: var(--color-paper);
}

.rubric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-rule);
}

.rubric-grid article {
  display: grid;
  gap: var(--space-xs);
  min-width: 0;
  min-height: 9rem;
  align-content: start;
  padding: var(--space-sm);
  background: var(--color-surface-muted);
}

.rubric-grid article.strong {
  background: color-mix(in oklch, var(--color-good-soft) 42%, var(--color-paper));
}

.rubric-grid article.partial {
  background: color-mix(in oklch, var(--color-warn-soft) 36%, var(--color-paper));
}

.rubric-grid article.gap {
  background: color-mix(in oklch, var(--color-risk-soft) 28%, var(--color-paper));
}

.rubric-grid article > div {
  display: grid;
  gap: var(--space-2xs);
  min-width: 0;
}

.rubric-grid span,
.rubric-grid strong,
.rubric-grid p,
.rubric-grid small {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.rubric-grid span {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.66rem;
  font-weight: 800;
  text-transform: uppercase;
}

.rubric-grid strong {
  color: var(--color-ink);
  font-size: var(--text-sm);
}

.rubric-grid p {
  color: var(--color-ink-2);
  font-size: var(--text-xs);
  font-weight: 650;
}

.rubric-grid small {
  align-self: end;
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 800;
}

.option-actions .text-button {
  flex-basis: 100%;
}

.quick-review-hint.warn {
  color: var(--color-warn);
}

.quick-review-hint.error {
  color: var(--color-risk);
}

.inline-qtip {
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  padding: var(--space-sm);
  background: var(--color-surface-muted);
}

.inline-qtip p {
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.flight-recorder-freshness {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-2xs) var(--space-sm);
  align-items: baseline;
  padding: var(--space-sm);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-surface-muted);
}

.flight-recorder-freshness span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.flight-recorder-freshness strong {
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.25;
}

.flight-recorder-freshness small {
  grid-column: 2;
  color: var(--color-muted);
  font-size: var(--text-xs);
  line-height: 1.35;
}

.flight-recorder-freshness.fresh {
  border-color: var(--color-good);
  background: color-mix(in oklch, var(--color-good-soft) 58%, var(--color-paper));
}

.flight-recorder-freshness.recheck,
.flight-recorder-freshness.recheck-soon {
  border-color: var(--color-warn);
  background: color-mix(in oklch, var(--color-warn-soft) 58%, var(--color-paper));
}

.decision-card .live-proof-strip {
  margin-top: 0;
}

.review-card .live-proof-strip strong {
  overflow: visible;
  overflow-wrap: anywhere;
  text-overflow: clip;
  white-space: normal;
}

.reviewer-intake {
  display: grid;
  gap: var(--space-sm);
}

.reviewer-intake .module-head {
  margin-bottom: 0;
}

.reviewer-intake .field {
  margin-top: 0;
}

.reviewer-intake .hint {
  max-width: 42ch;
}

.pitch-intake {
  min-width: 0;
}

.pitch-drawer {
  min-width: 0;
}

.pitch-drawer summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  min-height: 3.25rem;
  list-style: none;
  cursor: pointer;
}

.pitch-drawer summary::-webkit-details-marker {
  display: none;
}

.pitch-drawer summary > span {
  display: grid;
  min-width: 0;
  gap: var(--space-2xs);
}

.pitch-drawer summary strong {
  color: var(--color-ink);
  font-size: var(--text-base);
  line-height: 1.2;
}

.pitch-drawer summary small {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 700;
  line-height: 1.35;
}

.pitch-drawer summary em {
  flex: 0 0 auto;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-pill);
  padding: var(--space-2xs) var(--space-xs);
  color: var(--color-muted);
  font-style: normal;
  font-size: var(--text-xs);
  font-weight: 800;
}

.pitch-body {
  display: grid;
  gap: var(--space-sm);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--color-rule);
}

.pitch-body .field {
  margin-top: 0;
}

.pitch-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.pitch-actions .secondary-button,
.pitch-actions .text-button {
  min-width: 0;
}

#pitchHint[data-tone="error"] {
  color: var(--color-risk);
}

#pitchHint[data-tone="warn"] {
  color: var(--color-warn);
}

.optional-fields,
.selection-drawer {
  border-top: 0;
}

.selection-drawer .readiness-summary {
  border: 0;
  padding: 0;
  background: transparent;
}

.optional-fields summary,
.selection-drawer summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  min-height: 2.75rem;
  color: var(--color-ink);
  font-weight: 800;
  list-style: none;
  cursor: pointer;
}

.optional-fields summary::-webkit-details-marker,
.selection-drawer summary::-webkit-details-marker {
  display: none;
}

.optional-fields summary::after,
.selection-drawer summary::after {
  content: "+";
  display: inline-grid;
  flex: 0 0 auto;
  width: 1.5rem;
  height: 1.5rem;
  place-items: center;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

.optional-fields[open] summary::after,
.selection-drawer[open] summary::after {
  content: "-";
}

.optional-fields .split-fields {
  margin-top: var(--space-xs);
}

.selection-drawer summary strong {
  margin-left: auto;
  overflow: hidden;
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hero-decision {
  display: grid;
  gap: var(--space-sm);
}

.decision-head,
.decision-score,
.decision-metrics {
  display: flex;
  align-items: center;
}

.decision-head {
  justify-content: space-between;
  gap: var(--space-sm);
}

.decision-score {
  gap: var(--space-xs);
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 700;
}

.decision-score strong {
  color: var(--color-ink);
  font-family: var(--font-mono);
  font-size: var(--text-lg);
  line-height: 1;
}

.hero-decision h2 {
  font-size: var(--text-lg);
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.hero-decision p {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.decision-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  overflow: hidden;
}

.decision-metrics div {
  display: grid;
  gap: var(--space-2xs);
  min-width: 0;
  padding: var(--space-sm);
  background: var(--color-paper);
}

.decision-metrics div + div {
  border-left: 1px solid var(--color-rule);
}

.decision-metrics span,
.decision-focus span,
.decision-blocker span {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 700;
}

.decision-metrics strong {
  color: var(--color-ink);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.decision-blocker {
  display: grid;
  gap: var(--space-2xs);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--color-rule);
}

.decision-focus {
  display: grid;
  gap: var(--space-2xs);
  padding: var(--space-sm);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-surface-muted);
}

.decision-focus strong {
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.4;
}

.decision-blocker strong {
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.decision-card .readiness-summary {
  margin-bottom: 0;
}

.decision-card .readiness-meter {
  margin-bottom: 0;
}

.section-tabs {
  position: sticky;
  top: 4rem;
  z-index: 15;
  display: flex;
  gap: var(--space-xs);
  align-items: center;
  overflow-x: auto;
  padding: var(--space-xs);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-panel);
  background: var(--color-paper);
  scrollbar-width: none;
}

.section-tabs::-webkit-scrollbar {
  display: none;
}

.section-tab {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  padding-inline: var(--space-md);
  background: transparent;
  color: var(--color-ink-2);
  font-weight: 800;
  white-space: nowrap;
}

.section-tab.is-active {
  border-color: var(--color-ink);
  background: var(--color-ink);
  color: var(--color-paper);
}

.section-panel {
  min-width: 0;
}

.section-panel[hidden] {
  display: none !important;
}

.overview-layout {
  display: grid;
  grid-template-columns: minmax(19rem, 0.62fr) minmax(0, 1.38fr);
  gap: var(--space-md);
  align-items: start;
}

.overview-layout > .proof-topology {
  grid-column: 1 / -1;
}

.fix-list {
  grid-column: auto;
  position: sticky;
  top: 8.1rem;
  align-self: start;
}

.overview-layout > .scorecard {
  grid-column: auto;
}

.section-panel[data-section-panel="queue"] {
  gap: var(--space-lg);
}

.section-panel[data-section-panel="queue"].is-active {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(19rem, 0.7fr);
  align-items: start;
}

.section-panel[data-section-panel="queue"] .filter-bar {
  grid-column: 1 / -1;
}

.source-rail,
.evidence-rail {
  position: static;
  max-height: none;
  overflow: visible;
}

.section-panel[data-section-panel="setup"] .source-rail {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

.section-panel[data-section-panel="setup"] .source-module {
  border-bottom: 0;
  border-right: 1px solid var(--color-rule);
}

.section-panel[data-section-panel="setup"] .source-module:last-child {
  border-right: 0;
}

.scorecard,
.queue-section,
.field-map,
.evidence-rail {
  padding: clamp(var(--space-md), 2vw, var(--space-lg));
}

.proof-topology {
  padding: 0;
  background: transparent;
}

.focus-strip {
  grid-template-columns: minmax(0, 1fr) minmax(7rem, 8.5rem);
  gap: var(--space-md);
  padding-bottom: var(--space-sm);
}

.focus-strip h2 {
  max-width: 16ch;
  font-size: clamp(1.75rem, 3.2vw, 2.7rem);
}

.focus-strip p {
  max-width: 52ch;
  font-size: var(--text-sm);
}

.source-links {
  padding-block: var(--space-sm);
}

.score-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.score-drawer .score-grid {
  margin-top: var(--space-sm);
}

.score-tile {
  min-height: 6.75rem;
  padding: var(--space-sm);
}

.review-notes {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-md);
  padding-block: var(--space-sm);
}

.analysis-drawer,
.receipt-drawer {
  border-top: 1px solid var(--color-rule);
}

.analysis-drawer summary,
.receipt-drawer summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  min-height: 3rem;
  padding-block: var(--space-sm);
  color: var(--color-ink);
  font-weight: 800;
  list-style: none;
  cursor: pointer;
}

.analysis-drawer summary::-webkit-details-marker,
.receipt-drawer summary::-webkit-details-marker {
  display: none;
}

.analysis-drawer summary::after,
.receipt-drawer summary::after {
  content: "+";
  display: inline-grid;
  width: 1.5rem;
  height: 1.5rem;
  place-items: center;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

.analysis-drawer[open] summary::after,
.receipt-drawer[open] summary::after {
  content: "-";
}

.analysis-drawer summary strong {
  margin-left: auto;
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
}

.analysis-drawer > section {
  padding-top: var(--space-md);
}

.decision-details > .rubric-memo,
.decision-details > .market-position,
.decision-details > .proof-highlights,
.decision-details > .pitch-review-panel,
.decision-details > .field-comparison {
  margin-top: var(--space-md);
}

.winner-benchmark,
.tribunal-panel,
.originality-panel,
.claim-ledger {
  padding-bottom: var(--space-md);
}

.ledger-note {
  margin-bottom: var(--space-sm);
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.receipt-drawer {
  margin-top: var(--space-sm);
}

.receipt-drawer .trace-table {
  margin-top: 0;
}

.receipt-drawer .live-plan {
  margin-top: 0;
  border-top: 0;
}

.empty-review-state,
.empty-scorecard,
.empty-receipt,
.receipt-verifier {
  display: grid;
  gap: var(--space-md);
  min-width: 0;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-paper);
}

.empty-review-state,
.empty-scorecard,
.empty-receipt {
  padding: var(--space-md);
}

.empty-review-state > div,
.empty-scorecard > div:first-child,
.empty-receipt {
  max-width: 58ch;
}

.empty-review-state span,
.empty-scorecard span,
.empty-receipt span,
.receipt-verifier span {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 800;
}

.empty-review-state strong,
.empty-scorecard h2,
.empty-receipt strong {
  color: var(--color-ink);
  font-size: var(--text-lg);
  line-height: 1.15;
}

.empty-review-state p,
.empty-scorecard p,
.empty-receipt p {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.empty-review-state ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-rule);
  list-style: none;
}

.empty-review-state li {
  display: grid;
  gap: var(--space-2xs);
  min-width: 0;
  padding: var(--space-sm);
  background: var(--color-surface-muted);
}

.empty-review-state li strong {
  font-size: var(--text-sm);
}

.empty-action-row,
.verifier-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.empty-route {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.receipt-verifier {
  margin-bottom: var(--space-md);
  padding: var(--space-md);
}

.verifier-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-md);
  align-items: start;
}

.verifier-head > div {
  display: grid;
  gap: var(--space-2xs);
}

.verifier-head h3 {
  margin: 0;
  color: var(--color-ink);
  font-size: var(--text-base);
  line-height: 1.2;
}

.verifier-head p,
.verifier-note {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.verifier-head > strong {
  display: inline-flex;
  min-height: 1.75rem;
  align-items: center;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  padding-inline: var(--space-xs);
  font-family: var(--font-mono);
  font-size: 0.65rem;
  white-space: nowrap;
}

.verifier-head > strong.passed {
  border-color: var(--color-good);
  color: var(--color-good);
  background: var(--color-good-soft);
}

.verifier-head > strong.failed {
  border-color: var(--color-risk);
  color: var(--color-risk);
  background: var(--color-risk-soft);
}

.verifier-head > strong.notice {
  color: var(--color-muted);
  background: var(--color-surface-muted);
}

.receipt-verifier textarea {
  min-height: 9rem;
  font-family: var(--font-mono);
  font-size: 0.75rem;
}

.verifier-checks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-rule);
  list-style: none;
}

.verifier-checks li {
  display: grid;
  align-content: start;
  gap: var(--space-2xs);
  min-width: 0;
  min-height: 6rem;
  padding: var(--space-sm);
  background: var(--color-surface-muted);
}

.verifier-checks li.passed {
  background: color-mix(in oklch, var(--color-good-soft) 44%, var(--color-paper));
}

.verifier-checks li.failed {
  background: color-mix(in oklch, var(--color-risk-soft) 54%, var(--color-paper));
}

.verifier-checks li.notice {
  background: color-mix(in oklch, var(--color-warn-soft) 48%, var(--color-paper));
}

.verifier-checks strong,
.verifier-checks p {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.3;
}

.verifier-checks strong {
  color: var(--color-ink);
  font-size: var(--text-sm);
}

.verifier-checks p {
  color: var(--color-muted);
  font-size: 0.68rem;
  font-weight: 650;
}

.trace-budget {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  margin-top: var(--space-sm);
  overflow: hidden;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  background: var(--color-rule);
}

.trace-budget div {
  display: grid;
  gap: var(--space-2xs);
  min-width: 0;
  min-height: 4.75rem;
  align-content: center;
  padding: var(--space-sm);
  background: var(--color-paper);
}

.trace-budget span {
  color: var(--color-muted);
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.trace-budget strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--color-ink);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1.25;
}

.filter-bar {
  border-radius: var(--radius-panel);
}

.filter-chip {
  min-height: 2.5rem;
}

.readiness-list {
  max-height: 31rem;
  overflow: auto;
}

@media (max-width: 82rem) {
  .pitch-review-rows {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (hover: hover) and (pointer: fine) {
  .section-tab:hover,
  .export-menu summary:hover,
  .nav-jump:hover {
    transform: translateY(-1px);
  }
}

@media (max-width: 68rem) {
  .event-hero,
  .product-strip,
  .hackathon-profile-strip,
  .pipeline-strip,
  .guide-strip,
  .review-room-strip,
  .guided-tour,
  .overview-layout,
  .action-board,
  .section-panel[data-section-panel="queue"].is-active,
  .section-panel[data-section-panel="setup"] .source-rail {
    grid-template-columns: 1fr;
  }

  .field-comparison-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pitch-review-head,
  .pitch-review-rows,
  .prize-brief-head,
  .draft-card-head,
  .judge-memo-grid,
  .draft-review-card ul,
  .visitor-brief ul {
    grid-template-columns: 1fr;
  }

  .decision-path-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .prize-actions {
    justify-content: flex-start;
    max-width: none;
  }

  .quick-path {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .outcome-preview ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rubric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pitch-review-rows li,
  .judge-memo-grid li,
  .decision-path-steps li,
  .draft-review-card li,
  .visitor-brief li {
    min-height: auto;
  }

  .draft-card-actions .primary-button,
  .draft-card-actions .secondary-button,
  .draft-card-actions .text-button,
  .visitor-brief-actions .primary-button,
  .visitor-brief-actions .secondary-button {
    width: 100%;
  }

  .event-hero {
    min-height: auto;
    align-items: start;
  }

  .fix-list {
    position: static;
  }

  .section-panel[data-section-panel="setup"] .source-module {
    border-right: 0;
    border-bottom: 1px solid var(--color-rule);
  }

  .section-panel[data-section-panel="setup"] .source-module:last-child {
    border-bottom: 0;
  }

  .product-strip article {
    min-height: auto;
    border-left: 0;
    border-top: 1px solid var(--color-rule);
  }

  .product-strip article:first-child {
    border-top: 0;
  }

  .room-stats {
    border-left: 0;
    border-top: 1px solid var(--color-rule);
  }

  .profile-stats {
    border-left: 0;
    border-top: 1px solid var(--color-rule);
  }

  .pipeline-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--color-rule);
  }

  .pipeline-grid article {
    border-left: 1px solid var(--color-rule);
    border-bottom: 1px solid var(--color-rule);
  }

  .pipeline-grid article:nth-child(3n + 1) {
    border-left: 1px solid var(--color-rule);
  }

  .pipeline-grid article:nth-child(2n + 1) {
    border-left: 0;
  }

  .pipeline-grid article:nth-last-child(-n + 3) {
    border-bottom: 1px solid var(--color-rule);
  }

  .pipeline-grid article:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .room-actions {
    border-top: 1px solid var(--color-rule);
  }

  .qtip {
    border-top: 1px solid var(--color-rule);
    border-left: 0;
  }

  .inline-qtip {
    border-left: 1px solid var(--color-rule);
  }

  .qtip:first-of-type {
    border-top: 0;
  }

  .tour-actions {
    justify-content: stretch;
  }

  .tour-actions button {
    flex: 1 1 8rem;
  }

  .topbar {
    position: static;
  }

  .section-tabs {
    top: 0;
  }

  .ops-map > summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .ops-map > summary em {
    white-space: normal;
  }
}

@media (max-width: 44rem) {
  .topbar {
    align-items: stretch;
    flex-direction: column;
  }

  .topbar-actions {
    justify-content: space-between;
  }

  .profile-stats,
  .pipeline-grid {
    grid-template-columns: 1fr;
  }

  .profile-stats article,
  .pipeline-grid article,
  .pipeline-grid article:nth-child(2n + 1),
  .pipeline-grid article:nth-child(3n + 1),
  .pipeline-grid article:nth-last-child(-n + 2),
  .pipeline-grid article:nth-last-child(-n + 3) {
    border-left: 0;
    border-bottom: 1px solid var(--color-rule);
  }

  .profile-stats article {
    border-top: 1px solid var(--color-rule);
    border-bottom: 0;
  }

  .profile-stats article:first-child {
    border-top: 0;
  }

  .pipeline-grid article:last-child {
    border-bottom: 0;
  }

  .nav-jump {
    display: none;
  }

  .export-menu {
    margin-left: auto;
  }

  .export-menu-panel {
    right: 0;
    grid-template-columns: 1fr;
    min-width: 11rem;
  }

  .room-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .room-stats article:nth-child(2n) {
    border-right: 0;
  }

  .room-actions .text-button,
  .room-actions .secondary-button {
    width: 100%;
  }

  .review-focus-options,
  .starter-row,
  .quick-starters,
  .quick-actions,
  .intake-path,
  .outcome-preview ul,
  .rubric-grid,
  .verifier-head,
  .verifier-checks,
  .empty-review-state ol,
  .empty-route,
  .trace-budget,
  .visitor-mode,
  .bright-actions,
  .action-board ul,
  .review-coach-checks,
  .flight-recorder-stages,
  .decision-path-steps,
  .prize-lanes,
  .prize-pressure,
  .fix-score-strip,
  .fix-card-grid,
  .field-comparison-grid,
  .quick-path,
  .mode-ladder,
  .trace-timeline ol {
    grid-template-columns: 1fr;
  }

  .first-run-promise {
    grid-template-columns: 1fr;
  }

  .receipt-teaser {
    grid-template-columns: 1fr;
  }

  .receipt-teaser .text-button {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
  }

  .quick-starters > span {
    padding-inline: 0;
  }

  .visitor-mode article {
    border-left: 0;
    border-top: 1px solid var(--color-rule);
  }

  .visitor-mode article:first-child {
    border-top: 0;
  }

  .fix-score-strip > div {
    border-left: 0;
    border-top: 1px solid var(--color-rule);
  }

  .fix-score-strip > div:first-child {
    border-top: 0;
  }

  .action-buttons {
    justify-content: stretch;
  }

  .action-buttons .secondary-button,
  .action-buttons .primary-button {
    flex: 1 1 100%;
  }

  .decision-path-actions .primary-button,
  .decision-path-actions .secondary-button,
  .decision-path-actions span {
    width: 100%;
    margin-left: 0;
  }

  .workbench {
    gap: var(--space-md);
    padding-block: var(--space-md) var(--space-xl);
  }

  .event-hero {
    gap: var(--space-sm);
    padding-top: var(--space-sm);
  }

  .event-hero h1 {
    font-size: clamp(2.45rem, 16vw, 3.5rem);
  }

  .hero-subtitle {
    font-size: var(--text-base);
    line-height: 1.45;
  }

  .decision-card {
    padding: var(--space-sm);
  }

  .hero-controls,
  .hero-controls .field.compact,
  .hero-controls .primary-button,
  .hero-copy .status-line {
    width: 100%;
  }

  .hero-controls .secondary-button {
    flex: 1 1 calc(50% - var(--space-xs));
    padding-inline: var(--space-sm);
  }

  .quick-actions .primary-button,
  .quick-actions .text-button {
    width: 100%;
  }

  .tip-panel {
    left: auto;
    right: 0;
    width: min(17rem, calc(100vw - 2rem));
  }

  .focus-strip,
  .proof-head,
  .review-notes,
  .market-position,
  .proof-highlights,
  .score-grid {
    grid-template-columns: 1fr;
  }

  .market-position article {
    min-height: auto;
  }

  .proof-head {
    align-items: start;
    flex-direction: column;
  }

  .route-verdict {
    align-self: flex-start;
    white-space: normal;
  }

  .reviewer-intake .module-head {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-2xs);
  }

  .selection-drawer summary strong {
    max-width: 9rem;
    color: transparent;
    font-size: 0;
  }

  .selection-drawer summary strong::before {
    content: attr(data-mobile-label);
    display: inline;
    color: var(--color-muted);
    font-size: var(--text-xs);
  }

  .section-tab {
    flex: 1 1 0;
    min-width: 0;
    min-height: 2.5rem;
    padding-inline: var(--space-2xs);
    font-size: var(--text-xs);
  }

  .score-tile {
    border-right: 0;
  }

  .analysis-drawer summary,
  .receipt-drawer summary {
    align-items: flex-start;
  }

  .analysis-drawer summary strong {
    display: none;
  }
}

/* Stabilization pass: preserve the workflow, remove scroll traps and oversized dashboard text. */
.fix-list,
.overview-layout > .proof-topology,
.source-rail,
.evidence-rail {
  position: static !important;
  top: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.sponsor-matrix {
  min-width: 0;
  overflow: hidden;
}

.matrix-grid {
  gap: 0;
  min-width: 0;
}

.matrix-row {
  grid-template-columns: 1fr;
  gap: var(--space-xs);
  min-width: 0;
  padding-block: var(--space-sm);
}

.matrix-project {
  min-width: 0;
  min-height: 2.5rem;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-control);
  padding: var(--space-xs) var(--space-sm);
  background: var(--color-paper);
}

.matrix-project strong,
.matrix-project span {
  min-width: 0;
  white-space: nowrap;
}

.matrix-cells {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
}

.matrix-cell {
  min-width: 0;
  min-height: 2.55rem;
  padding: var(--space-xs);
}

.matrix-cell strong,
.matrix-cell small {
  min-width: 0;
  font-family: var(--font-body);
  letter-spacing: 0;
  text-transform: none;
}

.matrix-cell strong {
  font-size: var(--text-sm);
  line-height: 1.15;
}

.matrix-cell small {
  font-size: var(--text-xs);
  line-height: 1.2;
}

.event-date,
.context-brief span,
.quick-review-head span,
.intake-path strong,
.fix-score-strip span,
.fix-card-grid span,
.route-verdict,
.route-node span,
.judge-memo-head span,
.judge-memo-grid span,
.bright-delta span,
.decision-path-copy span,
.decision-path-actions span,
.prize-brief-head span,
.prize-lane span,
.prize-pressure span,
.trace-budget span,
.room-copy span,
.guide-copy span,
.review-coach-head span {
  font-family: var(--font-body);
  letter-spacing: 0;
  text-transform: none;
}

.fix-score-strip > div:first-child strong,
.focus-strip h2,
.judge-memo-head h3,
.score-block strong,
.score-block.is-proof-status strong,
.empty-review-state strong,
.empty-scorecard h2 {
  font-size: clamp(1.25rem, 2.2vw, 2rem);
  line-height: 1.12;
}

.score-block strong {
  font-size: clamp(2rem, 4vw, 3rem);
}

.focus-strip h2 {
  max-width: 22ch;
}

.judge-memo-head h3 {
  max-width: 24ch;
}

.empty-review-state,
.empty-scorecard {
  gap: var(--space-sm);
}

.empty-review-state > div,
.empty-scorecard > div:first-child {
  display: grid;
  gap: var(--space-2xs);
  max-width: 52ch;
}

.empty-review-state ol,
.empty-route,
.decision-path-steps {
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
}

.route-node {
  min-height: 5.25rem;
  gap: var(--space-2xs);
}

.decision-path-copy h3 {
  font-size: var(--text-base);
  line-height: 1.25;
}

.decision-path-actions {
  align-items: center;
}

@media (max-width: 58rem) {
  .matrix-cells {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 34rem) {
  .matrix-cells {
    grid-template-columns: 1fr;
  }

  .matrix-project strong,
  .matrix-project span {
    white-space: normal;
  }
}
