@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{font-family:Space Grotesk,system-ui,sans-serif;line-height:1.5;font-weight:400;color:#e2e8f0;background-color:#05070c;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(1200px circle at 20% -10%,rgba(56,189,248,.18),transparent 55%),radial-gradient(900px circle at 85% 5%,rgba(34,197,94,.16),transparent 55%),#05070c}a{color:inherit}:root{--ink: #f8fafc;--muted: #9aa4b2;--panel: #0f1117;--panel-strong: #121622;--panel-shadow: rgba(2, 6, 23, .7);--accent: #38bdf8;--accent-dark: #0ea5e9;--accent-soft: rgba(56, 189, 248, .18);--line: rgba(248, 250, 252, .08)}#root{min-height:100vh}.page{max-width:1200px;margin:0 auto;padding:40px 20px 68px;position:relative}.hero{position:relative;z-index:1;display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:40px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.7rem;color:#f8fafc99;margin:0 0 12px}.hero h1{font-family:Fraunces,serif;font-size:clamp(2.3rem,3vw,3.4rem);margin:0 0 16px;color:var(--ink)}.subhead{margin:0;color:var(--muted);font-size:1.05rem;max-width:520px}.hero-alert{margin-top:14px;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--panel-strong);color:var(--muted);font-size:.9rem}.hero-badges{display:grid;gap:14px}.badge{padding:16px 18px;background:var(--panel-strong);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 36px -30px #020617b3;display:grid;gap:6px}.badge span{font-size:.85rem;color:var(--muted)}.badge strong{font-size:1.05rem;color:var(--ink)}.grid{position:relative;z-index:1;display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.panel{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 22px 48px -42px var(--panel-shadow)}.panel-wide{grid-column:span 2}.panel-header h2{margin:0 0 6px;font-size:1.4rem}.panel-header p{margin:0;color:var(--muted)}.form-grid{display:grid;gap:16px;margin-top:20px}.form-divider{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-top:8px;border-top:1px dashed rgba(248,250,252,.2);grid-column:1 / -1}label{display:grid;gap:8px;font-size:.92rem;color:var(--muted)}input{border-radius:12px;border:1px solid var(--line);padding:12px 14px;font-size:1rem;font-family:inherit;background:#0f1117e6;color:var(--ink);transition:border .2s ease,box-shadow .2s ease}input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #38bdf840}.toggle-row{margin-top:20px;display:grid;gap:8px}.toggle{display:flex;gap:10px;align-items:center;color:var(--ink);font-weight:500}.toggle input{width:18px;height:18px}.micro{margin:0;font-size:.85rem;color:var(--muted)}.card-grid{display:grid;gap:20px;grid-template-columns:1fr}.result-card{background:var(--panel-strong);border-radius:20px;padding:18px;border:1px solid rgba(248,250,252,.08);display:grid;gap:18px;box-shadow:0 20px 36px -28px #020617b3;animation:float-in .6s ease both}.result-card:nth-child(2){animation-delay:.08s}.result-card:nth-child(3){animation-delay:.16s}.result-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.summary-tile{border-radius:14px;border:1px solid rgba(248,250,252,.08);padding:12px 14px;background:#0f1117b3;display:grid;gap:6px;font-size:.85rem;color:var(--muted)}.summary-tile strong{color:var(--ink);font-size:1.02rem}.summary-subtext{color:#f8fafc8c;font-size:.78rem}.card-title{margin:0 0 8px;font-weight:600;font-size:1.1rem}.chip{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.78rem;font-weight:600}.net{text-align:right;color:var(--muted);font-size:.85rem}.net strong{display:block;font-size:1.2rem;color:var(--ink)}.perk-list{list-style:none;padding:0;margin:0;display:grid;gap:8px;color:var(--muted);font-size:.88rem}.rent-calc{border-radius:16px;border:1px dashed rgba(248,250,252,.2);padding:12px 16px;background:#0f1117a6;font-size:.88rem;transition:background .2s ease,border-color .2s ease}.rent-calc summary{display:block;position:relative;cursor:pointer;list-style:none;font-weight:600;color:var(--ink);padding:0 22px 0 0;transition:color .2s ease}.rent-calc-summary{display:grid;gap:8px}.rent-calc-title{font-weight:600;color:var(--ink)}.rent-calc summary::-webkit-details-marker{display:none}.rent-calc summary:after{content:"+";font-size:1.2rem;font-weight:700;color:var(--muted);transition:color .2s ease,transform .2s ease;position:absolute;right:0;top:-4px}.rent-calc[open] summary:after{content:"-"}.rent-calc:hover{background:#1e293bd9;border-color:#38bdf880}.rent-calc summary:hover{color:#7dd3fc}.rent-calc summary:hover:after{color:#7dd3fc;transform:scale(1.05)}.rent-calc-body{margin-top:12px;display:grid;gap:10px}.rent-calc-preview{margin-top:6px;color:var(--muted);font-size:.84rem}.rent-calc[open] .rent-calc-preview{display:none}.rent-calc-preview-value{color:var(--muted);font-weight:500}.rent-calc-row{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.rent-calc-row strong{color:var(--ink);text-align:right;font-weight:600}.rent-calc .calc-muted{color:#f8fafc73;font-weight:500}.rent-calc .rent-total{border-top:1px dashed rgba(248,250,252,.2);padding-top:10px;margin-top:4px}.rent-calc .rent-total strong{font-size:1.02rem}.rent-calc .cash-used{color:#f87171}.rent-calc .cash-remaining{color:#4ade80}.perk-list li{position:relative;padding-left:18px}.perk-list li:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);position:absolute;left:0;top:6px}.footer{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.footer p{margin:0;max-width:620px}@keyframes float-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.panel-wide{grid-column:span 1}}@media(max-width:640px){.page{padding:28px 16px 56px}.hero h1{font-size:2.2rem}}
