.calc-intro { padding-block: 52px 28px; }
.calc-intro h1 { max-width: 900px; font-size: clamp(2rem,4vw,3.4rem); line-height: 1.12; letter-spacing: -.035em; margin: 12px 0 20px; }
.calc-intro > p:last-child { color: var(--text-muted); max-width: 66ch; }
.calc-workspace { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:32px; align-items:start; padding-bottom:48px; }
.calc-workspace form, .calc-results { min-width:0; }
.calc-workspace fieldset { border:0; padding:24px 0; margin:0; border-bottom:1px solid var(--line); min-width:0; }
.calc-workspace legend { font-weight:750; font-size:1.125rem; padding:0; }
.calc-workspace .calc-modes { padding-top:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.calc-modes legend { margin-bottom:16px; }
.calc-modes label { display:flex; align-items:center; gap:10px; min-height:56px; padding:12px; border:1px solid var(--line); border-radius:var(--radius-control); cursor:pointer; font-weight:600; }
.calc-modes label:has(:checked) { background:var(--surface-strong); border-color:var(--accent-strong); }
.calc-modes input { width:18px; height:18px; accent-color:var(--accent-strong); flex:none; }
.calc-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:16px 0; }
.calc-fields label,.calc-fields > div { min-width:0; }
.calc-fields label { display:flex; flex-direction:column; gap:6px; font-weight:600; }
.calc-fields > div > label + label { margin-top:16px; }
.calc-fields input,.calc-fields select,.calc-results textarea { width:100%; min-height:48px; border:1px solid var(--line); border-radius:var(--radius-control); padding:10px 12px; background:var(--surface); color:var(--text); }
.calc-fields small,.calc-help { font-size:.875rem; font-weight:400; line-height:1.5; color:var(--text-muted); }
.calc-fields .calc-error { color:#9d2817; }
.calc-fields input[aria-invalid="true"] { border-color:#9d2817; }
.calc-workspace [hidden],.calc-review[hidden],.calc-review [hidden] { display:none !important; }
.calc-workspace form > .button { margin-top:24px; }
.calc-results { padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.calc-results h2 { margin:0 0 16px; font-size:1.4rem; }
.calc-result-number { font-size:clamp(2rem,3.2vw,3rem); font-weight:750; font-variant-numeric:tabular-nums; letter-spacing:-.025em; margin:20px 0 8px; overflow-wrap:anywhere; }
.calc-results pre,.calc-review pre { font:inherit; font-size:.875rem; white-space:pre-wrap; overflow-wrap:anywhere; color:var(--text-muted); }
.calc-warning { padding-left:14px; border-left:3px solid var(--accent); font-size:.875rem; }
.calc-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.calc-workspace button:disabled,.calc-review button:disabled { opacity:.55; cursor:not-allowed; }
.calc-methods { padding-block:16px 64px; }
.calc-method-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.calc-method-grid h3 { font-size:1.125rem; }
.calc-method-grid p { max-width:62ch; }
.calc-review { grid-column:1 / -1; padding:24px; margin-block:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.calc-review h2 { font-size:clamp(1.5rem,2.5vw,2rem); margin:0 0 16px; }
.calc-review label:has(textarea[hidden]) { display:none; }
.calc-review textarea { width:100%; }
.calc-review button { min-height:44px; }
@media(max-width:800px) { .calc-workspace,.calc-method-grid { grid-template-columns:1fr; } .calc-intro { padding-top:32px; } .calc-results { padding:20px; } }
@media(max-width:480px) { .calc-fields { grid-template-columns:1fr; } .calc-modes label { font-size:.875rem; padding:10px; } .calc-actions { flex-direction:column; } .calc-actions .button { width:100%; } }
