/* Hallmark · macrostructure: comparison workbench · theme: locked design.md
 * pre-emit critique: P5 H5 E4 S5 R5 V4 */
.calculator-page h1,.calculator-page h2,.calculator-page h3{min-width:0;overflow-wrap:anywhere;font-style:normal}
.calculator-page .program-hero{padding-block:var(--space-2xl) var(--space-xl)}
.calculator-page .program-hero h1{font-size:clamp(2.25rem,4.6vw,3.5rem);max-width:24ch;letter-spacing:-.025em}
.calculator-page .program-intro{max-width:65ch;font-size:var(--text-lg);margin-bottom:var(--space-md)}
.calculator-kicker{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin:0 0 var(--space-sm)}
.calculator-privacy{font-size:var(--text-sm);color:var(--color-muted);max-width:70ch}
.calculator-workbench{display:grid;gap:var(--space-xl);padding-bottom:var(--space-3xl);align-items:start}
.calculator-workbench>*{min-width:0}
.calculator-form{margin:0}
.calculator-form fieldset{border:0;margin:0;padding:0;min-width:0}
.calculator-form .calculator-group{border-top:1px solid var(--color-rule);padding-block:var(--space-lg)}
.calculator-group legend{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;padding:0 var(--space-sm) 0 0;max-width:100%}
.calculator-fields{display:grid;gap:var(--space-md) var(--space-lg)}
.calculator-field{min-width:0}
.calculator-field label{display:block;font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-xs)}
.calculator-field input,.calculator-field select{width:100%;min-width:0;min-height:48px;border:1px solid var(--color-muted);border-radius:var(--radius-input);padding:var(--space-sm);font:400 var(--text-md)/1.4 var(--font-body);color:var(--color-ink);background:var(--color-surface);box-sizing:border-box}
.calculator-field input{font-variant-numeric:tabular-nums}
.calculator-field [aria-invalid=true]{border-color:var(--color-error)}
.calculator-field [aria-invalid=true]+.calculator-help{color:var(--color-error);font-weight:500}
.calculator-help{font-size:var(--text-xs);line-height:1.5;min-height:3em;margin:var(--space-xs) 0 0;color:var(--color-muted)}
.calculator-group-note{font-size:var(--text-sm);color:var(--color-muted);margin:0 0 var(--space-md);max-width:65ch}
.calculator-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-sm)}
.calculator-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;border:1px solid var(--color-accent);border-radius:var(--radius-input);padding:var(--space-sm) var(--space-lg);font:600 var(--text-sm)/1.5 var(--font-body);white-space:nowrap;cursor:pointer;background:var(--color-accent);color:var(--color-accent-ink)}
.calculator-button--secondary{background:var(--color-paper);color:var(--color-accent)}
.calculator-button:active{transform:translateY(1px)}
.calculator-form :disabled{opacity:.55;cursor:not-allowed}
.calculator-page :focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
.calculator-errors{font-size:var(--text-sm);color:var(--color-error);margin:var(--space-md) 0 0}
.calculator-result{background:var(--color-paper-2);color:var(--color-ink);border-top:4px solid var(--color-ink);padding:var(--space-lg);border-radius:0 0 var(--radius-input) var(--radius-input)}
.calculator-result h2{font-size:var(--text-2xl);line-height:1.2;margin:0 0 var(--space-md)}
.calculator-result p{font-size:var(--text-sm);line-height:1.6}
.calculator-empty{padding-block:var(--space-lg)}
.calculator-empty img{width:44px;height:44px;display:block;margin-bottom:var(--space-lg)}
.calculator-empty p{margin:0;max-width:35ch}
.calculator-scenario{font-size:var(--text-xs)!important;color:var(--color-muted);margin:0 0 var(--space-lg)}
.calculator-breakdown{margin:0}
.calculator-breakdown>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);padding-block:var(--space-sm);border-top:1px solid var(--color-rule)}
.calculator-breakdown dt{font-size:var(--text-sm);flex:1 1 12rem}
.calculator-breakdown dd{font-size:var(--text-md);font-weight:600;font-variant-numeric:tabular-nums;margin:0;overflow-wrap:anywhere}
.calculator-balance{border-top:1px solid var(--color-ink);padding-top:var(--space-lg);margin-top:var(--space-sm)}
.calculator-balance p{margin:0 0 var(--space-xs);font-weight:600}
.calculator-balance output{display:block;font:500 clamp(1.85rem,3.5vw,2.7rem)/1.2 var(--font-display);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.calculator-interpretation{padding-block:var(--space-md);border-bottom:1px solid var(--color-rule)}
.calculator-limit{color:var(--color-muted);font-size:var(--text-xs)!important;margin-bottom:0}
.calculator-status{font-size:var(--text-sm);color:var(--color-muted)}
.calculator-example-note{font-size:var(--text-sm);color:var(--color-warning);margin-top:var(--space-md)}
.calculator-method{border-top:1px solid var(--color-rule);padding-block:var(--space-2xl);display:grid;gap:var(--space-xl)}
.calculator-method h2{font-size:var(--text-2xl);margin:0 0 var(--space-md)}
.calculator-method h3{font-size:var(--text-xl)}
.calculator-method p,.calculator-method li{font-size:var(--text-md);max-width:65ch}
.calculator-method ol{padding-inline-start:var(--space-lg)}
.calculator-method li{padding-inline-start:var(--space-xs);margin-bottom:var(--space-sm)}
.calculator-formula{font-variant-numeric:tabular-nums;border-inline-start:3px solid var(--color-rule);padding-inline-start:var(--space-md)}
.calculator-related{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg);margin-top:var(--space-md)}
.calculator-related a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-sm);white-space:nowrap}
.calculator-page [hidden]{display:none!important}
@media(hover:hover){.calculator-field input:hover,.calculator-field select:hover{background:var(--color-paper-2);color:var(--color-ink)}.calculator-button:hover{background:var(--color-accent-hover);color:var(--color-accent-ink)}.calculator-button--secondary:hover{background:var(--color-paper-2);color:var(--color-accent)}}
@media(min-width:40rem){.calculator-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.calculator-field--wide{grid-column:1/-1}.calculator-result{padding:var(--space-xl)}}
@media(min-width:62rem){.calculator-workbench{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--space-2xl)}.calculator-result{position:sticky;top:var(--space-lg)}.calculator-method{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl)}}
@media(prefers-reduced-motion:reduce){.calculator-page *, .calculator-page *::before,.calculator-page *::after{transition:none!important;scroll-behavior:auto!important}.calculator-button:active{transform:none}}
@media print{.calculator-actions,.calculator-page .program-header,.calculator-page .program-footer{display:none}.calculator-result{position:static}.calculator-workbench{display:block}.calculator-result{margin-top:var(--space-xl)}.calculator-page input,.calculator-page select{border-color:var(--color-ink)}}
