/* BMI Calculator module — .iccalc design, scoped to .cs-bmi-calculator */
.cs-bmi-calculator{
  --paper:#FFFFFF;--ink:#142133;--ink-soft:#33455E;--mist:#647890;
  --line:#E3EAF5;--line-soft:#EAF0FB;--line-2:#CBD9EE;
  --pine:#0157ff;--pine-deep:#0142c8;--pine-tint:#E9F0FF;--bg:#E8EEF5;
  --band-under:#4C9BD1;--band-normal:#36B27C;--band-over:#E8A13C;--band-obese:#DD5A4B;
  --font-display:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;
  --font-body:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;
  --font-mono:"Consolas","SF Mono","Cascadia Code","Roboto Mono",ui-monospace,"Liberation Mono",monospace;
  --shadow-sm:0 1px 2px rgba(20,33,51,.04),0 2px 8px rgba(20,33,51,.05);
  --radius:12px;--radius-sm:10px;
  font-family:var(--font-body);color:var(--ink);line-height:1.6;
  container-type:inline-size;display:block;
}
.cs-bmi-calculator *{box-sizing:border-box}
.cs-bmi-calculator .panel--calc{background:var(--paper);border:1.5px solid var(--line-2);border-radius:var(--radius);box-shadow:0 4px 0 var(--line);overflow:hidden}
.cs-bmi-calculator .panel__head{display:flex;align-items:center;gap:10px;padding:15px 22px;border-bottom:1.5px solid var(--line-soft);background:var(--pine-tint)}
.cs-bmi-calculator .panel__title{margin:0;font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.cs-bmi-calculator .panel__title .badge{width:28px;height:28px;border-radius:8px;background:var(--pine-tint);color:var(--pine);display:grid;place-items:center}
.cs-bmi-calculator .calc-body{padding:18px 22px}
.cs-bmi-calculator .fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cs-bmi-calculator .field{min-width:0}
.cs-bmi-calculator .field--wide{grid-column:1 / -1}
.cs-bmi-calculator .field label{display:block;font-weight:600;font-size:.8rem;color:#000;margin-bottom:6px}
.cs-bmi-calculator .input-wrap{display:flex;align-items:stretch;border:1.5px solid var(--line-2);border-radius:9px;background:#fff;overflow:hidden;transition:.15s}
.cs-bmi-calculator .input-wrap:focus-within{border-color:var(--pine);box-shadow:0 0 0 3px var(--pine-tint)}
.cs-bmi-calculator .input-wrap input{flex:1;min-width:0;border:none;outline:none;font-family:var(--font-mono);font-weight:500;font-size:1rem;color:var(--ink);padding:11px 13px;background:transparent}
.cs-bmi-calculator .input-wrap .unit{display:grid;place-items:center;padding:0 12px;background:var(--pine-tint);color:var(--mist);font-size:.82rem;font-weight:600;border-left:1.5px solid var(--line-2)}
.cs-bmi-calculator .field .hint{font-size:.72rem;color:var(--mist);margin-top:5px}
.cs-bmi-calculator .field .hint.err{color:var(--band-obese);font-weight:500}
.cs-bmi-calculator .split{display:flex;gap:9px}
.cs-bmi-calculator .split .input-wrap{flex:1}
.cs-bmi-calculator .actions{display:flex;gap:10px;margin-top:16px}
.cs-bmi-calculator .btn{font-family:var(--font-body);font-weight:600;font-size:.92rem;border-radius:8px;padding:12px 18px;cursor:pointer;border:1.5px solid transparent;transition:transform .12s ease,box-shadow .12s ease,background .15s}
.cs-bmi-calculator .btn:active{transform:translateY(2px)}
.cs-bmi-calculator .btn--primary{background:var(--pine);color:#fff;box-shadow:0 3px 0 var(--pine-deep);border-color:var(--pine-deep);flex:1}
.cs-bmi-calculator .btn--primary:hover{transform:translateY(1px);box-shadow:0 2px 0 var(--pine-deep)}
.cs-bmi-calculator .btn--ghost{background:var(--paper);border-color:var(--line-2);color:var(--ink);box-shadow:0 3px 0 var(--line)}
.cs-bmi-calculator .btn--ghost:hover{transform:translateY(1px);box-shadow:0 2px 0 var(--line);border-color:var(--ink)}
.cs-bmi-calculator .seg{display:flex;background:var(--pine-tint);border:1.5px solid var(--line-2);border-radius:999px;padding:3px;gap:2px}
.cs-bmi-calculator .seg button{flex:1 1 0;min-width:0;border:none;background:transparent;font-family:var(--font-body);font-weight:600;font-size:.8rem;color:var(--mist);padding:7px 6px;border-radius:999px;cursor:pointer;transition:.15s;white-space:nowrap}
.cs-bmi-calculator .seg button.on{background:#fff;color:var(--pine-deep);box-shadow:0 1px 2px rgba(20,33,51,.06),0 2px 4px rgba(20,33,51,.04)}
.cs-bmi-calculator .seg button:hover:not(.on){color:var(--ink-soft)}
.cs-bmi-calculator .result{margin-top:20px;padding-top:20px;border-top:1px dashed var(--line)}
.cs-bmi-calculator .result.is-empty .result__readout,.cs-bmi-calculator .result.is-empty .gauge-wrap,.cs-bmi-calculator .result.is-empty .healthy{display:none}
.cs-bmi-calculator .result__placeholder{display:none;color:var(--mist);font-size:.9rem;text-align:center;padding:18px 0}
.cs-bmi-calculator .result.is-empty .result__placeholder{display:block}
.cs-bmi-calculator .result__readout{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:20px}
.cs-bmi-calculator .bmi-num{font-family:var(--font-mono);font-weight:700;font-size:3rem;line-height:.9;color:var(--ink);letter-spacing:-.02em}
.cs-bmi-calculator .bmi-label{font-size:.74rem;color:var(--mist);text-transform:uppercase;letter-spacing:.08em;margin-top:6px;font-weight:600}
.cs-bmi-calculator .cat-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-weight:700;font-size:.95rem;font-family:var(--font-display)}
.cs-bmi-calculator .cat-chip .swatch{width:10px;height:10px;border-radius:50%}
.cs-bmi-calculator .gauge-cap{font-size:.72rem;color:var(--mist);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:40px}
.cs-bmi-calculator .gauge-wrap{margin:24px 0 4px}
.cs-bmi-calculator .gauge{position:relative;height:16px;border-radius:999px;background:linear-gradient(to right,var(--band-under) 0% 14%,var(--band-normal) 14% 40%,var(--band-over) 40% 60%,var(--band-obese) 60% 100%);box-shadow:inset 0 1px 2px rgba(0,0,0,.12)}
.cs-bmi-calculator .gauge__marker{position:absolute;top:50%;left:0%;transform:translate(-50%,-50%);transition:left .8s cubic-bezier(.22,1,.36,1)}
.cs-bmi-calculator .gauge__marker .stem{width:4px;height:28px;background:var(--ink);border-radius:3px;margin:0 auto;box-shadow:0 0 0 3px #fff}
.cs-bmi-calculator .gauge__marker .bubble{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;font-family:var(--font-mono);font-weight:700;font-size:.78rem;padding:3px 8px;border-radius:6px;white-space:nowrap}
.cs-bmi-calculator .gauge__marker .bubble::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--ink)}
.cs-bmi-calculator .gauge-ticks{position:relative;height:16px;margin-top:7px;font-family:var(--font-mono);font-size:.68rem;color:var(--mist)}
.cs-bmi-calculator .gauge-ticks .tick{position:absolute;transform:translateX(-50%)}
.cs-bmi-calculator .gauge-bands{display:flex;margin-top:2px;font-size:.64rem;color:var(--mist);font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.cs-bmi-calculator .gauge-bands span{text-align:center}
.cs-bmi-calculator .healthy{margin-top:18px;background:var(--pine-tint);border:1.5px solid var(--line-2);border-radius:var(--radius-sm);padding:12px 14px;font-size:.88rem;color:var(--pine-deep);display:flex;gap:10px;align-items:flex-start}
.cs-bmi-calculator .healthy svg{flex:0 0 auto;margin-top:2px}
.cs-bmi-calculator .healthy b{font-family:var(--font-mono);font-weight:700}
@container (max-width:430px){
  .cs-bmi-calculator .fields{grid-template-columns:1fr}
  .cs-bmi-calculator .actions{flex-direction:column}
}
