/* AnesthCalc — kit.css v1.0.0 */
:root{
  --ck-accent:#0e7490; --ck-accent-ink:#fff; --ck-accent-soft:#e0f4f8;
  --ck-ink:#101828; --ck-muted:#5b6b7c; --ck-line:#dde3ea;
  --ck-bg:#f5f7fa; --ck-card:#fff;
  --ck-ok:#116e3b;   --ck-ok-bg:#e8f7ee;
  --ck-warn:#8a5a00; --ck-warn-bg:#fdf3d9;
  --ck-danger:#a01f2e; --ck-danger-bg:#fdecee;
  --ck-info:#1c4fae; --ck-info-bg:#e9f0fd;
  --ck-radius:12px; --ck-radius-s:8px;
}
@media (prefers-color-scheme:dark){
  :root{
    --ck-accent:#4cc3e0; --ck-accent-ink:#062a33; --ck-accent-soft:#0d3b47;
    --ck-ink:#e7edf3; --ck-muted:#9db0c0; --ck-line:#2a3947;
    --ck-bg:#0d151d; --ck-card:#141e29;
    --ck-ok:#5fd08c;   --ck-ok-bg:#0e2a1b;
    --ck-warn:#e0b45c; --ck-warn-bg:#2e2410;
    --ck-danger:#ef8b96; --ck-danger-bg:#331318;
    --ck-info:#8fb4f5; --ck-info-bg:#12233f;
  }
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--ck-bg);color:var(--ck-ink);
  font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
.ck{max-width:720px;margin:0 auto;padding:20px 16px 28px}
.ck-head h1{font-size:1.3rem;line-height:1.25;margin:0 0 2px}
.ck-sub{margin:0;color:var(--ck-muted);font-size:.9rem}
.ck-banner{margin:12px 0;padding:10px 14px;border-radius:var(--ck-radius-s);
  background:var(--ck-warn-bg);color:var(--ck-warn);border:1px solid currentColor;
  font-size:.88rem;font-weight:500}
.ck-card{background:var(--ck-card);border:1px solid var(--ck-line);
  border-radius:var(--ck-radius);padding:18px;margin:14px 0}
.ck-field{margin:0 0 16px}
.ck-field:last-child{margin-bottom:0}
.ck-lab{display:block;font-weight:600;font-size:.92rem;margin-bottom:6px}
.ck-row{display:flex;gap:8px;align-items:stretch}
.ck-row.ck-col{flex-direction:column}
input[type=number],input[type=text],select{
  width:100%;padding:10px 12px;font:inherit;font-variant-numeric:tabular-nums;
  color:var(--ck-ink);background:var(--ck-card);
  border:1px solid var(--ck-line);border-radius:var(--ck-radius-s)}
select.ck-unit{flex:0 0 96px;width:auto}
input:focus-visible,select:focus-visible,button:focus-visible{
  outline:2px solid var(--ck-accent);outline-offset:1px}
.ck-help{color:var(--ck-muted);font-size:.82rem;margin-top:5px}
.ck-readout{color:var(--ck-muted);font-size:.85rem;margin-top:6px;font-variant-numeric:tabular-nums}
.ck-msg{font-size:.83rem;margin-top:5px}
.ck-msg.is-err{color:var(--ck-danger);font-weight:500}
.ck-msg.is-warn{color:var(--ck-warn);font-weight:500}
.ck-msg:empty{display:none}
.ck-opts{display:flex;flex-direction:column;gap:8px}
.ck-opt{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;
  border:1px solid var(--ck-line);border-radius:var(--ck-radius-s);cursor:pointer;
  background:var(--ck-card);transition:border-color .12s,background .12s}
.ck-opt:hover{border-color:var(--ck-accent)}
.ck-opt.sel{border-color:var(--ck-accent);background:var(--ck-accent-soft)}
.ck-opt input{margin-top:3px;accent-color:var(--ck-accent);flex:none}
.ck-opt-main{display:flex;flex-direction:column;gap:2px}
.ck-opt-label{font-weight:500;font-size:.93rem}
.ck-opt-desc{color:var(--ck-muted);font-size:.83rem}
.ck-pts{margin-left:auto;flex:none;color:var(--ck-muted);
  font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:600}
