:root{color-scheme:dark;--bg:#0f1116;--card:#191c23;--text:#f2f3f7;--muted:#a4acbc;--line:#303540;--brand:#bd385f;--accent:#f29ab2;--green:#84d4b1;--red:#ffa09d;--amber:#edc580;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 0 0,#34202c55,transparent 42%),var(--bg);color:var(--text);font:14px/1.5 "Avenir Next","Trebuchet MS",sans-serif;-webkit-font-smoothing:antialiased}button,select{font:inherit;color:inherit;min-height:44px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,summary:focus-visible,select:focus-visible,a:focus-visible,[role=tabpanel]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}a{color:var(--accent)}[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;left:16px;z-index:20;background:var(--card);padding:12px}.skip-link:focus{top:10px}
.app-header{max-width:1160px;margin:auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:10px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{background:var(--brand);border-radius:9px;padding:6px 9px;font-size:22px;font-weight:800;letter-spacing:-3px}.brand strong{display:block;font-size:16px;letter-spacing:.13em}.brand div>span{display:block;color:var(--muted);font-size:11px;letter-spacing:.05em}.badge,.tag{display:inline-block;border:1px solid var(--line);border-radius:6px;padding:4px 8px;font-size:10px;letter-spacing:.05em;color:var(--muted)}.badge{white-space:nowrap;letter-spacing:.1em}main{max-width:1160px;margin:auto;padding:0 28px}.connection{font-size:11px;color:var(--muted);padding:13px 0;border-bottom:1px solid #242832;overflow-wrap:anywhere}.connection:before{content:"";display:inline-block;width:6px;height:6px;background:var(--muted);border-radius:50%;margin-right:8px}.connection.warning,.warning,.stale{color:var(--amber)}.connection.error,.negative,.critical{color:var(--red)}.positive{color:var(--green)}.read-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 0 10px}.read-bar>div{display:grid;gap:3px}.eyebrow{font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--muted)}#freshness{font-size:11px;color:var(--muted)}.refresh{border:1px solid var(--line);border-radius:8px;background:var(--card);padding:8px 12px;white-space:nowrap;font-size:12px}.refresh span{font-size:19px;margin-left:7px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 21px}.page-heading h1{font-size:27px;letter-spacing:-.04em;line-height:1.2;margin:0 0 5px}.page-heading p{margin:0;color:var(--muted);font-size:12px}.index-label{font:10px var(--mono);color:var(--muted)}h2{font-size:16px;letter-spacing:-.02em;margin:0}h3{font-size:14px;margin:6px 0}p{margin:8px 0 0}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;min-width:0}.card-heading,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-heading{margin:24px 0 12px}.section-heading>span{font-size:10px;color:var(--muted);text-align:right}.overview-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px}.overview-grid>div{min-width:0}.portfolio{background:radial-gradient(ellipse at 100% 0,#bd385f19,transparent 70%),var(--card);border-top:2px solid var(--brand)}.portfolio-number{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:18px}.portfolio-number strong{font:500 clamp(30px,4vw,43px)/1.1 var(--mono);letter-spacing:-.06em;overflow-wrap:anywhere;max-width:100%}.portfolio-number>span{font-size:12px;color:var(--muted)}.portfolio>p{font-size:12px;color:var(--muted);margin:12px 0}.source-line{font-size:11px;color:var(--muted);margin:10px 0;overflow-wrap:anywhere}.source-line.stale{color:var(--amber)}.scope{border-top:1px solid var(--line);margin-top:16px;padding-top:6px}.scope summary{font-size:11px;color:var(--muted)}summary{cursor:pointer;min-height:44px;align-content:center;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:"+";float:right;color:var(--muted);font-size:16px}details[open]>summary:after{content:"−"}.scope>div{font-size:12px;color:var(--muted);padding-bottom:8px}.balance-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.balance{padding:17px}.balance strong{display:block;font:500 clamp(18px,2.7vw,26px)/1.3 var(--mono);letter-spacing:-.06em;margin:12px 0;overflow-wrap:anywhere}.balance small{display:block;color:var(--muted);font-size:10px}.disclosure{margin-top:12px;padding:8px 18px}.disclosure summary{font-size:13px}.disclosure summary>span{float:right;margin:3px 12px;color:var(--muted);font-size:10px}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;padding:12px 0}.metric{min-width:0}.metric span{display:block;color:var(--muted);font-size:10px}.metric b{display:block;font:13px/1.6 var(--mono);overflow-wrap:anywhere}.caption{font-size:11px;color:var(--muted);line-height:1.7;margin:12px 0 16px}.bounded p{font-size:12px;color:var(--muted);line-height:1.65}.bounded h2{font-size:19px;margin-top:8px}.divider{height:1px;background:var(--line);margin:17px 0}.unknown{display:block;color:var(--muted);font-size:16px;margin-top:5px}
.attention-stack:empty{display:none}.attention-stack{margin-bottom:18px}.attention{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:9px;border:1px solid #735e364d;background:#edc58009;margin:8px 0}.attention.critical{border-color:#bd385f66;background:#bd385f0c}.attention-symbol{color:var(--amber);font:700 12px var(--mono);border:1px solid #735e36;padding:2px 6px;border-radius:4px;margin-top:2px}.attention strong{display:block;font-size:12px}.attention p{font-size:11px;color:var(--muted);margin:3px 0}.text-button{background:none;border:0;color:var(--accent);font-size:11px;padding:6px 0}.priority-row{display:flex;width:100%;align-items:center;text-align:left;gap:12px;border:1px solid var(--line);background:var(--card);border-radius:9px;padding:12px;margin-top:8px}.priority-row strong{font-size:12px}.priority-row span{flex:1;color:var(--muted);font-size:11px}.priority-row:after{content:"↗";color:var(--muted)}.empty{padding:20px 16px;border:1px dashed var(--line);border-radius:10px;font-size:12px;color:var(--muted)}
.token-toolbar{display:flex;justify-content:space-between;align-items:center;margin:0 0 14px}.token-toolbar label{color:var(--muted);font-size:12px}select{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 12px;max-width:60%}.list-heading{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:0 17px 8px}.token{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:8px;overflow:hidden}.token>summary{padding:14px 16px;display:grid;grid-template-columns:36px minmax(0,1fr) minmax(0,1fr) 12px;gap:12px;align-items:center}.token>summary:after{font-size:17px}.token[open]{border-color:#bd385f88}.token-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #49414b;background:#322631;border-radius:10px;color:#e9b9c8;font:600 12px var(--mono)}.token-name strong{display:block;font-size:13px}.token-name small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.token-amount{text-align:right;font:13px var(--mono);overflow-wrap:anywhere}.token-body{border-top:1px solid var(--line);padding:18px}.inventory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.leg-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.leg{background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:15px}.leg h3{font-size:12px;margin:0 0 14px;color:var(--accent)}dl{margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;font-size:11px}dt{color:var(--muted)}dd{margin:0;text-align:right;font-family:var(--mono);overflow-wrap:anywhere}.token-reason{font-size:12px;border-left:2px solid var(--brand);padding-left:12px;margin-top:18px}.source-box{margin-top:18px;padding-top:8px;border-top:1px solid var(--line)}.note{font-size:11px;color:var(--muted);border-left:2px solid var(--line);padding:5px 12px;margin:10px 0 17px}.reconciler-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reconciler h3{margin:0 0 15px}.reconciler strong{font:25px var(--mono)}.reconciler strong small{font:11px "Avenir Next",sans-serif;color:var(--muted)}.reconciler .status{display:block;margin-top:10px;font-size:11px}.reconciler .manual{margin-top:8px;color:var(--muted);font-size:11px}.trade{border:1px solid var(--line);border-radius:10px;background:var(--card);margin-bottom:10px}.trade>summary{padding:15px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 12px;gap:8px;align-items:center}.trade-title strong{display:block;font-size:13px}.trade-title small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.trade-value{text-align:right}.trade-value b{display:block;font:14px var(--mono);overflow-wrap:anywhere}.trade-value small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.trade-body{border-top:1px solid var(--line);padding:16px}.trade-body a{display:inline-block;min-height:44px;align-content:center;font-size:12px}.trade-body .tx{font:10px/1.6 var(--mono);color:var(--muted);overflow-wrap:anywhere}.trade-body .tag{margin-bottom:12px}footer{font-size:10px;line-height:1.8;color:var(--muted);padding:30px 0 115px;border-top:1px solid var(--line);margin-top:30px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#12151ff5;border-top:1px solid var(--line);padding:5px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));z-index:5;backdrop-filter:blur(16px)}.bottom-nav>div{display:grid;grid-template-columns:repeat(3,1fr);max-width:540px;margin:auto}.bottom-nav button{background:none;border:0;border-radius:8px;color:var(--muted);display:grid;justify-items:center;gap:1px;font-size:10px;padding:6px 10px;min-height:52px}.bottom-nav button[aria-selected=true]{color:var(--accent);background:#bd385f13}.nav-icon{font-size:21px;line-height:1.1}.view-enter{animation:enter .2s ease-out}@keyframes enter{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1000px){.token-body{padding:22px 28px}.inventory-grid{max-width:640px}.token>summary{grid-template-columns:36px 1fr 1fr 20px}.token-name{display:flex;align-items:center;gap:20px}.token-name small{margin:0}.trade-body dl{max-width:800px}.trade>summary{grid-template-columns:1fr 240px 20px}}
@media(max-width:720px){.app-header{padding:16px 18px}.brand-mark{font-size:20px}.brand strong{font-size:14px}main{padding:0 18px}.overview-grid{grid-template-columns:1fr;gap:18px}.page-heading h1{font-size:24px}.card{padding:17px}.portfolio-number strong{font-size:35px}.balance strong{font-size:21px}.bounded{padding:16px}.bounded h2{font-size:17px}.leg-grid{grid-template-columns:1fr}.token>summary{gap:9px;padding:13px 12px}.token-body{padding:14px}.reconciler-grid{grid-template-columns:1fr}.inventory-grid{gap:8px}.metric b{font-size:12px}.index-label{font-size:9px}.overview-secondary .section-heading{margin-top:20px}.disclosure{padding:7px 15px}}
@media(max-width:350px){main{padding:0 12px}.app-header{padding:14px 12px}.badge{font-size:8px;padding:4px 6px}.brand strong{font-size:12px}.brand{gap:8px}.portfolio-number strong{font-size:31px}.balance-grid{gap:8px}.balance{padding:12px}.balance strong{font-size:18px}.token>summary{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr) 10px;gap:7px}.token-avatar{width:28px;height:30px;font-size:10px}.token-amount{font-size:11px}.disclosure summary>span{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
@media(max-width:720px){.app-header{padding-top:12px;padding-bottom:12px}.connection{padding:9px 0;font-size:10px}.read-bar{padding:10px 0 6px}.read-bar .eyebrow{font-size:9px}#freshness{font-size:10px}.page-heading{margin:8px 0 16px}.attention{padding:10px 12px}.portfolio-number{margin-top:12px}.portfolio>p{margin:9px 0}.scope{margin-top:10px;padding-top:0}.portfolio .source-line{margin:8px 0}.section-heading{margin-top:18px}.portfolio{padding:16px}.balance{padding:14px}.balance strong{margin:9px 0}.scope summary{min-height:38px}}
.performance-section{margin-bottom:22px}.performance-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.period-card{padding:18px}.period-card h3{margin:0;font-size:13px}.period-card .tag{font-size:9px;padding:3px 6px}.period-value{font:500 clamp(17px,2.6vw,25px)/1.3 var(--mono);display:block;letter-spacing:-.04em;margin-top:16px;overflow-wrap:anywhere}.period-basis{font-size:11px;color:var(--muted);margin-top:5px}.period-count{font-size:11px;margin-top:13px}.period-range{font-size:10px;color:var(--muted);line-height:1.7}.period-card .scope>div{padding-top:12px}.performance-section>.caption{max-width:850px}@media(max-width:540px){.performance-grid{grid-template-columns:1fr}.period-card{padding:14px 16px}.period-value{font-size:24px;margin-top:10px}.period-count{margin-top:8px}.period-range{font-size:10px}.period-card .scope{margin-top:8px}}
