@font-face{font-family:'Geist Mono';src:url(/funds/assets/fonts/geist-mono.woff2) format('woff2');font-weight:100 900;font-display:swap}
.hd,.mm{--paper:#edede9;--ink:#121212;--soft:#696964;--line:#d9d9d3;--red:#ff2b2b;--mono:'Geist Mono',ui-monospace,'SF Mono',Menlo,monospace;--f:'Geist',Arial,sans-serif;--e:cubic-bezier(.16,1,.3,1);--gut:clamp(18px,3.4vw,52px);--max:1320px;--hd:64px;font:400 16px/1.55 var(--f);color:var(--ink);letter-spacing:-.006em;font-feature-settings:'ss01' 1}
/* ── header: four links, one hairline that slides; the mark and the wallet */
.hd { position: sticky; top: 0; z-index: 60; height: var(--hd); background: color-mix(in srgb, var(--paper) 84%, transparent); backdrop-filter: blur(16px) saturate(1.2); -webkit-backdrop-filter: blur(16px) saturate(1.2); transition: box-shadow .3s var(--e) }
.hd.raised { box-shadow: 0 1px 0 var(--line) }
.hd-in { position: relative; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; height: 100%; width: min(var(--max), 100% - 2 * var(--gut)); margin-inline: auto }
.hd-brand { display: inline-flex; align-items: center; gap: 11px; width: max-content; font: 500 14px/1 var(--f); letter-spacing: .2em; color: var(--ink) }
.hd-brand img { width: 22px; height: 25px; object-fit: contain; transition: transform .6s var(--e) }
.hd-brand:hover img { transform: translateX(3px) } .hd-brand.busy img { animation: hdRun .5s steps(1) infinite }
@keyframes hdRun { 50% { transform: translateX(2px) skewX(-8deg); filter: blur(.6px) } }
.hd-nav { position: relative; display: flex; align-items: center; gap: 2px }
.hd-t { position: relative; display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px; font: 450 15px/1 var(--f); color: var(--soft); transition: color .2s }
.hd-t:hover, .hd-t[aria-current], .hd-t[aria-expanded=true] { color: var(--ink) }
.hd-t svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.6; transition: transform .3s var(--e) } .hd-t[aria-expanded=true] svg { transform: rotate(180deg) }
.hd-ln { position: absolute; left: 0; bottom: 4px; height: 1px; background: var(--ink); opacity: 0; pointer-events: none; transition: transform .45s var(--e), width .45s var(--e), opacity .2s }
.hd-ln:after { content: ''; position: absolute; right: -3px; top: -2px; width: 5px; height: 5px; background: var(--red) }
.hd-ln.moving { filter: blur(.5px) }
.hd-more { position: relative }
.hd-menu { position: absolute; z-index: 62; top: calc(100% + 4px); left: 50%; translate: -50% 0; display: grid; min-width: 180px; padding: 6px; border-radius: 6px; background: var(--white); box-shadow: var(--sh-pop); opacity: 0; transform: translateY(-6px); filter: blur(4px); pointer-events: none; transition: opacity .2s var(--e), transform .3s var(--e), filter .3s var(--e) }
.hd-menu.on { opacity: 1; transform: none; filter: none; pointer-events: auto }
.hd-menu a { padding: 10px 12px; border-radius: 4px; font-size: 14.5px; color: var(--ink-2) } .hd-menu a:hover { background: var(--paper); color: var(--ink) }
.hd-r { display: flex; align-items: center; justify-content: end; gap: 8px; min-width: 0 }
.hd-ask { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 9px 0 10px; border-radius: 3px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line-2); font: 500 13.5px/1 var(--f); color: var(--ink); transition: box-shadow .2s }
.hd-ask:hover { box-shadow: inset 0 0 0 1px var(--ink) } .hd-ask svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6 }
.hd-ask kbd { padding: 3px 5px; border-radius: 2px; background: var(--paper); font: 500 11px/1 var(--mono); color: var(--soft) }
.hd-tick { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 6px; font: 500 13px/1 var(--f); color: var(--ink) } .hd-tick img { width: 20px; height: 20px; border-radius: 50% } .hd-tick span { font-family: var(--mono); font-size: 12.5px }
.hd-wal { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 14px; border-radius: 3px; background: var(--ink); color: #f2f2ee; font: 500 13.5px/1 var(--f); white-space: nowrap; transition: background .2s, transform .2s var(--e) }
.hd-wal:hover { background: #000 } .hd-wal:active { transform: scale(.97) } .hd-wal i { width: 6px; height: 6px; background: #ffffff55 }
.hd-wal.on { background: var(--white); color: var(--ink); box-shadow: inset 0 0 0 1px var(--line-2) } .hd-wal.on i { background: var(--up) } .hd-wal.busy { opacity: .6; pointer-events: none }
.hd-menu-b { display: none; width: 40px; height: 40px; place-items: center } .hd-menu-b svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5 }

/* loader: a hairline runs under the header and the logo horse gallops, only if a page takes longer than a beat */
.ld { position: absolute; z-index: 70; top: 100%; left: 0; right: 0; height: 1px; pointer-events: none; opacity: 0; transition: opacity .2s }
.ld.on { opacity: 1 }
.ld i { position: absolute; top: 0; left: 0; width: 28%; height: 1px; background: var(--red); animation: ldRun 1s var(--e) infinite }
.ld i:after { content: ''; position: absolute; right: 0; top: -3px; width: 7px; height: 7px; border: 1px solid var(--red) }
@keyframes ldRun { from { transform: translateX(-30vw) } to { transform: translateX(110vw) } }

/* page change: the old page streaks out to the left, the new one resolves out of a blur */
main { view-transition-name: fv-main }
.hd { view-transition-name: fv-head }
::view-transition-old(fv-main) { animation: vtOut .2s var(--e-in) both }
::view-transition-new(fv-main) { animation: vtIn .42s var(--e) both }
@keyframes vtOut { to { opacity: 0; filter: blur(10px); transform: translateX(-28px) } }
@keyframes vtIn { from { opacity: 0; filter: blur(10px); transform: translateX(28px) } }


.hd [aria-disabled=true],.mm [aria-disabled=true]{cursor:default}.mm[hidden]{display:none!important}.hd #tick{font-size:13px}.hd a{text-decoration:none}.hd svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.hd .hd-tick img{width:20px;height:20px}.mm{padding:16px var(--gut);background:var(--paper)}.mm a,.mm span{display:block;padding:10px 0;color:var(--ink)}
@media(max-width:900px){.hd-in{grid-template-columns:auto 1fr;gap:12px}.hd-nav{display:none}.hd-menu-b{display:grid}.hd-brand span{font-size:12px}.hd-r{gap:4px}.hd-tick{padding:0}.hd .hd-wal{padding:0 9px;font-size:11px}.hd-tick span{font-size:11px}}

/* One header surface on both Vote and Agents, independent of page styles. */
.hd .hd-wal{border:0;box-shadow:none}.hd .hd-wal:disabled{opacity:.42}
.mm{position:fixed;z-index:75;inset:var(--hd) 0 0;display:grid;align-content:start;gap:0;padding:24px var(--gut) 40px;overflow-y:auto;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .25s var(--e),transform .35s var(--e)}
.mm.on{opacity:1;transform:none;pointer-events:auto}
.mm a,.mm span{padding:14px 0;border-bottom:1px solid var(--line);font:300 30px/1.1 var(--f);letter-spacing:-.03em}

html:has(.hd){scrollbar-width:thin;scrollbar-gutter:stable;scrollbar-color:#12121233 transparent}
