:root {
  color-scheme: light;
  --ink: #142033;
  --ink-2: #2b3b52;
  --muted: #64748a;
  --blue: #2e6ee9;
  --blue-dark: #1f55bd;
  --blue-soft: #edf4ff;
  --teal: #137c73;
  --teal-soft: #e9f7f4;
  --line: #dbe4ef;
  --line-strong: #bbc9d9;
  --paper: #ffffff;
  --wash: #f6f9fd;
  --navy: #0e1a2b;
  --serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, "Songti SC", "STSong", Georgia, serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 86px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--serif); font-size: 17px; line-height: 1.82; }
body.menu-open { overflow: hidden; }
a { color: inherit; }
button { font: inherit; }
[hidden] { display: none !important; }

.skip-link { position: fixed; left: 16px; top: -70px; z-index: 100; padding: 8px 14px; background: var(--navy); color: #fff; font: 600 14px var(--sans); text-decoration: none; }
.skip-link:focus { top: 12px; }

.topbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; min-height: 68px; padding: 0 clamp(20px, 4vw, 64px); border-bottom: 1px solid color-mix(in srgb, var(--line) 80%, transparent); background: rgba(255,255,255,.9); backdrop-filter: blur(18px); font-family: var(--sans); }
.wordmark { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 750; letter-spacing: -.02em; text-decoration: none; }
.wordmark-mark { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--ink); border-radius: 50%; font-family: var(--serif); font-size: 16px; }
.topbar-nav { display: flex; align-items: center; gap: 26px; font-size: 13px; font-weight: 560; color: var(--ink-2); }
.topbar-nav a { text-decoration: none; }
.topbar-nav a:hover { color: var(--blue); }
.repo-link { padding: 7px 11px; border: 1px solid var(--line-strong); border-radius: 6px; }
.menu-button { display: none; border: 1px solid var(--line-strong); border-radius: 5px; background: #fff; color: var(--ink); padding: 5px 10px; font-size: 13px; }
.mobile-nav { position: fixed; inset: 68px 0 auto; z-index: 19; padding: 16px 22px 22px; background: #fff; border-bottom: 1px solid var(--line); font: 600 15px var(--sans); box-shadow: 0 12px 30px rgba(14,26,43,.08); }
.mobile-nav a { display: block; padding: 10px 0; text-decoration: none; }

.page-column { width: min(760px, calc(100% - 44px)); margin-inline: auto; }
.wide-inner { width: min(1160px, calc(100% - 56px)); margin-inline: auto; }
.report { overflow: clip; }
.hero { position: relative; isolation: isolate; display: grid; min-height: calc(100svh - 68px); place-items: center; overflow: hidden; padding: clamp(42px, 7vh, 76px) 0; color: #fff; text-align: center; background: #101a27; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: 1; background: radial-gradient(circle at 50% 43%, rgba(5,14,27,.26) 0, rgba(5,14,27,.55) 48%, rgba(5,14,27,.78) 100%), linear-gradient(180deg, rgba(3,10,19,.28), rgba(3,10,19,.52)); pointer-events: none; }
.hero-background { position: absolute; inset: -2px; z-index: 0; display: grid; grid-template-rows: repeat(3, 1fr); overflow: hidden; }
.hero-strip { min-width: 0; overflow: hidden; border-bottom: 2px solid rgba(255,255,255,.12); }
.hero-strip:last-child { border-bottom: 0; }
.hero-strip-track { display: flex; width: max-content; height: 100%; transform: translate3d(-50%, 0, 0); animation: hero-pan-right 58s linear infinite; will-change: transform; }
.hero-strip:nth-child(2) .hero-strip-track { animation-duration: 70s; animation-delay: -21s; }
.hero-strip:nth-child(3) .hero-strip-track { animation-duration: 63s; animation-delay: -39s; }
.hero-strip-set { display: flex; flex: none; height: 100%; }
.hero-strip img { display: block; flex: none; width: max(clamp(270px, 45vh, 490px), calc(100vw / 6)); height: 100%; border-right: 2px solid rgba(255,255,255,.12); object-fit: cover; }
.hero-content { position: relative; z-index: 2; }
@keyframes hero-pan-right {
  from { transform: translate3d(-50%, 0, 0); }
  to { transform: translate3d(0, 0, 0); }
}
.section-kicker, .closing-kicker { color: var(--blue-dark); font: 700 11px/1.4 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.hero h1 { max-width: 920px; margin: 0 auto 16px; color: #fff; font-size: clamp(48px, 6vw, 76px); line-height: 1.04; font-weight: 650; letter-spacing: -.052em; text-shadow: 0 4px 28px rgba(0,0,0,.62); text-wrap: balance; }
.hero h1 span { color: #fff; }
.authors { display: flex; justify-content: center; flex-wrap: wrap; gap: 3px 18px; margin: 0 auto 18px; color: #35567d; font-size: 16px; line-height: 1.55; }
.authors span { white-space: nowrap; }
.hero .authors { color: #f3f7fd; text-shadow: 0 2px 12px rgba(0,0,0,.85); }
.authors sup { margin-left: 2px; color: #b9d2ff; font: 700 .68em/1 var(--sans); }
.author-note { margin: -10px auto 18px; color: #dce8f8; font: italic 11px/1.5 var(--sans); text-shadow: 0 2px 10px rgba(0,0,0,.85); }
.author-note sup { margin-right: 3px; color: #b9d2ff; font-style: normal; font-weight: 750; }
.hero-repository { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 146px; min-height: 56px; margin: 0 auto 24px; padding: 11px 20px; border: 1px solid #b8b0a7; border-radius: 11px; background: #fff; box-shadow: 0 3px 0 rgba(30,25,20,.11), 0 7px 18px rgba(30,25,20,.08); color: #3f3b37; font: 700 18px/1 var(--sans); letter-spacing: -.015em; text-decoration: none; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.hero-repository svg { width: 23px; height: 23px; fill: currentColor; flex: 0 0 auto; }
.hero-repository:hover { border-color: #8f867d; color: #24211f; transform: translateY(-2px); box-shadow: 0 4px 0 rgba(30,25,20,.11), 0 10px 22px rgba(30,25,20,.11); }
.hero-repository:active { transform: translateY(1px); box-shadow: 0 1px 0 rgba(30,25,20,.11), 0 4px 12px rgba(30,25,20,.07); }
.dek { max-width: 700px; margin: 0 auto; color: #42536a; font-size: clamp(16px, 1.6vw, 19px); line-height: 1.68; text-wrap: pretty; }
.hero .dek { color: #eef4fc; text-shadow: 0 2px 14px rgba(0,0,0,.8); }

.media-placeholder { position: relative; overflow: hidden; border: 1px solid var(--line-strong); background: linear-gradient(145deg, #f9fbfe, #edf3fa); color: #52657c; font-family: var(--sans); }
.placeholder-grid { position: absolute; inset: 0; opacity: .48; background-image: linear-gradient(#ccdae9 1px, transparent 1px), linear-gradient(90deg, #ccdae9 1px, transparent 1px); background-size: 38px 38px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 94%); }
.media-placeholder::before, .media-placeholder::after { content: ""; position: absolute; z-index: 1; background: #9eb4ca; opacity: .55; }
.media-placeholder::before { width: 1px; height: 46px; left: 50%; top: calc(50% - 23px); }
.media-placeholder::after { height: 1px; width: 46px; top: 50%; left: calc(50% - 23px); }
.placeholder-content { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 22px; }
.placeholder-content strong { color: #38516d; font-size: 15px; }
.placeholder-content small { color: #71849a; font-size: 11px; }
.placeholder-index { position: absolute; left: 16px; top: 13px; color: #698097; font: 700 9px var(--mono); letter-spacing: .12em; }

.tldr { margin: 28px 0 0; padding: 25px 28px 26px; border: 1px solid #d4e2f2; border-left: 4px solid var(--blue); border-radius: 9px; background: linear-gradient(115deg, #eef5ff 0%, #eefaf8 100%); text-align: left; }
.tldr-label { color: var(--blue-dark); font: 750 11px var(--sans); letter-spacing: .14em; }
.tldr p { margin: 8px 0 18px; color: #2f4866; font-size: 18px; line-height: 1.78; }
.tldr strong { color: #1c54ad; font-weight: 700; }
.tldr-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 15px; border-radius: 5px; font: 650 12px var(--sans); text-decoration: none; }
.button.primary { background: var(--blue); color: white; }
.button.primary:hover { background: var(--blue-dark); }
.button.secondary { border: 1px solid #b8cae0; background: rgba(255,255,255,.6); color: #345679; }
.hero .tldr { border-color: rgba(172,202,242,.42); border-left-color: #73a7ff; background: rgba(7,19,35,.68); box-shadow: 0 18px 50px rgba(0,0,0,.24); backdrop-filter: blur(14px); }
.hero .tldr-label { color: #9fc2ff; }
.hero .tldr p { color: #eef4fc; }
.hero .tldr strong { color: #a8c8ff; }
.hero .button.secondary { border-color: rgba(208,224,245,.55); background: rgba(255,255,255,.1); color: #fff; }
.hero .button.secondary:hover { background: rgba(255,255,255,.18); }

.section-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 22px; margin-top: 32px; padding: 14px 18px; border: 1px solid #d6e4f5; border-radius: 8px; background: var(--blue-soft); font: 600 12px var(--sans); color: #3b679d; }
.section-nav a { text-decoration: none; }
.section-nav a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }

.section { padding-top: 90px; }
.section h2, .wide-section h2, .closing h2 { margin: 12px 0 22px; color: #1a355b; font-size: clamp(28px, 4vw, 38px); line-height: 1.3; font-weight: 600; letter-spacing: -.025em; text-wrap: balance; }
.section h3 { color: var(--ink-2); }
.section p { margin: 13px 0; }
.lead { color: #334a64; font-size: 19px; line-height: 1.8; }
.section code { padding: 2px 5px; border-radius: 4px; background: var(--blue-soft); color: #214f91; font: 13px var(--mono); }
.keywords { padding-top: 12px; color: var(--muted); font: 13px/1.7 var(--sans); }

.system-architecture-figure { margin: 18px auto 12px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 10px 32px rgba(24, 48, 78, .07); }
.system-architecture-figure img { display: block; width: 100%; height: auto; border-radius: 5px; }
.system-architecture-figure figcaption { padding: 12px 4px 0; color: var(--muted); text-align: center; font: 12px/1.6 var(--sans); }

.principles-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 34px; border: 1px solid var(--line); background: var(--line); }
.principles-grid article { position: relative; min-height: 210px; padding: 25px 27px; background: white; }
.principles-grid article > span { color: #8ba1bb; font: 650 11px var(--mono); }
.principles-grid h3 { margin: 29px 0 7px; font: 670 17px var(--sans); }
.principles-grid p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }

.protocol { margin: 34px 0 26px; padding: 28px; border: 1px solid var(--line); border-radius: 12px; background: var(--wash); font-family: var(--sans); }
.protocol-node { display: flex; flex-direction: column; align-items: center; padding: 15px 12px; border: 1px solid #cdd8e5; background: white; text-align: center; }
.protocol-node span { color: #768ba3; font: 750 9px var(--mono); letter-spacing: .11em; }
.protocol-node strong { margin: 3px 0 2px; color: #29405d; font-size: 14px; }
.protocol-node small { color: #728298; font-size: 11px; }
.protocol-arrow { padding: 5px 0; color: #96aac0; text-align: center; }
.accent-node { border-color: #9cbceb; background: var(--blue-soft); }
.accent-node strong { color: #1d58b5; }
.teal-node { border-color: #96cfc7; background: var(--teal-soft); }
.teal-node strong { color: #116b64; }
.protocol-branch { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; margin: 8px 18%; color: #7792b0; }
.protocol-branch i { height: 1px; background: #a9bad0; }
.protocol-branch b { font: 750 9px var(--mono); letter-spacing: .1em; }
.protocol-outcomes { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.protocol-return { margin-top: 11px; color: #607790; font-size: 11px; text-align: center; }
.protocol-return span { margin-right: 5px; color: var(--blue); font-size: 15px; }

.spec-row { display: grid; grid-template-columns: repeat(4, 1fr); margin: 25px 0; border-block: 1px solid var(--line-strong); }
.spec-row div { padding: 19px 11px; border-right: 1px solid var(--line); text-align: center; }
.spec-row div:last-child { border-right: 0; }
.spec-row strong { display: block; color: #254670; font: 650 25px var(--serif); }
.spec-row span { color: var(--muted); font: 11px var(--sans); }

.wide-section { margin-top: 94px; padding: 58px 0 62px; }
.architecture-section { background: var(--navy); color: #dce7f5; }
.architecture-section .section-kicker { color: #76a5ff; }
.architecture-section h2 { color: white; }
.section-heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 42px; }
.section-heading-row > p { max-width: 400px; margin: 0 0 17px; color: #92a5bd; font-size: 14px; line-height: 1.65; }
.architecture-map { display: grid; grid-template-columns: 1fr 100px 1.2fr 100px 1fr; align-items: center; gap: 0; margin-top: 36px; }
.arch-lane { min-height: 190px; padding: 27px 24px; border: 1px solid #32445c; background: #14243a; }
.arch-lane.focus { border-color: #4d82d5; background: linear-gradient(145deg, #162e50, #132d46); }
.arch-lane span { color: #78a6ef; font: 700 9px var(--mono); letter-spacing: .13em; }
.arch-lane strong { display: block; margin: 33px 0 10px; color: white; font: 650 16px var(--sans); }
.arch-lane small { display: block; color: #9eb0c5; font: 12px/1.65 var(--sans); }
.arch-connector { position: relative; height: 1px; background: #46617f; }
.arch-connector::after { content: ""; position: absolute; right: -1px; top: -3px; width: 7px; height: 7px; border-top: 1px solid #7797bc; border-right: 1px solid #7797bc; transform: rotate(45deg); }
.arch-connector span { position: absolute; left: 50%; bottom: 8px; color: #788da6; font: 9px var(--mono); transform: translateX(-50%); }
.adapter-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 22px; border: 1px solid #293b52; background: #293b52; }
.adapter-strip span { padding: 12px; background: #101f32; color: #91a5bd; font: 10px var(--mono); text-align: center; }

.disclosure { margin: 25px 0 30px; padding: 16px 18px; border-left: 3px solid #e0a33b; background: #fff8e9; color: #6d5831; font: 13px/1.65 var(--sans); }
.disclosure span { display: block; margin-bottom: 4px; color: #9c6c17; font: 750 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.evidence-chart { margin-top: 24px; padding: 26px 28px 22px; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 10px 35px rgba(35,65,103,.06); font-family: var(--sans); }
.chart-axis { display: grid; grid-template-columns: repeat(5, 1fr); margin: 0 34px 13px 166px; color: #8393a7; font: 9px var(--mono); }
.chart-axis span:not(:first-child) { text-align: center; }
.chart-axis span:last-child { text-align: right; }
.chart-row { display: grid; grid-template-columns: 150px 1fr 28px; align-items: center; gap: 16px; min-height: 66px; border-top: 1px solid #edf1f6; }
.chart-label strong { display: block; color: #334861; font-size: 12px; }
.chart-label small { display: block; color: #8391a3; font-size: 9px; }
.bar-track { height: 14px; background: repeating-linear-gradient(90deg, #f1f4f8 0, #f1f4f8 calc(25% - 1px), #dce4ed calc(25% - 1px), #dce4ed 25%); }
.bar-track i { display: block; width: var(--value); height: 100%; background: #87a1bf; }
.chart-row.is-primary { margin-inline: -12px; padding-inline: 12px; background: var(--blue-soft); }
.chart-row.is-primary .bar-track i { background: var(--blue); }
.chart-row.is-primary .chart-label strong, .chart-row.is-primary > b { color: var(--blue-dark); }
.chart-row > b { font-size: 13px; font-variant-numeric: tabular-nums; }
.figure-caption { color: var(--muted); font-size: 12px; line-height: 1.65; }
.subsection-heading { margin: 42px 0 8px; font: 650 20px/1.4 var(--sans); }
.evidence-table-wrap { margin-top: 24px; }
.usage-table { min-width: 620px; }
.evaluation-note { margin-top: 28px; }

.results-section { padding-bottom: 20px; }
.results-intro { max-width: 780px; }
.result-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 35px 0 50px; font-family: var(--sans); }
.result-summary article { min-height: 152px; padding: 20px; border: 1px solid var(--line); border-top: 3px solid #8fb2eb; border-radius: 7px; background: linear-gradient(155deg, #fff, #f6f9fd); }
.result-summary span { color: #71849b; font: 700 9px var(--mono); letter-spacing: .12em; }
.result-summary strong { display: block; margin: 22px 0 4px; color: var(--blue-dark); font: 650 29px/1.1 var(--serif); font-variant-numeric: tabular-nums; }
.result-summary p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.result-table-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin: 0 0 15px; }
.result-table-heading.second-table { margin-top: 64px; }
.result-table-heading span { color: var(--blue-dark); font: 700 9px var(--mono); letter-spacing: .13em; }
.result-table-heading h3 { margin: 3px 0 0; font: 650 23px/1.3 var(--sans); }
.result-table-heading p { margin: 0 0 3px; color: var(--muted); font: 11px var(--sans); }
.benchmark-table-wrap { overflow-x: auto; border: 1px solid var(--line-strong); border-radius: 8px; background: #fff; box-shadow: 0 12px 34px rgba(35,65,103,.06); scrollbar-color: #9db0c6 #edf2f7; }
.benchmark-table-wrap:focus-visible { outline-offset: 4px; }
.benchmark-table { width: 100%; min-width: 1390px; border-collapse: separate; border-spacing: 0; color: #34485f; font: 11px/1.4 var(--sans); font-variant-numeric: tabular-nums; }
.benchmark-table caption { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.benchmark-table th, .benchmark-table td { min-width: 116px; padding: 13px 12px; border-right: 1px solid #edf1f5; border-bottom: 1px solid var(--line); text-align: center; white-space: nowrap; }
.benchmark-table thead th { height: 68px; background: #f5f8fc; color: #52667e; font-size: 10px; font-weight: 750; letter-spacing: .02em; }
.benchmark-table tr:last-child > * { border-bottom: 0; }
.benchmark-table tr > *:last-child { border-right: 0; }
.benchmark-table th:first-child { position: sticky; left: 0; z-index: 2; min-width: 222px; max-width: 222px; background: #fff; color: #273d57; text-align: left; white-space: normal; box-shadow: 5px 0 12px rgba(28,49,75,.05); }
.benchmark-table thead th:first-child { z-index: 3; background: #f5f8fc; }
.benchmark-table .primary-result { background: #eaf3ff; color: #1e55aa; }
.benchmark-table thead .primary-result { background: #dceaff; color: #174b9b; }
.benchmark-table .direct-result { background: #f7f9fc; }
.benchmark-table tbody tr:hover > * { background-color: #f5f9ff; }
.benchmark-table tbody tr:hover > .primary-result { background-color: #deedff; }
.benchmark-table .overall-row > * { border-top: 2px solid #71869e; background: #eef2f7; color: #253d5b; font-weight: 750; }
.benchmark-table .overall-row > .primary-result { background: #cfe3ff; color: #134a9e; }
.results-note { max-width: 850px; color: var(--muted); font: 11px/1.7 var(--sans); }

.limitations-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 32px; border: 1px solid var(--line); background: var(--line); }
.limitations-grid article { padding: 23px 25px; background: #fff; }
.limitations-grid h3 { margin: 0 0 7px; font: 650 15px var(--sans); }
.limitations-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }

.video-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 38px; }
.video-card { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.video-placeholder { aspect-ratio: 16/10; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: #eaf0f7; }
.play { display: grid; place-items: center; width: 37px; height: 37px; margin-bottom: 8px; border: 1px solid #90a7c0; border-radius: 50%; color: var(--blue); font-size: 12px; text-indent: 2px; }
.video-copy { padding: 17px 18px 18px; }
.video-copy h3 { margin: 8px 0 4px; font: 650 16px var(--sans); }
.video-copy p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.policy-tag { display: inline-flex; padding: 3px 7px; border-radius: 4px; font: 700 9px var(--mono); }
.policy-tag.hybrid { background: var(--teal-soft); color: var(--teal); }
.policy-tag.direct { background: var(--blue-soft); color: var(--blue-dark); }

.metric-switch { display: inline-flex; margin: 23px 0 18px; }
.metric-switch button { min-height: 36px; padding: 0 15px; border: 1px solid var(--line-strong); background: white; color: #596b81; cursor: pointer; font: 600 12px var(--sans); }
.metric-switch button + button { border-left: 0; }
.metric-switch button[aria-pressed="true"] { background: var(--blue-soft); color: var(--blue-dark); }
.metric-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.metric-card { min-height: 155px; padding: 20px; border: 1px solid var(--line); background: #fff; }
.metric-card span { color: #7e91aa; font: 700 9px var(--mono); letter-spacing: .12em; }
.metric-card strong { display: block; margin: 22px 0 4px; color: #294566; font: 650 16px var(--sans); }
.metric-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.evaluation-table-wrap { overflow-x: auto; margin-top: 28px; }
.evaluation-table { width: 100%; min-width: 700px; border-collapse: collapse; border-block: 1.5px solid #76879a; font: 12px/1.5 var(--sans); }
.evaluation-table th, .evaluation-table td { padding: 13px 11px; border-bottom: 1px solid var(--line); text-align: left; }
.evaluation-table thead th { color: #66778c; font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
.status { display: inline-flex; padding: 3px 7px; border-radius: 4px; white-space: nowrap; font-size: 10px; font-weight: 650; }
.status.done { background: var(--teal-soft); color: var(--teal); }
.status.active { background: var(--blue-soft); color: var(--blue-dark); }
.status.pending { background: #f1f3f6; color: #667487; }

.gallery-section { padding-top: 56px; background: var(--wash); border-block: 1px solid var(--line); }
.gallery-section .section-heading-row > p { color: var(--muted); }
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 30px; }
.task-placeholder { aspect-ratio: 4 / 3; }
.task-placeholder .placeholder-content { align-items: flex-start; justify-content: flex-end; text-align: left; }
.task-placeholder .placeholder-content > span { position: absolute; top: 12px; left: 13px; color: #7d91a7; font: 700 9px var(--mono); }
.task-placeholder .placeholder-content strong { font-size: 13px; }

.roadmap { position: relative; margin-top: 34px; }
.roadmap::before { content: ""; position: absolute; left: 22px; top: 24px; bottom: 30px; width: 1px; background: var(--line-strong); }
.roadmap article { position: relative; display: grid; grid-template-columns: 46px 1fr; gap: 20px; padding: 0 0 30px; }
.roadmap article > span { z-index: 1; display: grid; place-items: center; width: 46px; min-height: 34px; border: 1px solid var(--line-strong); background: white; color: #65788f; font: 700 9px var(--mono); }
.roadmap article.complete > span { border-color: #8bc9bd; background: var(--teal-soft); color: var(--teal); }
.roadmap article.current > span { border-color: #8eb3ed; background: var(--blue-soft); color: var(--blue-dark); box-shadow: 0 0 0 4px #fff; }
.roadmap h3 { margin: 1px 0 3px; font: 650 15px var(--sans); }
.roadmap p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }

.closing { margin-top: 88px; padding: 46px 0 58px; border-top: 1px solid var(--line-strong); text-align: center; }
.closing h2 { max-width: 680px; margin-inline: auto; }
.closing > p:not(.closing-kicker) { max-width: 620px; margin-inline: auto; color: var(--muted); font-size: 15px; }
.closing-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px 26px; margin-top: 25px; font: 650 12px var(--sans); color: var(--blue-dark); }
.closing-links a { text-underline-offset: 4px; }
footer { display: flex; justify-content: space-between; gap: 20px; padding: 20px clamp(22px, 4vw, 64px); border-top: 1px solid var(--line); color: #718197; font: 10px var(--mono); }

:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }

.evaluation-replays { margin-top: 58px; padding-top: 36px; border-top: 1px solid var(--line-strong); font-family: "Times New Roman", Times, serif; }
.replay-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.replay-heading h3 { margin: 8px 0 0; font: 600 clamp(24px, 3vw, 32px)/1.3 "Times New Roman", Times, serif; letter-spacing: -.02em; }
.replay-source { flex-shrink: 0; padding: 6px 12px; border: 1px solid #c7d9ee; border-radius: 30px; color: var(--blue-dark); background: var(--blue-soft); font-size: 11px; font-weight: 650; }
.section .replay-intro { max-width: 800px; margin: 15px 0 24px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.replay-player { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--navy); box-shadow: 0 12px 35px rgba(14,26,43,.08); }
.replay-player video { display: block; width: 100%; aspect-ratio: 20 / 13; background: var(--navy); }
.replay-player figcaption { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; background: var(--wash); }
.replay-player figcaption strong { display: block; color: var(--ink-2); font-size: 15px; line-height: 1.5; }
.replay-player figcaption span { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.replay-player figcaption a { flex-shrink: 0; color: var(--blue-dark); font-size: 12px; font-weight: 650; text-underline-offset: 4px; }
.replay-player figcaption a span { display: inline; color: inherit; }
.replay-details { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; padding: 24px 0; }
.replay-label { color: var(--blue-dark); font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.section .replay-instruction p { margin: 6px 0 0; color: var(--ink-2); font-size: 12px; line-height: 1.8; }
.replay-metrics { display: grid; grid-template-columns: repeat(4, 1fr); align-content: center; gap: 12px; margin: 0; }
.replay-metrics div { padding-left: 12px; border-left: 1px solid var(--line); }
.replay-metrics dt { color: var(--muted); font-size: 10px; line-height: 1.5; }
.replay-metrics dd { margin: 8px 0 0; color: var(--ink-2); font-size: 25px; font-weight: 600; line-height: 1.2; font-variant-numeric: tabular-nums; }
.replay-record { padding: 14px 18px; border: 1px solid var(--line); border-radius: 8px; background: var(--wash); color: var(--muted); font-size: 12px; }
.replay-record summary { color: var(--ink-2); font-weight: 600; cursor: pointer; }
.replay-record p, .replay-record code { overflow-wrap: anywhere; }
.replay-record code { font-size: 11px; }
.replay-notice { padding: 10px 16px; border: 1px solid #dec592; border-radius: 6px; color: #705016; background: #fff8e9; font-size: 13px; }
.replay-list { display: grid; gap: 42px; margin-top: 30px; }
.replay-row { padding: 26px 24px 24px; border: 1px solid #d9c9ad; border-radius: 12px; background: #fbf5e8; box-shadow: 0 10px 26px rgba(90,65,32,.07); }
.replay-row h4 { margin: 0 0 14px; color: #4b3822; font: 600 clamp(22px, 3vw, 30px)/1.25 "Times New Roman", Times, serif; }
.replay-methods { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-bottom: 14px; }
.replay-method { min-height: 44px; padding: 8px 12px; border: 1px solid #c8b48f; border-radius: 6px; color: #5a442a; background: #f4e8cf; font: 600 15px/1.35 "Times New Roman", Times, serif; cursor: pointer; transition: background .15s, border-color .15s, color .15s; }
.replay-method:hover { border-color: #9c743c; background: #ecd9b3; }
.replay-method[aria-pressed="true"] { border-color: #7f5d2e; color: #fffaf0; background: #96703a; }
.replay-method.is-empty, .replay-method:disabled { color: #9e927f; border-color: #ddd2bd; background: #eee7da; cursor: not-allowed; }
.replay-method small { display: block; font-size: 11px; font-weight: 400; }
.replay-row .replay-player { border-color: #cdbb9c; background: #f5ecd8; box-shadow: none; }
.replay-row .replay-player video { aspect-ratio: 20 / 13; background: #f5ecd8; }
.replay-empty { display: grid; place-items: center; aspect-ratio: 20 / 13; color: #8f816d; background: #f5ecd8; font-size: 18px; }
.replay-row .replay-player figcaption { background: #f1e5cf; }
.replay-row .replay-player figcaption strong, .replay-row .replay-player figcaption a { color: #6d4d28; font-family: "Times New Roman", Times, serif; }
.replay-row .replay-player figcaption span { color: #88765c; font-family: "Times New Roman", Times, serif; }
.replay-row .replay-details { padding: 20px 0 15px; }
.replay-row .replay-metrics dd { color: #5b4123; font-family: "Times New Roman", Times, serif; }
.replay-row .replay-record { border-color: #d9c9ad; background: #f5ecd8; }

@media (max-width: 700px) {
  .replay-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .replay-row { padding: 20px 15px 18px; }
  .replay-methods { grid-template-columns: 1fr; }
  .replay-player figcaption { align-items: flex-start; flex-direction: column; padding: 14px; gap: 8px; }
  .replay-details { grid-template-columns: 1fr; gap: 20px; }
  .replay-metrics dd { font-size: 23px; }
}

@media (max-width: 900px) {
  .architecture-map { grid-template-columns: 1fr; gap: 0; }
  .arch-connector { width: 1px; height: 44px; margin-inline: auto; }
  .arch-connector::after { right: -3px; top: auto; bottom: 0; transform: rotate(135deg); }
  .arch-connector span { left: 10px; bottom: 12px; transform: none; }
  .adapter-strip { grid-template-columns: 1fr 1fr; }
  .gallery-grid { grid-template-columns: 1fr 1fr; }
  .result-summary { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
  body { font-size: 15px; }
  .topbar { min-height: 60px; padding-inline: 18px; }
  .topbar-nav { display: none; }
  .menu-button { display: block; }
  .mobile-nav { top: 60px; }
  .hero { min-height: calc(100svh - 60px); padding: 48px 0; }
  .hero-strip img { width: max(250px, calc(100vw / 3)); }
  .hero h1 { font-size: clamp(40px, 11vw, 54px); }
  .authors { gap: 2px 14px; font-size: 14px; }
  .hero-repository { min-width: 136px; min-height: 52px; padding: 10px 18px; font-size: 17px; }
  .hero-repository svg { width: 21px; height: 21px; }
  .tldr { padding: 20px 18px 21px; }
  .tldr p { font-size: 16px; }
  .section { padding-top: 64px; }
  .principles-grid, .video-grid, .metric-panel, .result-summary, .limitations-grid { grid-template-columns: 1fr; }
  .principles-grid article { min-height: auto; }
  .protocol { padding: 18px; }
  .protocol-outcomes { grid-template-columns: 1fr; }
  .protocol-branch { margin-inline: 5%; }
  .spec-row { grid-template-columns: 1fr 1fr; }
  .spec-row div:nth-child(2) { border-right: 0; }
  .spec-row div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .section-heading-row { display: block; }
  .architecture-section .section-heading-row > p, .gallery-section .section-heading-row > p { margin-top: 0; }
  .adapter-strip { grid-template-columns: 1fr; }
  .chart-axis { margin-left: 100px; }
  .chart-row { grid-template-columns: 85px 1fr 24px; gap: 8px; }
  .chart-label strong { font-size: 10px; }
  .chart-label small { display: none; }
  .evidence-chart { padding-inline: 16px; }
  .result-table-heading { display: block; }
  .result-table-heading p { margin-top: 5px; }
  .benchmark-table th:first-child { min-width: 174px; max-width: 174px; }
  .gallery-grid { grid-template-columns: 1fr; }
  footer { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero-strip-track { animation: none; transform: translate3d(-18%, 0, 0); }
}

/* Editorial parchment theme */
:root {
  --ink: #32281e;
  --ink-2: #4c3d2c;
  --muted: #796b5a;
  --blue: #9a7138;
  --blue-dark: #6c4c27;
  --blue-soft: #f4ead5;
  --teal: #6e8067;
  --teal-soft: #e7eee0;
  --line: #e3d6c0;
  --line-strong: #cbb89a;
  --paper: #fbf8f1;
  --wash: #f6efdf;
  --navy: #e8dcc4;
}
body { background: var(--paper); color: var(--ink); }
.topbar { background: rgba(251,248,241,.94); border-bottom-color: var(--line); }
.topbar-nav { color: var(--ink-2); }
.topbar-nav a:hover, .language-link { color: var(--blue-dark); }
.repo-link, .language-link { border-color: var(--line-strong); }
.hero { min-height: min(720px, calc(100svh - 68px)); color: var(--ink); background: #eadfc9; }
.hero::after { background: linear-gradient(180deg, rgba(247,239,223,.25), rgba(75,54,31,.48)); }
.hero-strip { border-bottom-color: rgba(255,248,231,.42); }
.hero-strip img { border-right-color: rgba(255,248,231,.42); filter: sepia(.38) saturate(.72) contrast(.9); }
.hero h1 { color: #fffaf0; text-shadow: 0 3px 18px rgba(53,37,20,.45); }
.hero .authors { color: #fffaf0; text-shadow: 0 2px 10px rgba(53,37,20,.55); }
.hero .dek { color: #fffaf0; text-shadow: 0 2px 10px rgba(53,37,20,.55); }
.hero-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.hero .button.primary { background: #8c6532; color: #fffaf0; }
.hero .button.secondary { border-color: rgba(255,248,231,.65); background: rgba(255,248,231,.2); color: #fffaf0; }
.section-nav { background: #f3ead8; border-color: var(--line); color: var(--blue-dark); }
.quick-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 24px; margin-top: 18px; padding: 13px 18px; border-bottom: 1px solid var(--line); color: var(--blue-dark); font: 600 12px var(--sans); }
.quick-links a { text-underline-offset: 4px; }
.section-kicker, .closing-kicker { color: var(--blue-dark); }
.section h2, .wide-section h2, .closing h2 { color: #443321; }
.lead { color: #5f503d; }
.section code { background: #f1e5cf; color: #6c4c27; }
.system-architecture-figure { background: #fffaf1; border-color: var(--line); box-shadow: 0 10px 30px rgba(93,67,33,.07); }
.principles-grid, .limitations-grid { border-color: var(--line); background: var(--line); }
.principles-grid article, .limitations-grid article { background: #fffaf1; }
.protocol { background: #f5eddf; border-color: var(--line); }
.protocol-node { border-color: #d8c6a8; background: #fffaf1; }
.protocol-node strong { color: #4d3b27; }
.accent-node { border-color: #b99255; background: #f2e5cb; }
.accent-node strong { color: #765126; }
.teal-node { border-color: #b5c4ac; background: #edf2e8; }
.teal-node strong { color: #5a6f52; }
.architecture-section { background: #eadfc9; color: #4b3d2e; border-block: 1px solid var(--line); }
.architecture-section h2 { color: #3f3021; }
.architecture-section .section-kicker { color: #866033; }
.section-heading-row > p { color: #786b5a; }
.arch-lane { border-color: #cdb898; background: #f5ead5; }
.arch-lane.focus { border-color: #a27b44; background: #ead8b8; }
.arch-lane span { color: #866033; }
.arch-lane strong { color: #483625; }
.arch-lane small { color: #756552; }
.arch-connector { background: #b2956d; }
.arch-connector::after { border-color: #8e6b3d; }
.arch-connector span { color: #7d694f; }
.adapter-strip { border-color: #cdb898; background: #cdb898; }
.adapter-strip span { background: #f1e5cf; color: #705a3e; }
.result-summary article { border-color: var(--line); border-top-color: #a27a42; background: #fffaf1; }
.result-summary span, .result-table-heading span { color: #84683e; }
.result-summary strong { color: #6c4c27; }
.benchmark-table-wrap { border-color: var(--line-strong); background: #fffaf1; box-shadow: 0 12px 30px rgba(93,67,33,.06); }
.benchmark-table { color: #5a4935; }
.benchmark-table thead th { background: #f3ead8; color: #6b5941; }
.benchmark-table th:first-child { background: #fffaf1; color: #493a2a; box-shadow: 5px 0 12px rgba(93,67,33,.05); }
.benchmark-table thead th:first-child { background: #f3ead8; }
.benchmark-table .primary-result { background: #f0dfbd; color: #755329; }
.benchmark-table thead .primary-result { background: #e4c994; color: #68471f; }
.benchmark-table .direct-result { background: #f8f1e3; }
.benchmark-table tbody tr:hover > * { background-color: #f8f0e0; }
.benchmark-table tbody tr:hover > .primary-result { background-color: #ead5ae; }
.benchmark-table .overall-row > * { border-top-color: #a88961; background: #eee2cc; color: #4e3b26; }
.benchmark-table .overall-row > .primary-result { background: #dfc28d; color: #68471f; }
.score-chart { margin: 34px 0 52px; padding: 27px 30px 24px; border: 1px solid var(--line); border-radius: 10px; background: #fffaf1; box-shadow: 0 12px 32px rgba(93,67,33,.07); }
.chart-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.chart-heading > div > span { color: #866033; font: 700 9px var(--mono); letter-spacing: .13em; }
.chart-heading h3 { margin: 4px 0 0; color: #493624; font: 650 24px/1.3 var(--sans); }
.chart-heading p { margin: 0; color: var(--muted); font: 11px var(--sans); }
.chart-legend { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 20px 0 12px; color: #6e5c45; font: 11px var(--sans); }
.chart-legend span { display: inline-flex; align-items: center; gap: 6px; }
.chart-legend i { width: 10px; height: 10px; border-radius: 2px; background: #a98552; }
.chart-legend i.policy { background: #cbb693; } .chart-legend i.direct { background: #75866d; }
.score-row { display: grid; grid-template-columns: 190px 1fr; gap: 18px; padding: 15px 0; border-top: 1px solid #eee3d0; }
.score-row > strong { color: #5a4732; font: 600 12px/1.35 var(--sans); }
.score-bars { display: grid; gap: 5px; }
.score-bars span { position: relative; display: block; width: var(--score); min-width: 2px; height: 17px; border-radius: 2px; background: #a98552; }
.score-bars span::before { content: ""; position: absolute; inset: 0 -999px 0 0; z-index: -1; background: repeating-linear-gradient(90deg, #f3ead9 0, #f3ead9 calc(20% - 1px), #e5d7be calc(20% - 1px), #e5d7be 20%); }
.score-bars span.policy { background: #cbb693; } .score-bars span.direct { background: #75866d; }
.score-bars b { position: absolute; left: calc(100% + 7px); top: 50%; transform: translateY(-50%); color: #6b5538; font: 600 10px var(--mono); white-space: nowrap; }
.reader-rail { position: fixed; top: 140px; right: 20px; z-index: 15; display: flex; flex-direction: column; align-items: center; width: 44px; padding: 13px 10px; border: 1px solid var(--line); border-radius: 24px; background: rgba(255,250,241,.9); box-shadow: 0 8px 24px rgba(93,67,33,.12); backdrop-filter: blur(12px); }
.rail-label { color: #8b6a3f; font: 700 8px var(--mono); writing-mode: vertical-rl; letter-spacing: .12em; }
.rail-track { position: relative; width: 3px; height: 150px; margin: 12px 0 9px; overflow: hidden; border-radius: 3px; background: #e2d4bd; }
.rail-track i { position: absolute; inset: 0 0 auto; display: block; height: 0; border-radius: 3px; background: #9a7138; transition: height .15s ease; }
#reading-percent { color: #6f5432; font: 700 9px var(--mono); }
.rail-session { position: absolute; right: 52px; top: 0; width: max-content; max-width: 170px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 5px; background: #fffaf1; color: #735a38; font: 10px var(--sans); opacity: 0; pointer-events: none; transition: opacity .15s ease; }
.reader-rail:hover .rail-session, .reader-rail:focus-within .rail-session { opacity: 1; }
.replay-player { background: #3e3124; border-color: #bda37c; box-shadow: 0 12px 30px rgba(93,67,33,.1); }
.replay-player video { background: #3e3124; }
.replay-source { border-color: #d0bb96; color: #765329; background: #f4ead5; }
.results-note { color: #796b5a; }
footer { border-top-color: var(--line); color: #816f58; background: #f6efdf; }
:focus-visible { outline-color: #9a7138; }
@media (max-width: 1100px) { .reader-rail { right: 10px; } }
@media (max-width: 700px) { .reader-rail { right: 8px; top: 92px; transform: scale(.88); transform-origin: top right; } .quick-links { justify-content: flex-start; } .score-chart { padding-inline: 16px; } .chart-heading { display: block; } .chart-heading p { margin-top: 5px; } .score-row { grid-template-columns: 1fr; gap: 8px; } }
.zh-document { padding: 100px 0 120px; }
.zh-document h1 { margin: 12px 0 24px; color: #443321; font: 650 clamp(34px, 5vw, 54px)/1.2 var(--serif); letter-spacing: -.035em; }
.zh-document h2 { margin: 58px 0 16px; color: #443321; font: 650 28px/1.3 var(--serif); }
.zh-lead { color: #5f503d; font-size: 20px; line-height: 1.9; }
.zh-callout { margin: 34px 0; padding: 24px 26px; border-left: 4px solid #9a7138; background: #f3e7d1; color: #5b4832; }
.zh-callout p { margin: 8px 0 0; }
.zh-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 28px; border: 1px solid var(--line); background: var(--line); }
.zh-grid article { padding: 23px; background: #fffaf1; }
.zh-grid span { color: #987141; font: 700 11px var(--mono); }
.zh-grid h3 { margin: 20px 0 6px; color: #493624; font: 650 17px var(--sans); }
.zh-grid p { margin: 0; color: var(--muted); font-size: 14px; }
.zh-back { margin-top: 60px; color: #6c4c27; font: 650 13px var(--sans); }
@media (max-width:700px) { .zh-document { padding-top: 64px; } .zh-grid { grid-template-columns: 1fr; } }
.score-bars { padding: 2px 0; border-radius: 2px; background: repeating-linear-gradient(90deg, #f3ead9 0, #f3ead9 calc(20% - 1px), #e5d7be calc(20% - 1px), #e5d7be 20%); }
.score-bars span::before { display: none; }
/* Refinements: supplied framework, larger editorial type, and a calmer floating session panel */
.wordmark-mark { overflow: hidden; border-color: #9c7b4b; background: rgba(255,250,241,.7); }
.wordmark-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.authors { display: grid; gap: 4px; margin-bottom: 18px; font-size: 17px; }
.author-line { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 18px; }
.hero h1 { font-size: clamp(56px, 7.5vw, 92px); letter-spacing: -.045em; }
.hero-background { opacity: .72; }
.hero::after { background: linear-gradient(180deg, rgba(244,235,218,.18), rgba(65,47,27,.38)); }
.hero-content { padding-block: 40px; }
.hero .dek { font-size: clamp(18px, 2vw, 23px); }
.hero-actions .button { min-height: 44px; padding-inline: 19px; font-size: 13px; }
.system-architecture-figure { padding: 10px; }
.system-architecture-figure img { max-height: 660px; object-fit: contain; }
.reader-rail { width: 188px; padding: 14px 16px 16px; border-radius: 15px; align-items: stretch; background: rgba(255,250,241,.78); box-shadow: 0 12px 34px rgba(93,67,33,.14); }
.rail-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.rail-label { writing-mode: initial; color: #80603a; font-size: 9px; letter-spacing: .14em; }
.rail-track { width: 100%; height: 5px; margin: 12px 0 14px; }
.rail-track i { width: 0; height: 100%; }
#reading-percent { font-size: 11px; color: #624825; }
.rail-session-card { display: grid; gap: 4px; padding: 11px 12px; border: 1px solid rgba(186,157,111,.55); border-radius: 9px; background: rgba(255,252,246,.55); }
.rail-card-kicker { color: #947047; font: 700 8px var(--mono); letter-spacing: .12em; }
.rail-session-card strong { color: #493523; font: 650 18px/1.25 var(--serif); }
.rail-session-card span:last-child { color: #89745a; font: 10px var(--sans); }
.method-head { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.method-logo { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #e7d4b1; color: #674a29; font: 700 10px var(--sans); font-style: normal; letter-spacing: -.05em; }
.primary-result .method-logo { background: #a9844f; color: #fff8eb; }
.direct-result .method-logo { background: #7f9079; color: #fffaf0; }
.benchmark-table thead th { white-space: normal; }
.score-bars span.hybrid { order: 3; }
.score-bars span.policy { order: 1; }
.score-bars span.direct { order: 2; }
.score-chart { background: rgba(255,250,241,.74); backdrop-filter: blur(9px); }
.section-nav, .quick-links, .result-summary article, .benchmark-table-wrap, .replay-row { background-color: rgba(255,250,241,.72); backdrop-filter: blur(8px); }
@media (max-width: 700px) {
  .hero h1 { font-size: clamp(44px, 12vw, 62px); }
  .authors { font-size: 14px; }
  .author-line { gap: 2px 10px; }
  .reader-rail { width: 174px; right: 8px; top: 76px; transform: none; }
  .system-architecture-figure img { max-height: none; }
}
.chart-legend i.method-logo { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; font: 700 9px var(--sans); font-style: normal; }
.chart-legend i.method-logo.policy { background: #cbb693; color: #5b452c; }
.chart-legend i.method-logo.direct { background: #75866d; color: #fffaf0; }
.chart-legend i.method-logo.hybrid { background: #a98552; color: #fffaf0; }
/* Light surfaces and readable section hierarchy. */
:root { --paper:#fcfaf5; --line:#e8e1d5; --wash:#faf7f0; }
body { font-size:19px; }
.page-column { width:min(860px,calc(100% - 48px)); }
.section h2,.wide-section h2 { font-size:clamp(32px,3.5vw,46px); }
.section .lead { font-size:22px; line-height:1.8; }
.hero-background { opacity:1; }
.hero-strip img { filter:none; }
.hero::after { background:radial-gradient(ellipse at center,rgba(30,24,18,.58),rgba(30,24,18,.12) 75%); }
.hero-content { width:min(1020px,calc(100% - 40px)); }
.hero h1 { font-size:clamp(42px,7vw,88px); }
.wordmark-mark { width:40px; height:40px; border:0; background:transparent; }
.authors > .author-line { white-space:normal; }
.principles-grid,.limitations-grid { gap:18px; border:0; background:none; }
.principles-grid article,.limitations-grid article { border:1px solid var(--line); border-radius:16px; background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(251,246,234,.36)); box-shadow:0 8px 30px #4b382207; }
.principles-grid article > span { color:#9b805a; font-size:16px; }
.principles-grid h3 { font-size:22px; margin-top:20px; }
.principles-grid p,.limitations-grid p { font-size:17px; }
.architecture-section { background:linear-gradient(110deg,#f6f0e580,#ffffff90); }
.arch-lane,.arch-lane.focus { background:rgba(255,255,255,.65); border-color:#dfd4c3; border-radius:14px; padding:28px 24px; }
.arch-lane.focus { background:#f4ebdb70; }
.arch-lane strong { font-size:20px; }
.arch-lane small { font-size:15px; }
.adapter-strip { background:none; border-color:var(--line); border-radius:10px; overflow:hidden; }
.adapter-strip span { background:#ffffff70; font-size:12px; }
.protocol { background:linear-gradient(120deg,#fff9,#f4eddf55); border-radius:18px; }
.protocol-node { border-radius:10px; background:#ffffffa6; padding:20px; }
.protocol-node strong { font-size:19px; }
.protocol-node small { font-size:14px; }
.protocol-node span,.protocol-return { color:#817365; }
.spec-row strong { color:#695239; font-size:32px; }
.metric-card { background:#ffffff80; border-radius:12px; }
.metric-card strong { font-size:20px; color:#4c4031; }
.metric-card p { font-size:16px; }
.score-chart { padding-right:55px; }
.score-row > strong { font-size:15px; }
.score-bars { background:repeating-linear-gradient(90deg,#f8f5ef 0,#f8f5ef calc(20% - 1px),#e9e3d8 calc(20% - 1px),#e9e3d8 20%); }
.score-bars b { font-size:12px; }
.brand-icon { display:inline-block; width:26px; height:26px; object-fit:contain; vertical-align:middle; flex-shrink:0; }
.chart-legend { font-size:13px; }
.method-head { flex-wrap:wrap; font-size:12px; }
.reader-rail { top:100px; right:18px; width:184px; background:rgba(255,253,248,.82); backdrop-filter:blur(18px); }
.rail-toggle { display:flex; justify-content:space-between; border:0; padding:12px 0 6px; background:none; color:#655844; font:600 12px var(--sans); cursor:pointer; }
#reader-sections { display:grid; gap:3px; padding-top:7px; }
#reader-sections a { padding:7px 9px; font:12px var(--sans); text-decoration:none; border-radius:6px; color:#796b5a; }
#reader-sections a[aria-current],#reader-sections a:hover { background:#ebdfca80; color:#493523; }
@media(min-width:1501px) and (max-width:1750px) { main,footer { margin-right:195px; } }
@media(max-width:1500px) { .reader-rail { top:auto; bottom:18px; right:18px; max-height:70vh; overflow:auto; } }
@media(max-width:700px) { body { font-size:17px; } .section .lead { font-size:19px; } .reader-rail { width:162px; bottom:10px; right:10px; padding:10px; } .rail-session-card { padding:7px; } .rail-session-card strong { font-size:15px; } .rail-card-kicker,#rail-detail { display:none; } .hero h1 { font-size:clamp(34px,8.8vw,62px); } .hero-content { padding-block:16px; } .hero .dek { font-size:19px; } .score-chart { padding-right:42px; } .score-row > strong { font-size:14px; } }
.chart-legend img.brand-icon { width:22px; height:22px; }
.chart-legend span { padding:4px 8px 4px 4px; border:1px solid #e5d9c7; border-radius:20px; background:#fffaf180; }
.status-pill { display:inline-flex; align-items:center; gap:7px; margin-top:16px; padding:6px 11px; border:1px solid rgba(255,248,231,.5); border-radius:999px; background:rgba(255,250,241,.16); color:#fffaf0; font:600 11px var(--sans); letter-spacing:.04em; }
.status-pill i { width:7px; height:7px; border-radius:50%; background:#9eaf76; box-shadow:0 0 0 4px rgba(158,175,118,.18); }
.language-link { font-weight:700; }

/* Technical-report results */
.report-figure { margin: 36px 0 44px; padding: 18px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.report-figure img { display: block; width: 100%; height: auto; }
.report-figure figcaption, .system-architecture-figure figcaption a { color: var(--blue-dark); }
.report-figure figcaption { margin-top: 14px; font: 12px/1.6 var(--sans); }
.paired-table { min-width: 670px; }
.paired-table th, .paired-table td { font-variant-numeric: tabular-nums; }
.paired-table thead th { white-space: nowrap; }
.insight-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 22px 0 36px; }
.insight-grid article { padding: 23px; border: 1px solid var(--line); border-radius: 8px; background: var(--wash); }
.insight-grid article > span, .cost-panel span { color: var(--blue-dark); font: 750 10px/1.4 var(--sans); letter-spacing: .1em; }
.insight-grid h4 { margin: 12px 0 8px; color: #1a355b; font: 700 17px/1.35 var(--sans); }
.insight-grid p { margin: 0; color: var(--muted); font: 13px/1.65 var(--sans); }
.cost-panel { display: grid; grid-template-columns: 1.8fr 1fr; gap: 30px; margin: 36px 0 18px; padding: 28px; border-radius: 10px; background: #10233c; color: #dbe7f4; }
.cost-panel h3 { margin: 10px 0; color: #fff; font: 700 22px/1.3 var(--sans); }
.cost-panel p { margin: 0; font: 13px/1.7 var(--sans); }
.cost-panel span { color: #9bbcff; }
.cost-numbers { display: grid; align-content: center; gap: 14px; }
.cost-numbers strong { display: block; color: #fff; font: 650 30px/1.1 var(--serif); }
.cost-numbers small { display: block; margin-top: 3px; color: #9fb4cd; font: 11px/1.4 var(--sans); }
.results-note a { color: var(--blue-dark); }
.study-divider { margin: 74px 0 25px; padding-top: 27px; border-top: 2px solid var(--line); }
.study-divider > span { display: block; color: #88653a; font: 750 11px/1.5 var(--sans); letter-spacing: .13em; text-transform: uppercase; }
.study-divider h3 { margin: 9px 0 12px; color: var(--ink); font: 650 clamp(27px, 3vw, 39px)/1.17 var(--serif); }
.study-divider p { max-width: 880px; margin: 0; color: var(--muted); font: 16px/1.7 var(--sans); }
.latest-summary { margin: 27px 0 37px; }
.tri-table, .cadence-table { min-width: 690px; font-variant-numeric: tabular-nums; }
.tri-table td, .cadence-table td { white-space: nowrap; }
.tri-table td small, .cadence-table td small { color: var(--muted); font-size: .82em; }
.trace-figure { margin: 33px 0 45px; padding: 15px; border: 1px solid var(--line); border-radius: 9px; background: var(--wash); }
.trace-figure > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.trace-figure img { display: block; width: 100%; height: auto; border-radius: 4px; }
.trace-figure figcaption { margin: 13px 5px 2px; color: var(--muted); font: 13px/1.6 var(--sans); }
@media (max-width: 700px) { .insight-grid, .cost-panel { grid-template-columns: 1fr; } .report-figure { padding: 8px; } }
@media (max-width: 700px) { .study-divider { margin-top: 52px; } .trace-figure > div { grid-template-columns: 1fr; } }

/* Keep the fixed reading rail outside the article on wide screens. */
@media (min-width: 1501px) {
  main, footer { margin-right: 224px; }
}
@media (max-width: 1500px) {
  .reader-rail { display: none; }
}
