:root {
  --paper: #f1eee6;
  --sheet: #fffdf8;
  --ink: #15263a;
  --muted: #65717b;
  --line: #d6d0c4;
  --ochre: #a25d12;
  --ochre-soft: #efe0ca;
  --green: #276d50;
  --red: #9e3d35;
  --serif: Georgia, "Th Sarabun New", serif;
  --sans: Tahoma, "Noto Sans Thai", Arial, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 14px; line-height: 1.55; }
button { font: inherit; }
.site-header, main { width: min(1360px, calc(100% - 48px)); margin-inline: auto; }
.site-header { display: flex; justify-content: space-between; gap: 32px; align-items: end; padding: 34px 0 22px; border-bottom: 1px solid var(--ink); }
.brand p, .view-header > div > p, .dialog-head p { margin: 0 0 4px; color: var(--ochre); font-size: 11px; font-weight: 700; letter-spacing: .1em; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 2px; font-family: var(--serif); font-size: clamp(31px, 4vw, 48px); line-height: 1; letter-spacing: -.03em; }
.brand span { color: var(--muted); }
nav { display: flex; flex-wrap: wrap; gap: 5px 18px; justify-content: end; }
nav a { color: var(--muted); text-decoration: none; font-weight: 700; }
nav a:hover, nav a.current { color: var(--ochre); }
.review-context-link{display:inline-block;margin-top:7px;color:var(--blue,#5c83f7);font-weight:800;text-decoration:none}
main { padding: 22px 0 50px; }
.truth-banner { display: flex; justify-content: space-between; gap: 24px; padding: 15px 19px; color: #fff; background: var(--ink); }
.truth-banner strong { font-family: var(--serif); font-size: 17px; white-space: nowrap; }
.truth-banner p { margin: 0; opacity: .76; text-align: right; font-size: 12px; }
.wiki-shell { display: grid; grid-template-columns: 245px minmax(0, 1fr); margin-top: 22px; border: 1px solid var(--line); background: var(--sheet); }
.view-rail { padding: 22px 16px; border-right: 1px solid var(--line); background: #f8f4ec; }
.rail-title { margin: 0 10px 10px; color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.view-link { display: grid; grid-template-columns: 27px 1fr; gap: 7px; width: 100%; min-height: 44px; padding: 9px 10px; color: var(--ink); text-align: left; border: 0; border-bottom: 1px solid var(--line); background: transparent; cursor: pointer; }
.view-link span { color: var(--ochre); font: 700 11px/1.8 var(--sans); }
.view-link:hover, .view-link.active { color: #fff; background: var(--ink); border-bottom-color: var(--ink); }
.view-link.active span, .view-link:hover span { color: #e7b16c; }
.index-button { width: 100%; min-height: 44px; margin-top: 18px; border: 1px solid var(--ochre); color: var(--ochre); background: transparent; font-weight: 700; cursor: pointer; }
.rail-note { margin: 12px 4px 0; color: var(--muted); font-size: 11px; }
.wiki-content { min-width: 0; padding: 28px; }
.view-header { display: flex; justify-content: space-between; gap: 28px; align-items: start; }
.view-header h2 { margin-bottom: 6px; font: 700 clamp(26px, 3vw, 38px)/1.1 var(--serif); }
.view-header > div > p:last-child { max-width: 720px; color: var(--muted); font: 14px/1.6 var(--sans); letter-spacing: 0; }
.method-stamp { min-width: 190px; padding: 11px 13px; border: 1px solid var(--line); }
.method-stamp span, .method-stamp b { display: block; }
.method-stamp span { color: var(--ochre); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.method-stamp b { margin-top: 2px; font-size: 12px; }
.coverage-ledger { display: grid; grid-template-columns: repeat(3, 1fr) 1.4fr; margin: 22px 0 28px; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.coverage-ledger > div { min-width: 0; padding: 15px 13px 14px 0; }
.coverage-ledger > div + div { padding-left: 14px; border-left: 1px solid var(--line); }
.coverage-ledger span, .coverage-ledger small { display: block; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
.coverage-ledger strong { display: block; margin: 2px 0; font: 700 25px/1.1 var(--serif); font-variant-numeric: tabular-nums; }
.coverage-ledger p { margin: 4px 0 0; font-size: 12px; }
.analysis-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 26px; }
.ledger-section { min-width: 0; }
.section-title { display: flex; justify-content: space-between; gap: 15px; align-items: end; padding-bottom: 8px; border-bottom: 1px solid var(--ink); }
.section-title h3 { margin: 0; font: 700 20px/1.2 var(--serif); }
.section-title span { color: var(--muted); font-size: 10px; }
.bar-list { margin: 0; padding: 0; list-style: none; }
.bar-list li { display: grid; grid-template-columns: minmax(140px, 1fr) 2fr 60px; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.bar-list label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bar-list button { min-height: 36px; padding: 4px 7px; overflow: hidden; color: var(--ink); text-align: left; text-overflow: ellipsis; white-space: nowrap; border: 1px solid transparent; background: transparent; cursor: pointer; }
.bar-list button:hover, .bar-list button.group-active { color: var(--ochre); border-color: var(--ochre); background: #fff8ea; }
.bar { height: 8px; background: #e5e0d7; }
.bar i { display: block; height: 100%; background: var(--ochre); }
.bar-list b { text-align: right; font-variant-numeric: tabular-nums; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th, .data-table td { padding: 9px 8px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.data-table th { color: var(--muted); background: #f8f4ec; font-size: 10px; text-transform: uppercase; }
.data-table td:last-child, .data-table th:last-child { text-align: right; }
.case-ledger { margin-top: 28px; }
.case-row { display: grid; grid-template-columns: 120px minmax(0, 1fr) 150px 80px; gap: 18px; align-items: start; padding: 14px 4px; border-bottom: 1px solid var(--line); }
.case-row time, .case-row small { color: var(--muted); }
.case-row button { padding: 0; color: var(--ink); text-align: left; border: 0; background: none; font-weight: 700; cursor: pointer; }
.case-row button:hover { color: var(--ochre); }
.disposition { color: var(--green); font-weight: 700; }
.candidate { color: var(--ochre); }
.unknown { color: var(--muted); }
.edge-list { columns: 2; column-gap: 30px; padding: 0; list-style: none; }
.edge-list li { break-inside: avoid; padding: 8px 0; border-bottom: 1px solid var(--line); }
.edge-list b { color: var(--ochre); }
.loading, .empty { padding: 35px 0; color: var(--muted); text-align: center; }
.snapshot-panel { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:4px 14px; align-items:center; margin:18px 0 24px; padding:15px 16px; border:1px solid var(--border,#dbe3ee); border-left:4px solid var(--blue,#5c83f7); border-radius:12px; background:#f7f9fd; }
.snapshot-panel .snapshot-state { grid-row:1 / 3; align-self:start; padding:5px 8px; color:#315cc9; border:1px solid #9fb8ff; border-radius:999px; background:#eef3ff; font-size:9px; font-weight:850; letter-spacing:.06em; }
.snapshot-panel strong { font-size:14px; overflow-wrap:anywhere; }
.snapshot-panel p, .snapshot-panel small { grid-column:2; margin:0; color:var(--muted); font-size:11px; overflow-wrap:anywhere; }
.snapshot-build { grid-column:3; grid-row:1 / 4; min-height:44px; padding:9px 13px; color:#fff; border:1px solid var(--blue,#5c83f7); border-radius:8px; background:var(--blue,#5c83f7); font-weight:800; cursor:pointer; }
.snapshot-build:disabled { opacity:.58; cursor:wait; }
.snapshot-panel.stale, .snapshot-panel.unavailable { border-left-color:#d3a11e; background:#fff9e8; }
.snapshot-panel .snapshot-error, .snapshot-panel .snapshot-warning { grid-column:1 / -1; margin-top:8px; padding-top:8px; border-top:1px solid currentColor; }
.snapshot-panel .snapshot-error { color:#b64d4f; }
.snapshot-panel .snapshot-warning { color:#9b7317; }
dialog { width: min(900px, calc(100% - 24px)); max-height: calc(100vh - 32px); padding: 0; color: var(--ink); border: 1px solid var(--ink); background: var(--sheet); }
dialog::backdrop { background: rgba(14, 25, 37, .66); }
.dialog-head { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; gap: 20px; padding: 20px 24px; color: #fff; background: var(--ink); }
.dialog-head h2 { margin: 0; font: 700 24px/1.2 var(--serif); }
.dialog-head button { width: 42px; height: 42px; color: #fff; border: 1px solid #ffffff66; background: transparent; font-size: 24px; cursor: pointer; }
#case-body { padding: 24px; }
.case-meta { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 0 22px; border-top: 1px solid var(--ink); }
.case-meta div { padding: 10px 10px 10px 0; border-bottom: 1px solid var(--line); }
.case-meta dt { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.case-meta dd { margin: 3px 0 0; }
.evidence-box { margin: 15px 0; padding: 15px 17px; border-left: 4px solid var(--ochre); background: #f5eee2; }
.evidence-box h3 { margin-bottom: 7px; font: 700 18px var(--serif); }
.evidence-box blockquote { margin: 0; white-space: pre-wrap; }
.case-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 20px; }
.case-actions a, .case-actions button { min-height: 44px; padding: 9px 13px; border: 1px solid var(--ink); color: var(--ink); background: transparent; text-decoration: none; font-weight: 700; cursor: pointer; }
.case-actions .ai { color: #fff; background: var(--ochre); border-color: var(--ochre); }
.case-actions .return-to-analysis { color:#fff; background:var(--blue); border-color:var(--blue); }
.requested-span { border:2px solid var(--blue)!important; box-shadow:0 0 0 4px rgba(91,132,246,.12); }
.requested-span mark { padding:1px 2px; background:#fff0b8; }
.holding-ledger { margin: 28px 0; }
.holding-card { margin: 18px 0; padding: 20px; border: 1px solid var(--line); border-top: 3px solid var(--blue); background: #fff; scroll-margin-top: 90px; }
.holding-card:target { outline: 4px solid rgba(91,132,246,.18); }
.holding-head { display: flex; justify-content: space-between; gap: 20px; align-items: start; }
.holding-head h3, .holding-card > h3 { margin: 0; font: 700 21px/1.25 var(--serif); }
.holding-kicker { margin: 0 0 4px; color: var(--blue); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.holding-state { padding: 5px 8px; color: var(--green); border: 1px solid currentColor; font-size: 10px; font-weight: 800; white-space: nowrap; }
.holding-rationale { margin: 12px 0; color: var(--muted); }
.holding-trace { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 12px 0; border-top: 1px solid var(--line); }
.holding-trace div { padding: 8px 8px 8px 0; border-bottom: 1px solid var(--line); }
.holding-trace dt { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.holding-trace dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.holding-quote { margin: 14px 0; }
.holding-laws { padding: 12px 0; border-top: 1px solid var(--line); }
.holding-laws ul { margin: 8px 0 0; padding-left: 20px; }
.holding-actions { display: flex; flex-wrap: wrap; justify-content: start; gap: 8px; margin-top: 12px; }
.holding-actions a { min-height: 44px; padding: 10px 12px; color: var(--ink); border: 1px solid var(--ink); text-decoration: none; }
.holding-actions a:hover, .holding-actions a:focus-visible { color: #fff; background: var(--blue); border-color: var(--blue); }
.holding-unavailable { border-top-color: var(--muted); background: #f7f7f5; }
.holding-unavailable .holding-kicker { color: var(--muted); }
.disposition-box { border-left-color: var(--muted); background: #f3f3f0; }
.evidence-note, .treatment-empty { margin: 10px 0 0; color: var(--muted); font-size: 12px; }
.source-viewer { margin: 22px 0 28px; border: 1px solid var(--ink); background: #fff; }
.source-viewer[hidden] { display: none; }
.source-viewer-head { display: flex; justify-content: space-between; gap: 20px; align-items: end; padding: 14px 16px; color: #fff; background: var(--ink); }
.source-viewer-head p, .source-viewer-head h3 { margin: 0; }
.source-viewer-head p { color: #a9f1de; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.source-viewer-head h3 { margin-top: 3px; font: 700 20px var(--serif); }
.source-viewer-head > span { color: #ffffffb0; font-size: 10px; }
.source-viewer-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr); min-height: 460px; }
.source-cited-local, .source-frame-side { min-width: 0; padding: 16px; }
.source-cited-local { border-right: 1px solid var(--line); }
.source-role-badge { margin: 0 0 12px; font-size: 10px; font-weight: 850; letter-spacing: .07em; }
.source-role-badge.judicial { color: var(--blue); }
.source-role-badge.official { color: var(--green); }
.source-role-badge.unavailable { color: var(--muted); }
.citation-navigator { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; align-items: center; margin-bottom: 12px; }
.citation-navigator button { min-height: 44px; padding: 7px 9px; color: var(--ink); border: 1px solid var(--line); background: #fff; cursor: pointer; }
.citation-navigator button:disabled { opacity: .45; cursor: default; }
.citation-navigator span { font-size: 11px; font-variant-numeric: tabular-nums; }
.source-citation-body h4 { margin: 0 0 8px; font: 700 18px var(--serif); }
.source-citation-body blockquote { margin: 0; padding: 14px; white-space: pre-wrap; background: #f5f7fb; border-left: 3px solid var(--blue); }
.source-citation-body mark { padding: 1px 2px; background: #fff0b8; }
.source-trace { display: grid; grid-template-columns: 1fr 1fr; margin: 12px 0 0; }
.source-trace div { min-width: 0; padding: 8px 8px 8px 0; border-bottom: 1px solid var(--line); }
.source-trace dt { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.source-trace dd { margin: 3px 0 0; overflow-wrap: anywhere; font-size: 11px; }
.frame-status { min-height: 34px; margin: 0 0 8px; color: var(--muted); font-size: 11px; }
.official-source-frame { width: 100%; height: 340px; border: 1px solid var(--line); background: #f5f5f2; }
.source-fallback { display: inline-flex; align-items: center; min-height: 44px; margin-top: 10px; padding: 8px 12px; color: #fff; background: var(--green); text-decoration: none; font-weight: 700; }
.source-frame-side small { display: block; margin-top: 9px; color: var(--muted); line-height: 1.45; }
.cohort-stamp { display: grid; grid-template-columns: 1fr auto auto; gap: 10px 22px; align-items: center; margin-bottom: 24px; padding: 14px 16px; color: #fff; background: var(--ink); }
.cohort-stamp strong { font: 700 19px var(--serif); }
.cohort-stamp span { font-size: 11px; }
.cohort-stamp p { grid-column: 1 / -1; margin: 0; color: #ffffffb5; font-size: 11px; }
.ai-result { padding: 18px; border: 1px solid var(--ochre); background: #fff8ed; }
.ai-result pre { white-space: pre-wrap; overflow-wrap: anywhere; font-family: var(--sans); }
.intelligence-workspace { margin: 24px 0 30px; border: 1px solid var(--border, #dbe3ee); border-radius: 14px; background: #fff; overflow: hidden; }
.intelligence-workspace > .section-title { padding: 16px 18px 10px; }
.insight-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 18px; border: 1px solid var(--border, #dbe3ee); border-radius: 8px; overflow: hidden; }
.insight-tab { min-height: 44px; padding: 8px 10px; color: var(--muted); border: 0; border-right: 1px solid var(--border, #dbe3ee); background: #fff; font-weight: 700; cursor: pointer; }
.insight-tab:last-child { border-right: 0; }
.insight-tab[aria-selected="true"] { color: #fff; background: var(--blue, #5c83f7); }
.insight-tab:focus-visible { position: relative; z-index: 1; outline: 3px solid rgba(92, 131, 247, .28); outline-offset: -3px; }
.insight-tab-body { padding: 18px; background: var(--workspace, #edf2f9); }
.intelligence-panel[hidden] { display: none; }
.trust-state { padding: 10px 12px; border: 1px solid currentColor; border-radius: 8px; font-size: 12px; font-weight: 800; }
.trust-state.healthy { color: #168b77; background: #edfbf6; }
.trust-state.warning { color: #9b7317; background: #fff9e8; }
.trust-state.danger { color: #b64d4f; background: #fff0ee; }
.intelligence-meta { margin: 10px 0 0; color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.summary-section { margin-top: 18px; }
.summary-section h4 { margin: 0 0 8px; color: var(--ink); text-transform: capitalize; }
.summary-build { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-top: 14px; padding: 9px 13px; color: #fff; border: 1px solid var(--blue, #5c83f7); border-radius: 8px; background: var(--blue, #5c83f7); text-decoration: none; font-weight: 800; cursor: pointer; }
.summary-build:disabled { opacity: .55; cursor: wait; }
.structured-index-table td:nth-child(3) { max-width: 350px; white-space: normal; }
.panel-person-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 16px; margin-top: 12px; padding: 14px; border: 1px solid var(--border, #dbe3ee); border-radius: 10px; background: #fff; }
.panel-person-card p, .panel-person-card blockquote, .panel-person-card small { grid-column: 1 / -1; margin: 0; }
.panel-person-card blockquote { padding: 10px 12px; border-left: 3px solid var(--blue, #5c83f7); background: #f5f8fc; }
.panel-person-card small { color: var(--muted); overflow-wrap: anywhere; }
.panel-person-card .status { align-self: start; }
.case-type-insight { margin-bottom: 34px; }
.case-type-hero { margin-bottom: 22px; padding: 22px 24px; color: #fff; border-radius: 14px; background: linear-gradient(135deg, #263b5f, #4269c7); box-shadow: 0 14px 34px rgba(42, 72, 132, .16); }
.case-type-hero > div { color: #bcd0ff; font-size: 10px; font-weight: 850; letter-spacing: .1em; }
.case-type-hero h3 { margin: 4px 0 6px; font: 800 clamp(25px, 3vw, 38px)/1.12 var(--sans); }
.case-type-hero p { margin: 0; color: #e8efff; font-size: 12px; }
.disposition-panel, .party-outcome-panel, .representative-authorities { margin: 22px 0; padding: 20px; border: 1px solid var(--border, #dbe3ee); border-radius: 14px; background: #fff; }
.insight-panel-head { display: flex; justify-content: space-between; gap: 18px; align-items: center; padding-bottom: 12px; border-bottom: 1px solid var(--border, #dbe3ee); font-weight: 850; }
.review-badge { padding: 5px 8px; color: #9b7317; border: 1px solid #ead18b; border-radius: 999px; background: #fff9e8; font-size: 9px; letter-spacing: .05em; }
.insight-meta, .gateway-state { margin: 10px 0; color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.insight-unavailable { margin-top: 14px; padding: 16px; border: 1px solid #ead18b; border-radius: 10px; background: #fff9e8; }
.insight-unavailable p { margin: 6px 0; }
.build-insight, .insight-unavailable .trace-link { display: inline-flex; align-items: center; min-height: 44px; margin: 8px 8px 0 0; padding: 9px 13px; color: #fff; border: 1px solid var(--blue, #5c83f7); border-radius: 8px; background: var(--blue, #5c83f7); text-decoration: none; font-weight: 800; cursor: pointer; }
.build-insight:disabled { opacity: .6; cursor: wait; }
.viewpoint-switch { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin: 16px 0 12px; }
.viewpoint-switch > span { margin-right: 6px; color: var(--muted); font-size: 11px; font-weight: 750; }
.viewpoint-switch button { min-height: 40px; padding: 7px 11px; color: var(--blue, #5c83f7); border: 1px solid var(--border, #dbe3ee); border-radius: 8px; background: #fff; cursor: pointer; }
.viewpoint-switch button.active { color: #fff; border-color: var(--blue, #5c83f7); background: var(--blue, #5c83f7); }
.outcome-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.outcome-stat { min-width: 0; padding: 14px; border: 1px solid var(--border, #dbe3ee); border-radius: 10px; }
.outcome-stat p, .outcome-stat small { margin: 0; color: var(--muted); }
.outcome-stat p { font-size: 11px; font-weight: 750; }
.outcome-stat strong { display: block; margin: 5px 0 3px; font-size: 27px; font-variant-numeric: tabular-nums; }
.outcome-stat small { display: block; font-size: 9px; line-height: 1.4; }
.outcome-stat.win { border-color: #aee5d4; background: #edfbf6; }
.outcome-stat.win strong { color: #168b77; }
.outcome-stat.lose { border-color: #f1c1bd; background: #fff0ee; }
.outcome-stat.lose strong { color: #b64d4f; }
.outcome-stat.mixed { border-color: #ead18b; background: #fff9e8; }
.outcome-stat.mixed strong { color: #9b7317; }
.outcome-stat.unknown-state, .outcome-stat.neutral { background: #f5f8fc; }
.reason-ledger, .interesting-ledger { margin-top: 24px; }
.reason-card, .interesting-card, .authority-insight-card { margin-top: 12px; padding: 15px; border: 1px solid var(--border, #dbe3ee); border-radius: 10px; background: #fff; }
.reason-card.claimant_win { border-left: 4px solid #24b99a; }
.reason-card.respondent_win { border-left: 4px solid #df7d75; }
.reason-card.mixed { border-left: 4px solid #e0b44d; }
.reason-label { margin: 0 0 3px; color: var(--muted); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.reason-card blockquote, .authority-insight-card blockquote { margin: 10px 0; padding: 11px 13px; white-space: pre-wrap; border-left: 3px solid var(--blue, #5c83f7); background: #f5f8fc; }
.reason-card small, .authority-insight-card small { display: block; color: var(--muted); overflow-wrap: anywhere; }
.trace-link { display: inline-flex; align-items: center; min-height: 40px; margin-top: 8px; color: var(--blue, #5c83f7); font-weight: 800; text-decoration: none; }
.trace-link:hover, .trace-link:focus-visible { text-decoration: underline; }
.interesting-card { border-left: 4px solid var(--blue, #5c83f7); }
.interesting-card p { margin: 5px 0; }
.citation-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.citation-chips .trace-link { min-height: 34px; padding: 5px 9px; border: 1px solid #c8d7fa; border-radius: 999px; background: #f4f7ff; }
.insight-patterns { margin: 26px 0; }
.representative-authorities > .authority-insight-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 18px; }
.authority-insight-card > p, .authority-insight-card > blockquote, .authority-insight-card > small, .authority-insight-card > a { grid-column: 1 / -1; }
.trust-warning { margin: 9px 0; padding: 10px 12px; color: #9b7317; border: 1px solid #ead18b; border-radius: 8px; background: #fff9e8; font-size: 11px; }
.mandatory-caveat { margin: 14px 0 0; padding: 12px 14px; color: #21375a; border-left: 4px solid var(--blue, #5c83f7); background: #eef4ff; font-weight: 850; }
.toast { position: fixed; right: 20px; bottom: 20px; max-width: 420px; padding: 12px 16px; color: #fff; background: var(--ink); opacity: 0; transform: translateY(10px); pointer-events: none; transition: .2s; }
.toast.show { opacity: 1; transform: none; }
@media (max-width: 920px) {
  .site-header { display: block; }
  nav { justify-content: start; margin-top: 18px; }
  .wiki-shell { grid-template-columns: 1fr; }
  .view-rail { border-right: 0; border-bottom: 1px solid var(--line); }
  #view-links { display: grid; grid-template-columns: repeat(3, 1fr); }
  .view-link { border-right: 1px solid var(--line); }
  .analysis-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .site-header, main { width: min(100% - 24px, 1360px); }
  .truth-banner, .view-header { display: block; }
  .truth-banner strong { display: block; white-space: normal; }
  .truth-banner p { margin-top: 6px; text-align: left; }
  .wiki-content { padding: 18px; }
  #view-links { grid-template-columns: 1fr 1fr; }
  .method-stamp { margin-top: 14px; }
  .coverage-ledger { grid-template-columns: 1fr 1fr; }
  .coverage-ledger .denominator { grid-column: 1 / -1; border-top: 1px solid var(--line); border-left: 0; padding-left: 0; }
  .case-row { grid-template-columns: 1fr; gap: 4px; }
  .bar-list li { grid-template-columns: minmax(110px, 1fr) 1fr 45px; }
  .edge-list { columns: 1; }
  .case-meta { grid-template-columns: 1fr; }
  .holding-head { display: block; }
  .holding-state { display: inline-block; margin-top: 8px; }
  .holding-trace { grid-template-columns: 1fr; }
  .holding-actions { display: grid; grid-template-columns: 1fr; }
  .cohort-stamp { grid-template-columns: 1fr; }
  .cohort-stamp p { grid-column: auto; }
  .source-viewer-head { display: block; }
  .source-viewer-head > span { display: block; margin-top: 5px; }
  .source-viewer-content { grid-template-columns: 1fr; }
  .source-cited-local { border-right: 0; border-bottom: 1px solid var(--line); }
  .source-trace { grid-template-columns: 1fr; }
  .official-source-frame { height: 420px; }
  .insight-tabs { grid-template-columns: 1fr 1fr; }
  .insight-tab:nth-child(2) { border-right: 0; }
  .insight-tab { border-bottom: 1px solid var(--border, #dbe3ee); }
  .panel-person-card { grid-template-columns: 1fr; }
  .panel-person-card .status { justify-self: start; }
  .outcome-grid { grid-template-columns: 1fr 1fr; }
  .insight-panel-head { align-items: start; flex-direction: column; }
  .representative-authorities > .authority-insight-card { grid-template-columns: 1fr; }
  .snapshot-panel { grid-template-columns:1fr; }
  .snapshot-panel .snapshot-state, .snapshot-panel p, .snapshot-panel small, .snapshot-build { grid-column:1; grid-row:auto; }
  .snapshot-build { width:100%; margin-top:8px; }
}
@media (max-width: 430px) {
  .outcome-grid { grid-template-columns: 1fr; }
  .case-type-hero, .disposition-panel, .party-outcome-panel, .representative-authorities { padding: 15px; }
}
