@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600&family=Inter:wght@400;500;600&display=swap');
:root{color-scheme:dark;--bg:#080f1c;--panel:#101b2d;--raised:#1a2940;--line:#273750;--text:#e7eff9;--muted:#a9b9ce;--number:#f2f7ff;--accent:#6ce5eb;--accent-on:#082731;--tint:#112e3b;--alt:#b0a0f2;--positive:#8bddb6;--warning:#edc17f;--error:#f3a0ad;--account-b:#93b8f7;--account-c:#d4abf6;font:16px/1.6 Inter,Arial,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}
button,input,select{font:inherit}button{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 15px;font-size:.875rem;color:var(--text);transition:background .15s,border-color .15s}button:hover{background:var(--raised);border-color:#6a859e}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:disabled{opacity:.5}a{color:var(--accent)}
aside{width:216px;background:var(--panel);border-right:1px solid var(--line);padding:29px 15px 18px;overflow-y:auto;z-index:4}.brand{font-family:'Space Grotesk',sans-serif;font-size:1.7rem;font-weight:500;color:var(--number);padding-left:39px;line-height:1.1;display:block}.brand-icon{color:var(--accent);font-size:1.85rem;letter-spacing:-.1em}.brand-sub{font-family:Inter,sans-serif;font-size:.75rem;letter-spacing:.09em;margin-top:7px;color:var(--muted)}.nav-label{font-size:.75rem;letter-spacing:.14em;color:var(--muted);margin:35px 11px 12px}nav{gap:4px}nav button{gap:12px;background:none;border:0;color:var(--muted);padding:11px;font-size:.875rem;line-height:1.5}nav button span{font-size:1.125rem;min-width:20px;text-align:center}nav button:hover{background:var(--raised);color:var(--text)}nav button.active{background:var(--tint);color:var(--accent);box-shadow:inset 2px 0 var(--accent)}.side-bottom{border-color:var(--line);padding-top:17px;font-size:.75rem}.side-bottom strong{margin-top:14px;font-size:.875rem}.side-bottom p{font-size:.75rem;line-height:1.6;color:var(--muted)}.side-bottom .account-name{color:var(--text)}.side-bottom button{margin-top:10px;background:none;color:var(--muted);border-color:var(--line);font-size:.75rem;padding:8px 10px}.source-icon,.local-note{color:var(--muted)}
main{margin-left:216px;padding:30px 32px 18px;max-width:1850px;min-width:0}header{margin-bottom:26px}.eyebrow{font-size:.75rem;letter-spacing:.12em;color:var(--muted);margin-bottom:8px;font-weight:400}h1,h2,h3{font-family:'Space Grotesk',sans-serif;font-weight:500;line-height:1.3}h1{font-size:1.8rem;letter-spacing:-.045em}h2{font-size:1.2rem;letter-spacing:-.02em}h3{font-size:1.075rem}p{color:var(--muted);font-size:1rem;line-height:1.75;margin:8px 0 16px}.actions{gap:9px;flex-wrap:wrap}.primary{background:var(--accent);color:var(--accent-on);border-color:var(--accent);font-weight:600}.primary:hover{background:#94edf1;border-color:#94edf1}
.context-bar{gap:18px;flex-wrap:wrap;font-size:.875rem;color:var(--muted);padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:24px}.context-bar input{width:76px;padding:7px 8px!important}.pill{background:var(--tint);color:var(--accent);padding:5px 9px;font-size:.75rem}.metrics{grid-template-columns:1.2fr 1fr 1fr 1fr;gap:16px;margin-bottom:25px}.metric{background:var(--panel);border:1px solid var(--line);padding:20px;border-radius:12px}.metric>span{font-size:.875rem;color:var(--muted)}.metric>strong{font-family:'Space Grotesk',sans-serif;font-size:clamp(1.4rem,2.2vw,2.35rem);font-weight:500;line-height:1.3;letter-spacing:-.04em;margin:13px 0 10px;color:var(--number);overflow-wrap:anywhere}.metric small{font-size:.75rem;color:var(--muted);line-height:1.6}.featured{background:var(--bg);border-color:transparent;border-left:2px solid var(--accent);border-radius:0}.featured>strong{font-size:clamp(1.6rem,2.7vw,2.7rem)}.content{background:transparent;border:0;border-radius:0;padding:0;min-width:0}.content>.section-head{margin-bottom:20px}
.legend{display:flex;flex-wrap:wrap;gap:15px;font-size:.75rem;color:var(--accent)}.legend span+span{color:var(--account-b)}.chart{margin-top:12px;min-width:0}.chart svg{height:290px;min-height:0}.chart text{fill:var(--muted);font-size:12px;font-family:Inter,sans-serif}.chart .chart-grid{stroke:var(--line);stroke-width:1}.chart .wealth-line{stroke:var(--accent);stroke-width:2.5;fill:none}.chart .working-line{stroke:var(--account-b);stroke-width:1.7;stroke-dasharray:5 4;fill:none}.chart .chart-area{fill:var(--accent);opacity:.055}.chart .day-line{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 4}.scrubber{gap:15px;color:var(--muted);font-size:.875rem;margin-top:15px;padding:14px 0 0;border-top:1px solid var(--line)}.scrubber input{min-width:60px;accent-color:var(--accent)}.scrubber strong{color:var(--text);font-weight:500}.analysis-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;margin-bottom:22px}.analysis-layout>.panel{min-width:0}.goal-panel{display:flex;flex-direction:column}.goal-count{font-family:'Space Grotesk',sans-serif;font-size:2rem;font-variant-numeric:tabular-nums;margin-top:18px;color:var(--number)}.goal-count span{font-family:Inter,sans-serif;font-size:.875rem;color:var(--muted);display:block;line-height:1.5;margin:4px 0 12px}.goal-list{list-style:none;margin:0;padding:0}.goal-list li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:11px 0;font-size:.875rem}.goal-list strong{font-weight:500}.goal-panel .note{margin-top:auto;padding-top:16px}.foundation-strip{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 22px;padding:0 0 18px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.875rem}.foundation-strip strong{color:var(--text);font-weight:500;display:block;font-variant-numeric:tabular-nums;margin-top:3px}.foundation-strip .fixed-note{font-size:.75rem;align-self:center;max-width:235px;line-height:1.7}
.account,.panel{border-color:var(--line);border-radius:12px;padding:22px;background:var(--panel);min-width:0}.account-name{font-weight:500;font-size:.875rem}.account-name b{color:var(--bg);border-radius:6px;font-size:.75rem;flex-shrink:0}.muted{color:var(--muted);font-size:.875rem}.account h3{font-size:1.7rem;margin-top:18px;font-weight:500;letter-spacing:-.03em;color:var(--number);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.progress{background:var(--raised);margin:16px 0 10px}.small{font-size:.75rem;color:var(--muted);gap:8px;line-height:1.7}.account-foot{border-color:var(--line);font-size:.75rem;color:var(--muted)}.account-foot strong{color:var(--text);font-weight:500;font-size:.875rem;font-variant-numeric:tabular-nums}.panel .between{font-size:.875rem;color:var(--muted)}.panel .between strong{color:var(--text);overflow-wrap:anywhere}.toggle{font-size:.875rem;color:var(--text);min-height:36px}.toggle input{width:34px;height:20px;background:var(--raised);border:1px solid #6a7d96}.toggle input:before{background:var(--text);top:3px;left:3px}.toggle input:checked{background:var(--accent);border-color:var(--accent)}.toggle input:checked:before{left:17px;background:var(--accent-on)}.note{font-size:.875rem;color:var(--muted)}input:not([type=checkbox]):not([type=range]),select{border:1px solid #52657e;border-radius:7px;padding:11px 12px;min-width:0;background:var(--bg);color:var(--text);font-size:1rem}input::placeholder{color:var(--muted)}input:disabled{background:var(--raised)!important;color:var(--muted)!important;opacity:.8;cursor:not-allowed}input[type=checkbox]{accent-color:var(--accent)}.fields{gap:19px;margin-top:20px}.field span{font-size:.875rem;line-height:1.5;color:var(--muted)}
.table-wrap{border:1px solid var(--line);border-radius:10px;background:var(--panel)}table{font-size:.875rem}th{padding:15px;background:var(--raised);color:var(--muted);font-size:.875rem;font-weight:500}td{padding:16px 15px;border-color:var(--line)}td strong{font-weight:500;color:var(--number)}td small{font-size:.75rem;color:var(--muted)}tr:hover{background:#192b40}.check{gap:7px;font-size:.875rem;margin-top:9px;color:var(--muted)}.check input{accent-color:var(--accent)}.check:has(input:checked){color:var(--positive)}.target-row{background:#122a29}.start-row{background:#172239}.treasury-row{background:#17262f}.transfer-row{background:#28241d}.event{font-size:.75rem;color:var(--muted)}.big{font-size:1.9rem;font-family:'Space Grotesk',sans-serif;color:var(--number);font-variant-numeric:tabular-nums}ol{color:var(--muted);font-size:1rem;line-height:2}footer{padding:21px 0;color:var(--muted);font-size:.75rem}footer button{font-size:.75rem}#save-state{font-size:.875rem}#filter{max-width:260px}
.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-card{padding:21px;gap:10px;border:1px solid var(--line);background:var(--panel)}.profile-card.selected{padding:21px;background:var(--tint);border:1px solid var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.profile-card strong{font-family:'Space Grotesk',sans-serif;font-size:1.45rem;font-weight:500;color:var(--number)}.profile-card>span:last-child{font-size:.875rem;color:var(--muted)}.profile-symbol{font-size:1.6rem;color:var(--accent)}.profile-card:hover{border-color:var(--accent)}.optimizer-controls select{width:100%;background:var(--bg);color:var(--text);border-color:#52657e;font-size:1rem}.optimizer-controls .primary{min-height:49px}.locked-strip{gap:16px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:.875rem}.locked-strip strong{color:var(--text);flex-shrink:0}.locked-details,.method{font-size:.875rem}.locked-details summary,.method summary{color:var(--accent);font-weight:500;padding:6px 0}.optimization-result{border-color:var(--line);padding:24px;background:var(--panel)}.opt-warning{background:#2c261c;border:1px solid #715b37;color:var(--warning);font-size:.875rem}.opt-message{color:var(--positive)}.opt-message:empty{margin:0}.undo-row{font-size:.875rem}.method{border-color:var(--line)}.optimizer-page .content>.section-head,.optimization-result .section-head{align-items:flex-start}.opt-compare .plan-column{background:var(--tint)}.opt-compare td:not(:first-child),.opt-compare th:not(:first-child){text-align:right}.optimization-result .section-head>div{max-width:780px}
.auth-story{background:var(--panel);border-right:1px solid var(--line);padding:50px 10%;gap:60px}.auth-story h1{font-size:clamp(2.5rem,4.3vw,4.2rem);line-height:1.13;letter-spacing:-.045em;color:var(--number)}.auth-story p{font-size:1.05rem;color:var(--muted)}.auth-kicker{color:var(--accent);font-size:.75rem}.auth-lines span{color:var(--muted);border-color:var(--line);font-size:.875rem}.auth-lines b{color:var(--text);font-size:.875rem}.auth-story small{color:var(--muted);font-size:.75rem}.auth-entry{background:var(--bg)}.auth-box h2{font-size:2rem;letter-spacing:-.03em}.auth-box p{color:var(--muted)}.account-form label,.invite-row label{font-size:.875rem;font-weight:500;color:var(--text)}.account-form input,.invite-row input,.link-result input{background:var(--bg);color:var(--text);border-color:#52657e;padding:13px 14px;font-size:1rem}.account-form .primary{font-size:1rem}.account-form small{color:var(--muted)}.account-form p[role=status],#auth-error,#access-status{color:var(--error);font-size:.875rem}.auth-box details{color:var(--muted);font-size:.875rem}.auth-box summary{cursor:pointer}.auth-box details p{font-size:.875rem}.auth-footnote{border-color:var(--line);font-size:.875rem!important}.auth-back{color:var(--accent)}.link-result{background:var(--tint);border-color:#3b6371}.link-result p{color:var(--muted)}.spectator-banner{background:var(--tint);border-color:#3b6371;color:var(--text);font-size:.875rem}.saving-error{color:var(--error)!important}.account-page .account-form{max-width:500px}
.optimizer-page header .actions{display:none}
@media(min-width:1700px){.metric>strong{font-size:2.2rem}.featured>strong{font-size:2.8rem}}
@media(max-width:1250px){aside{width:195px;padding:26px 12px}main{margin-left:195px;padding:27px 23px}.metrics{gap:12px}.metric{padding:18px 15px}.account-grid{gap:12px}.account{padding:18px}.account .section-head,.small,.account-foot{flex-wrap:wrap}.analysis-layout{grid-template-columns:minmax(0,1fr) 220px;gap:16px}.analysis-layout>.panel{padding:19px}.profile-card,.profile-card.selected{padding:18px}.profile-grid{gap:12px}}
@media(max-width:1050px){.analysis-layout{grid-template-columns:1fr}.goal-panel{display:grid;grid-template-columns:1fr 1.4fr;gap:0 25px}.goal-panel h2{grid-column:1}.goal-count{grid-column:1;grid-row:2;margin:10px 0}.goal-list{grid-column:2;grid-row:1/3}.goal-panel .note{grid-column:1/-1}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric>strong{font-size:1.9rem}.featured>strong{font-size:2.3rem}.locked-strip{flex-direction:column;gap:7px}.section-head,header{flex-wrap:wrap}}
@media(max-width:950px){aside{position:static;width:auto;padding:18px 20px;border-right:0;border-bottom:1px solid var(--line);overflow:visible}.brand{font-size:1.5rem;max-width:220px}.brand-sub{display:block}.brand-icon{font-size:1.7rem}.nav-label{display:none}nav{display:flex;overflow-x:auto;margin-top:20px;gap:5px;padding-bottom:4px}nav button{padding:10px 12px;min-height:44px;font-size:.875rem}nav button.active{box-shadow:inset 0 -2px var(--accent)}main{margin-left:0;padding:25px 20px}.side-bottom button{margin-top:0}.account-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.account-foot{flex-direction:column;gap:10px}.legend{display:flex;gap:12px}.context-bar{gap:12px}.auth-story{padding:35px}}
@media(max-width:700px){main{padding:22px 16px}h1{font-size:1.6rem}.profile-grid{grid-template-columns:1fr;gap:10px}.profile-card,.profile-card.selected{padding:17px;display:grid;grid-template-columns:26px 1fr;gap:6px 12px}.profile-card>span:last-child{grid-column:2}.profile-symbol{grid-row:1/3}.profile-card strong{font-size:1.25rem}.optimizer-controls>.field{min-width:100%}.optimizer-controls>button{width:100%}.optimization-result{padding:18px}.account-grid{grid-template-columns:1fr}.account .section-head{flex-wrap:nowrap}.account-foot{flex-direction:row}.account{padding:20px}.goal-panel{display:block}.goal-count{margin-top:15px}.metrics{gap:12px}.metric{padding:16px}.metric>strong{font-size:1.55rem}.featured>strong{font-size:1.85rem}.actions{width:100%}.actions button{flex:1}.analysis-layout>.panel{padding:17px}.scrubber{gap:10px}.scrubber>span{display:none}.foundation-strip>div{flex:1 1 40%}.foundation-strip .fixed-note{flex-basis:100%;max-width:none}.undo-row{flex-wrap:wrap}.panel{padding:19px}.auth-story{padding:26px;border-right:0;border-bottom:1px solid var(--line)}.auth-story h1{font-size:2rem;letter-spacing:-.03em}.auth-box h2{font-size:1.8rem}}
@media(max-width:420px){main{padding:20px 12px}.metrics{grid-template-columns:1fr}.metric>strong{font-size:2rem}.metric{padding:18px}.account .section-head{flex-wrap:wrap}.chart svg{height:260px}.foundation-strip>div{flex-basis:100%}.scrubber{flex-wrap:wrap}.scrubber input{flex-basis:65%}}
@media(max-width:950px){#app>aside{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px}#app>aside nav{grid-column:1/-1;grid-row:2;margin-top:15px;min-width:0}#app>aside .side-bottom{grid-column:2;grid-row:1;align-self:center;margin:0}#app>aside .side-bottom [data-view="Account"]{display:none}}
@media(pointer:coarse){button{min-height:44px}.check,.toggle,summary{min-height:44px}.scrubber input{min-height:36px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
