@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

.filters-disclosure { width: 100%; }
.filters-disclosure > summary { cursor: pointer; font: 500 10px/1.6 'IBM Plex Mono', monospace; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 20px; }
.filters-disclosure > summary span { display: block; margin-top: 5px; color: #7f919e; font-size: 9px; text-transform: none; letter-spacing: 0; }
.filters-disclosure:not([open]) > summary { margin-bottom: 0; }
@media (max-width: 650px) {
  .filter-panel:has(.filters-disclosure) { display: block; padding: 14px 17px; }
  .filters-disclosure > summary { font-size: 11px; }
  .filters-disclosure > summary span { display: inline; margin-left: 15px; }
  .filters-disclosure[open] #filter-options { margin-top: 21px; }
}

:root {
  color-scheme: dark;
  --paper: #090d12;
  --ink: #e2e9ef;
  --muted: #9aa9b5;
  --line: #283641;
  --accent: #d6ad6a;
  --card: #111820;
  --sage: #151f28;
  --green: #71c7d6;
  --green-soft: #18353e;
  --serif: 'IBM Plex Sans', 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mono: 'IBM Plex Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
  --sans: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --radius: 4px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 15px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: default; opacity: .55; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { color: var(--ink); }
button { border: 0; }
button, input, select { border-radius: var(--radius); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
input::placeholder { color: #718494; }
::selection { background: #254856; color: var(--ink); }
img, svg { max-width: 100%; }
img { display: block; }
svg { vertical-align: middle; }
h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3, h4 { line-height: 1.15; font-weight: 550; }
h1 { letter-spacing: -.045em; }
h2 { letter-spacing: -.035em; font-size: 34px; }
h3 { letter-spacing: -.018em; font-size: 23px; }
h4 { font-size: 16px; }
p + p { margin-top: 14px; }
ul, ol { padding-left: 22px; }
li + li { margin-top: 8px; }
hr { border: 0; border-top: 1px solid var(--line); margin: 32px 0; }
[hidden] { display: none !important; }
.container, .wrap, .shell, .page-shell { width: min(1280px, calc(100% - 160px)); margin-inline: auto; }
.muted { color: var(--muted); }
.serif { font-family: var(--serif); font-weight: 400; letter-spacing: -.035em; }
.eyebrow, .kicker, .section-label, .overline { display: block; font-size: 10px; line-height: 1.5; font-weight: 650; text-transform: uppercase; letter-spacing: .16em; }
.eyebrow, .kicker, .overline { color: var(--accent); }
.small { font-size: 12px; }
.nowrap { white-space: nowrap; }
.sr-only, .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 10px; left: 15px; z-index: 100; padding: 10px 16px; background: var(--ink); color: white; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }

/* Masthead */
.edition-strip, .top-strip, .topbar { background: var(--ink); color: #9daeba; min-height: 32px; font-size: 10px; letter-spacing: .08em; }
.edition-strip > .container, .edition-strip > .wrap, .top-strip > .container, .top-strip > .wrap, .topbar > .container, .topbar > .wrap { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 32px; }
.edition-strip a, .top-strip a, .topbar a { color: #b0c2ce; }
.site-header, .header, .masthead { border-bottom: 1px solid var(--line); background: var(--paper); }
.header-inner, .nav-wrap, .masthead-inner { min-height: 88px; display: flex; gap: 40px; align-items: center; justify-content: space-between; }
.brand, .logo { display: inline-flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.brand-mark, .logo-mark { display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center; flex: 0 0 34px; }
.brand-name, .logo-name { font-size: 19px; font-weight: 600; letter-spacing: -.045em; line-height: 1.1; }
.brand-subtitle, .logo-subtitle { display: block; color: var(--muted); font-size: 9px; letter-spacing: .13em; text-transform: uppercase; margin-top: 5px; }
.main-nav, .site-nav, .nav-links { display: flex; align-items: center; gap: 29px; }
.main-nav a, .site-nav a, .nav-links a { position: relative; display: inline-flex; align-items: center; padding: 31px 0 30px; font-size: 12px; color: var(--muted); white-space: nowrap; }
.main-nav a:hover, .site-nav a:hover, .nav-links a:hover, .main-nav a.active, .site-nav a.active, .nav-links a.active { color: var(--ink); }
.main-nav a.active::after, .site-nav a.active::after, .nav-links a.active::after, .main-nav a[aria-current='page']::after, .site-nav a[aria-current='page']::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; height: 2px; background: var(--accent); }
.header-actions { display: flex; align-items: center; gap: 15px; }
.icon-button { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; background: transparent; border: 1px solid transparent; }
.icon-button:hover { background: var(--sage); border-color: var(--line); }
.mobile-menu, .menu-toggle { display: none; }

/* Controls */
.button, .btn { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 44px; padding: 12px 20px; background: var(--ink); border: 1px solid var(--ink); border-radius: 3px; color: #dfeaf0; font-size: 12px; font-weight: 550; line-height: 1.3; transition: background .15s, transform .15s; }
.button:hover, .btn:hover { background: #1c303d; border-color: #1c303d; }
.button.secondary, .btn.secondary, .button-outline, .btn-outline { background: transparent; color: var(--ink); border-color: #3c4f5c; }
.button.secondary:hover, .btn.secondary:hover, .button-outline:hover, .btn-outline:hover { background: var(--green-soft); }
.button.small, .btn.small { min-height: 35px; padding: 9px 14px; font-size: 11px; }
.text-link, .link-arrow, .inline-link { display: inline-flex; gap: 14px; align-items: center; font-size: 12px; font-weight: 550; }
.text-link:hover, .link-arrow:hover, .inline-link:hover { color: var(--accent); }
.text-link svg, .link-arrow svg { width: 16px; height: 16px; }
.tag, .pill, .badge { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; font-weight: 550; line-height: 1.3; border: 1px solid var(--line); border-radius: 3px; padding: 5px 7px; white-space: nowrap; }
.tags, .tag-list { display: flex; flex-wrap: wrap; gap: 5px; }
.tags .tag, .tag-list .tag { font-weight: 400; color: var(--muted); background: transparent; }
.badge.intelligence, .type-intelligence { background: #152923; color: #a5cbbb; border-color: #2c483e; }
.badge.research, .type-research { background: #122830; color: #8ac9d7; border-color: #274954; }
.badge.news, .type-news { background: #2d251b; color: #d8b984; border-color: #493b28; }
.badge.legal, .type-legal { background: #221f31; color: #b8add6; border-color: #3c3453; }
.badge.platform, .type-platform { background: #1a2733; color: #9bbada; border-color: #2c483e; }
.badge.court, .type-court { background: #2c2224; color: #c7a3a7; border-color: #49363d; }
.status, .status-badge { font-size: 10px; color: var(--muted); }

/* Home */
.hero { padding: 64px 0 48px; display: grid; grid-template-columns: 1.13fr 1fr; gap: 55px; align-items: center; }
.hero .eyebrow, .hero .kicker { margin-bottom: 24px; }
.hero h1 { font-size: clamp(42px, 4.25vw, 61px); font-weight: 500; line-height: 1.04; max-width: 650px; }
.hero h1 .serif, .hero h1 em { font-family: var(--serif); font-style: normal; font-weight: 400; font-size: 1.18em; line-height: .95; }
.hero p, .hero-description, .hero-intro { max-width: 510px; margin-top: 24px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 25px; margin-top: 28px; }
.hero-visual, .hero-art, .network-visual { min-width: 0; position: relative; }
.hero-visual svg, .hero-art svg, .network-visual svg { width: 100%; height: auto; display: block; }
.hero-caption, .diagram-caption { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; padding-top: 12px; border-top: 1px solid var(--line); color: #7f919e; font-size: 9px; letter-spacing: .03em; }
.stats, .stats-grid, .stat-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.stat { padding: 20px 26px; border-left: 1px solid var(--line); }
.stat:first-child { padding-left: 0; border-left: 0; }
.stat-value, .stat strong { display: block; font-size: 27px; font-weight: 450; letter-spacing: -.04em; line-height: 1.15; }
.stat-label, .stat > span { display: block; margin-top: 5px; font-size: 10px; color: var(--muted); }
.section, .home-section { margin-top: 48px; }
.section-head, .section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.section-head h2, .section-heading h2 { font-size: 27px; }
.section-head .eyebrow, .section-heading .eyebrow { margin-bottom: 9px; }
.featured-grid, .lead-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 20px; }
.feature-card, .featured-card { position: relative; padding: 30px 32px; background: var(--ink); color: #e2e9ef; border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; align-items: flex-start; min-height: 290px; }
.feature-card .eyebrow, .featured-card .eyebrow { color: #9db5c5; }
.feature-card h2, .featured-card h2, .feature-card h3, .featured-card h3 { font-size: 30px; font-weight: 450; max-width: 590px; margin: 20px 0 16px; line-height: 1.17; }
.feature-card p, .featured-card p { font-size: 12px; line-height: 1.8; color: #9aaebd; max-width: 530px; }
.feature-card .text-link, .featured-card .text-link { margin-top: auto; padding-top: 28px; color: #dfe8ef; }
.feature-card .badge, .featured-card .badge { background: #19313b; color: #a7cbd3; border-color: #365964; }
.feature-card-meta, .feature-meta { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 15px; color: #9eafb9; font-size: 10px; }
.policy-highlight, .policy-card { padding: 29px 30px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--sage); }
.policy-highlight h3, .policy-card h3 { font-size: 23px; line-height: 1.2; margin-top: 18px; }
.policy-highlight p, .policy-card p { margin: 14px 0 23px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.track-grid, .tracks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.track-card { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); }
.track-card:hover { border-color: #486272; }
.track-number, .track-icon { display: block; font-size: 11px; color: var(--accent); margin-bottom: 27px; }
.track-card h3 { font-size: 21px; margin-bottom: 13px; }
.track-card p { color: var(--muted); font-size: 12px; line-height: 1.85; margin-bottom: 24px; }
.track-card .text-link { font-size: 11px; }
.latest-layout, .sources-layout { display: grid; grid-template-columns: minmax(0, 1fr) 255px; gap: 45px; }
.source-list { border-top: 1px solid var(--line); }
.source-row { position: relative; display: grid; grid-template-columns: 100px minmax(0,1fr) 22px; gap: 24px; padding: 23px 0; border-bottom: 1px solid var(--line); }
.source-row:hover h3, .source-row:hover .source-title { color: var(--accent); }
.source-row h3, .source-row .source-title { font-size: 18px; line-height: 1.35; font-weight: 550; }
.source-row p { font-size: 12px; color: var(--muted); margin-top: 8px; line-height: 1.7; }
.source-meta { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; font-size: 10px; color: var(--muted); margin-top: 10px; }
.source-row .row-arrow, .source-arrow { align-self: center; font-size: 21px; color: #7f97a6; }
.source-type-cell { padding-top: 3px; }
.source-key, .type-key { padding: 22px; background: var(--sage); border: 1px solid var(--line); border-radius: var(--radius); align-self: start; }
.source-key h3, .type-key h3 { font-size: 14px; margin-bottom: 19px; }
.source-key ul, .type-key ul { list-style: none; padding: 0; margin: 0; }
.source-key li, .type-key li { font-size: 11px; padding: 10px 0; margin: 0; border-bottom: 1px solid var(--line); }
.source-key li:last-child, .type-key li:last-child { border-bottom: 0; }
.source-key p, .type-key p { font-size: 11px; color: var(--muted); line-height: 1.75; margin-top: 17px; }

/* Interior pages */
.page-header, .page-intro { padding: 48px 0 35px; border-bottom: 1px solid var(--line); margin-bottom: 32px; }
.page-header .eyebrow, .page-intro .eyebrow { margin-bottom: 15px; }
.page-header h1, .page-intro h1 { font-size: clamp(34px, 3.65vw, 50px); font-weight: 500; line-height: 1.1; }
.page-header p, .page-intro p { margin-top: 17px; max-width: 780px; color: var(--muted); font-size: 14px; line-height: 1.85; }
.page-header .header-bottom { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 22px; }
.breadcrumb, .back-link { display: inline-flex; gap: 10px; align-items: center; font-size: 11px; color: var(--muted); margin: 30px 0 26px; }
.breadcrumb:hover, .back-link:hover { color: var(--accent); }
.note, .notice, .callout { padding: 20px 24px; border: 1px solid var(--line); border-left: 3px solid #4e7d8a; background: var(--sage); border-radius: 3px; font-size: 12px; line-height: 1.85; }
.note strong, .notice strong, .callout strong { color: var(--ink); }
.notice p, .callout p { color: var(--muted); }
.notice h3, .callout h3 { font-size: 16px; margin-bottom: 10px; }
.warning, .caution { background: #261f17; border-color: #4a3a28; border-left-color: var(--accent); }
.empty-state { padding: 58px 30px; text-align: center; border: 1px dashed #354a59; background: var(--sage); border-radius: var(--radius); }
.empty-state h3 { font-size: 23px; }
.empty-state p { color: var(--muted); max-width: 420px; margin: 14px auto 22px; }

/* Source library */
.library-layout { display: grid; grid-template-columns: 215px minmax(0,1fr); gap: 40px; align-items: start; }
.filters, .filter-sidebar { position: sticky; top: 25px; padding: 22px; background: var(--sage); border: 1px solid var(--line); border-radius: var(--radius); }
.filters h2, .filter-sidebar h2 { font-size: 15px; margin-bottom: 22px; }
.filter-group { margin-bottom: 24px; }
.filter-group:last-child { margin-bottom: 0; }
.filter-group > label, .filter-label { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; font-weight: 650; color: var(--muted); margin-bottom: 10px; }
.filter-options { display: flex; flex-direction: column; gap: 5px; }
.filter-option { display: flex; align-items: center; gap: 9px; text-align: left; padding: 7px 0; color: var(--muted); font-size: 12px; background: transparent; border: 0; }
.filter-option input { accent-color: var(--green); }
.filter-option.active, .filter-option:hover { color: var(--ink); }
.filter-option.active { font-weight: 600; }
.filter-option .count { margin-left: auto; font-size: 10px; color: #8396a3; }
.filter-group select, .filters select, .filter-sidebar select { width: 100%; min-height: 38px; border: 1px solid #344752; background: var(--card); padding: 8px 10px; font-size: 12px; }
.filter-reset, .clear-filters { font-size: 11px; text-decoration: underline; text-underline-offset: 3px; background: transparent; padding: 0; color: var(--muted); }
.library-toolbar, .search-toolbar { display: flex; gap: 12px; align-items: center; margin-bottom: 19px; }
.search-box, .search-field { flex: 1; position: relative; }
.search-box input, .search-field input, input[type='search'] { width: 100%; background: var(--card); border: 1px solid #344752; padding: 13px 15px; font-size: 12px; min-height: 45px; outline-offset: 1px; }
.search-box svg, .search-field svg { position: absolute; left: 14px; top: 14px; width: 16px; height: 16px; color: var(--muted); pointer-events: none; }
.search-box:has(svg) input, .search-field:has(svg) input { padding-left: 40px; }
.library-toolbar select, .search-toolbar select { padding: 12px 30px 12px 11px; border: 1px solid #344752; background: var(--card); font-size: 11px; min-height: 45px; }
.results-meta, .result-count { font-size: 11px; color: var(--muted); padding-bottom: 18px; }
.results-meta { display: flex; justify-content: space-between; gap: 18px; }
.library-results .source-row { grid-template-columns: minmax(0,1fr) 20px; gap: 20px; }
.source-card { border: 1px solid var(--line); border-radius: var(--radius); padding: 23px 25px; background: var(--card); margin-bottom: 13px; }
.source-card:hover { border-color: #486272; }
.source-card .card-top, .source-card-header { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 13px; }
.source-card h3 { font-size: 20px; line-height: 1.35; margin-bottom: 10px; }
.source-card > p, .source-card .summary { font-size: 12px; line-height: 1.8; color: var(--muted); }
.source-card .card-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 20px; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 28px; }
.pagination button { padding: 7px 12px; background: var(--sage); border: 1px solid var(--line); }
.pagination button.active { background: var(--ink); color: var(--paper); }

/* Source detail */
.detail-layout { display: grid; grid-template-columns: minmax(0,1fr) 290px; gap: 55px; align-items: start; }
.detail-header { border-bottom: 1px solid var(--line); padding-bottom: 27px; margin-bottom: 28px; }
.detail-header h1 { font-size: clamp(30px, 3.5vw, 44px); line-height: 1.15; margin-top: 18px; font-weight: 500; }
.detail-header .source-meta { font-size: 12px; margin-top: 18px; }
.detail-summary { color: #b3c3cf; font-size: 17px; line-height: 1.85; margin-bottom: 30px; }
.detail-body h2, .detail-body h3, .detail-content h2, .detail-content h3 { margin: 32px 0 15px; font-size: 23px; }
.detail-body p, .detail-body li, .detail-content p, .detail-content li { font-size: 14px; line-height: 1.85; color: #a3b2bf; }
.detail-aside, .detail-meta { padding: 24px; background: var(--sage); border: 1px solid var(--line); border-radius: var(--radius); position: sticky; top: 24px; }
.detail-aside h3, .detail-meta h3 { font-size: 14px; margin-bottom: 18px; }
.metadata-list, .detail-meta dl { margin: 0; }
.metadata-list dt, .detail-meta dt { color: var(--muted); font-size: 9px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; margin-top: 20px; }
.metadata-list dt:first-child, .detail-meta dt:first-child { margin-top: 0; }
.metadata-list dd, .detail-meta dd { margin: 5px 0 0; font-size: 12px; overflow-wrap: anywhere; }
.detail-aside .button, .detail-meta .button { width: 100%; margin-top: 22px; }
.detail-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 25px 0; }
.source-links { padding-left: 0; list-style: none; }
.source-links a { color: var(--green); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.related-sources { margin-top: 45px; }

/* Policy tracker */
.policy-filters { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 24px; }
.filter-chip, .chip { border: 1px solid #344752; background: transparent; font-size: 11px; line-height: 1.3; padding: 9px 13px; border-radius: 3px; color: var(--muted); }
.filter-chip.active, .chip.active, .filter-chip[aria-pressed='true'], .chip[aria-pressed='true'] { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.filter-chip:hover, .chip:hover { border-color: var(--ink); }
.table-wrap, .policy-table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); }
.policy-table { width: 100%; border-collapse: collapse; text-align: left; min-width: 780px; }
.policy-table th { padding: 15px 20px; background: var(--sage); font-size: 9px; font-weight: 650; text-transform: uppercase; letter-spacing: .12em; border-bottom: 1px solid var(--line); white-space: nowrap; }
.policy-table td { padding: 22px 20px; border-bottom: 1px solid var(--line); vertical-align: top; font-size: 12px; }
.policy-table tr:last-child td { border-bottom: 0; }
.policy-table tr:hover td { background: #16222c; }
.policy-table td:first-child { width: 40%; }
.policy-table h3, .policy-table .policy-title { font-size: 16px; line-height: 1.4; }
.policy-table td p { margin-top: 8px; font-size: 11px; line-height: 1.7; color: var(--muted); max-width: 450px; }
.policy-table .badge { white-space: normal; max-width: 175px; }
.policy-note { margin-top: 25px; }

/* Guides */
.guide-intro { max-width: 850px; margin-bottom: 32px; }
.guide-intro p { color: var(--muted); font-size: 14px; line-height: 1.85; }
.stage-tabs, .guide-tabs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; margin: 30px 0 0; border: 1px solid var(--line); border-radius: 3px 3px 0 0; overflow: hidden; }
.stage-tab, .guide-tab { display: flex; gap: 13px; align-items: center; padding: 18px 17px; border-right: 1px solid var(--line); background: transparent; text-align: left; font-size: 12px; line-height: 1.3; }
.stage-tab:last-child, .guide-tab:last-child { border-right: 0; }
.stage-tab .step-number, .guide-tab .step-number { font-family: var(--serif); font-size: 22px; color: #85a2b0; }
.stage-tab.active, .guide-tab.active, .stage-tab[aria-selected='true'], .guide-tab[aria-selected='true'] { background: var(--ink); color: var(--paper); }
.stage-tab.active .step-number, .guide-tab.active .step-number { color: #c2d9df; }
.stage-panel, .guide-panel { padding: 34px; border: 1px solid var(--line); border-top: 0; background: var(--card); border-radius: 0 0 3px 3px; }
.stage-panel h2, .guide-panel h2 { font-size: 29px; margin-bottom: 17px; }
.stage-panel > p, .guide-panel > p { color: var(--muted); font-size: 14px; max-width: 820px; line-height: 1.85; }
.stage-panel-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 25px; padding-top: 25px; border-top: 1px solid var(--line); }
.stage-panel-grid h3 { font-size: 15px; margin-bottom: 12px; }
.stage-panel-grid p, .stage-panel-grid li { color: var(--muted); font-size: 12px; line-height: 1.85; }
.effects-grid, .mechanisms-grid, .method-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 24px; }
.effect-card, .mechanism-card, .method-card { padding: 26px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); }
.effect-card h3, .mechanism-card h3, .method-card h3 { font-size: 20px; margin-bottom: 14px; }
.effect-card p, .mechanism-card p, .method-card p { color: var(--muted); font-size: 12px; line-height: 1.85; }
.effect-card .eyebrow, .mechanism-card .eyebrow { margin-bottom: 18px; }
.effect-card a, .mechanism-card a { margin-top: 20px; }
.mechanism-card { min-width: 0; }
.mechanism-card ul { padding-left: 17px; font-size: 12px; color: var(--muted); }
.mechanism-card .note { margin-top: 21px; padding: 13px 15px; font-size: 11px; }
.economy-lead, .economy-callout { background: var(--ink); color: #e0eaf0; padding: 32px 35px; border-radius: var(--radius); margin-bottom: 30px; }
.economy-lead .eyebrow, .economy-callout .eyebrow { color: #b9cbd5; }
.economy-lead h2, .economy-callout h2 { font-size: 30px; margin: 12px 0 15px; }
.economy-lead p, .economy-callout p { color: #a8bbc7; font-size: 13px; max-width: 890px; line-height: 1.85; }
.methodology-layout { display: grid; grid-template-columns: minmax(0,1fr) 285px; gap: 50px; align-items: start; }
.methodology-content h2 { margin: 32px 0 17px; font-size: 26px; }
.methodology-content h2:first-child { margin-top: 0; }
.methodology-content p, .methodology-content li { color: var(--muted); font-size: 14px; line-height: 1.9; }
.principle-list { padding-left: 0; list-style: none; }
.principle-list li { border-bottom: 1px solid var(--line); padding: 18px 0; }
.principle-list strong { display: block; color: var(--ink); margin-bottom: 5px; }
.status-list { display: grid; grid-template-columns: 170px minmax(0,1fr); border-top: 1px solid var(--line); }
.status-list dt, .status-list dd { padding: 15px 0; margin: 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.status-list dt { font-weight: 600; }
.status-list dd { color: var(--muted); }

/* Footer and feedback */
.site-footer, footer { margin-top: 70px; border-top: 1px solid var(--line); padding: 30px 0 36px; }
.footer-inner { display: flex; justify-content: space-between; align-items: flex-start; gap: 35px; }
.footer-brand { font-size: 14px; font-weight: 600; letter-spacing: -.035em; }
.footer-inner p, .footer-note { color: var(--muted); font-size: 10px; max-width: 475px; margin-top: 8px; line-height: 1.8; }
.footer-links { display: flex; flex-wrap: wrap; gap: 25px; font-size: 11px; color: var(--muted); }
.footer-links a:hover { color: var(--ink); }
.toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); padding: 13px 20px; background: var(--ink); color: var(--paper); font-size: 12px; box-shadow: 0 6px 28px #00000040; border-radius: var(--radius); z-index: 50; max-width: calc(100vw - 40px); }

@media (min-width: 1600px) { .hero { padding-top: 78px; } }
@media (max-width: 1180px) {
  .container, .wrap, .shell, .page-shell { width: calc(100% - 96px); }
  .header-inner, .nav-wrap, .masthead-inner { gap: 25px; }
  .main-nav, .site-nav, .nav-links { gap: 18px; }
  .main-nav a, .site-nav a, .nav-links a { font-size: 11px; }
  .brand-name, .logo-name { font-size: 17px; }
  .hero { gap: 30px; }
  .latest-layout, .sources-layout { grid-template-columns: minmax(0,1fr) 220px; gap: 28px; }
  .library-layout { grid-template-columns: 195px minmax(0,1fr); gap: 25px; }
  .detail-layout { grid-template-columns: minmax(0,1fr) 250px; gap: 35px; }
  .source-row { grid-template-columns: 90px minmax(0,1fr) 18px; gap: 18px; }
  .stage-tab, .guide-tab { gap: 9px; padding: 16px 12px; font-size: 11px; }
}
@media (max-width: 900px) {
  .container, .wrap, .shell, .page-shell { width: calc(100% - 64px); }
  .header-inner, .nav-wrap, .masthead-inner { flex-wrap: wrap; gap: 0; min-height: auto; padding-top: 22px; }
  .brand, .logo { margin-bottom: 18px; }
  .main-nav, .site-nav, .nav-links { width: 100%; order: 3; gap: 25px; overflow-x: auto; scrollbar-width: none; }
  .main-nav::-webkit-scrollbar, .site-nav::-webkit-scrollbar, .nav-links::-webkit-scrollbar { display: none; }
  .main-nav a, .site-nav a, .nav-links a { padding: 12px 0 16px; font-size: 12px; }
  .header-actions { margin-bottom: 18px; }
  .hero { grid-template-columns: 1.15fr 1fr; padding-top: 44px; gap: 20px; }
  .hero h1 { font-size: 41px; }
  .hero p { font-size: 12px; margin-top: 20px; }
  .hero-actions { gap: 17px; margin-top: 23px; }
  .hero-actions .button { padding: 12px 14px; font-size: 11px; }
  .hero-actions .text-link { font-size: 11px; }
  .stat { padding: 18px; }
  .stat-value, .stat strong { font-size: 24px; }
  .stat-label, .stat > span { font-size: 9px; }
  .featured-grid, .lead-grid { grid-template-columns: 1.3fr 1fr; gap: 15px; }
  .feature-card, .featured-card { padding: 25px; }
  .feature-card h2, .featured-card h2, .feature-card h3, .featured-card h3 { font-size: 25px; }
  .policy-highlight, .policy-card { padding: 24px; }
  .policy-highlight h3, .policy-card h3 { font-size: 21px; }
  .track-grid, .tracks { gap: 13px; }
  .track-card { padding: 20px; }
  .track-card h3 { font-size: 18px; }
  .latest-layout, .sources-layout { grid-template-columns: minmax(0,1fr); }
  .source-key, .type-key { display: none; }
  .library-layout { grid-template-columns: 175px minmax(0,1fr); gap: 22px; }
  .filters, .filter-sidebar { padding: 18px; }
  .source-card { padding: 21px; }
  .source-card h3 { font-size: 18px; }
  .detail-layout { grid-template-columns: minmax(0,1fr); }
  .detail-aside, .detail-meta { position: static; }
  .metadata-list, .detail-meta dl { display: grid; grid-template-columns: 150px 1fr; column-gap: 15px; }
  .metadata-list dt, .detail-meta dt, .metadata-list dt:first-child, .detail-meta dt:first-child { margin-top: 12px; }
  .metadata-list dd, .detail-meta dd { margin-top: 10px; }
  .detail-aside .button, .detail-meta .button { width: auto; }
  .effects-grid, .mechanisms-grid, .method-grid { grid-template-columns: repeat(2,1fr); }
  .stage-tabs, .guide-tabs { overflow-x: auto; grid-template-columns: repeat(5, minmax(140px, 1fr)); }
  .methodology-layout { grid-template-columns: minmax(0,1fr); gap: 25px; }
  .methodology-content { max-width: 100%; }
}
@media (max-width: 650px) {
  .hero { grid-template-columns: 1fr; gap: 30px; padding-top: 38px; }
  .hero h1 { font-size: clamp(41px, 8.4vw, 54px); max-width: 510px; }
  .hero p { max-width: 500px; font-size: 13px; }
  .hero-visual, .hero-art, .network-visual { width: min(100%, 440px); margin-inline: auto; }
  .hero-actions .button, .hero-actions .text-link { font-size: 12px; }
  .hero-actions .button { padding-inline: 18px; }
  .featured-grid, .lead-grid { grid-template-columns: 1fr; }
  .feature-card, .featured-card { min-height: 280px; }
  .track-grid, .tracks { grid-template-columns: 1fr; }
  .track-card { padding: 24px; }
  .track-number, .track-icon { margin-bottom: 20px; }
  .track-card h3 { font-size: 22px; }
  .track-card p { margin-bottom: 20px; }
  .library-layout { grid-template-columns: minmax(0,1fr); }
  .filters, .filter-sidebar { position: static; display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; padding: 20px; }
  .filters h2, .filter-sidebar h2 { grid-column: 1 / -1; margin-bottom: 16px; }
  .filter-group { margin-bottom: 16px; min-width: 0; }
  .filter-options { gap: 0; }
  .filter-reset, .clear-filters { justify-self: start; align-self: center; }
  .library-toolbar, .search-toolbar { flex-wrap: wrap; }
  .library-toolbar .search-box, .search-toolbar .search-box, .library-toolbar .search-field { flex-basis: 100%; }
  .library-toolbar select, .search-toolbar select { flex: 1; }
  .source-card .card-footer { align-items: flex-start; flex-direction: column; }
  .effects-grid, .mechanisms-grid, .method-grid, .stage-panel-grid { grid-template-columns: 1fr; }
  .stage-panel, .guide-panel { padding: 25px; }
  .stage-panel h2, .guide-panel h2 { font-size: 26px; }
  .section-head, .section-heading { align-items: flex-end; }
  .section-head h2, .section-heading h2 { font-size: 25px; }
  .section-head .text-link, .section-heading .text-link { font-size: 10px; gap: 7px; }
  .footer-inner { flex-direction: column; gap: 23px; }
  .footer-links { gap: 23px; }
}
@media (max-width: 560px) {
  .container, .wrap, .shell, .page-shell { width: calc(100% - 64px); }
  .edition-strip, .top-strip, .topbar { font-size: 8px; letter-spacing: .04em; }
  .edition-strip > .container, .edition-strip > .wrap, .top-strip > .container, .top-strip > .wrap, .topbar > .container, .topbar > .wrap { gap: 8px; min-height: 29px; }
  .brand-name, .logo-name { font-size: 18px; }
  .brand-subtitle, .logo-subtitle { font-size: 8px; }
  .main-nav, .site-nav, .nav-links { gap: 23px; }
  .main-nav a, .site-nav a, .nav-links a { font-size: 11px; }
  .hero { padding-bottom: 32px; gap: 27px; }
  .hero .eyebrow, .hero .kicker { margin-bottom: 20px; font-size: 9px; }
  .hero h1 { font-size: 42px; letter-spacing: -.045em; }
  .hero h1 .serif, .hero h1 em { font-size: 1.18em; }
  .hero p { margin-top: 20px; line-height: 1.8; }
  .hero-actions { flex-direction: row; gap: 19px; }
  .hero-actions .button { font-size: 11px; padding: 12px 15px; gap: 15px; }
  .hero-actions .text-link { font-size: 11px; gap: 8px; }
  .hero-caption, .diagram-caption { font-size: 8px; }
  .stats, .stats-grid, .stat-strip { grid-template-columns: repeat(2,1fr); }
  .stat { padding: 18px 20px; }
  .stat:nth-child(odd) { border-left: 0; padding-left: 0; }
  .stat:nth-child(n+3) { border-top: 1px solid var(--line); }
  .stat-value, .stat strong { font-size: 27px; }
  .stat-label, .stat > span { font-size: 9px; }
  .section, .home-section { margin-top: 35px; }
  .section-head, .section-heading { gap: 16px; margin-bottom: 18px; }
  .section-head h2, .section-heading h2 { font-size: 24px; }
  .section-head .text-link, .section-heading .text-link { max-width: 95px; text-align: right; }
  .feature-card, .featured-card { padding: 25px 23px; }
  .feature-card h2, .featured-card h2, .feature-card h3, .featured-card h3 { font-size: 27px; }
  .policy-highlight, .policy-card { padding: 24px; }
  .source-row { grid-template-columns: minmax(0,1fr) 18px; gap: 10px 15px; padding: 22px 0; }
  .source-row .source-type-cell { grid-column: 1 / -1; }
  .source-row h3, .source-row .source-title { font-size: 18px; }
  .source-row p { font-size: 11px; }
  .source-meta { font-size: 9px; gap: 7px; }
  .page-header, .page-intro { padding-top: 35px; padding-bottom: 27px; margin-bottom: 25px; }
  .page-header h1, .page-intro h1 { font-size: 36px; }
  .page-header p, .page-intro p { font-size: 13px; }
  .page-header .header-bottom { flex-direction: column; align-items: flex-start; gap: 15px; }
  .page-header .eyebrow { font-size: 9px; }
  .note, .notice, .callout { padding: 17px 19px; font-size: 11px; }
  .source-card { padding: 21px 20px; }
  .source-card h3 { font-size: 19px; }
  .source-card > p, .source-card .summary { font-size: 12px; }
  .detail-header h1 { font-size: 31px; }
  .detail-summary { font-size: 15px; }
  .detail-body h2, .detail-body h3, .detail-content h2, .detail-content h3 { font-size: 23px; }
  .detail-body p, .detail-body li, .detail-content p, .detail-content li { font-size: 13px; }
  .detail-aside, .detail-meta { padding: 22px; }
  .metadata-list, .detail-meta dl { grid-template-columns: 105px 1fr; }
  .metadata-list dd, .detail-meta dd { font-size: 11px; }
  .policy-filters { gap: 7px; }
  .filter-chip, .chip { padding: 8px 11px; font-size: 10px; }
  .policy-table { min-width: 720px; }
  .policy-table th, .policy-table td { padding: 17px; }
  .stage-tabs, .guide-tabs { grid-template-columns: repeat(5, 145px); }
  .stage-tab, .guide-tab { min-height: 63px; }
  .stage-panel, .guide-panel { padding: 23px; }
  .stage-panel > p, .guide-panel > p { font-size: 13px; }
  .stage-panel-grid { gap: 22px; }
  .effect-card, .mechanism-card, .method-card { padding: 23px; }
  .effect-card h3, .mechanism-card h3, .method-card h3 { font-size: 21px; }
  .economy-lead, .economy-callout { padding: 25px; }
  .economy-lead h2, .economy-callout h2 { font-size: 27px; }
  .economy-lead p, .economy-callout p { font-size: 12px; }
  .methodology-content h2 { font-size: 24px; }
  .methodology-content p, .methodology-content li { font-size: 13px; }
  .status-list { grid-template-columns: 110px minmax(0,1fr); gap: 0 15px; }
  .status-list dt, .status-list dd { font-size: 11px; }
  .site-footer, footer { margin-top: 45px; padding-top: 25px; }
  .footer-inner p, .footer-note { font-size: 9px; }
}
@media (max-width: 359px) {
  .container, .wrap, .shell, .page-shell { width: calc(100% - 40px); }
  .hero h1 { font-size: 37px; }
  .hero-actions { gap: 16px; }
  .hero-actions .button { padding-inline: 12px; }
  .brand-name, .logo-name { font-size: 16px; }
  .filters, .filter-sidebar { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Observer components */
.edition-strip i { display: inline-block; width: 3px; height: 3px; border-radius: 50%; background: #d6ad6a; margin: 0 10px 2px; }
.site-header .masthead { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 89px; border: 0; }
.site-header .brand { gap: 11px; }
.site-header .brand > span { display: block; font-size: 10px; line-height: 1.65; letter-spacing: .17em; font-weight: 500; }
.site-header .brand strong { display: block; font-size: 12px; font-weight: 650; letter-spacing: .105em; }
.site-header nav { display: flex; align-items: center; gap: 29px; align-self: stretch; }
.site-header nav a { display: flex; align-items: center; position: relative; font-size: 12px; white-space: nowrap; color: #91a3b0; }
.site-header nav a:hover, .site-header nav a.active, .site-header nav a[aria-current='page'] { color: var(--ink); }
.site-header nav a.active::after, .site-header nav a[aria-current='page']::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: var(--accent); }
.saved-nav { display: inline-flex; align-items: center; gap: 9px; padding-left: 25px; border-left: 1px solid var(--line); font-size: 11px; white-space: nowrap; }
.saved-nav > svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.3; }
.saved-nav.active { color: var(--accent); }
#saved-count { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; border: 1px solid #344752; font-size: 9px; border-radius: 3px; }
.tiny-line { display: inline-block; width: 24px; height: 1px; background: var(--accent); vertical-align: middle; margin-right: 9px; }
.button.primary { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.button.primary:hover { background: #1c303d; }
.arrow { display: inline-block; font-size: 17px; line-height: 1; font-weight: 400; }
.hero-copy { min-width: 0; }
.hero-copy h1 > span { display: block; }
.hero-graphic { align-self: stretch; display: flex; flex-direction: column; position: relative; min-width: 0; padding-top: 7px; }
.graphic-top, .graphic-caption { display: flex; justify-content: space-between; align-items: center; gap: 16px; color: #8298a7; font-size: 9px; letter-spacing: .03em; }
.graphic-top { padding: 0 2px 14px; border-bottom: 1px solid var(--line); }
.diagram-dot { display: inline-block; width: 5px; height: 5px; background: var(--accent); border-radius: 50%; margin-right: 6px; }
.orbit-svg { display: block; width: 100%; flex: 1; min-height: 260px; height: auto; overflow: visible; }
.orbit-svg text { font-family: var(--sans); }
.graphic-caption { border-top: 1px solid var(--line); padding-top: 12px; }
.index-bar { display: grid; grid-template-columns: repeat(3, 1fr) 1.25fr; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-bottom: 43px; }
.index-stat { padding: 20px 27px; border-left: 1px solid var(--line); display: flex; align-items: center; gap: 13px; }
.index-stat:first-child { border-left: 0; padding-left: 0; }
.index-stat strong { font-size: 28px; line-height: 1; letter-spacing: -.05em; font-weight: 450; }
.index-stat > span { font-size: 10px; line-height: 1.5; color: var(--muted); max-width: 90px; }
.date-stat { justify-content: flex-end; padding-right: 0; }
.date-stat strong { font-size: 11px; font-weight: 500; letter-spacing: 0; line-height: 1.5; }
.date-stat span { font-size: 9px; }
.feature-grid { display: grid; grid-template-columns: 1.55fr 1fr; gap: 20px; margin-bottom: 45px; }
.feature-story { min-height: 303px; display: flex; flex-direction: column; position: relative; overflow: hidden; padding: 30px 32px; background: var(--ink); color: var(--paper); border-radius: 4px; }
.feature-story > :not(.feature-rings) { position: relative; z-index: 1; }
.feature-story .eyebrow { color: #d6ad6a; }
.feature-story h2 { font-size: 30px; font-weight: 450; line-height: 1.17; margin: 21px 0 15px; max-width: 490px; }
.feature-story p { font-size: 12px; line-height: 1.8; color: #a8bac7; max-width: 455px; }
.feature-story .text-link { margin-top: auto; padding-top: 27px; color: #c0e4ec; }
.feature-story .text-link:hover { color: #e8c48e; }
.feature-rings { position: absolute; width: 310px; height: 310px; border: 1px solid #5c829342; border-radius: 50%; right: -110px; top: 45px; }
.feature-rings::before, .feature-rings::after { content: ''; position: absolute; border: 1px solid #5c829350; border-radius: 50%; inset: 34px; }
.feature-rings::after { inset: 69px; }
.dispatch-card { display: flex; flex-direction: column; background: var(--sage); border: 1px solid var(--line); border-radius: 4px; padding: 29px 30px; }
.dispatch-card .eyebrow { color: #8fa3b2; }
.dispatch-card h2 { font-size: 25px; font-weight: 450; line-height: 1.2; margin: 18px 0 14px; }
.dispatch-card p { font-size: 12px; line-height: 1.8; color: var(--muted); }
.dispatch-card .text-link { margin-top: auto; padding-top: 24px; }
.dispatch-card .stage-badge { align-self: flex-start; margin-top: 18px; }
.track-grid { gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-bottom: 46px; }
.track-card { border: 0; border-right: 1px solid var(--line); border-radius: 0; padding: 25px 28px; background: transparent; display: flex; flex-direction: column; }
.track-card:first-child { padding-left: 0; }
.track-card:last-child { padding-right: 0; border-right: 0; }
.track-card:hover { background: #1b2c3a55; }
.track-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; color: var(--accent); font-size: 10px; }
.track-top svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.3; }
.track-card h3 { font-size: 22px; margin-bottom: 12px; }
.track-card p { font-size: 12px; line-height: 1.85; margin-bottom: 23px; }
.track-bottom { display: flex; align-items: center; justify-content: space-between; margin-top: auto; font-size: 10px; color: var(--muted); }
.source-row { display: block; padding: 24px 0; border-bottom: 1px solid var(--line); }
.source-row:first-child { border-top: 1px solid var(--line); }
.record-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 10px; color: var(--muted); line-height: 1.55; margin-bottom: 11px; }
.meta-sep { color: #8295a2; font-size: 9px; }
.source-row h3 { font-size: 21px; line-height: 1.3; font-weight: 500; max-width: 780px; }
.source-row h3 a { display: inline; }
.source-row .source-summary { font-size: 12px; line-height: 1.85; color: var(--muted); margin-top: 10px; max-width: 785px; }
.record-bottom { display: flex; justify-content: space-between; gap: 18px; align-items: center; margin-top: 16px; }
.record-tags { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.record-tags .tag { font-size: 9px; padding: 4px 6px; color: #90a5b4; font-weight: 400; background: transparent; }
.status-label { display: block; color: #92a5b2; font-size: 10px; line-height: 1.6; margin-top: 9px; }
.bookmark { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 5px 6px; background: transparent; border: 1px solid transparent; color: var(--muted); font-size: 10px; white-space: nowrap; }
.bookmark svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 1.4; }
.bookmark:hover { color: var(--accent); border-color: #536474; }
.bookmark.is-saved { color: var(--green); }
.bookmark.is-saved svg { fill: var(--green); stroke: var(--green); }
.home-aside { display: grid; gap: 19px; }
.aside-box { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--sage); }
.aside-box h3, .aside-box h2 { font-size: 15px; font-weight: 550; margin-bottom: 15px; }
.aside-box p { font-size: 11px; color: var(--muted); line-height: 1.85; margin: 0 0 16px; }
.aside-box p:last-child { margin-bottom: 0; }
.aside-box .eyebrow { font-size: 9px; margin-bottom: 15px; color: #889ba9; }
.source-key { display: grid; gap: 14px; padding: 0; border: 0; background: transparent; margin: 0; }
.source-key > div { display: flex; align-items: center; gap: 10px; font-size: 11px; color: var(--muted); }
.type-dot { display: inline-block; width: 7px; height: 7px; border-radius: 2px; background: #86a6b7; flex: 0 0 7px; }
.type-dot.type-intelligence { background: #85b6a7; }
.type-dot.type-research { background: #71c7d6; }
.type-dot.type-news { background: #d6ad6a; }
.type-dot.type-legal { background: #af9dcb; }
.type-dot.type-platform { background: #90b4d5; }
.principle-banner { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-top: 38px; padding: 25px 28px; border: 1px solid var(--line); background: #141f29; border-radius: 3px; }
.principle-banner h3 { font-size: 20px; margin-bottom: 7px; }
.principle-banner p { font-size: 12px; color: var(--muted); max-width: 750px; }
.principle-banner .text-link { flex: 0 0 auto; }
.view-all-row { padding-top: 23px; }
.small-muted { font-size: 11px; color: var(--muted); }
.full-width { width: 100%; }
.compact-list { margin: 0; padding-left: 16px; color: var(--muted); font-size: 12px; }
.compact-list li { line-height: 1.8; margin-top: 7px; }
.toast:empty { display: none; }
.site-footer a:not(.footer-brand) { font-size: 11px; color: #9bafb9; }
.site-footer a:hover { color: var(--accent); }
.loading-state { padding: 90px 0 120px; }
.loading-state h1 { margin: 20px 0 15px; font-family: var(--serif); font-size: 55px; font-weight: 400; }
.loading-state p { font-size: 13px; color: var(--muted); }

/* Collection and source pages */
.page-heading { padding: 49px 0 31px; margin-bottom: 29px; border-bottom: 1px solid var(--line); }
.page-heading-top { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.page-heading .eyebrow { margin-bottom: 15px; }
.page-heading h1 { font-size: 48px; font-weight: 500; line-height: 1.12; }
.page-heading > p, .page-heading-top p { margin-top: 18px; max-width: 800px; color: var(--muted); font-size: 14px; line-height: 1.85; }
.saved-heading-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.filter-panel { position: sticky; top: 25px; align-self: start; padding-right: 26px; border-right: 1px solid var(--line); }
.filter-panel h2 { font-size: 14px; margin-bottom: 24px; }
.filter-section { padding-bottom: 23px; margin-bottom: 24px; border-bottom: 1px solid var(--line); }
.filter-section:last-of-type { margin-bottom: 19px; }
.filter-section h3, .filter-section > label { display: block; color: #7f919e; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; font-weight: 650; margin: 0 0 12px; }
.filter-section .filter-option { display: flex; align-items: center; width: 100%; border: 0; border-radius: 3px; padding: 7px 8px; margin: 2px 0; background: transparent; font-size: 11px; text-align: left; line-height: 1.5; }
.filter-section .filter-option.active { background: #1b3540; color: var(--ink); font-weight: 550; }
.filter-section .filter-option:hover { background: #172a35; }
.filter-count { margin-left: auto; color: #7f919e; font-size: 10px; padding-left: 8px; }
.filter-note { color: #7f919e; font-size: 10px; line-height: 1.9; }
.search-wrap { display: flex; align-items: center; position: relative; flex: 1; min-width: 0; }
.search-wrap svg { width: 16px; height: 16px; position: absolute; left: 15px; stroke: #8ca5b4; fill: none; stroke-width: 1.5; pointer-events: none; }
.search-wrap input { padding-left: 42px; }
.library-toolbar { margin-bottom: 17px; }
.library-toolbar input { border-color: #344752; }
.library-toolbar select { min-width: 130px; }
.results-bar { display: flex; align-items: center; justify-content: space-between; gap: 15px; color: var(--muted); font-size: 10px; padding: 4px 0 18px; }
.clear-button { padding: 0; border: 0; background: transparent; font-size: 10px; color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.library-results .source-row { display: block; padding-block: 24px; }
.library-results .source-row h3 { font-size: 21px; }
.source-detail { display: grid; grid-template-columns: minmax(0, 1fr) 285px; gap: 56px; align-items: start; padding-top: 8px; }
.detail-body { min-width: 0; }
.detail-body > .eyebrow { margin-bottom: 18px; }
.detail-body > h1 { font-size: 44px; font-weight: 500; line-height: 1.14; margin: 18px 0 20px; }
.detail-byline { display: flex; flex-wrap: wrap; gap: 10px; font-size: 11px; color: var(--muted); line-height: 1.65; padding-bottom: 25px; margin-bottom: 25px; border-bottom: 1px solid var(--line); }
.detail-body .detail-summary { color: #b5c5d0; font-size: 17px; line-height: 1.85; margin-bottom: 28px; }
.detail-section { padding-top: 25px; margin-top: 25px; border-top: 1px solid var(--line); }
.detail-section h2 { font-size: 22px; margin: 0 0 17px; }
.detail-section p, .detail-section li { color: #a5b5c1; font-size: 13px; line-height: 1.9; }
.detail-section ul { margin-block: 0; }
.limitation-box { border: 1px solid #4a3c2b; border-left: 3px solid #d6ad6a; background: #231f19; border-radius: 3px; padding: 20px 23px; margin-top: 27px; }
.limitation-box h2, .limitation-box h3 { font-size: 15px; margin: 0 0 10px; }
.limitation-box p { color: #c1b39e; font-size: 12px; line-height: 1.9; }
.detail-sidebar { position: sticky; top: 24px; display: grid; gap: 19px; }
.detail-sidebar .aside-box { padding: 23px; }
.detail-sidebar .button { margin-top: 8px; }
.detail-sidebar dl { margin: 0; }
.detail-sidebar dt { font-size: 9px; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); margin-top: 19px; }
.detail-sidebar dt:first-child { margin-top: 0; }
.detail-sidebar dd { margin: 5px 0 0; font-size: 12px; line-height: 1.75; overflow-wrap: anywhere; }
.subnote { color: #8295a3; font-size: 10px; line-height: 1.85; margin-top: 14px; }
.detail-sidebar .subnote { font-size: 10px; margin-top: 13px; }
.external-list { list-style: none; padding: 0; margin: 0; }
.external-list li { margin: 0; padding: 13px 0; border-bottom: 1px solid var(--line); }
.external-list li:first-child { padding-top: 0; }
.external-list li:last-child { padding-bottom: 0; border-bottom: 0; }
.external-list a { display: inline-flex; gap: 12px; font-size: 12px; line-height: 1.7; color: var(--green); text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.detail-actions { margin-block: 24px 15px; }
.detail-actions .bookmark { padding: 11px 15px; border: 1px solid #3c5665; font-size: 11px; }

/* Reading frameworks */
.guide-intro { max-width: none; display: grid; grid-template-columns: minmax(0,1.7fr) 1fr; gap: 40px; align-items: start; margin-bottom: 30px; }
.guide-intro h2 { font-size: 29px; margin-bottom: 16px; }
.guide-intro p { font-size: 14px; line-height: 1.85; }
.guide-callout { padding: 22px 25px; background: var(--sage); border-left: 2px solid #547c8b; }
.guide-callout strong { display: block; font-size: 12px; margin-bottom: 9px; }
.guide-callout p { font-size: 12px; line-height: 1.85; }
.stage-tab { line-height: 1.45; }
.stage-tab > span:first-child { font-size: 11px; opacity: .7; }
.stage-tab > span:last-child { font-size: 12px; }
.stage-panel .eyebrow { margin-bottom: 15px; }
.stage-panel > h2, .stage-panel > h3 { margin: 0 0 16px; font-size: 29px; }
.stage-panel p { color: var(--muted); line-height: 1.9; font-size: 13px; max-width: 890px; }
.stage-panel ul { margin-block: 20px 25px; font-size: 12px; color: #a0b3c0; line-height: 1.8; }
.guide-section { margin-top: 44px; }
.guide-section > h2 { font-size: 29px; margin-bottom: 17px; }
.guide-section > p { color: var(--muted); font-size: 13px; max-width: 850px; line-height: 1.85; }
.effect-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--line); margin-top: 25px; }
.effect-card { background: transparent; border: 0; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); border-radius: 0; padding: 27px; }
.effect-card:nth-child(3n+1) { padding-left: 0; }
.effect-card:nth-child(3n) { padding-right: 0; border-right: 0; }
.effect-number { font-family: var(--serif); font-size: 26px; color: #8da2b0; display: block; margin-bottom: 20px; }
.effect-card h3 { font-size: 21px; line-height: 1.25; margin-bottom: 14px; }
.effect-card p { font-size: 12px; line-height: 1.9; }
.reading-links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 19px; }
.reading-link { display: inline-flex; align-items: center; gap: 7px; font-size: 10px; line-height: 1.6; color: #71c7d6; text-decoration: underline; text-underline-offset: 3px; }
.reading-link:hover { color: var(--accent); }
.reading-link .arrow { font-size: 13px; }
.effect-card .reading-link { font-size: 9px; }
.evidence-ladder { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: 3px; background: var(--sage); margin-top: 23px; }
.evidence-ladder > div { border-right: 1px solid var(--line); padding: 22px; }
.evidence-ladder > div:last-child { border: 0; }
.evidence-ladder strong { display: block; font-size: 13px; margin-bottom: 9px; }
.evidence-ladder p { color: var(--muted); font-size: 11px; line-height: 1.85; }
.evidence-ladder span { display: block; color: var(--accent); font-size: 10px; margin-bottom: 18px; }
.economy-intro { display: grid; grid-template-columns: 1.55fr 1fr; gap: 35px; margin-bottom: 32px; align-items: start; }
.economy-intro h2 { font-size: 31px; line-height: 1.2; margin-bottom: 18px; }
.economy-intro p { color: var(--muted); font-size: 13px; line-height: 1.9; }
.economy-intro .limitation-box { margin-top: 0; }
.thin-divider { width: 100%; height: 1px; background: var(--line); margin-block: 30px; }
.mechanism-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 36px; border-top: 1px solid var(--line); }
.mechanism { min-width: 0; padding: 30px 0; border-bottom: 1px solid var(--line); }
.mechanism > .eyebrow { margin-bottom: 17px; }
.mechanism h3, .mechanism h2 { font-size: 24px; line-height: 1.25; margin-bottom: 16px; }
.mechanism p { color: var(--muted); font-size: 12px; line-height: 1.9; }
.mechanism-limit { margin-top: 20px; background: var(--sage); border-left: 2px solid #4c6675; padding: 14px 17px; color: #9eafbb; font-size: 11px; line-height: 1.85; }
.mechanism-limit strong { color: #bad2de; font-weight: 600; }
.economy-sources { margin-top: 43px; }
.economy-sources > h2 { font-size: 29px; margin-bottom: 22px; }

/* Policy and standards */
.policy-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 22px; }
.policy-toolbar label { color: var(--muted); font-size: 11px; }
.policy-toolbar select { border: 1px solid #344752; background: var(--card); font-size: 11px; min-height: 40px; padding: 10px 32px 10px 13px; }
.policy-toolbar .small-muted { font-size: 10px; }
.jurisdiction { display: block; font-size: 11px; color: #9eafbb; line-height: 1.6; }
.stage-badge { display: inline-flex; background: #163038; color: #9bd5df; border: 1px solid #2f5460; border-radius: 3px; padding: 5px 8px; font-size: 9px; line-height: 1.5; font-weight: 500; }
.stage-badge.preliminary { color: #dbb880; background: #2b2419; border-color: #4f402a; }
.date-cell { font-size: 11px; color: #a3b6c2; white-space: nowrap; }
.policy-table .small-muted { font-size: 10px; }
.policy-table a:hover { color: var(--accent); }
.policy-bottom-note { margin-top: 23px; padding: 20px 24px; background: var(--sage); border-left: 2px solid #4c6675; font-size: 11px; color: var(--muted); line-height: 1.9; }
.prose-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 55px; align-items: start; }
.prose { min-width: 0; }
.prose h2 { margin: 31px 0 17px; font-size: 27px; }
.prose h2:first-child { margin-top: 0; }
.prose h3 { margin: 25px 0 12px; font-size: 20px; }
.prose p, .prose li { color: var(--muted); font-size: 13px; line-height: 1.95; }
.prose strong { color: var(--ink); font-weight: 550; }
.prose a { text-decoration: underline; text-underline-offset: 3px; color: var(--green); }
.prose a:hover { color: var(--accent); }
.source-type-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 25px; }
.source-type-grid > div { padding: 20px 0; border-bottom: 1px solid var(--line); }
.source-type-grid h3 { font-size: 16px; margin: 10px 0 9px; }
.source-type-grid p { font-size: 12px; }

/* Final structure matching the source explorer. */
#main:focus { outline: 0; }
.breadcrumb { flex-wrap: wrap; }
.library-layout > section { min-width: 0; }
button.text-link { background: transparent; border: 0; padding: 0; }
.hero h1 em { display: block; margin-top: 7px; }
.hero .graphic-caption { display: block; max-width: none; margin: 0; padding-top: 12px; font-size: 9px; line-height: 1.6; color: #8298a7; }
.index-stat > svg { width: 24px; height: 24px; flex: 0 0 24px; stroke: #84a7b8; fill: none; stroke-width: 1.2; }
.index-stat:last-child { padding-right: 0; }
.index-stat strong.date-stat { display: block; font-size: 10px; letter-spacing: .025em; line-height: 1.6; font-weight: 550; }
.index-stat > div > span { font-size: 8px; color: var(--muted); line-height: 1.7; letter-spacing: .04em; }
.dispatch-card .badge { align-self: flex-start; margin-top: 19px; }
.dispatch-card h3 { font-size: 25px; line-height: 1.2; font-weight: 450; margin: 16px 0 14px; }
.badge.type-investigation { background: #2d251b; color: #d8b984; border-color: #493b28; }
.meta-sep { display: inline-block; width: 2px; height: 2px; background: #7793a4; border-radius: 50%; }
.source-row, .library-results .source-row { display: grid; grid-template-columns: minmax(0,1fr) 28px; gap: 19px; }
.source-row > .bookmark { align-self: start; padding: 6px; margin-top: 0; }
.record-bottom { align-items: flex-start; }
.record-bottom .status-label { margin: 0; max-width: 55%; }
.record-bottom .record-tags { justify-content: flex-end; max-width: 48%; }
.home-aside { display: block; }
.source-key { display: block; list-style: none; }
.source-key li { display: flex; align-items: center; justify-content: space-between; gap: 13px; }
.source-key li > span:first-child { display: inline-flex; align-items: center; gap: 8px; }
.source-key li > span:last-child { color: #8aa0af; font-size: 10px; }
.source-key li + li { margin-top: 0; }
.home-aside > .text-link { margin-top: 23px; font-size: 10px; }
.type-dot.intelligence { background: #85b6a7; }
.type-dot.research { background: #71c7d6; }
.type-dot.investigation { background: #d6ad6a; }
.type-dot.legal { background: #af9dcb; }
.type-dot.platform { background: #90b4d5; }
.filter-section h2 { color: #7f919e; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; font-weight: 650; margin: 0 0 12px; }
.detail-sidebar { padding: 25px; border: 1px solid var(--line); border-radius: 3px; background: var(--sage); gap: 17px; }
.detail-sidebar .button { margin: 0; }
.detail-sidebar .subnote { margin: 0; }
.stage-tab strong { font-size: 12px; font-weight: 550; }
.stage-panel { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); gap: 40px; }
.stage-panel h2 { margin: 0 0 17px; }
.stage-panel ul { margin-block: 0 20px; padding-left: 16px; }
.stage-panel .detail-actions { margin-bottom: 0; }
.effect-number { font-family: var(--sans); font-size: 9px; font-weight: 500; letter-spacing: .1em; line-height: 1.7; }
.effect-card .text-link { font-size: 10px; }
.evidence-ladder { grid-template-columns: repeat(3, 1fr); }
.evidence-ladder h3 { font-size: 20px; line-height: 1.2; margin: 0 0 12px; }
.reading-links { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 28px; }
.reading-link { display: flex; align-items: center; justify-content: space-between; padding: 19px 0; border-bottom: 1px solid var(--line); text-decoration: none; gap: 18px; }
.reading-link strong { display: block; font-size: 14px; line-height: 1.45; color: var(--ink); font-weight: 500; }
.reading-link div > span { display: block; color: var(--muted); margin-top: 6px; font-size: 9px; }
.reading-link:hover strong { color: var(--accent); }
.reading-link > .arrow { font-size: 18px; flex: 0 0 auto; }
.economy-intro .thin-divider { height: auto; background: transparent; margin: 0; border-left: 1px solid var(--line); padding-left: 28px; }
.economy-intro .thin-divider > strong { display: block; font-size: 10px; letter-spacing: .07em; color: var(--accent); line-height: 1.8; margin-bottom: 12px; }
.economy-intro .thin-divider p { font-size: 12px; }
.mechanism .mechanism-limit { font-size: 11px; color: #9eafbb; }
.policy-toolbar { margin-top: 25px; }
.policy-toolbar > p { font-size: 11px; color: var(--muted); line-height: 1.8; }
.policy-table td:first-child { width: 43%; }
.policy-table td:nth-child(2) { width: 18%; }
.policy-table td:nth-child(3) { width: 23%; }
.policy-table td:nth-child(4) { width: 16%; }
.source-type-grid { margin: 20px 0 25px; }
.source-type-grid .badge + p { margin-top: 13px; }
.prose-layout > .aside-box { position: sticky; top: 24px; }
.toast { opacity: 0; pointer-events: none; transform: translate(-50%, 10px); transition: opacity .18s, transform .18s; }
.toast.visible { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 1180px) {
  .site-header .masthead { gap: 20px; }
  .site-header nav { gap: 22px; }
  .site-header nav a { font-size: 11px; }
  .saved-nav { padding-left: 18px; font-size: 10px; }
  .index-stat { padding-inline: 22px; gap: 10px; }
  .index-stat strong { font-size: 25px; }
  .date-stat strong { font-size: 10px; }
  .track-card { padding-inline: 23px; }
}
@media (max-width: 900px) {
  .site-header .masthead { min-height: 0; padding-top: 22px; flex-wrap: wrap; column-gap: 24px; row-gap: 0; }
  .site-header .brand { margin-bottom: 20px; }
  .site-header nav { width: 100%; order: 3; gap: 29px; overflow-x: auto; scrollbar-width: none; min-height: 45px; }
  .site-header nav::-webkit-scrollbar { display: none; }
  .site-header nav a { font-size: 12px; min-height: 45px; padding-bottom: 12px; }
  .saved-nav { margin-bottom: 20px; }
  .index-stat { padding: 19px 17px; gap: 9px; }
  .index-stat > span { font-size: 9px; }
  .index-bar { margin-bottom: 35px; }
  .feature-grid { grid-template-columns: 1.3fr 1fr; gap: 15px; }
  .feature-story { padding: 26px; }
  .feature-story h2 { font-size: 27px; }
  .dispatch-card { padding: 25px; }
  .dispatch-card h2 { font-size: 23px; }
  .track-card { padding-inline: 20px; }
  .track-card h3 { font-size: 19px; }
  .home-aside { grid-template-columns: 1fr 1fr; gap: 18px; }
  .source-key { display: grid; }
}
@media (max-width: 650px) {
  .hero-graphic { width: 100%; max-width: 450px; margin: 5px auto 0; }
  .orbit-svg { min-height: 245px; max-height: 290px; }
  .index-bar { grid-template-columns: 1fr 1fr; }
  .index-stat { min-height: 78px; padding: 19px; }
  .index-stat:nth-child(odd) { border-left: 0; padding-left: 0; }
  .index-stat:nth-child(n+3) { border-top: 1px solid var(--line); }
  .date-stat { justify-content: flex-start; padding-right: 0; }
  .date-stat strong { font-size: 11px; }
  .feature-grid { grid-template-columns: 1fr; margin-bottom: 32px; }
  .feature-story { min-height: 285px; }
  .dispatch-card { min-height: 245px; }
  .track-grid { margin-bottom: 34px; }
  .track-card, .track-card:first-child, .track-card:last-child { padding: 25px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .track-card:last-child { border-bottom: 0; }
  .track-top { margin-bottom: 15px; }
  .track-card h3 { font-size: 23px; }
  .track-card p { margin-bottom: 15px; }
  .home-aside { grid-template-columns: 1fr; }
  .principle-banner { align-items: flex-start; flex-direction: column; gap: 19px; padding: 23px; }
  .source-row h3 { font-size: 20px; }
}
@media (max-width: 560px) {
  .site-header .brand > svg { width: 30px; height: 30px; }
  .site-header .brand > span { font-size: 9px; }
  .site-header .brand strong { font-size: 11px; }
  .saved-nav { gap: 7px; border: 0; padding-left: 0; }
  .saved-label { display: none; }
  .site-header nav { gap: 26px; }
  .site-header nav a { font-size: 11px; }
  .graphic-top, .graphic-caption { font-size: 8px; }
  .index-stat strong { font-size: 28px; }
  .date-stat strong { font-size: 11px; }
  .index-stat > span { font-size: 9px; }
  .feature-story { padding: 26px 23px; }
  .feature-story h2 { font-size: 28px; }
  .dispatch-card { padding: 24px; }
  .dispatch-card h2 { font-size: 25px; }
  .record-meta { font-size: 9px; gap: 7px; }
  .source-row h3 { font-size: 20px; line-height: 1.3; }
  .source-row .source-summary { font-size: 12px; }
  .record-bottom { gap: 10px; align-items: flex-start; }
  .record-tags .tag { font-size: 8px; }
  .bookmark { font-size: 9px; padding-inline: 0; gap: 5px; }
  .status-label { font-size: 9px; }
  .aside-box { padding: 23px; }
  .principle-banner { margin-top: 28px; }
  .footer-inner { gap: 22px; }
}

@media (max-width: 1180px) {
  .source-detail { grid-template-columns: minmax(0,1fr) 250px; gap: 34px; }
  .prose-layout { grid-template-columns: minmax(0,1fr) 265px; gap: 35px; }
  .page-heading h1 { font-size: 44px; }
  .stage-panel { gap: 30px; }
  .detail-body > h1 { font-size: 40px; }
  .effect-card { padding-inline: 22px; }
}
@media (max-width: 900px) {
  .source-detail { grid-template-columns: minmax(0,1fr); gap: 30px; }
  .detail-sidebar { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .detail-sidebar > .eyebrow, .detail-sidebar dl, .detail-sidebar > .subnote { grid-column: 1 / -1; }
  .detail-sidebar dl { display: grid; grid-template-columns: 140px minmax(0,1fr); gap: 12px 15px; }
  .detail-sidebar dt, .detail-sidebar dt:first-child, .detail-sidebar dd { margin: 0; }
  .detail-sidebar dt { align-self: center; }
  .prose-layout { grid-template-columns: minmax(0,1fr); gap: 35px; }
  .prose-layout > .aside-box { position: static; }
  .guide-intro, .economy-intro { grid-template-columns: 1.3fr 1fr; gap: 25px; }
  .guide-intro p { font-size: 13px; }
  .guide-callout { padding: 20px; }
  .stage-panel { grid-template-columns: minmax(0,1fr); gap: 26px; }
  .stage-panel > div + div { border-top: 1px solid var(--line); padding-top: 24px; }
  .effect-grid { grid-template-columns: repeat(2,1fr); }
  .effect-card, .effect-card:nth-child(3n), .effect-card:nth-child(3n+1) { padding: 25px; border-right: 1px solid var(--line); }
  .effect-card:nth-child(odd) { padding-left: 0; }
  .effect-card:nth-child(even) { padding-right: 0; border-right: 0; }
  .home-aside { display: block; }
  .home-aside .source-key { columns: 2; column-gap: 25px; }
  .home-aside .source-key li { break-inside: avoid; }
  .home-aside > p { max-width: 500px; }
  .policy-table { min-width: 830px; }
}
@media (max-width: 650px) {
  .page-heading { padding-top: 37px; padding-bottom: 27px; margin-bottom: 27px; }
  .page-heading h1 { font-size: 39px; }
  .page-heading-top { flex-direction: column; align-items: flex-start; gap: 20px; }
  .page-heading-top p { font-size: 13px; line-height: 1.85; }
  .filter-panel { position: static; padding: 19px; border: 1px solid var(--line); background: var(--sage); border-radius: 3px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
  .filter-section { margin: 0 0 15px; padding-bottom: 17px; }
  .filter-section:last-of-type { margin-bottom: 15px; }
  .filter-note { grid-column: 1 / -1; }
  .filter-section .filter-option { padding: 7px 5px; font-size: 10px; }
  .filter-count { font-size: 9px; }
  .library-toolbar { gap: 11px; }
  .library-toolbar .search-wrap { flex-basis: 100%; }
  .library-toolbar select { flex: none; min-width: 140px; min-height: 38px; padding-block: 9px; }
  .results-bar { font-size: 9px; align-items: flex-start; }
  .results-bar > span:last-child { text-align: right; max-width: 150px; }
  .source-row, .library-results .source-row { gap: 12px; grid-template-columns: minmax(0,1fr) 25px; }
  .source-row > .bookmark { padding: 5px; }
  .record-bottom { flex-direction: column; gap: 10px; }
  .record-bottom .status-label, .record-bottom .record-tags { max-width: none; }
  .record-bottom .record-tags { justify-content: flex-start; }
  .guide-intro, .economy-intro { grid-template-columns: 1fr; gap: 25px; }
  .guide-intro p { font-size: 13px; }
  .guide-callout { padding: 20px 23px; }
  .guide-section { margin-top: 35px; }
  .guide-section > h2 { font-size: 27px; }
  .evidence-ladder { grid-template-columns: minmax(0,1fr); }
  .evidence-ladder > div { border-right: 0; border-bottom: 1px solid var(--line); padding: 23px; }
  .evidence-ladder > div:last-child { border-bottom: 0; }
  .evidence-ladder span { margin-bottom: 15px; }
  .evidence-ladder p { font-size: 12px; }
  .reading-links { grid-template-columns: minmax(0,1fr); }
  .reading-link { padding: 19px 0; }
  .reading-link strong { font-size: 15px; }
  .economy-intro { margin-bottom: 30px; }
  .economy-intro h2 { font-size: 31px; }
  .economy-intro .thin-divider { border-left: 2px solid #4c6675; background: var(--sage); padding: 19px 23px; }
  .mechanism-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
  .mechanism { padding-block: 27px; }
  .mechanism h3 { font-size: 25px; }
  .mechanism p { font-size: 13px; }
  .mechanism .mechanism-limit { font-size: 11px; }
  .policy-toolbar { align-items: flex-start; flex-direction: column; gap: 17px; margin-top: 23px; }
  .policy-toolbar > p { font-size: 10px; }
  .policy-toolbar select { min-width: 165px; }
  .policy-bottom-note { padding: 19px 22px; }
  .source-type-grid { grid-template-columns: minmax(0,1fr); }
  .source-type-grid > div { padding-block: 18px; }
}
@media (max-width: 560px) {
  .hero .graphic-caption { font-size: 8px; }
  .index-stat strong.date-stat { font-size: 9px; letter-spacing: 0; }
  .index-stat > div > span { font-size: 7px; letter-spacing: 0; }
  .index-stat > svg { width: 20px; height: 20px; flex-basis: 20px; }
  .dispatch-card h3 { font-size: 25px; }
  .page-heading .eyebrow { font-size: 9px; }
  .page-heading h1 { font-size: 36px; }
  .filter-panel { grid-template-columns: 1fr; }
  .filter-section { padding-bottom: 16px; }
  .filter-section .filter-option { font-size: 11px; padding: 7px 8px; }
  .filter-section h2 { font-size: 9px; }
  .filter-note { font-size: 10px; }
  .source-row, .library-results .source-row { padding-block: 23px; }
  .library-results .source-row h3, .source-row h3 { font-size: 19px; }
  .source-row .source-summary { line-height: 1.85; }
  .source-row .record-meta { gap: 6px; }
  .source-row .badge { font-size: 9px; }
  .record-bottom .status-label { font-size: 9px; line-height: 1.75; }
  .home-aside .source-key { columns: 1; }
  .detail-body > h1 { font-size: 31px; margin-block: 17px 20px; }
  .detail-byline { font-size: 10px; gap: 7px; padding-bottom: 21px; margin-bottom: 21px; }
  .detail-body .detail-summary { font-size: 15px; }
  .detail-actions { gap: 14px 21px; margin-top: 22px; }
  .detail-actions .text-link { font-size: 11px; gap: 9px; }
  .detail-section h2 { font-size: 22px; }
  .detail-section p, .detail-section li { font-size: 13px; }
  .limitation-box { padding: 20px; }
  .detail-sidebar { padding: 23px; grid-template-columns: minmax(0,1fr); }
  .detail-sidebar dl { grid-template-columns: 102px minmax(0,1fr); gap: 13px; }
  .detail-sidebar dd { font-size: 11px; }
  .detail-sidebar > .button { width: 100%; }
  .stage-tab { padding-inline: 15px; }
  .stage-tab strong { font-size: 12px; }
  .stage-panel { padding: 23px; }
  .stage-panel h2 { font-size: 28px; }
  .stage-panel .eyebrow { font-size: 8px; }
  .effect-grid { grid-template-columns: minmax(0,1fr); }
  .effect-card, .effect-card:nth-child(odd), .effect-card:nth-child(even), .effect-card:nth-child(3n), .effect-card:nth-child(3n+1) { padding: 25px 0; border-right: 0; }
  .effect-card h3 { font-size: 23px; }
  .effect-card p { font-size: 13px; }
  .effect-number { font-size: 9px; margin-bottom: 14px; }
  .guide-section > p { font-size: 13px; }
  .guide-section > h2 { font-size: 26px; }
  .prose h2 { font-size: 26px; }
  .prose p, .prose li { font-size: 13px; }
}


/* Dark analyst workspace: purposeful color, readable evidence, quiet chrome. */
.edition-strip, .top-strip, .topbar { background: #05090d; color: #8fa6b5; border-bottom: 1px solid #1f303b; }
.site-header, .header, .masthead { background: var(--paper); }
.edition-strip, .eyebrow, .kicker, .overline, .section-label,
.graphic-top, .graphic-caption, .index-stat > span, .index-stat > div > span,
.record-meta, .badge, .status-label, .record-tags .tag, .filter-section h2,
.filter-count, .filter-note, .results-bar, .stage-badge, .policy-table th,
.date-cell, .effect-number, .stage-tab > span:first-child, .track-top,
.track-bottom, .detail-sidebar dt, .detail-byline, .subnote, .small-muted {
  font-family: var(--mono);
}
.edition-strip { font-size: 9px; letter-spacing: .06em; }
.eyebrow, .kicker, .overline { color: var(--accent); font-weight: 500; }
.hero h1 { font-family: var(--serif); font-size: clamp(42px, 4.2vw, 60px); font-weight: 500; letter-spacing: -.04em; line-height: 1.07; }
.hero h1 em, .hero h1 .serif { font-family: var(--serif); font-size: 1em; font-style: normal; font-weight: 400; letter-spacing: -.035em; line-height: 1.07; color: #95b4c3; margin-top: 4px; }
.serif { font-family: var(--serif); }
.hero .graphic-caption { color: #8197a5; }
.graphic-top, .graphic-caption { border-color: #263946; }
.hero-graphic { color: #8aa6b8; }
.site-header nav a { color: #95a9b7; }
.site-header nav a.active, .site-header nav a[aria-current='page'] { color: #d9e7ef; }
.site-header nav a.active::after, .site-header nav a[aria-current='page']::after { background: var(--green); }
.site-header .brand { color: #d9e7ef; }
.saved-nav { color: #95afbf; }
.saved-nav:hover, .saved-nav.active { color: var(--green); }
.button, .btn { background: #182e38; border-color: #365461; color: #c7e7ed; }
.button:hover, .btn:hover { background: #223f4b; border-color: #4f7887; }
.button.primary, .btn.primary { background: #71c7d6; border-color: #71c7d6; color: #071218; font-weight: 600; }
.button.primary:hover, .btn.primary:hover { background: #91deeb; border-color: #91deeb; color: #071218; }
.button.secondary, .btn.secondary, .button-outline, .btn-outline { background: #111a23; border-color: #344650; color: #bcd0dd; }
.button.secondary:hover, .btn.secondary:hover, .button-outline:hover, .btn-outline:hover { background: #1a2b36; border-color: #54798a; color: #d6e9f0; }
.text-link, .link-arrow, .inline-link { color: #85cad7; }
.text-link:hover, .link-arrow:hover, .inline-link:hover { color: #b1e5ee; }
button.text-link { color: #85cad7; }
.feature-card, .featured-card, .feature-story, .economy-lead, .economy-callout { background: #141e28; color: #e2e9ef; border: 1px solid #314450; }
.feature-story h2, .feature-card h2, .featured-card h2 { color: #e2e9ef; }
.feature-story .eyebrow, .feature-card .eyebrow, .featured-card .eyebrow { color: #d6ad6a; }
.feature-story p, .feature-card p, .featured-card p { color: #a5b6c3; }
.feature-story .text-link, .feature-card .text-link, .featured-card .text-link { color: #85cad7; }
.feature-story .text-link:hover, .feature-card .text-link:hover, .featured-card .text-link:hover { color: #b1e5ee; }
.feature-rings, .feature-rings::before, .feature-rings::after { border-color: #567b8f35; }
.dispatch-card, .policy-card, .policy-highlight { background: #111820; border-color: #283641; }
.dispatch-card .eyebrow { color: #9bb0bd; }
.track-card:hover { background: #13212b55; }
.track-top { color: #85a9ba; }
.track-card:hover .track-top, .track-card:hover h3 { color: #91cedb; }
.index-stat strong { color: #d8e6ef; }
.index-stat > svg { stroke: #71a5ba; }
.index-stat strong.date-stat { color: #b4c9d5; font-family: var(--mono); }
.aside-box, .source-key, .type-key, .filters, .filter-sidebar { background: #111820; border-color: #283641; }
.home-aside .source-key { background: transparent; }
.aside-box .eyebrow { color: #8ba3b2; }
.type-dot.intelligence { background: #85b6a7; }
.type-dot.research { background: #71c7d6; }
.type-dot.investigation { background: #d6ad6a; }
.type-dot.legal { background: #af9dcb; }
.type-dot.platform { background: #90b4d5; }
.badge.type-intelligence, .badge.intelligence { background: #152923; color: #a5cbbb; border-color: #2c483e; }
.badge.type-research, .badge.research { background: #122830; color: #8ac9d7; border-color: #274954; }
.badge.type-investigation, .badge.type-news, .badge.news { background: #2d251b; color: #d8b984; border-color: #493b28; }
.badge.type-legal, .badge.legal { background: #221f31; color: #b8add6; border-color: #3c3453; }
.badge.type-platform, .badge.platform { background: #1a2733; color: #9bbada; border-color: #2d4258; }
.source-row h3 a, .policy-table h3 a { display: block; }
.source-row h3 { color: #dde7ee; }
.source-row:hover h3, .source-row:hover .source-title { color: #93d2de; }
.source-row .source-summary { color: #9aa9b5; }
.record-meta { color: #8ca2b1; }
.record-tags .tag { background: #101b24; color: #8ea8b9; border-color: #293d4a; }
.record-tags .tag:hover { background: #19303b; color: #b8dfe8; border-color: #3b6375; }
.status-label { color: #8fa4b3; }
.bookmark { color: #7e9aab; }
.bookmark:hover { color: #9bdce6; border-color: #3c6474; background: #142630; }
.bookmark.is-saved { color: #71c7d6; }
.bookmark.is-saved svg { fill: #71c7d6; stroke: #71c7d6; }
.principle-banner { background: #121e28; border-color: #2c4252; }
.principle-banner h3 { color: #d9e6ee; }
input, select, textarea { color-scheme: dark; }
.search-wrap input, .search-box input, .search-field input, input[type='search'],
.library-toolbar select, .search-toolbar select, .policy-toolbar select, .filter-group select {
  background: #101922; color: #dce7ef; border-color: #344752;
}
input::placeholder { color: #7f949f; }
.search-wrap svg, .search-box svg, .search-field svg { stroke: #88a9bb; }
.filter-section .filter-option { color: #9aafbd; }
.filter-section .filter-option:hover { background: #142630; color: #c4e0e8; }
.filter-section .filter-option.active { background: #1a3340; color: #a6dce6; box-shadow: inset 2px 0 #71c7d6; }
.clear-button, .filter-reset, .clear-filters { color: #8acbd8; }
.filter-chip.active, .chip.active, .filter-chip[aria-pressed='true'], .chip[aria-pressed='true'] { background: #1b3540; border-color: #3b6372; color: #bce7ee; }
.detail-sidebar, .detail-aside, .detail-meta { background: #111b24; border-color: #2a3e4b; }
.detail-summary, .detail-body .detail-summary { color: #b3c4d0; }
.detail-body p, .detail-body li, .detail-content p, .detail-content li, .detail-section p, .detail-section li { color: #a5b5c1; }
.detail-sidebar dd { color: #c2d2dc; }
.detail-sidebar .subnote { color: #8297a5; }
.limitation-box, .warning, .caution { background: #211e19; border-color: #493d2b; border-left-color: #d6ad6a; }
.limitation-box h2, .limitation-box h3 { color: #dbbd89; }
.limitation-box p { color: #bdb4a6; }
.note, .notice, .callout, .guide-callout { background: #14212b; border-color: #304b5c; border-left-color: #5d94aa; }
.guide-callout strong { color: #c2d8e4; }
.stage-tabs { border-color: #2b414e; }
.stage-tab { background: #111b24; color: #93a9b7; border-color: #2b414e; }
.stage-tab:hover { background: #192e39; }
.stage-tab.active, .stage-tab[aria-selected='true'] { background: #1b3540; color: #c8e6ec; box-shadow: inset 0 2px #71c7d6; }
.stage-panel, .guide-panel { background: #101922; border-color: #2b414e; }
.stage-panel .eyebrow { color: #8caab9; }
.stage-panel h2 { color: #dce8ef; }
.stage-panel p, .stage-panel li { color: #a3b7c4; }
.effect-number { color: #7f9dab; }
.evidence-ladder { background: #111c26; border-color: #2a404e; }
.evidence-ladder > div { border-color: #2a404e; }
.evidence-ladder span { color: #84b9c9; font-family: var(--mono); font-size: 9px; }
.evidence-ladder h3 { color: #d2e0e9; }
.reading-link strong { color: #bdcfdc; }
.reading-link:hover strong { color: #93d2de; }
.reading-link > .arrow { color: #72acbf; }
.economy-intro .thin-divider { border-color: #3f5969; }
.economy-intro .thin-divider > strong { color: #d6ad6a; font-family: var(--mono); font-size: 9px; }
.mechanism-limit, .mechanism .mechanism-limit { background: #151f28; border-left-color: #476575; color: #a1b4c1; }
.policy-table-wrap, .table-wrap { background: #111820; border-color: #2c3e4a; }
.policy-table th { background: #16222d; color: #93adbc; border-color: #2c3e4a; }
.policy-table td { border-color: #283a46; }
.policy-table tr:hover td { background: #15232e; }
.policy-table h3 { color: #d5e3ec; }
.policy-table a:hover { color: #93d2de; }
.policy-table td p { color: #91a6b5; }
.stage-badge { color: #9bd5df; background: #163038; border-color: #2f5460; }
.stage-badge.preliminary { color: #dbb880; background: #2b2419; border-color: #4f402a; }
.policy-bottom-note { background: #131f29; border-left-color: #4c6c7d; }
.pagination button { background: #15222d; color: #a8c0d0; border-color: #2e4657; }
.pagination button.active { background: #1b3540; color: #c4e5ed; border-color: #477182; }
.empty-state { background: #121e28; border-color: #3b5263; }
.prose strong { color: #d2e1eb; }
.prose a, .external-list a { color: #85cad7; }
.prose a:hover, .external-list a:hover { color: #b1e5ee; }
.site-footer a:not(.footer-brand) { color: #8ca5b6; }
.site-footer a:hover { color: #9ad7e2; }
.toast { background: #1a303d; border: 1px solid #416578; color: #d5e9f2; box-shadow: 0 8px 30px #00000060; }
.skip-link { background: #1a3340; border: 1px solid #4b7b8c; color: #e2f2f6; }
@media (max-width: 900px) {
  .hero h1 { font-size: 41px; }
}
@media (max-width: 650px) {
  .hero h1 { font-size: clamp(41px, 8.1vw, 53px); }
  .filter-panel { background: #111b24; border-color: #2a3e4b; }
  .economy-intro .thin-divider { background: #151f28; border-left-color: #526e80; }
}
@media (max-width: 560px) {
  .hero h1 { font-size: 42px; }
  .edition-strip { font-size: 7px; letter-spacing: .025em; }
  .record-meta { font-size: 8px; }
  .source-row .badge { font-size: 8px; }
  .record-tags .tag { font-size: 8px; }
}
@media (max-width: 359px) {
  .hero h1 { font-size: 37px; }
}

/* Coordinated amplification research briefing */
.amplification-findings .reading-links { margin-top: 20px; }
.amplification-findings .reading-link { font-size: 11px; }
.evidence-ladder .text-link { margin-top: 16px; }
.amplification-path { margin-top: 28px; padding: 28px; border: 1px solid var(--line); background: var(--card); }
.amplification-path h3 { font-size: 21px; }
.amplification-path ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; padding: 0; margin: 25px 0; list-style: none; counter-reset: pathway; }
.amplification-path li { counter-increment: pathway; margin: 0; padding-top: 13px; border-top: 1px solid #3a5665; min-width: 0; }
.amplification-path li::before { content: '0' counter(pathway); display: block; margin-bottom: 13px; color: var(--accent); font: 11px/1.5 var(--mono); }
.amplification-path strong { display: block; font-size: 13px; line-height: 1.5; margin-bottom: 9px; }
.amplification-path span, .amplification-path > p { display: block; color: var(--muted); font-size: 12px; line-height: 1.8; }
.amplification-path > p { padding-top: 18px; border-top: 1px solid var(--line); }
.amplification-questions dl { margin: 24px 0; }
.amplification-questions dl > div { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 25px; border-top: 1px solid var(--line); padding: 19px 0; }
.amplification-questions dl > div:last-child { border-bottom: 1px solid var(--line); }
.amplification-questions dt { font-size: 14px; font-weight: 550; }
.amplification-questions dd { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
.amplification-editorial { border-left: 2px solid var(--accent); background: var(--sage); padding: 19px 23px; }
.persuasion-studies { margin-top: 27px; }
.persuasion-study .study-outcome { margin: 0 0 14px; color: #aac3d1; font-size: 11px; }
.persuasion-study .reading-links { grid-template-columns: minmax(0, 1fr); }
.persuasion-study .reading-link { padding-bottom: 0; border-bottom: 0; }
.persuasion-study .reading-link strong { font-size: 12px; }
.study-details { margin-top: 20px; border-top: 1px solid var(--line); }
.study-details > summary { cursor: pointer; padding: 15px 0; color: #89c9d7; font-size: 12px; line-height: 1.6; }
.study-details > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.study-details[open] > summary { color: #c2e4ec; }
.study-details .mechanism-limit { margin-top: 15px; }
.study-facts { margin: 0; }
.study-facts > div { padding: 11px 0; border-bottom: 1px solid var(--line); }
.study-facts dt { color: #8faebb; font: 9px/1.6 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.study-facts dd { margin: 5px 0 0; color: #bdcfdc; font-size: 12px; line-height: 1.7; }
.persuasion-study .study-method { margin: -4px 0 15px; color: #d6ad6a; font: 10px/1.7 var(--mono); }
.evidence-actions { display: flex; flex-wrap: wrap; gap: 0 17px; }
.emotion-loop { margin: 36px 0 0; padding: 30px; border: 1px solid #345364; background: #0e1821; }
.emotion-loop figcaption h2 { font-size: 27px; margin: 12px 0; }
.emotion-loop figcaption > p, .emotion-loop-note { color: var(--muted); font-size: 12px; line-height: 1.8; }
.emotion-cycle { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: 'exposure response' 'feedback engagement'; gap: 42px; list-style: none; padding: 0; margin: 29px 0; }
.emotion-cycle > li { position: relative; min-width: 0; margin: 0; padding: 24px; border: 1px solid #2f4e5f; background: #13212d; }
.loop-exposure { grid-area: exposure; }
.loop-response { grid-area: response; }
.loop-engagement { grid-area: engagement; }
.loop-feedback { grid-area: feedback; }
.emotion-cycle > li > span, .emotion-branches > div > span { color: #86c4d5; font: 9px/1.6 var(--mono); letter-spacing: .08em; }
.emotion-cycle h3, .emotion-branches h3 { font-size: 18px; line-height: 1.35; margin: 12px 0; }
.emotion-cycle p, .emotion-branches p { color: #a6bbc8; font-size: 12px; line-height: 1.8; }
.emotion-cycle a { display: inline-flex; align-items: center; gap: 10px; margin-top: 16px; color: #a3d7e3; font-size: 11px; line-height: 1.6; }
.emotion-cycle a:hover { color: var(--accent); }
.emotion-cycle > li::after { position: absolute; color: #6a9bae; font: 26px/1 var(--mono); }
.emotion-cycle .loop-exposure::after { content: '→'; top: 50%; right: -34px; }
.emotion-cycle .loop-response::after { content: '↓'; bottom: -35px; left: 50%; }
.emotion-cycle .loop-engagement::after { content: '←'; top: 50%; left: -34px; }
.emotion-cycle .loop-feedback::after { content: '↑'; top: -35px; left: 50%; }
.emotion-branches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; padding-top: 24px; border-top: 1px dashed #496676; }
.emotion-branches > div { border-left: 2px solid #6d5a39; padding-left: 18px; }
.emotion-branches > div > span { color: #d6ad6a; }
.emotion-loop-note { margin-top: 24px; }
.emotion-evidence { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; margin-top: 22px; border-top: 1px solid var(--line); }
.emotion-evidence > div { padding: 23px 0; border-bottom: 1px solid var(--line); }
.emotion-evidence h3 { font-size: 17px; margin-bottom: 11px; }
.emotion-evidence p { color: var(--muted); font-size: 12px; line-height: 1.8; }
@media (max-width: 900px) {
  .amplification-path ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .emotion-loop { padding: 22px; }
  .emotion-cycle { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'exposure' 'response' 'engagement' 'feedback'; gap: 32px; }
  .emotion-cycle > li { padding: 20px; }
  .emotion-loop .emotion-cycle > li::after { content: '↓'; top: auto; bottom: -30px; left: 50%; right: auto; }
  .emotion-loop .emotion-cycle .loop-feedback::after { content: '↺'; }
  .emotion-branches, .emotion-evidence { grid-template-columns: minmax(0, 1fr); }
  .amplification-path { padding: 23px; }
  .amplification-path ol { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .amplification-questions dl > div { grid-template-columns: minmax(0, 1fr); gap: 7px; }
}
