.calc-back{display:inline-block;color:var(--text-dim);font-size:var(--step--1);margin-bottom:var(--space-m)}.calc-back:hover{color:var(--accent)}.calc-title{font-size:var(--step-5);margin-block:var(--space-2xs) var(--space-s)}.calc-lead{max-width:62ch;color:var(--text-dim);font-size:var(--step-1)}.calc{margin-top:var(--space-xl);display:grid;gap:var(--space-l);grid-template-columns:1fr;align-items:start}@media(min-width:860px){.calc{grid-template-columns:1fr minmax(300px,340px)}}.calc__viz{display:grid;gap:var(--space-m)}.calc__chart{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-s)}.calc__chart svg{width:100%;height:auto}.calc__error{margin:0;padding:var(--space-xs) var(--space-s);border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid var(--accent);color:var(--text);font-size:var(--step--1)}.calc__readout{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2xs)}.stat{display:flex;flex-direction:column;gap:2px;padding:var(--space-s);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev)}.stat--hero{grid-column:1 / -1;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,var(--bg-elev)),var(--bg-elev))}.stat__label{font-size:var(--step--1);color:var(--text-dim)}.stat__value{font-family:var(--font-mono);font-size:var(--step-1);font-variant-numeric:tabular-nums}.stat--hero .stat__value{font-size:var(--step-3);color:var(--accent)}.calc__controls{display:grid;gap:var(--space-s);padding:var(--space-m);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elev)}.field{display:grid;gap:4px}.field--hidden{display:none}.field__label{display:flex;align-items:center;gap:var(--space-2xs);font-size:var(--step--1);color:var(--text-dim)}.field__tag{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-contrast);background:var(--accent);padding:1px 6px;border-radius:999px}.field__wrap{position:relative;display:flex;align-items:center}.field__input{width:100%;padding:.6rem .75rem;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s var(--ease)}.field__input:focus{outline:none;border-color:var(--accent)}select.field__input{cursor:pointer}.field__suffix{position:absolute;right:.75rem;color:var(--text-dim);pointer-events:none}.field[data-solving] .field__input{border-color:var(--accent);border-style:dashed;background:color-mix(in srgb,var(--accent) 8%,var(--bg));color:var(--accent);font-family:var(--font-mono)}.btn-mini{justify-self:start;margin-top:var(--space-2xs);padding:.5rem 1rem;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:var(--step--1);cursor:pointer;transition:border-color .15s var(--ease)}.btn-mini:hover{border-color:var(--accent)}.calc__hint{margin:0;font-size:var(--step--1);color:var(--text-dim)}.calc-chart .curve{fill:none;stroke:var(--text);stroke-width:2;stroke-linejoin:round}.calc-chart .area{fill:var(--accent);opacity:.2}.calc-chart .defect{fill:var(--accent);opacity:.42}.calc-chart .axis{stroke:var(--border);stroke-width:1}.calc-chart .mean{stroke:var(--text-dim);stroke-width:1.5;stroke-dasharray:4 4}.calc-chart .limit{stroke:var(--accent);stroke-width:1.5}.calc-chart .target{stroke:var(--accent-2);stroke-width:1.5;stroke-dasharray:2 3}.calc-chart .tick{stroke:var(--border);stroke-width:1}.calc-chart text{fill:var(--text-dim);font-family:var(--font-mono);font-size:11px}.calc-chart .label-accent{fill:var(--accent)}.calc-chart .label-target{fill:var(--accent-2)}.seg{display:inline-flex;padding:3px;gap:3px;border:1px solid var(--border);border-radius:999px;background:var(--bg)}.seg button{border:none;background:transparent;color:var(--text-dim);padding:.4rem .9rem;border-radius:999px;cursor:pointer;font-size:var(--step--1);transition:background .15s var(--ease),color .15s var(--ease)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-contrast)}
