:root {
  --france-blue: #001e50;
  --france-blue-deep: #00143a;
  --france-blue-bright: #003287;
  --france-blue-soft: #edf3ff;
  --burgundy: var(--france-blue);
  --burgundy-dark: var(--france-blue-deep);
  --ink: #161832;
  --muted: #62677b;
  --line: #dfe1ee;
  --surface: #ffffff;
  --canvas: #f7f7fc;
  --gold: #d6a91d;
  --blue: #4f8df7;
  --purple: #8b6bd6;
  --orange: #ef8b2c;
  --green: #42ad73;
  --pink: #df5b92;
  --teal: #2ca6a6;
  --shadow: 0 16px 45px rgba(0, 30, 80, .1);
}
* { box-sizing: border-box; }
html { min-width: 320px; background: var(--canvas); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 50% -10rem, #fff 0, #f1f5fb 28rem, var(--canvas) 54rem); }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
[hidden] { display: none !important; }
.topbar { position: sticky; top: 0; z-index: 40; height: 72px; display: grid; grid-template-columns: 1fr auto; align-items: center; padding: 0 34px; border-bottom: 1px solid rgba(0,30,80,.14); background: rgba(255,255,255,.96); color: var(--ink); box-shadow: 0 8px 28px rgba(0,30,80,.07); backdrop-filter: blur(16px); }
.brand { display: inline-flex; justify-self: start; align-items: center; gap: 9px; color: var(--france-blue); text-decoration: none; }
.brand-logo { display: block; width: 42px; height: 42px; object-fit: contain; }
.brand-wordmark { color: var(--france-blue); font-size: 22px; font-weight: 850; letter-spacing: .035em; line-height: 1; }
.language-switch { justify-self: end; display: flex; padding: 3px; border: 1px solid #d5d7e6; border-radius: 9px; background: #f7f7fc; }
.language-switch button { border: 0; border-radius: 6px; padding: 5px 9px; background: transparent; color: #6e7286; font-size: 12px; font-weight: 750; cursor: pointer; }
.language-switch button.active { background: var(--france-blue); color: #fff; box-shadow: 0 2px 7px rgba(0,30,80,.24); }
.topbar-actions { justify-self: end; display: flex; align-items: center; gap: 12px; }
.guide-button { border: 1px solid rgba(0,50,135,.24); border-radius: 8px; padding: 7px 12px; background: #fff; color: var(--france-blue); font-family: inherit; font-size: 12px; font-weight: 750; line-height: 1; cursor: pointer; }
.guide-button:hover, .guide-button:focus-visible { border-color: var(--france-blue); background: #f1f5fc; outline: none; }
.home-page { position: relative; isolation: isolate; min-height: calc(100vh - 72px); display: flex; flex-direction: column; align-items: center; overflow: hidden; padding: 78px 24px 40px; }
.home-page::before { position: absolute; z-index: -1; top: -150px; left: 50%; width: 760px; height: 420px; transform: translateX(-50%) rotate(-7deg); border-radius: 50%; background: radial-gradient(ellipse, rgba(0,50,135,.14), rgba(0,50,135,0) 68%); content: ""; }
.hero { max-width: 790px; text-align: center; }
.eyebrow { margin: 0 0 13px; color: var(--france-blue); font-size: 11px; font-weight: 850; letter-spacing: .18em; }
.hero h1 { max-width: 750px; margin: 0 auto; color: #111336; font: 520 clamp(39px, 5vw, 64px)/1.06 Georgia, "Times New Roman", serif; letter-spacing: -.033em; text-wrap: balance; }
.hero p:last-child { max-width: 630px; margin: 21px auto 0; color: var(--muted); font-size: 17px; line-height: 1.65; }
.home-search-card { position: relative; width: min(1040px, 100%); margin-top: 42px; overflow: hidden; padding: 29px; border: 1px solid rgba(0,30,80,.15); border-radius: 20px; background: rgba(255,255,255,.96); box-shadow: var(--shadow); }
.home-search-card::before { position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--france-blue-deep), var(--france-blue-bright) 72%, #2f6fd0); content: ""; }
.search-card-title { display: flex; align-items: baseline; gap: 16px; margin-bottom: 21px; }
.search-card-title h2 { margin: 0; font: 500 25px Georgia, serif; }
.search-card-title p { margin: 0; color: var(--muted); font-size: 13px; }
.home-search-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.home-search-grid .search-field { margin-bottom: 0; }
.search-rating-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.search-field { display: grid; gap: 7px; margin-bottom: 18px; color: #444b55; font-size: 12px; font-weight: 700; }
.search-field input, .search-field select, .sort-control select { width: 100%; height: 43px; border: 1px solid #d5d7e3; border-radius: 9px; padding: 0 12px; outline: none; background: #fff; color: var(--ink); font-weight: 450; }
.search-field input:hover, .search-field select:hover, .sort-control select:hover { border-color: #adafca; }
.search-field input:focus, .search-field select:focus, .sort-control select:focus { border-color: var(--france-blue-bright); box-shadow: 0 0 0 3px rgba(0,50,135,.12); }
.btn { min-height: 41px; border: 1px solid transparent; border-radius: 9px; padding: 0 17px; font-size: 13px; font-weight: 750; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, background .15s ease; }
.btn-primary { background: var(--burgundy); color: #fff; }
.btn-primary:hover { transform: translateY(-1px); background: var(--france-blue-bright); box-shadow: 0 7px 18px rgba(0,30,80,.22); }
.btn-quiet { border-color: #d5d7e3; background: #fff; color: #42475d; }
.btn-quiet:hover { border-color: #b9bbd0; background: #f7f7ff; }
.home-search-button { display: block; margin: 5px auto 0; min-width: 210px; }
.home-proof { display: flex; flex-wrap: wrap; justify-content: center; gap: 32px 58px; margin-top: 35px; color: var(--muted); }
.home-proof span { display: grid; text-align: center; }
.home-proof b { color: var(--ink); font: 500 22px Georgia, serif; }
.home-proof i { margin-top: 4px; font-size: 11px; font-style: normal; }
.results-page { min-height: calc(100vh - 72px); padding: 35px 36px 55px; }
.results-content { max-width: 1500px; margin: 0 auto; }
.results-header { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-bottom: 25px; }
.results-header h1 { margin: 0; font: 500 34px Georgia, serif; }
.results-summary { margin: 8px 0 0; color: var(--muted); font-size: 13px; }
.therapy-status-label>span { width: 7px; height: 7px; border-radius: 50%; background: #aaa39b; }
.status-source_ready>span { background: #23856b; }
.status-source_ready_with_gaps>span { background: #d39a22; }
.status-held_unready>span { background: #8f6ab1; }
.status-not_ingested>span { background: #a9a39c; }
.status-has_early_access_only>span { background: #367aa8; }
.status-no_has_assessment>span { background: #8b837a; }
.status-out_of_oncology_scope>span { background: #b85d68; }
.status-legacy_has_opinion>span { background: #725a42; }
.therapy-availability .card-main { padding-bottom: 24px; }
.therapy-availability h2 { margin: 5px 0 10px; font: 500 27px Georgia, serif; }
.therapy-availability p { max-width: 760px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.therapy-status-label { display: inline-flex; gap: 7px; align-items: center; border-radius: 999px; padding: 5px 9px; background: #f0f1f8; font-weight: 750; }
.results-actions { display: flex; align-items: end; gap: 12px; }
.sort-control { display: grid; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.sort-control select { min-width: 145px; height: 41px; text-transform: none; letter-spacing: 0; font-size: 13px; }
.view-toggle { display: flex; padding: 3px; border: 1px solid #d5d7e3; border-radius: 9px; background: #fff; }
.view-btn { height: 33px; border: 0; border-radius: 5px; padding: 0 12px; background: transparent; color: var(--muted); font-size: 12px; font-weight: 700; cursor: pointer; }
.view-btn.active { background: var(--france-blue-soft); color: var(--france-blue); }
.results-split { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.results-split.source-open { grid-template-columns: minmax(0, 46fr) minmax(440px, 54fr); gap: 18px; align-items: start; }
.results-left { min-width: 0; }
.indication-cards { display: grid; gap: 14px; }
.indication-card { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); box-shadow: 0 5px 20px rgba(0,30,80,.05); }
.card-main { padding: 18px 22px 0; }
.card-top { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-bottom: 12px; border-bottom: 1px solid #e8e9f1; }
.card-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.tag { display: inline-flex; align-items: center; min-height: 25px; border-radius: 999px; padding: 0 10px; background: #f0f1f6; color: #5d6274; font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.tag-product { border: 0; background: var(--france-blue-soft); color: var(--france-blue); font-family: inherit; }
.tag-ct { background: #e9f1ff; color: #294e88; }
.tag-treatment { max-width: min(650px, 70vw); text-align: left; text-transform: none; letter-spacing: 0; }
.tag-treatment span { margin-left: 3px; font-size: 9px; }
.tag-treatment-gap { text-transform: none; letter-spacing: 0; }
.card-top time { color: var(--muted); font-size: 12px; }
.shared-evidence { display: grid; grid-template-columns: 1fr; gap: 12px; padding: 13px 0; }
.evidence-row, .population-field { min-width: 0; }
.field-label { display: block; margin-bottom: 7px; color: #626975; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.field-preview { position: relative; width: 100%; min-height: 52px; border: 0; border-left: 4px solid var(--field); border-radius: 6px; padding: 9px 88px 9px 12px; background: color-mix(in srgb, var(--field) 8%, white); color: var(--ink); text-align: left; cursor: pointer; }
.field-preview:hover { background: color-mix(in srgb, var(--field) 14%, white); }
.field-preview small { position: absolute; right: 12px; top: 12px; color: color-mix(in srgb, var(--field) 75%, #222); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.field-source-stack { display: grid; gap: 6px; }
.field-source-stack .field-preview + .field-preview { min-height: 52px; background: color-mix(in srgb, var(--field) 5%, white); }
.repeated-list { display: grid; gap: 8px; }
.repeated-entry { width: 100%; border: 1px solid color-mix(in srgb, var(--field) 35%, #ddd); border-left: 4px solid var(--field); border-radius: 6px; background: color-mix(in srgb, var(--field) 6%, white); padding: 11px 13px; color: var(--ink); font-family: inherit; font-size: 12px; line-height: 1.45; text-align: left; cursor: pointer; }
.repeated-entry:hover { background: color-mix(in srgb, var(--field) 12%, white); }
.repeated-entry span, .repeated-entry small { display: block; }
.repeated-entry span { line-height: 1.45; }
.repeated-entry small { margin-top: 7px; color: color-mix(in srgb, var(--field) 75%, #222); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.limitation-value b { display: inline-block; margin-right: 7px; color: color-mix(in srgb, var(--field) 72%, #222); text-transform: capitalize; }
.result-heading { display: flex !important; align-items: baseline; flex-wrap: wrap; gap: 8px; margin-bottom: 7px; }
.result-heading b { font-size: 12px; color: color-mix(in srgb, var(--field) 78%, #222); }
.result-heading strong { font: 700 12px/1.45 inherit; }
.repeated-entry span em { display: inline-block; min-width: 72px; margin-right: 8px; color: var(--muted); font-size: 9px; font-style: normal; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.preview-text { font-size: 13px; line-height: 1.48; }
.value-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.value-chips span { border: 1px solid color-mix(in srgb, var(--field) 38%, #ddd); border-radius: 999px; padding: 5px 9px; background: #fff; color: #3e444c; font-size: 11px; }
.source-trigger { cursor: pointer; }
.gap-text { min-height: 42px; margin: 0; border: 1px dashed #d9d5d0; border-radius: 6px; padding: 10px 12px; color: #8a8e94; font-size: 12px; font-style: italic; }
.gap-mark { margin-right: 6px; color: var(--burgundy); font: 700 19px Georgia, serif; }
.compact-gaps { grid-column: 1 / -1; margin: 0; border-top: 1px dashed #ddd7d2; padding: 9px 2px 1px; color: #858990; font-size: 11px; line-height: 1.5; }
.compact-gaps b { color: #6e737b; font-weight: 750; }
.field-authorised_indication { --field: var(--gold); }
.field-treatment_regimen { --field: var(--purple); }
.field-population { --field: var(--blue); }
.field-comparator { --field: var(--orange); }
.field-comparator_justification { --field: #c96d18; }
.field-smr, .field-smr_justification { --field: var(--pink); }
.field-asmr { --field: var(--teal); }
.field-asmr_justification { --field: var(--teal); }
.field-evidence_limitations { --field: #3a9b96; }
.field-trial_data { --field: #4c8fc7; }
.population-section-title { margin: 0 -22px; padding: 8px 22px; border-top: 1px solid #e8e9f1; border-bottom: 1px solid #e8e9f1; background: #f8f8fd; color: var(--france-blue); font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.population-groups { display: grid; gap: 10px; padding: 11px 0 13px; }
.population-group { border: 1px solid #e7e3df; border-radius: 10px; padding: 11px 13px; }
.population-group.single { border: 0; border-radius: 0; padding: 0; }
.population-group h3 { margin: 0 0 10px; font: 500 16px Georgia, serif; }
.population-grid { display: grid; grid-template-columns: 1fr; gap: 9px; }
.justification-disclosure { overflow: hidden; border: 1px solid color-mix(in srgb, var(--field) 32%, #ddd); border-left: 4px solid var(--field); border-radius: 7px; background: color-mix(in srgb, var(--field) 5%, white); }
.justification-disclosure summary { display: flex; align-items: center; gap: 10px; padding: 9px 11px; color: #565d66; font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; list-style: none; }
.justification-disclosure summary::-webkit-details-marker { display: none; }
.justification-disclosure summary::after { content: '⌄'; margin-left: 2px; color: color-mix(in srgb, var(--field) 78%, #222); font-size: 15px; line-height: 1; transition: transform .16s ease; }
.justification-disclosure[open] summary::after { transform: rotate(180deg); }
.justification-disclosure summary b { margin-left: auto; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.justification-combined { border-top: 1px solid color-mix(in srgb, var(--field) 24%, #ddd); background: #fff; }
.justification-source { display: grid; width: 100%; gap: 6px; border: 0; padding: 10px 12px; background: transparent; color: var(--ink); font-family: inherit; font-size: 12px; line-height: 1.45; text-align: left; cursor: pointer; }
.justification-source + .justification-source { border-top: 1px solid #eee9e4; }
.justification-source:hover { background: color-mix(in srgb, var(--field) 7%, white); }
.justification-source small { color: color-mix(in srgb, var(--field) 75%, #222); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.comparator-analysis { overflow: hidden; border: 1px solid color-mix(in srgb, var(--orange) 35%, #ddd); border-left: 4px solid var(--orange); border-radius: 8px; background: #fffaf4; }
.comparator-analysis h4 { margin: 0; border-bottom: 1px solid #eee0d2; padding: 9px 11px; color: #75502b; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.comparator-answer { display: grid; gap: 0; }
.comparator-answer-part { display: grid; gap: 5px; padding: 10px 12px; }
.comparator-answer-part + .comparator-answer-part { border-top: 1px solid #eee5dc; }
.comparator-answer-part > span { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }
.comparator-answer-part strong { font-size: 12px; line-height: 1.45; }
.comparator-answer-part ul { display: grid; gap: 6px; margin: 0; padding-left: 17px; font-size: 12px; line-height: 1.45; }
.comparator-part-source { display: grid; width: 100%; gap: 4px; border: 0; border-radius: 6px; padding: 5px 7px; background: transparent; color: inherit; font: inherit; line-height: 1.45; text-align: left; cursor: pointer; }
.comparator-part-source:hover, .comparator-part-source:focus-visible { background: #fff4e8; outline: 1px solid #ecd2b4; }
.comparator-part-source small { color: #9a5418; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.comparator-answer-part li::marker { color: #c96d18; }
.standardized-chip { display: inline-flex; width: fit-content; margin: 0 5px 5px 0; border-radius: 999px; padding: 3px 7px; background: #e8f1f2; color: #276d70; font-size: 9px; font-style: normal; font-weight: 800; letter-spacing: .025em; line-height: 1.25; }
.taxonomy-list { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 4px; }
.taxonomy-list .standardized-chip { margin: 0; }
.comparator-source { width: 100%; border: 0; border-top: 1px solid #eee0d2; padding: 8px 12px; background: #fff; color: #9a5719; font: 800 9px/1.3 inherit; text-align: left; text-transform: uppercase; cursor: pointer; }
.comparator-source:hover { background: #fff4e8; }
.population-field.field-smr .field-label, .population-field.field-asmr .field-label { margin-bottom: 4px; }
.population-field.field-smr .field-preview, .population-field.field-asmr .field-preview { min-height: 38px; padding: 7px 88px 7px 12px; }
.population-field.field-smr .field-preview small, .population-field.field-asmr .field-preview small { top: 50%; transform: translateY(-50%); }
.population-field.field-smr .preview-text, .population-field.field-asmr .preview-text { font-size: 12px; line-height: 1.25; font-weight: 750; }
.evidence-disclosure { margin: 0 -22px; border-top: 1px solid #e8e9f1; background: #fbfbfe; }
.evidence-disclosure + .evidence-disclosure { border-top-color: #e5e2de; }
.evidence-disclosure summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 22px; color: #626975; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; list-style: none; }
.evidence-disclosure summary::-webkit-details-marker { display: none; }
.evidence-disclosure summary::after { content: '⌄'; order: 3; color: color-mix(in srgb, var(--field) 78%, #222); font-size: 16px; line-height: 1; transition: transform .16s ease; }
.evidence-disclosure[open] summary::after { transform: rotate(180deg); }
.evidence-disclosure summary b { margin-left: auto; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .03em; text-transform: none; }
.evidence-disclosure-body { padding: 0 22px 15px; }
.results-right { position: sticky; top: 90px; overflow: hidden; height: calc(100vh - 108px); border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow); }
.pdf-panel-toolbar { height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 17px; border-bottom: 1px solid var(--line); }
.pdf-panel-toolbar > div { min-width: 0; display: grid; gap: 5px; }
.pdf-panel-toolbar strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 500 14px Georgia, serif; }
#pdfSourceField { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
#pdfSourceField::before { width: 8px; height: 8px; border-radius: 50%; background: var(--field-color, var(--gold)); content: ""; }
.pdf-panel-close, .filter-close { border: 0; background: transparent; color: #666d76; font-size: 25px; cursor: pointer; }
.pdf-panel-body { height: calc(100% - 66px); display: grid; grid-template-rows: auto 1fr; }
.pdf-viewer-controls { min-height: 39px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 6px 15px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.pdf-source-actions { display: flex; align-items: flex-end; justify-content: flex-end; gap: 8px; }
.pdf-related-documents { display: grid; gap: 3px; border-left: 1px solid var(--line); padding-left: 8px; }
.pdf-related-documents span { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.pdf-related-documents a { color: var(--burgundy); font-size: 9px; font-weight: 700; text-decoration: none; }
.pdf-related-documents a:hover { text-decoration: underline; }
.pdf-official-source { color: var(--burgundy); font-size: 11px; font-weight: 750; text-decoration: none; }
.pdf-official-source:hover { text-decoration: underline; }
.official-pdf-viewer { min-height: 0; display: flex; flex-direction: column; overflow: hidden; background: #e9eaf2; }
.pdf-browser-controls { display: flex; align-items: center; gap: 7px; min-height: 42px; padding: 6px 12px; border-bottom: 1px solid var(--line); background: #fff; }
.pdf-browser-controls button { width: 30px; height: 28px; border: 1px solid #d7d2cd; border-radius: 5px; background: #fff; color: var(--ink); font-size: 17px; cursor: pointer; }
.pdf-unofficial-badge { margin-right: auto; color: var(--burgundy); font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
.pdf-pages { min-height: 0; flex: 1; overflow: auto; padding: 20px; }
.pdf-page { position: relative; margin: 0 auto 18px; background: #fff; box-shadow: 0 3px 15px rgba(31,26,27,.18); }
.pdf-page canvas { position: absolute; inset: 0; display: block; }
.pdf-highlight-overlay { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.pdf-highlight { position: absolute; border-radius: 2px; background: rgba(214,169,29,.3); box-shadow: inset 0 -2px rgba(145,105,0,.32); mix-blend-mode: multiply; }
.pdf-highlight-population { background: rgba(79,141,247,.27); }
.pdf-highlight-treatment_regimen { background: rgba(139,107,214,.27); }
.pdf-highlight-comparator { background: rgba(239,139,44,.29); }
.pdf-highlight-comparator_justification { background: rgba(201,109,24,.29); }
.pdf-highlight-smr, .pdf-highlight-smr_justification { background: rgba(223,91,146,.27); }
.pdf-highlight-asmr { background: rgba(44,166,166,.27); }
.pdf-highlight-asmr_justification { background: rgba(44,166,166,.27); }
.pdf-highlight-evidence_limitations { background: rgba(58,155,150,.27); }
.pdf-highlight-trial_data { background: rgba(76,143,199,.27); }
.pdf-highlight[class*="pdf-highlight-ceesp_"] { background: rgba(66,110,134,.3); box-shadow: inset 0 -2px rgba(33,79,103,.32); }
.pdf-integrity-notice { margin: 12px 14px 0; border: 1px solid #e0d7bc; border-radius: 7px; padding: 9px 11px; background: #fff9e6; color: #675725; font-size: 11px; line-height: 1.45; }
.pdf-integrity-notice.info { border-color: #d9d5d0; background: #f8f6f3; color: var(--muted); }
.pdf-structured-fallback { overflow: auto; padding: 20px; background: #fff; color: var(--ink); }
.pdf-structured-fallback h3 { margin: 0 0 13px; font: 500 20px Georgia, serif; }
.pdf-structured-fallback article { border: 1px solid var(--line); border-radius: 8px; padding: 13px; background: #fbfaf8; }
.pdf-structured-fallback article + article { margin-top: 10px; }
.pdf-structured-fallback strong { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
.pdf-structured-fallback blockquote { margin: 9px 0 0; border-left: 3px solid var(--burgundy); padding-left: 12px; font: 400 13px/1.55 Georgia, serif; white-space: pre-wrap; }
.evidence-origin-badge { display: inline-flex; border-radius: 999px; padding: 4px 7px; background: var(--france-blue-soft); color: var(--france-blue) !important; }
.evidence-source-metadata { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; margin: 12px 0 0; }
.evidence-source-metadata div { min-width: 0; }
.evidence-source-metadata dt { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.evidence-source-metadata dd { overflow-wrap: anywhere; margin: 2px 0 0; font-size: 11px; line-height: 1.35; }
.evidence-source-metadata dd.metadata-gap { color: #8a6e58; font-style: italic; }
.evidence-attribution { margin: 11px 0 0; color: #565d66; font-size: 11px; font-weight: 700; }
.avislume-evidence-highlight { background: rgba(255, 221, 87, .42); color: inherit; box-shadow: inset 0 -2px rgba(0, 30, 80, .2); }
.evidence-locator { margin: 9px 0 0; color: var(--muted); font-size: 10px; }
.evidence-copy { margin-top: 8px; border: 1px solid #cfc7bf; border-radius: 6px; padding: 6px 8px; background: #fff; color: var(--burgundy); font-family: inherit; font-size: 10px; font-weight: 750; cursor: pointer; }
.evidence-copy:hover { border-color: var(--burgundy); }
.pdf-structured-fallback article .pdf-integrity-notice { margin: 10px 0 0; }
.official-document-frame { width: 100%; min-height: 0; flex: 1; border: 0; background: #fff; }
.ansm-verified-capture { margin: 14px; overflow: auto; border: 1px solid #d6d0ca; border-radius: 9px; padding: 22px; background: #fff; box-shadow: 0 3px 14px rgba(31,26,27,.1); }
.ansm-verified-capture header { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 3px solid #7255a7; padding-bottom: 11px; }
.ansm-verified-capture header strong { max-width: 70%; font: 600 15px/1.3 Georgia, serif; }
.ansm-verified-capture header span { border-radius: 999px; padding: 5px 8px; background: #eee8f6; color: #654891; font-size: 9px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.ansm-capture-kicker { margin: 18px 0 4px; color: #7255a7; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ansm-verified-capture h3 { margin: 0 0 18px; font: 500 22px/1.3 Georgia, serif; }
.ansm-verified-capture h4 { margin: 0 0 7px; color: #655d55; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.ansm-verified-capture > p:not(.ansm-capture-kicker) { margin: 0; font: 400 14px/1.65 Georgia, serif; }
.ansm-capture-audit { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px 14px; margin: 22px 0 0; border-top: 1px solid #e7e2dd; padding-top: 13px; }
.ansm-capture-audit div { min-width: 0; }
.ansm-capture-audit dt { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.ansm-capture-audit dd { overflow-wrap: anywhere; margin: 3px 0 0; font-size: 10px; }
.filter-backdrop { position: fixed; inset: 0; z-index: 70; border: 0; background: rgba(14,15,47,.42); backdrop-filter: blur(2px); }
.filter-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 80; width: min(520px, 92vw); padding: 31px; overflow-y: auto; border-right: 4px solid var(--france-blue); background: #fff; box-shadow: 12px 0 40px rgba(0,20,58,.2); }
.filter-sidebar-title { display: flex; justify-content: space-between; align-items: start; margin-bottom: 29px; }
.filter-sidebar-title h2 { margin: 0; font: 500 29px Georgia, serif; }
.filter-actions { display: flex; gap: 10px; margin-top: 8px; }
.compare-table-wrap { height: calc(100dvh - 205px); min-height: 320px; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.compare-table { width: max-content; min-width: 100%; border-collapse: collapse; font-size: 12px; }
.compare-table th, .compare-table td { width: 230px; max-width: 280px; padding: 13px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); vertical-align: top; text-align: left; }
.compare-table th { background: #faf8f6; }
.compare-table thead th { position: sticky; top: 0; z-index: 4; padding: 8px 11px; box-shadow: 0 1px 0 var(--line), 0 5px 12px rgba(0,30,80,.07); }
.compare-table .compare-attr { position: sticky; left: 0; z-index: 2; width: 170px; background: #f1f2f9; }
.compare-table thead .compare-attr { z-index: 6; background: #f1f2f9; }
.compare-table tr.compare-section-start td { border-top: 3px solid #cfc5bd; }
.compare-group-label { display: block; margin-bottom: 5px; color: var(--burgundy); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.compare-population-field-list { display: grid; gap: 8px; }
.compare-population-field + .compare-population-field { border-top: 1px dashed #d9d0c9; padding-top: 8px; }
.compare-population-label { display: block; margin-bottom: 3px; color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.compare-source { display: block; width: 100%; border: 0; border-radius: 5px; padding: 6px; background: transparent; color: inherit; font: inherit; line-height: 1.45; text-align: left; cursor: pointer; }
.compare-source:hover, .compare-source:focus-visible { background: #f6f1ed; outline: 1px solid #dccfc6; }
.compare-therapy, .compare-date { display: block; color: var(--muted); font-size: 9px; text-transform: uppercase; }
.compare-table caption { padding: 12px; color: var(--muted); text-align: left; }
.disclaimer { margin: 24px 0 0; color: var(--muted); font-size: 11px; text-align: center; }
.empty { padding: 34px; color: var(--muted); text-align: center; }
.tutorial-active { overflow: hidden; }
.tutorial-overlay { position: fixed; inset: 0; z-index: 1000; background: transparent; }
.tutorial-overlay.is-centered { background: rgba(0, 18, 48, .68); backdrop-filter: blur(2px); }
.tutorial-highlight { position: fixed; z-index: 1001; border: 3px solid #d6a91d; border-radius: 14px; background: transparent; box-shadow: 0 0 0 9999px rgba(0, 18, 48, .68), 0 0 0 6px rgba(214,169,29,.18); pointer-events: none; transition: left .18s ease, top .18s ease, width .18s ease, height .18s ease; }
.tutorial-tooltip { position: fixed; z-index: 1002; width: min(390px, calc(100vw - 32px)); border: 1px solid rgba(0,30,80,.16); border-top: 5px solid var(--france-blue); border-radius: 14px; padding: 20px; background: #fff; color: var(--ink); box-shadow: 0 22px 70px rgba(0,18,48,.34); }
.tutorial-tooltip.is-centered { border-top-color: #d6a91d; }
.tutorial-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.tutorial-step { color: var(--france-blue); font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.tutorial-skip { border: 0; padding: 2px; background: transparent; color: var(--muted); font-family: inherit; font-size: 11px; font-weight: 700; line-height: 1.2; cursor: pointer; }
.tutorial-skip:hover, .tutorial-skip:focus-visible { color: var(--france-blue); outline: none; text-decoration: underline; }
.tutorial-tooltip h2 { margin: 12px 0 7px; color: var(--france-blue); font: 600 24px/1.15 Georgia, serif; }
.tutorial-tooltip p { margin: 0; color: #4d5365; font-size: 14px; line-height: 1.55; }
.tutorial-nav { display: flex; justify-content: flex-end; gap: 9px; margin-top: 20px; }
.tutorial-nav button { border: 1px solid #ccd4e3; border-radius: 8px; padding: 9px 14px; font-family: inherit; font-size: 12px; font-weight: 800; line-height: 1; cursor: pointer; }
.tutorial-back { background: #fff; color: var(--france-blue); }
.tutorial-back:disabled { opacity: .38; cursor: default; }
.tutorial-next { border-color: var(--france-blue) !important; background: var(--france-blue); color: #fff; }
.tutorial-nav button:focus-visible { outline: 3px solid rgba(214,169,29,.42); outline-offset: 2px; }
@media (max-width: 1100px) {
  .home-search-grid { grid-template-columns: 1fr 1fr; }
  .results-split.source-open { grid-template-columns: 1fr; }
  .results-right { position: relative; top: 0; height: 70vh; min-height: 580px; }
  .population-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .topbar { grid-template-columns: 1fr auto; padding: 0 18px; }
  .brand { gap: 7px; }
  .brand-logo { width: 36px; height: 36px; }
  .brand-wordmark { font-size: 18px; }
  .results-page { padding: 25px 14px 40px; }
  .results-header { align-items: start; flex-direction: column; }
  .results-actions { width: 100%; flex-wrap: wrap; }
  .shared-evidence, .population-grid { grid-template-columns: 1fr; }
  .home-page { padding: 49px 16px 32px; }
  .home-search-grid { grid-template-columns: 1fr; }
  .home-proof { gap: 20px; }
  .universe-heading { display: grid; }
  .universe-counts { min-width: 0; }
  .search-card-title { display: block; }
  .search-card-title p { margin-top: 6px; }
  .card-main { padding: 17px 18px 0; }
  .population-section-title, .evidence-disclosure { margin-left: -18px; margin-right: -18px; }
  .population-section-title { padding-left: 18px; padding-right: 18px; }
  .evidence-disclosure summary { padding-left: 18px; padding-right: 18px; }
  .evidence-disclosure-body { padding-left: 18px; padding-right: 18px; }
  .agency-evidence { margin-left: -18px; margin-right: -18px; padding-left: 18px; padding-right: 18px; }
  .evidence-source-metadata { grid-template-columns: 1fr; }
  .compare-table-wrap { min-height: 280px; }
  .topbar-actions { gap: 7px; }
  .guide-button { padding: 7px 9px; }
  .tutorial-tooltip { right: 12px; bottom: 12px; left: 12px !important; top: auto !important; width: auto; }
}
.agency-evidence{margin:0 -22px;border-top:1px solid #ded8cf;background:#faf8f4;padding:12px 22px}.agency-evidence>h3{margin:0 0 9px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#584f47}.agency-sections{display:grid;gap:10px}.agency-subsection{display:grid;gap:7px}.agency-subsection+.agency-subsection{border-top:1px solid #e2dcd4;padding-top:10px}.agency-subsection>h4{margin:0;color:#625950;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.agency-links-body{display:grid;grid-template-columns:1fr;gap:7px}.agency-link{border:1px solid #ded8cf;border-left:4px solid #72706c;border-radius:8px;background:#fff;padding:9px 10px}.agency-link.confirmed{border-left-color:#23856b}.agency-link.review_required{border-left-color:#b97a1b;background:#fffaf0}.agency-link-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.agency-badge,.agency-state{font-size:9px;font-weight:750;letter-spacing:.035em;text-transform:uppercase}.agency-badge{border-radius:999px;padding:2px 6px;background:#ece9e4}.agency-badge.ansm{color:#184d7a;background:#e6f1fa}.agency-badge.ceesp{color:#6f2d6d;background:#f3e9f3}.agency-link.confirmed .agency-state{color:#16705b}.agency-link.review_required .agency-state{color:#925c0c}.agency-link>strong{display:block;font-size:12px}.agency-link>p{margin:3px 0;color:#655d55;font-size:10px}
.agency-fields{display:grid;gap:6px;margin-top:9px}.agency-field{width:100%;border:1px solid #ddd7cf;border-radius:7px;background:#fbfbfa;padding:8px 9px;color:var(--ink);font-family:inherit;font-size:11px;line-height:1.4;text-align:left;cursor:pointer}.agency-field:hover{border-color:#aaa097;background:#fff}.agency-field span,.agency-field small{display:block}.agency-field-label{margin-bottom:3px;color:#655d55;font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.agency-field small{margin-top:5px;color:#82152a;font-size:9px;font-weight:800;text-transform:uppercase}.agency-field-gap{display:flex;justify-content:space-between;gap:8px;margin:0;border-bottom:1px solid #ece8e2;padding:6px 1px;color:#6f675f;font-size:10px}.agency-field-gap b{color:#8a6e58}.agency-timeline{display:flex;flex-wrap:wrap;gap:7px 12px;margin:8px 0}.agency-timeline div{display:grid;gap:1px}.agency-timeline dt{color:#777068;font-size:8px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.agency-timeline dd{margin:0;color:#37322e;font-size:10px;font-weight:700}
.agency-original-documents{display:grid;gap:4px;margin-top:8px;border-top:1px solid #ece8e2;padding-top:7px}.agency-original-documents>span{color:#655d55;font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.agency-original-documents a{color:var(--burgundy);font-size:10px;font-weight:700;text-decoration:none}.agency-original-documents a:hover{text-decoration:underline}.agency-original-documents b,.agency-empty{color:#8a6e58;font-size:10px;font-weight:600}
.agency-absent{margin:0;border:1px solid #e4e0da;border-radius:7px;padding:8px 9px;background:#fafaf9;color:#6b6f75;font-size:10px;font-weight:600;line-height:1.45}
.agency-cited{display:grid;gap:4px;margin-top:8px;border-top:1px solid #ece8e2;padding-top:7px}.agency-cited>span{color:#655d55;font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.agency-cited q{color:#3d3a36;font-size:10px;font-style:italic;line-height:1.45}.agency-cited small{color:#82786e;font-size:9px;font-weight:700}.agency-empty{margin:0;border:1px dashed #d8d1ca;border-radius:7px;padding:8px;background:#fff}
