:root {
    color-scheme: dark;
    --font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    --bg: #0b121b;
    --bg-elevated: #101b28;
    --bg-soft: #142232;
    --surface: rgba(18, 31, 45, .92);
    --surface-strong: #17283a;
    --text: #f3f7fb;
    --text-soft: #c4d0dc;
    --muted: #93a5b7;
    --line: #31475c;
    --line-strong: #55718a;
    --accent: #63dfcf;
    --accent-strong: #91f3e7;
    --accent-ink: #062b29;
    --indigo: #aab9ff;
    --indigo-soft: #252d52;
    --amber: #ffd98c;
    --rose: #ffb2c5;
    --danger: #ffb4ab;
    --focus: #fff2a8;
    --shadow: 0 22px 60px rgba(0, 0, 0, .28);
    --shell: 1180px;
    --content: 760px;
    --radius: 12px;
    --space-section: clamp(3.5rem, 8vw, 7rem);
}

html[data-theme="light"] {
    color-scheme: light;
    --bg: #f5f7fa;
    --bg-elevated: #ffffff;
    --bg-soft: #edf2f6;
    --surface: rgba(255, 255, 255, .96);
    --surface-strong: #ffffff;
    --text: #172330;
    --text-soft: #35485a;
    --muted: #5c7082;
    --line: #b9c6d1;
    --line-strong: #70879a;
    --accent: #006f68;
    --accent-strong: #004e49;
    --accent-ink: #ffffff;
    --indigo: #4d5eb3;
    --indigo-soft: #e8ebff;
    --amber: #765100;
    --rose: #8a3150;
    --danger: #8d251f;
    --focus: #4b3600;
    --shadow: 0 18px 42px rgba(28, 45, 62, .14);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; text-size-adjust: 100%; }
body {
    margin: 0;
    min-width: 320px;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--indigo) 10%, transparent), transparent 28rem),
        radial-gradient(circle at 88% 20%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 24rem),
        var(--bg);
    color: var(--text);
    font-family: var(--font-sans);
    font-size: 1rem;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}
img, picture, svg { display: block; max-width: 100%; }
img { height: auto; }
button, input, select, textarea { font: inherit; }
button, summary, select { cursor: pointer; }
button { color: inherit; }
p, ul, ol, dl, blockquote { margin-block: 0 1rem; }
ul, ol { padding-inline-start: 1.35rem; }
li + li { margin-top: .45rem; }
h1, h2, h3, h4 {
    margin: 0 0 .7rem;
    color: var(--text);
    font-weight: 760;
    letter-spacing: -.025em;
    line-height: 1.12;
    text-wrap: balance;
}
h1 { font-size: clamp(2.4rem, 6vw, 5.25rem); max-width: 16ch; }
h2 { font-size: clamp(1.65rem, 3.2vw, 2.65rem); }
h3 { font-size: clamp(1.15rem, 2vw, 1.45rem); }
a { color: var(--accent-strong); text-decoration-thickness: .09em; text-underline-offset: .18em; }
a:hover { text-decoration-thickness: .16em; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 4px;
    border-radius: 3px;
}
::selection { background: var(--accent); color: var(--accent-ink); }
mark { border-radius: .15rem; background: var(--focus); color: #1c210e; padding-inline: .12em; }
[hidden] { display: none !important; }

.shell { width: min(calc(100% - 2.5rem), var(--shell)); margin-inline: auto; }
.section { padding-block: var(--space-section); }
.section-muted { border-block: 1px solid var(--line); background: color-mix(in srgb, var(--bg-soft) 70%, transparent); }
.section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 1.8rem;
}
.section-heading > p { max-width: 48ch; color: var(--text-soft); margin: 0; }
.compact-heading { align-items: center; margin-bottom: 1rem; }
.eyebrow, .record-type, .card-kicker, .footer-kicker, .result-type {
    margin: 0 0 .6rem;
    color: var(--accent-strong);
    font: 750 .76rem/1.25 var(--font-mono);
    letter-spacing: .09em;
    text-transform: uppercase;
}
.page-lede, .hero-lede, .record-summary, .section-lead {
    max-width: 68ch;
    color: var(--text-soft);
    font-size: clamp(1.08rem, 2vw, 1.3rem);
    line-height: 1.55;
}
.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.skip-link {
    position: fixed;
    z-index: 1000;
    top: .7rem;
    left: .7rem;
    transform: translateY(-180%);
    padding: .75rem 1rem;
    border: 2px solid var(--focus);
    border-radius: .4rem;
    background: var(--bg-elevated);
    color: var(--text);
    font-weight: 800;
}
.skip-link:focus { transform: none; }

.button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .72rem 1rem;
    border: 1px solid transparent;
    border-radius: .45rem;
    font-weight: 760;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.button:hover { transform: translateY(-1px); }
.button-primary { border-color: var(--accent); background: var(--accent); color: var(--accent-ink); }
.button-primary:hover { background: var(--accent-strong); }
.button-secondary { border-color: var(--line-strong); background: var(--bg-elevated); color: var(--text); }
.button-secondary:hover, .button-quiet:hover { border-color: var(--accent); background: var(--bg-soft); }
.button-quiet { border-color: var(--line); background: transparent; color: var(--text-soft); }
.text-link, .card-action, .row-action { font-weight: 750; }
.inline-actions, .hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }

