:root{color-scheme:light;--ink:#0a0a0a;--gray-950:#141414;--gray-900:#1c1c1c;--gray-800:#2a2a2a;--gray-700:#3d3d3d;--gray-600:#525252;--gray-500:#737373;--gray-400:#a3a3a3;--gray-300:#d4d4d4;--gray-200:#e5e5e5;--gray-150:#ebebeb;--gray-100:#f4f4f3;--gray-50:#fafaf9;--paper:#f6f5f2;--white:#ffffff;--lime-900:#3c5a00;--lime-700:#5e8c00;--lime-600:#7fb300;--lime-500:#a8e80a;--lime-400:#c2f23e;--lime-200:#e4fab0;--lime-100:#f1fcd8;--red-600:#b3261e;--red-100:#f8e0de;--amber-600:#9a6a00;--amber-100:#f6ead0;--bg-canvas:var(--paper);--bg-surface:var(--white);--bg-inset:var(--gray-100);--bg-inset-strong:var(--gray-150);--bg-inverse:var(--ink);--bg-accent:var(--lime-500);--bg-accent-subtle:var(--lime-100);--bg-pos-subtle:var(--lime-100);--bg-neg-subtle:var(--red-100);--bg-warn-subtle:var(--amber-100);--text-primary:var(--ink);--text-secondary:var(--gray-600);--text-tertiary:var(--gray-500);--text-disabled:var(--gray-400);--text-inverse:var(--white);--text-on-accent:var(--ink);--text-accent:var(--lime-700);--text-pos:var(--lime-700);--text-neg:var(--red-600);--text-warn:var(--amber-600);--border-subtle:var(--gray-150);--border-default:var(--gray-200);--border-strong:var(--gray-300);--border-rule:var(--ink);--border-accent:var(--lime-500);--serif:"Source Serif 4",Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--r-2:2px;--r-4:4px;--r-6:6px;--r-8:8px;--r-pill:999px;--rail-w:240px;--topbar-h:64px;--maxw:1440px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg-canvas);color:var(--text-primary);font-family:var(--sans);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.serif{font-family:var(--serif)}.mono,.num{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.display{font-weight:700;font-size:44px;line-height:1.08}.display,.h1{font-family:var(--serif);letter-spacing:-.01em}.h1{font-weight:600;font-size:30px;line-height:1.15}.h2{font-size:22px;line-height:1.2}.h2,.h3{font-family:var(--serif);font-weight:600}.h3{font-size:18px;line-height:1.25}.body{font-size:14px;line-height:1.45}.small{font-size:12px;line-height:1.4}.caption{font-size:11px;line-height:1.35}.label{font-size:11px;font-weight:600;line-height:1.1;letter-spacing:.06em;text-transform:uppercase}.t-secondary{color:var(--text-secondary)}.t-tertiary{color:var(--text-tertiary)}.t-pos{color:var(--text-pos)}.t-neg{color:var(--text-neg)}.t-accent{color:var(--text-accent)}.t-inverse{color:var(--text-inverse)}.strong{font-weight:600}.row{display:flex;align-items:center;gap:12px}.row.wrap{flex-wrap:wrap}.between{align-items:center;justify-content:space-between}.between,.stack{display:flex;gap:12px}.stack{flex-direction:column}.spacer{flex:1 1 auto}.grid{display:grid;grid-gap:16px;gap:16px}.hairline{height:1px;background:var(--border-subtle);width:100%}.vrule{width:1px;align-self:stretch;background:var(--border-default)}.panel{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-8)}.panel-pad{padding:22px 24px}.panel-head{display:flex;justify-content:space-between;gap:12px;padding:16px 20px 14px}.btn,.panel-head{align-items:center}.btn{display:inline-flex;justify-content:center;gap:6px;border:1px solid transparent;border-radius:var(--r-6);font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.01em;padding:0 16px;height:40px;cursor:pointer;white-space:nowrap;transition:filter .12s ease,background .12s ease}.btn:disabled{cursor:not-allowed;opacity:.5}.btn:hover:not(:disabled){filter:brightness(.97)}.btn-primary{background:var(--bg-accent);color:var(--text-on-accent)}.btn-outline{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-strong)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-dark{background:var(--ink);color:var(--text-inverse)}.btn-sm{height:32px;font-size:12px;padding:0 12px}.btn-lg{height:48px;font-size:14px}.btn-block{width:100%}.pill{display:inline-flex;align-items:center;gap:7px;border-radius:var(--r-pill);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);padding:5px 11px;font-size:12px;font-weight:500}.pill.pos{background:var(--bg-pos-subtle);color:var(--text-pos)}.pill.neg,.pill.pos{border-color:transparent}.pill.neg{background:var(--bg-neg-subtle);color:var(--text-neg)}.pill.warn{background:var(--bg-warn-subtle);color:var(--text-warn)}.pill.accent,.pill.warn{border-color:transparent}.pill.accent{background:var(--bg-accent-subtle);color:var(--text-accent)}.dot{width:7px;height:7px;border-radius:var(--r-pill);background:var(--lime-600);flex:0 0 auto}.dot.neg{background:var(--red-600)}.dot.warn{background:var(--amber-600)}.chip{display:inline-flex;align-items:center;gap:8px;border-radius:var(--r-pill);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);padding:7px 14px;font-size:12px;font-weight:500;cursor:pointer}.chip.active{background:var(--ink);color:var(--text-inverse);border-color:var(--ink)}.tag{display:inline-flex;align-items:center;gap:6px;background:var(--bg-inset);border-radius:var(--r-6);padding:5px 10px;font-family:var(--mono);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.field{display:flex;flex-direction:column;gap:7px}.field>label{font-size:12px;color:var(--text-secondary)}.input,.select{display:flex;align-items:center;width:100%;height:46px;padding:0 14px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-6);color:var(--text-primary);font-size:14px}.input::placeholder{color:var(--text-tertiary)}.input:focus,.select:focus{outline:none;border-color:var(--border-rule)}.seg{display:inline-flex;border:1px solid var(--border-default);border-radius:var(--r-6);overflow:hidden}.seg>button{background:var(--bg-surface);border:0;border-left:1px solid var(--border-default);color:var(--text-secondary);font-size:12px;font-weight:600;padding:8px 13px;cursor:pointer}.seg>button:first-child{border-left:0}.seg>button.active{background:var(--ink);color:var(--text-inverse)}.table{width:100%}.table .thead{padding:9px 20px;background:var(--bg-inset);border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}.table .thead,.table .trow{display:flex;align-items:center;gap:0}.table .trow{padding:12px 20px;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface)}.table .trow:last-child{border-bottom:0}.table .trow.selected{background:var(--bg-accent-subtle)}.table .trow.clickable{cursor:pointer}.table .trow.clickable:hover{background:var(--gray-50)}.table .trow.selected.clickable:hover{background:var(--lime-100)}.col-num{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;justify-content:flex-end;display:flex}.th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.avatar,.th{font-weight:600}.avatar{display:inline-flex;align-items:center;justify-content:center;background:var(--gray-900);color:var(--text-inverse);border-radius:var(--r-6);flex:0 0 auto}.app{min-height:100vh;background:var(--bg-canvas)}.app,.rail{display:flex}.rail{width:var(--rail-w);flex:0 0 var(--rail-w);background:var(--ink);color:var(--text-inverse);flex-direction:column;justify-content:space-between;padding:28px 20px 24px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:9px;padding-left:6px}.brand .mark{width:11px;height:11px;border-radius:var(--r-2);background:var(--lime-500)}.brand .wordmark{font-family:var(--serif);font-weight:600;font-size:18px;letter-spacing:.02em}.nav-section{display:flex;flex-direction:column;gap:3px;margin-top:22px}.nav-section>.label{color:var(--gray-600);padding:0 12px 6px}.nav-item{display:flex;align-items:center;gap:10px;height:38px;padding:0 12px;border-radius:var(--r-6);color:var(--gray-400);font-weight:600;font-size:14px;cursor:pointer}.nav-item .nd{width:6px;height:6px;border-radius:var(--r-2);background:transparent;flex:0 0 auto}.nav-item:hover{color:var(--gray-200)}.nav-item.active{background:var(--gray-900);color:var(--text-inverse)}.nav-item.active .nd{background:var(--lime-500)}.account{display:flex;align-items:center;gap:10px;background:var(--gray-900);border-radius:var(--r-8);padding:10px}.main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--topbar-h);padding:0 32px;background:var(--bg-surface);border-bottom:1px solid var(--border-default);position:-webkit-sticky;position:sticky;top:0;z-index:5}.content{padding:28px 32px 48px;display:flex;flex-direction:column;gap:24px}.stat{padding:16px 18px}.stat .label{color:var(--text-tertiary);margin-bottom:9px}.stat .val{font-family:var(--mono);font-size:28px;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .sub{font-size:12px;margin-top:6px}.mock-badge{display:inline-flex;align-items:center;gap:6px;background:var(--bg-warn-subtle);color:var(--text-warn);padding:3px 9px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.mock-badge,.track{border-radius:var(--r-pill)}.track{height:8px;background:var(--bg-inset-strong);overflow:hidden}.track>.fill{height:100%;border-radius:var(--r-pill);background:var(--lime-500)}.scrim{position:fixed;inset:0;background:rgba(10,10,10,.82);display:flex;align-items:center;justify-content:center;padding:40px;z-index:50}.modal{width:min(880px,100%);max-height:calc(100vh - 80px);overflow:auto;background:var(--bg-surface);border-radius:12px;box-shadow:0 24px 60px rgba(0,0,0,.35)}.auth-split{display:grid;grid-template-columns:600px 1fr;min-height:100vh}.auth-brand{background:var(--ink);color:var(--text-inverse);display:flex;flex-direction:column;justify-content:space-between;padding:64px}.auth-form-wrap{display:flex;align-items:center;justify-content:center;padding:64px}.auth-card{width:min(480px,100%)}.stepper{display:flex;gap:6px}.stepper>span{flex:1 1;height:4px;border-radius:var(--r-pill);background:var(--gray-200)}.stepper>span.on{background:var(--lime-500)}.onb{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-canvas)}.onb-top{justify-content:space-between;padding:0 32px;height:72px}.onb-center,.onb-top{display:flex;align-items:center}.onb-center{flex:1 1 auto;justify-content:center;padding:24px 24px 48px}.onb-card{width:min(480px,100%);border:1px solid var(--border-default);border-radius:10px;padding:36px 40px;display:flex;flex-direction:column;gap:22px}.onb-card,.otp-input{background:var(--bg-surface)}.otp-input{width:100%;height:64px;text-align:center;font-family:var(--mono);font-size:26px;letter-spacing:.4em;text-indent:.4em;border:1px solid var(--border-strong);border-radius:var(--r-8);color:var(--text-primary)}.otp-input:focus{outline:none;border-color:var(--border-rule)}.check-item{display:flex;gap:12px;align-items:flex-start}.check-mark{width:22px;height:22px;border-radius:var(--r-6);background:var(--bg-accent);color:var(--text-on-accent);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:0 0 auto}.check-mark.todo{background:var(--bg-inset);border:1px solid var(--border-default)}.note-box{background:var(--bg-accent-subtle);padding:12px 14px}.note-box,.wallet-card{border-radius:var(--r-8)}.wallet-card{background:var(--ink);color:var(--text-inverse);padding:16px 18px;display:flex;flex-direction:column;gap:10px}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--text-tertiary);font-size:12px}.auth-divider:after,.auth-divider:before{content:"";flex:1 1 auto;height:1px;background:var(--border-default)}.brand-stack{display:flex;flex-direction:column;gap:18px;max-width:460px}.brand-ticker{display:flex;gap:22px;border-top:1px solid var(--gray-800);padding-top:14px;flex-wrap:wrap}.chart-line{fill:none;stroke:var(--ink);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.chart-area{fill:var(--lime-200);opacity:.55;stroke:none}.chart-grid{stroke:var(--border-subtle);stroke-width:1}@media (max-width:1024px){.rail{display:none}.content{padding:20px 16px 40px}.auth-split{grid-template-columns:1fr}.auth-brand{display:none}}