:root {
    color-scheme: dark;
    --bg: #07110e;
    --bg-deep: #030806;
    --surface: #0d1c18;
    --surface-2: #11241e;
    --surface-3: #173129;
    --line: rgba(151, 194, 176, 0.18);
    --line-strong: rgba(167, 244, 50, 0.34);
    --text: #f3faf6;
    --muted: #9ab5aa;
    --muted-2: #bfd0c9;
    --primary: #a7f432;
    --primary-ink: #0a1504;
    --teal: #39d9c8;
    --blue: #8cc8ff;
    --warning: #ffb454;
    --danger: #ff6f61;
    --success: #83ee9d;
    --shadow: 0 22px 70px rgba(0, 0, 0, 0.32);
    --shadow-soft: 0 14px 42px rgba(0, 0, 0, 0.22);
    --radius: 18px;
    --radius-sm: 12px;
    --shell: 1240px;
    --reading: 760px;
    --header-height: 82px;
    --utility-height: 34px;
    --focus: 0 0 0 3px rgba(140, 200, 255, 0.58);
    --ease: cubic-bezier(.2,.8,.2,1);
}

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

html {
    min-width: 240px;
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--header-height) + var(--utility-height) + 18px);
    background: var(--bg-deep);
}

body {
    margin: 0;
    min-width: 240px;
    min-height: 100vh;
    overflow-x: hidden;
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: var(--text);
    background:
        radial-gradient(circle at 8% 2%, rgba(57, 217, 200, 0.09), transparent 29rem),
        radial-gradient(circle at 92% 8%, rgba(167, 244, 50, 0.07), transparent 27rem),
        linear-gradient(180deg, #07110e 0, #081510 38rem, #07110e 100%);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    opacity: .32;
    background-image:
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: linear-gradient(to bottom, black, transparent 82%);
}

::selection {
    color: var(--primary-ink);
    background: var(--primary);
}

img,
svg,
canvas {
    display: block;
    max-width: 100%;
}

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

a {
    color: var(--teal);
    text-underline-offset: .18em;
    text-decoration-thickness: .08em;
}

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

button,
a {
    -webkit-tap-highlight-color: transparent;
}

:focus-visible {
    outline: none;
    box-shadow: var(--focus);
}

h1,
h2,
h3,
h4,
p,
ul,
ol,
dl,
blockquote,
pre {
    margin-top: 0;
}

h1,
h2,
h3,
h4 {
    min-width: 0;
    line-height: 1.12;
    letter-spacing: -.025em;
    text-wrap: balance;
    overflow-wrap: anywhere;
}

h1 {
    font-size: clamp(2.55rem, 7vw, 5.65rem);
}

h2 {
    font-size: clamp(1.7rem, 3.2vw, 3rem);
}

h3 {
    font-size: clamp(1.08rem, 1.9vw, 1.42rem);
}

p,
li,
dd {
    color: var(--muted-2);
}

code,
pre,
.record-id,
.report-integrity,
.status-line,
.footer-meta,
.console-kicker,
.brief-label,
.node-type,
.card-index,
.scenario-number {
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

code {
    border: 1px solid var(--line);
    border-radius: .35rem;
    padding: .06em .32em;
    color: var(--blue);
    background: rgba(3, 8, 6, .58);
}

pre {
    max-width: 100%;
    overflow: auto;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: 1rem 1.1rem;
    background: #030806;
    box-shadow: inset 0 1px rgba(255,255,255,.02);
}

pre code {
    border: 0;
    padding: 0;
    color: #dcece4;
    background: transparent;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

hr {
    border: 0;
    border-top: 1px solid var(--line);
    margin: 2.25rem 0;
}

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

[hidden] {
    display: none !important;
}

.shell {
    width: min(calc(100% - clamp(1.1rem, 4vw, 4rem)), var(--shell));
    margin-inline: auto;
}

.skip-link {
    position: fixed;
    top: max(.65rem, env(safe-area-inset-top, 0px));
    left: max(.65rem, env(safe-area-inset-left, 0px));
    z-index: 999;
    transform: translateY(-180%);
    padding: .72rem 1rem;
    border-radius: 10px;
    color: var(--primary-ink);
    background: var(--primary);
    font-weight: 800;
    text-decoration: none;
    transition: transform .2s var(--ease);
}

.skip-link:focus {
    transform: translateY(0);
}

.utility-bar {
    position: relative;
    padding-top: env(safe-area-inset-top, 0px);
    z-index: 45;
    min-height: var(--utility-height);
    border-bottom: 1px solid rgba(167, 244, 50, .16);
    color: var(--muted);
    background: #030806;
}

.utility-inner {
    min-height: var(--utility-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    font-size: .77rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
}

.utility-inner span {
    overflow: hidden;
    text-overflow: ellipsis;
}

.utility-inner a {
    flex: 0 0 auto;
    color: var(--primary);
    font-weight: 750;
    text-decoration: none;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    min-height: var(--header-height);
    border-bottom: 1px solid var(--line);
    background: rgba(7, 17, 14, .89);
    backdrop-filter: blur(18px) saturate(125%);
    -webkit-backdrop-filter: blur(18px) saturate(125%);
}

.header-inner {
    min-height: var(--header-height);
    display: flex;
    align-items: center;
    gap: clamp(1rem, 2vw, 2.2rem);
}

.brand {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .72rem;
    min-width: max-content;
    color: var(--text);
    text-decoration: none;
}

.brand:hover {
    color: var(--primary);
}

.brand-mark {
    width: 2.65rem;
    height: 2.65rem;
    color: var(--primary);
    filter: drop-shadow(0 0 16px rgba(167, 244, 50, .24));
}

.brand-mark circle {
    fill: var(--bg);
    stroke: currentColor;
    stroke-width: 2;
}

.brand-copy {
    display: grid;
    line-height: 1.04;
}

.brand-copy strong {
    font-size: 1.02rem;
    letter-spacing: -.02em;
}

.brand-copy small {
    margin-top: .22rem;
    color: var(--muted);
    font-size: .62rem;
    letter-spacing: .105em;
    text-transform: uppercase;
}

.primary-nav {
    min-width: 0;
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: .12rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    white-space: nowrap;
}

.primary-nav::-webkit-scrollbar {
    display: none;
}

.primary-nav a {
    position: relative;
    flex: 0 0 auto;
    max-width: 10rem;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: .66rem .7rem;
    border-radius: 9px;
    color: var(--muted-2);
    font-size: clamp(.76rem, 1vw, .88rem);
    font-weight: 700;
    text-decoration: none;
}

.primary-nav a:hover,
.primary-nav a[aria-current="page"] {
    color: var(--text);
    background: rgba(57, 217, 200, .08);
}

.primary-nav a[aria-current="page"]::after {
    content: "";
    position: absolute;
    right: .7rem;
    bottom: .28rem;
    left: .7rem;
    height: 2px;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--primary), var(--teal));
}

.nav-toggle {
    display: none;
    width: 2.8rem;
    height: 2.8rem;
    margin-left: auto;
    border: 1px solid var(--line);
    border-radius: 11px;
    color: var(--text);
    background: var(--surface);
    cursor: pointer;
}

.nav-toggle > span[aria-hidden="true"] {
    display: block;
    width: 1.15rem;
    height: 2px;
    margin: 4px auto;
    border-radius: 2px;
    background: currentColor;
    transition: transform .2s var(--ease), opacity .2s var(--ease);
}

.nav-toggle[aria-expanded="true"] > span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}

.nav-toggle[aria-expanded="true"] > span:nth-child(2) {
    opacity: 0;
}

.nav-toggle[aria-expanded="true"] > span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}

.eyebrow {
    margin-bottom: .72rem;
    color: var(--primary);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.live-dot {
    display: inline-block;
    width: .55rem;
    height: .55rem;
    margin-right: .5rem;
    border-radius: 50%;
    background: var(--primary);
    box-shadow: 0 0 0 0 rgba(167, 244, 50, .55);
    animation: pulse 2.5s infinite;
}

@keyframes pulse {
    0%, 70%, 100% { box-shadow: 0 0 0 0 rgba(167, 244, 50, .42); }
    35% { box-shadow: 0 0 0 9px rgba(167, 244, 50, 0); }
}

.button {
    display: inline-flex;
    min-height: 2.9rem;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    border: 1px solid transparent;
    border-radius: 11px;
    padding: .68rem 1rem;
    color: var(--text);
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: transform .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease);
}

.button:hover {
    transform: translateY(-1px);
}

.button.primary {
    color: var(--primary-ink);
    background: linear-gradient(135deg, var(--primary), #d3ff72);
    box-shadow: 0 12px 30px rgba(167, 244, 50, .13);
}

.button.primary:hover {
    color: var(--primary-ink);
    box-shadow: 0 15px 34px rgba(167, 244, 50, .22);
}

.button.secondary {
    border-color: rgba(57, 217, 200, .42);
    color: #dffffa;
    background: rgba(57, 217, 200, .09);
}

.button.secondary:hover {
    color: var(--text);
    border-color: var(--teal);
    background: rgba(57, 217, 200, .16);
}

.button.ghost {
    border-color: var(--line);
    background: rgba(255,255,255,.025);
}

.button.ghost:hover {
    color: var(--text);
    border-color: rgba(167, 244, 50, .38);
    background: rgba(167, 244, 50, .07);
}

.button.danger {
    border-color: rgba(255, 111, 97, .4);
    color: #ffd9d4;
    background: rgba(255, 111, 97, .1);
}

.button.danger:hover {
    color: #fff;
    border-color: var(--danger);
    background: rgba(255, 111, 97, .18);
}

.button.compact {
    min-height: 2.45rem;
    padding: .55rem .75rem;
    font-size: .82rem;
}

.text-link,
.text-button {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: var(--teal);
    font-weight: 780;
    text-decoration: none;
}

.text-button {
    border: 0;
    padding: 0;
    background: transparent;
    cursor: pointer;
}

.text-link:hover,
.text-button:hover {
    color: var(--primary);
}

.hero {
    position: relative;
    overflow: clip;
    border-bottom: 1px solid var(--line);
}

.network-hero {
    padding: clamp(3.5rem, 9vw, 7.8rem) 0 clamp(3.3rem, 8vw, 6.8rem);
    background:
        radial-gradient(circle at 75% 35%, rgba(57, 217, 200, .13), transparent 24rem),
        radial-gradient(circle at 92% 10%, rgba(167, 244, 50, .08), transparent 20rem),
        linear-gradient(180deg, rgba(3, 8, 6, .4), rgba(7, 17, 14, .18));
}

.network-hero::before,
.network-hero::after {
    content: "";
    position: absolute;
    pointer-events: none;
    border: 1px solid rgba(57, 217, 200, .12);
    border-radius: 50%;
}

.network-hero::before {
    width: 36rem;
    height: 36rem;
    right: -15rem;
    top: -17rem;
    box-shadow: 0 0 0 5rem rgba(57, 217, 200, .015), 0 0 0 10rem rgba(57, 217, 200, .01);
}

.network-hero::after {
    width: 18rem;
    height: 18rem;
    left: -10rem;
    bottom: -11rem;
}

.hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(19rem, .65fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
}

.hero-copy h1 {
    max-width: 12ch;
    margin-bottom: 1.35rem;
    letter-spacing: -.055em;
}

.hero-copy h1 span {
    color: transparent;
    background: linear-gradient(90deg, var(--primary), var(--teal));
    -webkit-background-clip: text;
    background-clip: text;
}

.hero-lede {
    max-width: 62ch;
    font-size: clamp(1.02rem, 1.4vw, 1.22rem);
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .72rem;
    margin-top: 1.7rem;
}

.hero-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .6rem;
    margin: 2.1rem 0 0;
}

.hero-facts div {
    min-width: 0;
    border-left: 2px solid rgba(57, 217, 200, .3);
    padding-left: .74rem;
}

.hero-facts dt {
    color: var(--text);
    font-size: 1.28rem;
    font-weight: 850;
}

.hero-facts dd {
    margin: 0;
    color: var(--muted);
    font-size: .72rem;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.hero-brief {
    position: relative;
    border: 1px solid rgba(57, 217, 200, .24);
    border-radius: var(--radius);
    padding: clamp(1.25rem, 3vw, 1.8rem);
    background: linear-gradient(150deg, rgba(20, 40, 34, .96), rgba(7, 17, 14, .88));
    box-shadow: var(--shadow);
}

.hero-brief::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(167, 244, 50, .07), transparent 42%);
}

.hero-brief > * {
    position: relative;
}

.brief-label,
.console-kicker {
    color: var(--primary);
    font-size: .67rem;
    font-weight: 750;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.hero-brief h2 {
    font-size: clamp(1.45rem, 2.3vw, 2.2rem);
}

.hero-brief dl,
.selected-node dl,
.report-facts,
.authority-factors {
    display: grid;
    gap: .45rem;
    margin: 1.2rem 0;
}

.hero-brief dl div,
.selected-node dl div,
.report-facts div,
.authority-factors div {
    display: grid;
    grid-template-columns: minmax(5rem, .34fr) minmax(0, 1fr);
    gap: .7rem;
    border-top: 1px solid var(--line);
    padding-top: .55rem;
}

.hero-brief dt,
.selected-node dt,
.report-facts dt,
.authority-factors dt {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.hero-brief dd,
.selected-node dd,
.report-facts dd,
.authority-factors dd {
    margin: 0;
    color: var(--text);
}

.breadcrumbs {
    padding-top: 1.15rem;
}

.breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.breadcrumbs li {
    display: flex;
    align-items: center;
    gap: .65rem;
    color: var(--muted);
    font-size: .78rem;
}

.breadcrumbs li:not(:last-child)::after {
    content: "/";
    color: rgba(154, 181, 170, .45);
}

.breadcrumbs a {
    color: var(--muted-2);
    text-decoration: none;
}

.page-intro {
    padding-top: clamp(3rem, 7vw, 6rem);
    padding-bottom: clamp(2.2rem, 5vw, 4rem);
}

.page-intro h1 {
    max-width: 16ch;
    margin-bottom: 1.05rem;
    font-size: clamp(2.35rem, 6vw, 5.25rem);
    letter-spacing: -.052em;
}

.page-intro .lede {
    max-width: 72ch;
    margin-bottom: 1rem;
    font-size: clamp(1.02rem, 1.5vw, 1.24rem);
}

.research-basis {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .45rem;
    align-items: center;
    font-size: .75rem;
}

.research-basis span {
    color: var(--muted);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.research-basis a {
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: .18rem .5rem;
    color: var(--blue);
    text-decoration: none;
    background: rgba(140, 200, 255, .045);
}

.section-heading {
    margin-bottom: clamp(1.25rem, 3vw, 2.2rem);
}

.section-heading h2 {
    max-width: 20ch;
    margin-bottom: .55rem;
}

.section-heading p:last-child {
    max-width: 64ch;
    margin-bottom: 0;
}

.split-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(17rem, .65fr);
    gap: 1.5rem 3rem;
    align-items: end;
}

.compact-heading {
    margin-bottom: 1rem;
}

.explorer-section,
.concept-band,
.home-pathways,
.research-band,
.answer-strip,
.article-layout,
.scenario-overview,
.scenario-grid,
.ack-explainer,
.lab-shell,
.authority-reminder,
.atlas-controls,
.atlas-layout,
.interop-intro,
.meaningful-control,
.authority-lab,
.lifecycle-section,
.report-reader,
.report-list,
.source-list,
.faq-list,
.glossary-controls,
.glossary-grid,
.citation-grid,
.about-hero,
.about-grid,
.terms-grid,
.error-page,
.status-panel,
.status-grid {
    padding-block: clamp(2.5rem, 6vw, 5.8rem);
}

.network-workbench {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(18rem, .58fr);
    min-height: 38rem;
    overflow: hidden;
    border: 1px solid rgba(57, 217, 200, .26);
    border-radius: var(--radius);
    background: #030806;
    box-shadow: var(--shadow);
}

.network-stage-wrap {
    position: relative;
    min-height: 38rem;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 45%, rgba(57, 217, 200, .08), transparent 21rem),
        linear-gradient(180deg, #07110e, #030806);
}

.network-stage-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle, transparent 48%, rgba(0,0,0,.45) 100%);
}

.network-canvas {
    width: 100%;
    height: 100%;
    min-height: 38rem;
    cursor: grab;
    touch-action: none;
}

.network-canvas:active {
    cursor: grabbing;
}

.canvas-overlay {
    position: absolute;
    top: .9rem;
    right: .9rem;
    left: .9rem;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    gap: .7rem;
    pointer-events: none;
}

.synthetic-badge,
.status-badge {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    border: 1px solid rgba(167, 244, 50, .3);
    border-radius: 999px;
    padding: .28rem .58rem;
    color: var(--primary);
    background: rgba(7, 17, 14, .82);
    font-size: .66rem;
    font-weight: 820;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.canvas-hint {
    color: var(--muted);
    font-size: .72rem;
    text-align: right;
}

.canvas-fallback {
    position: absolute;
    inset: 5rem 2rem 2rem;
    z-index: 4;
    display: grid;
    place-content: center;
    border: 1px dashed var(--line);
    border-radius: var(--radius-sm);
    padding: 1.5rem;
    text-align: center;
    background: var(--surface);
}

.network-console {
    position: relative;
    z-index: 3;
    min-width: 0;
    border-left: 1px solid var(--line);
    padding: 1.15rem;
    background: linear-gradient(180deg, rgba(17, 36, 30, .96), rgba(7, 17, 14, .98));
}

.console-head {
    border-bottom: 1px solid var(--line);
    padding-bottom: .9rem;
}

.status-line {
    margin: 0;
    color: var(--text);
    font-size: .82rem;
    overflow-wrap: anywhere;
}

.console-actions {
    display: grid;
    gap: .55rem;
    margin: 1rem 0;
}

.selected-node,
.path-ledger {
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: 1rem;
    background: rgba(3, 8, 6, .36);
}

.selected-node h3 {
    margin-bottom: .55rem;
}

.path-ledger {
    margin-top: .8rem;
}

.path-ledger ol {
    margin: 0;
    padding-left: 1.25rem;
}

.path-ledger li {
    margin: .35rem 0;
    font-size: .83rem;
}

.path-ledger li::marker {
    color: var(--primary);
    font-weight: 800;
}

.node-register {
    padding-top: 1.5rem;
}

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

.node-button {
    min-width: 0;
    min-height: 9.5rem;
    display: grid;
    align-content: start;
    gap: .45rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: .9rem;
    color: var(--text);
    text-align: left;
    background: rgba(13, 28, 24, .75);
    cursor: pointer;
    transition: transform .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease);
}

.node-button:hover,
.node-button[aria-pressed="true"] {
    transform: translateY(-2px);
    border-color: rgba(167, 244, 50, .45);
    background: rgba(20, 40, 34, .95);
}

.node-button[disabled],
.node-button.is-degraded {
    opacity: .5;
    border-style: dashed;
}

.node-button strong {
    font-size: .95rem;
}

.node-button span:last-child {
    color: var(--muted);
    font-size: .78rem;
    line-height: 1.45;
}

.node-type {
    color: var(--teal);
    font-size: .62rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.concept-band {
    border-block: 1px solid var(--line);
    background: rgba(13, 28, 24, .58);
}

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

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

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

.info-card,
.feature-panel,
.answer-card,
.source-card,
.glossary-card,
.citation-card,
.report-card,
.scenario-card,
.atlas-card,
.control-principles article,
.authority-reminder,
.status-panel {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: clamp(1.05rem, 2.6vw, 1.55rem);
    background: linear-gradient(145deg, rgba(17, 36, 30, .94), rgba(9, 20, 16, .92));
    box-shadow: var(--shadow-soft);
}

.info-card::before,
.feature-panel::before,
.atlas-card::before,
.report-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(57, 217, 200, .7), transparent);
}

.info-card h2,
.info-card h3,
.feature-panel h2,
.answer-card h3,
.source-card h2,
.glossary-card h2,
.citation-card h2,
.report-card h2,
.scenario-card h2,
.atlas-card h2 {
    font-size: clamp(1.14rem, 1.8vw, 1.55rem);
}

.info-card p:last-child,
.feature-panel p:last-child,
.answer-card p:last-child,
.source-card p:last-child,
.glossary-card p:last-child,
.report-card p:last-child,
.scenario-card p:last-child,
.atlas-card p:last-child {
    margin-bottom: 0;
}

.icon-card .card-icon {
    display: grid;
    width: 2.6rem;
    height: 2.6rem;
    place-items: center;
    margin-bottom: 1rem;
    border: 1px solid rgba(167, 244, 50, .28);
    border-radius: 50%;
    color: var(--primary);
    background: rgba(167, 244, 50, .055);
    font-size: 1.25rem;
}

.card-index,
.scenario-number {
    color: var(--primary);
    font-size: .72rem;
    letter-spacing: .12em;
}

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

.feature-panel {
    min-height: 22rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.feature-panel .button {
    width: fit-content;
    margin-top: .5rem;
}

.ack-panel {
    background:
        radial-gradient(circle at 90% 0%, rgba(57, 217, 200, .17), transparent 16rem),
        linear-gradient(145deg, rgba(17, 36, 30, .96), rgba(7, 17, 14, .94));
}

.authority-panel {
    background:
        radial-gradient(circle at 90% 0%, rgba(140, 200, 255, .14), transparent 16rem),
        linear-gradient(145deg, rgba(17, 36, 30, .96), rgba(7, 17, 14, .94));
}

.bridge-grid,
.research-grid,
.sister-grid,
.about-hero,
.about-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr);
    gap: clamp(1.5rem, 5vw, 4.5rem);
    align-items: center;
}

.chain-web-bridge,
.research-band {
    border-block: 1px solid var(--line);
}

.chain-web-bridge {
    padding-block: clamp(3rem, 6vw, 5.5rem);
    background: linear-gradient(110deg, rgba(140, 200, 255, .06), transparent 48%);
}

.bridge-chain {
    display: flex;
    justify-content: center;
    gap: .35rem;
}

.bridge-chain span {
    position: relative;
    display: grid;
    width: clamp(2rem, 4.2vw, 3.4rem);
    height: clamp(2rem, 4.2vw, 3.4rem);
    place-items: center;
    border: 1px solid rgba(140, 200, 255, .4);
    border-radius: 50%;
    color: var(--blue);
    background: rgba(140, 200, 255, .07);
    font-size: .68rem;
    font-weight: 800;
}

.bridge-chain span:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 100%;
    top: 50%;
    width: .36rem;
    height: 1px;
    background: rgba(140, 200, 255, .45);
}

.research-band {
    background: rgba(3, 8, 6, .45);
}

.research-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .7rem;
}

.answer-strip {
    border-top: 1px solid var(--line);
}

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

.article-layout {
    display: grid;
    grid-template-columns: minmax(14rem, .33fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 5vw, 5rem);
    align-items: start;
    padding-top: 0;
}

.article-toc {
    position: sticky;
    top: calc(var(--header-height) + 1.2rem);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: 1rem;
    background: rgba(13, 28, 24, .78);
}

.toc-title {
    color: var(--primary);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.article-toc ol {
    margin: 0;
    padding-left: 1.1rem;
}

.article-toc li {
    margin: .48rem 0;
    font-size: .84rem;
}

.article-toc a {
    color: var(--muted-2);
    text-decoration: none;
}

.article-toc a:hover {
    color: var(--primary);
}

.sister-mini {
    display: block;
    margin-top: 1rem;
    border-top: 1px solid var(--line);
    padding-top: .9rem;
    color: var(--teal);
    font-size: .78rem;
    font-weight: 750;
    text-decoration: none;
}

.prose,
.report-prose {
    min-width: 0;
    max-width: var(--reading);
}

.prose > :first-child,
.report-prose > :first-child {
    margin-top: 0;
}

.article-section {
    scroll-margin-top: calc(var(--header-height) + 1.2rem);
    margin-bottom: clamp(2.3rem, 5vw, 4.4rem);
}

.article-section h2 {
    margin-bottom: .9rem;
}

.article-section h3 {
    margin-top: 1.7rem;
}

.article-section p,
.article-section li,
.report-prose p,
.report-prose li {
    font-size: 1.02rem;
}

.feature-list {
    padding-left: 1.15rem;
}

.feature-list li {
    margin: .55rem 0;
    padding-left: .2rem;
}

.feature-list li::marker {
    color: var(--primary);
}

.process-list {
    display: grid;
    gap: .8rem;
    margin: 1.2rem 0 0;
    padding: 0;
    list-style: none;
}

.process-list li {
    display: grid;
    grid-template-columns: 2.65rem minmax(0, 1fr);
    gap: .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: 1rem;
    background: rgba(13, 28, 24, .58);
}

.step-number {
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    border: 1px solid rgba(167, 244, 50, .34);
    border-radius: 50%;
    color: var(--primary);
    font-weight: 850;
}

.process-list h3 {
    margin: 0 0 .35rem;
}

.process-list p {
    margin: 0;
}

.callout {
    border: 1px solid rgba(57, 217, 200, .28);
    border-left: 4px solid var(--teal);
    border-radius: var(--radius-sm);
    padding: 1.1rem 1.2rem;
    background: rgba(57, 217, 200, .065);
}

.callout.warning {
    border-color: rgba(255, 180, 84, .28);
    border-left-color: var(--warning);
    background: rgba(255, 180, 84, .07);
}

.callout.danger {
    border-color: rgba(255, 111, 97, .3);
    border-left-color: var(--danger);
    background: rgba(255, 111, 97, .065);
}

.callout h2,
.callout h3 {
    font-size: 1.25rem;
}

.callout p:last-child {
    margin-bottom: 0;
}

.source-note {
    border-top: 1px solid var(--line);
    padding-top: .8rem;
    color: var(--muted);
    font-size: .8rem !important;
}

.table-scroll {
    max-width: 100%;
    overflow-x: auto;
    margin: 1.2rem 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(3, 8, 6, .35);
}

table {
    width: 100%;
    min-width: 42rem;
    border-collapse: collapse;
    font-size: .88rem;
}

th,
td {
    border-bottom: 1px solid var(--line);
    padding: .82rem .9rem;
    color: var(--muted-2);
    text-align: left;
    vertical-align: top;
}

thead th {
    position: sticky;
    top: 0;
    color: var(--text);
    background: #11241e;
    font-size: .73rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

tbody th {
    color: var(--text);
    font-weight: 750;
}

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

blockquote {
    margin-left: 0;
    border-left: 4px solid var(--primary);
    padding: .5rem 0 .5rem 1rem;
    color: var(--text);
}

blockquote p {
    color: var(--text);
    font-size: 1.08rem;
}

.scenario-overview {
    padding-top: 0;
}

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

.lesson-matrix article {
    border-top: 2px solid rgba(57, 217, 200, .35);
    padding-top: .85rem;
}

.lesson-matrix strong {
    display: block;
    color: var(--text);
    margin-bottom: .3rem;
}

.lesson-matrix span {
    color: var(--muted);
    font-size: .83rem;
}

.scenario-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    padding-top: 0;
}

.scenario-card {
    display: flex;
    flex-direction: column;
}

.scenario-topline,
.report-card-head,
.source-card-top,
.atlas-card-top,
.results-head,
.authority-result-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .9rem;
}

.scenario-card .card-actions,
.report-card .card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    align-items: center;
    margin-top: auto;
    padding-top: .8rem;
}

.lab-shell {
    display: grid;
    grid-template-columns: minmax(17rem, .42fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
    padding-top: 0;
}

.lab-sidebar,
.lab-results,
.authority-controls,
.authority-result {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: clamp(1rem, 2.7vw, 1.55rem);
    background: linear-gradient(145deg, rgba(17, 36, 30, .94), rgba(7, 17, 14, .94));
}

.lab-sidebar label,
.authority-controls label,
.atlas-controls label,
.glossary-controls label {
    display: grid;
    gap: .42rem;
    margin-bottom: 1rem;
    color: var(--muted-2);
    font-size: .78rem;
    font-weight: 750;
}

input,
select,
textarea {
    width: 100%;
    min-width: 0;
    min-height: 2.75rem;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: .58rem .7rem;
    color: var(--text);
    background: #07110e;
}

input:hover,
select:hover,
textarea:hover {
    border-color: rgba(57, 217, 200, .4);
}

input[type="range"] {
    min-height: 1.9rem;
    padding: 0;
    accent-color: var(--primary);
    background: transparent;
}

.check-row {
    grid-template-columns: auto 1fr !important;
    align-items: start;
    gap: .55rem !important;
}

.check-row input {
    width: 1.05rem;
    min-height: auto;
    margin-top: .18rem;
    accent-color: var(--primary);
}

.range-readout {
    color: var(--muted);
    font-size: .72rem;
}

.range-readout output {
    color: var(--text);
    font-weight: 800;
}

.lab-boundary {
    margin-top: 1rem;
    border-top: 1px solid var(--line);
    padding-top: .75rem;
    color: var(--muted);
    font-size: .75rem;
}

.lab-shell,
.authority-lab,
.lab-sidebar,
.lab-results,
.authority-controls,
.authority-result,
.offer-grid,
.gate-grid,
.offer-card,
.gate-card,
.offer-card-head,
.gate-card-head {
    min-width: 0;
    max-width: 100%;
}

.offer-grid,
.gate-grid {
    display: grid;
    gap: .7rem;
    margin-top: 1rem;
}

.offer-card,
.gate-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: .9rem;
    background: rgba(3, 8, 6, .36);
}

.offer-card[data-state="feasible"],
.gate-card[data-state="pass"] {
    border-color: rgba(131, 238, 157, .34);
}

.offer-card[data-state="excluded"],
.gate-card[data-state="fail"] {
    border-color: rgba(255, 111, 97, .34);
}

.offer-card-head,
.gate-card-head {
    display: flex;
    justify-content: space-between;
    gap: .8rem;
}

.offer-card h3,
.gate-card h3 {
    margin-bottom: .35rem;
    font-size: 1rem;
}

.offer-card p,
.gate-card p,
.offer-card li {
    font-size: .79rem;
}

.offer-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .45rem;
    margin: .65rem 0;
}

.offer-metrics div {
    border-top: 1px solid var(--line);
    padding-top: .42rem;
}

.offer-metrics strong,
.offer-metrics span {
    display: block;
}

.offer-metrics strong {
    color: var(--text);
}

.offer-metrics span {
    color: var(--muted);
    font-size: .62rem;
    text-transform: uppercase;
}

.empty-state {
    border: 1px dashed var(--line);
    border-radius: var(--radius-sm);
    padding: 1rem;
    color: var(--muted);
    text-align: center;
}

.atlas-controls {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(10rem, .7fr)) auto;
    gap: .75rem;
    align-items: end;
    padding-top: 0;
    padding-bottom: 1rem;
}

.atlas-controls label {
    margin-bottom: .35rem;
}

.filter-count {
    min-width: max-content;
    margin: 0 0 .62rem;
    color: var(--primary);
    font-size: .8rem;
    font-weight: 800;
}

.atlas-layout {
    display: grid;
    grid-template-columns: minmax(14rem, .33fr) minmax(0, 1fr);
    gap: 1.2rem;
    align-items: start;
    padding-top: 1rem;
}

.atlas-legend {
    position: sticky;
    top: calc(var(--header-height) + 1rem);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: 1rem;
    background: rgba(13, 28, 24, .82);
}

.atlas-legend h2 {
    font-size: 1.4rem;
}

.atlas-legend ul {
    padding-left: 1rem;
}

.atlas-legend li,
.atlas-legend p {
    font-size: .82rem;
}

.atlas-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.atlas-card h2 {
    margin-top: .8rem;
}

.record-id {
    color: var(--muted);
    font-size: .67rem;
    overflow-wrap: anywhere;
}

.record-kind {
    color: var(--blue);
    font-size: .78rem;
    overflow-wrap: anywhere;
}

.unknown-box {
    border-left: 3px solid var(--warning);
    padding: .15rem 0 .15rem .8rem;
}

.unknown-box strong {
    color: var(--warning);
    font-size: .72rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.unknown-box p {
    margin: .3rem 0;
    font-size: .82rem;
}

.control-principles {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .7rem;
}

.control-principles article {
    padding: .95rem;
}

.control-principles strong,
.control-principles span {
    display: block;
}

.control-principles strong {
    color: var(--primary);
}

.control-principles span {
    margin-top: .35rem;
    color: var(--muted);
    font-size: .78rem;
}

.authority-lab {
    display: grid;
    grid-template-columns: minmax(17rem, .45fr) minmax(0, 1fr);
    gap: 1rem;
    padding-top: 0;
}

.authority-meter {
    height: .78rem;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #030806;
}

.authority-meter span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--danger), var(--warning), var(--primary));
    transition: width .45s var(--ease);
}

.authority-summary {
    font-size: 1rem;
}

.lifecycle-track {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: .55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lifecycle-track li {
    position: relative;
    border-top: 2px solid rgba(57, 217, 200, .35);
    padding-top: .7rem;
}

.lifecycle-track li > span {
    display: grid;
    width: 1.8rem;
    height: 1.8rem;
    place-items: center;
    border-radius: 50%;
    color: var(--primary-ink);
    background: var(--primary);
    font-size: .75rem;
    font-weight: 850;
}

.lifecycle-track h3 {
    margin: .7rem 0 .35rem;
    font-size: .9rem;
}

.lifecycle-track p {
    font-size: .75rem;
}

.report-list {
    display: grid;
    gap: 1rem;
    padding-top: 0;
}

.report-card {
    scroll-margin-top: calc(var(--header-height) + 1rem);
}

.report-card-head h2 {
    margin-bottom: .25rem;
}

.report-meta {
    color: var(--blue);
    font-size: .78rem;
}

.report-summary {
    max-width: 74ch;
}

.report-integrity,
.hash {
    color: var(--muted);
    font-size: .7rem;
    overflow-wrap: anywhere;
}

.tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin: .8rem 0;
    padding: 0;
    list-style: none;
}

.tag-list li {
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: .18rem .48rem;
    color: var(--muted-2);
    font-size: .68rem;
}

.report-reader {
    display: grid;
    grid-template-columns: minmax(16rem, .38fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: start;
}

.report-reader-meta {
    position: sticky;
    top: calc(var(--header-height) + 1rem);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: 1rem;
    background: rgba(13, 28, 24, .82);
}

.report-reader-meta .button {
    width: 100%;
    margin-top: .5rem;
}

.report-prose {
    overflow-wrap: anywhere;
}

.report-prose h2,
.report-prose h3,
.report-prose h4,
.report-prose h5,
.report-prose h6 {
    scroll-margin-top: calc(var(--header-height) + 1rem);
    margin-top: 2.2rem;
}

.report-prose img {
    height: auto;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
}

.source-list,
.glossary-grid,
.citation-grid,
.terms-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    padding-top: 0;
}

.source-publisher {
    color: var(--blue);
    font-size: .78rem;
}

.source-card a {
    overflow-wrap: anywhere;
}

.faq-list {
    max-width: 920px;
    padding-top: 0;
}

.faq-item {
    border-bottom: 1px solid var(--line);
    padding: 1rem 0;
}

.faq-item summary {
    color: var(--text);
    font-size: 1.05rem;
    font-weight: 800;
    cursor: pointer;
}

.faq-answer {
    padding-top: .7rem;
}

.glossary-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 1rem;
    padding-top: 0;
    padding-bottom: 1rem;
}

.glossary-controls label {
    margin-bottom: 0;
}

.glossary-card h2 {
    color: var(--primary);
}

.citation-card pre {
    min-height: 9rem;
}

.about-hero {
    padding-top: 0;
}

.author-monogram {
    display: grid;
    width: min(18rem, 65vw);
    aspect-ratio: 1;
    place-items: center;
    border: 1px solid rgba(167, 244, 50, .3);
    border-radius: 50%;
    color: var(--primary);
    background:
        radial-gradient(circle, rgba(167, 244, 50, .08), transparent 58%),
        repeating-radial-gradient(circle, transparent 0 1.8rem, rgba(57, 217, 200, .06) 1.85rem 1.9rem);
    font-size: clamp(3rem, 10vw, 7rem);
    font-weight: 900;
    letter-spacing: -.08em;
    box-shadow: var(--shadow);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr repeat(3, minmax(0, .7fr));
    gap: 1.3rem 2rem;
    padding-block: 3rem;
}

.site-footer {
    padding-bottom: env(safe-area-inset-bottom, 0px);
    border-top: 1px solid var(--line);
    background: #030806;
}

.sister-panel {
    border-bottom: 1px solid var(--line);
    padding-block: 2rem;
    background: linear-gradient(110deg, rgba(140, 200, 255, .08), rgba(57, 217, 200, .04));
}

.sister-grid h2 {
    margin-bottom: .5rem;
    font-size: clamp(1.45rem, 2.6vw, 2.2rem);
}

.sister-grid p:last-child {
    margin-bottom: 0;
}

.sister-grid .button {
    justify-self: end;
}

.footer-grid h3 {
    color: var(--text);
    font-size: .85rem;
}

.footer-grid nav {
    display: grid;
    align-content: start;
    gap: .38rem;
}

.footer-grid nav a {
    color: var(--muted);
    font-size: .8rem;
    text-decoration: none;
}

.footer-grid nav a:hover {
    color: var(--primary);
}

.footer-brand {
    margin-bottom: .6rem;
    color: var(--primary);
    font-size: 1.6rem;
}

.footer-meta {
    color: var(--muted);
    font-size: .7rem;
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-top: 1px solid var(--line);
    padding-block: 1.1rem;
    font-size: .75rem;
}

.footer-bottom p {
    margin: 0;
}

.footer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    justify-content: flex-end;
}

.footer-actions a,
.footer-actions button {
    font-size: .75rem;
}

.error-page {
    min-height: 56vh;
    display: grid;
    place-content: center;
    text-align: center;
}

.error-page h1 {
    color: var(--primary);
}

.status-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .9rem;
    padding-top: 0;
}

.status-panel strong,
.status-panel span {
    display: block;
}

.status-panel strong {
    color: var(--primary);
    font-size: 1.35rem;
}

.status-panel span {
    color: var(--muted);
    font-size: .78rem;
}

@media (min-width: 1800px) {
    :root {
        --shell: 1420px;
        --reading: 820px;
    }

    body {
        font-size: 17px;
    }

    .network-workbench,
    .network-stage-wrap,
    .network-canvas {
        min-height: 46rem;
    }
}

@media (max-width: 1120px) {
    .primary-nav a {
        padding-inline: .55rem;
        font-size: .75rem;
    }

    .node-button-grid,
    .card-grid.four {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

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

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

@media (max-width: 940px) {
    :root {
        --header-height: 70px;
    }

    .nav-toggle {
        display: block;
    }

    .primary-nav {
        position: absolute;
        top: calc(100% + 1px);
        right: 0;
        left: 0;
        display: none;
        max-height: calc(100dvh - var(--header-height) - var(--utility-height));
        overflow: auto;
        padding: .55rem max(.75rem, calc((100vw - var(--shell)) / 2));
        border-bottom: 1px solid var(--line);
        background: rgba(7, 17, 14, .98);
        box-shadow: var(--shadow-soft);
    }

    .primary-nav.is-open {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .primary-nav a {
        max-width: none;
        border: 1px solid transparent;
        padding: .75rem;
    }

    .primary-nav a[aria-current="page"]::after {
        display: none;
    }

    .hero-grid,
    .bridge-grid,
    .research-grid,
    .sister-grid,
    .about-hero,
    .about-grid {
        grid-template-columns: 1fr;
    }

    .hero-copy h1 {
        max-width: 14ch;
    }

    .hero-brief {
        max-width: 42rem;
    }

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

    .network-console {
        border-top: 1px solid var(--line);
        border-left: 0;
    }

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

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

    .answer-grid,
    .card-grid.three,
    .lesson-matrix,
    .status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .article-layout,
    .atlas-layout,
    .report-reader {
        grid-template-columns: 1fr;
    }

    .article-toc,
    .atlas-legend,
    .report-reader-meta {
        position: static;
    }

    .article-toc ol {
        columns: 2;
    }

    .prose,
    .report-prose {
        max-width: none;
    }

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

    .atlas-controls > div:first-child {
        grid-column: 1 / -1;
    }

    .filter-count {
        align-self: center;
        margin: 0;
    }

    .footer-grid {
        grid-template-columns: 1.2fr repeat(2, minmax(0, .8fr));
    }

    .footer-grid > section:first-child {
        grid-column: 1 / -1;
    }

    .sister-grid .button {
        justify-self: start;
    }
}

@media (max-width: 720px) {
    .utility-inner span:first-child {
        display: none;
    }

    .utility-inner {
        justify-content: center;
    }

    .brand-copy small {
        display: none;
    }

    .split-heading {
        grid-template-columns: 1fr;
        align-items: start;
    }

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

    .network-workbench,
    .network-stage-wrap,
    .network-canvas {
        min-height: 31rem;
    }

    .console-actions {
        grid-template-columns: 1fr;
    }

    .node-button-grid,
    .card-grid,
    .card-grid.three,
    .card-grid.four,
    .pathway-grid,
    .answer-grid,
    .scenario-grid,
    .source-list,
    .glossary-grid,
    .citation-grid,
    .terms-grid,
    .atlas-grid,
    .status-grid {
        grid-template-columns: 1fr;
    }

    .node-button {
        min-height: auto;
    }

    .article-toc ol {
        columns: 1;
    }

    .lab-shell,
    .authority-lab {
        grid-template-columns: 1fr;
    }

    .atlas-controls {
        grid-template-columns: 1fr;
    }

    .atlas-controls > div:first-child {
        grid-column: auto;
    }

    .control-principles,
    .lifecycle-track {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

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

    .footer-grid > section:first-child {
        grid-column: 1 / -1;
    }

    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

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

    table {
        min-width: 36rem;
    }
}

@media (max-width: 480px) {
    body {
        font-size: 15px;
    }

    .utility-inner {
        min-height: var(--utility-height);
        padding-block: .42rem;
        white-space: normal;
        text-align: center;
        line-height: 1.35;
        overflow: visible;
    }

    .utility-inner a {
        min-width: 0;
        max-width: 100%;
        flex: 1 1 auto;
        overflow-wrap: anywhere;
    }

    .hero-brief dl div,
    .selected-node dl div,
    .report-facts div,
    .authority-factors div {
        grid-template-columns: minmax(0, 1fr);
        gap: .2rem;
    }

    .hero-brief dd,
    .selected-node dd,
    .report-facts dd,
    .authority-factors dd {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .report-facts {
        grid-template-columns: minmax(0, 1fr);
    }

    .bridge-chain {
        display: grid;
        grid-template-columns: repeat(3, 2rem);
        justify-content: center;
        gap: .45rem;
    }

    .bridge-chain span {
        width: 2rem;
        height: 2rem;
        font-size: .56rem;
    }

    .bridge-chain span::after {
        display: none;
    }

    .lab-shell,
    .authority-lab,
    .lab-sidebar,
    .lab-results,
    .authority-controls,
    .authority-result,
    .offer-grid,
    .gate-grid,
    .offer-card,
    .gate-card {
        min-width: 0;
        max-width: 100%;
    }

    .brand-mark {
        width: 2.25rem;
        height: 2.25rem;
    }

    .brand-copy strong {
        font-size: .9rem;
    }

    .primary-nav.is-open {
        grid-template-columns: 1fr;
    }

    .hero-actions,
    .research-actions {
        display: grid;
    }

    .hero-actions .button,
    .research-actions .button {
        width: 100%;
    }

    .hero-facts {
        gap: .85rem .45rem;
    }

    .network-workbench,
    .network-stage-wrap,
    .network-canvas {
        min-height: 25rem;
    }

    .canvas-overlay {
        align-items: flex-start;
        flex-direction: column;
    }

    .canvas-hint {
        text-align: left;
    }

    .control-principles,
    .lifecycle-track,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-grid > section:first-child {
        grid-column: auto;
    }

    .scenario-topline,
    .report-card-head,
    .source-card-top,
    .atlas-card-top,
    .results-head,
    .authority-result-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .offer-metrics {
        grid-template-columns: 1fr 1fr;
    }

    .article-section p,
    .article-section li,
    .report-prose p,
    .report-prose li {
        font-size: .98rem;
    }

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

    .step-number {
        width: 2rem;
        height: 2rem;
    }
}

@media (max-width: 300px) {
    .shell {
        width: calc(100% - 1rem);
    }

    h1,
    .page-intro h1 {
        font-size: clamp(1.82rem, 12vw, 2.15rem);
        letter-spacing: -.038em;
    }

    .utility-inner {
        font-size: .66rem;
        letter-spacing: .045em;
    }

    .brand-copy {
        display: none;
    }

    .hero-facts {
        grid-template-columns: 1fr;
    }

    .offer-metrics {
        grid-template-columns: 1fr;
    }
}

@media (max-height: 520px) and (orientation: landscape) {
    .network-hero {
        padding-block: 2.2rem;
    }

    .network-workbench,
    .network-stage-wrap,
    .network-canvas {
        min-height: 24rem;
    }

    .primary-nav {
        max-height: calc(100dvh - var(--header-height));
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }
}

@media (prefers-contrast: more) {
    :root {
        --line: rgba(255,255,255,.38);
        --muted: #c6d9d0;
        --muted-2: #eef7f2;
    }
}

@media print {
    :root {
        color-scheme: light;
    }

    body {
        color: #111;
        background: #fff;
    }

    body::before,
    .utility-bar,
    .site-header,
    .site-footer,
    .article-toc,
    .network-workbench,
    .hero-actions,
    .console-actions,
    .button,
    .text-button,
    .atlas-controls,
    .glossary-controls {
        display: none !important;
    }

    .shell,
    .prose,
    .report-prose {
        width: 100%;
        max-width: none;
    }

    h1,
    h2,
    h3,
    p,
    li,
    dd,
    a {
        color: #111 !important;
    }

    .article-layout,
    .report-reader,
    .atlas-layout {
        display: block;
    }

    .info-card,
    .report-card,
    .atlas-card,
    .callout {
        break-inside: avoid;
        border: 1px solid #bbb;
        color: #111;
        background: #fff;
        box-shadow: none;
    }
}

/* Small state and registry refinements. */
.status-badge.success,
.status-badge[data-state="pass"] {
    color: var(--success);
    border-color: rgba(131, 238, 157, .38);
    background: rgba(131, 238, 157, .08);
}

.status-badge.danger,
.status-badge[data-state="fail"] {
    color: #ffc8c2;
    border-color: rgba(255, 111, 97, .42);
    background: rgba(255, 111, 97, .09);
}

.status-badge[data-state="warn"] {
    color: var(--warning);
    border-color: rgba(255, 180, 84, .42);
    background: rgba(255, 180, 84, .08);
}

.text-button.is-complete,
.text-button[aria-pressed="true"] {
    color: var(--primary);
}

.tag-list > span,
.tag-list > li {
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: .18rem .48rem;
    color: var(--muted-2);
    font-size: .68rem;
}

.report-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem 1rem;
    margin: 1rem 0 0;
}

.report-meta div {
    min-width: 0;
    border-top: 1px solid var(--line);
    padding-top: .5rem;
}

.report-meta dt {
    color: var(--muted);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.report-meta dd {
    margin: .22rem 0 0;
    color: var(--muted-2);
    font-size: .78rem;
    overflow-wrap: anywhere;
}

.report-integrity {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
}

.image-reference {
    display: inline-flex;
    border: 1px dashed var(--line);
    border-radius: .4rem;
    padding: .08rem .38rem;
    color: var(--muted);
    background: rgba(255,255,255,.025);
    font-size: .78em;
}

@media (max-width: 560px) {
    .report-meta {
        grid-template-columns: 1fr;
    }
}

/* Resilience and Dependency Lab — v1.1.0. */
.resilience-principles,
.resilience-workbench,
.resilience-detail-grid,
.resilience-domain-section,
.resilience-method {
    padding-block: clamp(2.5rem, 6vw, 5.8rem);
}

.resilience-principles {
    padding-top: 0;
}

.resilience-workbench {
    display: grid;
    grid-template-columns: minmax(18rem, .7fr) minmax(0, 1.3fr);
    gap: 1rem;
    align-items: start;
}

.resilience-controls,
.resilience-results,
.resilience-detail-panel {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: clamp(1rem, 2.7vw, 1.55rem);
    background: linear-gradient(145deg, rgba(17, 36, 30, .94), rgba(7, 17, 14, .96));
    box-shadow: var(--shadow-soft);
}

.resilience-controls {
    position: sticky;
    top: calc(var(--header-height) + var(--utility-height) + 1rem);
}

.resilience-controls-head,
.resilience-results-head,
.resilience-result-actions {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .9rem;
}

.resilience-controls h2,
.resilience-results h2,
.resilience-detail-panel h2 {
    margin-bottom: .45rem;
}

.resilience-controls > label {
    display: grid;
    gap: .42rem;
    margin: 1.1rem 0;
    color: var(--muted-2);
    font-size: .78rem;
    font-weight: 750;
}

.node-failure-fieldset {
    min-width: 0;
    margin: 1rem 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: .85rem;
    background: rgba(3, 8, 6, .28);
}

.node-failure-fieldset legend {
    padding: 0 .35rem;
    color: var(--text);
    font-size: .82rem;
    font-weight: 800;
}

.node-failure-fieldset > p {
    margin-bottom: .75rem;
    color: var(--muted);
    font-size: .75rem;
}

.node-failure-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
}

.node-failure-option {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .55rem;
    align-items: start;
    margin: 0;
    border: 1px solid rgba(154, 181, 170, .16);
    border-radius: 9px;
    padding: .58rem;
    color: var(--text);
    background: rgba(13, 28, 24, .64);
    cursor: pointer;
}

.node-failure-option:hover {
    border-color: rgba(57, 217, 200, .42);
}

.node-failure-option.is-forced,
.node-failure-option[data-forced="true"] {
    border-style: dashed;
    border-color: rgba(255, 180, 84, .42);
    background: rgba(255, 180, 84, .055);
    cursor: not-allowed;
}

.node-failure-option input {
    width: 1rem;
    min-height: auto;
    margin-top: .15rem;
    accent-color: var(--danger);
}

.node-failure-option strong,
.node-failure-option small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.node-failure-option strong {
    font-size: .76rem;
    line-height: 1.3;
}

.node-failure-option small {
    margin-top: .18rem;
    color: var(--muted);
    font-size: .62rem;
    line-height: 1.35;
}

.resilience-control-actions,
.resilience-result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    align-items: center;
}

.resilience-result-actions {
    justify-content: flex-start;
    margin-top: 1rem;
    border-top: 1px solid var(--line);
    padding-top: 1rem;
}

.resilience-result-actions > span {
    flex: 1 1 15rem;
    color: var(--muted);
    font-size: .76rem;
}

.resilience-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    margin: 1.15rem 0;
}

.resilience-metrics article {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: .8rem;
    background: rgba(3, 8, 6, .42);
}

.resilience-metrics strong,
.resilience-metrics span,
.resilience-metrics small {
    display: block;
}

.resilience-metrics strong {
    color: var(--primary);
    font-size: clamp(1.45rem, 4vw, 2.15rem);
    line-height: 1;
}

.resilience-metrics span {
    margin-top: .35rem;
    color: var(--text);
    font-size: .75rem;
    font-weight: 780;
}

.resilience-metrics small {
    margin-top: .24rem;
    color: var(--muted);
    font-size: .64rem;
}

.resilience-warning {
    border: 1px solid rgba(255, 180, 84, .35);
    border-radius: var(--radius-sm);
    padding: .9rem;
    background: rgba(255, 180, 84, .06);
}

.resilience-warning h3 {
    margin-bottom: .45rem;
    color: var(--warning);
    font-size: .92rem;
}

.resilience-warning ul {
    margin: 0;
    padding-left: 1.2rem;
}

.resilience-warning li {
    margin: .25rem 0;
    color: var(--muted-2);
    font-size: .78rem;
}

.resilience-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr);
    gap: 1rem;
    padding-top: 0;
}

.resilience-detail-panel {
    box-shadow: none;
}

.resilience-path-table td:nth-child(3) {
    min-width: 22rem;
}

.dependency-grid {
    display: grid;
    gap: .65rem;
}

.dependency-card {
    border: 1px solid rgba(255, 180, 84, .32);
    border-radius: var(--radius-sm);
    padding: .85rem;
    background: rgba(255, 180, 84, .045);
}

.dependency-card h3 {
    margin: .25rem 0;
    font-size: .98rem;
}

.dependency-card p,
.dependency-card strong {
    display: block;
    margin: 0;
    font-size: .74rem;
}

.dependency-card p {
    color: var(--muted);
}

.dependency-card strong {
    margin-top: .4rem;
    color: var(--warning);
}

.subsection-heading {
    margin-top: 1.4rem;
    font-size: 1rem;
}

.cut-set-list {
    margin: .7rem 0 0;
    padding-left: 1.2rem;
}

.cut-set-list li {
    margin: .38rem 0;
    color: var(--muted-2);
    font-size: .8rem;
}

.resilience-domain-section {
    border-block: 1px solid var(--line);
    background: rgba(13, 28, 24, .38);
}

.resilience-method {
    padding-bottom: 0;
}

@media (max-width: 1120px) {
    .node-failure-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 940px) {
    .resilience-workbench,
    .resilience-detail-grid {
        grid-template-columns: 1fr;
    }

    .resilience-controls {
        position: static;
    }
}

@media (max-width: 720px) {
    .resilience-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .resilience-controls-head,
    .resilience-results-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 360px) {
    .resilience-metrics {
        grid-template-columns: 1fr;
    }

    .resilience-control-actions,
    .resilience-result-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .resilience-control-actions .button,
    .resilience-result-actions .button {
        width: 100%;
    }
}

@media print {
    .resilience-controls,
    .resilience-result-actions,
    .resilience-principles,
    .answer-strip,
    .site-header,
    .utility-bar,
    .site-footer,
    .breadcrumbs {
        display: none !important;
    }

    .resilience-workbench,
    .resilience-detail-grid {
        display: block;
        padding-block: 0;
    }

    .resilience-results,
    .resilience-detail-panel {
        margin-bottom: 1rem;
        border: 1px solid #aaa;
        color: #111;
        background: #fff;
        box-shadow: none;
    }

    .resilience-metrics article,
    .dependency-card,
    .resilience-warning {
        border-color: #bbb;
        color: #111;
        background: #fff;
    }
}

/* Server-rendered Explorer analysis and complete relationship fallback. */
.explorer-noscript {
    margin-top: 1rem;
}

.explorer-analysis-strip {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .8fr) auto;
    gap: 1rem 1.5rem;
    align-items: center;
    margin-top: 1rem;
    border: 1px solid rgba(57, 217, 200, .24);
    border-radius: var(--radius);
    padding: clamp(1rem, 2.5vw, 1.4rem);
    background: linear-gradient(135deg, rgba(13, 28, 24, .92), rgba(3, 8, 6, .9));
}

.explorer-analysis-strip h2 {
    max-width: 22ch;
    margin-bottom: .35rem;
    font-size: clamp(1.25rem, 2.5vw, 1.8rem);
}

.explorer-analysis-strip p:last-child {
    margin-bottom: 0;
    color: var(--muted);
    font-size: .82rem;
}

.explorer-analysis-strip dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
    margin: 0;
}

.explorer-analysis-strip dl div {
    min-width: 0;
    border-top: 1px solid var(--line);
    padding-top: .45rem;
}

.explorer-analysis-strip dt {
    color: var(--primary);
    font-size: 1.25rem;
    font-weight: 850;
    line-height: 1;
}

.explorer-analysis-strip dd {
    margin: .25rem 0 0;
    color: var(--muted);
    font-size: .68rem;
    text-transform: uppercase;
}

.relationship-register {
    padding-top: 2rem;
}

.relationship-register table td,
.relationship-register table th {
    font-size: .76rem;
}

@media (max-width: 940px) {
    .explorer-analysis-strip {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .explorer-analysis-strip .button {
        justify-self: start;
    }
}

@media (max-width: 420px) {
    .explorer-analysis-strip dl {
        grid-template-columns: 1fr;
    }
}

.scenario-lab-callout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem 1.5rem;
    align-items: center;
}

.scenario-lab-callout .button {
    white-space: normal;
    text-align: center;
}

@media (max-width: 720px) {
    .scenario-lab-callout {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .scenario-lab-callout .button {
        justify-self: start;
    }
}

/* Anticipatory Intelligence Lab */
.anticipatory-lab-page .page-intro {
    padding-bottom: clamp(1.6rem, 4vw, 3rem);
}

.anticipatory-boundary {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(18rem, .8fr);
    gap: clamp(1.2rem, 3vw, 2.4rem);
    align-items: start;
    margin-bottom: clamp(2rem, 5vw, 4rem);
    padding: clamp(1.2rem, 3vw, 2rem);
    border: 1px solid rgba(255, 180, 84, .38);
    border-radius: var(--radius);
    background:
        linear-gradient(135deg, rgba(255, 180, 84, .08), transparent 45%),
        var(--surface);
    box-shadow: var(--shadow-soft);
}

.anticipatory-boundary h2 {
    max-width: 18ch;
    margin-bottom: .85rem;
}

.boundary-ledger {
    margin: 0;
    display: grid;
    gap: .65rem;
}

.boundary-ledger div {
    display: grid;
    gap: .2rem;
    padding: .78rem .85rem;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: rgba(3, 8, 6, .48);
}

.boundary-ledger dt {
    color: var(--warning);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.boundary-ledger dd {
    margin: 0;
    color: var(--text);
    font-weight: 700;
}

.anticipatory-workbench {
    display: grid;
    grid-template-columns: minmax(19rem, .82fr) minmax(0, 1.18fr);
    gap: 1rem;
    align-items: start;
    margin-bottom: clamp(3rem, 7vw, 5rem);
}

.anticipatory-controls,
.anticipatory-results {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: var(--shadow-soft);
}

.anticipatory-controls {
    display: grid;
    gap: 1rem;
    padding: clamp(1rem, 2.5vw, 1.5rem);
}

.anticipatory-controls-head,
.anticipatory-results-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.anticipatory-controls h2,
.anticipatory-results h2 {
    font-size: clamp(1.45rem, 2.8vw, 2.2rem);
}

.anticipatory-controls label,
.anticipatory-evidence-fieldset {
    min-width: 0;
}

.anticipatory-controls label > small {
    display: block;
    margin-top: .42rem;
    color: var(--muted);
    line-height: 1.45;
}

.input-with-unit {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .55rem;
    margin-top: .42rem;
}

.input-with-unit > span {
    color: var(--primary);
    font-size: 1.2rem;
    font-weight: 850;
}

.forecast-question-card {
    padding: 1rem;
    border: 1px solid rgba(57, 217, 200, .26);
    border-radius: 13px;
    background: linear-gradient(135deg, rgba(57, 217, 200, .07), rgba(140, 200, 255, .035));
}

.forecast-question-card h3 {
    margin-bottom: .85rem;
}

.forecast-question-card dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem;
    margin: 0 0 .85rem;
}

.forecast-question-card dl div {
    padding: .58rem .65rem;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: rgba(3, 8, 6, .42);
}

.forecast-question-card dt {
    color: var(--muted);
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.forecast-question-card dd {
    margin: .18rem 0 0;
    color: var(--text);
}

.anticipatory-evidence-fieldset {
    margin: 0;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: 13px;
}

.anticipatory-evidence-fieldset legend {
    padding-inline: .45rem;
    color: var(--text);
    font-weight: 850;
}

.anticipatory-evidence-fieldset > p {
    margin-bottom: .75rem;
    font-size: .91rem;
}

.anticipatory-evidence-options {
    display: grid;
    gap: .55rem;
}

.anticipatory-evidence-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .72rem;
    align-items: start;
    margin: 0;
    padding: .72rem .78rem;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: rgba(3, 8, 6, .38);
    cursor: pointer;
}

.anticipatory-evidence-option:hover,
.anticipatory-evidence-option:focus-within {
    border-color: rgba(167, 244, 50, .5);
    background: rgba(167, 244, 50, .04);
}

.anticipatory-evidence-option input {
    margin-top: .18rem;
}

.anticipatory-evidence-option span {
    min-width: 0;
    display: grid;
    gap: .2rem;
}

.anticipatory-evidence-option strong,
.anticipatory-evidence-option small {
    overflow-wrap: anywhere;
}

.anticipatory-evidence-option strong {
    color: var(--text);
}

.anticipatory-evidence-option small {
    color: var(--muted);
    line-height: 1.4;
}

.anticipatory-control-actions,
.anticipatory-result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.anticipatory-results {
    position: sticky;
    top: calc(var(--header-height) + 1rem);
    padding: clamp(1rem, 2.5vw, 1.55rem);
}

.forecast-probability-stack {
    display: grid;
    gap: .7rem;
    margin: 1.2rem 0;
}

.forecast-probability-stack article {
    padding: .75rem .85rem;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: rgba(3, 8, 6, .36);
}

.forecast-probability-stack article > div:first-child {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: baseline;
}

.forecast-probability-stack span {
    color: var(--muted-2);
    font-weight: 700;
}

.forecast-probability-stack strong {
    color: var(--text);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 1.1rem;
}

.forecast-probability-stack .hybrid-row {
    border-color: rgba(167, 244, 50, .45);
    background: linear-gradient(90deg, rgba(167, 244, 50, .07), rgba(57, 217, 200, .04));
}

.probability-track {
    height: .5rem;
    margin-top: .55rem;
    overflow: hidden;
    border-radius: 99px;
    background: rgba(154, 181, 170, .16);
}

.probability-track span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--teal), var(--primary));
    transition: width .28s var(--ease);
}

.anticipatory-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .6rem;
    margin: 1rem 0;
}

.anticipatory-metrics article,
.calibration-summary article {
    min-width: 0;
    padding: .8rem;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: rgba(3, 8, 6, .42);
}

.anticipatory-metrics strong,
.calibration-summary strong {
    display: block;
    color: var(--primary);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: clamp(1.25rem, 2.8vw, 1.8rem);
}

.anticipatory-metrics span,
.calibration-summary span {
    display: block;
    margin-top: .2rem;
    color: var(--muted);
    font-size: .78rem;
    line-height: 1.35;
}

.anticipatory-recommendation {
    margin: 1rem 0;
    padding: 1rem;
    border-left: 4px solid var(--blue);
    border-radius: 0 11px 11px 0;
    background: rgba(140, 200, 255, .07);
}

.anticipatory-recommendation h3 {
    margin-bottom: .5rem;
}

.anticipatory-warning-list {
    display: grid;
    gap: .5rem;
    margin-bottom: 1rem;
}

.anticipatory-warning-list p {
    margin: 0;
    padding: .7rem .78rem;
    border: 1px solid rgba(255, 180, 84, .28);
    border-radius: 9px;
    background: rgba(255, 180, 84, .055);
}

.anticipatory-warning-list strong {
    color: var(--warning);
}

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

.hypothesis-card {
    min-width: 0;
    padding: 1.1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
}

.hypothesis-card > span {
    display: inline-flex;
    margin-bottom: .8rem;
    padding: .3rem .52rem;
    border: 1px solid rgba(57, 217, 200, .32);
    border-radius: 99px;
    color: var(--teal);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-weight: 850;
}

.calibration-bench,
.anticipatory-hypotheses,
.federated-intelligence-section,
.anticipatory-method {
    margin-block: clamp(3rem, 7vw, 5.5rem);
}

.calibration-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(9rem, .35fr)) minmax(0, 1fr);
    gap: .8rem;
    align-items: stretch;
    margin-bottom: 1rem;
}

.calibration-summary > p {
    margin: 0;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: rgba(57, 217, 200, .035);
}

.federated-intelligence-section .callout {
    margin-top: 1rem;
}

.export-status {
    margin: .7rem 0 0;
    color: var(--muted);
    font-size: .82rem;
}

@media (max-width: 1120px) {
    .anticipatory-workbench {
        grid-template-columns: minmax(18rem, .9fr) minmax(0, 1.1fr);
    }

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

@media (max-width: 940px) {
    .anticipatory-boundary,
    .anticipatory-workbench {
        grid-template-columns: 1fr;
    }

    .anticipatory-results {
        position: static;
    }
}

@media (max-width: 720px) {
    .anticipatory-controls-head,
    .anticipatory-results-head,
    .forecast-probability-stack article > div:first-child {
        align-items: flex-start;
        flex-direction: column;
    }

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

    .forecast-question-card dl {
        grid-template-columns: 1fr;
    }

    .anticipatory-control-actions .button,
    .anticipatory-result-actions .button {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 420px) {
    .anticipatory-boundary,
    .anticipatory-controls,
    .anticipatory-results {
        padding: .85rem;
        border-radius: 13px;
    }

    .anticipatory-metrics {
        grid-template-columns: 1fr;
    }

    .anticipatory-evidence-fieldset {
        padding: .75rem;
    }

    .anticipatory-evidence-option {
        padding: .65rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .probability-track span {
        transition: none;
    }
}

@media print {
    .anticipatory-lab-page .utility-bar,
    .anticipatory-lab-page .site-header,
    .anticipatory-lab-page .site-footer,
    .anticipatory-controls,
    .anticipatory-result-actions,
    .anticipatory-control-actions {
        display: none !important;
    }

    .anticipatory-workbench,
    .anticipatory-boundary,
    .hypothesis-grid,
    .calibration-summary {
        display: block;
    }

    .anticipatory-results,
    .anticipatory-boundary,
    .hypothesis-card,
    .calibration-summary article,
    .calibration-summary > p {
        break-inside: avoid;
        box-shadow: none;
    }

    .anticipatory-results {
        position: static;
        border-color: #777;
    }
}

.anticipatory-panel {
    background:
        radial-gradient(circle at 90% 0%, rgba(255, 180, 84, .16), transparent 16rem),
        linear-gradient(145deg, rgba(17, 36, 30, .96), rgba(7, 17, 14, .94));
}

/* Autonomous Kill Webs Lab */
.autonomy-lab-page .page-intro {
    padding-bottom: clamp(1.5rem, 3vw, 2.4rem);
}

.autonomy-boundary,
.autonomy-architecture,
.autonomy-workbench,
.autonomy-general-model,
.autonomy-failure-grid {
    margin-bottom: clamp(2.2rem, 5vw, 5rem);
}

.autonomy-boundary {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .75fr);
    gap: clamp(1.25rem, 3vw, 2.4rem);
    align-items: stretch;
    border: 1px solid rgba(255, 180, 84, .32);
    border-radius: var(--radius-lg);
    padding: clamp(1.2rem, 3vw, 2rem);
    background:
        linear-gradient(135deg, rgba(255, 180, 84, .08), rgba(57, 217, 200, .035)),
        var(--surface);
}

.autonomy-boundary h2 {
    max-width: 28ch;
    margin-bottom: .75rem;
}

.autonomy-boundary p:last-child {
    margin-bottom: 0;
    color: var(--muted-2);
}

.autonomy-flow {
    display: grid;
    grid-template-columns: repeat(7, minmax(8rem, 1fr));
    gap: .65rem;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-gutter: stable;
}

.autonomy-flow li {
    position: relative;
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: .65rem;
    align-items: start;
    min-width: 10rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: .9rem;
    background: linear-gradient(180deg, rgba(57, 217, 200, .055), rgba(255,255,255,.018));
}

.autonomy-flow li:not(:last-child)::after {
    content: "→";
    position: absolute;
    top: 50%;
    right: -.62rem;
    z-index: 2;
    transform: translateY(-50%);
    color: var(--teal);
    font-weight: 900;
}

.autonomy-flow li > span {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border: 1px solid rgba(167, 244, 50, .38);
    border-radius: 50%;
    color: var(--primary);
    background: rgba(167, 244, 50, .07);
    font-size: .76rem;
    font-weight: 900;
}

.autonomy-flow strong,
.autonomy-flow small {
    display: block;
}

.autonomy-flow strong {
    margin-bottom: .35rem;
    color: var(--text);
    font-size: .9rem;
    line-height: 1.2;
}

.autonomy-flow small {
    color: var(--muted);
    font-size: .73rem;
    line-height: 1.45;
}

.autonomy-workbench {
    display: grid;
    grid-template-columns: minmax(19rem, .9fr) minmax(0, 1.35fr);
    gap: clamp(1rem, 2.5vw, 1.6rem);
    align-items: start;
}

.autonomy-controls,
.autonomy-results {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: clamp(1rem, 2.4vw, 1.55rem);
    background: var(--surface);
    box-shadow: var(--shadow-soft);
}

.autonomy-controls {
    position: sticky;
    top: 7.7rem;
}

.autonomy-controls-head,
.autonomy-results-head,
.autonomy-result-actions,
.autonomy-control-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
    align-items: center;
    justify-content: space-between;
}

.autonomy-controls h2,
.autonomy-results h2 {
    margin-bottom: .35rem;
}

.autonomy-controls > label,
.autonomy-control-grid label {
    display: grid;
    gap: .45rem;
    color: var(--text);
    font-weight: 800;
}

.autonomy-controls > label {
    margin-top: 1rem;
}

.autonomy-controls select {
    width: 100%;
    min-width: 0;
}

.autonomy-controls label small {
    min-height: 2.5em;
    color: var(--muted);
    font-weight: 500;
    line-height: 1.45;
}

.autonomy-scenario-card {
    margin-top: 1rem;
    border: 1px solid rgba(140, 200, 255, .2);
    border-radius: var(--radius-md);
    padding: 1rem;
    background: rgba(140, 200, 255, .045);
}

.autonomy-scenario-card h3 {
    margin-bottom: .55rem;
}

.autonomy-scenario-card > p:not(.brief-label) {
    color: var(--muted-2);
}

.autonomy-scenario-card dl {
    display: grid;
    gap: .5rem;
    margin-top: .85rem;
}

.autonomy-scenario-card dl div {
    display: grid;
    grid-template-columns: minmax(6rem, .4fr) minmax(0, 1fr);
    gap: .7rem;
    border-top: 1px solid var(--line);
    padding-top: .5rem;
}

.autonomy-scenario-card dt {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.autonomy-scenario-card dd {
    margin: 0;
    color: var(--text);
    font-size: .84rem;
}

.autonomy-control-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
    margin-top: 1.05rem;
}

.autonomy-critical-control {
    grid-column: 1 / -1;
    border: 1px solid rgba(255, 111, 97, .2);
    border-radius: var(--radius-md);
    padding: .85rem;
    background: rgba(255, 111, 97, .035);
}

.autonomy-control-actions {
    margin-top: 1.1rem;
    justify-content: flex-start;
}

.autonomy-results {
    background:
        radial-gradient(circle at 85% 12%, rgba(57, 217, 200, .07), transparent 30%),
        var(--surface);
}

.autonomy-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .65rem;
    margin: 1.1rem 0;
}

.autonomy-metrics article {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: .85rem;
    background: rgba(255,255,255,.018);
}

.autonomy-metrics strong,
.autonomy-metrics span {
    display: block;
}

.autonomy-metrics strong {
    margin-bottom: .28rem;
    color: var(--primary);
    font-size: clamp(1.3rem, 2.4vw, 2rem);
}

.autonomy-metrics span {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.autonomy-recomposition {
    border-left: 3px solid var(--teal);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    padding: .9rem 1rem;
    background: rgba(57, 217, 200, .055);
}

.autonomy-recomposition h3 {
    margin-bottom: .35rem;
}

.autonomy-recomposition p {
    margin: 0;
    color: var(--muted-2);
}

.autonomy-action-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
    margin-top: 1rem;
}

.autonomy-action-columns section {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: 1rem;
    background: rgba(255,255,255,.015);
}

.autonomy-action-columns h3 {
    margin-bottom: .55rem;
}

.autonomy-action-columns ul {
    display: grid;
    gap: .52rem;
    margin: 0;
    padding-left: 1.1rem;
    color: var(--muted-2);
}

.autonomy-warning-list {
    display: grid;
    gap: .55rem;
    margin-top: 1rem;
}

.autonomy-warning-list p {
    margin: 0;
    border: 1px solid rgba(255, 180, 84, .22);
    border-radius: var(--radius-sm);
    padding: .7rem .8rem;
    color: var(--muted-2);
    background: rgba(255, 180, 84, .035);
}

.autonomy-warning-list strong {
    color: var(--warning);
}

.autonomy-result-actions {
    margin-top: 1rem;
    justify-content: flex-start;
}

.autonomy-result-actions > span {
    flex: 1 1 13rem;
    color: var(--muted);
    font-size: .8rem;
}

.autonomy-layer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.autonomy-layer-card {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: 1.05rem;
    background: var(--surface);
}

.autonomy-layer-card > div:first-child {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
    justify-content: space-between;
    margin-bottom: .65rem;
}

.autonomy-layer-card > div:first-child span {
    display: inline-flex;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: .25rem .52rem;
    color: var(--muted-2);
    background: rgba(255,255,255,.025);
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.autonomy-layer-card > div:first-child small {
    color: var(--muted);
    font-family: var(--mono);
    font-size: .7rem;
}

.autonomy-layer-card[data-layer-status="active"] {
    border-color: rgba(167, 244, 50, .26);
}

.autonomy-layer-card[data-layer-status="active"] > div:first-child span,
.autonomy-layer-card[data-layer-status="bounded"] > div:first-child span {
    border-color: rgba(167, 244, 50, .35);
    color: var(--primary);
    background: rgba(167, 244, 50, .065);
}

.autonomy-layer-card[data-layer-status="supervised"] > div:first-child span,
.autonomy-layer-card[data-layer-status="not-delegated"] > div:first-child span {
    border-color: rgba(140, 200, 255, .28);
    color: var(--blue);
    background: rgba(140, 200, 255, .055);
}

.autonomy-layer-card[data-layer-status="held"] > div:first-child span,
.autonomy-layer-card[data-layer-status="quarantined"] > div:first-child span {
    border-color: rgba(255, 111, 97, .3);
    color: var(--danger);
    background: rgba(255, 111, 97, .055);
}

.autonomy-layer-card > p {
    color: var(--muted-2);
}

.autonomy-layer-card dl {
    display: grid;
    gap: .55rem;
    margin-top: .8rem;
}

.autonomy-layer-card dl div {
    display: grid;
    grid-template-columns: minmax(7rem, .35fr) minmax(0, 1fr);
    gap: .7rem;
    border-top: 1px solid var(--line);
    padding-top: .55rem;
}

.autonomy-layer-card dt {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 850;
    text-transform: uppercase;
}

.autonomy-layer-card dd {
    margin: 0;
    color: var(--text);
    font-size: .82rem;
}

[data-autonomy-node-ledger] th small {
    display: block;
    margin-top: .25rem;
    color: var(--muted);
    font-family: var(--mono);
    font-size: .68rem;
    font-weight: 500;
}

.node-state {
    display: inline-flex;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: .25rem .5rem;
    color: var(--muted-2);
    font-size: .68rem;
    font-weight: 850;
    white-space: nowrap;
}

.node-state[data-state="available"],
.node-state[data-state="reassigned"] {
    border-color: rgba(167, 244, 50, .3);
    color: var(--primary);
    background: rgba(167, 244, 50, .05);
}

.node-state[data-state="verify"],
.node-state[data-state="degraded"],
.node-state[data-state="isolated"] {
    border-color: rgba(255, 180, 84, .32);
    color: var(--warning);
    background: rgba(255, 180, 84, .05);
}

.node-state[data-state="quarantined"],
.node-state[data-state="held"],
.node-state[data-state="unavailable"] {
    border-color: rgba(255, 111, 97, .32);
    color: var(--danger);
    background: rgba(255, 111, 97, .05);
}

.autonomy-general-model .process-list {
    margin-top: 1.3rem;
}

.autonomy-failure-grid .callout {
    margin-top: 1rem;
}

.autonomy-panel {
    background:
        radial-gradient(circle at 80% 5%, rgba(167, 244, 50, .1), transparent 33%),
        linear-gradient(145deg, rgba(57, 217, 200, .045), rgba(255,255,255,.018));
}

@media (max-width: 1100px) {
    .autonomy-workbench {
        grid-template-columns: 1fr;
    }

    .autonomy-controls {
        position: static;
    }

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

@media (max-width: 820px) {
    .autonomy-boundary,
    .autonomy-action-columns,
    .autonomy-layer-grid {
        grid-template-columns: 1fr;
    }

    .autonomy-boundary {
        padding: 1rem;
    }

    .autonomy-control-grid {
        grid-template-columns: 1fr;
    }

    .autonomy-critical-control {
        grid-column: auto;
    }
}

@media (max-width: 560px) {
    .autonomy-controls,
    .autonomy-results,
    .autonomy-layer-card {
        padding: .85rem;
        border-radius: var(--radius-md);
    }

    .autonomy-controls-head,
    .autonomy-results-head,
    .autonomy-result-actions,
    .autonomy-control-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .autonomy-control-actions .button,
    .autonomy-result-actions .button {
        width: 100%;
    }

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

    .autonomy-scenario-card dl div,
    .autonomy-layer-card dl div {
        grid-template-columns: 1fr;
        gap: .25rem;
    }
}

@media (max-width: 300px) {
    .autonomy-metrics {
        grid-template-columns: 1fr;
    }

    .autonomy-flow li {
        min-width: 9rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .autonomy-flow li,
    .autonomy-layer-card,
    .node-state {
        scroll-behavior: auto;
        transition: none;
    }
}

@media print {
    .autonomy-lab-page .utility-bar,
    .autonomy-lab-page .site-header,
    .autonomy-lab-page .site-footer,
    .autonomy-controls,
    .autonomy-result-actions,
    .autonomy-control-actions {
        display: none !important;
    }

    .autonomy-workbench,
    .autonomy-boundary,
    .autonomy-layer-grid {
        display: block;
    }

    .autonomy-results,
    .autonomy-layer-card,
    .autonomy-boundary {
        break-inside: avoid;
        box-shadow: none;
        margin-bottom: 1rem;
    }

    .autonomy-flow {
        display: block;
        overflow: visible;
    }

    .autonomy-flow li {
        margin-bottom: .5rem;
    }

    .autonomy-flow li::after {
        display: none;
    }
}


/* Autonomous Kill Webs deep-dive additions */
.autonomy-toc,
.autonomy-system-planes,
.autonomy-information-contract,
.autonomy-human-control,
.autonomy-faq,
.autonomy-related {
    margin-bottom: clamp(2.2rem, 5vw, 5rem);
}

.autonomy-toc {
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: clamp(1rem, 2.5vw, 1.4rem);
    background:
        linear-gradient(135deg, rgba(140, 200, 255, .045), rgba(57, 217, 200, .025)),
        var(--surface);
}

.autonomy-toc .toc-title {
    margin: 0 0 .75rem;
    color: var(--text);
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.autonomy-toc ol {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.autonomy-toc a {
    display: block;
    min-height: 100%;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    padding: .6rem .7rem;
    color: var(--muted-2);
    background: rgba(255, 255, 255, .018);
    font-size: .75rem;
    font-weight: 750;
    line-height: 1.35;
    text-decoration: none;
}

.autonomy-toc a:hover,
.autonomy-toc a:focus-visible {
    border-color: rgba(57, 217, 200, .35);
    color: var(--text);
    background: rgba(57, 217, 200, .055);
}

.autonomy-lab-page section[id],
.autonomy-lab-page .anchor-alias {
    scroll-margin-top: 8.5rem;
}

.anchor-alias {
    display: block;
    position: relative;
    width: 0;
    height: 0;
}

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

.autonomy-plane-grid article {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: 1rem;
    background:
        radial-gradient(circle at 100% 0%, rgba(57, 217, 200, .08), transparent 10rem),
        var(--surface);
}

.autonomy-plane-grid article > span {
    display: inline-grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    margin-bottom: .7rem;
    border: 1px solid rgba(167, 244, 50, .3);
    border-radius: 50%;
    color: var(--primary);
    background: rgba(167, 244, 50, .055);
    font-family: var(--mono);
    font-size: .68rem;
    font-weight: 900;
}

.autonomy-plane-grid h3 {
    margin-bottom: .5rem;
}

.autonomy-plane-grid p {
    color: var(--muted-2);
}

.autonomy-plane-grid ul {
    display: grid;
    gap: .35rem;
    margin: .75rem 0 0;
    padding-left: 1rem;
    color: var(--muted);
    font-size: .78rem;
}

.autonomy-information-contract .table-scroll,
.autonomy-information-contract > table {
    margin-top: 1rem;
}

.autonomy-contract-rule {
    margin-top: 1rem;
    border-left-color: var(--blue);
}

.human-control-test-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
}

.human-control-test-grid article {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: .95rem;
    background: rgba(255, 255, 255, .018);
}

.human-control-test-grid strong {
    display: inline-grid;
    width: 1.9rem;
    height: 1.9rem;
    place-items: center;
    margin-bottom: .55rem;
    border-radius: .5rem;
    color: var(--deep-background);
    background: var(--primary);
    font-family: var(--mono);
    font-size: .74rem;
}

.human-control-test-grid h3 {
    margin-bottom: .35rem;
}

.human-control-test-grid p {
    margin: 0;
    color: var(--muted-2);
    font-size: .86rem;
}

.partition-rejoin-sequence {
    margin-top: 1rem;
    border: 1px solid rgba(140, 200, 255, .22);
    border-radius: var(--radius-lg);
    padding: clamp(1rem, 2.5vw, 1.4rem);
    background:
        linear-gradient(145deg, rgba(140, 200, 255, .05), rgba(57, 217, 200, .025)),
        var(--surface);
}

.partition-rejoin-sequence h3 {
    margin-bottom: .85rem;
}

.partition-rejoin-sequence ol {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .7rem;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: partition-step;
}

.partition-rejoin-sequence li {
    min-width: 0;
    border-left: 2px solid rgba(57, 217, 200, .4);
    padding: .2rem 0 .2rem .75rem;
    counter-increment: partition-step;
}

.partition-rejoin-sequence span {
    display: block;
    margin-bottom: .35rem;
    color: var(--teal);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.partition-rejoin-sequence span::before {
    content: counter(partition-step) ". ";
    color: var(--primary);
}

.partition-rejoin-sequence p {
    margin: 0;
    color: var(--muted-2);
    font-size: .82rem;
}

.autonomy-faq-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}

.autonomy-faq-list details {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: .9rem 1rem;
    background: var(--surface);
}

.autonomy-faq-list summary {
    color: var(--text);
    font-weight: 850;
    cursor: pointer;
}

.autonomy-faq-list p {
    margin: .75rem 0 0;
    color: var(--muted-2);
}

.autonomy-related .info-card .text-link {
    margin-top: auto;
}

@media (max-width: 1100px) {
    .autonomy-toc ol {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .autonomy-plane-grid,
    .partition-rejoin-sequence ol {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .human-control-test-grid,
    .autonomy-faq-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .autonomy-toc ol,
    .autonomy-plane-grid,
    .partition-rejoin-sequence ol {
        grid-template-columns: 1fr;
    }

    .autonomy-toc,
    .autonomy-plane-grid article,
    .partition-rejoin-sequence,
    .human-control-test-grid article,
    .autonomy-faq-list details {
        border-radius: var(--radius-md);
    }
}

@media print {
    .autonomy-toc,
    .autonomy-related {
        display: none !important;
    }

    .autonomy-plane-grid,
    .human-control-test-grid,
    .partition-rejoin-sequence ol,
    .autonomy-faq-list {
        display: block;
    }

    .autonomy-plane-grid article,
    .human-control-test-grid article,
    .partition-rejoin-sequence li,
    .autonomy-faq-list details {
        break-inside: avoid;
        margin-bottom: .75rem;
        box-shadow: none;
    }
}

/* Autonomy Assurance and Failure-Injection Lab */
.autonomy-assurance-page .page-intro {
    padding-bottom: clamp(1.5rem, 3vw, 2.4rem);
}

.assurance-boundary,
.assurance-dimension-overview,
.assurance-workbench,
.assurance-principles {
    margin-bottom: clamp(2.2rem, 5vw, 5rem);
}

.assurance-boundary {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(18rem, .75fr);
    gap: clamp(1.1rem, 3vw, 2.3rem);
    align-items: stretch;
    border: 1px solid rgba(255, 180, 84, .32);
    border-radius: var(--radius-lg);
    padding: clamp(1.1rem, 3vw, 2rem);
    background:
        radial-gradient(circle at 90% 0%, rgba(255, 111, 97, .08), transparent 20rem),
        linear-gradient(135deg, rgba(255, 180, 84, .07), rgba(57, 217, 200, .025)),
        var(--surface);
}

.assurance-boundary h2 {
    max-width: 28ch;
    margin-bottom: .75rem;
}

.assurance-boundary p:last-child {
    margin-bottom: 0;
    color: var(--muted-2);
}

.assurance-dimension-flow {
    display: grid;
    grid-template-columns: repeat(6, minmax(10rem, 1fr));
    gap: .65rem;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-gutter: stable;
}

.assurance-dimension-flow li {
    min-width: 10rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: .9rem;
    background: linear-gradient(180deg, rgba(140, 200, 255, .055), rgba(255,255,255,.018));
}

.assurance-dimension-flow strong,
.assurance-dimension-flow span {
    display: block;
}

.assurance-dimension-flow strong {
    margin-bottom: .4rem;
    color: var(--text);
    font-size: .88rem;
}

.assurance-dimension-flow span {
    color: var(--muted);
    font-size: .74rem;
    line-height: 1.48;
}

.assurance-workbench {
    display: grid;
    grid-template-columns: minmax(20rem, .9fr) minmax(0, 1.45fr);
    gap: clamp(1rem, 2.5vw, 1.6rem);
    align-items: start;
}

.assurance-controls,
.assurance-results {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: clamp(1rem, 2.4vw, 1.55rem);
    background: var(--surface);
    box-shadow: var(--shadow-soft);
}

.assurance-controls {
    position: sticky;
    top: 7.7rem;
}

.assurance-controls-head,
.assurance-results-head,
.assurance-control-actions,
.assurance-result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
    align-items: center;
    justify-content: space-between;
}

.assurance-controls h2,
.assurance-results h2 {
    margin-bottom: .35rem;
}

.assurance-scenario-label {
    display: grid;
    gap: .45rem;
    margin-top: 1rem;
    color: var(--text);
    font-weight: 800;
}

.assurance-scenario-label select {
    width: 100%;
    min-width: 0;
}

.assurance-scenario-card {
    margin-top: 1rem;
    border: 1px solid rgba(140, 200, 255, .22);
    border-radius: var(--radius-md);
    padding: 1rem;
    background: rgba(140, 200, 255, .045);
}

.assurance-scenario-card h3 {
    margin-bottom: .55rem;
}

.assurance-scenario-card > p:not(.brief-label) {
    color: var(--muted-2);
}

.assurance-scenario-card dl {
    display: grid;
    gap: .5rem;
    margin-top: .85rem;
}

.assurance-scenario-card dl div {
    display: grid;
    grid-template-columns: minmax(6rem, .38fr) minmax(0, 1fr);
    gap: .7rem;
    border-top: 1px solid var(--line);
    padding-top: .5rem;
}

.assurance-scenario-card dt {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.assurance-scenario-card dd {
    margin: 0;
    color: var(--text);
    font-size: .84rem;
}

.assurance-fault-fieldset {
    min-width: 0;
    margin: 1rem 0 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: .95rem;
}

.assurance-fault-fieldset legend {
    padding: 0 .35rem;
    color: var(--text);
    font-weight: 850;
}

.assurance-fault-fieldset > p {
    color: var(--muted);
    font-size: .82rem;
}

.assurance-fault-options {
    display: grid;
    gap: .55rem;
}

.assurance-fault-option {
    display: grid;
    grid-template-columns: 1.1rem minmax(0, 1fr);
    gap: .65rem;
    align-items: start;
    min-width: 0;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    padding: .7rem;
    cursor: pointer;
    background: rgba(255,255,255,.018);
}

.assurance-fault-option:hover,
.assurance-fault-option:focus-within {
    border-color: rgba(57, 217, 200, .28);
    background: rgba(57, 217, 200, .035);
}

.assurance-fault-option input {
    margin-top: .18rem;
}

.assurance-fault-option span,
.assurance-fault-option strong,
.assurance-fault-option small {
    display: block;
    min-width: 0;
}

.assurance-fault-option strong {
    color: var(--text);
    font-size: .85rem;
}

.assurance-fault-option small {
    margin-top: .2rem;
    color: var(--muted);
    font-size: .75rem;
    line-height: 1.45;
}

.assurance-control-actions {
    justify-content: flex-start;
    margin-top: 1rem;
}

.assurance-results {
    background:
        radial-gradient(circle at 90% 8%, rgba(255, 180, 84, .08), transparent 28%),
        var(--surface);
}

.assurance-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .65rem;
    margin: 1.1rem 0;
}

.assurance-metrics article {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: .85rem;
    background: rgba(255,255,255,.018);
}

.assurance-metrics strong,
.assurance-metrics span {
    display: block;
}

.assurance-metrics strong {
    margin-bottom: .28rem;
    color: var(--primary);
    font-size: clamp(1.3rem, 2.4vw, 2rem);
}

.assurance-metrics span {
    color: var(--muted);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.assurance-dimension-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.assurance-dimension-card {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: 1rem;
    background: rgba(255,255,255,.015);
}

.assurance-dimension-card > div:first-child {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
    justify-content: space-between;
    margin-bottom: .65rem;
}

.assurance-dimension-card > div:first-child span {
    display: inline-flex;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: .25rem .52rem;
    color: var(--muted-2);
    background: rgba(255,255,255,.025);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.assurance-dimension-card > div:first-child small {
    color: var(--muted);
    font-family: var(--mono);
    font-size: .68rem;
}

.assurance-dimension-card[data-assurance-dimension-status="pass"] {
    border-color: rgba(167, 244, 50, .24);
}

.assurance-dimension-card[data-assurance-dimension-status="pass"] > div:first-child span {
    border-color: rgba(167, 244, 50, .34);
    color: var(--primary);
    background: rgba(167, 244, 50, .055);
}

.assurance-dimension-card[data-assurance-dimension-status="warn"] {
    border-color: rgba(255, 180, 84, .28);
}

.assurance-dimension-card[data-assurance-dimension-status="warn"] > div:first-child span {
    border-color: rgba(255, 180, 84, .34);
    color: var(--warning);
    background: rgba(255, 180, 84, .055);
}

.assurance-dimension-card[data-assurance-dimension-status="fail"] {
    border-color: rgba(255, 111, 97, .3);
}

.assurance-dimension-card[data-assurance-dimension-status="fail"] > div:first-child span {
    border-color: rgba(255, 111, 97, .36);
    color: var(--danger);
    background: rgba(255, 111, 97, .055);
}

.assurance-dimension-card > p {
    color: var(--muted-2);
}

.assurance-dimension-card dl {
    display: grid;
    gap: .55rem;
    margin-top: .8rem;
}

.assurance-dimension-card dl div {
    display: grid;
    grid-template-columns: minmax(7rem, .34fr) minmax(0, 1fr);
    gap: .7rem;
    border-top: 1px solid var(--line);
    padding-top: .55rem;
}

.assurance-dimension-card dt {
    color: var(--muted);
    font-size: .7rem;
    font-weight: 850;
    text-transform: uppercase;
}

.assurance-dimension-card dd {
    min-width: 0;
    margin: 0;
    color: var(--text);
    font-size: .8rem;
}

.assurance-dimension-card ul,
.assurance-response-grid ul,
.assurance-response-grid ol,
.assurance-action-columns ul,
[data-assurance-fault-ledger] ul {
    display: grid;
    gap: .42rem;
    margin: 0;
    padding-left: 1.05rem;
}

.assurance-response-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
    margin-top: 1rem;
}

.assurance-response-grid section,
.assurance-action-columns section {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: .95rem;
    background: rgba(255,255,255,.015);
}

.assurance-response-grid h3,
.assurance-action-columns h3 {
    margin-bottom: .55rem;
}

.assurance-response-grid li,
.assurance-action-columns li {
    color: var(--muted-2);
    font-size: .8rem;
}

.assurance-action-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
    margin-top: .8rem;
}

.assurance-score-boundary {
    margin-top: 1rem;
    border-left: 3px solid var(--warning);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    padding: .9rem 1rem;
    background: rgba(255, 180, 84, .045);
}

.assurance-score-boundary h3 {
    margin-bottom: .35rem;
}

.assurance-score-boundary p {
    margin: 0;
    color: var(--muted-2);
}

.assurance-result-actions {
    justify-content: flex-start;
    margin-top: 1rem;
}

.assurance-result-actions > span {
    flex: 1 1 14rem;
    color: var(--muted);
    font-size: .8rem;
}

[data-assurance-fault-ledger] th small {
    display: block;
    margin-top: .25rem;
    color: var(--muted);
    font-family: var(--mono);
    font-size: .67rem;
    font-weight: 500;
}

[data-assurance-fault-ledger] tr[data-fault-active="false"] {
    opacity: .72;
}

[data-assurance-fault-ledger] td,
[data-assurance-fault-ledger] th {
    vertical-align: top;
}

[data-assurance-fault-ledger] ul {
    min-width: 12rem;
}

.assurance-principles .callout {
    margin-top: 1rem;
}

@media (max-width: 1120px) {
    .assurance-workbench {
        grid-template-columns: 1fr;
    }

    .assurance-controls {
        position: static;
    }

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

@media (max-width: 860px) {
    .assurance-boundary,
    .assurance-dimension-grid,
    .assurance-response-grid,
    .assurance-action-columns {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .assurance-controls,
    .assurance-results,
    .assurance-dimension-card {
        padding: .85rem;
        border-radius: var(--radius-md);
    }

    .assurance-controls-head,
    .assurance-results-head,
    .assurance-control-actions,
    .assurance-result-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .assurance-control-actions .button,
    .assurance-result-actions .button {
        width: 100%;
    }

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

    .assurance-scenario-card dl div,
    .assurance-dimension-card dl div {
        grid-template-columns: 1fr;
        gap: .25rem;
    }
}

@media (max-width: 300px) {
    .assurance-boundary,
    .assurance-controls,
    .assurance-results {
        padding: .72rem;
    }

    .assurance-metrics {
        grid-template-columns: 1fr;
    }

    .assurance-fault-fieldset {
        padding: .65rem;
    }

    .assurance-fault-option {
        padding: .55rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .assurance-fault-option,
    .assurance-dimension-card,
    .assurance-dimension-flow li {
        transition: none;
        scroll-behavior: auto;
    }
}

@media print {
    .autonomy-assurance-page .utility-bar,
    .autonomy-assurance-page .site-header,
    .autonomy-assurance-page .site-footer,
    .assurance-controls,
    .assurance-control-actions,
    .assurance-result-actions {
        display: none !important;
    }

    .assurance-workbench,
    .assurance-boundary,
    .assurance-dimension-grid,
    .assurance-response-grid,
    .assurance-action-columns {
        display: block;
    }

    .assurance-results,
    .assurance-boundary,
    .assurance-dimension-card,
    .assurance-response-grid section,
    .assurance-action-columns section {
        break-inside: avoid;
        box-shadow: none;
        margin-bottom: 1rem;
    }

    .assurance-dimension-flow {
        display: block;
        overflow: visible;
    }

    .assurance-dimension-flow li {
        margin-bottom: .5rem;
    }
}

/* Autonomy Assurance and Failure-Injection Lab */
.assurance-lab-page .page-intro {
    padding-bottom: clamp(1.5rem, 3vw, 2.4rem);
}

.assurance-boundary,
.assurance-dimension-overview,
.assurance-workbench,
.assurance-impact-grid,
.assurance-principles,
.assurance-fault-table {
    margin-bottom: clamp(2.2rem, 5vw, 5rem);
}

.assurance-boundary {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .75fr);
    gap: clamp(1.25rem, 3vw, 2.4rem);
    align-items: stretch;
    border: 1px solid rgba(255, 111, 97, .3);
    border-radius: var(--radius-lg);
    padding: clamp(1.2rem, 3vw, 2rem);
    background:
        linear-gradient(135deg, rgba(255, 111, 97, .075), rgba(140, 200, 255, .035)),
        var(--surface);
}

.assurance-boundary h2 {
    max-width: 30ch;
    margin-bottom: .75rem;
}

.assurance-boundary p:last-child {
    margin-bottom: 0;
    color: var(--muted-2);
}

.assurance-dimension-strip {
    display: grid;
    grid-template-columns: repeat(10, minmax(9.5rem, 1fr));
    gap: .65rem;
    margin: 0;
    padding: 0 0 .35rem;
    list-style: none;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-gutter: stable;
}

.assurance-dimension-strip li {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: .65rem;
    align-items: start;
    min-width: 10.5rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: .9rem;
    background: linear-gradient(180deg, rgba(140, 200, 255, .05), rgba(255,255,255,.018));
}

.assurance-dimension-strip li > span {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border: 1px solid rgba(140, 200, 255, .36);
    border-radius: 50%;
    color: var(--blue);
    background: rgba(140, 200, 255, .06);
    font-size: .76rem;
    font-weight: 900;
}

.assurance-dimension-strip strong,
.assurance-dimension-strip small {
    display: block;
}

.assurance-dimension-strip strong {
    margin-bottom: .35rem;
    color: var(--text);
    font-size: .88rem;
    line-height: 1.22;
}

.assurance-dimension-strip small {
    color: var(--muted);
    font-size: .72rem;
    line-height: 1.45;
}

.assurance-workbench {
    display: grid;
    grid-template-columns: minmax(19rem, .82fr) minmax(0, 1.45fr);
    gap: clamp(1rem, 2.5vw, 1.6rem);
    align-items: start;
}

.assurance-controls,
.assurance-results {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: clamp(1rem, 2.4vw, 1.55rem);
    background: var(--surface);
    box-shadow: var(--shadow-soft);
}

.assurance-controls {
    position: sticky;
    top: 7.7rem;
}

.assurance-controls-head,
.assurance-results-head,
.assurance-control-actions,
.assurance-result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
    align-items: center;
    justify-content: space-between;
}

.assurance-controls h2,
.assurance-results h2 {
    margin-bottom: .35rem;
}

.assurance-controls > label {
    display: grid;
    gap: .45rem;
    margin-top: 1rem;
    color: var(--text);
    font-weight: 800;
}

.assurance-controls select {
    width: 100%;
    min-width: 0;
}

.assurance-scenario-card {
    margin-top: 1rem;
    border: 1px solid rgba(140, 200, 255, .22);
    border-radius: var(--radius-md);
    padding: 1rem;
    background: rgba(140, 200, 255, .045);
}

.assurance-scenario-card h3 {
    margin-bottom: .55rem;
}

.assurance-scenario-card > p:not(.brief-label) {
    color: var(--muted-2);
}

.assurance-scenario-card dl {
    display: grid;
    gap: .5rem;
    margin-top: .85rem;
}

.assurance-scenario-card dl div {
    display: grid;
    grid-template-columns: minmax(7rem, .35fr) minmax(0, 1fr);
    gap: .7rem;
    border-top: 1px solid var(--line);
    padding-top: .5rem;
}

.assurance-scenario-card dt {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.assurance-scenario-card dd {
    margin: 0;
    color: var(--text);
    font-size: .84rem;
}

.assurance-fault-fieldset {
    min-width: 0;
    margin: 1rem 0 0;
    border: 1px solid rgba(255, 180, 84, .22);
    border-radius: var(--radius-md);
    padding: .9rem;
    background: rgba(255, 180, 84, .025);
}

.assurance-fault-fieldset legend {
    padding: 0 .35rem;
    color: var(--warning);
    font-weight: 850;
}

.assurance-fault-fieldset > p {
    color: var(--muted);
    font-size: .78rem;
}

.assurance-fault-fieldset ul {
    display: grid;
    gap: .65rem;
    margin: .8rem 0 0;
    padding: 0;
    list-style: none;
}

.assurance-fault-fieldset li {
    border-top: 1px solid var(--line);
    padding-top: .65rem;
}

.assurance-fault-fieldset strong,
.assurance-fault-fieldset span {
    display: block;
}

.assurance-fault-fieldset strong {
    margin-bottom: .25rem;
    color: var(--text);
}

.assurance-fault-fieldset span {
    color: var(--muted-2);
    font-size: .78rem;
    line-height: 1.5;
}

.assurance-control-actions {
    margin-top: 1rem;
    justify-content: flex-start;
}

.assurance-results {
    background:
        radial-gradient(circle at 88% 8%, rgba(255, 111, 97, .07), transparent 28%),
        var(--surface);
}

.assurance-result-badge {
    display: inline-flex;
    border: 1px solid rgba(255, 111, 97, .3);
    border-radius: 999px;
    padding: .34rem .65rem;
    color: var(--danger);
    background: rgba(255, 111, 97, .055);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.assurance-summary {
    border-left: 3px solid var(--blue);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    margin-top: 1rem;
    padding: .9rem 1rem;
    color: var(--muted-2);
    background: rgba(140, 200, 255, .045);
}

.assurance-metrics {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .65rem;
    margin: 1rem 0;
}

.assurance-metrics article {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: .82rem;
    background: rgba(255,255,255,.018);
}

.assurance-metrics strong,
.assurance-metrics span {
    display: block;
}

.assurance-metrics strong {
    margin-bottom: .28rem;
    color: var(--primary);
    font-size: clamp(1.25rem, 2.2vw, 1.9rem);
}

.assurance-metrics span {
    color: var(--muted);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.assurance-dimension-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}

.assurance-dimension-card {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: 1rem;
    background: rgba(255,255,255,.015);
}

.assurance-dimension-card > div:first-child {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
    justify-content: space-between;
    margin-bottom: .65rem;
}

.assurance-dimension-card > div:first-child span {
    display: inline-flex;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: .25rem .52rem;
    color: var(--muted-2);
    background: rgba(255,255,255,.025);
    font-size: .67rem;
    font-weight: 850;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.assurance-dimension-card > div:first-child small {
    color: var(--muted);
    font-family: var(--mono);
    font-size: .68rem;
}

.assurance-dimension-card[data-assurance-state="clear"] {
    border-color: rgba(167, 244, 50, .22);
}

.assurance-dimension-card[data-assurance-state="clear"] > div:first-child span {
    border-color: rgba(167, 244, 50, .3);
    color: var(--primary);
    background: rgba(167, 244, 50, .05);
}

.assurance-dimension-card[data-assurance-state="degraded"] > div:first-child span,
.assurance-dimension-card[data-assurance-state="reconcile"] > div:first-child span,
.assurance-dimension-card[data-assurance-state="unknown"] > div:first-child span {
    border-color: rgba(255, 180, 84, .3);
    color: var(--warning);
    background: rgba(255, 180, 84, .05);
}

.assurance-dimension-card[data-assurance-state="hold"] > div:first-child span,
.assurance-dimension-card[data-assurance-state="quarantine"] > div:first-child span {
    border-color: rgba(255, 111, 97, .32);
    color: var(--danger);
    background: rgba(255, 111, 97, .055);
}

.assurance-dimension-card h3 {
    margin-bottom: .4rem;
}

.assurance-dimension-card > p {
    color: var(--muted-2);
    font-size: .82rem;
}

.assurance-dimension-card dl {
    display: grid;
    gap: .55rem;
    margin-top: .75rem;
}

.assurance-dimension-card dl div {
    display: grid;
    grid-template-columns: minmax(7.5rem, .34fr) minmax(0, 1fr);
    gap: .65rem;
    border-top: 1px solid var(--line);
    padding-top: .55rem;
}

.assurance-dimension-card dt {
    color: var(--muted);
    font-size: .7rem;
    font-weight: 850;
    text-transform: uppercase;
}

.assurance-dimension-card dd {
    margin: 0;
    color: var(--text);
    font-size: .8rem;
}

.assurance-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
    margin-top: 1rem;
}

.assurance-action-grid section {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: .95rem;
    background: rgba(255,255,255,.015);
}

.assurance-action-grid h3 {
    margin-bottom: .55rem;
}

.assurance-action-grid ul {
    display: grid;
    gap: .5rem;
    margin: 0;
    padding-left: 1.05rem;
    color: var(--muted-2);
}

.assurance-result-actions {
    margin-top: 1rem;
    justify-content: flex-start;
}

.assurance-result-actions > span {
    flex: 1 1 13rem;
    color: var(--muted);
    font-size: .8rem;
}

.assurance-fault-table th small,
[data-assurance-layer-ledger] th small,
[data-assurance-node-ledger] th small {
    display: block;
    margin-top: .25rem;
    color: var(--muted);
    font-family: var(--mono);
    font-size: .67rem;
    font-weight: 500;
}

.assurance-impact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1rem, 2.5vw, 1.5rem);
}

.assurance-impact-grid > article {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: clamp(1rem, 2.3vw, 1.4rem);
    background: var(--surface);
}

.assurance-principles .danger-callout {
    margin-top: 1rem;
}

.assurance-panel {
    background:
        radial-gradient(circle at 85% 5%, rgba(255, 111, 97, .13), transparent 33%),
        linear-gradient(145deg, rgba(140, 200, 255, .035), rgba(255,255,255,.018));
}

@media (max-width: 1180px) {
    .assurance-workbench {
        grid-template-columns: 1fr;
    }

    .assurance-controls {
        position: static;
    }

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

@media (max-width: 820px) {
    .assurance-boundary,
    .assurance-dimension-grid,
    .assurance-action-grid,
    .assurance-impact-grid {
        grid-template-columns: 1fr;
    }

    .assurance-boundary {
        padding: 1rem;
    }
}

@media (max-width: 560px) {
    .assurance-controls,
    .assurance-results,
    .assurance-dimension-card,
    .assurance-impact-grid > article {
        border-radius: var(--radius-md);
        padding: .85rem;
    }

    .assurance-controls-head,
    .assurance-results-head,
    .assurance-control-actions,
    .assurance-result-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .assurance-control-actions .button,
    .assurance-result-actions .button {
        width: 100%;
    }

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

    .assurance-scenario-card dl div,
    .assurance-dimension-card dl div {
        grid-template-columns: 1fr;
        gap: .25rem;
    }
}

@media (max-width: 300px) {
    .assurance-metrics {
        grid-template-columns: 1fr;
    }

    .assurance-dimension-strip li {
        min-width: 9rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .assurance-dimension-strip li,
    .assurance-dimension-card,
    .assurance-result-badge {
        scroll-behavior: auto;
        transition: none;
    }
}

@media print {
    .assurance-lab-page .utility-bar,
    .assurance-lab-page .site-header,
    .assurance-lab-page .site-footer,
    .assurance-controls,
    .assurance-control-actions,
    .assurance-result-actions {
        display: none !important;
    }

    .assurance-workbench,
    .assurance-boundary,
    .assurance-dimension-grid,
    .assurance-action-grid,
    .assurance-impact-grid {
        display: block;
    }

    .assurance-results,
    .assurance-boundary,
    .assurance-dimension-card,
    .assurance-action-grid section,
    .assurance-impact-grid > article {
        break-inside: avoid;
        box-shadow: none;
        margin-bottom: 1rem;
    }

    .assurance-dimension-strip {
        display: block;
        overflow: visible;
    }

    .assurance-dimension-strip li {
        margin-bottom: .5rem;
    }
}

/* Autonomy Assurance and Failure-Injection Lab */
.autonomy-assurance-page .page-intro {
    background:
        radial-gradient(circle at 82% 12%, rgba(255, 180, 84, .12), transparent 22rem),
        radial-gradient(circle at 16% 80%, rgba(57, 217, 200, .1), transparent 24rem);
}

.assurance-boundary,
.assurance-dimensions,
.assurance-workbench,
.assurance-method {
    margin-block: clamp(2rem, 5vw, 4.5rem);
}

.assurance-boundary {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(18rem, .6fr);
    gap: clamp(1rem, 4vw, 3rem);
    padding: clamp(1.1rem, 3vw, 2rem);
    border: 1px solid rgba(255, 180, 84, .28);
    border-radius: var(--radius-lg);
    background:
        linear-gradient(135deg, rgba(255, 180, 84, .07), transparent 46%),
        var(--surface);
}

.assurance-boundary h2 {
    max-width: 26ch;
}

.assurance-dimension-flow {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(14rem, 1fr);
    gap: .75rem;
    padding: .25rem 0 .65rem;
    overflow-x: auto;
    list-style: none;
    scrollbar-gutter: stable;
}

.assurance-dimension-flow li {
    display: grid;
    grid-template-columns: 2.2rem 1fr;
    gap: .7rem;
    align-items: start;
    min-height: 8.5rem;
    padding: .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: rgba(13, 28, 24, .85);
}

.assurance-dimension-flow li > span {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border: 1px solid rgba(255, 180, 84, .38);
    border-radius: 50%;
    color: var(--warning);
    font-weight: 900;
}

.assurance-dimension-flow strong,
.assurance-dimension-flow small {
    display: block;
}

.assurance-dimension-flow strong {
    margin-bottom: .4rem;
}

.assurance-dimension-flow small {
    color: var(--muted);
    line-height: 1.45;
}

.assurance-workbench {
    display: grid;
    grid-template-columns: minmax(20rem, .78fr) minmax(0, 1.22fr);
    gap: 1rem;
    align-items: start;
}

.assurance-controls,
.assurance-results {
    min-width: 0;
    padding: clamp(1rem, 2.6vw, 1.6rem);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow);
}

.assurance-controls {
    position: sticky;
    top: calc(var(--header-height, 5rem) + 1rem);
}

.assurance-controls-head,
.assurance-results-head,
.assurance-control-actions,
.assurance-result-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.assurance-controls h2,
.assurance-results h2 {
    margin-bottom: 0;
}

.assurance-controls > label {
    display: grid;
    gap: .45rem;
    margin-block: 1rem;
    color: var(--text);
    font-weight: 800;
}

.assurance-controls select {
    width: 100%;
}

.assurance-scenario-card {
    padding: 1rem;
    border: 1px solid rgba(57, 217, 200, .22);
    border-radius: var(--radius-md);
    background: rgba(57, 217, 200, .045);
}

.assurance-scenario-card h3 {
    margin-bottom: .55rem;
}

.assurance-scenario-card > p:not(.brief-label) {
    color: var(--muted);
}

.assurance-scenario-card dl,
.assurance-fault-card dl {
    display: grid;
    gap: .45rem;
    margin-top: .8rem;
}

.assurance-scenario-card dl div,
.assurance-fault-card dl div {
    display: grid;
    grid-template-columns: minmax(8rem, .4fr) minmax(0, 1fr);
    gap: .75rem;
    padding-top: .45rem;
    border-top: 1px solid var(--line);
}

.assurance-scenario-card dt,
.assurance-fault-card dt {
    color: var(--muted);
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.assurance-scenario-card dd,
.assurance-fault-card dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.assurance-fault-fieldset {
    min-width: 0;
    margin-block: 1rem;
    padding: .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
}

.assurance-fault-fieldset legend {
    padding-inline: .35rem;
    font-weight: 900;
}

.assurance-fault-fieldset > p {
    margin-top: 0;
    color: var(--muted);
    font-size: .88rem;
}

.assurance-fault-options {
    display: grid;
    gap: .55rem;
    max-height: 32rem;
    padding-right: .25rem;
    overflow-y: auto;
}

.assurance-fault-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .65rem;
    align-items: start;
    padding: .7rem;
    border: 1px solid var(--line);
    border-radius: .8rem;
    background: rgba(7, 17, 14, .48);
    cursor: pointer;
}

.assurance-fault-option:hover,
.assurance-fault-option:focus-within {
    border-color: rgba(167, 244, 50, .42);
    background: rgba(167, 244, 50, .045);
}

.assurance-fault-option input {
    margin-top: .25rem;
}

.assurance-fault-option strong,
.assurance-fault-option small {
    display: block;
}

.assurance-fault-option strong {
    margin-bottom: .3rem;
}

.assurance-fault-option small {
    color: var(--muted);
    line-height: 1.45;
}

.assurance-control-actions,
.assurance-result-actions {
    flex-wrap: wrap;
    margin-top: 1rem;
}

.assurance-results {
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 180, 84, .08), transparent 20rem),
        var(--surface);
}

.assurance-summary {
    max-width: 72ch;
    color: var(--muted);
    font-size: 1.02rem;
}

.assurance-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
    margin-block: 1rem;
}

.assurance-metrics article {
    display: grid;
    gap: .25rem;
    min-width: 0;
    padding: .8rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: rgba(7, 17, 14, .45);
}

.assurance-metrics strong {
    color: var(--primary);
    font-size: clamp(1.45rem, 3vw, 2.1rem);
}

.assurance-metrics span {
    color: var(--muted);
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.assurance-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.assurance-action-grid section {
    min-width: 0;
    padding: .85rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: rgba(7, 17, 14, .38);
}

.assurance-action-grid h3 {
    margin-bottom: .45rem;
    font-size: 1rem;
}

.assurance-action-grid ul,
.assurance-dimension-table ul {
    margin: 0;
    padding-left: 1.05rem;
}

.assurance-action-grid li,
.assurance-dimension-table li {
    margin-block: .3rem;
    color: var(--muted);
}

.assurance-score-boundary {
    margin-top: 1rem;
    padding: .85rem 1rem;
    border: 1px solid rgba(255, 111, 97, .28);
    border-radius: var(--radius-md);
    background: rgba(255, 111, 97, .055);
}

.assurance-score-boundary strong {
    color: var(--danger);
}

.assurance-score-boundary p {
    margin: .35rem 0 0;
    color: var(--muted);
}

.assurance-result-actions > span {
    flex: 1 1 16rem;
    color: var(--muted);
    font-size: .85rem;
}

.assurance-state {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: .25rem .55rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted);
    background: rgba(140, 200, 255, .05);
    font-size: .75rem;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
}

.assurance-state[data-state="pass"],
.assurance-layer-card[data-state="pass"] > span {
    border-color: rgba(167, 244, 50, .35);
    color: var(--primary);
    background: rgba(167, 244, 50, .07);
}

.assurance-state[data-state="degraded"],
.assurance-layer-card[data-state="degraded"] > span,
.assurance-state[data-state="unknown"],
.assurance-layer-card[data-state="unknown"] > span {
    border-color: rgba(255, 180, 84, .36);
    color: var(--warning);
    background: rgba(255, 180, 84, .07);
}

.assurance-state[data-state="reconcile"],
.assurance-layer-card[data-state="reconcile"] > span {
    border-color: rgba(140, 200, 255, .38);
    color: var(--blue);
    background: rgba(140, 200, 255, .07);
}

.assurance-state[data-state="hold"],
.assurance-layer-card[data-state="hold"] > span,
.assurance-state[data-state="quarantine"],
.assurance-layer-card[data-state="quarantine"] > span {
    border-color: rgba(255, 111, 97, .42);
    color: var(--danger);
    background: rgba(255, 111, 97, .075);
}

.assurance-dimension-table {
    min-width: 78rem;
}

.assurance-dimension-table th:first-child {
    width: 16rem;
}

.assurance-dimension-table th small,
[data-assurance-nodes] th small {
    display: block;
    margin-top: .35rem;
    color: var(--muted);
    font-weight: 500;
    line-height: 1.35;
}

.assurance-fault-grid,
.assurance-layer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
}

.assurance-fault-card,
.assurance-layer-card {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: var(--surface);
}

.assurance-fault-card > span,
.assurance-layer-card > span {
    display: inline-flex;
    margin-bottom: .55rem;
    padding: .22rem .5rem;
    border: 1px solid rgba(140, 200, 255, .28);
    border-radius: 999px;
    color: var(--blue);
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.assurance-fault-card p,
.assurance-layer-card p {
    color: var(--muted);
}

.assurance-method .process-list {
    margin-top: 1rem;
}

.assurance-method .callout {
    margin-top: 1rem;
}

.assurance-panel {
    background:
        radial-gradient(circle at 90% 0%, rgba(255, 180, 84, .13), transparent 16rem),
        linear-gradient(145deg, rgba(17, 36, 30, .96), rgba(7, 17, 14, .94));
}

@media (max-width: 1120px) {
    .assurance-workbench {
        grid-template-columns: 1fr;
    }

    .assurance-controls {
        position: static;
    }
}

@media (max-width: 880px) {
    .assurance-boundary,
    .assurance-action-grid,
    .assurance-fault-grid,
    .assurance-layer-grid {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 560px) {
    .assurance-boundary,
    .assurance-controls,
    .assurance-results,
    .assurance-fault-card,
    .assurance-layer-card {
        padding: .85rem;
        border-radius: var(--radius-md);
    }

    .assurance-controls-head,
    .assurance-results-head,
    .assurance-control-actions,
    .assurance-result-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .assurance-control-actions .button,
    .assurance-result-actions .button {
        width: 100%;
    }

    .assurance-metrics {
        grid-template-columns: 1fr;
    }

    .assurance-scenario-card dl div,
    .assurance-fault-card dl div {
        grid-template-columns: 1fr;
        gap: .25rem;
    }

    .assurance-fault-options {
        max-height: none;
    }
}

@media (max-width: 300px) {
    .assurance-dimension-flow li {
        min-width: 11rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .assurance-fault-option,
    .assurance-state,
    .assurance-layer-card {
        transition: none;
    }
}

@media print {
    .autonomy-assurance-page .utility-bar,
    .autonomy-assurance-page .site-header,
    .autonomy-assurance-page .site-footer,
    .assurance-controls,
    .assurance-control-actions,
    .assurance-result-actions {
        display: none !important;
    }

    .assurance-workbench,
    .assurance-boundary,
    .assurance-fault-grid,
    .assurance-layer-grid {
        display: block;
    }

    .assurance-results,
    .assurance-boundary,
    .assurance-fault-card,
    .assurance-layer-card {
        break-inside: avoid;
        margin-bottom: 1rem;
        box-shadow: none;
    }

    .assurance-dimension-flow {
        display: block;
        overflow: visible;
    }

    .assurance-dimension-flow li {
        margin-bottom: .5rem;
    }

    .assurance-dimension-table {
        min-width: 0;
        font-size: .75rem;
    }
}

/* Autonomy Assurance Case and Evidence Traceability Lab */
.assurance-case-page .page-intro {
    background:
        radial-gradient(circle at 84% 10%, rgba(140, 200, 255, .14), transparent 22rem),
        radial-gradient(circle at 10% 88%, rgba(167, 244, 50, .09), transparent 24rem);
}

.assurance-case-boundary,
.assurance-case-elements,
.assurance-case-workbench,
.assurance-case-method,
.assurance-case-two-column {
    margin-block: clamp(2rem, 5vw, 4.5rem);
}

.assurance-case-boundary {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(18rem, .6fr);
    gap: clamp(1rem, 4vw, 3rem);
    padding: clamp(1.1rem, 3vw, 2rem);
    border: 1px solid rgba(140, 200, 255, .28);
    border-radius: var(--radius-lg);
    background:
        linear-gradient(135deg, rgba(140, 200, 255, .07), transparent 46%),
        var(--surface);
}

.assurance-case-boundary h2 {
    max-width: 31ch;
}

.assurance-case-element-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
}

.assurance-case-element-grid article {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: var(--surface);
}

.assurance-case-element-grid article > span {
    display: inline-grid;
    width: 2.1rem;
    height: 2.1rem;
    margin-bottom: .65rem;
    place-items: center;
    border: 1px solid rgba(140, 200, 255, .34);
    border-radius: 50%;
    color: var(--blue);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: .78rem;
    font-weight: 900;
}

.assurance-case-element-grid h3 {
    margin-bottom: .45rem;
}

.assurance-case-element-grid p {
    margin: 0;
    color: var(--muted);
}

.assurance-case-workbench {
    display: grid;
    grid-template-columns: minmax(20rem, .78fr) minmax(0, 1.22fr);
    gap: 1rem;
    align-items: start;
}

.assurance-case-controls,
.assurance-case-results {
    min-width: 0;
    padding: clamp(1rem, 2.6vw, 1.6rem);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow);
}

.assurance-case-controls {
    position: sticky;
    top: calc(var(--header-height, 5rem) + 1rem);
}

.assurance-case-controls-head,
.assurance-case-results-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.assurance-case-controls h2,
.assurance-case-results h2 {
    margin-bottom: 0;
}

.assurance-case-controls > label {
    display: grid;
    gap: .45rem;
    margin-block: 1rem;
    color: var(--text);
    font-weight: 800;
}

.assurance-case-controls select {
    width: 100%;
}

.assurance-case-scenario-card {
    padding: 1rem;
    border: 1px solid rgba(57, 217, 200, .22);
    border-radius: var(--radius-md);
    background: rgba(57, 217, 200, .045);
}

.assurance-case-scenario-card h3 {
    margin-bottom: .55rem;
}

.assurance-case-scenario-card > p:not(.brief-label) {
    color: var(--muted);
}

.assurance-case-scenario-card dl {
    display: grid;
    gap: .45rem;
    margin-top: .8rem;
}

.assurance-case-scenario-card dl div {
    display: grid;
    grid-template-columns: minmax(8rem, .35fr) minmax(0, 1fr);
    gap: .75rem;
    padding-top: .45rem;
    border-top: 1px solid var(--line);
}

.assurance-case-scenario-card dt {
    color: var(--muted);
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.assurance-case-scenario-card dd {
    margin: 0;
}

.assurance-case-change-fieldset {
    min-width: 0;
    margin-block: 1rem;
    padding: .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
}

.assurance-case-change-fieldset legend {
    padding-inline: .35rem;
    font-weight: 900;
}

.assurance-case-change-fieldset > p {
    margin-top: 0;
    color: var(--muted);
    font-size: .88rem;
}

.assurance-case-change-options {
    display: grid;
    gap: .55rem;
    max-height: 34rem;
    padding-right: .25rem;
    overflow-y: auto;
}

.assurance-case-change-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .65rem;
    align-items: start;
    padding: .7rem;
    border: 1px solid var(--line);
    border-radius: .8rem;
    background: rgba(7, 17, 14, .48);
    cursor: pointer;
}

.assurance-case-change-option:hover,
.assurance-case-change-option:focus-within {
    border-color: rgba(140, 200, 255, .46);
    background: rgba(140, 200, 255, .05);
}

.assurance-case-change-option input {
    margin-top: .25rem;
}

.assurance-case-change-option strong,
.assurance-case-change-option small {
    display: block;
}

.assurance-case-change-option strong {
    margin-bottom: .3rem;
}

.assurance-case-change-option small {
    color: var(--muted);
    line-height: 1.45;
}

.assurance-case-results {
    background:
        radial-gradient(circle at 100% 0%, rgba(140, 200, 255, .08), transparent 20rem),
        var(--surface);
}

.assurance-case-summary {
    max-width: 74ch;
    color: var(--muted);
    font-size: 1.02rem;
}

.assurance-case-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .55rem;
    margin-block: 1rem;
}

.assurance-case-metrics article {
    display: grid;
    gap: .25rem;
    min-width: 0;
    padding: .75rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: rgba(7, 17, 14, .45);
}

.assurance-case-metrics strong {
    color: var(--primary);
    font-size: clamp(1.35rem, 2.8vw, 2rem);
}

.assurance-case-metrics span {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.assurance-case-impact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.assurance-case-impact-grid section {
    min-width: 0;
    padding: .85rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: rgba(7, 17, 14, .38);
}

.assurance-case-impact-grid section:last-child {
    grid-column: 1 / -1;
}

.assurance-case-impact-grid h3 {
    margin-bottom: .45rem;
    font-size: 1rem;
}

.assurance-case-impact-grid ul {
    margin: 0;
    padding-left: 1.05rem;
}

.assurance-case-impact-grid li {
    margin-block: .3rem;
    color: var(--muted);
}

.assurance-case-score-boundary {
    margin-top: 1rem;
    padding: .85rem 1rem;
    border: 1px solid rgba(255, 111, 97, .3);
    border-radius: var(--radius-md);
    background: rgba(255, 111, 97, .055);
}

.assurance-case-score-boundary strong {
    color: var(--danger);
}

.assurance-case-score-boundary p {
    margin: .35rem 0 0;
    color: var(--muted);
}

.assurance-claim-tree {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}

.assurance-claim-card {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: var(--surface);
}

.assurance-claim-card[data-claim-type="top-level"] {
    grid-column: 1 / -1;
    border-color: rgba(167, 244, 50, .3);
    background:
        linear-gradient(135deg, rgba(167, 244, 50, .055), transparent 48%),
        var(--surface);
}

.assurance-claim-card > header,
.assurance-case-record-stack article > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
    margin-bottom: .7rem;
}

.assurance-claim-state,
.assurance-evidence-state,
.assurance-case-record-stack article > header span {
    display: inline-flex;
    max-width: 100%;
    padding: .25rem .55rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted);
    background: rgba(140, 200, 255, .05);
    font-size: .72rem;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.assurance-claim-state[data-state="supported"],
.assurance-evidence-state[data-state="current"],
.assurance-claim-card[data-state="supported"] > header span {
    border-color: rgba(167, 244, 50, .35);
    color: var(--primary);
    background: rgba(167, 244, 50, .07);
}

.assurance-claim-state[data-state="qualified"],
.assurance-claim-state[data-state="unresolved"],
.assurance-claim-card[data-state="qualified"] > header span,
.assurance-claim-card[data-state="unresolved"] > header span {
    border-color: rgba(255, 180, 84, .36);
    color: var(--warning);
    background: rgba(255, 180, 84, .07);
}

.assurance-claim-state[data-state="suspended"],
.assurance-claim-state[data-state="withdrawn"],
.assurance-evidence-state[data-state="invalidated"],
.assurance-claim-card[data-state="suspended"] > header span,
.assurance-claim-card[data-state="withdrawn"] > header span {
    border-color: rgba(255, 111, 97, .42);
    color: var(--danger);
    background: rgba(255, 111, 97, .075);
}

.assurance-claim-card h3 {
    margin-bottom: .5rem;
}

.assurance-claim-card > p {
    color: var(--muted);
}

.assurance-claim-card dl {
    display: grid;
    gap: .45rem;
    margin-block: .8rem;
}

.assurance-claim-card dl div {
    display: grid;
    grid-template-columns: minmax(7rem, .28fr) minmax(0, 1fr);
    gap: .7rem;
    padding-top: .4rem;
    border-top: 1px solid var(--line);
}

.assurance-claim-card dt {
    color: var(--muted);
    font-size: .75rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.assurance-claim-card dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.assurance-claim-card h4 {
    margin-bottom: .35rem;
    font-size: .9rem;
}

.assurance-claim-card ul {
    margin: 0;
    padding-left: 1.1rem;
}

.trace-id-list {
    display: inline-flex;
    flex-wrap: wrap;
    gap: .28rem;
    max-width: 100%;
}

.trace-id-list code {
    white-space: nowrap;
}

.assurance-case-evidence-table {
    min-width: 86rem;
}

.assurance-case-evidence-table th:first-child {
    width: 19rem;
}

.assurance-case-evidence-table th strong,
.assurance-case-evidence-table th small,
.assurance-case-evidence-table td small {
    display: block;
}

.assurance-case-evidence-table th strong {
    margin-block: .35rem;
}

.assurance-case-evidence-table th small,
.assurance-case-evidence-table td small {
    margin-top: .35rem;
    color: var(--muted);
    font-weight: 500;
    line-height: 1.35;
}

.assurance-case-column-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.assurance-case-column-grid > section {
    min-width: 0;
}

.assurance-case-record-stack {
    display: grid;
    gap: .7rem;
}

.assurance-case-record-stack article {
    min-width: 0;
    padding: .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: var(--surface);
}

.assurance-case-record-stack article[data-state="invalidated"],
.assurance-case-record-stack article[data-state="suspended"],
.assurance-case-record-stack article[data-state="withdrawn"],
.assurance-case-record-stack article[data-state="retest-required"] {
    border-color: rgba(255, 111, 97, .3);
    background:
        linear-gradient(135deg, rgba(255, 111, 97, .045), transparent 60%),
        var(--surface);
}

.assurance-case-record-stack h4 {
    margin-bottom: .4rem;
}

.assurance-case-record-stack p {
    margin-bottom: .4rem;
    color: var(--muted);
}

.assurance-case-record-stack small {
    display: block;
    color: var(--muted);
    overflow-wrap: anywhere;
}

.assurance-review-role-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.assurance-review-role-grid article {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: var(--surface);
}

.assurance-review-role-grid h3 {
    margin-block: .65rem .4rem;
}

.assurance-review-role-grid p {
    margin: 0;
    color: var(--muted);
}

.assurance-case-method .process-list {
    margin-top: 1rem;
}

.assurance-case-method .callout {
    margin-top: 1rem;
}

.assurance-case-panel {
    background:
        radial-gradient(circle at 90% 0%, rgba(140, 200, 255, .13), transparent 16rem),
        linear-gradient(145deg, rgba(17, 36, 30, .96), rgba(7, 17, 14, .94));
}

@media (max-width: 1180px) {
    .assurance-case-workbench {
        grid-template-columns: 1fr;
    }

    .assurance-case-controls {
        position: static;
    }

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

@media (max-width: 900px) {
    .assurance-case-boundary,
    .assurance-case-column-grid,
    .assurance-claim-tree {
        grid-template-columns: 1fr;
    }

    .assurance-claim-card[data-claim-type="top-level"] {
        grid-column: auto;
    }

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

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

@media (max-width: 600px) {
    .assurance-case-boundary,
    .assurance-case-controls,
    .assurance-case-results,
    .assurance-claim-card,
    .assurance-case-record-stack article,
    .assurance-review-role-grid article {
        padding: .85rem;
        border-radius: var(--radius-md);
    }

    .assurance-case-controls-head,
    .assurance-case-results-head {
        align-items: stretch;
        flex-direction: column;
    }

    .assurance-case-element-grid,
    .assurance-case-impact-grid,
    .assurance-review-role-grid {
        grid-template-columns: 1fr;
    }

    .assurance-case-impact-grid section:last-child {
        grid-column: auto;
    }

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

    .assurance-case-scenario-card dl div,
    .assurance-claim-card dl div {
        grid-template-columns: 1fr;
        gap: .25rem;
    }

    .assurance-case-change-options {
        max-height: none;
    }

    .assurance-control-actions .button,
    .assurance-result-actions .button {
        width: 100%;
    }
}

@media (max-width: 300px) {
    .assurance-case-metrics {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .assurance-case-change-option,
    .assurance-claim-state,
    .assurance-evidence-state,
    .assurance-claim-card,
    .assurance-case-record-stack article {
        transition: none;
    }
}

@media print {
    .assurance-case-page .utility-bar,
    .assurance-case-page .site-header,
    .assurance-case-page .site-footer,
    .assurance-case-controls,
    .assurance-control-actions,
    .assurance-result-actions {
        display: none !important;
    }

    .assurance-case-workbench,
    .assurance-case-boundary,
    .assurance-case-element-grid,
    .assurance-claim-tree,
    .assurance-case-column-grid,
    .assurance-review-role-grid {
        display: block;
    }

    .assurance-case-results,
    .assurance-case-boundary,
    .assurance-case-element-grid article,
    .assurance-claim-card,
    .assurance-case-record-stack article,
    .assurance-review-role-grid article {
        break-inside: avoid;
        margin-bottom: 1rem;
        box-shadow: none;
    }

    .assurance-case-evidence-table {
        min-width: 0;
        font-size: .68rem;
    }
}

/* Machine Leadership Observatory — v1.7.0 */
.machine-leadership-page {
    --leadership-accent: #d7ff66;
    --leadership-violet: #bca9ff;
    --leadership-cyan: #6ce7dc;
}

.leadership-thesis,
.research-intake-boundary,
.leadership-killweb-connection {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr);
    gap: clamp(1.25rem, 3vw, 3rem);
    align-items: start;
    margin-block: clamp(2rem, 5vw, 5rem);
    padding: clamp(1.15rem, 3vw, 2.25rem);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at 95% 0%, rgba(215, 255, 102, .12), transparent 22rem),
        linear-gradient(145deg, rgba(20, 40, 34, .96), rgba(7, 17, 14, .96));
    box-shadow: var(--shadow-soft);
}

.leadership-thesis h2,
.leadership-killweb-connection h2,
.research-intake-boundary h2 {
    max-width: 24ch;
}

.leadership-thesis p,
.leadership-killweb-connection p,
.research-intake-boundary p {
    color: var(--muted);
}

.leadership-boundary-ledger {
    display: grid;
    gap: .75rem;
    margin: 0;
}

.leadership-boundary-ledger div {
    min-width: 0;
    padding: .9rem 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: rgba(7, 17, 14, .7);
}

.leadership-boundary-ledger dt {
    margin-bottom: .25rem;
    color: var(--leadership-accent);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.leadership-boundary-ledger dd {
    margin: 0;
    color: var(--text);
    line-height: 1.45;
}

.leadership-patterns,
.delegation-ladder-section,
.leadership-accountability,
.faq-section {
    margin-block: clamp(3rem, 7vw, 6rem);
}

.leadership-domain-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.leadership-domain-grid article {
    min-width: 0;
    padding: 1.1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background:
        linear-gradient(145deg, rgba(57, 217, 200, .04), transparent 62%),
        var(--surface);
}

.leadership-domain-grid article:nth-child(2n) {
    background:
        linear-gradient(145deg, rgba(188, 169, 255, .055), transparent 62%),
        var(--surface);
}

.leadership-domain-grid h3 {
    margin-block: .4rem .8rem;
    font-size: clamp(1rem, 1.7vw, 1.22rem);
    line-height: 1.35;
}

.leadership-domain-grid p {
    margin-bottom: .7rem;
    color: var(--muted);
}

.domain-kicker {
    margin: 0;
    color: var(--leadership-accent) !important;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.domain-reports {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    align-items: center;
    margin: .9rem 0 0 !important;
}

.domain-reports span {
    margin-right: .15rem;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.domain-reports a {
    padding: .22rem .42rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--network);
    font-family: var(--mono);
    font-size: .68rem;
    text-decoration: none;
}

.delegation-ladder {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .7rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.delegation-ladder li {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .65rem;
    min-width: 0;
    padding: .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: var(--surface);
    transition: border-color .2s ease, transform .2s ease, background .2s ease;
}

.delegation-ladder li::after {
    position: absolute;
    top: 50%;
    right: -.72rem;
    width: .72rem;
    border-top: 1px dashed rgba(57, 217, 200, .45);
    content: '';
}

.delegation-ladder li:last-child::after {
    display: none;
}

.delegation-ladder li[data-active="true"] {
    border-color: rgba(215, 255, 102, .6);
    background:
        linear-gradient(145deg, rgba(215, 255, 102, .1), transparent 65%),
        var(--surface-elevated);
    transform: translateY(-.2rem);
}

.ladder-level {
    display: grid;
    width: 1.75rem;
    height: 1.75rem;
    place-items: center;
    border: 1px solid rgba(57, 217, 200, .45);
    border-radius: 50%;
    color: var(--network);
    font-family: var(--mono);
    font-size: .76rem;
    font-weight: 800;
}

.delegation-ladder h3 {
    margin: .1rem 0 .45rem;
    font-size: .96rem;
}

.delegation-ladder p {
    margin: 0 0 .45rem;
    color: var(--muted);
    font-size: .82rem;
    line-height: 1.45;
}

.delegation-ladder div > p:first-child {
    color: var(--leadership-accent);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.delegation-ladder small {
    display: block;
    color: var(--text);
    font-size: .72rem;
    line-height: 1.4;
}

.machine-leadership-workbench {
    display: grid;
    grid-template-columns: minmax(19rem, .72fr) minmax(0, 1.28fr);
    gap: 1rem;
    align-items: start;
    margin-block: clamp(3rem, 7vw, 6rem);
}

.machine-leadership-controls,
.machine-leadership-results {
    min-width: 0;
    padding: clamp(1rem, 2.5vw, 1.5rem);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-soft);
}

.machine-leadership-controls {
    position: sticky;
    top: 6.5rem;
}

.machine-leadership-controls-head,
.machine-leadership-results-head {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.machine-leadership-controls label {
    display: grid;
    gap: .38rem;
    min-width: 0;
    color: var(--text);
    font-size: .82rem;
    font-weight: 750;
}

.machine-leadership-controls select {
    width: 100%;
    min-width: 0;
}

.machine-leadership-scenario-card {
    margin-block: 1rem;
    padding: .9rem;
    border: 1px solid rgba(140, 200, 255, .24);
    border-radius: var(--radius-md);
    background: rgba(140, 200, 255, .04);
}

.machine-leadership-scenario-card h3 {
    margin-block: .25rem .5rem;
}

.machine-leadership-scenario-card p,
.machine-leadership-scenario-card dd {
    color: var(--muted);
}

.machine-leadership-scenario-card dl {
    margin-bottom: 0;
}

.machine-leadership-scenario-card dl div {
    display: grid;
    grid-template-columns: 5rem 1fr;
    gap: .6rem;
    padding-top: .6rem;
    border-top: 1px solid var(--line);
}

.machine-leadership-scenario-card dt {
    color: var(--leadership-accent);
    font-weight: 800;
}

.machine-leadership-scenario-card dd {
    margin: 0;
}

.machine-leadership-control-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.machine-leadership-control-grid label:first-child,
.machine-leadership-control-grid label:last-child {
    grid-column: 1 / -1;
}

.machine-leadership-control-actions,
.machine-leadership-result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1rem;
}

.machine-leadership-summary {
    max-width: 76ch;
    color: var(--muted);
    font-size: 1rem;
    line-height: 1.65;
}

.machine-leadership-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    margin-block: 1.1rem;
}

.machine-leadership-facts article {
    min-width: 0;
    padding: .85rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: var(--deep);
}

.machine-leadership-facts strong {
    display: block;
    margin-bottom: .25rem;
    color: var(--leadership-accent);
    font-family: var(--mono);
    font-size: clamp(1.05rem, 2vw, 1.35rem);
    overflow-wrap: anywhere;
}

.machine-leadership-facts span {
    color: var(--muted);
    font-size: .72rem;
    line-height: 1.35;
}

.machine-leadership-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin-block: 1rem;
}

.machine-leadership-result-grid section {
    min-width: 0;
    padding: .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: rgba(7, 17, 14, .5);
}

.machine-leadership-result-grid h3 {
    margin-bottom: .55rem;
    font-size: 1rem;
}

.machine-leadership-result-grid ul {
    margin: 0;
    padding-left: 1.1rem;
}

.machine-leadership-result-grid li {
    margin-bottom: .38rem;
    color: var(--muted);
    line-height: 1.45;
}

.machine-leadership-dimension-table {
    margin-top: 1rem;
}

.machine-leadership-dimension-table table {
    min-width: 52rem;
}

.machine-leadership-dimension-table th:first-child {
    width: 15rem;
}

.machine-leadership-state {
    display: inline-flex;
    max-width: 100%;
    padding: .25rem .5rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: rgba(57, 217, 200, .06);
    color: var(--network);
    font-family: var(--mono);
    font-size: .68rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
    text-transform: uppercase;
}

.machine-leadership-state[data-state="hold"],
.analysis-status[data-state="hold"] {
    border-color: rgba(255, 111, 97, .45);
    background: rgba(255, 111, 97, .1);
    color: var(--danger);
}

.analysis-status[data-state="leadership"] {
    border-color: rgba(188, 169, 255, .5);
    background: rgba(188, 169, 255, .09);
    color: var(--leadership-violet);
}

.analysis-status[data-state="coordinating"],
.analysis-status[data-state="delegated"] {
    border-color: rgba(215, 255, 102, .45);
    background: rgba(215, 255, 102, .08);
    color: var(--leadership-accent);
}

.machine-leadership-score-note {
    margin-top: 1rem;
    padding: .8rem .9rem;
    border-left: .2rem solid var(--warning);
    background: rgba(255, 180, 84, .055);
    color: var(--muted);
    font-size: .82rem;
}

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

.leadership-accountability-grid article {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: var(--surface);
}

.leadership-accountability-grid h3 {
    color: var(--leadership-accent);
}

.leadership-accountability-grid p {
    margin: 0;
    color: var(--muted);
}

.leadership-flow {
    display: grid;
    gap: .55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.leadership-flow li {
    display: grid;
    grid-template-columns: auto minmax(5rem, auto) 1fr;
    gap: .7rem;
    align-items: center;
    padding: .75rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: rgba(7, 17, 14, .6);
}

.leadership-flow span {
    color: var(--network);
    font-family: var(--mono);
}

.leadership-flow small {
    color: var(--muted);
}

.research-intake-boundary {
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 1fr);
}

.research-boundary-list {
    margin: 0;
    padding: 1rem 1rem 1rem 2rem;
    border: 1px solid rgba(255, 180, 84, .25);
    border-radius: var(--radius-md);
    background: rgba(255, 180, 84, .04);
}

.research-boundary-list li {
    margin-bottom: .7rem;
    color: var(--muted);
}

.research-boundary-list li:last-child {
    margin-bottom: 0;
}

@media (max-width: 1240px) {
    .delegation-ladder {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .delegation-ladder li:nth-child(3n)::after,
    .delegation-ladder li:last-child::after {
        display: none;
    }

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

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

@media (max-width: 1060px) {
    .machine-leadership-workbench {
        grid-template-columns: 1fr;
    }

    .machine-leadership-controls {
        position: static;
    }
}

@media (max-width: 820px) {
    .leadership-thesis,
    .research-intake-boundary,
    .leadership-killweb-connection {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 620px) {
    .leadership-domain-grid,
    .delegation-ladder,
    .machine-leadership-control-grid,
    .machine-leadership-result-grid,
    .leadership-accountability-grid {
        grid-template-columns: 1fr;
    }

    .delegation-ladder li::after {
        display: none;
    }

    .machine-leadership-control-grid label:first-child,
    .machine-leadership-control-grid label:last-child {
        grid-column: auto;
    }

    .machine-leadership-controls-head,
    .machine-leadership-results-head {
        flex-direction: column;
        align-items: stretch;
    }

    .machine-leadership-control-actions .button,
    .machine-leadership-result-actions .button {
        width: 100%;
    }

    .leadership-flow li {
        grid-template-columns: auto 1fr;
    }

    .leadership-flow small {
        grid-column: 2;
    }
}

@media (max-width: 300px) {
    .machine-leadership-facts {
        grid-template-columns: 1fr;
    }

    .leadership-thesis,
    .research-intake-boundary,
    .leadership-killweb-connection,
    .machine-leadership-controls,
    .machine-leadership-results,
    .leadership-domain-grid article,
    .delegation-ladder li,
    .leadership-accountability-grid article {
        padding: .78rem;
        border-radius: var(--radius-md);
    }
}

@media (prefers-reduced-motion: reduce) {
    .delegation-ladder li {
        transition: none;
    }
}

@media print {
    .machine-leadership-page .utility-bar,
    .machine-leadership-page .site-header,
    .machine-leadership-page .site-footer,
    .machine-leadership-controls,
    .machine-leadership-control-actions,
    .machine-leadership-result-actions {
        display: none !important;
    }

    .machine-leadership-workbench,
    .leadership-thesis,
    .research-intake-boundary,
    .leadership-killweb-connection,
    .leadership-domain-grid,
    .delegation-ladder,
    .leadership-accountability-grid {
        display: block;
    }

    .machine-leadership-results,
    .leadership-domain-grid article,
    .delegation-ladder li,
    .leadership-accountability-grid article,
    .machine-leadership-result-grid section {
        break-inside: avoid;
        margin-bottom: .8rem;
        box-shadow: none;
    }

    .machine-leadership-dimension-table table {
        min-width: 0;
        font-size: .7rem;
    }
}

/* Machine Leadership Accountability and Contestability Lab — v1.8.0 */
.machine-leadership-accountability-page {
    --accountability-accent: #f3d86a;
    --accountability-cyan: #73e3d7;
    --accountability-violet: #c5b8ff;
}

.accountability-thesis,
.accountability-killweb-boundary {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr);
    gap: clamp(1.25rem, 3vw, 3rem);
    align-items: start;
    margin-block: clamp(2rem, 5vw, 5rem);
    padding: clamp(1.15rem, 3vw, 2.25rem);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background:
        radial-gradient(circle at 96% 0%, rgba(243, 216, 106, .13), transparent 22rem),
        linear-gradient(145deg, rgba(20, 40, 34, .96), rgba(7, 17, 14, .96));
    box-shadow: var(--shadow-soft);
}

.accountability-thesis > *,
.accountability-killweb-boundary > * {
    min-width: 0;
}

.accountability-thesis h2,
.accountability-killweb-boundary h2 {
    max-width: 24ch;
}

.accountability-boundary-ledger,
.accountability-killweb-boundary dl {
    display: grid;
    gap: .75rem;
    margin: 0;
}

.accountability-boundary-ledger div,
.accountability-killweb-boundary dl div {
    min-width: 0;
    padding: .9rem 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(7, 17, 14, .72);
}

.accountability-boundary-ledger dt,
.accountability-killweb-boundary dt {
    margin-bottom: .25rem;
    color: var(--accountability-accent);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.accountability-boundary-ledger dd,
.accountability-killweb-boundary dd {
    margin: 0;
    color: var(--text);
    line-height: 1.45;
}

.contestability-chain-section,
.accountability-distinctions-section,
.accountability-scenarios-section,
.responsibility-map-section {
    margin-block: clamp(3rem, 7vw, 6rem);
}

.contestability-chain {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.contestability-chain li {
    position: relative;
    min-width: 0;
    min-height: 11rem;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: linear-gradient(155deg, rgba(17, 36, 30, .96), rgba(7, 17, 14, .96));
}

.contestability-chain li::after {
    content: "";
    position: absolute;
    top: 1.4rem;
    right: -.72rem;
    width: .64rem;
    height: 1px;
    background: var(--accountability-accent);
    opacity: .58;
}

.contestability-chain li:nth-child(4n)::after,
.contestability-chain li:last-child::after {
    display: none;
}

.contestability-chain span {
    display: block;
    margin-bottom: 1.2rem;
    color: var(--accountability-accent);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-weight: 800;
}

.contestability-chain strong,
.contestability-chain small {
    display: block;
}

.contestability-chain strong {
    margin-bottom: .45rem;
    color: var(--text);
}

.contestability-chain small {
    color: var(--muted);
    line-height: 1.5;
}

.accountability-distinction-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.accountability-distinction-grid article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: .75rem;
    align-items: center;
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(13, 28, 24, .82);
}

.accountability-distinction-grid p,
.accountability-distinction-grid h3,
.accountability-distinction-grid small {
    margin: 0;
}

.accountability-distinction-grid p {
    color: var(--muted-2);
    font-weight: 700;
}

.accountability-distinction-grid span {
    color: var(--danger);
    font-size: 1.35rem;
    font-weight: 900;
}

.accountability-distinction-grid h3 {
    color: var(--accountability-accent);
    font-size: 1rem;
}

.accountability-distinction-grid small {
    grid-column: 1 / -1;
    padding-top: .65rem;
    border-top: 1px solid var(--line);
    color: var(--muted);
    line-height: 1.5;
}

.accountability-scenario-grid,
.responsibility-map-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.accountability-scenario-grid article,
.responsibility-map-grid article {
    min-width: 0;
    padding: 1.05rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: linear-gradient(145deg, rgba(17, 36, 30, .92), rgba(7, 17, 14, .94));
}

.accountability-scenario-grid h3,
.responsibility-map-grid h3 {
    color: var(--text);
}

.accountability-scenario-grid small {
    display: block;
    padding-top: .7rem;
    border-top: 1px solid var(--line);
    color: var(--accountability-cyan);
    line-height: 1.5;
}

.responsibility-map-grid ul {
    margin: 0;
    padding-left: 1.15rem;
}

.machine-accountability-workbench {
    display: grid;
    grid-template-columns: minmax(20rem, .92fr) minmax(0, 1.08fr);
    gap: 1rem;
    align-items: start;
    margin-block: clamp(3rem, 7vw, 6rem);
}

.machine-accountability-controls,
.machine-accountability-results {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: linear-gradient(155deg, rgba(13, 28, 24, .98), rgba(7, 17, 14, .98));
    box-shadow: var(--shadow-soft);
}

.machine-accountability-controls {
    padding: clamp(1rem, 2.5vw, 1.5rem);
}

.machine-accountability-results {
    position: sticky;
    top: calc(var(--header-height) + var(--utility-height) + 1rem);
    padding: clamp(1rem, 2.5vw, 1.6rem);
}

.machine-accountability-controls-head,
.machine-accountability-results-head {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.machine-accountability-controls-head h2,
.machine-accountability-results-head h2 {
    margin-bottom: 0;
}

.machine-accountability-controls > label,
.machine-accountability-control-grid label {
    display: grid;
    gap: .35rem;
    min-width: 0;
    color: var(--muted-2);
    font-weight: 750;
}

.machine-accountability-controls select {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: .65rem;
    padding: .72rem .8rem;
    color: var(--text);
    background: var(--bg-deep);
}

.machine-accountability-controls fieldset {
    min-width: 0;
    margin: 1rem 0 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: .85rem;
}

.machine-accountability-controls legend {
    max-width: 100%;
    padding: 0 .4rem;
    color: var(--accountability-accent);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.machine-accountability-control-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.machine-accountability-control-grid.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.machine-accountability-scenario-card {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-sm);
    background: rgba(3, 8, 6, .48);
}

.machine-accountability-scenario-card h3 {
    margin-bottom: .5rem;
}

.machine-accountability-scenario-card dl {
    display: grid;
    gap: .6rem;
    margin: .85rem 0 0;
}

.machine-accountability-scenario-card dl div {
    min-width: 0;
    padding-top: .6rem;
    border-top: 1px solid var(--line);
}

.machine-accountability-scenario-card dt {
    color: var(--accountability-accent);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.machine-accountability-scenario-card dd {
    margin: .2rem 0 0;
    color: var(--muted-2);
}

.machine-accountability-control-actions,
.machine-accountability-result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 1rem;
}

.machine-accountability-summary {
    padding: .9rem 1rem;
    border-left: 3px solid var(--accountability-accent);
    color: var(--muted-2);
    background: rgba(243, 216, 106, .06);
}

.machine-accountability-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
    margin-block: 1rem;
}

.machine-accountability-facts article {
    min-width: 0;
    padding: .8rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(3, 8, 6, .45);
}

.machine-accountability-facts strong,
.machine-accountability-facts span {
    display: block;
}

.machine-accountability-facts strong {
    color: var(--accountability-accent);
    font-size: 1.2rem;
}

.machine-accountability-facts span {
    color: var(--muted);
    font-size: .78rem;
    line-height: 1.35;
}

.machine-accountability-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.machine-accountability-result-grid section {
    min-width: 0;
    padding: .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(3, 8, 6, .4);
}

.machine-accountability-result-grid h3 {
    margin-bottom: .65rem;
    color: var(--text);
    font-size: 1rem;
}

.machine-accountability-result-grid ul {
    margin: 0;
    padding-left: 1.1rem;
}

.machine-accountability-result-grid li {
    margin-block: .35rem;
    font-size: .9rem;
}

.machine-accountability-dimension-table {
    margin-top: 1rem;
}

.machine-accountability-dimension-table table {
    min-width: 48rem;
}

.machine-accountability-dimension-table th:first-child {
    width: 22%;
}

.machine-accountability-state {
    display: inline-block;
    max-width: 14rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: .25rem .55rem;
    color: var(--muted-2);
    background: rgba(140, 200, 255, .06);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: .72rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.machine-accountability-state[data-state="capable"],
.machine-accountability-state[data-state="available"],
.machine-accountability-state[data-state="effective"],
.machine-accountability-state[data-state="practical"],
.machine-accountability-state[data-state="complete"],
.machine-accountability-state[data-state="bounded"],
.machine-accountability-state[data-state="provenance-linked"],
.machine-accountability-state[data-state="inspectable"],
.machine-accountability-state[data-state="institution-approved"],
.machine-accountability-state[data-state="deployer-owned"] {
    border-color: rgba(131, 238, 157, .38);
    color: var(--success);
    background: rgba(131, 238, 157, .08);
}

.machine-accountability-state[data-state="absent"],
.machine-accountability-state[data-state="none"],
.machine-accountability-state[data-state="unavailable"],
.machine-accountability-state[data-state="machine-executed"],
.machine-accountability-state[data-state="vendor-shifted"],
.machine-accountability-state[data-state="high"] {
    border-color: rgba(255, 111, 97, .4);
    color: var(--danger);
    background: rgba(255, 111, 97, .08);
}

.machine-accountability-state[data-state="limited"],
.machine-accountability-state[data-state="partial"],
.machine-accountability-state[data-state="nominal"],
.machine-accountability-state[data-state="delayed"],
.machine-accountability-state[data-state="generated-rationale"],
.machine-accountability-state[data-state="vendor-controlled"],
.machine-accountability-state[data-state="material"] {
    border-color: rgba(255, 180, 84, .42);
    color: var(--warning);
    background: rgba(255, 180, 84, .08);
}

.machine-accountability-score-note {
    margin: 1rem 0 0;
    padding: .8rem .9rem;
    border: 1px dashed var(--line-strong);
    border-radius: var(--radius-sm);
    color: var(--muted-2);
    background: rgba(167, 244, 50, .04);
}

.analysis-status[data-state="bounded"] {
    border-color: rgba(131, 238, 157, .45);
    color: var(--success);
}

.analysis-status[data-state="review"],
.analysis-status[data-state="incomplete"] {
    border-color: rgba(255, 180, 84, .48);
    color: var(--warning);
}

.analysis-status[data-state="hold"] {
    border-color: rgba(255, 111, 97, .5);
    color: var(--danger);
}

@media (max-width: 1120px) {
    .machine-accountability-workbench {
        grid-template-columns: 1fr;
    }

    .machine-accountability-results {
        position: static;
    }

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

    .contestability-chain li:nth-child(4n)::after {
        display: block;
    }

    .contestability-chain li:nth-child(2n)::after,
    .contestability-chain li:last-child::after {
        display: none;
    }
}

@media (max-width: 860px) {
    .accountability-thesis,
    .accountability-killweb-boundary {
        grid-template-columns: 1fr;
    }

    .accountability-scenario-grid,
    .responsibility-map-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .accountability-distinction-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .contestability-chain,
    .accountability-scenario-grid,
    .responsibility-map-grid,
    .machine-accountability-control-grid,
    .machine-accountability-control-grid.compact,
    .machine-accountability-facts,
    .machine-accountability-result-grid {
        grid-template-columns: 1fr;
    }

    .contestability-chain li {
        min-height: 0;
    }

    .contestability-chain li::after {
        display: none !important;
    }

    .machine-accountability-controls-head,
    .machine-accountability-results-head {
        display: grid;
    }

    .machine-accountability-control-actions .button,
    .machine-accountability-result-actions .button {
        width: 100%;
        justify-content: center;
    }

    .accountability-distinction-grid article {
        grid-template-columns: 1fr;
    }

    .accountability-distinction-grid span {
        transform: rotate(90deg);
        justify-self: start;
    }
}

@media (max-width: 360px) {
    .accountability-thesis,
    .accountability-killweb-boundary,
    .machine-accountability-controls,
    .machine-accountability-results,
    .accountability-scenario-grid article,
    .responsibility-map-grid article,
    .accountability-distinction-grid article {
        padding: .8rem;
    }

    .machine-accountability-controls fieldset {
        padding: .65rem;
    }
}

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

@media print {
    .machine-leadership-accountability-page .utility-bar,
    .machine-leadership-accountability-page .site-header,
    .machine-leadership-accountability-page .site-footer,
    .machine-accountability-controls,
    .machine-accountability-control-actions,
    .machine-accountability-result-actions {
        display: none !important;
    }

    .machine-accountability-workbench,
    .accountability-thesis,
    .accountability-killweb-boundary {
        display: block;
    }

    .machine-accountability-results,
    .accountability-thesis,
    .accountability-killweb-boundary,
    .accountability-distinction-grid article,
    .accountability-scenario-grid article,
    .responsibility-map-grid article {
        border-color: #777;
        color: #000;
        background: #fff !important;
        box-shadow: none;
    }

    .machine-accountability-results *,
    .accountability-thesis *,
    .accountability-killweb-boundary *,
    .accountability-distinction-grid *,
    .accountability-scenario-grid *,
    .responsibility-map-grid * {
        color: #000 !important;
    }

    .machine-accountability-dimension-table table {
        min-width: 0;
        font-size: 9pt;
    }
}

/* Machine Leadership Decision Provenance and Audit Replay Lab — v1.9.0 */
.machine-leadership-audit-replay-page {
    --audit-accent: #ffcb6b;
    --audit-teal: #69e1d1;
    --audit-blue: #8cc8ff;
    --audit-violet: #c3b5ff;
}

.audit-replay-thesis,
.audit-replay-method-section {
    display: grid;
    grid-template-columns: minmax(0, 1.16fr) minmax(18rem, .84fr);
    gap: clamp(1.25rem, 3vw, 3rem);
    align-items: start;
    margin-block: clamp(2rem, 5vw, 5rem);
    padding: clamp(1.1rem, 3vw, 2.25rem);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background:
        radial-gradient(circle at 96% 0%, rgba(255, 203, 107, .14), transparent 24rem),
        linear-gradient(145deg, rgba(20, 40, 34, .97), rgba(7, 17, 14, .97));
    box-shadow: var(--shadow-soft);
}

.audit-replay-thesis > *,
.audit-replay-method-section > * {
    min-width: 0;
}

.audit-replay-thesis h2,
.audit-replay-method-section h2 {
    max-width: 25ch;
}

.audit-replay-boundary-ledger {
    display: grid;
    gap: .75rem;
    margin: 0;
}

.audit-replay-boundary-ledger div {
    min-width: 0;
    padding: .9rem 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(7, 17, 14, .72);
}

.audit-replay-boundary-ledger dt {
    margin-bottom: .25rem;
    color: var(--audit-accent);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.audit-replay-boundary-ledger dd {
    margin: 0;
    color: var(--text);
    line-height: 1.48;
}

.audit-replay-elements-section,
.audit-replay-distinctions-section,
.audit-replay-scenarios-section {
    margin-block: clamp(3rem, 7vw, 6rem);
}

.audit-replay-element-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: audit-elements;
}

.audit-replay-element-grid li {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: linear-gradient(155deg, rgba(17, 36, 30, .96), rgba(7, 17, 14, .96));
}

.audit-replay-element-grid span {
    display: inline-block;
    margin-bottom: .75rem;
    border: 1px solid rgba(255, 203, 107, .3);
    border-radius: 999px;
    padding: .2rem .5rem;
    color: var(--audit-accent);
    background: rgba(255, 203, 107, .06);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: .75rem;
    font-weight: 800;
}

.audit-replay-element-grid h3 {
    margin-bottom: .4rem;
    color: var(--text);
    font-size: 1rem;
}

.audit-replay-element-grid p {
    margin: 0;
    color: var(--muted);
    line-height: 1.5;
}

.audit-replay-distinction-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.audit-replay-distinction-grid article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: .75rem;
    align-items: center;
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(13, 28, 24, .84);
}

.audit-replay-distinction-grid p,
.audit-replay-distinction-grid h3,
.audit-replay-distinction-grid small {
    margin: 0;
}

.audit-replay-distinction-grid p {
    color: var(--muted-2);
    font-weight: 750;
}

.audit-replay-distinction-grid > article > span {
    color: var(--danger);
    font-size: 1.35rem;
    font-weight: 900;
}

.audit-replay-distinction-grid h3 {
    color: var(--audit-accent);
    font-size: 1rem;
}

.audit-replay-distinction-grid small {
    grid-column: 1 / -1;
    padding-top: .65rem;
    border-top: 1px solid var(--line);
    color: var(--muted);
    line-height: 1.5;
}

.audit-replay-scenario-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.audit-replay-scenario-grid article {
    min-width: 0;
    padding: 1.05rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: linear-gradient(145deg, rgba(17, 36, 30, .94), rgba(7, 17, 14, .96));
}

.audit-replay-scenario-grid h3 {
    color: var(--text);
}

.audit-replay-scenario-grid small {
    display: block;
    padding-top: .7rem;
    border-top: 1px solid var(--line);
    color: var(--audit-teal);
    line-height: 1.5;
}

.audit-replay-workbench {
    display: grid;
    grid-template-columns: minmax(19rem, .78fr) minmax(0, 1.22fr);
    gap: 1rem;
    align-items: start;
    margin-block: clamp(3rem, 7vw, 6rem);
}

.audit-replay-controls,
.audit-replay-results {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: linear-gradient(155deg, rgba(13, 28, 24, .98), rgba(7, 17, 14, .98));
    box-shadow: var(--shadow-soft);
}

.audit-replay-controls {
    padding: clamp(1rem, 2.5vw, 1.5rem);
}

.audit-replay-results {
    padding: clamp(1rem, 2.5vw, 1.6rem);
}

.audit-replay-controls-head,
.audit-replay-results-head {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.audit-replay-controls-head h2,
.audit-replay-results-head h2 {
    margin-bottom: 0;
}

.audit-replay-controls > label {
    display: grid;
    gap: .35rem;
    min-width: 0;
    margin-top: .85rem;
    color: var(--muted-2);
    font-weight: 750;
}

.audit-replay-controls select {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: .65rem;
    padding: .72rem .8rem;
    color: var(--text);
    background: var(--bg-deep);
}

.audit-replay-scenario-card {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-sm);
    background: rgba(3, 8, 6, .48);
}

.audit-replay-scenario-card h3 {
    margin-bottom: .5rem;
}

.audit-replay-scenario-card dl {
    display: grid;
    gap: .6rem;
    margin: .85rem 0 0;
}

.audit-replay-scenario-card dl div {
    min-width: 0;
    padding-top: .6rem;
    border-top: 1px solid var(--line);
}

.audit-replay-scenario-card dt {
    color: var(--audit-accent);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.audit-replay-scenario-card dd {
    margin: .2rem 0 0;
    color: var(--muted-2);
}

.audit-replay-control-actions,
.audit-replay-result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 1rem;
}

.audit-replay-summary {
    padding: .9rem 1rem;
    border-left: 3px solid var(--audit-accent);
    color: var(--muted-2);
    background: rgba(255, 203, 107, .06);
}

.audit-replay-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
    margin-block: 1rem;
}

.audit-replay-facts article {
    min-width: 0;
    padding: .8rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(3, 8, 6, .45);
}

.audit-replay-facts strong,
.audit-replay-facts span {
    display: block;
}

.audit-replay-facts strong {
    color: var(--audit-accent);
    font-size: 1.15rem;
}

.audit-replay-facts span {
    color: var(--muted);
    font-size: .78rem;
    line-height: 1.35;
}

.audit-replay-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.audit-replay-result-grid section,
.audit-replay-gap-section {
    min-width: 0;
    padding: .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(3, 8, 6, .4);
}

.audit-replay-result-grid h3,
.audit-replay-gap-section h3 {
    margin-bottom: .65rem;
    color: var(--text);
    font-size: 1rem;
}

.audit-replay-result-grid ul,
.audit-replay-gap-section ul {
    margin: 0;
    padding-left: 1.1rem;
}

.audit-replay-result-grid li,
.audit-replay-gap-section li {
    margin-block: .35rem;
    font-size: .9rem;
}

.audit-replay-gap-section {
    margin-top: .75rem;
}

.audit-replay-gap-section li[data-severity="material"] strong {
    color: var(--danger);
}

.audit-replay-gap-section li[data-severity="bounded"] strong {
    color: var(--warning);
}

.audit-replay-event-table,
.audit-replay-relationship-table {
    margin-top: 1rem;
}

.audit-replay-event-table table {
    min-width: 92rem;
    font-size: .82rem;
}

.audit-replay-relationship-table table {
    min-width: 58rem;
    font-size: .84rem;
}

.audit-replay-event-table caption,
.audit-replay-relationship-table caption {
    color: var(--muted-2);
    font-weight: 750;
    text-align: left;
}

.audit-replay-event-table td,
.audit-replay-event-table th,
.audit-replay-relationship-table td,
.audit-replay-relationship-table th {
    vertical-align: top;
}

.audit-replay-event-table code,
.audit-replay-relationship-table code {
    overflow-wrap: anywhere;
    white-space: normal;
}

.audit-replay-state {
    display: inline-block;
    max-width: 13rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: .25rem .55rem;
    color: var(--muted-2);
    background: rgba(140, 200, 255, .06);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: .72rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.audit-replay-state[data-state="supported"],
.audit-replay-state[data-state="reviewed"],
.audit-replay-state[data-state="executed"],
.audit-replay-state[data-state="recovered"],
.audit-replay-state[data-state="closed"],
.audit-replay-state[data-state="independent-review"] {
    border-color: rgba(131, 238, 157, .4);
    color: var(--success);
    background: rgba(131, 238, 157, .08);
}

.audit-replay-state[data-state="gap"],
.audit-replay-state[data-state="unverified"],
.audit-replay-state[data-state="procedural"],
.audit-replay-state[data-state="partial"],
.audit-replay-state[data-state="historical-only"],
.audit-replay-state[data-state="superseded"],
.audit-replay-state[data-state="re-review"],
.audit-replay-state[data-state="reopened"] {
    border-color: rgba(255, 180, 84, .42);
    color: var(--warning);
    background: rgba(255, 180, 84, .08);
}

.audit-replay-state[data-state="invalidated"],
.audit-replay-state[data-state="unavailable"],
.audit-replay-state[data-state="unauthorized"],
.audit-replay-state[data-state="expired"],
.audit-replay-state[data-state="held"],
.audit-replay-state[data-state="missing"],
.audit-replay-state[data-state="technical-only"] {
    border-color: rgba(255, 111, 97, .42);
    color: var(--danger);
    background: rgba(255, 111, 97, .08);
}

.audit-replay-score-note {
    margin: 1rem 0 0;
    padding: .8rem .9rem;
    border: 1px dashed var(--line-strong);
    border-radius: var(--radius-sm);
    color: var(--muted-2);
    background: rgba(167, 244, 50, .04);
}

.audit-replay-method-section {
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
}

.audit-replay-method-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.audit-replay-method-grid article {
    min-width: 0;
    padding: .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(7, 17, 14, .72);
}

.audit-replay-method-grid h3 {
    color: var(--audit-accent);
    font-size: 1rem;
}

.analysis-status[data-state="unverified"],
.analysis-status[data-state="procedural"],
.analysis-status[data-state="review"],
.analysis-status[data-state="gap"] {
    border-color: rgba(255, 180, 84, .48);
    color: var(--warning);
}

.analysis-status[data-state="invalidated"],
.analysis-status[data-state="remedy"] {
    border-color: rgba(255, 111, 97, .5);
    color: var(--danger);
}

@media (max-width: 1180px) {
    .audit-replay-workbench {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 960px) {
    .audit-replay-element-grid,
    .audit-replay-scenario-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .audit-replay-thesis,
    .audit-replay-method-section {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .audit-replay-distinction-grid,
    .audit-replay-method-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .audit-replay-element-grid,
    .audit-replay-scenario-grid,
    .audit-replay-facts,
    .audit-replay-result-grid {
        grid-template-columns: 1fr;
    }

    .audit-replay-controls-head,
    .audit-replay-results-head {
        display: grid;
    }

    .audit-replay-control-actions .button,
    .audit-replay-result-actions .button {
        width: 100%;
        justify-content: center;
    }

    .audit-replay-distinction-grid article {
        grid-template-columns: 1fr;
    }

    .audit-replay-distinction-grid > article > span {
        justify-self: start;
        transform: rotate(90deg);
    }
}

@media (max-width: 360px) {
    .audit-replay-thesis,
    .audit-replay-method-section,
    .audit-replay-controls,
    .audit-replay-results,
    .audit-replay-scenario-grid article,
    .audit-replay-element-grid li,
    .audit-replay-distinction-grid article {
        padding: .8rem;
    }
}

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

@media print {
    .machine-leadership-audit-replay-page .utility-bar,
    .machine-leadership-audit-replay-page .site-header,
    .machine-leadership-audit-replay-page .site-footer,
    .audit-replay-controls,
    .audit-replay-control-actions,
    .audit-replay-result-actions {
        display: none !important;
    }

    .audit-replay-workbench,
    .audit-replay-thesis,
    .audit-replay-method-section {
        display: block;
    }

    .audit-replay-results,
    .audit-replay-thesis,
    .audit-replay-method-section,
    .audit-replay-element-grid li,
    .audit-replay-distinction-grid article,
    .audit-replay-scenario-grid article {
        border-color: #777;
        color: #000;
        background: #fff !important;
        box-shadow: none;
    }

    .machine-leadership-audit-replay-page * {
        color: #000 !important;
    }

    .audit-replay-event-table table,
    .audit-replay-relationship-table table {
        min-width: 0;
        font-size: 7pt;
    }
}

/* Machine Leadership Delegation Boundary and Escalation Lab */
.machine-leadership-delegation-page {
    --delegation-accent: #a7f432;
    --delegation-teal: #39d9c8;
    --delegation-blue: #8cc8ff;
    --delegation-violet: #c5b8ff;
}

.delegation-thesis,
.delegation-killweb-boundary {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr);
    gap: clamp(1rem, 3vw, 2.2rem);
    margin-top: var(--section-space);
    padding: clamp(1rem, 3vw, 1.7rem);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at 100% 0, rgba(57, 217, 200, .12), transparent 38%),
        linear-gradient(145deg, rgba(13, 28, 24, .98), rgba(7, 17, 14, .98));
}

.delegation-thesis > *,
.delegation-killweb-boundary > * {
    min-width: 0;
}

.delegation-thesis h2,
.delegation-killweb-boundary h2 {
    max-width: 24ch;
}

.delegation-boundary-ledger,
.delegation-killweb-boundary dl {
    display: grid;
    gap: .7rem;
    margin: 0;
}

.delegation-boundary-ledger div,
.delegation-killweb-boundary dl div {
    padding: .8rem .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(7, 17, 14, .68);
}

.delegation-boundary-ledger dt,
.delegation-killweb-boundary dt {
    color: var(--delegation-accent);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.delegation-boundary-ledger dd,
.delegation-killweb-boundary dd {
    margin: .28rem 0 0;
    color: var(--muted-2);
}

.delegation-elements-section,
.delegation-distinctions-section,
.delegation-scenarios-section {
    margin-top: var(--section-space);
}

.delegation-element-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    padding: 0;
    list-style: none;
}

.delegation-element-grid li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .75rem;
    min-width: 0;
    padding: .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(13, 28, 24, .78);
}

.delegation-element-grid > li > span {
    display: grid;
    place-items: center;
    align-self: start;
    min-width: 3.2rem;
    min-height: 2.1rem;
    border: 1px solid rgba(167, 244, 50, .36);
    border-radius: 999px;
    color: var(--delegation-accent);
    background: rgba(167, 244, 50, .07);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: .74rem;
    font-weight: 800;
}

.delegation-element-grid h3,
.delegation-element-grid p {
    margin: 0;
}

.delegation-element-grid h3 {
    font-size: 1rem;
}

.delegation-element-grid p {
    margin-top: .35rem;
    color: var(--muted-2);
    font-size: .86rem;
}

.delegation-distinction-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.delegation-distinction-grid article {
    display: grid;
    grid-template-columns: minmax(0, .92fr) auto minmax(0, 1.08fr);
    align-items: center;
    gap: .7rem;
    min-width: 0;
    padding: .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(13, 28, 24, .76);
}

.delegation-distinction-grid p,
.delegation-distinction-grid h3,
.delegation-distinction-grid small {
    margin: 0;
}

.delegation-distinction-grid p {
    font-weight: 800;
}

.delegation-distinction-grid > article > span {
    color: var(--danger);
    font-size: 1.35rem;
    font-weight: 900;
}

.delegation-distinction-grid h3 {
    color: var(--delegation-accent);
    font-size: .98rem;
}

.delegation-distinction-grid small {
    grid-column: 1 / -1;
    color: var(--muted-2);
}

.delegation-scenario-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.delegation-scenario-grid article {
    min-width: 0;
    padding: .95rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(13, 28, 24, .76);
}

.delegation-scenario-grid small {
    color: var(--delegation-teal);
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.delegation-scenario-grid h3 {
    margin-top: .35rem;
    font-size: 1.05rem;
}

.delegation-scenario-grid p {
    color: var(--muted-2);
}

.delegation-workbench {
    display: grid;
    grid-template-columns: minmax(18rem, .68fr) minmax(0, 1.32fr);
    gap: 1rem;
    margin-top: var(--section-space);
    align-items: start;
}

.delegation-controls,
.delegation-results {
    min-width: 0;
    padding: clamp(.9rem, 2vw, 1.2rem);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: linear-gradient(145deg, rgba(13, 28, 24, .98), rgba(7, 17, 14, .98));
}

.delegation-controls {
    position: sticky;
    top: calc(var(--header-height, 4rem) + 1rem);
}

.delegation-controls-head,
.delegation-results-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
}

.delegation-controls > label {
    display: grid;
    gap: .35rem;
    margin-top: .85rem;
    color: var(--muted-2);
    font-weight: 750;
}

.delegation-controls select {
    width: 100%;
}

.delegation-scenario-card {
    margin-top: 1rem;
    padding: .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(7, 17, 14, .72);
}

.delegation-scenario-card small {
    color: var(--delegation-teal);
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.delegation-scenario-card h3 {
    margin-top: .35rem;
}

.delegation-scenario-card dl {
    display: grid;
    gap: .55rem;
    margin: .8rem 0 0;
}

.delegation-scenario-card dl div {
    padding-top: .55rem;
    border-top: 1px solid var(--line);
}

.delegation-scenario-card dt {
    color: var(--delegation-accent);
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.delegation-scenario-card dd {
    margin: .2rem 0 0;
    color: var(--muted-2);
}

.delegation-control-actions,
.delegation-result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 1rem;
}

.delegation-summary {
    margin-top: .8rem;
    padding: .8rem .9rem;
    border-left: 3px solid var(--delegation-accent);
    background: rgba(167, 244, 50, .04);
}

.delegation-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
    margin-top: 1rem;
}

.delegation-facts article {
    min-width: 0;
    padding: .75rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(7, 17, 14, .7);
}

.delegation-facts strong,
.delegation-facts span {
    display: block;
}

.delegation-facts strong {
    color: var(--delegation-accent);
    font-size: 1.05rem;
    overflow-wrap: anywhere;
}

.delegation-facts span {
    margin-top: .25rem;
    color: var(--muted-2);
    font-size: .78rem;
}

.delegation-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 1rem;
}

.delegation-result-grid section {
    min-width: 0;
    padding: .8rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(7, 17, 14, .66);
}

.delegation-result-grid section:last-child {
    grid-column: 1 / -1;
}

.delegation-result-grid h3 {
    margin-top: 0;
    font-size: .96rem;
}

.delegation-result-grid ul {
    margin-bottom: 0;
    padding-left: 1.1rem;
}

.delegation-ledger-table,
.delegation-responsibility-table {
    margin-top: 1rem;
}

.delegation-ledger-table table {
    min-width: 76rem;
    font-size: .82rem;
}

.delegation-responsibility-table table {
    min-width: 54rem;
    font-size: .84rem;
}

.delegation-ledger-table th,
.delegation-ledger-table td,
.delegation-responsibility-table th,
.delegation-responsibility-table td {
    vertical-align: top;
}

.delegation-state {
    display: inline-block;
    max-width: 13rem;
    padding: .24rem .52rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted-2);
    background: rgba(140, 200, 255, .06);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: .7rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.delegation-state[data-state="identified"],
.delegation-state[data-state="bounded"],
.delegation-state[data-state="aligned"],
.delegation-state[data-state="within-bounds"],
.delegation-state[data-state="allowlisted"],
.delegation-state[data-state="enforced"],
.delegation-state[data-state="current"],
.delegation-state[data-state="sufficient-within-model"],
.delegation-state[data-state="practical"],
.delegation-state[data-state="available"],
.delegation-state[data-state="approved"],
.delegation-state[data-state="stable"],
.delegation-state[data-state="normal"],
.delegation-state[data-state="assigned"],
.delegation-state[data-state="visible"],
.delegation-state[data-state="resolved"] {
    border-color: rgba(131, 238, 157, .42);
    color: var(--success);
    background: rgba(131, 238, 157, .08);
}

.delegation-state[data-state="not-invoked"],
.delegation-state[data-state="not-required"],
.delegation-state[data-state="monitoring"],
.delegation-state[data-state="notice-sent"],
.delegation-state[data-state="triggered"],
.delegation-state[data-state="return-required"],
.delegation-state[data-state="locally-bounded"],
.delegation-state[data-state="pending"],
.delegation-state[data-state="deadline-missed"] {
    border-color: rgba(255, 180, 84, .44);
    color: var(--warning);
    background: rgba(255, 180, 84, .08);
}

.delegation-state[data-state="missing"],
.delegation-state[data-state="drift"],
.delegation-state[data-state="out-of-scope"],
.delegation-state[data-state="violation"],
.delegation-state[data-state="revoked"],
.delegation-state[data-state="expired"],
.delegation-state[data-state="blocked"],
.delegation-state[data-state="unapproved"],
.delegation-state[data-state="insufficient"],
.delegation-state[data-state="unavailable"],
.delegation-state[data-state="unapproved-discretion"],
.delegation-state[data-state="permanent-exception"],
.delegation-state[data-state="expanded"] {
    border-color: rgba(255, 111, 97, .45);
    color: var(--danger);
    background: rgba(255, 111, 97, .08);
}

.delegation-escalation-chain {
    display: grid;
    gap: .6rem;
    margin: .75rem 0 0;
    padding: 0;
    list-style: none;
}

.delegation-escalation-chain li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    padding: .75rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(7, 17, 14, .68);
}

.delegation-escalation-chain > li > span {
    color: var(--delegation-blue);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-weight: 850;
}

.delegation-escalation-chain h4,
.delegation-escalation-chain p {
    margin: 0;
}

.delegation-escalation-chain p {
    margin-top: .2rem;
    color: var(--muted-2);
    font-size: .84rem;
}

.delegation-score-note {
    margin: 1rem 0 0;
    padding: .8rem .9rem;
    border: 1px dashed var(--line-strong);
    border-radius: var(--radius-sm);
    color: var(--muted-2);
    background: rgba(167, 244, 50, .04);
}

.analysis-status[data-state="qualified"],
.analysis-status[data-state="escalation-pending"],
.analysis-status[data-state="deadline-missed"] {
    border-color: rgba(255, 180, 84, .48);
    color: var(--warning);
}

.analysis-status[data-state="governance-hold"],
.analysis-status[data-state="expired"],
.analysis-status[data-state="revoked"],
.analysis-status[data-state="blocked"],
.analysis-status[data-state="drift"],
.analysis-status[data-state="control-unavailable"] {
    border-color: rgba(255, 111, 97, .5);
    color: var(--danger);
}

@media (max-width: 1180px) {
    .delegation-workbench {
        grid-template-columns: 1fr;
    }

    .delegation-controls {
        position: static;
    }
}

@media (max-width: 980px) {
    .delegation-thesis,
    .delegation-killweb-boundary {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 760px) {
    .delegation-distinction-grid,
    .delegation-result-grid {
        grid-template-columns: 1fr;
    }

    .delegation-result-grid section:last-child {
        grid-column: auto;
    }
}

@media (max-width: 640px) {
    .delegation-element-grid,
    .delegation-scenario-grid,
    .delegation-facts {
        grid-template-columns: 1fr;
    }

    .delegation-controls-head,
    .delegation-results-head {
        display: grid;
    }

    .delegation-control-actions .button,
    .delegation-result-actions .button {
        width: 100%;
        justify-content: center;
    }

    .delegation-distinction-grid article,
    .delegation-escalation-chain li {
        grid-template-columns: 1fr;
    }

    .delegation-distinction-grid > article > span {
        justify-self: start;
        transform: rotate(90deg);
    }
}

@media (max-width: 360px) {
    .delegation-thesis,
    .delegation-killweb-boundary,
    .delegation-controls,
    .delegation-results,
    .delegation-scenario-grid article,
    .delegation-element-grid li,
    .delegation-distinction-grid article {
        padding: .8rem;
    }
}

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

@media print {
    .machine-leadership-delegation-page .utility-bar,
    .machine-leadership-delegation-page .site-header,
    .machine-leadership-delegation-page .site-footer,
    .delegation-controls,
    .delegation-control-actions,
    .delegation-result-actions {
        display: none !important;
    }

    .delegation-workbench,
    .delegation-thesis,
    .delegation-killweb-boundary {
        display: block;
    }

    .delegation-results,
    .delegation-thesis,
    .delegation-killweb-boundary,
    .delegation-element-grid li,
    .delegation-distinction-grid article,
    .delegation-scenario-grid article {
        border-color: #777;
        color: #000;
        background: #fff !important;
        box-shadow: none;
    }

    .machine-leadership-delegation-page * {
        color: #000 !important;
    }

    .delegation-ledger-table table,
    .delegation-responsibility-table table {
        min-width: 0;
        font-size: 7pt;
    }
}


/* Machine Leadership Delegation Portfolio and Conflict Resolution Lab */
.machine-leadership-delegation-conflicts-page {
    --delegation-accent: #d2ff73;
    --delegation-teal: #52e3cf;
    --delegation-blue: #9ed1ff;
}

.conflict-portfolio-thesis {
    background:
        radial-gradient(circle at 100% 0, rgba(210, 255, 115, .13), transparent 38%),
        radial-gradient(circle at 0 100%, rgba(82, 227, 207, .08), transparent 42%),
        linear-gradient(145deg, rgba(13, 28, 24, .98), rgba(7, 17, 14, .98));
}

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

.conflict-distinction-grid,
.conflict-scenario-grid,
.conflict-controls,
.conflict-facts {
    min-width: 0;
}

.conflict-workbench {
    grid-template-columns: minmax(19rem, .62fr) minmax(0, 1.38fr);
}

.conflict-results .delegation-facts {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.conflict-delegation-matrix table {
    min-width: 92rem;
}

.conflict-resource-ledger table {
    min-width: 54rem;
}

.conflict-ledger table {
    min-width: 72rem;
}

.conflict-resolution-grid section:last-child {
    grid-column: auto;
}

.delegation-state[data-state="declared"],
.delegation-state[data-state="within-capacity"],
.delegation-state[data-state="authorized-within-model"],
.delegation-state[data-state="purpose-limited"],
.delegation-state[data-state="deconflicted"],
.delegation-state[data-state="separate"],
.delegation-state[data-state="current-within-bounds"],
.delegation-state[data-state="fully-allocated"],
.delegation-state[data-state="available-with-conditions"],
.delegation-state[data-state="resolved-within-bounds"],
.delegation-state[data-state="resolved-within-model"] {
    border-color: rgba(131, 238, 157, .42);
    color: var(--success);
    background: rgba(131, 238, 157, .08);
}

.delegation-state[data-state="coordination-required"],
.delegation-state[data-state="coordination-review"],
.delegation-state[data-state="held-for-resolution"],
.delegation-state[data-state="required"],
.delegation-state[data-state="propagation-incomplete"],
.delegation-state[data-state="remedy-open"] {
    border-color: rgba(255, 180, 84, .44);
    color: var(--warning);
    background: rgba(255, 180, 84, .08);
}

.delegation-state[data-state="invalid"],
.delegation-state[data-state="over-capacity"],
.delegation-state[data-state="consumption-not-authorized"],
.delegation-state[data-state="unauthorized"],
.delegation-state[data-state="reuse-blocked"],
.delegation-state[data-state="objective-conflict"],
.delegation-state[data-state="incompatible"],
.delegation-state[data-state="unresolved"],
.delegation-state[data-state="overlap"],
.delegation-state[data-state="capacity-conflict"],
.delegation-state[data-state="conflict"],
.delegation-state[data-state="incomplete"],
.delegation-state[data-state="divergent"],
.delegation-state[data-state="held-revocation"],
.delegation-state[data-state="held-deconfliction"],
.delegation-state[data-state="held-resource"],
.delegation-state[data-state="held-precedence"],
.delegation-state[data-state="governance-hold"],
.delegation-state[data-state="duplicate-contained"],
.delegation-state[data-state="revocation-incomplete"],
.delegation-state[data-state="resource-held"],
.delegation-state[data-state="precedence-unresolved"] {
    border-color: rgba(255, 111, 97, .45);
    color: var(--danger);
    background: rgba(255, 111, 97, .08);
}

.analysis-status[data-state="compatible"] {
    border-color: rgba(131, 238, 157, .48);
    color: var(--success);
}

.analysis-status[data-state="coordination-required"],
.analysis-status[data-state="escalation-pending"] {
    border-color: rgba(255, 180, 84, .48);
    color: var(--warning);
}

.analysis-status[data-state="resource-hold"],
.analysis-status[data-state="precedence-hold"],
.analysis-status[data-state="duplicate-contained"],
.analysis-status[data-state="revocation-hold"] {
    border-color: rgba(255, 111, 97, .5);
    color: var(--danger);
}

@media (max-width: 1180px) {
    .conflict-workbench {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 900px) {
    .conflict-element-grid,
    .conflict-results .delegation-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .conflict-element-grid,
    .conflict-results .delegation-facts {
        grid-template-columns: 1fr;
    }
}

/* Machine Leadership Delegation Conflict Decision Record and Independent Review Lab */
.conflict-review-thesis {
    background:
        radial-gradient(circle at 100% 0, rgba(158, 209, 255, .14), transparent 38%),
        radial-gradient(circle at 0 100%, rgba(82, 227, 207, .09), transparent 44%),
        linear-gradient(145deg, rgba(13, 28, 24, .98), rgba(7, 17, 14, .98));
}

.review-workbench,
.review-controls,
.review-results,
.review-scenario-card,
.review-workbench .table-scroll,
.conflict-review-thesis,
.conflict-element-grid,
.conflict-distinction-grid,
.conflict-scenario-grid {
    min-width: 0;
}

.review-workbench {
    grid-template-columns: minmax(20rem, .62fr) minmax(0, 1.38fr);
}

.review-results .delegation-facts {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.review-results table {
    min-width: 58rem;
}

.review-results [data-review-ledger] tr,
.review-results [data-review-evidence] tr,
.review-results [data-review-history] tr {
    break-inside: avoid;
}

.analysis-status[data-state="complete-within-bounds"],
.analysis-status[data-state="supported"],
.analysis-status[data-state="included"],
.analysis-status[data-state="complete"],
.analysis-status[data-state="acknowledged"],
.analysis-status[data-state="implemented"],
.analysis-status[data-state="available"],
.analysis-status[data-state="preserved"] {
    border-color: rgba(131, 238, 157, .48);
    color: var(--success);
    background: rgba(131, 238, 157, .08);
}

.analysis-status[data-state="review-required"],
.analysis-status[data-state="incomplete"],
.analysis-status[data-state="response-unresolved"],
.analysis-status[data-state="stale-version"],
.analysis-status[data-state="historical"],
.analysis-status[data-state="superseded"],
.analysis-status[data-state="invalidated"],
.analysis-status[data-state="unavailable"],
.analysis-status[data-state="remedy-open"] {
    border-color: rgba(255, 180, 84, .48);
    color: var(--warning);
    background: rgba(255, 180, 84, .08);
}

.analysis-status[data-state="governance-hold"],
.analysis-status[data-state="withdrawn"],
.analysis-status[data-state="blocked"] {
    border-color: rgba(255, 111, 97, .5);
    color: var(--danger);
    background: rgba(255, 111, 97, .08);
}

@media (max-width: 1180px) {
    .review-workbench {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .review-results .delegation-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .review-results .delegation-facts {
        grid-template-columns: 1fr;
    }

    .review-controls,
    .review-results,
    .conflict-review-thesis {
        padding: .9rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .machine-leadership-delegation-conflict-review-page *,
    .machine-leadership-delegation-conflict-review-page *::before,
    .machine-leadership-delegation-conflict-review-page *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

@media print {
    .machine-leadership-delegation-conflict-review-page .utility-bar,
    .machine-leadership-delegation-conflict-review-page .site-header,
    .machine-leadership-delegation-conflict-review-page .site-footer,
    .review-controls,
    .delegation-control-actions,
    .delegation-result-actions {
        display: none !important;
    }

    .review-workbench,
    .conflict-review-thesis,
    .review-results {
        display: block;
        background: #fff !important;
        color: #000 !important;
        box-shadow: none;
    }

    .review-results table {
        min-width: 0;
        font-size: 7pt;
    }
}


/* Release 1.13.0: Conflict remedy and institutional-learning lab aliases. */
.remedy-thesis,
.remedy-workbench,
.remedy-controls,
.remedy-results {
    min-width: 0;
}
.remedy-workbench {
    display: grid;
    grid-template-columns: minmax(16rem, 0.78fr) minmax(0, 1.62fr);
    gap: clamp(1rem, 2vw, 1.75rem);
    align-items: start;
}
@media (max-width: 940px) {
    .remedy-workbench { grid-template-columns: minmax(0, 1fr); }
}
@media print {
    .remedy-controls button, .remedy-results .delegation-result-actions { display: none !important; }
}

/* Release 1.14.0: KillChains–KillWebs–Evulgare ecosystem boundary. */
.utility-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(.55rem, 1.3vw, 1.15rem);
    min-width: 0;
    overflow: hidden;
}

.utility-links a {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ecosystem-footer-heading {
    margin-bottom: 1.35rem;
}

.ecosystem-footer-grid,
.ecosystem-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(.8rem, 2vw, 1.35rem);
}

.ecosystem-footer-grid article,
.ecosystem-card,
.ecosystem-thesis,
.ecosystem-evidence-principles,
.ecosystem-flow,
.ecosystem-handoff {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: linear-gradient(145deg, rgba(13, 28, 24, .96), rgba(7, 17, 14, .98));
    box-shadow: var(--shadow-soft);
}

.ecosystem-footer-grid article {
    padding: 1.15rem;
}

.ecosystem-footer-grid h3,
.ecosystem-card h3 {
    margin: .45rem 0 .55rem;
}

.ecosystem-footer-grid p {
    margin-bottom: .7rem;
    font-size: .84rem;
}

.ecosystem-footer-grid a {
    font-weight: 800;
    text-decoration: none;
}

.evulgare-footer-card,
.ecosystem-card-evulgare {
    border-color: rgba(140, 200, 255, .38) !important;
    background:
        radial-gradient(circle at 100% 0, rgba(140, 200, 255, .13), transparent 40%),
        linear-gradient(145deg, rgba(10, 24, 31, .98), rgba(5, 12, 16, .99)) !important;
}

.ecosystem-thesis {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(16rem, .55fr);
    gap: clamp(1rem, 3vw, 2.4rem);
    align-items: center;
    padding: clamp(1.1rem, 3vw, 2.1rem);
}

.ecosystem-principle {
    margin: 0;
    border-left: 4px solid var(--blue);
    padding: 1.25rem;
    background: rgba(140, 200, 255, .07);
}

.ecosystem-principle p {
    margin-bottom: .45rem;
    color: var(--text);
    font-size: clamp(1.4rem, 3vw, 2.25rem);
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -.04em;
}

.ecosystem-principle footer {
    color: var(--blue);
    font-weight: 800;
}

.ecosystem-card-grid {
    align-items: stretch;
}

.ecosystem-card {
    display: flex;
    flex-direction: column;
    padding: clamp(1rem, 2.4vw, 1.55rem);
}

.ecosystem-card-killchains {
    border-color: rgba(255, 180, 84, .34);
}

.ecosystem-card-killwebs {
    border-color: rgba(167, 244, 50, .36);
}

.ecosystem-card .button {
    align-self: flex-start;
    margin-top: auto;
}

.ecosystem-role {
    margin-bottom: .3rem;
    color: var(--blue);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ecosystem-tagline {
    color: var(--text);
    font-size: 1.05rem;
    font-weight: 850;
}

.ecosystem-evidence-principles {
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
    gap: clamp(1rem, 3vw, 2.5rem);
    padding: clamp(1.1rem, 3vw, 2.1rem);
    background:
        radial-gradient(circle at 100% 0, rgba(140, 200, 255, .12), transparent 38%),
        linear-gradient(145deg, rgba(9, 22, 29, .98), rgba(6, 14, 17, .99));
}

.lede-sm {
    font-size: clamp(1rem, 1.8vw, 1.25rem);
}

.principle-stack {
    display: grid;
    gap: .8rem;
}

.principle-stack article {
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr);
    gap: .8rem;
    border: 1px solid rgba(140, 200, 255, .2);
    border-radius: var(--radius-sm);
    padding: .9rem;
    background: rgba(3, 8, 6, .42);
}

.principle-stack article > span,
.ecosystem-flow-list > li > span {
    display: grid;
    place-items: center;
    width: 2.15rem;
    height: 2.15rem;
    border: 1px solid rgba(140, 200, 255, .36);
    border-radius: 50%;
    color: var(--blue);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: .72rem;
    font-weight: 850;
}

.principle-stack h3 {
    margin-bottom: .3rem;
    font-size: 1rem;
}

.principle-stack p {
    margin-bottom: 0;
}

.ecosystem-flow {
    padding: clamp(1.1rem, 3vw, 2rem);
}

.ecosystem-flow-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ecosystem-flow-list > li {
    display: grid;
    grid-template-columns: 2.3rem minmax(0, 1fr);
    gap: .8rem;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(3, 8, 6, .35);
}

.ecosystem-flow-list h3 {
    margin-bottom: .35rem;
}

.ecosystem-flow-list p {
    margin-bottom: 0;
}

.ecosystem-intake {
    border-color: rgba(140, 200, 255, .32);
}

.two-column-list {
    columns: 2;
    column-gap: 2.5rem;
}

.two-column-list li {
    break-inside: avoid;
}

.ecosystem-handoff {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(15rem, .65fr);
    gap: clamp(1rem, 3vw, 2rem);
    align-items: center;
    margin-block: clamp(2rem, 5vw, 4.5rem);
    padding: clamp(1rem, 3vw, 1.8rem);
    border-color: rgba(140, 200, 255, .36);
    background:
        radial-gradient(circle at 100% 0, rgba(140, 200, 255, .13), transparent 42%),
        linear-gradient(145deg, rgba(9, 22, 29, .98), rgba(6, 14, 17, .99));
}

.ecosystem-handoff h2 {
    font-size: clamp(1.45rem, 2.7vw, 2.2rem);
}

.ecosystem-handoff-principle {
    margin-bottom: 0;
    color: var(--text);
}

.ecosystem-handoff-actions {
    display: grid;
    gap: .7rem;
}

.ecosystem-handoff-actions .button {
    width: 100%;
    justify-content: center;
}

.ecosystem-report-callout a {
    font-weight: 800;
}

@media (max-width: 940px) {
    .ecosystem-card-grid,
    .ecosystem-footer-grid,
    .ecosystem-flow-list {
        grid-template-columns: 1fr;
    }

    .ecosystem-thesis,
    .ecosystem-evidence-principles,
    .ecosystem-handoff {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 720px) {
    .utility-links {
        width: 100%;
        justify-content: center;
        gap: .75rem;
    }

    .utility-links a:first-child {
        display: none;
    }

    .two-column-list {
        columns: 1;
    }
}

@media (max-width: 480px) {
    .utility-links {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .utility-links a {
        text-align: center;
    }

    .ecosystem-handoff-actions {
        grid-template-columns: 1fr;
    }

    .ecosystem-card,
    .ecosystem-thesis,
    .ecosystem-evidence-principles,
    .ecosystem-flow,
    .ecosystem-handoff {
        border-radius: var(--radius-sm);
        padding: .9rem;
    }
}

@media print {
    .ecosystem-footer-panel,
    .ecosystem-handoff-actions,
    .utility-links {
        display: none !important;
    }

    .ecosystem-card,
    .ecosystem-thesis,
    .ecosystem-evidence-principles,
    .ecosystem-flow,
    .ecosystem-handoff {
        box-shadow: none;
        background: #fff !important;
        color: #000 !important;
    }
}

/* Ecosystem Evidence Handoff Readiness Lab */
.ecosystem-evidence-handoff-page {
    --delegation-accent: #8cc8ff;
    --delegation-teal: #39d9c8;
    --delegation-blue: #a7f432;
}

.handoff-thesis {
    border-color: rgba(140, 200, 255, .32);
    background:
        radial-gradient(circle at 100% 0, rgba(140, 200, 255, .16), transparent 40%),
        radial-gradient(circle at 0 100%, rgba(57, 217, 200, .08), transparent 34%),
        linear-gradient(145deg, rgba(9, 22, 29, .98), rgba(7, 17, 14, .99));
}

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

.handoff-element-grid li {
    align-items: center;
}

.handoff-distinction-grid article {
    grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr);
}

.handoff-distinction-grid article small {
    grid-column: auto;
    color: var(--delegation-blue);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-weight: 800;
}

.handoff-distinction-grid article > b {
    color: var(--danger);
    font-size: 1.25rem;
    line-height: 1;
}

.handoff-distinction-grid article > strong {
    overflow-wrap: anywhere;
}

.handoff-scenario-grid article {
    border-color: rgba(140, 200, 255, .18);
}

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

.handoff-dimension-table table {
    min-width: 74rem;
}

.handoff-evidence-table table {
    min-width: 65rem;
}

.handoff-ecosystem-table table {
    min-width: 58rem;
}

.handoff-boundary {
    border-color: rgba(255, 180, 84, .28);
}

.analysis-status[data-state="sequence"],
.analysis-status[data-state="synthetic"],
.analysis-status[data-state="public-safe"],
.analysis-status[data-state="declared-governed"],
.analysis-status[data-state="visible"] {
    border-color: rgba(131, 238, 157, .45);
    color: var(--success);
}

.analysis-status[data-state="project-candidate"],
.analysis-status[data-state="separate-governance"],
.analysis-status[data-state="material"],
.analysis-status[data-state="declared-but-not-provenance-alone"] {
    border-color: rgba(255, 180, 84, .48);
    color: var(--warning);
}

.analysis-status[data-state="hold"],
.analysis-status[data-state="incomplete"],
.analysis-status[data-state="out-of-scope"],
.analysis-status[data-state="unknown"],
.analysis-status[data-state="real-system"] {
    border-color: rgba(255, 111, 97, .5);
    color: var(--danger);
}

.analysis-status[data-state="not-applicable"],
.analysis-status[data-state="available"] {
    border-color: rgba(140, 200, 255, .32);
    color: var(--blue);
}

@media (max-width: 980px) {
    .handoff-element-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .handoff-distinction-grid article {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .handoff-distinction-grid article > b {
        grid-column: 1;
        justify-self: center;
        transform: none;
    }

    .handoff-distinction-grid article > strong:last-child {
        grid-column: 2;
    }
}

@media (max-width: 640px) {
    .handoff-element-grid,
    .handoff-facts {
        grid-template-columns: 1fr;
    }
}

@media print {
    .handoff-dimension-table table,
    .handoff-evidence-table table,
    .handoff-ecosystem-table table {
        min-width: 0;
        font-size: 7pt;
    }
}

/* Explicit responsive aliases for the Ecosystem Evidence Handoff workbench. */
.handoff-workbench {
    min-width: 0;
}

.handoff-controls,
.handoff-results {
    min-width: 0;
}

@media (max-width: 1180px) {
    .handoff-workbench {
        grid-template-columns: 1fr;
    }

    .handoff-controls {
        position: static;
    }
}

/* Machine Answerability — release 1.16.0 */
.machine-answerability-page {
    --answerability-red: #ff6f61;
    --answerability-amber: #ffb454;
    --answerability-lime: #a7f432;
}

.machine-answerability-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 10vw, 9rem) 0 clamp(3.8rem, 8vw, 7rem);
    border-bottom: 1px solid var(--line);
    background:
        radial-gradient(circle at 12% 22%, rgba(255, 111, 97, .16), transparent 25rem),
        radial-gradient(circle at 87% 18%, rgba(167, 244, 50, .12), transparent 28rem),
        linear-gradient(135deg, rgba(3, 8, 6, .96), rgba(13, 28, 24, .97));
}

.machine-answerability-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .28;
    background-image:
        linear-gradient(90deg, transparent 49.85%, rgba(255,255,255,.06) 50%, transparent 50.15%),
        linear-gradient(transparent 49.85%, rgba(255,255,255,.04) 50%, transparent 50.15%);
    background-size: 72px 72px;
    mask-image: linear-gradient(to bottom, black, transparent 88%);
}

.machine-answerability-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
    gap: clamp(2rem, 6vw, 5.5rem);
    align-items: center;
}

.machine-answerability-hero h1 {
    max-width: 14ch;
    margin-bottom: 1.2rem;
    color: var(--text);
    font-size: clamp(3rem, 8vw, 7rem);
    line-height: .92;
    letter-spacing: -.06em;
    text-transform: uppercase;
}

.machine-answerability-command {
    max-width: 42rem;
    margin-bottom: 1.25rem;
    font-size: clamp(1.12rem, 2vw, 1.55rem);
    font-weight: 800;
    letter-spacing: .02em;
    color: var(--answerability-lime);
}

.machine-answerability-promise {
    max-width: 49rem;
    margin: 1.4rem 0 2rem;
    padding-left: 1.25rem;
    border-left: 3px solid var(--teal);
    color: var(--text);
    font-size: 1.04rem;
}

.machine-answerability-manifesto {
    display: grid;
    gap: .85rem;
    min-width: 0;
}

.machine-answerability-manifesto article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    padding: 1.15rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(13, 28, 24, .72);
    box-shadow: var(--shadow-soft);
}

.machine-answerability-manifesto article > span {
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid var(--line-strong);
    border-radius: 50%;
    color: var(--primary);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.machine-answerability-manifesto h2 {
    margin-bottom: .45rem;
    color: var(--text);
    font-size: clamp(1.05rem, 1.7vw, 1.38rem);
    letter-spacing: .01em;
}

.machine-answerability-manifesto p {
    margin-bottom: 0;
    font-size: .94rem;
}

.machine-answerability-boundary {
    padding: 1rem 1.2rem;
    border: 1px solid rgba(140, 200, 255, .36);
    border-radius: var(--radius-sm);
    color: var(--blue) !important;
    background: rgba(140, 200, 255, .08);
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .09em;
}

.machine-answerability-comparison,
.machine-answerability-record,
.machine-answerability-use,
.machine-answerability-responsibility,
.machine-answerability-language,
.machine-answerability-faq {
    padding-top: clamp(4rem, 8vw, 7.5rem);
    padding-bottom: clamp(4rem, 8vw, 7.5rem);
}

.machine-answerability-comparison table {
    min-inline-size: 720px;
}

.machine-answerability-comparison thead th:first-child {
    color: var(--danger);
}

.machine-answerability-comparison thead th:last-child {
    color: var(--primary);
}

.machine-answerability-comparison tbody td:first-child {
    background: rgba(255, 111, 97, .035);
}

.machine-answerability-comparison tbody td:last-child {
    background: rgba(167, 244, 50, .025);
}

.machine-answerability-evidence-chain {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: answerability-evidence;
}

.machine-answerability-evidence-chain li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    min-width: 0;
    padding: 1.25rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: linear-gradient(135deg, rgba(17, 36, 30, .95), rgba(9, 22, 18, .95));
}

.machine-answerability-evidence-chain li > span {
    display: grid;
    place-items: center;
    width: 2.65rem;
    height: 2.65rem;
    border-radius: .7rem;
    background: rgba(57, 217, 200, .1);
    color: var(--teal);
    font-weight: 800;
}

.machine-answerability-evidence-chain h3 {
    margin-bottom: .45rem;
}

.machine-answerability-evidence-chain p {
    margin-bottom: 0;
}

.machine-answerability-origin-band {
    padding: clamp(4rem, 8vw, 7.5rem) 0;
    border-block: 1px solid var(--line);
    background:
        linear-gradient(180deg, rgba(3, 8, 6, .74), rgba(13, 28, 24, .72)),
        radial-gradient(circle at 50% 0, rgba(255, 180, 84, .11), transparent 34rem);
}

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

.machine-answerability-origin-grid article {
    min-width: 0;
    padding: 1.2rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(7, 17, 14, .78);
}

.machine-answerability-origin-grid article:last-child {
    border-color: rgba(140, 200, 255, .35);
}

.machine-answerability-origin-grid h3 {
    margin-bottom: .55rem;
    color: var(--warning);
}

.machine-answerability-origin-grid article:last-child h3 {
    color: var(--blue);
}

.machine-answerability-origin-grid p {
    margin-bottom: 0;
    font-size: .94rem;
}

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

.machine-answerability-use-grid .info-card:nth-child(1) {
    border-top: 3px solid var(--teal);
}

.machine-answerability-use-grid .info-card:nth-child(2) {
    border-top: 3px solid var(--warning);
}

.machine-answerability-use-grid .info-card:nth-child(3) {
    border-top: 3px solid var(--blue);
}

.machine-answerability-evulgare-actions {
    margin-top: 2rem;
}

.machine-answerability-responsibility table {
    min-inline-size: 760px;
}

.machine-answerability-responsibility tbody th {
    width: 28%;
    color: var(--primary);
}

.machine-answerability-language {
    border-top: 1px solid var(--line);
}

.machine-answerability-language-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.machine-answerability-language-grid article {
    min-width: 0;
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
}

.machine-answerability-language-grid article:first-child {
    border-color: rgba(167, 244, 50, .28);
}

.machine-answerability-language-grid article:last-child {
    border-color: rgba(255, 111, 97, .28);
}

.denied-list li::marker {
    color: var(--danger);
}

.machine-answerability-final-cta {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 9vw, 8rem) 0;
    border-block: 1px solid var(--line);
    background:
        radial-gradient(circle at 12% 52%, rgba(255, 111, 97, .14), transparent 26rem),
        radial-gradient(circle at 88% 38%, rgba(57, 217, 200, .12), transparent 28rem),
        #030806;
}

.machine-answerability-final-cta .shell {
    max-width: 980px;
    text-align: center;
}

.machine-answerability-final-cta h2 {
    max-width: 20ch;
    margin-inline: auto;
    font-size: clamp(2.2rem, 5vw, 4.6rem);
}

.machine-answerability-final-cta p:not(.eyebrow) {
    max-width: 55rem;
    margin-inline: auto;
    font-size: 1.08rem;
}

.machine-answerability-final-cta .hero-actions {
    justify-content: center;
}

.home-machine-answerability {
    padding: clamp(4rem, 8vw, 7rem) 0;
    border-block: 1px solid var(--line);
    background:
        radial-gradient(circle at 12% 50%, rgba(255, 111, 97, .12), transparent 24rem),
        linear-gradient(135deg, rgba(3, 8, 6, .98), rgba(14, 31, 25, .98));
}

.home-machine-answerability-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    gap: clamp(2rem, 6vw, 5rem);
    align-items: center;
}

.home-machine-answerability-grid h2 {
    max-width: 16ch;
    font-size: clamp(2.2rem, 5vw, 4.8rem);
    text-transform: uppercase;
}

.home-machine-answerability-grid > aside {
    display: grid;
    gap: .8rem;
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--line-strong);
    border-radius: var(--radius);
    background: rgba(13, 28, 24, .86);
    box-shadow: var(--shadow);
}

.home-machine-answerability-grid > aside p {
    margin: 0;
    padding-bottom: .8rem;
    border-bottom: 1px solid var(--line);
    color: var(--text);
    font-weight: 850;
    letter-spacing: .025em;
}

.home-machine-answerability-grid > aside small {
    color: var(--blue);
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .08em;
}

@media (max-width: 1100px) {
    .machine-answerability-hero-grid,
    .home-machine-answerability-grid {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 760px) {
    .machine-answerability-evidence-chain,
    .machine-answerability-use-grid,
    .machine-answerability-language-grid {
        grid-template-columns: 1fr;
    }

    .machine-answerability-hero h1 {
        font-size: clamp(2.55rem, 15vw, 4.6rem);
    }
}

@media (max-width: 560px) {
    .machine-answerability-origin-grid {
        grid-template-columns: 1fr;
    }

    .machine-answerability-manifesto article,
    .machine-answerability-evidence-chain li {
        grid-template-columns: 1fr;
    }

    .machine-answerability-manifesto article > span,
    .machine-answerability-evidence-chain li > span {
        width: 2.35rem;
        height: 2.35rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .machine-answerability-page * {
        scroll-behavior: auto;
    }
}

@media print {
    .machine-answerability-hero,
    .machine-answerability-origin-band,
    .machine-answerability-final-cta,
    .home-machine-answerability {
        color: #000;
        background: #fff !important;
    }

    .machine-answerability-manifesto article,
    .machine-answerability-evidence-chain li,
    .machine-answerability-origin-grid article,
    .machine-answerability-language-grid article {
        break-inside: avoid;
        border-color: #777;
        background: #fff;
    }

    .machine-answerability-comparison table,
    .machine-answerability-responsibility table {
        min-width: 0;
        font-size: 8pt;
    }
}

/* Machine Answerability and Human Scapegoating Lab — v1.16.0 */
.machine-answerability-page {
    --answerability-red: #ff6f61;
    --answerability-teal: #39d9c8;
    --answerability-blue: #8cc8ff;
}

.machine-answerability-campaign {
    position: relative;
    overflow: hidden;
    padding: clamp(4.25rem, 9vw, 8rem) 0;
    border-bottom: 1px solid var(--line);
    background:
        radial-gradient(circle at 8% 42%, rgba(255, 111, 97, .2), transparent 28rem),
        radial-gradient(circle at 92% 18%, rgba(57, 217, 200, .13), transparent 30rem),
        linear-gradient(135deg, #030806 0%, #0c1b17 58%, #06100d 100%);
}

.machine-answerability-campaign::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .18;
    background-image:
        linear-gradient(rgba(140, 200, 255, .12) 1px, transparent 1px),
        linear-gradient(90deg, rgba(140, 200, 255, .12) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: linear-gradient(to bottom, #000, transparent 92%);
}

.machine-answerability-campaign-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr);
    gap: clamp(2rem, 6vw, 5rem);
    align-items: center;
}

.machine-answerability-campaign h1 {
    max-width: 13ch;
    margin-bottom: 1.2rem;
    font-size: clamp(2.7rem, 7vw, 6.8rem);
    line-height: .92;
    letter-spacing: -.055em;
    text-transform: uppercase;
}

.machine-answerability-campaign h1::first-line {
    color: var(--answerability-red);
}

.machine-answerability-campaign-lede {
    max-width: 58rem;
    color: var(--muted-2);
    font-size: clamp(1.08rem, 2vw, 1.42rem);
    line-height: 1.62;
}

.machine-answerability-manifesto {
    display: grid;
    gap: 1rem;
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid rgba(140, 200, 255, .3);
    border-radius: var(--radius);
    background: rgba(8, 21, 18, .86);
    box-shadow: var(--shadow);
}

.machine-answerability-manifesto blockquote {
    margin: 0;
    padding: 1rem 0;
    border-block: 1px solid var(--line);
    color: var(--text);
    font-size: clamp(1.35rem, 2.5vw, 2.1rem);
    font-weight: 850;
    line-height: 1.15;
}

.machine-answerability-principles {
    display: grid;
    gap: .45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.machine-answerability-principles li {
    padding: .55rem .7rem;
    border-left: .22rem solid var(--primary);
    background: rgba(167, 244, 50, .055);
    color: var(--text);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .035em;
}

.machine-answerability-boundary-line {
    margin: 0;
    color: var(--answerability-amber);
}

.machine-answerability-manifesto dl,
.machine-answerability-manifesto dd {
    margin: 0;
}

.machine-answerability-manifesto dl {
    display: grid;
    gap: 1rem;
}

.machine-answerability-manifesto dt {
    color: var(--primary);
    font-weight: 850;
}

.machine-answerability-manifesto dd {
    margin-top: .3rem;
    color: var(--muted-2);
}

.answerability-thesis {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(17rem, .9fr);
    gap: clamp(1.5rem, 5vw, 4rem);
    align-items: center;
    padding: clamp(1.4rem, 4vw, 2.8rem);
    border-color: rgba(255, 111, 97, .28);
    background:
        radial-gradient(circle at 100% 0, rgba(57, 217, 200, .12), transparent 42%),
        linear-gradient(145deg, rgba(13, 28, 24, .98), rgba(5, 13, 10, .99));
}

.answerability-equation {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: .65rem .8rem;
    align-items: center;
    padding: 1.1rem;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-sm);
    background: rgba(3, 8, 6, .42);
}

.answerability-equation span,
.answerability-equation strong {
    padding: .7rem;
    border: 1px solid var(--line);
    border-radius: .7rem;
}

.answerability-equation strong {
    color: var(--primary);
}

.answerability-equation b {
    color: var(--answerability-teal);
}

.answerability-equation small {
    grid-column: 1 / -1;
    color: var(--answerability-blue);
    font-weight: 750;
    letter-spacing: .05em;
    text-transform: uppercase;
}

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

.answerability-distinction-grid article {
    grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr);
}

.answerability-distinction-grid article small {
    color: var(--primary);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-weight: 800;
}

.answerability-distinction-grid article > b {
    color: var(--answerability-red);
    font-size: 1.25rem;
}

.answerability-architecture {
    padding-block: clamp(1.5rem, 4vw, 3rem);
}

.answerability-scenario-grid article {
    border-color: rgba(255, 111, 97, .18);
}

.answerability-workbench,
.answerability-controls,
.answerability-results {
    min-width: 0;
}

.answerability-controls {
    border-color: rgba(255, 111, 97, .26);
}

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

.answerability-dimension-table table,
.answerability-factor-table table {
    min-width: 76rem;
}

.answerability-boundary {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr);
    gap: clamp(1.25rem, 4vw, 3rem);
    padding: clamp(1.3rem, 4vw, 2.5rem);
    border: 1px solid rgba(255, 180, 84, .35);
    border-radius: var(--radius);
    background:
        radial-gradient(circle at 100% 0, rgba(255, 180, 84, .1), transparent 42%),
        var(--surface);
}

.answerability-boundary dl,
.answerability-boundary dd {
    margin: 0;
}

.answerability-boundary dl {
    display: grid;
    gap: .8rem;
}

.answerability-boundary dl > div {
    padding: .85rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
}

.answerability-boundary dt {
    color: var(--warning);
    font-weight: 850;
}

.answerability-boundary dd {
    margin-top: .3rem;
}

.analysis-status[data-state="answerable"],
.analysis-status[data-state="human-judgment"],
.analysis-status[data-state="supported"],
.analysis-status[data-state="traceable"],
.analysis-status[data-state="substantive-review"],
.analysis-status[data-state="reviewable"] {
    border-color: rgba(131, 238, 157, .45);
    color: var(--success);
}

.analysis-status[data-state="click-only"],
.analysis-status[data-state="no-practical-control"],
.analysis-status[data-state="machine-speed"],
.analysis-status[data-state="qualified"],
.analysis-status[data-state="constrained"],
.analysis-status[data-state="available-not-used"],
.analysis-status[data-state="evulgare-candidate"],
.analysis-status[data-state="boundary"] {
    border-color: rgba(255, 180, 84, .5);
    color: var(--warning);
}

.analysis-status[data-state="evidence-gap"],
.analysis-status[data-state="authority-hold"],
.analysis-status[data-state="institutional-hold"],
.analysis-status[data-state="hold"],
.analysis-status[data-state="unresolved"],
.analysis-status[data-state="out-of-scope"] {
    border-color: rgba(255, 111, 97, .52);
    color: var(--danger);
}

@media (max-width: 1080px) {
    .machine-answerability-campaign-grid,
    .answerability-thesis,
    .answerability-boundary,
    .answerability-workbench {
        grid-template-columns: 1fr;
    }

    .answerability-controls {
        position: static;
    }
}

@media (max-width: 820px) {
    .answerability-element-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .answerability-distinction-grid article {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .answerability-distinction-grid article > b {
        grid-column: 1;
        justify-self: center;
    }

    .answerability-distinction-grid article > strong:last-child {
        grid-column: 2;
    }
}

@media (max-width: 640px) {
    .answerability-element-grid,
    .answerability-facts {
        grid-template-columns: 1fr;
    }

    .machine-answerability-campaign h1 {
        font-size: clamp(2.35rem, 15vw, 4.7rem);
    }
}

@media print {
    .machine-answerability-campaign,
    .answerability-thesis,
    .answerability-boundary {
        color: #000;
        background: #fff !important;
        box-shadow: none;
    }

    .machine-answerability-campaign .hero-actions,
    .delegation-result-actions {
        display: none !important;
    }

    .answerability-dimension-table table,
    .answerability-factor-table table {
        min-width: 0;
        font-size: 7pt;
    }
}

/* v1.16 narrow-screen answerability corrections */
.answerability-distinction-grid article > * {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 640px) {
    .answerability-distinction-grid article {
        grid-template-columns: 1fr;
    }

    .answerability-distinction-grid article > b,
    .answerability-distinction-grid article > strong:last-child {
        grid-column: auto;
        justify-self: start;
    }
}

/* Release 1.17.0: JADC2 deep dive and clearer top navigation. */
.brand-copy {
    min-width: 0;
}

.brand-name {
    white-space: nowrap;
}

.brand-domain {
    color: var(--primary);
}

.primary-nav {
    overflow: visible;
    gap: .42rem;
    padding: 0;
    border: 0;
    background: transparent;
}

.primary-nav-main {
    display: flex;
    align-items: center;
    gap: .22rem;
    min-width: 0;
}

.primary-nav a,
.nav-more summary {
    min-width: 0;
    max-width: 9.5rem;
    overflow: hidden;
    border: 1px solid rgba(151, 194, 176, .14);
    border-radius: 10px;
    padding: .58rem .66rem;
    color: var(--muted-2);
    background: rgba(13, 28, 24, .52);
    font-size: clamp(.72rem, .78vw, .84rem);
    font-weight: 760;
    line-height: 1.2;
    letter-spacing: .005em;
    text-overflow: ellipsis;
    text-decoration: none;
    white-space: nowrap;
}

.primary-nav a:hover,
.primary-nav a:focus-visible,
.nav-more summary:hover,
.nav-more summary:focus-visible,
.nav-more[open] summary {
    border-color: rgba(57, 217, 200, .42);
    color: var(--text);
    background: rgba(57, 217, 200, .11);
}

.primary-nav a[aria-current="page"],
.nav-more.is-current > summary {
    border-color: rgba(167, 244, 50, .46);
    color: var(--text);
    background: linear-gradient(145deg, rgba(167, 244, 50, .14), rgba(57, 217, 200, .08));
}

.primary-nav a[aria-current="page"]::after {
    display: none;
}

.nav-more {
    position: relative;
    flex: 0 0 auto;
}

.nav-more summary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    max-width: none;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.nav-more summary::-webkit-details-marker {
    display: none;
}

.nav-more summary span {
    color: var(--primary);
    font-size: .74em;
    transition: transform .18s var(--ease);
}

.nav-more[open] summary span {
    transform: rotate(180deg);
}

.nav-more-menu {
    position: absolute;
    top: calc(100% + .65rem);
    right: 0;
    z-index: 60;
    display: grid;
    min-width: 15rem;
    gap: .38rem;
    border: 1px solid var(--line-strong);
    border-radius: 14px;
    padding: .58rem;
    background: rgba(7, 17, 14, .985);
    box-shadow: var(--shadow);
}

.nav-more-menu::before {
    content: "";
    position: absolute;
    right: 1.3rem;
    top: -.38rem;
    width: .72rem;
    height: .72rem;
    border-top: 1px solid var(--line-strong);
    border-left: 1px solid var(--line-strong);
    background: #07110e;
    transform: rotate(45deg);
}

.nav-more-menu a {
    max-width: none;
    padding: .72rem .8rem;
    text-align: left;
}

.utility-links a + a {
    border-left: 1px solid rgba(151, 194, 176, .24);
    padding-left: clamp(.58rem, 1.3vw, 1.15rem);
}

.jadc2-page .page-intro h1 {
    max-width: 19ch;
}

.jadc2-page .page-intro .lede {
    max-width: 78rem;
}

.jadc2-page .article-section .card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jadc2-page .article-section .callout {
    border-color: rgba(140, 200, 255, .34);
    background:
        radial-gradient(circle at 100% 0, rgba(140, 200, 255, .11), transparent 42%),
        rgba(13, 28, 24, .74);
}

.jadc2-page .article-section table {
    min-width: 54rem;
}

.jadc2-page .article-section h2 {
    scroll-margin-top: calc(var(--header-height) + var(--utility-height) + 1.2rem);
}

@media (max-width: 1500px) {
    .brand-copy small {
        display: none;
    }
}

@media (max-width: 1220px) and (min-width: 1121px) {
    .header-inner {
        gap: .8rem;
    }

    .brand-mark {
        width: 2.35rem;
        height: 2.35rem;
    }

    .primary-nav {
        gap: .24rem;
    }

    .primary-nav-main {
        gap: .12rem;
    }

    .primary-nav a,
    .nav-more summary {
        padding: .54rem .48rem;
        font-size: .72rem;
    }
}

@media (max-width: 1120px) {
    :root {
        --header-height: 70px;
    }

    .nav-toggle {
        display: block;
    }

    .primary-nav {
        position: absolute;
        top: calc(100% + 1px);
        right: 0;
        left: 0;
        display: none;
        max-height: calc(100dvh - var(--header-height) - var(--utility-height));
        overflow: auto;
        margin-left: 0;
        padding: .8rem max(.75rem, calc((100vw - var(--shell)) / 2));
        border-bottom: 1px solid var(--line);
        background: rgba(7, 17, 14, .988);
        box-shadow: var(--shadow-soft);
    }

    .primary-nav.is-open {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: .65rem;
    }

    .primary-nav-main {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .55rem;
    }

    .primary-nav a,
    .nav-more summary {
        max-width: none;
        padding: .78rem .8rem;
        font-size: .82rem;
        text-align: center;
    }

    .nav-more {
        width: 100%;
    }

    .nav-more summary {
        justify-content: space-between;
        padding-inline: 1rem;
    }

    .nav-more-menu {
        position: static;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        min-width: 0;
        margin-top: .55rem;
        border-color: rgba(151, 194, 176, .22);
        box-shadow: none;
        background: rgba(3, 8, 6, .48);
    }

    .nav-more-menu::before {
        display: none;
    }

    .nav-more-menu a {
        text-align: center;
    }
}

@media (max-width: 720px) {
    .primary-nav-main,
    .nav-more-menu {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .utility-links a + a {
        border-left: 0;
        padding-left: 0;
    }

    .jadc2-page .article-section .card-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 480px) {
    .primary-nav-main,
    .nav-more-menu {
        grid-template-columns: minmax(0, 1fr);
    }

    .brand-mark {
        width: 2.35rem;
        height: 2.35rem;
    }

    .brand-name {
        font-size: .94rem;
    }
}

@media print {
    .jadc2-page .article-section .card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Release 1.18.0: JADC2 mission-thread convergence lab */
.jadc2-mission-thread-page {
    background:
        radial-gradient(circle at 82% 8%, rgba(140, 200, 255, .08), transparent 26rem),
        var(--bg);
}

.jmt-hero {
    padding: clamp(3.6rem, 7vw, 7.2rem) 0 clamp(2.7rem, 5vw, 5rem);
    border-bottom: 1px solid var(--line);
    background:
        linear-gradient(115deg, rgba(7, 17, 14, .96), rgba(13, 28, 24, .82)),
        radial-gradient(circle at 74% 35%, rgba(57, 217, 200, .13), transparent 26rem);
}

.jmt-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(20rem, .72fr);
    align-items: start;
    gap: clamp(1.5rem, 4vw, 4.5rem);
}

.jmt-hero h1 {
    max-width: 16ch;
    margin-block: .55rem 1rem;
    font-size: clamp(2.55rem, 6vw, 5.8rem);
    line-height: .96;
}

.jmt-definition-card,
.jmt-scenario-brief,
.jmt-result,
.jmt-boundary,
.jmt-thesis,
.jmt-role-grid article,
.jmt-scenario-grid article,
.jmt-distinction-grid article {
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: linear-gradient(145deg, rgba(20, 40, 34, .82), rgba(8, 18, 15, .92));
    box-shadow: var(--shadow-soft);
}

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

.jmt-definition-card dl,
.jmt-scenario-brief dl,
.jmt-boundary dl {
    display: grid;
    gap: .85rem;
    margin: 1rem 0;
}

.jmt-definition-card dl div,
.jmt-scenario-brief dl div,
.jmt-boundary dl div {
    border-top: 1px solid rgba(151, 194, 176, .18);
    padding-top: .75rem;
}

.jmt-definition-card dt,
.jmt-scenario-brief dt,
.jmt-boundary dt {
    color: var(--primary);
    font-weight: 800;
}

.jmt-definition-card dd,
.jmt-scenario-brief dd,
.jmt-boundary dd {
    margin: .28rem 0 0;
    color: var(--muted);
}

.jmt-thesis {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(19rem, 1fr);
    gap: 2rem;
    align-items: center;
    margin-block: clamp(2rem, 5vw, 4rem);
    padding: clamp(1.25rem, 3vw, 2.4rem);
}

.jmt-state-chain {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-width: 0;
}

.jmt-state-chain span,
.jmt-state-chain strong {
    border: 1px solid rgba(57, 217, 200, .3);
    border-radius: 999px;
    padding: .45rem .7rem;
    background: rgba(57, 217, 200, .08);
    font-size: .82rem;
    letter-spacing: .02em;
}

.jmt-state-chain strong {
    border-color: rgba(167, 244, 50, .42);
    background: rgba(167, 244, 50, .11);
}

.jmt-state-chain b {
    color: var(--muted);
}

.jmt-model,
.jmt-catalog,
.jmt-scenarios,
.jmt-workbench,
.jmt-distinctions,
.jmt-boundary {
    margin-block: clamp(3rem, 7vw, 6.5rem);
}

.jmt-stage-model {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
    counter-reset: none;
}

.jmt-stage-model li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .8rem;
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 1rem;
    background: rgba(13, 28, 24, .72);
}

.jmt-stage-model li > span,
.record-id {
    color: var(--primary);
    font-family: var(--font-mono);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .06em;
}

.jmt-stage-model h3,
.jmt-role-grid h3,
.jmt-scenario-grid h3 {
    margin: 0 0 .45rem;
    font-size: 1rem;
}

.jmt-stage-model p,
.jmt-role-grid p,
.jmt-scenario-grid p {
    margin: 0;
    color: var(--muted);
    font-size: .9rem;
}

.jmt-role-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}

.jmt-role-grid article,
.jmt-scenario-grid article,
.jmt-distinction-grid article {
    min-width: 0;
    padding: 1rem;
}

.jmt-role-grid small,
.jmt-scenario-grid small {
    display: block;
    margin-top: .75rem;
    color: var(--info);
}

.jmt-relationship-details {
    margin-top: 1.25rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(13, 28, 24, .65);
}

.jmt-relationship-details summary {
    cursor: pointer;
    padding: 1rem 1.15rem;
    color: var(--text);
    font-weight: 800;
}

.jmt-relationship-details .table-scroll {
    border-top: 1px solid var(--line);
}

.jmt-scenario-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}

.jmt-workbench {
    scroll-margin-top: calc(var(--header-height) + var(--utility-height) + 1rem);
}

.jmt-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
    gap: 1rem;
    align-items: end;
    margin-top: 1.4rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: 1rem;
    background: rgba(13, 28, 24, .74);
}

.jmt-controls label {
    display: grid;
    gap: .45rem;
    min-width: 0;
}

.jmt-controls label > span {
    color: var(--muted);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.jmt-controls select {
    width: 100%;
    min-width: 0;
}

.jmt-scenario-brief {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr);
    gap: clamp(1rem, 3vw, 2.5rem);
    margin-top: 1rem;
    padding: clamp(1rem, 3vw, 1.75rem);
}

.jmt-result {
    margin-top: 1rem;
    padding: clamp(1rem, 3vw, 1.75rem);
}

.jmt-result-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.jmt-result-head h3 {
    margin: .25rem 0 0;
    font-size: clamp(1.45rem, 3vw, 2.45rem);
}

.jmt-facts {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .7rem;
    margin-block: 1.25rem;
}

.jmt-facts article {
    min-width: 0;
    border: 1px solid rgba(151, 194, 176, .2);
    border-radius: var(--radius-sm);
    padding: .8rem;
    background: rgba(3, 8, 6, .34);
}

.jmt-facts strong,
.jmt-facts span {
    display: block;
    overflow-wrap: anywhere;
}

.jmt-facts strong {
    color: var(--primary);
    font-size: 1rem;
}

.jmt-facts span {
    margin-top: .25rem;
    color: var(--muted);
    font-size: .72rem;
}

.jmt-result-lists,
.jmt-ledger-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-block: 1.25rem;
}

.jmt-result-lists section,
.jmt-ledger-grid section,
.jmt-result > section {
    min-width: 0;
    border: 1px solid rgba(151, 194, 176, .18);
    border-radius: var(--radius);
    padding: 1rem;
    background: rgba(3, 8, 6, .25);
}

.jmt-result h4 {
    margin: 0 0 .75rem;
}

.jmt-result > section + section {
    margin-top: 1rem;
}

.jmt-result table {
    min-width: 45rem;
}

.jmt-score-note {
    border-left: 3px solid var(--warning);
    padding: .85rem 1rem;
    background: rgba(255, 180, 84, .08);
}

.jmt-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1rem;
}

.jmt-distinction-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}

.jmt-distinction-grid p {
    margin: .6rem 0 0;
    overflow-wrap: anywhere;
}

.jmt-boundary {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: clamp(1.2rem, 4vw, 3rem);
    padding: clamp(1.25rem, 4vw, 2.5rem);
    border-color: rgba(255, 180, 84, .34);
    background:
        radial-gradient(circle at 100% 0, rgba(255, 180, 84, .1), transparent 36%),
        rgba(13, 28, 24, .82);
}

@media (max-width: 1080px) {
    .jmt-hero-grid,
    .jmt-thesis,
    .jmt-scenario-brief,
    .jmt-boundary {
        grid-template-columns: minmax(0, 1fr);
    }

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

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

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

    .jmt-controls .button {
        grid-column: 1 / -1;
    }

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

@media (max-width: 680px) {
    .jmt-hero h1 {
        font-size: clamp(2.2rem, 14vw, 3.5rem);
    }

    .jmt-stage-model,
    .jmt-role-grid,
    .jmt-scenario-grid,
    .jmt-controls,
    .jmt-result-lists,
    .jmt-ledger-grid,
    .jmt-distinction-grid,
    .jmt-facts {
        grid-template-columns: minmax(0, 1fr);
    }

    .jmt-state-chain {
        justify-content: flex-start;
    }

    .jmt-result-head {
        display: grid;
    }

    .jmt-actions .button,
    .jmt-controls .button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .jadc2-mission-thread-page * {
        scroll-behavior: auto !important;
    }
}

@media print {
    .jadc2-mission-thread-page .site-header,
    .jadc2-mission-thread-page .utility-bar,
    .jadc2-mission-thread-page .site-footer,
    .jadc2-mission-thread-page .jmt-controls,
    .jadc2-mission-thread-page .jmt-actions,
    .jadc2-mission-thread-page .hero-actions,
    .jadc2-mission-thread-page .related-panel {
        display: none !important;
    }

    .jmt-hero,
    .jmt-definition-card,
    .jmt-scenario-brief,
    .jmt-result,
    .jmt-boundary,
    .jmt-thesis,
    .jmt-role-grid article,
    .jmt-scenario-grid article,
    .jmt-distinction-grid article {
        color: #000;
        background: #fff;
        box-shadow: none;
    }

    .jmt-role-grid,
    .jmt-scenario-grid,
    .jmt-stage-model,
    .jmt-distinction-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .table-scroll {
        overflow: visible;
    }
}

/* JADC2 Mission-Thread Evidence and Reconciliation Replay */
.jadc2-mission-thread-replay-page {
    --page-accent: var(--network-teal);
}

.jmr-posture-pair,
.jmr-record-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    margin: 0.95rem 0;
}

.jmr-posture-pair article,
.jmr-record-grid > div {
    min-width: 0;
    padding: 0.9rem;
    border: 1px solid color-mix(in srgb, var(--network-teal) 28%, var(--border));
    border-radius: var(--radius-md);
    background: color-mix(in srgb, var(--surface-elevated) 82%, transparent);
}

.jmr-posture-pair span,
.jmr-posture-pair small,
.jmr-posture-pair strong {
    display: block;
}

.jmr-posture-pair span {
    margin-bottom: 0.35rem;
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.jmr-posture-pair strong {
    margin-bottom: 0.35rem;
    color: var(--text);
    font-size: clamp(1rem, 2vw, 1.2rem);
}

.jmr-posture-pair small {
    color: var(--muted);
    line-height: 1.55;
}

.jmr-record-grid h4 {
    margin: 0 0 0.55rem;
}

.jmr-record-grid ul {
    margin: 0;
    padding-left: 1.15rem;
}

.jmr-record-grid li + li {
    margin-top: 0.4rem;
}

.audit-replay-state[data-state="current"],
.audit-replay-state[data-state="corrected"] {
    border-color: color-mix(in srgb, var(--primary) 55%, var(--border));
    color: var(--primary);
}

.audit-replay-state[data-state="stale"],
.audit-replay-state[data-state="superseded"],
.audit-replay-state[data-state="under-review"],
.audit-replay-state[data-state="procedural-only"],
.audit-replay-state[data-state="reconciliation-hold"] {
    border-color: color-mix(in srgb, var(--warning) 56%, var(--border));
    color: var(--warning);
}

.audit-replay-state[data-state="revoked"],
.audit-replay-state[data-state="purpose-withdrawn"],
.audit-replay-state[data-state="withdrawn"],
.audit-replay-state[data-state="contradicted"],
.audit-replay-state[data-state="missing-interface-record"] {
    border-color: color-mix(in srgb, var(--danger) 58%, var(--border));
    color: var(--danger);
}

.audit-replay-event-table td small {
    display: block;
    min-width: 12rem;
    margin-top: 0.4rem;
    color: var(--muted);
    line-height: 1.45;
}

@media (max-width: 720px) {
    .jmr-posture-pair,
    .jmr-record-grid {
        grid-template-columns: 1fr;
    }
}

@media print {
    .jmr-posture-pair,
    .jmr-record-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Release 1.20.0: two-tier navigation hierarchy and JADC2 assurance lab. */
:root {
    --utility-height: 50px;
    --header-height: 78px;
}

.utility-bar {
    border-bottom-color: rgba(151, 194, 176, .16);
    background:
        linear-gradient(90deg, rgba(57, 217, 200, .035), transparent 34%, rgba(140, 200, 255, .035)),
        #030806;
}

.utility-inner {
    display: grid;
    grid-template-columns: minmax(14rem, 1fr) auto;
    gap: clamp(.8rem, 2vw, 1.6rem);
    min-height: var(--utility-height);
    overflow: visible;
    white-space: normal;
    text-transform: none;
    letter-spacing: normal;
}

.utility-context {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: .72rem;
}

.utility-kicker {
    flex: 0 0 auto;
    border: 1px solid rgba(57, 217, 200, .28);
    border-radius: 999px;
    padding: .24rem .52rem;
    color: var(--teal);
    background: rgba(57, 217, 200, .07);
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.utility-message {
    min-width: 0;
    overflow: hidden;
    color: var(--muted);
    font-size: .75rem;
    font-weight: 670;
    letter-spacing: .025em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.utility-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(7.6rem, auto));
    align-items: center;
    gap: .42rem;
    overflow: visible;
}

.utility-link,
.utility-links .utility-link {
    display: grid;
    min-width: 0;
    border: 1px solid rgba(151, 194, 176, .18);
    border-radius: 9px;
    padding: .32rem .58rem;
    color: var(--text);
    background: rgba(13, 28, 24, .52);
    line-height: 1.05;
    text-decoration: none;
    transition: border-color .18s var(--ease), background .18s var(--ease), transform .18s var(--ease);
}

.utility-links .utility-link + .utility-link {
    border-left: 1px solid rgba(151, 194, 176, .18);
    padding-left: .58rem;
}

.utility-link:hover,
.utility-link:focus-visible {
    border-color: rgba(57, 217, 200, .52);
    background: rgba(57, 217, 200, .1);
    transform: translateY(-1px);
}

.utility-link-name {
    overflow: hidden;
    color: var(--text);
    font-size: .73rem;
    font-weight: 850;
    letter-spacing: .02em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.utility-link small {
    overflow: hidden;
    margin-top: .18rem;
    color: var(--muted);
    font-size: .58rem;
    font-weight: 650;
    letter-spacing: .025em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.utility-link-answerability {
    border-color: rgba(167, 244, 50, .3);
}

.utility-link-answerability .utility-link-name {
    color: var(--primary);
}

.utility-link-evulgare {
    border-color: rgba(140, 200, 255, .32);
    background: rgba(140, 200, 255, .065);
}

.utility-link-evulgare .utility-link-name {
    color: var(--blue);
}

.header-inner {
    gap: clamp(1rem, 2.4vw, 2rem);
}

.primary-nav {
    align-items: center;
    gap: .55rem;
}

.primary-nav-main {
    gap: .38rem;
}

.primary-nav a,
.nav-more summary {
    max-width: none;
    border-color: rgba(151, 194, 176, .18);
    border-radius: 11px;
    padding: .66rem .78rem;
    background: rgba(13, 28, 24, .62);
    font-size: clamp(.73rem, .78vw, .85rem);
    letter-spacing: .015em;
}

.nav-more summary {
    min-width: 6.4rem;
}

.nav-more-menu {
    width: min(48rem, calc(100vw - 2rem));
    min-width: 36rem;
    max-height: min(72vh, 42rem);
    overflow: auto;
    gap: 0;
    border-color: rgba(151, 194, 176, .28);
    padding: 0;
    background:
        radial-gradient(circle at 100% 0, rgba(140, 200, 255, .09), transparent 22rem),
        rgba(7, 17, 14, .995);
}

.nav-more-menu::before {
    background: #0a1814;
}

.nav-more-intro {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid rgba(151, 194, 176, .18);
    padding: 1rem 1.05rem .9rem;
    background: rgba(13, 28, 24, .58);
}

.nav-more-intro .eyebrow {
    margin: 0;
}

.nav-more-intro strong {
    max-width: 28rem;
    color: var(--muted-2);
    font-size: .82rem;
    line-height: 1.35;
    text-align: right;
}

.nav-more-groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    padding: .85rem;
}

.nav-more-group {
    min-width: 0;
    border: 1px solid rgba(151, 194, 176, .14);
    border-radius: 12px;
    padding: .62rem;
    background: rgba(3, 8, 6, .35);
}

.nav-more-group h2 {
    margin: .12rem .2rem .48rem;
    color: var(--primary);
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .11em;
    line-height: 1.2;
    text-transform: uppercase;
}

.nav-more-menu .nav-more-group a {
    display: grid;
    gap: .17rem;
    border-color: transparent;
    padding: .62rem .65rem;
    background: transparent;
    text-align: left;
    white-space: normal;
}

.nav-more-menu .nav-more-group a + a {
    margin-top: .18rem;
}

.nav-more-menu .nav-more-group a:hover,
.nav-more-menu .nav-more-group a:focus-visible,
.nav-more-menu .nav-more-group a[aria-current="page"] {
    border-color: rgba(57, 217, 200, .28);
    background: rgba(57, 217, 200, .08);
}

.nav-more-menu .nav-more-group a > span {
    color: var(--text);
    font-weight: 800;
}

.nav-more-menu .nav-more-group a > small {
    overflow: visible;
    color: var(--muted);
    font-size: .67rem;
    font-weight: 560;
    line-height: 1.35;
    text-overflow: clip;
    white-space: normal;
}

.jadc2-mission-thread-assurance-page {
    background:
        radial-gradient(circle at 86% 6%, rgba(140, 200, 255, .09), transparent 28rem),
        radial-gradient(circle at 8% 34%, rgba(167, 244, 50, .055), transparent 25rem),
        var(--bg);
}

.jma-boundary,
.jma-workbench,
.jma-elements,
.jma-distinctions,
.jma-case-family,
.jma-faq,
.jma-results,
.jma-controls,
.jma-ledger,
.jma-record-grid > section,
.jma-action-grid > section {
    min-width: 0;
}

.jma-boundary {
    display: grid;
    grid-template-columns: minmax(0, 1.42fr) minmax(17rem, .58fr);
    gap: clamp(1rem, 3vw, 2.2rem);
    align-items: center;
    margin-block: clamp(1.5rem, 4vw, 3.5rem);
    border: 1px solid rgba(140, 200, 255, .28);
    border-radius: var(--radius);
    padding: clamp(1.1rem, 3vw, 2rem);
    background:
        radial-gradient(circle at 100% 0, rgba(140, 200, 255, .1), transparent 35%),
        linear-gradient(145deg, rgba(13, 28, 24, .96), rgba(7, 17, 14, .98));
    box-shadow: var(--shadow-soft);
}

.jma-boundary h2 {
    max-width: 24ch;
}

.jma-boundary p:last-child {
    margin-bottom: 0;
}

.jma-elements,
.jma-distinctions,
.jma-case-family,
.jma-faq {
    padding-block: clamp(2.3rem, 5vw, 5rem);
}

.jma-element-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    padding: 0;
    list-style: none;
    counter-reset: assurance-element;
}

.jma-element-list li {
    counter-increment: assurance-element;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .35rem .7rem;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: .9rem;
    background: rgba(13, 28, 24, .64);
}

.jma-element-list li::before {
    content: counter(assurance-element, decimal-leading-zero);
    grid-row: 1 / span 3;
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid rgba(140, 200, 255, .34);
    border-radius: 50%;
    color: var(--blue);
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: .7rem;
    font-weight: 850;
}

.jma-element-list code {
    color: var(--muted);
    font-size: .65rem;
}

.jma-element-list strong,
.jma-element-list span {
    grid-column: 2;
}

.jma-element-list span {
    color: var(--muted);
    font-size: .82rem;
    line-height: 1.5;
}

.jma-distinction-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .72rem;
}

.jma-distinction-grid article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: .62rem;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 13px;
    padding: .8rem .9rem;
    background: rgba(3, 8, 6, .38);
}

.jma-distinction-grid article > span {
    color: var(--danger);
    font-size: 1.15rem;
    font-weight: 900;
}

.jma-distinction-grid p {
    margin: 0;
    color: var(--muted-2);
}

.jma-case-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}

.jma-case-grid article {
    border: 1px solid var(--line);
    border-radius: 15px;
    padding: 1rem;
    background: linear-gradient(145deg, rgba(13, 28, 24, .86), rgba(7, 17, 14, .92));
}

.jma-case-grid h3 {
    margin: .5rem 0 .45rem;
}

.jma-case-grid p:last-child {
    margin-bottom: 0;
}

.jma-workbench {
    display: grid;
    grid-template-columns: minmax(17rem, .72fr) minmax(0, 1.68fr);
    gap: clamp(1rem, 2.5vw, 1.8rem);
    align-items: start;
    padding-block: clamp(2rem, 5vw, 5rem);
}

.jma-controls,
.jma-results {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(13, 28, 24, .86);
    box-shadow: var(--shadow-soft);
}

.jma-controls {
    position: sticky;
    top: calc(var(--header-height) + 1rem);
    display: grid;
    gap: .9rem;
    padding: clamp(1rem, 2vw, 1.35rem);
}

.jma-controls-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: .75rem;
}

.jma-controls-head h2 {
    margin-bottom: 0;
    font-size: clamp(1.25rem, 2.2vw, 1.7rem);
}

.jma-controls label {
    display: grid;
    gap: .38rem;
    color: var(--muted-2);
    font-weight: 760;
}

.jma-controls select {
    width: 100%;
}

.jma-case-brief {
    border: 1px solid rgba(140, 200, 255, .22);
    border-radius: 13px;
    padding: .9rem;
    background: rgba(140, 200, 255, .05);
}

.jma-case-brief h3 {
    margin: .35rem 0 .45rem;
}

.jma-case-brief dl,
.jma-case-brief dl > div {
    display: grid;
}

.jma-case-brief dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
    margin-bottom: 0;
}

.jma-case-brief dl > div {
    gap: .1rem;
    min-width: 0;
    border-top: 1px solid rgba(151, 194, 176, .14);
    padding-top: .45rem;
}

.jma-case-brief dt {
    color: var(--muted);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.jma-case-brief dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
}

.jma-results {
    display: grid;
    gap: 1rem;
    padding: clamp(1rem, 2.4vw, 1.55rem);
}

.jma-posture-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.jma-posture-pair article {
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 1rem;
    background: rgba(3, 8, 6, .36);
}

.jma-posture-pair h2 {
    margin: .35rem 0 .65rem;
    font-size: clamp(1.2rem, 2.4vw, 1.75rem);
}

.jma-summary,
.score-boundary {
    margin: 0;
    border-left: 3px solid var(--blue);
    padding: .82rem .95rem;
    background: rgba(140, 200, 255, .055);
}

.score-boundary {
    border-left-color: var(--warning);
    color: var(--muted-2);
    background: rgba(255, 180, 84, .055);
    font-size: .86rem;
}

.jma-facts {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .55rem;
}

.jma-facts article {
    display: grid;
    place-items: center;
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: .7rem .35rem;
    text-align: center;
    background: rgba(3, 8, 6, .34);
}

.jma-facts strong {
    color: var(--primary);
    font-size: 1.25rem;
}

.jma-facts span {
    color: var(--muted);
    font-size: .65rem;
    font-weight: 760;
    line-height: 1.25;
}

.jma-action-grid,
.jma-record-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}

.jma-action-grid > section,
.jma-record-grid > section,
.jma-ledger {
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: .9rem;
    background: rgba(3, 8, 6, .32);
}

.jma-action-grid h3,
.jma-record-grid h3,
.jma-ledger h3 {
    margin: 0 0 .58rem;
}

.jma-action-grid ul,
.jma-record-grid ul {
    margin: 0;
    padding-left: 1.1rem;
}

.jma-action-grid li + li,
.jma-record-grid li + li {
    margin-top: .38rem;
}

.jma-ledger .section-heading {
    margin-bottom: .8rem;
}

.jma-ledger table {
    min-width: 58rem;
}

.jma-ledger th,
.jma-ledger td {
    vertical-align: top;
}

.jma-ledger code {
    overflow-wrap: anywhere;
}

.analysis-status,
.state-label {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: .28rem .55rem;
    font-size: .68rem;
    font-weight: 830;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.analysis-status[data-state="supported"],
.state-label[data-state="supported"],
.state-label[data-state="current"] {
    border-color: rgba(131, 238, 157, .45);
    color: var(--success);
    background: rgba(131, 238, 157, .07);
}

.analysis-status[data-state="qualified"],
.state-label[data-state="qualified"],
.state-label[data-state="stale"],
.state-label[data-state="repeat-required"] {
    border-color: rgba(255, 180, 84, .48);
    color: var(--warning);
    background: rgba(255, 180, 84, .07);
}

.analysis-status[data-state="unresolved"],
.state-label[data-state="unresolved"],
.state-label[data-state="missing"],
.state-label[data-state="blocked"] {
    border-color: rgba(140, 200, 255, .48);
    color: var(--blue);
    background: rgba(140, 200, 255, .07);
}

.analysis-status[data-state="suspended"],
.state-label[data-state="suspended"],
.state-label[data-state="invalidated"] {
    border-color: rgba(255, 111, 97, .48);
    color: var(--danger);
    background: rgba(255, 111, 97, .07);
}

.analysis-status[data-state="withdrawn"],
.state-label[data-state="withdrawn"],
.state-label[data-state="revoked"] {
    border-color: rgba(255, 111, 97, .66);
    color: #ff9d92;
    background: rgba(255, 111, 97, .1);
}

@media (max-width: 1320px) {
    .utility-message {
        display: none;
    }

    .utility-inner {
        grid-template-columns: auto 1fr;
    }

    .utility-links {
        justify-content: end;
    }

    .primary-nav a,
    .nav-more summary {
        padding-inline: .68rem;
    }
}

@media (max-width: 1120px) {
    :root {
        --header-height: 72px;
    }

    .primary-nav {
        gap: .7rem;
    }

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

    .nav-more-menu {
        width: 100%;
        min-width: 0;
        max-height: none;
        overflow: visible;
    }

    .nav-more-intro {
        align-items: start;
    }

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

    .jma-controls {
        top: 1rem;
    }
}

@media (max-width: 900px) {
    .utility-context {
        display: none;
    }

    .utility-inner {
        display: block;
    }

    .utility-links {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
    }

    .jma-boundary,
    .jma-workbench {
        grid-template-columns: minmax(0, 1fr);
    }

    .jma-controls {
        position: static;
    }

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

@media (max-width: 720px) {
    :root {
        --utility-height: 46px;
    }

    .utility-link {
        padding: .34rem .42rem;
        text-align: center;
    }

    .utility-link-name {
        font-size: .68rem;
    }

    .utility-link small {
        display: none;
    }

    .nav-more-intro {
        display: grid;
    }

    .nav-more-intro strong {
        text-align: left;
    }

    .nav-more-groups,
    .jma-element-list,
    .jma-distinction-grid,
    .jma-case-grid,
    .jma-posture-pair,
    .jma-action-grid,
    .jma-record-grid {
        grid-template-columns: minmax(0, 1fr);
    }

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

    .jma-distinction-grid article {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .jma-distinction-grid article p {
        grid-column: 1 / -1;
    }
}

@media (max-width: 460px) {
    .utility-links {
        gap: .25rem;
    }

    .utility-link-name {
        font-size: .62rem;
    }

    .primary-nav-main {
        grid-template-columns: minmax(0, 1fr);
    }

    .jma-case-brief dl,
    .jma-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (prefers-reduced-motion: reduce) {
    .utility-link,
    .nav-more summary span {
        transition: none !important;
    }
}

@media print {
    .jadc2-mission-thread-assurance-page .utility-bar,
    .jadc2-mission-thread-assurance-page .site-header,
    .jadc2-mission-thread-assurance-page .site-footer,
    .jma-controls,
    .assurance-control-actions,
    .jma-faq,
    .related-pathways {
        display: none !important;
    }

    .jadc2-mission-thread-assurance-page,
    .jma-results,
    .jma-ledger,
    .jma-record-grid > section,
    .jma-action-grid > section {
        color: #000 !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .jma-workbench,
    .jma-posture-pair,
    .jma-action-grid,
    .jma-record-grid {
        display: block;
    }

    .jma-ledger,
    .jma-record-grid > section,
    .jma-action-grid > section {
        break-inside: avoid;
        margin-bottom: .7rem;
    }

    .jma-ledger table {
        min-width: 0;
        font-size: 7pt;
    }
}

/* Release 1.20.0: clearer two-level navigation and JADC2 assurance case lab. */
:root {
    --header-height: 74px;
    --utility-height: 44px;
}

.utility-inner {
    min-height: var(--utility-height);
    overflow: visible;
    white-space: normal;
}

.utility-context {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .7rem;
}

.utility-kicker {
    flex: 0 0 auto;
    border: 1px solid rgba(167, 244, 50, .24);
    border-radius: 999px;
    padding: .2rem .52rem;
    color: var(--primary);
    background: rgba(167, 244, 50, .06);
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .1em;
}

.utility-message {
    min-width: 0;
    overflow: hidden;
    color: var(--muted);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.utility-links {
    display: flex;
    flex: 0 0 auto;
    align-items: stretch;
    gap: .12rem;
}

.utility-link {
    display: grid;
    align-content: center;
    min-width: 0;
    padding: .22rem .72rem;
    border-left: 1px solid rgba(151, 194, 176, .18);
    color: var(--muted-2) !important;
    line-height: 1.12;
    text-decoration: none;
}

.utility-link:first-child {
    border-left: 0;
}

.utility-link-name {
    color: var(--primary);
    font-size: .69rem;
    font-weight: 820;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.utility-link small {
    margin-top: .12rem;
    color: var(--muted);
    font-size: .58rem;
    font-weight: 650;
    letter-spacing: .025em;
    text-transform: none;
}

.header-inner {
    gap: clamp(.9rem, 1.7vw, 1.7rem);
}

.primary-nav {
    display: block;
    min-width: 0;
    margin-left: auto;
    overflow: visible;
    padding: 0;
    border: 0;
    background: transparent;
}

.primary-nav-main {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .18rem;
    min-width: 0;
}

.primary-nav a {
    position: relative;
    flex: 0 0 auto;
    max-width: none;
    overflow: visible;
    padding: .68rem .66rem;
    border: 0;
    border-radius: 9px;
    color: var(--muted-2);
    background: transparent;
    font-size: clamp(.75rem, .73vw, .83rem);
    font-weight: 780;
    letter-spacing: .005em;
    line-height: 1.2;
    text-decoration: none;
    text-overflow: clip;
    white-space: nowrap;
}

.primary-nav a:hover,
.primary-nav a:focus-visible {
    color: var(--text);
    background: rgba(57, 217, 200, .09);
}

.primary-nav a[aria-current="location"] {
    color: var(--text);
    background: linear-gradient(145deg, rgba(167, 244, 50, .12), rgba(57, 217, 200, .07));
}

.primary-nav a[aria-current="location"]::after {
    content: "";
    position: absolute;
    right: .65rem;
    bottom: .24rem;
    left: .65rem;
    height: 2px;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--primary), var(--teal));
}

.nav-more,
.nav-more-menu,
.nav-more-groups {
    display: none !important;
}

.section-nav {
    position: relative;
    z-index: 32;
    border-bottom: 1px solid rgba(151, 194, 176, .16);
    background:
        linear-gradient(90deg, rgba(167, 244, 50, .035), transparent 28%, rgba(57, 217, 200, .035)),
        rgba(5, 13, 10, .97);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .12);
}

.section-nav-inner {
    display: grid;
    grid-template-columns: minmax(9.5rem, 12rem) minmax(0, 1fr);
    align-items: center;
    gap: clamp(.8rem, 2vw, 1.4rem);
    min-height: 58px;
}

.section-nav-context {
    display: grid;
    min-width: 0;
    line-height: 1.15;
}

.section-nav-context strong {
    color: var(--primary);
    font-size: .69rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.section-nav-context span {
    margin-top: .24rem;
    overflow: hidden;
    color: var(--muted);
    font-size: .67rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.section-nav-links {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .4rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: .55rem .1rem;
    scrollbar-color: rgba(167, 244, 50, .32) transparent;
    scrollbar-width: thin;
    scroll-snap-type: x proximity;
}

.section-nav-links::-webkit-scrollbar {
    height: 5px;
}

.section-nav-links::-webkit-scrollbar-thumb {
    border-radius: 99px;
    background: rgba(167, 244, 50, .28);
}

.section-nav-links a {
    flex: 0 0 auto;
    scroll-snap-align: start;
    border: 1px solid rgba(151, 194, 176, .16);
    border-radius: 999px;
    padding: .48rem .72rem;
    color: var(--muted-2);
    background: rgba(13, 28, 24, .5);
    font-size: .75rem;
    font-weight: 730;
    line-height: 1.15;
    text-decoration: none;
    white-space: nowrap;
}

.section-nav-links a:hover,
.section-nav-links a:focus-visible {
    border-color: rgba(57, 217, 200, .4);
    color: var(--text);
    background: rgba(57, 217, 200, .1);
}

.section-nav-links a[aria-current="page"] {
    border-color: rgba(167, 244, 50, .5);
    color: var(--text);
    background: linear-gradient(145deg, rgba(167, 244, 50, .15), rgba(57, 217, 200, .08));
    box-shadow: inset 0 0 0 1px rgba(167, 244, 50, .08);
}

@media (max-width: 1500px) {
    .utility-link small {
        display: none;
    }

    .utility-link {
        align-content: center;
    }
}

@media (max-width: 1280px) {
    :root {
        --header-height: 70px;
    }

    .brand-copy small {
        display: none;
    }

    .nav-toggle {
        display: block;
    }

    .primary-nav {
        position: absolute;
        top: calc(100% + 1px);
        right: 0;
        left: 0;
        display: none;
        max-height: calc(100dvh - var(--header-height));
        overflow: auto;
        margin: 0;
        padding: .8rem max(.75rem, calc((100vw - var(--shell)) / 2));
        border-bottom: 1px solid var(--line);
        background: rgba(7, 17, 14, .992);
        box-shadow: var(--shadow-soft);
    }

    .primary-nav.is-open {
        display: block;
    }

    .primary-nav-main {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: .55rem;
    }

    .primary-nav a {
        width: 100%;
        padding: .82rem .8rem;
        border: 1px solid rgba(151, 194, 176, .16);
        background: rgba(13, 28, 24, .5);
        font-size: .82rem;
        text-align: center;
    }

    .primary-nav a[aria-current="location"]::after {
        right: 1rem;
        left: 1rem;
    }

    body.nav-open {
        overflow: hidden;
    }
}

@media (max-width: 920px) {
    .utility-message,
    .utility-link small {
        display: none;
    }

    .section-nav-inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        padding-block: .45rem .25rem;
    }

    .section-nav-context {
        display: flex;
        align-items: baseline;
        gap: .6rem;
    }

    .section-nav-context span {
        margin-top: 0;
    }

    .section-nav-links {
        padding-top: .42rem;
    }
}

@media (max-width: 720px) {
    .primary-nav-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .utility-context {
        display: none;
    }

    .utility-inner {
        justify-content: center;
    }

    .utility-links {
        width: 100%;
        justify-content: center;
    }

    .utility-link {
        flex: 1 1 0;
        justify-items: center;
        padding-inline: .35rem;
    }

    .section-nav-context span {
        display: none;
    }
}

@media (max-width: 430px) {
    .primary-nav-main {
        grid-template-columns: minmax(0, 1fr);
    }

    .brand-mark {
        width: 2.28rem;
        height: 2.28rem;
    }

    .brand-name {
        font-size: .94rem;
    }

    .utility-link-name {
        font-size: .61rem;
    }
}

/* JADC2 Mission-Thread Change Impact and Assurance Case Lab */
.jadc2-mission-thread-assurance-page {
    --page-accent: var(--blue);
    background:
        radial-gradient(circle at 84% 8%, rgba(140, 200, 255, .08), transparent 28rem),
        var(--bg);
}

.jma-boundary,
.jma-workbench,
.jma-results,
.jma-faq,
.jma-elements,
.jma-distinctions,
.jma-case-family,
.related-pathways {
    margin-block: clamp(2.2rem, 5vw, 4.8rem);
}

.jma-boundary {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(16rem, .75fr);
    gap: clamp(1.1rem, 4vw, 3rem);
    padding: clamp(1.25rem, 4vw, 2.35rem);
    border: 1px solid rgba(140, 200, 255, .3);
    border-radius: var(--radius);
    background:
        radial-gradient(circle at 100% 0, rgba(140, 200, 255, .1), transparent 38%),
        rgba(13, 28, 24, .82);
    box-shadow: var(--shadow-soft);
}

.jma-element-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
    padding: 0;
    list-style: none;
    counter-reset: jma-elements;
}

.jma-element-list li {
    display: grid;
    min-width: 0;
    gap: .4rem;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(13, 28, 24, .66);
    counter-increment: jma-elements;
}

.jma-element-list li::before {
    content: counter(jma-elements, decimal-leading-zero);
    color: var(--primary);
    font-size: .69rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.jma-element-list code,
.jma-element-list span {
    overflow-wrap: anywhere;
}

.jma-element-list code {
    color: var(--blue);
    font-size: .68rem;
}

.jma-element-list strong {
    color: var(--text);
    line-height: 1.25;
}

.jma-element-list span {
    color: var(--muted);
    font-size: .88rem;
    line-height: 1.55;
}

.jma-distinction-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .78rem;
}

.jma-distinction-grid article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: .65rem;
    min-width: 0;
    padding: .9rem 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(3, 8, 6, .28);
}

.jma-distinction-grid article > * {
    min-width: 0;
    overflow-wrap: anywhere;
}

.jma-distinction-grid article > span {
    color: var(--warning);
    font-weight: 900;
}

.jma-distinction-grid article p {
    margin: 0;
    color: var(--muted-2);
}

.jma-case-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.jma-case-grid article {
    min-width: 0;
    padding: 1.05rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(13, 28, 24, .68);
}

.jma-case-grid h3 {
    margin: .4rem 0 .55rem;
}

.jma-case-grid p:last-child {
    margin-bottom: 0;
}

.jma-workbench {
    padding: clamp(1rem, 3vw, 1.5rem);
    border: 1px solid rgba(167, 244, 50, .24);
    border-radius: var(--radius);
    background: rgba(6, 15, 12, .88);
    box-shadow: var(--shadow-soft);
}

.jma-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
}

.jma-controls-head,
.jma-case-brief,
.assurance-control-actions,
.jma-controls .lab-boundary {
    grid-column: 1 / -1;
}

.jma-controls-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.jma-controls label {
    min-width: 0;
    color: var(--muted-2);
    font-size: .82rem;
    font-weight: 780;
}

.jma-controls select {
    width: 100%;
    margin-top: .35rem;
}

.jma-case-brief {
    padding: 1rem;
    border: 1px solid rgba(140, 200, 255, .22);
    border-radius: var(--radius-sm);
    background: rgba(140, 200, 255, .055);
}

.jma-case-brief dl {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    margin-bottom: 0;
}

.jma-case-brief dl > div {
    min-width: 0;
    padding: .62rem;
    border-radius: 9px;
    background: rgba(3, 8, 6, .35);
}

.jma-case-brief dt {
    color: var(--muted);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.jma-case-brief dd {
    margin: .3rem 0 0;
    overflow-wrap: anywhere;
}

.jma-results {
    padding-top: 1.25rem;
    border-top: 1px solid var(--line);
}

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

.jma-posture-pair,
.jma-facts,
.jma-action-grid,
.jma-record-grid {
    display: grid;
    gap: .85rem;
    margin: 1rem 0;
}

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

.jma-posture-pair article,
.jma-facts article,
.jma-action-grid section,
.jma-record-grid section {
    min-width: 0;
    padding: .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(13, 28, 24, .62);
}

.jma-posture-pair span,
.jma-facts span {
    display: block;
    margin-bottom: .3rem;
    color: var(--muted);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.jma-posture-pair strong,
.jma-facts strong {
    display: block;
    color: var(--text);
    line-height: 1.25;
}

.jma-posture-pair small {
    display: block;
    margin-top: .35rem;
    color: var(--muted);
    line-height: 1.5;
}

.jma-facts {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

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

.jma-action-grid h3,
.jma-record-grid h3 {
    margin-bottom: .55rem;
}

.jma-action-grid ul,
.jma-record-grid ul {
    margin: 0;
    padding-left: 1.1rem;
}

.jma-action-grid li + li,
.jma-record-grid li + li {
    margin-top: .38rem;
}

.jma-ledger {
    margin-top: 1.2rem;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(3, 8, 6, .27);
}

.jma-ledger table {
    min-width: 62rem;
}

.state-label {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: .24rem .52rem;
    color: var(--muted-2);
    background: rgba(3, 8, 6, .28);
    font-size: .7rem;
    font-weight: 820;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.state-label[data-state="supported"],
.state-label[data-state="current"],
.analysis-status[data-state="qualified"] {
    border-color: rgba(131, 238, 157, .44);
    color: var(--success);
}

.state-label[data-state="qualified"],
.state-label[data-state="stale"],
.state-label[data-state="suspended"],
.analysis-status[data-state="suspended"] {
    border-color: rgba(255, 180, 84, .48);
    color: var(--warning);
}

.state-label[data-state="unresolved"],
.state-label[data-state="missing"],
.state-label[data-state="invalidated"],
.state-label[data-state="withdrawn"],
.analysis-status[data-state="unresolved"],
.analysis-status[data-state="withdrawn"] {
    border-color: rgba(255, 111, 97, .5);
    color: var(--danger);
}

@media (max-width: 1080px) {
    .jma-element-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

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

    .jma-case-brief dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .jma-boundary,
    .jma-controls,
    .jma-posture-pair,
    .jma-action-grid,
    .jma-record-grid,
    .jma-distinction-grid,
    .jma-case-grid,
    .jma-facts,
    .jma-case-brief dl {
        grid-template-columns: minmax(0, 1fr);
    }

    .jma-element-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .jma-distinction-grid article {
        grid-template-columns: minmax(0, 1fr);
    }

    .jma-distinction-grid article > span {
        justify-self: start;
    }

    .jma-controls-head,
    .jma-summary {
        display: grid;
    }

    .assurance-control-actions .button {
        width: 100%;
    }
}

@media print {
    .section-nav,
    .jadc2-mission-thread-assurance-page .jma-controls,
    .jadc2-mission-thread-assurance-page .assurance-control-actions,
    .jadc2-mission-thread-assurance-page .related-pathways {
        display: none !important;
    }

    .jma-boundary,
    .jma-workbench,
    .jma-results,
    .jma-ledger,
    .jma-element-list li,
    .jma-distinction-grid article,
    .jma-case-grid article,
    .jma-posture-pair article,
    .jma-action-grid section,
    .jma-record-grid section {
        color: #000;
        background: #fff !important;
        box-shadow: none;
    }

    .jma-element-list,
    .jma-case-grid,
    .jma-distinction-grid,
    .jma-posture-pair,
    .jma-action-grid,
    .jma-record-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Release 1.20.0: distinct ecosystem rail, grouped primary navigation, and JADC2 assurance lab. */
:root {
    --utility-height: 50px;
}

.ecosystem-bar {
    position: relative;
    z-index: 46;
    min-height: var(--utility-height);
    border-bottom: 1px solid rgba(151, 194, 176, .16);
    background: linear-gradient(90deg, #020604, #06110d 48%, #030807);
}

.ecosystem-bar-inner {
    min-height: var(--utility-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(1rem, 2vw, 2rem);
}

.ecosystem-switcher,
.utility-actions {
    display: flex;
    align-items: center;
    min-width: 0;
}

.ecosystem-switcher {
    gap: .35rem;
}

.ecosystem-product {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(0, auto) auto;
    align-items: baseline;
    gap: .42rem;
    min-width: 0;
    padding: .42rem .66rem;
    border: 1px solid transparent;
    border-radius: 9px;
    color: var(--muted-2);
    text-decoration: none;
    transition: border-color .18s var(--ease), background .18s var(--ease), color .18s var(--ease);
}

.ecosystem-product:hover,
.ecosystem-product:focus-visible {
    border-color: rgba(140, 200, 255, .34);
    color: var(--text);
    background: rgba(140, 200, 255, .07);
}

.ecosystem-product[aria-current="page"] {
    border-color: rgba(167, 244, 50, .35);
    color: var(--text);
    background: rgba(167, 244, 50, .09);
}

.ecosystem-product[aria-current="page"]::before {
    content: "";
    position: absolute;
    inset-block: .48rem;
    left: .24rem;
    width: 2px;
    border-radius: 99px;
    background: var(--primary);
}

.ecosystem-product-name {
    min-width: 0;
    overflow: hidden;
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .035em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ecosystem-product-role {
    min-width: 0;
    overflow: hidden;
    color: var(--muted);
    font-size: .65rem;
    font-weight: 650;
    letter-spacing: .035em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.external-mark {
    color: var(--teal);
    font-size: .68rem;
}

.utility-actions {
    flex: 0 0 auto;
    justify-content: flex-end;
    gap: .2rem;
}

.utility-actions a {
    padding: .42rem .55rem;
    border-radius: 8px;
    color: var(--muted);
    font-size: .68rem;
    font-weight: 760;
    letter-spacing: .055em;
    text-decoration: none;
    text-transform: uppercase;
}

.utility-actions a:hover,
.utility-actions a:focus-visible {
    color: var(--primary);
    background: rgba(167, 244, 50, .07);
}

.site-header {
    min-height: var(--header-height);
}

.header-inner {
    min-height: var(--header-height);
    gap: clamp(1rem, 2.2vw, 2.5rem);
}

.brand {
    min-width: 15.6rem;
}

.primary-nav {
    flex: 1 1 auto;
    min-width: 0;
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    overflow: visible;
    white-space: normal;
}

.nav-group-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(.2rem, .5vw, .55rem);
    min-width: 0;
}

.nav-group {
    position: relative;
    flex: 0 0 auto;
}

.nav-group > summary,
.nav-direct {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    min-height: 2.7rem;
    padding: .58rem .72rem;
    border: 0;
    border-radius: 8px;
    color: var(--muted-2);
    background: transparent;
    font-size: clamp(.76rem, .82vw, .9rem);
    font-weight: 780;
    line-height: 1.15;
    letter-spacing: .006em;
    list-style: none;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
}

.nav-group > summary::-webkit-details-marker {
    display: none;
}

.nav-group > summary::after,
.nav-direct::after {
    content: "";
    position: absolute;
    right: .72rem;
    bottom: .18rem;
    left: .72rem;
    height: 2px;
    border-radius: 99px;
    background: transparent;
}

.nav-group > summary:hover,
.nav-group > summary:focus-visible,
.nav-group[open] > summary,
.nav-direct:hover,
.nav-direct:focus-visible {
    color: var(--text);
    background: rgba(57, 217, 200, .075);
}

.nav-group.is-current > summary,
.nav-direct[aria-current="page"] {
    color: var(--text);
    background: rgba(167, 244, 50, .075);
}

.nav-group.is-current > summary::after,
.nav-direct[aria-current="page"]::after {
    background: linear-gradient(90deg, var(--primary), var(--teal));
}

.nav-chevron {
    color: var(--primary);
    font-size: .82rem;
    line-height: 1;
    transition: transform .18s var(--ease);
}

.nav-group[open] .nav-chevron {
    transform: rotate(180deg);
}

.nav-group-menu {
    position: absolute;
    top: calc(100% + .72rem);
    left: 50%;
    z-index: 70;
    width: min(31rem, calc(100vw - 2rem));
    transform: translateX(-50%);
    border: 1px solid var(--line-strong);
    border-radius: 16px;
    padding: .7rem;
    background: rgba(5, 13, 10, .99);
    box-shadow: 0 26px 80px rgba(0, 0, 0, .48);
}

.nav-group:last-of-type .nav-group-menu {
    right: 0;
    left: auto;
    transform: none;
}

.nav-group-heading {
    margin: 0 0 .55rem;
    padding: .25rem .4rem .55rem;
    border-bottom: 1px solid var(--line);
    color: var(--muted);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.nav-group-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .35rem;
}

.primary-nav .nav-group-links a {
    display: grid;
    gap: .16rem;
    min-width: 0;
    max-width: none;
    padding: .72rem .78rem;
    border: 1px solid transparent;
    border-radius: 10px;
    color: var(--muted-2);
    background: transparent;
    font-size: .78rem;
    font-weight: 780;
    line-height: 1.25;
    text-align: left;
    white-space: normal;
}

.primary-nav .nav-group-links a span {
    color: var(--text);
}

.primary-nav .nav-group-links a small {
    color: var(--muted);
    font-size: .68rem;
    font-weight: 560;
    line-height: 1.35;
}

.primary-nav .nav-group-links a:hover,
.primary-nav .nav-group-links a:focus-visible {
    border-color: rgba(57, 217, 200, .28);
    background: rgba(57, 217, 200, .075);
}

.primary-nav .nav-group-links a[aria-current="page"] {
    border-color: rgba(167, 244, 50, .35);
    background: rgba(167, 244, 50, .085);
}

.primary-nav .nav-group-links a[aria-current="page"]::after {
    display: none;
}

.mobile-utility-actions {
    display: none;
}

/* JADC2 Mission-Thread Change Impact and Assurance Case Lab */
.jadc2-mission-thread-assurance-page {
    background:
        radial-gradient(circle at 84% 7%, rgba(140, 200, 255, .08), transparent 27rem),
        radial-gradient(circle at 12% 20%, rgba(167, 244, 50, .055), transparent 24rem),
        var(--bg);
}

.jma-boundary,
.jma-elements,
.jma-distinctions,
.jma-case-family,
.jma-faq,
.jma-workbench {
    margin-block: clamp(2rem, 5vw, 4.5rem);
}

.jma-boundary {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr);
    gap: clamp(1rem, 3vw, 2.25rem);
    align-items: start;
    border: 1px solid rgba(140, 200, 255, .3);
    border-radius: var(--radius);
    padding: clamp(1rem, 3vw, 2rem);
    background:
        radial-gradient(circle at 100% 0, rgba(140, 200, 255, .12), transparent 42%),
        rgba(13, 28, 24, .74);
}

.boundary-ledger,
.jma-case-brief dl {
    display: grid;
    gap: .55rem;
    margin: 0;
}

.boundary-ledger div,
.jma-case-brief dl div {
    display: grid;
    grid-template-columns: minmax(5rem, .42fr) minmax(0, 1fr);
    gap: .7rem;
    padding: .65rem .72rem;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: rgba(3, 8, 6, .36);
}

.boundary-ledger dt,
.jma-case-brief dt {
    color: var(--blue);
    font-size: .72rem;
    font-weight: 820;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.boundary-ledger dd,
.jma-case-brief dd {
    margin: 0;
}

.jma-element-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.jma-element-list li,
.jma-case-grid article,
.jma-distinction-grid article,
.jma-action-grid section,
.jma-record-grid section,
.jma-posture-pair article {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(13, 28, 24, .66);
}

.jma-element-list li {
    display: grid;
    gap: .35rem;
    padding: .85rem;
}

.jma-element-list code {
    color: var(--blue);
    font-size: .68rem;
}

.jma-element-list strong {
    color: var(--text);
}

.jma-element-list span {
    color: var(--muted);
    font-size: .8rem;
    line-height: 1.45;
}

.jma-distinction-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}

.jma-distinction-grid article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: .65rem;
    align-items: center;
    padding: .8rem .9rem;
}

.jma-distinction-grid article > span {
    color: var(--danger);
    font-size: 1.2rem;
    font-weight: 900;
}

.jma-distinction-grid p {
    margin: 0;
    color: var(--muted-2);
}

.jma-case-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}

.jma-case-grid article {
    padding: 1rem;
}

.jma-case-grid h3 {
    margin: .45rem 0 .5rem;
}

.jma-workbench {
    display: grid;
    grid-template-columns: minmax(18rem, .68fr) minmax(0, 1.32fr);
    gap: clamp(1rem, 2vw, 1.5rem);
    align-items: start;
}

.jma-controls,
.jma-results {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(7, 17, 14, .88);
    box-shadow: var(--shadow-soft);
}

.jma-controls {
    position: sticky;
    top: calc(var(--header-height) + 1rem);
    display: grid;
    gap: .9rem;
    padding: clamp(1rem, 2.5vw, 1.5rem);
}

.jma-controls-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.jma-controls label {
    display: grid;
    gap: .35rem;
    color: var(--muted-2);
    font-size: .78rem;
    font-weight: 800;
}

.jma-controls select {
    width: 100%;
}

.jma-case-brief {
    border: 1px solid rgba(140, 200, 255, .22);
    border-radius: var(--radius-sm);
    padding: 1rem;
    background: rgba(140, 200, 255, .045);
}

.jma-case-brief h3 {
    margin: .25rem 0 .45rem;
}

.assurance-control-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.assurance-control-actions .button {
    justify-content: center;
    text-align: center;
}

.jma-results {
    display: grid;
    gap: 1rem;
    padding: clamp(1rem, 2.5vw, 1.5rem);
}

.jma-posture-pair,
.jma-action-grid,
.jma-record-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.jma-posture-pair article,
.jma-action-grid section,
.jma-record-grid section {
    padding: .9rem;
}

.jma-posture-pair h2 {
    margin: .2rem 0 .65rem;
    font-size: clamp(1.05rem, 2vw, 1.35rem);
}

.jma-summary,
.score-boundary {
    margin: 0;
    border-left: 4px solid var(--blue);
    padding: .85rem 1rem;
    background: rgba(140, 200, 255, .055);
}

.score-boundary {
    border-left-color: var(--warning);
    color: var(--muted-2);
}

.jma-facts {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .55rem;
}

.jma-facts article {
    display: grid;
    gap: .2rem;
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: .7rem;
    text-align: center;
    background: rgba(3, 8, 6, .35);
}

.jma-facts strong {
    color: var(--primary);
    font-size: 1.15rem;
}

.jma-facts span {
    color: var(--muted);
    font-size: .68rem;
    text-transform: uppercase;
}

.jma-action-grid h3,
.jma-record-grid h3 {
    margin-bottom: .5rem;
    font-size: .95rem;
}

.jma-action-grid ul,
.jma-record-grid ul {
    margin-bottom: 0;
}

.jma-ledger {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: .85rem;
    background: rgba(3, 8, 6, .25);
}

.jma-ledger table {
    min-width: 70rem;
}

.jma-ledger td small {
    display: block;
    margin-top: .35rem;
    color: var(--muted);
}

.state-label,
.analysis-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: .22rem .52rem;
    color: var(--muted-2);
    background: rgba(151, 194, 176, .06);
    font-size: .68rem;
    font-weight: 820;
    line-height: 1.25;
    text-transform: capitalize;
}

.state-label[data-state="supported"],
.state-label[data-state="current"],
.analysis-status[data-state="supported"] {
    border-color: rgba(131, 238, 157, .35);
    color: var(--success);
    background: rgba(131, 238, 157, .08);
}

.state-label[data-state="qualified"],
.analysis-status[data-state="qualified"] {
    border-color: rgba(140, 200, 255, .35);
    color: var(--blue);
    background: rgba(140, 200, 255, .08);
}

.state-label[data-state="unresolved"],
.state-label[data-state="missing"],
.state-label[data-state="blocked"],
.analysis-status[data-state="unresolved"] {
    border-color: rgba(255, 180, 84, .42);
    color: var(--warning);
    background: rgba(255, 180, 84, .08);
}

.state-label[data-state="suspended"],
.state-label[data-state="stale"],
.state-label[data-state="repeat-required"],
.state-label[data-state="unreconciled"],
.analysis-status[data-state="suspended"] {
    border-color: rgba(255, 111, 97, .4);
    color: var(--danger);
    background: rgba(255, 111, 97, .08);
}

.state-label[data-state="withdrawn"],
.state-label[data-state="invalidated"],
.state-label[data-state="revoked"],
.state-label[data-state="contradictory"],
.state-label[data-state="failed"],
.analysis-status[data-state="withdrawn"] {
    border-color: rgba(255, 111, 97, .6);
    color: #ff9b91;
    background: rgba(255, 111, 97, .12);
}

@media (max-width: 1380px) and (min-width: 1121px) {
    .header-inner {
        gap: .8rem;
    }

    .brand {
        min-width: 11.4rem;
    }

    .brand-copy small {
        display: none;
    }

    .nav-group > summary,
    .nav-direct {
        padding-inline: .54rem;
        font-size: .75rem;
    }

    .ecosystem-product-role {
        display: none;
    }
}

@media (max-width: 1120px) {
    :root {
        --header-height: 70px;
    }

    .ecosystem-bar-inner {
        gap: .5rem;
    }

    .ecosystem-product-role {
        display: none;
    }

    .utility-actions a {
        padding-inline: .4rem;
    }

    .brand {
        min-width: 0;
    }

    .nav-toggle {
        display: block;
    }

    .primary-nav {
        position: absolute;
        top: calc(100% + 1px);
        right: 0;
        left: 0;
        display: none;
        max-height: calc(100dvh - var(--header-height));
        overflow: auto;
        margin-left: 0;
        padding: .9rem max(.75rem, calc((100vw - var(--shell)) / 2));
        border-bottom: 1px solid var(--line);
        background: rgba(5, 13, 10, .995);
        box-shadow: var(--shadow);
    }

    .primary-nav.is-open {
        display: grid;
        gap: .75rem;
    }

    .nav-group-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .55rem;
        align-items: start;
    }

    .nav-group,
    .nav-direct {
        width: 100%;
    }

    .nav-group > summary,
    .nav-direct {
        width: 100%;
        justify-content: space-between;
        min-height: 3rem;
        border: 1px solid var(--line);
        padding: .72rem .82rem;
        background: rgba(13, 28, 24, .58);
        font-size: .84rem;
    }

    .nav-group-menu,
    .nav-group:last-of-type .nav-group-menu {
        position: static;
        width: 100%;
        margin-top: .45rem;
        transform: none;
        border-color: rgba(151, 194, 176, .22);
        box-shadow: none;
        background: rgba(3, 8, 6, .55);
    }

    .mobile-utility-actions {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: .45rem;
        padding-top: .75rem;
        border-top: 1px solid var(--line);
    }

    .mobile-utility-actions a {
        padding: .68rem;
        border: 1px solid var(--line);
        border-radius: 9px;
        color: var(--muted-2);
        background: rgba(13, 28, 24, .45);
        font-size: .75rem;
        font-weight: 760;
        text-align: center;
        text-decoration: none;
    }

    .jma-workbench,
    .jma-boundary {
        grid-template-columns: minmax(0, 1fr);
    }

    .jma-controls {
        position: static;
    }

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

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

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

@media (max-width: 760px) {
    :root {
        --utility-height: 54px;
    }

    .ecosystem-bar-inner {
        min-height: var(--utility-height);
    }

    .ecosystem-switcher {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ecosystem-product {
        display: flex;
        align-items: center;
        justify-content: center;
        padding-inline: .38rem;
    }

    .ecosystem-product-name {
        font-size: .68rem;
    }

    .external-mark {
        display: none;
    }

    .utility-actions {
        display: none;
    }

    .brand-copy small {
        display: none;
    }

    .nav-group-row,
    .mobile-utility-actions,
    .nav-group-links,
    .jma-distinction-grid,
    .jma-posture-pair,
    .jma-action-grid,
    .jma-record-grid,
    .jma-case-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .jma-element-list,
    .jma-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assurance-control-actions {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 420px) {
    .ecosystem-product-killchains .ecosystem-product-name {
        font-size: 0;
    }

    .ecosystem-product-killchains .ecosystem-product-name::after {
        content: "Chains";
        font-size: .67rem;
    }

    .ecosystem-product-killwebs .ecosystem-product-name {
        font-size: 0;
    }

    .ecosystem-product-killwebs .ecosystem-product-name::after {
        content: "Webs";
        font-size: .67rem;
    }

    .jma-element-list,
    .jma-facts {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    .nav-chevron,
    .ecosystem-product {
        transition: none;
    }
}

@media print {
    .ecosystem-bar,
    .site-header,
    .jma-controls,
    .assurance-control-actions,
    .jma-faq .faq-grid details:not([open]) {
        display: none !important;
    }

    .jma-workbench,
    .jma-boundary {
        display: block;
    }

    .jma-results,
    .jma-ledger,
    .jma-posture-pair article,
    .jma-action-grid section,
    .jma-record-grid section {
        break-inside: avoid;
        border-color: #777;
        color: #000;
        background: #fff;
        box-shadow: none;
    }

    .jma-ledger table {
        min-width: 0;
        font-size: 7pt;
    }
}

/* Release 1.20.0 navigation refinement: visually separated ecosystem and primary menus. */
.ecosystem-bar {
    min-height: 62px;
    border-bottom-color: rgba(151, 194, 176, .22);
    background:
        linear-gradient(90deg, rgba(167, 244, 50, .035), transparent 24%, transparent 76%, rgba(57, 217, 200, .035)),
        #020705;
}

.ecosystem-bar-inner {
    min-height: 62px;
    gap: clamp(.75rem, 1.5vw, 1.5rem);
}

.ecosystem-context {
    display: grid;
    flex: 0 0 auto;
    gap: .08rem;
    min-width: 10.5rem;
    padding-right: clamp(.65rem, 1.2vw, 1.1rem);
    border-right: 1px solid var(--line);
}

.ecosystem-context-kicker {
    color: var(--primary);
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .105em;
    text-transform: uppercase;
}

.ecosystem-context-copy {
    color: var(--muted);
    font-size: .66rem;
    line-height: 1.3;
}

.ecosystem-switcher {
    flex: 1 1 auto;
    gap: .48rem;
}

.ecosystem-product {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "name mark"
        "role mark";
    flex: 1 1 0;
    max-width: 14.75rem;
    min-height: 43px;
    gap: .08rem .5rem;
    padding: .46rem .68rem .43rem .78rem;
    border-color: rgba(151, 194, 176, .15);
    border-radius: 11px;
    background: rgba(13, 28, 24, .48);
}

.ecosystem-product-name {
    grid-area: name;
    font-size: .76rem;
    letter-spacing: .02em;
}

.ecosystem-product-role {
    grid-area: role;
    font-size: .62rem;
    letter-spacing: .015em;
}

.external-mark,
.current-mark {
    grid-area: mark;
    align-self: center;
}

.current-mark {
    border: 1px solid rgba(167, 244, 50, .32);
    border-radius: 999px;
    padding: .13rem .34rem;
    color: var(--primary);
    font-size: .54rem;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.ecosystem-product[aria-current="page"] {
    border-color: rgba(167, 244, 50, .42);
    box-shadow: inset 0 0 0 1px rgba(167, 244, 50, .05);
}

.utility-actions {
    gap: .35rem;
    padding-left: clamp(.55rem, 1vw, .9rem);
    border-left: 1px solid var(--line);
}

.utility-actions a {
    border: 1px solid rgba(151, 194, 176, .14);
    padding: .47rem .58rem;
    background: rgba(13, 28, 24, .35);
    font-size: .62rem;
}

.site-header {
    border-bottom-color: rgba(151, 194, 176, .24);
    background: rgba(5, 13, 10, .97);
}

.header-inner {
    gap: clamp(1rem, 2vw, 2rem);
}

.brand {
    flex: 0 0 auto;
    min-width: 14.25rem;
    padding-right: clamp(.75rem, 1.3vw, 1.25rem);
    border-right: 1px solid var(--line);
}

.primary-nav {
    overflow: visible;
}

.nav-group-row {
    flex: 1 1 auto;
    gap: .42rem;
}

.nav-direct,
.nav-group > summary {
    min-height: 2.74rem;
    border: 1px solid rgba(151, 194, 176, .15);
    border-radius: 10px;
    padding: .61rem .76rem;
    background: rgba(13, 28, 24, .36);
    font-size: clamp(.72rem, .78vw, .84rem);
}

.nav-direct:hover,
.nav-direct:focus-visible,
.nav-group > summary:hover,
.nav-group > summary:focus-visible,
.nav-group[open] > summary {
    border-color: rgba(57, 217, 200, .34);
}

.nav-direct[aria-current="page"],
.nav-group.is-current > summary {
    border-color: rgba(167, 244, 50, .4);
    background: rgba(167, 244, 50, .085);
}

.nav-mega {
    position: static;
}

.nav-mega-menu,
.nav-group:last-of-type .nav-mega-menu {
    top: calc(100% + .72rem);
    right: 0;
    left: auto;
    width: min(72rem, calc(100vw - 2rem));
    max-height: min(72vh, 46rem);
    overflow: auto;
    transform: none;
    padding: 1rem;
}

.nav-mega-intro {
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    grid-template-areas:
        "eyebrow copy"
        "title copy";
    gap: .05rem 1.5rem;
    align-items: end;
    margin-bottom: .85rem;
    padding: .2rem .25rem .9rem;
    border-bottom: 1px solid var(--line);
}

.nav-mega-intro .eyebrow {
    grid-area: eyebrow;
    margin: 0;
}

.nav-mega-intro h2 {
    grid-area: title;
    margin: 0;
    font-size: 1.3rem;
}

.nav-mega-intro > p:last-child {
    grid-area: copy;
    justify-self: end;
    max-width: 35rem;
    margin: 0;
    color: var(--muted);
    text-align: right;
}

.nav-mega-sections {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .65rem;
}

.nav-mega-section {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: .62rem;
    background: rgba(13, 28, 24, .42);
}

.nav-mega-section-heading {
    min-height: 4.25rem;
    margin-bottom: .45rem;
    padding: .15rem .18rem .55rem;
    border-bottom: 1px solid var(--line);
}

.nav-mega-section-heading h3 {
    margin: 0 0 .2rem;
    color: var(--text);
    font-size: .82rem;
}

.nav-mega-section-heading p {
    margin: 0;
    color: var(--muted);
    font-size: .66rem;
    line-height: 1.35;
}

.nav-mega-section .nav-group-links {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .3rem;
}

.primary-nav .nav-mega-section .nav-group-links a {
    min-height: 0;
    padding: .55rem .58rem;
}

.primary-nav .nav-mega-section .nav-group-links a span {
    font-size: .73rem;
}

.primary-nav .nav-mega-section .nav-group-links a small {
    font-size: .62rem;
}

@media (max-width: 1480px) and (min-width: 1121px) {
    .ecosystem-context-copy,
    .brand-copy small {
        display: none;
    }

    .ecosystem-context {
        min-width: 0;
    }

    .ecosystem-product-role {
        display: block;
    }

    .utility-actions a {
        padding-inline: .44rem;
    }

    .brand {
        min-width: 10.8rem;
    }

    .nav-direct,
    .nav-group > summary {
        padding-inline: .58rem;
        font-size: .72rem;
    }
}

@media (max-width: 1180px) and (min-width: 1121px) {
    .ecosystem-context,
    .utility-actions {
        display: none;
    }

    .ecosystem-switcher {
        width: 100%;
    }

    .ecosystem-product {
        max-width: none;
    }
}

@media (max-width: 1120px) {
    .ecosystem-bar {
        min-height: auto;
    }

    .ecosystem-bar-inner {
        min-height: auto;
        padding-block: .45rem;
    }

    .ecosystem-context {
        display: none;
    }

    .ecosystem-switcher {
        width: 100%;
    }

    .ecosystem-product {
        max-width: none;
    }

    .utility-actions {
        display: none;
    }

    .brand {
        border-right: 0;
        padding-right: 0;
    }

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

    .nav-mega {
        grid-column: 1 / -1;
    }

    .nav-mega-menu,
    .nav-group:last-of-type .nav-mega-menu {
        max-height: none;
        overflow: visible;
        padding: .75rem;
    }

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

    .nav-mega-intro {
        display: block;
    }

    .nav-mega-intro > p:last-child {
        margin-top: .35rem;
        text-align: left;
    }
}

@media (max-width: 760px) {
    .ecosystem-bar-inner {
        display: block;
    }

    .ecosystem-switcher {
        gap: .35rem;
    }

    .ecosystem-product {
        min-height: 46px;
        padding: .42rem .4rem;
        text-align: center;
    }

    .ecosystem-product-name {
        font-size: .66rem;
    }

    .ecosystem-product-role,
    .current-mark,
    .external-mark {
        display: none;
    }

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

    .nav-mega-sections {
        grid-template-columns: minmax(0, 1fr);
    }

    .nav-mega-section-heading {
        min-height: 0;
    }
}

@media (max-width: 420px) {
    .ecosystem-product-killchains .ecosystem-product-name,
    .ecosystem-product-killwebs .ecosystem-product-name {
        font-size: .61rem;
    }

    .ecosystem-product-killchains .ecosystem-product-name::after,
    .ecosystem-product-killwebs .ecosystem-product-name::after {
        content: none;
    }

    .nav-group-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Release 1.20.0 final navigation pass: compact ecosystem rail, eight category tabs, contextual section rail. */
.ecosystem-bar-inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: clamp(.7rem, 1.5vw, 1.35rem);
}

.ecosystem-label {
    color: var(--muted);
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
    white-space: nowrap;
}

.ecosystem-switcher {
    justify-content: flex-start;
    gap: .32rem;
}

.ecosystem-product {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .45rem;
    min-height: 2.35rem;
    padding: .34rem .58rem;
}

.ecosystem-product-copy {
    display: grid;
    min-width: 0;
    gap: .08rem;
    line-height: 1.05;
}

.ecosystem-product-copy strong {
    overflow: hidden;
    color: inherit;
    font-size: .72rem;
    font-weight: 860;
    letter-spacing: .02em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ecosystem-product-copy small {
    overflow: hidden;
    color: var(--muted);
    font-size: .58rem;
    font-weight: 620;
    letter-spacing: .025em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.current-mark {
    border: 1px solid rgba(167, 244, 50, .28);
    border-radius: 999px;
    padding: .16rem .32rem;
    color: var(--primary);
    font-size: .52rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.primary-nav .nav-group-row {
    display: grid;
    grid-template-columns: repeat(8, max-content);
    align-items: center;
    justify-content: end;
    gap: clamp(.18rem, .42vw, .48rem);
}

.nav-category {
    position: relative;
    display: inline-flex;
    min-height: 2.7rem;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 9px;
    padding: .58rem clamp(.48rem, .72vw, .72rem);
    color: var(--muted-2);
    background: transparent;
    font-size: clamp(.7rem, .72vw, .82rem);
    font-weight: 790;
    letter-spacing: .006em;
    line-height: 1.12;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.nav-category:hover,
.nav-category:focus-visible {
    border-color: rgba(57, 217, 200, .25);
    color: var(--text);
    background: rgba(57, 217, 200, .075);
}

.nav-category[aria-current="location"] {
    border-color: rgba(167, 244, 50, .3);
    color: var(--text);
    background: linear-gradient(145deg, rgba(167, 244, 50, .12), rgba(57, 217, 200, .055));
}

.nav-category[aria-current="location"]::after {
    content: "";
    position: absolute;
    right: .62rem;
    bottom: .22rem;
    left: .62rem;
    height: 2px;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--primary), var(--teal));
}

.section-nav-inner {
    grid-template-columns: minmax(8.5rem, 11rem) minmax(0, 1fr);
    min-height: 54px;
}

.section-nav-links a {
    min-height: 2.15rem;
    display: inline-flex;
    align-items: center;
}

@media (max-width: 1500px) {
    .ecosystem-product-copy small,
    .current-mark {
        display: none;
    }

    .ecosystem-product {
        min-height: 2.1rem;
    }
}

@media (max-width: 1260px) and (min-width: 1121px) {
    .ecosystem-label {
        display: none;
    }

    .ecosystem-bar-inner {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .brand {
        min-width: 11.8rem;
    }

    .brand-copy small {
        display: none;
    }

    .nav-category {
        padding-inline: .42rem;
        font-size: .69rem;
    }
}

@media (max-width: 1120px) {
    .ecosystem-label {
        display: none;
    }

    .ecosystem-bar-inner {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .primary-nav .nav-group-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
    }

    .nav-category {
        width: 100%;
        min-height: 3rem;
        justify-content: flex-start;
        border-color: var(--line);
        padding: .72rem .82rem;
        background: rgba(13, 28, 24, .58);
        font-size: .84rem;
        text-align: left;
    }

    .nav-category[aria-current="location"]::after {
        top: .65rem;
        right: auto;
        bottom: .65rem;
        left: .3rem;
        width: 2px;
        height: auto;
    }

    .section-nav-inner {
        grid-template-columns: minmax(7.5rem, 9rem) minmax(0, 1fr);
    }
}

@media (max-width: 760px) {
    .ecosystem-bar-inner {
        display: block;
        padding-inline: .45rem;
    }

    .ecosystem-switcher {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .22rem;
    }

    .ecosystem-product {
        display: flex;
        min-width: 0;
        justify-content: center;
        padding-inline: .32rem;
    }

    .ecosystem-product-copy strong {
        font-size: .66rem;
    }

    .section-nav-inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: .18rem;
        padding-block: .45rem;
    }

    .section-nav-context {
        display: flex;
        align-items: baseline;
        gap: .55rem;
    }

    .section-nav-context span {
        margin: 0;
    }

    .section-nav-links {
        width: 100%;
        padding-block: .35rem .2rem;
    }
}

@media (max-width: 520px) {
    .primary-nav .nav-group-row,
    .mobile-utility-actions {
        grid-template-columns: minmax(0, 1fr);
    }

    .ecosystem-product-copy strong {
        font-size: 0;
    }

    .ecosystem-product-killchains .ecosystem-product-copy strong::after {
        content: "Chains";
        font-size: .67rem;
    }

    .ecosystem-product-killwebs .ecosystem-product-copy strong::after {
        content: "Webs";
        font-size: .67rem;
    }

    .ecosystem-product-evulgare .ecosystem-product-copy strong::after {
        content: "Evulgare";
        font-size: .67rem;
    }
}

@media print {
    .section-nav {
        display: none !important;
    }
}

/* Release 1.20.0 definitive navigation architecture: separated ecosystem cards,
   six primary destinations, one grouped Topics menu, and readable pathway cards. */
.ecosystem-bar {
    min-height: 66px;
}

.ecosystem-bar-inner {
    display: grid;
    grid-template-columns: minmax(9.5rem, 12rem) minmax(0, 1fr) auto;
    min-height: 66px;
    gap: clamp(.7rem, 1.35vw, 1.25rem);
    padding-block: .42rem;
}

.ecosystem-context {
    display: grid;
    min-width: 0;
    align-content: center;
    gap: .12rem;
    padding-right: clamp(.65rem, 1vw, 1rem);
    border-right: 1px solid rgba(151, 194, 176, .18);
}

.ecosystem-context-kicker,
.ecosystem-context-copy {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ecosystem-context-kicker {
    color: var(--primary);
    font-size: .63rem;
    font-weight: 880;
    letter-spacing: .115em;
    text-transform: uppercase;
}

.ecosystem-context-copy {
    color: var(--muted);
    font-size: .63rem;
    line-height: 1.3;
}

.ecosystem-switcher {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
    gap: .42rem;
}

.ecosystem-product {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "name mark"
        "role mark";
    max-width: none;
    min-height: 48px;
    align-content: center;
    gap: .12rem .45rem;
    padding: .48rem .62rem .45rem .75rem;
    border: 1px solid rgba(151, 194, 176, .18);
    border-radius: 11px;
    background: rgba(13, 28, 24, .48);
}

.ecosystem-product-name {
    grid-area: name;
    overflow: hidden;
    color: inherit;
    font-size: .74rem;
    font-weight: 870;
    letter-spacing: .018em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ecosystem-product-role {
    grid-area: role;
    overflow: hidden;
    color: var(--muted);
    font-size: .6rem;
    font-weight: 620;
    letter-spacing: .018em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ecosystem-product .external-mark,
.ecosystem-product .current-mark {
    grid-area: mark;
    align-self: center;
}

.utility-actions {
    display: grid;
    grid-template-columns: repeat(4, max-content);
    gap: .28rem;
    padding-left: clamp(.55rem, 1vw, .85rem);
    border-left: 1px solid rgba(151, 194, 176, .18);
}

.utility-actions a {
    min-height: 2.2rem;
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(151, 194, 176, .14);
    border-radius: 9px;
    padding: .42rem .52rem;
    background: rgba(13, 28, 24, .36);
    font-size: .61rem;
}

.header-inner {
    gap: clamp(.8rem, 1.45vw, 1.45rem);
}

.brand {
    min-width: clamp(11rem, 15vw, 14rem);
    padding-right: clamp(.65rem, 1vw, 1rem);
    border-right: 1px solid rgba(151, 194, 176, .18);
}

.primary-nav .nav-group-row {
    display: grid;
    grid-template-columns: repeat(6, max-content) max-content;
    align-items: center;
    justify-content: end;
    gap: clamp(.26rem, .45vw, .48rem);
}

.nav-direct,
.nav-mega > summary {
    min-height: 2.76rem;
    border: 1px solid rgba(151, 194, 176, .17);
    border-radius: 10px;
    padding: .6rem clamp(.55rem, .68vw, .72rem);
    background: rgba(13, 28, 24, .38);
    font-size: clamp(.69rem, .72vw, .82rem);
    white-space: nowrap;
}

.nav-direct:hover,
.nav-direct:focus-visible,
.nav-mega > summary:hover,
.nav-mega > summary:focus-visible,
.nav-mega[open] > summary {
    border-color: rgba(57, 217, 200, .36);
    background: rgba(57, 217, 200, .08);
}

.nav-direct[aria-current="page"],
.nav-mega.is-current > summary {
    border-color: rgba(167, 244, 50, .4);
    background: linear-gradient(145deg, rgba(167, 244, 50, .105), rgba(57, 217, 200, .045));
}

.nav-summary-mark {
    display: inline-grid;
    width: 1.15rem;
    height: 1.15rem;
    place-items: center;
    border: 1px solid rgba(167, 244, 50, .28);
    border-radius: 999px;
    color: var(--primary);
    font-size: .8rem;
    line-height: 1;
    transition: transform .18s var(--ease);
}

.nav-mega[open] .nav-summary-mark {
    transform: rotate(45deg);
}

.nav-mega-menu,
.nav-group:last-of-type .nav-mega-menu {
    top: calc(100% + .72rem);
    right: 0;
    left: auto;
    width: min(76rem, calc(100vw - 2rem));
    max-height: min(76vh, 48rem);
    overflow: auto;
    transform: none;
    padding: 1rem;
}

.nav-mega-sections {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.section-nav {
    position: relative;
    z-index: 41;
    border-bottom: 1px solid rgba(151, 194, 176, .2);
    background: linear-gradient(90deg, rgba(13, 28, 24, .96), rgba(7, 17, 14, .98));
}

.section-nav-inner {
    display: grid;
    grid-template-columns: minmax(11rem, 14rem) minmax(0, 1fr);
    gap: clamp(.7rem, 1.3vw, 1.25rem);
    min-height: 72px;
    align-items: center;
    padding-block: .55rem;
}

.section-nav-context {
    display: grid;
    min-width: 0;
    gap: .08rem;
    padding-right: clamp(.65rem, 1vw, 1rem);
    border-right: 1px solid rgba(151, 194, 176, .18);
}

.section-nav-eyebrow {
    color: var(--teal);
    font-size: .58rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.section-nav-context strong {
    color: var(--text);
    font-size: .8rem;
}

.section-nav-description {
    display: -webkit-box;
    overflow: hidden;
    color: var(--muted);
    font-size: .62rem;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.section-nav-links {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(10rem, 1fr);
    gap: .42rem;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: .12rem .15rem .28rem;
    scroll-padding-inline: .15rem;
    scroll-snap-type: inline proximity;
    scrollbar-color: rgba(57, 217, 200, .42) transparent;
}

.section-nav-links a {
    display: grid;
    min-width: 0;
    min-height: 3.15rem;
    align-content: center;
    gap: .12rem;
    border: 1px solid rgba(151, 194, 176, .17);
    border-radius: 10px;
    padding: .5rem .62rem;
    color: var(--muted-2);
    background: rgba(3, 8, 6, .38);
    line-height: 1.2;
    text-decoration: none;
    scroll-snap-align: start;
}

.section-nav-links a span {
    overflow: hidden;
    color: var(--text);
    font-size: .7rem;
    font-weight: 820;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.section-nav-links a small {
    display: -webkit-box;
    overflow: hidden;
    color: var(--muted);
    font-size: .58rem;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.section-nav-links a:hover,
.section-nav-links a:focus-visible {
    border-color: rgba(57, 217, 200, .34);
    background: rgba(57, 217, 200, .07);
}

.section-nav-links a[aria-current="page"] {
    border-color: rgba(167, 244, 50, .42);
    background: linear-gradient(145deg, rgba(167, 244, 50, .11), rgba(57, 217, 200, .04));
    box-shadow: inset 3px 0 0 var(--primary);
}

@media (max-width: 1500px) and (min-width: 1121px) {
    .ecosystem-context-copy,
    .ecosystem-product-role,
    .current-mark,
    .brand-copy small {
        display: none;
    }

    .ecosystem-bar-inner {
        grid-template-columns: minmax(8rem, 9.5rem) minmax(0, 1fr) auto;
    }

    .ecosystem-product {
        min-height: 2.25rem;
        grid-template-areas: "name mark";
    }

    .brand {
        min-width: 10.4rem;
    }

    .nav-direct,
    .nav-mega > summary {
        padding-inline: .48rem;
        font-size: .69rem;
    }
}

@media (max-width: 1260px) and (min-width: 1121px) {
    .ecosystem-context,
    .utility-actions {
        display: none;
    }

    .ecosystem-bar-inner {
        grid-template-columns: minmax(0, 1fr);
    }

    .ecosystem-product {
        max-width: none;
    }

    .primary-nav .nav-group-row {
        gap: .25rem;
    }

    .nav-direct,
    .nav-mega > summary {
        padding-inline: .4rem;
        font-size: .65rem;
    }
}

@media (max-width: 1120px) {
    .ecosystem-bar-inner {
        grid-template-columns: minmax(0, 1fr);
        padding-block: .42rem;
    }

    .ecosystem-context,
    .utility-actions {
        display: none;
    }

    .ecosystem-product {
        max-width: none;
    }

    .brand {
        border-right: 0;
        padding-right: 0;
    }

    .primary-nav .nav-group-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
        gap: .55rem;
    }

    .nav-direct,
    .nav-mega,
    .nav-mega > summary {
        width: 100%;
    }

    .nav-direct,
    .nav-mega > summary {
        justify-content: space-between;
        min-height: 3.1rem;
        padding: .74rem .82rem;
        font-size: .84rem;
    }

    .nav-mega {
        grid-column: 1 / -1;
    }

    .nav-mega-menu,
    .nav-group:last-of-type .nav-mega-menu {
        max-height: none;
        overflow: visible;
        padding: .72rem;
    }

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

    .nav-mega-intro {
        display: block;
    }

    .nav-mega-intro > p:last-child {
        margin-top: .35rem;
        text-align: left;
    }

    .section-nav-inner {
        grid-template-columns: minmax(9rem, 11rem) minmax(0, 1fr);
    }
}

@media (max-width: 760px) {
    .ecosystem-switcher {
        gap: .25rem;
    }

    .ecosystem-product {
        min-height: 2.55rem;
        justify-items: center;
        padding-inline: .35rem;
        text-align: center;
    }

    .ecosystem-product-name {
        font-size: .66rem;
    }

    .ecosystem-product-role,
    .current-mark,
    .external-mark {
        display: none;
    }

    .primary-nav .nav-group-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .nav-mega {
        grid-column: auto;
    }

    .nav-mega-sections {
        grid-template-columns: minmax(0, 1fr);
    }

    .nav-mega-section-heading {
        min-height: 0;
    }

    .section-nav-inner {
        grid-template-columns: minmax(0, 1fr);
        gap: .42rem;
        padding-block: .48rem;
    }

    .section-nav-context {
        gap: .05rem;
        padding: 0 0 .38rem;
        border-right: 0;
        border-bottom: 1px solid rgba(151, 194, 176, .18);
    }

    .section-nav-description {
        display: none;
    }

    .section-nav-hint {
        display: block;
    }

    .section-nav-links {
        grid-auto-columns: minmax(9.25rem, 78vw);
    }
}

@media (max-width: 420px) {
    .ecosystem-product-name {
        font-size: 0;
    }

    .ecosystem-product-killchains .ecosystem-product-name::after {
        content: "Chains";
        font-size: .66rem;
    }

    .ecosystem-product-killwebs .ecosystem-product-name::after {
        content: "Webs";
        font-size: .66rem;
    }

    .ecosystem-product-evulgare .ecosystem-product-name::after {
        content: "Evulgare";
        font-size: .66rem;
    }
}

@media print {
    .ecosystem-bar,
    .site-header,
    .section-nav {
        display: none !important;
    }
}


/* Release 1.20.0 navigation legibility corrections.
   Prevent narrow-screen ecosystem labels from doubling, keep contextual titles
   readable, and make the horizontally scrollable secondary rail explicit. */
.section-nav-hint {
    display: none;
    color: var(--teal);
    font-size: .58rem;
    font-weight: 760;
    letter-spacing: .04em;
}

@media (max-width: 1120px) {
    .section-nav-description {
        display: none;
    }

    .section-nav-links a {
        min-height: 3.3rem;
    }

    .section-nav-links a span {
        display: -webkit-box;
        overflow: hidden;
        white-space: normal;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .section-nav-links a small {
        display: none;
    }
}

@media (max-width: 760px) {
    .section-nav-hint {
        display: block;
    }

    .section-nav-context {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "eyebrow hint"
            "title hint";
        align-items: end;
    }

    .section-nav-eyebrow {
        grid-area: eyebrow;
    }

    .section-nav-context strong {
        grid-area: title;
    }

    .section-nav-hint {
        grid-area: hint;
        align-self: center;
        white-space: nowrap;
    }
}

@media (max-width: 420px) {
    .ecosystem-product-killchains .ecosystem-product-name,
    .ecosystem-product-killwebs .ecosystem-product-name,
    .ecosystem-product-evulgare .ecosystem-product-name {
        font-size: .57rem;
    }

    .ecosystem-product-killchains .ecosystem-product-name::after,
    .ecosystem-product-killwebs .ecosystem-product-name::after,
    .ecosystem-product-evulgare .ecosystem-product-name::after {
        content: none !important;
    }

    .ecosystem-product {
        min-width: 0;
        padding-inline: .24rem;
    }
}

@media (max-width: 280px) {
    .ecosystem-product-killchains .ecosystem-product-name,
    .ecosystem-product-killwebs .ecosystem-product-name,
    .ecosystem-product-evulgare .ecosystem-product-name {
        font-size: .51rem;
    }

    .section-nav-hint {
        font-size: .52rem;
    }
}

/* Final specificity guards for older responsive navigation rules. */
@media (max-width: 1500px) {
    .section-nav-context .section-nav-description {
        display: none;
    }
}

@media (max-width: 760px) {
    .section-nav-context .section-nav-hint {
        display: block;
        margin: 0;
        color: var(--teal);
        white-space: nowrap;
    }
}

@media (min-width: 1121px) {
    .section-nav-links {
        grid-auto-flow: initial;
        grid-auto-columns: initial;
        grid-template-columns: repeat(auto-fit, minmax(7.75rem, 1fr));
        overflow: visible;
        padding-bottom: .12rem;
        scroll-snap-type: none;
    }
}

/* Release 1.20: same-origin search completes the utility navigation. */
.search-workspace,
.search-results {
    margin-block: clamp(1.5rem, 4vw, 3rem);
}
.site-search-form {
    display: grid;
    gap: 0.7rem;
    padding: clamp(1rem, 2.5vw, 1.6rem);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
}
.site-search-form label {
    font-weight: 800;
    color: var(--text);
}
.site-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: stretch;
}
.site-search-row input {
    min-width: 0;
    width: 100%;
    min-height: 3rem;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    background: var(--surface-elevated);
    color: var(--text);
    font: inherit;
}
.site-search-row input:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 2px;
}
.form-help {
    margin: 0;
    color: var(--muted);
    font-size: 0.92rem;
}
.search-suggestions a {
    text-decoration: none;
}
.search-result-list {
    display: grid;
    gap: 0.9rem;
}
.search-result-card {
    padding: clamp(1rem, 2.4vw, 1.4rem);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
}
.search-result-card h3 {
    margin: 0.65rem 0 0.35rem;
}
.search-result-card h3 a {
    color: var(--text);
    text-decoration-thickness: 0.09em;
    text-underline-offset: 0.18em;
}
.search-result-card p {
    margin: 0;
    color: var(--muted);
}
.search-result-heading {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: center;
}
.search-result-meta {
    color: var(--muted);
    font-size: 0.85rem;
}
@media (max-width: 520px) {
    .site-search-row {
        grid-template-columns: 1fr;
    }
    .site-search-row .button {
        width: 100%;
    }
}
@media print {
    .site-search-form,
    .search-suggestions {
        display: none !important;
    }
}

/* Release 1.21.0: JADC2 assurance portfolio and common-mode dependency lab. */
.jap-boundary,
.jap-workbench,
.jap-public-boundary {
    margin-block: clamp(1.4rem, 4vw, 3rem);
    min-width: 0;
    padding: clamp(1rem, 3vw, 2rem);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-xl);
    background:
        radial-gradient(circle at 95% 0%, rgba(57, 217, 200, .09), transparent 34%),
        var(--surface);
}

.jap-boundary {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(15rem, .65fr);
    gap: clamp(1rem, 3vw, 2rem);
    align-items: start;
}

.jap-boundary > div,
.jap-boundary > aside,
.jap-posture-grid article,
.jap-service-grid article,
.jap-case-grid article,
.jap-distinction-grid article,
.jap-ledger-grid section {
    min-width: 0;
}

.jap-boundary h2,
.jap-workbench h2,
.jap-service-grid h3,
.jap-case-grid h3,
.jap-posture-grid strong {
    overflow-wrap: anywhere;
}

.jap-boundary aside {
    padding: 1rem;
    border: 1px solid rgba(255, 180, 84, .42);
    border-radius: var(--radius-lg);
    background: rgba(255, 180, 84, .08);
}

.jap-boundary aside strong {
    display: block;
    color: var(--warning);
    font-size: clamp(1rem, 2vw, 1.3rem);
}

.jap-boundary aside p {
    margin: .55rem 0 0;
    color: var(--muted);
}

.jap-posture-grid,
.jap-service-grid,
.jap-case-grid,
.jap-distinction-grid,
.jap-ledger-grid {
    display: grid;
    gap: .9rem;
}

.jap-posture-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
}

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

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

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

.jap-ledger-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
    margin-top: 1rem;
}

.jap-posture-grid article,
.jap-service-grid article,
.jap-case-grid article,
.jap-distinction-grid article,
.jap-ledger-grid section {
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface-elevated);
}

.jap-posture-grid article {
    display: grid;
    align-content: start;
    gap: .42rem;
}

.jap-posture-grid article > span:first-child {
    color: var(--muted);
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.jap-posture-grid article strong {
    color: var(--primary);
    font-size: clamp(1rem, 2vw, 1.35rem);
}

.jap-posture-grid article p {
    margin: .25rem 0 0;
    color: var(--muted);
}

.jap-service-grid article,
.jap-case-grid article {
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.jap-service-grid code,
.jap-case-grid code,
.jap-ledger-grid code,
.jap-dependency-table code,
.jap-case-impact-table code {
    overflow-wrap: anywhere;
    white-space: normal;
}

.jap-service-grid h3,
.jap-case-grid h3,
.jap-ledger-grid h3 {
    margin: .25rem 0;
}

.jap-service-grid p,
.jap-case-grid p {
    margin: .1rem 0;
    color: var(--muted);
}

.jap-case-grid dl {
    display: grid;
    gap: .45rem;
    margin: auto 0 0;
    padding-top: .65rem;
}

.jap-case-grid dl div {
    display: grid;
    gap: .12rem;
    padding-top: .45rem;
    border-top: 1px solid var(--border);
}

.jap-case-grid dt {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.jap-case-grid dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.jap-distinction-grid article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: .7rem;
    align-items: center;
}

.jap-distinction-grid article > span {
    color: var(--information);
    font-weight: 800;
}

.jap-distinction-grid article > p {
    margin: 0;
    color: var(--warning);
    font-size: 1.25rem;
    font-weight: 900;
}

.jap-distinction-grid article > strong {
    overflow-wrap: anywhere;
}

.jap-workbench {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1rem, 3vw, 1.6rem);
}

.jap-controls {
    display: grid;
    gap: .8rem;
    min-width: 0;
    padding: clamp(1rem, 2.5vw, 1.5rem);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: rgba(7, 17, 14, .56);
}

.jap-controls .jma-controls-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: start;
}

.jap-controls label {
    font-weight: 800;
}

.jap-controls select {
    width: 100%;
    min-height: 3rem;
    padding: .65rem .8rem;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    color: var(--text);
    background: var(--surface-elevated);
    font: inherit;
}

.jap-controls select:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 2px;
}

.jap-results {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    min-width: 0;
    max-width: 100%;
}

.jap-results > *,
.jap-results .table-scroll {
    min-width: 0;
    max-width: 100%;
}

.jap-results .analysis-summary,
.jap-results .boundary-note {
    margin: 0;
}

.jap-ledger-grid section {
    overflow-wrap: anywhere;
}

.jap-ledger-grid ul {
    margin: .65rem 0 0;
    padding-left: 1.15rem;
}

.jap-ledger-grid li + li {
    margin-top: .45rem;
}

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

.jap-dependency-table,
.jap-case-impact-table {
    width: 100%;
    min-width: 72rem;
}

.jap-case-impact-table {
    min-width: 82rem;
}

.jap-dependency-table th,
.jap-dependency-table td,
.jap-case-impact-table th,
.jap-case-impact-table td {
    vertical-align: top;
    overflow-wrap: anywhere;
}

.jap-dependency-table td:nth-child(n + 4),
.jap-case-impact-table td:nth-child(n + 3) {
    font-size: .82rem;
}

.jap-public-boundary {
    border-color: rgba(255, 111, 97, .38);
}

.jap-public-boundary p:last-child {
    margin-bottom: 0;
}

@media (max-width: 1220px) {
    .jap-service-grid,
    .jap-case-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

@media (max-width: 820px) {
    .jap-boundary,
    .jap-controls .jma-controls-head {
        grid-template-columns: minmax(0, 1fr);
    }

    .jap-distinction-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 560px) {
    .jap-service-grid,
    .jap-case-grid,
    .jap-impact-ledgers {
        grid-template-columns: minmax(0, 1fr);
    }

    .jap-distinction-grid article {
        grid-template-columns: minmax(0, 1fr);
        gap: .35rem;
    }

    .jap-distinction-grid article > p {
        justify-self: start;
    }

    .jap-controls,
    .jap-boundary,
    .jap-workbench,
    .jap-public-boundary {
        padding: .9rem;
    }

    .jap-controls .button-row,
    .jap-controls .button {
        width: 100%;
    }
}

@media print {
    .jap-controls,
    [data-jap-print],
    [data-jap-export] {
        display: none !important;
    }

    .jap-boundary,
    .jap-workbench,
    .jap-public-boundary,
    .jap-posture-grid article,
    .jap-service-grid article,
    .jap-case-grid article,
    .jap-distinction-grid article,
    .jap-ledger-grid section {
        break-inside: avoid;
        border-color: #777 !important;
        background: #fff !important;
        color: #000 !important;
    }
}

/* Release 1.22.0: definitive menu, footer, topic directory, and discovery presentation. */
.ecosystem-bar {
    min-height: 70px;
    border-bottom: 1px solid rgba(151, 194, 176, .16);
    background:
        linear-gradient(90deg, rgba(57, 217, 200, .035), transparent 36%, rgba(167, 244, 50, .025)),
        #06100d;
}

.ecosystem-bar-inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(10.5rem, 12.5rem) minmax(0, 1fr) auto;
    min-height: 70px;
    gap: clamp(.65rem, 1.3vw, 1.2rem);
    align-items: center;
    padding-block: .48rem;
}

.ecosystem-context {
    display: grid;
    min-width: 0;
    gap: .14rem;
    padding-right: .8rem;
    border-right: 1px solid rgba(151, 194, 176, .18);
}

.ecosystem-context-kicker,
.ecosystem-context-copy {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ecosystem-context-kicker {
    color: var(--primary);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .105em;
    text-transform: uppercase;
}

.ecosystem-context-copy {
    color: var(--muted);
    font-size: .64rem;
}

.ecosystem-switcher {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
    gap: .45rem;
}

.ecosystem-product {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "name mark" "role mark";
    min-width: 0;
    min-height: 50px;
    align-content: center;
    gap: .14rem .45rem;
    padding: .5rem .66rem .48rem .76rem;
    border: 1px solid rgba(151, 194, 176, .18);
    border-radius: 12px;
    background: rgba(13, 28, 24, .58);
    text-decoration: none;
}

.ecosystem-product:hover,
.ecosystem-product:focus-visible {
    border-color: rgba(57, 217, 200, .46);
    background: rgba(20, 40, 34, .82);
}

.ecosystem-product-name {
    grid-area: name;
    overflow: hidden;
    color: var(--text);
    font-size: clamp(.68rem, .7vw, .78rem);
    font-weight: 880;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ecosystem-product-role {
    grid-area: role;
    overflow: hidden;
    color: var(--muted);
    font-size: clamp(.55rem, .56vw, .63rem);
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ecosystem-product .external-mark,
.ecosystem-product .current-mark {
    grid-area: mark;
    align-self: center;
}

.site-utility-menu {
    position: relative;
    z-index: 80;
}

.site-utility-menu > summary {
    min-width: 4.7rem;
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .48rem;
    border: 1px solid rgba(151, 194, 176, .23);
    border-radius: 10px;
    padding: .55rem .72rem;
    color: var(--text);
    background: rgba(13, 28, 24, .7);
    font-size: .72rem;
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}

.site-utility-menu > summary::-webkit-details-marker { display: none; }
.site-utility-menu > summary:hover,
.site-utility-menu > summary:focus-visible,
.site-utility-menu[open] > summary {
    border-color: rgba(167, 244, 50, .42);
    background: rgba(167, 244, 50, .09);
}

.site-utility-menu[open] > summary > span:last-child { transform: rotate(45deg); }

.site-utility-menu nav {
    position: absolute;
    top: calc(100% + .5rem);
    right: 0;
    width: min(17rem, calc(100vw - 1.5rem));
    display: grid;
    gap: .36rem;
    padding: .65rem;
    border: 1px solid var(--border-strong);
    border-radius: 12px;
    background: #0a1814;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .42);
}

.site-utility-menu nav a {
    min-height: 2.55rem;
    display: flex;
    align-items: center;
    border: 1px solid transparent;
    border-radius: 8px;
    padding: .56rem .68rem;
    color: var(--muted-2);
    font-size: .78rem;
    font-weight: 720;
    text-decoration: none;
}

.site-utility-menu nav a:hover,
.site-utility-menu nav a:focus-visible {
    border-color: rgba(57, 217, 200, .28);
    color: var(--text);
    background: rgba(57, 217, 200, .08);
}

.site-header { z-index: 65; }
.header-inner { gap: clamp(.7rem, 1.35vw, 1.3rem); }
.brand {
    min-width: clamp(10.5rem, 14.5vw, 13.2rem);
    padding-right: clamp(.55rem, 1vw, .9rem);
    border-right: 1px solid rgba(151, 194, 176, .18);
}

.primary-nav { min-width: 0; }
.primary-nav .nav-group-row {
    display: grid;
    grid-template-columns: repeat(6, max-content) max-content;
    justify-content: end;
    align-items: center;
    gap: clamp(.2rem, .38vw, .42rem);
}

.primary-nav .nav-direct,
.nav-mega > summary {
    min-height: 2.72rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(151, 194, 176, .12);
    border-radius: 9px;
    padding: .56rem clamp(.44rem, .62vw, .66rem);
    color: var(--muted-2);
    background: rgba(13, 28, 24, .33);
    font-size: clamp(.68rem, .67vw, .78rem);
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.primary-nav .nav-direct:hover,
.primary-nav .nav-direct:focus-visible,
.nav-mega > summary:hover,
.nav-mega > summary:focus-visible,
.nav-mega[open] > summary {
    border-color: rgba(57, 217, 200, .36);
    color: var(--text);
    background: rgba(57, 217, 200, .075);
}

.primary-nav .nav-direct[aria-current="page"],
.nav-mega.is-current > summary {
    border-color: rgba(167, 244, 50, .38);
    color: var(--text);
    background: linear-gradient(145deg, rgba(167, 244, 50, .12), rgba(57, 217, 200, .05));
    box-shadow: inset 0 -2px 0 var(--primary);
}

.nav-mega-directory-link {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-top: .65rem;
    color: var(--primary);
    font-size: .78rem;
    font-weight: 820;
}

.section-nav {
    border-bottom: 1px solid rgba(151, 194, 176, .15);
    background: rgba(7, 20, 16, .96);
}

.section-nav-inner {
    display: grid;
    grid-template-columns: minmax(9rem, 12.5rem) minmax(0, 1fr);
    gap: clamp(.65rem, 1.4vw, 1.25rem);
    align-items: stretch;
    padding-block: .62rem;
}

.section-nav-context {
    display: grid;
    align-content: center;
    gap: .18rem;
    min-width: 0;
    padding-right: .75rem;
    border-right: 1px solid rgba(151, 194, 176, .18);
}

.section-nav-eyebrow {
    color: var(--primary);
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.section-nav-context strong {
    overflow-wrap: anywhere;
    color: var(--text);
    font-size: .82rem;
}

.section-nav-description {
    color: var(--muted);
    font-size: .62rem;
    line-height: 1.28;
}

.section-nav-hint { display: none; }

.section-nav-links {
    list-style: none;
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(6.9rem, 1fr));
    gap: .46rem;
    align-items: stretch;
    margin: 0;
    padding: 0;
}

.section-nav-links li { min-width: 0; display: flex; }

.section-nav-links a {
    position: relative;
    width: 100%;
    min-width: 0;
    min-height: 3.85rem;
    display: grid;
    align-content: center;
    gap: .2rem;
    border: 1px solid rgba(151, 194, 176, .15);
    border-radius: 9px;
    padding: .52rem .58rem;
    color: var(--muted-2);
    background: rgba(13, 28, 24, .45);
    text-decoration: none;
}

.section-nav-links a span,
.section-nav-links a small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.section-nav-links a span {
    color: inherit;
    font-size: clamp(.65rem, .63vw, .74rem);
    font-weight: 820;
    line-height: 1.15;
}

.section-nav-links a small {
    display: -webkit-box;
    overflow: hidden;
    color: var(--muted);
    font-size: .56rem;
    line-height: 1.22;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.section-nav-links a:hover,
.section-nav-links a:focus-visible {
    border-color: rgba(57, 217, 200, .36);
    color: var(--text);
    background: rgba(57, 217, 200, .07);
}

.section-nav-links a[aria-current="page"] {
    border-color: rgba(167, 244, 50, .4);
    color: var(--text);
    background: rgba(167, 244, 50, .085);
    box-shadow: inset 3px 0 0 var(--primary);
}

/* Topic directory */
.topic-start,
.topic-directory,
.core-entity-section,
.ecosystem-routing { margin-block: clamp(1.6rem, 4vw, 3.5rem); }

.topic-start-grid,
.core-entity-grid,
.ecosystem-routing-grid {
    display: grid;
    gap: .9rem;
}

.topic-start-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.topic-start-card {
    min-width: 0;
    display: grid;
    gap: .4rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    text-decoration: none;
}
.topic-start-card > span { color: var(--primary); font-size: .7rem; font-weight: 900; letter-spacing: .08em; }
.topic-start-card strong { color: var(--text); font-size: 1rem; }
.topic-start-card small { color: var(--muted); line-height: 1.45; }
.topic-start-card:hover,
.topic-start-card:focus-visible { border-color: rgba(57, 217, 200, .42); transform: translateY(-2px); }

.topic-directory-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.topic-directory-group {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
}
.topic-directory-group header { padding-bottom: .72rem; border-bottom: 1px solid var(--border); }
.topic-directory-group h3 { margin: 0; }
.topic-directory-group header p { margin: .35rem 0 0; color: var(--muted); }
.topic-directory-group ul { list-style: none; display: grid; gap: .45rem; margin: .75rem 0 0; padding: 0; }
.topic-directory-group li { min-width: 0; }
.topic-directory-group a {
    display: grid;
    gap: .14rem;
    padding: .58rem .65rem;
    border: 1px solid transparent;
    border-radius: 8px;
    text-decoration: none;
}
.topic-directory-group a strong { color: var(--text); font-size: .85rem; }
.topic-directory-group a span { color: var(--muted); font-size: .72rem; line-height: 1.35; }
.topic-directory-group a:hover,
.topic-directory-group a:focus-visible { border-color: rgba(57, 217, 200, .28); background: rgba(57, 217, 200, .055); }

.core-entity-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.core-entity-card,
.ecosystem-routing-grid article {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
}
.core-entity-card h3,
.ecosystem-routing-grid h3 { margin: .55rem 0 .45rem; }
.core-entity-card p,
.ecosystem-routing-grid p { color: var(--muted); }
.entity-aliases { font-size: .78rem; }
.ecosystem-routing-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ecosystem-routing-grid article > span { color: var(--primary); font-size: .66rem; font-weight: 900; letter-spacing: .08em; }

/* Footer: concise first layer, complete directory on demand. */
.site-footer { margin-top: clamp(3rem, 7vw, 6rem); }
.ecosystem-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.ecosystem-footer-grid article { min-width: 0; display: flex; flex-direction: column; }
.ecosystem-footer-grid article a { margin-top: auto; }

.footer-trust {
    border-top: 1px solid rgba(151, 194, 176, .15);
    border-bottom: 1px solid rgba(151, 194, 176, .15);
    background: rgba(5, 15, 12, .68);
}
.footer-trust-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .65rem;
    padding-block: .8rem;
}
.footer-trust-grid div { min-width: 0; display: grid; gap: .16rem; }
.footer-trust-grid span { color: var(--muted); font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.footer-trust-grid strong { overflow-wrap: anywhere; color: var(--text); font-size: .72rem; }

.footer-primary-grid {
    display: grid;
    grid-template-columns: minmax(15rem, 1.45fr) repeat(4, minmax(8rem, .72fr));
    gap: clamp(1rem, 2.5vw, 2.2rem);
    padding-block: clamp(2rem, 5vw, 4rem) 1.5rem;
}
.footer-primary-grid > * { min-width: 0; }
.footer-primary-grid nav { display: grid; align-content: start; gap: .48rem; }
.footer-primary-grid nav h3 { margin: 0 0 .3rem; color: var(--text); font-size: .78rem; text-transform: uppercase; letter-spacing: .07em; }
.footer-primary-grid nav a { color: var(--muted-2); font-size: .78rem; text-decoration-thickness: .08em; text-underline-offset: .18em; }
.footer-primary-grid nav a:hover,
.footer-primary-grid nav a:focus-visible { color: var(--primary); }
.footer-intro p { max-width: 46rem; }
.footer-directory-cta { display: inline-flex; margin-top: .6rem; font-weight: 800; }

.footer-directory-wrap { padding-block: .5rem 1.5rem; }
.footer-directory { border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(13, 28, 24, .5); }
.footer-directory > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 4rem;
    padding: .8rem 1rem;
    cursor: pointer;
    list-style: none;
}
.footer-directory > summary::-webkit-details-marker { display: none; }
.footer-directory > summary > span:first-child { display: grid; gap: .15rem; }
.footer-directory > summary strong { color: var(--text); }
.footer-directory > summary small { color: var(--muted); }
.footer-directory[open] > summary > span:last-child { transform: rotate(45deg); }
.footer-directory-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    padding: 1rem;
    border-top: 1px solid var(--border);
}
.footer-directory-grid section { min-width: 0; }
.footer-directory-grid h3 { margin: 0; font-size: .82rem; }
.footer-directory-grid p { margin: .35rem 0 .65rem; color: var(--muted); font-size: .7rem; }
.footer-directory-grid ul { list-style: none; display: grid; gap: .34rem; margin: 0; padding: 0; }
.footer-directory-grid a { color: var(--muted-2); font-size: .73rem; }
.footer-bottom { border-top: 1px solid rgba(151, 194, 176, .14); }

@media (max-width: 1360px) and (min-width: 1121px) {
    .ecosystem-context { display: none; }
    .ecosystem-bar-inner { grid-template-columns: minmax(0, 1fr) auto; }
    .ecosystem-product-role,
    .current-mark { display: none; }
    .brand-copy small { display: none; }
    .brand { min-width: 10.3rem; }
    .primary-nav .nav-direct,
    .nav-mega > summary { padding-inline: .42rem; font-size: .68rem; }
    .section-nav-inner { grid-template-columns: minmax(8.5rem, 10.5rem) minmax(0, 1fr); }
}

@media (max-width: 1120px) {
    .ecosystem-bar-inner { grid-template-columns: minmax(0, 1fr) auto; }
    .ecosystem-context { display: none; }
    .ecosystem-product-role,
    .current-mark { display: none; }
    .site-utility-menu > summary { min-width: 4.2rem; }
    .primary-nav .nav-group-row { grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; }
    .primary-nav .nav-direct,
    .nav-mega > summary { width: 100%; min-height: 3rem; justify-content: flex-start; padding: .7rem .8rem; font-size: .84rem; text-align: left; }
    .section-nav-inner { grid-template-columns: minmax(8rem, 10rem) minmax(0, 1fr); }
    .section-nav-links {
        grid-auto-flow: column;
        grid-auto-columns: minmax(10rem, 14rem);
        grid-template-columns: none;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        padding-bottom: .25rem;
        scroll-snap-type: inline mandatory;
        scrollbar-width: thin;
    }
    .section-nav-links li { scroll-snap-align: start; }
    .topic-start-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .core-entity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-primary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-intro { grid-column: 1 / -1; }
    .footer-directory-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .footer-trust-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .ecosystem-bar { min-height: 61px; }
    .ecosystem-bar-inner { min-height: 61px; gap: .4rem; padding-inline: .45rem; }
    .ecosystem-switcher { gap: .25rem; }
    .ecosystem-product { min-height: 42px; display: flex; justify-content: center; padding: .4rem .3rem; text-align: center; }
    .ecosystem-product-name { font-size: .64rem; }
    .ecosystem-product .external-mark { display: none; }
    .site-utility-menu > summary { min-width: 3.75rem; min-height: 2.55rem; padding-inline: .5rem; }
    .section-nav-inner { grid-template-columns: minmax(0, 1fr); gap: .42rem; padding-block: .48rem; }
    .section-nav-context { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .55rem; padding: 0; border: 0; }
    .section-nav-description { flex-basis: 100%; }
    .section-nav-hint { display: inline; color: var(--teal); font-size: .6rem; }
    .section-nav-links { grid-auto-columns: minmax(10.5rem, 76vw); }
    .topic-directory-grid,
    .ecosystem-routing-grid,
    .ecosystem-footer-grid { grid-template-columns: minmax(0, 1fr); }
    .core-entity-grid { grid-template-columns: minmax(0, 1fr); }
    .footer-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
    .ecosystem-product-name { font-size: 0; }
    .ecosystem-product-killchains .ecosystem-product-name::after { content: "Chains"; font-size: .66rem; }
    .ecosystem-product-killwebs .ecosystem-product-name::after { content: "Webs"; font-size: .66rem; }
    .ecosystem-product-evulgare .ecosystem-product-name::after { content: "Evulgare"; font-size: .66rem; }
    .primary-nav .nav-group-row { grid-template-columns: minmax(0, 1fr); }
    .topic-start-grid,
    .footer-primary-grid,
    .footer-directory-grid,
    .footer-trust-grid { grid-template-columns: minmax(0, 1fr); }
    .footer-intro { grid-column: auto; }
}

@media print {
    .ecosystem-bar,
    .site-header,
    .section-nav,
    .footer-directory,
    .footer-actions { display: none !important; }
    .footer-primary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
