:root {
  --ink: #101820;
  --ink-2: #17242d;
  --ink-3: #22323d;
  --paper: #f3f2ed;
  --paper-2: #e8e6df;
  --paper-3: #d8d5cc;
  --white: #fff;
  --cyan: #6ed0db;
  --cyan-deep: #126d79;
  --blue: #6b98de;
  --amber: #d6a34b;
  --red: #d96a67;
  --green: #73b58e;
  --muted: #9cabb4;
  --muted-dark: #52636e;
  --line: rgba(16, 24, 32, .16);
  --line-dark: rgba(255, 255, 255, .14);
  --shadow: 0 24px 70px rgba(5, 11, 15, .16);
  --radius: .55rem;
  --radius-lg: 1.1rem;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

  /* RC47 compatibility aliases: route-level sheets historically used these names. */
  --font-sans: var(--sans);
  --font-mono: var(--mono);
  --accent: var(--cyan);
  --text-muted: var(--muted);
  --surface: var(--ink-2);
  --surface-1: var(--ink-2);
  --background: var(--ink);
  --border-color: var(--line-dark);

  --container: 78rem;
  --container-wide: 92rem;
  --header-h: 4.4rem;
  --header-height: var(--header-h);
  --site-header-height: var(--header-h);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 1.5rem); }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 1rem; line-height: 1.65; text-rendering: optimizeLegibility; }
body::selection { color: var(--ink); background: var(--cyan); }
img, svg { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .22em; }
a:hover { text-decoration-color: var(--cyan-deep); }
p, ul, ol, blockquote { max-width: 72ch; }
h1, h2, h3, h4 { margin: 0 0 .75rem; line-height: 1.04; letter-spacing: -.035em; text-wrap: balance; }
h1 { font-size: clamp(2.65rem, 7vw, 6.8rem); font-weight: 750; }
h2 { font-size: clamp(2rem, 4.4vw, 4.5rem); font-weight: 720; }
h3 { font-size: clamp(1.18rem, 2vw, 1.55rem); }
code, pre, .mono { font-family: var(--mono); font-size: .88em; }
pre { overflow: auto; }
hr { border: 0; border-top: 1px solid currentColor; opacity: .18; margin: 2rem 0; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--cyan); outline-offset: 4px; }

.container, .container-wide { width: min(100% - 2rem, var(--container)); margin-inline: auto; }
.container-wide { width: min(100% - 2rem, var(--container-wide)); }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: .5rem; left: .5rem; transform: translateY(-180%); background: var(--cyan); color: var(--ink); padding: .75rem 1rem; font-weight: 800; }
.skip-link:focus { transform: translateY(0); }
.eyebrow { margin: 0 0 1.15rem; font-family: var(--mono); font-size: .78rem; line-height: 1.3; letter-spacing: .13em; font-weight: 800; text-transform: uppercase; color: var(--cyan-deep); }
.section-dark .eyebrow, .section-graphite .eyebrow, .page-hero .eyebrow, .site-footer .eyebrow, .lab-workspace-section .eyebrow { color: var(--cyan); }
.hero-lede, .section-intro { font-size: clamp(1.12rem, 2.2vw, 1.5rem); line-height: 1.5; }
.section-intro { color: var(--muted-dark); }
.section { padding: clamp(4.2rem, 8vw, 8.5rem) 0; }
.section-light { color: var(--ink); background: var(--paper); color-scheme: light; }
.section-dark { color: var(--paper); background: var(--ink); color-scheme: dark; }
.section-graphite { color: var(--paper); background: var(--ink-2); color-scheme: dark; }

