:root {
    color-scheme: light;
    --ink: #182f2b;
    --muted: #61756f;
    --green: #166650;
    --line: #dfe7e2;
    --surface: #fff;
    --header-bg: #fff;
    --header-line: #dfe7e2;
    --bg: #f4f7f4;
    --link-hover: #093d2f;
    --accent-hover: #0f513f;
    --focus: #ad7010;
    --action-bg: #166650;
    --action-hover: #0f513f;
    --control-line: #c6d8ce;
    --input-line: #becfc4;
    --hover: #eef5f0;
    --danger: #9b3133;
    --danger-hover: #722224;
    --danger-link: #9b3133;
    --danger-link-hover: #722224;
    --badge-bg: #edf3ee;
    --badge-line: #dce8df;
    --badge-ink: #466553;
    --table-line: #e8ede9;
    --table-bg: #f5f8f5;
    --success-bg: #ebf6ee;
    --success-line: #b8d9c0;
    --success-ink: #215a3d;
    --warning-bg: #fff8e9;
    --warning-line: #eddbaf;
    --warning-ink: #76541a;
    --error-bg: #fff0ed;
    --error-ink: #9b3530;
    --error-line: #e7bfba;
    --warning: #8d621c;
    --negative: #a03e36;
    --positive: #137044;
    --soft: #eaf3ec;
    --backdrop: #182f2b66;
    --shadow: #163a3012;
    --hero-start: #123e34;
    --hero-end: #1b6b56;
    --chart-line: #d7e2de;
    --chart-raw: #778983;
    --chart-cgt: #12634f;
    --snapshot-auto: #3d70b3;
    --snapshot-adjustment: #986b22;
    --trend-investments: #865bb0;
    --scenario-start: #eee3ff;
    --scenario-end: #dfd6ff;
    --scenario-ink: #4b2476;
    --scenario-line: #956bb9;
    --radius: 16px;
    font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color: var(--ink);
    background: var(--bg);
    font-size: 15px;
    line-height: 1.55;
}
:root[data-theme="dark"] {
    color-scheme: dark;
    --ink: #ededed;
    --muted: #bcbcbc;
    --green: #79d8b2;
    --line: #3b3b3b;
    --surface: #242424;
    --bg: #161616;
    --header-bg: #242424;
    --header-line: #3b3b3b;
    --link-hover: #aff0d1;
    --accent-hover: #aff0d1;
    --focus: #f2c56e;
    --control-line: #808080;
    --input-line: #808080;
    --hover: #303030;
    --danger-link: #ff9f96;
    --danger-link-hover: #ffc5be;
    --badge-bg: #303030;
    --badge-line: #484848;
    --badge-ink: #cccccc;
    --table-line: #373737;
    --table-bg: #2b2b2b;
    --success-bg: #203c2b;
    --success-line: #456d50;
    --success-ink: #a7e3b9;
    --warning-bg: #3a3020;
    --warning-line: #816637;
    --warning-ink: #f2d08b;
    --error-bg: #3e2726;
    --error-ink: #ffb5a9;
    --error-line: #865047;
    --warning: #f2c56e;
    --negative: #ff9f96;
    --positive: #75dca6;
    --soft: #2c2c2c;
    --backdrop: #00000088;
    --shadow: #00000033;
    --hero-start: #0d3229;
    --hero-end: #144b3b;
    --chart-line: #646464;
    --chart-raw: #afafaf;
    --chart-cgt: #79d8b2;
    --snapshot-auto: #83b1ed;
    --snapshot-adjustment: #e3b55e;
    --trend-investments: #c3a1e6;
    --scenario-start: #352342;
    --scenario-end: #302549;
    --scenario-ink: #eedcff;
    --scenario-line: #be96e6;
}
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]):not([data-theme="dark"]) {
        color-scheme: dark;
        --ink: #ededed;
        --muted: #bcbcbc;
        --green: #79d8b2;
        --line: #3b3b3b;
        --surface: #242424;
        --bg: #161616;
        --header-bg: #242424;
        --header-line: #3b3b3b;
        --link-hover: #aff0d1;
        --accent-hover: #aff0d1;
        --focus: #f2c56e;
        --control-line: #808080;
        --input-line: #808080;
        --hover: #303030;
        --danger-link: #ff9f96;
        --danger-link-hover: #ffc5be;
        --badge-bg: #303030;
        --badge-line: #484848;
        --badge-ink: #cccccc;
        --table-line: #373737;
        --table-bg: #2b2b2b;
        --success-bg: #203c2b;
        --success-line: #456d50;
        --success-ink: #a7e3b9;
        --warning-bg: #3a3020;
        --warning-line: #816637;
        --warning-ink: #f2d08b;
        --error-bg: #3e2726;
        --error-ink: #ffb5a9;
        --error-line: #865047;
        --warning: #f2c56e;
        --negative: #ff9f96;
        --positive: #75dca6;
        --soft: #2c2c2c;
        --backdrop: #00000088;
        --shadow: #00000033;
        --hero-start: #0d3229;
        --hero-end: #144b3b;
        --chart-line: #646464;
        --chart-raw: #afafaf;
        --chart-cgt: #79d8b2;
        --snapshot-auto: #83b1ed;
        --snapshot-adjustment: #e3b55e;
        --trend-investments: #c3a1e6;
        --scenario-start: #352342;
        --scenario-end: #302549;
        --scenario-ink: #eedcff;
        --scenario-line: #be96e6;
    }
}
.header-tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:18px}
.theme-control{display:flex;align-items:center;flex-wrap:wrap;gap:6px;max-width:250px}
.theme-control select{width:auto;min-height:44px;margin:0;padding:7px 10px;font-size:.85rem}
.theme-feedback{flex-basis:100%}
@media(max-width:800px){
    .site-header .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto}
    .site-header .header-tools{display:contents}
    .site-header nav{grid-column:1/-1;grid-row:2}
    .site-header .theme-control{grid-column:2;grid-row:1;max-width:140px}
    .site-header .brand{grid-column:1;grid-row:1}
}
.button.danger:hover{background:var(--danger-hover)}
.chart-axis{stroke:var(--chart-line)}.raw-series{stroke:var(--chart-raw)}.raw-marker{fill:var(--chart-raw)}.cgt-series{stroke:var(--chart-cgt)}.cgt-marker{fill:var(--chart-cgt)}
.summary-layout>.summary-hero{display:block;min-width:0;margin:0;padding:20px;border:1px solid transparent;border-radius:12px}
.summary-layout>.summary-hero .eyebrow{font-size:.7rem;line-height:1.5;margin:0 0 10px}
.summary-layout>.summary-hero .hero-value{font-size:clamp(2rem,3.2vw,2.8rem);line-height:1.3}
.summary-layout>.summary-hero .raw-value{font-size:.85rem}
.summary-layout>.summary-hero p:not(.eyebrow){font-size:.83rem}
.summary-breakdown>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:1000px){.container .summary-layout{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){
    .summary-layout>.summary-hero{padding:17px}
    .summary-layout>.summary-hero .hero-value{font-size:clamp(1.35rem,6.4vw,2rem)}
    .summary-layout>.metric>strong{font-size:clamp(1rem,4.8vw,1.4rem)}
}
@media(max-width:480px){.summary-layout>.summary-hero,.summary-layout>.metric{padding:12px}.summary-layout .summary-breakdown{grid-template-columns:minmax(0,1fr)}}
.raw-value{font-size:.75rem;font-weight:400;letter-spacing:normal;color:var(--muted);line-height:1.5}.hero .raw-value{color:#d1e5da;font-size:.85rem}.cgt-note{color:var(--muted)}.account-heading-actions{flex-wrap:wrap}.account-total{text-align:right}
*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-underline-offset:3px}a:hover{color:var(--link-hover)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,4vw,2.7rem);letter-spacing:-.045em;line-height:1.15;margin-bottom:12px}h2{font-size:1.3rem;letter-spacing:-.025em;margin-bottom:10px}h3{font-size:1.2rem;margin:8px 0}p{margin-bottom:15px}.container{max-width:1240px;margin:auto;padding:32px 28px}.site-header{background:var(--header-bg);border-bottom:1px solid var(--header-line)}.header-inner{max-width:1240px;padding:20px 28px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-weight:760;font-size:1.4rem;text-decoration:none;letter-spacing:-.04em}.brand-icon{background:var(--action-bg);color:white;border-radius:11px;padding:5px 11px;font-size:1.3rem}.brand-sub{font-size:.7rem;color:var(--muted);letter-spacing:.02em;border-left:1px solid var(--line);margin-left:8px;padding-left:16px;font-weight:500}nav{display:flex;flex-wrap:wrap;gap:22px;align-items:center;font-size:.9rem}nav a{text-decoration:none;color:var(--muted);font-weight:600}.text-button{border:0;background:none;padding:0;color:var(--green);text-decoration:underline;text-underline-offset:3px}.page-heading,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.page-heading{margin:12px 0 24px}.section-heading{margin:26px 0 16px}.section-heading p{margin-bottom:0}.eyebrow{font-size:.7rem;letter-spacing:.14em;font-weight:750;color:var(--green);margin-bottom:12px}.muted{color:var(--muted)}.small{font-size:.8rem}.block{display:block}.actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.actions form,nav form{margin:0}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--action-bg);color:white;border:1px solid transparent;border-radius:9px;padding:11px 18px;font-weight:650;font-size:.9rem;text-decoration:none;min-height:44px}.button:hover{background:var(--action-hover);color:white}.add-icon{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--control-line);border-radius:50%;font-size:1.35rem;line-height:1;text-decoration:none;background:var(--surface);color:var(--green)}.add-icon:hover{background:var(--hover);color:var(--accent-hover)}.edit-actions{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.edit-secondary-actions{display:flex;align-items:center;gap:18px;font-size:.88rem}.danger-link{color:var(--danger-link)}.danger-link:hover{color:var(--danger-link-hover)}.button.secondary{background:var(--surface);color:var(--green);border-color:var(--control-line)}.button.secondary:hover{background:var(--hover)}.button.compact{padding:6px 12px}.button.danger{background:var(--danger)}.full{width:100%}.hero{border-radius:var(--radius);padding:32px 36px;background:linear-gradient(115deg,var(--hero-start),var(--hero-end));color:#fff;display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:24px;box-shadow:0 8px 26px var(--shadow)}.hero .eyebrow{color:#acd4c2}.hero-value{font-size:clamp(2rem,5vw,3.6rem);font-weight:650;letter-spacing:-.045em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.hero-value span{font-size:1rem;letter-spacing:.03em;font-weight:450;color:#b7ddcc}.hero p{font-size:.83rem;color:#d1e5da;margin-bottom:0;margin-top:10px}.hero-note{font-size:.8rem;color:#c1ddd0;border-left:1px solid #ffffff30;padding-left:25px;max-width:250px}.hero-note strong{display:block;color:#fff;font-weight:500;margin-top:8px}.summary-layout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:24px 0}.metric{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;min-width:0}.metric p{color:var(--muted);font-size:.85rem;margin-bottom:10px}.metric strong{font-size:1.6rem;font-weight:650;letter-spacing:-.035em;display:block;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.metric span{font-size:.73rem;color:var(--muted)}.summary-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.summary-breakdown span{font-size:.7rem}.summary-breakdown b{color:var(--ink);display:block;font-size:.9rem;font-variant-numeric:tabular-nums;margin-top:2px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:20px}.account .section-heading{margin:0 0 12px}.account-heading-actions{display:flex;align-items:center;gap:28px}.account-total{font-size:1.05rem;font-variant-numeric:tabular-nums;white-space:nowrap}.account-total .small{font-weight:500}.archived{opacity:.7}.badge{font-size:.67rem;letter-spacing:.035em;display:inline-block;background:var(--badge-bg);border:1px solid var(--badge-line);color:var(--badge-ink);padding:3px 8px;border-radius:6px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.86rem}th,td{padding:15px 12px;text-align:left;border-bottom:1px solid var(--table-line);vertical-align:top}th{font-size:.7rem;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);font-weight:650}tbody tr:last-child td{border-bottom:0}tfoot{background:var(--table-bg);font-weight:700}.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.provenance{font-size:.76rem;max-width:400px;overflow-wrap:anywhere}.notice{padding:17px 20px;border:1px solid;border-radius:12px;margin-bottom:20px;font-size:.9rem}.notice ul{margin-bottom:0;padding-left:22px}.notice.success{background:var(--success-bg);border-color:var(--success-line);color:var(--success-ink)}.notice.warning{background:var(--warning-bg);border-color:var(--warning-line);color:var(--warning-ink)}.notice.error,.errorlist{background:var(--error-bg);color:var(--error-ink);border-color:var(--error-line)}.warning-text{color:var(--warning)}.error-text{color:var(--negative)}.gain{font-size:.78rem;font-weight:700;margin-top:3px}.gain-positive{color:var(--positive)}.gain-negative{color:var(--negative)}.gain-neutral{color:var(--muted)}.errorlist{list-style:none;padding:12px;border-radius:8px;font-size:.86rem}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.two-columns>.panel{min-width:0}.empty{text-align:center;padding:54px 25px}.empty p{color:var(--muted);max-width:700px;margin:15px auto 24px}.empty-icon{display:inline-grid;place-items:center;background:var(--soft);color:var(--green);width:64px;height:64px;border-radius:18px;font-size:2rem;margin-bottom:16px}.narrow{max-width:740px;margin:20px auto}.login-card{max-width:460px;margin:55px auto;padding:36px}.login-card h1{font-size:2.25rem}.footer{color:var(--muted);font-size:.75rem;border-top:1px solid var(--line);margin-top:35px;padding-top:25px;padding-bottom:35px}label,legend{font-weight:600;font-size:.9rem}label{display:block;margin-bottom:7px}input:not([type=checkbox]):not([type=hidden]),select,textarea{display:block;width:100%;border:1px solid var(--input-line);background:var(--surface);border-radius:8px;padding:11px 12px;color:var(--ink);margin-top:5px}textarea{resize:vertical}input[type=checkbox]{accent-color:var(--green);height:19px;width:19px;vertical-align:middle;margin-right:7px}.helptext{font-size:.8rem;display:block;color:var(--muted);margin-top:6px}fieldset{border:1px solid var(--line);border-radius:10px;margin:12px 0 20px;padding:15px}fieldset p{margin:10px 0 0}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.checkbox-grid label{font-weight:450}details summary{cursor:pointer;font-weight:650}details[open] summary{margin-bottom:15px}.cache-row{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:12px 0;overflow-wrap:anywhere}.cache-row:last-child{border:0}.chart{width:100%;max-height:300px;display:block}hr{border:0;border-top:1px solid var(--line);margin:22px 0}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:10px;z-index:10;background:var(--surface);padding:12px}
@media(max-width:800px){.brand-sub{display:none}.header-inner{flex-wrap:wrap;padding:15px 20px;gap:15px}nav{gap:17px}.container{padding:24px 18px}.hero{padding:25px;align-items:flex-start}.hero-note{display:none}.summary-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.two-columns{grid-template-columns:1fr;gap:0}.panel{padding:18px}.page-heading{align-items:flex-start}.page-heading>.actions{width:100%}.account .section-heading{align-items:flex-start}.account-heading-actions{gap:18px}.metric{padding:17px}.metric strong{font-size:1.4rem}.summary-breakdown{margin-top:12px;padding-top:10px;gap:5px}.table-scroll{padding:10px}th,td{padding:13px 9px}.provenance{min-width:200px}.login-card{margin:30px auto}.cache-row{flex-direction:column;align-items:flex-start}.footer{font-size:.72rem}}
@media(prefers-reduced-motion:no-preference){a,button{transition:background-color .15s,color .15s}}
.icon-button{display:inline-grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--green)}.icon-button:hover{background:var(--soft);border-color:var(--line)}.sync-button[data-state=warning]{color:var(--warning)}.sync-button[data-state=failure]{color:var(--negative)}.sync-button:disabled{opacity:1;cursor:progress}#sync-dialog{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;max-width:680px;width:calc(100% - 32px);max-height:85vh;overflow:auto}#sync-dialog::backdrop{background:var(--backdrop)}.sync-result{border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:12px;overflow-wrap:anywhere}.sync-result p{margin-bottom:8px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.overview-heading{flex-wrap:nowrap;align-items:center;gap:12px;margin:0 0 16px}.overview-heading h1.eyebrow{font-size:.7rem;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;margin:0}.overview-heading>.actions{width:auto;flex-wrap:nowrap;gap:4px}.add-icon.add-account{width:44px;height:44px;background:var(--action-bg);border-color:var(--action-bg);color:#fff}.add-icon.add-account:hover{background:var(--action-hover)}.inline-instrument-search{margin-bottom:16px}.instrument-fallback{margin:16px 0}.instrument-fallback summary{font-size:.85rem}
@media(prefers-reduced-motion:no-preference){.sync-button[data-state=running] svg{animation:sync-rotate 1s linear infinite}@keyframes sync-rotate{to{transform:rotate(360deg)}}}
.performance-holding{border-top:1px solid var(--line);margin:12px 0 0;padding-top:12px;font-size:.8rem}.performance-holding>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:6px 0}.performance-holding dt{color:var(--muted);flex-shrink:0}.performance-holding dd{margin:0;text-align:right;overflow-wrap:anywhere;font-weight:650;font-variant-numeric:tabular-nums}.performance-holding .holding-up{color:var(--positive)}.performance-holding .holding-down{color:var(--negative)}.performance-holding .holding-flat{color:var(--muted)}
.account .account-details>summary{list-style:none;margin:0;min-height:44px}.account-details>summary::-webkit-details-marker{display:none}.account-name{display:flex;align-items:center;gap:10px;min-width:0}.account-name h3{overflow-wrap:anywhere}.account-chevron{flex-shrink:0;color:var(--green)}.account-details[open] .account-chevron{transform:rotate(90deg)}.account-details>.table-scroll{padding-top:12px}@media(prefers-reduced-motion:no-preference){.account-chevron{transition:transform .2s ease-out}}
.performance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.performance-card{min-width:0;max-width:100%;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:18px}.performance-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.performance-title a{font-weight:700;text-decoration:none}.performance-name{margin:5px 0 12px;overflow-wrap:anywhere}.performance-price{font-size:1.35rem;font-weight:650;overflow-wrap:anywhere;margin-bottom:5px;font-variant-numeric:tabular-nums}.performance-change{font-weight:650;font-variant-numeric:tabular-nums;margin-bottom:8px}.performance-up .performance-change,.performance-up .performance-chart{color:var(--positive)}.performance-down .performance-change,.performance-down .performance-chart{color:var(--negative)}.performance-flat .performance-change,.performance-flat .performance-chart{color:var(--muted)}.performance-chart{width:100%;height:56px;display:block;margin:8px 0}.performance-stamp{margin:10px 0 0;font-size:.7rem}.performance-section>.section-heading{margin-bottom:12px}.performance-section h2{margin-bottom:0}
[hidden]{display:none!important}.company-results{list-style:none;margin:12px 0;padding:0;border:1px solid var(--line);border-radius:8px;max-height:320px;overflow:auto}.company-results li{padding:14px;cursor:pointer;overflow-wrap:anywhere;min-height:44px}.company-results li:hover,.company-results li[aria-selected=true]{background:var(--soft);outline:2px solid var(--green);outline-offset:-2px}.search-result{margin:12px 0}.search-result button{white-space:normal;overflow-wrap:anywhere}.narrow input,.narrow select{min-width:0;max-width:100%}.narrow .notice{overflow-wrap:anywhere}.type-step{margin-bottom:14px}
.display-controls{display:flex;align-items:center;gap:2px}
.display-controls .theme-control{position:relative;max-width:none}
.display-controls .theme-feedback{position:absolute;top:48px;right:0;z-index:20;width:240px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:8px}
.money-value{display:inline-block;font:inherit!important;letter-spacing:inherit!important;color:inherit!important}
html[data-private=true]:not([data-privacy-ready]) main{visibility:hidden}
html[data-private=true] .money-value,html[data-private=true] .numeric,html[data-private=true] .holding-native,html[data-private=true] .account-share,html[data-private=true] .allocation-legend,html[data-private=true] input[inputmode=decimal]{filter:blur(7px);user-select:none}
html[data-private=true] .trend-chart,html[data-private=true] .performance-chart,html[data-private=true] .allocation-bar,html[data-private=true] .chart{visibility:hidden}
html[data-private=true] input[name=amount],html[data-private=true] input[name=purchase_price_usd],html[data-private=true] .performance-change{filter:blur(7px);user-select:none}
.site-header nav a:hover{color:var(--ink)}
.overview-charts{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;margin-bottom:12px}
.overview-charts .panel{min-width:0;margin-bottom:0}
.overview-charts .section-heading{margin:0 0 16px;gap:8px}
.overview-charts h2{font-size:1.05rem;margin:0}
.range-controls{display:flex;gap:2px;background:var(--bg);padding:3px;border-radius:9px}
.range-controls button{border:0;background:transparent;color:var(--muted);min-height:34px;padding:5px 12px;font-size:.76rem;border-radius:6px}
.range-controls button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 5px var(--shadow)}
.trend-change{margin:0;min-height:24px}
.trend-change strong{font-size:1.15rem}
.trend-chart{width:100%;height:170px;display:block;overflow:visible}
.trend-point{fill:var(--green);stroke:var(--surface);stroke-width:2;cursor:pointer}
.trend-point:hover,.trend-point:focus{r:7;stroke:var(--green)}
.chart-dates{display:flex;justify-content:space-between;font-size:.7rem;gap:10px}
.trend-basis{margin:16px 0 0;font-size:.7rem}
.chart-tooltip{min-height:20px;margin:6px 0 0;color:var(--green)}
.allocation-bar{display:block;width:100%;height:12px;border-radius:6px;overflow:hidden;margin:25px 0}
.allocation-cash{fill:#49a78b;background:#49a78b}
.allocation-investment{fill:#7c9bd1;background:#7c9bd1}
.allocation-crypto{fill:#b095d0;background:#b095d0}
.allocation-property{fill:#d4ae68;background:#d4ae68}
.allocation-vehicle{fill:#cb8c93;background:#cb8c93}
.allocation-pension{fill:#a0b599;background:#a0b599}
.allocation-legend{list-style:none;margin:0 0 20px;padding:0;font-size:.76rem}
.allocation-legend li{display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(65px,auto);gap:10px;align-items:center;padding:7px 0}
.allocation-legend li>span:nth-child(2){text-align:right;color:var(--muted)}
.allocation-legend strong{text-align:right;font-weight:550}
.allocation-label{display:flex;align-items:center;gap:8px}
.allocation-label i{width:7px;height:7px;flex-shrink:0;border-radius:50%}
.allocation-panel>p:last-child{margin-bottom:0;font-size:.7rem}
.market-watchlist{display:block;border:1px solid var(--line);border-radius:12px;overflow:visible;background:var(--surface)}
.market-watchlist>.performance-card{padding:0;border:0;border-radius:0;border-bottom:1px solid var(--line);background:transparent}
.market-watchlist>.performance-card:last-child{border:0}
.market-row{position:relative;display:grid;grid-template-columns:minmax(120px,1.4fr) minmax(90px,1fr) minmax(80px,1fr) minmax(65px,.65fr) minmax(95px,1fr) 16px;gap:20px;align-items:center;padding:15px 22px;list-style:none}
.market-row::-webkit-details-marker{display:none}
.market-row:hover{background:var(--hover)}
.performance-card[open]>.market-row{margin-bottom:0;background:var(--hover)}
.market-identity{min-width:0}
.market-identity>strong{font-size:.86rem}
.market-row .performance-name{display:block;margin:4px 0 0;font-size:.72rem;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.market-row .performance-chart{height:35px;width:100%;margin:0;min-width:0}
.market-row .performance-price{font-size:.9rem;text-align:right;margin:0;overflow-wrap:anywhere}
.market-row .performance-change{font-size:.78rem;text-align:right;margin:0}
.market-total{font-size:.85rem;text-align:right;font-variant-numeric:tabular-nums}
.market-total .small{font-size:.65rem;font-weight:400;margin-bottom:3px}
.market-chevron{color:var(--muted);transition:transform .2s}
.performance-card[open] .market-chevron{transform:rotate(180deg)}
.market-expanded{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:0 22px 18px}
.market-expanded .performance-holding{border:0;margin:0}
.market-source{padding-top:12px}
.market-source p{margin-bottom:7px}
.market-tooltip{position:absolute;left:20px;bottom:-12px;z-index:3;max-width:calc(100% - 24px);overflow-wrap:anywhere;pointer-events:none;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:5px 8px;font-size:.68rem;font-weight:400;margin:0;box-shadow:0 2px 8px var(--shadow)}
.account.panel{position:relative;padding:0;margin-bottom:10px;border-radius:12px}
.account .account-details>summary{display:grid;grid-template-columns:minmax(0,1fr) 105px minmax(120px,auto);gap:28px;padding:22px 68px 22px 22px}
.account-name h3{font-size:.96rem;margin:0}
.account-total{font-size:.95rem;min-width:0}
.account-total .raw-value{font-size:.65rem}
.account-share{display:flex;align-items:center;gap:9px;min-width:0}
.account-share svg{width:60px;height:4px;border-radius:2px}
.account-share span{font-size:.7rem;font-variant-numeric:tabular-nums}
.share-track{fill:var(--line)}
.share-fill{fill:var(--green)}
.account-menu{position:absolute;right:15px;top:15px;z-index:4}
.account-menu>summary{display:grid;place-items:center;list-style:none;width:38px;height:38px;border-radius:50%;font-size:1.35rem;color:var(--muted)}
.account-menu>summary::-webkit-details-marker{display:none}
.account-menu[open]>summary,.account-menu>summary:hover{background:var(--hover);color:var(--green);margin:0}
.menu-links{position:absolute;right:0;top:42px;display:grid;min-width:150px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 26px var(--shadow)}
.menu-links a{padding:12px;font-size:.83rem;text-decoration:none;border-radius:6px}
.menu-links a:hover{background:var(--hover)}
.account-holdings{border-top:1px solid var(--line);padding:0 22px}
.holding-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.2fr);gap:12px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center;font-size:.84rem}
.holding-row:last-child{border:0}
.holding-row .small{font-size:.72rem}
.holding-native,.holding-value{text-align:right;overflow-wrap:anywhere}
.holding-detail{grid-column:1/-1;font-size:.72rem;color:var(--muted)}
.holding-detail>summary{font-size:.72rem;font-weight:500;width:max-content;min-height:24px}
.holding-detail[open]>summary{margin-bottom:12px}
.holding-provenance{padding:15px;background:var(--bg);border-radius:8px;overflow-wrap:anywhere}
.holding-provenance p:last-child{margin:0}
@media(max-width:1000px){.market-row{gap:14px}.account .account-details>summary{gap:18px}}
@media(max-width:800px){
 .site-header .display-controls{grid-column:2;grid-row:1}.site-header .display-controls .theme-control{max-width:none}
 .overview-charts{grid-template-columns:minmax(0,1fr)}
 .market-row{grid-template-columns:minmax(85px,1.2fr) minmax(70px,1fr) minmax(70px,1fr) 16px;gap:12px;padding:14px 16px}
 .market-row .performance-chart,.market-chart-empty{grid-row:2;grid-column:1;max-width:110px;height:26px}
 .market-row .performance-price{grid-column:2;grid-row:1}
 .market-row .performance-change{grid-column:2;grid-row:2}
 .market-total{grid-column:3;grid-row:1/3}
 .market-chevron{grid-column:4;grid-row:1/3}
 .market-expanded{grid-template-columns:minmax(0,1fr);gap:0;padding:0 16px 16px}
 .account .account-details>summary{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:20px 56px 20px 16px}
 .account-share{display:none}.account-total{font-size:.85rem}.account-name h3{font-size:.88rem}
 .account-holdings{padding:0 16px}
}
@media(max-width:480px){
 .overview-charts .panel{padding:16px}.allocation-legend li{gap:7px}
 .account .account-details>summary{grid-template-columns:minmax(0,1fr);gap:10px}
 .account-total{text-align:left;padding-left:28px}.account-menu{top:12px;right:9px}
 .market-row{gap:8px;grid-template-columns:minmax(65px,1fr) minmax(65px,1fr) minmax(70px,1fr) 12px;padding:14px 12px}
 .market-identity>strong{font-size:.8rem}.market-row .performance-price{font-size:.8rem}.market-total{font-size:.78rem}
 .holding-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .holding-native{grid-column:1;text-align:left}.holding-value{grid-column:2;grid-row:1/3}
}
@media(prefers-reduced-motion:no-preference){.market-row,.account-heading{transition:background-color .15s}.trend-point{transition:r .15s}}
@media(prefers-reduced-motion:reduce){.market-chevron{transition:none}}
.dot-manual{fill:var(--green);background:var(--green)}
.dot-automatic{fill:var(--snapshot-auto);background:var(--snapshot-auto)}
.dot-imported{fill:var(--chart-raw);background:var(--chart-raw)}
.dot-current{fill:var(--surface);background:var(--surface);stroke:var(--green);stroke-width:2}
.snapshot-change-ring{fill:none;stroke:var(--snapshot-adjustment);stroke-width:2.5}
.snapshot-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin:16px 0 0;font-size:.68rem}
.snapshot-legend>span{display:flex;align-items:center;gap:6px}
.snapshot-legend i{display:inline-block;width:8px;height:8px;border-radius:50%}
.snapshot-legend .dot-changed{background:transparent;border:2px solid var(--snapshot-adjustment);width:12px;height:12px}
.snapshot-legend .dot-current{border:1px solid var(--green)}
.property-source{overflow-wrap:anywhere}
.series-controls{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}
.series-controls button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;min-height:36px;padding:7px 10px;font-size:.73rem}
.series-controls button[aria-pressed=true]{border-color:var(--green);background:var(--soft);color:var(--green)}
.series-controls button:hover{background:var(--hover)}
.history-chart{min-width:0}
.history-chart>.section-heading{margin:0 0 16px}
.history-chart h2{font-size:1.05rem;margin:0;overflow-wrap:anywhere}
.history-chart .trend-range-change{margin:6px 0;color:var(--muted)}
.history-chart .trend-scale{font-size:.7rem;margin:6px 0 0}
.history-line{stroke:var(--green)}
.history-line-cash{stroke:var(--snapshot-auto)}
.history-line-investments{stroke:var(--trend-investments)}
.history-line-physical{stroke:var(--snapshot-adjustment)}
.inline-history{padding:20px;border-top:1px solid var(--line);min-width:0;background:var(--surface);border-radius:0 0 12px 12px}
.entity-history>summary{display:grid;place-items:center;list-style:none;width:38px;height:38px;min-height:38px;color:var(--muted);border-radius:50%;margin:0}
.entity-history>summary::-webkit-details-marker{display:none}
.entity-history[open]>summary,.entity-history>summary:hover{color:var(--green);background:var(--hover);margin:0}
.account-history>summary{position:absolute;right:55px;top:15px}
.account .account-details>summary{padding-right:106px}
.asset-history{grid-column:1/-1}
.holding-row{position:relative}
.asset-history>summary{position:absolute;right:0;top:10px}
.holding-value{padding-right:42px}
.account-history .inline-history,.asset-history .inline-history{border-radius:10px}
.account-history .inline-history{margin:0 12px 12px}
.asset-history .inline-history{border:1px solid var(--line)}
.entity-history .chart-tooltip{font-size:.7rem;overflow-wrap:anywhere}
.market-session{display:block;font-size:.62rem;font-weight:400;margin-top:3px;overflow-wrap:anywhere}
.scenario-number{display:inline-block;position:relative;background:linear-gradient(115deg,var(--scenario-start),var(--scenario-end));color:var(--scenario-ink)!important;border-radius:4px;box-shadow:0 0 0 1px var(--scenario-line);padding:0;max-width:100%;cursor:help;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}
.scenario-tooltip{display:none;position:absolute;z-index:25;right:0;bottom:calc(100% + 8px);width:230px;max-width:70vw;padding:9px 12px;border:1px solid var(--scenario-line);border-radius:8px;background:var(--surface);color:var(--ink)!important;font-size:.75rem!important;font-weight:450!important;line-height:1.6!important;letter-spacing:normal!important;white-space:normal;overflow-wrap:anywhere;box-shadow:0 4px 20px var(--shadow)}
.scenario-number:hover>.scenario-tooltip,.scenario-number:focus>.scenario-tooltip{display:block}
.hero .scenario-tooltip{right:auto;left:0}
.scenario-number[data-tip-align="left"]>.scenario-tooltip{left:0;right:auto}
.scenario-number[data-tip-align="right"]>.scenario-tooltip{left:auto;right:0}
.scenario-point{fill:var(--scenario-line);stroke:var(--scenario-ink)}
.scenario-market .performance-chart{filter:grayscale(1);opacity:.65}
.scenario-market .performance-change,.scenario-market .market-source,.scenario-market .market-session,.scenario-market .performance-holding>div:last-child{color:var(--muted);opacity:.85}
.scenario-market .performance-holding .holding-up,.scenario-market .performance-holding .holding-down,.scenario-market .performance-holding .holding-flat{color:var(--muted)}
.scenario-actual-price{font-size:.65rem;margin-top:4px;font-weight:400}
.account-share>span{white-space:nowrap}
.scenario-banner{background:linear-gradient(115deg,var(--scenario-start),var(--scenario-end));border-color:var(--scenario-line);color:var(--scenario-ink)}
.scenario-banner .text-button{color:var(--scenario-ink)}
#whatif-dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);width:calc(100% - 32px);max-width:620px;max-height:85vh;overflow:auto;padding:24px}
#whatif-dialog::backdrop{background:var(--backdrop)}
#whatif-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}
#whatif-inputs>p{min-width:0}
html[data-private=true] .scenario-number,html[data-private=true] #whatif-inputs input{filter:blur(7px);user-select:none}
html[data-private=true] .scenario-number .scenario-tooltip{display:none}
@media(max-width:480px){#whatif-inputs{grid-template-columns:minmax(0,1fr)}#whatif-dialog{padding:18px}}
.projection-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}
.projection-fields>p{min-width:0}
.award-card{margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}
.award-settings .award-card>summary{padding:5px 0;font-size:.95rem;margin-bottom:0;overflow-wrap:anywhere}
.award-settings .award-card[open]>summary{margin-bottom:8px}
#projection-form .projection-fields>p{margin:5px 0}
#projection-form input:not([type=hidden]):not([type=checkbox]),#projection-form select{padding:7px 9px;min-height:36px;max-width:180px;font-size:.9rem}
#projection-form select[name$="_position"]{max-width:320px;width:100%}
#projection-form input[name$="_years"],#projection-form select[name=years]{max-width:90px}
#projection-form input[name$="_last"]{max-width:110px}
#projection-form label{font-size:.85rem;margin-bottom:4px}
#projection-form .helptext{font-size:.75rem;line-height:1.4;margin-top:4px}
@media(min-width:1000px){#projection-form .projection-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){#projection-form input:not([type=hidden]):not([type=checkbox]),#projection-form select{font-size:1rem;min-height:40px}}
.award-settings{margin-top:20px}
.projection-svg{display:block;width:100%;height:260px}
.projection-line{stroke:var(--trend-investments)}
.projection-point{fill:var(--surface);stroke:var(--trend-investments);stroke-width:2}
.projection-point:hover,.projection-point:focus{fill:var(--trend-investments)}
.projection-tooltip{color:var(--green);min-height:20px}
.mortgage-estimate{padding:10px;border-left:2px solid var(--snapshot-adjustment);overflow-wrap:anywhere}
html[data-private=true] .projection-svg,html[data-private=true] .projection-tooltip,html[data-private=true] .projection-fields input,html[data-private=true] .mortgage-estimate,html[data-private=true] .mortgage-form input:not([type=hidden]):not([type=checkbox]){filter:blur(7px);user-select:none}
@media(max-width:600px){.projection-fields{grid-template-columns:minmax(0,1fr)}.projection-svg{height:180px}}
@media(max-width:800px){.account .account-details>summary{padding-right:96px}.inline-history{padding:16px}}
@media(max-width:480px){.account-history>summary{right:48px;top:12px}.account .account-details>summary{padding-right:94px}.account-history .inline-history{margin:0 8px 8px}.inline-history{padding:12px}.holding-value{padding-right:34px}.history-chart>.section-heading{gap:8px}}
