:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#eef3f6;--surface:#f8fafc;--surface-raised:#fff;--text:#081723;--dim:#52616d;--border:#dce5ec;--accent:#0c91a4;--accent-strong:#087487;--positive:#168b62;--negative:#d5524a;--warning:#b66a13;--radius:14px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-theme=dark]{--bg:#071119;--surface:#0b1822;--surface-raised:#10222e;--text:#eef7fa;--dim:#9eb0ba;--border:#203746;--accent:#33c5d5;--accent-strong:#73dbe5;--positive:#4dca98;--negative:#f07b73;--warning:#f2b761}*{box-sizing:border-box}html{background:var(--bg);scrollbar-gutter:stable}body{background:var(--bg);color:var(--text);margin:0;font-family:Avenir Next,Avenir,Segoe UI,sans-serif;font-size:15px;line-height:1.45}button,input{font:inherit}button{touch-action:manipulation}button:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:2px}.app-shell{background:var(--bg);min-height:100vh}main{width:min(1180px,100%);padding:calc(env(safe-area-inset-top) + 8px) 16px calc(env(safe-area-inset-bottom) + 64px);margin:0 auto}.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;padding:3px 0 10px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-mark{background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.brand-name{letter-spacing:-.02em;font-size:20px;font-weight:800}.privacy-note{color:var(--dim);align-items:center;gap:6px;margin:0 auto 0 0;font-size:12px;display:flex}.privacy-note:before{content:"🔒";font-size:13px}.topbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.currency-toggle{border:1px solid var(--border);border-radius:9px;display:flex;overflow:hidden}.currency-toggle button{color:var(--dim);cursor:pointer;background:0 0;border:0;min-height:38px;padding:8px 12px;font-size:12px;font-weight:700}.currency-toggle button.active{background:var(--text);color:var(--bg)}.currency-toggle button:not(.active):hover{color:var(--accent-strong)}.credit{border-top:1px solid var(--border);margin-top:10px;padding-top:10px;font-size:12px}@media (width<=619px){.privacy-note{display:none}.topbar{gap:10px}}.hero{border-bottom:1px solid var(--border);flex-direction:column;gap:22px;padding:22px 0 24px;display:flex}.kicker{color:var(--dim);letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:750;line-height:16px}.hero h1{letter-spacing:-.06em;font-variant-numeric:tabular-nums;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(42px,13vw,78px);line-height:.98}.return-line{align-items:baseline;gap:9px;margin-top:10px;display:flex}.return-line strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px}.return-line span{font-size:13px}.hero-action{flex-direction:column;align-items:flex-start;gap:7px;display:flex}.hero-action p{color:var(--dim);margin:0;font-size:12px}.button{cursor:pointer;border:1px solid #0000;border-radius:9px;min-height:44px;padding:10px 15px;font-size:14px;font-weight:700;transition:background-color .16s,border-color .16s,color .16s}.button:disabled{opacity:.55;cursor:default}.button.primary,.button.refresh{background:var(--text);color:var(--bg)}.button.primary:hover:not(:disabled),.button.refresh:hover:not(:disabled){background:var(--accent-strong);color:#fff}.button.refresh{align-items:center;gap:8px;display:inline-flex}.button.refresh span{font-size:20px;line-height:1}.button.secondary{color:var(--text);border-color:var(--border);background:0 0}.button.secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong)}.button.danger{background:var(--negative);color:#fff}.button.subtle-danger{color:var(--negative);border-color:color-mix(in srgb, var(--negative) 35%, var(--border));background:0 0}.positive{color:var(--positive)!important}.negative{color:var(--negative)!important}.muted{color:var(--dim)}.small{font-size:13px}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.notice{background:color-mix(in srgb, var(--accent) 20%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border));border-left:4px solid var(--accent);color:var(--text);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 0;padding:7px 12px;font-size:13px;font-weight:600;display:flex}.notice button{color:var(--dim);cursor:pointer;background:0 0;border:0;font-size:20px}.notice.bad{background:color-mix(in srgb, var(--negative) 16%, var(--surface));border-color:color-mix(in srgb, var(--negative) 55%, var(--border));border-left-color:var(--negative)}.notice.toast{z-index:80;width:fit-content;max-width:min(600px,92vw);margin-inline:auto;transition:opacity 1.5s,transform 1.5s;animation:.25s notice-in;position:fixed;bottom:24px;left:0;right:0;box-shadow:0 10px 30px #0003}.notice.toast.fading{opacity:0;transform:translateY(4px)}@media (width<=768px){.notice.toast{bottom:88px}}@keyframes notice-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.coverage-notice{border-left:3px solid var(--warning);background:color-mix(in srgb, var(--warning) 8%, var(--surface));flex-direction:column;gap:2px;margin-top:12px;padding:11px 12px;font-size:12px;display:flex}.coverage-notice span{color:var(--dim)}.sample-banner{background:color-mix(in srgb, var(--warning) 8%, var(--surface));border-top:2px solid var(--warning);flex-direction:column;align-items:flex-start;gap:11px;margin-top:18px;padding:13px 14px;display:flex}.sample-banner div{flex-direction:column;display:flex}.sample-banner span{color:var(--dim);font-size:13px}.sample-banner button{color:var(--warning);cursor:pointer;background:0 0;border:0;padding:0;font-weight:750}.metric-strip{background:var(--border);border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:1px;margin:24px 0 34px;display:grid}.metric-strip article{background:var(--bg);flex-direction:column;min-width:0;padding:15px 10px;display:flex}.metric-strip span{color:var(--dim);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.metric-strip strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(18px,5vw,25px)}.metric-strip small{color:var(--dim);font-size:11px}.section-block{margin:0 0 38px}.section-head,.panel-head,.sheet-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}h2,h3{margin:0}h2{letter-spacing:-.025em;font-size:23px;line-height:30px}.holding-list{gap:12px;margin-top:16px;display:grid}.holding-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:9px;padding:10px 12px}.holding-top{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:9px;display:flex}.holding-top>div:first-child>span{color:var(--dim);font-size:11px}.ticker-line{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ticker-line>strong{letter-spacing:-.02em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px}.sample-tag{background:color-mix(in srgb, var(--warning) 14%, transparent);color:var(--warning);letter-spacing:.08em;text-transform:uppercase;border-radius:3px;padding:2px 5px;font-size:9px;font-weight:800}.pill{letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:800}.pill.live{background:color-mix(in srgb, var(--positive) 12%, transparent);color:var(--positive)}.pill.manual{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent-strong)}.pill.stale{background:color-mix(in srgb, var(--warning) 13%, transparent);color:var(--warning)}.pill.none{background:color-mix(in srgb, var(--dim) 10%, transparent);color:var(--dim)}.holding-value{text-align:right;flex-direction:column;flex-shrink:0;display:flex}.holding-value strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px}.holding-value span{font-size:11px}.holding-grid{grid-template-columns:1fr 1fr;gap:10px;padding:10px 0;display:grid}.holding-grid>div{flex-direction:column;min-width:0;display:flex}.holding-grid span{color:var(--dim);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:700}.holding-grid strong{margin:1px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.holding-grid small{color:var(--dim);overflow-wrap:anywhere;font-size:10px;line-height:13px}.source-line{border-top:1px solid var(--border);color:var(--dim);flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 0;font-size:11px;line-height:1.4;display:flex}.source-line span{margin-right:auto}.source-line a{color:var(--accent-strong);font-weight:700;text-decoration:none}.source-line a:hover{text-decoration:underline}.row-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:2px 14px;padding-top:6px;display:flex}.row-actions button{min-height:30px;color:var(--accent-strong);cursor:pointer;background:0 0;border:0;padding:3px 0;font-size:12px;font-weight:700}.row-actions .destructive-link{color:var(--negative)}.empty{border:1px dashed var(--border);text-align:center;margin-top:16px;padding:42px 20px}.empty p{max-width:450px;color:var(--dim);margin:8px auto 18px}.realized-total{flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.realized-total span{color:var(--dim);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:750}.realized-total strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px}.realized-list{gap:10px;margin-top:16px;display:grid}.realized-list article{background:var(--surface-raised);border-top:1px solid var(--border);grid-template-columns:1fr auto;gap:11px;padding:14px;display:grid}.realized-main{flex-direction:column;min-width:0;display:flex}.realized-main>span{color:var(--dim);overflow-wrap:anywhere;font-size:11px}.sale-status{letter-spacing:.05em;text-transform:uppercase;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:800}.sale-status.closed{color:var(--positive);background:color-mix(in srgb, var(--positive) 12%, transparent)}.sale-status.trim{color:var(--warning);background:color-mix(in srgb, var(--warning) 12%, transparent)}.realized-result{flex-direction:column;align-items:flex-end;display:flex}.realized-result strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:17px}.realized-result span{font-size:11px}.realized-meta{border-top:1px solid var(--border);grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px;padding-top:10px;display:grid}.realized-meta span{flex-direction:column;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;display:flex}.realized-meta b{color:var(--dim);letter-spacing:.06em;text-transform:uppercase;font-family:Avenir Next,Avenir,Segoe UI,sans-serif;font-size:9px}.realized-empty{border:1px dashed var(--border);text-align:center;margin-top:15px;padding:24px 16px}.realized-empty p{margin:0;font-weight:750}.realized-empty span{color:var(--dim);font-size:12px}.sell-position{background:var(--bg);border:1px solid var(--border);flex-direction:column;padding:12px;display:flex}.sell-position span,.sell-preview span{color:var(--dim);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:750}.sell-position strong,.sell-preview strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sell-preview{background:var(--border);grid-template-columns:1fr 1fr;gap:1px;display:grid}.sell-preview div{background:var(--surface-raised);flex-direction:column;min-width:0;padding:12px;display:flex}.sell-preview strong{overflow-wrap:anywhere}.sell-preview small{color:var(--dim);margin-top:2px;font-size:10px}.sale-note{color:var(--warning);grid-column:1/-1;margin:0;font-size:11px}.chart-grid,.detail-grid{gap:16px;margin-bottom:38px;display:grid}.chart-panel,.detail-panel{background:var(--surface-raised);border-top:3px solid var(--text);min-width:0;padding:17px 14px 15px}.panel-head>strong{text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px}.panel-side{align-items:center;gap:10px;display:flex}.install-wrap{position:relative}.install-btn{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.install-hint{background:var(--surface-raised);border:1px solid var(--border);z-index:60;border-radius:8px;width:250px;padding:12px 14px;font-size:13px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #00000059}.install-hint strong{margin-bottom:4px;display:block}.install-hint span{color:var(--dim);margin-bottom:10px;display:block}.install-banner{z-index:80;background:var(--surface-raised);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 8px 24px #00000059}.install-banner img{border-radius:9px;flex-shrink:0}.install-banner-text{flex:1;min-width:0;font-size:13px}.install-banner-text strong{font-size:14px;display:block}.install-banner-text span{color:var(--dim)}.install-banner-x{color:var(--dim);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:20px;line-height:1}.group-editor{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:2px 0 14px;padding:12px}.group-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.group-row>.muted{flex:1}.group-pick{flex-wrap:wrap;gap:2px 14px;max-height:132px;margin:8px 0 10px;display:flex;overflow-y:auto}.group-pick label{cursor:pointer;align-items:center;gap:5px;font-size:13px;display:flex}.group-pick input[type=checkbox]{width:auto;min-height:0}.donut-wrap{width:100%;height:220px;position:relative}.donut-center{pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.donut-center strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:23px}.donut-center span{color:var(--dim);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.legend{columns:2;column-gap:12px;margin:5px 0 0;padding:0;list-style:none}.legend li{break-inside:avoid;grid-template-columns:8px 1fr auto;align-items:center;gap:7px;margin-bottom:8px;font-size:12px;display:grid}.legend i{width:8px;height:8px}.legend span{color:var(--dim)}.chart-empty{color:var(--dim);text-align:center;place-items:center;min-height:220px;display:grid}.recharts-text{fill:var(--dim);font-size:11px}.recharts-default-tooltip{border-radius:6px;background:var(--surface-raised)!important;border-color:var(--border)!important;color:var(--text)!important}.comparison{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;margin:14px 0;padding:16px 0;display:flex}.comparison span{color:var(--dim);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.comparison strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:25px}.comparison small{font-size:12px}.compact-form{gap:11px;display:grid}.compact-form label,.form-stack label{color:var(--dim);flex-direction:column;gap:5px;font-size:12px;font-weight:700;display:flex}.form-stack label span{font-weight:400}input{border:1px solid var(--border);background:var(--bg);width:100%;min-height:44px;color:var(--text);border-radius:7px;padding:9px 10px}input:disabled{opacity:.55}.deposit-list{margin-top:16px}.deposit-list>div{border-top:1px solid var(--border);grid-template-columns:1fr auto 38px;align-items:center;gap:8px;padding:10px 0;display:grid}.deposit-list span{align-items:center;gap:6px;display:flex}.deposit-list small{color:var(--dim);font-size:11px}.deposit-list>div>strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.deposit-list button{color:var(--dim);cursor:pointer;background:0 0;border:0;font-size:18px}.deposit-list p{color:var(--dim)}.formula{color:var(--dim);margin:14px 0 0;font-size:11px}.data-panel{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:18px;margin:0 0 42px;padding:18px 0;display:flex}.data-panel p:not(.kicker){color:var(--dim);margin:5px 0 0;font-size:13px}.export-actions{flex-direction:column;gap:8px;display:flex}footer{color:var(--dim);flex-direction:column;gap:3px;font-size:12px;display:flex}footer strong{color:var(--text)}.modal-backdrop{z-index:70;padding-top:env(safe-area-inset-top);background:#020c13b3;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-height:calc(100vh - env(safe-area-inset-top));max-height:calc(100dvh - env(safe-area-inset-top));padding:18px 17px calc(env(safe-area-inset-bottom) + 18px);background:var(--surface-raised);border-radius:17px 17px 0 0;overflow-y:auto;box-shadow:0 -18px 40px #00000040}[data-theme=dark] .privacy-eye{filter:invert()}.icon-button{border:1px solid var(--border);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:26px;display:inline-flex}.form-stack{gap:14px;margin-top:18px;display:grid}.form-pair{gap:12px;display:grid}.override-box{background:var(--bg);border:1px solid var(--border);gap:11px;padding:13px;display:grid}.form-stack .check-row{color:var(--text);flex-direction:row;align-items:center}.check-row{align-items:center;gap:8px;display:flex}.check-row input{width:19px;min-height:19px;accent-color:var(--accent)}.form-note{color:var(--dim);margin:-2px 0 0;font-size:11px}.sheet-actions{justify-content:flex-end;gap:9px;margin-top:6px;display:flex}.confirm{background:var(--surface-raised);border-radius:12px;width:min(430px,100% - 30px);margin:auto;padding:20px;box-shadow:0 18px 55px #0000004d}.confirm p{color:var(--dim)}.loading{text-align:center;align-content:center;place-items:center;gap:12px;min-height:100vh;display:grid}.loader{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width>=620px){main{padding-left:24px;padding-right:24px}.hero{flex-direction:row;justify-content:space-between;align-items:flex-end}.hero-action{align-items:flex-end}.metric-strip{grid-template-columns:repeat(5,1fr)}.metric-strip article{padding:17px 15px}.holding-grid{grid-template-columns:repeat(4,1fr)}.compact-form{grid-template-columns:1fr 1fr;align-items:end}.form-pair{grid-template-columns:1fr 1fr}.realized-list article{grid-template-columns:minmax(200px,1fr) auto}.realized-meta{grid-template-columns:repeat(5,minmax(90px,1fr))}.data-panel{flex-direction:row;justify-content:space-between;align-items:center}.export-actions{flex-flow:wrap;justify-content:flex-end}.sheet{border-radius:16px;max-width:620px;max-height:calc(100vh - 40px);margin:auto}.modal-backdrop{align-items:center;padding:20px}}@media (width>=900px){main{padding-top:calc(env(safe-area-inset-top) + 30px)}.holding-list,.chart-grid,.detail-grid{grid-template-columns:1fr 1fr}.chart-grid{align-items:start}.detail-grid{align-items:stretch}.chart-panel,.detail-panel{padding:20px}}select{border:1px solid var(--border);background:var(--bg);width:100%;min-height:44px;color:var(--text);border-radius:7px;padding:9px 10px}select:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:2px}.form-triple,.details-grid,.settings-form{gap:12px;display:grid}details{border-top:1px solid var(--border);padding-top:12px}summary{cursor:pointer;color:var(--text);padding:4px 0 12px;font-weight:760}.details-grid{padding-bottom:8px}.check-row.standalone{min-height:44px;color:var(--text);flex-direction:row;align-self:end;align-items:center}.band{letter-spacing:.04em;text-transform:uppercase;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:800}.band.cheap{color:var(--positive);background:color-mix(in srgb, var(--positive) 12%, transparent)}.band.fair{color:var(--warning);background:color-mix(in srgb, var(--warning) 12%, transparent)}.band.expensive{color:var(--negative);background:color-mix(in srgb, var(--negative) 12%, transparent)}.band.unbanded,.band.n\/a{color:var(--dim);background:color-mix(in srgb, var(--dim) 10%, transparent)}.analytics-panel{border-top:3px solid var(--text);background:var(--surface-raised);margin:0 0 38px;padding:18px 14px}.analytics-grid{background:var(--border);grid-template-columns:1fr 1fr;gap:1px;margin-top:16px;display:grid}.analytics-grid>div{background:var(--surface-raised);flex-direction:column;min-width:0;padding:13px 10px;display:flex}.analytics-grid span,.what-if-controls span{color:var(--dim);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:750}.analytics-grid strong,.what-if-controls strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:17px}.analytics-grid small,.what-if-controls small{color:var(--dim);font-size:10px}.tax-grid{background:var(--border);gap:1px;margin:16px 0;display:grid}.tax-grid article{background:var(--surface-raised);flex-direction:column;padding:14px;display:flex}.tax-grid span{color:var(--dim);text-transform:uppercase;font-size:10px;font-weight:750}.tax-grid strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px}.tax-grid small{color:var(--dim)}.table-wrap{border-bottom:1px solid var(--border);width:100%;overflow-x:auto}.table-wrap.scroll-rows{max-height:214px;overflow-y:auto}table{border-collapse:collapse;width:100%;min-width:620px}table.table-narrow{min-width:0}th,td{border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding:11px 10px;font-size:12px}th:first-child,td:first-child{text-align:left}th{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;font-size:10px}td strong,td small{display:block}td small{color:var(--dim)}.calendar{margin-top:18px}.calendar h3{margin-bottom:8px}.calendar>div{border-top:1px solid var(--border);grid-template-columns:1fr 1.2fr 1.2fr auto;align-items:center;gap:8px;padding:9px 0;font-size:12px;display:grid}.calendar>div span{color:var(--dim)}.calendar>div b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.calendar p{color:var(--dim)}.threshold{color:var(--dim);align-self:center;font-size:11px}.rebalance-list{margin-top:14px}.rebalance-list>div{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:4px 12px;padding:11px 0;font-size:12px;display:grid}.rebalance-list>div>span{color:var(--dim)}.rebalance-list>div>b{text-align:right}.what-if{gap:18px;display:grid}.what-if p:not(.kicker){color:var(--dim);margin:5px 0 0}.what-if-controls{gap:11px;display:grid}.what-if-controls label{color:var(--dim);font-size:12px;font-weight:700}.what-if-controls>div{flex-direction:column;justify-content:center;display:flex}.settings-form{margin-top:16px}.settings-form label,.inline-form label,.what-if-controls label{flex-direction:column;gap:5px;display:flex}.snapshot-head{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:20px;padding-top:16px;display:flex}.snapshot-list>div{border-top:1px solid var(--border);grid-template-columns:1fr auto 36px;align-items:center;gap:8px;padding:8px 0;display:grid}.snapshot-list button{color:var(--dim);background:0 0;border:0;font-size:18px}.fx-list{margin:14px 0}.fx-list>div{border-top:1px solid var(--border);grid-template-columns:100px 100px 1fr;gap:10px;padding:9px 0;display:grid}.fx-list small,.fx-list p{color:var(--dim)}.inline-form{align-items:end;gap:10px;display:grid}.file-input{display:none}@media (width<=619px){.table-wrap{border:0;overflow-x:visible}.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{width:100%;min-width:0;display:block}.table-wrap thead{display:none}.table-wrap tr{border:1px solid var(--border);background:var(--surface-raised);margin-bottom:10px;padding:10px 12px}.table-wrap td{border-bottom:1px solid var(--border);text-align:right;white-space:normal;grid-template-columns:minmax(120px,1fr) auto;gap:12px;padding:7px 0;display:grid}.table-wrap td:last-child{border-bottom:0}.table-wrap td:before{color:var(--dim);letter-spacing:.06em;text-align:left;text-transform:uppercase;font-size:10px;font-weight:750}.table-wrap td:first-child:before{content:"Holding"}.table-wrap td:nth-child(2):before{content:"1y net"}.table-wrap td:nth-child(3):before{content:"5y net"}.table-wrap td:nth-child(4):before{content:"10y net"}.table-wrap td:nth-child(5):before{content:"Shares in 10y"}.table-wrap table.sim-table td:first-child:before{content:"Year"}.table-wrap table.sim-table td:nth-child(2):before{content:"Assets"}.table-wrap table.sim-table td:nth-child(3):before{content:"Debt"}.table-wrap table.sim-table td:nth-child(4):before{content:"Equity"}.table-wrap table.sim-table td:nth-child(5):before{content:"No margin"}.table-wrap table.sim-table td:nth-child(6):before{content:"Extra"}.table-wrap table.sim-table td:nth-child(7):before{content:"LTV"}}@media (width>=620px){.form-triple,.details-grid,.tax-grid{grid-template-columns:repeat(3,1fr)}.analytics-grid{grid-template-columns:repeat(4,1fr)}.what-if{grid-template-columns:minmax(180px,.7fr) 1.5fr;align-items:end}.what-if-controls{grid-template-columns:1fr 1fr 1fr;align-items:end}.settings-form{grid-template-columns:repeat(3,1fr);align-items:end}.settings-form .button{grid-column:span 1}.inline-form{grid-template-columns:120px 1fr auto}}@media (width>=900px){.holding-grid.six{grid-template-columns:repeat(6,1fr)}.wide-sheet{max-width:860px}.rebalance-list>div{grid-template-columns:1fr 1fr 1fr 1fr}}.btn{cursor:pointer;background:var(--text);min-height:44px;color:var(--bg);border:1px solid #0000;border-radius:9px;padding:10px 15px;font-size:14px;font-weight:700}.btn:hover:not(:disabled){background:var(--accent-strong);color:#fff}.btn:disabled{opacity:.55;cursor:default}.btn-ghost{color:var(--text);border-color:var(--border);background:0 0}.more-index{margin:2px 0 14px}.more-index-links{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.btn-ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong);background:0 0}.btn-tiny{min-height:32px;padding:5px 10px;font-size:12px}.btn-danger{color:var(--negative);background:0 0}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--negative) 12%, transparent);color:var(--negative)}.btn-row{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:flex}.tag{letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:800}.tag-auto,.tag-manual{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent-strong)}.badge{background:color-mix(in srgb, var(--warning) 14%, transparent);color:var(--warning);letter-spacing:.08em;text-transform:uppercase;border-radius:3px;padding:2px 5px;font-size:9px;font-weight:800}.cur-tag{color:var(--dim);font-size:10px;font-weight:600}.ticker{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700}.row-sample td{background:color-mix(in srgb, var(--warning) 7%, transparent)}.table-narrow{max-width:640px}.stat-grid{background:var(--surface-raised);grid-template-columns:1fr 1fr;margin:16px 0;display:grid}.stat-grid>.stat{background:var(--surface-raised);border-right:1px solid var(--border);flex-direction:column;padding:13px 10px;display:flex}.stat-grid>.stat:nth-child(2n),.stat-grid>.stat:last-child{border-right:none}.stat-grid>.stat:nth-child(n+3){border-top:1px solid var(--border)}.stat{background:var(--surface-raised);flex-direction:column;padding:13px 10px;display:flex}.stat-label{color:var(--dim);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:750}.stat-val{margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:17px}.stat-val small{color:var(--dim);font-family:inherit;font-size:12px}.add-form{flex-wrap:wrap;align-items:end;gap:10px;margin-top:14px;display:flex}.add-form>*{flex:1;min-width:130px}.empty-mark{border:1px solid var(--border);width:52px;height:52px;color:var(--accent);border-radius:50%;place-items:center;margin:0 auto 14px;font-size:28px;display:grid}.sources{color:var(--dim);margin:8px 0;padding-left:20px;font-size:13px}code{background:var(--surface);border-radius:4px;padding:1px 5px;font-size:12.5px}@media (width>=620px){.stat-grid{grid-template-columns:repeat(4,1fr)}.stat-grid>.stat:nth-child(2n){border-right:1px solid var(--border)}.stat-grid>.stat:nth-child(4n),.stat-grid>.stat:last-child{border-right:none}.stat-grid>.stat:nth-child(n+3){border-top:none}.stat-grid>.stat:nth-child(n+5){border-top:1px solid var(--border)}}.ticker-ac{position:relative}.ticker-ac input{width:100%}.ticker-ac-list{z-index:60;background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;max-height:260px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000002e}.ticker-ac-list li{cursor:pointer;border-radius:6px;align-items:baseline;gap:8px;padding:7px 9px;display:flex}.ticker-ac-list li.hi{background:color-mix(in srgb, var(--accent) 12%, transparent)}.ticker-ac-list strong{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.ticker-ac-name{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;overflow:hidden}.ticker-ac-ex{letter-spacing:.06em;color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 10%, transparent);white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:800}.ticker-ac-loading{color:var(--dim);font-size:14px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.src-list{border-top:1px solid var(--border);margin:6px 0 4px}.src-row{border-bottom:1px solid var(--border);outline:none}.src-head{cursor:pointer;align-items:baseline;gap:8px;padding:6px 2px;font-size:12.5px;display:flex}.src-head strong{white-space:nowrap}.src-head span{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.src-head i{color:var(--dim);font-style:normal;transition:transform .15s}.src-detail{color:var(--dim);max-width:62ch;padding:0 2px 9px;font-size:12px;line-height:1.55;display:none}.src-row:hover .src-detail,.src-row:focus-within .src-detail,.src-row.open .src-detail{display:block}.src-row:hover .src-head i,.src-row:focus-within .src-head i,.src-row.open .src-head i{transform:rotate(90deg)}.menu-wrap{display:inline-block;position:relative}.menu-wrap .caret{margin-left:2px;font-size:11px;transition:transform .15s;display:inline-block}.menu-wrap .caret.up{transform:rotate(180deg)}.menu-pop{z-index:70;background:var(--surface-raised);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;min-width:210px;padding:5px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 28px #0003}.menu-pop button{text-align:left;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:9px 11px;font-size:13px;font-weight:600}.menu-pop button:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 12%, transparent)}.menu-pop button:disabled{opacity:.45;cursor:default}.menu-pop-narrow{min-width:105px}.src-details{margin-top:2px}.src-details>summary{cursor:pointer;align-items:center;gap:6px;padding:6px 2px;font-size:13px;font-weight:700;list-style:none;display:flex}.src-details>summary::-webkit-details-marker{display:none}.src-details>summary:before{content:"›";color:var(--dim);font-size:15px;transition:transform .15s}.src-details[open]>summary:before{transform:rotate(90deg)}.src-details .src-list{border-top:0;margin-top:2px}.mobile-main{padding-bottom:76px}.mobile-tab-content{min-height:60vh}.mobile-tabbar{z-index:60;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-tabbar button{cursor:pointer;color:var(--dim);background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:2px;padding:9px 4px 10px;font-family:inherit;font-size:11px;font-weight:600;display:flex}.mobile-tabbar button .tab-ico{font-size:19px;line-height:1}.mobile-tabbar button.on{color:var(--accent)}.desktop-tabbar{z-index:55;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:14px;padding:8px 0;display:flex;position:sticky;top:0}.desktop-tabbar button{cursor:pointer;color:var(--dim);background:0 0;border:0;border-radius:999px;align-items:center;gap:7px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex}.desktop-tabbar button .tab-ico{font-size:16px;line-height:1}.desktop-tabbar button:hover{color:var(--accent)}.desktop-tabbar button.on{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.mobile .section-head,.mobile .panel-head,.mobile .sheet-head{flex-wrap:wrap;row-gap:8px}.mobile .export-actions{flex-flow:wrap}.update-notice{justify-content:space-between;align-items:center;gap:12px;display:flex}.update-notice .btn{flex-shrink:0}.tool-cards{gap:10px;margin-top:12px;display:grid}.tool-card{text-align:left;background:var(--surface);border:1px solid var(--border);cursor:pointer;width:100%;color:var(--text);font:inherit;border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;padding:14px;display:flex}.tool-card:hover{border-color:var(--text)}.tool-card-name{font-weight:700}.tool-card-blurb{color:var(--muted,#55645b);font-size:.9em}.tool-card-open{margin-top:4px;font-size:.85em;font-weight:600}.sim-controls{gap:14px;margin:16px 0;display:grid}@media (width>=768px){.sim-controls{grid-template-columns:1fr 1fr}}.sim-control label{margin-bottom:6px;font-size:.9em;font-weight:600;display:block}.sim-control-row{align-items:center;gap:10px;display:flex}.sim-control-row input[type=range]{flex:1;min-width:0}.sim-value{white-space:nowrap;align-items:center;gap:2px;display:inline-flex}.sim-value input[type=number]{width:84px}.sim-presets{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.sim-reset{justify-self:start}.sim-chart{min-width:0;margin:18px 0}.sim-disclaimer{border-top:1px solid var(--border);margin-top:18px;padding-top:12px}.sim-head-actions{flex-wrap:wrap;gap:8px;display:inline-flex}
