:root {
  --ink: #102126;
  --ink-soft: #51656b;
  --paper: #f4f2eb;
  --paper-2: #fffefa;
  --line: #ccd4d2;
  --deep: #071317;
  --deep-2: #0e2429;
  --teal: #3f929c;
  --blue: #174f86;
  --coral: #c04a43;
  --violet: #985095;
  --amber: #d88b2b;
  --sans: Inter, "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;
  --serif: "Iowan Old Style", "Noto Serif SC", "Songti SC", Georgia, serif;
  --mono: "Cascadia Mono", "SFMono-Regular", ui-monospace, Consolas, monospace;
  --page: min(1220px, calc(100vw - 72px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body { margin: 0; overflow-x: hidden; color: var(--ink); background: var(--paper); font: 16px/1.72 var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; }
button { font: inherit; }
img { max-width: 100%; height: auto; }
sub, sup { font-size: max(.82em, 11px); line-height: 0; }
h1, h2, h3, strong { overflow: visible; text-wrap: balance; }
h1, h2, h3, .hero-status strong, .section-head, .section-head > div { scrollbar-width: none; }
:focus-visible { outline: 3px solid #56b9c6; outline-offset: 3px; }

.skip-link { position: fixed; z-index: 500; left: 14px; top: 14px; padding: 9px 13px; background: white; color: var(--ink); transform: translateY(-180%); }
.skip-link:focus { transform: none; }
.progress { position: fixed; z-index: 250; inset: 0 0 auto; height: 3px; background: rgba(16,33,38,.06); }
.progress span { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left; background: #64d0c6; }

.site-header { position: sticky; top: 0; z-index: 200; min-height: 58px; display: flex; align-items: center; gap: 28px; padding: 0 max(22px, calc((100vw - 1400px) / 2)); color: var(--ink); background: rgba(247,247,243,.96); border-bottom: 1px solid #d8ddda; backdrop-filter: blur(16px); }
.site-brand { display: inline-flex; align-items: center; gap: 9px; min-width: 218px; text-decoration: none; }
.site-brand-logo { width: 34px; height: 34px; flex: 0 0 34px; display: block; object-fit: contain; border: 1px solid #b8ceca; border-radius: 8px; background: #0b1b20; box-shadow: none; }
.site-brand strong, .site-brand small { display: block; }
.site-brand strong { font: 650 12px/1.2 var(--mono); letter-spacing: -.01em; }
.site-brand small { margin-top: 1px; color: #566568; font: 11px/1.2 var(--mono); }
.site-nav { margin-left: auto; display: flex; align-items: center; gap: 22px; }
.site-nav a { position: relative; min-height: 32px; display: inline-flex; align-items: center; color: #5f6c6e; font: 12px/1.2 var(--mono); text-decoration: none; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: #081417; }
.site-nav a[aria-current="page"]::after { position: absolute; right: 0; bottom: 0; left: 0; height: 1px; content: ""; background: #14777a; }
.site-nav-external span { color: #14777a; }
.site-nav-pending { min-height: 32px; display: inline-flex; align-items: center; gap: 6px; color: #536164; font: 12px/1.2 var(--mono); white-space: nowrap; cursor: not-allowed; pointer-events: none; }
.site-nav-pending small { padding: 2px 5px; color: #0d666a; border: 1px solid #9dbdb8; border-radius: 0; font: 700 10px/1.2 var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.topnav-case-group { display: inline-flex; align-items: center; gap: 22px; margin: 0; padding: 0; border: 0; }
.topnav-case-group::before { display: none; }
.site-action, .menu-toggle { min-height: 40px; padding: 8px 12px; color: var(--ink); background: transparent; border: 1px solid #aeb9b7; border-radius: 0; cursor: pointer; font: 700 11px/1 var(--mono); }
.menu-toggle { display: none; }

@media (max-width: 1080px) {
  .site-header { flex-wrap: wrap; min-height: 58px; padding: 11px 19px; }
  .site-brand { min-width: 0; }
  .menu-toggle { display: block; margin-left: auto; }
  .site-nav { display: none; flex-basis: 100%; order: 4; margin: 0; padding: 12px 0; flex-direction: column; align-items: flex-start; }
  .site-nav.is-open { display: flex; }
  .topnav-case-group { width: 100%; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin: 4px 0 0; padding: 0; background: #d8ddda; }
  .topnav-case-group a { padding: 10px 8px; background: #f7f7f3; text-align: center; }
  .site-nav > a, .site-nav-pending { width: 100%; justify-content: space-between; padding: 9px 8px; border-bottom: 1px solid #e0e4e1; }
}

.page-hero { color: #f3f2ea; background: radial-gradient(circle at 78% 4%, rgba(71,157,168,.2), transparent 28%), var(--deep); padding: 92px 0 78px; border-bottom: 1px solid #28434a; }
.page-hero .inner, .page-main, .site-footer .inner { width: var(--page); margin: 0 auto; }
.eyebrow { margin: 0 0 14px; color: #70cbc3; font: 700 11px/1.2 var(--mono); letter-spacing: .15em; text-transform: uppercase; }
.page-hero h1 { max-width: 980px; margin: 0; padding-bottom: .08em; font: 500 clamp(42px, 6.1vw, 82px)/1.08 var(--serif); letter-spacing: -.035em; }
.page-hero h1 em { color: #87d4cf; font-weight: 400; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(290px, .65fr); gap: 56px; align-items: end; }
.hero-dek { max-width: 760px; margin: 30px 0 0; color: #c6d2d1; font-size: 18px; }
.hero-status { padding: 24px; color: #f4f6f2; border: 1px solid #315158; background: #10272c; }
.hero-status .eyebrow { color: #93e2da; }
.hero-status strong { display: block; padding-bottom: .06em; font: 500 30px/1.24 var(--serif); }
.hero-status p { margin: 10px 0 0; color: #d5e0df; font-size: 13px; }
.hero-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.hero-chips span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: #b7c6c7; font: 11px var(--mono); }

.aspect-hero { --aspect-reference-image: url("assets/figures/aspect-hero-rebound-v2.png"); --aspect-reference-position: center 52%; --aspect-reference-opacity: .66; --aspect-reference-blur: 1.2px; --aspect-reference-saturation: .78; position: relative; isolation: isolate; overflow: hidden; background: var(--deep); }
.aspect-hero::before { position: absolute; z-index: 0; inset: -3px; content: ""; background-image: var(--aspect-reference-image); background-repeat: no-repeat; background-position: var(--aspect-reference-position); background-size: cover; filter: blur(var(--aspect-reference-blur)) saturate(var(--aspect-reference-saturation)) contrast(1.02); opacity: var(--aspect-reference-opacity); transform: scale(1.008); }
.aspect-hero::after { position: absolute; z-index: 1; inset: 0; content: ""; background: linear-gradient(90deg, rgba(7,19,23,.99) 0%, rgba(7,19,23,.96) 42%, rgba(7,19,23,.78) 61%, rgba(7,19,23,.38) 100%), linear-gradient(180deg, rgba(7,19,23,.22), rgba(7,19,23,.67)); }
.aspect-hero--stability { --aspect-reference-image: url("assets/figures/aspect-hero-stability-v2.png"); --aspect-reference-position: center 50%; --aspect-reference-opacity: .63; --aspect-reference-saturation: .72; }
.aspect-hero--ge { --aspect-reference-image: url("assets/figures/aspect-hero-ge-v2.png"); --aspect-reference-position: center 52%; --aspect-reference-opacity: .62; --aspect-reference-saturation: .74; }
.aspect-hero .inner { position: relative; z-index: 2; }
.aspect-hero .hero-grid { grid-template-columns: minmax(0, 1040px); }
.aspect-hero .hero-dek { max-width: 850px; }

.page-main { padding: 76px 0 108px; }
.section { padding: 66px 0; border-bottom: 1px solid var(--line); }
.section:first-child { padding-top: 0; }
.section:last-child { border-bottom: 0; }
.aspect-view-nav { position: sticky; top: 58px; z-index: 170; color: var(--ink); background: rgba(246,244,235,.97); border-bottom: 1px solid var(--line); box-shadow: 0 14px 34px rgba(7,19,23,.08); backdrop-filter: blur(18px); }
.aspect-view-nav__inner { width: var(--page); min-height: 104px; margin: 0 auto; display: grid; grid-template-columns: 150px minmax(0,1fr); align-items: stretch; }
.aspect-view-nav__label { align-self: center; margin: 0; color: var(--ink-soft); font: 700 12px/1.3 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.aspect-view-nav__links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.aspect-view-nav__links a { position: relative; min-width: 0; display: grid; grid-template-columns: 28px minmax(0,1fr); grid-template-rows: auto auto; column-gap: 10px; align-content: center; padding: 17px 18px; color: var(--ink); text-decoration: none; border-left: 1px solid var(--line); transition: color 160ms ease, background-color 160ms ease; }
.aspect-view-nav__links a::after { position: absolute; right: 18px; bottom: 0; left: 18px; height: 3px; content: ""; background: var(--teal); transform: scaleX(0); transform-origin: left; transition: transform 180ms ease; }
.aspect-view-nav__links a:hover { background: rgba(255,255,255,.62); }
.aspect-view-nav__links a:focus-visible { z-index: 1; outline: 3px solid rgba(25,126,126,.35); outline-offset: -3px; }
.aspect-view-nav__links a[aria-current="page"] { color: var(--deep); background: #fff; }
.aspect-view-nav__links a[aria-current="page"]::after { transform: scaleX(1); }
.aspect-view-nav__links span { grid-row: 1 / span 2; color: #126b70; font: 700 12px/1.4 var(--mono); letter-spacing: .06em; }
.aspect-view-nav__links strong { overflow: hidden; font: 600 14px/1.25 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.aspect-view-nav__links small { margin-top: 4px; overflow: hidden; color: var(--ink-soft); font: 500 12px/1.35 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.aspect-route-anchor { position: relative; top: -190px; display: block; width: 0; height: 0; visibility: hidden; }
[data-aspect-page][data-current-aspect-view] > [data-aspect-section]:not([hidden]) { animation: aspect-section-enter 220ms ease-out both; }
@keyframes aspect-section-enter { from { opacity: .35; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.section-head { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: 50px; margin-bottom: 34px; }
.section-head h2 { margin: 0; padding-bottom: .08em; font: 500 clamp(30px, 4vw, 50px)/1.18 var(--serif); letter-spacing: -.025em; }
.section-head p { margin: 0; color: var(--ink-soft); }
.section-head, .section-head > div { overflow: visible; }
.kicker { margin: 0 0 8px; color: var(--teal); font: 700 11px/1.25 var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.subhead { margin: 0 0 12px; font: 500 26px/1.15 var(--serif); }

.metric-door-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.metric-door { min-height: 310px; display: flex; flex-direction: column; padding: 28px; color: #eff4f2; background: var(--deep-2); text-decoration: none; border: 1px solid #29434a; transition: transform 180ms ease, border-color 180ms ease; }
.metric-door:hover { transform: translateY(-4px); border-color: #68d6cb; }
.metric-door span { color: #86a0a4; font: 11px var(--mono); }
.metric-door h2 { margin: auto 0 10px; padding-bottom: .08em; font: 500 40px/1.18 var(--serif); }
.metric-door p { margin: 0; color: #b5c5c6; }
.metric-door b { margin-top: 22px; color: #6fd1c8; font-size: 13px; }

.kpi-row { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); background: var(--paper-2); }
.kpi { padding: 24px; border-right: 1px solid var(--line); }
.kpi:last-child { border-right: 0; }
.kpi span { color: var(--ink-soft); font: 11px var(--mono); letter-spacing: .1em; }
.kpi strong { display: block; margin: 8px 0; font: 500 31px var(--serif); }
.kpi p { margin: 0; color: var(--ink-soft); font-size: 13px; }

.figure-shell { margin: 0; padding: 22px; background: var(--paper-2); border: 1px solid var(--line); }
.figure-shell img { display: block; width: 100%; background: white; }
.figure-shell figcaption { margin-top: 18px; color: var(--ink-soft); font-size: 13px; }
.figure-downloads { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.figure-downloads a { padding: 6px 9px; border: 1px solid var(--line); color: var(--ink-soft); font: 11px var(--mono); text-decoration: none; }

.two-col { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 30px; }
.three-col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.card { padding: 25px; background: var(--paper-2); border: 1px solid var(--line); }
.card h3 { margin: 0 0 12px; padding-bottom: .06em; font: 500 24px/1.32 var(--serif); }
.card p { margin: 0; color: var(--ink-soft); }
.formula { padding: 25px; color: #f1f3ee; background: var(--deep-2); border: 1px solid #29434a; }
.formula code { display: block; overflow-wrap: anywhere; color: #8bd2cd; font: 17px/1.7 var(--mono); }
.formula p { margin: 14px 0 0; color: #bdcbcb; font-size: 13px; }

.protocol { counter-reset: protocol; display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.protocol li { counter-increment: protocol; display: grid; grid-template-columns: 48px 1fr; gap: 14px; padding: 17px; background: var(--paper-2); list-style: none; }
.protocol li::before { content: counter(protocol, decimal-leading-zero); color: var(--teal); font: 12px var(--mono); }
.protocol strong { display: block; }
.protocol span { color: var(--ink-soft); font-size: 13px; }

.case-study { overflow: hidden; background: var(--deep); color: #eef2ef; border: 1px solid #28434a; }
.case-visual { position: relative; background: #050d10; }
.case-visual img { display: block; width: 100%; }
.case-caption { position: absolute; left: 22px; bottom: 18px; padding: 8px 11px; color: #fff; background: rgba(5,13,16,.82); font: 11px var(--mono); }
.case-copy { padding: 34px; }
.case-copy h2 { margin: 0 0 13px; padding-bottom: .08em; font: 500 35px/1.22 var(--serif); }
.case-copy p { color: #c1cece; }
.case-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 34px; }
.primary-case-brief { --primary-case-accent: #68d6cb; display: grid; grid-template-columns: minmax(220px,.62fr) minmax(390px,1.2fr) minmax(220px,.8fr); gap: 24px; align-items: center; margin: 0 0 28px; padding: 24px 26px; color: #eef4f1; background: #10272c; border: 1px solid #315158; border-left: 4px solid var(--primary-case-accent); }
.primary-case-brief--stability { --primary-case-accent: #ae7dc1; }
.primary-case-brief--ge { --primary-case-accent: #df8c48; }
.primary-case-brief__identity .eyebrow { margin-bottom: 7px; color: var(--primary-case-accent); }
.primary-case-brief__identity strong { display: block; font: 500 28px/1.15 var(--serif); }
.primary-case-brief__identity span { display: block; margin-top: 6px; color: #9fb3b5; font: 11px/1.4 var(--mono); }
.primary-case-brief__metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; border: 1px solid rgba(255,255,255,.14); }
.primary-case-brief__metrics div { min-width: 0; padding: 13px 14px; border-right: 1px solid rgba(255,255,255,.14); }
.primary-case-brief__metrics div:last-child { border-right: 0; }
.primary-case-brief__metrics dt { color: #9fb3b5; font: 10px/1.25 var(--mono); text-transform: uppercase; }
.primary-case-brief__metrics dd { margin: 7px 0 0; color: #fff; font: 600 23px/1.1 var(--serif); }
.primary-case-brief > p { margin: 0; color: #c5d2d1; font-size: 12px; line-height: 1.55; }
.metric-strip { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 25px; border: 1px solid rgba(255,255,255,.15); }
.metric-strip div { padding: 15px; border-right: 1px solid rgba(255,255,255,.15); }
.metric-strip div:last-child { border-right: 0; }
.metric-strip span { display: block; color: #a9babc; font: 11px var(--mono); }
.metric-strip b { display: block; margin-top: 6px; font: 500 21px var(--serif); }

.stress-table-wrap { overflow-x: auto; border: 1px solid var(--line); background: var(--paper-2); }
.stress-table-wrap { overflow-y: visible; }
.support-atlas-wrap { overflow-x: auto; border: 1px solid var(--line); background: var(--paper-2); scrollbar-width: thin; }
.support-atlas caption { padding: 12px 14px; color: var(--ink-soft); text-align: left; font: 11px var(--mono); letter-spacing: .04em; }
.support-atlas td[data-state="strict"] { color: #164e50; background: #d8ebea; font-weight: 700; }
.support-atlas td[data-state="warning"] { color: #76551d; background: #f2e2c8; font-weight: 700; }
.support-atlas td[data-state="excluded"] { color: #586568; background: #ecebe6; }
.support-atlas td[data-state] { font: 700 11px/1.35 var(--mono); white-space: nowrap; }
.support-atlas th[scope="rowgroup"] { color: var(--ink); background: #e3e8e5; vertical-align: middle; }
.support-atlas th[scope="row"] { color: var(--ink); background: #f4f2eb; }
.compact-atlas td, .compact-atlas th { white-space: nowrap; }
.selection-audit-wrap { margin-top: 18px; }
.selection-audit { min-width: 1040px; }
.selection-audit th[scope="row"] { min-width: 180px; white-space: normal; }
.selection-audit td:last-child { color: #76551d; font: 700 11px var(--mono); white-space: nowrap; }
.event-ledger { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 0; border: 1px solid var(--line); background: var(--paper-2); }
.event-ledger dt, .event-ledger dd { margin: 0; padding: 13px 15px; border-bottom: 1px solid var(--line); }
.event-ledger dt { color: #286d75; font: 700 11px var(--mono); letter-spacing: .05em; }
.event-ledger dd { color: var(--ink-soft); }
.event-ledger dt:last-of-type, .event-ledger dd:last-of-type { border-bottom: 0; }
.formula code + code { margin-top: 5px; }
.family-panel-title { display: none; margin: 18px 0 10px; font: 500 22px var(--serif); }
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th, td { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { color: var(--ink-soft); background: #eeece5; font: 700 11px var(--mono); letter-spacing: .06em; text-transform: uppercase; }
tr:last-child td { border-bottom: 0; }
tr.is-selected td { background: #e4efed; }
.stress-buttons { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 13px; }
.stress-buttons button { min-width: 52px; padding: 7px 9px; border: 1px solid var(--line); background: var(--paper-2); cursor: pointer; }
.stress-buttons button.is-active { color: white; background: #27656d; border-color: #27656d; }
.outcome-track { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin-bottom: 10px; border: 1px solid var(--line); background: var(--paper-2); }
.outcome-cell { min-width: 0; padding: 13px 12px 12px; border-top: 4px solid var(--teal); border-right: 1px solid var(--line); transition: background-color 160ms ease, box-shadow 160ms ease; }
.outcome-cell:last-child { border-right: 0; }
.outcome-cell.is-failure { border-top-color: var(--coral); }
.outcome-cell.is-selected { background: #e4efed; box-shadow: inset 0 0 0 2px #27656d; }
.outcome-cell.is-failure.is-selected { background: #f6e3e0; box-shadow: inset 0 0 0 2px var(--coral); }
.outcome-cell span, .outcome-cell small { display: block; color: var(--ink-soft); font: 10px/1.45 var(--mono); }
.outcome-cell strong { display: block; margin: 5px 0 3px; color: #255f60; font: 700 12px/1.3 var(--mono); letter-spacing: .06em; }
.outcome-cell.is-failure strong { color: #8b3430; }
.outcome-key { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0 0 16px; color: var(--ink-soft); font-size: 11px; }
.outcome-key span { display: inline-flex; align-items: center; gap: 6px; }
.outcome-key i { width: 9px; height: 9px; border-radius: 50%; }
.outcome-success-key { background: var(--teal); }
.outcome-failure-key { background: var(--coral); }

.evidence-note { padding: 18px 20px; border-left: 4px solid var(--amber); background: #eee7da; color: #5d5140; }
.evidence-note strong { color: var(--ink); }
.status-provisional { display: inline-block; padding: 6px 10px; border-radius: 999px; color: #7b302d; background: #f2d7d3; font: 700 11px var(--mono); letter-spacing: .08em; }
.status-valid { display: inline-block; padding: 6px 10px; border-radius: 999px; color: #255f60; background: #d8ebea; font: 700 11px var(--mono); }

.support-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.family-coverage { margin-top: 18px; }
.support-card { padding: 23px; background: var(--paper-2); border: 1px solid var(--line); }
.support-card strong { font: 500 29px var(--serif); }
.support-card p { margin: 8px 0 0; color: var(--ink-soft); }
.support-legend { display: flex; flex-wrap: wrap; gap: 14px; margin: 0 0 14px; color: var(--ink-soft); font-size: 12px; }
.support-legend i { display: inline-block; width: 10px; height: 10px; margin-right: 5px; }
.strict { background: var(--teal); }
.warning { background: var(--amber); }
.incomplete { background: #c8c8c8; }
.na { background: var(--deep); }

.denominator-ledger { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); background: var(--paper-2); }
.denominator-step { min-width: 0; padding: 24px; border-right: 1px solid var(--line); }
.denominator-step:last-child { border-right: 0; }
.denominator-step .count-number { display: block; color: #1f6770; font: 500 clamp(29px, 3vw, 40px)/1 var(--serif); letter-spacing: -.025em; }
.denominator-step strong { display: block; margin-top: 10px; font: 700 11px/1.35 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.denominator-step p { margin: 10px 0 0; color: var(--ink-soft); font-size: 13px; }
.denominator-ledger + .evidence-note { margin-top: 18px; }

.validity-contract { border-top: 4px solid var(--teal); }
.validity-list { margin: 0; padding-left: 21px; color: var(--ink-soft); }
.validity-list li + li { margin-top: 12px; }
.validity-list strong { color: var(--ink); }
.micro-note { margin-top: 18px !important; padding-top: 14px; border-top: 1px solid var(--line); font-size: 13px; }
.support-atlas tfoot td { color: var(--ink); background: #e8eeea; border-top: 2px solid #9eb6b3; }
.pair-source-table tr.is-selected td { background: #dbeceb; }

.trace-lanes { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 18px; }
.trace-lane { overflow: hidden; border: 1px solid var(--line); background: var(--paper-2); }
.trace-lane-head { padding: 20px 22px; color: #eef3ef; background: var(--deep-2); border-bottom: 1px solid #29434a; }
.trace-lane-head span { color: #78c9c2; font: 700 11px/1.2 var(--mono); letter-spacing: .13em; }
.trace-lane-head h3 { margin: 5px 0 0; font: 500 27px/1.2 var(--serif); }
.trace-lane ol { margin: 0; padding: 0; list-style: none; }
.trace-lane li { position: relative; min-height: 96px; padding: 18px 20px 18px 58px; border-bottom: 1px solid var(--line); }
.trace-lane li:last-child { border-bottom: 0; }
.trace-lane li::before { content: ""; position: absolute; left: 27px; top: 0; bottom: 0; width: 1px; background: #b9cac8; }
.trace-lane li::after { content: ""; position: absolute; left: 22px; top: 27px; width: 11px; height: 11px; border-radius: 50%; background: var(--paper-2); border: 3px solid var(--teal); }
.trace-lane li.lane-emphasis { background: #edf3ef; }
.trace-lane li.lane-emphasis::after { border-color: var(--coral); }
.trace-lane li p { margin: 6px 0 0; color: var(--ink-soft); font-size: 13px; }
.trace-lane-formal li strong { float: right; color: #1c5b62; font: 500 19px var(--serif); }
.window-tag, .event-time { color: #286d75; font: 700 11px/1.3 var(--mono); letter-spacing: .035em; }
.source-note { margin: 18px 0 0; padding: 16px 18px; color: var(--ink-soft); background: #eceae3; border: 1px solid var(--line); font-size: 13px; }
.source-note strong { color: var(--ink); }
.limits-row { margin-top: 18px; }

.trajectory-case, section[id] { scroll-margin-top: 88px; }
.trajectory-preview-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .45fr); gap: 18px; align-items: stretch; }
.trajectory-media { margin: 0; padding: 12px; color: #d8e6e6; background: #061317; border: 1px solid #29434a; }
.trajectory-poster-frame { position: relative; overflow: hidden; aspect-ratio: 16 / 9; color: #d9eeee; background: #02090b; }
.trajectory-poster-frame img { display: block; width: 100%; height: 100%; object-fit: contain; }
.trajectory-video { display: block; width: 100%; height: 100%; object-fit: contain; background: #02090b; }
.trajectory-print-poster { display: none !important; }
.trajectory-ready-badge { color: #d9fff8; border-color: rgba(100,216,198,.9); }
.trajectory-pending-badge { position: absolute; top: 16px; left: 16px; padding: 7px 10px; color: #e6f7f5; background: rgba(3,12,15,.94); border: 1px solid rgba(106,211,201,.72); font: 700 11px/1.2 var(--mono); letter-spacing: .08em; }
.trajectory-media figcaption { margin: 11px 4px 2px; color: #aebfc0; font-size: 12px; }
.trajectory-ledger { padding: 25px; color: #edf3ef; background: var(--deep-2); border: 1px solid #29434a; }
.trajectory-ledger .kicker { color: #82d9d0; }
.trajectory-ledger h3 { margin: 0 0 18px; font: 500 28px/1.22 var(--serif); }
.trajectory-ledger dl { margin: 0 0 18px; border-top: 1px solid rgba(255,255,255,.15); }
.trajectory-ledger dl div { display: grid; grid-template-columns: 92px 1fr; gap: 12px; padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.15); }
.trajectory-ledger dt { color: #8fa7aa; font: 11px/1.4 var(--mono); }
.trajectory-ledger dd { margin: 0; color: #e2ebea; font: 12px/1.5 var(--mono); }
.trajectory-ledger sub { font-size: 1em; }
.trajectory-ledger > p:last-child { margin: 0; color: #b9c8c8; font-size: 13px; }
.trajectory-ledger code, .trajectory-boundaries code { color: #28747a; font-family: var(--mono); }
.trajectory-ledger code { color: #8bd2cd; }

.trajectory-timeline { margin-top: 18px; padding: 22px; background: var(--paper-2); border: 1px solid var(--line); }
.trajectory-timeline-head { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; color: var(--ink-soft); font: 11px/1.3 var(--mono); letter-spacing: .08em; }
.trajectory-timeline-head strong { color: #2e6f76; font-size: 11px; text-align: center; }
.trajectory-timeline-head span:last-child { text-align: right; }
.trajectory-rail { position: relative; overflow: hidden; height: 5px; margin: 13px 0 18px; background: #d6ddda; }
.trajectory-rail span { display: block; width: 5.36%; height: 100%; background: var(--teal); transition: width 180ms ease; }
.trajectory-chapters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.trajectory-chapters button { min-height: 74px; padding: 12px 14px; color: var(--ink); background: #f5f4ee; border: 1px solid var(--line); cursor: pointer; text-align: left; transition: border-color 150ms ease, background 150ms ease, transform 150ms ease; }
.trajectory-chapters button:hover { transform: translateY(-2px); border-color: #6ba9ab; }
.trajectory-chapters button.is-active { color: #eff7f4; background: #215d64; border-color: #215d64; }
.trajectory-chapters button span { display: block; margin-bottom: 6px; color: #2f6a70; font: 11px/1.2 var(--mono); }
.trajectory-chapters button.is-active span { color: #9fe2dc; }
.trajectory-chapters button strong { display: block; font: 600 13px/1.35 var(--sans); }
.trajectory-status { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; gap: 18px; align-items: center; margin-top: 10px; padding: 17px 19px; background: #e5edeb; border-left: 4px solid var(--teal); }
.trajectory-status > span { color: #246970; font: 700 12px/1.2 var(--mono); }
.trajectory-status strong { display: block; font: 600 15px/1.35 var(--sans); }
.trajectory-status p { margin: 3px 0 0; color: var(--ink-soft); font-size: 13px; }
.trajectory-status em { max-width: 245px; color: #6d5a3b; font: 700 11px/1.45 var(--mono); letter-spacing: .035em; text-align: right; }
.trajectory-boundaries { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.trajectory-boundaries .card { border-top: 3px solid #7eaead; }
.trajectory-boundaries .card h3 { font-size: 22px; }

/* Reusable two-dimensional episode case browser ------------------------- */
.case-browser {
  overflow: hidden;
  background: var(--paper-2);
  border: 1px solid #aebfbc;
  box-shadow: 0 18px 46px rgba(16, 33, 38, .08);
}
.case-browser__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
  gap: 34px;
  align-items: end;
  padding: 30px 32px;
  color: #edf5f2;
  background-color: #0b2025;
  border-bottom: 1px solid #34575b;
}
.case-browser__intro > div, .case-browser__intro h3, .case-browser__intro > div > p { background-color: #0b2025; }
.case-browser__intro h3 { margin: 0; color: #edf5f2; font: 500 clamp(27px, 3vw, 42px)/1.18 var(--serif); }
.case-browser__intro p { margin: 10px 0 0; color: #c9d8d7; }
.case-browser__intro .kicker { color: #8ee4da; background-color: #0b2025; }
.case-browser__contract { padding: 17px 19px; color: #c9d8d7; background: rgba(3, 13, 16, .32); border-left: 3px solid #6acac1; font-size: 12px; }
.case-browser__contract strong { display: block; margin-bottom: 5px; color: #f1f6f3; font: 700 11px/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.case-browser__body { padding: 26px 32px 34px; }
.case-browser__dimension-tabs {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 4px;
  margin: 0 0 22px;
  padding: 4px;
  background: #e6e9e4;
  border: 1px solid var(--line);
}
.case-browser [data-case-view] {
  min-height: 48px;
  padding: 10px 17px;
  color: #475c61;
  background: transparent;
  border: 0;
  cursor: pointer;
  text-align: left;
}
.case-browser [data-case-view] span { display: block; color: #52666a; font: 11px/1.3 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.case-browser [data-case-view] strong { display: block; margin-top: 2px; font-size: 13px; }
.case-browser [data-case-view].is-active { color: #f0f6f3; background: #1d5960; box-shadow: 0 3px 12px rgba(18, 72, 78, .18); }
.case-browser [data-case-view].is-active span { color: #a6e0da; }
.case-browser [data-case-panel][hidden],
.case-browser [data-case-stress-panel][hidden],
.case-browser [data-case-episode-panel][hidden] { display: none; }
.case-browser__panel-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .7fr); gap: 28px; margin-bottom: 18px; }
.case-browser__panel-head h4 { margin: 0; font: 500 27px/1.2 var(--serif); }
.case-browser__panel-head p { margin: 8px 0 0; color: var(--ink-soft); font-size: 13px; }
.case-browser__panel-note { padding: 14px 16px; color: #536468; background: #edf0ec; border-left: 3px solid #87acab; font-size: 12px; }

.case-browser__context {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 20px;
  background: #f0efe9;
  border: 1px solid var(--line);
}
.case-browser__context div { min-width: 0; padding: 14px 16px; border-right: 1px solid var(--line); }
.case-browser__context div:last-child { border-right: 0; }
.case-browser__context dt { color: #536568; font: 11px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.case-browser__context dd { margin: 4px 0 0; overflow-wrap: anywhere; color: var(--ink); font: 600 13px/1.45 var(--sans); }

.case-stress-tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(78px, 1fr));
  gap: 7px;
  margin: 0 0 14px;
}
.case-browser [data-case-stress-value] {
  position: relative;
  min-height: 58px;
  padding: 11px 12px 9px;
  color: #40565b;
  background: #f3f2ec;
  border: 1px solid var(--line);
  border-top: 4px solid #98b5b5;
  cursor: pointer;
  text-align: left;
}
.case-browser [data-case-stress-value]::before { content: "λ"; display: block; color: #78898c; font: 10px/1.1 var(--mono); }
.case-browser [data-case-stress-value] strong { font: 600 16px/1.3 var(--mono); }
.case-browser [data-case-stress-value="0.2"] { border-top-color: #78aba9; }
.case-browser [data-case-stress-value="0.4"] { border-top-color: #c3a454; }
.case-browser [data-case-stress-value="0.6"] { border-top-color: #d58a43; }
.case-browser [data-case-stress-value="0.8"] { border-top-color: #ca6651; }
.case-browser [data-case-stress-value="1"],
.case-browser [data-case-stress-value="1.0"] { border-top-color: #a94643; }
.case-browser [data-case-stress-value].is-active { color: #f4f8f5; background: #245f66; border-color: #245f66; }
.case-browser [data-case-stress-value].is-active::before { color: #a4e0da; }
.case-stress-compare {
  display: grid;
  grid-template-columns: repeat(6, minmax(110px, 1fr));
  overflow-x: auto;
  margin-bottom: 18px;
  border: 1px solid var(--line);
  background: #f3f1ea;
  scrollbar-width: thin;
}
.case-stress-summary { min-width: 110px; padding: 14px; border-right: 1px solid var(--line); border-bottom: 3px solid transparent; }
.case-stress-summary:last-child { border-right: 0; }
.case-stress-summary.is-focused { background: #e1ece9; border-bottom-color: #2f7b80; }
.case-stress-summary span, .case-stress-summary small { display: block; color: #52666a; font: 11px/1.4 var(--mono); }
.case-stress-summary strong { display: block; margin: 5px 0; font: 500 20px/1.2 var(--serif); }
.case-stress-summary button { margin-top: 9px; padding: 5px 8px; color: #1d575d; background: transparent; border: 1px solid #8aa8a5; cursor: pointer; font: 11px var(--mono); }

.case-episode-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 18px; }
.case-browser [data-case-episode-value] {
  min-height: 118px;
  padding: 17px;
  color: var(--ink);
  background: #f3f2ec;
  border: 1px solid var(--line);
  border-left: 4px solid #82aaa8;
  cursor: pointer;
  text-align: left;
}
.case-browser [data-case-episode-value] span { display: block; color: #607477; font: 10px/1.35 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.case-browser [data-case-episode-value] strong { display: block; margin: 8px 0 5px; font: 500 21px/1.2 var(--serif); }
.case-browser [data-case-episode-value] small { color: var(--ink-soft); font-size: 11px; }
.case-browser [data-case-episode-value].is-active { color: #eff6f3; background: #173f45; border-color: #173f45; border-left-color: #77d0c7; }
.case-browser [data-case-episode-value].is-active span,
.case-browser [data-case-episode-value].is-active small { color: #b7cdcc; }

.case-browser__workspace { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(310px, .8fr); gap: 18px; align-items: start; }
.case-planning { min-width: 0; border: 1px solid var(--line); background: #fffefa; }
.case-planning__head { padding: 17px 20px; color: #ecf4f1; background: var(--deep-2); }
.case-planning__head span { color: #8cddd5; font: 11px/1.2 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.case-planning__head h5 { margin: 5px 0 0; font: 500 23px/1.25 var(--serif); }
.case-planning-timeline { margin: 0; padding: 0; list-style: none; counter-reset: plan-node; }
.case-planning-node {
  counter-increment: plan-node;
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  min-height: 112px;
  border-bottom: 1px solid var(--line);
}
.case-planning-node:last-child { border-bottom: 0; }
.case-planning-node::before { content: counter(plan-node, decimal-leading-zero); padding: 20px 12px; color: #2d747a; background: #eef0eb; font: 700 11px var(--mono); text-align: center; }
.case-planning-node::after { content: ""; position: absolute; left: 28px; top: 44px; bottom: -1px; width: 1px; background: #aac4c1; }
.case-planning-node:last-child::after { display: none; }
.case-planning-node__body { min-width: 0; padding: 18px 19px; }
.case-planning-node__meta { display: flex; flex-wrap: wrap; gap: 6px 13px; color: #52666a; font: 11px/1.35 var(--mono); }
.case-planning-node__title { display: block; margin: 6px 0 4px; font: 600 15px/1.4 var(--sans); }
.case-planning-node__body > p { margin: 0; color: var(--ink-soft); font-size: 13px; }
.case-planning-node[data-plan-state="recovery"]::before { color: #8b5532; background: #f2e5d8; }
.case-planning-node[data-plan-state="failure"]::before { color: #913c38; background: #f3dfdc; }
.case-planning-node[data-plan-state="complete"]::before { color: #286867; background: #dcebe7; }

.case-evidence-panel { min-width: 0; }
.case-simulation-metrics { display: grid; grid-template-columns: 1fr 1fr; margin: 0 0 12px; border: 1px solid var(--line); background: #f2f1eb; }
.case-simulation-metric { min-width: 0; padding: 13px 15px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.case-simulation-metric:nth-child(2n) { border-right: 0; }
.case-simulation-metric:nth-last-child(-n+2) { border-bottom: 0; }
.case-simulation-metric dt { color: #526467; font: 11px/1.35 var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.case-simulation-metric dd { margin: 4px 0 0; overflow-wrap: anywhere; color: var(--ink); font: 600 15px/1.35 var(--mono); }
.case-simulation-metric[data-metric-state="missing"] dd { color: #535f61; }
.case-simulation-metric[data-metric-state="warning"] dd { color: #93552c; }
.case-trace-exchange { display: grid; gap: 8px; }
.case-trace-channel { padding: 13px 15px; background: #fffefa; border: 1px solid var(--line); border-left: 4px solid #799f9f; }
.case-trace-channel[data-channel="thought"] { border-left-color: var(--violet); }
.case-trace-channel[data-channel="action"] { border-left-color: var(--teal); }
.case-trace-channel[data-channel="observation"] { border-left-color: var(--amber); }
.case-trace-channel span { display: block; margin-bottom: 4px; color: #526568; font: 700 11px/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.case-trace-channel p { margin: 0; color: #43575c; font-size: 12px; }
.case-trace-channel code { color: #1c686d; overflow-wrap: anywhere; font: 11px/1.55 var(--mono); }
.case-trace-channel details { margin-top: 8px; }
.case-trace-channel summary { color: #27676c; cursor: pointer; font: 700 11px/1.35 var(--mono); }
.case-evidence-links { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.case-evidence-links a { padding: 7px 9px; color: #245d62; background: #edf1ed; border: 1px solid #a9bcb9; text-decoration: none; font: 11px/1.3 var(--mono); }
.case-evidence-links a:hover { background: #dfeae7; border-color: #6e9b99; }
.case-browser__provenance { margin: 13px 0 0; padding: 12px 14px; color: #5e6c6e; background: #eceae3; border: 1px solid var(--line); font-size: 11px; }

.case-browser__state { padding: 28px; color: #53676a; background: #f1f0ea; border: 1px dashed #9eaeab; text-align: center; }
.case-browser__state strong { display: block; margin-bottom: 6px; color: var(--ink); font: 500 22px/1.3 var(--serif); }
.case-browser__state[data-state="loading"] { border-color: #82aaa8; }
.case-browser__state[data-state="error"] { color: #7d403b; background: #f5e8e5; border-color: #c47c74; }
.case-browser__live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

.site-footer { padding: 36px 0; color: #9fb1b3; background: var(--deep); border-top: 1px solid #29434a; }
.site-footer .inner { display: flex; justify-content: space-between; gap: 20px; }
.site-footer p { margin: 0; font-size: 12px; }
.site-footer .inner::before { content: ""; width: 36px; height: 36px; flex: 0 0 36px; align-self: center; background: #0b1b20 url("assets/brand/resilience-evaluation-logo.png") center/contain no-repeat; border-radius: 10px; box-shadow: 0 0 16px rgba(30,145,214,.18); }

@media (max-width: 900px) {
  :root { --page: min(100% - 38px, 760px); }
  .site-header { flex-wrap: wrap; min-height: 58px; padding: 11px 19px; }
  .site-brand { min-width: 0; }
  .menu-toggle { display: block; margin-left: auto; }
  .site-nav { display: none; flex-basis: 100%; order: 4; margin: 0; padding: 12px 0; flex-direction: column; align-items: flex-start; }
  .site-nav.is-open { display: flex; }
  .topnav-case-group { width: 100%; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin: 4px 0 0; padding: 0; background: #d8ddda; }
  .topnav-case-group a { padding: 10px 8px; background: #f7f7f3; text-align: center; }
  .site-nav > a, .site-nav-pending { width: 100%; justify-content: space-between; padding: 9px 8px; border-bottom: 1px solid #e0e4e1; }
  .aspect-view-nav { top: 58px; }
  .aspect-view-nav__inner { width: 100%; min-height: 94px; display: block; padding-left: 19px; }
  .aspect-view-nav__label { display: none; }
  .aspect-view-nav__links { display: flex; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; scroll-snap-type: x proximity; }
  .aspect-view-nav__links a { flex: 0 0 min(310px,82vw); min-height: 94px; scroll-snap-align: start; }
  .site-action { display: none; }
  .hero-grid, .section-head, .two-col, .case-grid { grid-template-columns: 1fr; }
  .aspect-hero::before { display: block; background-position: 82% 50%; background-size: auto 108%; opacity: .3; }
  .aspect-hero::after { background: linear-gradient(90deg, rgba(7,19,23,.99) 0%, rgba(7,19,23,.94) 68%, rgba(7,19,23,.7) 100%), linear-gradient(180deg, rgba(7,19,23,.26), rgba(7,19,23,.7)); }
  .primary-case-brief { grid-template-columns: 1fr; }
  .metric-door-grid, .three-col { grid-template-columns: 1fr; }
  .kpi-row { grid-template-columns: 1fr 1fr; }
  .kpi:nth-child(2) { border-right: 0; }
  .kpi:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .support-grid { grid-template-columns: 1fr; }
  .outcome-track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .outcome-cell:nth-child(3) { border-right: 0; }
  .outcome-cell:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .denominator-ledger { grid-template-columns: 1fr 1fr; }
  .denominator-step:nth-child(2) { border-right: 0; }
  .denominator-step:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .trace-lanes { grid-template-columns: 1fr; }
  .trajectory-preview-grid { grid-template-columns: 1fr; }
  .trajectory-boundaries { grid-template-columns: 1fr; }
  .trajectory-status { grid-template-columns: 62px 1fr; }
  .trajectory-status em { grid-column: 2; max-width: none; text-align: left; }
  .case-browser__intro, .case-browser__panel-head, .case-browser__workspace { grid-template-columns: 1fr; }
  .case-browser__context { grid-template-columns: 1fr 1fr; }
  .case-browser__context div:nth-child(2) { border-right: 0; }
  .case-browser__context div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .case-stress-tabs { grid-template-columns: repeat(3, minmax(78px, 1fr)); }
  .case-episode-tabs { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  section[id] { scroll-margin-top: 160px; }
  .page-hero { padding: 65px 0 54px; }
  .page-main { padding: 52px 0 72px; }
  .aspect-view-nav__inner { padding-left: 12px; }
  .aspect-view-nav__links a { flex-basis: min(285px,86vw); padding: 14px 15px; }
  .aspect-view-nav__links small { white-space: normal; }
  .section { padding: 48px 0; }
  .kpi-row, .metric-strip { grid-template-columns: 1fr; }
  .kpi, .metric-strip div { border-right: 0; border-bottom: 1px solid var(--line); }
  .metric-strip div:last-child { border-bottom: 0; }
  .figure-shell { padding: 10px; }
  .case-copy { padding: 23px; }
  .primary-case-brief { padding: 21px; }
  .primary-case-brief__metrics { grid-template-columns: 1fr 1fr 1fr; }
  .primary-case-brief__metrics div { padding: 11px 9px; }
  .primary-case-brief__metrics dt { font-size: 9px; }
  .primary-case-brief__metrics dd { font-size: 19px; }
  .outcome-track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .outcome-cell:nth-child(3) { border-right: 1px solid var(--line); }
  .outcome-cell:nth-child(2n) { border-right: 0; }
  .outcome-cell:nth-child(-n+4) { border-bottom: 1px solid var(--line); }
  .site-footer .inner { display: block; }
  .denominator-ledger { grid-template-columns: 1fr; }
  .denominator-step { border-right: 0; border-bottom: 1px solid var(--line); }
  .denominator-step:last-child { border-bottom: 0; }
  .trace-lane li { padding-left: 52px; }
  .trajectory-timeline { padding: 14px; }
  .trajectory-chapters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trajectory-chapters button { min-height: 68px; padding: 11px; }
  .trajectory-pending-badge { top: 9px; left: 9px; max-width: calc(100% - 18px); font-size: 11px; }
  .trajectory-poster-frame { aspect-ratio: auto; min-height: 260px; overflow: visible; }
  .trajectory-status { grid-template-columns: 1fr; gap: 8px; }
  .trajectory-status em { grid-column: 1; }
  .case-browser__intro { padding: 24px 21px; }
  .case-browser__body { padding: 20px 17px 25px; }
  .case-browser__dimension-tabs { display: grid; grid-template-columns: 1fr; width: 100%; }
  .case-browser__context, .case-episode-tabs { grid-template-columns: 1fr; }
  .case-browser__context div { border-right: 0; border-bottom: 1px solid var(--line); }
  .case-browser__context div:last-child { border-bottom: 0; }
  .case-stress-tabs { grid-template-columns: repeat(2, minmax(76px, 1fr)); }
  .case-stress-compare { grid-template-columns: repeat(2, minmax(0, 1fr)); overflow-x: visible; }
  .case-stress-summary:nth-child(2n) { border-right: 0; }
  .case-stress-summary:nth-child(-n+4) { border-bottom: 1px solid var(--line); }
  .case-simulation-metrics { grid-template-columns: 1fr; }
  .case-simulation-metric, .case-simulation-metric:nth-child(2n), .case-simulation-metric:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .case-simulation-metric:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .case-browser *, .case-browser *::before, .case-browser *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
  [data-aspect-page][data-current-aspect-view] > [data-aspect-section]:not([hidden]) { animation: none; }
  .aspect-view-nav__links a, .aspect-view-nav__links a::after { transition-duration: .01ms !important; }
}

@media print {
  :root { --page: 100%; }
  body { background: white; font-size: 10pt; }
  .site-header, .progress, .aspect-view-nav, .figure-downloads, .stress-buttons, .site-footer { display: none !important; }
  [data-aspect-section][hidden] { display: block !important; }
  .page-hero { padding: 12mm 0; color: var(--ink); background: white; border-bottom: 1px solid #999; }
  .aspect-hero::before, .aspect-hero::after { display: none; }
  .page-hero h1 { color: var(--ink); font-size: 30pt; }
  .page-hero h1 em, .eyebrow { color: var(--teal); }
  .hero-dek, .hero-status p { color: var(--ink-soft); }
  .hero-status { color: var(--ink); border-color: #aaa; background: white; }
  .hero-chips span { color: var(--ink); border-color: #aaa; }
  .page-main { padding: 8mm 0; }
  .section { break-inside: avoid; padding: 9mm 0; }
  .case-study { color: var(--ink); background: white; border-color: #aaa; break-inside: avoid; }
  .primary-case-brief { color: var(--ink); background: white; border-color: #aaa; break-inside: avoid; }
  .primary-case-brief__identity strong, .primary-case-brief__metrics dd { color: var(--ink); }
  .primary-case-brief__identity span, .primary-case-brief__metrics dt, .primary-case-brief > p { color: var(--ink-soft); }
  .case-copy p { color: var(--ink-soft); }
  .metric-strip { border-color: #aaa; }
  [data-family-tabs] { break-inside: auto; }
  [data-family-panel], [data-family-panel][hidden] { display: block !important; margin-top: 8mm; break-inside: avoid; }
  .family-panel-title { display: block; }
  .support-atlas-wrap { overflow: visible; }
  .selection-audit { min-width: 0; font-size: 8pt; }
  .trajectory-case { break-inside: auto; }
  .trajectory-preview-grid { display: block; }
  .trajectory-media { break-inside: avoid; padding: 3mm; background: white; border-color: #999; }
  .trajectory-media figcaption { color: var(--ink-soft); }
  .trajectory-poster-frame { border: 1px solid #999; }
  .trajectory-video { display: none !important; }
  .trajectory-print-poster { display: block !important; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
  .trajectory-ledger { margin-top: 5mm; color: var(--ink); background: white; border-color: #999; break-inside: avoid; }
  .trajectory-ledger dd, .trajectory-ledger > p:last-child { color: var(--ink-soft); }
  .trajectory-ledger dl, .trajectory-ledger dl div { border-color: #bbb; }
  .trajectory-timeline, .trajectory-status { display: none !important; }
  .trajectory-boundaries { grid-template-columns: 1fr 1fr 1fr; break-inside: avoid; }
  .case-browser { box-shadow: none; }
  .case-browser__dimension-tabs, .case-stress-tabs, .case-episode-tabs { display: none !important; }
  .case-browser [data-case-panel],
  .case-browser [data-case-panel][hidden],
  .case-browser [data-case-stress-panel],
  .case-browser [data-case-stress-panel][hidden],
  .case-browser [data-case-episode-panel],
  .case-browser [data-case-episode-panel][hidden] { display: block !important; break-inside: avoid; margin-top: 6mm; }
  .case-browser__workspace { grid-template-columns: 1fr 1fr; }
  .case-browser__intro { color: var(--ink); background: white; border-color: #999; }
  .case-browser__intro p, .case-browser__contract { color: var(--ink-soft); }
  .case-browser__contract { background: white; }
}

/* English Project Description */
.project-hero h1 { max-width: 880px; }
.project-thesis .text-link { display: inline-flex; margin-top: 14px; font-weight: 800; }
.paper-figure-feature { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 30px; align-items: stretch; }
.paper-figure-feature.reverse { grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); }
.paper-figure-feature figure { margin: 0; padding: 18px; border: 1px solid var(--border); border-radius: 26px; background: var(--surface); box-shadow: var(--shadow); }
.paper-figure-feature figure img { display: block; width: 100%; height: auto; border-radius: 16px; background: #fff; }
.paper-figure-feature figcaption { margin-top: 14px; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.paper-claim-stack { display: grid; gap: 14px; }
.paper-claim-stack article { position: relative; padding: 26px 26px 24px 78px; border: 1px solid var(--border); border-radius: 22px; background: var(--surface); }
.paper-claim-stack article span { position: absolute; left: 24px; top: 24px; font-family: var(--mono); color: var(--accent); font-weight: 800; }
.paper-claim-stack h3 { margin: 0 0 8px; font-size: 1.35rem; }
.paper-claim-stack p { margin: 0; color: var(--muted); line-height: 1.55; }
.framework-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1.1fr; gap: 14px; align-items: center; margin: 34px 0 42px; }
.framework-flow article { min-height: 150px; display: flex; flex-direction: column; justify-content: center; padding: 22px; border: 1px solid var(--border); border-radius: 22px; background: var(--surface); }
.framework-flow article span { font-family: var(--mono); font-size: .72rem; letter-spacing: .12em; color: var(--accent); }
.framework-flow article strong { margin-top: 12px; font-size: 1.2rem; }
.framework-flow article p { margin: 8px 0 0; color: var(--muted); font-size: .9rem; }
.framework-flow i { color: var(--accent); font-style: normal; font-size: 1.5rem; }
.framework-flow .flow-output { background: color-mix(in srgb, var(--accent) 12%, var(--surface)); border-color: color-mix(in srgb, var(--accent) 42%, var(--border)); }
.project-metric-doors .metric-door { min-height: 320px; }
.paper-kpis .kpi strong { font-size: clamp(2rem, 4vw, 3.7rem); }
.paper-validity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 34px; }
.paper-validity-grid figure { margin: 0; padding: 14px; border: 1px solid var(--border); border-radius: 22px; background: var(--surface); }
.paper-validity-grid img { width: 100%; height: 260px; object-fit: contain; background: #fff; border-radius: 12px; }
.paper-validity-grid figcaption { padding: 14px 6px 5px; color: var(--muted); line-height: 1.5; }
.atlas-doors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 30px; }
.atlas-doors a { display: grid; gap: 8px; padding: 24px; border: 1px solid var(--border); border-radius: 20px; background: var(--surface); text-decoration: none; }
.atlas-doors span { font-family: var(--mono); color: var(--muted); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.atlas-doors strong { color: var(--text); }
.compact-video-grid { grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); }
.material-passport { margin-top: 28px; }
.aspect-video-placeholder { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 26px; padding: 28px; border: 1px solid var(--border); border-radius: 26px; background: var(--surface); box-shadow: var(--shadow); }
.aspect-video-placeholder__stage { aspect-ratio: 16 / 9; display: grid; place-items: center; padding: 32px; border-radius: 18px; background: #071317; color: #edf7f4; text-align: center; }
.aspect-video-placeholder__stage strong { display: block; font-size: clamp(1.7rem, 3vw, 3rem); }
.aspect-video-placeholder__stage span { display: block; margin-top: 12px; color: #91cabc; font-family: var(--mono); }

@media (max-width: 980px) {
  .paper-figure-feature, .paper-figure-feature.reverse, .aspect-video-placeholder, .compact-video-grid { grid-template-columns: 1fr; }
  .paper-validity-grid, .atlas-doors { grid-template-columns: 1fr; }
  .paper-validity-grid img { height: auto; }
  .framework-flow { grid-template-columns: 1fr; }
  .framework-flow i { transform: rotate(90deg); justify-self: center; }
}

@media print {
  .paper-figure-feature, .paper-figure-feature.reverse, .paper-validity-grid, .atlas-doors, .framework-flow, .aspect-video-placeholder { display: block; }
  .paper-figure-feature > *, .paper-validity-grid figure, .atlas-doors a, .framework-flow article, .aspect-video-placeholder > * { margin-bottom: 6mm; break-inside: avoid; }
}

/* Overview v8 — evidence-first benchmark narrative */
.overview-page { background: #f7f7f3; }
.overview-hero { padding: clamp(68px, 7vw, 96px) 0 64px; color: var(--ink); background: #f7f7f3; border-bottom: 1px solid #d8ddda; }
.overview-hero__shell { display: grid; grid-template-areas: "copy visual" "actions visual"; grid-template-columns: minmax(0, 1.12fr) minmax(440px, .88fr); gap: 28px 60px; align-items: center; text-align: left; }
.overview-hero__copy { grid-area: copy; min-width: 0; }
.overview-hero h1 { max-width: 660px; margin: 0; padding: 0; color: #0b1011; font: 500 clamp(52px, 5vw, 74px)/1.02 var(--mono); letter-spacing: -.067em; text-wrap: balance; }
.overview-hero h1 span, .overview-hero h1 strong { display: block; font: inherit; }
.overview-hero h1 mark { display: inline-block; margin-right: .04em; padding: 0 .11em .045em; color: #f7f7f3; background: #14777a; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.overview-hero h1 strong { margin-top: 14px; font-size: .5em; line-height: 1.2; letter-spacing: -.04em; }
.overview-hero h1 em { color: #14777a; font: inherit; }
.overview-hero .hero-dek { max-width: 610px; margin: 28px 0 0; color: #5c696c; font: 450 clamp(16px, 1.35vw, 18px)/1.55 var(--mono); }
.overview-hero .hero-dek span { display: block; }
.overview-hero .hero-dek span + span { margin-top: 8px; color: #172629; font-weight: 650; }
.overview-hero__visual { grid-area: visual; min-width: 0; margin: 0; overflow: hidden; background: #fffefa; border: 1px solid #cbd3d0; }
.overview-hero__visual-frame { position: relative; aspect-ratio: 2 / 1; overflow: hidden; background: #0a1c21; }
.overview-hero__visual-frame::after { position: absolute; inset: 0; content: ""; box-shadow: inset 0 0 0 1px rgba(5,21,25,.14); pointer-events: none; }
.overview-hero__sequence-stage, .overview-hero__sequence-slide { position: absolute; inset: 0; }
.overview-hero__sequence-slide { visibility: hidden; opacity: 0; transition: opacity 420ms ease, visibility 420ms step-end; }
.overview-hero__sequence-slide.is-active { visibility: visible; opacity: 1; transition-timing-function: ease, step-start; }
.overview-hero__sequence-slide img { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.94) contrast(1.035); }
.overview-hero__visual figcaption { color: #536568; font: 11px/1.35 var(--mono); text-align: left; }
.overview-hero__visual-meta { min-height: 48px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 13px; align-items: center; padding: 9px 13px; }
.overview-hero__visual-meta > span { overflow: hidden; color: #14777a; font-weight: 800; letter-spacing: .07em; text-overflow: ellipsis; white-space: nowrap; }
.overview-hero__visual-meta p { display: flex; gap: 7px; align-items: baseline; margin: 0; color: #172629; }
.overview-hero__visual-meta small { color: #536568; font-size: 11px; }
.overview-hero__visual-meta strong { color: #172629; font-size: 13px; }
.overview-hero__sequence-controls { position: absolute; z-index: 3; bottom: 12px; left: 50%; display: flex; gap: 1px; padding: 4px 7px; background: rgba(5, 21, 25, .76); border: 1px solid rgba(255, 255, 255, .28); border-radius: 999px; backdrop-filter: blur(8px); transform: translateX(-50%); }
.overview-hero__sequence-controls button { width: 34px; height: 34px; display: grid; place-items: center; margin: 0; padding: 0; appearance: none; background: transparent; border: 0; border-radius: 50%; cursor: pointer; }
.overview-hero__sequence-controls button::before { width: 8px; height: 8px; content: ""; background: rgba(255, 255, 255, .62); border: 1px solid rgba(255, 255, 255, .7); border-radius: 50%; }
.overview-hero__sequence-controls button:hover::before { background: #fff; }
.overview-hero__sequence-controls button.is-active::before { width: 10px; height: 10px; background: #79d1c7; border-color: #d9fffa; box-shadow: 0 0 0 2px rgba(121, 209, 199, .28); }
.overview-hero__sequence-controls button:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }
.overview-hero__actions { grid-area: actions; max-width: 610px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.overview-hero__action--primary { grid-column: 1 / -1; }
.overview-hero__action { min-height: 62px; display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 14px 17px; color: #172629; background: rgba(255,255,255,.45); border: 1px solid #cbd3d0; font: 700 16px/1.3 var(--mono); text-align: left; text-decoration: none; transition: color 220ms ease, background-color 220ms ease, border-color 220ms ease, transform 220ms cubic-bezier(.22,1,.36,1); }
.overview-hero__action svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.overview-hero__action b { color: #14777a; font-size: 16px; }
.overview-hero__action--primary { color: #f8faf8; background: #101718; border-color: #101718; }
.overview-hero__action--primary b { color: #79d1c7; }
.overview-hero__action:hover { color: #071317; background: #fff; border-color: #91a29e; transform: translateY(-2px); }
.overview-hero__action--primary:hover { color: #081718; background: #79d1c7; border-color: #79d1c7; }
.overview-hero__action:active { transform: translateY(0) scale(.985); }

.overview-layer-nav { position: sticky; top: 58px; z-index: 160; background: rgba(247,247,243,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.overview-layer-nav__inner { width: var(--page); margin: 0 auto; display: grid; grid-template-columns: repeat(4,1fr); }
.overview-layer-nav a { min-width: 0; min-height: 68px; display: grid; grid-template-columns: 30px minmax(0,1fr); align-content: center; padding: 12px 15px; color: var(--ink); border-right: 1px solid var(--line); text-decoration: none; }
.overview-layer-nav a:first-child { border-left: 1px solid var(--line); }
.overview-layer-nav a:hover, .overview-layer-nav a.is-current { background: #fffefa; }
.overview-layer-nav a.is-current { box-shadow: inset 0 -3px #14777a; }
.overview-layer-nav a > span { grid-row: 1/3; color: #1b7378; font: 700 11px/1.4 var(--mono); }
.overview-layer-nav strong, .overview-layer-nav small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.overview-layer-nav strong { font: 700 15px/1.3 var(--mono); }
.overview-layer-nav small { display: none; margin-top: 3px; color: var(--ink-soft); font: 10px/1.35 var(--mono); }
.overview-layer-nav a.is-current small { display: block; }

.overview-main { padding-top: 0; }
.overview-section { position: relative; padding: 108px 0; scroll-margin-top: 130px; }
.overview-section__number { display: none; }
.overview-section__head { position: relative; z-index: 1; margin-bottom: 48px; padding-top: 22px; border-top: 1px solid #bfc8c5; }
.overview-section__head h2 { max-width: 600px; }
.overview-section__head > p { max-width: 660px; justify-self: end; font-size: 15px; line-height: 1.6; }

.metric-explorer { overflow: hidden; color: #eef5f2; background: #0a1c21; border: 1px solid #28434a; }
.metric-explorer__tabs { position: relative; display: grid; grid-template-columns: repeat(3,1fr); overflow: hidden; border-bottom: 1px solid #28434a; }
.metric-explorer__tabs::after { position: absolute; right: auto; bottom: 0; left: 0; width: calc(100% / 3); height: 3px; content: ""; background: #69d0c6; transform: translate3d(0,0,0); }
.metric-explorer[data-active-aspect="stability"] .metric-explorer__tabs::after { background: #a875aa; transform: translate3d(100%,0,0); }
.metric-explorer[data-active-aspect="ge"] .metric-explorer__tabs::after { background: #d88b2b; transform: translate3d(200%,0,0); }
.metric-explorer__tabs button { position: relative; z-index: 1; min-height: 68px; padding: 15px 22px; color: #9eb2b5; background: transparent; border: 0; border-right: 1px solid #28434a; cursor: pointer; line-height: 1.3; text-align: left; }
.metric-explorer__tabs button:last-child { border-right: 0; }
.metric-explorer__tabs button span { margin-right: 18px; color: #9ab9bb; font: 11px var(--mono); }
.metric-explorer__tabs button[aria-selected="true"] span { color: #8fe4da; }
.metric-explorer__tabs button:hover { color: #e3efed; background: rgba(21,50,56,.48); }
.metric-explorer__tabs button[aria-selected="true"] { color: #fff; background: #153238; }
.metric-explorer__stage { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(320px,.65fr); }
.metric-explorer__figure { min-width: 0; margin: 0; padding: 24px; border-right: 1px solid #28434a; }
.metric-explorer__image-wrap { position: relative; overflow: hidden; background: #fff; }
.metric-explorer__image-wrap img { display: block; width: 100%; }
.metric-explorer__focus { position: absolute; inset: 0; pointer-events: none; border: 4px solid rgba(105,208,198,.78); transition: clip-path 280ms ease, border-color 280ms ease; }
.metric-explorer[data-active-aspect="rebound"] .metric-explorer__focus { clip-path: polygon(0 0,48% 0,48% 100%,0 100%); }
.metric-explorer[data-active-aspect="stability"] .metric-explorer__focus { border-color: rgba(152,80,149,.78); clip-path: polygon(22% 0,76% 0,76% 100%,22% 100%); }
.metric-explorer[data-active-aspect="ge"] .metric-explorer__focus { border-color: rgba(216,139,43,.84); clip-path: polygon(48% 0,100% 0,100% 100%,48% 100%); }
.metric-explorer__figure figcaption { display: grid; grid-template-columns: 1fr 1fr auto; gap: 18px; margin-top: 15px; color: #9eb1b2; font-size: 11px; }
.metric-explorer__figure figcaption b { display: block; color: #e9f0ed; }
.metric-explorer__figure figcaption a { align-self: end; color: #72d0c7; text-decoration: none; }
.metric-explorer__panels { min-width: 0; }
.metric-explorer__panels article { min-height: 100%; padding: 32px; }
.metric-explorer__label { margin: 0; color: #78d2ca; font: 700 10px/1.4 var(--mono); letter-spacing: .11em; }
.metric-explorer__metric { display: flex; align-items: baseline; gap: 14px; margin: 24px 0 18px; }
.metric-explorer__metric > span { color: #fff; font: 500 58px/1 var(--serif); }
.metric-explorer__metric small { color: #91a7a9; font: 11px var(--mono); }
.metric-explorer__panels h3 { margin: 0 0 14px; font: 500 27px/1.22 var(--serif); }
.metric-explorer__panels p { color: #b7c5c5; font-size: 13px; }
.metric-explorer__panels dl { margin: 24px 0; border-top: 1px solid #315057; }
.metric-explorer__panels dl div { display: grid; grid-template-columns: 88px 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid #315057; }
.metric-explorer__panels dt { color: #839a9c; font: 10px var(--mono); text-transform: uppercase; }
.metric-explorer__panels dd { margin: 0; color: #edf4f1; font-size: 12px; }
.metric-explorer__panels article > a { color: #74d3ca; font-size: 13px; text-decoration: none; }
.metric-explorer__boundary { padding: 9px 11px; color: #f4d7a8 !important; background: rgba(216,139,43,.1); border-left: 3px solid var(--amber); }

.benchmark-strip { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 20px; border: 1px solid var(--line); background: #fffefa; }
.benchmark-strip article { min-width: 0; padding: 21px; border-right: 1px solid var(--line); }
.benchmark-strip article:last-child { border-right: 0; }
.benchmark-strip span { color: var(--ink-soft); font: 10px var(--mono); letter-spacing: .08em; }
.benchmark-strip strong { display: block; margin: 7px 0; font: 500 30px/1.1 var(--serif); }
.benchmark-strip p { margin: 0; color: var(--ink-soft); font-size: 11px; }

.evidence-details { margin-top: 20px; border: 1px solid var(--line); background: #fffefa; }
.evidence-details summary { display: flex; gap: 14px; align-items: center; padding: 17px 20px; cursor: pointer; font-weight: 650; list-style: none; user-select: none; }
.evidence-details summary::-webkit-details-marker { display: none; }
.evidence-details > summary::after { width: 30px; height: 30px; display: grid; flex: 0 0 30px; place-items: center; margin-left: auto; color: #0f6f73; background: #e4f0ec; border: 1px solid #aacbc3; border-radius: 50%; content: "↓"; font: 800 16px/1 var(--sans); transition: color 160ms ease, background-color 160ms ease, transform 160ms ease; }
.evidence-details[open] > summary::after { color: #fff; background: #166f73; border-color: #166f73; content: "↑"; }
.evidence-details > summary:hover::after,
.evidence-details > summary:focus-visible::after { transform: translateY(2px); }
.evidence-details summary span { color: #147177; font: 700 11px var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.table-scroll { overflow-x: auto; border-top: 1px solid var(--line); }
.paper-data-table { width: 100%; min-width: 980px; border-collapse: collapse; font-size: 12px; font-variant-numeric: tabular-nums; }
.paper-data-table caption { padding: 14px 18px; color: var(--ink-soft); text-align: left; }
.paper-data-table th, .paper-data-table td { padding: 11px 14px; border-top: 1px solid #dde1de; text-align: right; white-space: nowrap; }
.paper-data-table thead th { color: #dce7e4; background: #10272c; border-top: 0; font: 600 10px/1.35 var(--mono); letter-spacing: .04em; }
.paper-data-table th:first-child, .paper-data-table td:first-child { text-align: left; }
.paper-data-table tbody tr:nth-child(even) { background: #f2f1eb; }
.paper-data-table tbody th { font-weight: 650; }
.paper-data-table tfoot td { color: var(--ink-soft); text-align: left; white-space: normal; }
.optimization-table .optimized-row > td { background: #e4f5fd; }
.optimization-table .optimized-row .optimized-label { color: #102b30; font-weight: 800; }
.optimization-table .optimized-row .target-gain { background: #e4f5fd; }
.optimization-table .optimized-row .target-gain strong { color: #102b30; font-weight: 850; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 2px; }
.optimization-table .delta { display: inline-block; margin-left: 3px; font-weight: 800; white-space: nowrap; }
.optimization-table .delta--gain { color: #005959; }
.optimization-table .delta--tradeoff { color: #b20000; }
.optimization-table tbody tr:nth-child(odd):not(:first-child) > * { border-top: 2px solid #aebbb7; }

.statistical-unit-strip { display: grid; grid-template-columns: .75fr 1.25fr; gap: 42px; align-items: center; margin-top: 28px; padding: 28px; color: #ecf3f0; background: #17353b; }
.statistical-unit-strip h3 { margin: 0; font: 500 26px/1.2 var(--serif); }
.statistical-unit-strip dl { display: grid; grid-template-columns: repeat(3,1fr); margin: 0; }
.statistical-unit-strip dl div { min-width: 0; padding: 8px 17px; border-left: 1px solid #426067; }
.statistical-unit-strip dt { color: #7ed5cd; font: 11px var(--mono); text-transform: uppercase; }
.statistical-unit-strip dd { margin: 7px 0 0; color: #bdcccc; font-size: 12px; }

.analysis-kpis { display: grid; grid-template-columns: repeat(4,1fr); margin-bottom: 20px; border: 1px solid var(--line); }
.analysis-kpis article { padding: 20px; border-right: 1px solid var(--line); background: #fffefa; }
.analysis-kpis article:last-child { border-right: 0; }
.analysis-kpis strong, .analysis-kpis span { display: block; }
.analysis-kpis strong { font: 500 31px/1.1 var(--serif); }
.analysis-kpis span { margin-top: 8px; color: var(--ink-soft); font: 10px var(--mono); text-transform: uppercase; }
.case-family-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.case-family-card { min-width: 0; padding: 24px; background: #fffefa; border: 1px solid var(--line); }
.case-family-card header span, .case-family-card header strong { display: block; }
.case-family-card header span { color: #23747a; font: 700 10px var(--mono); letter-spacing: .09em; }
.case-family-card header strong { margin-top: 9px; font: 500 25px/1.2 var(--serif); }
.case-family-card > p { min-height: 68px; color: var(--ink-soft); font-size: 13px; }
.case-family-card dl { margin: 18px 0 0; border-top: 1px solid var(--line); }
.case-family-card dl div { padding: 9px 0; border-bottom: 1px solid var(--line); }
.case-family-card dt { color: var(--ink-soft); font: 10px var(--mono); text-transform: uppercase; }
.case-family-card dd { margin: 2px 0 0; font-size: 12px; }
.analysis-doors { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 20px; }
.analysis-doors a { display: flex; min-height: 190px; flex-direction: column; padding: 23px; color: #eef5f2; background: #10272c; border-top: 3px solid #5fc7be; text-decoration: none; transition: transform 180ms ease, background-color 180ms ease; }
.analysis-doors a:nth-child(2) { border-top-color: #a465a0; }
.analysis-doors a:nth-child(3) { border-top-color: #d88b2b; }
.analysis-doors a:hover { transform: translateY(-3px); background: #17373d; }
.analysis-doors span { color: #8dabad; font: 10px var(--mono); letter-spacing: .08em; }
.analysis-doors strong { margin-top: 12px; font: 500 23px/1.25 var(--serif); }
.analysis-doors p { margin: 7px 0 0; color: #adc0c0; font-size: 12px; }
.analysis-doors b { margin-top: auto; color: #72d4ca; font-size: 12px; }

.optimization-section { width: 100vw; margin-left: calc((var(--page) - 100vw)/2); padding-right: max(36px,calc((100vw - 1220px)/2)); padding-left: max(36px,calc((100vw - 1220px)/2)); color: #eff5f2; background: #08171b; border-bottom: 0; }
.optimization-section .overview-section__number { right: max(36px,calc((100vw - 1220px)/2)); color: rgba(255,255,255,.05); }
.optimization-section .section-head p { color: #afc0c1; }
.optimization-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.optimization-card { display: flex; min-width: 0; flex-direction: column; padding: 25px; background: #10272c; border: 1px solid #29474e; }
.optimization-card header span, .optimization-card header strong { display: block; }
.optimization-card header span { color: #74d0c7; font: 10px var(--mono); letter-spacing: .08em; }
.optimization-card header strong { margin-top: 8px; font: 500 24px/1.2 var(--serif); }
.optimization-card__primary { margin: 26px 0 20px; padding: 18px 0; border-top: 1px solid #355159; border-bottom: 1px solid #355159; }
.optimization-card__primary span, .optimization-card__primary strong, .optimization-card__primary b { display: block; }
.optimization-card__primary span { color: #91aaac; font: 10px var(--mono); text-transform: uppercase; }
.optimization-card__primary strong { margin: 6px 0; font: 500 27px/1.2 var(--serif); }
.optimization-card__primary b { color: #79d7ce; font-size: 13px; }
.optimization-card dl { margin: 0; }
.optimization-card dl div { display: grid; grid-template-columns: 105px 1fr; gap: 10px; padding: 8px 0; border-bottom: 1px solid #29474e; }
.optimization-card dt { color: #8fa5a7; font-size: 11px; }
.optimization-card dd { margin: 0; font-size: 11px; text-align: right; }
.optimization-card dd b { color: #7dd3cb; }
.optimization-card > p { margin: 18px 0 0; color: #aebfc0; font-size: 12px; }
.evidence-details--dark { color: var(--ink); background: #f4f2eb; border-color: #365159; }

.simulation-player { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(310px,.65fr); background: #0b1e23; border: 1px solid #29474e; }
.simulation-player__media { min-width: 0; margin: 0; padding: 20px; border-right: 1px solid #29474e; }
.simulation-player__media figcaption { margin-top: 12px; color: #9bb0b2; font-size: 11px; }
.simulation-player__acts { min-width: 0; padding: 20px; color: #ecf4f1; }
.simulation-player__status { display: grid; grid-template-columns: 50px 1fr; gap: 14px; min-height: 92px; padding: 16px; background: #133038; border: 1px solid #35545b; }
.simulation-player__status > span { color: #74d2c9; font: 700 11px var(--mono); }
.simulation-player__status strong { display: block; font: 500 18px/1.25 var(--serif); }
.simulation-player__status p { margin: 6px 0 0; color: #b2c2c3; font-size: 11px; line-height: 1.45; }
.simulation-player__progress { height: 3px; margin: 13px 0; background: #29474e; }
.simulation-player__progress span { display: block; width: 0; height: 100%; background: #6bd1c7; transition: width 180ms ease; }
.simulation-player__chapter-list { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.simulation-player__chapter-list button { min-width: 0; min-height: 73px; display: grid; grid-template-columns: 1fr auto; padding: 10px; color: #a8bbbb; background: transparent; border: 1px solid #315057; cursor: pointer; text-align: left; }
.simulation-player__chapter-list button:hover, .simulation-player__chapter-list button.is-active { color: #fff; background: #17363d; border-color: #69cfc5; }
.simulation-player__chapter-list span, .simulation-player__chapter-list small { font: 9px var(--mono); }
.simulation-player__chapter-list span { color: #74cfc7; }
.simulation-player__chapter-list small { color: #91abad; }
.simulation-player__chapter-list strong { grid-column: 1/-1; margin-top: 5px; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.simulation-player__playback { margin: 12px 0 0; color: #7f999b; font: 9px var(--mono); }
.execution-ledger { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 18px; border: 1px solid var(--line); background: #fffefa; }
.execution-ledger article { padding: 20px; border-right: 1px solid var(--line); }
.execution-ledger article:last-child { border-right: 0; }
.execution-ledger span { color: var(--ink-soft); font: 10px var(--mono); letter-spacing: .07em; }
.execution-ledger strong { display: block; margin: 8px 0; font: 500 28px/1.1 var(--serif); }
.execution-ledger p { margin: 0; color: var(--ink-soft); font-size: 11px; }
.execution-boundary { margin: 15px 0 0; padding: 14px 16px; color: #53676a; background: #e9ebe6; border-left: 3px solid #599b9d; font-size: 12px; }

@media (max-width: 980px) {
  .overview-hero__shell { grid-template-areas: "copy" "visual" "actions"; grid-template-columns: 1fr; gap: 28px; text-align: center; }
  .overview-hero__copy { max-width: 760px; margin: 0 auto; }
  .overview-hero h1, .overview-hero .hero-dek { margin-right: auto; margin-left: auto; }
  .overview-hero__visual, .overview-hero__actions { width: min(100%, 900px); margin-right: auto; margin-left: auto; }
  .metric-explorer__stage, .statistical-unit-strip, .simulation-player { grid-template-columns: 1fr; }
  .metric-explorer__figure, .simulation-player__media { border-right: 0; border-bottom: 1px solid #29474e; }
  .case-family-grid, .analysis-doors, .optimization-grid { grid-template-columns: 1fr; }
  .case-family-card > p { min-height: 0; }
  .analysis-doors a { min-height: 165px; }
  .optimization-section { padding-right: 19px; padding-left: 19px; }
}

@media (max-width: 900px) {
  .overview-layer-nav { top: 58px; }
  .overview-layer-nav__inner { width: 100%; overflow-x: auto; grid-template-columns: repeat(4,minmax(205px,1fr)); }
  .overview-section__head { gap: 18px; }
  .overview-section__head > p { justify-self: start; }
  .benchmark-strip, .analysis-kpis, .execution-ledger { grid-template-columns: 1fr 1fr; }
  .benchmark-strip article:nth-child(2), .analysis-kpis article:nth-child(2), .execution-ledger article:nth-child(2) { border-right: 0; }
  .benchmark-strip article:nth-child(-n+2), .analysis-kpis article:nth-child(-n+2), .execution-ledger article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 560px) {
  .overview-hero { padding: 56px 0 48px; }
  .overview-hero__shell { gap: 24px; }
  .overview-hero h1 { font-size: clamp(45px,13vw,58px); letter-spacing: -.06em; }
  .overview-hero h1 mark { padding-right: .08em; padding-left: .08em; }
  .overview-hero h1 strong { margin-top: 12px; font-size: .5em; line-height: 1.2; }
  .overview-hero h1 strong em { display: block; }
  .overview-hero .hero-dek { margin-top: 22px; font-size: 14px; line-height: 1.55; }
  .overview-hero__visual-meta { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
  .overview-hero__visual-meta > span { grid-column: 1 / -1; }
  .overview-hero__visual-meta p { justify-self: start; }
  .overview-hero__sequence-controls { bottom: 9px; }
  .overview-hero__actions { grid-template-columns: 1fr; }
  .overview-hero__action--primary { grid-column: auto; }
  .overview-layer-nav__inner { grid-template-columns: repeat(4,minmax(190px,1fr)); }
  .overview-section { padding: 64px 0; scroll-margin-top: 155px; }
  .overview-section__number { top: 48px; font-size: 90px; }
  .metric-explorer__tabs button { min-height: 66px; padding: 12px 8px; font-size: 11px; }
  .metric-explorer__tabs button span { margin-right: 5px; }
  .metric-explorer__figure { padding: 10px; }
  .metric-explorer__figure figcaption { grid-template-columns: 1fr; gap: 8px; }
  .metric-explorer__panels article { padding: 24px 20px; }
  .benchmark-strip, .analysis-kpis, .execution-ledger { grid-template-columns: 1fr; }
  .benchmark-strip article, .analysis-kpis article, .execution-ledger article { border-right: 0; border-bottom: 1px solid var(--line); }
  .benchmark-strip article:last-child, .analysis-kpis article:last-child, .execution-ledger article:last-child { border-bottom: 0; }
  .statistical-unit-strip { gap: 22px; padding: 22px; }
  .statistical-unit-strip dl { grid-template-columns: 1fr; }
  .statistical-unit-strip dl div { padding: 10px 0; border-left: 0; border-top: 1px solid #426067; }
  .simulation-player__media, .simulation-player__acts { padding: 12px; }
  .simulation-player__chapter-list { grid-template-columns: 1fr; }
  .optimization-section { width: 100vw; margin-left: calc((var(--page) - 100vw)/2); }
}

@media (prefers-reduced-motion: reduce) {
  .overview-hero__sequence-slide, .metric-explorer__focus, .analysis-doors a, .simulation-player__progress span { transition-duration: .01ms !important; }
}

@media print {
  .overview-layer-nav, .metric-explorer__tabs, .simulation-player__acts { display: none !important; }
  .overview-section { padding: 8mm 0; }
  .optimization-section { width: auto; margin-left: 0; padding-right: 0; padding-left: 0; color: var(--ink); background: #fff; }
  .optimization-section .section-head p, .optimization-card > p { color: var(--ink-soft); }
  .optimization-card { color: var(--ink); background: #fff; border-color: #999; break-inside: avoid; }
  .metric-explorer { color: var(--ink); background: #fff; border-color: #999; }
  .metric-explorer__stage { display: block; }
  .metric-explorer__figure { border: 0; }
  .metric-explorer__panels article { display: block !important; color: var(--ink); border-top: 1px solid #999; }
  .metric-explorer__panels p { color: var(--ink-soft); }
  .metric-explorer__panels article[hidden] { display: block !important; }
  .evidence-details { break-inside: auto; }
}

/* Overview v7 — definition, benchmark, evidence, cases, optimization, simulation */
.overview-page .overview-layer-nav__inner { grid-template-columns: repeat(5, 1fr); }
.overview-page .definition-section { padding-top: 108px; }

.overview-page .metric-explorer__panels article {
  min-height: 600px;
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(350px, .58fr);
  padding: 0;
}
.overview-page .metric-explorer__panels article[hidden] { display: none; }
.fig1-subview { min-width: 0; display: flex; flex-direction: column; margin: 0; padding: 24px; background: #f8f7f1; border-right: 1px solid #28434a; }
.fig1-redraw__media { position: relative; aspect-ratio: 12 / 5; overflow: hidden; background: #f3efe5; border: 1px solid #d7ddd9; isolation: isolate; }
.fig1-redraw__media img { width: 100%; height: 100%; display: block; object-fit: cover; }
.fig1-redraw__zones { position: absolute; z-index: 2; inset: 0; pointer-events: none; }
.fig1-redraw__zone {
  position: absolute;
  inset-block: 0;
  margin: 0;
  padding: 0;
  appearance: none;
  color: inherit;
  background: rgba(5, 21, 25, .53);
  border: 0;
  border-radius: 0;
  cursor: pointer;
  pointer-events: auto;
}
.fig1-redraw__zone::before { position: absolute; top: 12px; left: 12px; padding: 7px 9px 6px; color: rgba(255, 255, 255, .72); background: rgba(7, 23, 27, .82); border: 1px solid rgba(255, 255, 255, .23); content: attr(data-label); font: 700 9px/1 var(--mono); letter-spacing: .1em; }
.fig1-redraw__zone--rebound { left: 0; width: 23.65%; }
.fig1-redraw__zone--stability { left: 23.65%; width: 42.75%; }
.fig1-redraw__zone--ge { left: 66.4%; width: 33.6%; }
.fig1-redraw__zone:hover { box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .86); }
.fig1-redraw__zone:hover::before { color: #fff; border-color: rgba(255, 255, 255, .75); }
.fig1-redraw__zone:focus-visible { outline: 3px solid #f4c564; outline-offset: -7px; box-shadow: inset 0 0 0 1px #07171b; }
.fig1-redraw[data-fig1-focus="rebound"] .fig1-redraw__zone--rebound,
.fig1-redraw[data-fig1-focus="stability"] .fig1-redraw__zone--stability,
.fig1-redraw[data-fig1-focus="ge"] .fig1-redraw__zone--ge { background: transparent; }
.fig1-redraw[data-fig1-focus="rebound"] .fig1-redraw__zone--rebound::before { color: #fff; background: #16825a; border-color: #16825a; }
.fig1-redraw[data-fig1-focus="stability"] .fig1-redraw__zone--stability::before { color: #fff; background: #7651a3; border-color: #7651a3; }
.fig1-redraw[data-fig1-focus="ge"] .fig1-redraw__zone--ge::before { color: #fff; background: #d7572d; border-color: #d7572d; }
.fig1-redraw__focus-frame { position: absolute; z-index: 3; inset-block: 0; left: 0; width: 23.65%; display: block; border: 4px solid #16825a; pointer-events: none; }
.fig1-redraw[data-fig1-focus="stability"] .fig1-redraw__focus-frame { left: 23.65%; width: 42.75%; border-color: #7651a3; }
.fig1-redraw[data-fig1-focus="ge"] .fig1-redraw__focus-frame { left: 66.4%; width: 33.6%; border-color: #d7572d; }
.fig1-redraw__unit { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; min-height: 38px; padding: 8px 11px; color: #496164; background: #ecebe4; border: 1px solid #d7ddd9; border-top: 0; }
.fig1-redraw__unit span { color: #52696c; font: 700 10px/1.2 var(--mono); letter-spacing: .08em; }
.fig1-redraw__unit strong { min-width: 0; font-size: 11px; font-weight: 650; line-height: 1.35; }
.fig1-redraw__unit i { color: #18383d; font: 700 11px/1 var(--mono); font-style: normal; white-space: nowrap; }
.fig1-subview figcaption { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: start; padding: 15px 2px 0; color: #566d70; font-size: 11px; line-height: 1.5; }
.fig1-subview figcaption strong { color: #18383d; white-space: nowrap; }
.definition-plot { --plot-accent: #13754f; --plot-soft: rgba(19,117,79,.16); min-width: 0; margin-top: auto; padding-top: 14px; color: #173337; }
.definition-plot--stability { --plot-accent: #7651a3; --plot-soft: rgba(118,81,163,.15); }
.definition-plot--ge { --plot-accent: #d7572d; --plot-soft: rgba(215,87,45,.15); }
.definition-plot__head { display: flex; gap: 16px; align-items: center; justify-content: space-between; padding: 0 2px 8px; }
.definition-plot__head span { color: var(--plot-accent); font: 800 9px/1 var(--mono); letter-spacing: .11em; }
.definition-plot__head strong { color: #19373b; font-size: 11px; font-weight: 750; line-height: 1.2; text-align: right; }
.definition-plot svg { width: 100%; height: auto; display: block; overflow: visible; background: #fffefa; border: 1px solid #d5ddd9; }
.definition-plot svg text { fill: #4b6265; font: 700 9px/1 var(--mono); letter-spacing: .02em; }
.definition-plot__grid line { stroke: #d4ddda; stroke-width: 1; }
.definition-plot__grid text, .definition-plot__stress-labels text { fill: #718284; font-size: 8px; letter-spacing: .08em; }
.definition-plot__trace { fill: none; stroke: #3c8e91; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3.2; vector-effect: non-scaling-stroke; }
.definition-plot__trace--clean { stroke: #16825a; }
.definition-plot__trace--stress { stroke: #7651a3; stroke-dasharray: 7 4; }
.definition-plot__event { stroke: var(--plot-accent); stroke-dasharray: 4 4; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.definition-plot__node { fill: #fffefa; stroke: var(--plot-accent); stroke-width: 3; vector-effect: non-scaling-stroke; }
.definition-plot__burden { stroke: #c04a43; stroke-width: 1; vector-effect: non-scaling-stroke; }
.definition-plot__bracket { fill: none; stroke: var(--plot-accent); stroke-linecap: square; stroke-width: 2; vector-effect: non-scaling-stroke; }
.definition-plot__reference { stroke: #768a8c; stroke-dasharray: 3 3; stroke-width: 1; vector-effect: non-scaling-stroke; }
.definition-plot__mean { stroke-width: 2; vector-effect: non-scaling-stroke; }
.definition-plot__mean--clean { stroke: #16825a; }
.definition-plot__mean--stress { stroke: #7651a3; stroke-dasharray: 6 3; }
.definition-plot__flow { fill: none; stroke: var(--plot-accent); stroke-width: 2; vector-effect: non-scaling-stroke; }
.definition-plot__flow::after { content: ""; }
.definition-plot__label { fill: var(--plot-accent) !important; font-size: 10px !important; }
.definition-plot__micro { fill: #667b7d !important; font-size: 8px !important; font-weight: 650 !important; }
.definition-plot__result rect { fill: #0d292e; stroke: var(--plot-accent); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.definition-plot__result text { fill: #f3faf7; font-size: 8px; }
.definition-plot__result text:last-child { fill: #86ddd2; font-size: 12px; }
.definition-plot [data-plot-mark] { opacity: .24; transition: opacity 220ms ease, filter 220ms ease; }
.definition-plot[data-active-point="open"] [data-plot-mark="open"],
.definition-plot[data-active-point="burden"] [data-plot-mark="burden"],
.definition-plot[data-active-point="close"] [data-plot-mark="close"],
.definition-plot[data-active-point="clean"] [data-plot-mark="clean"],
.definition-plot[data-active-point="stress"] [data-plot-mark="stress"],
.definition-plot[data-active-point="beta"] [data-plot-mark="beta"],
.definition-plot[data-active-point="supported"] [data-plot-mark="supported"],
.definition-plot[data-active-point="capacity"] [data-plot-mark="capacity"],
.definition-plot[data-active-point="exceeded"] [data-plot-mark="exceeded"] { opacity: 1; filter: drop-shadow(0 0 4px var(--plot-soft)); }
.definition-plot--stability[data-active-point="beta"] [data-plot-mark="clean"],
.definition-plot--stability[data-active-point="beta"] [data-plot-mark="stress"],
.definition-plot--ge[data-active-point="capacity"] [data-plot-mark="supported"] { opacity: .62; }
.definition-plot__heatmap rect { stroke: #fffefa; stroke-width: 1; }
.definition-plot__heatmap .is-supported { fill: #3c9a87; }
.definition-plot__heatmap .is-near { fill: #d69a38; }
.definition-plot__heatmap .is-exceeded { fill: #c9584a; }
.definition-plot__capacity { stroke: #d7572d; stroke-dasharray: 4 3; stroke-width: 2.2; vector-effect: non-scaling-stroke; }
.definition-plot__margin-rails line { stroke: #a8b7b5; stroke-width: 4; vector-effect: non-scaling-stroke; }
.definition-plot__margin-rails circle { fill: #fffefa; stroke: #d7572d; stroke-width: 2; vector-effect: non-scaling-stroke; }
.definition-plot__margin-rails text:last-child { fill: #6e7d7f; font-size: 8px; letter-spacing: .08em; }
.definition-plot__controls { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid #d5ddd9; border-top: 0; }
.definition-plot__controls button { min-width: 0; min-height: 37px; padding: 7px 8px; overflow: hidden; color: #53686a; background: #f1f1ea; border: 0; border-right: 1px solid #d5ddd9; cursor: pointer; font-size: 9px; font-weight: 700; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; transition: color 160ms ease, background-color 160ms ease; }
.definition-plot__controls button:last-child { border-right: 0; }
.definition-plot__controls button span { margin-right: 5px; color: #5b6f71; font: 800 9px/1 var(--mono); }
.definition-plot__controls button:hover { color: #18373b; background: #e7ece7; }
.definition-plot__controls button[aria-pressed="true"] { color: #fff; background: var(--plot-accent); }
.definition-plot__controls button[aria-pressed="true"] span { color: rgba(255,255,255,.72); }
.definition-plot__readout { min-height: 27px; margin: 0; padding: 8px 10px 0; color: #2f5054; font-size: 10px; font-weight: 700; line-height: 1.45; }
.metric-definition { min-width: 0; padding: 34px 30px 30px; }
.metric-definition .metric-explorer__metric { margin: 20px 0 12px; }
.metric-definition .metric-explorer__metric > span { font-size: 45px; }
.metric-definition h3 { margin-bottom: 14px; font-size: 25px; }
.metric-formula { margin: 18px 0; padding: 14px 12px; overflow-x: auto; color: #eaf4f1; background: #07171b; border-left: 3px solid #6bd0c6; font-size: 14px; }
.metric-formula > span { display: block; color: #7f9b9d; font: 700 9px/1.4 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.metric-formula mjx-container[display="true"] { margin: .55em 0 !important; text-align: left !important; }
.metric-definition__spec { margin: 18px 0 22px !important; }
.metric-definition__spec div { grid-template-columns: 108px 1fr !important; padding: 11px 0 !important; }
.metric-explorer__source { display: flex; justify-content: space-between; gap: 18px; padding: 12px 22px; color: #8fa7a9; border-top: 1px solid #28434a; font-size: 10px; }
.metric-explorer__source a { color: #75d3ca; text-decoration: none; }

/* Overview quantitative hierarchy */
.overview-page .definition-section .overview-section__head .kicker,
.overview-page .benchmark-section .overview-section__head .kicker { font-size: 13px; letter-spacing: .11em; }
.overview-page .definition-section .overview-section__head h2,
.overview-page .benchmark-section .overview-section__head h2 { max-width: 650px; font-size: clamp(42px,4.5vw,58px); line-height: 1.08; }
.overview-page .definition-section .overview-section__head > p,
.overview-page .benchmark-section .overview-section__head > p { max-width: 680px; font-size: 17px; font-weight: 400; line-height: 1.65; }
.overview-page .metric-explorer__tabs button { font-size: 16px; font-weight: 750; }
.overview-page .metric-explorer__tabs button span { font-size: 12px; font-weight: 800; }
.overview-page .metric-definition .metric-explorer__metric > span { font-size: clamp(44px,4vw,58px); font-weight: 650; }
.overview-page .metric-definition h3 { font-size: 29px; font-weight: 600; }
.overview-page .metric-definition__spec dt { color: #9fc0c1; font-size: 11px; font-weight: 800; }
.overview-page .metric-definition__spec dd { font-size: 13px; font-weight: 650; }
.overview-page .fig1-redraw__unit span { font-size: 10.5px; font-weight: 800; }
.overview-page .fig1-redraw__unit strong,
.overview-page .fig1-redraw__unit i { font-size: 12px; font-weight: 750; }
.overview-page .benchmark-strip span { font-size: 11px; font-weight: 800; }
.overview-page .benchmark-strip strong { font-size: clamp(31px,3vw,38px); font-weight: 650; font-variant-numeric: tabular-nums; }
.overview-page .benchmark-strip p { font-size: 12px; }
.overview-page .benchmark-metric-tabs button { font-size: 14px; font-weight: 750; }
.overview-page .benchmark-bar__method,
.overview-page .benchmark-bar strong { font-size: 12px; font-weight: 750; }
.overview-page .paper-data-table { font-size: 13px; }
.overview-page .paper-data-table thead th { font-size: 11px; font-weight: 750; }
.overview-page .analysis-kpis strong { font-size: 36px; font-weight: 650; font-variant-numeric: tabular-nums; }
.overview-page .analysis-kpis span { font-size: 11px; font-weight: 750; }
.overview-page .case-family-card dt { font-size: 11px; font-weight: 750; }
.overview-page .case-family-card dd { font-size: 13px; font-weight: 650; }
.overview-page .optimization-card__primary span { font-size: 11px; font-weight: 800; }
.overview-page .optimization-card__primary strong { font-size: 25px; font-weight: 700; font-variant-numeric: tabular-nums; }
.overview-page .optimization-card__primary b { font-size: 31px; font-weight: 800; font-variant-numeric: tabular-nums; }
.overview-page .optimization-card dt { font-size: 12px; font-weight: 700; }
.overview-page .optimization-card dd { font-size: 12px; font-weight: 650; }
.overview-page .execution-ledger span { font-size: 11px; font-weight: 800; }
.overview-page .execution-ledger strong { font-size: 31px; font-weight: 650; font-variant-numeric: tabular-nums; }

.benchmark-section {
  width: 100vw;
  margin-left: calc((var(--page) - 100vw) / 2);
  padding-right: max(36px, calc((100vw - 1220px) / 2));
  padding-left: max(36px, calc((100vw - 1220px) / 2));
  background: #e7ebe7;
  border-top: 1px solid #c8ceca;
  border-bottom: 1px solid #c8ceca;
}
.benchmark-section .overview-section__number { right: max(36px, calc((100vw - 1220px) / 2)); }
.benchmark-lab { margin-top: 20px; overflow: hidden; background: #fffefa; border: 1px solid var(--line); }
.benchmark-lab__head { display: grid; grid-template-columns: minmax(230px, .45fr) minmax(0, 1.55fr); gap: 30px; align-items: center; padding: 22px; color: #edf5f2; background: #10272c; }
.benchmark-lab__head h3 { margin: 3px 0 0; font: 500 27px/1.1 var(--serif); }
.benchmark-lab__head .kicker { color: #8fe4dc; }
.benchmark-metric-tabs { display: grid; grid-template-columns: repeat(6, 1fr); border: 1px solid #3a565d; }
.benchmark-metric-tabs button { min-height: 48px; padding: 8px 7px; color: #9db1b2; background: transparent; border: 0; border-right: 1px solid #3a565d; cursor: pointer; font: 650 11px/1.25 var(--sans); }
.benchmark-metric-tabs button:last-child { border-right: 0; }
.benchmark-metric-tabs button[aria-selected="true"] { color: #092226; background: #77d4ca; }
.benchmark-lab__body { display: grid; grid-template-columns: minmax(0, 1120px); justify-content: center; }
.benchmark-bars { width: 100%; min-width: 0; padding: 18px clamp(18px, 3vw, 42px); }
.benchmark-bar { width: 100%; display: grid; grid-template-columns: 108px minmax(90px, 1fr) 130px; gap: 12px; align-items: center; padding: 7px 9px; color: var(--ink); background: transparent; border: 1px solid transparent; cursor: pointer; text-align: left; }
.benchmark-bar:hover, .benchmark-bar.is-selected { background: #edf3ef; border-color: #c8d6d0; }
.benchmark-bar__method { overflow: hidden; font-size: 11px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.benchmark-bar__track { height: 8px; overflow: hidden; background: #e1e5e1; }
.benchmark-bar__track i { display: block; height: 100%; background: #4f8f92; transition: width 260ms ease; }
.benchmark-bar.is-best .benchmark-bar__track i { background: #d88726; }
.benchmark-bar strong { color: #43585a; font: 600 10px/1.2 var(--mono); text-align: right; }
.paper-figure-gallery { margin-top: 24px; overflow: hidden; color: #eaf3f0; background: #08171b; border: 1px solid #28464d; }
.paper-figure-gallery__head { display: grid; grid-template-columns: minmax(210px, .45fr) minmax(0, 1.55fr); gap: 32px; align-items: end; padding: 24px; border-bottom: 1px solid #28464d; }
.paper-figure-gallery__head h3 { margin: 4px 0 0; font: 500 28px/1.1 var(--serif); }
.paper-figure-tabs { display: grid; grid-template-columns: repeat(4, 1fr); }
.paper-figure-tabs button { min-height: 58px; padding: 10px 12px; color: #9bb0b2; background: transparent; border: 0; border-left: 1px solid #315057; cursor: pointer; text-align: left; }
.paper-figure-tabs button span { display: block; margin-bottom: 5px; color: #6e9799; font: 700 9px/1 var(--mono); letter-spacing: .08em; }
.paper-figure-tabs button[aria-selected="true"] { color: #fff; background: #16353b; box-shadow: inset 0 -3px #70d1c8; }
.paper-figure-tabs button[aria-selected="true"] span { color: #7bd9cf; }
.paper-figure-panel { display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(270px, .58fr); min-height: 520px; }
.paper-figure-panel[hidden] { display: none; }
.paper-figure-panel > figure { min-width: 0; margin: 0; padding: 22px; background: #f7f6f0; border-right: 1px solid #28464d; }
.paper-figure-panel > figure img { width: 100%; height: 455px; display: block; object-fit: contain; background: #fff; }
.paper-figure-panel > figure figcaption { margin-top: 12px; color: #556b6d; font-size: 10px; }
.paper-figure-finding { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 32px; }
.paper-figure-finding > span { color: #77d4cb; font: 700 10px/1.3 var(--mono); letter-spacing: .09em; }
.paper-figure-finding > strong { margin: 14px 0 8px; color: #fff; font: 500 35px/1.15 var(--serif); }
.paper-figure-finding > p { color: #afc0c0; font-size: 13px; }
.paper-figure-finding dl { margin: 0; }
.paper-figure-finding dl div { padding: 15px 0; border-bottom: 1px solid #29474e; }
.paper-figure-finding dt { color: #77d4cb; font: 700 10px/1.3 var(--mono); text-transform: uppercase; }
.paper-figure-finding dd { margin: 5px 0 0; color: #dce8e4; font-size: 12px; line-height: 1.5; }
.paper-figure-finding--ranks { padding: 25px; }
.paper-figure-finding--ranks > strong { font-size: 29px; }
.rank-landscape { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 13px; background: #29474e; border: 1px solid #29474e; }
.rank-landscape > div { min-width: 0; display: grid; grid-template-columns: 1fr auto; gap: 3px 8px; padding: 8px 9px; background: #10272c; }
.rank-landscape b { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.rank-landscape span { color: #75d3ca; font: 700 9px/1.3 var(--mono); }
.rank-landscape em { grid-column: 1 / -1; color: #81999b; font: 400 8px/1.2 var(--mono); }
.paper-figure-panel--diagnosis { display: block; }
.fig5-interactive { display: block; color: #111; background: #fff; }
.fig5-atlas-shell { min-width: 0; margin: 0; padding: 0; color: #111; background: #fff; border: 0; border-bottom: 1px solid #28464d; }
.fig5-atlas-shell__head { display: flex; gap: 28px; align-items: end; justify-content: space-between; padding: 20px 24px 14px; }
.fig5-atlas-shell__head span { color: #187f7a; font: 700 9px/1.2 var(--mono); letter-spacing: .1em; }
.fig5-atlas-shell__head strong { display: block; margin-top: 5px; color: #101919; font: 500 25px/1.05 var(--serif); }
.fig5-atlas-shell__head p { max-width: 320px; margin: 0; color: #667071; font-size: 10px; line-height: 1.45; text-align: right; }
.fig5-atlas-key { display: flex; gap: 22px; align-items: center; padding: 8px 24px; color: #4f5b5b; background: #f2f3f0; border-top: 1px solid #d9ddda; border-bottom: 1px solid #d9ddda; font: 700 8px/1.2 var(--mono); letter-spacing: .06em; }
.fig5-atlas-key span + span { position: relative; padding-left: 22px; }
.fig5-atlas-key span + span::before { position: absolute; top: 50%; left: 0; width: 3px; height: 3px; background: #8d9695; border-radius: 50%; content: ""; transform: translateY(-50%); }
.fig5-atlas { display: grid; grid-template-columns: repeat(5, minmax(142px, 1fr)); gap: 0; padding: 8px 15px 4px; background: #fff; }
.fig5-radar-card { min-width: 0; padding: 11px 4px 3px; overflow: hidden; color: #111; background: #fff; border: 1px solid transparent; cursor: pointer; text-align: center; transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.fig5-radar-card:hover { background: #fafaf7; border-color: #d6dcda; }
.fig5-radar-card:focus-visible { outline: 2px solid #123b40; outline-offset: -2px; }
.fig5-radar-card.is-selected { background: #f7f6f0; border-color: #bdc7c4; box-shadow: inset 0 -3px var(--fig5-method-color); }
.fig5-radar-card > strong { display: block; overflow: hidden; color: #101414; font: 750 15px/1.1 var(--sans); text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.fig5-radar-card svg { width: 100%; height: auto; display: block; margin: 1px auto 0; overflow: visible; }
.fig5-radar__ring { fill: none; stroke: #dadada; stroke-width: .75; vector-effect: non-scaling-stroke; }
.fig5-radar__ring--outer { stroke: #595959; stroke-width: 1.15; }
.fig5-radar__spoke { stroke: #dadada; stroke-width: .75; vector-effect: non-scaling-stroke; }
.fig5-radar__profile { fill: var(--fig5-method-color); fill-opacity: .2; stroke: var(--fig5-method-color); stroke-linejoin: round; stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.fig5-radar__dot { fill: var(--fig5-method-color); stroke: #fff; stroke-width: 1.1; vector-effect: non-scaling-stroke; }
.fig5-radar__axis { fill: #111; font: 500 10px/1 var(--sans); dominant-baseline: middle; }
.fig5-radar__tick { fill: #222; font: 500 8px/1 var(--sans); paint-order: stroke; stroke: #fff; stroke-width: 2px; }
.fig5-normalization { margin: 3px 24px 11px; color: #626c6c; background: #fff; border-top: 1px solid #d9ddda; border-bottom: 1px solid #d9ddda; }
.fig5-normalization summary { display: flex; align-items: center; gap: 10px; padding: 8px 0; cursor: pointer; color: #52605f; font: 700 9px/1.2 var(--mono); letter-spacing: .06em; list-style: none; user-select: none; }
.fig5-normalization summary::-webkit-details-marker { display: none; }
.fig5-normalization summary::after { width: 22px; height: 22px; display: grid; flex: 0 0 22px; place-items: center; margin-left: auto; color: #276f72; border: 1px solid #a9c8c2; border-radius: 50%; content: "↓"; font: 800 12px/1 var(--sans); }
.fig5-normalization[open] summary::after { color: #fff; background: #276f72; border-color: #276f72; content: "↑"; }
.fig5-normalization p { margin: 0; padding: 0 0 10px; color: #687271; font-size: 9px; line-height: 1.55; }
.fig5-atlas-shell figcaption { margin: 0; padding: 0 24px 17px; color: #626d6c; font-size: 9px; line-height: 1.55; }
.fig5-atlas-shell figcaption strong { color: #263231; font-weight: 650; }
.fig5-control { display: grid; grid-template-columns: minmax(310px, .75fr) minmax(0, 1.6fr); min-width: 0; color: #eaf3f0; background: #0a1b20; }
.fig5-control__selector { min-width: 0; padding: 18px 20px; border-right: 1px solid #29464d; }
.fig5-method-grid { display: grid; grid-template-columns: repeat(5, minmax(52px, 1fr)); gap: 4px; margin: 10px 0 0; }
.fig5-method-grid button { min-width: 0; padding: 7px 5px; overflow: hidden; color: #a9bcbd; background: transparent; border: 1px solid #315057; border-top: 2px solid var(--fig5-method-color); cursor: pointer; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.fig5-method-grid button:hover { color: #fff; border-color: #819697; border-top-color: var(--fig5-method-color); }
.fig5-method-grid button.is-selected { color: #07181c; background: var(--fig5-method-color); border-color: var(--fig5-method-color); }
.fig5-method-readout { display: grid; grid-template-columns: 145px minmax(250px, .85fr) minmax(255px, 1fr); grid-template-areas: "label profile rawlabel" "title profile raw" "note note raw"; gap: 0 18px; min-width: 0; padding: 18px 20px; }
.fig5-method-readout > span:first-child { grid-area: label; color: #7dd7ce; font: 700 9px/1 var(--mono); letter-spacing: .08em; }
.fig5-method-readout h4 { grid-area: title; align-self: start; margin: 7px 0 0; color: #fff; font: 500 27px/1.1 var(--serif); text-decoration-color: var(--fig5-active-color); text-decoration-line: underline; text-decoration-thickness: 3px; text-underline-offset: 6px; }
.fig5-profile-values { grid-area: profile; align-self: start; display: grid; grid-template-columns: repeat(5, 1fr); background: #28464d; border: 1px solid #28464d; gap: 1px; }
.fig5-profile-values div { min-width: 0; padding: 8px 4px; background: #10282e; text-align: center; }
.fig5-profile-values dt { color: #799295; font: 700 7px/1 var(--mono); }
.fig5-profile-values dd { margin: 5px 0 0; color: var(--fig5-active-color); font: 700 9px/1 var(--mono); }
.fig5-readout-label { grid-area: rawlabel; display: block; margin: 0 0 7px; color: #7dd7ce; font: 700 9px/1 var(--mono); letter-spacing: .08em; }
.fig5-method-readout dl { grid-area: raw; margin: 0; }
.fig5-method-readout dl div { display: grid; grid-template-columns: 92px 1fr; gap: 9px; padding: 5px 0; border-bottom: 1px solid #29464d; }
.fig5-method-readout dt { color: #91a6a8; font: 9px/1.3 var(--mono); }
.fig5-method-readout dd { margin: 0; color: #e5efec; font: 600 10px/1.3 var(--mono); text-align: right; }
.fig5-method-readout p { grid-area: note; align-self: end; margin: 11px 0 0; color: #95aaab; font-size: 9px; line-height: 1.45; }
.fig5-method-readout p strong { color: #d6e5e2; font-weight: 650; }

@media (max-width: 1040px) {
  .overview-page .metric-explorer__panels article, .paper-figure-panel, .fig5-interactive { grid-template-columns: 1fr; }
  .fig1-subview, .paper-figure-panel > figure, .fig5-atlas-shell { border-right: 0; border-bottom: 1px solid #28464d; }
  .fig5-control { grid-template-columns: 1fr; }
  .fig5-control__selector { border-right: 0; border-bottom: 1px solid #29464d; }
}

@media (max-width: 900px) {
  .overview-page .overview-layer-nav__inner { grid-template-columns: repeat(5, minmax(205px, 1fr)); }
  .overview-page .overview-layer-nav strong { overflow: visible; line-height: 1.25; text-overflow: clip; white-space: normal; }
  .benchmark-section { padding-right: 19px; padding-left: 19px; }
  .benchmark-lab__head, .paper-figure-gallery__head, .benchmark-lab__body { grid-template-columns: 1fr; }
  .benchmark-metric-tabs { grid-template-columns: repeat(3, 1fr); }
  .benchmark-metric-tabs button:nth-child(3) { border-right: 0; }
  .benchmark-metric-tabs button:nth-child(-n+3) { border-bottom: 1px solid #3a565d; }
}

@media (max-width: 600px) {
  .overview-page .definition-section .overview-section__head .kicker,
  .overview-page .benchmark-section .overview-section__head .kicker { font-size: 11px; }
  .overview-page .definition-section .overview-section__head h2,
  .overview-page .benchmark-section .overview-section__head h2 { font-size: 40px; }
  .overview-page .definition-section .overview-section__head > p,
  .overview-page .benchmark-section .overview-section__head > p { font-size: 16px; }
  .fig1-subview { padding: 10px; }
  .fig1-redraw__media { aspect-ratio: 12 / 5; border-width: 1px; }
  .fig1-redraw__media img { width: 100%; max-width: 100%; transform: none !important; }
  .fig1-redraw__zone::before { top: 5px; left: 5px; padding: 4px 5px; font-size: 6px; }
  .fig1-redraw__focus-frame { border-width: 2px; }
  .fig1-redraw__unit { grid-template-columns: 1fr auto; gap: 4px 10px; }
  .fig1-redraw__unit span { grid-column: 1 / -1; }
  .fig1-subview figcaption { grid-template-columns: 1fr; gap: 5px; }
  .definition-plot { padding-top: 11px; }
  .definition-plot__head { align-items: flex-start; flex-direction: column; gap: 4px; padding-bottom: 7px; }
  .definition-plot__head strong { font-size: 10px; text-align: left; }
  .definition-plot__controls button { min-height: 43px; padding: 6px 4px; font-size: 8px; white-space: normal; }
  .definition-plot__controls button span { display: block; margin: 0 0 3px; }
  .definition-plot__readout { min-height: 42px; padding: 8px 5px 0; font-size: 9px; }
  .metric-definition { padding: 25px 19px; }
  .metric-definition .metric-explorer__metric > span { font-size: 35px; }
  .metric-explorer__source { flex-direction: column; gap: 5px; }
  .benchmark-bar { grid-template-columns: 88px minmax(56px, 1fr) 105px; gap: 7px; padding: 7px 4px; }
  .benchmark-bar strong { font-size: 8px; }
  .paper-figure-tabs { grid-template-columns: 1fr 1fr; }
  .paper-figure-tabs button:nth-child(odd) { border-left: 0; }
  .paper-figure-tabs button:nth-child(-n+2) { border-bottom: 1px solid #315057; }
  .paper-figure-panel > figure img { height: 310px; }
  .paper-figure-finding, .fig5-control { padding: 22px 18px; }
  .fig5-atlas-shell__head { align-items: start; flex-direction: column; gap: 9px; }
  .fig5-atlas-shell__head p { max-width: none; text-align: left; }
  .fig5-atlas-key { flex-wrap: wrap; gap: 6px 14px; }
  .fig5-atlas-key span + span { padding-left: 14px; }
  .fig5-atlas { grid-template-columns: 1fr 1fr; padding: 10px; }
  .fig5-control { grid-template-columns: 1fr; padding: 0; }
  .fig5-control__selector { padding: 18px; }
  .fig5-method-grid { grid-template-columns: 1fr 1fr; }
  .fig5-method-grid button { min-height: 40px; }
  .fig5-method-readout { display: block; padding: 20px 18px; }
  .fig5-method-readout h4 { margin-bottom: 17px; }
  .fig5-profile-values { margin-bottom: 16px; }
  .fig5-readout-label { margin-top: 16px; }
  .fig5-method-readout p { margin-top: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .benchmark-bar__track i, .fig5-radar-card, .definition-plot [data-plot-mark], .definition-plot__controls button { transition-duration: .01ms !important; }
}

@media print {
  .benchmark-metric-tabs, .paper-figure-tabs, .fig5-method-grid { display: none !important; }
  .definition-plot__controls, .definition-plot__readout { display: none !important; }
  .definition-plot [data-plot-mark] { opacity: 1 !important; filter: none !important; }
  .paper-figure-panel, .paper-figure-panel[hidden] { display: block !important; min-height: 0; break-inside: avoid; }
  .benchmark-section { width: auto; margin-left: 0; padding-right: 0; padding-left: 0; background: #fff; }
}

/* Developer runbook ----------------------------------------------------- */
.run-doc-page {
  --doc-accent: #176f74;
  --doc-border: #e2e4e7;
  --doc-muted: #62676f;
  --doc-sidebar: 272px;
  min-height: 100vh;
  color: #17191c;
  background: #fff;
  font: 15.5px/1.72 var(--sans);
}

.run-doc-page a { color: #176f74; text-underline-offset: 3px; }
.run-doc-page code { font-family: var(--mono); }
.run-doc-mobilebar { display: none; }

.run-doc-sidebar {
  position: fixed;
  z-index: 700;
  inset: 0 auto 0 0;
  width: var(--doc-sidebar);
  display: flex;
  flex-direction: column;
  color: #30343a;
  background: #fbfbfb;
  border-right: 1px solid var(--doc-border);
}

.run-doc-brand {
  min-height: 76px;
  display: flex;
  gap: 11px;
  align-items: center;
  padding: 15px 20px;
  color: #1d2024 !important;
  border-bottom: 1px solid var(--doc-border);
  text-decoration: none;
}

.run-doc-brand img { width: 31px; height: 31px; object-fit: contain; }
.run-doc-brand span { display: flex; flex-direction: column; }
.run-doc-brand strong { font: 700 15px/1.25 var(--mono); letter-spacing: -.02em; }
.run-doc-brand small { margin-top: 3px; color: #60656c; font: 12px/1.2 var(--sans); }
.run-doc-sidebar nav { flex: 1; overflow-y: auto; padding: 22px 14px 28px; }
.run-doc-sidebar nav p { margin: 22px 10px 7px; color: #62676e; font: 700 12px/1.3 var(--sans); letter-spacing: .04em; text-transform: uppercase; }
.run-doc-sidebar nav p:first-child { margin-top: 0; }
.run-doc-sidebar nav a { display: block; padding: 8px 11px; color: #555a62; border-radius: 5px; font-size: 14px; line-height: 1.45; text-decoration: none; }
.run-doc-sidebar nav a:hover { color: #191c20; background: #f0f1f2; }
.run-doc-sidebar nav a.run-doc-back {
  display: flex;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  color: #30343a;
  background: #fff;
  border: 1px solid #dfe1e4;
  font-weight: 650;
}
.run-doc-sidebar nav a.run-doc-back::before { content: "\2190"; color: var(--doc-accent); font-size: 16px; line-height: 1; }
.run-doc-sidebar nav a.run-doc-back:hover { background: #f5f6f7; border-color: #cfd2d6; }
.run-doc-sidebar nav a.is-current { color: #17191c; background: #e9eaec; font-weight: 650; }
.run-doc-sidebar nav a span { margin-left: 3px; color: #61666d; }
.run-doc-section-nav { margin: 7px 0 0 11px; padding: 2px 0 2px 8px; border-left: 1px solid #d9dcdf; list-style: none; }
.run-doc-section-nav li + li { margin-top: 1px; }
.run-doc-sidebar nav .run-doc-section-nav a {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 5px;
  padding: 5px 7px;
  color: #666b72;
  font-size: 12px;
  line-height: 1.35;
}
.run-doc-sidebar nav .run-doc-section-nav a span { margin-left: 0; color: inherit; }
.run-doc-sidebar nav .run-doc-section-nav a span:first-child { color: var(--doc-accent); font: 700 11px/1.45 var(--mono); }
.run-doc-sidebar nav .run-doc-section-nav a:hover { color: #191c20; }
.run-doc-sidebar nav a.run-doc-judge-link { color: #155f64; background: #edf6f5; border-left: 3px solid var(--doc-accent); font-weight: 650; }
.run-doc-sidebar nav a.run-doc-judge-link:hover { background: #e4f1ef; }
.run-doc-sidebar-foot { display: block; padding: 16px 24px; color: #656a72 !important; border-top: 1px solid var(--doc-border); font-size: 13px; text-decoration: none; }

.run-doc-shell {
  min-width: 0;
  margin-left: var(--doc-sidebar);
  display: grid;
  grid-template-columns: minmax(0, 780px) 202px;
  gap: 56px;
  justify-content: center;
  padding: 64px 48px 90px;
}

.run-doc-article { min-width: 0; }
.run-doc-lead { padding-bottom: 46px; }
.run-doc-kicker { margin: 0 0 13px; color: var(--doc-accent); font: 750 12px/1.2 var(--mono); letter-spacing: .11em; }
.run-doc-lead h1 { margin: 0; font: 750 clamp(36px, 4vw, 44px)/1.14 var(--sans); letter-spacing: -.035em; }
.run-doc-deck { margin: 17px 0 0; color: #666b72; font-size: 19px; line-height: 1.55; }
.run-doc-lead > p:not(.run-doc-kicker, .run-doc-deck) { max-width: 72ch; margin: 27px 0 0; color: #34383e; }
.run-doc-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 22px; }
.run-doc-tags span { padding: 4px 9px; color: #545a61; background: #f5f5f5; border: 1px solid #e4e5e7; border-radius: 999px; font: 600 12px/1.35 var(--mono); }

.run-doc-mobile-toc { display: none; }
.run-doc-page .run-doc-section { padding: 50px 0; border-top: 1px solid var(--doc-border); scroll-margin-top: 22px; }
.run-doc-section h2 { margin: 0; font: 730 28px/1.28 var(--sans); letter-spacing: -.025em; }
.run-doc-section h2 span { margin-right: 5px; color: var(--doc-accent); }
.run-doc-section > p { max-width: 72ch; margin: 16px 0 0; color: #42474e; }

.run-doc-steps { margin: 30px 0 0; padding: 0; list-style: none; counter-reset: doc-step; }
.run-doc-steps > li { position: relative; min-width: 0; padding-left: 46px; counter-increment: doc-step; }
.run-doc-steps > li[id] { scroll-margin-top: 80px; }
.run-doc-steps > li + li { margin-top: 34px; padding-top: 3px; }
.run-doc-steps > li::before {
  position: absolute;
  top: -2px;
  left: 0;
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  content: counter(doc-step);
  color: #fff;
  background: var(--doc-accent);
  border-radius: 50%;
  font: 700 12px/1 var(--mono);
}

.run-doc-steps h3 { margin: 0; font: 700 18px/1.45 var(--sans); letter-spacing: -.012em; }
.run-doc-steps h3 + p { margin: 8px 0 0; color: #555a62; }
.run-doc-code { position: relative; min-width: 0; margin-top: 14px; overflow: hidden; background: #f7f7f8; border: 1px solid #e0e2e5; border-radius: 7px; }
.run-doc-code button {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  min-width: 66px;
  height: 42px;
  padding: 0 13px;
  color: #666b72;
  background: #fff;
  border: 0;
  border-bottom: 1px solid #e0e2e5;
  border-left: 1px solid #e0e2e5;
  cursor: pointer;
  font: 650 12px/1 var(--sans);
}
.run-doc-code button:hover { color: #111; background: #f0f1f2; }
.run-doc-code button[data-copy-state="copied"] { color: #0d6267; background: #edf8f6; }
.run-doc-code pre { margin: 0; padding: 18px 78px 18px 18px; overflow-x: auto; scrollbar-color: #c5c8cd #f7f7f8; }
.run-doc-code pre code { display: block; width: max-content; min-width: 100%; color: #253047; font: 13px/1.68 var(--mono); white-space: pre; }
.run-doc-expected { margin: 9px 0 0; color: #676c73; font-size: 13px; line-height: 1.55; }
.run-doc-expected strong { color: #31353a; }
.run-doc-expected code { overflow-wrap: anywhere; color: #275e64; }

.run-doc-note { margin: 31px 0 0; padding: 15px 18px; background: #f1f7f6; border-left: 3px solid var(--doc-accent); }
.run-doc-note strong { font-size: 14px; }
.run-doc-note p { margin: 4px 0 0; color: #4f575b; font-size: 13px; line-height: 1.55; }
.run-doc-page .run-doc-judge { margin-top: 32px; padding: 42px 28px; background: #f6faf9; border: 1px solid #d4e5e3; border-radius: 9px; }
.run-doc-part-label { margin: 0 0 9px !important; color: var(--doc-accent) !important; font: 750 11px/1.2 var(--mono); letter-spacing: .1em; }
.run-doc-role-table { margin-top: 24px; overflow-x: auto; border: 1px solid #dbe4e3; border-radius: 7px; }
.run-doc-role-table table { width: 100%; min-width: 650px; border-collapse: collapse; background: #fff; font-size: 13px; line-height: 1.45; }
.run-doc-role-table th, .run-doc-role-table td { padding: 11px 13px; border-bottom: 1px solid #e4e9e8; text-align: left; vertical-align: top; }
.run-doc-role-table thead th { color: #555d61; background: #eef5f4; font: 700 11px/1.35 var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.run-doc-role-table tbody tr:last-child > * { border-bottom: 0; }
.run-doc-role-table tbody th { color: #243236; white-space: nowrap; }
.run-doc-role-table code { color: #275e64; font-size: 12px; }
.run-doc-references ol { margin: 24px 0 0; padding-left: 24px; }
.run-doc-references li { padding-left: 5px; }
.run-doc-references li + li { margin-top: 9px; }
.run-doc-references a { color: #176f74; }
.run-doc-footer { display: flex; flex-wrap: wrap; gap: 18px; padding-top: 25px; color: #62676e; border-top: 1px solid var(--doc-border); font-size: 12px; }
.run-doc-footer span { margin-right: auto; }
.run-doc-footer a { color: #62676f; }

.run-doc-toc { position: sticky; top: 58px; align-self: start; padding-top: 6px; }
.run-doc-toc p { margin: 0 0 11px; color: #676c73; font: 650 13px/1.35 var(--sans); }
.run-doc-toc nav { border-left: 1px solid #dfe1e4; }
.run-doc-toc a { display: block; padding: 6px 0 6px 14px; color: #686d74; font-size: 13px; line-height: 1.42; text-decoration: none; }
.run-doc-toc a:hover { color: #17191c; border-left: 2px solid var(--doc-accent); margin-left: -1px; }

@media (max-width: 1240px) {
  .run-doc-shell { grid-template-columns: minmax(0, 780px); }
  .run-doc-toc { display: none; }
  .run-doc-mobile-toc { display: block; margin: 0 0 34px; border: 1px solid var(--doc-border); border-radius: 6px; }
  .run-doc-mobile-toc summary { padding: 11px 14px; cursor: pointer; color: #4d5259; font-weight: 650; }
  .run-doc-mobile-toc nav { display: grid; padding: 2px 14px 13px; }
  .run-doc-mobile-toc a { padding: 5px 0; color: #62676f; font-size: 13px; text-decoration: none; }
}

@media (max-width: 960px) {
  .run-doc-mobilebar { position: sticky; z-index: 800; top: 0; min-height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--doc-border); backdrop-filter: blur(12px); }
  .run-doc-mobilebar > a { display: inline-flex; gap: 9px; align-items: center; color: #1c1f23; text-decoration: none; }
  .run-doc-mobilebar img { width: 27px; height: 27px; object-fit: contain; }
  .run-doc-mobilebar strong { font: 700 14px/1 var(--mono); }
  .run-doc-mobilebar button { min-width: 64px; min-height: 38px; color: #40454c; background: #f6f6f6; border: 1px solid #dddfe2; border-radius: 5px; font: 650 13px/1 var(--sans); }
  .run-doc-sidebar { top: 56px; bottom: 0; width: min(320px, 88vw); transform: translateX(-102%); box-shadow: 16px 0 40px rgba(20,27,30,.12); transition: transform 180ms ease; }
  .run-doc-sidebar.is-open { transform: translateX(0); }
  .run-doc-brand { display: none; }
  .run-doc-sidebar nav { padding-top: 22px; }
  .run-doc-shell { margin-left: 0; display: block; padding: 44px 24px 72px; }
  .run-doc-article { max-width: 780px; margin: 0 auto; }
  .run-doc-page .run-doc-section { scroll-margin-top: 76px; }
}

@media (max-width: 560px) {
  .run-doc-shell { padding: 34px 19px 60px; }
  .run-doc-lead { padding-bottom: 36px; }
  .run-doc-lead h1 { font-size: 34px; }
  .run-doc-deck { font-size: 17px; }
  .run-doc-lead > p:not(.run-doc-kicker, .run-doc-deck) { margin-top: 21px; }
  .run-doc-section { padding: 40px 0; }
  .run-doc-section h2 { font-size: 24px; }
  .run-doc-steps { margin-top: 26px; }
  .run-doc-steps > li { padding-left: 37px; }
  .run-doc-steps > li::before { width: 25px; height: 25px; }
  .run-doc-code button { min-width: 66px; height: 44px; }
  .run-doc-code pre { padding: 17px 78px 17px 15px; }
  .run-doc-code pre code { font-size: 12px; }
  .run-doc-page .run-doc-judge { margin-top: 22px; padding: 34px 16px; }
  .run-doc-footer span { flex-basis: 100%; }
}

@media print {
  .run-doc-mobilebar, .run-doc-sidebar, .run-doc-toc, .run-doc-mobile-toc, .run-doc-code button { display: none !important; }
  .run-doc-shell { margin: 0; display: block; padding: 0; }
  .run-doc-section { padding: 8mm 0; break-inside: avoid; }
  .run-doc-code { background: #fff; }
  .run-doc-code pre { padding-right: 18px; }
  .run-doc-code pre code { color: #111; white-space: pre-wrap; }
}
