@font-face{font-family:"IBM Plex Sans";src:url("/assets/ibm-plex-sans-var-roman-DKYrB2Yq.woff2") format("woff2");font-style:normal;font-weight:100 700;font-display:swap}
:root{color-scheme:dark;--font-sans:"IBM Plex Sans","Segoe UI",system-ui,sans-serif;--bg:#081727;--panel:#102337;--surface:#182f46;--text:#eef4fc;--muted:#a9bdd1;--gold:#ffda68;--line:#30465b;--hover:#1b354e;--focus:#8cc8ff;--warning:#f5cc77;--positive:#9ae8bc;--negative:#ffaaaa;--shadow:0 8px 24px #0002}
:root[data-theme=light]{color-scheme:light;--bg:#f4f6f9;--panel:#fff;--surface:#eef2f7;--text:#172d44;--muted:#53657a;--gold:#785600;--line:#ced8e3;--hover:#edf3fa;--focus:#116dc6;--warning:#805400;--positive:#19683d;--negative:#a52335;--shadow:0 8px 24px #20304008}
#comparison-body .change-up{color:var(--positive)}#comparison-body .change-down{color:var(--negative)}
.holdings-overview{margin-top:24px;padding:20px;background:var(--bg);border:1px solid var(--line);border-radius:12px}
.holdings-chart-layout{display:grid;grid-template-columns:240px minmax(0,1fr);align-items:center;gap:24px;margin-top:14px}
.holdings-chart svg{display:block;width:100%;max-width:240px;margin:auto;overflow:visible}
.chart-total{font-size:22px;font-weight:700;fill:var(--text);font-variant-numeric:tabular-nums}.chart-subtitle{font-size:11px;fill:var(--muted)}
.chart-color-0{--slice:#d1aa39}.chart-color-1{--slice:#5392d6}.chart-color-2{--slice:#49a5a0}.chart-color-3{--slice:#9979c6}.chart-color-4{--slice:#cc7a60}.chart-color-5{--slice:#88a454}.chart-color-6{--slice:#ba77a1}.chart-color-7{--slice:#679eae}.chart-color-8{--slice:#8191a2}
.chart-segment{stroke:var(--slice)}.chart-highlight .chart-segment:not(.active){opacity:.25}
.holdings-chart-legend{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:3px}
.chart-legend-control{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:7px 9px;background:transparent;border-color:transparent;text-align:left;font-size:12px}
.chart-swatch{flex:none;width:10px;height:10px;border-radius:3px;background:var(--slice)}.chart-legend-name{min-width:0;overflow-wrap:anywhere}.chart-legend-value{margin-left:auto;flex:none;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
#holdings-chart-note,#holdings-chart-coverage{font-size:12px;line-height:1.6}#holdings-chart-coverage{border-top:1px solid var(--line);padding-top:12px;margin-top:16px}
.help.presence-label{width:auto;height:auto;margin-left:10px;vertical-align:middle}.help.presence-label>button{width:auto;min-height:44px;line-height:1.4;padding:6px 9px;border-radius:5px;font-size:11px;text-align:left;font-weight:600;color:var(--muted);text-decoration:underline dotted;text-underline-offset:3px;white-space:nowrap}
.help.presence-label>button:before{display:none}.help.presence-new>button{color:var(--positive)}.help.presence-caution>button{color:var(--warning)}
@media(min-width:1150px){.holdings-chart-layout{grid-template-columns:240px minmax(0,1fr)}.holdings-chart-legend{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}}
@media(max-width:680px){.holdings-overview{padding:14px}.holdings-chart-layout{grid-template-columns:minmax(0,1fr);gap:10px}.holdings-chart svg{max-width:210px}.chart-legend-control{padding-left:0;padding-right:0}.chart-legend-value{font-size:11px}}
.comparison-jump{display:inline-flex;align-items:center;min-height:44px;margin-left:14px;font-size:13px;text-underline-offset:4px}.partial-comparison{border-left:3px solid var(--warning);padding:10px 14px;background:var(--surface)}.excluded-info{margin-top:18px;border:1px solid var(--line);border-radius:8px;padding:0 14px 14px}.excluded-info>summary{cursor:pointer;min-height:44px;padding:12px 0;color:var(--warning);font-size:13px;font-weight:600}.excluded-info:not([open]){padding-bottom:0}#excluded-table td:last-child{min-width:240px;white-space:normal}#comparison-heading{scroll-margin-top:20px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 var(--font-sans)}button,input,select{font:inherit}button,select,input{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;min-height:44px;padding:9px 12px}button{cursor:pointer}button:hover:not(:disabled){background:var(--hover);border-color:var(--muted)}button:disabled{opacity:.45;cursor:default}a{color:var(--gold)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}[hidden]{display:none!important}
.wrap{width:min(1384px,100%);margin:auto;padding:0 32px 40px}.brand-row{height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);margin-bottom:24px}.brand-row a{text-decoration:none;font-weight:750;letter-spacing:-.02em}.brand-section{color:var(--muted);font-weight:400;margin-left:10px}.brand-row button{font-size:12px;background:transparent;border-color:transparent}.hero{padding-bottom:22px}h1{font-size:clamp(28px,3vw,38px);line-height:1.15;letter-spacing:-.04em;margin:0 0 8px}h2,h3{line-height:1.3;margin:0;font-size:19px}h3{font-size:17px}.intro{font-size:15px;margin:0;color:var(--muted)}.note{font-size:13px;color:var(--muted);margin:8px 0 0}
.panel{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:20px 24px;margin-bottom:16px}.workspace{padding:0 24px 14px;margin-bottom:0}.tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin:0 -24px 18px;padding:0 24px;overflow-x:auto}.tabs button{white-space:nowrap;border:0;border-radius:0;background:transparent;padding:15px 2px 12px;border-bottom:3px solid transparent;color:var(--muted);font-size:14px}.tabs button[aria-selected=true]{color:var(--gold);border-bottom-color:var(--gold);font-weight:700}.tabs button:hover:not(:disabled){background:transparent;color:var(--text)}
.search-row{display:flex;gap:16px;align-items:end}.search-field{display:flex;flex-direction:column;gap:7px;flex:1;min-width:0}.search-field>span,.field>span,.field>label{font-size:12px;font-weight:600;color:var(--muted)}.search-input{position:relative;display:block}.search-input svg{position:absolute;left:15px;top:16px;fill:none;stroke:var(--muted);stroke-width:1.7;pointer-events:none}.search-field input{width:100%;background:var(--bg);min-height:52px;padding:12px 14px 12px 45px;font-size:16px}.search-field input::placeholder{color:var(--muted);opacity:1}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.quarter-field{width:164px;flex:none}.quarter-field select{min-height:52px}select{width:100%}.controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-top:12px}.controls .field{flex-direction:row;align-items:center;gap:8px}.controls .field>label{display:flex;align-items:center;white-space:nowrap}.controls select{width:170px;font-size:13px;background:transparent}.controls #category{width:195px}.quiet{font-size:13px;color:var(--muted);border-color:transparent;background:transparent}.detail-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-left:auto;min-height:44px;cursor:pointer;white-space:nowrap}.detail-toggle input{min-height:18px;width:18px;height:18px;margin:0;accent-color:var(--gold)}
.source-info{margin:0 0 16px;font-size:12px;color:var(--muted)}.source-info>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:10px 4px;cursor:pointer;list-style:none}.source-info>summary::-webkit-details-marker{display:none}.coverage-caption{color:var(--warning);margin-left:14px}.source-action{white-space:nowrap;text-decoration:underline;text-underline-offset:3px;color:var(--muted)}.source-action-chevron{display:inline-block}.source-info[open] .source-action-chevron{transform:rotate(180deg)}.source-content{border:1px solid var(--line);border-radius:10px;padding:20px;background:var(--panel);font-size:13px}.source-content>p{max-width:900px}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:18px 0}.stat-label,.stat-note{font-size:12px;color:var(--muted)}.stat-value{font-size:22px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.stat.warning .stat-value{color:var(--warning)}.edition-field{max-width:480px}.edition-field>label{display:flex;align-items:center}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.result-count{font-size:13px;color:var(--muted);white-space:nowrap}.section-intro,.table-note{font-size:12px;color:var(--muted);margin:0 0 12px;max-width:950px}.table-note{border-left:2px solid var(--warning);padding-left:10px}.scroller{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:8px;margin-top:12px}table{border-collapse:collapse;width:100%;font-size:14px}th,/* Light text on a dark ground reads thinner than the same weight does on white, so the data
   cells carry 500 rather than 400. The first column stays 600 and .secondary stays 400, so
   the step between a value and its qualifier grows instead of flattening. */
td{padding:8px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;font-weight:500}th{background:var(--surface);font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}th .sort{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;min-width:44px;padding:0;background:none;border:0;color:inherit;font-size:inherit;font-weight:inherit;border-radius:3px}th[aria-sort=ascending] .sort,th[aria-sort=descending] .sort{color:var(--gold)}.sort-indicator{display:inline-block;opacity:.6}.sort-label-short{display:none}th[aria-sort=ascending] .sort-indicator,th[aria-sort=descending] .sort-indicator{opacity:1}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--hover)}td:first-child{min-width:170px;max-width:360px;font-weight:600}td.num,th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}td .secondary{display:block;font-size:11px;color:var(--muted);font-weight:400;overflow-wrap:anywhere;margin-top:3px}.link{border:0;background:none;color:var(--text);padding:0;min-height:44px;min-width:44px;text-align:left;font-weight:650;font-size:14px}.link:hover{color:var(--gold);text-decoration:underline;text-underline-offset:3px}.tag{display:inline-block;padding:3px 8px;border-radius:5px;background:var(--surface);font-size:11px;font-weight:500;white-space:nowrap;margin:0 3px 3px 0}.limited{color:var(--warning)}.unknown{color:var(--muted)}.kind-new{color:var(--positive)}.kind-absent{color:var(--warning)}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;font-size:13px;color:var(--muted)}.pager button{background:transparent;font-size:13px}.empty{padding:30px 8px;text-align:center;color:var(--muted);font-size:14px}.message{display:flex;justify-content:space-between;align-items:center;gap:15px;background:var(--surface);padding:12px 16px;border-radius:9px;margin-bottom:16px;font-size:14px}.message:not(.error){position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:10;box-shadow:var(--shadow);border:1px solid var(--line);pointer-events:none}.message.error{border:1px solid var(--warning);color:var(--warning)}[aria-busy=true] .scroller{opacity:.45}
.detail-heading{margin-top:28px}.fund-title{font-size:27px;margin-top:16px}.back{font-size:13px;background:transparent}.identifiers{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:var(--muted)}.identifier{padding:7px 10px;border:1px solid var(--line);border-radius:6px;overflow-wrap:anywhere}.help{display:inline-flex;vertical-align:middle;width:44px;height:44px;align-items:center;justify-content:center}.help>button{position:relative;width:44px;height:44px;min-height:44px;padding:0;border:0;line-height:44px;background:transparent;color:var(--muted);font-size:11px;font-weight:700}.help>button:before{content:"";position:absolute;width:17px;height:17px;border:1px solid var(--muted);border-radius:50%;left:13px;top:13px}.tooltip{display:none;position:fixed;z-index:20;width:min(280px,calc(100vw - 16px));padding:12px 14px;border-radius:8px;border:1px solid var(--line);background:var(--text);color:var(--bg);font-size:13px;line-height:1.5;white-space:normal;text-align:left;font-weight:400;box-shadow:var(--shadow)}.tooltip.open{display:block}.exact-amount{width:auto;max-width:100%;height:auto}.exact-amount>button{width:auto;height:auto;min-height:44px;font-size:14px;font-weight:500;color:var(--text);line-height:1.5;border-radius:4px;text-decoration:underline dotted var(--muted);text-underline-offset:5px;white-space:normal}.exact-amount>button:before{display:none}.weight-bar{display:block;width:100%;height:3px;background:var(--line);border-radius:3px;margin-top:5px}.weight-bar>span{display:block;background:var(--gold);height:100%;border-radius:3px}
.mobile-meta{display:none}.wrap:not(.show-technical) .technical-column,.wrap:not(.show-technical) .technical-only{display:none}.no-categories .category-column{display:none}.holdings-count{color:var(--muted)}footer{display:flex;justify-content:space-between;gap:30px;margin-top:24px;color:var(--muted);font-size:12px}footer p{max-width:650px;margin:0}.sr-only,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;width:auto;height:auto;clip-path:none;top:10px;left:10px;padding:10px;background:var(--panel);z-index:30}
.brand-row{height:60px;margin-bottom:18px}.hero{padding-bottom:18px}.workspace{padding-bottom:10px}.tabs{margin-bottom:12px}.tabs button{padding-top:12px;padding-bottom:9px}#tab-detail{max-width:250px;overflow:hidden;text-overflow:ellipsis}.search-field input{font-weight:400;min-height:48px}.search-input svg{top:14px}.controls{margin-top:8px}.controls .quarter-field{width:auto}.controls .quarter-field select{width:140px;min-height:44px}.controls .quarter-field>span{white-space:nowrap}.panel:not(.workspace){padding-top:16px;padding-bottom:16px}.source-info{margin-bottom:8px}th,td{padding-top:4px;padding-bottom:4px}.section-heading{margin-bottom:8px}.table-note{margin-bottom:8px}.sort-caption{font-size:11px;color:var(--muted);max-width:450px}.num .secondary{white-space:normal}.exact-amount>button{font-weight:400}
@media(max-width:950px){.wrap{padding:0 20px 32px}.controls{gap:8px 12px}.controls .field{flex-direction:column;align-items:flex-start;gap:0}.controls .field>label,.controls .field>span{min-height:44px;display:flex;align-items:center}.controls .quiet,.detail-toggle{align-self:flex-end}.panel{padding:18px}.workspace{padding:0 18px 12px}.tabs{margin-left:-18px;margin-right:-18px;padding:0 18px}.summary{grid-template-columns:repeat(2,1fr)}.coverage-caption{display:block;margin-left:0;margin-top:3px}}
@media(max-width:540px){.wrap{padding:0 12px 28px}.brand-row{height:60px;margin-bottom:20px}.brand-row a{font-size:13px}.brand-section{display:none}.hero{padding-bottom:18px}h1{font-size:29px}.intro{font-size:14px;max-width:330px}.panel{padding:14px;border-radius:10px}.workspace{padding:0 14px 12px}.tabs{margin:0 -14px 14px;padding:0 14px;gap:16px}.tabs button{font-size:12px;padding-top:13px}.search-row{gap:10px;flex-wrap:wrap}.search-field{flex-basis:100%}.search-field input{font-size:16px}.quarter-field{width:130px}.quarter-field select{min-height:44px;font-size:13px}.controls{gap:8px;margin-top:8px;align-items:flex-end}.controls select{width:155px}.controls #category{width:180px}.detail-toggle{margin-left:0;flex:1;justify-content:flex-end}.source-info>summary{gap:8px;align-items:center;font-size:11px}.source-action{font-size:11px}.source-content{padding:14px}.section-heading{align-items:center}h2{font-size:17px}.result-count{font-size:12px}.table-note{font-size:11px}.pager{gap:8px;font-size:11px}.pager button{font-size:12px;padding:8px}.fund-title{font-size:23px}.exact-amount>button{font-size:13px}.summary{gap:12px}.stat-value{font-size:20px}footer{display:block}footer p{margin-top:8px}#funds-table{table-layout:fixed}#funds-table th:first-child,#funds-table td:first-child{width:58%;min-width:0;max-width:none}#funds-table .manager-column,#funds-table .holdings-column{display:none}#funds-table .mobile-meta{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:4px}#funds-table th,#funds-table td{white-space:normal;padding:8px;overflow-wrap:anywhere}#funds-table .sort{white-space:normal}#funds-table .help:not(.exact-amount){display:none}#funds-table .link{font-size:13px}.show-technical #funds-table{table-layout:auto;min-width:690px}.show-technical #funds-table .manager-column,.show-technical #funds-table .holdings-column{display:table-cell}.show-technical #funds-table .help{display:inline-flex}.show-technical #funds-table .mobile-meta{display:none}}
/* Fund presentation layer. The reader, table and financial state contracts stay
   in fondinnehav.css/js; this file owns only the portfolio and broadcast skin. */
body {
  background-image: radial-gradient(ellipse at 90% 0, #2351741c, transparent 52%);
  background-attachment: fixed;
}
.brand-row { border-bottom-color: #6688a42e; }
.hero h1 { letter-spacing: -.045em; }
.workspace {
  background-image: linear-gradient(115deg, #5187ac0c, transparent 65%);
  box-shadow: inset 0 1px 0 #b7d9f30a;
}
.tabs button[aria-selected=true] { text-shadow: 0 0 22px #ffda681c; }
.fund-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-top: 20px;
}
.fund-heading-main { min-width: 0; }
.fund-kicker, .portfolio-kicker {
  margin: 0;
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.fund-heading #detail-name {
  margin: 5px 0 8px;
  color: var(--gold);
  font-size: clamp(28px, 3.2vw, 43px);
  line-height: 1.1;
  letter-spacing: -.045em;
  overflow-wrap: anywhere;
}
.fund-heading-actions { display: flex; flex-wrap: wrap; flex-shrink: 0; gap: 8px; }
.broadcast-launch {
  padding: 10px 17px;
  border-color: var(--gold);
  border-radius: 999px;
  background: transparent;
  color: var(--gold);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .05em;
  box-shadow: inset 0 0 20px #dfb64509;
}
.broadcast-launch:hover:not(:disabled) { border-color: var(--gold); }
.portfolio-overview {
  padding: 0;
  overflow: visible;
  border-radius: 17px;
  background: linear-gradient(120deg, #27557916, transparent 60%), var(--bg);
  box-shadow: inset 0 1px 0 #bad9f20a;
}
.portfolio-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 24px 10px;
}
.portfolio-heading { min-width: 0; }
.portfolio-title {
  margin: 5px 0 7px;
  font-size: clamp(24px, 2.4vw, 34px);
  letter-spacing: -.035em;
  line-height: 1.12;
  overflow-wrap: anywhere;
}
.portfolio-subtitle {
  margin: 0;
  max-width: 880px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.portfolio-meta { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 24px 12px; }
.portfolio-chip {
  display: inline-block;
  padding: 4px 9px;
  color: var(--muted);
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.portfolio-chip.caution { color: var(--warning); border-color: #b79b564f; }
.portfolio-metric { min-width: 0; }
.portfolio-metric-label { display: block; color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.portfolio-metric-value { display: block; margin-top: 3px; color: var(--text); font-size: 16px; line-height: 1.25; font-weight: 780; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.portfolio-context { display: flex; flex-wrap: wrap; gap: 6px; }
/* Reported short or derivative exposure. Coloured as a negative number, not as a warning:
   it describes the portfolio rather than casting doubt on the source. */
.portfolio-chip.negative-weight { color: var(--negative); border-color: color-mix(in srgb, var(--negative) 38%, transparent); }
/* The arithmetic under the note: quieter than prose, tabular so the figures line up. */
/* Shares the note's selectors above for padding, size and colour, so a breakpoint changed
   there carries here instead of the two drifting apart. Only the figures differ. */
.portfolio-reconciliation { font-variant-numeric: tabular-nums; }
.portfolio-reconciliation[hidden] { display: none; }
.portfolio-note, #holdings-chart-note.portfolio-note, .portfolio-reconciliation {
  padding: 0 24px 14px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
.companies-single-result {
  display: grid;
  gap: 10px;
  margin: 4px 24px 18px;
  padding: 18px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  border-radius: 14px;
  background: linear-gradient(125deg, color-mix(in srgb, var(--gold) 8%, var(--panel)), var(--bg));
}
.companies-single-kicker {
  margin: 0;
  color: var(--gold);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.companies-single-title { margin: 0; font-size: clamp(20px, 2vw, 30px); line-height: 1.2; overflow-wrap: anywhere; }
.companies-single-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 10px; margin: 2px 0 0; }
.companies-single-metric { min-width: 0; padding: 10px 12px; border-radius: 9px; background: color-mix(in srgb, var(--surface) 82%, transparent); }
.companies-single-metric dt { color: var(--muted); font-size: 11px; }
.companies-single-metric dd { margin: 3px 0 0; color: var(--text); font-size: 16px; font-weight: 750; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.companies-single-metric small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.4; overflow-wrap: anywhere; }
.broadcast-dialog .companies-overview.single-result { justify-content: flex-start; }
.broadcast-dialog .companies-single-result { width: min(900px, calc(100% - 48px)); box-sizing: border-box; margin-right: auto; }
.portfolio-overview .holdings-chart-layout {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1fr);
  gap: 20px;
  align-items: stretch;
  padding: 18px 24px;
  margin: 0;
  border-top: 1px solid var(--line);
}
.chart-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background:
    repeating-radial-gradient(ellipse at 50% 50%, transparent 0 87px, #6ea7d00a 88px 89px, transparent 90px 148px),
    linear-gradient(145deg, #9bc8ea0a, transparent 48%, #7663b608);
}
.portfolio-overview .holdings-chart { width: 100%; min-width: 0; }
.portfolio-overview .holdings-chart svg {
  display: block;
  width: 100%;
  height: auto;
  max-width: 650px;
  margin: auto;
  overflow: visible;
}
.portfolio-overview .chart-total { fill: var(--text); font-size: 48px; font-weight: 800; letter-spacing: -2px; }
.portfolio-overview .chart-subtitle { fill: var(--muted); font-size: 12px; font-weight: 750; letter-spacing: 1.7px; }
.portfolio-overview .chart-color-0 { --slice: #31bdec; }
.portfolio-overview .chart-color-1 { --slice: #f5a800; }
.portfolio-overview .chart-color-2 { --slice: #a58af7; }
.portfolio-overview .chart-color-3 { --slice: #28c66e; }
.portfolio-overview .chart-color-4 { --slice: #fa6987; }
.portfolio-overview .chart-color-5 { --slice: #61a6f5; }
.portfolio-overview .chart-color-6 { --slice: #ff841c; }
.portfolio-overview .chart-color-7 { --slice: #23bcb0; }
.portfolio-overview .chart-color-8 { --slice: #df82ed; }
.portfolio-overview .chart-color-9 { --slice: #ffe04f; }
.portfolio-overview .chart-color-10 { --slice: #a3d96a; }
.portfolio-overview .chart-color-11 { --slice: #e9aa82; }
.portfolio-overview .chart-color-12 { --slice: #83d7f1; }
.portfolio-overview .chart-color-13 { --slice: #c8b6ee; }
.portfolio-overview .chart-color-14 { --slice: #e6b6cc; }
.portfolio-overview .chart-color-15 { --slice: #68a994; }
.portfolio-overview .chart-color-16 { --slice: #c4ba70; }
.portfolio-overview .chart-color-17 { --slice: #889fe5; }
.portfolio-overview .chart-color-18 { --slice: #cb8eab; }
.portfolio-overview .chart-color-19 { --slice: #d98f5f; }
.portfolio-overview .chart-color-20 { --slice: #7d91aa; }
.chart-label { pointer-events: none; }
.chart-label rect { fill: var(--bg); stroke: var(--line); stroke-width: 1; }
.chart-label text { fill: var(--text); font-size: 15px; font-weight: 750; font-variant-numeric: tabular-nums; }
.chart-label circle { fill: var(--slice); }
.chart-label line { stroke: var(--slice); stroke-width: 2; }
.chart-label polyline { fill: none; stroke: var(--slice); stroke-width: 1.5; }
.portfolio-ranking { min-width: 0; }
.portfolio-ranking-groups { display: none; }
.portfolio-overview .holdings-chart-layout.chart-unavailable,
#fund-overview .holdings-chart-layout.chart-unavailable,
#view-detail[data-fund-view=distribution] #fund-overview .holdings-chart-layout.chart-unavailable { grid-template-columns: minmax(0,1fr); }
.portfolio-overview:not(.companies-overview) .chart-legend-value { white-space: normal; overflow-wrap: anywhere; }
.portfolio-overview:not(.companies-overview) .chart-legend-value { max-width: 18ch; text-align: right; }
.portfolio-data-details, .portfolio-negative { border-top: 1px solid var(--line); }
.portfolio-data-details > summary, .portfolio-negative > summary {
  padding: 12px 16px; color: var(--muted); cursor: pointer; font-size: 12px; line-height: 1.5;
}
.portfolio-negative > summary { color: var(--warning); }
.portfolio-negative > p, .portfolio-negative > ul { margin: 0 16px 12px; }
.portfolio-overview .portfolio-negative .negative-position, #fund-overview .portfolio-negative .negative-position,
#view-detail[data-fund-view=distribution] #fund-overview .portfolio-negative .negative-position { grid-template-columns: minmax(0,1fr) auto; }
.portfolio-negative .chart-legend-value, #fund-overview .portfolio-negative .chart-legend-value { color: var(--negative); }
.portfolio-data-details[open] > summary { color: var(--text); }
.portfolio-ranking-title { font-size: 21px; font-weight: 750; letter-spacing: -.035em; }
.portfolio-ranking-note { margin: 3px 0 12px; color: var(--muted); font-size: 11px; }
.portfolio-overview .holdings-chart-legend { display: grid; grid-template-columns: minmax(0, 1fr); gap: 5px; }
.portfolio-overview .chart-legend-control {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 53px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--panel);
  color: var(--text);
}
.portfolio-overview .chart-legend-control:hover:not(:disabled) { background: var(--hover); border-color: var(--muted); }
.chart-rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: var(--slice);
  color: #071724;
  font-size: 11px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.chart-legend-copy { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; min-width: 0; }
.portfolio-overview .chart-legend-name { flex-basis: 100%; font-size: 12px; font-weight: 750; line-height: 1.3; }
.chart-legend-posts { color: var(--muted); font-size: 10px; line-height: 1.25; }
.chart-legend-metrics { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; font-variant-numeric: tabular-nums; }
.portfolio-overview .chart-legend-value { margin: 0; color: var(--text); font-weight: 750; font-size: 13px; }
.chart-legend-money { color: var(--muted); font-size: 10px; white-space: nowrap; }
.chart-status {
  display: inline-block;
  padding: 2px 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 750;
}
.chart-status.status-up, .chart-status.status-new { color: var(--positive); background: #28bd6714; border-color: #28bd6733; }
.chart-status.status-down { color: var(--negative); background: #f05c6412; border-color: #f05c6433; }
.chart-status.status-caution { color: var(--warning); background: #c5a25312; border-color: #c5a25340; }
.portfolio-overview .chart-legend-control:has(.status-up),
.portfolio-overview .chart-legend-control:has(.status-new) {
  background-image: linear-gradient(100deg, #1d9d6b12, transparent);
  border-color: #30987240;
}
.portfolio-overview .chart-legend-control:has(.status-down) {
  background-image: linear-gradient(100deg, #b04d6712, transparent);
  border-color: #aa546c40;
}
.portfolio-coverage, #holdings-chart-coverage.portfolio-coverage {
  margin: 0;
  padding: 12px 24px 16px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.broadcast-dialog {
  --bg: #080f1c;
  --panel: #0c1c2c;
  --surface: #142a3e;
  --text: #eef4fc;
  --muted: #a9bdd1;
  --gold: #f2d381;
  --line: #293f53;
  --hover: #17344a;
  --focus: #8cc8ff;
  --warning: #f5cc77;
  --positive: #9ae8bc;
  --negative: #ffaaaa;
  color-scheme: dark;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 12px;
  border: 0;
  color: var(--text);
  background:
    radial-gradient(ellipse at 8% 0, #163f571f, transparent 46%),
    radial-gradient(ellipse at 90% 100%, #132d4214, transparent 48%),
    var(--bg);
  overflow: auto;
  overscroll-behavior: contain;
}
.broadcast-dialog::backdrop { background: #030812f5; }
body.fund-broadcast-open { overflow: hidden; }
.broadcast-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 56px;
  padding: 5px 8px 5px 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: linear-gradient(100deg, #0d2233, #080f1cf2 42%);
  box-shadow: inset 0 1px 0 #ffffff08;
  margin-bottom: 10px;
}
.broadcast-brand { display: flex; align-items: center; gap: 10px; min-width: 0; line-height: 1.25; }
.broadcast-brand img { flex: 0 0 36px; width: 36px; height: 36px; }
.broadcast-brand-copy { display: flex; flex-direction: column; min-width: 0; }
.broadcast-brand strong { color: var(--text); font-size: 13px; letter-spacing: .02em; }
.broadcast-brand small { color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }
.broadcast-actions { display: flex; gap: 6px; flex-shrink: 0; }
.broadcast-actions button { min-height: 44px; padding: 7px 12px; border-radius: 999px; font-size: 11px; font-weight: 750; }
#broadcast-close { color: var(--gold); border-color: #c6a75170; background: #95823b0a; }
.broadcast-status { margin: 6px 12px; color: var(--warning); font-size: 12px; }
.broadcast-status:empty { display: none; }
.broadcast-dialog .portfolio-overview { margin: 0; min-height: calc(100dvh - 90px); display: flex; flex-direction: column; border: 1px solid #34506a; }
.broadcast-dialog .portfolio-hero { padding: 20px 28px 8px; }
.broadcast-dialog .portfolio-title { color: var(--gold); font-size: clamp(32px, 2.65vw, 50px); }
.broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 8px 28px 10px;
}
.broadcast-dialog .portfolio-metric {
  padding: 9px 12px;
  border: 1px solid #2a4358;
  border-top-color: #7595af;
  border-radius: 10px;
  background: linear-gradient(125deg, #173149b0, #0b1a29);
}
.broadcast-dialog .portfolio-context { padding: 0 28px 14px; }
.broadcast-dialog .portfolio-context .portfolio-chip {
  padding: 2px 0 2px 9px;
  border: 0;
  border-left: 2px solid #4c657b;
  border-radius: 0;
  background: transparent;
  font-size: 10px;
}
.broadcast-dialog .portfolio-context .portfolio-chip.caution { border-left-color: var(--warning); }
.broadcast-dialog .portfolio-context .portfolio-chip.negative-weight { border-left-color: var(--negative); }
.broadcast-dialog .portfolio-data-details .portfolio-note,
.broadcast-dialog .portfolio-data-details .portfolio-reconciliation { padding: 10px 24px 0; font-size: 11px; }
.broadcast-dialog .holdings-chart-layout { flex: 1; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); align-items: start; gap: 24px; padding: 16px 28px 18px; }
.broadcast-dialog .chart-stage {
  min-height: 0;
  padding: 18px;
  border-radius: 20px;
  background: linear-gradient(145deg, #17304778, #091522 66%);
}
.broadcast-dialog .holdings-chart svg { max-width: min(100%, 570px); }
.broadcast-dialog .portfolio-overview:not(.companies-overview) .slice-callout rect { fill:#0a1725; stroke-opacity:.7; }
.broadcast-dialog .portfolio-overview:not(.companies-overview) .slice-callout text { font-size:13px; font-weight:700; }
.broadcast-dialog .portfolio-overview:not(.companies-overview) .slice-callout polyline { stroke-opacity:.75; }
.broadcast-dialog .chart-legend-control { min-height: clamp(44px, 4.7vh, 54px); padding-top: 4px; padding-bottom: 4px; }
.broadcast-dialog .portfolio-coverage { padding-top: 9px; padding-bottom: 10px; }
@media (min-width: 1001px) and (max-height: 950px) {
  .broadcast-dialog .portfolio-hero { padding: 12px 20px 8px; }
  .broadcast-dialog .portfolio-title { font-size: 36px; }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-meta { gap: 6px; padding: 6px 20px 8px; }
  .broadcast-dialog .portfolio-metric { padding: 7px 10px; }
  .broadcast-dialog .portfolio-metric-value { font-size: 14px; }
  .broadcast-dialog .portfolio-context { padding: 0 20px 10px; }
  .broadcast-dialog .holdings-chart-layout { padding: 10px 20px; }
  .broadcast-dialog .portfolio-ranking-title { font-size: 18px; }
  .broadcast-dialog .portfolio-ranking-note { margin-bottom: 8px; }
  .broadcast-dialog .holdings-chart-legend { gap: 3px; }
  .broadcast-dialog .chart-legend-control { min-height: 44px; padding-top: 3px; padding-bottom: 3px; }
  .broadcast-dialog .portfolio-coverage { padding: 8px 20px; font-size: 10px; line-height: 1.5; }
}
@media (min-width: 1650px) {
  .broadcast-dialog .portfolio-hero, .broadcast-dialog .holdings-chart-layout { padding-left: 26px; padding-right: 26px; }
  .broadcast-dialog .chart-legend-control { grid-template-columns: 27px minmax(0, 1fr) auto; }
  .broadcast-dialog .chart-legend-name { font-size: 14px; }
  .broadcast-dialog .chart-legend-metrics { flex-direction: row; align-items: center; gap: 20px; }
  .broadcast-dialog .chart-legend-value { font-size: 15px; }
  .broadcast-dialog .chart-legend-money { min-width: 85px; text-align: right; font-size: 12px; }
}
.broadcast-dialog .companies-overview .slice-callout rect { stroke:none; fill:var(--bg); }
.broadcast-dialog .companies-overview .slice-callout polyline { stroke-opacity:.4; stroke-width:1; }
.broadcast-dialog .companies-overview .slice-callout text { font-weight:600; }
.broadcast-dialog .companies-overview .chart-legend-name { font-size:16px; font-weight:650; }
.exposure-total-value { fill:var(--text); font-size:38px; font-weight:750; font-variant-numeric:tabular-nums; }
.exposure-total-caption { fill:var(--muted); font-size:14px; font-weight:600; letter-spacing:1.6px; }
.exposure-total-currency { fill:var(--muted); font-size:19px; font-weight:500; }
/* Exposure broadcast: two ranked columns, with the chart sharing the viewport.
   Natural overflow remains available for zoom, long names and smaller screens. */
@media (min-width: 1200px) {
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .holdings-chart-layout {
    grid-template-columns: minmax(0, .66fr) minmax(0, 1.34fr);
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-ranking-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0 0 5px;
    color: #8299ad;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-ranking-groups span:last-child { padding-left: 4px; }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .holdings-chart-legend {
    grid-auto-flow: column;
    grid-template-rows: repeat(var(--ranking-rows), auto);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 8px;
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .chart-legend-rest {
    grid-column: 1 / -1;
    grid-row: var(--ranking-rest-row);
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .chart-stage { min-height: 0; }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .holdings-chart svg { max-width: min(100%, calc(100dvh - 330px)); }
  .broadcast-dialog .companies-overview .holdings-chart-layout {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.4fr);
    gap: 18px;
  }
  .broadcast-dialog .companies-overview .holdings-chart-legend {
    grid-auto-flow: column;
    grid-template-rows: repeat(var(--ranking-rows), auto);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px 10px;
  }
  .broadcast-dialog .companies-overview .chart-stage { min-height: 0; }
  .broadcast-dialog .companies-overview .holdings-chart svg { max-width: min(100%, calc(100dvh - 340px)); }
  .broadcast-dialog .companies-overview .chart-legend-control {
    min-height: 44px;
    padding: 3px 8px;
    gap: 8px;
    height: 100%;
  }
  .broadcast-dialog .companies-overview .chart-legend-metrics { flex-direction: column; gap: 3px; align-items: flex-end; }
  .broadcast-dialog .companies-overview .chart-legend-copy > .chart-legend-money { text-align: left; min-width: 0; }
}
@media (min-width: 1800px) and (min-height: 1150px) {
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-hero {
    padding: clamp(24px, 2.2dvh, 34px) 30px 12px;
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-title {
    font-size: clamp(50px, 2.2vw, 74px);
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-subtitle { font-size: 13px; }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-meta {
    gap: 10px;
    padding: 10px 30px 14px;
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-metric {
    padding: clamp(11px, 1.1dvh, 16px) 14px;
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-metric-label {
    font-size: clamp(11px, .35vw, 14px);
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-metric-value {
    font-size: clamp(18px, .65vw, 24px);
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-context { padding: 0 30px 16px; }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-context .portfolio-chip {
    font-size: clamp(11px, .35vw, 14px);
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .holdings-chart-layout {
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    align-items: center;
    gap: clamp(26px, 1.6vw, 42px);
    padding: clamp(20px, 2dvh, 34px) 30px;
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .chart-stage {
    width: 100%;
    box-sizing: border-box;
    padding: clamp(20px, 2dvh, 32px);
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .chart-total { font-size: clamp(52px, 2vw, 76px); }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .chart-subtitle { font-size: 13px; }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .slice-callout text {
    font-size: clamp(14px, .4vw, 17px);
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-ranking { width: 100%; }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-ranking-title {
    font-size: clamp(24px, 1.1vw, 34px);
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-ranking-note {
    margin-bottom: 12px;
    font-size: clamp(12px, .35vw, 14px);
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-ranking-groups {
    margin-bottom: 7px;
    font-size: 10px;
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .holdings-chart-legend {
    gap: clamp(6px, .5dvh, 9px) 10px;
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .chart-legend-control {
    grid-template-columns: clamp(29px, 1vw, 38px) minmax(0, 1fr) auto;
    min-height: clamp(62px, 4.5dvh, 108px);
    padding: 7px 13px;
    gap: 12px;
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .chart-rank {
    width: clamp(29px, 1vw, 38px);
    height: clamp(29px, 1vw, 38px);
    font-size: clamp(12px, .36vw, 14px);
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .chart-legend-copy { gap: 5px 9px; }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .chart-legend-name {
    font-size: clamp(16px, .58vw, 22px);
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .chart-legend-posts {
    font-size: clamp(12px, .36vw, 14px);
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .chart-legend-value {
    font-size: clamp(17px, .58vw, 22px);
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .chart-legend-money {
    min-width: 96px;
    font-size: clamp(13px, .4vw, 16px);
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .chart-status {
    padding: 3px 7px;
    font-size: clamp(11px, .34vw, 14px);
  }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-data-details > summary {
    padding: 14px 18px;
    font-size: 13px;
  }
}
@media (max-width: 1000px) {
  .portfolio-overview .holdings-chart-layout { grid-template-columns: minmax(0, 1fr); }
  .portfolio-overview .holdings-chart svg { max-width: 450px; }
  .broadcast-dialog .holdings-chart-layout { grid-template-columns: minmax(0, 1fr); }
  .broadcast-dialog .chart-stage { min-height: 0; }
  .broadcast-dialog .holdings-chart svg { max-width: 500px; }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .fund-heading { flex-direction: column; gap: 12px; }
  .fund-heading-actions { width: 100%; flex-shrink: 1; }
  .portfolio-hero { padding: 17px 14px 10px; gap: 14px; flex-direction: column; }
  .portfolio-meta { padding: 0 14px 12px; gap: 5px; }
  .portfolio-note, #holdings-chart-note.portfolio-note, .portfolio-reconciliation { padding: 0 14px 12px; }
  .companies-single-result { margin: 2px 14px 14px; padding: 14px; }
  .portfolio-overview .holdings-chart-layout { padding: 14px; gap: 16px; }
  .chart-stage { padding: 0; border-radius: 17px; }
  .portfolio-overview .chart-legend-control { gap: 8px; padding: 9px 8px; }
  .portfolio-overview .chart-legend-name { font-size: 12px; }
  .portfolio-ranking-title { font-size: 19px; }
  .portfolio-coverage, #holdings-chart-coverage.portfolio-coverage { padding: 12px 14px; }
  .broadcast-dialog { padding: 6px; }
  .broadcast-toolbar { align-items: flex-start; gap: 8px; padding: 8px; flex-wrap: wrap; }
  .broadcast-brand { padding: 1px 0; }
  .broadcast-brand img { width: 32px; height: 32px; flex-basis: 32px; }
  .broadcast-actions { margin-left: auto; }
  .broadcast-actions button { padding: 8px 10px; }
  .broadcast-dialog .portfolio-hero { padding: 16px 14px 10px; }
  .broadcast-dialog .portfolio-title { font-size: 32px; }
  .broadcast-dialog .portfolio-overview:not(.companies-overview) .portfolio-meta { padding: 4px 14px 10px; }
  .broadcast-dialog .portfolio-context { padding: 0 14px 12px; }
  .broadcast-dialog .holdings-chart-layout { padding: 14px; }
  .broadcast-dialog .chart-legend-control { min-height: 52px; }
}
@media (prefers-reduced-motion: reduce) {
  .portfolio-overview *, .broadcast-dialog * { scroll-behavior: auto; transition: none; animation: none; }
}
/* Data-first working layout. Intentionally scoped away from the broadcast dialog. */
.wrap .scroller thead { position:relative; z-index:2; background:var(--surface); }
.wrap .scroller tbody :is(button,summary) { scroll-margin-top:calc(var(--following-header-height, 64px) + 8px); }
.position-mobile-details { display:none; }
.wrap .fund-heading #detail-name,.broadcast-dialog .portfolio-title {
  color:#e2c891; font-weight:800; letter-spacing:-.035em;
  background:linear-gradient(180deg,#f0dcaa 0%,#e2c891 42%,#c6a75e 72%,#a58549 100%);
  background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}
:root[data-theme=light] .wrap .fund-heading #detail-name { background:none; color:#785600; -webkit-text-fill-color:currentColor; }
#fund-overview .chart-caption { margin:0 0 10px; font-size:13px; line-height:1.5; text-align:center; color:var(--muted); }
@media(forced-colors:active) {
  .wrap .fund-heading #detail-name,.broadcast-dialog .portfolio-title { background:none; color:CanvasText; -webkit-text-fill-color:currentColor; }
}
.wrap { width:100%; max-width:none; padding:0 24px 28px; }
.wrap .brand-row { height:48px; margin-bottom:0; gap:12px; }
.wrap .brand-row h1 { font-size:22px; margin:0; padding-left:12px; border-left:1px solid var(--line); letter-spacing:-.025em; }
.workspace-context { flex:1; color:var(--muted); font-size:13px; }
.brand-actions { display:flex; align-items:center; gap:4px; margin-left:auto; }
.feedback-link { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; padding:6px 9px; border:1px solid transparent; border-radius:8px; color:var(--muted); font-size:12px; font-weight:650; line-height:1; }
.feedback-link svg { flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.feedback-link:hover { border-color:var(--line); background:var(--surface); color:var(--text); }
.feedback-link:focus-visible { border-color:var(--focus); }
.wrap .brand-row a { font-size:13px; }
.wrap .brand-row .brand-home { display:flex; align-items:center; justify-content:center; flex:0 0 44px; height:44px; border-radius:8px; background:#071724; }
.brand-home img { display:block; width:40px; height:40px; }
.wrap .hero { padding-bottom:8px; }
.wrap .workspace { display:grid; grid-template-columns:minmax(220px,1fr) auto; gap:0 20px; padding:0 16px 10px; }
.wrap .tabs { grid-column:1/-1; margin:0 -16px 8px; padding:0 16px; gap:24px; }
.wrap .tabs button { padding:8px 2px; min-height:44px; font-size:15px; }
.wrap .search-row { min-width:0; align-self:center; }
.wrap .search-field { gap:3px; }
.wrap .search-field>span { font-size:11px; }
#query-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.wrap .search-field input { min-height:44px; padding-top:9px; padding-bottom:9px; font-size:16px; }
.wrap .search-input svg { top:12px; }
.wrap .controls { margin:0; gap:6px 12px; align-self:end; }
.wrap .controls .field { flex-direction:row; align-items:center; gap:6px; }
.wrap .controls select { width:125px; font-size:14px; }
.wrap .controls #category { width:150px; }
.wrap select, .wrap select option, .wrap select optgroup { background-color:var(--surface); color:var(--text); }
.wrap select option:disabled { color:var(--muted); }
.control-options { display:flex; align-items:center; gap:12px; }
.control-options .detail-toggle { min-height:44px; }
.source-summary-copy { min-width:0; }
.wrap .coverage-caption:not(:empty)::before { content:" · "; }
.companies-mobile-guide { display:none; }
.source-options { display:flex; justify-content:flex-end; margin:4px 0 8px; }
.source-options .detail-toggle { margin-left:0; }
.source-guide { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; margin:16px 0; }
.source-guide>div { padding:14px; border:1px solid var(--line); border-radius:8px; }
.source-guide dt { font-size:14px; font-weight:700; margin-bottom:6px; }
.source-guide dd { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.source-rejections { margin:18px 0; padding:16px; border:1px solid var(--line); border-radius:10px; background:var(--bg); }
.source-rejections-heading { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.source-rejections-heading h3 { margin:0; font-size:16px; }
.source-rejections-heading p { margin:4px 0 0; max-width:760px; color:var(--muted); font-size:12px; line-height:1.5; }
#source-rejections-range { color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.source-rejections-table { margin-top:12px; }
.source-rejections-columns,.source-rejection-item { display:grid; grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr); gap:14px; }
.source-rejections-columns { padding:0 10px 6px; color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
#source-rejections-list { margin:0; padding:0; list-style:none; border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.source-rejection-item { padding:10px; border-bottom:1px solid var(--line); }
.source-rejection-item:last-child { border-bottom:0; }
.source-rejection-source { min-width:0; display:flex; flex-direction:column; gap:2px; overflow-wrap:anywhere; }
.source-rejection-ordinal { color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.source-rejection-reason { margin:0; color:var(--muted); overflow-wrap:anywhere; }
.source-rejections-actions { display:flex; justify-content:space-between; gap:10px; margin-top:12px; }
.source-rejections-actions button { min-height:44px; font-size:12px; }
.source-rejections-actions #source-rejections-retry { margin-inline:auto; }
.wrap .controls .field>label,.wrap .controls .field>span { min-height:0; }
.wrap .detail-toggle { margin-left:0; }
.wrap .source-info { grid-column:1/-1; margin:10px 0 0; border-top:1px solid var(--line); }
.wrap .source-info>summary { min-height:44px; padding:8px 0 0; font-size:13px; }
.wrap .source-action { font-size:13px; font-weight:600; }
.wrap .source-content { margin-top:10px; }
.wrap .workspace { margin-bottom:16px; }
.wrap .controls .field>label,.wrap .controls .field>span,.wrap .detail-toggle,.wrap #reset { font-size:13px; }
.wrap .panel:not(.workspace) { padding:14px 16px; }
#view-funds.panel { padding:0; max-width:none; overflow:hidden; }
#view-funds .section-heading { flex-wrap:wrap; gap:8px 16px; }
#view-funds .section-heading { padding:18px 20px; margin:0; }
#view-funds .funds-heading {
  position:relative; overflow:hidden; align-items:center;
  background:linear-gradient(110deg,rgba(255,207,73,.08),transparent 38%),var(--panel);
}
#view-funds .funds-heading::after {
  content:""; position:absolute; width:340px; height:340px; right:-170px; top:-245px;
  border:1px solid rgba(255,207,73,.12); border-radius:50%; pointer-events:none;
}
.funds-heading-copy,.funds-heading-status { position:relative; z-index:1; }
.funds-heading-copy { min-width:0; }
.section-kicker {
  display:block; margin-bottom:3px; color:var(--gold); font-size:10px; line-height:1.2;
  font-weight:800; letter-spacing:.13em; text-transform:uppercase;
}
#view-funds .section-heading h2 { font-size:22px; letter-spacing:-.025em; }
.funds-heading-copy p { margin:4px 0 0; color:var(--muted); font-size:12px; }
.funds-heading-status {
  display:flex; flex-direction:column; align-items:flex-end; gap:1px; min-width:210px;
  padding:9px 12px; border:1px solid var(--line); border-radius:9px; background:var(--bg);
}
#view-funds .funds-heading-status .result-count { color:var(--text); font-size:17px; line-height:1.25; font-weight:750; }
#funds-sort-summary { color:var(--muted); font-size:11px; white-space:nowrap; }
#funds-quality { margin:0 0 8px; font-weight:600; color:var(--text); }
#view-funds .scroller { border:0; border-top:1px solid var(--line); border-radius:0; }
#view-funds .pager { margin:0; padding:12px 20px; border-top:1px solid var(--line); }
#view-funds table { font-size:16px; }
#view-funds th { position:sticky; top:0; z-index:3; font-size:14px; box-shadow:0 1px 0 var(--line); }
#view-funds th,#view-funds td { padding:6px 20px; }
#view-funds .scroller .link,#view-funds .exact-amount>button { font-size:16px; }
#view-funds .result-count { font-size:14px; }
#view-funds tbody .fund-row { transition:background-color .16s ease,box-shadow .16s ease; }
#view-funds tbody .fund-row:nth-child(even) { background:rgba(255,255,255,.012); }
#view-funds tbody .fund-row:hover,#view-funds tbody .fund-row:focus-within {
  background:rgba(255,207,73,.065); box-shadow:inset 3px 0 0 var(--gold);
}
.registry-only-row { background:color-mix(in srgb,var(--gold) 4%,var(--surface)); }
.registry-only-row .fund-identity { flex-wrap:wrap; }
.registry-only-badge {
  display:inline-flex; align-items:center; min-height:22px; padding:2px 7px; border:1px solid color-mix(in srgb,var(--gold) 48%,var(--line));
  border-radius:999px; color:var(--gold); font-size:10px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; white-space:nowrap;
}
.registry-only-value { color:var(--muted); font-size:13px; font-weight:600; white-space:normal; }
.registry-only-note { display:block; margin-top:3px; color:var(--muted); font-size:12px; font-weight:400; line-height:1.35; }
:root[data-theme=light] #view-funds tbody .fund-row:hover,
:root[data-theme=light] #view-funds tbody .fund-row:focus-within { background:#fff8df; }
#view-funds tbody .fund-row-leading { background:linear-gradient(90deg,rgba(255,207,73,.045),transparent 28%); }
.fund-identity { display:flex; align-items:center; gap:11px; min-width:0; }
.fund-copy { min-width:0; }
.fund-rank {
  display:inline-flex; flex:0 0 28px; width:28px; height:28px; align-items:center; justify-content:center;
  border:1px solid var(--line); border-radius:50%; color:var(--muted); background:var(--bg);
  font-size:11px; line-height:1; font-weight:750; font-variant-numeric:tabular-nums;
}
.fund-rank-1 .fund-rank { color:#071523; border-color:var(--gold); background:var(--gold); }
.fund-rank-2 .fund-rank { color:var(--text); border-color:#6fa6d2; background:rgba(111,166,210,.2); }
.fund-rank-3 .fund-rank { color:var(--text); border-color:#b88758; background:rgba(184,135,88,.2); }
.fund-assets-meter {
  display:block; width:min(220px,100%); height:3px; margin:2px 0 5px auto;
  border-radius:99px; overflow:hidden; background:var(--line);
}
.fund-assets-meter>span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--gold),#f2d887); }
/* Shared table hierarchy; scoped to working tables, never chart legends/broadcast. */
.wrap table { font-size:16px; line-height:1.55; }
.wrap table th { font-size:14px; font-weight:600; }
.wrap table td { font-weight:400; }
.wrap table td:first-child:not(.num) { font-weight:600; }
.wrap table .link { font-size:inherit; font-weight:600; line-height:inherit; }
.wrap table .exact-amount>button { font-size:inherit; font-weight:400; line-height:inherit; }
.wrap table .exact-amount { font-size:inherit; }
.wrap table .num { font-variant-numeric:tabular-nums; }
@media(min-width:951px) {
  .wrap.no-categories:not(.show-technical) #funds-table { table-layout:fixed; }
  .wrap.no-categories:not(.show-technical) #funds-table th:first-child { width:36%; }
  .wrap.no-categories:not(.show-technical) #funds-table .manager-column { width:24%; }
  .wrap.no-categories:not(.show-technical) #funds-table .holdings-column { width:14%; }
  #funds-table td:first-child, #funds-table .manager-column { white-space:normal; overflow-wrap:anywhere; }
}
@media(min-width:951px) and (max-width:1179px) {
  .wrap.no-categories:not(.show-technical) #funds-table th:first-child { width:30%; }
  .wrap.no-categories:not(.show-technical) #funds-table .manager-column { width:22%; }
  .wrap.no-categories:not(.show-technical) #funds-table .holdings-column { width:200px; }
  #view-funds th,#view-funds td { padding-left:12px; padding-right:12px; }
}
#funds-count { margin-left:auto; }
#view-funds .scroller { margin-top:0; }
.wrap .fund-heading { margin:0 0 6px; align-items:flex-start; gap:16px; }
.wrap .fund-heading #detail-name { font-size:30px; margin:0 0 4px; }
.wrap #detail-manager { margin:0; font-size:12px; color:var(--muted); }
.wrap #detail-meta { margin:0 0 2px; font-size:12px; overflow-wrap:anywhere; }
.fund-facts { display:flex; flex-wrap:wrap; gap:8px 24px; margin:0; }
.fund-facts>div { display:flex; align-items:center; gap:8px; min-height:44px; }
.fund-facts dt { color:var(--muted); font-size:11px; }
.fund-facts dd { margin:0; font-size:14px; font-weight:650; font-variant-numeric:tabular-nums; }
.fund-facts .fund-fact-label-with-help { display:flex; align-items:center; }
.fund-view-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:4px 16px; border-bottom:1px solid var(--line); margin-bottom:14px; }
.fund-view-select { display:none; }
.fund-view-tabs { display:flex; gap:4px; }
.fund-view-tabs button { min-height:44px; border:1px solid transparent; border-bottom:3px solid transparent; border-radius:7px 7px 0 0; background:transparent; color:var(--muted); font-size:13px; padding:8px 14px; }
.fund-view-tabs button[aria-selected=true] { border-bottom-color:var(--gold); color:var(--gold); background:var(--surface); font-weight:700; }
.detail-filter {
  display:grid; grid-template-columns:minmax(0,720px) auto; align-items:end; justify-content:start; gap:8px;
  margin:0 0 14px; padding:10px 12px; border:1px solid var(--line); border-radius:9px; background:var(--bg);
}
.detail-filter .search-field { gap:4px; }
.detail-filter .search-field>span:first-child { color:var(--text); font-size:12px; }
.detail-filter .search-field input { min-height:44px; }
.detail-filter .quiet { white-space:nowrap; }
#detail-quality { display:block; min-width:0; font-size:11px; }
.fund-data-status-row { display:flex; flex-wrap:wrap; gap:5px; margin-top:5px; }
.fund-data-status { display:inline-flex; align-items:center; gap:4px; min-height:28px; padding:3px 7px; border:1px solid var(--line); border-radius:999px; background:var(--bg); color:var(--muted); }
.fund-data-status strong { color:var(--text); font-weight:650; }
.fund-data-status.is-caution { border-color:var(--warning); }
.fund-data-status.is-caution strong { color:var(--warning); }
.fund-data-status-details { margin-top:2px; max-width:880px; color:var(--muted); }
.fund-data-status-details>summary { display:inline-flex; align-items:center; min-height:32px; cursor:pointer; text-decoration:underline dotted; text-underline-offset:3px; }
.fund-data-status-details dl { display:grid; gap:8px; margin:5px 0 8px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--bg); }
.fund-data-status-details dt { color:var(--text); font-weight:650; }
.fund-data-status-details dd { margin:2px 0 0; line-height:1.5; }
.fund-byline { display:flex; flex-wrap:wrap; gap:0 14px; align-items:center; }
#fund-changes>.detail-heading { margin-top:0; }
.comparison-status { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 18px; min-height:44px; margin:0 0 12px; padding:7px 12px; border:1px solid var(--line); border-radius:8px; background:var(--bg); font-size:12px; }
.comparison-status>strong { font-size:13px; }
.comparison-status>details { flex:0 1 auto; }
.comparison-status>details>summary { display:flex; align-items:center; justify-content:flex-end; min-height:32px; cursor:pointer; color:var(--muted); text-decoration:underline dotted; text-underline-offset:3px; }
.comparison-status>details[open] { flex:1 1 100%; }
.comparison-status>details[open]>summary { justify-content:flex-start; }
.comparison-status #comparison-reason { margin:4px 0; line-height:1.55; }
.comparison-status.comparison-unavailable>strong,.comparison-status.partial-comparison>strong { color:var(--warning); }
@media(min-width:1180px) {
  #view-detail { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:16px; }
  #view-detail>.fund-heading,#detail-empty,#detail-content { grid-column:1/-1; }
  #detail-meta { grid-column:1; }
  #fund-view-toolbar { grid-column:2; align-self:center; margin:0; }
  #detail-content { margin-top:12px; }
  .fund-facts { gap:4px 16px; }
}
.wrap .fund-heading-actions button,.wrap .pager button { border-radius:7px; border:1px solid var(--line); background:var(--bg); color:var(--text); font-weight:600; }
.wrap .fund-heading-actions .broadcast-launch { color:var(--gold); border-color:var(--gold); }
:root:not([data-theme=light]) .wrap .panel { background:linear-gradient(125deg,#112a42,#0c2034 65%,#102337); }
:root:not([data-theme=light]) .wrap .workspace { background:linear-gradient(180deg,#142f49,#0b1e31); }
:root:not([data-theme=light]) .wrap .scroller { background:#102337; }
.wrap .fund-heading-actions { align-items:center; justify-content:flex-end; gap:8px; }
.wrap .comparison-jump { margin:0; padding:0 8px; font-size:12px; }
.wrap .broadcast-launch { padding:8px 12px; }
.fund-workspace-grid { display:grid; grid-template-columns:minmax(0,1fr) clamp(320px,27vw,420px); gap:20px; align-items:start; }
#fund-positions { grid-column:1; grid-row:1; min-width:0; }
#fund-positions .detail-heading { margin:0 0 4px; justify-content:flex-end; }
#fund-positions .detail-heading h3 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#fund-positions>.note { font-size:12px; margin:0 0 6px; }
.overview-disclosure { grid-column:2; grid-row:1; min-width:0; border:1px solid var(--line); border-radius:10px; background:var(--bg); }
.overview-disclosure>summary { padding:10px 14px; min-height:44px; cursor:pointer; font-size:13px; font-weight:650; }
.overview-disclosure>summary span { float:right; font-size:11px; font-weight:400; color:var(--muted); }
#fund-overview { margin:0; border:0; border-top:1px solid var(--line); border-radius:0 0 10px 10px; background:none; box-shadow:none; }
#fund-overview .portfolio-hero { padding:12px 14px 4px; }
#fund-overview .portfolio-title { font-size:17px; margin:0; }
#fund-overview .portfolio-note, #fund-overview .portfolio-reconciliation { font-size:11px; line-height:1.5; padding:0 14px 8px; }
#fund-overview .holdings-chart-layout { display:flex; flex-direction:column; gap:10px; border-top:0; padding:0 12px 12px; }
#fund-overview .chart-stage { display:flex; flex-direction:column; align-items:center; border:0; background:none; padding:0; min-height:0; }
#fund-overview .holdings-chart svg { max-width:220px; }
#fund-overview .chart-total { font-size:58px; }
#fund-overview .chart-subtitle { font-size:17px; letter-spacing:1px; }
#fund-overview .portfolio-ranking-note { margin:0 0 8px; font-size:11px; }
#fund-overview .holdings-chart-legend { gap:3px; }
#fund-overview .chart-legend-control { min-height:44px; padding:5px 7px; gap:8px; grid-template-columns:22px minmax(0,1fr) auto; border-radius:6px; }
#fund-overview .chart-rank { width:22px; height:22px; font-size:10px; }
#fund-overview .chart-legend-name { font-size:12px; }
#fund-overview .chart-legend-value { font-size:12px; }
#fund-overview .chart-legend-money { font-size:10px; }
#fund-overview .portfolio-coverage { padding:10px 14px; font-size:11px; line-height:1.5; }
#fund-overview .portfolio-show-distribution { width:100%; min-height:40px; margin-top:8px; border:1px solid var(--line); background:var(--surface); color:var(--gold); font-size:12px; font-weight:750; }
#fund-overview .portfolio-show-distribution:hover { border-color:var(--gold); background:var(--hover); }
.change-history-browser { margin-top:16px; border:1px solid var(--line); border-radius:10px; background:var(--bg); }
.change-history-browser>summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; padding:10px 14px; cursor:pointer; list-style:none; color:var(--text); font-size:14px; font-weight:750; }
.change-history-browser>summary::-webkit-details-marker { display:none; }
.change-history-browser>summary span { color:var(--muted); font-size:11px; font-weight:400; }
.change-history-browser[open]>summary { border-bottom:1px solid var(--line); }
.change-history-browser>.change-history-panel { margin:0; border:0; border-radius:0 0 10px 10px; }
@media(min-width:1800px) { .wrap { padding-left:32px; padding-right:32px; } }
@media(max-width:1279px) {
  .wrap .workspace { grid-template-columns:minmax(0,1fr); }
  .wrap .controls { margin-top:8px; }
  .wrap .detail-toggle { margin-left:auto; }
}
@media(max-width:1179px) {
  .fund-workspace-grid { display:flex; flex-direction:column; gap:14px; }
  .overview-disclosure { order:2; }
  .overview-disclosure,#fund-positions { width:100%; }
  #fund-overview .holdings-chart-layout { display:grid; grid-template-columns:minmax(180px,.6fr) minmax(0,1fr); align-items:start; }
  #fund-overview .holdings-chart svg { max-width:240px; }
  .wrap .fund-heading { flex-direction:column; gap:8px; }
  .wrap .fund-heading-actions { justify-content:flex-start; }
}
@media(max-width:680px) {
  .overview-disclosure { order:2; }
  .fund-facts { display:grid; grid-template-columns:1fr 1fr; gap:4px 12px; }
  .fund-facts>div { flex-direction:column; align-items:flex-start; justify-content:center; gap:0; min-width:0; min-height:40px; }
  .fund-facts dd { font-size:13px; }
  .fund-facts .fund-fact-label-with-help { min-height:30px; margin-top:-5px; margin-bottom:-5px; }
  .fund-facts dt .help { margin-left:2px; }
  .fund-view-tabs { display:none; }
  .fund-view-select { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px; width:100%; color:var(--muted); font-size:12px; }
  .fund-view-select select { min-width:0; width:100%; min-height:44px; }
  .fund-view-toolbar { display:block; width:100%; min-width:0; gap:0; margin-bottom:8px; padding-bottom:8px; }
  .detail-filter { grid-template-columns:minmax(0,1fr); margin-bottom:10px; padding:9px; }
  #detail-quality { min-height:0; }
  .wrap:not(.show-technical) #positions-table { table-layout:fixed; }
  .wrap:not(.show-technical) #positions-table th:first-child,.wrap:not(.show-technical) #positions-table td:first-child { width:62%; min-width:0; overflow-wrap:anywhere; }
  .wrap:not(.show-technical) #positions-table th,.wrap:not(.show-technical) #positions-table td { padding:8px; }
  .wrap:not(.show-technical) #positions-table .position-secondary-column { display:none; }
  .wrap:not(.show-technical) .position-mobile-details { display:block; font-size:12px; font-weight:400; white-space:normal; text-align:left; }
  .wrap:not(.show-technical) #positions-table td:first-child .link { font-size:14px; }
  .position-mobile-details summary { display:flex; align-items:center; min-height:44px; cursor:pointer; color:var(--muted); }
  .details-toggle-icon { display:inline-flex; width:18px; justify-content:center; margin-right:4px; color:var(--gold); }
  .position-mobile-details dl { margin:0; }
  .position-mobile-details dt { color:var(--muted); margin-top:6px; }
  .position-mobile-details dd { margin:0 0 8px; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
  .wrap { padding:0 12px 20px; }
  .wrap .brand-row { gap:8px; }
  .wrap .brand-row h1 { min-width:0; font-size:17px; padding-left:8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .workspace-context { display:none; }
  .brand-actions { gap:0; }
  .feedback-link { width:44px; min-height:44px; padding:0; }
  .feedback-link span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .wrap .brand-row button { padding-left:4px; padding-right:4px; font-size:11px; }
  .wrap .workspace { padding:0 12px 6px; }
  .wrap .tabs { display:flex; margin-left:-12px; margin-right:-12px; margin-bottom:4px; padding:0 12px; gap:16px; }
  .wrap .tabs button { flex:0 0 auto; min-width:0; white-space:nowrap; }
  .wrap .tabs button { font-size:12px; }
  .wrap .controls { display:flex; flex-wrap:wrap; gap:4px 10px; margin-top:4px; align-items:flex-end; }
  .wrap .controls .field { flex:0 1 132px; gap:2px; width:auto; min-width:0; flex-direction:column; align-items:stretch; }
  .wrap .controls .field>label,.wrap .controls .field>span { font-size:11px; line-height:18px; min-height:18px; display:flex; align-items:center; }
  .wrap .controls select, .wrap .controls #category { width:100%; min-width:0; }
  .wrap .control-options { flex:0 0 auto; justify-content:flex-start; gap:8px; }
  .wrap .controls #sort-caption { flex:1 1 100%; font-size:12px; margin:0; }
  .wrap .detail-toggle { margin-left:0; flex:none; font-size:12px; justify-content:flex-start; }
  .wrap .wide-label { display:none; }
  .wrap .controls #currency-field,.wrap .controls #category-field { order:0; }
  .wrap .controls #category-field { flex-basis:100%; }
  .wrap #reset { font-size:11px; padding-left:8px; padding-right:8px; }
  .wrap .search-field input { font-size:16px; }
  .wrap .workspace { margin-bottom:8px; }
  .wrap .source-info { margin-top:4px; }
  .wrap .source-info>summary { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px 10px; min-height:44px; font-size:11px; line-height:1.35; padding:0; }
  .wrap .source-summary-copy { display:grid; gap:1px; min-width:0; padding:5px 0; }
  .wrap .coverage-caption { display:block; margin:0; }
  .wrap .coverage-caption:not(:empty)::before { content:""; }
  .wrap .source-action { display:inline-flex; align-items:center; min-height:44px; font-size:11px; white-space:nowrap; flex:0 0 auto; }
  .wrap .source-action-wide { display:none; }
  .wrap .source-content { margin-top:4px; }
  .wrap .source-options { margin-top:0; }
  .wrap .panel:not(.workspace) { padding:12px; }
  #view-companies>.section-heading { margin-bottom:6px; }
  .companies-intro { margin-bottom:6px; line-height:1.45; }
  .companies-intro-detail { display:none; }
  .companies-mobile-guide { display:block; margin:0 0 8px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .companies-mobile-guide>summary { display:flex; align-items:center; min-height:44px; cursor:pointer; color:var(--text); font-size:12px; font-weight:700; }
  .companies-mobile-guide>summary::before { content:"＋"; width:22px; color:var(--gold); }
  .companies-mobile-guide[open]>summary::before { content:"−"; }
  .companies-mobile-guide>p { margin:0 0 10px; color:var(--muted); font-size:11px; line-height:1.5; }
  .wrap .companies-layout { gap:8px; }
  .wrap .companies-disclosure>summary { box-sizing:border-box; display:flex; align-items:center; min-height:44px; padding:0 12px; }
  .wrap .fund-heading { gap:4px; margin-bottom:2px; }
  .wrap .fund-heading #detail-name { font-size:24px; }
  .wrap .fund-heading-main { width:100%; }
  .fund-byline { display:block; }
  #detail-quality { display:block; width:100%; margin-top:2px; }
  .fund-data-status-row { gap:4px; }
  .fund-data-status { min-height:26px; padding:2px 6px; }
  .comparison-status { display:block; padding:8px 10px; }
  .comparison-status>details>summary { justify-content:flex-start; margin-top:3px; }
  .change-history-browser>summary { align-items:flex-start; flex-direction:column; gap:1px; }
  .wrap .fund-heading-actions { width:auto; gap:4px; }
  .wrap .back,.wrap .comparison-jump,.wrap .broadcast-launch { font-size:11px; padding-left:7px; padding-right:7px; }
  #fund-overview .holdings-chart-layout { display:flex; }
  .overview-disclosure>summary { padding-left:10px; padding-right:10px; }
  #view-funds .section-heading { gap:4px; margin-bottom:0; padding:6px 12px; }
  #view-funds .section-heading h2 { font-size:18px; }
  #view-funds .result-count { font-size:12px; }
  #view-funds th { font-size:13px; }
  #view-funds table { font-size:14px; }
  #view-funds .exact-amount>button { font-size:14px; }
  #view-funds .scroller { margin-top:0; }
  .wrap #funds-table th { padding-top:0; padding-bottom:0; }
  .source-guide { grid-template-columns:minmax(0,1fr); }
  #view-funds .scroller .link { font-size:14px; }
  .wrap table { font-size:14px; }
  .wrap table th { font-size:13px; }
}

@media(max-width:540px) {
  .wrap .brand-row { height:52px; min-height:52px; flex-wrap:nowrap; }
  .wrap .brand-row h1 { font-size:16px; }
  .brand-actions { flex:0 0 auto; }
  .wrap .brand-row #theme { min-width:44px; min-height:44px; white-space:nowrap; }
  .theme-label-suffix { display:none; }
  .source-rejections { padding:12px; }
  .source-rejections-heading { display:block; }
  #source-rejections-range { display:block; margin-top:6px; }
  .source-rejections-columns { display:none; }
  .source-rejection-item { grid-template-columns:minmax(0,1fr); gap:7px; }
}

/* Broadcast is a wide-screen presentation mode. Keep both launchers out of the
   mobile/tablet workspace even before JavaScript has evaluated the viewport. */
@media(max-width:899px) {
  .wrap .broadcast-launch { display:none!important; }
}

@media(max-width:680px) {
  #view-funds .funds-heading { flex-wrap:nowrap; align-items:center; gap:8px; padding:9px 12px; }
  .funds-heading-copy { flex:1 1 auto; }
  #view-funds .section-kicker,#view-funds .funds-heading-copy p { display:none; }
  .funds-heading-status {
    width:auto; min-width:0; max-width:55%; flex:0 1 auto; align-items:flex-end;
    gap:0; padding:0; border:0; border-radius:0; background:transparent;
  }
  #view-funds .funds-heading-status .result-count { font-size:13px; }
  #funds-sort-summary { max-width:100%; overflow:hidden; text-overflow:ellipsis; font-size:10px; }
  .fund-identity { align-items:flex-start; gap:8px; }
  .fund-rank { flex-basis:24px; width:24px; height:24px; margin-top:2px; font-size:10px; }
  .fund-assets-meter { width:100%; margin-top:3px; }
}

/* Dedicated distribution view uses the same report projection as the sidebar. */
@media(max-width:950px) {
  .wrap:not(.show-technical) #funds-table { table-layout:fixed; }
  .wrap:not(.show-technical) #funds-table th:first-child,.wrap:not(.show-technical) #funds-table td:first-child { width:58%; min-width:0; max-width:none; }
  .wrap:not(.show-technical) #funds-table .manager-column,.wrap:not(.show-technical) #funds-table .holdings-column { display:none; }
  .wrap:not(.show-technical) #funds-table .mobile-meta { display:block; font-size:12px; color:var(--muted); font-weight:400; margin-top:4px; }
  .wrap:not(.show-technical) #funds-table th,.wrap:not(.show-technical) #funds-table td { white-space:normal; padding-left:12px; padding-right:12px; overflow-wrap:anywhere; }
  .wrap:not(.show-technical) #funds-table .sort { white-space:normal; }
  .wrap:not(.show-technical) #funds-table .help:not(.exact-amount) { display:none; }
}
#view-detail[data-fund-view=distribution] .fund-workspace-grid { display:block; }
#view-detail[data-fund-view=distribution] .overview-disclosure { width:100%; }
#view-detail[data-fund-view=distribution] .overview-disclosure>summary { display:none; }
#view-detail[data-fund-view=distribution] #fund-overview { border-top:0; }
#view-detail[data-fund-view=distribution] #fund-overview .holdings-chart-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,1fr); align-items:center; gap:28px; padding:12px 24px 24px; }
#view-detail[data-fund-view=distribution] #fund-overview .holdings-chart svg { max-width:520px; }
#view-detail[data-fund-view=distribution] #fund-overview .chart-legend-control { padding:8px 12px; min-height:54px; }
#view-detail[data-fund-view=distribution] #fund-overview .portfolio-title { font-size:22px; }
@media(min-width:1100px) {
  #view-detail[data-fund-view=distribution] #fund-overview .holdings-chart-layout { grid-template-columns:minmax(340px,.8fr) minmax(0,1.2fr); align-items:start; }
  #view-detail[data-fund-view=distribution] #fund-overview .holdings-chart-legend {
    grid-auto-flow:column;
    grid-template-rows:repeat(var(--ranking-rows),auto);
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px 10px;
  }
  #view-detail[data-fund-view=distribution] #fund-overview .chart-legend-rest {
    grid-column:1 / -1;
    grid-row:var(--ranking-rest-row);
  }
  #view-detail[data-fund-view=distribution] #fund-overview .chart-legend-control { height:100%; min-height:50px; }
}
@media(max-width:800px) {
  #view-detail[data-fund-view=distribution] #fund-overview .holdings-chart-layout { display:flex; gap:16px; padding:12px; }
  #view-detail[data-fund-view=distribution] #fund-overview .holdings-chart svg { max-width:300px; }
  #view-detail[data-fund-view=distribution] #fund-overview .portfolio-ranking { width:100%; }
}
/* The company table stays primary; the top ten has its own clearly named denominator. */
.companies-layout { display: grid; gap: 16px; }
.companies-results, .companies-disclosure { min-width: 0; }
.companies-disclosure { border: 1px solid var(--line); border-radius: 12px; align-self: start; }
.companies-disclosure > summary { min-height: 44px; padding: 12px 16px; cursor: pointer; color: var(--gold); font-weight: 700; }
.companies-disclosure .portfolio-title { font-size: 21px; color: var(--gold); }
.companies-disclosure .portfolio-hero { padding: 10px 14px; }
.companies-disclosure .portfolio-meta { padding: 0 14px 10px; }
.companies-disclosure .portfolio-note, .companies-disclosure .portfolio-coverage { padding: 10px 14px; font-size: 12px; }
.companies-disclosure .holdings-chart-layout { padding: 12px; gap: 12px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.companies-disclosure .chart-stage { padding: 0; }
.companies-disclosure .chart-legend-control { min-height: 44px; padding: 6px; gap: 7px; }
.companies-disclosure .chart-legend-name { font-size: 12px; overflow-wrap: anywhere; }
.companies-disclosure .chart-legend-copy { gap: 3px; }
.companies-disclosure .chart-legend-value { font-size: 12px; }
.companies-disclosure .portfolio-ranking-title { font-size: 18px; }
.companies-overview .chart-legend-name { overflow-wrap: anywhere; }
.companies-overview .chart-stage { flex-direction: column; }
.company-mobile-details-row { display:none; }
.companies-chart-total { font-size: 13px; color: var(--muted); text-align: center; padding: 0 8px; }
.portfolio-overview .slice-callout text { font-size:var(--label-size, 28px); }
.slice-callout polyline { fill:none; stroke:var(--slice); stroke-width:2; }
.slice-callout rect { stroke:var(--slice); stroke-width:1.5; }
#fund-overview .holdings-chart svg.slice-labelled,
#view-detail[data-fund-view=distribution] #fund-overview .holdings-chart svg.slice-labelled,
.companies-disclosure .holdings-chart svg.slice-labelled { max-width:600px; }
@media (min-width:681px) and (max-width:1179px) {
  #fund-overview .holdings-chart-layout { grid-template-columns:minmax(300px,1fr) minmax(0,1fr); }
}
@media (min-width:1500px) {
  .companies-layout { grid-template-columns: minmax(0, 1fr) 390px; align-items: start; }
  .companies-results { grid-column: 1; grid-row: 1; }
  .companies-disclosure { grid-column: 2; grid-row: 1; }
  .companies-disclosure .holdings-chart-layout { grid-template-columns: minmax(0, 1fr); }
  .companies-disclosure .holdings-chart svg { max-width: 250px; }
}
@media (max-width:950px) {
  .companies-results .scroller { overflow-x:hidden; }
  #companies-table { table-layout:fixed; }
  #companies-table .company-detail-column { display:none!important; }
  #companies-table .company-name-column { width:34%; min-width:0; max-width:none; overflow-wrap:anywhere; }
  #companies-table .company-holders-column { width:32%; }
  #companies-table .company-value-column { width:34%; }
  #companies-table th,#companies-table td { padding-inline:8px; white-space:normal; }
  #companies-table .company-holders-trigger { min-width:0; max-width:100%; white-space:normal; line-height:1.3; }
  #companies-table .company-value-column .sort-label-full { display:none; }
  #companies-table .company-value-column .sort-label-short { display:inline; }
  #companies-table .company-mobile-details-row { display:table-row; }
  #companies-table .company-mobile-details-row:hover { background:transparent; }
  #companies-table .company-mobile-details-row>td { width:auto; max-width:none; padding:0 8px 8px; border-bottom:1px solid var(--line); font-weight:400; }
  #companies-table tr:not(.company-mobile-details-row)>td { border-bottom:0; }
  .company-mobile-details { border-top:1px solid color-mix(in srgb,var(--line) 75%,transparent); }
  .company-mobile-details>summary { display:flex; align-items:center; min-height:44px; cursor:pointer; color:var(--muted); font-size:12px; }
  .company-mobile-details dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 16px; margin:0 0 10px; }
  .company-mobile-details dl>div { min-width:0; }
  .company-mobile-details dt { color:var(--muted); font-size:11px; }
  .company-mobile-details dd { margin:2px 0 0; color:var(--text); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
  .company-mobile-details small { display:block; margin-top:2px; color:var(--warning); font-size:10px; line-height:1.35; }
  .company-mobile-details .technical-only { display:none; }
  .show-technical .company-mobile-details .technical-only { display:block; }
  .companies-disclosure .holdings-chart-layout { grid-template-columns: minmax(0, 1fr); }
  .companies-disclosure .holdings-chart svg { max-width: 300px; }
}
@media (max-width:540px) {
  #companies-table .company-name-column { width:34%; }
  #companies-table .company-holders-column { width:28%; }
  #companies-table .company-value-column { width:38%; }
  #companies-table th,#companies-table td { padding-inline:6px; }
  #companies-table .company-holders-trigger { min-height:44px; padding-inline:3px; border-color:transparent; background:transparent; box-shadow:none; font-size:11px; }
  #companies-table .company-holders-trigger-prefix { display:none; }
  #companies-table .company-holders-trigger-arrow { display:inline; font-size:16px; }
  .company-mobile-details dl { grid-template-columns:minmax(0,1fr); }
  .companies-disclosure .holdings-chart-layout { grid-template-columns: minmax(0, 1fr); }
  .companies-disclosure .holdings-chart svg { max-width: 300px; }
}
.nav-history-link { border:0; background:transparent; color:var(--gold); padding:4px 0; min-height:44px; font-size:13px; text-decoration:underline; text-underline-offset:4px; }
#net-assets-panel { padding:20px; border:1px solid var(--line); border-radius:12px; background:var(--bg); }
.nav-history-heading { display:flex; justify-content:space-between; align-items:start; gap:16px; flex-wrap:wrap; }
.nav-history-heading h3 { font-size:24px; margin:0 0 6px; color:var(--gold); }
.nav-currency-field { display:flex; gap:8px; align-items:center; font-size:14px; }
.nav-currency-field select { width:100px; }
.nav-history-plot { position:relative; margin:12px 0; border-block:1px solid var(--line); padding:12px 0; }
.nav-history-coverage { margin:0 0 8px; color:var(--muted); font-size:14px; }
.nav-chart-scroll { overflow-x:auto; }
.nav-chart-scroll svg { display:block; width:100%; height:280px; min-width:260px; }
.nav-chart-scroll text { font-family:var(--font-sans); }
.nav-chart-scroll .nav-chart-narrow .nav-axis-label { font-size:11px; }
.nav-axis-label { fill:var(--muted); font-size:14px; font-variant-numeric:tabular-nums; }
.nav-grid { stroke:var(--line); stroke-width:1; }
.nav-line { fill:none; stroke:var(--gold); stroke-width:3; }
.nav-point { fill:var(--gold); stroke:var(--bg); stroke-width:2; }
.nav-point-target { cursor:pointer; outline:none; }
.nav-point-hit { fill:transparent; }
.nav-point-target.is-active .nav-point,.nav-point-target:focus-visible .nav-point { r:7; stroke:var(--text); stroke-width:2.5; }
.nav-point-target.is-active .nav-point-hit,.nav-point-target:focus-visible .nav-point-hit { fill:color-mix(in srgb,var(--gold) 20%,transparent); stroke:var(--gold); stroke-width:1; }
.nav-crosshair { stroke:var(--gold); stroke-opacity:.5; stroke-dasharray:4 5; pointer-events:none; }
.nav-chart-hint { color:var(--muted); font-size:12px; margin:6px 0 0; }
.nav-value-tooltip { position:absolute; z-index:30; box-sizing:border-box; width:340px; max-width:100%; padding:18px; border:1px solid var(--gold); border-radius:16px; background:linear-gradient(145deg,color-mix(in srgb,var(--gold) 9%,var(--panel)),var(--bg) 65%); color:var(--text); box-shadow:0 16px 42px #0006,0 0 24px #e6c46a12; font-variant-numeric:tabular-nums; text-align:left; }
.nav-value-tooltip[hidden] { display:none; }
.nav-value-tooltip { max-height:calc(100dvh - 16px); overflow-y:auto; }
.nav-tip-top { display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--gold); font-size:10px; letter-spacing:.09em; }
.nav-tip-top strong { color:var(--text); font-size:13px; letter-spacing:0; white-space:nowrap; }
.nav-tip-value { margin-top:12px; font-size:30px; line-height:1.15; font-weight:800; color:var(--gold); overflow-wrap:anywhere; letter-spacing:-.035em; }
.nav-tip-exact { margin-top:5px; font-size:13px; color:var(--muted); overflow-wrap:anywhere; }
.nav-tip-comparison { display:grid; gap:5px; margin:14px 0; padding:12px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.nav-tip-caption,.nav-tip-percent,.nav-tip-reason { font-size:12px; color:var(--muted); }
.nav-tip-reason { margin:0; line-height:1.45; }
.nav-tip-delta { font-size:20px; line-height:1.2; overflow-wrap:anywhere; }
.nav-tip-delta.is-up { color:var(--positive); }
.nav-tip-delta.is-down { color:var(--negative); }
.nav-tip-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:5px; font-size:12px; color:var(--muted); }
.nav-tip-meta strong { color:var(--text); }
.nav-tip-quality { margin-top:7px; color:var(--muted); font-size:11px; }
.nav-tip-note { margin:10px 0 0; padding-top:9px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.4; }
.nav-gap { fill:var(--muted); font-size:20px; }
.nav-history-caution { color:var(--warning); font-size:14px; line-height:1.6; }
.nav-history-values summary { min-height:44px; display:flex; align-items:center; gap:8px; cursor:pointer; font-size:14px; }
.nav-history-values .details-toggle-icon { width:18px; text-align:center; }
.nav-history-values table { min-width:560px; }
@media(max-width:680px) {
  #net-assets-panel { padding:12px; }
  .nav-history-heading h3 { font-size:20px; }
  .wrap .fund-view-tabs { display:none; }
}
.change-history-panel { margin:0 0 22px; padding:18px; border:1px solid var(--line); border-radius:12px; background:var(--bg); }
.change-history-heading { display:flex; justify-content:space-between; align-items:start; gap:16px; }
.change-history-heading h3 { margin:0 0 5px; color:var(--gold); font-size:22px; }
.change-instrument-picker { margin:0 0 18px; padding:0 0 18px; border-bottom:1px solid var(--line); }
.change-instrument-picker-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:10px; }
.change-instrument-picker-heading h3 { margin:0 0 3px; color:var(--text); font-size:17px; }
.change-instrument-picker-heading p { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }
.change-instrument-toggle { flex:0 0 auto; min-height:44px; padding:8px 13px; border:1px solid var(--gold); border-radius:8px; background:transparent; color:var(--gold); font:inherit; font-weight:750; cursor:pointer; }
.change-instrument-toggle:hover { background:color-mix(in srgb,var(--gold) 10%,transparent); }
.change-instrument-toggle:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.change-instrument-picker.is-collapsed { padding-bottom:12px; }
.change-instrument-picker.is-collapsed .change-instrument-picker-heading { align-items:center; margin-bottom:0; }
.change-instrument-picker.is-collapsed .change-instrument-picker-heading h3 { color:var(--muted); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.change-instrument-picker.is-collapsed .change-instrument-picker-heading p { color:var(--text); font-size:15px; font-weight:750; }
.change-instrument-picker .search-field { max-width:620px; }
.change-instrument-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-width:1600px; margin-top:12px; }
.change-instrument-group { min-width:0; }
.change-instrument-group:only-child { grid-column:1/-1; }
.change-instrument-group h4 { margin:0 0 6px; color:var(--muted); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.change-instrument-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin:0; padding:0; list-style:none; }
.change-instrument-button { width:100%; min-height:44px; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--text); text-align:left; cursor:pointer; }
.change-instrument-button:hover { border-color:var(--gold); background:var(--hover); }
.change-instrument-button[aria-current=true] { border-color:var(--gold); box-shadow:inset 3px 0 0 var(--gold); }
.change-instrument-button:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.change-instrument-name { min-width:0; overflow-wrap:anywhere; font-weight:750; }
.change-instrument-meta { flex:0 0 auto; color:var(--muted); font-size:11px; font-variant-numeric:tabular-nums; text-align:right; }
.change-instrument-more { min-height:40px; margin-top:8px; padding:6px 2px; border-color:transparent; background:transparent; color:var(--gold); font-size:12px; font-weight:750; }
.change-instrument-more:hover { background:transparent; color:var(--text); }
.change-instrument-more:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.change-instrument-status { margin:9px 0 0; color:var(--muted); font-size:12px; }
.change-history-legend { display:flex; flex-wrap:wrap; gap:7px 14px; margin:12px 0 0; padding:0; list-style:none; color:var(--muted); font-size:11px; }
.change-history-legend li { display:inline-flex; align-items:center; gap:5px; }
.change-legend-symbol { display:inline-grid; place-items:center; min-width:27px; min-height:23px; padding:0 5px; border:1px solid var(--line); border-radius:7px; color:var(--text); font-weight:850; }
.change-legend-symbol.is-new,.change-legend-symbol.is-up { color:var(--positive); border-color:color-mix(in srgb,var(--positive) 60%,var(--line)); }
.change-legend-symbol.is-out,.change-legend-symbol.is-down { color:var(--negative); border-color:color-mix(in srgb,var(--negative) 60%,var(--line)); }
.change-legend-symbol.is-unknown { color:var(--warning); border-style:dashed; }
.change-history-empty { margin:0; min-height:76px; display:grid; place-items:center; gap:10px; padding:14px; border:1px dashed var(--line); border-radius:10px; color:var(--muted); text-align:center; line-height:1.5; }
.change-history-empty p { margin:0; }
.change-history-empty-action { min-height:44px; padding:8px 14px; border:1px solid var(--gold); border-radius:8px; background:transparent; color:var(--gold); font:inherit; font-weight:750; cursor:pointer; }
.change-history-empty-action:hover { background:color-mix(in srgb,var(--gold) 10%,transparent); }
.change-history-empty-action:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.change-history-plot { margin-top:12px; border-block:1px solid var(--line); }
.change-history-scroll { overflow-x:auto; overscroll-behavior-inline:contain; }
.change-history-scroll:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.change-history-scroll svg { display:block; width:100%; min-width:800px; height:390px; }
.change-history-scroll text { font-family:var(--font-sans); }
.change-grid { stroke:var(--line); stroke-width:1; }
.change-axis { fill:var(--muted); font-size:11px; font-variant-numeric:tabular-nums; }
.change-lane-title { fill:var(--muted); font-size:10px; font-weight:800; letter-spacing:.08em; }
.change-line { fill:none; stroke-width:3; }
.quantity-line { stroke:var(--gold); }
.weight-line { stroke:#36b8df; }
.change-point { stroke:var(--bg); stroke-width:2; }
.quantity-point { fill:var(--gold); }
.weight-point { fill:#36b8df; }
.change-event { cursor:pointer; outline:none; }
.change-quarter-hit { fill:transparent; }
.change-event-box { fill:var(--surface); stroke:var(--line); stroke-width:1.5; }
.change-event-symbol { fill:var(--text); font-size:12px; font-weight:850; pointer-events:none; }
.change-event.is-new .change-event-box,.change-event.is-up .change-event-box { stroke:var(--positive); }
.change-event.is-new .change-event-symbol,.change-event.is-up .change-event-symbol { fill:var(--positive); }
.change-event.is-out .change-event-box,.change-event.is-down .change-event-box { stroke:var(--negative); }
.change-event.is-out .change-event-symbol,.change-event.is-down .change-event-symbol { fill:var(--negative); }
.change-event.is-unknown .change-event-box { stroke:var(--warning); stroke-dasharray:3 3; }
.change-event.is-unknown .change-event-symbol { fill:var(--warning); }
.change-event.is-none .change-event-box { stroke:var(--muted); stroke-dasharray:2 4; }
.change-event.is-none .change-event-symbol { fill:var(--muted); }
.change-event.is-active .change-event-box,.change-event:focus-visible .change-event-box { stroke:var(--text); stroke-width:3; }
.change-crosshair { stroke:var(--gold); stroke-opacity:.35; stroke-dasharray:4 5; pointer-events:none; }
.change-history-detail { padding-top:12px; }
.change-history-card { padding:14px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.change-history-card-top { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.change-history-card-top strong { font-size:16px; }
.change-event-badge { padding:4px 8px; border:1px solid var(--line); border-radius:999px; font-size:11px; font-weight:800; }
.change-event-badge.is-new,.change-event-badge.is-up { color:var(--positive); border-color:color-mix(in srgb,var(--positive) 60%,var(--line)); }
.change-event-badge.is-out,.change-event-badge.is-down { color:var(--negative); border-color:color-mix(in srgb,var(--negative) 60%,var(--line)); }
.change-event-badge.is-unknown { color:var(--warning); }
.change-history-card dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 18px; margin:14px 0 0; }
.change-history-card dl div { min-width:0; }
.change-history-card dt { color:var(--muted); font-size:11px; }
.change-history-card dd { margin:3px 0 0; font-weight:750; overflow-wrap:anywhere; }
.change-history-reason,.change-history-evidence { color:var(--muted); font-size:12px; line-height:1.5; }
.change-history-reason { margin:13px 0 0; padding-top:11px; border-top:1px solid var(--line); }
.change-history-evidence { margin:10px 0 0; }
.comparison-instrument-button { border:0; padding:7px 0; min-height:44px; background:transparent; color:var(--text); font:inherit; font-weight:700; text-align:left; text-decoration:underline; text-decoration-color:color-mix(in srgb,var(--gold) 60%,transparent); text-underline-offset:4px; cursor:pointer; }
.comparison-instrument-button:hover { color:var(--gold); }
.comparison-instrument-button:focus-visible { outline:3px solid var(--focus); outline-offset:2px; border-radius:4px; }
@media(min-width:1100px) {
  .change-instrument-group:only-child .change-instrument-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(min-width:1800px) {
  .change-instrument-group:only-child .change-instrument-list { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:680px) {
  .change-history-panel { padding:12px; }
  .change-history-heading h3 { font-size:19px; }
  .change-instrument-picker { margin-bottom:14px; }
  .change-instrument-picker.is-collapsed { padding-bottom:10px; }
  .change-instrument-toggle { padding-inline:11px; }
  .change-instrument-groups { grid-template-columns:1fr; }
  .change-instrument-list { grid-template-columns:1fr; }
  .change-instrument-button { align-items:flex-start; }
  .change-instrument-meta { max-width:45%; }
  .change-history-card dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
/* Funds behind one company row. This is an explicit popover rather than a hover tooltip: it stays
   open while its long list is read or scrolled and is closed by its button, Escape or outside use. */
.holders-tooltip { position:fixed; z-index:40; display:flex; flex-direction:column; box-sizing:border-box; max-width:min(92vw,1080px); max-height:calc(100dvh - 16px); padding:16px 18px; border:1px solid var(--gold); border-radius:14px; background:linear-gradient(145deg,color-mix(in srgb,var(--gold) 9%,var(--panel)),var(--bg) 65%); color:var(--text); box-shadow:0 16px 42px #0006,0 0 24px #e6c46a12; font-variant-numeric:tabular-nums; text-align:left; }
.holders-tooltip[hidden] { display:none; }
.holders-head { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px; padding-bottom:10px; border-bottom:1px solid var(--line); }
.holders-title { font-size:14px; overflow-wrap:anywhere; }
.holders-count { color:var(--gold); font-size:11px; letter-spacing:.08em; white-space:nowrap; }
.holders-close { min-height:44px; padding:6px 10px; border-color:var(--line); background:var(--surface); color:var(--text); font-size:12px; }
.holders-empty { margin:12px 0 0; font-size:12px; color:var(--muted); line-height:1.45; }
.holders-sort-note { margin:10px 0 7px; color:var(--muted); font-size:12px; line-height:1.35; }

.holders-columns,.holders-item { display:grid; grid-template-columns:2.5rem minmax(12rem,1fr) minmax(9rem,auto) minmax(6rem,auto); column-gap:14px; align-items:center; }
.holders-columns { padding:0 10px 7px 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.holders-columns span:nth-child(n+3) { text-align:right; }
.holders-list { min-height:0; margin:0; padding:0 8px 0 0; list-style:none; max-height:min(70vh,620px); overflow-y:auto; overscroll-behavior:contain; }
.holders-list:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.holders-item { min-height:42px; padding:4px 2px 4px 0; border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent); font-size:13px; line-height:1.35; }
.holders-item:last-child { border-bottom:0; }
.holders-item:hover { background:color-mix(in srgb,var(--gold) 5%,transparent); }
.holders-rank { color:var(--muted); text-align:right; font-size:11px; font-weight:700; }
.holders-name { min-width:0; overflow-wrap:anywhere; }
.holders-fund-link { display:flex; align-items:center; min-height:40px; margin:-3px 0; padding:3px 0; border:0; border-radius:5px; background:transparent; color:var(--text); font:inherit; font-weight:650; text-align:left; text-decoration:underline; text-decoration-color:color-mix(in srgb,var(--gold) 58%,transparent); text-underline-offset:3px; cursor:pointer; }
.holders-fund-link::after { content:''; width:7px; height:7px; margin-left:8px; border-top:2px solid var(--gold); border-right:2px solid var(--gold); transform:rotate(45deg); flex:0 0 auto; }
.holders-fund-link:hover { color:var(--gold); text-decoration-color:var(--gold); }
.holders-fund-link:focus-visible { outline:3px solid var(--focus); outline-offset:2px; color:var(--gold); }
.holders-figures { display:contents; color:var(--muted); }
.holders-metric { display:flex; flex-direction:column; align-items:flex-end; }
.holders-coverage { color:var(--warning); font-size:10px; font-weight:600; line-height:1.25; }
.holders-value { color:var(--text); }
.company-holders-trigger { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; min-width:108px; padding:6px 11px; border:1px solid color-mix(in srgb,var(--gold) 48%,var(--line)); border-radius:999px; background:color-mix(in srgb,var(--gold) 7%,var(--surface)); color:var(--text); font:inherit; font-size:12px; font-variant-numeric:tabular-nums; font-weight:700; white-space:nowrap; cursor:pointer; box-shadow:inset 0 1px 0 #fff08; transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease; }
.company-holders-trigger-arrow { color:var(--gold); font-size:18px; line-height:1; transform:translateY(-1px); }
.company-holders-trigger:hover,.company-holders-trigger.is-open { border-color:var(--gold); color:var(--gold); background:color-mix(in srgb,var(--gold) 14%,var(--surface)); transform:translateY(-1px); }
.company-holders-trigger:focus-visible { outline:3px solid var(--focus); outline-offset:2px; border-color:var(--gold); }
.company-holders-trigger[aria-expanded=true] .company-holders-trigger-arrow { transform:rotate(90deg); }
.position-holders-trigger { display:flex; width:max-content; min-width:0; min-height:36px; margin-top:2px; padding:2px 8px; font-size:11px; font-weight:600; }
.position-holders-trigger:hover,.position-holders-trigger.is-open { transform:none; }

@media (max-width:640px) {
  .holders-tooltip { max-width:calc(100vw - 16px); padding:14px; }
  .holders-head { grid-template-columns:minmax(0,1fr) auto; }
  .holders-count { grid-column:1; grid-row:2; }
  .holders-close { grid-column:2; grid-row:1/3; }
  .holders-sort-note { margin-bottom:9px; }
  .holders-columns { display:none; }
  .holders-item { grid-template-columns:2rem minmax(0,1fr) auto; gap:2px 10px; align-items:center; min-height:56px; font-size:14px; }
  .holders-rank { grid-column:1; grid-row:1/3; }
  .holders-name { grid-column:2/4; grid-row:1; font-weight:650; }
  .holders-fund-link { min-height:44px; margin:-5px 0 -3px; }
  .holders-figures { display:flex; grid-column:2/4; grid-row:2; justify-content:space-between; gap:14px; min-width:0; }
  .holders-metric { align-items:flex-start; }
  .holders-metric:last-child { align-items:flex-end; }
  .company-holders-trigger { min-width:104px; padding-inline:10px; }
  .position-holders-trigger { min-width:0; min-height:44px; margin-top:0; padding-inline:8px; }
}
#about-panel { padding:20px; border:1px solid var(--line); border-radius:12px; background:var(--bg); }
.about-intro { margin-bottom:20px; }
.about-intro h2 { color:var(--gold); margin:0 0 8px; }
.about-intro p,.about-note,.about-explanation,.about-source { color:var(--muted); line-height:1.6; }
.about-profile-section { margin:0 0 18px; padding:20px; border:1px solid var(--line); border-radius:12px; background:linear-gradient(145deg,color-mix(in srgb,var(--gold) 4%,var(--surface)),var(--surface) 48%); }
.about-profile-intro { max-width:920px; margin-bottom:16px; }
.about-kicker { display:block; margin-bottom:4px; color:var(--gold); font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.about-profile-intro h3 { margin:0; font-size:21px; }
.about-profile-intro p,.about-profile-caption,.about-profile-empty,.about-profile-more { color:var(--muted); font-size:13px; line-height:1.5; }
.about-profile-intro p { margin:7px 0 0; }
.about-risk-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.about-risk-metric { min-width:0; padding:15px 16px; border:1px solid var(--line); border-radius:10px; background:var(--bg); }
.about-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; }
.about-heading h3,.about-heading h4 { min-width:0; margin:0; overflow-wrap:anywhere; }
.about-heading h4 { color:var(--muted); font-size:13px; font-weight:650; }
.about-metric-value { display:block; margin-top:7px; color:var(--text); font-size:24px; font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
.about-metric-value.is-missing { color:var(--muted); font-size:17px; font-weight:600; letter-spacing:0; }
.about-metric-period { color:var(--muted); font-size:12px; }
.about-profile-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:start; }
.about-profile-card { min-width:0; padding:15px; border:1px solid var(--line); border-radius:10px; background:var(--bg); }
.about-profile-caption { min-height:39px; margin:6px 0 13px; }
.about-profile-list { display:grid; gap:11px; margin:0; padding:0; list-style:none; }
.about-profile-row { min-width:0; }
.about-profile-row-top { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:baseline; }
.about-profile-label { min-width:0; overflow-wrap:anywhere; color:var(--text); font-size:13px; font-weight:650; }
.about-profile-share { color:var(--text); font-size:12px; font-weight:750; font-variant-numeric:tabular-nums; white-space:nowrap; }
.about-profile-track { display:block; height:4px; margin-top:5px; overflow:hidden; border-radius:99px; background:var(--line); }
.about-profile-fill { display:block; width:var(--about-profile-width,0); min-width:2px; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--gold),color-mix(in srgb,var(--gold) 62%,var(--focus))); }
.about-profile-rows { display:block; margin-top:3px; color:var(--muted); font-size:11px; }
.about-profile-source { display:block; margin-top:2px; color:var(--muted); font-size:10px; overflow-wrap:anywhere; }
.about-profile-more { margin:12px 0 0; color:var(--text); font-weight:600; }
.about-profile-more summary { min-height:44px; cursor:pointer; color:var(--gold); line-height:44px; }
.about-profile-list-more { margin-top:10px; padding-top:10px; border-top:1px solid var(--line); }
.about-profile-empty { margin:13px 0; }
.about-profile-coverage { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; margin-top:13px; padding-top:10px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.45; }
.about-help { position:relative; display:inline-flex; flex:0 0 auto; }
.about-help-button { width:44px; min-width:44px; height:44px; min-height:44px; padding:0; border:0; border-radius:50%; color:var(--muted); background:transparent; font-size:11px; font-weight:800; line-height:44px; }
.about-help-button::before { content:""; position:absolute; top:13px; left:13px; width:16px; height:16px; border:1px solid currentColor; border-radius:50%; }
.about-help-button:hover,.about-help-button:focus-visible { color:var(--gold); background:color-mix(in srgb,var(--gold) 7%,transparent); }
.about-help-tip { position:absolute; z-index:30; top:calc(100% - 4px); right:0; width:min(310px,calc(100vw - 32px)); padding:11px 12px; border:1px solid var(--line); border-radius:8px; color:var(--bg); background:var(--text); box-shadow:var(--shadow); font-size:12px; font-weight:500; line-height:1.5; }
.about-help-tip[hidden] { display:none; }
.about-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.about-card { background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:20px; }
.about-card h3 { margin:0 0 16px; font-size:18px; }
.about-card dl { margin:0; }
.about-register-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:4px; }
.about-register-head h3 { margin:0; }
.about-register-state { flex:0 0 auto; padding:5px 8px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:11px; font-weight:700; }
.about-register-state.is-stale { border-color:color-mix(in srgb,var(--gold) 45%,var(--line)); color:var(--gold); }
.about-register-connections { display:grid; gap:5px; margin:0; padding:0; list-style:none; }
.about-register-link { color:var(--gold); text-decoration-thickness:1px; text-underline-offset:3px; }
.about-register-permissions { margin-top:16px; border-top:1px solid var(--line); }
.about-register-permissions summary { display:flex; align-items:center; min-height:44px; cursor:pointer; color:var(--text); font-size:13px; font-weight:700; line-height:1.35; }
.about-register-permissions ol { display:grid; gap:10px; margin:2px 0 10px; padding-left:20px; }
.about-register-permissions li { color:var(--muted); font-size:12px; line-height:1.45; }
.about-register-permissions strong,.about-register-permissions span { display:block; }
.about-register-permissions strong { color:var(--text); }
.about-register-provenance { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-top:16px; padding-top:12px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.45; }
.about-register-footnote { margin:10px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.about-register-warning { margin:12px 0; padding:10px 12px; border-left:3px solid var(--gold); color:var(--muted); background:color-mix(in srgb,var(--gold) 5%,transparent); font-size:12px; line-height:1.5; }
.about-register-scope { margin:6px 0 12px; color:var(--muted); font-size:12px; line-height:1.5; }
.about-register-slot:empty { display:none; }
.about-register-slot>.about-card { box-sizing:border-box; height:100%; }
.about-register-retry { min-height:44px; margin-top:14px; }
.about-fact { display:grid; grid-template-columns:minmax(120px,1fr) minmax(0,1.5fr); gap:6px 16px; padding:12px 0; border-bottom:1px solid var(--line); }
.about-fact dt { color:var(--muted); font-size:14px; }
.about-fact dd { margin:0; font-size:16px; font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.about-explanation { grid-column:1/-1; margin:0; font-size:13px; }
.about-note { font-size:14px; }
.about-fee { margin:18px 0; }
.about-fee h4 { margin:0; color:var(--gold); }
.about-source { margin-top:20px; font-size:13px; overflow-wrap:anywhere; }
.about-source summary { cursor:pointer; padding:12px 0; }
.about-notes:empty { display:none; }
.about-notes { border-left:3px solid var(--gold); padding:0 14px; margin-bottom:16px; color:var(--muted); }
@media(max-width:1000px) { .about-profile-grid { grid-template-columns:1fr; } .about-profile-caption { min-height:0; } }
@media(max-width:850px) { .about-grid { grid-template-columns:1fr; } }
@media(max-width:540px) {
  #about-panel,.about-card,.about-profile-section { padding:14px; }
  .about-fact { grid-template-columns:1fr; gap:4px; }
  .about-risk-grid { grid-template-columns:1fr; }
  .about-profile-intro h3 { font-size:19px; }
  .about-profile-card { padding:13px; }
  .about-register-head,.about-register-provenance { display:grid; }
  .about-register-state { justify-self:start; }
  .about-help-tip { position:fixed; top:auto; right:12px; bottom:12px; left:12px; width:auto; }
}
@media(prefers-reduced-motion:reduce) { .about-help-tip { transition:none; } }
/* Neutral public product header. Product styles only provide their color tokens. */
:root {
  --product-header-width: min(2400px, calc(100% - clamp(24px, 2.5vw, 64px)));
}

.product-header-inner { width:var(--product-header-width); margin-inline:auto; }
.product-header-host .product-header-topbar.product-header-topbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:nowrap; min-height:44px; gap:12px; margin:0; padding:0; }
.product-header-host .product-header-topbar > .product-header-brand-group { display:flex; align-items:center; flex:1 1 0; min-width:0; overflow:hidden; gap:10px; }
.product-header-host .product-header-brand-group :is(.brand-mark,.brand-home) { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border:0; border-radius:8px; background:#071724; font-size:14px; }
.product-header-host .product-header-brand-group :is(.brand-mark,.brand-home) img { display:block; width:40px; height:40px; }
.product-header-host .product-header-brand-group :is(.radar-brand-title,h1) { margin:0; padding-left:10px; border-left:1px solid var(--color-border,var(--line)); color:var(--color-text,var(--text)); font-size:17px; font-weight:800; line-height:1.2; letter-spacing:-.025em; white-space:nowrap; }
.product-header-host .product-header-brand-group > .brand > .radar-brand-title { display:inline; }
.product-header-host .product-header-brand-group :is(.radar-brand-context,.workspace-context) { min-width:0; overflow:hidden; color:var(--color-text-muted,var(--muted)); font-size:12px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.product-header-host .product-header-topbar > .product-header-actions { display:flex; flex:0 1 auto; align-items:center; justify-content:flex-end; flex-wrap:nowrap; min-width:0; gap:6px; }
.product-header-actions [hidden] { display:none!important; }
.product-feedback-link--topbar { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; padding:6px 9px; border:1px solid transparent; border-radius:8px; color:var(--color-text-muted,var(--muted)); font-size:12px; font-weight:650; line-height:1; text-decoration:none; }
.product-feedback-link--topbar svg { flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.product-feedback-link--topbar:hover { border-color:var(--color-border,var(--line)); background:var(--color-surface,var(--surface)); color:var(--color-text,var(--text)); }
.product-feedback-link--topbar:focus-visible { outline:3px solid var(--radar-focus,var(--focus)); outline-offset:2px; }
.product-header-actions .radar-theme-menu { position:relative; display:inline-flex; flex:0 0 auto; }
.product-header-actions .radar-theme-menu > summary { display:grid; place-items:center; width:44px; min-width:44px; height:44px; min-height:44px; padding:0; border:1px solid var(--color-border,var(--line)); border-radius:12px; background:color-mix(in srgb,var(--color-surface,var(--surface)) 84%,transparent); color:var(--color-text-muted,var(--muted)); font:inherit; list-style:none; cursor:pointer; }
.product-header-actions .radar-theme-menu > summary::-webkit-details-marker { display:none; }
.product-header-actions .radar-theme-menu:is([open],:hover) > summary { border-color:var(--color-border-strong,var(--line)); color:var(--color-text,var(--text)); }
.product-header-actions .radar-theme-menu > summary:focus-visible { outline:3px solid var(--radar-focus,var(--focus)); outline-offset:2px; }
.product-header-actions .radar-theme-menu-icon { display:grid; place-items:center; width:18px; height:18px; font-size:16px; }
.product-header-actions .radar-theme-menu-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.product-header-actions .radar-theme-options { position:absolute; z-index:110; top:calc(100% + 8px); right:0; display:grid; min-width:178px; gap:4px; padding:7px; border:1px solid var(--color-border-strong,var(--line)); border-radius:12px; background:var(--color-surface-raised,var(--surface)); box-shadow:var(--shadow-panel,var(--shadow)); }
.product-header-actions .radar-theme-options button { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:44px; gap:12px; padding:0 12px; border:0; border-radius:8px; background:transparent; color:var(--color-text-muted,var(--muted)); font:inherit; font-size:14px; font-weight:750; text-align:left; cursor:pointer; }
.product-header-actions .radar-theme-options button:hover { background:var(--color-surface-subtle,var(--bg)); color:var(--color-text,var(--text)); }
.product-header-actions .radar-theme-options button[aria-pressed="true"] { background:var(--color-accent-soft,color-mix(in srgb,var(--gold) 12%,transparent)); color:var(--color-accent-strong,var(--gold)); }
.product-header-actions .radar-theme-options button[aria-pressed="true"]::after { content:'✓'; }
.product-header-actions .radar-theme-options button:focus-visible { outline:3px solid var(--radar-focus,var(--focus)); outline-offset:1px; }

.product-site-menu { position:relative; flex:0 0 72px; min-width:72px; }
.product-site-menu > summary { display:flex; justify-content:center; align-items:center; gap:5px; width:72px; min-height:44px; padding:0 8px; overflow:visible; border:1px solid var(--color-border,var(--line)); border-radius:12px; background:var(--color-surface,var(--surface)); color:var(--color-text,var(--text)); font:inherit; font-size:13px; font-weight:800; white-space:nowrap; cursor:pointer; list-style:none; }
.product-site-menu-label { display:inline-block; min-width:0; overflow:visible; }
.product-site-menu > summary::-webkit-details-marker { display:none; }
.product-site-menu[open] > summary { border-color:var(--color-accent,var(--gold)); color:var(--color-accent-strong,var(--gold)); }
.product-site-menu-panel { position:absolute; z-index:100; top:calc(100% + 8px); right:0; width:290px; max-height:calc(100dvh - 80px); overflow-y:auto; padding:8px; border:1px solid var(--color-border-strong,var(--line)); border-radius:14px; background:var(--color-surface,var(--panel)); box-shadow:var(--shadow-panel,var(--shadow)); }
.product-site-menu:not([open]) > .product-site-menu-panel { display:none; }
.product-site-menu-panel :is(nav,.product-nav,.product-site-menu-actions) { display:grid; grid-template-columns:1fr; width:auto; gap:4px; margin:0; padding:0; border:0; background:none; box-shadow:none; }
.product-site-menu-panel .product-nav { display:grid!important; }
.product-site-menu-panel .product-site-menu-actions { margin-top:8px; padding-top:8px; border-top:1px solid var(--color-border,var(--line)); }
.product-site-menu-panel .product-site-menu-actions--mobile-only { display:none; }
.product-site-menu-actions > strong { padding:5px 10px; color:var(--color-text-muted,var(--muted)); font-size:12px; }
.product-site-menu-panel :is(a,button) { display:flex; align-items:center; justify-content:flex-start; gap:6px; width:100%; min-width:44px; min-height:44px; height:auto; padding:10px; border:0; border-radius:8px; background:transparent; color:var(--color-text,var(--text)); font:inherit; font-size:14px; font-weight:650; text-align:left; text-decoration:none; white-space:normal; }
.product-site-menu-panel :is(#product-help-toggle,#broadcast-toggle):not([hidden]) { display:flex!important; grid-column:auto; grid-row:auto; }
.product-site-menu-panel :is(a,button):hover { background:var(--color-accent-soft,color-mix(in srgb,var(--gold) 12%,transparent)); }
.product-site-menu-panel :is([aria-current="page"],[aria-pressed="true"]) { background:var(--color-accent-soft,color-mix(in srgb,var(--gold) 12%,transparent)); color:var(--color-accent-strong,var(--gold)); }
.product-site-menu :is(summary,a,button):focus-visible { outline:3px solid var(--radar-focus,var(--focus)); outline-offset:2px; }
.fund-feedback-menu-link,
.radar-feedback-menu-link { display:none; }
.product-site-menu-panel :is(.fund-feedback-menu-link,.radar-feedback-menu-link) { display:none; }
body:is(.broadcast-mode,.is-broadcast) :is(.product-feedback-link--topbar,.radar-feedback-link,.feedback-link,.radar-feedback-menu-link,.fund-feedback-menu-link) { display:none!important; }

/* Svenska fonder keeps its data workspace full width, so the header follows
   the same responsive gutters instead of the centered radar max width. */
.fund-product-header { width:100%; padding:0 0 8px; }
.fund-product-header .product-header-inner { width:100%; max-width:none; padding-inline:24px; }
.fund-product-header .product-header-topbar { width:100%; height:auto; min-height:44px; margin:0; border-bottom:0; }
.fund-product-header .product-header-brand-group { flex:1 1 auto; }
.fund-product-header .product-header-actions { margin-left:auto; }
.fund-product-header #fund-header-quarter-slot { display:contents; }
.fund-product-header .quarter-field { display:flex; flex-direction:row; align-items:center; width:auto; gap:6px; }
.fund-product-header .quarter-field > span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.fund-product-header .quarter-field select { width:120px; min-height:44px; height:44px; padding-block:0; border-radius:12px; background:var(--surface); font-size:13px; }
.fund-product-header .feedback-link { color:var(--muted); }

@media (min-width:1800px) {
  .fund-product-header .product-header-inner { padding-inline:32px; }
}

@media (max-width:760px) {
  .product-header-host .product-header-brand-group :is(.radar-brand-context,.workspace-context),
  .product-feedback-link--topbar { display:none; }
  .product-header-host .product-header-brand-group :is(.radar-brand-title,h1) { padding-left:8px; font-size:16px; }
  .product-site-menu-panel { position:fixed; top:60px; right:16px; width:min(320px,calc(100vw - 32px)); }
  .product-header-actions .radar-theme-options { position:fixed; top:auto; right:12px; bottom:12px; left:12px; }
  .product-site-menu-panel :is(.radar-feedback-menu-link,.fund-feedback-menu-link) { display:flex; }
  .product-site-menu-panel .product-site-menu-actions--mobile-only { display:grid; }
  .fund-product-header .product-header-topbar { gap:6px; }
  .fund-product-header .product-header-brand-group { gap:6px; }
  .fund-product-header .product-header-actions { gap:6px; }
  .fund-product-header .quarter-field { flex-direction:column; align-items:stretch; gap:2px; }
  .fund-product-header .quarter-field > span { position:static; width:auto; height:auto; overflow:visible; clip-path:none; }
  .fund-product-header .quarter-field select { width:100%; }

  /* Local product navigation remains a tablist, but mobile needs the same
     touch-friendly segmented grammar as the radar suite. */
  .wrap .tabs.product-local-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2px; margin:4px 0 8px; padding:2px; border:1px solid var(--line); border-radius:12px; overflow:visible; background:var(--bg); }
  .wrap .tabs.product-local-nav:not(:has(#tab-detail:not([hidden]))) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wrap .tabs.product-local-nav button { display:flex; align-items:center; justify-content:center; min-width:0; min-height:44px; padding:4px 6px; border:0; border-radius:9px; font-size:12px; line-height:1.2; text-align:center; white-space:normal; }
  .wrap .tabs.product-local-nav button[hidden] { display:none!important; }
  .wrap .tabs.product-local-nav button[aria-selected="true"] { border:0; background:color-mix(in srgb,var(--gold) 13%,var(--surface)); color:var(--gold); }
}

@media (max-width:480px) {
  .product-header-topbar.product-header-topbar--periodic { display:flex!important; grid-template-columns:none!important; gap:6px; }
  .product-header-topbar--periodic .product-header-brand-group { display:flex!important; min-width:0; }
  .product-header-topbar--periodic:has([data-radar-period-trigger]) .product-header-brand-group { flex:0 0 44px!important; width:44px; min-width:44px; overflow:visible; }
  .product-header-host .product-header-topbar--periodic:has([data-radar-period-trigger]) .radar-brand-title { display:none!important; }
  .product-header-topbar--periodic .product-header-actions { display:flex!important; flex:1 1 auto!important; grid-template-columns:none!important; width:auto; min-width:0; margin-left:auto; justify-content:flex-end; }
}

@media (max-width:680px) {
  .fund-product-header .product-header-inner { padding-inline:12px; }
}
