:root {
  color-scheme: light;
  --ink: #11131f;
  --ink-soft: #232737;
  --muted: #687080;
  --muted-strong: #4d5565;
  --canvas: #f3f4f7;
  --surface: #ffffff;
  --surface-subtle: #fafbfc;
  --line: #e3e6ec;
  --line-strong: #d4d8e1;
  --indigo: #4f46df;
  --indigo-hover: #3f37c4;
  --danger: #8d1725;
  --danger-hover: #73101c;
  --success: #237a45;
  --success-bg: #e6f8eb;
  --violet: #5a3fc0;
  --violet-bg: #efedff;
  --amber: #8b5a11;
  --amber-bg: #fff3d5;
  --error: #a11f35;
  --error-bg: #fde9ed;
  --info: #335b9f;
  --info-bg: #eaf1ff;
  --radius-sm: 0.45rem;
  --radius-md: 0.75rem;
  --radius-lg: 1.05rem;
  --shadow-card: 0 0.7rem 2.2rem rgb(25 31 47 / 0.07);
  --shadow-float: 0 1rem 3rem rgb(17 19 31 / 0.18);
  --content-width: 74rem;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

html {
  background: var(--canvas);
  font-family: var(--font-sans);
  color: var(--ink);
  line-height: 1.45;
}

body {
  min-width: 20rem;
  min-height: 100vh;
  margin: 0;
  background: var(--canvas);
  font-size: 1rem;
}

a {
  color: var(--indigo);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.2em;
}

a:hover {
  color: var(--indigo-hover);
}

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

button,
input[type="submit"] {
  cursor: pointer;
}

:focus-visible {
  outline: 0.2rem solid #6c7cff;
  outline-offset: 0.18rem;
}

.site-header {
  position: relative;
  z-index: 10;
  background: #151827;
  color: #fff;
  box-shadow: 0 0.15rem 0.5rem rgb(17 19 31 / 0.18);
}

.site-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(calc(100% - 2rem), var(--content-width));
  min-height: 4.5rem;
  margin: 0 auto;
  gap: 2rem;
}

.site-brand,
.site-nav__links > a {
  color: #fff;
  text-decoration: none;
}

.site-brand {
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: 0.045em;
}

.site-nav__links {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-weight: 650;
}

.site-nav__links form {
  margin: 0;
}

.page-shell {
  width: min(calc(100% - 2rem), var(--content-width));
  margin: 0 auto;
  padding: 2.25rem 0 4rem;
}

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

h1,
h2,
h3 {
  color: var(--ink);
  line-height: 1.15;
}

h1 {
  margin-bottom: 0.55rem;
  font-size: clamp(1.7rem, 3vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -0.035em;
}

h2 {
  margin-bottom: 0.75rem;
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-weight: 780;
  letter-spacing: -0.02em;
}

h3 {
  margin-bottom: 0.55rem;
  font-size: 1.08rem;
  font-weight: 760;
}

.page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 1.75rem;
}

.page-header__copy > :last-child,
.section-heading > :last-child {
  margin-bottom: 0;
}

.page-subtitle,
.muted {
  color: var(--muted);
}

.page-subtitle {
  max-width: 48rem;
  margin-bottom: 0;
  font-size: 1.08rem;
}

.eyebrow {
  margin-bottom: 0.45rem;
  color: var(--muted-strong);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.actions,
.button-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.button,
button,
input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.7rem;
  border: 0;
  border-radius: var(--radius-sm);
  padding: 0.68rem 1rem;
  background: var(--ink-soft);
  color: #fff;
  font-weight: 680;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 0.16rem 0.28rem rgb(17 19 31 / 0.12);
  transition: background-color 120ms ease, transform 120ms ease, box-shadow 120ms ease;
}

.button:hover,
button:hover,
input[type="submit"]:hover {
  background: var(--ink);
  color: #fff;
  transform: translateY(-0.05rem);
  box-shadow: 0 0.35rem 0.7rem rgb(17 19 31 / 0.16);
}

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

.button--indigo {
  background: var(--indigo);
}

.button--indigo:hover {
  background: var(--indigo-hover);
}

.button--danger {
  background: var(--danger);
}

.button--danger:hover {
  background: var(--danger-hover);
}

.button--secondary,
button.button--secondary {
  border: 1px solid var(--line-strong);
  background: var(--surface);
  color: var(--ink-soft);
  box-shadow: 0 0.1rem 0.25rem rgb(17 19 31 / 0.05);
}

.button--secondary:hover,
button.button--secondary:hover {
  border-color: #b9bfcb;
  background: var(--surface-subtle);
  color: var(--ink);
}

.button--muted {
  background: #9ba0aa;
}

.button--small {
  min-height: 2.35rem;
  padding: 0.55rem 0.85rem;
  font-size: 0.92rem;
}

.card,
.panel {
  border: 1px solid rgb(227 230 236 / 0.92);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-card);
}

.card {
  padding: clamp(1.2rem, 3vw, 2rem);
}

.panel {
  overflow: hidden;
}

.panel + .panel,
.card + .card {
  margin-top: 1.5rem;
}

.section-heading {
  padding: 1.35rem 1.5rem 1.2rem;
  border-bottom: 1px solid var(--line);
}

.table-scroll {
  width: 100%;
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
  background: var(--surface);
}

