:root{color-scheme:dark;--bg:#091321;--bg2:#101e30;--panel:#142338;--panel2:#182b42;--text:#ecf4ff;--muted:#a1b5cf;--stroke:#2a425e;--cyan:#4de1c6;--cyan2:#2cbdad;--blue:#80adff;--amber:#ffd084;--red:#ff9eaa;--purple:#c49cfc;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 75% -10%,#183b51 0%,transparent 45%),var(--bg);color:var(--text);font:15px/1.48 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;font-variant-numeric:tabular-nums}
button,input,select{font:inherit}button{cursor:pointer}a{color:var(--cyan)}.shell{max-width:1300px;margin:0 auto;padding:32px 24px 70px}
.top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:26px}.eyebrow{display:flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:750;color:var(--cyan)}.live{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 13px #4de1c665}h1{font-size:clamp(28px,3vw,41px);line-height:1.15;letter-spacing:-.04em;margin:11px 0 8px}h2{font-size:18px;letter-spacing:-.017em;margin:0}h3{font-size:14px;margin:0 0 12px;font-weight:680}.subtitle{color:var(--muted);margin:0;max-width:720px}.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:11px 14px;border-radius:11px;border:1px solid #37516d;color:var(--text);background:#192e46;font-size:13px;font-weight:680;transition:background .16s}.btn:hover{background:#234360}.btn.primary{background:var(--cyan);border-color:var(--cyan);color:#092430}.btn.primary:hover{background:#83f4df}.layout{display:grid;grid-template-columns:minmax(310px,390px) minmax(0,1fr);gap:20px;align-items:start}.panel{border:1px solid var(--stroke);background:linear-gradient(160deg,#16273c,#102035);border-radius:var(--radius);box-shadow:0 8px 28px #00000018}.input-panel{padding:23px;position:sticky;top:14px;max-height:calc(100vh - 28px);overflow-y:auto;scrollbar-width:thin}.section{padding:20px 0;border-top:1px solid var(--stroke)}.section:first-of-type{border-top:none}.section-heading{display:flex;align-items:center;gap:9px;margin-bottom:13px}.section-index{font-size:10px;background:#24455b;color:var(--cyan);border:1px solid #376576;width:24px;height:24px;display:grid;place-items:center;border-radius:7px}.section-heading strong{font-size:13px;letter-spacing:.015em}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field.wide{grid-column:1/-1}.field label{font-size:12px;color:#c1d0e3;font-weight:630}.field small{font-size:11px;color:var(--muted);line-height:1.3}.field input,.field select{width:100%;background:#0a192a;border:1px solid #35506b;border-radius:9px;color:var(--text);height:40px;outline:0;padding:0 10px}.field input:focus,.field select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #4de1c622}.field input[type=checkbox]{width:17px;height:17px;accent-color:var(--cyan);flex-shrink:0}.input-wrap{position:relative}.input-wrap input{padding-left:22px}.prefix{position:absolute;left:10px;top:10px;color:var(--muted);pointer-events:none}.field .percent input{padding-left:10px;padding-right:24px}.percent:after{position:absolute;content:'%';top:10px;right:10px;color:var(--muted)}.checkline{display:flex;align-items:center;gap:9px;font-size:12px;color:#c1d0e3;cursor:pointer}.muted-note{font-size:11.5px;color:var(--muted);background:#101e30;border-radius:9px;padding:11px 12px;margin-top:12px}.warning{border:1px solid #91714065;background:#47371955;border-radius:12px;padding:11px 13px;color:#ffe0a8;font-size:12px;line-height:1.5}.warning b{color:#ffeec5}.warning[hidden]{display:none}.right{display:flex;flex-direction:column;gap:18px;min-width:0}.tag{display:inline-flex;gap:6px;align-items:center;color:#acd7c8;border:1px solid #3c766d;background:#1a393b;padding:5px 10px;border-radius:20px;font-size:11px;font-weight:700}.tag.orange{background:#3e3329;border-color:#72603c;color:var(--amber)}.hero{padding:26px}.hero-top{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.hero-top p{margin:0;color:var(--muted);font-size:13px}.big-money{font-size:clamp(39px,6vw,61px);font-weight:800;letter-spacing:-.06em;line-height:1;margin-top:18px}.hero-lbl{font-size:13px;color:var(--muted);margin:10px 0 0}.mini-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}.mini{border:1px solid #28445c;border-radius:13px;padding:15px;background:#10243a}.mini span{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.mini strong{font-size:clamp(17px,2.1vw,23px);letter-spacing:-.025em}.mini small{display:block;color:#8ca4ba;margin-top:2px;font-size:10px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inner{padding:21px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:19px}.panel-heading small{color:var(--muted);font-size:11px}.metric-list{display:flex;flex-direction:column;gap:0}.metric{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #2b4256;font-size:13px}.metric .name{color:#bccde2}.metric .value{font-weight:640;white-space:nowrap}.metric.emphasis{font-size:14px;margin-top:7px;border-bottom:0;border-top:1px solid #446176}.metric.emphasis .name,.metric.emphasis .value{font-weight:800;color:var(--cyan)}.metric.negative .value{color:#ffadba}.metric.soft .value{color:#b9ccef}.breakdown{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.donut{width:180px;height:180px;flex:none;border-radius:50%;background:conic-gradient(var(--cyan) 0 70%,var(--purple) 70% 85%,var(--blue) 85% 92%,var(--amber) 92% 100%);display:grid;place-items:center;position:relative}.donut:before{content:'';inset:29px;position:absolute;background:#132338;border-radius:50%}.donut-text{z-index:1;text-align:center}.donut-text strong{display:block;font-size:23px}.donut-text small{color:var(--muted);font-size:10px}.legend{flex:1;min-width:180px;display:grid;gap:12px}.leg{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:12px}.leg-left{display:flex;align-items:center;gap:8px;color:var(--muted)}.dot{height:9px;width:9px;border-radius:50%;background:var(--tone);flex:none}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compare-card{padding:17px;background:#10243a;border:1px solid var(--stroke);border-radius:13px}.compare-card.active{border-color:#4c987f}.compare-label{font-size:11px;color:var(--muted)}.compare-money{font-weight:780;font-size:26px;letter-spacing:-.04em;margin:8px 0 5px}.compare-meta{color:var(--muted);font-size:11px}.delta{margin:14px 0 0;border-radius:9px;background:#273a4e;padding:12px;font-size:12px;color:#d6e4f2}.tax-row{display:grid;grid-template-columns:75px 1fr auto;align-items:center;gap:10px;margin:11px 0;font-size:12px}.tax-bar{height:8px;border-radius:5px;background:#273e54;overflow:hidden}.tax-fill{height:100%;background:var(--blue);border-radius:5px}.tax-rate{color:#aabdd5}.tax-band{font-size:10px;color:var(--muted);margin-top:-5px}.budget-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.budget-grid .field label{line-height:1.25}.budget-meter{height:14px;background:#274054;border-radius:9px;overflow:hidden;margin-top:16px;display:flex}.budget-meter span:first-child{background:var(--blue)}.budget-meter span:last-child{background:var(--cyan)}.budget-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}.budget-totals span{font-size:11px;color:var(--muted)}.budget-totals b{display:block;font-size:18px;margin-top:4px}.budget-note{margin-top:14px;font-size:11px;color:var(--muted)}.foot{margin:22px 0 0;color:#92abc2;font-size:12px;line-height:1.7}.foot strong{color:#cad8e8}.line{height:1px;background:var(--stroke);margin:15px 0}.no-margin{margin:0}.scroll-report{min-width:0}.tax-status{font-size:11px;color:#d7c399}.only-print{display:none}
.budget-totals{grid-template-columns:repeat(4,1fr)}.budget-meter span:nth-child(2){background:var(--purple)}.budget-meter span:last-child{background:var(--cyan)}.investment-table{width:100%;border-collapse:collapse;font-size:13px;min-width:330px}.investment-table th,.investment-table td{text-align:right;padding:12px 10px;border-bottom:1px solid var(--stroke)}.investment-table th:first-child,.investment-table td:first-child{text-align:left;color:#c4d5e8}.investment-table thead th{font-size:11px;color:var(--muted);font-weight:650}.investment-table tbody tr:hover{background:#ffffff08}.investment-table tfoot th{color:var(--cyan)!important;font-size:14px}.table-scroll{overflow-x:auto}.budget-totals b{font-size:17px}.budget-totals span{line-height:1.3;display:block}@media(max-width:650px){.budget-totals{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1080px){.layout{grid-template-columns:330px minmax(0,1fr)}.two-col{grid-template-columns:1fr}.input-panel{position:static;max-height:none}.breakdown{justify-content:center}.legend{min-width:180px}}
@media(max-width:750px){.shell{padding:22px 13px 55px}.layout{grid-template-columns:1fr}.top{flex-direction:column}.actions{width:100%;justify-content:flex-start}.hero{padding:20px}.big-money{font-size:48px}.input-panel{padding:18px}.mini-metrics{gap:7px}.mini{padding:11px}.mini strong{font-size:17px}.mini span{font-size:10px}.budget-grid{grid-template-columns:repeat(2,1fr)}.breakdown{justify-content:flex-start}.donut{width:150px;height:150px}.donut:before{inset:24px}.inner{padding:18px}}
@media(max-width:390px){.field-grid{gap:10px}.mini-metrics{grid-template-columns:1fr 1fr}.mini:last-child{grid-column:1/-1}.comparison{grid-template-columns:1fr}}
@media print{*{print-color-adjust:exact;-webkit-print-color-adjust:exact}body{background:#fff;color:#172438}.shell{padding:0;max-width:none}.top{margin-bottom:12px}.subtitle,.actions,.input-panel,.foot{display:none!important}.layout{display:block}.right{gap:11px}.panel{box-shadow:none;border:1px solid #d6dce4;background:white;color:#172438;break-inside:avoid}.hero{padding:15px}.inner{padding:15px}.big-money{color:#142637}.metric .name,.mini span,.compare-label,.compare-meta,.hero-lbl,.hero-top p{color:#4a596e}.mini,.compare-card{background:#f2f5f8;color:#142637}.two-col{grid-template-columns:1fr 1fr}.metric.emphasis .name,.metric.emphasis .value{color:#086853}.only-print{display:block}.tag{color:#075b4d}.tax-status{color:#685321}}

/* V3: Projections, category expense and savings pies, monthly/yearly tables, long-range forecasts */
.projection-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.proj-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 22px}
.proj-kpi{border:1px solid var(--stroke);background:#0d2135;border-radius:13px;padding:14px;min-width:0}
.proj-kpi small{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}
.proj-kpi b{font-size:20px;letter-spacing:-.035em;overflow-wrap:anywhere}
.proj-kpi .secondary{display:block;font-size:11px;color:var(--muted);margin-top:5px}
.proj-kpi.accent b{color:var(--cyan)}.proj-kpi.negative b{color:var(--red)}
.proj-h3{font-size:16px;margin:0 0 5px}.proj-subtitle{font-size:12px;color:var(--muted);margin:0 0 16px}
.proj-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}
.proj-card{border:1px solid var(--stroke);background:#0e2033;border-radius:14px;padding:17px;min-width:0}
.pie-flex{display:flex;flex-direction:column;gap:14px;align-items:center}.chart-pie{width:188px;aspect-ratio:1;flex:none;position:relative;border-radius:50%;background:#2d465f;display:grid;place-items:center;box-shadow:0 5px 20px #0002}
.chart-pie:before{content:'';position:absolute;inset:36px;background:#112339;border-radius:50%}
.chart-center{position:relative;text-align:center;z-index:1}.chart-center strong{display:block;font-size:22px;letter-spacing:-.035em}.chart-center small{display:block;font-size:11px;color:var(--muted)}
.chart-legend{width:100%;display:grid;gap:7px}.chart-legend-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;font-size:11px}
.chart-legend-name{display:flex;align-items:center;gap:7px;min-width:0;color:#bdcfe3}.chart-legend-name i{width:9px;height:9px;border-radius:3px;display:inline-block;flex:none;background:var(--dot)}.chart-legend-name span{overflow-wrap:anywhere}
.chart-legend-val{font-weight:650;color:#e7f1ff;white-space:nowrap}.chart-legend-pct{color:var(--muted);min-width:38px;text-align:right}
.empty-chart-note{text-align:center;color:var(--muted);font-size:12px;padding:12px 5px}
.proj-table{width:100%;border-collapse:collapse;min-width:520px;font-size:12px}.proj-table th,.proj-table td{padding:10px 12px;text-align:right;border-bottom:1px solid #29415b;white-space:nowrap}
.proj-table th:first-child,.proj-table td:first-child{text-align:left;white-space:normal}.proj-table thead th{font-size:11px;font-weight:700;color:var(--muted);background:#142b42;position:sticky;top:0}
.proj-table tbody td:first-child{color:#d7e5f3}.proj-table .proj-group td{color:var(--cyan);background:#1a3346;font-size:11px;letter-spacing:.05em;text-transform:uppercase;font-weight:800;border-bottom-color:#37546a}
.proj-table .proj-total td{font-weight:800;background:#10293b;border-top:1px solid #477085}.proj-table .proj-negative td:last-child{color:var(--red)}.proj-table .proj-share{color:var(--muted)}
.proj-graph{display:block;width:100%;height:auto;min-height:160px;overflow:visible;touch-action:pan-y}.proj-series{display:flex;flex-wrap:wrap;gap:14px;margin:6px 0 3px;font-size:11px;color:var(--muted)}.proj-series span{display:inline-flex;align-items:center;gap:7px}.proj-series i{width:17px;height:3px;border-radius:2px;background:var(--line)}
.forecast-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 18px}.forecast-controls .field{min-width:0}.forecast-controls .field input{height:39px}
.forecast-note{font-size:11px;color:var(--muted);line-height:1.55;margin:12px 0 0}.forecast-table{min-width:655px}
.proj-divider{height:1px;background:var(--stroke);margin:22px 0}
@media(max-width:1150px){.proj-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.proj-chart-grid{grid-template-columns:1fr}.pie-flex{flex-direction:row;align-items:flex-start}.chart-legend{align-self:center}}
@media(max-width:750px){.proj-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.proj-card{padding:14px}.proj-chart-grid{grid-template-columns:1fr}.forecast-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.pie-flex{flex-direction:row}.chart-pie{width:158px}.chart-pie:before{inset:30px}.chart-center strong{font-size:18px}}
@media(max-width:460px){.pie-flex{flex-direction:column;align-items:center}.proj-kpis{gap:7px}.proj-kpi{padding:11px}.proj-kpi b{font-size:17px}.proj-kpi small{font-size:10px}.forecast-controls{gap:8px}}
@media print{.proj-card,.proj-kpi{background:#fff!important;color:#172438;border-color:#bdc9d5}.proj-table thead th,.proj-table .proj-group td,.proj-table .proj-total td{color:#172438;background:#e9f1f6!important}.proj-table td{color:#172438!important}.chart-legend-name,.chart-legend-val,.chart-legend-pct{color:#24394d!important}.chart-pie:before{background:#fff}.chart-center small,.forecast-note{color:#4d6578}.forecast-controls{display:none}}

/* Named scenario vault */
.vault{margin:22px 0;padding:25px;overflow:hidden}
.vault-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.vault-head h2{font-size:clamp(18px,2vw,24px);margin:5px 0 6px}
.vault-caption{color:var(--muted);font-size:13px;line-height:1.55;margin:4px 0 0}
.vault-identity{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}
.vault-status{margin:14px 0 12px;color:var(--cyan);font-size:12px;min-height:19px}
.vault-status.error{color:var(--red)}
.vault-editor{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.vault-field{display:flex;flex-direction:column;gap:7px;flex:1 1 200px;min-width:160px;color:var(--muted);font-size:12px}
.vault-notes{flex:2 1 240px}
.vault input[type=text],.vault input[type=search],.vault input[type=email]{background:var(--bg);border:1px solid var(--stroke);color:var(--text);border-radius:10px;padding:11px 12px;min-width:0;width:100%;font-size:13px}
.vault input:focus-visible,.vault button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.vault .btn:disabled{opacity:.45;cursor:not-allowed}
.vault-toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:18px 0}
.vault-toolbar input{flex:1 1 170px;max-width:360px}
.vault-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:12px}
.vault-item,.vault-empty{border:1px solid var(--stroke);border-radius:13px;padding:15px;background:rgba(255,255,255,.018)}
.vault-item.active{border-color:var(--cyan)}
.vault-item-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.vault-item h3{font-size:14px;margin:6px 0}
.vault-item-meta{color:var(--muted);font-size:12px;margin:4px 0;line-height:1.4}
.vault-item-numbers{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.vault-item-numbers span{display:block;font-size:11px;color:var(--muted)}
.vault-item-numbers strong{display:block;margin-top:4px;font-size:16px}
.vault-item-actions{display:flex;gap:7px;flex-wrap:wrap}
.vault-item-actions .btn{font-size:12px;padding:7px 10px}
.vault-check{display:flex;gap:5px;align-items:center;color:var(--muted);font-size:12px}
.vault-check input{accent-color:var(--cyan)}
.vault-empty{color:var(--muted);font-size:13px;grid-column:1/-1}
.vault-comparison{margin-top:20px}
.vault-comparison h3{margin-bottom:5px}
.vault-comparison table{min-width:650px}
.vault-comparison th:first-child,.vault-comparison td:first-child{text-align:left}
.vault-privacy{font-size:11px;color:var(--muted);margin:17px 0 0;line-height:1.6}
@media(max-width:740px){.vault{padding:17px}.vault-editor>button{flex:1}.vault-list{grid-template-columns:1fr}}

.vault-matrix{margin:10px 0 18px;border:1px solid var(--stroke);border-radius:12px;padding:14px;background:rgba(77,225,198,.025)}
.vault-matrix>summary{cursor:pointer;font-size:13px;font-weight:650}
.vault-matrix .vault-caption{margin-top:10px}
.vault-matrix-fields{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:12px}
.vault-matrix-fields .vault-field{flex:1 1 170px}

@media(max-width:740px){.vault-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.vault-editor .vault-field{grid-column:1/-1;min-width:0}.vault-editor>button{grid-column:span 1}.vault-editor>button{white-space:normal}.vault-matrix-fields>button{width:100%}}

/* Passwordless cloud sign-in */
[hidden]{display:none!important}
.vault-auth{padding:15px;margin-bottom:18px;border:1px solid var(--stroke);border-radius:12px;background:rgba(77,225,198,.025)}
.vault-auth-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;max-width:720px;margin-bottom:8px}
.vault-auth-form .vault-field{flex:1 1 230px;min-width:180px}
.vault-auth-form .btn{min-height:40px}
@media(max-width:460px){.vault-auth-form{display:grid;grid-template-columns:1fr}.vault-auth-form .vault-field{min-width:0}.vault-auth-form .btn{width:100%}}

/* Section navigation keeps the long calculator easy to move through. */
.app-frame{display:grid;grid-template-columns:190px minmax(0,1fr);gap:4px;max-width:1544px;margin:0 auto;padding:0 16px}
.app-frame>.shell{width:100%;min-width:0}
.section-nav{position:sticky;top:20px;align-self:start;margin-top:32px;max-height:calc(100dvh - 40px);overflow-y:auto;scrollbar-width:thin;border:1px solid var(--stroke);border-radius:15px;background:#102035ee;padding:16px 10px;z-index:20}
.section-nav-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 7px 8px}
.section-nav-title{font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
.section-nav-links{display:flex;flex-direction:column;gap:3px}
.section-nav-links>a{display:block;border:1px solid transparent;border-radius:8px;text-decoration:none;font-size:12px;line-height:1.35;color:var(--muted);padding:9px 8px}
.section-nav-links>a:hover{color:var(--text);background:#203a50}
.section-nav-links>a[aria-current=location]{color:var(--cyan);background:#173d44;border-color:#38685f;font-weight:700}
.section-nav-group{display:block;padding:15px 9px 5px;color:#849bb6;text-transform:uppercase;font-size:10px;letter-spacing:.09em;font-weight:750}
.section-nav-toggle{display:none;align-items:center;gap:9px;min-height:40px;border:1px solid #37516d;border-radius:9px;background:#192e46;color:var(--text);padding:7px 12px;font-weight:650;font-size:13px}
.section-nav a:focus-visible,.section-nav button:focus-visible,.toast-dismiss:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.nav-target{scroll-margin-top:24px}
.nav-target:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}
.app-frame .input-panel{position:static;max-height:none;overflow:visible}
.skip-link{position:fixed;top:8px;left:8px;z-index:120;padding:10px 14px;background:var(--cyan);color:#092430;border-radius:8px;font-weight:750;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.vault-session{flex-wrap:wrap;justify-content:flex-end}
.vault-session #vaultIdentity{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--stroke);background:#0c1c2c;border-radius:20px;padding:7px 11px;max-width:100%;overflow-wrap:anywhere}
.vault-session #vaultIdentity.is-signed-in,#scenarioVault[data-auth-state=signed-in] #vaultIdentity{color:var(--cyan);border-color:#3a786c;background:#143a37}
.vault-session #vaultIdentity.is-signed-in:before,#scenarioVault[data-auth-state=signed-in] #vaultIdentity:before{content:'';display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:var(--cyan)}

/* Bottom notifications remain readable without interrupting the calculator. */
.toast-region{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));width:min(430px,calc(100vw - 32px));display:flex;flex-direction:column;gap:10px;z-index:100;pointer-events:none}
.toast{display:flex;align-items:flex-start;gap:12px;padding:14px 13px 14px 16px;border:1px solid #46617a;border-left:4px solid var(--blue);border-radius:12px;background:#172c43;color:var(--text);box-shadow:0 10px 32px #0006;pointer-events:auto;animation:toast-enter .18s ease-out;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.toast-message{flex:1;min-width:0;white-space:pre-line}
.toast-error,.toast[data-type=error]{border-left-color:var(--red);background:#302536}
.toast-success,.toast[data-type=success]{border-left-color:var(--cyan);background:#173735}
.toast-info,.toast[data-type=info]{border-left-color:var(--blue)}
.toast-dismiss{flex:none;display:grid;place-items:center;min-width:32px;min-height:32px;margin:-4px -4px -4px 0;padding:3px;border:0;border-radius:7px;background:transparent;color:#c6d7e7;font-size:20px;line-height:1}
.toast-dismiss:hover{background:#ffffff14;color:#fff}
@keyframes toast-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1179px){.app-frame{display:block;padding:0}.section-nav{position:sticky;top:0;margin:0;border-radius:0;border-top:0;max-height:70dvh;padding:9px 13px;background:#102035f5;backdrop-filter:blur(12px)}.section-nav-head{padding:0}.section-nav-toggle{display:inline-flex}.section-nav-links{padding-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:4px}.section-nav-group{grid-column:1/-1;padding-top:9px}.section-nav.nav-enhanced:not(.is-open) .section-nav-links{display:none}.nav-target{scroll-margin-top:80px}}
@media(max-width:460px){.section-nav{padding:8px 13px}.section-nav-links{grid-template-columns:1fr 1fr}.section-nav-links>a{font-size:11px;padding:9px 7px}.vault-session{justify-content:flex-start}.toast-region{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.toast{animation:none}.btn{transition:none}}
@media print{.app-frame{display:block;padding:0;max-width:none}.section-nav,.skip-link,.toast-region{display:none!important}}