.content-label {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    gap: .48rem;
    padding: .38rem .55rem;
    border: 1px solid var(--line-strong);
    border-radius: .32rem;
    background: var(--bg-elevated);
    color: var(--text-soft);
    font: 760 .69rem/1.25 var(--font-mono);
    letter-spacing: .055em;
    text-transform: uppercase;
}
.content-label-symbol { width: .52rem; height: .52rem; flex: 0 0 .52rem; border: 1px solid currentColor; border-radius: 50%; background: currentColor; }
.content-label-text { overflow-wrap: anywhere; }
.label-real { color: #89f0dc; border-color: #3c8f83; }
.label-interpretive { color: #c9d1ff; border-color: #6979c8; }
.label-historical, .label-declassified { color: #f8d690; border-color: #9b7938; }
.label-program { color: #9ed8ff; border-color: #4c82a8; }
.label-disputed, .label-clinical { color: #ffc1ce; border-color: #a25569; }
.label-simulation, .label-fictional-org, .label-fictional-op, .label-application, .label-mechanic, .label-prototype, .label-character { color: #d9c2ff; border-color: #7d5daa; }
html[data-theme="light"] .label-real { color: #00695e; }
html[data-theme="light"] .label-interpretive { color: #34459a; }
html[data-theme="light"] .label-historical, html[data-theme="light"] .label-declassified { color: #714b00; }
html[data-theme="light"] .label-program { color: #005d83; }
html[data-theme="light"] .label-disputed, html[data-theme="light"] .label-clinical { color: #8c2944; }
html[data-theme="light"] .label-simulation, html[data-theme="light"] .label-fictional-org, html[data-theme="light"] .label-fictional-op, html[data-theme="light"] .label-application, html[data-theme="light"] .label-mechanic, html[data-theme="light"] .label-prototype, html[data-theme="light"] .label-character { color: #63408d; }

.boundary-band { border-bottom: 1px solid var(--line); background: #192332; color: #eef5fb; }
html[data-theme="light"] .boundary-band { background: #26364a; color: #fff; }
.boundary-band-inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .9rem 1.4rem;
    min-height: 42px;
    padding-block: .45rem;
    font-size: .82rem;
}
.boundary-band strong { color: #a9f5e8; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: .06em; }
.boundary-band span { color: #d6e0e9; }
.boundary-band a { color: #fff; white-space: nowrap; }
.site-header { position: relative; z-index: 30; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--bg) 94%, transparent); backdrop-filter: blur(14px); }
.header-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.4rem; min-height: 76px; }
.brand { display: inline-flex; align-items: center; gap: .75rem; color: var(--text); text-decoration: none; }
.brand-mark { position: relative; width: 40px; height: 40px; flex: 0 0 40px; border: 1px solid var(--accent); border-radius: 10px; background: color-mix(in srgb, var(--accent) 7%, transparent); }
.brand-mark span { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.brand-mark span:nth-child(1) { top: 9px; left: 9px; }
.brand-mark span:nth-child(2) { top: 14px; right: 8px; }
.brand-mark span:nth-child(3) { bottom: 8px; left: 16px; }
.brand-mark i { position: absolute; height: 1px; width: 18px; transform-origin: left; background: var(--accent); }
.brand-mark i:nth-of-type(1) { top: 12px; left: 13px; transform: rotate(15deg); }
.brand-mark i:nth-of-type(2) { top: 16px; left: 23px; transform: rotate(122deg); }
.brand-copy { display: grid; line-height: 1.15; }
.brand-copy strong { font-size: 1.08rem; letter-spacing: -.02em; }
.brand-copy small { margin-top: .22rem; color: var(--muted); font-size: .73rem; }
.primary-nav { display: flex; align-items: center; justify-content: center; gap: .15rem; min-width: 0; }
.primary-nav > a, .nav-more > summary {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    padding: .55rem .62rem;
    border-radius: .35rem;
    color: var(--text-soft);
    font-size: .88rem;
    font-weight: 700;
    text-decoration: none;
}
.primary-nav > a:hover, .nav-more > summary:hover { background: var(--bg-soft); color: var(--text); }
.primary-nav [aria-current="page"] { background: var(--indigo-soft); color: var(--text); }
.nav-more { position: relative; }
.nav-more summary { list-style: none; }
.nav-more summary::-webkit-details-marker { display: none; }
.nav-more summary::after { content: "⌄"; margin-left: .35rem; }
.nav-more-menu {
    position: absolute;
    top: calc(100% + .55rem);
    right: 0;
    width: 250px;
    padding: .5rem;
    border: 1px solid var(--line);
    border-radius: .65rem;
    background: var(--bg-elevated);
    box-shadow: var(--shadow);
}
.nav-more-menu a { display: block; min-height: 42px; padding: .65rem .75rem; border-radius: .35rem; color: var(--text-soft); text-decoration: none; }
.nav-more-menu a:hover { background: var(--bg-soft); color: var(--text); }
.header-tools { display: flex; gap: .45rem; align-items: center; }
.header-search { display: grid; grid-template-columns: minmax(120px, 170px) 40px; }
.header-search input { min-width: 0; height: 42px; border: 1px solid var(--line); border-right: 0; border-radius: .4rem 0 0 .4rem; background: var(--bg-elevated); color: var(--text); padding: .55rem .7rem; }
.header-search button, .theme-toggle, .nav-toggle { min-width: 42px; min-height: 42px; border: 1px solid var(--line); background: var(--bg-elevated); color: var(--text); }
.header-search button { border-radius: 0 .4rem .4rem 0; }
.theme-toggle { border-radius: .4rem; }
.nav-toggle { display: none; padding: .55rem; border-radius: .4rem; }
.nav-toggle > span[aria-hidden="true"] { display: block; width: 22px; height: 2px; margin: 4px auto; background: currentColor; }
.no-script-navigation-note { padding-bottom: .55rem; color: var(--muted); font-size: .8rem; }

.boundary-dialog {
    width: min(calc(100% - 2rem), 660px);
    max-height: min(90vh, 760px);
    overflow: auto;
    padding: clamp(1.3rem, 4vw, 2.2rem);
    border: 1px solid var(--line-strong);
    border-radius: var(--radius);
    background: var(--bg-elevated);
    color: var(--text);
    box-shadow: 0 32px 100px rgba(0,0,0,.58);
}
.boundary-dialog::backdrop { background: rgba(2, 7, 12, .76); backdrop-filter: blur(5px); }
.dialog-accent { width: 70px; height: 5px; margin-bottom: 1.3rem; border-radius: 999px; background: linear-gradient(90deg, var(--accent), var(--indigo)); }
.boundary-dialog h2 { max-width: 18ch; }
.dialog-boundary-lines { display: grid; gap: .3rem; margin: 1.1rem 0; padding: 1rem; border: 1px solid var(--line); border-left: 4px solid var(--accent); background: var(--bg-soft); font: 750 .78rem/1.45 var(--font-mono); }
.boundary-dialog-copy p { color: var(--text-soft); }
.dialog-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; margin-top: 1.25rem; }
.dialog-note { margin: 1rem 0 0; color: var(--muted); font-size: .84rem; }

.breadcrumbs { display: flex; flex-wrap: wrap; gap: .35rem; padding: 0; margin: 0 0 1.2rem; list-style: none; color: var(--muted); font-size: .82rem; }
.breadcrumbs li + li::before { content: "/"; margin-right: .35rem; color: var(--line-strong); }
.page-hero { padding-block: clamp(2.7rem, 6vw, 5.5rem); border-bottom: 1px solid var(--line); background: linear-gradient(135deg, color-mix(in srgb, var(--bg-soft) 86%, transparent), transparent); }
.page-hero.compact { padding-block: clamp(2.2rem, 5vw, 4rem); }
.page-hero h1 { max-width: 18ch; }
.page-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, 330px); align-items: end; gap: 2rem; }
.collection-summary { padding: 1.25rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.collection-summary strong { display: block; color: var(--accent-strong); font-size: 2.4rem; line-height: 1; }
.collection-summary span { display: block; margin-top: .3rem; font-weight: 760; }
.collection-summary p { margin: .65rem 0 0; color: var(--muted); font-size: .88rem; }

.hero { padding-block: clamp(3.5rem, 9vw, 8rem); }
.hero-layout { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(330px, .78fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.hero-copy h1 { max-width: 13ch; }
.hero-actions { margin-block: 1.7rem 1.15rem; }
.hero-assurances { display: flex; flex-wrap: wrap; gap: .55rem 1.2rem; padding: 0; list-style: none; color: var(--muted); font-size: .88rem; }
.hero-assurances li { margin: 0; }
.hero-assurances li::before { content: "✓"; margin-right: .4rem; color: var(--accent); font-weight: 900; }
.start-panel { padding: clamp(1.2rem, 3vw, 1.8rem); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.start-path { display: grid; grid-template-columns: 2.2rem 1fr; column-gap: .75rem; padding: .9rem 0; border-top: 1px solid var(--line); color: var(--text); text-decoration: none; }
.start-path:first-of-type { margin-top: .5rem; }
.start-path span { grid-row: 1 / 3; color: var(--accent); font: 760 .8rem var(--font-mono); }
.start-path strong { line-height: 1.3; }
.start-path small { margin-top: .18rem; color: var(--muted); line-height: 1.4; }
.start-path:hover strong { color: var(--accent-strong); text-decoration: underline; text-underline-offset: .18em; }
.library-overview { padding-block: 2.5rem; border-block: 1px solid var(--line); background: var(--bg-soft); }
.overview-grid { display: grid; grid-template-columns: minmax(240px, .68fr) minmax(0, 1.32fr); gap: 2rem; align-items: center; }
.overview-grid > div:first-child p:last-child { color: var(--text-soft); }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; }
.metric-card { min-width: 0; padding: .85rem; border: 1px solid var(--line); border-radius: .55rem; background: var(--bg-elevated); }
.metric-card strong { display: block; color: var(--accent-strong); font-size: 1.85rem; line-height: 1; }
.metric-card span { display: block; margin-top: .45rem; color: var(--text-soft); font-size: .78rem; overflow-wrap: anywhere; }
.feature-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 1rem; }
.feature-card, .record-card, .search-result {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 1.25rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
}
.feature-card-large { padding: clamp(1.35rem, 3vw, 2rem); }
.feature-card h3, .record-card h2, .search-result h3 { margin-top: .75rem; overflow-wrap: anywhere; }
.feature-card h3 a, .record-card h2 a, .search-result h3 a { color: var(--text); }
.feature-card > p:not(.card-kicker), .record-card > p, .search-result > p { color: var(--text-soft); }
.feature-subtitle { color: var(--indigo) !important; font-weight: 700; }
.card-action { margin-top: auto; padding-top: .8rem; }
.two-column-feature { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; padding: 1px; background: var(--line); border-radius: var(--radius); overflow: hidden; }
.two-column-feature > div { padding: clamp(1.4rem, 4vw, 2.5rem); background: var(--bg-elevated); }
.trust-panel { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(1.5rem, 5vw, 4rem); padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.trust-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.trust-links a { display: grid; gap: .3rem; min-height: 120px; padding: 1rem; border: 1px solid var(--line); border-radius: .55rem; background: var(--bg-elevated); color: var(--text); text-decoration: none; }
.trust-links a:hover { border-color: var(--accent); }
.trust-links span { color: var(--muted); font-size: .88rem; }

.collection-section { padding-block: var(--space-section); }
.collection-toolbar, .glossary-toolbar, .search-filters {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) minmax(170px, .7fr) auto auto;
    gap: .8rem;
    align-items: end;
    margin-bottom: 1.4rem;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
}
.filter-field { display: grid; gap: .35rem; min-width: 0; color: var(--text-soft); font-size: .84rem; font-weight: 700; }
.filter-field input, .filter-field select, .search-filters select, .search-input-wrap input {
    width: 100%;
    min-height: 44px;
    min-width: 0;
    border: 1px solid var(--line-strong);
    border-radius: .42rem;
    background: var(--bg-elevated);
    color: var(--text);
    padding: .65rem .75rem;
}
.filter-status, .search-status { align-self: center; margin: 0; color: var(--muted); font-size: .84rem; }
.collection-toolbar { grid-template-columns: minmax(230px, 1.35fr) repeat(3, minmax(145px, .62fr)) auto; }
.collection-toolbar .filter-status { grid-column: 1 / -1; }
.collection-toolbar .filter-clear { white-space: nowrap; }
.record-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.record-card h2 { font-size: 1.3rem; }
.record-card .content-label { align-self: flex-start; }
.empty-state { padding: clamp(1.3rem, 4vw, 2.2rem); border: 1px dashed var(--line-strong); border-radius: var(--radius); background: var(--bg-soft); }

.glossary-section { padding-block: var(--space-section); }
.glossary-toolbar { grid-template-columns: minmax(260px, 1fr) minmax(210px, .5fr) auto auto; }
.alphabet-nav { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: 2rem; }
.alphabet-nav a { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: .35rem; color: var(--text); text-decoration: none; }
.alphabet-nav a:hover { border-color: var(--accent); background: var(--bg-soft); }
.glossary-groups { display: grid; gap: 2.8rem; }
.glossary-group { scroll-margin-top: 1rem; }
.glossary-group > h2 { padding-bottom: .5rem; border-bottom: 2px solid var(--accent); font-family: var(--font-mono); }
.glossary-row { display: grid; grid-template-columns: minmax(180px, .75fr) minmax(0, 1.5fr) minmax(190px, .65fr); gap: 1.2rem; align-items: start; padding: 1.1rem 0; border-bottom: 1px solid var(--line); }
.glossary-row h3 { margin: 0; }
.glossary-row > p { color: var(--text-soft); }
.glossary-row > div:last-child { display: flex; flex-direction: column; gap: .7rem; align-items: flex-start; }
.glossary-aliases { margin: .35rem 0 0; color: var(--muted); font-size: .82rem; }

.record-hero { padding-block: clamp(2.8rem, 7vw, 6rem); border-bottom: 1px solid var(--line); background: linear-gradient(135deg, var(--bg-soft), transparent); }
.record-heading-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: clamp(2rem, 5vw, 4rem); align-items: end; }
.record-heading-copy .content-label { margin-bottom: .9rem; }
.record-heading-copy h1 { max-width: 18ch; }
.record-type { color: var(--muted); }
.record-facts { display: grid; margin: 0; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--surface); }
.record-facts div { display: grid; grid-template-columns: minmax(110px, .7fr) minmax(0, 1.3fr); gap: .8rem; padding: .75rem .9rem; border-bottom: 1px solid var(--line); }
.record-facts div:last-child { border-bottom: 0; }
.record-facts dt { color: var(--muted); font: 720 .72rem var(--font-mono); text-transform: uppercase; letter-spacing: .06em; }
.record-facts dd { margin: 0; color: var(--text-soft); overflow-wrap: anywhere; }
.record-layout { display: grid; grid-template-columns: minmax(210px, 270px) minmax(0, var(--content)); gap: clamp(2rem, 6vw, 5rem); justify-content: center; padding-block: clamp(2.5rem, 7vw, 6rem); }
.record-sidebar { min-width: 0; }
.record-toc { position: sticky; top: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.record-toc h2 { font-size: 1rem; }
.record-toc ol { margin: 0; padding-left: 1.2rem; }
.record-toc a { color: var(--text-soft); font-size: .86rem; }
.sidebar-context { margin-top: 1rem; padding: 1rem; border-left: 3px solid var(--accent); background: var(--bg-soft); color: var(--text-soft); font-size: .84rem; }
.sidebar-context strong { display: block; margin-bottom: .45rem; color: var(--text); font: 720 .72rem var(--font-mono); }
.record-content { min-width: 0; }
.record-section { padding-block: 0 2.4rem; margin-bottom: 2.4rem; border-bottom: 1px solid var(--line); scroll-margin-top: 1rem; }
.record-section > h2 { margin-bottom: 1rem; }
.record-section p, .record-section li { color: var(--text-soft); }
.record-notice { padding: 1rem 1.15rem; border: 1px solid var(--line-strong); border-left: 4px solid var(--amber); border-radius: .4rem; background: var(--bg-soft); }
.record-notice p { margin: 0; color: var(--text); }
.definition-list { display: grid; gap: 1px; margin: 0; border: 1px solid var(--line); border-radius: .55rem; overflow: hidden; background: var(--line); }
.definition-list div { display: grid; grid-template-columns: minmax(150px, .7fr) minmax(0, 1.3fr); gap: 1rem; padding: .85rem 1rem; background: var(--bg-elevated); }
.definition-list dt { color: var(--muted); font: 720 .74rem var(--font-mono); text-transform: uppercase; }
.definition-list dd { margin: 0; overflow-wrap: anywhere; }
.content-stack { display: grid; gap: .8rem; }
.content-stack > article, .content-stack > section, .callout-grid article, .lesson-columns article { padding: 1rem; border: 1px solid var(--line); border-radius: .55rem; background: var(--surface); }
.content-stack h3, .callout-grid h3, .lesson-columns h3 { font-size: 1rem; }
.content-stack p, .callout-grid p { margin: 0; }
.callout-grid, .lesson-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.term-list { display: flex; flex-wrap: wrap; gap: .55rem; padding: 0; list-style: none; }
.term-list li { margin: 0; }
.term-list a, .term-list span { display: inline-flex; min-height: 36px; align-items: center; padding: .38rem .65rem; border: 1px solid var(--line); border-radius: 999px; background: var(--bg-soft); color: var(--text-soft); text-decoration: none; }
.term-list a:hover { border-color: var(--accent); color: var(--text); }
.paragraph-stack p { margin-bottom: 1rem; }
.learning-steps { display: grid; gap: .8rem; padding: 0; list-style: none; counter-reset: none; }
.learning-steps li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 1rem; margin: 0; padding: 1rem; border: 1px solid var(--line); border-radius: .55rem; background: var(--surface); }
.step-number { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid var(--accent); border-radius: 50%; color: var(--accent-strong); font: 760 .8rem var(--font-mono); }
.learning-steps h3 { margin-top: .1rem; }
.knowledge-checks { display: grid; gap: .75rem; }
.knowledge-checks details { border: 1px solid var(--line); border-radius: .55rem; background: var(--surface); }
.knowledge-checks summary { min-height: 48px; padding: .85rem 1rem; font-weight: 720; }
.knowledge-checks summary span { color: var(--accent-strong); }
.knowledge-checks details > div { padding: 0 1rem 1rem; color: var(--text-soft); }
.source-basis, .fiction-transition, .external-handoff, .local-completion { margin: 2.5rem 0; padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); scroll-margin-top: 1rem; }
.source-basis { border-left: 4px solid var(--accent); }
.fiction-transition { border-left: 4px solid #a981e7; background: color-mix(in srgb, var(--indigo-soft) 55%, var(--surface)); }
.transition-marker { margin: .8rem 0 1.2rem; color: var(--muted); font: 720 .7rem var(--font-mono); text-transform: uppercase; letter-spacing: .06em; }
.fiction-guardrail { margin: 1rem 0; padding: .85rem; border: 1px dashed var(--line-strong); color: var(--text-soft); }
.external-handoff { border-left: 4px solid var(--indigo); }
.local-completion { border-left: 4px solid var(--amber); }
.record-pagination { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-top: 3rem; }
.record-pagination a { display: flex; min-height: 100px; flex-direction: column; justify-content: center; padding: 1rem; border: 1px solid var(--line); border-radius: .55rem; background: var(--surface); color: var(--text); text-decoration: none; }
.record-pagination a:hover { border-color: var(--accent); }
.record-pagination a span { color: var(--muted); font: 720 .7rem var(--font-mono); text-transform: uppercase; }
.record-pagination-next { text-align: right; }

.search-workspace { padding-block: clamp(2rem, 6vw, 5rem); }
.search-panel { padding: clamp(1rem, 3vw, 1.4rem); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.search-input-row > label { display: block; margin-bottom: .45rem; font-weight: 760; }
.search-input-wrap { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; }
.search-icon { position: absolute; left: .85rem; z-index: 1; color: var(--muted); }
.search-input-wrap input { padding-left: 2.45rem; padding-right: 2.6rem; font-size: 1.05rem; }
.search-clear { position: absolute; right: .45rem; width: 36px; height: 36px; border: 0; border-radius: .35rem; background: transparent; color: var(--text); }
.field-help { margin: .45rem 0 0; color: var(--muted); font-size: .84rem; }
.search-filters { grid-template-columns: repeat(2, minmax(170px, 1fr)) auto; margin: 1rem 0 0; padding: 0; border: 0; background: transparent; }
.search-filters > div { display: grid; gap: .35rem; }
.search-filters label { color: var(--text-soft); font-size: .84rem; font-weight: 700; }
.search-status { margin-top: .8rem; }
.search-guidance { display: grid; grid-template-columns: 1.25fr .75fr; gap: 1rem; margin-top: 1rem; }
.search-guidance > section { padding: 1.2rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.suggestion-grid { display: flex; flex-wrap: wrap; gap: .55rem; }
.suggestion-grid button { min-height: 40px; padding: .48rem .65rem; border: 1px solid var(--line); border-radius: 999px; background: var(--bg-soft); color: var(--text); }
.suggestion-grid button:hover { border-color: var(--accent); }
.inline-link-list { display: grid; gap: .45rem; }
.search-results-region { margin-top: 2rem; }
.result-list { display: grid; gap: .8rem; }
.search-result-topline { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; }
.search-result h3 { font-size: 1.32rem; }
.result-meta { color: var(--muted) !important; font-size: .84rem; }
.search-empty { margin-top: 1rem; }
.noscript-search { margin-top: 1rem; padding: 1rem; border: 1px solid var(--line); background: var(--surface); }

.simple-page-hero { padding-block: clamp(2.4rem, 6vw, 5rem); border-block: 1px solid var(--line); background: var(--bg-soft); }
.simple-page-shell > .shell:first-child { padding-top: 2rem; }
.simple-page-hero-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(230px, .7fr); gap: 2rem; align-items: end; }
.simple-page-hero h1 { max-width: 18ch; margin-top: .7rem; }
.simple-page-meta { display: grid; margin: 0; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.simple-page-meta div { padding: .75rem .9rem; border-bottom: 1px solid var(--line); background: var(--surface); }
.simple-page-meta div:last-child { border-bottom: 0; }
.simple-page-meta dt { color: var(--muted); font: 720 .72rem var(--font-mono); text-transform: uppercase; }
.simple-page-meta dd { margin: .2rem 0 0; }
.simple-page-layout { display: grid; grid-template-columns: minmax(180px, 240px) minmax(0, var(--content)); gap: clamp(2rem, 6vw, 5rem); justify-content: center; padding-block: clamp(2rem, 6vw, 5rem); }
.simple-page-nav nav { position: sticky; top: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.simple-page-nav h2 { font-size: 1rem; }
.simple-page-nav a { color: var(--text-soft); font-size: .86rem; }
.back-to-top { display: inline-block; margin-top: 1.5rem; }

.partner-section { padding-block: clamp(3rem, 7vw, 5rem); border-top: 1px solid var(--line); background: var(--bg-soft); }
.partner-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.partner-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.partner-card-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; padding: .6rem .75rem; color: var(--muted); font: 700 .68rem var(--font-mono); text-transform: uppercase; }
.partner-card > a { display: block; color: var(--text); text-decoration: none; }
.partner-card picture { aspect-ratio: 3 / 1; overflow: hidden; background: var(--bg-elevated); }
.partner-card img { width: 100%; height: 100%; object-fit: cover; }
.partner-action { display: block; min-height: 46px; padding: .75rem; font-weight: 750; }
.partner-card > a:hover .partner-action { color: var(--accent-strong); text-decoration: underline; }
.site-footer { border-top: 1px solid var(--line); background: #080e15; color: #d7e0e8; }
html[data-theme="light"] .site-footer { background: #1a2734; color: #fff; }
.footer-boundary { display: grid; grid-template-columns: .8fr 1.2fr; gap: 2rem; padding-block: 2.3rem; border-bottom: 1px solid #34485a; }
.footer-boundary h2 { color: #fff; }
.footer-boundary > p { margin: 0; color: #dce7ef; font: 760 .78rem/1.6 var(--font-mono); }
.footer-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 3rem; padding-block: 2.5rem; }
.footer-grid h2 { color: #fff; font-size: 1rem; }
.footer-grid p { color: #c2cfda; }
.footer-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.footer-nav div { display: grid; align-content: start; gap: .4rem; }
.footer-nav a { color: #e7f1f8; font-size: .88rem; }
.footer-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .7rem 1.5rem; padding-block: 1rem 1.5rem; border-top: 1px solid #34485a; color: #aebdca; font-size: .76rem; }

/* WCAG 2.2 target-size reinforcement for compact navigation and support links. */
.boundary-band a,
.breadcrumbs a,
.record-toc a,
.simple-page-nav a,
.footer-grid a,
.source-basis a,
.record-notice a,
.sidebar-context a,
.back-to-top,
.text-link {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
}
.breadcrumbs li { display: inline-flex; min-height: 28px; align-items: center; }
.record-toc li,
.simple-page-nav li { margin-block: .1rem; }
.record-toc a,
.simple-page-nav a { padding-block: .16rem; }
.footer-nav a,
.footer-grid section > a { min-height: 32px; }

.error-page { max-width: 760px; padding-block: clamp(4rem, 12vw, 9rem); text-align: center; }
.error-code { margin: 0; color: color-mix(in srgb, var(--accent) 35%, transparent); font: 800 clamp(5rem, 20vw, 11rem)/.8 var(--font-mono); }
.error-page .content-label { margin-block: 1.5rem .7rem; }
.error-page h1 { margin-inline: auto; }
.error-page .page-lede { margin-inline: auto; }
.error-boundary { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem 1rem; margin: 1.4rem 0; padding: .8rem; border: 1px solid var(--line); background: var(--bg-soft); font: 720 .74rem var(--font-mono); }
.error-page .hero-actions { justify-content: center; }
.error-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 1rem; margin-top: 1.5rem; }

@media (max-width: 1100px) {
    .header-row { grid-template-columns: auto 1fr auto; }
    .js .nav-toggle { display: block; justify-self: end; }
    .primary-nav { grid-column: 1 / -1; order: 4; flex-wrap: wrap; justify-content: flex-start; padding-bottom: .65rem; }
    .js .primary-nav { display: none; position: absolute; top: 100%; left: 1.25rem; right: 1.25rem; z-index: 40; flex-direction: column; align-items: stretch; padding: .7rem; border: 1px solid var(--line); border-radius: .7rem; background: var(--bg-elevated); box-shadow: var(--shadow); }
    .js .primary-nav.is-open { display: flex; }
    .js .primary-nav > a, .js .nav-more > summary { width: 100%; justify-content: flex-start; }
    .js .nav-more { width: 100%; }
    .js .nav-more-menu { position: static; width: auto; margin-top: .35rem; box-shadow: none; }
    .header-tools { justify-self: end; }
    .hero-layout { grid-template-columns: 1fr; }
    .start-panel { max-width: 760px; }
    .overview-grid { grid-template-columns: 1fr; }
    .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .feature-card-large { grid-column: 1 / -1; }
    .record-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .record-heading-grid { grid-template-columns: 1fr; }
    .record-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .record-facts div { display: block; border-right: 1px solid var(--line); }
    .record-layout { grid-template-columns: minmax(180px, 230px) minmax(0, 1fr); }
    .collection-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .collection-toolbar .filter-field-search, .collection-toolbar .filter-status { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
    .shell { width: min(calc(100% - 1.5rem), var(--shell)); }
    .boundary-band-inner { grid-template-columns: 1fr; gap: .1rem; padding-block: .55rem; }
    .boundary-band-inner a { margin-top: .2rem; white-space: normal; }
    .header-row { grid-template-columns: minmax(0, 1fr) auto auto; gap: .55rem; min-height: 68px; }
    .brand-copy small { display: none; }
    .header-search { grid-template-columns: minmax(86px, 1fr) 40px; }
    .header-search input { width: 116px; }
    .page-hero-grid, .simple-page-hero-grid { grid-template-columns: 1fr; }
    h1 { font-size: clamp(2.25rem, 12vw, 4rem); }
    .section-heading { align-items: flex-start; flex-direction: column; gap: .5rem; }
    .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .feature-grid, .two-column-feature, .trust-panel, .trust-links, .partner-grid, .callout-grid, .lesson-columns, .search-guidance { grid-template-columns: 1fr; }
    .feature-card-large { grid-column: auto; }
    .collection-toolbar, .glossary-toolbar, .search-filters { grid-template-columns: 1fr; align-items: stretch; }
    .collection-toolbar .filter-field-search, .collection-toolbar .filter-status { grid-column: auto; }
    .record-card-grid { grid-template-columns: 1fr; }
    .glossary-row { grid-template-columns: 1fr; gap: .65rem; }
    .glossary-row > div:last-child { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; }
    .record-facts { grid-template-columns: 1fr; }
    .record-facts div { border-right: 0; }
    .record-layout, .simple-page-layout { grid-template-columns: 1fr; padding-top: 1.4rem; }
    .record-sidebar, .simple-page-nav { order: -1; }
    .record-toc, .simple-page-nav nav { position: static; }
    .record-toc ol, .simple-page-nav ol { columns: 2; column-gap: 1.3rem; }
    .definition-list div { grid-template-columns: 1fr; gap: .35rem; }
    .record-pagination { grid-template-columns: 1fr; }
    .record-pagination-next { text-align: left; }
    .footer-boundary, .footer-grid { grid-template-columns: 1fr; gap: 1.4rem; }
    .footer-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-meta { flex-direction: column; }
}

@media (max-width: 480px) {
    .header-row { grid-template-columns: minmax(0, 1fr) auto; }
    .header-tools { grid-column: 1 / -1; width: 100%; padding-bottom: .65rem; }
    .header-search { flex: 1; grid-template-columns: minmax(0, 1fr) 42px; }
    .header-search input { width: 100%; }
    .theme-toggle { flex: 0 0 42px; }
    .hero-actions, .inline-actions, .dialog-actions { align-items: stretch; flex-direction: column; }
    .hero-actions .button, .inline-actions .button, .dialog-actions .button { width: 100%; }
    .metric-grid { grid-template-columns: 1fr 1fr; }
    .record-toc ol, .simple-page-nav ol { columns: 1; }
    .footer-nav { grid-template-columns: 1fr; }
}

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

@media (forced-colors: active) {
    .content-label-symbol { background: CanvasText; }
    .brand-mark, .button, .record-card, .feature-card, .search-result, .partner-card { forced-color-adjust: auto; }
}

@media print {
    :root, html[data-theme="light"] { --text: #000; --text-soft: #111; --muted: #333; --line: #777; --bg: #fff; --bg-elevated: #fff; --bg-soft: #fff; --surface: #fff; }
    body { background: #fff !important; color: #000 !important; font-size: 11pt; }
    .boundary-band, .site-header, .partner-section, .nav-toggle, .theme-toggle, .header-search, .boundary-dialog, .record-sidebar, .simple-page-nav, .hero-actions, .collection-toolbar, .glossary-toolbar, .search-panel, .search-guidance, .local-completion { display: none !important; }
    .site-footer { background: #fff !important; color: #000 !important; border-top: 2px solid #000; }
    .footer-grid, .footer-meta { display: none !important; }
    .footer-boundary { display: block; padding: 1rem 0; color: #000; }
    .footer-boundary h2, .footer-boundary > p { color: #000; }
    .shell { width: 100%; }
    .record-layout, .simple-page-layout { display: block; padding-block: 1rem; }
    .record-hero, .simple-page-hero, .page-hero { padding-block: 1rem; background: #fff; }
    .record-card, .feature-card, .search-result, .source-basis, .fiction-transition, .external-handoff, .record-notice, .definition-list, .definition-list div { break-inside: avoid; background: #fff !important; color: #000 !important; box-shadow: none; }
    .content-label { color: #000 !important; background: #fff !important; border-color: #000 !important; }
    a { color: #000 !important; }
    a[href^="http"]::after { content: " (external project)"; font-size: .8em; }
    h1, h2, h3 { break-after: avoid; }
}

/* Release 1.6.0 — guided discovery, display preferences, and reading support. */
html { scroll-padding-top: 1.5rem; }
html[data-text-size="large"] { font-size: 112.5%; }
html[data-reading-width="wide"] { --content: 900px; }

.header-search { position: relative; }
.search-shortcut {
    position: absolute;
    right: 43px;
    top: 50%;
    transform: translateY(-50%);
    min-width: 22px;
    padding: .08rem .28rem;
    border: 1px solid var(--line);
    border-radius: .25rem;
    color: var(--muted);
    background: var(--bg-soft);
    font: 700 .68rem/1.2 var(--font-mono);
    text-align: center;
    pointer-events: none;
}
.header-search input { padding-right: 2.35rem; }
.header-search-link {
    display: none;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    padding: .55rem .7rem;
    border: 1px solid var(--line);
    border-radius: .4rem;
    background: var(--bg-elevated);
    color: var(--text);
    font-weight: 720;
    text-decoration: none;
}
.display-menu { position: relative; }
.display-menu > summary {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    padding: .55rem .66rem;
    border: 1px solid var(--line);
    border-radius: .4rem;
    background: var(--bg-elevated);
    color: var(--text);
    font-weight: 720;
    list-style: none;
}
.display-menu > summary::-webkit-details-marker { display: none; }
.display-menu[open] > summary { border-color: var(--accent); background: var(--bg-soft); }
.display-menu-panel {
    position: absolute;
    top: calc(100% + .55rem);
    right: 0;
    z-index: 60;
    width: min(310px, calc(100vw - 1.5rem));
    padding: 1rem;
    border: 1px solid var(--line-strong);
    border-radius: .7rem;
    background: var(--bg-elevated);
    box-shadow: var(--shadow);
}
.display-menu-heading { margin: 0 0 .8rem; font-weight: 780; }
.display-menu fieldset, .collection-view-switch { min-width: 0; margin: 0 0 .85rem; padding: 0; border: 0; }
.display-menu legend, .collection-view-switch legend { margin-bottom: .35rem; color: var(--text-soft); font-size: .78rem; font-weight: 720; }
.segmented-control { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 1px; padding: 1px; border: 1px solid var(--line); border-radius: .42rem; overflow: hidden; background: var(--line); }
.segmented-control button { min-height: 40px; padding: .48rem .6rem; border: 0; background: var(--bg-elevated); color: var(--text-soft); font-size: .82rem; font-weight: 720; }
.segmented-control button:hover { background: var(--bg-soft); color: var(--text); }
.segmented-control button[aria-pressed="true"] { background: var(--accent); color: var(--accent-ink); }
.display-reset { width: 100%; min-height: 40px; border: 1px solid var(--line); border-radius: .4rem; background: transparent; color: var(--text-soft); font-size: .82rem; }
.display-reset:hover { border-color: var(--accent); color: var(--text); }
.display-menu-note { margin: .7rem 0 0; color: var(--muted); font-size: .75rem; }

.home-hero { padding-block: clamp(2.5rem, 5vw, 4.8rem); }
.home-hero .hero-layout { grid-template-columns: minmax(0, 1.08fr) minmax(350px, .92fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.home-hero h1 { max-width: 15ch; font-size: clamp(3.1rem, 5.7vw, 4.55rem); }
.hero-context-note { max-width: 54ch; margin: 0 0 .7rem; color: var(--text-soft); font-weight: 680; }
.home-hero .hero-lede { max-width: 60ch; }
.start-path { grid-template-columns: 3.7rem 1fr; }
.start-path span { display: inline-flex; align-items: flex-start; color: var(--accent-strong); font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; }
.saved-records-section { padding-block: 2.5rem; border-block: 1px solid var(--line); background: color-mix(in srgb, var(--accent) 4%, var(--bg-soft)); }
.saved-record-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.saved-record-card { display: flex; min-width: 0; flex-direction: column; padding: 1rem; border: 1px solid var(--line); border-radius: .6rem; background: var(--bg-elevated); }
.saved-record-card h3 { font-size: 1.05rem; }
.saved-record-card .card-action { margin-top: auto; }
.action-status { min-height: 1.4em; margin: .5rem 0 0; color: var(--accent-strong); font-size: .82rem; }

.collection-toolbar { grid-template-columns: minmax(230px, 1.3fr) minmax(150px, .72fr) minmax(140px, .62fr) minmax(140px, .62fr) minmax(150px, .72fr) auto; align-items: end; }
.collection-view-switch { margin: 0; }
.collection-filter-summary { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; }
.collection-filter-summary .filter-status { margin: 0; }
.active-filter-list { display: flex; min-height: 1px; flex-wrap: wrap; gap: .4rem; }
.active-filter-chip { min-height: 32px; padding: .3rem .55rem; border: 1px solid var(--line); border-radius: 999px; background: var(--bg-soft); color: var(--text-soft); font-size: .76rem; }
.active-filter-chip:hover { border-color: var(--accent); color: var(--text); }
.record-card { gap: .9rem; transition: border-color .15s ease, background .15s ease, transform .15s ease; }
.record-card:hover, .record-card:focus-within { border-color: var(--line-strong); background: var(--surface-strong); }
.record-card-main { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.record-card-main > p:not(.card-kicker) { color: var(--text-soft); }
.record-card-footer { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: .55rem 1rem; padding-top: .85rem; border-top: 1px solid var(--line); }
.record-card-footer > span { color: var(--muted); font-size: .76rem; }
.record-card-footer .card-action { margin: 0; padding: 0; }
.record-card-grid[data-view="list"] { display: grid; grid-template-columns: 1fr; }
.record-card-grid[data-view="list"] .record-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, .35fr); gap: 1.2rem; align-items: end; }
.record-card-grid[data-view="list"] .record-card-footer { height: 100%; align-content: end; border-top: 0; border-left: 1px solid var(--line); padding: 0 0 0 1.2rem; }

.reading-progress { position: fixed; z-index: 100; top: 0; left: 0; width: 100%; height: 4px; background: transparent; pointer-events: none; }
.reading-progress span { display: block; width: var(--reading-progress, 0%); height: 100%; background: linear-gradient(90deg, var(--accent), var(--indigo)); transition: width .1s linear; }
.record-actions { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.2rem; align-items: center; }
.record-actions .button { min-height: 40px; padding: .56rem .78rem; font-size: .84rem; }
.record-action-note { margin: .55rem 0 0; color: var(--muted); font-size: .8rem; }
.record-toc { padding: 0; overflow: hidden; }
.record-toc > summary, .simple-page-nav details > summary { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: .8rem; padding: .75rem 1rem; color: var(--text); font-weight: 760; list-style: none; }
.record-toc > summary::-webkit-details-marker, .simple-page-nav details > summary::-webkit-details-marker { display: none; }
.record-toc > summary::after, .simple-page-nav details > summary::after { content: "+"; margin-left: auto; color: var(--accent-strong); font: 800 1rem var(--font-mono); }
.record-toc[open] > summary::after, .simple-page-nav details[open] > summary::after { content: "−"; }
.record-toc > summary small, .simple-page-nav details > summary small { color: var(--muted); font-weight: 600; }
.record-toc nav, .simple-page-nav details nav { padding: 0 1rem 1rem; }
.record-toc ol, .simple-page-nav ol { margin: 0; }
.record-toc a[aria-current="location"], .simple-page-nav a[aria-current="location"] { color: var(--text); font-weight: 780; text-decoration-thickness: .16em; }
.record-toc a[aria-current="location"]::before, .simple-page-nav a[aria-current="location"]::before { content: "•"; margin-right: .35rem; color: var(--accent); }
.record-section, .source-basis, .fiction-transition, .external-handoff, .local-completion, .local-storage-control { scroll-margin-top: 1.5rem; }
.record-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.record-section-heading h2 { margin: 0; }
.section-anchor { display: inline-flex; min-width: 32px; min-height: 32px; align-items: center; justify-content: center; flex: 0 0 auto; border-radius: .35rem; color: var(--muted); font: 760 .9rem var(--font-mono); text-decoration: none; opacity: .7; }
.section-anchor:hover, .section-anchor:focus-visible { background: var(--bg-soft); color: var(--accent-strong); opacity: 1; }
.local-storage-control { margin: 2.5rem 0; padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: var(--radius); background: var(--surface); }
.simple-page-nav details { position: sticky; top: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); overflow: hidden; }
.simple-page-nav nav { position: static; padding-top: 0; border: 0; border-radius: 0; background: transparent; }

.search-active-filters { margin-top: .8rem; }
.search-help { margin-top: 1rem; border-top: 1px solid var(--line); }
.search-help summary { min-height: 44px; padding-block: .65rem; color: var(--text-soft); font-weight: 720; }
.search-help > div { color: var(--text-soft); font-size: .88rem; }

@media (max-width: 1100px) {
    .collection-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .collection-toolbar .filter-field-search, .collection-filter-summary { grid-column: 1 / -1; }
    .saved-record-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .boundary-band-inner { gap: .06rem; padding-block: .42rem; font-size: .76rem; }
    .home-hero { padding-block: 2.4rem 3rem; }
    .home-hero h1 { font-size: clamp(2.55rem, 11vw, 3.65rem); max-width: 13ch; }
    .home-hero .hero-lede { font-size: 1.08rem; }
    .home-hero .hero-actions { margin-block: 1.25rem .9rem; }
    .home-hero .start-panel { max-width: none; }
    .saved-record-grid { grid-template-columns: 1fr; }
    .record-card-grid[data-view="list"] .record-card { grid-template-columns: 1fr; }
    .record-card-grid[data-view="list"] .record-card-footer { border-top: 1px solid var(--line); border-left: 0; padding: .85rem 0 0; }
    .collection-view-switch { display: none; }
    .record-sidebar, .simple-page-nav { min-width: 0; }
    .record-toc, .simple-page-nav details { position: static; }
    .record-toc nav, .simple-page-nav details nav { max-height: min(56vh, 440px); overflow: auto; }
    .record-toc ol, .simple-page-nav ol { columns: 1; }
    .record-actions { align-items: stretch; }
    .record-actions .button { flex: 1 1 auto; }
}

@media (max-width: 480px) {
    .boundary-band-inner a { min-height: 24px; margin-top: .1rem; }
    .header-row { grid-template-columns: minmax(0, 1fr) auto auto; min-height: 64px; }
    .header-tools { grid-column: auto; width: auto; padding-bottom: 0; }
    .header-search { display: none !important; }
    .header-search-link { display: inline-flex; }
    .display-menu-label { display: none; }
    .display-menu > summary { min-width: 42px; padding-inline: .55rem; }
    .display-menu-panel { position: fixed; top: auto; right: .75rem; bottom: .75rem; left: .75rem; width: auto; max-height: calc(100vh - 1.5rem); overflow: auto; }
    .hero-context-note { font-size: .9rem; }
    .home-hero h1 { font-size: clamp(2.35rem, 10.8vw, 3.25rem); }
    .home-hero .hero-actions { gap: .55rem; }
    .home-hero .hero-actions .button { min-height: 48px; }
    .home-hero .start-panel { margin-top: .2rem; padding: 1rem; }
    .start-path { grid-template-columns: 3.2rem 1fr; padding: .75rem 0; }
    .collection-toolbar { grid-template-columns: 1fr; }
    .collection-toolbar .filter-field-search, .collection-filter-summary { grid-column: auto; }
    .collection-filter-summary { align-items: flex-start; flex-direction: column; }
    .record-actions .button { width: 100%; }
    .record-action-note { font-size: .76rem; }
}

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

@media print {
    .display-menu, .header-search-link, .reading-progress, .record-actions, .record-action-note, .saved-records-section, .section-anchor, .local-storage-control { display: none !important; }
    .record-section-heading { display: block; }
}
@media (max-width: 480px) {
    .header-search-link { min-width: 42px; padding-inline: .55rem; }
    .header-search-link span:last-child { display: none; }
}

/* v1.6.0 mobile overflow guard: the home hero's desktop minimum column must collapse. */
@media (max-width: 760px) {
    .home-hero .hero-layout { grid-template-columns: minmax(0, 1fr); }
    .home-hero .hero-copy,
    .home-hero .start-panel,
    .start-path,
    .start-path strong,
    .start-path small { min-width: 0; }
}