.ck-opt-single{align-items:center}
.ck-result{border-left:4px solid var(--ck-accent)}
.ck-hint{color:var(--ck-muted);margin:0;font-size:.92rem}
.ck-errline{color:var(--ck-danger);margin:0;font-weight:500}
.ck-valrow{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.ck-val{font-size:2.1rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}
.ck-valunit{color:var(--ck-muted);font-size:1rem}
.ck-band{font-size:.82rem;font-weight:600;padding:4px 10px;border-radius:999px}
.ck-tone-ok{background:var(--ck-ok-bg);color:var(--ck-ok)}
.ck-tone-warn{background:var(--ck-warn-bg);color:var(--ck-warn)}
.ck-tone-danger{background:var(--ck-danger-bg);color:var(--ck-danger)}
.ck-tone-info{background:var(--ck-info-bg);color:var(--ck-info)}
.ck-details{margin:14px 0 0;padding-top:12px;border-top:1px dashed var(--ck-line);
  display:flex;flex-direction:column;gap:6px}
.ck-drow{display:flex;justify-content:space-between;gap:12px;font-size:.9rem}
.ck-drow dt{color:var(--ck-muted)}
.ck-drow dd{margin:0;font-variant-numeric:tabular-nums;font-weight:500;text-align:right}
.ck-note{margin:12px 0 0;color:var(--ck-muted);font-size:.85rem}
.ck-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.ck-btn{font:inherit;font-size:.88rem;padding:8px 14px;border-radius:var(--ck-radius-s);
  border:1px solid var(--ck-line);background:var(--ck-card);color:var(--ck-ink);cursor:pointer}
.ck-btn:hover{border-color:var(--ck-accent);color:var(--ck-accent)}
.ck-foot{margin-top:18px;padding-top:12px;border-top:1px solid var(--ck-line);
  color:var(--ck-muted);font-size:.8rem}
.ck-foot-h{font-weight:600;margin-bottom:4px}
.ck-foot ol{margin:0 0 10px;padding-left:18px}
.ck-foot li{margin-bottom:3px}
.ck-disclaim{margin:0}
@media print{
  body{background:#fff}
  .ck{max-width:none;padding:0}
  .ck-actions{display:none}
  .ck-card{break-inside:avoid;border-color:#bbb}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
/* ---- kit.css v1.0.2 additions: tabs + About panel ---- */
[hidden]{display:none !important}
.ck-tabs{display:flex;gap:2px;margin-top:14px;border-bottom:1px solid var(--ck-line)}
.ck-tab{appearance:none;-webkit-appearance:none;background:none;border:0;font:inherit;
  font-size:.92rem;font-weight:600;color:var(--ck-muted);padding:10px 14px;cursor:pointer;
  border-bottom:2px solid transparent;margin-bottom:-1px}
.ck-tab:hover{color:var(--ck-ink)}
.ck-tab.is-active{color:var(--ck-accent);border-bottom-color:var(--ck-accent)}
.ck-about h2{font-size:1.08rem;margin:16px 0 8px}
.ck-about h3{font-size:.95rem;margin:18px 0 8px}
.ck-about p{margin:0 0 10px;font-size:.93rem;line-height:1.55}
.ck-about ul{margin:0 0 10px;padding-left:20px;font-size:.93rem;line-height:1.5}
.ck-about li{margin-bottom:5px}
.ck-ranges{border:1px solid var(--ck-line);border-radius:var(--ck-radius-s);overflow:hidden;margin:0 0 10px}
.ck-range{display:flex;gap:14px;justify-content:space-between;align-items:baseline;
  padding:9px 12px;font-size:.9rem;border-top:1px solid var(--ck-line)}
.ck-range:first-child{border-top:0}
.ck-range-val{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.ck-range-txt{text-align:right;font-weight:600}
.ck-range.is-ok .ck-range-txt{color:var(--ck-ok)}
.ck-range.is-warn .ck-range-txt{color:var(--ck-warn)}
.ck-range.is-danger .ck-range-txt{color:var(--ck-danger)}
.ck-range.is-info .ck-range-txt{color:var(--ck-info)}
/* ---- kit.css v1.0.4 additions: cross-field checks ---- */
.ck-checks{margin:12px 0 0}
.ck-checkline{margin:0;font-size:.88rem;font-weight:600}
.ck-checkline + .ck-checkline{margin-top:6px}
.ck-checkline.is-err{color:var(--ck-danger)}
.ck-checkline.is-warn{color:var(--ck-warn)}