@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700;800;900&family=IBM+Plex+Mono:wght@400;500&display=swap');
/* Palette: the only place CSS color literals live. lib/palette.ts mirrors these values exactly (npm run lint:palette checks both). One warm-neutral family, ink to warm white. */
:root{color-scheme:dark;--ink:#111111;--sunken:#161514;--raised:#1a1917;--overlay:#23211f;--line-subtle:#272623;--line:#34332f;--line-strong:#474541;--text-primary:#f3f0e9;--text-body:#d9d5cf;--text-secondary:#aba7a0;--text-tertiary:#8c8982;--text-faint:#63605b;--paper:#ede9e2;--paper-line:#cecac2;--paper-ink:#201f1d;--paper-muted:#66635d;--data-1:#d9d5cf;--data-2:#aba7a0;--data-3:#8c8982;--data-4:#63605b;--data-ink:#3f3d38;--danger:#e8a79e;--danger-line:#6b3a34;--danger-surface:#1c1716;--bg:var(--ink);--panel:var(--raised);--text:var(--text-primary);--muted:var(--text-tertiary);--accent:var(--text-primary)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 'DM Sans',system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--text-body);outline-offset:4px}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}h1,h2,h3,p{margin:0}button,input,select{color:inherit}::selection{background:var(--text-body);color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hf-app{min-height:100vh}.hf-header{height:88px;border-bottom:1px solid var(--line-subtle);display:flex;align-items:center;justify-content:space-between;gap:40px;padding:0 44px;max-width:1600px;margin:auto;position:relative}.hf-brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;color:var(--text-primary)}.hf-brand-lockup{display:block;width:224px;height:auto;flex-shrink:0}.hf-desktop-nav{display:flex;gap:34px;align-items:center}.hf-desktop-nav a{display:flex;align-items:center;min-height:44px;color:var(--text-tertiary);font-size:12px;transition:color .15s}.hf-desktop-nav a:hover,.hf-desktop-nav a[aria-current]{color:var(--text-primary)}.hf-mobile-menu{display:none}
.hf-main{max-width:1450px;margin:auto;padding:0 44px;min-height:75vh}.hf-pagehead{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:35px 0 28px}.hf-eyebrow{font:11px 'IBM Plex Mono',monospace;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:15px}.hf-pagehead h1{font-size:36px;font-weight:500;letter-spacing:-1.2px;line-height:1.15}.hf-period{text-align:right;font:14px 'IBM Plex Mono',monospace;white-space:nowrap}.hf-period small{display:block;color:var(--text-tertiary);font:10px 'DM Sans',sans-serif;margin-top:9px}.hf-featured{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:34px}.hf-fundcard{border:1px solid var(--line);padding:20px 22px;background:linear-gradient(135deg,var(--raised),var(--sunken));transition:border-color .15s,background .15s}.hf-fundcard:hover{border-color:var(--text-tertiary);background:var(--overlay)}.hf-cardtop{display:flex;justify-content:space-between;font-size:11px;color:var(--text-tertiary);gap:15px;margin-bottom:12px}.hf-cardtop>span:last-child{font-size:16px;color:var(--text-body)}.hf-fundcard h2{font-size:18px;letter-spacing:-.35px;font-weight:500;min-height:27px}.hf-cardvalue{font:23px 'IBM Plex Mono',monospace;letter-spacing:-.7px;margin:20px 0;display:flex;justify-content:space-between;align-items:baseline;gap:10px}.hf-cardvalue>span{font:11px 'DM Sans',sans-serif;letter-spacing:0;color:var(--text-tertiary);white-space:nowrap}.hf-cardbottom{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:14px;font-size:10px;color:var(--text-tertiary)}.hf-cardbottom strong{font-weight:400;color:var(--text-body);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.hf-cardbottom>span:last-child{color:var(--text-secondary);font:10px 'IBM Plex Mono',monospace}.hf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 25px}.hf-search{display:flex;align-items:center;border:1px solid var(--line-strong);background:var(--raised);max-width:420px;width:100%;height:43px;gap:12px;padding:0 14px}.hf-search>span:first-child{font:24px sans-serif;color:var(--text-secondary)}.hf-search input{border:0;outline:none!important;background:none;min-width:0;flex:1;width:100%;font-size:12px;height:100%}.hf-search:focus-within{border-color:var(--text-secondary)}.hf-search input::placeholder{color:var(--text-tertiary)}.hf-search button{border:0;background:none;color:var(--text-secondary);font-size:19px;padding:0 3px}.hf-sort{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text-tertiary);white-space:nowrap}.hf-sort select{padding:9px 30px 9px 12px;border:1px solid var(--line);background:var(--raised);color:var(--text-body);border-radius:0;font-size:12px}.hf-tabletop{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:29px 0 16px}.hf-tabletop h2{font-size:17px;font-weight:500;letter-spacing:-.25px;display:flex;gap:10px;align-items:center}.hf-tabletop h2>span{font:10px 'IBM Plex Mono',monospace;color:var(--text-secondary);border:1px solid var(--line-strong);padding:2px 6px}.hf-tabletop>span{font-size:10px;color:var(--text-tertiary)}.hf-tablewrap{overflow-x:auto;border-top:1px solid var(--line-strong)}.hf-table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}.hf-table thead th{font:11px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.4px;color:var(--text-tertiary);padding:15px 16px;background:var(--sunken);white-space:nowrap;border-bottom:1px solid var(--line)}.hf-table th:first-child,.hf-table td:first-child{padding-left:0}.hf-table th:last-child,.hf-table td:last-child{padding-right:6px}.hf-table tbody td,.hf-table tbody th{padding:17px 16px;border-bottom:1px solid var(--line);font-weight:400;vertical-align:middle}.hf-table tbody tr:hover{background:var(--raised)}.hf-table tbody th{text-align:left;min-width:210px}.hf-name{font-size:13px;color:var(--text-body);font-weight:500;display:inline-block}.hf-name:hover,.hf-table td>a:hover{text-decoration:underline;text-underline-offset:4px}.hf-subtext{display:block;color:var(--text-tertiary);font-size:10px;margin-top:5px}.hf-numeric{text-align:right!important;font:12px 'IBM Plex Mono',monospace;white-space:nowrap}.hf-muted{color:var(--text-tertiary);font-size:11px}.hf-position{display:inline-block;color:var(--text-secondary);font-size:11px;max-width:205px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.hf-table td small{display:block;color:var(--text-tertiary);font-size:9px;margin-top:3px}.hf-rowlink{color:var(--text-secondary);font:18px sans-serif;display:block;padding:3px 7px}.hf-caption{color:var(--text-tertiary);font-size:12px;margin:23px 0 0;max-width:900px;line-height:1.7}.hf-footer{border-top:1px solid var(--line);margin:55px auto 0;padding:24px 44px 30px;max-width:1450px;display:flex;justify-content:space-between;gap:30px;font-size:11px;color:var(--text-tertiary)}.hf-footer>a{color:var(--text-secondary);white-space:nowrap}.hf-empty{padding:45px 15px;text-align:center;color:var(--text-secondary);font-size:13px}.hf-empty button{display:block;margin:15px auto 0;background:var(--overlay);border:1px solid var(--text-faint);padding:8px 14px;font-size:12px}.hf-pagination{display:flex;align-items:center;justify-content:space-between;padding:20px 0;color:var(--text-tertiary);font-size:11px}.hf-pagination>div{display:flex;gap:10px}.hf-pagination button{background:var(--raised);border:1px solid var(--line);padding:7px 12px;color:var(--text-secondary);font-size:11px}.hf-back{display:inline-block;margin-top:28px;font-size:11px;color:var(--text-secondary)}.hf-detailhead{padding-top:27px}.hf-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);margin-bottom:32px;padding:22px 0}.hf-stats>div{padding-left:26px;border-left:1px solid var(--line)}.hf-stats>div:first-child{border:0;padding:0}.hf-stats span{font-size:10px;color:var(--text-tertiary);display:block;margin-bottom:10px}.hf-stats strong{font:25px 'IBM Plex Mono',monospace;letter-spacing:-.7px}.hf-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow:auto}.hf-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:12px 0;color:var(--text-secondary);font-size:12px;white-space:nowrap}.hf-tabs button[aria-pressed=true]{color:var(--text-primary);border-bottom-color:var(--text-body)}.hf-tabs button span{color:var(--text-tertiary);margin-left:8px;font:9px 'IBM Plex Mono',monospace}.hf-badge{font:10px 'IBM Plex Mono',monospace;display:inline-block;color:var(--text-secondary);white-space:nowrap}.hf-new{border:1px solid var(--text-faint);color:var(--text-primary);padding:3px 7px}.hf-increased{color:var(--text-body)}.hf-reduced,.hf-exited{color:var(--text-tertiary)}.hf-ticker{display:inline-block;font:10px 'IBM Plex Mono',monospace;background:var(--overlay);border:1px solid var(--line);padding:3px 5px;margin-right:10px;color:var(--text-body)}
@media(min-width:1600px){.hf-main{padding:0 16px}.hf-footer{padding-inline:16px}}@media(max-width:1050px){.hf-featured{gap:12px}.hf-fundcard{padding:18px}.hf-cardvalue{font-size:21px;flex-wrap:wrap}.hf-cardbottom>span:first-child{display:none}.hf-optional{display:none}.hf-table td,.hf-table th{padding-inline:12px}}@media(max-width:760px){.hf-header{padding:0 22px;height:76px;gap:20px}.hf-desktop-nav{gap:24px}.hf-main{padding:0 22px}.hf-pagehead{padding:28px 0 24px;gap:20px}.hf-pagehead h1{font-size:30px;letter-spacing:-1px}.hf-period{font-size:11px}.hf-period small{font-size:9px;max-width:100px;white-space:normal;line-height:1.5}.hf-featured{grid-template-columns:1fr;gap:10px;margin-bottom:27px}.hf-fundcard{display:grid;grid-template-columns:1fr auto;gap:4px 20px;padding:16px 18px}.hf-cardtop{grid-column:1/-1;margin-bottom:2px}.hf-fundcard h2{font-size:16px;min-height:0}.hf-cardvalue{grid-column:2;grid-row:2/4;margin:0;display:block;text-align:right;font-size:19px}.hf-cardvalue>span{display:block;margin-top:7px;font-size:10px}.hf-cardbottom{grid-column:1;border:0;padding:3px 0 0;max-width:200px}.hf-toolbar{gap:15px;align-items:stretch}.hf-sort>span{display:none}.hf-sort select{max-width:135px;font-size:11px}.hf-search{height:40px}.hf-tabletop{margin-top:24px}.hf-tabletop>span{font-size:9px}.hf-table{min-width:570px}.hf-table tbody th{min-width:190px}.hf-table tbody td,.hf-table tbody th{padding-block:15px}.hf-name{font-size:12px}.hf-numeric{font-size:11px}.hf-table thead th{font-size:10px}.hf-footer{padding:21px 22px;margin-top:36px;flex-direction:column;gap:12px}.hf-back{margin-top:23px}.hf-detailhead{padding-top:24px}.hf-detailhead h1{font-size:31px}.hf-stats{gap:14px;padding-block:18px}.hf-stats>div{padding-left:14px}.hf-stats strong{font-size:19px}.hf-stats span{font-size:9px;line-height:1.5}.hf-tabs{gap:20px}.hf-toolbar>.hf-muted{max-width:110px;font-size:10px;text-align:right}.hf-caption{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hf-tablewrap{position:relative}
@media(max-width:760px){.hf-toolbar{flex-wrap:wrap}.hf-toolbar>.hf-search{max-width:none;flex-basis:100%}.hf-sort{margin-left:auto}}
.hf-search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}

@media(max-width:900px){.hf-header{height:76px;gap:16px}.hf-brand{gap:10px}.hf-brand-lockup{width:min(200px,calc(100vw - 190px))}.hf-desktop-nav{display:none}.hf-mobile-menu{display:block}.hf-mobile-menu summary{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:66px;min-height:44px;cursor:pointer;list-style:none;font-size:11px;color:var(--text-body)}.hf-mobile-menu summary::-webkit-details-marker{display:none}.hf-mobile-menu summary svg{width:20px;height:16px}.hf-mobile-menu[open] summary{color:var(--text-primary)}.hf-mobile-menu nav{position:absolute;top:100%;left:0;right:0;z-index:10;background:var(--ink);border-bottom:1px solid var(--line);padding:10px 22px 18px;display:flex;flex-direction:column}.hf-mobile-menu nav a{display:flex;align-items:center;justify-content:space-between;min-height:52px;color:var(--text-secondary);font-size:17px}.hf-mobile-menu nav a:hover,.hf-mobile-menu nav a[aria-current]{color:var(--text-primary)}.hf-mobile-menu nav a span{font-size:16px;color:var(--text-tertiary)}}
.hf-inline-link{text-decoration:underline;text-underline-offset:3px}
.hf-tip{display:inline-block;position:relative;margin-left:5px;color:var(--text-tertiary);font-size:11px;line-height:1;cursor:help;outline:none}.hf-tip:hover,.hf-tip:focus{color:var(--text-body)}.hf-tiptext{display:none;position:absolute;z-index:20;left:-8px;top:calc(100% + 6px);width:min(300px,80vw);padding:10px 12px;background:var(--overlay);border:1px solid var(--line-strong);color:var(--text-secondary);font:12px/1.55 'DM Sans',sans-serif;font-weight:400;text-transform:none;letter-spacing:0;white-space:normal;text-align:left}.hf-tip:hover>.hf-tiptext,.hf-tip:focus>.hf-tiptext,.hf-tip:focus-within>.hf-tiptext{display:block}.hf-statlink{color:inherit}.hf-statlink:hover strong{text-decoration:underline;text-underline-offset:4px}
/* The nav links fit one line down to the 900px switch to the menu. */
.hf-desktop-nav a{white-space:nowrap}@media(max-width:1180px){.hf-desktop-nav{gap:18px}}@media(min-width:901px) and (max-width:1060px){.hf-desktop-nav{gap:14px}.hf-brand-lockup{width:170px}}

/* Static site additions: the header search and the methodology prose. */
.hs-search{position:relative;flex:1;max-width:380px}.hs-search input{width:100%;height:40px;padding:0 14px;border:1px solid var(--line-strong);background:var(--raised);font-size:12px;outline:none}.hs-search input:focus{border-color:var(--text-secondary)}.hs-search input::placeholder{color:var(--text-tertiary)}
.hs-results{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;background:var(--overlay);border:1px solid var(--line-strong);max-height:60vh;overflow:auto}.hs-results a{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;font-size:12px;color:var(--text-body);border-bottom:1px solid var(--line-subtle)}.hs-results a:hover,.hs-results a[aria-selected=true]{background:var(--raised);color:var(--text-primary)}.hs-results a span{color:var(--text-tertiary);font:10px 'IBM Plex Mono',monospace;white-space:nowrap}.hs-results p{padding:12px 14px;font-size:12px;color:var(--text-tertiary)}
.hf-prose{max-width:760px;padding-bottom:20px}.hf-prose h2{font-size:17px;font-weight:500;margin:30px 0 10px}.hf-prose p{color:var(--text-body);line-height:1.75;margin:0 0 12px}.hf-prose strong{font-weight:500;color:var(--text-primary)}
section{scroll-margin-top:20px}
@media(max-width:900px){.hf-header{flex-wrap:wrap;height:auto;padding-block:14px;gap:12px}.hs-search{order:3;flex-basis:100%;max-width:none}}
/* Price: the stock page chart, the hover card on stock rows, and the bars in the four-quarter tables. */
.hn-chart{display:block;width:100%;height:400px;border:0;background:transparent;color-scheme:normal}.hn-credit{margin:8px 0 0;font:10px 'IBM Plex Mono',monospace;color:var(--text-tertiary)}.hn-credit a{color:var(--text-secondary)}
.hn-price{position:fixed;z-index:30;width:260px;box-sizing:border-box;padding:6px 10px 8px;background:var(--overlay);border:1px solid var(--line-strong);pointer-events:none}.hn-price iframe{display:block;width:100%;height:72px;border:0;background:transparent;color-scheme:normal}.hn-price iframe[hidden]{display:none}.hn-price span{display:block;color:var(--text-tertiary);font:10px 'IBM Plex Mono',monospace}
.hn-bar{display:inline-block;height:6px;background:var(--data-3);margin-right:10px;vertical-align:middle}
@media(max-width:650px){.hn-chart{height:430px}}