th,
td {
  padding: 1.15rem 1.2rem;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

th {
  background: var(--surface-subtle);
  color: var(--muted-strong);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  line-height: 1.25;
  text-transform: uppercase;
}

tbody tr:last-child td {
  border-bottom: 0;
}

tbody tr:hover td {
  background: #fcfcfe;
}

.cell-title {
  display: block;
  color: var(--ink);
  font-weight: 750;
}

.cell-meta {
  display: block;
  margin-top: 0.18rem;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.35;
}

.status {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  border-radius: 999px;
  padding: 0.25rem 0.65rem;
  background: #eef0f4;
  color: var(--muted-strong);
  font-size: 0.82rem;
  font-weight: 760;
  line-height: 1;
  white-space: nowrap;
}

.status--success,
.status--covered,
.status--coverable,
.status--known,
.status--passed,
.status--accepted,
.status--current {
  background: var(--success-bg);
  color: var(--success);
}

.status--violet,
.status--extracted,
.status--schema_extracted {
  background: var(--violet-bg);
  color: var(--violet);
}

.status--warning,
.status--stale,
.status--pending,
.status--not_applicable,
.status--blocked_by_external,
.status--indirectly_coverable,
.status--unresolved {
  background: var(--amber-bg);
  color: var(--amber);
}

.status--error,
.status--rejected,
.status--uncoverable,
.status--revoked {
  background: var(--error-bg);
  color: var(--error);
}

code,
.code-chip {
  border-radius: 0.32rem;
  background: #f1f2f5;
  color: #303644;
  font-family: var(--font-mono);
  font-size: 0.88em;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Keep opaque identities readable without allowing a narrow grid cell to collapse
   to a one-character column. This shared rule covers hashes, fingerprints, trace
   IDs and provider identities on module, evaluation and simulator surfaces. */
.definition-grid dd,
.history-list li,
.proposal-card,
.review-layout > *,
.session-metadata dd {
  min-width: 0;
}

.definition-grid code,
.history-list code,
.proposal-card code,
.review-layout code,
.session-metadata code {
  display: inline;
  overflow-wrap: anywhere;
  word-break: normal;
}

code {
  padding: 0.16em 0.38em;
}

pre {
  font-family: var(--font-mono);
}

.definition-grid {
  display: grid;
  grid-template-columns: minmax(9rem, 0.35fr) minmax(0, 1fr);
  margin: 0;
  gap: 0;
}

.definition-grid dt,
.definition-grid dd {
  margin: 0;
  padding: 0.55rem 0;
}

.definition-grid dt {
  color: var(--muted-strong);
  font-weight: 730;
}

.definition-grid dd {
  color: var(--ink);
}

.summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}

.summary-stat {
  min-height: 6.2rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 1rem;
  background: var(--surface);
}

.summary-stat__value {
  display: block;
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: -0.025em;
}

.summary-stat__label {
  display: block;
  margin-top: 0.25rem;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 650;
}

label {
  display: block;
  margin-bottom: 0.42rem;
  color: var(--ink-soft);
  font-size: 0.92rem;
  font-weight: 700;
}

input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  width: 100%;
  min-height: 2.85rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  padding: 0.7rem 0.85rem;
  background: var(--surface);
  color: var(--ink);
  box-shadow: inset 0 1px 2px rgb(17 19 31 / 0.04);
}

input::placeholder,
textarea::placeholder {
  color: #989eaa;
}

.form-field {
  margin-bottom: 1rem;
}

.form-help,
.helptext {
  display: block;
  margin-top: 0.35rem;
  color: var(--muted);
  font-size: 0.86rem;
}

.form-card {
  max-width: 42rem;
}

.message-stack {
  display: grid;
  gap: 0.65rem;
  margin-bottom: 1.25rem;
}

.message {
  margin: 0;
  border-radius: var(--radius-md);
  padding: 0.85rem 1rem;
  background: var(--info-bg);
  color: var(--info);
  font-weight: 650;
}

.message--success {
  background: var(--success-bg);
  color: var(--success);
}

.message--error {
  background: var(--error-bg);
  color: var(--error);
}

.message--warning {
  background: var(--amber-bg);
  color: var(--amber);
}

.notice {
  border-left: 0.28rem solid currentColor;
  border-radius: var(--radius-sm);
  padding: 0.85rem 1rem;
  background: var(--info-bg);
  color: var(--info);
}

.notice--success {
  background: var(--success-bg);
  color: var(--success);
}

.notice--warning {
  background: var(--amber-bg);
  color: var(--amber);
}

.notice--error {
  background: var(--error-bg);
  color: var(--error);
}

.notice + .notice,
.notice + .card,
.notice + .panel {
  margin-top: 0.75rem;
}

.version-overview,
.pipeline-progress,
.module-workspace,
.source-evidence,
.artifact-summary,
.data-panel,
.integrity-issues {
  margin-top: 1.5rem;
}

.pipeline-progress__steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
  border-top: 1px solid var(--line);
}

.pipeline-step {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.55rem 0.7rem;
  align-content: start;
  min-width: 0;
  padding: 1rem;
  border-right: 1px solid var(--line);
  border-bottom: 3px solid transparent;
}

.pipeline-step:last-child {
  border-right: 0;
}

.pipeline-step--current {
  background: var(--surface-subtle);
  border-bottom-color: var(--indigo);
}

.pipeline-step--stale {
  background: var(--warning-bg);
  border-bottom-color: var(--warning);
}

.pipeline-step--not_applicable {
  background: var(--surface-subtle);
}

.pipeline-step__marker {
  display: grid;
  width: 1.65rem;
  height: 1.65rem;
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 760;
}

.pipeline-step--fresh .pipeline-step__marker {
  border-color: var(--success);
  background: var(--success-bg);
  color: var(--success);
}

.pipeline-step__copy {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.pipeline-step__detail,
.pipeline-step__stale,
.pipeline-action__reason {
  color: var(--muted);
  font-size: 0.78rem;
}

.pipeline-step__stale {
  color: var(--warning);
  font-weight: 700;
}

.pipeline-step > .status {
  grid-column: 2;
  justify-self: start;
}

.pipeline-actions__list {
  display: grid;
  gap: 0.65rem;
  margin-top: 1rem;
}

.pipeline-action {
  display: grid;
  gap: 0.25rem;
}

.pipeline-action form,
.pipeline-action button {
  width: 100%;
  margin: 0;
}

.pipeline-action button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

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

.workspace-grid > section {
  min-width: 0;
  padding: 1.4rem 1.5rem 1.55rem;
  border-right: 1px solid var(--line);
}

.workspace-grid > section:last-child {
  border-right: 0;
}

.workspace-grid .button-row form {
  margin: 0;
}

.evidence-list > li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--line);
}

.companion-source {
  padding: 1.35rem 1.5rem;
  background: var(--surface-subtle);
}

.inline-upload {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.artifact-summary__heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.artifact-counts {
  padding: 1.25rem 1.5rem;
}

.artifact-summary details {
  margin: 0 1.5rem 1.5rem;
}

.lineage {
  margin-top: 0.85rem;
  margin-bottom: 0;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.7;
}

.coverage-summary {
  margin-bottom: 1.5rem;
}

.coverage-summary dl {
  margin-top: 0;
  margin-bottom: 0;
}

.coverage-summary dt,
.coverage-summary dd {
  margin-left: 0;
}

.coverage-summary .summary-stat__value {
  margin-top: 0.2rem;
}

.coverage-results .row-number {
  color: var(--muted-strong);
  font-weight: 750;
}

.metric-cell {
  display: block;
  color: var(--ink-soft);
  font-weight: 730;
  white-space: nowrap;
}

.review-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 1.5rem;
}

.review-section-heading,
.proposal-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.review-section-heading form,
.proposal-card form {
  margin: 0;
}

.evaluation-run-form {
  display: grid;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--line);
  background: var(--surface-subtle);
}

.pre-run-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.pre-run-heading h3,
.preview-ambiguities h4 {
  margin: 0;
}

.preview-selection {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
}

.preview-selection div,
.preview-ambiguities {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 0.85rem 1rem;
  background: var(--surface);
}

