/* Shared layout primitives; appearance is defined by the theme below. */
*{margin:0;padding:0;box-sizing:border-box}
body{min-height:100vh}
.hdr{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;position:sticky;top:0;z-index:100}
.logo{cursor:pointer;display:flex;flex-shrink:0}
.logo,.card,.gsearch-item,.stock-summary-name,.security-link,.fund-link{color:inherit;text-decoration:none}
.security-link,.fund-link{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sort-button{border:0;background:none;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;text-align:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ac)!important;outline-offset:3px}
.gsearch-wrap{position:relative;flex:1 1 360px;min-width:220px}
.gsearch-input{width:100%;outline:none;font-family:inherit}
.gsearch-results{position:absolute;left:0;right:0;max-height:60vh;overflow-y:auto;display:none;z-index:101}
.gsearch-results.open{display:block}
.gsearch-section{font-weight:600;text-transform:uppercase;border-top:1px solid var(--bd)}
.gsearch-section:first-child{border-top:none}
.gsearch-item{cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;border-top:1px solid var(--bd)}
.gsearch-text{min-width:0;display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere}
.gsearch-title{font-size:var(--fs-meta);line-height:1.4;font-weight:600}
.gsearch-title.mono{font-size:var(--fs-body);font-weight:700;color:var(--ac)}
.gsearch-description{font-size:var(--fs-fine);line-height:1.4;color:var(--mt)}
.gsearch-tag{display:inline-flex;align-items:center;justify-content:center;justify-self:end;max-width:100%;font-weight:700;text-align:center;line-height:1.2;margin:1px 0 0;text-transform:uppercase}
.ht-tag{display:inline-flex;align-items:center;justify-content:center;font-weight:700;line-height:1;white-space:nowrap;text-transform:uppercase}
.gsearch-empty{padding:16px;text-align:center;color:var(--mt);font-size:var(--fs-meta)}
.wrap{margin:0 auto}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.card{background:var(--cd);border:1px solid var(--bd);border-radius:10px;padding:14px 16px;cursor:pointer;position:relative;transition:border-color .15s}
.card:hover{border-color:var(--ac)}
table{width:100%;border-collapse:collapse}
th{text-transform:uppercase;border-bottom:1px solid var(--bd);user-select:none;white-space:nowrap}
tr{border-bottom:1px solid rgba(148,163,184,.12)}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.col-sticky{position:sticky;left:0;z-index:2}
thead .col-sticky{z-index:3}
@media(max-width:768px){.col-rank{display:none}
td.col-sticky{max-width:140px!important;font-size:12px!important}
.search-bar-wrap{padding:0}}
th.sort{cursor:pointer;transition:color .12s}
th.sort .arr{display:inline-block;width:10px;margin-left:3px;color:var(--mt);font-size:10px;vertical-align:baseline}
.search-bar{display:flex;gap:8px}
.search-bar input{flex:1;outline:none;font-family:inherit}
.lbl{color:var(--mt);font-size:var(--fs-fine);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
h1{font-size:28px}
h2{font-size:22px}
a{cursor:pointer;text-decoration:none}
a:hover{text-decoration:underline}
.info-note{margin-bottom:24px;font-size:var(--fs-meta)}
.empty{text-align:center}
.empty h1{margin-bottom:16px;color:var(--tx)}
.empty p{font-size:var(--fs-ui);max-width:520px;margin:0 auto;line-height:1.6}
.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--bd);border-radius:50%;animation:spin 0.8s linear infinite;vertical-align:middle;margin-right:8px}
@keyframes spin{to{transform:rotate(360deg)}}
.fund-page{display:grid;align-items:start}
.fund-main,.fund-sidebar,.fund-panel{min-width:0}
.fund-sidebar{align-items:start}
.fund-title h1{overflow-wrap:anywhere}
.fund-meta{display:flex;align-items:center;flex-wrap:wrap}
.fund-meta span+span:before{content:"";display:inline-block;border-radius:50%;vertical-align:middle}
.fund-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
/* Labels and values start on one line in every stat card; charts stay centred. */
.fund-stat{display:flex;align-items:flex-start;justify-content:space-between;overflow:hidden}
.fund-stat-label{text-transform:uppercase}
.fund-stat-value{line-height:1}
.fund-stat .mini{flex:0 0 auto;align-self:center}
.mini-donut{border-radius:50%;position:relative}
.mini-donut:after{content:"";position:absolute;border-radius:50%}
.fund-panel,.side-panel{overflow:hidden}
.fund-panel-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--bd);gap:16px}
.exit-panel{margin-top:18px}
.panel-count{margin-left:7px;color:var(--mt);font-size:var(--fs-fine);font-weight:600}
.holdings-tools{display:flex;align-items:center;gap:10px}
.holdings-search{font-family:inherit;outline:none}
.icon-btn{display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--fs-ui)}
#fundExitTable,#stockExitTable{min-width:820px}
.summary-line{height:1px}
.company-name{font-weight:500;max-width:220px;white-space:nowrap}
.company-name-link{display:block;max-width:100%;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.company-name .company-name-link{max-width:220px}
.company-name-link:hover{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.company-name-link:focus-visible{outline:2px solid var(--ac);outline-offset:3px;border-radius:2px}
.company-search-name{white-space:normal;overflow-wrap:anywhere;line-height:1.4}
.company-search-name.reviewed-instrument-name{white-space:normal!important;overflow:visible;overflow-wrap:anywhere}

.summary-exit{color:var(--rd)!important;font-weight:800}
.summary-list{font-size:var(--fs-meta)}
.fineprint{padding:4px 6px}
.stock-page{display:grid;align-items:start}
.stock-main,.stock-sidebar,.stock-panel{min-width:0}
.stock-sidebar{align-items:start}
.ticker-mark{line-height:1}
.stock-title h1{overflow-wrap:anywhere}
.stock-meta{display:flex;align-items:center;flex-wrap:wrap}
.stock-meta span+span:before{content:"";display:inline-block;border-radius:50%;vertical-align:middle}
.stock-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.stock-stat{display:flex;align-items:flex-start;justify-content:space-between;overflow:hidden}
.stock-stat-label{text-transform:uppercase}
.stock-stat-value{line-height:1}
.stock-stat .mini{flex:0 0 auto;align-self:center}
.stock-largest{min-width:0}
.stock-largest-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stock-largest-meta{margin-top:4px;white-space:nowrap}
#stockTable{min-width:900px}
.stock-table-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;font-size:var(--fs-meta);border-top:1px solid var(--bd)}
.stock-pagination{display:flex;gap:8px;align-items:center;justify-content:center}
.page-btn{background:transparent;cursor:pointer}
.page-btn[disabled]{cursor:default;color:var(--mt);opacity:.7}
.rows-control{justify-self:end;display:flex;align-items:center;gap:8px;white-space:nowrap}
.rows-control select{font-family:inherit}
.stock-summary-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.stock-summary-head:first-of-type{margin-top:0}
.summary-action{background:transparent;border:0;font:inherit;cursor:pointer}
.summary-action:hover{text-decoration:underline}
.stock-summary-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;align-items:baseline;font-size:var(--fs-body)}
.stock-summary-rank{font-size:var(--fs-fine);color:var(--mt)}
.stock-summary-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.fund-data-footer,.stock-data-footer{grid-column:1/-1;border-top:1px solid rgba(148,163,184,.12)}
@media(max-width:768px){.stock-stat .mini{width:28px;height:28px;max-width:72px}.stock-panel .fund-panel-head{height:auto;min-height:0}.stock-panel .holdings-tools{gap:8px;flex:1}.stock-panel .holdings-search{min-width:0;padding:8px 32px 8px 12px}.stock-pagination{justify-content:flex-start;flex-wrap:wrap}.fund-data-footer,.stock-data-footer{padding:10px 0 0}#stockTable{min-width:610px;font-size:var(--fs-meta);table-layout:fixed}#stockTable th,#stockTable td{padding:9px 6px}#stockTable th:nth-child(2),#stockTable td:nth-child(2){width:132px;max-width:132px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#stockTable th:nth-child(3),#stockTable td:nth-child(3){width:84px}#stockTable th:nth-child(4),#stockTable td:nth-child(4){width:62px}#stockTable th:nth-child(5),#stockTable td:nth-child(5){width:84px}#stockTable th:nth-child(6),#stockTable td:nth-child(6){width:84px}#stockTable th:nth-child(7),#stockTable td:nth-child(7){width:72px}#stockTable th:nth-child(8),#stockTable td:nth-child(8){width:94px}}
@media(max-width:768px){.logo span:last-child{font-size:14px!important}.holdings-search{min-width:0}}




.reported-identifiers{font-size:var(--fs-label);font-weight:400;color:var(--mt);white-space:normal;margin-top:4px}
.reported-identifiers summary{cursor:pointer;color:var(--ac);width:max-content;max-width:100%}
.reported-identifiers ul{list-style:none;padding:0;margin:8px 0;display:grid;gap:8px}
.reported-identifiers li>span{display:block;overflow-wrap:anywhere}
.identity-history{margin-bottom:24px;padding:16px;border:1px solid var(--bd);border-radius:8px;background:var(--sf);font-size:var(--fs-meta)}
.identity-history-notice{line-height:1.6;margin-bottom:12px}
.identity-history summary{cursor:pointer;font-weight:600}
.identity-history summary span{display:inline-block;margin-left:12px;font-size:var(--fs-fine);font-weight:400;color:var(--mt)}
.identity-history ol{margin:16px 0;padding-left:22px;display:grid;gap:14px}
.identity-history li{padding-left:4px}
.identity-history li>*{display:block;overflow-wrap:anywhere}
.identity-history .identity-period{color:var(--mt);font-size:var(--fs-fine);margin:4px 0}
.identity-history a{color:var(--ac);text-underline-offset:3px}
.identity-history a[aria-current="page"]{font-weight:700}
.identity-history p{margin:12px 0 0}
.data-footnotes{font-size:var(--fs-fine);color:var(--mt);line-height:1.5}
.data-footnotes .identity-history{margin:0 0 10px;padding:0;border:0;border-radius:0;background:none;font-size:var(--fs-fine)}
.data-footnotes .identity-history-notice{margin-bottom:4px;line-height:1.5}
.data-footnotes .info-note{margin:8px 0;padding:0;border:0;background:none;font-size:var(--fs-fine);line-height:1.5}
.data-footnotes>p{margin-top:12px}
/* Analyst's Notebook visual system. App behavior and DOM contracts remain unchanged. */
:root{
  color-scheme:light;
  --bg:#f4f0e8;
  --sf:#f7f3eb;
  --cd:#fcfaf5;
  --cd2:#f9f6ef;
  --bd:#d6cfc3;
  --bd2:#bcb3a5;
  --tx:#201f1b;
  --mt:#5f5b53;
  --ac:#006b4f;
  --gn:#007342;
  --rd:#97281f;
  --gd:#744620;
  --ac-soft:#e1e8e2;
  --gn-soft:#e1eee5;
  --rd-soft:#f3e2de;
  --warm-hover:#eee9df;
  --serif:'Newsreader','Newsreader Fallback',Iowan Old Style,'Palatino Linotype','Book Antiqua',Georgia,serif;
  --sans:'Source Sans 3','Source Sans 3 Fallback',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  /* The page column every desktop view and the header share. */
  --page-max:1580px;
  --page-gutter:clamp(20px,3vw,46px);
  /* The summary column on fund and stock pages; the header search matches it. */
  --side-w:340px;
  /* Type scale. New rules pick one of these instead of a new fixed size. */
  --fs-tag:10px;    /* pill tags */
  --fs-label:11px;  /* uppercase labels and table heads */
  --fs-fine:12px;   /* footnotes and secondary figures */
  --fs-meta:13px;   /* detail lines, summary values */
  --fs-body:14px;   /* tables and lists */
  --fs-ui:15px;     /* body text and inputs */
  --fs-panel:21px;  /* panel and card titles */
  --fs-page:clamp(32px,3vw,44px); /* fund and security names */
}

html{background:var(--bg);scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--tx);
  font-family:var(--sans);
  font-size:var(--fs-ui);
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:#ccd9d0;color:var(--tx)}
button,input,select{font:inherit}
button,input,select,a,[onclick]{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
.mono,.stock-largest-meta,.stock-summary-value,.page-btn{
  font-family:var(--sans);
  font-variant-numeric:tabular-nums;
  font-feature-settings:'tnum' 1,'lnum' 1;
}

.hdr{
  min-height:72px;
  /* The bar spans the window; its logo and theme button sit on the edges of
     the page column below, the same on every page. */
  padding:13px max(var(--page-gutter),calc((100% - var(--page-max))/2 + var(--page-gutter)));
  gap:18px;
  background:rgba(244,240,232,.97);
  border-bottom:1px solid var(--bd);
  box-shadow:0 1px 0 rgba(32,31,27,.02);
  backdrop-filter:none;
}
.logo{gap:12px;align-items:center;color:var(--tx)}
.logo:hover .logo-name{color:var(--ac)}
.logo-mark{
  color:var(--ac)!important;
  font-family:var(--serif)!important;
  font-size:31px!important;
  font-weight:600!important;
  line-height:.8;
  letter-spacing:-.045em;
}
.logo-name{font-size:15px!important;font-weight:600!important;letter-spacing:.01em;transition:color .15s ease}
.gsearch-wrap{max-width:660px}
@media(min-width:769px){
  /* The header search and theme button sit together at the right and span the
     summary column, so the box lines up with the summary card below.
     54px is the 44px button plus a 10px gap (the -8px trims the header's 18px gap). */
  .hdr>.gsearch-wrap{flex:0 0 auto;width:calc(var(--side-w) - 54px);min-width:0;max-width:none;margin:0 -8px 0 auto}
  .hdr .gsearch-input{padding-right:14px}
  .hdr .gsearch-results{right:-54px}
}
.gsearch-input,.holdings-search,.rows-control select{
  color:var(--tx);
  background:var(--cd);
  border:1px solid var(--bd2);
  border-radius:4px;
  box-shadow:none;
}
.gsearch-input{height:44px;padding:10px 42px 10px 14px;font-size:var(--fs-ui)}
.gsearch-input::placeholder,.holdings-search::placeholder,.search-bar input::placeholder{color:#777168;opacity:1}
.gsearch-input:focus,.holdings-search:focus,.search-bar input:focus,.rows-control select:focus{
  border-color:var(--ac);
  box-shadow:0 0 0 3px rgba(0,107,79,.12);
  outline:none;
}
.gsearch-results{
  top:calc(100% + 7px);
  background:var(--cd);
  border:1px solid var(--bd2);
  border-radius:4px;
  box-shadow:0 14px 34px rgba(50,43,34,.14);
}
.gsearch-section{padding:8px 14px 6px;background:var(--sf);border-color:var(--bd);color:var(--mt);font-size:var(--fs-label);letter-spacing:.1em}
.gsearch-item{padding:11px 14px;border-color:var(--bd);gap:11px}
.gsearch-item:hover,.gsearch-item.active{background:var(--warm-hover)}
.gsearch-tag,.ht-tag{
  min-width:40px;
  padding:3px 7px;
  border:1px solid transparent;
  border-radius:999px;
  font-family:var(--sans);
  font-size:var(--fs-tag);
  letter-spacing:.06em;
}
.gsearch-tag.fund{background:var(--ac-soft);border-color:#c7d3ca;color:var(--ac)}
.gsearch-tag.stock,.ht-tag.stock{background:#e5ece9;border-color:#cad6d1;color:#25483a}
.gsearch-tag.note,.ht-tag.note{background:#ebe8e1;border-color:#d6d0c5;color:#5f5b53}
.gsearch-tag.pref,.ht-tag.pref{background:#eee8ef;border-color:#dcd0de;color:#68496b}
.gsearch-tag.warrant,.ht-tag.warrant{background:#f1e7e4;border-color:#dfd0ca;color:#765044}
.gsearch-tag.call,.ht-tag.call{background:var(--gn-soft);border-color:#c6dbc9;color:var(--gn)}
.gsearch-tag.put,.ht-tag.put{background:var(--rd-soft);border-color:#dfc6c0;color:var(--rd)}
.gsearch-tag.opt,.ht-tag.opt{background:#eee9dc;border-color:#dcd1b9;color:var(--gd)}

.wrap{max-width:var(--page-max);padding:42px var(--page-gutter) 68px}
h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:-.025em}
a{color:var(--ac);text-underline-offset:3px}
.empty{padding:88px 20px;color:var(--mt)}
.empty h1{font-size:clamp(34px,5vw,54px)}
.spinner{border-color:var(--bd2);border-top-color:var(--ac)}

body:has(.home-hero){min-height:100svh}
.wrap:has(>.home-hero){max-width:none;padding:0 24px}
.home-hero{
  min-height:calc(100svh - 72px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  /* Keep the full spacing on tall screens without forcing blank overflow. */
  padding:clamp(16px,calc(100svh - 576px),64px) 0 clamp(16px,calc(100svh - 472px),168px);
}
.home-copy{max-width:920px;margin:0 0 36px;text-align:center}
.home-copy h1{
  max-width:880px;
  margin:0 auto;
  font-size:clamp(48px,4.5vw,68px);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.home-title-accent{color:var(--ac)}
.home-subtitle{max-width:760px;margin:24px auto 0;color:var(--mt);font-size:17px;line-height:1.5;text-wrap:balance}
.home-updated{white-space:nowrap}
.home-filer-count{color:var(--tx);font-weight:600}
/* The season line reads as one block with the line above; its bottom padding
   keeps the search box where it sits without the line. */
.home-season{max-width:760px;margin:4px auto 0;padding-bottom:8px;color:var(--mt);font-size:17px;line-height:1.5;text-wrap:balance}
.home-season b{color:var(--tx);font-weight:600}
.season-bar{display:inline-block;width:120px;height:7px;margin:0 12px 2px;vertical-align:middle;border-radius:3px;
  background:linear-gradient(var(--ac),var(--ac)) left/var(--pct,0%) 100% no-repeat,var(--bd)}
.home-search-toolbar{display:none}
.search-bar-wrap{width:100%;max-width:820px;margin:0;position:relative}
.home-hero .gsearch-results{border-radius:10px;text-align:left}
.search-bar{position:relative;max-width:none;margin:0;width:100%}
.search-bar:before{
  content:'';
  position:absolute;
  left:21px;
  top:50%;
  z-index:2;
  width:15px;
  height:15px;
  border:1.7px solid var(--ac);
  border-radius:50%;
  transform:translateY(-58%);
  pointer-events:none;
}
.search-bar:after{
  content:'';
  position:absolute;
  left:35px;
  top:34px;
  z-index:2;
  width:7px;
  height:1.7px;
  background:var(--ac);
  transform:rotate(45deg);
  transform-origin:left center;
  pointer-events:none;
}
.search-bar input{
  height:64px;
  min-width:0;
  padding:15px 22px 15px 54px;
  color:var(--tx);
  background:var(--cd);
  border:1px solid var(--bd);
  border-radius:10px;
  box-shadow:0 8px 28px rgba(50,43,34,.06);
  font-size:17px;
  appearance:none;
}
.search-bar input:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(0,107,79,.12),0 10px 30px rgba(50,43,34,.07)}
@media(min-width:769px){
  /* Short and long pages keep the same width where scrollbars take space,
     so the header does not shift between pages. */
  html{scrollbar-gutter:stable}
  .home-hero .gsearch-results{
    max-height:min(60vh,var(--home-results-space,60vh));
    overscroll-behavior-y:contain;
  }
}
@media(max-width:768px) and (max-height:500px){
  .home-hero:not(.is-searching) .home-copy{margin-bottom:16px}
  .home-hero:not(.is-searching) .home-copy h1{font-size:clamp(24px,8svh,40px)}
  .home-hero:not(.is-searching) .home-subtitle{margin-top:12px;font-size:var(--fs-body);line-height:1.4}
  .home-hero:not(.is-searching) .home-season{display:none}
}

/* Funds and securities share one page grid, sidebar width and header:
   an eyebrow row of tags, the name, and one line of details. */
.fund-page,.stock-page{grid-template-columns:minmax(0,1fr) var(--side-w);gap:24px}
.fund-title,.stock-title{display:block;margin:0 0 24px}
.page-eyebrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:30px;margin:0 0 8px}
.fund-title h1,.stock-title h1{max-width:1100px;margin:0 0 10px;font-size:var(--fs-page);font-weight:600;line-height:1.08;letter-spacing:-.03em;text-wrap:balance}
.fund-title h1.long-title,.stock-title h1.long-title{font-size:clamp(26px,2.2vw,32px);line-height:1.15;letter-spacing:-.02em}
.page-title .ht-tag{padding:5px 10px;border-radius:6px;font-size:var(--fs-label);font-weight:600;letter-spacing:.055em;line-height:1.3;white-space:normal;max-width:100%}
.page-title .page-kind{background:var(--sf);border:1px solid var(--bd2);color:var(--mt)}
.fund-meta,.stock-meta{gap:6px 14px;color:var(--mt);font-size:var(--fs-meta);line-height:1.5}
.fund-meta span+span:before,.stock-meta span+span:before{width:3px;height:3px;margin-right:14px;background:var(--bd2);opacity:1}
.fund-stat-grid,.stock-stat-grid{
  gap:0;
  margin-bottom:22px;
  overflow:hidden;
  background:var(--cd);
  border:1px solid var(--bd);
  border-radius:4px;
}
.fund-stat,.stock-stat{
  min-height:112px;
  padding:20px clamp(15px,1.5vw,23px);
  background:transparent;
  border:0;
  border-right:1px solid var(--bd);
  border-radius:0;
  gap:12px;
}
.fund-stat:last-child,.stock-stat:last-child{border-right:0}
.fund-stat-label,.stock-stat-label{
  margin-bottom:8px;
  color:var(--mt);
  font-size:var(--fs-label);
  font-weight:700;
  letter-spacing:.095em;
}
.fund-stat-value,.stock-stat-value{color:var(--tx);font-size:clamp(25px,2vw,32px);font-weight:600;letter-spacing:-.03em}
.top-position-copy,.top-position-value{min-width:0}
.top-position-value{display:flex;align-items:baseline;gap:.28em;max-width:100%;white-space:nowrap}
.top-position-symbol{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--ac)}
.top-position-percent{flex:0 0 auto;color:var(--tx)}
.top-position-value.security-label-position{align-items:flex-start;flex-direction:column;gap:3px;white-space:normal}
.security-label-position .top-position-symbol{overflow:visible;text-overflow:clip;white-space:normal;font-size:clamp(16px,1.45vw,21px);line-height:1.15;overflow-wrap:anywhere}
.security-label-position .top-position-percent{font-size:18px}
#fundTable,#fundExitTable{table-layout:fixed;min-width:860px;width:100%}
#fundTable th:first-child,#fundExitTable th:first-child{width:44px}
#fundTable th:nth-child(2),#fundExitTable th:nth-child(2){width:26%}
#fundTable th.col-type,#fundExitTable th.col-type{width:150px}
.company-name-link{color:inherit;text-decoration:none}
@media(max-width:768px){#fundTable,#fundExitTable{min-width:600px;font-size:var(--fs-meta)}#fundTable th,#fundTable td,#fundExitTable th,#fundExitTable td{padding:8px 7px}#fundTable th:nth-child(2),#fundExitTable th:nth-child(2){width:128px}#fundTable th:nth-child(3),#fundExitTable th:nth-child(3){width:58px}#fundTable th:nth-child(4),#fundExitTable th:nth-child(4){width:76px}#fundTable th:nth-child(5),#fundExitTable th:nth-child(5){width:82px}}
#fundTable td.security-label-cell,#fundExitTable td.security-label-cell{white-space:nowrap!important;line-height:1.2;overflow:hidden;text-overflow:ellipsis}
.fund-stat .mini,.stock-stat .mini{opacity:1}
.mini-donut{width:50px;height:50px;background:conic-gradient(var(--ac) var(--pct),var(--ac-soft) 0)}
.mini-donut:after{inset:7px;background:var(--cd)}

.fund-panel,.side-panel{
  background:var(--cd);
  border:1px solid var(--bd);
  border-radius:4px;
  box-shadow:none;
}
.fund-panel{overflow:hidden}
/* "View all" lands a table's title just below the sticky header. */
.fund-panel{scroll-margin-top:88px}
.fund-panel-head{
  min-height:66px;
  height:auto;
  padding:12px 18px 12px 20px;
  background:var(--cd2);
  border-color:var(--bd);
}
.fund-panel-title{font-family:var(--serif);font-size:var(--fs-panel);font-weight:600;letter-spacing:-.015em}
.holdings-tools{min-width:280px}
.holdings-search{width:260px;padding:9px 34px 9px 12px;font-size:var(--fs-body)}
.icon-btn{
  width:36px;
  height:36px;
  color:var(--mt);
  background:transparent;
  border:1px solid var(--bd2);
  border-radius:4px;
}
.icon-btn:hover{color:var(--ac);background:var(--sf);border-color:var(--ac)}
.filter-toggle{flex:none;height:36px;padding:0 12px;color:var(--tx);background:transparent;border:1px solid var(--bd2);border-radius:4px;font:inherit;font-size:var(--fs-meta);white-space:nowrap;cursor:pointer}
.filter-toggle:hover,.filter-toggle.active{color:var(--ac);border-color:var(--ac)}
.filter-toggle[aria-expanded="true"]{background:var(--sf)}
.filter-toggle.active{font-weight:600}
.filter-toggle .filter-dot{display:none}
.filter-toggle.active .filter-dot{display:inline}
.filter-sort-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:10px 18px 10px 20px;background:var(--cd2);color:var(--mt);font-size:var(--fs-meta)}
.filter-sort-row[hidden]{display:none}
.filter-sort-row select{max-width:100%}
.filter-reset{padding:4px 0;border:0;background:none;color:var(--ac);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.tbl-wrap{background:var(--cd);border-top:1px solid var(--bd);border-radius:0}
table{font-size:var(--fs-body)}
th{
  padding:12px 13px;
  text-align:left;
  color:var(--mt);
  background:var(--sf);
  border-color:var(--bd);
  font-size:var(--fs-label);
  font-weight:700;
  letter-spacing:.07em;
}
td{padding:13px;line-height:1.25}
tr{border-color:var(--bd)}
tbody tr:nth-child(odd){background:var(--cd)!important}
tbody tr:nth-child(even){background:var(--sf)!important}
tbody tr:nth-child(odd) .col-sticky{background:var(--cd)!important}
tbody tr:nth-child(even) .col-sticky{background:var(--sf)!important}
tbody tr:hover{background:var(--warm-hover)!important}
tbody tr:hover .col-sticky{background:var(--warm-hover)!important}
.col-sticky{border-right:1px solid var(--bd);box-shadow:3px 0 6px rgba(50,43,34,.025)}
thead .col-sticky{background:var(--sf)!important}
th.sort:hover{color:var(--tx)}
th.sort.active,th.sort.active .arr{color:var(--ac)}
.fund-foot{padding:12px 16px;border-top:1px solid var(--bd);background:var(--cd2);color:var(--mt);font-size:var(--fs-fine);text-align:left}
.badge{padding:3px 7px;border-radius:3px;color:var(--mt);font-size:var(--fs-label);font-weight:700}
.badge.up{background:var(--gn-soft);color:var(--gn)}
.badge.down{background:var(--rd-soft);color:var(--rd)}
/* Table cells take alignment and emphasis from classes, not inline styles. */
th.num,td.num{text-align:right}
th.ctr,td.ctr{text-align:center}
th.col-rank,td.col-rank{width:36px;text-align:center}
td.col-rank{color:var(--mt);font-size:var(--fs-fine)}
.cell-strong{font-weight:600}
.cell-muted{color:var(--mt)}
.cell-accent{color:var(--ac)}
.cell-fine{color:var(--mt);font-size:var(--fs-fine)}
.table-empty{padding:32px;text-align:center;color:var(--mt)}
.spark{vertical-align:middle}
.spark-empty{color:var(--mt);font-size:var(--fs-label)}
.holder-cell{max-width:310px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ac);font-weight:600;cursor:pointer}
td.col-type{color:var(--tx);white-space:nowrap}
.side-panel{padding:24px;margin-bottom:16px}
.side-title{margin-bottom:14px;font-family:var(--serif);font-size:var(--fs-panel);font-weight:600;letter-spacing:-.015em}
.summary-line{margin:16px 0;background:var(--bd)}
.summary-up{color:var(--gn)!important;font-weight:700}
.summary-down{color:var(--rd)!important;font-weight:700}
.summary-new{color:var(--gn);font-weight:700}
.summary-list{color:var(--tx);line-height:1.65}
.fineprint{color:var(--mt);font-size:var(--fs-fine);line-height:1.65}
.fund-data-footer,.stock-data-footer{margin-top:10px;padding-top:16px;border-color:var(--bd)}
.site-footer{max-width:var(--page-max);margin:0 auto;padding:0 var(--page-gutter) 32px}
.site-footer p{margin:0;padding-top:16px;border-top:1px solid var(--bd)}
.fund-sidebar,.stock-sidebar{align-self:start}

/* Refined security identity: compact type badge, readable instrument terms. */
.ticker-mark{font-family:var(--sans);font-size:24px;font-weight:600;letter-spacing:-.035em;line-height:1.2;color:var(--ac);overflow-wrap:anywhere;min-width:0}
.stock-description{overflow-wrap:anywhere}
.stock-title .ht-tag{border:1px solid #bdd0c2;background:#e5ece2;color:#195340}
.stock-title .ht-tag:is([data-security-kind="BOND"],[data-security-kind="NOTE"],[data-security-kind="ETN"]){background:#633c60;border-color:#633c60;color:#fff}
.stock-title .ht-tag:is([data-security-kind="ETF"],[data-security-kind="MUTUAL FUND"],[data-security-kind="CLOSED-END FUND"]){background:#e1eaf0;border-color:#b9cbd5;color:#245365}
.stock-title .ht-tag[data-security-kind="PREFERRED"]{background:#eae5f1;border-color:#c9bfd9;color:#42375d}
.stock-title .ht-tag:is([data-security-kind="WARRANT"],[data-security-kind="RIGHT"]){background:#f0e8da;border-color:#d6c4a6;color:#704a1d}
.stock-title .ht-tag[data-security-kind="CALL"]{background:#e1eaf2;border-color:#b4c9db;color:#234d70}
.stock-title .ht-tag[data-security-kind="PUT"]{background:#f0e1e4;border-color:#d9b6be;color:#773c4c}
.stock-title .ht-tag:is([data-security-kind="UNIT"],[data-security-kind="OPTION"]){background:#e8e8e6;border-color:#c7cac8;color:#444c49}
.stock-largest-name{color:var(--tx);font-size:var(--fs-ui);font-weight:600}
.stock-largest-meta{color:var(--mt);font-size:var(--fs-fine)}
.stock-table-footer{padding:13px 16px;background:var(--cd2);border-color:var(--bd);color:var(--mt)}
.page-btn{min-width:32px;height:31px;border:1px solid transparent;border-radius:3px;color:var(--tx)}
.page-btn:hover{background:var(--sf);border-color:var(--bd);color:var(--ac)}
.page-btn.active{background:var(--ac);border-color:var(--ac);color:#fff}
.rows-control select{padding:7px 28px 7px 10px}
/* One summary list on both pages: section head with "View all", then
   numbered rows of name, grey detail and a bold value. */
.stock-summary-head{margin:16px 0 6px;color:var(--tx);font-size:var(--fs-meta);font-weight:600}
.summary-action{color:var(--ac);font-size:var(--fs-fine);text-underline-offset:3px}
.stock-summary-row{margin:9px 0;color:var(--mt)}
.stock-summary-name{color:var(--tx)}
.stock-summary-name:hover{color:var(--ac)}
.fund-summary-name b{margin-right:3px;color:var(--ac);font-weight:700}
.fund-summary-name span{color:var(--mt)}
.fund-summary-name:hover span{color:var(--ac)}
.stock-summary-value{color:var(--tx);font-size:var(--fs-meta);font-weight:600}
.stock-summary-value.summary-up,.stock-summary-value.summary-down{font-weight:600}
.stock-summary-detail{margin-right:8px;color:var(--mt);font-weight:400}

.info-note{
  padding:14px 17px;
  color:var(--mt);
  background:var(--cd);
  border:1px solid var(--bd);
  border-radius:4px;
  line-height:1.65;
}
.info-note strong{color:var(--tx)}
/* Both pages move the summary below the tables, and the stat cards to two
   columns, at the same widths. */
@media(max-width:1200px){
  .fund-page,.stock-page{grid-template-columns:1fr}
  .fund-sidebar,.stock-sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .fund-sidebar .side-panel,.stock-sidebar .side-panel{margin-bottom:0}
}
@media(max-width:1100px){
  .fund-stat-grid,.stock-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fund-stat:nth-child(2),.stock-stat:nth-child(2){border-right:0}
  .fund-stat:nth-child(-n+2),.stock-stat:nth-child(-n+2){border-bottom:1px solid var(--bd)}
}
@media(max-width:768px){
  .hdr{min-height:62px;padding:10px 16px;gap:10px 14px}
  .logo{gap:9px}.logo-mark{font-size:27px!important}.logo-name{font-size:14px!important}
  .gsearch-wrap{order:3;flex-basis:100%;max-width:none}
  .wrap{padding:28px 16px 48px}
  .site-footer{padding:0 16px 28px}
  .home-hero{min-height:calc(100svh - 62px);padding:clamp(12px,calc(100svh - 480px),40px) 0 clamp(16px,calc(100svh - 408px),112px)}
  .home-copy{margin-bottom:32px}
  .home-copy h1{max-width:420px;font-size:clamp(32px,10.25vw,46px);line-height:1.08}
  .home-title-subject{white-space:nowrap}
  .home-subtitle{max-width:380px;min-height:3em;margin-top:24px;font-size:var(--fs-ui)}
  .home-season{font-size:var(--fs-ui)}
  .search-bar input{height:58px;padding-left:49px;font-size:16px}
  .search-bar:before{left:19px}
  .search-bar:after{left:33px;top:30px}
  body:has(.home-hero.is-searching){overflow:hidden}
  body:has(.home-hero.is-searching)>.hdr,body:has(.home-hero.is-searching)>.site-footer{visibility:hidden}
  .home-hero.is-searching{
    position:fixed;
    z-index:110;
    top:var(--search-viewport-top,0px);
    left:0;
    width:100%;
    height:var(--search-viewport-height,100dvh);
    min-height:0;
    padding:8px 20px max(8px,env(safe-area-inset-bottom));
    justify-content:flex-start;
    overflow:hidden;
    background:var(--bg);
  }
  .is-searching .home-search-toolbar{display:flex;align-items:center;justify-content:space-between;width:100%;flex-shrink:0;margin-bottom:12px}
  .home-search-brand{font-family:var(--serif);font-size:27px;font-weight:600;letter-spacing:-.045em}
  .home-search-close{min-height:44px;padding:8px 0 8px 16px;background:none;border:0;color:var(--ac);font-size:16px;cursor:pointer}
  .is-searching .home-copy{flex-shrink:0;margin-bottom:16px}
  .is-searching .home-copy h1{max-width:340px;font-size:24px;line-height:1.15}
  .is-searching .home-title-subject{white-space:normal}
  .is-searching .home-subtitle,.is-searching .home-season{display:none}
  .is-searching .search-bar-wrap{display:flex;flex-direction:column;flex:1;min-height:0;max-width:none}
  .is-searching .search-bar{flex-shrink:0}
  .is-searching .search-bar input{height:52px;box-shadow:none}
  .is-searching .search-bar:after{top:27px}
  .is-searching .gsearch-results{
    position:static;
    flex:1;
    min-height:0;
    max-height:none;
    margin-top:10px;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    box-shadow:none;
  }
  /* Hidden lists still take space; the full-screen search needs it for results. */
  .is-searching .home-try,.is-searching .home-lists{display:none}
  .fund-title,.stock-title{margin-bottom:20px}
  .fund-title h1,.stock-title h1{font-size:30px;line-height:1.12}
  .fund-title h1.long-title,.stock-title h1.long-title{font-size:23px}
  .fund-meta,.stock-meta{font-size:var(--fs-fine);gap:4px 12px}
  .fund-meta span+span:before,.stock-meta span+span:before{display:none}
  .fund-stat-grid,.stock-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}
  .fund-stat,.stock-stat{min-height:92px;padding:15px 14px}
  .fund-stat:nth-child(2),.stock-stat:nth-child(2){border-right:0}
  .fund-stat:nth-child(-n+2),.stock-stat:nth-child(-n+2){border-bottom:1px solid var(--bd)}
  .fund-stat-value,.stock-stat-value{font-size:24px}
  .fund-stat .mini,.stock-stat .mini{max-width:74px}
  .fund-sidebar,.stock-sidebar{grid-template-columns:1fr;gap:12px}
  .fund-panel-head,.stock-panel .fund-panel-head{padding:14px;align-items:stretch;flex-direction:column;gap:12px}
  .holdings-tools,.stock-panel .holdings-tools{width:100%;min-width:0}
  .holdings-search,.stock-panel .holdings-search{width:100%}
  .filter-sort-row{padding:10px 14px}
  .fund-panel{scroll-margin-top:74px}
  .fund-panel-title,.side-title{font-size:20px}
  .side-panel{padding:20px}
  .ticker-mark{font-size:22px}
  .stock-stat:last-child{grid-column:auto}
  .stock-table-footer{grid-template-columns:1fr;justify-items:start}
  .rows-control{justify-self:start}
  table{font-size:var(--fs-meta)}
  th{padding:10px;font-size:var(--fs-tag)}
  td{padding:11px 10px}
  #fundTable td.security-label-cell,#fundExitTable td.security-label-cell{white-space:nowrap!important;line-height:1.2}
}
@media(max-width:520px){
  .logo-name{display:none}
  .fund-stat-grid,.stock-stat-grid{grid-template-columns:1fr}
  .fund-stat,.stock-stat{border-right:0;border-bottom:1px solid var(--bd)!important;min-height:82px}
  .fund-stat:last-child,.stock-stat:last-child{border-bottom:0!important}
  .stock-title-line{align-items:center}
}
/* ---- One design at every width: holdings read symbol-over-company, changes
   are pills, and the quarter's moves are chips. Phones lead with the numbers;
   wide screens add columns and keep the summary panel in view. ---- */
.col-type{display:none}
@media(min-width:1500px){.col-type{display:table-cell}}
.holding-cell{vertical-align:middle}
#fundTable td,#fundExitTable td{padding-top:7px;padding-bottom:7px}
.holding-cell>.security-link,.holding-cell>.security-unlinked{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 0 1px;color:var(--ac);font-weight:700}
.holding-cell>.security-unlinked{color:var(--mt);font-weight:600}
.holding-cell .company-name{max-width:none;font-family:var(--sans);font-size:var(--fs-meta);font-weight:400;color:var(--mt)}
.holding-cell .company-name .company-name-link{max-width:100%;padding:1px 0 3px;color:var(--mt);font-weight:400}
.badge{display:inline-block;white-space:nowrap}
/* The whole first cell opens the row's page; "Filing details" stays clickable above it. */
.holding-cell>.security-link::after,td.col-sticky>.fund-link::after{content:"";position:absolute;inset:0}
td.col-sticky .reported-identifiers{position:relative;z-index:1}
.table-legend{text-align:left}
.fund-meta a{font-weight:600}
.holding-chip{display:inline-flex;align-items:center;gap:7px;flex:none;max-width:100%;min-height:40px;padding:8px 13px;color:var(--tx);background:var(--cd);border:1px solid var(--bd);border-radius:999px;font-size:var(--fs-meta);line-height:1.2;white-space:nowrap;text-decoration:none;font-variant-numeric:tabular-nums}
a.holding-chip:hover{border-color:var(--ac);text-decoration:none}
.holding-chip b{color:var(--ac);font-weight:700}
.holding-chip .chip-name{min-width:0;overflow:hidden;text-overflow:ellipsis}
.holdings-search:placeholder-shown+.icon-btn{display:none}
.hdr-search-btn{display:none;flex:none;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto;color:var(--mt);background:transparent;border:1px solid var(--bd2);border-radius:4px;cursor:pointer}
.hdr-search-btn:hover{color:var(--ac);border-color:var(--ac)}
.hdr-search-btn[aria-expanded="true"]{border-color:var(--ac);background:var(--sf)}
.theme-toggle{display:inline-flex;flex:none;align-items:center;justify-content:center;width:44px;height:44px;color:var(--mt);background:transparent;border:1px solid var(--bd2);border-radius:4px;cursor:pointer}
.theme-toggle:hover{color:var(--ac);border-color:var(--ac)}
.theme-toggle .theme-sun,:root[data-theme="dark"] .theme-toggle .theme-moon{display:none}
:root[data-theme="dark"] .theme-toggle .theme-sun{display:block}
.hdr>.gsearch-wrap[style*="none"]~.theme-toggle{margin-left:auto}
.home-try{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;max-width:820px;margin-top:22px;color:var(--mt);font-size:var(--fs-body)}
.home-try a{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;color:var(--tx);background:var(--cd);border:1px solid var(--bd2);border-radius:999px;font-weight:600;text-decoration:none}
.home-try a:hover{border-color:var(--ac);color:var(--ac);text-decoration:none}
.home-hero.has-results .home-try,.home-hero.is-searching .home-try,.home-hero.has-results .home-lists,.home-hero.is-searching .home-lists{visibility:hidden}
.home-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;width:100%;max-width:820px;margin-top:30px;text-align:left}
.home-list{padding:16px 18px 8px;background:var(--cd);border:1px solid var(--bd);border-radius:4px}
.home-list h2{margin-bottom:6px;font-size:19px;letter-spacing:-.015em}
.home-list ol{list-style:none}
.home-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;border-top:1px solid var(--bd);font-size:var(--fs-body)}
.home-list li a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:10px 0;color:var(--tx);text-decoration:none;font-weight:600}
.home-list li a:hover{color:var(--ac);text-decoration:none}
.home-list li a b{margin-right:6px;color:var(--ac)}
.home-list li span{flex:none;color:var(--mt);font-size:var(--fs-meta)}
.home-list-note{color:var(--mt);font:500 var(--fs-meta) var(--sans);letter-spacing:0}
/* Three lists sit side by side when there is room, and stack on phones. */
.home-lists-3{max-width:1180px}
@media(min-width:769px) and (max-width:1060px){.home-lists-3>.home-list:nth-child(3){grid-column:1/-1}}
@media(min-width:769px){
  /* Results need the room below the box more than the headline needs centring. */
  .home-hero.has-results{justify-content:flex-start;padding-top:clamp(16px,6vh,56px)}
}
/* Keep the summary beside the table while it scrolls, on screens tall enough to show it whole. */
@media(min-width:1201px) and (min-height:1100px){.fund-sidebar,.stock-sidebar{position:sticky;top:88px}}
@media(max-width:768px){
  /* One header row; the search field opens from its button. */
  .hdr{flex-wrap:wrap}
  #gsearchWrap:not([style*="none"])+.hdr-search-btn{display:inline-flex}
  .hdr:not(.search-open) .gsearch-wrap{display:none!important}
  .hdr{gap:8px}
  #fundTable td,#fundExitTable td{height:50px;line-height:1.2}
  .holding-cell>.security-link,.holding-cell>.security-unlinked{padding:0}
  .holding-cell .company-name .company-name-link{padding:1px 0 0}
  #stockTable td,#stockExitTable td{height:48px}
  .fund-link{padding:8px 0}
  .page-btn{min-width:44px;height:44px}
  .icon-btn{width:44px;height:44px;flex:none}
  .filter-toggle{height:44px}
  .holdings-search{min-height:44px}
  .rows-control select{min-height:44px}
  .summary-action{min-height:44px;padding:0 4px}
  .reported-identifiers summary{padding:6px 0}
}
@media(max-width:359px){
  /* Logo, search and theme buttons share one row on 320px phones. */
  .logo{font-size:26px}
}
@media(max-width:400px){
  /* The smallest phones (320px) still fit Holding, % Port, Value and Change. */
  #fundTable,#fundExitTable{font-size:var(--fs-fine)}
  #fundTable th,#fundTable td,#fundExitTable th,#fundExitTable td{padding:8px 4px}
  #fundTable th:nth-child(2),#fundExitTable th:nth-child(2){width:100px}
  #fundTable th:nth-child(3),#fundExitTable th:nth-child(3){width:48px}
  #fundTable th:nth-child(4),#fundExitTable th:nth-child(4){width:64px}
  #fundTable th:nth-child(5),#fundExitTable th:nth-child(5){width:72px}
  .holding-cell .company-name{font-size:var(--fs-fine)}
}
@media(max-width:520px){
  .fund-stat-grid,.stock-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fund-stat:nth-child(odd),.stock-stat:nth-child(odd){border-right:1px solid var(--bd)}
  .fund-stat:nth-child(n+3),.stock-stat:nth-child(n+3){border-bottom:0!important}
  .fund-stat .mini,.stock-stat .mini{display:none}
  .fund-stat-value,.stock-stat-value{font-size:var(--fs-panel)}
  .stock-largest-meta{white-space:normal}
}
/* ---- Final review, Oct 23 2026 ---- */
/* While a page loads, the content area fills the screen so the footer never
   jumps up and back, and the page's outline stands in for its data. */
#app{min-height:calc(100svh - 72px)}
.sk{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bd) 25%,var(--cd2) 50%,var(--bd) 75%);background-size:200% 100%;animation:sk-shimmer 1.4s ease-in-out infinite}
@keyframes sk-shimmer{from{background-position:100% 0}to{background-position:-100% 0}}
.sk-title{display:inline-block;width:min(420px,70%);height:.8em;vertical-align:middle}
.sk-meta{display:inline-block;width:180px;height:11px}
.sk-symbol{display:inline-block;width:64px;height:20px;vertical-align:middle}
.sk-stat{width:100%}
.sk-value{height:26px;width:62%;margin-top:4px}
.sk-input{width:260px;height:36px;border-radius:4px}
.sk-note{display:flex;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid var(--bd);color:var(--mt);font-size:var(--fs-meta)}
.sk-row{display:grid;grid-template-columns:1.6fr .7fr .9fr .8fr;gap:16px;align-items:center;padding:19px 20px;border-top:1px solid var(--bd)}
.sk-changes .changes-title{padding:14px 16px 10px}
/* Search: a row that shows the rest of the funds for this query. */
.gsearch-more{display:block;width:100%;border:0;border-top:1px solid var(--bd);background:transparent;color:var(--ac);font:inherit;font-size:var(--fs-meta);font-weight:600;text-align:left;cursor:pointer}
/* Pagination: one page shows only its count; phones read "Page 1 of 248". */
.page-of,.rows-label-short{display:none}
.rows-control[hidden]{display:none}
.stock-table-footer[data-pages="one"]{grid-template-columns:1fr auto}
.stock-table-footer[data-pages="one"] .stock-pagination{display:none}
/* A column that repeats one value is said once above its table. */
table.hide-c-chg .c-chg,table.hide-c-trend .c-trend,table.hide-c-date .c-date,table.hide-c-report .c-report{display:none!important}
.panel-heading{min-width:0}
.panel-note{margin-top:3px;color:var(--mt);font-family:var(--sans);font-size:var(--fs-fine);font-weight:400;letter-spacing:0}
.row-note{margin-top:2px;color:var(--gd);font-size:var(--fs-fine);font-weight:400;white-space:normal}
/* Phones and tablets: the latest filing's changes, under the stat cards. */
.changes-card{display:none}
@media(max-width:1200px){
  .changes-card{display:block;margin:0 0 16px;background:var(--cd);border:1px solid var(--bd);border-radius:4px;overflow:hidden}
  .changes-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 16px 0}
  .changes-title{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:-.015em}
  .changes-since{color:var(--mt);font-size:var(--fs-fine);white-space:nowrap}
  .changes-tabs{display:flex;gap:6px;padding:12px 16px 4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .changes-tabs::-webkit-scrollbar{display:none}
  .changes-tab{flex:none;min-height:36px;padding:6px 12px;border:1px solid var(--bd2);border-radius:999px;background:transparent;color:var(--tx);font:inherit;font-size:var(--fs-meta);font-weight:600;white-space:nowrap;cursor:pointer}
  .changes-tab:hover{border-color:var(--ac)}
  .changes-tab[aria-pressed="true"]{background:var(--ac);border-color:var(--ac);color:#fff}
  :root[data-theme="dark"] .changes-tab[aria-pressed="true"]{color:#10130f}
  .changes-count{margin-left:6px;font-weight:500;opacity:.75}
  .changes-panel{padding:2px 16px 12px}
  .changes-panel[hidden]{display:none}
  .changes-view{display:block;margin:2px 0 0 auto}
}
@media(max-width:768px){
  #app{min-height:calc(100svh - 62px)}
  .sk-input{width:100%;height:44px}
  .sk-row{padding:17px 14px}
  .changes-tab{min-height:44px}
  .stock-table-footer{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"pages rows" "range range";row-gap:8px}
  .stock-table-footer>.table-range{grid-area:range}
  .stock-table-footer>.stock-pagination{grid-area:pages;flex-wrap:nowrap;gap:4px}
  .stock-table-footer>.rows-control{grid-area:rows;justify-self:end}
  .stock-table-footer[data-pages="one"]{grid-template-areas:"range rows"}
  .stock-pagination .page-num,.stock-pagination .page-gap{display:none}
  .page-of{display:inline;padding:0 8px;white-space:nowrap;color:var(--tx)}
  .rows-label-long{display:none}
  .rows-label-short{display:inline}
}
/* Phones: each holding or holder is a two-line row. Line one names it and
   gives its value; line two has its share of the fund, the prior share and
   quantity, then the change and trend. Sorting lives in "Filter & sort". */
@media(max-width:599px){
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable){display:block;min-width:0!important;font-size:var(--fs-body)}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) thead{display:none}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) tbody{display:block}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) tbody tr{position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto 42px;grid-template-areas:"name name name name value" "pct prev qty chg trend";align-items:center;row-gap:5px;padding:11px 14px}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) tbody td{display:block;width:auto!important;min-width:0!important;height:auto!important;padding:0!important;max-width:none!important;position:static;background:none!important;border:0;box-shadow:none;text-align:left;line-height:1.3}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td:is(.col-rank,.col-type){display:none}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td.table-empty{grid-column:1/-1;padding:24px 0!important;text-align:center}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td:is(.holding-cell,.holder-cell){grid-area:name;margin-right:12px}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td.c-value{grid-area:value;align-self:start;justify-self:end;text-align:right;font-size:var(--fs-body)}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td:is(.c-pct,.c-prev,.c-qty,.c-date,.c-report){font-size:var(--fs-fine);white-space:nowrap}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td:is(.c-prev,.c-qty,.c-date,.c-report){color:var(--mt)}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td.c-pct{grid-area:pct;margin-right:6px}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td:is(.c-prev,.c-date,.c-report){grid-area:prev;margin-right:6px}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td.c-qty{grid-area:qty;margin-right:8px;overflow:hidden;text-overflow:ellipsis}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td.c-chg{grid-area:chg;justify-self:end;text-align:right}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td.c-trend{grid-area:trend;justify-self:end;text-align:right}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td.c-pct::after{content:" of fund"}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td.c-pct[data-label]::before{content:attr(data-label) " "}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td.c-prev::before{content:"· prior "}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td.c-prev.is-empty{display:none}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td.c-qty::before{content:"· "}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td.c-date::before{content:"· as of "}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td.c-report::before{content:"· exit "}
  :is(#fundTable,#fundExitTable,#stockTable,#stockExitTable) td.c-qty::after{content:" held"}
  /* Full names wrap instead of being cut; the row opens the security or fund. */
  :is(#fundTable,#fundExitTable) td.holding-cell{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:7px;row-gap:1px}
  :is(#fundTable,#fundExitTable) td.holding-cell>:is(.security-link,.security-unlinked){display:inline;white-space:normal;overflow:visible;padding:0}
  :is(#fundTable,#fundExitTable) td.holding-cell .company-name{display:inline;min-width:0;white-space:normal}
  :is(#fundTable,#fundExitTable) td.holding-cell .company-name .company-name-link{display:inline;white-space:normal;overflow:visible;padding:0}
  :is(#fundTable,#fundExitTable) td.holding-cell .reported-identifiers{flex-basis:100%}
  :is(#stockTable,#stockExitTable) td.holder-cell{white-space:normal;overflow:visible}
  :is(#stockTable,#stockExitTable) td.holder-cell>.fund-link{padding:0;white-space:normal;overflow:visible}
}
/* Dark theme: opt-in from the header toggle only; the cream palette is the default. */
:root[data-theme="dark"]{color-scheme:dark; --bg:#171916;--sf:#1d201c;--cd:#222621;--cd2:#1f231e;--bd:#353a33;--bd2:#4a5047; --tx:#ecebe4;--mt:#a7a79c;--ac:#62c7a6;--gn:#63c98f;--rd:#ef8f82;--gd:#d9ab6f; --ac-soft:#24382f;--gn-soft:#213a2b;--rd-soft:#43231f;--warm-hover:#2a2f29;}
:root[data-theme="dark"] .hdr{background:rgba(23,25,22,.97)}
:root[data-theme="dark"] ::selection{background:#2f4a3e}
:root[data-theme="dark"] .gsearch-input::placeholder,:root[data-theme="dark"] .holdings-search::placeholder,:root[data-theme="dark"] .search-bar input::placeholder{color:#8f8f85}
:root[data-theme="dark"] .gsearch-results{box-shadow:0 14px 34px rgba(0,0,0,.5)}
:root[data-theme="dark"] .gsearch-tag,:root[data-theme="dark"] .ht-tag{background:var(--sf);border-color:var(--bd2);color:var(--tx)}
/* Security-type tags keep their colours in dark tints. */
:root[data-theme="dark"] .stock-title .ht-tag{background:var(--ac-soft);border-color:#2f4a3e;color:var(--ac)}
:root[data-theme="dark"] .stock-title .ht-tag:is([data-security-kind="ETF"],[data-security-kind="MUTUAL FUND"],[data-security-kind="CLOSED-END FUND"],[data-security-kind="CALL"]){background:#1e2f38;border-color:#2e4654;color:#8cc4dc}
:root[data-theme="dark"] .stock-title .ht-tag:is([data-security-kind="BOND"],[data-security-kind="NOTE"],[data-security-kind="ETN"],[data-security-kind="PREFERRED"]){background:#33263a;border-color:#4a3a52;color:#cfb3d8}
:root[data-theme="dark"] .stock-title .ht-tag:is([data-security-kind="WARRANT"],[data-security-kind="RIGHT"]){background:#3a2e1d;border-color:#54432a;color:#e0bb84}
:root[data-theme="dark"] .stock-title .ht-tag[data-security-kind="PUT"]{background:var(--rd-soft);border-color:#5a3029;color:var(--rd)}
:root[data-theme="dark"] .stock-title .ht-tag:is([data-security-kind="UNIT"],[data-security-kind="OPTION"]),:root[data-theme="dark"] .page-title .page-kind{background:var(--sf);border-color:var(--bd2);color:var(--mt)}
:root[data-theme="dark"] .gsearch-tag.fund,:root[data-theme="dark"] .gsearch-tag.stock,:root[data-theme="dark"] .ht-tag.stock{background:var(--ac-soft);border-color:var(--bd2);color:var(--ac)}
:root[data-theme="dark"] .gsearch-tag.call,:root[data-theme="dark"] .ht-tag.call{background:var(--gn-soft);color:var(--gn)}
:root[data-theme="dark"] .gsearch-tag.put,:root[data-theme="dark"] .ht-tag.put{background:var(--rd-soft);color:var(--rd)}
:root[data-theme="dark"] .page-btn.active{color:#10130f}
:root[data-theme="dark"] tr{border-bottom-color:var(--bd)}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
