:root{
  --bg:#FAF7F2; --surface:#FFFFFF; --line:#E4DDD2;
  --text:#2B2926; --text-muted:#6B655C; --text-green:#4A5548;
  --primary:#E85D3C; --secondary:#5B8DB8;
  --radius:10px;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#1C1A18; --surface:#252220; --line:#3A3531;
    --text:#EDE7DE; --text-muted:#A39B90; --text-green:#9CB09A;
    --primary:#F0765A; --secondary:#7FA9CE;
  }
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:760px;margin:0 auto;padding:56px 22px 80px}
h1{font-size:clamp(1.9rem,5vw,2.6rem);line-height:1.15;margin:0 0 14px;letter-spacing:-.02em}
.lede{color:var(--text-muted);margin:0 0 8px;font-size:1.05rem}
.note{ font-size:.8rem;color:var(--text-muted);
  letter-spacing:.04em;text-transform:uppercase;margin:0 0 40px}

fieldset{border:0;padding:0;margin:0 0 32px}
legend{font-family:var(--font-ui);font-size:.78rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--text-green);padding:0;margin-bottom:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}
label{display:block}
.lbl{display:block; font-size:.88rem;margin-bottom:6px}
.hint{display:block; font-size:.76rem;color:var(--text-muted);margin-top:5px}
input[type=number]{width:100%;padding:11px 12px; font-size:1rem;
  color:var(--text);background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);appearance:textfield}
input[type=number]:focus-visible{outline:2px solid var(--secondary);outline-offset:1px;border-color:var(--secondary)}
input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.out{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;margin:8px 0 28px}
.floor{border-left:3px solid var(--primary);padding-left:18px;margin-bottom:26px}
.range{border-left:3px solid var(--secondary);padding-left:18px}
.cap{ font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--text-muted);margin-bottom:4px}
.big{ font-size:clamp(1.7rem,5vw,2.3rem);font-weight:600;letter-spacing:-.02em}
.why{font-size:.95rem;color:var(--text-muted);margin-top:6px}
.err{color:var(--primary); font-size:.9rem}

details{border-top:1px solid var(--line);padding-top:16px;margin-top:22px}
summary{ font-size:.88rem;cursor:pointer;color:var(--secondary)}
summary:focus-visible{outline:2px solid var(--secondary);outline-offset:3px}
table{width:100%;border-collapse:collapse;margin-top:14px; font-size:.9rem}
td{padding:7px 0;border-bottom:1px solid var(--line);color:var(--text-muted)}
td+td{text-align:right; color:var(--text)}

.handoff{border-top:1px solid var(--line);margin-top:48px;padding-top:28px}
.handoff p{color:var(--text-muted);margin:0 0 18px}
.cta{display:inline-block;background:var(--primary);color:#fff;text-decoration:none;
  font-family:var(--font-ui);font-size:.95rem;padding:13px 24px;border-radius:var(--radius)}
.cta:focus-visible{outline:2px solid var(--secondary);outline-offset:3px}
.privacy{font-family:var(--font-ui);font-size:.78rem;color:var(--text-muted);margin-top:34px}