/* 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-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 results drop down over the example links and lists, which stay where
     they are, as does the headline. They pass under the sticky header if the
     page scrolls while they are open. */
  .home-hero .gsearch-results{
    z-index:99;
    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)}
/* A fund's reviewed manager type; with a Form ADV it links to the SEC adviser page. */
.page-title .manager-type-tag{background:var(--ac-soft);border:1px solid #c7d3ca;color:var(--ac);cursor:help}
.page-title a.manager-type-tag{cursor:pointer}
.page-title a.manager-type-tag:hover{border-color:var(--ac);text-decoration:none}
.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}
/* Security pages' "Hedge & private funds" switch: a track whose knob moves right when on. */
.filter-switch{display:inline-flex;align-items:center;gap:8px;padding:4px 0;border:0;background:none;color:var(--tx);font:inherit;white-space:nowrap;cursor:pointer}
.filter-switch::before{content:"";flex:none;width:30px;height:18px;border-radius:999px;background:radial-gradient(circle at 9px 50%,#fff 6px,transparent 6.5px) var(--bd2)}
.filter-switch[aria-checked="true"]{color:var(--ac);font-weight:600}
.filter-switch[aria-checked="true"]::before{background:radial-gradient(circle at 21px 50%,#fff 6px,transparent 6.5px) var(--ac)}
/* Security pages keep the switch in the holders panel's header, always in
   view and just right of the title. The header lays out by the panel's width
   alone, never by the switch's state, the count beside the title or the date
   note's wording, which each keep one line, so switching moves nothing. A
   panel 800px wide or more holds one row: the title block is as wide either
   way (the count keeps room for its "N of M" reading, at most 247px, and the
   block at least the 206px a date note takes), so the switch beside it stays
   put, and the search (260px, down to 200px) and Filter & sort sit at the
   right. A narrower panel gives the tools a row of their own, and a phone's
   gives the switch a line above the search. */
.stock-panel{container-type:inline-size}
.stock-panel .panel-count{display:inline-grid}
.stock-panel .panel-count>span{grid-area:1/1}
.count-room{visibility:hidden}
.stock-panel .fund-panel-head{flex-wrap:wrap;row-gap:10px}
.stock-panel .panel-heading{flex:1 1 100%;min-width:0}
.stock-panel .fund-panel-title,.stock-panel .panel-note{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.stock-panel .holdings-tools{flex:1 1 100%;min-width:0}
.stock-panel .holdings-search{flex:0 1 260px;min-width:0}
.holdings-tools .filter-switch{margin-right:auto;font-size:var(--fs-meta)}
.holdings-tools .filter-switch[aria-checked="true"]{font-weight:inherit}
@container (min-width:800px){
  .stock-panel .fund-panel-head{flex-wrap:nowrap}
  .stock-panel .panel-heading{flex:0 0 auto;min-width:210px}
  .stock-panel .holdings-tools{flex:1 1 auto}
  .stock-panel .holdings-search{min-width:200px}
}
@container (max-width:519px){
  .stock-panel .holdings-tools{flex-wrap:wrap;row-gap:8px}
  .holdings-tools .filter-switch{flex:1 0 100%}
  .stock-panel .holdings-search{flex:1 1 0}
}
.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 .up{fill:var(--gn)}.spark .dn{fill:var(--rd)}.spark .eq{fill:var(--mt)}.spark .no{fill:var(--bd2)}
.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)}
.site-footer p+p{padding-top:8px;border-top:0}
.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-family:'Newsreader','Newsreader Phone Fallback',Georgia,serif;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-lists{display:flex;flex-wrap:wrap;gap:18px;width:100%;max-width:820px;margin-top:30px;text-align:left}
.home-list{flex:1 1 300px;min-width:0;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}
/* Lists sit side by side when there is room, and stack on phones. A list
   that wraps to a row of its own takes the whole row. */
.home-lists-3{max-width:1180px}
/* 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}
  .filter-switch{min-height:44px}
  .page-title a.manager-type-tag{position:relative}
  .page-title a.manager-type-tag::after{content:"";position:absolute;inset:-10px 0}
  .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}
}
/* iPhone Safari zooms the page into a box or menu with text under 16px when
   it is tapped, so touch screens get 16px. An empty holdings search has no
   clear button, so its hint takes that room. */
@media(pointer:coarse){
  .gsearch-input,.holdings-search,.rows-control select{font-size:16px}
  .holdings-search:placeholder-shown{padding-right:12px}
}
@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. A page still loading shows only its header. */
#app{min-height:calc(100svh - 72px)}
/* A security's first screen shows every holder. With the "Hedge & private
   funds" switch saved on (site-data-loader.js marks the page), a first screen
   drawn with labels (it carries the switch) shows only its header until
   app.js draws the page, whose root is not prerendered. If app.js has not
   drawn it within 8 seconds, the first screen shows as drawn. */
:root[data-holders="private-funds"] #app>.stock-page[data-prerendered]:has(#stockPrivateFunds) :is(.stock-main>:not(.stock-title),.stock-sidebar,.stock-data-footer){visibility:hidden;animation:holders-reveal 0s 8s forwards}
@keyframes holders-reveal{to{visibility:visible}}
/* 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)}
  .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"] .page-title .manager-type-tag{background:var(--ac-soft);border-color:#2f4a3e;color:var(--ac)}
:root[data-theme="dark"] .page-title a.manager-type-tag:hover{border-color:var(--ac)}
:root[data-theme="dark"] .filter-switch::before{background:radial-gradient(circle at 9px 50%,var(--tx) 6px,transparent 6.5px) var(--bd2)}
:root[data-theme="dark"] .filter-switch[aria-checked="true"]::before{background:radial-gradient(circle at 21px 50%,#10130f 6px,transparent 6.5px) 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)}
/* ---- Member tabs (app.js): a fund or security page's tabs under its name.
   The first is the 13F view; the others draw insider and 5% owner filings
   for signed-in accounts into .member-view and .member-side, and while one
   is open (data-member-tab) the 13F view and its summary step aside. ---- */
.view-tabs{display:flex;gap:28px;margin:-8px 0 22px;border-bottom:1px solid var(--bd);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.view-tabs::-webkit-scrollbar{display:none}
.view-tabs[hidden]{display:none}
.view-tab{flex:none;display:inline-flex;align-items:baseline;gap:7px;min-height:44px;margin-bottom:-1px;padding:10px 0 9px;border:0;border-bottom:2px solid transparent;background:none;color:var(--mt);font:inherit;font-size:var(--fs-ui);font-weight:600;white-space:nowrap;cursor:pointer}
.view-tab:hover{color:var(--tx)}
.view-tab[aria-selected="true"]{color:var(--tx);border-bottom-color:var(--ac)}
.view-tab-count,.view-tab-hint{color:var(--mt);font-size:var(--fs-fine);font-weight:400;font-variant-numeric:tabular-nums}
.view-tab-hint:empty{display:none}
.member-view,.member-side{display:none}
:is(.stock-page,.fund-page)[data-member-tab] :is(.member-view,.member-side){display:block}
:is(.stock-page,.fund-page)[data-member-tab] :is(.stock-main,.fund-main)>:not(.page-title,.view-tabs,.member-view),
:is(.stock-page,.fund-page)[data-member-tab] :is(.stock-sidebar,.fund-sidebar)>:not(.member-side),
:is(.stock-page,.fund-page)[data-member-tab]>:is(.stock-data-footer,.fund-data-footer){display:none}
.member-side{grid-column:1/-1}
.member-stat{min-width:0}
.member-stat-meta{margin-top:6px;color:var(--mt);font-size:var(--fs-fine);line-height:1.4}
.member-panel+.member-panel{margin-top:18px}
.member-panel .fund-panel-head{flex-wrap:wrap}
.member-table{min-width:680px}
.member-table td{vertical-align:middle}
.member-note{padding:22px 24px}
.member-note p{max-width:680px;margin:8px 0 0;color:var(--mt);line-height:1.55}
.member-side-note{margin:8px 0 0;color:var(--mt);font-size:var(--fs-fine);line-height:1.5}
.stock-summary-name small{margin-left:4px;color:var(--mt);font-size:var(--fs-fine)}
.member-chip{display:inline-block;padding:2px 7px;border:1px solid var(--bd2);border-radius:999px;color:var(--mt);font-size:var(--fs-tag);font-weight:700;letter-spacing:.05em;line-height:1.4;white-space:nowrap;vertical-align:middle}
.member-chip.is-13d{background:var(--ac-soft);border-color:var(--ac);color:var(--ac)}
.holder-tagged{display:flex;align-items:center;gap:8px;min-width:0}
.holder-tagged>.fund-link{min-width:0}
.holder-tagged>.member-chip{flex:none}
td.col-sticky>.holder-tagged>.fund-link::after{content:"";position:absolute;inset:0}
.member-toggle{display:inline-flex;flex:none;border:1px solid var(--bd2);border-radius:4px;overflow:hidden}
.member-toggle button{min-height:36px;padding:0 12px;border:0;background:transparent;color:var(--tx);font:inherit;font-size:var(--fs-meta);font-weight:600;white-space:nowrap;cursor:pointer}
.member-toggle button+button{border-left:1px solid var(--bd2)}
.member-toggle button:hover{color:var(--ac)}
.member-toggle button[aria-pressed="true"]{background:var(--ac);color:#fff}
.member-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.member-foot+.member-foot{padding-top:0;border-top:0}
.member-foot .summary-action{flex:none}
.m-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tx);font-weight:600;text-decoration:none}
a.m-name{color:var(--ac)}
.m-sub{display:block;margin-top:2px;color:var(--mt);font-size:var(--fs-fine)}
.m-more{margin-left:4px;color:var(--mt);font-size:var(--fs-fine);font-weight:400}
.m-plan{display:inline-block;margin-left:6px;padding:1px 5px;border:1px solid var(--bd2);border-radius:3px;color:var(--mt);font-size:var(--fs-tag);font-weight:700;letter-spacing:.04em;vertical-align:middle}
.m-at,.m-role,.m-unit{display:none}
.m-filing{color:inherit;text-decoration:underline;text-decoration-color:var(--bd2);text-underline-offset:3px}
.m-filing:hover{color:var(--ac);text-decoration-color:var(--ac)}
td.m-date{white-space:nowrap}
.m-company{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tx);text-decoration:none}
.m-company b{margin-right:3px;color:var(--ac);font-weight:700}
.m-company span{color:var(--mt)}
a.m-company:hover span{color:var(--ac)}
.m-form-name{display:block;margin-top:3px;color:var(--mt);font-size:var(--fs-fine);white-space:nowrap}
.member-table.m-insiders .m-who{max-width:260px}
.member-table.m-insiders .m-type{max-width:220px}
.member-table.m-stakes .m-who,.member-table.m-dropped .m-who{max-width:300px}
.member-table.m-since .m-co{max-width:240px}
/* Signed out (app.js signedOutMarkup): a member tab shows what it holds over
   a blurred sample of its look, made up, and its tab name has a lock. */
.view-tab-lock{display:none;align-self:center;flex:none;opacity:.6}
.view-tab.is-locked .view-tab-lock{display:block}
.member-peek{position:relative;min-height:540px}
.member-peek-sample{max-height:720px;overflow:hidden;filter:blur(5px);opacity:.75;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent)}
.member-peek-card{position:absolute;top:130px;left:50%;width:min(540px,calc(100% - 24px));transform:translateX(-50%);box-shadow:0 18px 48px rgba(50,43,34,.18)}
.member-peek-card .acct-checks{margin:12px 0 18px}
.member-note p.member-peek-fine{margin:14px 0 0;font-size:var(--fs-fine)}
/* A fund's next 13F, under its name (app.js fundAlertLine, account.js). */
.fund-alert{display:flex;align-items:center;gap:10px 14px;margin:16px 0 0;padding:10px 12px 10px 14px;border:1px solid var(--bd);border-radius:6px;background:var(--ac-soft);font-size:var(--fs-ui);line-height:1.35}
.fund-alert-bell{flex:none;color:var(--ac)}
.fund-alert-text{flex:1 1 auto;min-width:0}
.fund-alert-text strong{font-weight:600;white-space:nowrap}
.fund-alert-on{display:none}
.fund-alert-button{flex:none;min-height:36px;padding:0 14px}
.fund-alert[data-on="true"] .fund-alert-button{display:none}
.fund-alert[data-on="true"] .fund-alert-on{display:block;flex:none;color:var(--ac);font-weight:600}
@media(max-width:768px){
  .view-tabs{gap:20px;margin:-6px 0 18px}
  .view-tab-hint{display:none}
  .member-note{padding:18px 16px}
  .member-peek{min-height:600px}
  .member-peek-card{top:64px}
  .member-side .member-peek-sample{display:none}
  .member-toggle button{min-height:44px}
}
/* Phones: each filing is a two-line row, as the holdings tables are. */
@media(max-width:599px){
  .fund-alert{padding:8px 8px 8px 12px}
  .fund-alert-long{display:none}
  .fund-alert[data-on="true"] .fund-alert-on{font-size:var(--fs-meta)}
  .member-table{display:block;min-width:0;font-size:var(--fs-body)}
  .member-table thead{display:none}
  .member-table tbody{display:block}
  .member-table tbody tr{display:grid;align-items:center;column-gap:10px;row-gap:5px;padding:11px 14px}
  .member-table tbody td{display:block;min-width:0;max-width:none!important;padding:0!important;background:none!important;border:0;text-align:left;line-height:1.3}
  .member-table td.table-empty{grid-column:1/-1;padding:24px 0!important;text-align:center}
  .member-table :is(.m-sub,.m-form-name,.m-event,.m-price,.m-after,.chip-more){display:none}
  .member-table :is(.m-at,.m-role,.m-unit){display:inline}
  .member-table :is(.m-date,.m-qty,.m-what,.m-note){color:var(--mt);font-size:var(--fs-fine)}
  .member-table :is(.m-val,.m-pct){justify-self:end;text-align:right}
  .member-table.m-insiders tbody tr{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"who who val" "date type qty"}
  .member-table.m-insiders .m-who{grid-area:who}
  .member-table.m-insiders .m-val{grid-area:val}
  .member-table.m-insiders .m-date{grid-area:date}
  .member-table.m-insiders .m-type{grid-area:type;white-space:nowrap;overflow:hidden}
  .member-table.m-insiders .m-qty{grid-area:qty;justify-self:end;text-align:right;white-space:nowrap}
  .member-table.m-stakes tbody tr{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"who who who pct" "form qty chg date"}
  .member-table.m-stakes .m-who{grid-area:who}
  .member-table.m-stakes .m-pct{grid-area:pct}
  .member-table.m-stakes .m-form{grid-area:form}
  .member-table.m-stakes .m-qty{grid-area:qty;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .member-table.m-stakes .m-chg{grid-area:chg}
  .member-table.m-stakes .m-date{grid-area:date;justify-self:end}
  .member-table.m-dropped tbody tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who pct" "note date"}
  .member-table.m-dropped .m-who{grid-area:who}
  .member-table.m-dropped .m-pct{grid-area:pct}
  .member-table.m-dropped .m-note{grid-area:note}
  .member-table.m-dropped .m-date{grid-area:date;justify-self:end}
  .member-table.m-since tbody tr{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"co co val" "form what date"}
  .member-table.m-since .m-co{grid-area:co}
  .member-table.m-since .m-val{grid-area:val}
  .member-table.m-since .m-form{grid-area:form}
  .member-table.m-since .m-what{grid-area:what}
  .member-table.m-since .m-date{grid-area:date;justify-self:end}
  .member-table.m-since .m-qty{display:none}
  .member-panel .fund-panel-head{padding:14px}
  .member-toggle{align-self:flex-start}
  .member-foot{flex-wrap:wrap}
  /* A tagged holder's name wraps as text, the tag after its last word. */
  :is(#stockTable,#stockExitTable) td.holder-cell>.holder-tagged{display:block}
  :is(#stockTable,#stockExitTable) td.holder-cell>.holder-tagged>.fund-link{display:inline;margin-right:6px;padding:0;white-space:normal;overflow:visible}
}
/* The smallest phones (320px): an insider row's second line wraps rather than cut the trade off. */
@media(max-width:400px){
  .member-table.m-insiders tbody tr{grid-template-columns:auto minmax(48px,1fr) auto}
  .member-table.m-insiders td:is(.m-date,.m-qty){white-space:normal}
  .member-table.m-insiders .m-type{display:flex;flex-wrap:wrap;align-items:center;gap:3px 5px;overflow:visible;white-space:normal}
  .member-table.m-insiders .m-plan{margin-left:0}
}
:root[data-theme="dark"] .member-toggle button[aria-pressed="true"]{color:#10130f}
:root[data-theme="dark"] .member-chip.is-13d{border-color:#2f6b55}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
