:root {
  color-scheme: light;
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-synthesis: none;
  --bg: #f8f8fc; --surface: #fff; --inset: #e6e9f7; --ink: #232739;
  --muted: #5b6380; --line: #dce0ef; --control: #6e78a3; --active: #e6e9f7;
  --pink: #ca038c; --cyan: #00aeef; --yellow: #ffd055; --paper: #fff;
  --sidebar: 254px; --radius: 9px;
  background: var(--bg); color: var(--ink);
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0f142b; --surface: #232739; --inset: #2d3248; --ink: #f8f8fc;
  --muted: #c5cbe0; --line: #40465e; --control: #9ca6c5; --active: #0f142b; --paper: #e9ebf0;
}
* { box-sizing: border-box; }
.report-save-panel { padding:14px 22px; border-bottom:1px solid var(--line); background:var(--surface); display:flex; flex-wrap:wrap; gap:10px 20px; align-items:center; }
.report-save-panel p { margin:0; }
.report-save-panel small { color:var(--muted); }
.report-save-form { display:flex; align-items:end; gap:12px; flex:1 1 480px; }
.report-save-form label { flex:1; display:grid; gap:6px; font-weight:600; }
.report-save-form input { width:100%; min-height:40px; border:1px solid var(--control); border-radius:var(--radius); padding:9px 12px; background:var(--bg); color:var(--ink); font:inherit; }
.report-save-form input:focus-visible { outline:2px solid var(--pink); outline-offset:2px; }
.save-feedback:empty,.export-feedback:empty { display:none; }
.export-feedback { margin:0; padding:10px 22px; color:var(--ink); border-left:3px solid var(--pink); }
.library-search { display:grid; grid-template-columns:minmax(200px,1.4fr) minmax(180px,1fr) auto; gap:16px; align-items:end; margin-bottom:24px; }
.library-search input,.library-search select { width:100%; }
.library-search label { display:grid; gap:8px; font-weight:600; }
.library-search input { min-height:44px; border:1px solid var(--control); border-radius:var(--radius); padding:10px 12px; color:var(--ink); background:var(--surface); font:inherit; }
.library-search input:focus-visible { outline:2px solid var(--pink); outline-offset:2px; }
.saved-report-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); gap:20px; }
.saved-report-card { display:flex; flex-direction:column; }
.saved-report-card h2 { font-size:21px; }
.saved-report-card .actions { margin-top:auto; padding-top:18px; }
.saved-report-card dl { display:grid; grid-template-columns:auto 1fr; gap:8px 16px; font-size:14px; }
.saved-report-card dt { color:var(--muted); }
.saved-report-card dd { margin:0; }
@media(max-width:700px) { .library-search { grid-template-columns:1fr; } .report-save-form { flex-direction:column; align-items:stretch; } }
.investment-controls { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.explanation-period { grid-column:span 2; }
.analysis-visual { margin:24px 0 32px; color:#232739; }
.analysis-visual .section-head { align-items:end; }
.analysis-visual .section-head h2 { font-size:20px; max-width:22ch; }
.analysis-visual label { color:#454d6b; max-width:300px; }
.effect-bridge { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; padding:20px 0; margin-bottom:15px; border-bottom:1px solid #cbd0da; }
.effect-bridge span { display:block; color:#525766; font-size:12px; }
.effect-bridge strong { font-size:18px; font-weight:600; }
.effect-row { display:grid; grid-template-columns:minmax(100px,1fr) minmax(100px,1.5fr) 85px; gap:12px; align-items:center; padding:10px 0; font-size:12px; }
.effect-row>span { overflow-wrap:anywhere; }
.effect-row strong { text-align:right; }
.effect-track { display:block; width:100%; height:22px; }
.effect-track line { stroke:#9ca6c5; stroke-width:.35; }
.positive-bar { fill:#18724e; }.negative-bar { fill:#b32646; }
.document .chart-note { font-size:12px; color:#525766; }
.analysis-visual .quiet-details summary { color:#232739; }
.analysis-visual th { color:#454d6b; white-space:normal; }
.analysis-visual td { font-variant-numeric:tabular-nums; }
.analysis-visual .table-scroll { max-height:320px; }
@media(max-width:700px){.explanation-period{grid-column:auto}.effect-bridge{grid-template-columns:1fr 1fr}.effect-row{grid-template-columns:minmax(70px,1fr) minmax(65px,1fr) 75px;gap:8px}.analysis-visual .metrics strong{font-size:20px}}
.investment-data,.investment-account { margin-bottom:24px; }
.research-report-entry { margin-bottom:32px; }
.research-report-entry .research-grid { margin-block:16px; }
.research-report-entry .card { display:flex; flex-direction:column; gap:16px; }
.research-report-entry .card>.button { align-self:flex-start; margin-top:auto; }
#research-report-form fieldset { display:grid; gap:20px; min-width:0; }
#research-report-form .report-section-options label { align-items:flex-start; }
.investment-data .source-strip { margin-top:24px; }
.saved-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; }
.investment-controls input,.investment-data input:not([hidden]),#investment-mapping input,#investment-config input { display:block; width:100%; border:1px solid var(--control); border-radius:6px; padding:10px; margin-top:7px; min-height:42px; background:var(--bg); }
.document figure { margin:0 0 28px; }
.document figure svg { width:100%; }
.document figure figcaption { color:#454d6b; font-size:13px; }
.document h4 { margin-block:22px 10px; }
.document pre { white-space:pre-wrap; }
@media(max-width:1100px){ .investment-controls{grid-template-columns:1fr 1fr;} }
@media(max-width:700px){ .investment-controls{grid-template-columns:1fr;} }
body { margin: 0; font-size: 14px; line-height: 1.55; }
button, select, input { font: inherit; color: inherit; }
button, summary, select { cursor: pointer; }
button, a, input, select, summary { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-underline-offset: 4px; }
button { background: none; }
svg { flex: none; vertical-align: middle; }
h1,h2,h3,p { margin: 0; }
h1,h2,h3 { font-weight: 600; letter-spacing: -.025em; line-height: 1.3; }
h1 { font-size: 30px; } h2 { font-size: 21px; } h3 { font-size: 18px; }
p { line-height: 1.7; color: var(--muted); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: 2px solid var(--pink); outline-offset: 3px; }
button:disabled { opacity: .55; cursor: not-allowed; }
.skip { position: fixed; top: -100px; left: 20px; z-index: 100; padding: 12px; background: var(--surface); border: 2px solid var(--pink); }
.skip:focus { top: 12px; }
.sidebar { width: var(--sidebar); position: fixed; inset: 0 auto 0 0; display: flex; flex-direction: column; background: var(--surface); border-right: 1px solid var(--line); z-index: 20; }
.brand-row { height: 54px; margin: 25px 0; padding: 8px 20px; background: var(--bg); border-block: 1px solid var(--line); position: relative; display: flex; align-items: center; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.brand .mark { width: 28px; height: 28px; flex: none; background: currentColor; mask: url('/brand/mark.png') center / contain no-repeat; }
.brand strong { display: block; font-size: 15px; letter-spacing: .1em; font-weight: 550; }
.brand small { display: block; font-size: 8px; letter-spacing: .17em; margin-top: 2px; }
.collapse { position: absolute; top: -1px; bottom: -1px; left: 100%; width: 34px; border: 1px solid var(--line); border-left: 0; border-radius: 0 27px 27px 0; background: var(--bg); display: grid; place-items: center; padding-right: 10px; }
.collapse:hover { color: var(--pink); }
.local-context { margin: 0 25px 20px; padding: 0 0 21px; border-bottom: 1px solid var(--line); color: var(--muted); }
.local-context small { display: block; margin-top: 3px; font-size: 11px; }
.sidebar nav { flex: 1; overflow-y: auto; min-height: 100px; }
.nav-group { padding-bottom: 19px; }
.nav-group + .nav-group { border-top: 1px solid var(--line); padding-top: 24px; }
.nav-group h2 { font-size: 14px; letter-spacing: .1em; text-transform: uppercase; margin: 0 26px 13px; }
.nav-item { position: relative; display: flex; align-items: center; gap: 14px; min-height: 48px; padding: 12px 24px; margin: 5px 0; border-left: 4px solid transparent; text-decoration: none; color: var(--muted); }
.nav-item.active,.nav-item.hovered { background: var(--active); color: var(--ink); border-left-color: var(--pink); }
nav.hovering .nav-item.active:not(.hovered) { background: none; color: var(--muted); border-left-color: transparent; }
.nav-count { margin-left: auto; min-width: 21px; height: 21px; border-radius: 20px; background: var(--pink); color: #fff; text-align: center; line-height: 21px; font-size: 11px; }
.account { padding: 15px; border-top: 1px solid var(--line); position: relative; }
.account summary { display: flex; align-items: center; gap: 9px; list-style: none; padding: 7px 3px; }
.account summary::-webkit-details-marker { display: none; }
.account summary>svg { margin-left: auto; transform: rotate(-90deg); }
.account strong { display: block; font-size: 12px; font-weight: 600; }
.account small { display: block; font-size: 11px; margin-top: 3px; color: var(--muted); }
.avatar { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 6px; background: var(--inset); }
.account-pop { position: absolute; bottom: calc(100% + 8px); left: 12px; width: 282px; padding: 20px; background: var(--surface); border: 1px solid var(--control); border-radius: var(--radius); box-shadow: 0 12px 40px #0002; }
.account-pop h2 { font-size: 19px; margin-bottom: 15px; }
.account-pop label { display: block; }
.account-pop p { font-size: 12px; margin: 16px 0; }
.account-pop a { font-size: 13px; }
.shell { margin-left: var(--sidebar); min-width: 0; }
.topbar { height: 46px; padding: 0 40px 0 62px; display: flex; align-items: center; justify-content: space-between; gap: 18px; font-size: 11px; color: var(--muted); border-bottom: 1px solid var(--line); letter-spacing: .025em; }
.status-dot { display: inline-block; background: var(--cyan); width: 6px; height: 6px; border-radius: 50%; margin-right: 7px; }
main { max-width: 1630px; margin: 0 auto; padding: 37px clamp(28px, 4vw, 70px) 80px; outline: none; }
.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 29px; }
.page-heading p { margin-top: 8px; font-size: 14px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 15px; padding: 10px 17px; min-height: 42px; border: 1px solid var(--control); border-radius: 7px; background: transparent; color: var(--ink); text-decoration: none; font-size: 13px; font-weight: 600; transition: background .16s, border-color .16s; white-space: nowrap; }
.button:hover,.button:active { background: var(--pink); border-color: var(--pink); color: white; }
.button.accent-outline, .button.run { border-color: var(--pink); }
.button.accent { background: var(--pink); border-color: var(--pink); color: white; }
.button.accent:hover { background: #a80375; border-color: #a80375; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 25px; }
.welcome { display: grid; grid-template-columns: 1.6fr 1fr; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: var(--surface); }
.welcome-copy { padding: clamp(25px, 3.1vw, 50px); }
.eyebrow { display: block; font-size: 10px; letter-spacing: .12em; font-weight: 650; color: var(--muted); margin-bottom: 14px; }
.welcome h2 { font-size: clamp(26px, 2.5vw, 40px); line-height: 1.2; letter-spacing: -.035em; margin-bottom: 18px; font-weight: 550; }
.welcome p { max-width: 53ch; font-size: 14px; }
.welcome-note { padding: 34px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; border-left: 1px solid var(--line); background: var(--bg); position: relative; overflow: hidden; }
.orbit { width: 65px; height: 65px; display: grid; place-items: center; border: 1px solid var(--control); border-radius: 50%; margin-bottom: 22px; color: var(--muted); }
.welcome-note h3 { margin-bottom: 13px; font-size: 21px; }
.welcome-note p { font-size: 13px; }
.badge { display: inline-block; font-size: 11px; padding: 5px 9px; border: 1px solid var(--line); border-radius: 5px; white-space: nowrap; }
.badge.cyan { background: var(--cyan); color: #0f142b; border-color: var(--cyan); margin-top: 23px; }
.badge.yellow { background: var(--yellow); color: #0f142b; border-color: var(--yellow); margin-bottom: 18px; }
.journey { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 24px 0 35px; }
.card { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); min-width: 0; }
.card p { margin-top: 12px; }
.journey-card { display: flex; flex-direction: column; gap: 15px; }
.journey-card h2 { font-size: 19px; }
.journey-card p { font-size: 13px; margin: 0 0 6px; flex: 1; }
.journey-card .button { width: 100%; justify-content: space-between; }
.row,.section-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.row { margin-bottom: 6px; color: var(--muted); }
.muted { color: var(--muted); }
.section-head { margin-bottom: 17px; flex-wrap: wrap; }
.section-head a { color: var(--muted); font-size: 12px; text-decoration: none; }
.section-head h2 { font-size: 20px; }
.source-strip { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 20px 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
.source-strip>div { display: flex; align-items: center; gap: 17px; min-width: 0; }
.source-strip strong { font-weight: 600; overflow-wrap: anywhere; }
.source-strip small { display: block; color: var(--muted); margin-top: 5px; font-size: 12px; }
.empty { border: 1px dashed var(--control); background: var(--surface); border-radius: 12px; min-height: 365px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 40px; }
.empty-icon { color: var(--muted); margin-bottom: 23px; }
.empty h2 { font-size: 27px; margin-bottom: 12px; }
.empty p { max-width: 58ch; }
.empty small { margin-top: 24px; color: var(--muted); }
.empty .actions { justify-content: center; }
.configuration-layout { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(290px,1fr); gap: 22px; }
.configuration-layout .card { padding: 27px; }
.configuration-layout h2 { font-size: 21px; }
.mapping-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 22px 0; }
label { display: block; font-size: 12px; font-weight: 550; }
label>span[aria-hidden] { color: var(--muted); }
select { display: block; width: 100%; min-height: 42px; margin-top: 7px; padding: 10px 12px; border: 1px solid var(--control); border-radius: 6px; background: var(--bg); font-size: 13px; }
select:hover { border-color: var(--pink); }
select:focus-visible { outline: none; border-color: var(--pink); box-shadow: inset 0 0 0 1px var(--pink); }
select option { color: var(--ink); background: var(--surface); }
@supports (appearance: base-select) {
  select, select::picker(select) { appearance: base-select; }
  select { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  select::picker-icon { margin-left: auto; flex: none; }
  select::picker(select) { border: 1px solid var(--pink); border-radius: 6px; background: var(--surface); padding: 5px; max-height: min(22rem, 50dvh); overflow-y: auto; }
  select option { padding: 8px 10px; border-radius: 4px; }
  select option:checked { outline: 1px solid var(--pink); outline-offset: -1px; background: var(--inset); }
  select option:is(:hover, :focus-visible) { background: var(--pink); color: white; }
}
.scope label { margin-top: 17px; }
.scope .confirmation { display: flex; gap: 10px; align-items: flex-start; font-size: 12px; font-weight: 400; line-height: 1.6; }
input[type="checkbox"] { flex: none; width: 16px; height: 16px; margin: 3px 0 0; accent-color: var(--pink); }
.scope-note { display: flex; gap: 9px; align-items: flex-start; font-size: 12px; color: var(--muted); margin: 19px 0; padding-top: 17px; border-top: 1px solid var(--line); }
.scope-note svg { margin-top: 2px; }
.scope .run { width: 100%; justify-content: space-between; }
.quiet-details { padding-top: 17px; margin-top: 20px; border-top: 1px solid var(--line); font-size: 13px; }
.quiet-details summary { color: var(--ink); font-weight: 550; }
.quiet-details p { font-size: 12px; }
.quiet-details li { margin: 10px 0; }
.table-preview { margin-top: 22px; }
.table-preview summary { font-weight: 600; }
.table-preview summary span { font-size: 12px; font-weight: 400; margin-left: 15px; color: var(--muted); }
.table-scroll { overflow: auto; max-height: 300px; margin-top: 20px; }
table { width: 100%; border-collapse: collapse; text-align: left; font-size: 12px; white-space: nowrap; }
th,td { padding: 10px 14px; border-bottom: 1px solid var(--line); }
th { color: var(--muted); font-weight: 550; }
.download-row { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 23px; font-size: 12px; color: var(--muted); }
.report-intro { display: flex; align-items: center; gap: 22px; padding: 20px 25px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); margin-bottom: 24px; }
.type-band { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 8px; min-width: 115px; align-self: stretch; padding: 16px; background: var(--cyan); color: #0f142b; border-radius: 5px; font-size: 11px; }
.report-intro h2 { font-size: 20px; margin-bottom: 8px; }
.report-intro p { font-size: 13px; }
.report-intro .badge { margin-left: auto; }
.research-grid,.guide-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; margin-bottom: 32px; }
.research-grid .button { margin-top: 22px; white-space: normal; }
.research-grid small { display: block; color: var(--muted); font-size: 11px; margin-top: 15px; }
.evidence-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.evidence-grid p { font-size: 13px; }
.guide-grid li { padding-bottom: 13px; color: var(--muted); }
.guide-grid ol { padding-left: 20px; margin-top: 20px; }
.guide-grid dt { font-weight: 600; margin-top: 12px; }
.guide-grid dd { margin: 5px 0 0; color: var(--muted); }
.alert { display: flex; align-items: center; gap: 13px; padding: 17px 20px; margin-bottom: 24px; border: 1px solid var(--control); border-left: 3px solid var(--pink); border-radius: 7px; background: var(--surface); line-height: 1.6; }
.alert button { margin-left: auto; border: 0; }
.progress { border-top: 2px solid var(--cyan); padding: 12px 0; color: var(--muted); }
#notice { position: fixed; bottom: 18px; right: 22px; max-width: min(420px, calc(100vw - 40px)); border-radius: 6px; background: var(--surface); color: var(--ink); box-shadow: 0 4px 22px #0002; font-size: 12px; z-index: 22; }
#notice:not(:empty) { padding: 12px 16px; border: 1px solid var(--line); }
.collapsed { --sidebar: 72px; }
.collapsed .nav-copy { display: none; }
.collapsed .nav-item { padding-inline: 22px; }
.collapsed .local-context { display: none; }
.collapsed .brand-row { padding-inline: 21px; }
.collapsed .collapse svg { transform: rotate(180deg); }
.collapsed .nav-group { padding-block: 15px; }
.collapsed .account { padding: 16px; }
.collapsed .account summary>svg { display: none; }
dialog { width: min(1190px, calc(100vw - 44px)); height: min(94dvh, 1050px); max-height: 94dvh; padding: 0; border: 1px solid var(--line); border-radius: 11px; background: var(--bg); color: var(--ink); overflow: hidden; }
dialog::backdrop { background: #06091eb3; backdrop-filter: blur(3px); }
dialog[open] { display: flex; flex-direction: column; animation: reveal .18s ease-out; }
.dialog-heading { flex: none; display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 20px 27px; border-bottom: 1px solid var(--line); background: var(--surface); }
.dialog-heading h2 { font-size: 20px; }
.dialog-heading p { font-size: 12px; margin-top: 6px; }
.icon-button { display: grid; place-items: center; width: 36px; height: 36px; padding: 6px; border: 0; border-radius: 5px; }
.icon-button:hover { background: var(--inset); }
.report-toolbar { flex: none; padding: 11px 27px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.report-toolbar>div { display: flex; gap: 10px; }
.report-toolbar .button { min-height: 34px; font-size: 11px; padding: 7px 12px; }
.report-scroll { flex: 1; min-height: 0; overflow-y: auto; padding: 28px; }
.document { background: var(--paper); color: #232739; max-width: 900px; margin: 0 auto; padding: clamp(25px, 4vw, 58px); border: 1px solid #cbd0da; border-radius: 4px; box-shadow: 0 4px 30px #0001; }
/* Report paper is always light, even inside the dark application shell.
   Scope the entire control palette so the top-layer picker and its selected
   option cannot combine dark-shell backgrounds with document-colour text. */
.document select {
  color-scheme: light;
  --bg: var(--paper); --surface: var(--paper); --inset: #e6e9f7;
  --ink: #232739; --control: #6e78a3;
  color: var(--ink); background: var(--bg);
}
.document p { color: #525766; }
.document .committee-overview .eyebrow { color: #555f83; }
.document .table-scroll { max-height: none; margin-block: 24px; }
.document th { color: #454d6b; }
.document th,.document td { border-bottom-color: #c9d0eb; }
.operation-classes { border: 1px solid var(--line); border-radius: 6px; padding: 12px; }
.operation-classes label { display: flex; align-items: center; gap: 10px; margin-block: 8px; }
#investment-config .operation-classes input { width: 18px; min-height: 0; height: 18px; margin: 0; }
.document .button { color: #454d6b; background: transparent; border-color: #6f78a2; }
.document .button:hover,.document .button:active { color: #fff; background: #ca028c; border-color: #ca028c; }
.document-overline { font-size: 10px; letter-spacing: .15em; color: #5b6380; padding-bottom: 23px; border-bottom: 1px solid #cbd0da; margin-bottom: 26px; }
.document h1 { font-size: 32px; margin-bottom: 12px; }
.document-subtitle { font-size: 13px; }
.metrics { display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid #cbd0da; margin: 28px 0 19px; padding-block: 19px; gap: 15px; }
.metrics span { display: block; color: #525766; font-size: 11px; margin-bottom: 7px; }
.metrics strong { font-size: 27px; font-weight: 550; }
.positive { color: #18724e; }.negative { color: #b32646; }
.comparison-chart { width: 100%; max-height: 150px; margin-bottom: 25px; font: 13px system-ui,sans-serif; }
.narrative h2 { font-size: 22px; margin-bottom: 17px; }
.narrative h3 { font-size: 17px; margin: 25px 0 12px; }
.narrative p { font-size: 15px; line-height: 1.85; margin-bottom: 16px; color: #232739; }
.explanation { margin-top: 28px; border: 1px solid #9ca6c5; border-right: 4px solid #00aeef; border-radius: 5px; padding: 15px 19px; }
.explanation summary { display: flex; align-items: center; gap: 10px; font-weight: 550; font-size: 13px; }
.explanation summary span { margin-left: auto; font-size: 10px; color: #5b6380; }
.explanation dl { display: grid; grid-template-columns: 100px 1fr; gap: 11px; margin-top: 22px; font-size: 12px; }
.explanation dt { font-weight: 650; }.explanation dd { margin: 0; }
.explanation h3 { font-size: 15px; margin-block: 17px 10px; }
.explanation code,.explanation pre { overflow-wrap: anywhere; white-space: pre-wrap; font-size: 11px; }
.explanation p { font-size: 11px; margin: 12px 0 4px; }
.appendix { margin-top: 20px; padding-top: 17px; border-top: 1px solid #cbd0da; font-size: 12px; color: #525766; }
.appendix summary { color: #232739; font-weight: 600; }
.appendix li { margin-bottom: 8px; }
.report-loading { display: grid; place-content: center; justify-items: center; flex: 1; text-align: center; padding: 30px; }
.report-loading h3 { margin: 23px 0 12px; }
.report-loading p { max-width: 50ch; }
.loader { width: 48px; height: 48px; border: 2px solid var(--line); border-top-color: var(--pink); border-right-color: var(--cyan); border-radius: 50%; animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes reveal { from { opacity: .3; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation: none !important; transition: none !important; } }
@media (max-width: 1120px) { .welcome { grid-template-columns: 1.5fr 1fr; }.welcome-note { padding: 25px; }.configuration-layout { grid-template-columns: 1fr; }.mapping-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }.evidence-grid { grid-template-columns: 1fr; }.journey { gap: 12px; }.journey-card { padding: 19px; }.journey-card .button { font-size: 12px; padding-inline: 10px; gap: 6px; } }
@media (max-width: 850px) { :root { --sidebar: 72px; }.sidebar .nav-copy { display: none; }.brand-row { padding-inline: 21px; }.local-context { display: none; }.nav-group { padding-block: 14px; }.nav-item { padding-inline: 22px; }.collapse { display: none; }.account { padding: 16px; }.account summary>svg { display: none; }.topbar { padding: 0 25px; }.topbar>span:last-child { display: none; }main { padding: 27px 25px 70px; }.welcome h2 { font-size: 28px; }.journey { grid-template-columns: 1fr; }.journey-card .button { width: auto; align-self: flex-start; }.journey-card { display: grid; grid-template-columns: 1fr; }.journey-card .row { display: none; }.research-grid,.guide-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .welcome { grid-template-columns: 1fr; }.welcome-note { display: none; }main { padding-inline: 17px; }.topbar { padding-inline: 17px; }h1 { font-size: 27px; }.page-heading { align-items: flex-start; flex-direction: column; }.page-heading p { font-size: 13px; }.mapping-grid { grid-template-columns: 1fr; }.source-strip { flex-direction: column; align-items: flex-start; }.report-intro { align-items: flex-start; flex-wrap: wrap; padding: 19px; }.type-band { flex-direction: row; padding: 7px 11px; }.report-intro .badge { margin: 0; }.empty { padding: 25px 20px; }.empty h2 { font-size: 22px; }.button { white-space: normal; }.actions { flex-direction: column; align-items: stretch; }.empty .actions { width: 100%; }.configuration-layout .card { padding: 20px; }dialog { width: calc(100vw - 16px); max-width: none; height: 96dvh; max-height: 96dvh; }.dialog-heading { padding: 16px; }.report-toolbar { padding: 10px 16px; }.report-scroll { padding: 12px; }.document { padding: 23px 18px; }.document h1 { font-size: 25px; }.metrics strong { font-size: 21px; }.explanation summary span { display: none; }.explanation dl { display: block; }.explanation dd { margin: 4px 0 13px; } }
/* Source-led research reuses the document paper and Arria controls. */
.research-badge { color: #232739; background: #FFD055; border-color: #FFD055; }
#research-config fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.research-scope { display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: 20px; margin: 22px 0 8px; max-width: 960px; }
.research-reader { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 320px); align-items: start; gap: 24px; }
.research-reader .document { width: 100%; min-width: 0; margin: 0; box-sizing: border-box; }
.research-evidence { position: sticky; top: 0; border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; max-height: 70vh; overflow: auto; overflow-wrap: anywhere; font-size: .88rem; }
#research-config .investment-controls { grid-template-columns: 1.4fr 1fr 1fr; }
#research-config input { display:block; width:100%; border:1px solid var(--control); border-radius:6px; padding:10px; margin-top:7px; min-height:42px; background:var(--bg); }
@media(max-width: 680px) { #research-config .investment-controls { grid-template-columns: 1fr; } }
.research-evidence h3 { line-height: 1.4; margin: 12px 0; }
.research-evidence blockquote { margin: 18px 0; padding-left: 14px; border-left: 2px solid #9da7c7; }
.research-evidence dt { margin-top: 12px; font-weight: 600; }
.research-evidence dd { margin-left: 0; }
.research-evidence code { font-size: .74rem; }
.research-section { margin-top: 32px; }
.research-section h2 { font-size: 1.25rem; line-height: 1.5; }
.research-section blockquote { margin: 22px 0 8px; padding: 4px 0 4px 20px; border-left: 3px solid #c9d0eb; line-height: 1.8; }
.citation { margin: 0 0 24px; }
.citation-link { border: 0; border-radius: 0; padding: 2px 0; background: transparent; color: #555f83; font: inherit; font-size: .82rem; text-align: left; cursor: pointer; }
.citation-link:hover { color: #ca028c; text-decoration: underline; background: transparent; }
.citation-link:focus-visible { outline: 2px solid #ca028c; outline-offset: 3px; }
.research-summary { border-top: 1px solid #e6e8f5; border-bottom: 1px solid #e6e8f5; padding: 16px 0; color: #555f83; }
.research-disclaimer { margin-top: 32px; color: #555f83; font-size: .86rem; }
.report-builder { margin-bottom: 28px; }
.report-builder fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.report-builder .section-head { align-items: start; }
.report-builder .section-head p { max-width: 65ch; margin-top: 12px; }
.report-section-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 18px 0; }
.report-section-options label { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.report-section-options input { width: 18px; height: 18px; accent-color: var(--pink); }
.report-builder .research-scope input { width: 100%; background: var(--surface); border: 1px solid var(--control); border-radius: 5px; padding: 10px; margin-top: 7px; }
.report-builder .source-note { margin: 18px 0; }
.compact-empty { padding: 28px; margin-top: 20px; }
.composed-section { border-top: 1px solid #c9d0eb; padding-top: 26px; margin-top: 32px; scroll-margin-top: 12px; }
.composed-section>header { display: flex; align-items: start; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.composed-section>header h2 { margin: 8px 0; font-size: 23px; }
.composed-section>header .muted { font-size: 12px; color: #555f83; }
.composed-section .eyebrow { color: #555f83; }
.section-explain { color: #555f83; border-color: #9da7c7; border-right: 3px solid #00aeef; flex: none; font-size: 12px; }
.document .section-explain:hover { background: #ca028c; color: white; }
.composed-section>p { margin-block: 16px; line-height: 1.85; }
.composed-section>h2 { font-size: 20px; margin-top: 26px; }
.composed-section>h3,.composed-section>h4 { margin-top: 20px; }
.report-contents { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 25px 0; padding-block: 18px; border-block: 1px solid #c9d0eb; font-size: 12px; }
.report-contents a { color: #555f83; }
.report-limitation { border-left: 3px solid #6f78a2; padding: 12px 16px; background: #e6e8f5; }
.research-evidence pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 11px; }
.research-evidence details { margin-top: 18px; }
.earnings-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.earnings-pair>div { border-top: 2px solid #c9d0eb; padding-top: 12px; }
.earnings-pair h3 { font-size: 16px; }
@media(max-width: 680px) { .report-section-options,.earnings-pair { grid-template-columns: 1fr; }.composed-section>header { flex-wrap: wrap; } }
@media(max-width: 1000px) { .research-reader { grid-template-columns: 1fr; } .research-evidence { position: static; max-height: none; } }
@media(max-width: 680px) { .research-scope { grid-template-columns: 1fr; gap: 14px; } }
.control-note { grid-column: 1 / -1; color: var(--muted); }
.oversight-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-block: 24px; }
.oversight-metrics>div { padding: 16px 0; border-top: 2px solid #c9d0eb; }
.oversight-metrics span,.oversight-metrics small,.oversight-table small { display: block; color: #555f83; }
.oversight-metrics strong { display: block; font-size: 25px; margin-block: 6px; }
.oversight-table { overflow-x: auto; margin-block: 20px; }
.oversight-table table { width: 100%; border-collapse: collapse; font-size: 13px; }
.oversight-table th,.oversight-table td { text-align: left; padding: 12px; border-bottom: 1px solid #c9d0eb; }
.oversight-table caption { text-align: left; padding-block: 12px; color: #555f83; }
.oversight-chart { margin: 24px 0; }
.oversight-chart figcaption { font-weight: 600; }
.oversight-chart svg { width: 100%; height: auto; }
.oversight-chart text { fill: #232739; font-size: 13px; }
@media(max-width: 760px) { .oversight-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width: 460px) { .oversight-metrics { grid-template-columns: 1fr; } }

/* Task-led Investment experience. Shared Arria palette and navigation unchanged. */
.research-reader.evidence-collapsed { grid-template-columns:minmax(0,900px); justify-content:center; }
.research-evidence[hidden] { display:none; }
main { animation: reveal .2s ease-out; }
.text-link { display:inline-flex; align-items:center; gap:8px; border:0; padding:8px 0; color:var(--muted); text-decoration:none; font-size:13px; font-weight:600; }
.text-link:hover { color:var(--pink); }
.experience-hero { display:grid; grid-template-columns:1.15fr 1fr; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.hero-message { padding:38px; align-self:center; }
.hero-message h2 { font-size:clamp(30px,3.1vw,46px); line-height:1.12; letter-spacing:-.045em; margin-bottom:20px; }
.hero-message h2>span { color:var(--muted); }
.hero-message p { max-width:46ch; }
.hero-message small { display:block; font-size:11px; color:var(--muted); margin-top:16px; }
.hero-message .actions { gap:18px; }
.report-art { padding:28px 30px 0; background:var(--inset); overflow:hidden; display:grid; place-items:start center; min-width:0; }
.art-paper { width:100%; max-width:340px; background:var(--paper); color:#232739; padding:25px; border:1px solid #c9d0eb; border-radius:5px 5px 0 0; box-shadow:0 12px 28px #0001; transform:translateY(7px) rotate(-2deg); transition:transform .3s; }
.experience-hero:hover .art-paper { transform:translateY(0) rotate(0); }
.art-masthead { font-size:12px; font-weight:650; letter-spacing:.08em; padding-bottom:16px; border-bottom:1px solid #c9d0eb; }
.art-masthead>span { float:right; font-size:7px; padding-top:4px; }
.art-paper h3 { font-size:24px; line-height:1.18; margin:18px 0 10px; }
.art-caption { font-size:8px; letter-spacing:.12em; color:#5b6380; }
.art-section { display:flex; gap:12px; padding-top:17px; }
.art-section>span { color:#6e78a3; font-size:11px; }
.art-section>div { flex:1; }
.art-section strong { font-size:11px; display:block; font-weight:600; }
.art-section i { height:4px; background:#e6e9f7; display:block; margin-top:7px; width:100%; }
.art-section i:last-child { width:70%; }
.art-footer { margin-top:23px; padding-top:12px; border-top:1px solid #c9d0eb; font-size:10px; color:#5b6380; display:flex; justify-content:space-between; }
.home-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:24px 0; }
.path-card { display:flex; flex-direction:column; text-decoration:none; padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); transition:border-color .18s,transform .18s; }
.path-card:hover { border-color:var(--pink); transform:translateY(-3px); }
.path-number { color:var(--control); font-size:12px; letter-spacing:.1em; margin-bottom:18px; }
.path-card h2 { font-size:19px; margin-bottom:10px; }
.path-card p { font-size:13px; flex:1; }
.path-cta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:22px; font-size:12px; font-weight:600; }
.session-strip { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 26px; border:1px solid var(--line); border-radius:var(--radius); }
.session-strip .eyebrow { margin-bottom:7px; }
.session-strip strong { font-size:16px; font-weight:550; }
.session-strip p { font-size:12px; margin-top:5px; }
.trust-line { display:flex; flex-wrap:wrap; justify-content:center; gap:14px 30px; color:var(--muted); padding:25px 0 0; font-size:11px; }
.trust-line span::before { content:'✓'; color:var(--control); margin-right:8px; }
.report-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.report-format { display:flex; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; min-width:0; transition:border-color .2s,box-shadow .2s; }
.report-format:hover { border-color:var(--control); box-shadow:0 6px 24px #0001; }
.report-format .format-copy { padding:25px; min-width:0; display:flex; flex-direction:column; flex:1; }
.format-copy .eyebrow { font-size:9px; margin-bottom:12px; }
.format-copy h2 { font-size:19px; margin-bottom:12px; }
.format-copy p { font-size:12px; flex:1; }
.format-copy small { color:var(--muted); font-size:11px; margin-top:17px; }
.format-copy .actions { margin-top:16px; }
.report-format .mini { width:112px; flex:none; padding:22px 10px 0; }
.mini .art-paper { min-width:95px; width:100%; padding:10px; transform:rotate(-3deg); overflow-wrap:anywhere; }
.mini .art-masthead { font-size:7px; padding-bottom:9px; }
.mini .art-masthead>span { display:none; }
.mini .art-paper h3 { font-size:12px; margin:12px 0; }
.mini .art-caption { font-size:5px; }
.mini .art-section { padding-top:12px; gap:7px; }
.mini .art-section>span { font-size:6px; }
.mini .art-section strong { font-size:6px; }
.mini .art-section i { height:3px; margin-top:4px; }
.mini .art-footer { font-size:6px; }
.report-format.featured { grid-column:1/-1; flex-direction:row-reverse; }
.report-format:not(.featured) .mini { position:relative; padding:0; }
.report-format:not(.featured) .art-paper { position:absolute; left:14px; top:26px; width:190px; min-width:190px; padding:18px; transform:scale(.48) rotate(-3deg); transform-origin:top left; }
.report-format:not(.featured) .art-paper h3 { font-size:22px; }
.report-format:not(.featured) .art-section strong { font-size:11px; }
.report-format:not(.featured) .art-section { padding-top:24px; }
.report-format:not(.featured) .art-footer { font-size:10px; }
.featured .mini { width:34%; padding:24px 32px 0; max-height:275px; }
.featured .art-paper { width:240px; min-width:0; padding:20px; }
.featured .art-paper h3 { font-size:21px; }
.featured .art-section strong { font-size:9px; }
.featured .format-copy { padding:30px; }
.featured .format-copy h2 { font-size:28px; }
.featured .format-copy p { font-size:14px; max-width:55ch; }
.builder-back { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
.builder-back>span { font-size:11px; color:var(--muted); }
.builder-back b { padding:0 9px; color:var(--control); }
.focused-builder { display:grid; grid-template-columns:minmax(0,1fr) 260px; align-items:start; gap:28px; }
.focused-builder>div { min-width:0; }
.builder-outline { padding-top:24px; border-top:2px solid var(--line); }
.builder-outline h2 { font-size:20px; margin-bottom:12px; }
.builder-outline p { font-size:13px; }
.builder-outline ol { padding-left:23px; font-size:13px; color:var(--muted); }
.builder-outline li { padding:8px 0 8px 5px; }
.outline-note { border-top:1px solid var(--line); padding-top:18px; margin-top:22px; font-size:12px; color:var(--muted); line-height:1.7; }
.focused-builder .investment-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
.focused-builder .research-scope { grid-template-columns:repeat(2,minmax(0,1fr)); }
.focused-builder .card { padding:26px; }
.compact-empty { min-height:240px; gap:12px; }
.compact-empty .actions { margin-top:8px; }
.report-builder .section-head { margin-bottom:24px; }
.report-builder .section-head p { font-size:13px; }
.report-builder .quiet-details>p { margin-top:12px; }
.explore-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:30px; align-items:start; }
.question-rail { border-right:1px solid var(--line); padding-right:20px; }
.topic-picker { display:none; }
.question-group+.question-group { margin-top:25px; }
.question-group h2 { font-size:10px; text-transform:uppercase; letter-spacing:.11em; color:var(--muted); margin:0 0 12px 10px; }
.question-choice { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; text-align:left; font-size:12px; line-height:1.45; border:1px solid transparent; border-radius:6px; padding:12px 10px; margin:4px 0; color:var(--muted); }
.question-choice span:last-child { opacity:0; }
.question-choice:hover { background:var(--surface); color:var(--ink); }
.question-choice.selected { border-color:var(--pink); background:var(--surface); color:var(--ink); }
.question-choice.selected span:last-child { opacity:1; color:var(--pink); }
.analysis-stage { min-width:0; }
#investment-config fieldset { border:0; padding:0; margin:0; min-width:0; }
.analysis-intro { margin-bottom:22px; }
.analysis-stage>.eyebrow,.analysis-intro .eyebrow { margin-bottom:12px; }
.analysis-stage>h2,.analysis-intro h2 { font-size:28px; margin-bottom:12px; }
.analysis-intro p { font-size:13px; }
.source-inline { display:inline-block; color:var(--muted); text-decoration:none; font-size:11px; margin-top:17px; }
.source-inline:hover { text-decoration:underline; }
.analysis-stage .investment-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
.analysis-stage .investment-controls>label:first-of-type { grid-column:1/-1; }
.analysis-stage .card { padding:26px; }
.analysis-ready { padding:28px 0 12px; }
.ready-symbol { display:grid; place-items:center; color:var(--control); border:1px solid var(--line); width:46px; height:46px; border-radius:8px; font-size:26px; margin-bottom:22px; }
.analysis-ready h3 { margin-bottom:10px; }
.analysis-ready p { max-width:54ch; }
.analysis-stage .mapping-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.resilience-assumptions { grid-column:1/-1; min-width:0; border:1px solid var(--border); border-radius:6px; padding:16px; }
.resilience-assumptions legend { padding:0 6px; font-weight:600; }
.resilience-assumptions p { font-size:13px; margin:6px 0 12px; }
.resilience-chart { margin:20px 0; }
.resilience-chart figcaption { font-weight:600; margin-bottom:10px; }
.resilience-chart svg { display:block; width:100%; height:auto; }
.analysis-stage .journey { grid-template-columns:repeat(2,minmax(0,1fr)); }
.analysis-stage .journey .card { padding:18px; }
.analysis-stage .journey .card p { font-size:12px; }
.analysis-stage #research-config .investment-controls { grid-template-columns:1fr 1fr; }
.analysis-stage #research-config .investment-controls>label:first-of-type { grid-column:auto; }
.briefing-includes { padding:24px 0 0; }
.briefing-includes ol { padding-left:18px; margin:0; font-size:13px; color:var(--muted); }
.briefing-includes li { padding:5px 0 5px 5px; }
.briefing-includes p { font-size:12px; margin-top:16px; }
.data-entry { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-bottom:32px; }
.data-entry h2 { font-size:23px; margin-bottom:14px; overflow-wrap:anywhere; }
.data-entry p { font-size:13px; }
.data-entry small { display:block; color:var(--muted); margin-top:14px; font-size:11px; }
.upload-trigger { margin-top:24px; cursor:pointer; }
.data-placeholder { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:30px; }
.data-placeholder span { height:68px; border:1px dashed var(--control); border-radius:6px; opacity:.5; }
.example-library { margin-bottom:30px; }
.example-library .section-head p { font-size:13px; margin-top:7px; }
.example-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.example-card { display:flex; flex-direction:column; padding:22px; }
.example-card .eyebrow { font-size:9px; margin-bottom:12px; }
.example-card h3 { margin-bottom:12px; }
.example-card p { font-size:12px; flex:1; margin-bottom:22px; }
.example-card .button { align-self:start; }
.investment-account { margin-top:28px; }
.investment-account>summary { font-weight:600; }
.investment-account>summary small { font-weight:400; color:var(--muted); font-size:12px; margin-left:15px; }
.account-panel-body { padding-top:24px; }
.account-panel-body p { margin-top:16px; font-size:12px; }
.research-report-entry { margin-bottom:0; }
#research-report-form fieldset { border:0; padding:0; margin:0; }
#research-report-form input[type="date"],#research-report-form input[type="datetime-local"] { display:block; width:100%; margin-top:7px; padding:10px; border:1px solid var(--control); border-radius:6px; background:var(--bg); min-width:0; }
.guide-sections { max-width:960px; }
.guide-sections details { margin-bottom:14px; }
.guide-sections summary { font-size:17px; font-weight:600; }
.guide-sections p,.guide-sections ol { margin-top:18px; font-size:14px; color:var(--muted); }
@media(max-width:1200px){.focused-builder{grid-template-columns:minmax(0,1fr) 210px;gap:20px}.hero-message{padding:28px}.report-format .mini{width:84px}.featured .mini{width:34%}.explore-layout{grid-template-columns:200px minmax(0,1fr);gap:22px}.question-rail{padding-right:14px}}
@media(max-width:1000px){.focused-builder{grid-template-columns:1fr}.builder-outline{display:none}.report-format .mini{display:none}.report-format.featured .mini{display:grid}.hero-message h2{font-size:34px}.hero-message .actions{align-items:flex-start;flex-direction:column}.example-grid{grid-template-columns:1fr 1fr}.home-paths{gap:12px}.path-card{padding:20px}.path-card h2{font-size:17px}}
@media(max-width:760px){.experience-hero{grid-template-columns:1fr}.experience-hero>.report-art{display:none}.home-paths,.data-entry{grid-template-columns:1fr}.report-gallery{grid-template-columns:1fr}.report-format.featured{grid-column:auto}.featured .format-copy h2{font-size:23px}.report-format.featured .mini{display:none}.explore-layout{grid-template-columns:1fr}.question-rail{border-right:0;border-bottom:1px solid var(--line);padding:0 0 16px;display:flex;gap:16px;overflow-x:auto}.question-group{flex:0 0 200px}.question-group+.question-group{margin-top:0}.question-choice{padding:10px}.analysis-intro h2,.analysis-stage>h2{font-size:24px}.session-strip{align-items:flex-start;flex-direction:column}.builder-back>span{display:none}.investment-account>summary small{display:block;margin:6px 0 0 17px}.research-scope{grid-template-columns:1fr}.example-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.example-grid,.analysis-stage .investment-controls,.analysis-stage .mapping-grid,.focused-builder .investment-controls,.focused-builder .research-scope,.analysis-stage #research-config .investment-controls,.analysis-stage .journey{grid-template-columns:1fr}.hero-message{padding:24px}.hero-message h2{font-size:32px}.format-copy .actions{align-items:stretch}.data-entry .card{padding:22px}.report-format .format-copy,.featured .format-copy{padding:23px}.analysis-stage .card{padding:20px}.report-toolbar>div{flex-wrap:wrap}.saved-grid{grid-template-columns:minmax(0,1fr)}.question-group{flex-basis:190px}.trust-line{justify-content:flex-start}.report-section-options label{min-width:0;overflow-wrap:anywhere}.document .metrics{grid-template-columns:1fr}.explanation-period{grid-column:auto}}
@media(max-width:760px){.topic-picker{display:block}.question-rail{display:none}}
.regulatory-intro{border-block-end:1px solid #c9d0eb;padding-block-end:1rem;margin-block-end:1.5rem}
.regulatory-publication{border-inline-start:3px solid #c9d0eb;padding:0 0 1rem 1.25rem;margin-block:1.75rem}
.regulatory-heading{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;color:#555f83;font-size:.85rem}
.regulatory-stage{border:1px solid #9ba6c7;border-radius:5px;padding:.3rem .65rem;font-weight:700;color:#343c56}
.regulatory-scope{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(0,2fr);gap:.4rem 1rem;font-size:.9rem}
.regulatory-scope dt{color:#555f83}.regulatory-scope dd{margin:0;overflow-wrap:anywhere}
@media(max-width:600px){.regulatory-scope{grid-template-columns:1fr;gap:.25rem}.regulatory-scope dd{margin-block-end:.65rem}.regulatory-publication{padding-inline-start:.75rem}}
/* II-07A: mandates have separate summaries; never a comparative leaderboard. */
.mandate-picker {display:grid;gap:10px;margin:20px 0;border:0;padding:0}
.mandate-picker legend {font-weight:650;margin-bottom:10px}
.mandate-picker label,.receipt-picker label {display:flex;align-items:flex-start;gap:12px;border:1px solid var(--border);border-radius:8px;padding:14px;cursor:pointer}
.mandate-picker input,.receipt-picker input {width:auto;flex:none;margin-top:4px}
.mandate-picker small,.receipt-picker small {display:block;font-size:.8rem;margin-top:5px;overflow-wrap:anywhere}
.receipt-picker {display:grid;gap:8px;margin:14px 0;max-height:400px;overflow:auto}
.mandate-summaries {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px;margin:18px 0 28px}
.mandate-summaries article {padding:20px;border:1px solid #c9d0eb;border-top:3px solid #6e78a3;border-radius:8px;background:#f7f7fb;color:#232739}
.mandate-summaries h3 {margin-top:10px}.mandate-summaries dd {margin:0 0 12px;font-weight:600;overflow-wrap:anywhere}
.mandate-summaries dt {font-size:.83rem;color:#555f83}
/* Narrative document export controls stay beneath the compact report toolbar. */
.native-export-controls{display:grid;gap:10px;width:100%}
.native-export-controls small{max-width:88ch;line-height:1.5}
.native-export-controls .export-feedback:empty{display:none}
.native-export-line{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.native-export-controls .actions{margin:0;gap:8px}
.native-export-controls .export-feedback{border:0;padding:0;margin:0;font-size:.875rem}
.native-export-controls summary{font-size:.875rem;cursor:pointer}
.native-export-controls details p{max-width:88ch;font-size:.875rem;line-height:1.5}