.site-header { position: sticky; z-index: 100; top: 0; height: var(--header-h); color: var(--paper); background: rgba(16, 24, 32, .94); border-bottom: 1px solid var(--line-dark); backdrop-filter: blur(18px); }
.header-rail { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand { display: inline-flex; align-items: center; gap: .75rem; color: inherit; text-decoration: none; }
.brand img { width: 2.4rem; height: 2.4rem; }
.brand-word { font-size: 1rem; font-weight: 850; letter-spacing: .16em; }
.primary-nav { display: flex; align-items: stretch; gap: clamp(.55rem, 1.25vw, 1.15rem); min-height: 2.75rem; font-size: clamp(.78rem, .72rem + .12vw, .84rem); font-weight: 740; letter-spacing: .025em; white-space: nowrap; }
.primary-nav a { display: inline-flex; min-height: 2.75rem; align-items: center; text-decoration: none; color: #d7dee2; border-bottom: 2px solid transparent; padding: .55rem 0; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color: var(--white); border-bottom-color: var(--cyan); }
.primary-nav .nav-contact { min-height: 2.75rem; padding: .55rem .9rem; border: 1px solid rgba(255,255,255,.38); border-radius: var(--radius); }
.primary-nav .nav-contact:hover, .primary-nav .nav-contact[aria-current="page"] { color: var(--ink); background: var(--cyan); border-color: var(--cyan); }
.nav-toggle { display: none; width: 2.8rem; height: 2.8rem; padding: .6rem; color: inherit; background: transparent; border: 1px solid var(--line-dark); border-radius: var(--radius); }
.nav-toggle span:not(.sr-only) { display: block; width: 100%; height: 2px; margin: 4px 0; background: currentColor; }

.flash-stack { position: relative; z-index: 20; padding-top: 1rem; }
.flash { padding: 1rem 1.2rem; border-left: .3rem solid var(--blue); background: var(--white); box-shadow: var(--shadow); }
.flash-supported { border-color: var(--green); }
.flash-qualification { border-color: var(--amber); }
.flash-invalidated { border-color: var(--red); }

.button-row { display: flex; align-items: center; flex-wrap: wrap; gap: .85rem; margin-top: 2rem; }
.button { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; padding: .8rem 1.15rem; border: 1px solid currentColor; border-radius: var(--radius); font-size: .78rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; transition: transform .16s ease, background-color .16s ease, border-color .16s ease; }
.button:hover { transform: translateY(-2px); text-decoration: none; }
.button-primary { color: var(--ink); background: var(--cyan); border-color: var(--cyan); }
.button-primary:hover { background: #91e4eb; border-color: #91e4eb; }
.button-secondary { color: inherit; background: transparent; border-color: currentColor; }
.button-secondary:hover { color: var(--ink); background: var(--paper); border-color: var(--paper); }
.section-light .button-secondary, .lab-controls .button-secondary, .admin-page .button-secondary { color: var(--ink); }
.section-light .button-secondary:hover, .lab-controls .button-secondary:hover, .admin-page .button-secondary:hover { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.button-quiet { color: var(--muted); background: transparent; border-color: rgba(255,255,255,.2); }
.section-light .button-quiet, .lab-controls .button-quiet, .admin-page .button-quiet { color: var(--muted-dark); border-color: var(--line); }
.button-block { width: 100%; }
.text-link { display: inline-flex; font-weight: 750; color: inherit; background: transparent; border: 0; padding: .4rem 0; }

.status { display: inline-flex; align-items: center; gap: .35rem; width: fit-content; padding: .3rem .5rem; border: 1px solid currentColor; border-radius: .25rem; font-family: var(--mono); font-size: .68rem; font-weight: 800; line-height: 1.25; letter-spacing: .04em; text-transform: uppercase; }
.status-supported { color: #266944; background: rgba(115,181,142,.12); }
.status-qualified { color: #8a5b0e; background: rgba(214,163,75,.12); }
.status-invalidated { color: #982d2a; background: rgba(217,106,103,.12); }
.section-dark .status-supported, .section-graphite .status-supported, .lab-workspace-section .status-supported { color: #a2e0b8; }
.section-dark .status-qualified, .section-graphite .status-qualified, .lab-workspace-section .status-qualified { color: #f3cb86; }
.section-dark .status-invalidated, .section-graphite .status-invalidated, .lab-workspace-section .status-invalidated { color: #ffaaa7; }

.hero { overflow: hidden; color: var(--paper); background: var(--ink); }
.hero-home { min-height: calc(100vh - var(--header-h)); display: grid; align-items: center; padding: clamp(4rem, 8vw, 8rem) 0; background-image: radial-gradient(circle at 78% 32%, rgba(64,135,150,.18), transparent 35%), linear-gradient(135deg, #0d151b 0%, #111d24 62%, #0b1217 100%); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(25rem, .96fr); gap: clamp(2rem, 5vw, 6rem); align-items: center; }
.hero-copy h1 span { display: block; margin-bottom: .8rem; font-family: var(--mono); font-size: clamp(.78rem, 1.5vw, 1rem); letter-spacing: .38em; color: var(--cyan); }
.hero-copy p { color: #c4ced4; }
.hero-copy .hero-lede { color: var(--paper); }
.hero-principle { margin-top: 2.5rem; font-family: var(--mono); font-size: .8rem; font-weight: 800; letter-spacing: .11em; }
.hero-visual { position: relative; padding: 1rem; }
.hero-visual::before { content: ""; position: absolute; inset: 9% 8%; border: 1px solid rgba(110,208,219,.22); border-radius: 50%; filter: blur(.2px); }
.hero-visual svg { overflow: visible; }
.graph-lines path { fill: none; stroke: rgba(110,208,219,.36); stroke-width: 2; stroke-dasharray: 5 8; }
.graph-node rect { fill: #17252e; stroke: rgba(255,255,255,.28); stroke-width: 1.5; }
.graph-node text { fill: #e8edef; font-family: var(--mono); font-size: 10px; text-anchor: middle; letter-spacing: .04em; }
.graph-node text:first-of-type { font-size: 12px; font-weight: 800; fill: var(--cyan); }
.graph-node-human rect { stroke: var(--amber); }
.graph-node-outcome rect { stroke: var(--red); }
.graph-node-assurance rect { stroke: var(--green); fill: #172a23; }

.page-hero { color: var(--paper); background: var(--ink); padding: clamp(4.5rem, 9vw, 9rem) 0; background-image: radial-gradient(circle at 80% 20%, rgba(110,208,219,.13), transparent 32%), linear-gradient(145deg, var(--ink), #14232c); }
.page-hero.compact { padding: clamp(3.8rem, 7vw, 6.5rem) 0; }
.page-hero p { color: #c5cfd4; }
.page-hero .hero-lede { color: var(--paper); }
.page-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.lab-hero { padding-bottom: 4rem; }
.lab-kicker { display: flex; gap: 1rem; margin-bottom: 1rem; color: var(--cyan); font-size: .78rem; font-weight: 800; letter-spacing: .1em; }

.split-heading { display: grid; grid-template-columns: 1.3fr .7fr; gap: 3rem; align-items: end; margin-bottom: 3rem; }
.question-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid var(--line); }
.question-card { display: grid; grid-template-columns: 3rem 1fr auto; gap: 1rem; align-items: center; min-height: 6rem; padding: 1rem 0; text-align: left; color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid var(--line); }
.question-card:nth-child(odd) { padding-right: 1.5rem; border-right: 1px solid var(--line); }
.question-card:nth-child(even) { padding-left: 1.5rem; }
.question-card:hover, .question-card[aria-pressed="true"] { background: rgba(110,208,219,.08); }
.question-index { color: var(--cyan-deep); }
.question-state { font-size: .72rem; font-weight: 800; text-transform: uppercase; color: var(--muted-dark); }
.question-card[aria-pressed="true"] .question-state { color: #266944; }
.question-card[aria-pressed="true"] .question-state::before { content: "ᛈᚱᛖᛊᛖᚱᚹᛖᛞ"; font-size: 0; }
.section-closing { margin-top: 2.8rem; font-size: 1.35rem; }

.statement-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.causal-stack { border-top: 1px solid var(--line-dark); }
.causal-layer { width: 100%; display: grid; grid-template-columns: 1fr; gap: 0; padding: 1rem 1.2rem; text-align: left; color: var(--paper); background: transparent; border: 0; border-bottom: 1px solid var(--line-dark); }
.causal-layer span { font-family: var(--mono); font-size: .78rem; font-weight: 800; letter-spacing: .08em; }
.causal-layer small { max-height: 0; overflow: hidden; opacity: 0; color: #bdc8ce; transition: max-height .2s ease, opacity .2s ease, margin .2s ease; }
.causal-layer:hover, .causal-layer[aria-expanded="true"] { background: rgba(110,208,219,.08); }
.causal-layer[aria-expanded="true"] small { max-height: 5rem; opacity: 1; margin-top: .45rem; }

.card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.failure-grid { margin-top: 3rem; grid-template-columns: repeat(5,minmax(0,1fr)); }
.factor-card { min-height: 14rem; padding: 1.35rem; border: 1px solid var(--line-dark); background: rgba(255,255,255,.025); }
.factor-card h3 { margin-top: 2.5rem; text-transform: uppercase; }
.factor-card p { color: #b7c3c9; font-size: .92rem; }
.platform-grid { margin-top: 3rem; }
.platform-card { position: relative; display: flex; flex-direction: column; min-height: 21rem; padding: 1.7rem; text-decoration: none; color: inherit; border: 1px solid currentColor; border-color: var(--line); background: rgba(255,255,255,.45); transition: transform .16s ease, background-color .16s ease; }
.section-graphite .platform-card { border-color: var(--line-dark); background: rgba(255,255,255,.025); }
.platform-card:hover { transform: translateY(-4px); text-decoration: none; background: var(--white); }
.section-graphite .platform-card:hover { color: var(--ink); background: var(--paper); }
.card-index, .lab-number { color: var(--cyan-deep); }
.section-graphite .card-index { color: var(--cyan); }
.platform-card h2, .platform-card h3 { margin-top: 2.4rem; }
.platform-card p { color: var(--muted-dark); }
.section-graphite .platform-card p { color: #b9c5cb; }
.section-graphite .platform-card:hover p { color: var(--muted-dark); }
.card-link { margin-top: auto; padding-top: 2rem; font-size: .78rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }

.declaration-section { color: var(--ink); background: var(--cyan); }
.declaration { text-align: center; }
.declaration p { margin-inline: auto; font-family: var(--mono); font-weight: 800; letter-spacing: .06em; }
.declaration h2 { max-width: 18ch; margin-inline: auto; }
.declaration .button { margin-top: 2rem; color: var(--paper); background: var(--ink); border-color: var(--ink); }
.ecosystem-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-top: 3rem; }
.ecosystem-card { padding: 2rem; border: 1px solid var(--line-dark); }
.ecosystem-card.is-parent { border-color: var(--cyan); background: rgba(110,208,219,.07); }
.ecosystem-card h3 { margin-top: 3rem; font-size: 2rem; }
.ecosystem-card strong { color: var(--cyan); font-family: var(--mono); font-size: .78rem; letter-spacing: .08em; }
.ecosystem-card p { color: #bbc7cd; }
.ecosystem-card a { font-weight: 800; }
.final-cta { color: var(--paper); background: #0b1116; text-align: center; }
.final-cta h2 { margin-inline: auto; }
.final-cta p, .final-cta .button-row { margin-inline: auto; justify-content: center; }

.site-footer { color: #c0cbd1; background: #090f13; border-top: 1px solid var(--line-dark); padding: 4.5rem 0 1.5rem; }
.footer-grid { display: grid; grid-template-columns: 1.6fr repeat(3,1fr); gap: 3rem; }
.site-footer h2 { margin-bottom: 1.2rem; font-family: var(--mono); font-size: .75rem; letter-spacing: .09em; color: var(--white); text-transform: uppercase; }
.site-footer nav { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; }
.site-footer nav a { text-decoration: none; color: #b8c4ca; }
.site-footer nav a:hover { color: var(--cyan); }
.footer-principle { margin-top: 2rem; color: var(--white); font-family: var(--mono); font-size: .78rem; font-weight: 800; letter-spacing: .08em; }
.footer-base { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid var(--line-dark); font-size: .75rem; }

.mono-diagram { display: grid; grid-template-columns: 1fr auto 1fr; gap: .35rem 1rem; align-items: center; padding: 2rem; border: 1px solid var(--line-dark); background: rgba(0,0,0,.12); font-family: var(--mono); font-size: .77rem; }
.mono-diagram span:nth-of-type(odd) { color: var(--cyan); }
.mono-diagram b { color: var(--muted); }
.token-list { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 2rem; }
.token-list span { padding: .55rem .75rem; border: 1px solid var(--line); font-family: var(--mono); font-size: .76rem; }
.two-column { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(3rem, 8vw, 8rem); }
.principle-list { border-top: 1px solid var(--line); }
.principle-list > div { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.1rem 0; border-bottom: 1px solid var(--line); }
.principle-list span { color: var(--cyan-deep); }
.language-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.language-grid > div { padding: 1.5rem; border: 1px solid var(--line-dark); }
.language-grid ul { padding-left: 1.3rem; }
.compact-link-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .6rem; margin-top: 1.5rem; }
.compact-link-grid a { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem; text-decoration: none; border: 1px solid var(--line-dark); }
.section-light .compact-link-grid a, .admin-page .compact-link-grid a { border-color: var(--line); }
.compact-link-grid a:hover { color: var(--ink); background: var(--cyan); }
.compact-link-grid.vertical { grid-template-columns: 1fr; }

.synthetic-notice { padding: 1.2rem 1.4rem; color: var(--ink); background: #f2c979; border-left: .4rem solid #9c680f; box-shadow: var(--shadow); }
.synthetic-notice strong { font-family: var(--mono); font-size: .78rem; letter-spacing: .08em; }
.synthetic-notice p { margin: .45rem 0 0; }
.labs-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-top: 2rem; }
.lab-card { display: flex; flex-direction: column; min-height: 21rem; padding: 2rem; color: var(--ink); text-decoration: none; border: 1px solid var(--line); background: rgba(255,255,255,.45); }
.lab-card:hover { background: var(--white); box-shadow: var(--shadow); transform: translateY(-3px); }
.lab-card h2 { margin-top: 2.5rem; font-size: clamp(1.7rem,3vw,2.7rem); }
.lab-card p { color: var(--muted-dark); }
.scenario-label { margin-top: auto; padding-top: 2rem; font-family: var(--mono); font-size: .68rem; color: var(--cyan-deep); }

.lab-workspace-section { padding-top: 1.5rem; color: var(--paper); background: #0d151b; }
.lab-layout { display: grid; grid-template-columns: 19rem minmax(0,1fr); gap: 1rem; align-items: start; margin-top: 1rem; }
.sticky-panel { position: sticky; top: calc(var(--header-h) + 1rem); }
.lab-controls { padding: 1.35rem; border: 1px solid var(--line-dark); background: var(--ink-2); }
.lab-controls h2 { font-size: 1.3rem; }
.lab-controls form { display: grid; gap: 1rem; margin-top: 1.5rem; }
.lab-controls label, .contact-form label, .admin-edit-form label, .login-card label, .research-filters label { display: grid; gap: .4rem; font-size: .78rem; font-weight: 750; letter-spacing: .02em; }
.toggle-row { grid-template-columns: auto 1fr !important; align-items: start; gap: .65rem !important; }
.toggle-row input { margin-top: .25rem; }
input, select, textarea { width: 100%; color: var(--ink); background: var(--white); border: 1px solid #a8b2b8; border-radius: .25rem; padding: .72rem .78rem; }
input[type="checkbox"] { width: 1.2rem; height: 1.2rem; accent-color: var(--cyan-deep); }
input[type="range"] { padding: 0; accent-color: var(--cyan); }
textarea { resize: vertical; }
output { color: var(--cyan); font-family: var(--mono); }
.clear-state { margin-top: 1rem; color: var(--cyan); }
.judgment-evidence, .machine-recommendation { padding: 1rem; border: 1px solid var(--line-dark); background: rgba(0,0,0,.16); }
.judgment-evidence h3, .machine-recommendation strong { display: block; margin: .45rem 0 .8rem; font-size: 1.05rem; letter-spacing: -.01em; }
.judgment-evidence ul, .machine-recommendation ul { margin: .65rem 0 0; padding-left: 1.15rem; }
.judgment-evidence li, .machine-recommendation li { margin: .3rem 0; color: #c5d0d5; }
.machine-recommendation { border-color: rgba(214,163,75,.72); background: rgba(214,163,75,.08); }
.machine-recommendation:focus { outline: 3px solid var(--amber); outline-offset: 3px; }
.machine-recommendation > strong { color: #f3cb86; font-family: var(--mono); font-size: 1.18rem; letter-spacing: .06em; }
.counter-evidence { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.16); }
.field-message { margin: -.35rem 0 0; color: var(--muted); font-size: .74rem; line-height: 1.45; }
.lab-stage { display: grid; gap: 1rem; }
.lab-panel { padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid var(--line-dark); background: var(--ink-2); }
.lab-explanation { background: linear-gradient(135deg, #17262f, #14212a); }
.lab-explanation h2 { max-width: 22ch; }
.lab-explanation p { color: #bdc8cd; }
.panel-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.panel-heading h2 { font-size: clamp(1.55rem,3vw,2.4rem); }
.view-switcher { display: flex; flex-wrap: wrap; gap: .4rem; padding-bottom: 1rem; }
.view-switcher button, .timeline-controls button { color: var(--paper); background: transparent; border: 1px solid var(--line-dark); padding: .55rem .75rem; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.view-switcher button.is-active, .view-switcher button:hover, .timeline-controls button:hover { color: var(--ink); background: var(--cyan); border-color: var(--cyan); }
.representation table, .admin-table table, .relationship-table table { width: 100%; border-collapse: collapse; }
.table-scroll { overflow-x: auto; }
table caption { padding: 0 0 1rem; text-align: left; font-weight: 800; }
th, td { padding: .85rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line-dark); }
.section-light th, .section-light td, .admin-page th, .admin-page td { border-color: var(--line); }
thead th { font-family: var(--mono); font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }
.text-view { padding: 1.25rem; border: 1px solid var(--line-dark); background: rgba(0,0,0,.16); }
.causal-graph-lab { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 1rem; align-items: center; min-height: 20rem; }
.node-column { display: grid; gap: .7rem; }
.node-column span { padding: .8rem; text-align: center; border: 1px solid rgba(110,208,219,.55); background: rgba(110,208,219,.06); font-family: var(--mono); font-size: .72rem; }
.graph-arrow { color: var(--cyan); font-size: 2rem; }
.assurance-graph { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.assurance-node { display: grid; gap: .5rem; padding: 1rem; border-left: .3rem solid var(--amber); background: rgba(255,255,255,.04); }
.assurance-node.state-supported_within_declared_bounds { border-color: var(--green); }
.assurance-node.state-unresolved { border-color: var(--red); }
.assurance-node small { color: var(--muted); }
.timeline { display: grid; gap: .5rem; }
.timeline-event { position: relative; padding: 1rem 1rem 1rem 4rem; border: 1px solid var(--line-dark); opacity: .46; }
.timeline-event::before { content: attr(data-event-index); position: absolute; left: 1rem; top: 1.15rem; color: var(--cyan); font-family: var(--mono); }
.timeline-event.is-current, .timeline-event:first-child { opacity: 1; border-color: var(--cyan); background: rgba(110,208,219,.06); }
.timeline-event.is-invalidated { border-left: .3rem solid var(--red); }
.timeline-event h3 { margin: .2rem 0; font-size: 1rem; letter-spacing: 0; }
.timeline-event p, .timeline-event small { margin: 0; color: var(--muted); }
.timeline-controls { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1rem; }
.timeline-scrubber { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .65rem 1rem; margin-top: 1rem; font-size: .75rem; font-weight: 750; }
.timeline-scrubber output { justify-self: end; }
.timeline-scrubber input { grid-column: 1 / -1; }
.ecosystem-comparison { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.chain-diagram, .web-diagram, .assurance-ring { min-height: 19rem; padding: 1.25rem; border: 1px solid var(--line-dark); }
.chain-diagram { display: flex; flex-wrap: wrap; align-content: center; align-items: center; justify-content: center; gap: .4rem; }
.chain-diagram h3, .web-diagram h3, .assurance-ring h3 { width: 100%; text-align: center; }
.chain-diagram span, .web-diagram span { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border: 1px solid var(--cyan); border-radius: 50%; font-family: var(--mono); }
.web-diagram { position: relative; background-image: radial-gradient(circle at center, rgba(110,208,219,.08), transparent 46%); }
.web-diagram .web-node { position: absolute; transform: translate(-50%, -50%); }
.web-diagram .web-node-1 { left: 50%; top: 25%; }
.web-diagram .web-node-2 { left: 74%; top: 34%; }
.web-diagram .web-node-3 { left: 84%; top: 55%; }
.web-diagram .web-node-4 { left: 74%; top: 76%; }
.web-diagram .web-node-5 { left: 50%; top: 85%; }
.web-diagram .web-node-6 { left: 26%; top: 76%; }
.web-diagram .web-node-7 { left: 16%; top: 55%; }
.web-diagram .web-node-8 { left: 26%; top: 34%; }
.assurance-ring { display: grid; place-items: center; align-content: center; text-align: center; border-color: var(--green); border-radius: 50%; }
.result-callout { display: grid; gap: 1rem; padding: 1.2rem; border: 1px solid var(--line-dark); background: rgba(0,0,0,.12); }
.result-callout p { margin: 0; }
.result-card-grid, .metric-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; margin-top: 1rem; }
.result-card-grid article, .metric-grid > div { padding: 1rem; border: 1px solid var(--line-dark); background: rgba(255,255,255,.025); }
.result-card-grid h3 { font-size: 1rem; letter-spacing: 0; margin: .4rem 0; }
.result-card-grid small, .metric-grid small { display: block; color: var(--cyan); font-family: var(--mono); font-size: .68rem; }
.metric-grid strong { display: block; margin-top: .6rem; font-size: clamp(1.2rem,2vw,2rem); line-height: 1.1; overflow-wrap: anywhere; }
.request-state { color: var(--muted); font-family: var(--mono); font-size: .72rem; }
.request-state.is-loading { color: var(--amber); }
.request-state.is-complete { color: var(--green); }
.request-state.is-error { color: var(--red); }
.dynamic-result { display: grid; gap: 1rem; }
.dynamic-result h3 { margin-top: 1rem; font-size: 1.15rem; }
.dynamic-list { display: grid; gap: .5rem; padding: 0; list-style: none; }
.dynamic-list li { padding: .75rem; border: 1px solid var(--line-dark); }
.no-script-note { padding: 1rem; border-left: .3rem solid var(--amber); }
.lab-next { color: var(--paper); background: #101a21; }

.research-layout { display: grid; grid-template-columns: 18rem minmax(0,1fr); gap: 3rem; align-items: start; }
.research-filters { position: sticky; top: calc(var(--header-h) + 1rem); padding: 1.2rem; border: 1px solid var(--line); background: var(--paper-2); }
.research-filters form { display: grid; gap: 1rem; }
.filter-note, .qualification-note { color: var(--muted-dark); font-size: .82rem; }
.results-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 1.3rem; }
.results-heading h2 { font-size: 2rem; }
.research-list { display: grid; gap: .8rem; }
.research-card { padding: 1.5rem; border: 1px solid var(--line); background: rgba(255,255,255,.45); }
.research-card h3 { margin-top: 1rem; font-size: clamp(1.35rem,2.5vw,2rem); }
.research-card p { color: var(--muted-dark); }
.research-meta, .research-card-base, .research-integrity { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; align-items: center; }
.research-card-base { margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .78rem; }
.research-integrity { margin-top: 2rem; padding: 1rem; border: 1px solid var(--line-dark); }
.research-integrity span { display: grid; gap: .3rem; }
.research-integrity b { overflow-wrap: anywhere; }
.article-layout { display: grid; grid-template-columns: 18rem minmax(0, 1fr); gap: clamp(2rem,6vw,6rem); align-items: start; }
.article-toc nav { display: grid; max-height: 52vh; overflow: auto; padding-right: .5rem; }
.article-toc nav a { padding: .35rem 0; font-size: .8rem; text-decoration: none; border-bottom: 1px solid var(--line); }
.article-toc .toc-level-3 { padding-left: .9rem; color: var(--muted-dark); }
.article-toc .toc-level-4 { padding-left: 1.8rem; color: var(--muted-dark); }
.prose { font-size: 1.04rem; line-height: 1.75; }
.prose > * { max-width: 76ch; }
.prose h1, .prose h2, .prose h3, .prose h4 { margin-top: 2.7em; scroll-margin-top: calc(var(--header-h) + 1rem); }
.prose h1 { font-size: clamp(2rem,4vw,3.4rem); }
.prose h2 { font-size: clamp(1.65rem,3vw,2.6rem); padding-top: 1rem; border-top: 1px solid var(--line); }
.prose h3 { font-size: 1.45rem; letter-spacing: -.015em; }
.prose table { width: 100%; min-width: 42rem; border-collapse: collapse; }
.prose pre { max-width: 100%; padding: 1rem; color: var(--paper); background: var(--ink); border-radius: var(--radius); }
.prose code { padding: .12rem .25rem; background: rgba(16,24,32,.08); }
.prose pre code { padding: 0; background: none; }
.prose blockquote { margin-left: 0; padding-left: 1.5rem; border-left: .3rem solid var(--cyan-deep); color: var(--muted-dark); }
.prose a { overflow-wrap: anywhere; }
.empty-state { padding: 4rem 2rem; text-align: center; border: 1px dashed var(--line); }

.ecosystem-large { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.ecosystem-panel { min-height: 31rem; display: flex; flex-direction: column; padding: 2rem; border: 1px solid var(--line); }
.ecosystem-panel.is-parent { border: 2px solid var(--cyan-deep); background: rgba(110,208,219,.08); }
.ecosystem-panel h2 { margin-top: 4rem; }
.ecosystem-panel h3 { color: var(--cyan-deep); font-family: var(--mono); font-size: .85rem; letter-spacing: .08em; }
.ecosystem-panel .button { margin-top: auto; align-self: flex-start; }
.manifesto { padding: 2rem; color: var(--paper); background: var(--ink); }
.manifesto p { margin: 0; padding: 1rem 0; border-bottom: 1px solid var(--line-dark); font-size: 1.35rem; font-weight: 750; }
.principles-long { display: grid; }
.principles-long article { display: grid; grid-template-columns: 5rem 1fr; gap: 1rem; padding: 2rem 0; border-bottom: 1px solid var(--line); }
.principles-long article > span { color: var(--cyan-deep); }
.principles-long h2 { font-size: clamp(1.5rem,3vw,2.8rem); }

.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem,8vw,8rem); align-items: start; }
.contact-principles { display: grid; gap: .6rem; margin-top: 2rem; font-family: var(--mono); font-size: .75rem; font-weight: 800; color: var(--cyan-deep); }
.contact-form { display: grid; gap: 1.2rem; padding: clamp(1.2rem,3vw,2rem); border: 1px solid var(--line); background: var(--white); box-shadow: var(--shadow); }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.field-error { color: #9c2824; font-size: .75rem; }
.honeypot { position: absolute; left: -10000px; }
.error-page { min-height: 68vh; }

.admin-page { background: #e9e8e2; }
.admin-page .site-footer { display: none; }
.admin-shell { min-height: calc(100vh - var(--header-h)); display: grid; grid-template-columns: 16rem minmax(0,1fr); }
.admin-sidebar { position: sticky; top: var(--header-h); align-self: start; height: calc(100vh - var(--header-h)); display: flex; flex-direction: column; padding: 1.2rem; color: var(--paper); background: #101920; overflow: auto; }
.admin-identity { display: grid; gap: .3rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line-dark); }
.admin-identity small { color: var(--cyan); font-family: var(--mono); font-size: .65rem; }
.admin-identity span { color: var(--muted); font-size: .75rem; overflow-wrap: anywhere; }
.admin-sidebar nav { display: grid; margin: 1rem 0 auto; }
.admin-sidebar nav a { padding: .65rem; text-decoration: none; border-bottom: 1px solid var(--line-dark); }
.admin-sidebar nav a:hover { color: var(--ink); background: var(--cyan); }
.admin-content { min-width: 0; padding: clamp(1.2rem,4vw,3rem); }
.admin-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; }
.admin-heading h1 { font-size: clamp(2rem,4vw,3.8rem); }
.admin-warning { margin-bottom: 1.5rem; padding: 1.2rem; border-left: .35rem solid var(--amber); background: #fff5df; }
.admin-warning h2 { font-size: 1.25rem; }
.admin-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .8rem; }
.admin-stat-grid article { padding: 1.2rem; border: 1px solid var(--line); background: var(--white); }
.admin-stat-grid small { display: block; font-family: var(--mono); font-size: .65rem; color: var(--muted-dark); }
.admin-stat-grid strong { display: block; margin-top: .5rem; font-size: 2.5rem; }
.admin-panel { margin-top: 1.5rem; padding: 1.5rem; background: var(--white); border: 1px solid var(--line); }
.admin-table { background: var(--white); border: 1px solid var(--line); }
.admin-table table { min-width: 50rem; }
.admin-table th small { display: block; color: var(--muted-dark); font-weight: 400; }
.admin-edit-form { display: grid; gap: 1rem; max-width: 70rem; padding: 1.5rem; background: var(--white); border: 1px solid var(--line); }
.admin-edit-form textarea { min-height: 8rem; }
.admin-edit-form textarea[name="body_markdown"] { min-height: 38rem; font-family: var(--mono); font-size: .85rem; }
.admin-filters { display: flex; flex-wrap: wrap; gap: .35rem; }
.admin-filters a { padding: .4rem .6rem; border: 1px solid var(--line); text-decoration: none; }
.admin-filters a[aria-current="page"] { background: var(--cyan); }
.contact-admin-list { display: grid; gap: .8rem; }
.admin-contact-card { padding: 1.3rem; background: var(--white); border: 1px solid var(--line); }
.admin-contact-card > div { display: flex; justify-content: space-between; gap: 1rem; }
.admin-contact-card h2 { margin-top: 1rem; font-size: 1.4rem; }
.admin-contact-card blockquote { margin: 1rem 0; padding: 1rem; background: var(--paper); border-left: .3rem solid var(--cyan-deep); }
.admin-contact-card form { display: flex; align-items: end; gap: .8rem; }
.admin-login { min-height: calc(100vh - var(--header-h)); display: grid; place-items: center; padding: 2rem; background: var(--ink); }
.login-card { width: min(100%, 33rem); padding: clamp(1.5rem,4vw,3rem); background: var(--paper); box-shadow: var(--shadow); }
.login-card h1 { font-size: clamp(2rem,5vw,4rem); }
.login-card form { display: grid; gap: 1rem; margin-top: 2rem; }

@media (max-width: 80rem) {
  .failure-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .primary-nav { gap: .5rem; font-size: .78rem; }
  .admin-stat-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 64rem) {
  :root { --header-h: 4.2rem; }
  .nav-toggle { display: block; }
  .primary-nav { position: fixed; top: var(--header-h); left: 0; right: 0; display: none; align-items: stretch; flex-direction: column; gap: 0; padding: 1rem; background: var(--ink); border-bottom: 1px solid var(--line-dark); box-shadow: var(--shadow); max-height: calc(100vh - var(--header-h)); overflow: auto; }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { padding: .85rem; border-bottom: 1px solid var(--line-dark); }
  .primary-nav .nav-contact { margin-top: .5rem; text-align: center; }
  .hero-grid, .page-hero-grid, .statement-grid, .contact-layout { grid-template-columns: 1fr; }
  .hero-visual { max-width: 42rem; margin-inline: auto; }
  .failure-grid, .platform-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .lab-layout { grid-template-columns: 1fr; }
  .lab-controls .sticky-panel { position: static; }
  .lab-controls form { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: end; }
  .lab-controls .button-block, .lab-controls .toggle-row { min-height: 3rem; }
  .research-layout, .article-layout { grid-template-columns: 1fr; }
  .research-filters, .article-toc .sticky-panel { position: static; }
  .article-toc nav { grid-template-columns: repeat(2,minmax(0,1fr)); max-height: none; gap: 0 1rem; }
  .ecosystem-large { grid-template-columns: 1fr; }
  .ecosystem-panel { min-height: 22rem; }
  .admin-shell { grid-template-columns: 12rem minmax(0,1fr); }
  .admin-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 46rem) {
  .container, .container-wide { width: min(100% - 1.25rem, var(--container)); }
  h1 { font-size: clamp(2.35rem, 13vw, 4.2rem); }
  .section { padding: 4rem 0; }
  .split-heading, .two-column, .language-grid, .labs-grid, .question-grid, .form-grid, .ecosystem-grid, .ecosystem-comparison { grid-template-columns: 1fr; }
  .question-card:nth-child(odd), .question-card:nth-child(even) { padding-inline: 0; border-right: 0; }
  .failure-grid, .platform-grid, .card-grid, .result-card-grid, .metric-grid, .assurance-graph { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-base { flex-direction: column; }
  .causal-graph-lab { grid-template-columns: 1fr; }
  .graph-arrow { transform: rotate(90deg); justify-self: center; }
  .compact-link-grid { grid-template-columns: 1fr; }
  .lab-controls form { grid-template-columns: 1fr; }
  .panel-heading { flex-direction: column; }
  .article-toc nav { grid-template-columns: 1fr; }
  .research-integrity { align-items: stretch; }
  .research-integrity .button { width: 100%; }
  .principles-long article { grid-template-columns: 2.5rem 1fr; }
  .admin-shell { display: block; }
  .admin-sidebar { position: static; height: auto; }
  .admin-sidebar nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-stat-grid { grid-template-columns: 1fr; }
  .admin-heading { flex-direction: column; }
  .admin-contact-card form { align-items: stretch; flex-direction: column; }
}

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

@media print {
  .site-header, .site-footer, .button-row, .research-filters, .article-toc, .lab-controls, .view-switcher, .lab-next { display: none !important; }
  body, .section, .page-hero, .lab-workspace-section, .lab-panel { color: #000 !important; background: #fff !important; }
  .article-layout, .lab-layout { display: block; }
  a { color: #000; }
}

/* --------------------------------------------------------------------------
   Evulgare v1.2.0: canonical /docs, distributed .uai memory, and native
   WebGL/WebXR synthetic simulations.
   -------------------------------------------------------------------------- */

.simulation-hero-panel,
.docs-count-panel,
.proof-summary-card {
  padding: clamp(1.5rem, 3vw, 2.4rem);
  border: 1px solid var(--line-dark);
  background: rgba(255,255,255,.035);
  box-shadow: var(--shadow);
}
.simulation-hero-panel h2 { margin-top: 1.5rem; font-size: clamp(1.5rem, 3vw, 2.35rem); }
.compact-definition-list { display: grid; gap: .7rem; margin: 1.5rem 0 0; }
.compact-definition-list div { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; padding-top: .7rem; border-top: 1px solid var(--line-dark); }
.compact-definition-list dt { color: var(--cyan); font-family: var(--mono); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.compact-definition-list dd { margin: 0; color: #d1dade; }

.simulation-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.simulation-card { display: flex; flex-direction: column; min-height: 30rem; padding: 1.6rem; border: 1px solid var(--line); background: rgba(255,255,255,.55); }
.simulation-card:hover { background: var(--white); box-shadow: var(--shadow); transform: translateY(-3px); }
.simulation-card-number { color: var(--cyan-deep); font-weight: 800; }
.simulation-card-badges { display: flex; flex-wrap: wrap; gap: .35rem; margin: 1.25rem 0 0; }
.simulation-card-badges span { padding: .25rem .42rem; border: 1px solid var(--line); font-family: var(--mono); font-size: .62rem; font-weight: 800; }
.simulation-card h3 { margin-top: 2rem; font-size: clamp(1.55rem, 2.5vw, 2.4rem); }
.simulation-card p { color: var(--muted-dark); }
.simulation-card dl { display: grid; gap: .6rem; margin-top: 1.4rem; }
.simulation-card dl div { display: grid; grid-template-columns: 8rem 1fr; gap: .8rem; padding-top: .55rem; border-top: 1px solid var(--line); }
.simulation-card dt { font-family: var(--mono); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.simulation-card dd { margin: 0; font-size: .9rem; }
.simulation-card .button { align-self: flex-start; margin-top: auto; }

.proof-stack { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .8rem; }
.proof-stack article { padding: 1.4rem; border: 1px solid var(--line-dark); background: rgba(255,255,255,.03); }
.proof-stack article > span { color: var(--cyan); }
.proof-stack p { color: #c0cbd1; }

.simulation-titlebar { color: var(--paper); background: var(--ink); padding: 3rem 0 2.5rem; border-bottom: 1px solid var(--line-dark); }
.simulation-breadcrumb { display: flex; flex-wrap: wrap; gap: .7rem; margin-bottom: 2rem; font-family: var(--mono); font-size: .72rem; text-transform: uppercase; color: var(--muted); }
.simulation-breadcrumb a { color: var(--cyan); }
.simulation-heading-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.simulation-heading-grid h1 { font-size: clamp(2.6rem, 6vw, 6rem); }
.simulation-boundary { padding: 1.35rem; border: 1px solid var(--line-dark); background: rgba(255,255,255,.035); }
.simulation-boundary p { margin-bottom: 0; color: #c3cdd2; }

.simulation-workspace-section { color: var(--paper); background: #0d151b; padding: 2rem 0 0; }
.simulation-workspace { display: grid; grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr); gap: 1.2rem; align-items: start; }
.simulation-control-panel .sticky-panel { position: sticky; top: calc(var(--header-h) + 1rem); padding: 1.35rem; border: 1px solid var(--line-dark); background: var(--ink-2); }
.simulation-control-panel h2 { font-size: 1.65rem; }
.simulation-control-panel form { display: grid; gap: .85rem; }
.simulation-control-panel label:not(.toggle-row) { display: grid; gap: .35rem; }
.simulation-control-panel label > span { color: #dce3e6; font-size: .78rem; font-weight: 750; }
.simulation-control-panel input[type="text"],
.simulation-control-panel select { width: 100%; min-height: 2.8rem; padding: .62rem .7rem; color: var(--paper); background: var(--ink); border: 1px solid var(--line-dark); border-radius: .25rem; }
.simulation-control-panel input[type="range"] { width: 100%; accent-color: var(--cyan); }
.simulation-control-panel output { color: var(--cyan); font-family: var(--mono); }
.simulation-control-panel .toggle-row { display: grid; grid-template-columns: 1.2rem 1fr; gap: .7rem; align-items: start; padding: .65rem; border: 1px solid var(--line-dark); }
.simulation-control-panel .toggle-row input { margin-top: .2rem; accent-color: var(--cyan); }
.simulation-presets { display: grid; gap: .4rem; margin-top: 1.4rem; }
.simulation-presets h3 { margin: 0 0 .35rem; font-family: var(--mono); font-size: .74rem; color: var(--cyan); text-transform: uppercase; letter-spacing: .08em; }
.simulation-presets button { padding: .6rem .7rem; text-align: left; color: var(--paper); background: transparent; border: 1px solid var(--line-dark); }
.simulation-presets button:hover { color: var(--ink); background: var(--cyan); border-color: var(--cyan); }
.simulation-persistence { margin-top: 1.2rem; color: var(--muted); font-size: .76rem; }

.simulation-stage-column { min-width: 0; display: grid; gap: 1.2rem; }
.simulation-stage,
.simulation-result-panel,
.simulation-representations,
.simulation-sources { border: 1px solid var(--line-dark); background: var(--ink-2); }
.simulation-stage { overflow: hidden; }
.simulation-stage-header { display: flex; justify-content: space-between; gap: 1rem; align-items: start; padding: 1.2rem; border-bottom: 1px solid var(--line-dark); }
.simulation-stage-header h2 { font-size: clamp(1.45rem, 3vw, 2.2rem); }
.simulation-stage-actions { display: flex; flex-wrap: wrap; gap: .45rem; justify-content: flex-end; }
.simulation-stage-actions button { padding: .55rem .75rem; color: var(--paper); background: transparent; border: 1px solid var(--line-dark); border-radius: .25rem; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.simulation-stage-actions button:hover:not(:disabled) { color: var(--ink); background: var(--cyan); border-color: var(--cyan); }
.simulation-stage-actions button:disabled { color: var(--muted); cursor: not-allowed; }
.simulation-stage-actions .vr-button:not(:disabled) { border-color: var(--cyan); color: var(--cyan); }
.simulation-canvas-wrap { position: relative; min-height: min(64vh, 46rem); background: #081015; }
.simulation-canvas-wrap canvas { display: block; width: 100%; height: min(64vh, 46rem); min-height: 28rem; touch-action: none; }
.simulation-overlay { position: absolute; left: .75rem; right: .75rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem; pointer-events: none; font-family: var(--mono); font-size: .65rem; letter-spacing: .035em; text-transform: uppercase; }
.simulation-overlay-top { top: .75rem; }
.simulation-overlay-bottom { bottom: .75rem; justify-content: flex-start; }
.simulation-overlay span { padding: .32rem .48rem; color: #dce5e8; background: rgba(5,11,15,.8); border: 1px solid rgba(255,255,255,.16); }
.selected-node-panel { display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; min-height: 4.4rem; padding: 1rem 1.2rem; border-top: 1px solid var(--line-dark); }
.selected-node-panel > span:last-child { color: #c0cbd1; }
.simulation-node-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .5rem; padding: 1rem; border-top: 1px solid var(--line-dark); }
.simulation-node-list button { display: grid; gap: .25rem; min-height: 5rem; padding: .65rem; text-align: left; color: var(--paper); background: rgba(255,255,255,.02); border: 1px solid var(--line-dark); }
.simulation-node-list button:hover,
.simulation-node-list button.is-selected { background: rgba(110,208,219,.09); border-color: var(--cyan); }
.simulation-node-list small { color: var(--muted); }
.node-state-marker { width: fit-content; font-family: var(--mono); font-size: .58rem; font-weight: 800; text-transform: uppercase; }
.state-supported, .state-valid, .state-safe { color: #9ee0b5; }
.state-qualified, .state-unresolved, .state-suspended { color: #f3cb86; }
.state-invalidated, .state-hold { color: #ffaaa7; }
.state-counterfactual { color: #9fc0ff; }
.state-hidden, .state-baseline { color: #b0bcc2; }

.simulation-result-panel,
.simulation-representations,
.simulation-sources { padding: 1.25rem; }
.simulation-result-output { display: grid; gap: 1rem; }
.compact-result-table table { min-width: 34rem; }
.simulation-digest { overflow-wrap: anywhere; color: var(--muted); }
.proof-check-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .7rem; }
.proof-check-grid article { min-height: 9rem; padding: 1rem; border: 1px solid var(--line-dark); background: rgba(255,255,255,.025); }
.proof-check-grid article.is-pass { border-left: .32rem solid var(--green); }
.proof-check-grid article.is-fail { border-left: .32rem solid var(--red); }
.proof-check-grid small { color: var(--cyan); font-family: var(--mono); font-weight: 800; }
.proof-check-grid .is-fail small { color: #ffaaa7; }
.proof-check-grid h3, .proof-check-grid h4 { margin-top: .7rem; font-size: 1rem; }
.proof-check-grid p { color: #bdc8cd; font-size: .83rem; }
.simulation-visual-description,
.simulation-representations .text-view { padding: 1.2rem; border: 1px solid var(--line-dark); background: rgba(255,255,255,.025); }
.simulation-representations table { color: var(--paper); }
.simulation-representations th,
.simulation-representations td { border-color: var(--line-dark); }
.simulation-sources .compact-link-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.simulation-sources .compact-link-grid a { color: var(--paper); }
.simulation-workspace-section .lab-next { border-top: 1px solid var(--line-dark); }

.proof-summary-card { display: grid; gap: .8rem; }
.proof-summary-card > strong { font-size: clamp(3rem, 8vw, 6rem); line-height: .9; }
.proof-summary-card > span:not(.status) { color: #cad4d8; }
.proof-summary-card dl { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .5rem; }
.proof-summary-card dl div { padding-top: .6rem; border-top: 1px solid var(--line-dark); }
.proof-summary-card dt { color: var(--cyan); font-family: var(--mono); font-size: .65rem; text-transform: uppercase; }
.proof-summary-card dd { margin: 0; }
.proof-run-list { display: grid; gap: .7rem; }
.proof-run { border: 1px solid var(--line); background: var(--white); }
.proof-run summary { display: grid; grid-template-columns: auto 1fr 1fr auto; gap: .9rem; align-items: center; padding: 1rem; cursor: pointer; }
.proof-run summary code { overflow-wrap: anywhere; color: var(--muted-dark); }
.proof-run > .proof-check-grid { padding: 1rem; border-top: 1px solid var(--line); }
.proof-run > .proof-check-grid article { border-color: var(--line); background: var(--paper); }
.proof-run > .proof-check-grid p { color: var(--muted-dark); }

.docs-count-panel { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .7rem; }
.docs-count-panel > div { padding: 1rem; border: 1px solid var(--line-dark); }
.docs-count-panel strong { display: block; font-size: clamp(2.2rem, 5vw, 4.4rem); line-height: 1; }
.docs-count-panel span { display: block; margin-top: .5rem; color: var(--cyan); font-family: var(--mono); font-size: .68rem; text-transform: uppercase; }
.docs-count-panel p { grid-column: 1 / -1; color: #c7d1d5; }
.docs-pillar-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; }
.docs-pillar-grid article { min-height: 16rem; padding: 1.4rem; border: 1px solid var(--line); background: rgba(255,255,255,.5); }
.docs-pillar-grid article > span { color: var(--cyan-deep); }
.docs-pillar-grid h3 { margin-top: 2.5rem; }
.docs-pillar-grid code { overflow-wrap: anywhere; }

.report-atlas-grid { display: grid; gap: 1rem; }
.report-atlas-card { padding: clamp(1.3rem, 3vw, 2.2rem); border: 1px solid var(--line); background: rgba(255,255,255,.58); }
.report-atlas-card > .mono { color: var(--cyan-deep); }
.report-atlas-card h2 { margin-top: 1rem; font-size: clamp(1.7rem, 3vw, 2.8rem); }
.report-atlas-card dl { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .6rem 1rem; }
.report-atlas-card dl div { min-width: 0; padding-top: .6rem; border-top: 1px solid var(--line); }
.report-atlas-card dt { font-family: var(--mono); font-size: .67rem; font-weight: 800; text-transform: uppercase; }
.report-atlas-card dd { margin: .3rem 0 0; overflow-wrap: anywhere; }
.report-atlas-card code { overflow-wrap: anywhere; }

.memory-file-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .8rem; }
.memory-file-card { display: flex; flex-direction: column; min-height: 15rem; padding: 1.3rem; color: inherit; text-decoration: none; border: 1px solid var(--line); background: rgba(255,255,255,.55); }
.memory-file-card:hover { transform: translateY(-3px); background: var(--white); box-shadow: var(--shadow); }
.memory-file-card h2 { margin-top: 2rem; font-size: 1.3rem; overflow-wrap: anywhere; }
.memory-file-card p { color: var(--muted-dark); }
.memory-file-card > span:last-child { margin-top: auto; font-weight: 800; }
.memory-prose { min-height: 40vh; }
.memory-prose code { overflow-wrap: anywhere; }

.traceability-table { min-width: 82rem; }
.traceability-table th[scope="row"] { min-width: 22rem; }
.traceability-table th[scope="row"] strong,
.traceability-table th[scope="row"] small { display: block; margin-top: .45rem; }
.traceability-table th[scope="row"] small { color: var(--muted-dark); font-weight: 400; }
.traceability-table td { min-width: 15rem; vertical-align: top; }
.traceability-table td code { display: block; margin-bottom: .45rem; overflow-wrap: anywhere; }
.traceability-table ul { padding-left: 1.2rem; }
.traceability-table a { overflow-wrap: anywhere; }

@media (max-width: 82rem) {
  .simulation-card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .simulation-node-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .docs-pillar-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .memory-file-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 64rem) {
  .simulation-heading-grid,
  .simulation-workspace { grid-template-columns: 1fr; }
  .simulation-control-panel .sticky-panel { position: static; }
  .simulation-control-panel form { grid-template-columns: repeat(2, minmax(0,1fr)); align-items: end; }
  .simulation-control-panel .button-block { min-height: 3rem; }
  .proof-check-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .proof-run summary { grid-template-columns: auto 1fr; }
  .proof-run summary code { grid-column: 2; }
  .report-atlas-card dl { grid-template-columns: 1fr; }
}

@media (max-width: 46rem) {
  .simulation-card-grid,
  .simulation-node-list,
  .proof-stack,
  .proof-check-grid,
  .docs-count-panel,
  .docs-pillar-grid,
  .memory-file-grid,
  .simulation-sources .compact-link-grid { grid-template-columns: 1fr; }
  .simulation-control-panel form { grid-template-columns: 1fr; }
  .simulation-stage-header { flex-direction: column; }
  .simulation-stage-actions { justify-content: flex-start; }
  .simulation-canvas-wrap,
  .simulation-canvas-wrap canvas { min-height: 23rem; height: 55vh; }
  .docs-count-panel p { grid-column: auto; }
  .compact-definition-list div,
  .simulation-card dl div { grid-template-columns: 1fr; }
  .proof-summary-card dl { grid-template-columns: 1fr; }
  .proof-run summary { grid-template-columns: 1fr; }
  .proof-run summary code { grid-column: auto; }
}


/* --------------------------------------------------------------------------
   Evulgare v1.2.0: bounded autonomous-drone control assurance demonstration.
   Every derived control state remains browser-local and ends at a null sink.
   -------------------------------------------------------------------------- */
.drone-command-panel {
  display: grid; gap: .65rem; margin-top: 1.35rem; padding: 1rem;
  border: 1px solid rgba(110,208,219,.34); background: rgba(110,208,219,.055);
}
.drone-command-panel h3 { margin: 0; color: var(--cyan); font-family: var(--mono); font-size: .76rem; letter-spacing: .075em; text-transform: uppercase; }
.drone-command-panel p { margin: 0; color: #bdc8cd; font-size: .76rem; }
.drone-command-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; }
.drone-command-grid button { min-height: 2.65rem; padding: .55rem .65rem; color: var(--paper); background: #0a141a; border: 1px solid var(--line-dark); font-family: var(--mono); font-size: .67rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.drone-command-grid button:hover, .drone-command-grid button:focus-visible { color: var(--ink); background: var(--cyan); border-color: var(--cyan); }
.drone-telemetry-panel { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); background: var(--line-dark); }
.drone-telemetry-panel > div { min-width: 0; padding: .75rem .8rem; background: #101c23; }
.drone-telemetry-panel span { display: block; margin-bottom: .3rem; color: var(--muted); font-family: var(--mono); font-size: .58rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.drone-telemetry-panel strong { display: block; overflow-wrap: anywhere; color: #eaf3f5; font-size: .78rem; line-height: 1.3; }
.drone-boundary-note { display: flex; flex-wrap: wrap; gap: .35rem 1rem; align-items: center; padding: .75rem 1rem; color: #c9d4d8; background: rgba(243,177,59,.055); border-bottom: 1px solid var(--line-dark); }
.drone-boundary-note strong { color: var(--amber); font-family: var(--mono); font-size: .65rem; letter-spacing: .05em; }
.drone-boundary-note span { font-size: .76rem; }
@media (max-width: 82rem) { .drone-telemetry-panel { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 46rem) { .drone-command-grid, .drone-telemetry-panel { grid-template-columns: 1fr; } }

/* --------------------------------------------------------------------------
   Evulgare v1.3.0: homepage Autonomous Mission Accountability Experience.
   This is a fixed, normalized, cinematic scene. It has no target selection,
   terminal guidance, payload release, real vehicle/ship control, or external
   command channel.
   -------------------------------------------------------------------------- */
.home-mission-experience {
  position: relative;
  overflow: hidden;
  padding: clamp(4.5rem, 8vw, 8rem) 0;
  color: #edf5f7;
  background:
    radial-gradient(circle at 18% 0%, rgba(61, 171, 190, .19), transparent 34%),
    radial-gradient(circle at 88% 14%, rgba(223, 170, 70, .10), transparent 28%),
    linear-gradient(180deg, #061016 0%, #0a151c 48%, #071117 100%);
  border-block: 1px solid rgba(110, 208, 219, .18);
}
.home-mission-experience::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .3;
  background-image:
    linear-gradient(rgba(110, 208, 219, .028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(110, 208, 219, .028) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(to bottom, transparent, #000 10%, #000 88%, transparent);
}
.home-mission-experience .eyebrow { color: var(--cyan); }
.mission-experience-intro {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(24rem, 1.1fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}
.mission-experience-intro h2 { max-width: 12ch; }
.mission-experience-intro-copy { color: #c6d2d6; }
.mission-experience-intro-copy p:first-child { color: #e2ebed; font-size: clamp(1.06rem, 1.6vw, 1.35rem); }
.mission-experience-intro-copy strong { color: #f5d69d; }

.mission-deck {
  position: relative;
  z-index: 2;
  overflow: hidden;
  border: 1px solid rgba(147, 183, 195, .27);
  border-radius: .9rem;
  background: rgba(5, 12, 17, .96);
  box-shadow: 0 38px 110px rgba(0, 0, 0, .45);
}
.mission-deck::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.018), inset 0 0 110px rgba(35, 135, 151, .045);
}
.mission-deck-header {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(18rem, .72fr) minmax(0, 1.28fr);
  gap: 1rem;
  align-items: center;
  padding: .85rem 1rem;
  background: #0d1a22;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.mission-deck-identity { display: flex; gap: .9rem; align-items: center; min-width: 0; }
.mission-deck-identity > div { min-width: 0; }
.mission-deck-identity strong,
.mission-deck-identity span { display: block; }
.mission-deck-identity strong { color: #f3f8f9; font-family: var(--mono); font-size: .78rem; letter-spacing: .055em; }
.mission-deck-identity div span { margin-top: .22rem; color: #90a2aa; font-size: .68rem; }
.mission-live-indicator {
  flex: 0 0 auto;
  padding: .38rem .5rem;
  color: #081419;
  background: var(--cyan);
  border-radius: .2rem;
  font-family: var(--mono);
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .065em;
}
.mission-live-indicator.is-paused { color: #231a0b; background: var(--amber); }
.mission-live-indicator.is-lost { color: #fff; background: #9e3f3b; }
.mission-live-indicator.is-complete { color: #07150e; background: var(--green); }
.mission-deck-status {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  min-width: 0;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.08);
}
.mission-deck-status > span { min-width: 0; padding: .55rem .65rem; background: #0a151c; }
.mission-deck-status > span,
.mission-deck-status strong { display: block; }
.mission-deck-status > span { color: #81949d; font-family: var(--mono); font-size: .54rem; font-weight: 800; letter-spacing: .06em; }
.mission-deck-status strong { margin-top: .25rem; overflow-wrap: anywhere; color: #edf5f7; font-size: .64rem; line-height: 1.35; }

.mission-deck-main {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(18rem, .55fr);
  min-height: 45rem;
}
.mission-visual-column { min-width: 0; background: #030a0e; }
.mission-viewport {
  position: relative;
  min-height: 39rem;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(#07151d 0%, #0b1c23 48%, #071116 100%);
}
.mission-viewport canvas {
  display: block;
  width: 100%;
  height: 39rem;
  min-height: 32rem;
  touch-action: none;
  background: #061017;
}
.mission-hud {
  position: absolute;
  z-index: 4;
  display: flex;
  gap: .5rem;
  pointer-events: none;
  font-family: var(--mono);
  text-transform: uppercase;
}
.mission-hud-top { top: .75rem; left: .75rem; right: .75rem; flex-wrap: wrap; }
.mission-hud-top span {
  padding: .38rem .5rem;
  color: #dff4f7;
  background: rgba(3, 10, 14, .78);
  border: 1px solid rgba(110,208,219,.26);
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .05em;
  backdrop-filter: blur(6px);
}
.mission-hud-flight {
  left: .75rem;
  bottom: .85rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(4.1rem, 1fr));
  gap: 1px;
  background: rgba(255,255,255,.11);
  border: 1px solid rgba(255,255,255,.11);
}
.mission-hud-flight > div { padding: .48rem .58rem; background: rgba(3,10,14,.82); }
.mission-hud-flight small,
.mission-hud-flight strong { display: block; }
.mission-hud-flight small { color: #81969f; font-size: .52rem; letter-spacing: .06em; }
.mission-hud-flight strong { margin-top: .2rem; color: #eaf5f7; font-size: .75rem; }
.mission-camera-frame {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  width: min(42%, 25rem);
  aspect-ratio: 16 / 10;
  transform: translate(-50%, -50%);
  pointer-events: none;
  opacity: .46;
}
.mission-camera-frame span { position: absolute; width: 1.5rem; height: 1.5rem; border-color: rgba(160,235,242,.84); border-style: solid; }
.mission-camera-frame span:nth-child(1) { top: 0; left: 0; border-width: 1px 0 0 1px; }
.mission-camera-frame span:nth-child(2) { top: 0; right: 0; border-width: 1px 1px 0 0; }
.mission-camera-frame span:nth-child(3) { bottom: 0; right: 0; border-width: 0 1px 1px 0; }
.mission-camera-frame span:nth-child(4) { bottom: 0; left: 0; border-width: 0 0 1px 1px; }
.mission-lost-link-overlay,
.mission-terminal-overlay {
  position: absolute;
  z-index: 7;
  left: 50%;
  top: 50%;
  width: min(90%, 34rem);
  transform: translate(-50%, -50%);
  padding: 1rem 1.2rem;
  text-align: center;
  background: rgba(5, 11, 15, .88);
  border: 1px solid rgba(255,255,255,.25);
  box-shadow: 0 18px 50px rgba(0,0,0,.48);
  backdrop-filter: blur(10px);
}
.mission-lost-link-overlay strong,
.mission-terminal-overlay strong,
.mission-lost-link-overlay span,
.mission-terminal-overlay span { display: block; }
.mission-lost-link-overlay strong { color: #ffb5b1; font-family: var(--mono); font-size: clamp(1.35rem, 3vw, 2.5rem); letter-spacing: .08em; }
.mission-lost-link-overlay span { margin-top: .55rem; color: #ffd9a1; font-family: var(--mono); font-size: .72rem; }
.mission-terminal-overlay { border-color: rgba(243,177,59,.58); }
.mission-terminal-overlay strong { color: #ffe1a8; font-family: var(--mono); font-size: clamp(1.1rem, 2.4vw, 2rem); letter-spacing: .055em; }
.mission-terminal-overlay span { margin-top: .55rem; color: #d6e0e3; font-size: .75rem; }
.mission-render-status {
  position: absolute;
  z-index: 5;
  right: .75rem;
  bottom: .85rem;
  max-width: 45%;
  padding: .4rem .52rem;
  color: #a9bac0;
  background: rgba(3,10,14,.76);
  border: 1px solid rgba(255,255,255,.14);
  font-family: var(--mono);
  font-size: .56rem;
  text-transform: uppercase;
}
.mission-view-controls {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .8fr) minmax(12rem, .45fr);
  gap: 1px;
  background: rgba(255,255,255,.09);
  border-top: 1px solid rgba(255,255,255,.1);
}
.mission-control-cluster { display: flex; flex-wrap: wrap; gap: .38rem; align-items: center; padding: .65rem .75rem; background: #0d1a22; }
.mission-control-cluster > span { margin-right: .25rem; color: #81949d; font-family: var(--mono); font-size: .54rem; font-weight: 850; letter-spacing: .07em; }
.mission-control-cluster button,
.mission-button-grid button,
.mission-takeover-button,
.mission-view-actions button {
  min-height: 2.25rem;
  padding: .45rem .6rem;
  color: #dce7ea;
  background: #0a151c;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: .25rem;
  font-family: var(--mono);
  font-size: .59rem;
  font-weight: 850;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.mission-control-cluster button:hover,
.mission-control-cluster button:focus-visible,
.mission-control-cluster button[aria-pressed="true"],
.mission-button-grid button:hover,
.mission-button-grid button:focus-visible,
.mission-takeover-button:hover,
.mission-takeover-button:focus-visible {
  color: #071217;
  background: var(--cyan);
  border-color: var(--cyan);
}
.mission-view-actions { justify-content: flex-end; }
.mission-view-actions button:disabled { opacity: .45; cursor: not-allowed; }

.mission-supervisory-console {
  min-width: 0;
  padding: 1rem;
  overflow: auto;
  background: #0a151c;
  border-left: 1px solid rgba(255,255,255,.1);
  scrollbar-color: rgba(110,208,219,.45) transparent;
}
.mission-console-section {
  display: grid;
  gap: .7rem;
  margin: 0 0 .85rem;
  padding: .9rem;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.022);
}
.mission-console-section p { margin: 0; color: #91a3ab; font-size: .68rem; line-height: 1.5; }
.mission-console-heading { display: flex; gap: .7rem; align-items: center; }
.mission-console-heading > span,
.mission-advanced-controls summary > span { color: var(--cyan); font-family: var(--mono); font-size: .64rem; font-weight: 900; }
.mission-console-heading h3 { margin: 0; font-size: 1rem; }
.mission-button-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; }
.mission-button-grid-primary button:first-child { color: #071217; background: var(--cyan); border-color: var(--cyan); }
.mission-button-grid button[data-mission-command="abort"] { color: #ffb2ae; border-color: rgba(217,106,103,.62); }
.mission-button-grid button[data-mission-link-command="lost"] { color: #ffd69a; border-color: rgba(214,163,75,.62); }
.mission-takeover-button { width: 100%; color: #071217; background: #f1c66f; border-color: #f1c66f; }
.mission-takeover-button[aria-pressed="true"] { color: #071217; background: var(--cyan); border-color: var(--cyan); }
.mission-range-label { display: flex; justify-content: space-between; gap: 1rem; color: #cbd7da; font-family: var(--mono); font-size: .65rem; }
.mission-range-label output { color: var(--cyan); }
.mission-console-section input[type="range"] { width: 100%; accent-color: var(--cyan); }
.mission-timeline-labels { display: flex; justify-content: space-between; color: #70858e; font-family: var(--mono); font-size: .49rem; }
.mission-supervisory-console label:not(.mission-range-label) { color: #c9d5d8; font-family: var(--mono); font-size: .62rem; }
.mission-supervisory-console select {
  width: 100%;
  min-height: 2.5rem;
  padding: .48rem .55rem;
  color: #e7eff1;
  background: #0d1b23;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: .25rem;
  font-family: var(--mono);
  font-size: .63rem;
}
.mission-advanced-controls summary { display: flex; gap: .65rem; align-items: center; cursor: pointer; color: #e4edef; font-weight: 750; }
.mission-advanced-controls[open] summary { margin-bottom: .6rem; }
.mission-advanced-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .6rem; }
.mission-advanced-grid label { display: grid; gap: .35rem; }
.mission-advanced-grid output { color: var(--cyan); }
.mission-gates { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .45rem; margin: .15rem 0 0; padding: .75rem; border: 1px solid rgba(255,255,255,.1); }
.mission-gates legend { padding: 0 .3rem; color: #81949d; font-family: var(--mono); font-size: .54rem; text-transform: uppercase; }
.mission-gates label { display: flex; gap: .4rem; align-items: start; }
.mission-gates input { margin-top: .13rem; accent-color: var(--cyan); }

.mission-deck-lower {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(20rem, .78fr) minmax(0, 1.22fr);
  gap: 1px;
  background: rgba(255,255,255,.09);
  border-top: 1px solid rgba(255,255,255,.1);
}
.mission-radar,
.mission-ledger { min-width: 0; padding: 1rem; background: #0d1a22; }
.mission-panel-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }
.mission-panel-heading span,
.mission-panel-heading > strong { color: var(--cyan); font-family: var(--mono); font-size: .57rem; font-weight: 850; letter-spacing: .055em; }
.mission-panel-heading h3 { margin: .25rem 0 0; font-size: 1.05rem; }
.mission-radar svg { display: block; width: 100%; min-height: 17rem; margin-top: .75rem; background: #061118; border: 1px solid rgba(110,208,219,.16); }
.mission-radar-grid { fill: none; stroke: rgba(110,208,219,.17); stroke-width: 1; }
.mission-radar-route { fill: none; stroke: rgba(110,208,219,.65); stroke-width: 2; stroke-dasharray: 5 5; }
.mission-radar-ship path { fill: #9fb1b7; }
.mission-radar-drone path { fill: var(--cyan); }
.mission-radar-target rect { fill: #d6a34b; }
.mission-radar text { fill: #aebec3; font-family: var(--mono); font-size: 8px; text-anchor: middle; }
.mission-ledger ol { display: grid; gap: .45rem; max-height: 17rem; margin: .75rem 0 0; padding: 0; overflow: auto; list-style: none; }
.mission-ledger li { display: grid; grid-template-columns: 2.2rem minmax(0,1fr) auto; gap: .65rem; align-items: start; padding: .65rem .7rem; border-left: .18rem solid rgba(110,208,219,.38); background: rgba(255,255,255,.025); }
.mission-ledger li > span { color: #7f939c; font-size: .58rem; }
.mission-ledger li strong { color: #eef5f6; font-size: .67rem; letter-spacing: .025em; }
.mission-ledger li p { margin: .2rem 0 0; color: #9aadb4; font-size: .64rem; line-height: 1.4; }
.mission-ledger li code { color: #7fb9c3; font-size: .54rem; }
.mission-result-summary { margin-top: .75rem; padding: .75rem; border: 1px solid rgba(110,208,219,.18); background: rgba(110,208,219,.035); }
.mission-result-summary p { margin: .5rem 0 0; color: #afbdc2; font-size: .72rem; }
.mission-deck-footer {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(18rem,.65fr);
  gap: 2rem;
  align-items: center;
  padding: 1.1rem;
  background: #09151c;
  border-top: 1px solid rgba(255,255,255,.1);
}
.mission-deck-footer p { margin: 0; color: #aab9be; font-size: .76rem; line-height: 1.55; }
.mission-deck-footer strong { color: #f4d292; }
.mission-deck-footer .button-row { justify-content: flex-end; margin: 0; }
.mission-accessible-state { position: relative; z-index: 2; margin-top: 1.25rem; }
.mission-accessible-state details { padding: 1rem; color: #dce5e8; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.025); }
.mission-accessible-state summary { cursor: pointer; font-weight: 750; }
.mission-accessible-state table { color: #e7eff1; }
.mission-accessible-state th,
.mission-accessible-state td { border-color: rgba(255,255,255,.14); }

.mission-deck:fullscreen {
  width: 100vw;
  height: 100vh;
  border-radius: 0;
  overflow: auto;
  background: #050c11;
}
.mission-deck:fullscreen .mission-viewport,
.mission-deck:fullscreen .mission-viewport canvas { height: min(68vh, 52rem); }
.mission-deck:fullscreen .mission-deck-main { min-height: 0; }

@media (max-width: 82rem) {
  .mission-deck-main { grid-template-columns: minmax(0,1fr) minmax(18rem,.45fr); }
  .mission-deck-status { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mission-view-controls { grid-template-columns: 1fr 1fr; }
  .mission-view-actions { grid-column: 1 / -1; justify-content: flex-start; }
}
@media (max-width: 68rem) {
  .mission-experience-intro { grid-template-columns: 1fr; align-items: start; }
  .mission-experience-intro h2 { max-width: 16ch; }
  .mission-deck-header { grid-template-columns: 1fr; }
  .mission-deck-main { grid-template-columns: 1fr; }
  .mission-supervisory-console { border-left: 0; border-top: 1px solid rgba(255,255,255,.1); }
  .mission-console-section { grid-template-columns: 1fr; }
  .mission-deck-lower { grid-template-columns: 1fr; }
  .mission-deck-footer { grid-template-columns: 1fr; }
  .mission-deck-footer .button-row { justify-content: flex-start; }
}
@media (max-width: 46rem) {
  .home-mission-experience { padding-inline: 0; }
  .mission-deck { border-radius: 0; }
  .mission-deck-status { grid-template-columns: 1fr 1fr; }
  .mission-viewport,
  .mission-viewport canvas { height: 30rem; min-height: 25rem; }
  .mission-hud-flight { grid-template-columns: repeat(2,minmax(4rem,1fr)); }
  .mission-render-status { display: none; }
  .mission-view-controls { grid-template-columns: 1fr; }
  .mission-view-actions { grid-column: auto; }
  .mission-button-grid,
  .mission-advanced-grid,
  .mission-gates { grid-template-columns: 1fr; }
  .mission-camera-frame { width: 64%; }
  .mission-panel-heading { flex-direction: column; }
  .mission-ledger li { grid-template-columns: 2rem minmax(0,1fr); }
  .mission-ledger li code { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) {
  .mission-viewport canvas { scroll-behavior: auto; }
  .mission-live-indicator { animation: none; }
}


/* v1.3.0 interaction-state additions for the mission room. */
.mission-button-grid button[aria-pressed="true"],
.mission-button-grid button.is-active {
  color: #071217;
  background: var(--cyan);
  border-color: var(--cyan);
}
.mission-button-grid button:disabled,
.mission-takeover-button:disabled {
  opacity: .48;
  cursor: not-allowed;
}
.mission-deck:has([data-mission-terminal-overlay]:not([hidden])) .mission-viewport {
  box-shadow: inset 0 0 5rem rgba(235, 175, 64, .17);
}
@media (prefers-reduced-motion: reduce) {
  .mission-deck:has([data-mission-terminal-overlay]:not([hidden])) .mission-viewport {
    box-shadow: inset 0 0 2rem rgba(235, 175, 64, .12);
  }
}

/* View-specific framing for the v1.3.0 homepage mission room. */
.mission-viewport::before,
.mission-viewport::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
}
.mission-viewport::before {
  opacity: .32;
  background: repeating-linear-gradient(to bottom, transparent 0 3px, rgba(255,255,255,.025) 3px 4px);
  mix-blend-mode: screen;
}
.mission-viewport[data-mission-active-view="ship-cic"]::after {
  inset: 6% 5% 8%;
  border: 1px solid rgba(110,208,219,.34);
  background:
    linear-gradient(90deg, rgba(4,12,17,.88) 0 6%, transparent 6% 94%, rgba(4,12,17,.88) 94%),
    linear-gradient(rgba(4,12,17,.82) 0 8%, transparent 8% 90%, rgba(4,12,17,.82) 90%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035), inset 0 0 55px rgba(0,0,0,.62);
}
.mission-viewport[data-mission-active-view="flight-deck"]::after {
  inset: auto 0 0;
  height: 24%;
  background:
    linear-gradient(160deg, transparent 0 42%, rgba(86,116,124,.4) 43% 47%, transparent 48%),
    linear-gradient(200deg, transparent 0 42%, rgba(86,116,124,.4) 43% 47%, transparent 48%),
    linear-gradient(to top, rgba(4,10,14,.88), rgba(4,10,14,0));
}
.mission-viewport[data-mission-active-view="overhead"] .mission-camera-frame { opacity: .15; }
.mission-viewport[data-mission-active-view="ship-cic"] .mission-camera-frame,
.mission-viewport[data-mission-active-view="flight-deck"] .mission-camera-frame { width: min(58%, 36rem); opacity: .22; }
.mission-viewport[data-mission-sensor-mode="thermal"] canvas { filter: saturate(1.35) contrast(1.08); }
.mission-viewport[data-mission-sensor-mode="low-light"] canvas { filter: contrast(1.12) brightness(.93) saturate(1.15); }
.mission-button-grid button[aria-pressed="true"] {
  color: #071217;
  background: var(--cyan);
  border-color: var(--cyan);
}
.mission-button-grid button:disabled { opacity: .42; cursor: not-allowed; }
.mission-takeover-button:disabled { opacity: .48; cursor: not-allowed; }

/* ========================================================================== */
/* Evulgare v1.6.0 — Instrumented Autonomous Navigation Assurance Lab          */
/* ========================================================================== */
.autonomy-navigation-page {
  --autonomy-bg: #050c11;
  --autonomy-bg-2: #08141b;
  --autonomy-bg-3: #0c1b23;
  --autonomy-panel: #0a171f;
  --autonomy-panel-2: #0e2029;
  --autonomy-line: rgba(151, 190, 200, .18);
  --autonomy-line-strong: rgba(110, 208, 219, .42);
  --autonomy-text: #e5eef0;
  --autonomy-muted: #91a5ad;
  --autonomy-cyan: #6ed0db;
  --autonomy-teal: #3db5b3;
  --autonomy-amber: #e0ac52;
  --autonomy-red: #df6561;
  --autonomy-green: #72c396;
  --autonomy-square: 2px;
  color: var(--autonomy-text);
  background: var(--autonomy-bg);
}
.autonomy-navigation-page .container-fluid {
  width: min(100% - 2rem, 112rem);
  margin-inline: auto;
}
.autonomy-navigation-page .mono,
.autonomy-navigation-page [data-metric],
.autonomy-navigation-page output,
.autonomy-navigation-page code {
  font-variant-numeric: tabular-nums lining-nums;
}
.autonomy-navigation-page button,
.autonomy-navigation-page input,
.autonomy-navigation-page select {
  border-radius: var(--autonomy-square);
}
.autonomy-navigation-page button:disabled,
.autonomy-navigation-page input:disabled,
.autonomy-navigation-page select:disabled {
  opacity: .42;
  cursor: not-allowed;
}
.autonomy-navigation-page button:not(.button) {
  min-height: 2.65rem;
  padding: .62rem .78rem;
  color: var(--autonomy-text);
  background: #0a1a22;
  border: 1px solid var(--autonomy-line);
  font-family: var(--mono);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.autonomy-navigation-page button:not(.button):hover:not(:disabled),
.autonomy-navigation-page button:not(.button):focus-visible {
  color: #061116;
  background: var(--autonomy-cyan);
  border-color: var(--autonomy-cyan);
}
.autonomy-navigation-page .button {
  border-radius: var(--autonomy-square);
}
.autonomy-navigation-page .button-secondary:hover {
  color: #071217;
  background: var(--autonomy-cyan);
  border-color: var(--autonomy-cyan);
}

.simulation-titlebar.autonomy-titlebar {
  position: relative;
  overflow: hidden;
  padding: clamp(3.6rem, 7vw, 7rem) 0 3rem;
  color: var(--autonomy-text);
  background:
    linear-gradient(rgba(110,208,219,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(110,208,219,.025) 1px, transparent 1px),
    radial-gradient(circle at 78% 20%, rgba(61,181,179,.14), transparent 30%),
    linear-gradient(145deg, #071117, #0b1a22 64%, #061017);
  background-size: 32px 32px, 32px 32px, auto, auto;
  border-bottom: 1px solid var(--autonomy-line-strong);
}
.autonomy-titlebar::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, var(--autonomy-cyan), transparent 52%);
  opacity: .72;
}
.simulation-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin-bottom: 2rem;
  color: #91a6ae;
  font-family: var(--mono);
  font-size: .68rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.simulation-breadcrumb a { color: var(--autonomy-cyan); }
.autonomy-heading-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(22rem, .72fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
}
.autonomy-heading-grid h1 {
  max-width: 18ch;
  color: #f5fafb;
  font-size: clamp(3rem, 7vw, 6.7rem);
}
.autonomy-heading-grid .hero-lede {
  max-width: 70ch;
  color: #b8c8cd;
}
.autonomy-sequence {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .48rem;
  margin-top: 1.75rem;
  color: #9db0b6;
  font-family: var(--mono);
  font-size: clamp(.56rem, 1.2vw, .72rem);
  font-weight: 850;
  letter-spacing: .065em;
}
.autonomy-sequence span {
  padding: .35rem .48rem;
  color: #cfe9ec;
  background: rgba(110,208,219,.045);
  border: 1px solid rgba(110,208,219,.2);
}
.autonomy-sequence b { color: var(--autonomy-cyan); }
.autonomy-boundary {
  padding: 1.25rem;
  background: rgba(4, 13, 18, .78);
  border: 1px solid var(--autonomy-line-strong);
  box-shadow: inset 4px 0 0 rgba(110,208,219,.23);
}
.autonomy-boundary p {
  margin: 1rem 0;
  color: #aebfc4;
  font-size: .9rem;
}
.autonomy-boundary-list {
  display: grid;
  gap: 0;
  margin: 0;
  border-top: 1px solid var(--autonomy-line);
}
.autonomy-boundary-list div {
  display: grid;
  grid-template-columns: minmax(7rem, .6fr) minmax(0, 1.4fr);
  gap: 1rem;
  padding: .55rem 0;
  border-bottom: 1px solid var(--autonomy-line);
}
.autonomy-boundary-list dt {
  color: #7f939b;
  font-family: var(--mono);
  font-size: .63rem;
  text-transform: uppercase;
}
.autonomy-boundary-list dd {
  margin: 0;
  color: #d7e2e5;
  font-size: .75rem;
  text-align: right;
  overflow-wrap: anywhere;
}

.autonomy-lab {
  color: var(--autonomy-text);
  background:
    linear-gradient(rgba(110,208,219,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(110,208,219,.018) 1px, transparent 1px),
    var(--autonomy-bg);
  background-size: 40px 40px;
}
.autonomy-status-strip {
  position: sticky;
  z-index: 60;
  top: var(--header-h);
  display: grid;
  grid-template-columns: 1.05fr 1fr .9fr .9fr 1fr .9fr;
  gap: 1px;
  padding-block: 1px;
  color: var(--autonomy-text);
  background: rgba(110,208,219,.24);
  border-block: 1px solid rgba(110,208,219,.22);
  backdrop-filter: blur(18px);
}
.autonomy-status-strip > div {
  min-width: 0;
  padding: .7rem .85rem;
  background: rgba(6, 17, 23, .96);
}
.autonomy-status-strip small {
  display: block;
  margin-bottom: .25rem;
  color: #708991;
  font-family: var(--mono);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .07em;
}
.autonomy-status-strip strong {
  display: block;
  overflow: hidden;
  color: #edf7f8;
  font-family: var(--mono);
  font-size: .72rem;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.autonomy-status-strip.is-caution,
.autonomy-status-strip [data-state-cell].is-caution { border-color: rgba(224,172,82,.5); }
.autonomy-status-strip.is-critical,
.autonomy-status-strip [data-state-cell].is-critical { border-color: rgba(223,101,97,.6); }
.autonomy-status-strip [data-state-cell="mode"].is-degraded strong,
.autonomy-status-strip [data-state-cell="mode"].is-caution strong { color: var(--autonomy-amber); }
.autonomy-status-strip [data-state-cell="mode"].is-critical strong { color: #ffaaa6; }
.autonomy-status-strip [data-state-cell="mode"].is-complete strong { color: #9ee0b7; }

.autonomy-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(21rem, 25rem);
  gap: 1px;
  align-items: start;
  padding-block: 1rem;
  background: var(--autonomy-line);
}
.autonomy-primary-column {
  display: grid;
  min-width: 0;
  gap: 1px;
  background: var(--autonomy-line);
}
.autonomy-viewport-panel,
.autonomy-metrics,
.autonomy-timeline-panel,
.autonomy-decision-rail,
.autonomy-analysis-panel,
.autonomy-record-panel {
  min-width: 0;
  background: var(--autonomy-panel);
}
.autonomy-panel-heading {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  align-items: start;
  padding: 1rem 1.1rem;
  border-bottom: 1px solid var(--autonomy-line);
}
.autonomy-panel-heading .eyebrow { margin-bottom: .35rem; color: var(--autonomy-cyan); }
.autonomy-panel-heading h2 {
  margin: 0;
  color: #eff6f7;
  font-size: clamp(1.25rem, 2.3vw, 2rem);
  letter-spacing: -.02em;
}
.autonomy-view-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .5rem;
}
.autonomy-view-actions button { min-height: 2.35rem !important; }

.autonomy-canvas-wrap {
  position: relative;
  min-height: 38rem;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 52%, rgba(61,181,179,.07), transparent 37%),
    #030a0e;
  border-bottom: 1px solid var(--autonomy-line);
}
.autonomy-canvas-wrap canvas {
  display: block;
  width: 100%;
  height: clamp(38rem, 61vw, 58rem);
  max-height: 72vh;
  min-height: 38rem;
  touch-action: none;
}
.autonomy-canvas-status {
  position: absolute;
  z-index: 7;
  top: .75rem;
  left: .75rem;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  max-width: calc(100% - 1.5rem);
}
.autonomy-canvas-status span {
  padding: .35rem .5rem;
  color: #a8bac0;
  background: rgba(3, 10, 14, .86);
  border: 1px solid rgba(255,255,255,.12);
  font-family: var(--mono);
  font-size: .57rem;
  letter-spacing: .03em;
}
.autonomy-scene-legend {
  position: absolute;
  z-index: 7;
  right: .75rem;
  bottom: 5.25rem;
  display: grid;
  gap: .34rem;
  padding: .65rem;
  color: #b8c8cd;
  background: rgba(3,10,14,.88);
  border: 1px solid var(--autonomy-line);
  font-family: var(--mono);
  font-size: .56rem;
}
.autonomy-scene-legend span {
  display: grid;
  grid-template-columns: .9rem 1fr;
  gap: .45rem;
  align-items: center;
}
.autonomy-scene-legend i {
  display: block;
  width: .9rem;
  height: .45rem;
  border: 1px solid currentColor;
}
.legend-truth { color: var(--autonomy-amber); }
.legend-truth i { background: rgba(224,172,82,.42); }
.legend-belief { color: #83d9e1; }
.legend-belief i { border-radius: 50%; }
.legend-intent { color: var(--autonomy-cyan); }
.legend-intent i { height: 3px; background: currentColor; border: 0; }
.legend-nominal { color: #7f9299; }
.legend-nominal i { height: 2px; border: 0; background: repeating-linear-gradient(90deg,currentColor 0 3px,transparent 3px 5px); }
.legend-rejected { color: #89999e; }
.legend-rejected i { opacity: .48; }
.autonomy-overlay-controls {
  position: absolute;
  z-index: 7;
  top: 3.65rem;
  right: .75rem;
  display: flex;
  flex-wrap: wrap;
  gap: .2rem .75rem;
  max-width: min(33rem, calc(100% - 1.5rem));
  padding: .5rem .65rem;
  color: #c1d0d4;
  background: rgba(3,10,14,.88);
  border: 1px solid var(--autonomy-line);
  font-family: var(--mono);
  font-size: .58rem;
}
.autonomy-overlay-controls label { display: flex; gap: .35rem; align-items: center; }
.autonomy-overlay-controls input { accent-color: var(--autonomy-cyan); }
.autonomy-scene-callout {
  position: absolute;
  z-index: 7;
  left: .75rem;
  bottom: .75rem;
  display: grid;
  gap: .25rem;
  max-width: min(46rem, calc(100% - 2rem));
  padding: .68rem .78rem;
  color: #d9e5e7;
  background: rgba(3,10,14,.9);
  border: 1px solid var(--autonomy-line-strong);
  border-left: 3px solid var(--autonomy-cyan);
}
.autonomy-scene-callout strong {
  color: var(--autonomy-cyan);
  font-family: var(--mono);
  font-size: .62rem;
  letter-spacing: .05em;
}
.autonomy-scene-callout span { font-size: .78rem; line-height: 1.45; }
.autonomy-webgl-fallback {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: grid;
  place-content: center;
  gap: .5rem;
  padding: 2rem;
  color: var(--autonomy-text);
  text-align: center;
  background: #061017;
}
.autonomy-scene-labels {
  position: absolute;
  z-index: 6;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.autonomy-scene-label {
  position: absolute;
  max-width: 12rem;
  padding: .22rem .35rem;
  transform: translate(-50%, calc(-100% - .45rem));
  color: #e5eff1;
  background: rgba(3,10,14,.82);
  border: 1px solid rgba(255,255,255,.15);
  font-family: var(--mono);
  font-size: .52rem;
  line-height: 1.25;
  white-space: nowrap;
}
.autonomy-scene-label.is-ownship { color: var(--autonomy-cyan); border-color: rgba(110,208,219,.5); }
.autonomy-scene-label.is-goal { color: #9ee0b7; border-color: rgba(114,195,150,.55); }
.autonomy-scene-label.is-belief { color: #9de5ea; border-style: dashed; }
.autonomy-scene-label.is-truth { color: #f4c87e; border-color: rgba(224,172,82,.55); }

.autonomy-replay-bar {
  display: grid;
  grid-template-columns: auto minmax(12rem, 1fr) auto minmax(12rem, .45fr);
  gap: .75rem;
  align-items: center;
  padding: .75rem 1rem;
  background: #07151c;
  border-top: 1px solid rgba(110,208,219,.12);
}
.autonomy-replay-buttons { display: flex; gap: .35rem; }
.autonomy-replay-buttons button { min-height: 2.45rem !important; }
.autonomy-replay-buttons .is-primary {
  color: #041015 !important;
  background: var(--autonomy-cyan) !important;
  border-color: var(--autonomy-cyan) !important;
}
.autonomy-timeline-slider {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 6.8rem;
  gap: .75rem;
  align-items: center;
}
.autonomy-timeline-slider input { width: 100%; accent-color: var(--autonomy-cyan); }
.autonomy-timeline-slider output { color: var(--autonomy-cyan); text-align: right; }
.autonomy-speed-control,
.autonomy-event-jump {
  display: grid;
  grid-template-columns: auto minmax(4.5rem, 1fr);
  gap: .5rem;
  align-items: center;
  color: #8da1a9;
  font-family: var(--mono);
  font-size: .6rem;
}
.autonomy-speed-control select,
.autonomy-event-jump select {
  min-height: 2.4rem;
  padding: .4rem .55rem;
  color: var(--autonomy-text);
  background: #0b1c24;
  border: 1px solid var(--autonomy-line);
  font-family: var(--mono);
  font-size: .62rem;
}

.autonomy-metrics { padding-bottom: 1px; }
.autonomy-metric-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  background: var(--autonomy-line);
}
.autonomy-metric-grid > div {
  min-width: 0;
  padding: .82rem .85rem;
  background: #08171f;
}
.autonomy-metric-grid small {
  display: block;
  min-height: 2.2em;
  color: #728a93;
  font-family: var(--mono);
  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .045em;
}
.autonomy-metric-grid strong {
  display: block;
  margin: .35rem 0 .1rem;
  overflow: hidden;
  color: #e7f2f3;
  font-size: clamp(.86rem, 1.35vw, 1.15rem);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.autonomy-metric-grid span {
  color: #687e86;
  font-size: .58rem;
}

.autonomy-timeline-scroll {
  max-height: 28rem;
  overflow: auto;
}
.autonomy-timeline-panel table,
.autonomy-analysis-panel table,
.autonomy-record-panel table {
  width: 100%;
  border-collapse: collapse;
  color: #cbd9dc;
  font-size: .72rem;
}
.autonomy-timeline-panel caption,
.autonomy-analysis-panel caption,
.autonomy-record-panel caption {
  padding: .75rem 1rem;
  color: #81969e;
  text-align: left;
  background: #07141b;
  border-bottom: 1px solid var(--autonomy-line);
}
.autonomy-timeline-panel th,
.autonomy-timeline-panel td,
.autonomy-analysis-panel th,
.autonomy-analysis-panel td,
.autonomy-record-panel th,
.autonomy-record-panel td {
  padding: .62rem .7rem;
  vertical-align: top;
  border-bottom: 1px solid var(--autonomy-line);
  text-align: left;
}
.autonomy-timeline-panel thead th,
.autonomy-analysis-panel thead th,
.autonomy-record-panel thead th {
  position: sticky;
  z-index: 2;
  top: 0;
  color: #8ea5ad;
  background: #0a1a22;
  font-family: var(--mono);
  font-size: .56rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.autonomy-timeline-panel tbody tr { cursor: pointer; }
.autonomy-timeline-panel tbody tr:hover,
.autonomy-timeline-panel tbody tr:focus-within { background: rgba(110,208,219,.055); }
.autonomy-timeline-panel tbody tr.is-past th { color: #cce8eb; }
.autonomy-timeline-panel tbody tr.is-current {
  background: rgba(110,208,219,.09);
  box-shadow: inset 3px 0 0 var(--autonomy-cyan);
}
.autonomy-hash {
  max-width: 15rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.autonomy-decision-rail {
  position: sticky;
  top: calc(var(--header-h) + 4.5rem);
  display: grid;
  max-height: calc(100vh - var(--header-h) - 5rem);
  overflow: auto;
  background: var(--autonomy-line);
  scrollbar-color: rgba(110,208,219,.45) #07141b;
}
.autonomy-rail-panel {
  position: relative;
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  min-width: 0;
  gap: .75rem;
  padding: 1rem;
  background: #091820;
  border-bottom: 1px solid var(--autonomy-line);
}
.autonomy-rail-panel.is-emphasis { background: #0d2029; box-shadow: inset 3px 0 0 var(--autonomy-cyan); }
.rail-index {
  color: #58717a;
  font-family: var(--mono);
  font-size: .65rem;
  font-weight: 850;
}
.autonomy-rail-panel .eyebrow { margin-bottom: .35rem; color: #6faab2; font-size: .55rem; }
.autonomy-rail-panel h2 {
  margin: 0 0 .7rem;
  color: #ecf4f5;
  font-size: 1.1rem;
  line-height: 1.18;
  letter-spacing: -.01em;
  overflow-wrap: anywhere;
}
.autonomy-rail-panel p {
  margin: .5rem 0;
  color: #96aab1;
  font-size: .72rem;
  line-height: 1.48;
}
.autonomy-rail-panel dl,
.autonomy-track-list {
  display: grid;
  gap: 0;
  margin: .55rem 0 0;
}
.autonomy-rail-panel dl div {
  display: grid;
  grid-template-columns: minmax(7rem, .7fr) minmax(0, 1.3fr);
  gap: .65rem;
  padding: .34rem 0;
  border-top: 1px solid rgba(255,255,255,.07);
}
.autonomy-rail-panel dt {
  color: #718891;
  font-family: var(--mono);
  font-size: .54rem;
  text-transform: uppercase;
}
.autonomy-rail-panel dd {
  margin: 0;
  color: #d2dfe2;
  font-size: .65rem;
  text-align: right;
  overflow-wrap: anywhere;
}
.reason-code-list {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
  margin-top: .7rem;
}
.reason-code-list span {
  padding: .24rem .34rem;
  color: #d8ba7d;
  background: rgba(224,172,82,.06);
  border: 1px solid rgba(224,172,82,.24);
  font-family: var(--mono);
  font-size: .48rem;
  overflow-wrap: anywhere;
}
.candidate-mini-list { display: grid; gap: .4rem; margin-top: .6rem; }
.candidate-mini-row {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: .2rem .5rem;
  align-items: center;
  padding: .45rem;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.075);
}
.candidate-mini-row strong { font-size: .64rem; }
.candidate-mini-row small { grid-column: 2; color: #81959c; font-size: .54rem; }
.candidate-status {
  grid-row: 1 / span 2;
  padding: .16rem .28rem;
  color: #aebfc4;
  border: 1px solid currentColor;
  font-family: var(--mono);
  font-size: .44rem;
}
.candidate-status-selected,
.candidate-status-applied { color: var(--autonomy-cyan); }
.candidate-status-infeasible { color: #ff9e99; }
.candidate-status-reserve { color: var(--autonomy-amber); }
.text-button {
  min-height: auto !important;
  margin-top: .55rem;
  padding: .3rem 0 !important;
  color: var(--autonomy-cyan) !important;
  background: transparent !important;
  border: 0 !important;
  text-align: left;
}
.supervisory-command-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .4rem;
  margin-top: .65rem;
}
.take-supervisory-control {
  width: 100%;
  margin-top: .55rem;
  color: #061217 !important;
  background: var(--autonomy-amber) !important;
  border-color: var(--autonomy-amber) !important;
}
.take-supervisory-control[aria-pressed="true"] {
  background: var(--autonomy-cyan) !important;
  border-color: var(--autonomy-cyan) !important;
}
.supervisory-command-grid .is-critical {
  color: #ffaaa6 !important;
  border-color: rgba(223,101,97,.52) !important;
}
.supervisory-command-grid .is-active {
  color: #051116 !important;
  background: var(--autonomy-cyan) !important;
  border-color: var(--autonomy-cyan) !important;
}
.control-availability { padding-top: .55rem; border-top: 1px solid var(--autonomy-line); }
.gate-state-list { display: grid; gap: .35rem; }
.gate-state-list > div {
  display: grid;
  grid-template-columns: 1.2rem minmax(0,1fr) auto;
  gap: .4rem;
  align-items: center;
  padding: .38rem .42rem;
  border: 1px solid rgba(255,255,255,.075);
}
.gate-state-list span { display: grid; place-items: center; width: 1rem; height: 1rem; color: #071217; background: var(--autonomy-green); font-size: .65rem; }
.gate-state-list strong { color: #cbd9dc; font-family: var(--mono); font-size: .53rem; }
.gate-state-list small { color: #7f949b; font-size: .48rem; }
.gate-state-list .is-not-established { border-color: rgba(223,101,97,.3); }
.gate-state-list .is-not-established span { background: var(--autonomy-red); }
.gate-state-list .is-not-established small { color: #f0938f; }

.autonomy-analysis-section {
  padding: 1px 0;
  background: var(--autonomy-line);
}
.autonomy-analysis-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(22rem, .75fr);
  gap: 1px;
  background: var(--autonomy-line);
}
.autonomy-analysis-panel { padding-bottom: 1px; }
.candidate-row-selected,
.candidate-row-applied { background: rgba(110,208,219,.075); box-shadow: inset 3px 0 0 var(--autonomy-cyan); }
.candidate-row-infeasible { color: #bd8b89; background: rgba(223,101,97,.025); }
.candidate-row-rejected { color: #91a2a8; }
.planner-filter-compare {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  gap: .8rem;
  align-items: center;
  padding: 1.1rem;
}
.planner-filter-compare > div:not([aria-hidden]) {
  min-width: 0;
  padding: .8rem;
  background: #07151c;
  border: 1px solid var(--autonomy-line);
}
.planner-filter-compare small { display: block; color: #718890; font-family: var(--mono); font-size: .54rem; }
.planner-filter-compare strong { display: block; margin: .4rem 0; color: #e3edef; font-size: .82rem; overflow-wrap: anywhere; }
.planner-filter-compare span { color: var(--autonomy-cyan); font-family: var(--mono); font-size: .58rem; }
.autonomy-safety-filter-panel > p { margin: 0; padding: 0 1.1rem 1.1rem; color: #9bafb5; font-size: .76rem; }

.autonomy-config-section { padding-block: clamp(3.5rem, 6vw, 6rem); }
.autonomy-config-section .split-heading {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(24rem, 1.15fr);
  gap: 3rem;
  align-items: end;
  margin-bottom: 2rem;
}
.autonomy-config-section .split-heading h2 { max-width: 18ch; }
.autonomy-config-form {
  display: grid;
  gap: 1px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.12);
}
.autonomy-config-form.is-loading { opacity: .72; pointer-events: none; }
.autonomy-config-form details { padding: 1rem; background: #0a1820; }
.autonomy-config-form summary {
  cursor: pointer;
  color: #dfe9eb;
  font-weight: 750;
}
.autonomy-config-form details[open] summary { margin-bottom: 1rem; }
.autonomy-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
}
.autonomy-field,
.autonomy-toggle-row {
  display: grid;
  gap: .38rem;
  min-width: 0;
  color: #b9c8cc;
  font-family: var(--mono);
  font-size: .6rem;
}
.autonomy-toggle-row {
  grid-template-columns: auto minmax(0,1fr);
  align-content: center;
  align-items: center;
  min-height: 2.8rem;
  padding: .55rem .65rem;
  background: rgba(255,255,255,.025);
  border: 1px solid var(--autonomy-line);
}
.autonomy-toggle-row input { accent-color: var(--autonomy-cyan); }
.autonomy-field input,
.autonomy-field select {
  width: 100%;
  min-height: 2.75rem;
  padding: .55rem .65rem;
  color: #e7f0f2;
  background: #07151c;
  border: 1px solid var(--autonomy-line);
  font-family: var(--mono);
  font-size: .64rem;
}
.autonomy-field input[type="range"] { min-height: 1.8rem; padding: 0; accent-color: var(--autonomy-cyan); }
.autonomy-field output { color: var(--autonomy-cyan); }
.autonomy-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
  padding: 1rem;
  background: #07151c;
}
.request-state {
  margin-left: auto;
  color: #91a5ac;
  font-family: var(--mono);
  font-size: .61rem;
}
.autonomy-presets { margin-top: 1.4rem; }
.autonomy-presets h3 { color: #e5eef0; font-size: 1rem; }
.autonomy-presets > div {
  display: flex;
  flex-wrap: wrap;
  gap: .42rem;
}
.autonomy-presets button { min-height: 2.35rem !important; font-size: .55rem !important; }

.autonomy-record-section {
  padding-block: clamp(3.5rem, 6vw, 6rem);
  color: var(--ink);
}
.autonomy-record-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(22rem, .8fr);
  gap: 1rem;
  align-items: start;
}
.autonomy-record-panel {
  color: #d6e2e4;
  background: #0a171f;
  border: 1px solid rgba(16,24,32,.18);
  box-shadow: 0 18px 50px rgba(5,12,16,.12);
}
.autonomy-view-switcher {
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
  padding: .75rem 1rem 0;
  background: #07141b;
}
.autonomy-view-switcher button {
  min-height: 2.45rem !important;
  border-bottom: 2px solid transparent !important;
}
.autonomy-view-switcher button[aria-selected="true"] {
  color: #051116 !important;
  background: var(--autonomy-cyan) !important;
  border-color: var(--autonomy-cyan) !important;
}
.autonomy-record-panel [data-record-panel] { min-height: 18rem; }
.record-mode-note { margin: 0; padding: .8rem 1rem; color: #d5ba80; background: rgba(224,172,82,.06); border-bottom: 1px solid rgba(224,172,82,.22); font-size: .75rem; }
.text-view { padding: 1.2rem; }
.text-view h3 { color: var(--autonomy-cyan); }
.text-view p { color: #afc0c5; }
.autonomy-record-panel tbody tr.is-pass td:nth-child(3) { color: #9be0b6; }
.autonomy-record-panel tbody tr.is-fail td:nth-child(3) { color: #ff9e99; }
.autonomy-post-run-panel { position: sticky; top: calc(var(--header-h) + 1rem); }
.post-run-groups { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; background: var(--autonomy-line); }
.post-run-groups section { min-width: 0; padding: 1rem; background: #08161d; }
.post-run-groups h3 { margin: 0 0 .65rem; color: var(--autonomy-cyan); font-family: var(--mono); font-size: .62rem; letter-spacing: .05em; }
.post-run-groups dl { display: grid; gap: .25rem; margin: 0; }
.post-run-groups dl div { display: grid; grid-template-columns: minmax(7rem,.9fr) minmax(0,1.1fr); gap: .7rem; padding: .3rem 0; border-top: 1px solid rgba(255,255,255,.07); }
.post-run-groups dt { color: #718890; font-size: .58rem; }
.post-run-groups dd { margin: 0; color: #d4e1e3; font-size: .62rem; text-align: right; overflow-wrap: anywhere; }

/* Cross-run assurance comparison and portable evidence export */
.autonomy-comparison-section {
  padding-block: clamp(3.75rem, 6vw, 6.5rem);
  color: var(--autonomy-text);
  background:
    linear-gradient(rgba(110,208,219,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(110,208,219,.035) 1px, transparent 1px),
    #051118;
  background-size: 38px 38px;
  border-block: 1px solid var(--autonomy-line);
}
.autonomy-comparison-heading {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(28rem, 1.15fr);
  gap: clamp(1.5rem, 4vw, 4.5rem);
  align-items: start;
  margin-bottom: 1.25rem;
}
.autonomy-comparison-heading h2 { max-width: 18ch; color: #edf6f7; }
.autonomy-comparison-heading > div:first-child > p:last-child { max-width: 68ch; color: #96aab0; }
.autonomy-comparison-actions {
  display: grid;
  grid-template-columns: minmax(15rem, 1fr) auto;
  gap: .65rem;
  padding: 1rem;
  background: rgba(7,21,28,.96);
  border: 1px solid var(--autonomy-line-strong);
}
.autonomy-comparison-actions > label:first-child {
  display: grid;
  gap: .35rem;
  color: #9eb1b7;
  font-family: var(--mono);
  font-size: .58rem;
}
.autonomy-comparison-actions select {
  min-height: 2.75rem;
  padding: .55rem .65rem;
  color: #e6f1f2;
  background: #061319;
  border: 1px solid var(--autonomy-line);
  font-family: var(--mono);
}
.autonomy-export-toggle {
  grid-column: 1 / -1;
  display: flex;
  gap: .5rem;
  align-items: center;
  color: #9aadb3;
  font-family: var(--mono);
  font-size: .58rem;
}
.autonomy-export-toggle input { accent-color: var(--autonomy-cyan); }
.autonomy-export-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .5rem; }
.autonomy-comparison-actions .request-state { grid-column: 1 / -1; margin: 0; }
.autonomy-comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--autonomy-line);
  border: 1px solid var(--autonomy-line);
}
.autonomy-comparison-panel { min-width: 0; background: #08171f; }
.autonomy-comparison-panel .autonomy-panel-heading h3 { margin: 0; color: #eff7f8; font-size: clamp(1.05rem, 2vw, 1.45rem); }
.autonomy-comparison-panel table { width: 100%; border-collapse: collapse; font-size: .67rem; }
.autonomy-comparison-panel caption { padding: .72rem .85rem; color: #7e949b; text-align: left; background: #07141b; font-family: var(--mono); font-size: .56rem; }
.autonomy-comparison-panel th,
.autonomy-comparison-panel td { padding: .65rem .72rem; border: 1px solid rgba(110,208,219,.10); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.autonomy-comparison-panel thead th { color: #8ad6de; background: #061319; font-family: var(--mono); font-size: .56rem; letter-spacing: .04em; }
.autonomy-comparison-panel tbody th { color: #d8e5e7; font-weight: 750; }
.autonomy-comparison-panel tbody td { color: #aebfc4; }
.autonomy-comparison-panel tr.is-changed td:last-child,
.autonomy-comparison-panel tr.is-review td:nth-child(2) { color: var(--autonomy-amber); }
.autonomy-comparison-panel tr.is-withdrawn td:nth-child(2) { color: #ffaaa6; }
.autonomy-comparison-panel tr.is-supported td:nth-child(2),
.autonomy-comparison-panel tr.is-unchanged td:nth-child(2) { color: #9ee0b7; }
.autonomy-comparison-summary {
  min-height: 6.5rem;
  padding: 1rem;
  color: #a8babf;
  background: rgba(110,208,219,.025);
  border-bottom: 1px solid var(--autonomy-line);
}
.autonomy-comparison-summary p { margin: 0; line-height: 1.55; }
.autonomy-comparison-summary strong { color: var(--autonomy-cyan); }
.autonomy-impact-domains { display: flex; flex-wrap: wrap; gap: .35rem; padding: .8rem; border-bottom: 1px solid var(--autonomy-line); }
.autonomy-impact-domains span { padding: .3rem .45rem; color: #b6c8cd; background: #061319; border: 1px solid rgba(110,208,219,.18); font-family: var(--mono); font-size: .53rem; }
.autonomy-export-note {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1rem;
  align-items: center;
  margin-top: 1rem;
  padding: .85rem 1rem;
  color: #92a7ad;
  background: #07141b;
  border: 1px solid var(--autonomy-line);
  font-size: .7rem;
}
.autonomy-export-note strong { color: var(--autonomy-cyan); font-family: var(--mono); font-size: .58rem; letter-spacing: .04em; }
.autonomy-export-note span { flex: 1 1 34rem; }

.autonomy-counterfactual-section {
  padding-block: clamp(3.5rem, 6vw, 6rem);
  color: var(--autonomy-text);
  background: #07131a;
  border-block: 1px solid var(--autonomy-line);
}
.autonomy-counterfactual-grid {
  display: grid;
  grid-template-columns: minmax(0,.8fr) minmax(20rem,.7fr) minmax(20rem,.8fr);
  gap: 1rem;
  align-items: start;
}
.autonomy-counterfactual-grid h2 { color: var(--autonomy-amber); }
.autonomy-counterfactual-grid p { color: #9cafb5; }
.autonomy-counterfactual-grid form,
.counterfactual-result {
  display: grid;
  gap: .75rem;
  padding: 1rem;
  background: #0a1921;
  border: 1px solid var(--autonomy-line);
}
.autonomy-counterfactual-grid label { display: grid; gap: .35rem; color: #a7b8bd; font-family: var(--mono); font-size: .58rem; }
.autonomy-counterfactual-grid input,
.autonomy-counterfactual-grid select {
  min-height: 2.65rem;
  padding: .5rem .6rem;
  color: var(--autonomy-text);
  background: #061319;
  border: 1px solid var(--autonomy-line);
}
.counterfactual-result strong { color: var(--autonomy-amber); }
.counterfactual-result p { margin: 0; font-size: .73rem; }
.counterfactual-result code { color: #8ccfd7; overflow-wrap: anywhere; }
.autonomy-sources { color: var(--autonomy-text); background: #0a171f; }
.autonomy-sources h2 { color: #edf5f6; }
.autonomy-sources .compact-link-grid a { border-radius: var(--autonomy-square); }
.autonomy-next { color: var(--autonomy-text); background: #061117; border-top: 1px solid var(--autonomy-line); }
.autonomy-next h2 { color: #eaf3f4; }
.autonomy-next .lab-next-grid a { background: #0a1921; border-color: var(--autonomy-line); border-radius: var(--autonomy-square); }

.autonomy-viewport-panel:fullscreen {
  width: 100vw;
  height: 100vh;
  overflow: auto;
  background: var(--autonomy-bg);
}
.autonomy-viewport-panel:fullscreen .autonomy-canvas-wrap,
.autonomy-viewport-panel:fullscreen canvas {
  height: calc(100vh - 10rem);
  max-height: none;
}


/* ========================================================================== */
/* Evulgare v1.6.0 — Autonomous evidence comparison workbench                  */
/* ========================================================================== */
.autonomy-comparison-page {
  color: var(--autonomy-text);
  background: #040c11;
}
.comparison-titlebar {
  padding-block: clamp(2.5rem, 6vw, 5.5rem);
  color: var(--autonomy-text);
  background:
    radial-gradient(circle at 76% 18%, rgba(110,208,219,.10), transparent 29rem),
    linear-gradient(rgba(110,208,219,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(110,208,219,.035) 1px, transparent 1px),
    #061117;
  background-size: auto, 38px 38px, 38px 38px, auto;
  border-bottom: 1px solid var(--autonomy-line-strong);
}
.comparison-heading-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(21rem, .65fr);
  gap: clamp(2rem, 5vw, 6rem);
  align-items: end;
}
.comparison-heading-grid h1 {
  max-width: 18ch;
  margin-bottom: 1rem;
  color: #f0f8f9;
  font-size: clamp(3rem, 6vw, 7.3rem);
  line-height: .88;
  letter-spacing: -.055em;
}
.comparison-heading-grid .hero-lede { max-width: 67ch; color: #a8bbc0; }
.comparison-boundary {
  margin: 0;
  padding: 1.15rem;
  background: rgba(5,16,22,.92);
  border: 1px solid var(--autonomy-line-strong);
  box-shadow: 0 1.25rem 4rem rgba(0,0,0,.25);
}
.comparison-boundary > p { color: #a5b7bc; }
.comparison-workbench {
  padding-block: 1px clamp(4rem, 8vw, 8rem);
  background:
    linear-gradient(rgba(110,208,219,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(110,208,219,.025) 1px, transparent 1px),
    #040d12;
  background-size: 44px 44px;
}
.comparison-controls {
  position: sticky;
  z-index: 12;
  top: var(--header-h);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .8rem;
  align-items: center;
  margin-top: 1.25rem;
  padding: .85rem;
  background: rgba(5,15,21,.96);
  border: 1px solid var(--autonomy-line-strong);
  box-shadow: 0 .75rem 2.5rem rgba(0,0,0,.28);
  backdrop-filter: blur(14px);
}
.comparison-controls form {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) auto minmax(12rem, 1fr) auto;
  gap: .65rem;
  align-items: end;
}
.comparison-controls label { display: grid; gap: .35rem; min-width: 0; }
.comparison-controls label > span,
.comparison-direction {
  color: #81cbd3;
  font-family: var(--mono);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .08em;
}
.comparison-direction { align-self: center; padding-top: 1.2rem; }
.comparison-controls select {
  width: 100%;
  min-height: 2.8rem;
  padding: .55rem .7rem;
  color: #e4eff1;
  background: #06131a;
  border: 1px solid var(--autonomy-line);
  font-family: var(--mono);
  font-size: .7rem;
}
.comparison-live {
  max-width: 26rem;
  color: #9eb1b7;
  font-family: var(--mono);
  font-size: .62rem;
  line-height: 1.4;
}
.comparison-live[data-state="error"] { color: #ffaaa6; }
.comparison-status-strip {
  display: grid;
  grid-template-columns: 1.25fr repeat(4, minmax(0, .8fr)) 1.3fr;
  margin-top: .9rem;
  background: #07151c;
  border: 1px solid var(--autonomy-line);
}
.comparison-status-strip > div { min-width: 0; padding: .75rem .82rem; border-right: 1px solid var(--autonomy-line); }
.comparison-status-strip > div:last-child { border-right: 0; }
.comparison-status-strip small,
.comparison-event-delta small {
  display: block;
  color: #71878e;
  font-family: var(--mono);
  font-size: .52rem;
  letter-spacing: .075em;
}
.comparison-status-strip strong {
  display: block;
  margin-top: .28rem;
  color: #edf7f8;
  font-family: var(--mono);
  font-size: .69rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.comparison-digest,
.comparison-hash { color: #83d2db !important; }
.comparison-grid,
.comparison-section-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 1rem;
  background: var(--autonomy-line);
  border: 1px solid var(--autonomy-line);
}
.comparison-run-card,
.comparison-panel {
  min-width: 0;
  padding: clamp(1rem, 2vw, 1.4rem);
  background: rgba(7,21,28,.97);
}
.comparison-run-card.is-candidate { background: rgba(8,25,33,.98); }
.comparison-run-card h2 { margin: .2rem 0 .8rem; color: #eef7f8; font-size: clamp(1.25rem, 2.6vw, 2.2rem); }
.comparison-run-card > .status { display: inline-flex; margin-bottom: 1rem; }
.comparison-run-card dl,
.comparison-integrity,
.comparison-code-delta { display: grid; gap: 0; margin: 0; }
.comparison-run-card dl div,
.comparison-integrity div,
.comparison-code-delta div {
  display: grid;
  grid-template-columns: minmax(8.5rem, .8fr) minmax(0, 1.2fr);
  gap: .8rem;
  padding: .5rem 0;
  border-top: 1px solid rgba(110,208,219,.10);
}
.comparison-run-card dt,
.comparison-integrity dt,
.comparison-code-delta dt { color: #71878e; font-size: .62rem; }
.comparison-run-card dd,
.comparison-integrity dd,
.comparison-code-delta dd { margin: 0; color: #d3e0e2; font-size: .67rem; text-align: right; overflow-wrap: anywhere; }
.comparison-panel { border: 0; }
.comparison-panel-heading {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}
.comparison-panel-heading h2 { margin: .15rem 0 0; color: #eef7f8; font-size: clamp(1.2rem, 2vw, 1.75rem); }
.comparison-panel table { width: 100%; min-width: 40rem; border-collapse: collapse; font-size: .68rem; }
.comparison-panel caption { padding: .75rem 0; color: #81969c; text-align: left; font-size: .64rem; }
.comparison-panel th,
.comparison-panel td { padding: .65rem .7rem; border: 1px solid rgba(110,208,219,.12); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.comparison-panel thead th { color: #83d2db; background: #06131a; font-family: var(--mono); font-size: .57rem; letter-spacing: .05em; }
.comparison-panel tbody th { color: #dbe8ea; font-weight: 750; }
.comparison-panel tbody td { color: #aebfc4; }
.comparison-panel tr[data-changed="true"] td:last-child { color: var(--autonomy-amber); }
.comparison-event-delta {
  display: grid;
  grid-template-columns: .55fr 1fr 1fr;
  gap: 1px;
  margin-bottom: 1rem;
  background: var(--autonomy-line);
  border: 1px solid var(--autonomy-line);
}
.comparison-event-delta > div { min-width: 0; padding: .8rem; background: #06141b; }
.comparison-event-delta strong { display: block; margin-top: .3rem; color: #dce9eb; font-size: .68rem; overflow-wrap: anywhere; }
.comparison-claims { margin-top: 1rem; border: 1px solid var(--autonomy-line); }
.claim-state {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: .22rem .45rem;
  border: 1px solid currentColor;
  font-family: var(--mono);
  font-size: .54rem;
  font-weight: 850;
  line-height: 1.2;
}
.claim-unchanged,
.claim-supported-within-declared-bounds { color: #9be0b6; }
.claim-supported-with-qualifications,
.claim-suspended-pending-review { color: var(--autonomy-amber); }
.claim-withdrawn-for-candidate-scope { color: #ffaaa6; }
.claim-not-established-by-simulation { color: #a9bdc2; }
.comparison-export {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(20rem, .75fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: start;
  margin-top: 1rem;
  padding: clamp(1.25rem, 3vw, 2.2rem);
  background: #07151c;
  border: 1px solid var(--autonomy-line-strong);
}
.comparison-export h2 { color: #eef7f8; }
.comparison-export p { max-width: 67ch; color: #9fb1b6; }
.comparison-export-actions { display: grid; gap: .65rem; }
.comparison-export-note { grid-column: 1 / -1; margin: 0; padding-top: 1rem; border-top: 1px solid var(--autonomy-line); font-size: .7rem; }

@media (max-width: 92rem) {
  .comparison-status-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .comparison-status-strip > div:nth-child(3n) { border-right: 0; }
  .autonomy-workspace { grid-template-columns: minmax(0, 1fr) 22rem; }
  .autonomy-metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .autonomy-replay-bar { grid-template-columns: auto minmax(10rem, 1fr) auto; }
  .autonomy-event-jump { grid-column: 1 / -1; grid-template-columns: auto minmax(0, 1fr); }
  .autonomy-form-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 76rem) {
  .comparison-heading-grid,
  .comparison-grid,
  .comparison-section-grid,
  .comparison-export { grid-template-columns: 1fr; }
  .comparison-export-note { grid-column: auto; }
  .comparison-controls { position: static; grid-template-columns: 1fr; }
  .comparison-live { max-width: none; }
  .autonomy-heading-grid { grid-template-columns: 1fr; align-items: start; }
  .autonomy-status-strip { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .autonomy-workspace { grid-template-columns: 1fr; }
  .autonomy-decision-rail {
    position: static;
    grid-template-columns: repeat(2, minmax(0,1fr));
    max-height: none;
    overflow: visible;
  }
  .autonomy-analysis-grid,
  .autonomy-record-grid,
  .autonomy-comparison-grid,
  .autonomy-counterfactual-grid { grid-template-columns: 1fr; }
  .autonomy-post-run-panel { position: static; }
  .autonomy-comparison-heading { grid-template-columns: 1fr; gap: 1.25rem; }
  .autonomy-config-section .split-heading { grid-template-columns: 1fr; gap: 1rem; }
  .autonomy-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .autonomy-metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 56rem) {
  .comparison-controls form { grid-template-columns: 1fr; }
  .comparison-direction { padding: 0; transform: rotate(90deg); justify-self: center; }
  .comparison-status-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .comparison-status-strip > div:nth-child(3n) { border-right: 1px solid var(--autonomy-line); }
  .comparison-status-strip > div:nth-child(2n) { border-right: 0; }
  .comparison-event-delta { grid-template-columns: 1fr; }
  .autonomy-navigation-page .container-fluid { width: min(100% - 1rem, 112rem); }
  .autonomy-status-strip { position: static; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .autonomy-canvas-wrap,
  .autonomy-canvas-wrap canvas { min-height: 31rem; height: 31rem; }
  .autonomy-scene-legend { right: .45rem; bottom: 5.1rem; }
  .autonomy-overlay-controls { top: 4.6rem; right: .45rem; }
  .autonomy-replay-bar { grid-template-columns: 1fr; }
  .autonomy-replay-buttons { justify-content: center; }
  .autonomy-event-jump,
  .autonomy-speed-control { grid-column: auto; }
  .autonomy-decision-rail { grid-template-columns: 1fr; }
  .autonomy-comparison-actions { grid-template-columns: 1fr; }
  .autonomy-comparison-actions > * { grid-column: 1 !important; }
  .autonomy-export-actions { display: grid; grid-template-columns: 1fr; }
  .autonomy-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planner-filter-compare { grid-template-columns: 1fr; }
  .planner-filter-compare > div[aria-hidden] { transform: rotate(90deg); justify-self: center; }
  .post-run-groups { grid-template-columns: 1fr; }
}
@media (max-width: 40rem) {
  .comparison-heading-grid h1 { font-size: clamp(2.65rem, 15vw, 4.5rem); }
  .comparison-status-strip { grid-template-columns: 1fr; }
  .comparison-status-strip > div { border-right: 0 !important; }
  .comparison-run-card dl div,
  .comparison-integrity div,
  .comparison-code-delta div { grid-template-columns: 1fr; }
  .comparison-run-card dd,
  .comparison-integrity dd,
  .comparison-code-delta dd { text-align: left; }
  .autonomy-heading-grid h1 { font-size: clamp(2.7rem, 16vw, 4.7rem); }
  .autonomy-sequence b { display: none; }
  .autonomy-status-strip { grid-template-columns: 1fr 1fr; }
  .autonomy-status-strip > div { padding: .6rem; }
  .autonomy-canvas-wrap,
  .autonomy-canvas-wrap canvas { min-height: 27rem; height: 27rem; }
  .autonomy-canvas-status { max-width: calc(100% - .9rem); top: .45rem; left: .45rem; }
  .autonomy-overlay-controls { top: 5.35rem; left: .45rem; right: .45rem; }
  .autonomy-scene-legend { display: none; }
  .autonomy-scene-callout { left: .45rem; right: .45rem; bottom: .45rem; max-width: none; }
  .autonomy-view-actions { justify-content: flex-start; }
  .autonomy-panel-heading { flex-direction: column; }
  .autonomy-replay-buttons { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); }
  .autonomy-replay-buttons button span { display: none; }
  .autonomy-timeline-slider { grid-template-columns: 1fr; }
  .autonomy-timeline-slider output { text-align: left; }
  .autonomy-metric-grid { grid-template-columns: 1fr 1fr; }
  .autonomy-form-grid { grid-template-columns: 1fr; }
  .supervisory-command-grid { grid-template-columns: 1fr; }
  .request-state { width: 100%; margin-left: 0; }
  .autonomy-timeline-scroll { max-height: 22rem; }
  .autonomy-record-panel .table-scroll { max-width: calc(100vw - 2rem); overflow-x: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .autonomy-navigation-page *,
  .autonomy-navigation-page *::before,
  .autonomy-navigation-page *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

/* --------------------------------------------------------------------------
   v1.6.0 accepted-baseline autonomy regression workbench
   -------------------------------------------------------------------------- */
.status-review { color: #8c5d0b; background: rgba(232,177,80,.14); }
.autonomy-regression-page {
  --regression-bg: #051017;
  --regression-panel: #07151c;
  --regression-panel-alt: #081b23;
  --regression-line: rgba(110,208,219,.17);
  --regression-line-strong: rgba(110,208,219,.38);
  --regression-cyan: #83d2db;
  --regression-amber: #efbd68;
  color: #d8e5e7;
  background: #050d12;
}
.regression-titlebar {
  overflow: hidden;
  padding: clamp(2.8rem, 6vw, 6.2rem) 0 clamp(2rem, 4vw, 3.7rem);
  background:
    linear-gradient(90deg, rgba(5,14,19,.98), rgba(5,18,24,.88)),
    linear-gradient(rgba(110,208,219,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(110,208,219,.045) 1px, transparent 1px);
  background-size: auto, 44px 44px, 44px 44px;
  border-bottom: 1px solid var(--regression-line-strong);
}
.regression-heading-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(20rem, .65fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: end;
}
.regression-heading-grid h1 {
  max-width: 15ch;
  margin: .35rem 0 1rem;
  color: #f0f7f8;
  font-size: clamp(3rem, 7vw, 7.3rem);
  line-height: .88;
  letter-spacing: -.055em;
}
.regression-boundary { background: rgba(4,15,21,.88); border-color: var(--regression-line-strong); }
.regression-hash { color: var(--regression-cyan) !important; overflow-wrap: anywhere; }
.regression-workbench {
  padding: 0 0 clamp(4rem, 8vw, 8rem);
  background:
    radial-gradient(circle at 65% 0%, rgba(32,111,126,.10), transparent 31rem),
    linear-gradient(rgba(110,208,219,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(110,208,219,.025) 1px, transparent 1px),
    var(--regression-bg);
  background-size: auto, 44px 44px, 44px 44px, auto;
}
.regression-controls {
  position: sticky;
  z-index: 12;
  top: var(--header-h);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(13rem, .3fr);
  gap: .8rem;
  align-items: center;
  margin-top: 1.25rem;
  padding: .85rem;
  background: rgba(5,15,21,.97);
  border: 1px solid var(--regression-line-strong);
  box-shadow: 0 .8rem 2.6rem rgba(0,0,0,.31);
  backdrop-filter: blur(14px);
}
.regression-controls form {
  display: grid;
  grid-template-columns: minmax(13rem, 1fr) minmax(13rem, 1fr) minmax(13rem, 1fr) auto;
  gap: .65rem;
  align-items: end;
}
.regression-controls label { display: grid; gap: .35rem; min-width: 0; }
.regression-controls label > span {
  color: var(--regression-cyan);
  font-family: var(--mono);
  font-size: .57rem;
  font-weight: 850;
  letter-spacing: .085em;
}
.regression-controls select {
  width: 100%;
  min-height: 2.85rem;
  padding: .55rem .7rem;
  color: #e5eff1;
  background: #06131a;
  border: 1px solid var(--regression-line);
  border-radius: 0;
  font-family: var(--mono);
  font-size: .67rem;
}
.regression-live {
  color: #9fb2b7;
  font-family: var(--mono);
  font-size: .61rem;
  line-height: 1.45;
}
.regression-status-strip {
  display: grid;
  grid-template-columns: 1.1fr repeat(6, minmax(0, .58fr)) 1.25fr;
  margin-top: .9rem;
  background: #07151c;
  border: 1px solid var(--regression-line);
}
.regression-status-strip > div { min-width: 0; padding: .7rem .72rem; border-right: 1px solid var(--regression-line); }
.regression-status-strip > div:last-child { border-right: 0; }
.regression-status-strip small {
  display: block;
  color: #70858c;
  font-family: var(--mono);
  font-size: .5rem;
  letter-spacing: .075em;
}
.regression-status-strip strong {
  display: block;
  margin-top: .27rem;
  color: #edf7f8;
  font-family: var(--mono);
  font-size: .65rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.regression-explanation-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 1rem;
  background: var(--regression-line);
  border: 1px solid var(--regression-line);
}
.regression-principle { min-width: 0; padding: clamp(1rem, 2.2vw, 1.7rem); background: rgba(7,21,28,.97); }
.regression-principle h2 { margin: .25rem 0 .65rem; color: #eff7f8; font-size: clamp(1.1rem, 2vw, 1.65rem); }
.regression-principle p:last-child { margin: 0; color: #98acb2; font-size: .73rem; line-height: 1.65; }
.regression-panel {
  min-width: 0;
  margin-top: 1rem;
  padding: clamp(1rem, 2vw, 1.5rem);
  background: rgba(7,21,28,.98);
  border: 1px solid var(--regression-line);
}
.regression-panel-heading {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}
.regression-panel-heading h2 { margin: .15rem 0 0; color: #eef7f8; font-size: clamp(1.25rem, 2.4vw, 2rem); }
.regression-panel table { width: 100%; border-collapse: collapse; color: #b9c9cd; font-size: .65rem; }
.regression-panel caption { padding: .7rem 0; color: #81969c; text-align: left; font-size: .63rem; }
.regression-panel th,
.regression-panel td { padding: .62rem .65rem; border: 1px solid rgba(110,208,219,.12); vertical-align: top; text-align: left; }
.regression-panel thead th { color: var(--regression-cyan); background: #06131a; font-family: var(--mono); font-size: .54rem; letter-spacing: .05em; }
.regression-panel tbody th { min-width: 13rem; color: #dce9eb; }
.regression-matrix { min-width: 84rem; }
.regression-claim-matrix { min-width: 0; }
.autonomy-regression-page,
.regression-workbench,
.regression-controls,
.regression-status-strip,
.regression-overview-grid,
.regression-analysis-grid,
.regression-panel,
.regression-case-matrix,
.regression-claim-matrix,
.regression-difference-panel,
.regression-export { max-width: 100%; }
.autonomy-regression-page .table-scroll {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.regression-case-meta { display: block; margin-top: .28rem; color: #6f868d; font-family: var(--mono); font-size: .51rem; font-weight: 500; }
.regression-state {
  display: inline-flex;
  align-items: center;
  min-height: 1.6rem;
  max-width: 9.5rem;
  padding: .2rem .42rem;
  border: 1px solid currentColor;
  font-family: var(--mono);
  font-size: .49rem;
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: .025em;
  white-space: normal;
}
.regression-difference-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 1rem;
  background: var(--regression-line);
  border: 1px solid var(--regression-line);
}
.regression-difference-grid .regression-panel { margin: 0; border: 0; }
.regression-difference-list { display: grid; gap: .4rem; max-height: 24rem; margin: 0; padding: 0; overflow: auto; list-style: none; }
.regression-difference-list li {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr) auto;
  gap: .55rem;
  align-items: center;
  padding: .55rem .6rem;
  color: #a9bbc0;
  background: #06141b;
  border: 1px solid rgba(110,208,219,.11);
  font-size: .6rem;
}
.regression-difference-list strong { color: #82979d; font-size: .54rem; }
.regression-scope-panel table { min-width: 55rem; }
.regression-export {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(20rem, .75fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: start;
  margin-top: 1rem;
  padding: clamp(1.25rem, 3vw, 2.3rem);
  background: #07151c;
  border: 1px solid var(--regression-line-strong);
}
.regression-export h2 { color: #eef7f8; }
.regression-export p { max-width: 70ch; color: #9fb1b6; }
.regression-export-actions { display: grid; gap: .65rem; }
.regression-export-note { grid-column: 1 / -1; margin: 0; padding-top: 1rem; border-top: 1px solid var(--regression-line); font-size: .69rem; }

@media (max-width: 96rem) {
  .regression-status-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .regression-status-strip > div:nth-child(4n) { border-right: 0; }
  .regression-controls { position: static; grid-template-columns: 1fr; }
  .regression-controls form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .regression-controls form .button { min-height: 2.85rem; }
}
@media (max-width: 76rem) {
  .regression-heading-grid,
  .regression-export { grid-template-columns: 1fr; }
  .regression-export-note { grid-column: auto; }
  .regression-explanation-grid,
  .regression-difference-grid { grid-template-columns: 1fr; }
}
@media (max-width: 56rem) {
  .regression-controls form { grid-template-columns: 1fr; }
  .regression-status-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .regression-status-strip > div:nth-child(4n) { border-right: 1px solid var(--regression-line); }
  .regression-status-strip > div:nth-child(2n) { border-right: 0; }
  .regression-panel-heading { flex-direction: column; }
}
@media (max-width: 40rem) {
  .autonomy-regression-page .container-wide { width: min(100% - 1rem, 112rem); }
  .regression-heading-grid h1 { font-size: clamp(2.6rem, 15vw, 4.4rem); }
  .regression-status-strip { grid-template-columns: 1fr; }
  .regression-status-strip > div { border-right: 0 !important; }
  .regression-difference-list li { grid-template-columns: 1fr; }
  .regression-state { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
  .autonomy-regression-page *,
  .autonomy-regression-page *::before,
  .autonomy-regression-page *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

/* v1.6.0 regression workbench integration refinements */
.status-review-required { color: #f0c36f; background: rgba(232,177,80,.13); }
.autonomy-regression-page .status-supported,
.autonomy-regression-page .status-qualified,
.autonomy-regression-page .status-review-required,
.autonomy-regression-page .status-invalidated { border-color: currentColor; }
.regression-live.is-error { color: #ffaaa6; }
.regression-overview-grid,
.regression-analysis-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 1rem;
  background: var(--regression-line);
  border: 1px solid var(--regression-line);
}
.regression-overview-grid > .regression-panel,
.regression-analysis-grid > .regression-panel { margin: 0; border: 0; }
.regression-manifest-panel > p,
.regression-profile-panel > p { color: #9cafb4; font-size: .72rem; line-height: 1.65; }
.regression-scope-list,
.regression-candidate-scope {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 1rem 0 0;
  background: var(--regression-line);
  border: 1px solid var(--regression-line);
}
.regression-scope-list div,
.regression-candidate-scope div { min-width: 0; padding: .68rem .72rem; background: #06141b; }
.regression-scope-list dt,
.regression-candidate-scope dt { color: #70858c; font-family: var(--mono); font-size: .5rem; letter-spacing: .075em; }
.regression-scope-list dd,
.regression-candidate-scope dd { margin: .28rem 0 0; color: #d8e5e7; font-size: .61rem; line-height: 1.45; overflow-wrap: anywhere; }
.regression-integrity-line {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .8rem;
  align-items: start;
  margin-top: .75rem;
  padding: .68rem .72rem;
  background: #06131a;
  border: 1px solid var(--regression-line);
}
.regression-integrity-line span { color: var(--regression-cyan); font-family: var(--mono); font-size: .52rem; font-weight: 850; letter-spacing: .07em; }
.regression-integrity-line code { color: #9fcbd1; font-size: .58rem; overflow-wrap: anywhere; }
.regression-scope-change-summary { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .55rem 1rem; margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--regression-line); color: #8fa3a9; font-size: .63rem; }
.regression-scope-change-summary strong { color: var(--regression-amber); font-family: var(--mono); }
.regression-case-matrix table { min-width: 94rem; }
.regression-claim-matrix { grid-column: 1 / -1; }
.regression-claim-matrix table { min-width: 92rem; }
.regression-before-after { display: grid; gap: .18rem; min-width: 8.5rem; color: #c4d2d5; line-height: 1.35; }
.regression-before-after small { margin-top: .25rem; color: #677d84; font-family: var(--mono); font-size: .46rem; font-weight: 850; letter-spacing: .07em; }
.regression-before-after small:first-child { margin-top: 0; }
.regression-history-pair { display: grid; gap: .28rem; min-width: 8.5rem; }
.regression-history-pair code { color: #91d6de; font-size: .55rem; overflow-wrap: anywhere; }
.regression-history-pair small { color: #71878e; font-family: var(--mono); font-size: .48rem; }
.matrix-state {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 4.25rem;
  min-height: 1.55rem;
  padding: .18rem .3rem;
  border: 1px solid currentColor;
  font-family: var(--mono);
  font-size: .45rem;
  font-weight: 850;
  text-align: center;
}
.regression-difference-tabs { display: flex; flex-wrap: wrap; gap: .35rem; }
.regression-difference-tabs button {
  min-height: 2rem;
  padding: .35rem .55rem;
  color: #8fa4aa;
  background: #06131a;
  border: 1px solid var(--regression-line);
  font-family: var(--mono);
  font-size: .54rem;
  font-weight: 800;
}
.regression-difference-tabs button[aria-selected="true"] { color: #041015; background: var(--regression-cyan); border-color: var(--regression-cyan); }
.regression-difference-tabs span { display: inline-flex; justify-content: center; min-width: 1.35rem; margin-left: .25rem; padding: .06rem .25rem; color: inherit; background: rgba(0,0,0,.17); }
.regression-difference-panel table { min-width: 68rem; }
.regression-detail-json { display: block; max-width: 38rem; color: #9fbec3; font-size: .56rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.regression-export-qualification { padding-top: .75rem; border-top: 1px solid var(--regression-line); font-size: .67rem; }
.regression-export-actions .text-link { width: fit-content; }

@media (max-width: 76rem) {
  .regression-overview-grid,
  .regression-analysis-grid { grid-template-columns: 1fr; }
  .regression-claim-matrix { grid-column: auto; }
}
@media (max-width: 56rem) {
  .regression-scope-list,
  .regression-candidate-scope { grid-template-columns: 1fr; }
  .regression-integrity-line { grid-template-columns: 1fr; }
  .regression-difference-tabs { width: 100%; }
  .regression-difference-tabs button { flex: 1 1 8rem; }
}
@media (max-width: 40rem) {
  .regression-workbench .container-wide { width: min(100% - 1rem, 112rem); }
  .regression-overview-grid,
  .regression-analysis-grid,
  .regression-panel,
  .regression-case-matrix,
  .regression-claim-matrix,
  .regression-difference-panel,
  .regression-export { min-width: 0; max-width: 100%; }
  .regression-panel { padding: .8rem; }
  .regression-export { padding: 1rem; }
}

/* v1.6.0 regression responsive containment: wide semantic matrices scroll
   inside their panels rather than widening the document viewport. */
.autonomy-regression-page,
.regression-workbench { max-width: 100%; overflow-x: clip; }
.regression-panel,
.regression-overview-grid,
.regression-analysis-grid,
.regression-difference-panel,
.regression-case-matrix,
.regression-claim-matrix { min-width: 0; max-width: 100%; }
.regression-panel { overflow: hidden; }
.regression-panel .table-scroll {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.regression-panel .table-scroll table { width: max-content; max-width: none; }

/* Eviulon partnership announcement on the homepage. */
.home-eviulon-announcement { position:relative; overflow:hidden; padding:clamp(4rem,7vw,7rem) 0; color:var(--paper); background:#0b151b; border-top:1px solid rgba(110,208,219,.18); border-bottom:1px solid rgba(110,208,219,.18); }
.home-eviulon-announcement::before { content:""; position:absolute; inset:0; opacity:.19; pointer-events:none; background-image:linear-gradient(rgba(110,208,219,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(110,208,219,.08) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(90deg,transparent,black 25%,black 75%,transparent); }
.home-eviulon-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(3rem,7vw,7rem); align-items:center; }
.home-eviulon-copy h2 { max-width:15ch; }
.home-eviulon-copy p { color:#c2cdd2; }
.home-eviulon-copy strong { color:#eef2f3; }
.home-eviulon-status { display:inline-flex; align-items:center; gap:.6rem; margin-bottom:1.2rem; font-family:var(--mono); font-size:.68rem; font-weight:800; letter-spacing:.1em; color:#a8e6ec; }
.home-eviulon-status span { width:.5rem; height:.5rem; border-radius:50%; background:var(--cyan); box-shadow:0 0 1rem var(--cyan); }
.home-eviulon-system { position:relative; display:grid; gap:1px; border:1px solid rgba(110,208,219,.32); background:rgba(110,208,219,.2); }
.home-eviulon-system > div { display:grid; grid-template-columns:3rem 1fr; column-gap:1rem; padding:1.15rem; background:#0f2028; }
.home-eviulon-system > div span { grid-row:1 / span 2; font-family:var(--mono); color:var(--cyan); }
.home-eviulon-system > div strong { font-size:.86rem; letter-spacing:.06em; }
.home-eviulon-system > div small { color:#9eb0b8; }
.home-eviulon-system > p { max-width:none; margin:0; padding:1rem; background:#091217; font-size:.65rem; color:#f0c77f; }
.home-eviulon-qualification { position:relative; z-index:1; margin-top:2rem; padding:1rem; border-left:3px solid var(--amber); background:rgba(214,163,75,.07); font-size:.78rem; color:#bdc8cd; }
.home-eviulon-qualification strong { color:#f0c77f; }
@media (max-width: 840px) { .home-eviulon-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion: reduce) { .home-eviulon-status span { box-shadow:none; } }

/* RC8 bounded Simulation Explorer degradation state. */
.sim-degraded{min-height:70vh;display:grid;place-items:center;padding:clamp(2rem,7vw,6rem) 1rem;background:linear-gradient(180deg,rgba(8,16,24,.98),rgba(5,10,15,.98))}
.sim-degraded__panel{width:min(920px,100%);border:1px solid var(--line, #2a4857);border-left:4px solid var(--amber, #d7a441);background:rgba(10,20,28,.92);padding:clamp(1.5rem,4vw,3rem)}
.sim-degraded__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;margin:2rem 0;background:var(--line,#2a4857);border:1px solid var(--line,#2a4857)}
.sim-degraded__facts>div{background:#0a141c;padding:1rem}.sim-degraded__facts dt{font:700 .72rem/1.3 var(--mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:#8ca6b2}.sim-degraded__facts dd{margin:.45rem 0 0;color:#edf7fb}

/* Canonical report section atlas */
.report-section-atlas { display:grid; gap:.8rem; }
.report-section-record { border:1px solid var(--line); background:rgba(255,255,255,.64); }
.report-section-record summary { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:1rem; align-items:center; padding:1rem 1.15rem; cursor:pointer; }
.report-section-record summary .mono { color:var(--cyan-deep); }
.report-section-record summary > span:last-child { font-family:var(--mono); font-size:.72rem; text-transform:uppercase; }
.report-section-record .table-scroll { border-top:1px solid var(--line); }
.report-section-record code { overflow-wrap:anywhere; font-size:.72rem; }
@media (max-width: 700px) { .report-section-record summary { grid-template-columns:1fr; gap:.35rem; } }

/* RC19 defense-sector posture */
.home-defense-posture{background:#071019;color:#edf6f8;border-block:1px solid rgba(70,211,222,.28);padding:clamp(2.75rem,6vw,5.5rem) 0}
.home-defense-posture-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.home-defense-posture h2{font-size:clamp(2rem,4.4vw,4.4rem);line-height:.98;max-width:16ch;margin:.35rem 0 1.2rem}
.home-defense-posture p{max-width:70ch;color:#c7d6dd}
.home-defense-posture-lines{display:grid;border-top:1px solid rgba(255,255,255,.18)}
.home-defense-posture-lines span{padding:1rem;border-bottom:1px solid rgba(255,255,255,.14);font:700 .78rem/1.3 var(--font-mono,monospace);letter-spacing:.08em;color:#fff}
.home-defense-posture-lines span:before{content:"▰";color:#54d5df;margin-right:.8rem}
@media(max-width:860px){.home-defense-posture-grid{grid-template-columns:1fr}}

.rune-ecosystem-network{display:grid;gap:.65rem;padding:1rem;border:1px solid color-mix(in srgb,currentColor 28%,transparent);background:rgba(8,16,21,.72)}
.rune-ecosystem-network__label{font:800 .72rem/1.2 ui-monospace,monospace;letter-spacing:.14em}
.rune-ecosystem-network__links{display:flex;flex-wrap:wrap;gap:.45rem}
.rune-ecosystem-network__links a{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.48rem .72rem;border:1px solid currentColor;text-decoration:none;font-weight:800}
.rune-ecosystem-network__links a:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.rune-ecosystem-network small{max-width:90ch;opacity:.82}
@media(max-width:30rem){.rune-ecosystem-network__links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.rune-ecosystem-network__links a{padding:.48rem .25rem}}
@media(forced-colors:active){.rune-ecosystem-network{border:1px solid CanvasText}.rune-ecosystem-network__links a{border:1px solid LinkText}}


.rune-network-direct-links,.footer-source-links{display:flex;flex-wrap:wrap;gap:.55rem;margin:.75rem 0}.rune-network-direct-links a,.footer-source-links a{display:inline-flex;align-items:center;gap:.45rem;min-height:2.6rem;padding:.5rem .72rem;border:1px solid var(--line,rgba(255,255,255,.18));border-radius:.35rem;text-decoration:none}.rune-network-direct-links a span:first-child,.footer-source-links a span:first-child{font-weight:800;letter-spacing:.04em}.footer-ecosystem-network{padding-top:.75rem}@media(max-width:34rem){.rune-network-direct-links a,.footer-source-links a{width:100%;justify-content:space-between}}