.preview-selection dt {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.preview-selection dd {
  margin: 0.25rem 0 0;
  font-weight: 700;
}

.preview-ambiguities ol {
  margin-bottom: 0;
  padding-left: 1.4rem;
}

.preview-ambiguities li + li {
  margin-top: 0.75rem;
}

.preview-ambiguities p {
  margin: 0.25rem 0 0;
}

.evaluation-history-table {
  min-width: 54rem;
  table-layout: fixed;
}

.harness-evidence-toggle {
  background: var(--surface-subtle);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  margin-block: 1rem;
  padding: 0.75rem;
}

.harness-evidence-toggle summary {
  cursor: pointer;
  font-weight: 700;
}

.harness-evidence-toggle p {
  margin: 0.75rem 0;
}

.harness-evidence {
  background: repeating-linear-gradient(
    135deg,
    color-mix(in srgb, var(--amber-bg) 72%, transparent),
    color-mix(in srgb, var(--amber-bg) 72%, transparent) 10px,
    transparent 10px,
    transparent 20px
  );
  border-color: var(--amber);
}

.evidence-provenance-label {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  margin-top: 0.25rem;
  text-transform: uppercase;
}

.evaluation-history-table th:nth-child(1) { width: 9.5rem; }
.evaluation-history-table th:nth-child(2) { width: 12rem; }
.evaluation-history-table th:nth-child(3) { width: 11rem; }
.evaluation-history-table th:nth-child(4) { width: 7rem; }
.evaluation-history-table th:nth-child(5) { width: 8rem; }
.evaluation-history-table th:nth-child(6) { width: 6rem; }
.evaluation-history-table th:nth-child(7) { width: 9rem; }

.evaluation-history-table td {
  overflow-wrap: anywhere;
}

.check-count {
  display: block;
  white-space: nowrap;
}

.check-count--passed { color: var(--success); }
.check-count--failed { color: var(--error); }

[data-testid="evaluation-models"] span {
  display: block;
}

.evaluation-purpose-row > td {
  background: var(--surface-subtle);
  border-bottom: 2px solid var(--line);
  padding: 0;
}

.evaluation-purpose {
  display: grid;
  gap: 1rem;
  padding: 1rem 1.25rem 1.25rem;
}

.evaluation-purpose h3,
.evaluation-purpose h4,
.evaluation-purpose p {
  margin: 0;
}

.evaluation-purpose section {
  display: grid;
  gap: 0.45rem;
}

.evaluation-purpose dl,
.evaluation-model-header,
.evidence-facts {
  display: grid;
  gap: 0.5rem;
  margin: 0;
}

.evaluation-purpose dl > div,
.evaluation-model-header > div,
.evidence-facts > div {
  display: grid;
  gap: 0.25rem;
  grid-template-columns: minmax(9rem, 0.35fr) minmax(0, 1fr);
}

.evaluation-purpose dt,
.evaluation-model-header dt,
.evidence-facts dt {
  font-weight: 700;
  text-transform: capitalize;
}

.evaluation-purpose dd,
.evaluation-model-header dd,
.evidence-facts dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.evaluation-finding {
  border-left: 3px solid var(--indigo);
  display: grid;
  gap: 0.35rem;
  padding-left: 0.75rem;
}

.evaluation-run-form pre {
  max-width: 100%;
  overflow: auto;
  white-space: pre-wrap;
}

.evaluation-model-header {
  margin-top: 0.75rem;
}

.evaluation-check-list,
.evidence-documents {
  display: grid;
  gap: 1rem;
  padding: 1rem 1.5rem;
}

.evaluation-check-list li {
  display: grid;
  gap: 0.5rem;
}

.evaluation-check-list pre,
.evidence-documents pre {
  max-width: 100%;
  overflow: auto;
  white-space: pre-wrap;
}

.collection-note,
.overlay-state {
  margin: 0;
  padding: 0.85rem 1.5rem;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
}

.history-list > li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.8rem;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--line);
}

.history-list > .evaluation-history-row {
  grid-template-columns: minmax(10rem, auto) minmax(16rem, 1fr);
}

.evaluation-history-row > :nth-child(n + 3) {
  grid-column: 1 / -1;
}

.history-list > li:last-child {
  border-bottom: 0;
}

.proposal-list {
  display: grid;
  gap: 1rem;
  padding: 1rem;
  background: var(--surface-subtle);
}

.proposal-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 1.15rem;
  background: #fff;
}

.proposal-kind {
  display: block;
  margin-bottom: 0.25rem;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.proposal-path {
  color: var(--muted);
  font-size: 0.86rem;
}

.review-sidebar {
  position: sticky;
  top: 1.25rem;
}

.simulator-page .site-header {
  display: none;
}

.simulator-page .page-shell {
  width: 100%;
  max-width: none;
  padding: 0;
}

.simulator-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 5.35rem;
  gap: 1rem;
  padding: 1rem 2rem;
  background: #151827;
}

.simulator-header h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.35rem, 2.4vw, 1.8rem);
}

.simulator-header h1 span {
  color: #aeb4ca;
  font-size: 0.72em;
  font-weight: 650;
}

.model-identity-header {
  display: flex;
  min-width: 0;
  flex: 1 1 30rem;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
  color: #f4f5fa;
  font-size: 0.82rem;
}

.model-identity-header strong {
  flex-basis: 100%;
  overflow-wrap: anywhere;
}

.model-identity-header code {
  color: inherit;
  overflow-wrap: anywhere;
}

.simulator-header__button {
  background: #34394d;
}

.simulator-header__button:hover {
  background: #424960;
}

.simulator-layout {
  display: grid;
  width: min(100% - 2rem, 54rem);
  min-width: 0;
  margin: 0 auto;
  padding: 2rem 0 4rem;
  gap: 1rem;
  background: #f5f6f8;
}

.simulator-config-pane,
.simulator-runs-pane,
.simulator-detail-pane {
  display: grid;
  min-width: 0;
  align-content: start;
  gap: 1rem;
  padding: 0;
}

.simulator-runs-pane {
  padding: 0.85rem 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
}

.simulator-runs-pane > h2,
.simulator-runs-pane > p,
.simulator-detail-pane > h2 {
  margin: 0;
}

.simulator-run-list {
  display: grid;
  gap: 0.6rem;
}

.simulator-run-list a {
  display: grid;
  gap: 0.18rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 0.7rem;
  color: inherit;
  text-decoration: none;
}

.simulator-run-list [aria-current="true"] a {
  border-color: var(--violet);
  background: var(--violet-bg);
}

.simulator-run-list span {
  color: var(--muted);
  font-size: 0.8rem;
}

.simulator-card {
  min-width: 0;
  max-width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 1.25rem;
  background: #fff;
  box-shadow: 0 0.25rem 0.8rem rgb(17 19 31 / 0.04);
}

