.simulation-shell section{padding:0}
.simulation-shell{
  --paper:#FBFAFE; --paper-2:#F3F1FA; --card:#FFFFFF;
  --ink:#15141A; --ink-2:#34323F; --ink-3:#6E6B7C;
  --rule:#E7E3F2; --rule-2:#CBC4DE; --violet:#7A1FB5;
  --violet-soft:#EFE3FA; --violet-ink:#C9A6E8; --orange:#F08A24; --rest:#1F5C4D;
  --serif:"Playfair Display",Georgia,serif; --sans:"Golos Text",Arial,sans-serif;
  --space:clamp(20px,4vw,64px);
}
.simulation-shell *{box-sizing:border-box}
.simulation-shell{scroll-behavior:smooth; scrollbar-color:var(--rule-2) var(--paper)}
.simulation-shell{margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); line-height:1.55; font-size:16px}
.simulation-shell ::selection{background:var(--violet-soft); color:var(--violet)}
.simulation-shell a{color:var(--violet); text-underline-offset:4px}
.simulation-shell button,.simulation-shell input,.simulation-shell select{font:inherit; color:inherit}
.simulation-shell button,.simulation-shell a,.simulation-shell input,.simulation-shell select,.simulation-shell summary{outline-offset:5px}
.simulation-shell :focus-visible{outline:3px solid var(--violet)}
.simulation-shell button{cursor:pointer; border:1px solid var(--rule-2); padding:12px 20px; background:var(--card); border-radius:5px; min-height:48px; transition:background .15s,border-color .15s}
.simulation-shell button:hover{background:var(--paper-2); border-color:var(--violet)}
.simulation-shell button:disabled{opacity:.5; cursor:not-allowed}
.simulation-shell .primary{background:var(--violet); border-color:var(--violet); color:white; font-weight:600}
.simulation-shell .primary:hover{background:#60128f; color:white}
.simulation-shell .text-button{border:0; padding:8px 0; background:transparent; color:var(--violet); text-decoration:underline; text-underline-offset:4px}
.simulation-shell .header{max-width:1440px; margin:auto; padding:26px var(--space); display:flex; align-items:center; justify-content:space-between; gap:28px}
.simulation-shell .brand{color:var(--ink); text-decoration:none; display:flex; align-items:center; gap:16px; font-size:14px; line-height:1.35}
.simulation-shell .brand strong{font-size:22px; letter-spacing:.035em}
.simulation-shell .mark{width:57px; height:44px; display:flex; align-items:center; gap:6px; flex-shrink:0}
.simulation-shell .mark i{width:25px; height:25px; background:var(--violet)}
.simulation-shell .mark b{width:25px; height:25px; background:var(--orange); border-radius:50%}
.simulation-shell .header-note{font-size:13px; text-align:right; color:var(--ink-2)}
.simulation-shell .header-note span{color:var(--ink-3)}
.simulation-shell .modes{display:flex; gap:30px; padding:0 var(--space); max-width:1440px; margin:auto; border-bottom:1px solid var(--rule-2)}
.simulation-shell .modes button{border:0; border-bottom:3px solid transparent; border-radius:0; background:transparent; padding:16px 0; color:var(--ink-3)}
.simulation-shell .modes button[aria-pressed=true]{color:var(--violet); border-color:var(--violet)}
.simulation-shell main{max-width:1440px; margin:auto; padding:40px var(--space) 70px; min-height:65vh; outline:none}
.simulation-shell h1,.simulation-shell h2,.simulation-shell h3,.simulation-shell p{margin:0}
.simulation-shell h1,.simulation-shell h2{font-family:var(--serif); font-weight:600; line-height:1.15; text-wrap:balance; letter-spacing:-.02em}
.simulation-shell h1{font-size:clamp(38px,4.8vw,68px); max-width:16ch}
.simulation-shell h1 em{color:var(--violet); font-style:normal}
.simulation-shell h2{font-size:clamp(29px,3vw,42px); margin-bottom:18px}
.simulation-shell h3{font-size:19px; line-height:1.35; margin-bottom:10px}
.simulation-shell p{max-width:70ch}
.simulation-shell .lead{font-size:19px; color:var(--ink-2); margin-top:24px; max-width:43ch}
.simulation-shell .intro{display:grid; grid-template-columns:1.12fr 1fr; gap:clamp(35px,7vw,100px); padding:20px 0 45px}
.simulation-shell .intro-copy{padding-top:18px}
.simulation-shell .intro-facts{display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:30px; padding-top:20px; border-top:1px solid var(--rule-2); color:var(--ink-2); font-size:14px}
.simulation-shell .intro-form{background:var(--paper-2); padding:32px; align-self:start; border-radius:12px}
.simulation-shell .intro-form h2{font-family:var(--sans); font-size:23px; letter-spacing:0; margin-bottom:10px}
.simulation-shell .intro-form .primary{width:100%; margin-top:22px}
.simulation-shell .field{display:flex; flex-direction:column; gap:8px; margin-top:20px; min-width:0}
.simulation-shell .field label,.simulation-shell .field-label{font-weight:600; font-size:14px}
.simulation-shell select,.simulation-shell input[type=text],.simulation-shell input[type=number],.simulation-shell input[type=email]{width:100%; background:white; border:1px solid var(--rule-2); border-radius:5px; padding:12px; min-height:48px; caret-color:var(--violet)}
.simulation-shell input[type=range]{width:100%; accent-color:var(--violet); min-height:30px}
.simulation-shell input[type=radio],.simulation-shell input[type=checkbox]{accent-color:var(--violet); width:19px; height:19px; flex-shrink:0}
.simulation-shell .field-row{display:grid; grid-template-columns:1fr 1fr; gap:20px}
.simulation-shell .small{font-size:13px; color:var(--ink-3)}
.simulation-shell .note{padding:16px 0; font-size:14px; color:var(--ink-3)}
.simulation-shell .promise{border-top:1px solid var(--rule-2); padding-top:30px; display:grid; grid-template-columns:1fr 2fr; gap:35px}
.simulation-shell .promise p{color:var(--ink-2)}
.simulation-shell .steps{display:grid; grid-template-columns:repeat(4,1fr); list-style:none; padding:0; margin:0 0 40px; gap:12px}
.simulation-shell .steps li{border-top:3px solid var(--rule); padding-top:10px; color:var(--ink-3); font-size:14px}
.simulation-shell .steps li.current{border-color:var(--violet); color:var(--violet); font-weight:600}
.simulation-shell .steps li.done{border-color:var(--rest); color:var(--rest)}
.simulation-shell .steps span{display:inline-block; margin-right:8px; font-variant-numeric:tabular-nums}
.simulation-shell .workspace{display:grid; grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr); gap:55px; align-items:start}
.simulation-shell .question h1{font-size:clamp(32px,3.5vw,47px); max-width:24ch; margin-bottom:20px}
.simulation-shell .question>p{color:var(--ink-2); margin-bottom:25px}
.simulation-shell fieldset{margin:0; padding:0; border:0; min-width:0}
.simulation-shell legend{padding:0; font-weight:600}
.simulation-shell .option{display:flex; gap:14px; padding:20px; border:1px solid var(--rule-2); border-radius:10px; background:white; margin-bottom:12px; cursor:pointer; transition:border-color .15s,background .15s}
.simulation-shell .option:hover{border-color:var(--violet)}
.simulation-shell .option:has(input:checked){background:var(--violet-soft); border-color:var(--violet)}
.simulation-shell .option input{margin:4px 0 0}
.simulation-shell .option strong{display:block; font-weight:600; margin-bottom:5px}
.simulation-shell .option p{font-size:14px; color:var(--ink-2)}
.simulation-shell .option small{display:block; font-size:12px; color:var(--violet); margin-top:8px}
.simulation-shell .actions{display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:24px}
.simulation-shell .actions .primary{flex-grow:1}
.simulation-shell .sidebar{border-top:2px solid var(--ink); padding-top:22px; position:sticky; top:25px}
.simulation-shell .sidebar h2{font:600 19px var(--sans); letter-spacing:0}
.simulation-shell .ledger{display:flex; justify-content:space-between; gap:15px; border-bottom:1px solid var(--rule); padding:14px 0; font-size:14px}
.simulation-shell .ledger b{font-size:18px; white-space:nowrap; font-variant-numeric:tabular-nums}
.simulation-shell .log{padding:18px 0 0; list-style:none; font-size:13px; color:var(--ink-2)}
.simulation-shell .log li{margin-bottom:17px}
.simulation-shell .log span{display:block; color:var(--ink-3); font-size:12px}
.simulation-shell .feedback{margin-top:22px; padding:22px; border-radius:10px; background:var(--paper-2); animation:feedback .2s ease-out}
.simulation-shell .feedback h3{font-size:16px; color:var(--violet)}
.simulation-shell .feedback p{font-size:15px}
.simulation-shell .feedback .primary{margin-top:20px}
.simulation-shell .feedback .decision-review{margin:0; padding:0; border:0}
.simulation-shell .decision-review{scroll-margin-top:90px}
.simulation-shell .feedback .decision-review[open] summary{margin-bottom:18px}
@keyframes feedback {from {clip-path:inset(0 0 15% 0)} to {clip-path:inset(0)}}
.simulation-shell .results-title{max-width:30ch; font-size:clamp(34px,4vw,54px); margin-bottom:16px}
.simulation-shell .mobile-result-cta{display:none}
.simulation-shell .metrics{display:grid; grid-template-columns:repeat(3,1fr); margin:32px 0; border-top:1px solid var(--rule-2); border-bottom:1px solid var(--rule-2)}
.simulation-shell .metric{padding:24px 20px; border-right:1px solid var(--rule-2)}
.simulation-shell .metric:first-child{padding-left:0}
.simulation-shell .metric:last-child{border-right:0}
.simulation-shell .metric strong{display:block; font-family:var(--serif); font-size:clamp(25px,3vw,42px); line-height:1.2; margin-bottom:8px; font-variant-numeric:tabular-nums}
.simulation-shell .metric span{font-size:13px; color:var(--ink-2)}
.simulation-shell .negative{color:#963626}
.simulation-shell .positive{color:var(--rest)}
.simulation-shell .neutral{color:var(--ink-3)}
.simulation-shell .comparison-outcome{padding:20px 24px; background:#edf5f1; border-radius:10px; margin-top:24px}
.simulation-shell .comparison-outcome.negative{background:#f9efec}
.simulation-shell .comparison-outcome.neutral{background:var(--paper-2)}
.simulation-shell .comparison-outcome span{display:block; font-size:14px}
.simulation-shell .comparison-outcome strong{display:block; font-size:32px; line-height:1.3; margin:6px 0; font-variant-numeric:tabular-nums}
.simulation-shell .comparison-table{font-size:14px}
.simulation-shell .comparison-table thead th:last-child{color:var(--ink); font-weight:600}
.simulation-shell .comparison-table tbody th{font-weight:400; color:var(--ink); width:30%}
.simulation-shell .comparison-table td{white-space:nowrap}
.simulation-shell .comparison-table .change-cell{background:#edf5f1; padding:14px 12px}
.simulation-shell .comparison-table .change-cell.negative{background:#f9efec}
.simulation-shell .comparison-table .change-cell.neutral{background:var(--paper-2)}
.simulation-shell .change-cell strong{font-size:16px; font-weight:600; display:block}
.simulation-shell .change-cell small{font-size:12px; display:block; white-space:normal; margin-top:3px}
.simulation-shell .comparison-table .comparison-total th,.simulation-shell .comparison-table .comparison-total td{border-top:2px solid var(--rule-2); font-weight:600}
.simulation-shell .result-grid{display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr); gap:50px}
.simulation-shell .result-section{margin-top:35px}
.simulation-shell .result-section h2{font-size:30px}
.simulation-shell .timeline{margin:24px 0}
.simulation-shell .timeline-row{display:grid; grid-template-columns:1.5fr 1fr 65px; gap:15px; align-items:center; margin-bottom:18px; font-size:13px}
.simulation-shell .track{height:8px; background:var(--rule); border-radius:4px; overflow:hidden}
.simulation-shell .track i{display:block; height:100%; background:var(--violet); border-radius:4px}
.simulation-shell .timeline-row small{color:var(--ink-3); display:block}
.simulation-shell details{border-top:1px solid var(--rule-2); padding:18px 0; margin-top:12px}
.simulation-shell summary{cursor:pointer; font-weight:600; padding:4px 0}
.simulation-shell details p{font-size:14px; margin-top:15px; color:var(--ink-2)}
.simulation-shell .table-wrap{overflow-x:auto; margin-top:18px}
.simulation-shell table{border-collapse:collapse; width:100%; font-size:13px; font-variant-numeric:tabular-nums}
.simulation-shell th,.simulation-shell td{padding:12px 10px; text-align:right; border-bottom:1px solid var(--rule)}
.simulation-shell th{font-weight:500; color:var(--ink-3)}
.simulation-shell th:first-child,.simulation-shell td:first-child{text-align:left; padding-left:0}
.simulation-shell .module{padding:20px 0; border-bottom:1px solid var(--rule)}
.simulation-shell .module p{font-size:14px; color:var(--ink-2); margin:9px 0}
.simulation-shell .module small{font-size:12px; color:var(--violet); display:block}
.simulation-shell .offer{background:var(--paper-2); padding:28px; border-radius:12px; align-self:start}
.simulation-shell .offer h2{font-size:32px}
.simulation-shell .offer .price{font-size:26px; color:var(--violet); font-weight:600; margin:18px 0 5px}
.simulation-shell .offer p{font-size:14px}
.simulation-shell .offer .primary{width:100%; margin-top:23px}
.simulation-shell .offer a{display:inline-block; margin-top:15px; font-size:14px}
.simulation-shell .report-preview{margin-top:26px; padding-top:20px; border-top:1px solid var(--rule-2)}
.simulation-shell .report-preview ol{padding-left:21px; font-size:14px; color:var(--ink-2)}
.simulation-shell .lead-form{background:white; border:1px solid var(--rule-2); border-radius:12px; padding:30px; margin-top:35px}
.simulation-shell .lead-form h2{font-size:30px}
.simulation-shell .intent{display:flex; gap:15px; flex-wrap:wrap; margin-top:20px}
.simulation-shell .intent label{display:flex; align-items:center; gap:8px; font-size:14px; padding:8px 0; cursor:pointer}
.simulation-shell .check{display:flex; align-items:flex-start; gap:10px; margin-top:22px; font-size:13px}
.simulation-shell .check input{margin-top:2px}
.simulation-shell .error{color:#963626; margin-top:12px; font-size:14px}
.simulation-shell .success{margin-top:20px; padding:20px; background:var(--violet-soft); border-radius:8px}
.simulation-shell .success p{margin-bottom:12px}
.simulation-shell .comparison{background:var(--violet-soft); border-radius:8px; padding:20px; margin:25px 0}
.simulation-shell .review{max-width:1300px; margin:30px auto; padding:25px; border:1px solid var(--rule-2)}
.simulation-shell .review h2{font-size:28px}
.simulation-shell pre{white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; max-height:280px; overflow:auto}
.simulation-shell footer{border-top:1px solid var(--rule-2); max-width:1440px; margin:auto; padding:25px var(--space); display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; color:var(--ink-3); font-size:12px; align-items:center}
.simulation-shell .sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}
.simulation-shell .skip{position:absolute; top:-100px; left:20px; z-index:100; padding:15px; background:white}
.simulation-shell .skip:focus{top:10px}
.simulation-shell [hidden]{display:none!important}
@media (max-width:900px) {.simulation-shell .intro{gap:30px; grid-template-columns:1fr 1fr}
.simulation-shell .workspace,.simulation-shell .result-grid{gap:28px; grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr)}
.simulation-shell .intro-form,.simulation-shell .offer{padding:24px}}
@media (max-width:700px) {.simulation-shell .comparison-outcome{padding:18px}
.simulation-shell .comparison-table,.simulation-shell .comparison-table tbody{display:block}
.simulation-shell .comparison-table thead{position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%)}
.simulation-shell .comparison-table tr{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:18px 0; border-bottom:1px solid var(--rule-2)}
.simulation-shell .comparison-table tbody th{grid-column:1/-1; width:auto; padding:0 0 12px; font-size:15px; font-weight:600; border:0}
.simulation-shell .comparison-table td{padding:10px 6px; text-align:left; border:0; font-size:12px}
.simulation-shell .comparison-table td::before{content:attr(data-label); display:block; font-size:11px; color:var(--ink-3); margin-bottom:8px; font-weight:400}
.simulation-shell .comparison-table .change-cell{padding:10px 6px; border-radius:5px}
.simulation-shell .comparison-table .change-cell::before{color:inherit}
.simulation-shell .comparison-table .change-cell strong{font-size:13px}
.simulation-shell .comparison-table .change-cell small{font-size:11px}
.simulation-shell .comparison-table .comparison-total th,.simulation-shell .comparison-table .comparison-total td{border-top:0}
.simulation-shell .comparison-table .comparison-total{border-top:2px solid var(--rule-2)}
.simulation-shell .mobile-result-cta{display:block; position:sticky; top:0; background:var(--paper); padding:10px 0; z-index:5}
.simulation-shell .mobile-result-cta button{width:100%}
.simulation-shell .header{padding-top:20px; padding-bottom:20px}
.simulation-shell .header-note{display:none}
.simulation-shell .modes{gap:18px}
.simulation-shell .modes button{font-size:13px; text-align:left; flex:1}
.simulation-shell main{padding-top:28px}
.simulation-shell .intro,.simulation-shell .workspace,.simulation-shell .result-grid,.simulation-shell .promise{grid-template-columns:1fr; gap:28px}
.simulation-shell .intro{padding-top:0}
.simulation-shell .intro-copy{padding-top:0}
.simulation-shell h1{max-width:19ch}
.simulation-shell .lead{font-size:17px}
.simulation-shell .intro-form{padding:24px}
.simulation-shell .steps{gap:8px; margin-bottom:30px}
.simulation-shell .steps li{font-size:11px}
.simulation-shell .steps span{display:block}
.simulation-shell .sidebar{position:static}
.simulation-shell .metrics{grid-template-columns:1fr; margin-top:25px}
.simulation-shell .metric,.simulation-shell .metric:first-child{border-right:0; border-bottom:1px solid var(--rule); padding:16px 0}
.simulation-shell .metric:last-child{border-bottom:0}
.simulation-shell .metric strong{font-size:32px}
.simulation-shell .metric span{font-size:14px}
.simulation-shell .field-row{grid-template-columns:1fr; gap:0}
.simulation-shell .timeline-row{grid-template-columns:1.6fr 1fr 55px; gap:8px}
.simulation-shell .lead-form{padding:22px}
.simulation-shell .actions{align-items:stretch}
.simulation-shell .actions button{flex-grow:1}
.simulation-shell .offer{margin-top:0}
.simulation-shell .option{padding:17px}
.simulation-shell footer{gap:12px}}
@media (prefers-reduced-motion:reduce) {.simulation-shell *,.simulation-shell *::before,.simulation-shell *::after{animation:none!important; transition:none!important; scroll-behavior:auto!important}}
@media  print {.simulation-shell .header,.simulation-shell .modes,.simulation-shell footer,.simulation-shell .review,.simulation-shell .actions,.simulation-shell .lead-form,.simulation-shell button{display:none!important}
.simulation-shell main{padding:0}
.simulation-shell .workspace,.simulation-shell .result-grid{display:block}
.simulation-shell details{display:block}}
.simulation-shell .case-context{ margin: 18px 0; border-top: 1px solid var(--rule-2); padding-top: 10px; }
.simulation-shell .case-branch{ margin: 22px 0; padding: 18px; border-left: 3px solid var(--violet); background: var(--violet-soft); }
.simulation-shell .case-branch h2{ font-family: "Golos Text", sans-serif; font-size: 20px; }
.simulation-shell .case-events{ padding-left: 22px; line-height: 1.65; }
.simulation-shell .case-events li{ margin: 12px 0; }
.simulation-shell .case-events strong{ color: #963626; font-variant-numeric: tabular-nums; }
.simulation-shell .current-market{ background: var(--violet-soft); }
.simulation-shell .budget-panel{border-block:1px solid var(--rule-2); padding:20px 0; margin-bottom:32px; max-width:900px}
.simulation-shell .budget-balance{display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap}
.simulation-shell .budget-balance strong{font-size:28px; font-variant-numeric:tabular-nums}
.simulation-shell .budget-panel .note{max-width:75ch}
.simulation-shell .budget-panel .ledger{gap:16px}
.simulation-shell .budget-panel .ledger b{font-size:16px}
.simulation-shell .budget-panel .ledger span{min-width:0}
.simulation-shell .site-return{display:block; margin-bottom:24px; text-underline-offset:4px}
.simulation-shell .site-actions{display:flex; flex-direction:column; gap:12px}
.simulation-shell .site-actions a{padding:12px 0}
.simulation-shell .report-trap{display:none}
.simulation-shell #report-email-form{margin-top:22px}
.simulation-shell #report-email-form .check a{margin:0; padding:0; font-size:inherit}
.simulation-shell #report-email-status{margin-top:14px; color:var(--ink-2)}
.simulation-shell .offer > h3{margin-top:28px}
.simulation-shell .cash-flow{margin-block:24px 40px; padding:24px; background:var(--card); border:1px solid var(--rule); border-radius:12px; container-type:inline-size}
.simulation-shell .cash-flow h2{font-size:28px; line-height:1.2; margin:0; max-width:none; text-wrap:initial}
.simulation-shell .cash-heading{display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:24px}
.simulation-shell .cash-heading p{font-size:13px; color:var(--ink-3); margin-block-start:8px}
.simulation-shell .cash-heading .field{min-width:140px; margin:0; gap:6px}
.simulation-shell .cash-heading .field label{font-size:12px; color:var(--ink-3); font-weight:400}
.simulation-shell .cash-heading select{min-height:44px; padding:10px 12px; font-size:14px}
.simulation-shell .cash-stats{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-block:28px 24px}
.simulation-shell .cash-stats > div{display:flex; flex-direction:column; gap:6px; min-width:0}
.simulation-shell .cash-stats span,.simulation-shell .cash-stats small{font-size:12px; line-height:1.45; color:var(--ink-3)}
.simulation-shell .cash-stats strong{font-size:27px; line-height:1.2; font-weight:600; font-variant-numeric:tabular-nums}
.simulation-shell .cash-plot{width:100%; min-width:0; direction:ltr}
.simulation-shell .cash-flow svg{display:block; max-width:100%; overflow:visible}
.simulation-shell .cash-flow svg text{font:12px var(--sans); fill:var(--ink-3); font-variant-numeric:tabular-nums}
.simulation-shell .cash-flow svg .cash-unit{font-size:11px}
.simulation-shell .cash-current{fill:none; stroke:var(--violet); stroke-width:2.5; stroke-linejoin:round; stroke-linecap:round; vector-effect:non-scaling-stroke}
.simulation-shell .cash-baseline{fill:none; stroke:var(--ink-3); stroke-width:1.5; stroke-dasharray:6 5; stroke-linejoin:round; vector-effect:non-scaling-stroke}
.simulation-shell .cash-grid{stroke:var(--rule); stroke-width:1; vector-effect:non-scaling-stroke}
.simulation-shell .cash-zero{stroke:#AAA2B7; stroke-width:1; stroke-dasharray:4 4; vector-effect:non-scaling-stroke}
.simulation-shell .cash-guide{stroke:#C8B1DB; stroke-width:1; stroke-dasharray:3 4; vector-effect:non-scaling-stroke}
.simulation-shell .cash-end{fill:var(--violet)}
.simulation-shell .cash-payback{fill:var(--card); stroke:var(--violet); stroke-width:2.5; vector-effect:non-scaling-stroke}
.simulation-shell .cash-legend{display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin-block:20px 12px; font-size:12px; color:var(--ink-2)}
.simulation-shell .cash-legend > span{display:inline-flex; align-items:center; gap:8px}
.simulation-shell .cash-key{width:22px; border-block-start:2.5px solid var(--violet)}
.simulation-shell .cash-key-baseline{border-block-start:2px dashed var(--ink-3)}
.simulation-shell .cash-key-payback{width:10px; height:10px; border:2px solid var(--violet); border-radius:50%}
.simulation-shell .cash-note{font-size:12px; line-height:1.5; color:var(--ink-3); margin:0}
.simulation-shell .cash-details{margin-block:20px 0; padding:16px 0 0; border-block-start:1px solid var(--rule)}
.simulation-shell .cash-details summary{font-size:13px}
.simulation-shell .cash-years{margin:20px 0}
@container  (max-width:480px) {.simulation-shell .cash-heading{grid-template-columns:1fr; gap:16px}
.simulation-shell .cash-heading .field{display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:16px; min-width:0}
.simulation-shell .cash-heading select{width:auto; min-width:120px}
.simulation-shell .cash-flow h2{font-size:25px}
.simulation-shell .cash-stats{gap:16px; margin-block:24px 20px}
.simulation-shell .cash-stats strong{font-size:22px}}
@container  (max-width:280px) {.simulation-shell .cash-heading .field{align-items:start; flex-direction:column; gap:8px}
.simulation-shell .cash-heading select{width:100%}
.simulation-shell .cash-stats{grid-template-columns:1fr; gap:18px}}
.simulation-shell .workspace > *,.simulation-shell .result-grid > *{min-width:0}
@media (max-width:700px) {.simulation-shell .cash-flow{padding:16px}
.simulation-shell .budget-panel{padding:14px 0; margin-bottom:24px}
.simulation-shell .budget-balance strong{font-size:24px}}