:root{font-family:IBM Plex Sans,Segoe UI,sans-serif;color:#112031;background:radial-gradient(circle at top left,rgba(245,190,122,.45),transparent 28%),linear-gradient(180deg,#f4efe6,#e8ece8);line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}.app-shell{max-width:1440px;margin:0 auto;padding:40px 20px 56px}.hero{margin-bottom:24px}.eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;color:#8c4a2f}.hero h1{margin:0;max-width:860px;font-family:"IBM Plex Serif",Georgia,serif;font-size:2.8rem;line-height:1}.intro{max-width:720px;margin:16px 0 0;font-size:1.05rem;color:#34485b}.content-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(460px,1fr);gap:24px;align-items:start}.form-stack{display:grid;gap:24px}.calculation-form{display:grid;gap:18px}.panel{background:#fffcf8d9;border:1px solid rgba(17,32,49,.08);border-radius:24px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 18px 50px #3d372b14}.form-panel,.toggle-panel,.wizard-panel{padding:24px}.step-label{margin:0 0 6px;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:#8c4a2f}.scenario-grid{display:grid;gap:12px;margin-top:18px}.scenario-card{display:grid;gap:6px;width:100%;border:1px solid rgba(17,32,49,.12);border-radius:18px;padding:16px;background:#fffdfa;color:#112031;text-align:left;cursor:pointer}.scenario-card strong{font-size:1rem}.scenario-card span{color:#5f7080}.scenario-card.selected{border-color:#2a7f62;box-shadow:0 0 0 3px #2a7f621f}.assumptions-toggle{margin-top:8px}.advanced-assumptions{margin:0;background:#fdfaf4eb}.collapsible-summary,.advanced-assumptions summary{display:flex;flex-direction:column;gap:4px;cursor:pointer;list-style:none}.collapsible-summary::-webkit-details-marker,.advanced-assumptions summary::-webkit-details-marker{display:none}.collapsible-summary:after,.advanced-assumptions summary:after{content:"Expand section";width:fit-content;margin-top:8px;color:#1e6e73;font-size:.88rem;font-weight:700}.collapsible-panel[open] .collapsible-summary:after,.advanced-assumptions[open] summary:after{content:"Collapse section"}.collapsible-summary h2,.collapsible-summary p{margin:0}.collapsible-summary p:not(.step-label){color:#58697a}.collapsible-body{margin-top:18px}.assumptions-grid{margin:0}.form-section{padding:18px 0;border-top:1px solid rgba(17,32,49,.08)}.form-section:first-of-type{border-top:0}.form-section .field-grid{margin-bottom:0}.assumption-summary{margin-top:14px;color:#5f7080}.assumption-summary p{margin:0}.results-panel{padding:24px;position:sticky;top:20px;height:fit-content}.panel-header h2,.panel-header h3,.panel-header p{margin:0}.panel-header p{margin-top:8px;color:#58697a}.field-grid{display:grid;grid-template-columns:1fr;gap:14px;margin:0}.field{display:flex;flex-direction:column;gap:8px}.field span{font-size:.95rem;font-weight:600}.field-label{display:flex;align-items:center;gap:8px}.source-link{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;border:1px solid #9db0bc;color:#35586b;font-size:.72rem;font-weight:700;text-decoration:none;background:#fffdfa}.source-link:hover{border-color:#35586b;color:#112031}.field input,.field select{border:1px solid #ced7de;border-radius:14px;padding:12px 14px;background:#fffdf9}.field select{color:#112031}.calculated-field{justify-content:space-between;min-height:150px;padding:14px;border:1px solid rgba(42,127,98,.18);border-radius:16px;background:#f7fcf8e6}.calculated-field strong{font-size:1.45rem;line-height:1.1}.calculated-field details{color:#526574;font-size:.88rem}.calculated-field summary{cursor:pointer;font-weight:700}.calculated-field p{margin:6px 0 0}.field-note{grid-column:1 / -1;padding:14px 16px;border-radius:16px;background:#fffdfacc;border:1px dashed rgba(17,32,49,.18)}.field-note strong,.field-note p{margin:0}.field-note p{margin-top:6px;color:#5f7080}.toggle-field input{width:20px;height:20px;margin:4px 0 0;padding:0;border-radius:6px}.field small{color:#687887;min-height:2.4em}.submit-button{width:100%;border:0;border-radius:999px;padding:14px 18px;background:linear-gradient(135deg,#264653,#2a7f62);color:#fff;font-weight:700;cursor:pointer}.submit-button:disabled{opacity:.7;cursor:progress}.error-banner{margin:14px 0 0;color:#9f2232}.recommendation{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:20px;color:#fff;margin-top:24px}.recommendation.buy,.recommendation.keep_and_buy{background:linear-gradient(135deg,#1f6f5f,#439a86)}.recommendation.rent,.recommendation.sell_buy_and_invest{background:linear-gradient(135deg,#7a3b2e,#b45f46)}.recommendation span{opacity:.82;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem}.recommendation strong{font-size:2.2rem}.metrics{display:grid;gap:12px;margin-top:18px;min-width:0}.result-section{border-radius:18px;padding:18px;background:#fffdfa;border:1px solid rgba(17,32,49,.06);margin-top:16px}.result-section-primary{background:linear-gradient(180deg,#faf6eefa,#fffcf8fa)}.section-heading h3,.section-heading p{margin:0}.section-heading p{margin-top:6px;color:#5f7080}.metrics-primary{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.metrics article,.interpretation,.assumptions,.warnings,.empty-state{border-radius:18px;padding:18px;background:#fffdfa;border:1px solid rgba(17,32,49,.06);margin-top:16px;min-width:0}.metrics article span,.assumptions li strong{display:block;color:#5f7080}.metrics article strong{display:block;max-width:100%;overflow-wrap:normal;word-break:normal;font-size:clamp(1.05rem,2.1vw,1.5rem);line-height:1.12;white-space:nowrap}.metrics article{margin-top:0}.metrics article span{text-wrap:balance}.assumptions ul{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:12px}.assumptions li{display:grid;grid-template-columns:minmax(0,1.8fr) auto auto;gap:10px;align-items:center;font-size:.95rem}.assumptions-dropdown summary{cursor:pointer;font-weight:700;list-style:none}.assumptions-dropdown summary::-webkit-details-marker{display:none}.assumptions-dropdown summary:after{content:"Show";margin-left:10px;font-size:.82rem;color:#5f7080;font-weight:500}.assumptions-dropdown[open] summary:after{content:"Hide"}.assumptions li p{grid-column:1 / -1;margin:0;color:#687887;font-size:.88rem;line-height:1.4}.assumptions a{color:#1e6e73}.warnings p{margin:0 0 10px}.warnings p:last-child{margin-bottom:0}@media (max-width: 980px){.content-grid{grid-template-columns:1fr}.results-panel{position:static}}@media (max-width: 640px){.app-shell{padding:24px 14px 40px}.hero h1{font-size:2.1rem}.field-grid,.assumptions li,.metrics-primary{grid-template-columns:1fr}}