.simulator-new-run {
  display: grid;
  min-width: 0;
  max-width: 100%;
  gap: 1rem;
}

.simulator-new-run > summary {
  cursor: pointer;
  font-weight: 750;
}

.simulator-layout[data-session-id=""] .simulator-new-run > summary {
  display: none;
}

.simulator-layout:not([data-session-id=""]) .simulator-new-run {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 0.85rem 1rem;
  background: #fff;
}

.simulator-layout[data-session-id=""] .simulator-detail-pane {
  display: none;
}

.simulator-secondary > summary {
  cursor: pointer;
  color: var(--ink-soft);
  font-weight: 750;
}

.simulator-secondary[open] > summary {
  margin-bottom: 1rem;
}

.simulator-card.simulator-secondary:not([open]) {
  padding-block: 0.85rem;
  box-shadow: none;
}

.simulator-session-metadata,
.session-metadata {
  margin-top: 0.75rem;
}

.simulator-card h2 {
  font-size: 1.2rem;
}

.session-metadata {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  margin: 0 0 1rem;
  gap: 0.28rem 0.4rem;
  font-size: 0.86rem;
}

.session-metadata dt {
  font-weight: 730;
}

.session-metadata dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.respondent-setup {
  margin: 1rem 0 0;
  border: 0;
  border-top: 1px solid var(--line);
  padding: 1rem 0 0;
}

.respondent-setup legend {
  padding: 0 0.35rem;
  color: var(--ink-soft);
  font-weight: 780;
}

.respondent-setup > p {
  margin: 0 0 0.7rem;
  color: var(--muted);
  font-size: 0.82rem;
}

.respondent-kind-options {
  display: flex;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

.llm-setup {
  display: grid;
  gap: 0.45rem;
  margin-top: 1rem;
  border-top: 1px solid var(--line);
  padding-top: 1rem;
}

[data-llm-only][hidden] {
  display: none !important;
}

.simulator-layout[data-selected-respondent-kind="human"] .run-full-interview,
.simulator-layout[data-selected-respondent-kind="human"] .run-progress {
  display: none;
}

.simulator-layout:not([data-session-id=""])[data-selected-respondent-kind="human"]
  .simulator-new-run:not([open]) ~
  [data-testid="session-actions-panel"]
  [data-testid="step-one-question"] {
  display: none;
}

.simulator-layout[data-session-id=""] [data-session-action="restart"],
.simulator-layout[data-session-id=""] [data-session-action="abandon"] {
  display: none;
}

[data-testid="scenario-context-panel"] > fieldset {
  margin-top: 1rem;
}

[data-testid="scenario-optional-context"] {
  margin-bottom: 1rem;
}

[data-testid="scenario-optional-context"] fieldset {
  margin-top: 0.75rem;
}

.start-blockers {
  margin-bottom: 1rem;
  border-left: 0.25rem solid var(--error);
  padding: 0.7rem 0.85rem;
  background: #fff4f4;
  color: var(--error);
}

.start-blockers p {
  margin: 0;
}

.respondent-kind-options label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
}

.respondent-setup select:disabled {
  background: #f0f1f4;
}

.run-full-interview {
  background: var(--violet);
}

.run-progress {
  width: 100%;
}

.run-inputs-panel pre {
  max-height: 12rem;
  overflow: auto;
  white-space: pre-wrap;
}

.run-input-row {
  border-top: 1px solid var(--line, #cbd5e1);
  margin-top: 1rem;
  padding-top: 1rem;
}

.run-input-row label,
.run-inputs-panel fieldset label {
  display: grid;
  gap: 0.35rem;
  margin-top: 0.75rem;
}

.run-status {
  min-height: 1.35rem;
  margin: 0.65rem 0 0;
  color: var(--muted-strong);
  font-size: 0.88rem;
  font-weight: 650;
}

.run-status[data-state="error"] {
  color: var(--error);
}

.persona-answer-note {
  margin: 1rem 0 0;
  border-left: 0.2rem solid var(--magenta);
  padding: 0.55rem 0.75rem;
  background: #fff7fc;
  color: var(--muted-strong);
  font-size: 0.88rem;
}

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

.question-card {
  min-height: 0;
  padding: clamp(1.25rem, 4vw, 2.5rem);
}

.question-name {
  margin-bottom: 0.4rem;
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.question-wording {
  font-size: 1.18rem;
  font-weight: 680;
}

.answer-options {
  display: grid;
  gap: 0.5rem;
  margin-bottom: 1.15rem;
}

.answer-options li {
  display: grid;
  grid-template-columns: 1.8rem 1fr;
  align-items: center;
}

.answer-options li > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  background: #eef0f4;
  color: var(--ink-soft);
  font-size: 0.78rem;
  font-weight: 800;
}

.question-instruction {
  color: var(--muted-strong);
}

.answer-field {
  margin: 1rem 0;
}

.answer-error {
  min-height: 1.35rem;
  margin: 0.65rem 0 0;
  color: var(--error);
  font-size: 0.88rem;
  font-weight: 650;
}

.question-empty {
  min-height: 0;
  color: var(--muted);
}

.turn-audit article {
  margin: 0 1rem 1rem;
  border-top: 1px solid var(--line);
  padding-top: 1rem;
}

.model-audit {
  min-width: 0;
  max-width: 100%;
  background: var(--violet-bg);
  border-left: 0.2rem solid var(--violet);
  margin-top: 1rem;
  padding: 0.85rem 1rem;
}

.model-audit__summary {
  font-weight: 750;
  margin: 0 0 0.75rem;
}

.model-audit__grid,
.model-attempt__grid {
  font-size: 0.88rem;
}

.model-audit__grid code {
  overflow-wrap: anywhere;
}

.model-audit__badge {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 0.18rem 0.5rem;
  text-transform: uppercase;
}

.model-audit__badge--ok,
.model-audit__badge--cache_hit {
  border-color: var(--success);
  color: var(--success);
}

.model-audit__badge--fallback,
.model-audit__badge--invalid,
.model-audit__badge--timeout,
.model-audit__badge--error {
  border-color: var(--amber);
  color: var(--amber);
}

.model-attempts {
  border-top: 1px solid var(--line);
  margin-top: 0.75rem;
  padding-top: 0.75rem;
}

.model-input-blocks {
  display: grid;
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.model-input-blocks > section {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 0.75rem;
  background: #fff;
}

.model-input-blocks h4,
.model-input-blocks p {
  margin-top: 0;
}

.model-raw-request > summary {
  cursor: pointer;
  font-weight: 700;
}

.model-attempts > summary {
  cursor: pointer;
  font-weight: 700;
}

.model-attempt {
  border-top: 1px dashed var(--line-strong);
  margin-top: 0.8rem;
  padding-top: 0.8rem;
}

.model-attempt h4,
.model-attempt h5 {
  margin: 0.65rem 0 0.4rem;
}

.model-attempt pre {
  background: var(--ink);
  border-radius: var(--radius-sm);
  color: var(--surface);
  font-family: var(--font-mono);
  font-size: 0.76rem;
  line-height: 1.45;
  margin: 0;
  max-height: 18rem;
  overflow: auto;
  padding: 0.8rem;
  white-space: pre-wrap;
  word-break: break-word;
}

.simulator-graph {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 0.85rem 1rem;
}

.route-sync-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 7.5rem;
  gap: 1rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--line);
  background: rgb(255 255 255 / 0.96);
}

