:root{color-scheme:dark;--bg:#0f0f12;--panel:#151518;--panel-2:#1b1b1f;--line:#2b2b31;--ink:#f6f6f8;--muted:#c4c4cb;--faint:#a6a6af;--accent:#f0475f;--accent-strong:#b91e38;--accent-ink:#ffffff;--accent-soft:rgba(240,71,95,.12);--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.shell{display:flex;min-height:100vh}.rail{width:76px;flex-shrink:0;border-right:1px solid var(--line);display:flex;align-items:center;flex-direction:column;padding:28px 0;position:fixed;top:0;bottom:0;background:var(--bg)}.brand{display:flex;align-items:center;flex-direction:column;gap:8px;font:12px ui-monospace,monospace;letter-spacing:3px}.brand svg{width:30px;fill:var(--accent)}.rail-label{writing-mode:vertical-rl;transform:rotate(180deg);margin-top:95px;letter-spacing:3px;font-size:12px;color:var(--faint)}.rail-bottom{margin-top:auto;writing-mode:vertical-rl;font:12px ui-monospace,monospace;color:var(--faint);letter-spacing:2px}.workspace{margin-left:76px;width:calc(100% - 76px)}.topbar{height:91px;border-bottom:1px solid var(--line);padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-size:18px;font-weight:750;letter-spacing:2px;display:flex;align-items:center;gap:10px}.wordmark>span:first-child{color:var(--accent);font-weight:400}.edition{font-size:12px;font-weight:500;letter-spacing:2px;color:var(--muted);padding-left:20px;margin-left:10px;border-left:1px solid var(--line)}.header-state{display:flex;align-items:center;gap:8px;font:12px ui-monospace,monospace;letter-spacing:1px;color:var(--accent)}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.local{border:1px solid var(--line);padding:5px 8px;color:var(--muted);margin-left:14px}main{max-width:1510px;margin:auto;padding:40px 48px 0}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:31px;gap:20px}.eyebrow{font-size:12px;letter-spacing:2.2px;color:var(--accent);margin:0 0 12px}h1{font-size:42px;font-weight:500;letter-spacing:-1.7px;line-height:1.1;margin:0 0 10px}.subtitle{color:var(--muted);font-size:13px;margin:0}.connection{display:flex;gap:15px;align-items:center;padding-left:25px;border-left:1px solid var(--line)}.connection-symbol{font-size:25px;color:var(--faint)}.connection strong{display:block;font-size:12px;font-weight:500}.connection div>span{display:block;color:var(--faint);font-size:12px;margin-top:3px}.panel{border:1px solid var(--line);background:var(--panel);border-radius:3px}.panel-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}h2{font-size:13px;font-weight:550;letter-spacing:.1px;margin:0}.unit{font:12px ui-monospace,monospace;color:var(--faint);margin-left:9px}.tag{font:12px ui-monospace,monospace;letter-spacing:1px;color:var(--muted);border:1px solid var(--line);padding:4px 7px}.portfolio{padding:24px 28px 0}.value-row{display:flex;align-items:center;justify-content:space-between;margin-top:18px;gap:20px}.portfolio-value{font-size:54px;font-weight:400;letter-spacing:-2px;line-height:1.05;font-variant-numeric:tabular-nums}.portfolio-value span{font-size:12px;color:var(--faint);letter-spacing:0;margin-left:14px}.value-note{font-size:12px;color:var(--faint);margin:7px 0 0}.periods{display:flex;gap:3px;border:1px solid var(--line);padding:4px;border-radius:4px;background:var(--bg)}.periods button{border:0;background:none;color:var(--muted);font:12px ui-monospace,monospace;min-width:44px;min-height:44px;border-radius:2px;cursor:pointer}.periods button:hover{color:var(--ink);background:var(--accent-soft)}.periods button[aria-pressed=true]{color:var(--accent-ink);background:var(--accent);font-weight:700}.chart{height:254px;position:relative;margin:12px 0 8px}.chart svg{width:100%;height:100%;overflow:visible}.chart-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.empty-mark{display:flex;gap:5px;align-items:center;height:32px;margin-bottom:17px}.empty-mark i{width:3px;height:14px;background:#3a3a42;display:block}.empty-mark i:nth-child(2){height:29px;background:#8e8e98}.empty-mark i:nth-child(3){height:20px}.chart-empty h3{font-size:15px;font-weight:500;margin:0 0 7px;letter-spacing:.1px}.chart-empty p{font-size:12px;color:var(--faint);margin:0}.window-label{font:12px ui-monospace,monospace;text-align:center;letter-spacing:.7px;color:var(--faint);margin-top:23px}.chart-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;padding:15px 0;color:var(--faint);font-size:12px}.legend-dot{display:inline-block;width:5px;height:5px;border:1px solid var(--accent);border-radius:50%;margin-right:6px}.chart-footer strong{font-weight:400;color:var(--muted);margin-left:7px}.lower-grid{display:grid;grid-template-columns:1.27fr 1fr;gap:20px;margin-top:20px}.holdings,.next-step{padding:23px 26px}.muted{font:12px ui-monospace,monospace;letter-spacing:.8px;color:var(--faint)}.asset-head,.asset-row{display:grid;grid-template-columns:1.8fr 1fr 1fr;align-items:center;gap:10px}.asset-head{text-align:right;font:12px ui-monospace,monospace;letter-spacing:.5px;color:var(--faint);padding:24px 0 12px}.asset-head>span:first-child{text-align:left}.asset-row{border-top:1px solid var(--line);min-height:68px}.asset-row>div{display:flex;gap:11px;align-items:center}.asset-row>span{text-align:right;color:var(--muted)}.asset-icon{display:grid;place-items:center;flex-shrink:0;width:31px;height:31px;border-radius:50%;border:1px solid #34343b;background:#1d1d22;color:#f6f6f8;font-size:16px}.asset-icon.sol{color:var(--accent);background:#2a1519}.asset-icon.other{color:var(--faint);background:transparent}.asset-row strong{font-size:12px;font-weight:500;display:block}.asset-row small{font-size:12px;color:var(--faint);display:block;margin-top:2px}.holdings-note{color:var(--faint);font-size:12px;margin:15px 0 0;max-width:440px}.step{font:12px ui-monospace,monospace;color:var(--accent)}.next-lead{font-size:28px;letter-spacing:-.7px;line-height:1.35;margin:30px 0 18px}.next-lead span{color:var(--muted)}.next-copy{font-size:12px;line-height:1.8;color:var(--muted);max-width:390px;margin:0}.safety-line{margin-top:26px;border-top:1px solid var(--line);padding-top:17px;display:flex;align-items:center;gap:10px;color:var(--accent);font-size:12px}.safety-line>span:first-child{font-size:20px}.system-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:29px 0 23px;border-bottom:1px solid var(--line)}.system-strip>div{border-left:1px solid var(--line);padding-left:17px}.system-strip>div:first-child{border:0;padding:0}.system-strip span{display:block;font:12px ui-monospace,monospace;letter-spacing:.6px;color:var(--faint);margin-bottom:9px}.system-strip strong{display:block;font-size:12px;font-weight:500}.system-strip small{display:block;font-size:12px;color:var(--faint);margin-top:4px}.api-status{font:12px ui-monospace,monospace;color:var(--faint);padding:15px 0 0;min-height:30px}footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:20px 0 27px;color:var(--faint);font-size:12px;letter-spacing:1px}.footer-sep{color:var(--accent);padding:0 10px}footer>span:last-child{letter-spacing:0}[hidden]{display:none!important}
@media(min-width:1600px){main{padding-top:55px}.chart{height:310px}.heading{margin-bottom:40px}.next-lead{font-size:34px}}
@media(max-width:1050px){.edition{display:none}.topbar{padding:0 28px}main{padding:30px 28px 0}.rail{width:58px}.workspace{margin-left:58px;width:calc(100% - 58px)}.lower-grid{grid-template-columns:1fr 1fr}.portfolio{padding:22px 22px 0}.holdings,.next-step{padding:22px}.next-lead{font-size:25px}.system-strip{gap:13px}.system-strip>div{padding-left:10px}}
@media(max-width:760px){.rail{display:none}.workspace{margin:0;width:100%}.topbar{height:auto;min-height:70px;padding:14px 21px;flex-wrap:wrap;gap:12px}.wordmark{font-size:15px;letter-spacing:1.2px;gap:7px}.local{display:inline-flex;margin-left:4px}.header-state{font-size:12px;flex-wrap:wrap}main{padding:29px 17px 0}.heading{display:block;margin-bottom:23px}h1{font-size:37px}.eyebrow{font-size:12px}.subtitle{font-size:12px}.connection{border-left:0;border-top:1px solid var(--line);padding:17px 0 0;margin-top:24px;gap:11px}.connection-symbol{font-size:20px}.connection div{display:flex;align-items:center;gap:15px}.connection div>span{margin:0;font-size:12px}.connection strong{font-size:12px}.portfolio{padding:20px 17px 0}.tag{font-size:12px;padding:4px 5px;letter-spacing:.4px}.value-row{display:block}.portfolio-value{font-size:51px;margin-top:24px}.periods{display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));margin-top:26px;width:100%}.periods button{min-width:44px;min-height:44px;padding:0 3px}.chart{height:245px;margin-top:5px}.chart-empty h3{font-size:13px;text-align:center}.chart-empty p{font-size:12px;text-align:center}.window-label{font-size:12px}.chart-footer{font-size:12px;flex-wrap:wrap;row-gap:8px}.chart-footer>span:last-child{display:inline}.lower-grid{grid-template-columns:1fr;gap:15px;margin-top:15px}.holdings,.next-step{padding:21px 18px}.next-lead{margin:25px 0 17px;font-size:29px}.next-copy{max-width:100%}.system-strip{grid-template-columns:1fr 1fr;gap:25px 15px;padding:27px 0}.system-strip>div:nth-child(3){border:0;padding:0}.system-strip span{font-size:12px;letter-spacing:1px}.system-strip strong{font-size:12px}.system-strip small{font-size:12px}.api-status{font-size:12px;line-height:1.8}footer{font-size:12px;letter-spacing:.5px}.footer-sep{padding:0 5px}footer>span:last-child{font-size:12px}}
@media(max-width:360px){.periods{grid-template-columns:repeat(3,minmax(44px,1fr))}.connection div{flex-wrap:wrap;gap:4px 15px}.system-strip{grid-template-columns:1fr}.system-strip>div{border:0;padding:0}.asset-head{letter-spacing:0;grid-template-columns:1.5fr 1fr 1fr}.asset-row{grid-template-columns:1.5fr 1fr 1fr}.asset-row>div{gap:7px}.asset-icon{width:26px;height:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* refined palette + motion (charcoal / white / crimson) */
body{background:radial-gradient(1100px 560px at 85% -12%,rgba(185,30,56,.10),transparent 62%),var(--bg)}
.panel{background:linear-gradient(180deg,var(--panel-2),var(--panel) 140px);border-radius:10px}
.periods{border-radius:10px;background:rgba(15,15,18,.75)}
.periods button{border-radius:7px;transition:background-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease),transform .12s var(--ease)}
.periods button:active{transform:scale(.97)}
.periods button[aria-pressed=true]{background:var(--accent-strong);color:var(--accent-ink);box-shadow:0 0 0 1px rgba(240,71,95,.45),0 8px 20px -12px rgba(185,30,56,.75)}
.status-dot{box-shadow:0 0 0 3px rgba(240,71,95,.16)}
.eyebrow{color:var(--accent)}
.window-label{transition:opacity .2s var(--ease)}
a,.brand svg{transition:color .2s var(--ease),fill .2s var(--ease)}
@keyframes desk-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.heading,.portfolio,.lower-grid>.panel,.system-strip{animation:desk-rise .55s var(--ease) both}
.portfolio{animation-delay:.06s}.lower-grid>.panel:first-child{animation-delay:.12s}.lower-grid>.panel:last-child{animation-delay:.18s}.system-strip{animation-delay:.24s}
/* keep rotated rail text from colliding at short or zoomed viewports */
.rail{overflow:hidden}.rail-label{white-space:nowrap}
@media(max-height:620px){.rail-label{display:none}}
@media(max-height:420px){.rail-bottom{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.topbar{box-shadow:inset 0 2px 0 var(--accent-strong)}
.header-state{color:var(--ink)}
/* display currency toggle (total wallet value only; underlying observations stay USD) */
.panel-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.currency{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:10px;background:rgba(15,15,18,.75)}
.currency button{min-width:48px;min-height:44px;border:0;background:none;color:var(--muted);font:600 12px ui-monospace,monospace;letter-spacing:1px;border-radius:7px;cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease),transform .12s var(--ease)}
.currency button:hover{color:var(--ink);background:var(--accent-soft)}
.currency button:active{transform:scale(.97)}
.currency button[aria-pressed=true]{background:var(--accent-strong);color:var(--accent-ink);box-shadow:0 0 0 1px rgba(240,71,95,.45)}
.fx-note{font:12px ui-monospace,monospace;letter-spacing:.3px;color:var(--faint);margin:4px 0 0}
@media(max-width:760px){.panel-actions{width:100%;justify-content:space-between}}
/* chart scrubber: press/drag or arrow keys; snaps to actual observations only */
#portfolio-chart{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
#portfolio-chart[role=img]{touch-action:auto}
#portfolio-chart[role=slider]{cursor:crosshair}
#portfolio-chart:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}
.scrub-rule{stroke:#f6f6f8;stroke-opacity:.55;stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}
.scrub-dot{fill:#f0475f;stroke:#ffffff;stroke-width:2;vector-effect:non-scaling-stroke}
.scrub-readout{position:absolute;top:6px;max-width:min(300px,calc(100% - 16px));display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(15,15,18,.94);box-shadow:0 12px 30px -16px rgba(0,0,0,.9);pointer-events:none;animation:desk-fade .14s var(--ease) both}
.scrub-readout[data-side=right]{right:8px}.scrub-readout[data-side=left]{left:8px}
.scrub-readout[data-v=bottom]{top:auto;bottom:6px}
.scrub-readout[hidden]{display:none}
.scrub-time{font:12px ui-monospace,monospace;color:var(--muted);letter-spacing:.4px}
.scrub-value{font-size:22px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.4px}
.scrub-change{font-size:12px;color:var(--ink);font-variant-numeric:tabular-nums}
.scrub-note{font-size:11px;color:var(--faint);line-height:1.35}
.scrub-hint{margin-top:10px;font-size:12px;color:var(--faint)}
@keyframes desk-fade{from{opacity:0}to{opacity:1}}
