[data-theme=light]{--canvas:#fff;--surface:#fff;--ink:#000;--ink-muted:#6b6b6b;--hairline:#d8d8d8;--row-tint:#f4f4f2;--accent:#0b2e5c;--accent-tint:#eaeef5;--on-accent:#fff;--gain:#0b4a2a;--gain-tint:#eaf1ed;--loss:#5c1212;--loss-tint:#f2e8e8}[data-theme=dark]{--canvas:#0e1116;--surface:#161b22;--ink:#e6e8eb;--ink-muted:#8a94a0;--hairline:#26303b;--row-tint:#1a2230;--accent:#7ba3d6;--accent-tint:#1a2333;--on-accent:#0e1116;--gain:#6cc18b;--gain-tint:#172a20;--loss:#d87c7c;--loss-tint:#2a1c1c}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--canvas);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:14px;line-height:1.5;transition:background-color .25s ease,color .25s ease}a{color:var(--accent)}a,a:hover{text-decoration:none}a.btn,a.btn-ghost,a.btn-primary,a.btn-secondary{color:inherit}.mono,code{font-feature-settings:"tnum" 1;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.serif{font-family:"Source Serif 4",Georgia,Times New Roman,serif}.container{margin:0 auto;max-width:1200px;padding:0 32px}.container-narrow{margin:0 auto;max-width:960px;padding:0 32px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.eyebrow,.muted{color:var(--ink-muted)}.gain-text{color:var(--gain)}.loss-text{color:var(--loss)}.hairline-top{border-top:1px solid var(--hairline)}.hairline-bottom{border-bottom:1px solid var(--hairline)}.wordmark{color:var(--ink);font-family:"Source Serif 4",serif;font-size:18px;font-weight:500;letter-spacing:-.01em;text-decoration:none}.wordmark .dot{color:var(--accent)}.btn{align-items:center;border:1px solid #0000;border-radius:4px;cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-size:14px;font-weight:500;gap:8px;height:36px;justify-content:center;padding:0 16px;text-decoration:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease,filter .12s ease;white-space:nowrap}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.55}.btn-lg{font-size:15px;height:44px;padding:0 20px}.btn-sm{font-size:13px;height:30px;padding:0 12px}.btn-block{width:100%}.btn-primary,a.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){filter:brightness(.92)}.btn-secondary,a.btn-secondary{background:#0000;border-color:var(--hairline);color:var(--ink)}.btn-secondary:hover:not(:disabled){background:var(--canvas);border-color:var(--ink-muted)}.btn-ghost,a.btn-ghost{background:#0000;border-color:#0000;color:var(--ink)}.btn-ghost:hover:not(:disabled){background:var(--accent-tint);color:var(--accent)}.btn:focus-visible,.icon-btn:focus-visible,.nav-item:focus-visible,.range-btn:focus-visible,.tab:focus-visible,.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.form-control,.input{background:var(--surface);border:1px solid var(--hairline);border-radius:4px;color:var(--ink);display:block;font-family:Inter,sans-serif;font-size:14px;height:40px;outline:none;padding:0 12px;transition:border-color .12s ease,box-shadow .12s ease;width:100%}.form-control::placeholder,.input::placeholder{color:var(--ink-muted)}.form-control:focus,.input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}textarea.form-control,textarea.input{height:auto;line-height:1.5;min-height:96px;padding:10px 12px;resize:vertical}.form-group{margin-bottom:20px}.form-group label,.form-label{color:var(--ink);display:block;font-size:13px;font-weight:500;margin-bottom:8px}.form-hint{color:var(--ink-muted);font-size:12px;margin-top:6px}.pill{font-feature-settings:"tnum" 1;align-items:center;border-radius:4px;display:inline-flex;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;gap:6px;line-height:1.6;padding:2px 8px}.pill-gain{background:var(--gain-tint);color:var(--gain)}.pill-loss{background:var(--loss-tint);color:var(--loss)}.pill-tag{align-items:center;border:1px solid var(--hairline);border-radius:4px;color:var(--ink-muted);display:inline-flex;font-family:JetBrains Mono,monospace;font-size:11px;padding:2px 8px}.ico{stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;height:16px;width:16px}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:8px;margin:0 auto;max-width:440px;padding:32px}.card h2{color:var(--ink);font-family:"Source Serif 4",serif;font-size:28px;font-weight:400;letter-spacing:-.01em;margin:0 0 20px;text-align:center}.panel{background:var(--surface);border:1px solid var(--hairline);border-radius:8px;overflow:hidden}.panel-head{align-items:center;border-bottom:1px solid var(--hairline);display:flex;justify-content:space-between;padding:14px 18px}.panel-head h3{color:var(--ink);font-size:14px;font-weight:600;margin:0}.alert{border:1px solid var(--hairline);border-radius:4px;font-size:14px;margin-bottom:20px;padding:12px 16px}.alert-success{background:var(--gain-tint);border-color:var(--gain);color:var(--gain)}.alert-error{background:var(--loss-tint);border-color:var(--loss);color:var(--loss)}.alert-warning{background:var(--accent-tint);border-color:var(--accent);color:var(--accent)}.App{min-height:100vh}.theme-toggle{align-items:center;background:#0000;border:1px solid var(--hairline);border-radius:4px;color:var(--ink-muted);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;transition:background-color .12s ease,color .12s ease,border-color .12s ease;width:32px}.theme-toggle:hover{background:var(--row-tint);border-color:var(--ink-muted);color:var(--ink)}.theme-toggle .ico{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;height:14px;width:14px}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid var(--hairline);color:var(--ink);font-size:13px;height:44px;padding:0 18px;text-align:left}.table th{background:var(--canvas);color:var(--ink-muted);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.table tbody tr:last-child td{border-bottom:0}.table td.num,.table th.num{font-feature-settings:"tnum" 1;font-family:JetBrains Mono,monospace;text-align:right}.table tbody tr:hover td{background:var(--row-tint)}.table tbody tr:hover td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.modal-overlay{align-items:center;background:#0e11168c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal-content{background:var(--surface);border:1px solid var(--hairline);border-radius:8px;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--hairline);display:flex;justify-content:space-between;padding:18px 24px}.modal-header h2{color:var(--ink);font-family:"Source Serif 4",serif;font-size:22px;font-weight:400;letter-spacing:-.01em;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:var(--ink-muted);cursor:pointer;display:inline-flex;font-size:24px;height:28px;justify-content:center;padding:0;width:28px}.modal-close:hover{background:var(--row-tint);color:var(--ink)}.modal-body{padding:24px}.top-nav{border-bottom:1px solid var(--hairline);height:64px;justify-content:space-between;padding:0 32px}.top-nav,.top-nav .nav-links{align-items:center;display:flex}.top-nav .nav-links{gap:24px}.top-nav .nav-links a{color:var(--ink);font-size:14px}.top-nav .nav-links a:hover{color:var(--accent)}.top-nav .nav-links a.btn{color:var(--on-accent);height:34px;padding:0 14px}.app-nav{align-items:center;background:var(--surface);border-bottom:1px solid var(--hairline);display:grid;grid-template-columns:200px 1fr 220px;height:56px;padding:0 32px}@media (max-width:720px){.app-nav{gap:8px;grid-template-columns:1fr auto;height:auto;padding:10px 16px}.app-nav .center{-webkit-overflow-scrolling:touch;grid-column:1/-1;justify-content:flex-start;overflow-x:auto}}.app-nav .center{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.app-nav .right{align-items:center;display:flex;gap:14px;justify-content:flex-end}.nav-item{align-items:center;background:#0000;border:0;border-radius:4px;color:var(--ink-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;gap:6px;padding:8px 14px;text-decoration:none;transition:background-color .12s ease,color .12s ease}.nav-item:hover{background:var(--row-tint);color:var(--ink)}.nav-item.active{background:var(--accent-tint);color:var(--accent)}.nav-item.disabled{cursor:not-allowed;opacity:.55}.icon-btn,.nav-item.disabled:hover{background:#0000;color:var(--ink-muted)}.icon-btn{align-items:center;border:0;border-radius:4px;cursor:pointer;display:inline-flex;height:30px;justify-content:center;transition:background-color .12s ease,color .12s ease;width:30px}.icon-btn:hover{background:var(--canvas);color:var(--ink)}.avatar{background:var(--accent-tint);border-radius:50%;color:var(--accent);display:inline-flex;font-size:11px;font-weight:600;height:30px;justify-content:center;letter-spacing:.02em;width:30px}.avatar,.hero{align-items:center}.hero{grid-gap:56px;display:grid;gap:56px;grid-template-columns:1fr 460px;padding:64px 0 48px}.hero h1{text-wrap:balance;color:var(--ink);font-family:"Source Serif 4",serif;font-size:60px;font-weight:400;letter-spacing:-.02em;line-height:1.05;margin:0 0 22px}.hero h1 .accent{color:var(--accent)}.hero .lede{color:var(--ink-muted);font-size:18px;line-height:1.55;margin:0 0 28px;max-width:480px}.hero .ctas{gap:12px}.hero .ctas,.hero .meta-line{align-items:center;display:flex;flex-wrap:wrap}.hero .meta-line{color:var(--ink-muted);font-size:13px;gap:14px;margin-top:28px}.hero .meta-line .dot{background:var(--ink-muted);border-radius:50%;height:3px;width:3px}@media (max-width:880px){.hero{gap:32px;grid-template-columns:1fr;padding:40px 0 32px}.hero h1{font-size:44px}}.live-card{background:var(--surface);border:1px solid var(--hairline);border-radius:8px;padding:22px}.live-card .head{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.live-card .label{color:var(--ink-muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.live-card .live{align-items:center;color:var(--ink-muted);display:inline-flex;font-family:JetBrains Mono,monospace;font-size:11px;gap:6px}.live-dot{animation:live-pulse 1.5s ease-in-out infinite alternate;background:var(--accent);border-radius:50%;box-shadow:0 0 0 3px var(--accent-tint);height:6px;width:6px}@keyframes live-pulse{0%{opacity:.6}to{opacity:1}}.live-card .value{color:var(--ink);font-size:30px;font-weight:500;letter-spacing:-.01em;margin:4px 0 6px}.live-card .value .currency{color:var(--ink-muted);margin-right:4px}.live-card .value .num{font-feature-settings:"tnum" 1;font-family:JetBrains Mono,monospace}.live-card .row-meta{align-items:center;color:var(--ink-muted);display:flex;flex-wrap:wrap;font-size:12px;gap:10px}.live-card .chart-wrap{border-top:1px solid var(--hairline);margin-top:18px;padding-top:14px}.live-card .chart-axis{color:var(--ink-muted);display:flex;font-family:JetBrains Mono,monospace;font-size:10px;justify-content:space-between;margin-top:6px}.ranges{display:flex;gap:4px;margin-top:12px}.range-btn{background:#0000;border:1px solid #0000;border-radius:4px;color:var(--ink-muted);cursor:pointer;flex:1 1;font-family:JetBrains Mono,monospace;font-size:11px;height:24px}.range-btn:hover{color:var(--ink)}.range-btn.active{background:var(--accent-tint);color:var(--accent)}.app-frame{background:var(--surface);border:1px solid var(--hairline);border-radius:8px;margin-top:8px;overflow:hidden}.app-body{background:var(--canvas);padding:28px 28px 36px}.page-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.page-header h1{color:var(--ink);font-family:"Source Serif 4",serif;font-size:32px;font-weight:400;letter-spacing:-.01em;margin:0}.page-header .meta{color:var(--ink-muted);font-family:JetBrains Mono,monospace;font-size:12px}.page-header .meta .accent-when{color:var(--ink)}.portfolio-hero{grid-gap:28px;align-items:center;background:var(--surface);border:1px solid var(--hairline);border-radius:8px;display:grid;gap:28px;grid-template-columns:1fr auto;margin-bottom:20px;padding:28px}.portfolio-hero .label{color:var(--ink-muted);font-size:12px;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.display-num{font-feature-settings:"tnum" 1;color:var(--ink);font-family:Inter,sans-serif;font-size:60px;font-weight:500;letter-spacing:-.02em;line-height:1.05}.display-num .currency{color:var(--ink-muted);font-weight:500;margin-right:4px}.change-line,.display-num .num{font-family:JetBrains Mono,monospace}.change-line{align-items:center;display:flex;flex-wrap:wrap;font-size:13px;gap:10px;margin-top:8px}.change-line.gain{color:var(--gain)}.change-line.loss{color:var(--loss)}.change-line.flat{color:var(--ink-muted)}.change-line .dot{background:var(--ink-muted);border-radius:50%;height:3px;width:3px}.change-line .since{color:var(--ink-muted)}.portfolio-hero .actions{align-items:stretch;display:flex;flex-direction:column;gap:8px;min-width:180px}@media (max-width:720px){.portfolio-hero{grid-template-columns:1fr}.display-num{font-size:44px}.portfolio-hero .actions{flex-direction:row;flex-wrap:wrap}}.stat-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}@media (max-width:720px){.stat-row{grid-template-columns:1fr}}.stat{background:var(--surface);border:1px solid var(--hairline);border-radius:8px;padding:18px 22px}.stat .k{color:var(--ink-muted);font-size:12px;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.stat .v{font-feature-settings:"tnum" 1;color:var(--ink);font-family:JetBrains Mono,monospace;font-size:22px;font-weight:500;letter-spacing:-.01em}.stat .sub{color:var(--ink-muted);font-family:JetBrains Mono,monospace;font-size:12px;margin-top:4px}.stat .sub.gain{color:var(--gain)}.stat .sub.loss{color:var(--loss)}.tabs{display:flex;flex-wrap:wrap;gap:4px}.tab{background:#0000;border:0;border-radius:4px;color:var(--ink-muted);cursor:pointer;font-family:inherit;font-size:13px;padding:6px 10px}.tab.active,.tab:hover{color:var(--ink)}.tab.active{background:var(--canvas)}table.holdings{border-collapse:collapse;width:100%}table.holdings td,table.holdings th{border-bottom:1px solid var(--hairline);color:var(--ink);font-size:13px;height:44px;padding:0 18px;text-align:left}table.holdings tr:last-child td{border-bottom:0}table.holdings th{background:var(--canvas);color:var(--ink-muted);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}table.holdings td.num,table.holdings th.num{font-feature-settings:"tnum" 1;font-family:JetBrains Mono,monospace;text-align:right}table.holdings td.gain-text{color:var(--gain)}table.holdings td.loss-text{color:var(--loss)}table.holdings tbody tr:hover td{background:var(--row-tint)}table.holdings tbody tr:hover td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.ticker{align-items:center;display:flex;gap:10px}.ticker .sym{color:var(--ink);font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500}.ticker .name{color:var(--ink-muted);font-size:12px}.ticker .mark{background:var(--canvas);border:1px solid var(--hairline);border-radius:4px;display:inline-flex;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;height:26px;justify-content:center;width:26px}.empty-state,.ticker .mark{align-items:center;color:var(--ink-muted)}.empty-state{display:flex;flex-direction:column;gap:16px;padding:48px 32px;text-align:center}.empty-state .empty-title{color:var(--ink);font-size:15px;font-weight:500}.page-eyebrow{color:var(--ink-muted);font-size:12px;font-weight:500;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}@media (max-width:768px){.container,.container-narrow{padding:0 16px}.top-nav{flex-wrap:wrap;gap:12px;height:auto;padding-bottom:12px;padding-top:12px}.top-nav .nav-links{flex-wrap:wrap;gap:14px;width:100%}}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1 1;padding:24px 0 48px}.app-loading{align-items:center;color:var(--ink-muted);display:flex;font-size:14px;justify-content:center;min-height:60vh}
/*# sourceMappingURL=main.c4dc4963.css.map*/