.route-sync-header h2,
.route-sync-header p {
  margin: 0;
}

.route-sync-header h2 {
  font-size: 1.05rem;
}

.route-sync-header p {
  font-size: 0.82rem;
}

.highlight-legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.highlight-legend li {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  white-space: nowrap;
}

.highlight-legend li > span {
  width: 0.9rem;
  height: 0.9rem;
  border: 0.13rem solid #2f7c43;
  border-radius: 50%;
  background: #62d474;
}

.highlight-legend [data-highlight-colour="purple"] > span { border-color: #6551c7; background: #eeeaff; }
.highlight-legend [data-highlight-colour="yellow"] > span { border-color: #b2761a; background: #fff3bd; }
.highlight-legend [data-highlight-colour="red"] > span { border-color: #b82842; background: #fde4e9; }

.highlight-canvas {
  min-height: calc(100vh - 12.85rem);
  overflow: auto;
  padding: 2rem;
  background:
    radial-gradient(circle, #e1e4ea 1px, transparent 1px),
    #fff;
  background-size: 1.5rem 1.5rem;
}

.saved-graph-meta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  color: var(--muted);
  font-size: 0.82rem;
}

.saved-graph-meta p {
  margin: 0;
}

.saved-graph-canvas {
  position: relative;
  min-width: 42rem;
  min-height: 32rem;
  overflow: hidden;
}

.highlight-route {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  min-height: 26rem;
  gap: 3rem;
}

.highlight-node {
  position: relative;
  display: grid;
  width: 8rem;
  height: 8rem;
  place-items: center;
  border: 0.28rem solid #6551c7;
  border-radius: 50%;
  padding: 0.5rem;
  background: #eeeaff;
  text-align: center;
  box-shadow: 0 0.4rem 1rem rgb(17 19 31 / 0.12);
}

.highlight-node:not(:last-child)::after {
  position: absolute;
  top: 50%;
  left: calc(100% + 0.35rem);
  width: 2.3rem;
  border-top: 0.2rem dashed #9aa0ab;
  content: "";
}

.highlight-node span {
  max-width: 100%;
  font-weight: 760;
  overflow-wrap: anywhere;
}

.highlight-node small {
  position: absolute;
  top: calc(100% + 0.4rem);
  color: var(--muted);
  font-weight: 700;
}

.highlight-node--current { border-color: #2f7c43; background: #62d474; }
.highlight-node--previous { border-color: #b2761a; background: #fff3bd; }
.highlight-node--rejected { border-color: #b82842; background: #fde4e9; }

.graph-empty {
  display: grid;
  min-height: 24rem;
  place-items: center;
  color: var(--muted);
  text-align: center;
}

.login-page .page-shell {
  display: grid;
  min-height: calc(100vh - 4.5rem);
  place-items: center;
  padding: 2rem 0;
}

.login-card {
  width: min(100%, 28rem);
  padding: 2rem;
}

.login-mark {
  display: grid;
  width: 3.2rem;
  height: 3.2rem;
  margin-bottom: 1.25rem;
  place-items: center;
  border-radius: 0.8rem;
  background: var(--ink-soft);
  color: #fff;
  font-size: 1.55rem;
  font-weight: 850;
}

.login-card .page-subtitle {
  margin-bottom: 1.5rem;
}

.login-card ul.errorlist {
  margin: 0.35rem 0 0;
  padding-left: 1.1rem;
  color: var(--error);
  font-size: 0.85rem;
}

.login-submit {
  width: 100%;
}

.home-hero {
  display: grid;
  min-height: 32rem;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 5rem);
  padding: clamp(2rem, 6vw, 4.5rem);
  overflow: hidden;
}

.home-hero h1 {
  max-width: 12ch;
  font-size: clamp(2.8rem, 7vw, 5rem);
  letter-spacing: -0.055em;
}

.home-lede {
  max-width: 43rem;
  color: var(--muted);
  font-size: clamp(1.08rem, 2vw, 1.3rem);
}

.home-route {
  position: relative;
  display: grid;
  gap: 1rem;
}

.home-route::before {
  position: absolute;
  top: 2.5rem;
  bottom: 2.5rem;
  left: 1.4rem;
  width: 0.16rem;
  background: linear-gradient(var(--violet), var(--indigo), var(--success));
  content: "";
}

.home-route > div {
  position: relative;
  display: grid;
  grid-template-columns: 2.8rem 1fr;
  gap: 0 0.85rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 1rem;
  background: #fff;
  box-shadow: 0 0.4rem 1.2rem rgb(17 19 31 / 0.06);
}

.home-route span {
  z-index: 1;
  grid-row: span 2;
  color: var(--indigo);
  font-family: var(--font-mono);
  font-size: 0.82rem;
  font-weight: 800;
}

.home-route strong,
.home-route small {
  display: block;
}

.home-route small {
  color: var(--muted);
}

@media (max-width: 48rem) {
  .home-hero {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 64rem) {
  .simulator-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .simulator-config-pane,
  .simulator-runs-pane,
  .simulator-detail-pane {
    border-right: 0;
  }

  .simulator-graph {
    width: calc(100vw - 2rem);
    max-width: calc(100vw - 2rem);
  }
}

@media (max-width: 48rem) {
  .simulator-header,
  .route-sync-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .simulator-header {
    padding: 1rem;
  }

  .model-identity-header {
    flex-basis: auto;
    width: 100%;
  }
}

@media (max-width: 64rem) {
  .review-layout {
    grid-template-columns: 1fr;
  }

  .review-sidebar {
    position: static;
  }
}

@media (max-width: 48rem) {
  .review-section-heading,
  .proposal-card__header {
    flex-direction: column;
  }

  .history-list > li {
    grid-template-columns: 1fr;
  }

  .history-list > .evaluation-history-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .evaluation-history-row > * {
    grid-column: 1;
  }

  .pre-run-heading {
    flex-direction: column;
  }

  .preview-selection {
    grid-template-columns: 1fr;
  }

  .evaluation-purpose dl > div,
  .evaluation-model-header > div,
  .evidence-facts > div {
    grid-template-columns: 1fr;
  }
}

.empty-state {
  padding: 2.5rem 1.5rem;
  color: var(--muted);
  text-align: center;
}

.list-clean {
  margin: 0;
  padding: 0;
  list-style: none;
}

details {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

summary {
  cursor: pointer;
  padding: 1rem 1.1rem;
  font-weight: 730;
}

details > :not(summary) {
  margin-right: 1.1rem;
  margin-left: 1.1rem;
}

.stack {
  display: grid;
  gap: 1.5rem;
}

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

@media (max-width: 48rem) {
  .site-nav,
  .page-header {
    align-items: flex-start;
  }

  .site-nav {
    padding: 0.85rem 0;
  }

  .site-nav__links {
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.65rem;
  }

  .page-header {
    flex-direction: column;
    gap: 1rem;
  }

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

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

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

  .workspace-grid > section {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .workspace-grid > section:last-child {
    border-bottom: 0;
  }

  .inline-upload {
    grid-template-columns: 1fr;
  }

  .evidence-list > li,
  .artifact-summary__heading {
    align-items: stretch;
    flex-direction: column;
  }

  .definition-grid dt {
    padding-bottom: 0;
  }

  .definition-grid dd {
    padding-top: 0.2rem;
  }

  th,
  td {
    padding: 0.9rem;
  }
}

@media (max-width: 32rem) {
  .page-shell,
  .site-nav {
    width: min(calc(100% - 1.25rem), var(--content-width));
  }

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

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

/* Audit implementation: shared navigation, evidence and compact collections. */
.skip-link {
  position: absolute;
  top: 0;
  left: 1rem;
  z-index: 100;
  padding: 0.75rem;
  transform: translateY(-150%);
  background: var(--surface);
  color: var(--ink);
}
.skip-link:focus { transform: translateY(0); }
.site-nav__links > [aria-current] { text-decoration: underline; text-underline-offset: 0.45em; }
.page-header__copy, .panel, .card, .form-field, .page-heading, fieldset { min-width: 0; }
h1, h2, h3, h4, p, li, dt, dd, summary, label { overflow-wrap: anywhere; }
input, select, textarea { max-width: 100%; min-width: 0; }
pre { max-width: 100%; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
fieldset { margin: 0 0 1.2rem; border: 1px solid var(--line); border-radius: var(--radius-md); padding: 1rem; }
legend { font-weight: 730; padding: 0 0.35rem; }
.inline-evidence { border: 0; background: transparent; margin-top: 0.25rem; }
.inline-evidence summary { padding: 0.25rem 0; color: var(--muted-strong); font-size: 0.85rem; }
.inline-evidence > :not(summary) { margin: 0; }
.issue-summary-list, .coverage-cards, .field-stack { display: grid; gap: 1rem; }
.issue-summary, .coverage-card { min-width: 0; padding: 1.1rem 0; border-top: 1px solid var(--line); }
.issue-summary__heading h2, .issue-summary__heading h3 { margin: 0.65rem 0 0.35rem; }
.issue-summary p, .coverage-card p { max-width: 85ch; }
.issue-summary--error { border-left: 0.25rem solid var(--error); padding-left: 1rem; }
.issue-summary--warning { border-left: 0.25rem solid var(--amber); padding-left: 1rem; }
.issue-summary--info { border-left: 0.25rem solid var(--info); padding-left: 1rem; }
.status--info { background: var(--info-bg); color: var(--info); }
.issue-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 0.75rem; margin-bottom: 1.5rem; }
.issue-filters > div { flex: 1 1 10rem; min-width: 0; }
.issue-filters label { display: block; }
.pagination, .version-overview__actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-top: 1rem; }
.evidence-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.technical-paths { padding-left: 1.25rem; }
.review-sidebar { position: static; }
.coverage-card h3 { font-size: 1.1rem; }
.page-heading { margin-bottom: 1.5rem; }
@media (max-width: 48rem) {
  .evidence-comparison { grid-template-columns: 1fr; }
  .issue-filters > div, .issue-filters > button { flex-basis: 100%; }
  .site-nav { gap: 0.75rem; }
}
.persona-list-cards { display: grid; gap: 1rem; }
.persona-summary { display: flex; justify-content: space-between; align-items: start; gap: 1rem; padding: 1.1rem; border: 1px solid var(--line); border-radius: var(--radius-md); }
.persona-summary > div { min-width: 0; }
.persona-fact + .persona-fact { margin-top: 1rem; }
.persona-simulation-settings, .persona-technical-details { margin-top: 1rem; }
.preserve-lines { white-space: pre-line; }
.answer-options--selectable { display: grid; gap: 0.6rem; border: 0; padding: 0; }
.answer-options--selectable label { display: flex; align-items: baseline; gap: 0.6rem; padding: 0.85rem; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); cursor: pointer; margin: 0; }
.answer-options--selectable label:has(input:checked) { border-color: var(--indigo); background: var(--violet-bg); }
.answer-options--selectable label:focus-within { outline: 0.18rem solid var(--indigo); outline-offset: 0.1rem; }
.answer-options--selectable input { width: auto; min-height: auto; flex: 0 0 auto; margin: 0; }
.simulator-current-run { margin-bottom: 1rem; }
.route-context-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.response-domain + .response-domain { margin-top: 1.25rem; }
@media (max-width: 48rem) {
  .persona-summary { flex-direction: column; }
  .route-context-grid { grid-template-columns: 1fr; }
}
.page-shell > :is(.panel, .card, .stack) + :is(.panel, .card, .stack) { margin-top: 1.5rem; }
.panel > p, .panel > dl { margin: 1.1rem 1.4rem; }
.card > .section-heading { padding: 0 0 1rem; }
.coverage-card { padding: 1.25rem; }
.coverage-card > .section-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 0.6rem; padding: 0; margin-bottom: 0.75rem; border: 0; }
.coverage-card > .section-heading h3 { margin: 0; }
.review-ingestion-headline .summary-grid { margin: 0; padding: 1.25rem; }
.review-ingestion-headline dd { margin: 0.4rem 0 0; }
.issue-explanation, .technical-evidence, .question-detail-page .panel, .issue-index-page .panel { padding: 1.25rem; }
.issue-explanation > p, .technical-evidence > dl, .question-detail-page .panel > p, .question-detail-page .panel > dl { margin-left: 0; margin-right: 0; }
.issue-index-page .section-heading, .question-detail-page .section-heading { padding: 0 0 0.85rem; }
.persona-editor { max-width: 58rem; padding: 1.5rem; }
.persona-editor > p { margin: 0 0 1.25rem; }
.persona-editor button { justify-self: start; width: fit-content; }
.persona-fact { display: grid; grid-template-columns: minmax(7rem, 0.35fr) minmax(0, 1fr); align-items: center; column-gap: 1rem; row-gap: 0.5rem; padding: 0.8rem 0; }
.persona-fact > :is(h3, p) { grid-column: 1 / -1; margin: 0; }
.persona-fact > label { grid-column: 1; margin: 0; }
.persona-fact > :is(input, select, textarea) { grid-column: 2; }
@media (max-width: 40rem) {
  .persona-editor { padding: 1rem; }
  .persona-fact { grid-template-columns: minmax(0, 1fr); }
  .persona-fact > :is(label, input, select, textarea) { grid-column: 1; }
}
.persona-fact > [data-persona-items], .persona-fact > [data-persona-add] { grid-column: 1 / -1; }
[data-persona-item] { display: flex; align-items: end; gap: 0.75rem; margin: 0.5rem 0; }
[data-persona-item][hidden] { display: none; }
[data-persona-item] > label { flex: 1; min-width: 0; margin: 0; }
@media (max-width: 40rem) {
  [data-persona-item] { align-items: stretch; flex-direction: column; }
}

/* Questionnaire workbench: compact preparation and evidence, wide active interview. */
.version-detail-page,
.issue-index-page,
.issue-detail-page,
.simulator-page { --content-width: 94rem; }
.version-detail-page .page-shell,
.issue-index-page .page-shell,
.issue-detail-page .page-shell { padding-top: 1rem; }
.version-detail-page .page-header { margin-bottom: 1rem; }
.version-detail-page .page-header h1,
.issue-detail-page .page-header h1 { font-size: clamp(1.4rem, 2.4vw, 2rem); }
.version-detail-page .card,
.version-detail-page .panel { padding: 1rem; margin-bottom: 1rem; box-shadow: none; }
.version-detail-page .section-heading { padding: 0 0 .6rem; margin-bottom: .6rem; }
.version-detail-page .section-heading h2 { font-size: 1.15rem; }
.version-overview > .definition-grid { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .7rem; margin: 0; }
.version-overview > .definition-grid dd { margin-right: 1.2rem; }
.version-overview .version-overview__actions { display: inline-flex; gap: 1rem; margin: .4rem 1rem 0 0; }
.version-overview > details { display: inline-block; padding: .25rem 0; border: 0; margin: 0; }
.version-overview > details[open] { display: block; }
.version-detail-page .pipeline-progress__steps { gap: .35rem; }
.version-detail-page .pipeline-step { padding: .5rem; }
.version-detail-page .pipeline-action { gap: .2rem; }
.version-detail-page .pipeline-actions__list { gap: .5rem; }
.version-detail-page .workspace-grid { grid-template-columns: 2fr 1fr 1fr; gap: 1rem; }
.version-detail-page .pipeline-actions__list { display: flex; flex-wrap: wrap; align-items: start; }
.version-detail-page .pipeline-action { flex: 1 1 8rem; }
.version-detail-page .artifact-counts { display: flex; gap: 1.5rem; padding: 0; }
.version-detail-page .artifact-counts .summary-stat { display: flex; align-items: baseline; gap: .4rem; min-height: 0; padding: .2rem 0; border: 0; }
.version-detail-page .artifact-counts .summary-stat__value { font-size: 1.1rem; }
.version-detail-page .evidence-list li { padding: .5rem 0; }
.source-actions { margin-top: .4rem; }
.source-actions .companion-source { padding: .75rem 0; }
.issue-filter-disclosure { margin: .5rem 0; padding: .4rem .6rem; }
.issue-table { width: 100%; table-layout: fixed; }
.issue-table th:nth-child(1) { width: 13%; }
.issue-table th:nth-child(2) { width: 40%; }
.issue-table th:nth-child(3) { width: 32%; }
.issue-table th:nth-child(4) { width: 15%; }
.issue-table td,
.issue-table th { padding: .65rem; vertical-align: top; overflow-wrap: anywhere; }
.issue-table p { margin: .3rem 0; }
.issue-table details { padding: 0; margin-top: .35rem; border: 0; font-size: .8rem; }
.issue-table .status { margin-bottom: .25rem; }
.issue-detail-page .panel { padding: 1rem; margin-bottom: 1rem; }
.issue-detail-page .issue-explanation h2 { font-size: 1.1rem; margin: .6rem 0 .3rem; }
.simulator-layout { width: min(100% - 2rem, 94rem); padding-top: 1rem; }
.interview-workbench { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 1rem; align-items: start; min-width: 0; }
.interview-question-column { display: grid; gap: 1rem; min-width: 0; }
.interview-workbench .question-card { margin: 0; padding: 1.25rem; }
.interview-workbench .simulator-graph { margin: 0; width: 100%; max-width: 100%; padding: .85rem; }
.interview-workbench .route-sync-header { min-height: 0; padding: .4rem 0; gap: .5rem; flex-wrap: wrap; }
.interview-workbench .route-sync-header h2 { font-size: 1rem; }
.interview-workbench .highlight-canvas { min-height: 0; padding: .4rem 0; }
.interview-workbench .saved-graph-canvas { min-width: 0; width: 100%; height: 32rem; min-height: 0; }
.interview-workbench .saved-graph-meta { padding: 0; font-size: .8rem; }
.interview-workbench .question-wording { font-size: 1.1rem; }
.interview-workbench .answer-options--selectable label { padding: .7rem; }
.simulator-current-run { padding: .7rem 1rem; }
.simulator-current-run .session-metadata { display: flex; flex-wrap: wrap; gap: .3rem .7rem; }
.simulator-current-run p { margin: .3rem 0 0; font-size: .85rem; }
.simulator-new-run:not([open]) > :not(summary) { display: none; }
@media (max-width: 64rem) {
  .interview-workbench { grid-template-columns: minmax(0, 1fr); }
  .version-detail-page .workspace-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 48rem) {
  .issue-table, .issue-table tbody, .issue-table tr, .issue-table td { display: block; width: 100%; }
  .issue-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .issue-table tr { border-bottom: 2px solid var(--line); padding: .5rem 0; }
  .issue-table td { border: 0; padding: .3rem .5rem; }
  .issue-table td::before { content: attr(data-label); display: block; font-weight: 650; color: var(--muted-strong); font-size: .8rem; }
  .version-overview > .definition-grid { display: grid; grid-template-columns: auto minmax(0, 1fr); }
  .version-overview .version-overview__actions { flex-wrap: wrap; }
  .interview-workbench .question-card { padding: .85rem; }
}
.review-page { --content-width: 94rem; }
.review-page .panel { padding: 1rem; box-shadow: none; }
.review-page .section-heading { padding: 0 0 .6rem; }
.review-page .section-heading h2 { font-size: 1.3rem; }
.crosswalk-table { table-layout: fixed; }
.crosswalk-table td, .crosswalk-table th { padding: .65rem; overflow-wrap: anywhere; }
.crosswalk-table td:first-child, .crosswalk-table th:first-child { width: 10%; }
.crosswalk-table td:nth-child(3), .crosswalk-table th:nth-child(3) { width: 7%; }
.crosswalk-table p { margin: .3rem 0; }
.mapping-needs-judgement { background: var(--amber-bg); }
.mapping-needs-judgement strong { color: var(--amber); }
.authored-mapping-review > form { padding: 1rem 0; }
.version-detail-page .workspace-grid > section { padding: .5rem; }
.version-detail-page .version-overview > details > summary { padding: .25rem 0; }
.version-detail-page .source-evidence { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .75rem; }
.version-detail-page .source-evidence > .section-heading { border: 0; padding: 0; margin: 0; }
.version-detail-page .source-evidence .evidence-list { margin: 0; }
.version-detail-page .source-evidence .source-actions { margin: 0; }
.version-detail-page .source-evidence .source-actions[open] { grid-column: 1 / -1; }
.simulator-layout:not([data-session-id=""]) { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; }
.simulator-layout:not([data-session-id=""]) .interview-workbench,
.simulator-layout:not([data-session-id=""]) .simulator-current-run { grid-column: 1 / -1; }
.simulator-layout:not([data-session-id=""]) .simulator-config-pane,
.simulator-layout:not([data-session-id=""]) .simulator-detail-pane { display: contents; }
.simulator-layout:not([data-session-id=""]) .simulator-new-run[open],
.simulator-layout:not([data-session-id=""]) .simulator-runs-pane[open],
.simulator-layout:not([data-session-id=""]) .turn-audit[open],
.simulator-layout:not([data-session-id=""]) [data-testid="judge-review-slot"],
.simulator-layout:not([data-session-id=""]) .harness-evidence-toggle,
.simulator-layout:not([data-session-id=""]) .run-export { grid-column: 1 / -1; }
.simulator-layout .simulator-new-run > summary,
.simulator-layout .simulator-runs-pane > summary,
.simulator-layout .turn-audit > summary,
.interview-workbench .simulator-graph > summary { padding: .35rem 0; }
.simulator-layout .session-actions-panel { padding: .65rem; }
.simulator-layout .session-actions-panel h2 { font-size: 1rem; margin: 0 0 .35rem; }
.interview-workbench .saved-graph-canvas { height: 26rem; }
@media (max-width: 64rem) {
  .simulator-layout:not([data-session-id=""]) { grid-template-columns: minmax(0, 1fr); }
  .version-detail-page .source-evidence { grid-template-columns: minmax(0, 1fr); }
}
.simulator-layout [data-testid="judge-review-slot"]:empty { display: none; }

/* Module preparation: one compact, typed source of setup values. */
.preparation-table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: .65rem 0; }
.preparation-table th, .preparation-table td { padding: .45rem .6rem; vertical-align: top; text-align: left; overflow-wrap: anywhere; }
.preparation-table thead th { font-size: .78rem; color: var(--muted, #596579); border-bottom: 1px solid var(--border, #d8dee8); }
.preparation-table tbody tr + tr { border-top: 1px solid var(--border, #e4e8ee); }
.preparation-table th:nth-child(1) { width: 20%; }
.preparation-table th:nth-child(2) { width: 24%; }
.preparation-table th:nth-child(3) { width: 17%; }
.preparation-table th:nth-child(4) { width: 19%; }
.preparation-table th:nth-child(5) { width: 20%; }
.preparation-table input:not([type="checkbox"]), .preparation-table select { width: 100%; min-width: 0; margin: 0; }
.preparation-table input[type="checkbox"] { width: 1.1rem; height: 1.1rem; }
.preparation-table code { font-size: .78rem; font-weight: 500; }
.preparation-table details { margin-top: .2rem; border: 0; border-radius: 0; background: transparent; font-size: .78rem; }
.preparation-table details > summary { padding: .15rem 0; font-weight: 500; color: var(--muted); }
.preparation-table details > :not(summary) { margin: .3rem 0; }
.preparation-table details pre { white-space: pre-wrap; max-height: 16rem; overflow: auto; }
.preparation-requirement { display: block; color: var(--muted, #596579); font-weight: 400; font-size: .72rem; margin-top: .2rem; }
.preparation-validation { display: block; color: #9b2525; font-size: .78rem; margin-top: .2rem; }
.preparation-source-label { display: block; font-size: .82rem; }
.preparation-context-choice { display: flex; gap: .45rem; align-items: baseline; font-size: .85rem; margin: .3rem 0; }
.preparation-context-choice input { width: auto; }
.preparation-roster-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem 1rem; }
.preparation-roster-actions p { margin: 0; font-size: .85rem; }
.preparation-synthetic { margin: .75rem 0; padding: .65rem; border-left: 3px solid #ad792e; background: #fffaf0; }
.preparation-synthetic input { max-width: 10rem; }
[data-testid="scenario-context-panel"] > section + section { margin-top: 1rem; padding-top: .8rem; border-top: 1px solid var(--border, #e4e8ee); }
[data-testid="scenario-context-panel"] h3 { margin: .2rem 0 .4rem; }
@media (max-width: 640px) {
  .preparation-table, .preparation-table tbody, .preparation-table tr, .preparation-table td, .preparation-table th { display: block; width: 100% !important; }
  .preparation-table thead { display: none; }
  .preparation-table tbody tr { padding: .5rem 0; }
  .preparation-table th, .preparation-table td { padding: .2rem 0; }
  .preparation-table td[data-label]::before, .preparation-children td[data-label]::before { content: attr(data-label); display: block; font-size: .75rem; color: var(--muted, #596579); margin-bottom: .2rem; }
}
.finding-rule code { white-space: normal; overflow-wrap: anywhere; }

/* Previous receipts are one reviewed selection, not forty-seven binary forms. */
.preparation-receipt-roster { border: 0; padding: 0; min-width: 0; }
.preparation-receipt-roster legend { font-weight: 700; }
.preparation-receipt-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem 1rem; margin-top: .75rem; }
.preparation-receipt-choice { display: flex; align-items: start; gap: .5rem; font-weight: 400; padding: .35rem 0; }
.preparation-receipt-choice input { width: auto; flex: 0 0 auto; margin-top: .2rem; }
.preparation-receipt-choice[hidden] { display: none; }
.preparation-description { margin: .35rem 0; white-space: pre-line; }
@media (max-width: 640px) { .preparation-receipt-choices { grid-template-columns: 1fr; } }
