:root{color-scheme:light;--bg:#F7F5EF;--surface:#FFFEFB;--ink:#263A34;--muted:#62756E;--label:#3C554D;--rule:#E1DDD3;--input-border:#E2DFD6;--result:#154F45;--accent:#176B60;--error:#A23A32;--copy-bg:#EDF5F0;--copy-ink:#176356;--copy-border:#CDDFD5}
*{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI",sans-serif;background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%}body{margin:0;min-width:0;font-size:15px;line-height:1.75}button,input{font:inherit}button{cursor:pointer}a{color:var(--accent);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}[hidden]{display:none!important}
.calculator{max-width:520px;margin:96px auto 80px;padding:0}.calculator h1{font-size:24px;font-weight:550;line-height:1.5;margin:0 0 36px;letter-spacing:-.02em}.lede{margin:0 0 18px}.critical{color:var(--label);font-size:14px;line-height:1.7;margin:0 0 28px;border-left:3px solid var(--rule);padding-left:12px}
.explanation{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.explanation summary{list-style:revert;cursor:pointer;padding:16px 0;min-height:52px;font-size:14px;font-weight:600;color:var(--label)}.details-content{padding:0 0 20px}.details-content h2,.related h2{font-size:15px;font-weight:650;margin:26px 0 7px}.details-content p{font-size:14px;margin:0 0 12px}.table-scroll{max-width:100%;overflow-x:auto}.table-scroll table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.55;min-width:340px}.table-scroll caption{text-align:left;font-size:13px;color:var(--muted);padding:6px 0}.table-scroll th,.table-scroll td{padding:10px 11px;text-align:left;border-bottom:1px solid var(--rule)}.table-scroll thead th{background:#EDEDE6}.table-scroll tbody th{font-variant-numeric:tabular-nums;vertical-align:top;font-weight:650}.source-list{font-size:13px;padding-left:20px;overflow-wrap:anywhere}.source-list li{margin:10px 0}.related{margin:22px 0 28px;font-size:14px}.breadcrumbs{font-size:12px;color:var(--muted);margin:24px 0}.site-footer{font-size:13px;border-top:1px solid var(--rule);padding-top:19px;color:var(--muted);line-height:2}.site-footer .brand{margin-top:14px;font-size:12px;letter-spacing:.04em}
.directory{max-width:640px;margin:96px auto 80px;padding:0 20px}.directory h1{font-size:25px;font-weight:590;line-height:1.5}.directory nav{display:flex;flex-wrap:wrap;gap:10px 18px;margin:24px 0}.directory-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:25px 0 10px}.directory-controls label{width:100%;color:var(--label);font-weight:600;font-size:14px}.directory-controls input{flex:1 1 220px;min-width:0;min-height:52px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);padding:10px 14px;color:var(--ink)}.directory-controls button,.favorite{border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:7px;min-height:44px;padding:8px 12px}.directory-controls button[aria-pressed="true"]{border-color:var(--accent);color:var(--accent)}.tool-list{padding:0;margin:20px 0 30px;list-style:none}.tool-item{display:flex;align-items:center;gap:8px;padding:12px 0;border-top:1px solid var(--rule)}.tool-item>a{flex:1;min-width:0;overflow-wrap:anywhere}.favorite{font-size:22px;min-width:44px;font-variant-numeric:tabular-nums}
@media(max-width:600px){.calculator{margin:36px auto 64px;padding:0 20px}.calculator h1{font-size:22px;margin-bottom:30px}.result-rule{margin:28px 0 22px}.result-number{font-size:54px}.choice{min-height:64px}.directory{margin:36px auto 64px}}
@media(max-width:350px){.choice{padding:10px;gap:10px}.choice small{font-size:12px}.directory nav{gap:8px 12px}}
@media(forced-colors:active){.choice:focus-within,button:focus-visible,input:focus-visible{outline:2px solid Highlight;outline-offset:2px}.choice:has(input:checked){border:2px solid Highlight}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* #62756E on #F7F5EF is 4.49:1: use the darker fixed label token for small text on page background. */
.site-footer,.table-scroll caption{color:var(--label)}

/* The JCS reference is fully visible and usable without JavaScript. */
.jcs-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px;line-height:1.65;margin:0 0 32px}
.jcs-table caption{text-align:left;color:var(--label);font-size:14px;margin-bottom:12px}
.jcs-table th,.jcs-table td{text-align:left;vertical-align:top;padding:12px 10px;border-bottom:1px solid var(--rule);overflow-wrap:anywhere}
.jcs-table thead th{font-weight:600;color:var(--label)}
.jcs-table thead th:first-child{width:58px}
.jcs-table tbody th[scope=row]{color:var(--result);font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}
.jcs-table .jcs-group th{background:#FFFEFB;color:var(--label);font-size:14px;font-weight:600;padding-top:12px;padding-bottom:12px}
.jcs-table tbody:last-child tr:last-child>*{border-bottom:0}
@media(max-width:350px){.jcs-table th,.jcs-table td{padding-left:8px;padding-right:8px}.jcs-table thead th:first-child{width:50px}}

.analytics-preferences{max-width:520px;margin:0 auto 36px;padding:0 20px;font-size:12px;line-height:1.8;color:var(--label)}.analytics-preferences button{border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:7px;min-height:44px;padding:8px 12px}.analytics-preferences button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.analytics-actions{display:flex;flex-wrap:wrap;gap:10px}.analytics-preferences details{margin-top:12px}.analytics-preferences summary{min-height:44px;cursor:pointer;display:flex;align-items:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Calculator form, result and input-table styling for the shared engine. */
.calc-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:22px 0 0}
.calc-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.calc-field--wide{grid-column:1/-1}
.calc-field>label,.calc-field>legend{font-size:14px;font-weight:600;color:var(--label);line-height:1.6;padding:0}
.calc-field>legend{display:block;margin-bottom:6px}
.calc-input-wrap{display:flex;align-items:center;gap:8px;min-width:0}
.calc-field input,.calc-field select,.calc-row input,.calc-row select{width:100%;min-width:0;min-height:52px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);color:var(--ink);padding:10px 14px;font-size:16px}
.calc-field input:focus-visible,.calc-field select:focus-visible,.calc-row input:focus-visible,.calc-row select:focus-visible,.calc-row-add:focus-visible,.calc-row-remove:focus-visible,.actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.calc-unit{color:var(--label);font-size:13px;line-height:1.5;white-space:nowrap;flex:0 0 auto}
.calc-help{color:var(--label);font-size:13px;line-height:1.65;margin:0}
.field-error{color:var(--error);font-size:13px;line-height:1.6;margin:0}
.calc-optional{color:var(--label);font-size:12px;font-weight:500;margin-left:6px}
.calc-choice-field,.calc-rows-field{border:0;padding:0;margin:0;min-width:0}
.calc-choices{display:flex;flex-wrap:wrap;gap:10px}
.choice{display:flex;align-items:center;gap:8px;border:1px solid var(--rule);border-radius:10px;background:var(--surface);padding:10px 12px;min-height:48px;font-size:14px;line-height:1.5;cursor:pointer}
.choice:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.choice input{width:18px;height:18px;min-height:auto;accent-color:var(--accent)}
.calc-modes{border:0;padding:0;margin:0 0 20px}
.calc-modes legend{font-size:14px;font-weight:600;color:var(--label);margin-bottom:8px;padding:0}
.calc-rows{display:flex;flex-direction:column;gap:8px}
.calc-row{display:flex;align-items:center;gap:8px}
.calc-row select{flex:1 1 44%}
.calc-row-value{display:flex;align-items:center;gap:6px;flex:1 1 40%;min-width:0}
.calc-row-remove{flex:0 0 auto;min-width:44px;min-height:44px;border:1px solid var(--rule);border-radius:8px;background:var(--surface);color:var(--label);font-size:18px;line-height:1}
.calc-row-add{margin-top:10px;min-height:44px;border:1px solid var(--rule);border-radius:8px;background:var(--surface);color:var(--accent);padding:8px 12px;font-size:14px;align-self:flex-start}
.calc-form-error{color:var(--error);font-size:14px;line-height:1.6;margin:14px 0 0}
.result-rule{border:0;border-top:1px solid var(--rule);margin:30px 0 24px}
.result-section h2{font-size:15px;font-weight:600;color:var(--label);margin:0 0 12px}
.calc-primary-grid{display:grid;grid-template-columns:1fr;gap:18px}
.calc-primary-label{display:block;font-size:13px;color:var(--label);margin-bottom:2px}
.calc-primary-line{margin:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.calc-value{font-size:52px;line-height:1.1;font-weight:550;color:var(--result);font-variant-numeric:tabular-nums;letter-spacing:-.02em;overflow-wrap:anywhere}
.calc-result-list{margin:18px 0 0;padding:0}
.calc-result-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--rule);font-size:14px}
.calc-result-row dt{color:var(--label);margin:0}
.calc-result-row dd{margin:0;color:var(--ink);text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.result-caption{color:var(--label);font-size:13px;line-height:1.65;margin:12px 0 0}
.calc-note{color:var(--label);font-size:13px;line-height:1.65;margin:8px 0 0}
.actions{display:flex;gap:10px;margin-top:22px}
.actions .copy,.actions .clear{min-height:48px;border-radius:8px;padding:10px 22px;font-size:15px;border:1px solid transparent}
.actions .copy{background:var(--copy-bg);color:var(--copy-ink);border-color:var(--copy-border)}
.actions .copy:disabled{opacity:.55;cursor:default}
.actions .copy.is-copied{background:var(--accent);color:#fff}
.actions .clear{background:var(--surface);color:var(--ink);border-color:var(--rule)}
.method-list{font-size:13px;line-height:1.7;padding-left:20px}
@media(min-width:520px){.calc-grid{grid-template-columns:1fr 1fr}.calc-field--wide{grid-column:1/-1}.calc-primary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
@media(max-width:350px){.calc-value{font-size:42px}.calc-row{flex-wrap:wrap}.calc-row select{flex-basis:100%}.calc-row-value{flex-basis:calc(100% - 52px)}}

.site-footer,.table-scroll caption,
/* Friedewald page: shares the header-free, cream calculator visual system. */
.lipid-inputs{margin:0}
.lipid-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:22px}
.lipid-field{min-width:0}
.lipid-field-wide{grid-column:1/-1}
.lipid-field label{display:block;color:var(--label);font-size:14px;font-weight:600;line-height:1.55;margin:0 0 10px}
.field-unit{font-weight:400;color:var(--label);white-space:nowrap;font-size:13px}
.lipid-field input,.lipid-field select{display:block;max-width:100%;width:100%;height:68px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);padding:0 14px;color:var(--ink);font-size:26px;font-variant-numeric:tabular-nums;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.lipid-field select{font-size:16px;min-height:56px;height:56px}
.lipid-field input::placeholder{color:var(--label);opacity:1;font-size:16px}
.lipid-field input:focus,.lipid-field select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px rgb(23 107 96 / 10%)}
.lipid-field [aria-invalid=true]{border-color:var(--error)}
.lipid-field [aria-invalid=true]:focus{border-color:var(--error);box-shadow:0 0 0 4px rgb(162 58 50 / 12%)}
.field-error{font-size:13px;line-height:1.55;color:var(--error);margin:6px 0 0}
.result-rule{border:0;border-top:1px solid var(--rule);margin:32px 0 26px}
.result-label{font-size:14px;font-weight:600;line-height:1.6;margin:0 0 3px;color:var(--label)}
.result-value{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-width:0;color:var(--result)}
.result-value output{font-size:60px;font-weight:580;line-height:1.28;letter-spacing:-.035em;font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere;transition:opacity 140ms cubic-bezier(.2,.75,.25,1)}
.result-value output.is-long{font-size:clamp(21px,5.5vw,34px);letter-spacing:-.02em}
.result-unit{font-size:18px;color:var(--label)}
.result-converted{margin:2px 0 0;color:var(--label);font-variant-numeric:tabular-nums;font-size:15px}
.result-alert{font-size:14px;line-height:1.65;color:var(--error);margin:10px 0}
.result-warning{font-size:14px;line-height:1.65;color:var(--label);margin:10px 0}
.result-method{font-size:13px;line-height:1.65;color:var(--label);margin:14px 0 18px}
.lipid-actions{display:flex;gap:10px;margin:16px 0 32px}
.lipid-actions button{height:44px;min-height:44px;border-radius:7px;border:1px solid var(--rule);background:var(--surface);padding:0 12px;font-size:14px;font-weight:600;color:var(--ink);transition:transform 90ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1)}
.lipid-actions button:active:not(:disabled){transform:translateY(1px) scale(.98)}
.lipid-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.lipid-actions .action-copy{width:112px;flex:0 0 112px;background:var(--copy-bg);border-color:var(--copy-border);color:var(--copy-ink)}
.lipid-actions .action-copy.is-copied{background:var(--accent);border-color:var(--accent);color:#FFFFFF}
.lipid-actions .action-copy:disabled{background:#EFEEE8;border-color:var(--rule);color:var(--label);cursor:not-allowed}
.lipid-actions .action-clear{width:88px;flex:0 0 88px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
@media(max-width:600px){.lipid-grid{column-gap:14px;row-gap:20px}.lipid-field input{height:64px;font-size:24px;padding:0 13px}.lipid-field select{height:56px;font-size:16px}.result-value output{font-size:54px}.result-value output.is-long{font-size:clamp(21px,7vw,32px)}}
@media(max-width:350px){.lipid-field label{font-size:13px}.field-unit{font-size:12px}.lipid-field input{padding:0 11px;font-size:22px}.result-unit{font-size:16px}}
@media(forced-colors:active){.lipid-field input:focus,.lipid-field select:focus,.lipid-actions button:focus-visible{outline:2px solid Highlight;outline-offset:2px}}

/* Calculator result/buttons shared across numeric tools. JCS reference styles unchanged. */
.result-section h2{font-size:14px;color:var(--label);margin:0 0 2px;font-weight:580}
.result-number{font-size:60px;color:var(--result);font-weight:600;line-height:1.28;letter-spacing:-.035em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.result-caption{color:var(--label);margin:0;line-height:1.6;min-height:24px;font-size:14px}
.actions{display:flex;align-items:center;gap:10px;margin:26px 0 34px}
.actions button{min-height:44px;border-radius:7px;padding:8px 12px;transition:transform 90ms cubic-bezier(.2,.75,.25,1)}
.actions button:active{transform:translateY(1px) scale(.98)}
.copy{width:112px;border:1px solid var(--copy-border);background:var(--copy-bg);color:var(--copy-ink)}
.copy.is-copied{background:var(--accent);border-color:var(--accent);color:#FFFFFF}
.copy:disabled{opacity:.55;cursor:not-allowed}
.clear{width:88px;background:var(--surface);border:1px solid var(--rule);color:var(--ink)}
button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:600px){.result-rule{margin:28px 0 22px}.result-number{font-size:54px}}
/* Adult BMI: two input columns, permanently visible units, single live announcement. */
.bmi-input-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.bmi-field{min-width:0}.bmi-field>label{display:block;font-size:14px;font-weight:600;color:var(--label);margin-bottom:10px}
.bmi-input-wrap{position:relative;min-width:0}
.bmi-input-wrap input{display:block;width:100%;height:68px;background:var(--surface);color:var(--ink);border:1px solid var(--input-border);border-radius:10px;padding:10px 50px 10px 15px;font-size:26px;font-variant-numeric:tabular-nums;min-width:0;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.bmi-input-wrap input::placeholder{color:var(--muted);opacity:1}
.bmi-input-wrap input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px rgb(23 107 96 / 10%)}
.bmi-input-wrap input[aria-invalid="true"]{border-color:var(--error)}
.bmi-unit{position:absolute;right:15px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--label);font-size:15px}
.field-error{font-size:13px;line-height:1.5;color:var(--error);margin:6px 0 0}
.bmi-input-note{font-size:13px;color:var(--label);margin:14px 0 0;line-height:1.6}
.bmi-main-result{display:flex;align-items:baseline;gap:10px;min-width:0;flex-wrap:wrap}
.bmi-result-unit{font-size:15px;color:var(--label);white-space:nowrap}
.bmi-classifications{margin-top:20px;border-top:1px solid var(--rule)}
.bmi-classification{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:14px;line-height:1.5}
.bmi-classification span{color:var(--label);flex:0 0 auto}
.bmi-classification strong{color:var(--result);font-weight:650;min-width:0;text-align:right;overflow-wrap:anywhere}
.bmi-safety{font-size:13px;line-height:1.7;color:var(--label);margin:16px 0 0}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:600px){
  .bmi-input-grid{gap:14px}
  .bmi-input-wrap input{height:64px;font-size:24px;padding-left:13px;padding-right:42px}
  .bmi-unit{right:12px}
  .bmi-classification{display:block}
  .bmi-classification span,.bmi-classification strong{display:block;text-align:left}
  .bmi-classification strong{margin-top:4px}
}
@media(max-width:350px){.bmi-input-grid{gap:10px}.bmi-input-wrap input{font-size:22px;padding-left:9px;padding-right:35px}.bmi-unit{right:8px;font-size:13px}}
@media(forced-colors:active){.bmi-input-wrap input:focus{outline:2px solid Highlight;outline-offset:2px;box-shadow:none}.bmi-input-wrap input[aria-invalid="true"]{border:2px solid Mark}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* All small navigation text meets >=4.5:1 contrast on the warm page background. */
.breadcrumbs{color:var(--label)}

/* Pediatric numeric form. Inherits the site's restrained, header-free design. */
.pediatric-fields{display:flex;flex-direction:column;gap:20px}
.pediatric-field{min-width:0}
.pediatric-field label{display:block;font-size:14px;font-weight:600;color:var(--label);margin-bottom:10px}
.pediatric-control{position:relative}
.pediatric-control input{width:100%;height:68px;padding:12px 62px 12px 15px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);color:var(--ink);font-size:26px;line-height:1.25;font-variant-numeric:tabular-nums;min-width:0;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.pediatric-control input::placeholder{color:var(--label);opacity:.8}
.pediatric-control input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px rgba(23,107,96,.1)}
.pediatric-control input[aria-invalid=true]{border-color:var(--error)}
.pediatric-unit{position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:14px;font-weight:550;color:var(--label);pointer-events:none}
.pediatric-hint{margin:6px 0 0;color:var(--label);font-size:12px}
.pediatric-error{font-size:13px;color:var(--error);line-height:1.5;margin:6px 0 0}
.pediatric-error:empty{display:none}
.pediatric-two-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.pediatric-results{border-top:1px solid var(--rule);margin:32px 0 26px;padding-top:26px}
.pediatric-result{padding:0 0 20px;margin:0 0 20px;border-bottom:1px solid var(--rule)}
.pediatric-result-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 12px}
.pediatric-result-heading h2{font-size:14px;font-weight:650;margin:0;color:var(--label)}
.pediatric-result-heading span{font-size:12px;color:var(--label)}
.pediatric-value{color:var(--result);font-size:38px;font-weight:600;line-height:1.28;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:6px}
.pediatric-result.is-active .pediatric-value{font-size:60px;animation:pediatric-result-in 140ms cubic-bezier(.2,.75,.25,1) both}
.pediatric-result-unit{font-size:13px;color:var(--label);margin:2px 0 0}
.pediatric-result-note{font-size:14px;line-height:1.6;color:var(--label);margin:0 0 18px}
.pediatric-actions{display:flex;gap:10px;margin:0 0 24px;flex-wrap:wrap}
.pediatric-actions button{border-radius:7px;border:1px solid var(--rule);min-height:44px;padding:8px 12px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:600;transition:transform 90ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1)}
.pediatric-actions button:active:not(:disabled){transform:translateY(1px) scale(.98)}
.pediatric-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.pediatric-actions .pediatric-copy{width:112px;border-color:var(--copy-border);background:var(--copy-bg);color:var(--copy-ink)}
.pediatric-actions .pediatric-copy[data-copied=true]{background:var(--accent);border-color:var(--accent);color:#FFFFFF}
.pediatric-actions .pediatric-clear{width:88px}
.pediatric-actions button:disabled{cursor:not-allowed;opacity:.55}
.pediatric-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
@keyframes pediatric-result-in{from{opacity:.82;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.pediatric-control input{height:64px;font-size:24px}.pediatric-two-fields{gap:14px}.pediatric-fields{gap:18px}.pediatric-results{margin:28px 0 22px;padding-top:22px}.pediatric-result.is-active .pediatric-value{font-size:54px}}
@media(max-width:350px){.pediatric-control input{padding-left:12px;padding-right:44px;font-size:21px}.pediatric-unit{right:10px;font-size:12px}.pediatric-result-heading span{font-size:12px}}
@media(forced-colors:active){.pediatric-control input:focus,.pediatric-actions button:focus-visible{outline:2px solid Highlight;outline-offset:2px}}
@media(prefers-reduced-motion:reduce){.pediatric-result.is-active .pediatric-value{animation:none}}

/* Target Height: common header-free palette and layout, independent calculator logic. */
.result-section h2{font-size:14px;font-weight:600;color:var(--label);margin:0 0 2px}
.result-number{font-size:60px;line-height:1.28;color:var(--result);font-weight:600;letter-spacing:-.035em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.th-input-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.th-field{min-width:0}.th-field>label{display:block;font-size:14px;font-weight:600;color:var(--label);margin-bottom:10px}
.th-input-wrap{position:relative;min-width:0}
.th-input-wrap input{display:block;width:100%;min-width:0;height:68px;padding:10px 50px 10px 15px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);color:var(--ink);font-size:26px;font-variant-numeric:tabular-nums;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.th-input-wrap input::placeholder{color:var(--muted);opacity:1}
.th-input-wrap input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgb(23 107 96 / 10%)}
.th-input-wrap input[aria-invalid="true"]{border-color:var(--error)}
.th-unit{position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:15px;color:var(--label);pointer-events:none}
.th-error{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--error)}
.th-options{border:0;padding:0;margin:26px 0 0;min-width:0}
.th-options legend{padding:0 0 10px;font-size:14px;font-weight:600;color:var(--label)}
.th-radio-row{display:flex;gap:12px;flex-wrap:wrap}
.th-option{display:flex;align-items:center;gap:10px;min-height:48px;min-width:112px;padding:8px 14px;border:1px solid var(--input-border);background:var(--surface);border-radius:10px;font-size:15px;color:var(--ink);cursor:pointer;transition:border-color 160ms cubic-bezier(.2,.75,.25,1)}
.th-option:has(input:checked){border-color:var(--accent);background:#EDF5F0}
.th-option input{width:18px;height:18px;accent-color:var(--accent)}
.th-caution{font-size:13px;line-height:1.7;color:var(--label);margin:13px 0 0}
.th-main-result{display:flex;align-items:baseline;gap:10px;min-width:0;flex-wrap:wrap}
.th-result-unit{font-size:15px;color:var(--label)}
.th-range-block{border-top:1px solid var(--rule);margin-top:20px;padding-top:14px}
.th-range-block h3{font-size:14px;color:var(--label);font-weight:600;margin:0 0 6px}
.th-range-result{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;color:var(--result);font-variant-numeric:tabular-nums}
.th-range-result span:first-child{font-size:27px;font-weight:580;line-height:1.5;letter-spacing:-.025em;overflow-wrap:anywhere}
.th-range-result span:last-child{font-size:15px;color:var(--label)}
.th-result-caption{font-size:13px;line-height:1.6;color:var(--label);margin:12px 0 0}
.th-actions{display:flex;gap:10px;align-items:center;margin:26px 0 30px}
.th-actions button{min-height:44px;border-radius:7px;padding:8px 12px;transition:transform 90ms cubic-bezier(.2,.75,.25,1)}
.th-actions button:active{transform:translateY(1px) scale(.98)}
.th-copy{width:112px;border:1px solid var(--copy-border);color:var(--copy-ink);background:var(--copy-bg)}
.th-copy.is-copied{background:var(--accent);color:#fff;border-color:var(--accent)}
.th-copy:disabled{opacity:.55;cursor:not-allowed}
.th-clear{width:88px;border:1px solid var(--rule);background:var(--surface);color:var(--ink)}
  .result-rule{margin:28px 0 22px}.result-number{font-size:54px}
  .th-input-grid{gap:14px}
  .th-input-wrap input{height:64px;font-size:24px;padding-left:13px;padding-right:42px}
  .th-unit{right:12px}
@media(max-width:350px){
  .th-input-grid{gap:10px}
  .th-input-wrap input{font-size:21px;padding-left:9px;padding-right:34px}
  .th-unit{right:8px;font-size:13px}
  .th-range-result span:first-child{font-size:23px}
@media(forced-colors:active){
  .th-input-wrap input:focus{outline:2px solid Highlight;outline-offset:2px;box-shadow:none}
  .th-option:has(input:checked){border-color:Highlight;outline:1px solid Highlight}

/* Adult eGFRcys: same minimal, header-free visual system as other calculators. */
.egfr-calculator .input-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.egfr-calculator .field{min-width:0}.egfr-calculator .field>label,.egfr-calculator .sex-field>legend{display:block;margin-bottom:10px;font-size:14px;font-weight:600;color:var(--label)}
.egfr-calculator .input-shell{position:relative;display:flex;align-items:center;min-width:0}
.egfr-calculator .input-shell input{width:100%;min-width:0;height:68px;background:var(--surface);border:1px solid var(--input-border);border-radius:10px;padding:9px 55px 9px 14px;color:var(--ink);font-size:26px;line-height:1.3;font-variant-numeric:tabular-nums;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.egfr-calculator .input-shell input::placeholder{color:var(--label);font-size:15px;opacity:1}
.egfr-calculator .input-unit{position:absolute;right:13px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--label);font-size:13px}
.egfr-calculator .input-shell input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(23,107,96,.1)}
.egfr-calculator .input-shell input[aria-invalid=true]{border-color:var(--error)}
.egfr-calculator .field-error{margin:5px 0 0;color:var(--error);font-size:13px;line-height:1.55}
.egfr-calculator .sex-field{border:0;padding:0;margin:25px 0 0;min-width:0}
.egfr-calculator .sex-field>legend{float:none;width:100%;padding:0}
.egfr-calculator .sex-options{display:flex;gap:12px}
.egfr-calculator .sex-choice{min-height:52px;flex:1;display:flex;align-items:center;gap:10px;border:1px solid var(--input-border);background:var(--surface);padding:9px 14px;border-radius:10px;color:var(--ink);cursor:pointer;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1)}
.egfr-calculator .sex-choice:has(input:checked){border-color:var(--accent);background:#EDF5F0}
.egfr-calculator .sex-choice:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.egfr-calculator .sex-choice input{accent-color:var(--accent);width:18px;height:18px;flex:none}
.egfr-calculator .measurement-note{font-size:13px;color:var(--label);line-height:1.65;margin:18px 0 0}
.egfr-calculator .result-rule{height:1px;background:var(--rule);margin:32px 0 26px}
.egfr-calculator .result-label{font-size:14px;color:var(--label);margin:0 0 8px}
.egfr-calculator .result-number{font-size:60px;font-weight:600;line-height:1.28;letter-spacing:-.035em;color:var(--result);font-variant-numeric:tabular-nums;display:block;overflow-wrap:anywhere}
.egfr-calculator .result-unit{font-size:15px;color:var(--label);margin:0 0 10px}
.egfr-calculator .result-caption{font-size:13px;color:var(--label);min-height:22px;margin:0}
.egfr-calculator .egfr-actions{display:flex;align-items:center;gap:10px;margin:23px 0 26px}
.egfr-calculator .egfr-actions button{height:46px;border-radius:7px;font-size:14px;font-weight:600;transition:background 160ms cubic-bezier(.2,.75,.25,1),border-color 160ms cubic-bezier(.2,.75,.25,1),transform 90ms cubic-bezier(.2,.75,.25,1)}
.egfr-calculator .egfr-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.egfr-calculator .egfr-actions button:active:not(:disabled){transform:translateY(1px) scale(.98)}
.egfr-calculator .copy-button{width:112px;min-width:112px;background:var(--copy-bg);color:var(--copy-ink);border:1px solid var(--copy-border)}
.egfr-calculator .copy-button.is-copied{background:var(--accent);border-color:var(--accent);color:white}
.egfr-calculator .copy-button:disabled{opacity:.65;cursor:not-allowed}
.egfr-calculator .clear-button{width:88px;min-width:88px;background:var(--surface);border:1px solid var(--rule);color:var(--ink)}
.egfr-calculator .egfr-critical{margin:0 0 24px}
.egfr-calculator .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:600px){.egfr-calculator .input-grid{gap:14px}.egfr-calculator .input-shell input{height:64px;font-size:24px;padding-right:50px}.egfr-calculator .result-rule{margin:28px 0 22px}.egfr-calculator .result-number{font-size:54px}.egfr-calculator .egfr-actions{margin-top:21px}}
@media(max-width:350px){.egfr-calculator .input-shell input{font-size:21px;padding:9px 44px 9px 10px}.egfr-calculator .input-unit{right:9px;font-size:12px}.egfr-calculator .sex-choice{padding:8px 10px}}
@media(forced-colors:active){.egfr-calculator .input-shell input:focus-visible,.egfr-calculator .sex-choice:focus-within,.egfr-calculator .egfr-actions button:focus-visible{outline:2px solid Highlight;outline-offset:2px}.egfr-calculator .sex-choice:has(input:checked){border:2px solid Highlight}}

/* Date calculators: same neutral palette, no header/card stack, and touch-first controls. */
.calculator--date .date-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.calculator--date .date-field{min-width:0}
.calculator--date .date-field label{display:block;color:var(--label);font-size:14px;font-weight:600;margin-bottom:10px}
.calculator--date .date-field input{display:block;width:100%;min-width:0;height:68px;border:1px solid var(--input-border);background:var(--surface);border-radius:10px;padding:0 13px;color:var(--ink);font-size:16px;font-variant-numeric:tabular-nums;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1)}
.calculator--date .date-field input:focus-visible{border-color:var(--accent);outline:4px solid rgba(23,107,96,.10);outline-offset:0}
.calculator--date .date-field input[aria-invalid=true]{border-color:var(--error)}
.calculator--date .field-error{color:var(--error);font-size:13px;line-height:1.55;margin:6px 0 0}
.calculator--date .field-error:empty{display:none}
.calculator--date .date-range-note{font-size:13px;color:var(--label);margin:10px 0 18px}
.calculator--date .date-critical{margin-bottom:0}
.calculator--date .result-rule{height:1px;background:var(--rule);margin:32px 0 26px}
.calculator--date .result-label{color:var(--label);font-size:14px;margin:0 0 2px;font-weight:600}
.calculator--date .result-method{font-size:13px;font-weight:400}
.calculator--date .result-number{display:block;color:var(--result);font-size:60px;line-height:1.28;font-weight:550;letter-spacing:-.035em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.calculator--date .result-secondary{display:block;color:var(--result);font-size:35px;line-height:1.35;font-weight:550;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.calculator--date .result-detail{color:var(--label);font-size:13px;margin:4px 0 0}
.calculator--date .secondary-label{margin-top:25px}
.calculator--date .result-warning{font-size:13px;color:var(--error);line-height:1.6;margin:16px 0 0}
.calculator--date .date-actions{display:flex;align-items:center;gap:10px;margin:23px 0 32px}
.calculator--date .date-actions button{min-height:44px;border-radius:7px;font-size:14px;font-weight:600;transition:background 160ms cubic-bezier(.2,.75,.25,1),border-color 160ms cubic-bezier(.2,.75,.25,1),transform 90ms cubic-bezier(.2,.75,.25,1)}
.calculator--date .date-actions button:active:not(:disabled){transform:translateY(1px) scale(.98)}
.calculator--date .date-actions button:focus-visible{outline:4px solid rgba(23,107,96,.10);outline-offset:1px;border-color:var(--accent)}
.calculator--date .date-copy{width:112px;white-space:nowrap;border:1px solid var(--copy-border);color:var(--copy-ink);background:var(--copy-bg)}
.calculator--date .date-copy[data-copied=true]{background:var(--accent);border-color:var(--accent);color:#FFFFFF}
.calculator--date .date-copy:disabled{cursor:not-allowed;opacity:.6}
.calculator--date .date-clear{width:88px;border:1px solid var(--input-border);background:var(--surface);color:var(--ink)}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.calculator--date .date-fields{gap:14px}.calculator--date .date-field input{height:64px}.calculator--date .result-rule{margin:28px 0 22px}.calculator--date .result-number{font-size:54px}}
@media(max-width:380px){.calculator--date .date-fields{grid-template-columns:minmax(0,1fr)}.calculator--date .result-number{font-size:45px}}
@media(forced-colors:active){.calculator--date .date-field input:focus-visible,.calculator--date .date-actions button:focus-visible{outline:2px solid Highlight;outline-offset:2px}}

/* Timed urine CCr calculator: common no-header design, no card stacking. */
.ccr-fields{display:flex;flex-direction:column;gap:18px}
.ccr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.ccr-field{min-width:0}
.ccr-field label{display:block;margin-bottom:10px;color:var(--label);font-size:14px;line-height:1.6;font-weight:600}
.ccr-label-unit{font-weight:500;white-space:nowrap;color:var(--label)}
.ccr-field input{display:block;width:100%;height:68px;padding:12px 15px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);color:var(--ink);font-size:26px;line-height:1.35;font-variant-numeric:tabular-nums;min-width:0;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.ccr-field input::placeholder{color:var(--label);opacity:.8}
.ccr-field input:focus-visible,.ccr-field input:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 4px rgba(23,107,96,.1)}
.ccr-field input[aria-invalid=true]{border-color:var(--error)}
.ccr-field-error:not(:empty){display:block;color:var(--error);font-size:13px;line-height:1.5;margin-top:6px}
.ccr-critical{margin:20px 0 0}
.result-rule{border-top:1px solid var(--rule);margin:32px 0 26px}
.ccr-result-name{font-size:14px;font-weight:600;color:var(--label);margin-bottom:4px}
.ccr-value-row{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:12px;row-gap:0}
.ccr-primary{display:block;max-width:100%;font-size:60px;line-height:1.28;color:var(--result);font-weight:550;letter-spacing:-.04em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.ccr-unit{font-size:14px;color:var(--label);white-space:nowrap}
.ccr-other{margin-top:22px;border-top:1px solid var(--rule)}
.ccr-other-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--rule);font-size:14px;color:var(--label)}
.ccr-other-row>span:last-child{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:var(--result);font-size:20px}
.ccr-other-row small{font-size:13px;color:var(--label);white-space:nowrap}
.ccr-actions{display:flex;gap:10px;margin:22px 0 32px}
.ccr-actions button{min-height:44px;padding:8px 12px;border-radius:7px;border:1px solid var(--rule);background:var(--surface);color:var(--ink);transition:transform 90ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1)}
.ccr-actions button:active:not(:disabled){transform:translateY(1px) scale(.98)}
.ccr-actions #ccr-copy{width:112px;min-width:112px;background:var(--copy-bg);color:var(--copy-ink);border-color:var(--copy-border)}
.ccr-actions #ccr-copy:disabled{cursor:not-allowed;opacity:.6}
.ccr-actions #ccr-copy[data-copied=true]{background:var(--accent);border-color:var(--accent);color:#FFFFFF} 
.ccr-actions #ccr-clear{width:88px}
.ccr-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.ccr-grid{gap:14px}.ccr-field input{height:64px;font-size:24px;padding:10px 13px}.ccr-primary{font-size:54px}.ccr-value-row{gap:3px 12px}}
@media(max-width:350px){.ccr-field label{font-size:13px}.ccr-field input{font-size:22px;padding:9px 10px}.ccr-primary{font-size:clamp(35px,14vw,54px)}.ccr-unit{font-size:13px}}
@media(forced-colors:active){.ccr-field input:focus-visible,.ccr-actions button:focus-visible{outline:2px solid Highlight;outline-offset:3px}}
.ccr-calculation-error:not(:empty){font-size:13px;line-height:1.6;color:var(--error);margin:12px 0 0}

/* IGF-1 candidate: minimal form, never a decorated medical dashboard. */
.igf-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px;row-gap:22px}
.igf-field{min-width:0}.igf-field label{display:block;font-size:14px;font-weight:600;color:var(--label);line-height:1.55;margin:0 0 10px}
.igf-unit{font-size:13px;color:var(--label);font-weight:400}
.igf-field input,.igf-field select{display:block;width:100%;min-width:0;height:68px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);color:var(--ink);padding:0 14px;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.igf-field input{font-size:26px;font-variant-numeric:tabular-nums}
.igf-field input::placeholder{font-size:16px;color:var(--label);opacity:1}
.igf-field select{font-size:16px;white-space:normal;line-height:1.45}
.igf-field input:focus,.igf-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(23,107,96,.10)}
.igf-field input[aria-invalid=true],.igf-field select[aria-invalid=true]{border-color:var(--error)}
.igf-field-error{margin:6px 0 0;color:var(--error);font-size:13px;line-height:1.5}
.igf-full{grid-column:1/-1}
.igf-submit,.igf-actions button{min-height:44px;border-radius:7px;font-size:14px;font-weight:600;padding:10px 14px;transition:background 160ms cubic-bezier(.2,.75,.25,1),transform 90ms cubic-bezier(.2,.75,.25,1)}
.igf-submit{width:100%;margin-top:24px;background:var(--accent);color:white;border:1px solid var(--accent)}
.igf-submit:active,.igf-actions button:active{transform:translateY(1px) scale(.98)}
.igf-result-heading{font-size:14px;font-weight:600;color:var(--label);margin:0 0 8px}
#igf-status{font-size:14px;color:var(--label);margin:0;line-height:1.65}
.igf-main-label{font-size:14px;color:var(--label);margin:10px 0 0}
.igf-main-value{color:var(--result);font-size:60px;line-height:1.28;margin:0 0 18px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.igf-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin:0}
.igf-secondary dt{font-size:13px;color:var(--label);line-height:1.5}
.igf-secondary dd{font-size:22px;font-weight:550;color:var(--result);margin:3px 0 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;line-height:1.35}
.igf-actions{display:flex;align-items:center;gap:10px;margin:22px 0 32px}
.igf-copy{width:112px;background:var(--copy-bg);color:var(--copy-ink);border:1px solid var(--copy-border)}
.igf-copy:disabled{opacity:.6;cursor:not-allowed}
.igf-copy:not(:disabled):active{background:var(--accent);color:white}
.igf-clear{width:88px;background:var(--surface);color:var(--ink);border:1px solid var(--rule)}
.igf-actions button:focus-visible,.igf-submit:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
 .igf-grid{column-gap:14px;row-gap:20px}
 .igf-field input,.igf-field select{height:64px}
 .igf-field input{font-size:24px}
 .igf-main-value{font-size:54px}
 .result-rule{margin:28px 0 22px}
 .igf-grid{grid-template-columns:minmax(0,1fr)}
 .igf-full{grid-column:auto}
 .igf-secondary{grid-template-columns:minmax(0,1fr)}
 .igf-field select{font-size:15px}
@media(forced-colors:active){.igf-field input:focus,.igf-field select:focus,.igf-submit:focus-visible,.igf-actions button:focus-visible{outline:2px solid Highlight;outline-offset:3px}}
@media(prefers-reduced-motion:reduce){.igf-field input,.igf-field select,.igf-submit,.igf-actions button{transition:none}}

/* CHADS₂: compact single-column clinical score form, without decorative cards. */
.score-fields{display:grid;gap:18px}.score-field{min-width:0;margin:0;padding:0;border:0}.score-field legend{font-size:14px;font-weight:600;color:var(--label);line-height:1.6;margin:0 0 10px;padding:0;width:100%}.score-weight{float:right;font-variant-numeric:tabular-nums;color:var(--label);font-weight:500}.score-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.score-choice{display:flex;align-items:center;gap:10px;min-height:68px;border:1px solid var(--input-border);border-radius:10px;padding:10px 13px;background:var(--surface);color:var(--ink);font-size:15px;line-height:1.5;cursor:pointer;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1)}.score-choice input{accent-color:var(--accent);width:20px;height:20px;flex:0 0 20px;margin:0;cursor:pointer}.score-choice:has(input:checked){border-color:var(--accent);background:var(--copy-bg)}.score-choice:focus-within{border-color:var(--accent);outline:4px solid rgb(23 107 96 / 10%);outline-offset:1px}.score-choice:active{transform:translateY(1px) scale(.98)}.score-error{font-size:13px;line-height:1.5;color:var(--error);margin:8px 0 0}.score-submit{display:block;width:100%;min-height:52px;margin-top:24px;padding:10px 16px;background:var(--accent);color:white;border:1px solid var(--accent);border-radius:7px;font-weight:600;transition:background 160ms cubic-bezier(.2,.75,.25,1);cursor:pointer}.score-submit:active,.score-actions button:active{transform:translateY(1px) scale(.98)}.score-submit:focus-visible,.score-actions button:focus-visible{outline:4px solid rgb(23 107 96 / 18%);outline-offset:2px}.result-rule{border-top:1px solid var(--rule);margin:32px 0 26px}.score-result h2{font-size:14px;color:var(--label);font-weight:600;margin:0 0 4px}.score-number-wrap{display:flex;align-items:baseline;gap:7px;line-height:1.28;font-variant-numeric:tabular-nums}.score-number-wrap output{font-size:60px;font-weight:600;color:var(--result);min-width:1ch}.score-number-wrap span{font-size:17px;color:var(--label)}#chads2-risk{font-size:15px;line-height:1.7;color:var(--ink);margin:14px 0 10px;font-variant-numeric:tabular-nums}.score-context{font-size:13px;line-height:1.7;color:var(--label);margin:0}.score-actions{display:flex;align-items:center;gap:10px;margin:22px 0 28px}.score-actions button{min-height:44px;border-radius:7px;font-size:14px;padding:8px 12px;transition:background 160ms cubic-bezier(.2,.75,.25,1)}#chads2-copy{width:112px;background:var(--copy-bg);border:1px solid var(--copy-border);color:var(--copy-ink)}#chads2-copy:disabled{opacity:.55;cursor:not-allowed}#chads2-copy:not(:disabled):has(+ #chads2-clear):focus-visible{outline:4px solid rgb(23 107 96 / 18%)}#chads2-clear{width:88px;border:1px solid var(--rule);background:var(--surface);color:var(--ink)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:600px){.score-choices{gap:14px}.score-choice{min-height:64px}.result-rule{margin:28px 0 22px}.score-number-wrap output{font-size:54px}}
@media(max-width:350px){.score-choices{gap:10px}.score-choice{padding:10px 9px;font-size:13px;gap:6px}.score-weight{font-size:13px}}
@media(forced-colors:active){.score-choice:focus-within,.score-submit:focus-visible,.score-actions button:focus-visible{outline:2px solid Highlight;outline-offset:2px}.score-choice:has(input:checked){border:2px solid Highlight}}
.score-actions #chads2-copy.is-copied{background:var(--accent);border-color:var(--accent);color:#fff}

/* ABR: shared header-free reference/calculator surface, no cards or decorative shadows. */
.abr-calculator{font-variant-numeric:tabular-nums}
.abr-section{min-width:0;border:0;margin:0 0 26px;padding:0}
.abr-section legend{font-size:15px;font-weight:600;margin:0 0 14px;color:var(--ink)}
.abr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:16px}
.abr-field{min-width:0}.abr-wide{grid-column:1/-1}
.abr-field label{display:block;font-size:14px;font-weight:600;color:var(--label);margin:0 0 10px;line-height:1.5}
.abr-field select,.abr-input-wrap{display:flex;align-items:center;min-height:68px;width:100%;min-width:0;background:var(--surface);border:1px solid var(--input-border);border-radius:10px;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.abr-field select{padding:10px 13px;color:var(--ink);font-size:16px;line-height:1.4;cursor:pointer}
.abr-input-wrap:focus-within,.abr-field select:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px rgba(23,107,96,.1)}
.abr-field input{display:block;min-width:0;width:100%;height:64px;background:transparent;border:0;outline:none;padding:9px 14px;font-size:26px;line-height:1.2;color:var(--ink);font-variant-numeric:tabular-nums}
.abr-field input::placeholder{color:var(--label);opacity:.8;font-size:16px}
.abr-unit{flex:0 0 auto;font-size:13px;color:var(--label);padding-right:12px;max-width:45%;line-height:1.35}
.abr-field:has(#abr-age) .abr-unit{font-size:12px;max-width:52%;text-align:right}
.abr-field-error{color:var(--error);font-size:13px;line-height:1.5;margin:5px 0 0;min-height:0}
.abr-field [aria-invalid=true],.abr-field .abr-input-wrap:has([aria-invalid=true]){border-color:var(--error)}
.abr-field input[aria-invalid=true]{outline:none}
.abr-calculator .result-rule{border:0;border-top:1px solid var(--rule);margin:32px 0 26px}
.abr-result h2{font-size:14px;font-weight:600;color:var(--label);margin:0 0 12px}
.abr-pending{color:var(--label);font-size:14px;margin:0 0 15px;line-height:1.65}
.abr-primary-label{font-size:14px;color:var(--label);margin:0 0 2px}
.abr-calculator .result-number{font-size:60px;color:var(--result);line-height:1.28;font-weight:550;letter-spacing:-.025em;overflow-wrap:anywhere}
.abr-calculator .result-unit{font-size:16px;color:var(--label);font-weight:400;margin-left:8px;white-space:nowrap}
.abr-result-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:14px 0;margin:18px 0 15px}
.abr-result-pair dt{font-size:13px;color:var(--label)}
.abr-result-pair dd{font-size:20px;color:var(--result);line-height:1.5;margin:2px 0 0;overflow-wrap:anywhere}
.abr-result-unit{font-size:13px;color:var(--label)}
.abr-context{font-size:13px;color:var(--label);line-height:1.7;margin:0 0 12px;overflow-wrap:anywhere}
.abr-result-warning{margin:0 0 12px}
.abr-actions{display:flex;gap:10px;align-items:center;margin:18px 0 28px}
.abr-actions button{min-height:44px;border:1px solid var(--rule);border-radius:7px;padding:8px 14px;font-size:14px;background:var(--surface);color:var(--ink);transition:transform 90ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1)}
.abr-actions button:active:not(:disabled){transform:translateY(1px) scale(.98)}
.abr-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.abr-actions .abr-copy{width:112px;background:var(--copy-bg);color:var(--copy-ink);border-color:var(--copy-border);font-weight:600}
.abr-actions .abr-copy.copied{background:var(--accent);color:#fff;border-color:var(--accent)}
.abr-actions .abr-clear{width:88px}
.abr-actions button:disabled{opacity:.55;cursor:not-allowed}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .abr-grid{column-gap:14px;row-gap:14px}
  .abr-field select,.abr-input-wrap{min-height:64px}
  .abr-field input{height:62px;font-size:24px}
  .abr-calculator .result-rule{margin:28px 0 22px}
  .abr-calculator .result-number{font-size:54px}
  .abr-field select{padding-left:9px;padding-right:9px;font-size:15px}
  .abr-field input{padding-left:10px;padding-right:7px}
  .abr-unit{padding-right:8px}
  .abr-calculator .result-number{font-size:48px}
  .abr-input-wrap:focus-within,.abr-field select:focus-visible{outline:2px solid Highlight;outline-offset:2px}
  .abr-field [aria-invalid=true]{outline:2px solid Mark;outline-offset:1px}

/* Antiepileptic-drug page: static reference, same neutral design as other tools. */
.drug-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;margin-bottom:15px}
.drug-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px;line-height:1.6}
.drug-table caption{text-align:left;font-size:14px;font-weight:550;color:var(--label);margin-bottom:12px}
.drug-table th,.drug-table td{vertical-align:top;text-align:left;border-bottom:1px solid var(--rule);padding:12px 9px;overflow-wrap:anywhere}
.drug-table thead th{color:var(--label);font-weight:600;border-top:1px solid var(--rule)}
.drug-table th:first-child{width:58%}
.drug-table th a{display:inline-block;min-height:44px;padding:7px 0;font-weight:600}
.drug-table th small{display:block;font-size:12px;font-weight:400;color:var(--label)}
.drug-level{font-variant-numeric:tabular-nums;color:var(--result)}
.drug-level strong{display:block;font-size:23px;font-weight:600;white-space:nowrap;line-height:1.45}
.drug-level span{display:block;font-size:13px;color:var(--label)}
.drug-section-heading{font-size:17px;font-weight:600;line-height:1.55;margin:28px 0 8px}
.reference-note{margin:4px 0 16px;font-size:13px;color:var(--label);line-height:1.75}
.drug-detail{padding:16px 0 20px;border-top:1px solid var(--rule);scroll-margin-top:24px}
.drug-detail h2{font-size:16px;font-weight:600;margin:0 0 10px}
.drug-detail dl{display:grid;grid-template-columns:116px minmax(0,1fr);margin:0;column-gap:12px;row-gap:10px;font-size:14px;line-height:1.7}
.drug-detail dt{font-weight:600;color:var(--label)}
.drug-detail dd{margin:0;min-width:0;overflow-wrap:anywhere}
.drug-qualifier{display:block;font-size:13px;color:var(--label);margin-top:2px}
.drug-detail:last-of-type{margin-bottom:12px}
.drug-table-scroll:focus-visible,.drug-table a:focus-visible,.drug-detail a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
@media(max-width:600px){.drug-detail dl{grid-template-columns:1fr;row-gap:2px}.drug-detail dt:not(:first-child){margin-top:7px}}
@media(max-width:350px){.drug-table th,.drug-table td{padding:10px 6px}.drug-level strong{font-size:21px}}
@media(forced-colors:active){.drug-table-scroll:focus-visible,.drug-table a:focus-visible,.drug-detail a:focus-visible{outline:2px solid Highlight}}

/* Serum osmolality: a flat, header-free calculator with explicit units. */
.osmo-methods{padding:0;margin:0 0 24px;border:0;min-width:0}
.osmo-methods legend{color:var(--label);font-size:14px;font-weight:600;margin-bottom:10px;padding:0}
.osmo-method-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.osmo-method-options label{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:7px;border:1px solid var(--input-border);background:var(--surface);color:var(--label);font-size:14px;cursor:pointer;padding:8px}
.osmo-method-options label:has(input:checked){border-color:var(--accent);background:var(--copy-bg);color:var(--ink)}
.osmo-method-options input{accent-color:var(--accent);inline-size:18px;block-size:18px;margin:0;flex-shrink:0}
.osmo-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px;row-gap:22px}
.osmo-field{min-width:0}.osmo-field label{display:block;color:var(--label);font-weight:600;font-size:14px;line-height:1.5;margin-bottom:10px}
.osmo-unit{display:block;color:var(--label);font-size:13px;font-weight:450;margin-top:2px}
.osmo-field input{appearance:none;width:100%;min-width:0;height:68px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);color:var(--ink);padding:0 14px;font-size:26px;line-height:1.25;font-variant-numeric:tabular-nums;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.osmo-field input::placeholder{color:var(--label);font-size:16px;opacity:.85}
.osmo-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(23,107,96,.1)}
.osmo-field input[aria-invalid="true"]{border-color:var(--error)}
.field-error{margin:7px 0 0;color:var(--error);font-size:13px;line-height:1.5}
.osmo-warning{border-left:3px solid var(--rule);padding-left:12px;margin:22px 0 0;color:var(--label);font-size:13px;line-height:1.7}
.result-rule{height:1px;background:var(--rule);margin:32px 0 26px}
.osmo-result-heading{font-size:14px;font-weight:600;color:var(--label);line-height:1.5}
.osmo-result-line{display:flex;align-items:baseline;gap:12px;max-width:100%;min-width:0;flex-wrap:wrap;font-variant-numeric:tabular-nums;margin:6px 0 2px}
.osmo-value{font-size:60px;line-height:1.28;font-weight:600;letter-spacing:-.045em;color:var(--result);min-width:0;overflow-wrap:anywhere}
.osmo-value.compact{font-size:38px;letter-spacing:-.025em}.osmo-value.very-compact{font-size:24px}
.osmo-result-unit{font-size:16px;color:var(--label);white-space:nowrap}
.osmo-method-result{font-size:13px;margin:4px 0 0;color:var(--label)}
.osmo-measured-reference{font-size:13px;margin:16px 0 22px;color:var(--label);line-height:1.7}
.osmo-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}
.osmo-actions button{min-width:88px;min-height:44px;padding:8px 12px;border:1px solid var(--rule);border-radius:7px;background:var(--surface);color:var(--ink);transition:background 160ms cubic-bezier(.2,.75,.25,1);font-size:14px}
.osmo-actions .osmo-copy{width:112px;background:var(--copy-bg);color:var(--copy-ink);border-color:var(--copy-border)}
.osmo-actions .osmo-copy.copied{color:#fff;background:var(--accent);border-color:var(--accent)}
.osmo-actions button:disabled{opacity:.55;cursor:default}
.osmo-actions button:not(:disabled):active{transform:translateY(1px) scale(.98)}
.osmo-actions button:focus-visible,.osmo-method-options input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:600px){.osmo-fields{gap:20px 14px}.osmo-field input{height:64px;font-size:24px}.osmo-value{font-size:54px}.result-rule{margin:28px 0 22px}}
@media(max-width:350px){.osmo-method-options{gap:8px}.osmo-method-options label{font-size:13px;padding:7px 4px}.osmo-fields{gap:18px 12px}.osmo-field input{padding:0 10px;font-size:21px}}
@media(forced-colors:active){.osmo-field input:focus,.osmo-method-options input:focus-visible,.osmo-actions button:focus-visible{outline:2px solid Highlight;outline-offset:2px}.osmo-method-options label:has(input:checked){border:2px solid Highlight}}

/* LMS calculator: shared palette and a focused form; no external dependencies. */
.lms-title-tail{white-space:nowrap}
.lms-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.lms-field{min-width:0}.lms-field.lms-wide{grid-column:1/-1}
.lms-field label{display:block;margin-bottom:10px;color:var(--label);font-size:14px;font-weight:600;line-height:1.5}
.lms-field input{display:block;width:100%;height:68px;min-width:0;background:var(--surface);border:1px solid var(--input-border);border-radius:10px;padding:0 14px;color:var(--ink);font-size:clamp(17px,5.5vw,26px);line-height:1.2;font-variant-numeric:tabular-nums;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.lms-context .lms-field input{font-size:17px}.lms-field input::placeholder{color:var(--label);opacity:.8}
.lms-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgb(23 107 96 / 10%)}
.lms-field input[aria-invalid="true"]{border-color:var(--error)}
.field-error{font-size:13px;color:var(--error);line-height:1.5;margin:5px 0 0}
.lms-section-title{font-size:14px;font-weight:650;color:var(--label);margin:28px 0 16px}
.lms-context-note{font-size:13px;color:var(--label);margin:12px 0 0;line-height:1.6}
.lms-result-name{font-size:14px;color:var(--label);font-weight:600;line-height:1.5;margin:0 0 6px}
.lms-primary,.lms-secondary{display:flex;align-items:baseline;gap:9px;min-width:0;color:var(--result);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.lms-primary output{font-size:60px;line-height:1.28;min-width:0;overflow-wrap:anywhere;letter-spacing:-.035em}
.lms-secondary output{font-size:34px;line-height:1.35;min-width:0;overflow-wrap:anywhere;letter-spacing:-.015em}
.lms-secondary{margin-bottom:8px}.lms-unit{font-size:16px;color:var(--label);white-space:nowrap}
.lms-advisory{font-size:13px;line-height:1.6;color:var(--error);margin:12px 0}
.lms-actions{display:flex;gap:10px;margin:22px 0 30px}.lms-actions button{border-radius:7px;min-height:44px;padding:8px 12px;transition:background-color 160ms cubic-bezier(.2,.75,.25,1),border-color 160ms cubic-bezier(.2,.75,.25,1),transform 90ms cubic-bezier(.2,.75,.25,1)}
.copy-button{min-width:112px;background:var(--copy-bg);color:var(--copy-ink);border:1px solid var(--copy-border)}.copy-button[data-copied="true"]{background:var(--accent);border-color:var(--accent);color:#fff}.copy-button:disabled{opacity:.55;cursor:not-allowed}
.clear-button{min-width:88px;background:var(--surface);color:var(--ink);border:1px solid var(--rule)}.lms-actions button:not(:disabled):active{transform:translateY(1px) scale(.98)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.lms-inputs{column-gap:14px}.lms-field input{height:64px}.lms-primary output{font-size:54px}.lms-secondary output{font-size:31px}.result-rule{margin:28px 0 22px}}
@media(max-width:350px){.lms-inputs{grid-template-columns:minmax(0,1fr)}.lms-primary output{font-size:48px}.lms-secondary output{font-size:29px}.lms-field input{font-size:24px}.lms-context .lms-field input{font-size:17px}}
@media(forced-colors:active){.lms-field input:focus,.lms-actions button:focus-visible{outline:2px solid Highlight;outline-offset:2px}}
@media(prefers-reduced-motion:reduce){.lms-field input,.lms-actions button{transition:none!important}}

/* PSI extends the common header-free design; no patient data is persisted. */
.psi-page{font-variant-numeric:tabular-nums}
.psi-page .psi-group-title{font-size:16px;line-height:1.5;font-weight:650;margin:22px 0 18px;color:var(--ink)}
.psi-page .psi-subtitle{font-size:14px;font-weight:650;color:var(--label);margin:24px 0 12px}
.psi-page .psi-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 20px;align-items:start}
.psi-field{min-width:0;margin:0 0 18px}.psi-field label,.psi-choice-field legend{display:block;color:var(--label);font-size:14px;font-weight:600;line-height:1.5;margin-bottom:10px;padding:0}
.psi-numeric{position:relative;min-width:0}
.psi-numeric input{width:100%;min-width:0;min-height:68px;height:68px;background:var(--surface);border:1px solid var(--input-border);border-radius:10px;color:var(--ink);padding:12px 58px 12px 14px;font-size:25px;font-variant-numeric:tabular-nums;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.psi-numeric input::placeholder{font-size:14px;color:var(--label);opacity:.9}
.psi-numeric .psi-unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--label);font-size:13px;pointer-events:none;white-space:nowrap}
.psi-numeric .psi-unit:empty{display:none}
.psi-numeric:has(.psi-unit:empty) input{padding-right:14px}
.psi-numeric input:focus-visible{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px rgba(23,107,96,.10)}
.psi-choice-field{min-width:0;margin:0 0 18px;padding:0;border:0}
.psi-choice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.psi-choice-options label{position:relative;display:flex;align-items:center;justify-content:center;min-height:52px;border:1px solid var(--input-border);border-radius:9px;background:var(--surface);font-size:15px;font-weight:500;color:var(--ink);cursor:pointer;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.psi-choice-options input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.psi-choice-options label:has(input:checked){border-color:var(--accent);background:var(--copy-bg);color:var(--result);font-weight:650}
.psi-choice-options label:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px rgba(23,107,96,.10)}
.psi-error{margin:5px 0 0;color:var(--error);font-size:13px;line-height:1.6}
.psi-field:has([aria-invalid=true]) .psi-numeric input,.psi-choice-field:has([aria-invalid=true]) .psi-choice-options label{border-color:var(--error)}
.psi-help{color:var(--label);font-size:13px;line-height:1.7;margin:7px 0 20px}
#psi-stage2{border-top:1px solid var(--rule);margin-top:30px;padding-top:14px}
.psi-submit{margin:28px 0 0}.psi-primary{min-height:48px;width:100%;background:var(--accent);border:1px solid var(--accent);border-radius:7px;color:#fff;font-size:16px;font-weight:650;transition:transform 90ms cubic-bezier(.2,.75,.25,1)}
.psi-primary:active,.psi-actions button:active{transform:translateY(1px) scale(.98)}
.psi-form-summary{font-size:14px;line-height:1.6;color:var(--error);margin:10px 0 0}
.psi-page .result-rule{border:0;border-top:1px solid var(--rule);margin:32px 0 26px}
.psi-results h2{font-size:14px;font-weight:600;color:var(--label);margin:0 0 12px}
.psi-pending{font-size:15px;color:var(--label);margin:0;min-height:76px;line-height:1.6}
.psi-result-name{font-size:14px;font-weight:600;color:var(--label);margin:0}
.psi-result-main{color:var(--result);font-size:60px;line-height:1.28;font-weight:650;letter-spacing:-.035em;margin:0 0 18px;overflow-wrap:anywhere}
.psi-result-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 20px}
.psi-result-pair div{display:flex;flex-direction:column;gap:4px;min-width:0}
.psi-result-pair span{font-size:13px;color:var(--label);line-height:1.4}
.psi-result-pair strong{font-size:18px;line-height:1.6;color:var(--result);overflow-wrap:anywhere}
.psi-result-note{color:var(--label);font-size:13px;line-height:1.7;margin:16px 0 0}
.psi-breakdown{margin:18px 0 0;font-size:13px}.psi-breakdown>strong{font-size:14px}
.psi-breakdown ul{list-style:none;margin:9px 0;padding:0}.psi-breakdown li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:5px 0;border-bottom:1px solid var(--rule)}
.psi-actions{display:flex;align-items:center;gap:10px;margin:23px 0 31px}
.psi-actions button{min-height:44px;border-radius:7px;font-size:14px;font-weight:600;transition:transform 90ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1)}
.psi-copy{width:112px;background:var(--copy-bg);color:var(--copy-ink);border:1px solid var(--copy-border)}
.psi-copy[data-state=done]{color:#fff;background:var(--accent);border-color:var(--accent)}
.psi-copy:disabled{opacity:.57;cursor:not-allowed}
.psi-clear{width:88px;color:var(--ink);background:var(--surface);border:1px solid var(--rule)}
.psi-page button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:600px){.psi-numeric input{height:64px;min-height:64px;font-size:24px}.psi-page .psi-two-col{column-gap:14px}.psi-result-main{font-size:54px}.psi-page .result-rule{margin:28px 0 22px}}
@media(max-width:350px){.psi-numeric input{font-size:22px;padding-left:10px;padding-right:48px}.psi-numeric .psi-unit{right:8px;font-size:12px}.psi-choice-options{gap:8px}.psi-result-pair{gap:12px}.psi-result-pair strong{font-size:16px}}
@media(forced-colors:active){.psi-choice-options label:focus-within,.psi-numeric input:focus-visible{outline:2px solid Highlight;outline-offset:2px}.psi-choice-options label:has(input:checked){border:2px solid Highlight}}
@media(prefers-reduced-motion:reduce){.psi-page *, .psi-page *::before, .psi-page *::after{transition:none!important;animation:none!important}}

/* Cystatin-C calculator: a single input followed by four explicitly distinct equations. */
.calculator input{font-variant-numeric:tabular-nums}
.calc-field{margin:0}.calc-field>label{display:block;color:var(--label);font-size:14px;font-weight:600;margin-bottom:10px}
.number-field{position:relative;display:flex;align-items:center;min-height:68px;border:1px solid var(--input-border);background:var(--surface);border-radius:10px;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.number-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px rgba(23,107,96,.1)}
.number-field:has(input[aria-invalid="true"]){border-color:var(--error)}
.number-field input{width:100%;min-width:0;min-height:66px;padding:12px 72px 12px 15px;border:0;outline:0;border-radius:10px;background:transparent;color:var(--ink);font-size:26px;line-height:1.3}
.number-field input::placeholder{font-size:17px;color:var(--label);opacity:1}
.input-unit{position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:15px;color:var(--label);pointer-events:none}
.field-error{margin:7px 0 0;color:var(--error);font-size:14px;line-height:1.5}
.egfr-results h2{font-size:14px;font-weight:600;color:var(--label);margin:0 0 2px}
.result-unit{font-size:13px;color:var(--label);margin:0 0 10px}
.egfr-list{list-style:none;padding:0;margin:0 0 14px}
.egfr-item{padding:12px 0 14px;border-bottom:1px solid var(--rule)}
.egfr-item h3{font-size:15px;line-height:1.5;font-weight:600;margin:0 0 3px}
.egfr-scope{font-size:13px;color:var(--label);line-height:1.45;margin:0 0 6px}
.egfr-value{font-size:30px;line-height:1.35;font-weight:550;color:var(--result);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.egfr-hint{font-size:13px;color:var(--error);line-height:1.5;margin:4px 0 0}
.egfr-hint:empty{display:none}
.calc-actions{display:flex;gap:10px;align-items:center;margin:20px 0 30px}
.calc-actions button{min-height:48px;border-radius:7px;font-size:14px;font-weight:600;transition:background-color 160ms cubic-bezier(.2,.75,.25,1),border-color 160ms cubic-bezier(.2,.75,.25,1),transform 90ms cubic-bezier(.2,.75,.25,1)}
.calc-actions button:active:not(:disabled){transform:translateY(1px) scale(.98)}
.copy-button{width:112px;background:var(--copy-bg);color:var(--copy-ink);border:1px solid var(--copy-border)}
.copy-button:disabled{opacity:.6;cursor:not-allowed}
.copy-button[data-copied="true"]{color:#fff;background:var(--accent);border-color:var(--accent)}
.clear-button{width:88px;background:var(--surface);color:var(--ink);border:1px solid var(--rule)}
.equation-list{padding-left:21px;font-size:14px;line-height:1.7}.equation-list li{margin-bottom:9px;overflow-wrap:anywhere}
@media(max-width:600px){.number-field{min-height:64px}.number-field input{min-height:62px;font-size:24px}.egfr-value{font-size:28px}.result-rule{margin:28px 0 22px}}
@media(forced-colors:active){.number-field:focus-within{outline:2px solid Highlight;outline-offset:2px}.number-field:has(input[aria-invalid="true"]){outline:2px solid Mark}}

/* A–aDO₂: shared palette, no page header, single-column calculation workflow. */
.aa-calculator .aa-units{border:0;margin:0 0 20px;padding:0;min-width:0}
.aa-units legend,.aa-field>label{display:block;font-size:14px;line-height:1.45;color:var(--label);font-weight:600;margin:0 0 10px}
.aa-unit-options{display:flex;gap:10px;flex-wrap:wrap}
.aa-unit-options label{display:flex;align-items:center;gap:9px;border:1px solid var(--input-border);border-radius:8px;background:var(--surface);padding:9px 12px;min-height:48px;font-size:14px;color:var(--ink);cursor:pointer}
.aa-unit-options label:has(input:checked){border-color:var(--accent);background:#EDF5F0}
.aa-unit-options input{accent-color:var(--accent);width:19px;height:19px;margin:0;flex-shrink:0}
.aa-field{min-width:0}.aa-field>label{margin-bottom:10px}
.aa-unit{font-size:14px;color:var(--label);font-weight:400}
.aa-field>input{display:block;width:100%;min-width:0;height:68px;border:1px solid var(--input-border);background:var(--surface);border-radius:10px;padding:0 15px;font-size:26px;line-height:1.3;color:var(--ink);font-variant-numeric:tabular-nums;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.aa-field>input::placeholder{color:var(--label);opacity:1}
.aa-field>input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 4px rgba(23,107,96,.1)}
.aa-field>input[aria-invalid=true]{border-color:var(--error)}
.aa-field-error{font-size:13px;line-height:1.5;color:var(--error);margin:6px 0 0}
.aa-field-error:empty{display:none}
.aa-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px;margin-top:22px}
.aa-critical{margin:24px 0 0;font-size:13px;line-height:1.75}
.aa-rule{height:1px;border:0;background:var(--rule);margin:32px 0 26px}
.aa-results h2{font-size:14px;font-weight:600;color:var(--label);margin:0;line-height:1.4}
.aa-results h2 span,.aa-secondary span{font-size:13px;font-weight:400;color:var(--label)}
.aa-result-value{font-size:60px;line-height:1.28;font-weight:600;color:var(--result);margin:5px 0 15px;min-height:1.28em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;animation:aa-result-show 140ms cubic-bezier(.2,.75,.25,1)}
@keyframes aa-result-show{from{opacity:.82;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}
.aa-secondary{margin:0 0 11px;font-size:14px;color:var(--label);line-height:1.65}
.aa-secondary-value{display:inline-block;white-space:nowrap}
.aa-secondary strong{font-weight:650;font-size:22px;color:var(--result);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.aa-result-note{margin:0 0 8px;color:var(--error);font-size:13px;line-height:1.6}
.aa-result-note:empty{display:none}
.aa-method{margin:0 0 16px;color:var(--label);font-size:12px;line-height:1.6}
.aa-actions{display:flex;align-items:center;gap:10px;margin:0 0 30px}
.aa-actions button{font-size:14px;font-weight:600;border-radius:7px;min-height:44px;transition:transform 90ms cubic-bezier(.2,.75,.25,1),background-color 160ms}
.aa-actions button:active{transform:translateY(1px) scale(.98)}
#aa-copy{width:112px;max-width:100%;border:1px solid var(--copy-border);background:var(--copy-bg);color:var(--copy-ink)}
#aa-copy:disabled{cursor:not-allowed;opacity:.62}
#aa-copy[data-copied=true]{background:#176B60;border-color:#176B60;color:#FFFFFF}
#aa-copy:not(:disabled){border-color:var(--copy-border)}
#aa-clear{width:88px;border:1px solid var(--rule);background:var(--surface);color:var(--ink)}
.aa-actions button:focus-visible,.aa-unit-options input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.aa-calculator .details-content h2{margin-top:21px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);padding:0;margin:-1px;border:0}
  .aa-field>input{height:64px;font-size:24px}
  .aa-row{column-gap:14px}
  .aa-rule{margin:28px 0 22px}
  .aa-result-value{font-size:54px}
  .aa-field>input{padding:0 12px}
  .aa-result-value{font-size:48px}
  .aa-unit-options label{flex:1;min-width:0;padding:8px;font-size:13px}
  .aa-field>input:focus,.aa-unit-options input:focus-visible,.aa-actions button:focus-visible{outline:2px solid Highlight;outline-offset:3px;box-shadow:none}
  .aa-unit-options label:has(input:checked){outline:2px solid Highlight;outline-offset:-2px}

/* %TRP / TmP/GFR: shared neutral calculator design, no card stack or global header. */
.trp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px;margin:0 0 22px}
.trp-input{min-width:0}
.trp-input label{display:block;font-size:14px;font-weight:550;line-height:1.55;color:var(--label);margin-bottom:10px}
.trp-control{position:relative}
.trp-control input{height:68px;width:100%;min-width:0;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);color:var(--ink);font-size:26px;font-variant-numeric:tabular-nums;padding:0 73px 0 14px;outline:0;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.trp-control input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgb(23 107 96 / 10%)}
.trp-control input[aria-invalid="true"]{border-color:var(--error)}
.trp-control input::placeholder{color:#62756E;opacity:1}
.trp-unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--label);pointer-events:none}
.trp-input-error,.trp-global-error{font-size:13px;line-height:1.5;color:var(--error);margin:6px 0 0;overflow-wrap:anywhere}
.trp-input-error:empty,.trp-global-error:empty{display:none}
.trp-calculator .critical{margin:18px 0 0}
.trp-calculator .result-rule{border-top:1px solid var(--rule);margin:32px 0 26px}
.trp-result-label{font-size:14px;color:var(--label);line-height:1.5}
.trp-primary{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;line-height:1.28;margin:3px 0 19px}
.trp-primary .trp-number{font-size:60px;font-weight:570;color:var(--result);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}
.trp-result-unit{color:var(--label);font-size:15px;white-space:nowrap}
.trp-secondary{border-top:1px solid var(--rule);padding-top:17px}
.trp-secondary-number{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;line-height:1.38}
.trp-secondary-number .trp-number{font-size:38px;font-weight:580;color:var(--result);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}
.trp-branch{font-size:13px;color:var(--label);margin:14px 0 0}
.trp-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:25px 0 26px}
.trp-actions button{min-height:44px;border:1px solid var(--rule);border-radius:7px;background:var(--surface);color:var(--ink);font-size:14px;padding:8px 12px;transition:transform 90ms cubic-bezier(.2,.75,.25,1)}
.trp-actions button:active:not(:disabled){transform:translateY(1px) scale(.98)}
.trp-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.trp-actions .trp-copy{width:112px;white-space:nowrap;background:var(--copy-bg);border-color:var(--copy-border);color:var(--copy-ink)}
.trp-actions .trp-copy:disabled{opacity:.6;cursor:not-allowed}
.trp-actions .trp-clear{width:88px}
@media(max-width:600px){.trp-grid{gap:20px 14px}.trp-control input{height:64px;font-size:24px}.trp-calculator .result-rule{margin:28px 0 22px}.trp-primary .trp-number{font-size:54px}}
@media(max-width:420px){.trp-grid{grid-template-columns:1fr;gap:17px}.trp-primary .trp-number{font-size:clamp(30px,14vw,54px)}.trp-secondary-number .trp-number{font-size:clamp(25px,10vw,38px)}}
@media(forced-colors:active){.trp-control input:focus{outline:2px solid Highlight;outline-offset:2px;box-shadow:none}}
@media(prefers-reduced-motion:reduce){.trp-control input,.trp-actions button{transition:none!important}}

/* Pediatric eGFR: shared palette, no additional header/hero/cards. */
.egfr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.egfr-wide{grid-column:1/-1}
.egfr-field{min-width:0}
.egfr-field label{display:block;color:var(--label);font-size:14px;font-weight:600;line-height:1.55;margin-bottom:10px;overflow-wrap:anywhere}
.egfr-label-unit{font-weight:400;color:var(--label)}
.egfr-field input,.egfr-field select{display:block;width:100%;min-width:0;height:68px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);color:var(--ink);padding:12px 14px;outline:0;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.egfr-field input{font-size:26px;line-height:1.2;font-variant-numeric:tabular-nums}
.egfr-field select{font-size:16px;min-height:68px}
.egfr-field input::placeholder{color:var(--label);opacity:.82}
.egfr-field input:focus,.egfr-field select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(23,107,96,.10)}
.egfr-field input[aria-invalid=true],.egfr-field select[aria-invalid=true]{border-color:var(--error)}
.egfr-error{color:var(--error);font-size:13px;line-height:1.4;margin:7px 0 0}
.egfr-critical{margin:22px 0 0}
.egfr-result-rule{border-top:1px solid var(--rule);margin:32px 0 26px}
.egfr-results{min-width:0}
.egfr-result-label{font-size:14px;line-height:1.5;font-weight:600;margin:0 0 7px;color:var(--label)}
.egfr-value{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 10px;min-width:0;font-variant-numeric:tabular-nums;color:var(--result)}
.egfr-value>span:first-child{font-size:34px;line-height:1.3;font-weight:570;letter-spacing:-.035em;overflow-wrap:anywhere;min-width:0}
.egfr-primary .egfr-value>span:first-child{font-size:60px;line-height:1.28}
.egfr-value.compact>span:first-child{font-size:27px}
.egfr-primary .egfr-value.compact>span:first-child{font-size:36px}
.egfr-unit{font-size:13px;color:var(--label);letter-spacing:0;white-space:normal}
.egfr-method-note{font-size:13px;line-height:1.6;color:var(--label);margin:5px 0 0;overflow-wrap:anywhere}
.egfr-secondary-group{margin-top:23px;display:grid;gap:22px}
.egfr-secondary,.egfr-reference{border-top:1px solid var(--rule);padding-top:16px}
.egfr-reference-value{color:var(--result);font-size:26px;font-variant-numeric:tabular-nums;font-weight:570;overflow-wrap:anywhere}
.egfr-reference-value span:last-child{font-size:13px;color:var(--label);font-weight:400}
.egfr-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:24px 0 10px}
.egfr-actions button{border:1px solid var(--rule);min-height:44px;border-radius:7px;padding:9px 10px;background:var(--surface);color:var(--ink);transition:transform 90ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1)}
.egfr-actions button:active{transform:translateY(1px) scale(.98)}
.egfr-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.egfr-actions .egfr-copy{width:112px;min-width:112px;border-color:var(--copy-border);background:var(--copy-bg);color:var(--copy-ink);font-size:13px;font-weight:600}
.egfr-actions .egfr-copy.copied{background:var(--accent);border-color:var(--accent);color:#fff}
.egfr-actions .egfr-clear{width:88px;min-width:88px;font-size:14px}
.egfr-actions button:disabled{opacity:.58;cursor:not-allowed;transform:none}
.egfr-announcement{font-size:13px;color:var(--label);margin:8px 0 0}
.egfr-announcement:empty{display:none}
.egfr-limitation{font-size:13px;line-height:1.7;color:var(--label);margin:16px 0 24px}
.egfr-results strong,.details-content strong{font-weight:650}
 .egfr-grid{column-gap:14px;row-gap:18px}
 .egfr-field input,.egfr-field select{height:64px}
 .egfr-field input{font-size:24px}
 .egfr-result-rule{margin:28px 0 22px}
 .egfr-primary .egfr-value>span:first-child{font-size:54px}
 .egfr-primary .egfr-value.compact>span:first-child{font-size:32px}
 .egfr-value>span:first-child{font-size:31px}
 .egfr-primary .egfr-value>span:first-child{font-size:49px}
 .egfr-field input{font-size:23px;padding:10px 12px}
 .egfr-field input:focus,.egfr-field select:focus,.egfr-actions button:focus-visible{outline:2px solid Highlight;outline-offset:2px}
 .egfr-field input[aria-invalid=true],.egfr-field select[aria-invalid=true]{outline:1px solid Mark}

/* Pediatric LVDd calculator: shared cream palette, no extra cards or medical-themed styling. */
.lvdd-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:22px}
.lvdd-wide{grid-column:1/-1}
.lvdd-field{min-width:0}
.lvdd-field label{display:block;margin-bottom:10px;font-size:14px;font-weight:600;line-height:1.4;color:var(--label)}
.lvdd-field input,.lvdd-field select{display:block;min-width:0;width:100%;height:68px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);color:var(--ink);padding:0 14px;font-size:26px;line-height:1.3;font-variant-numeric:tabular-nums;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.lvdd-field select{font-size:17px;padding-right:36px}
.lvdd-field input::placeholder{font-size:16px;color:var(--label);opacity:1}
.lvdd-field input:disabled{background:var(--bg);color:var(--label)}
.lvdd-field input:focus-visible,.lvdd-field select:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(23,107,96,.10)}
.lvdd-field [aria-invalid="true"]{border-color:var(--error)}
.lvdd-error{font-size:13px;line-height:1.55;margin:6px 0 0;color:var(--error)}
.lvdd-hint{font-size:13px;color:var(--label);line-height:1.6;margin:12px 0 0}
.lvdd-result h2{font-weight:550;font-size:14px;color:var(--label);margin:0 0 6px}
.lvdd-number-line{display:flex;align-items:baseline;gap:10px;min-width:0;color:var(--result);font-variant-numeric:tabular-nums;line-height:1.28}
.lvdd-number-line strong{font-size:60px;font-weight:550;overflow-wrap:anywhere;min-width:0}
.lvdd-unit{font-size:20px;color:var(--label);flex-shrink:0}
.lvdd-method,.lvdd-extra{font-size:14px;color:var(--label);line-height:1.6;margin:6px 0 0;overflow-wrap:anywhere}
.lvdd-actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 28px}
.lvdd-actions button{height:46px;border-radius:7px;background:var(--surface);color:var(--ink);border:1px solid var(--rule);padding:0 12px;min-width:88px;transition:transform 90ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1)}
#lvdd-copy{width:112px;background:var(--copy-bg);color:var(--copy-ink);border-color:var(--copy-border)}
#lvdd-copy.copied{background:var(--accent);border-color:var(--accent);color:#fff}
.lvdd-actions button:disabled{opacity:.6;cursor:not-allowed}
.lvdd-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.lvdd-actions button:not(:disabled):active{transform:translateY(1px) scale(.98)}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .lvdd-fields{column-gap:14px;row-gap:18px}
  .lvdd-field input,.lvdd-field select{height:64px}
  .lvdd-field input{font-size:24px}
  .lvdd-field select{font-size:16px}
  .lvdd-number-line strong{font-size:54px}
@media(max-width:350px){.lvdd-field input,.lvdd-field select{padding-left:12px;padding-right:12px}.lvdd-number-line strong{font-size:50px}}
@media(forced-colors:active){.lvdd-field input:focus-visible,.lvdd-field select:focus-visible,.lvdd-actions button:focus-visible{outline:2px solid Highlight;outline-offset:3px}}

/* Adult renal tool: same shared cream design and publication-gated architecture. */
.kidney-form{margin:0}.kidney-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin:0 0 18px}
.kidney-field{min-width:0}.kidney-field label{display:block;min-height:35px;font-size:14px;font-weight:600;color:var(--label);line-height:1.5;margin:0 0 10px}
.kidney-unit{color:var(--muted);font-weight:450}.kidney-field input,.kidney-field select{display:block;width:100%;height:68px;min-width:0;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);color:var(--ink);padding:10px 14px;outline:0;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.kidney-field input{font-size:26px;font-variant-numeric:tabular-nums}.kidney-field select{font-size:16px;padding-right:7px}
.kidney-field input::placeholder{color:var(--label);opacity:.8}.kidney-field input:focus-visible,.kidney-field select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 4px rgb(23 107 96 / 10%)}
.kidney-field input[aria-invalid=true]{border-color:var(--error)}.field-error{font-size:13px;color:var(--error);line-height:1.6;margin:4px 0 0;min-height:0}
.kidney-field .field-error:empty,.kidney-results .field-error:empty{display:none}.kidney-small{font-size:13px;line-height:1.65;color:var(--label);margin:0 0 18px}
.kidney-method{margin:18px 0 22px}.kidney-method label{min-height:0}
.kidney-warning{margin:6px 0 0}
.kidney-results{min-width:0;margin:0 0 32px}.kidney-result{min-width:0;padding:0 0 18px}.kidney-result-label{font-size:14px;line-height:1.55;font-weight:600;color:var(--label)}
.kidney-value{font-size:38px;line-height:1.28;letter-spacing:-.02em;color:var(--result);font-weight:550;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;transition:opacity 140ms cubic-bezier(.2,.75,.25,1)}
.kidney-primary .kidney-value{font-size:60px}.kidney-value.compact,.kidney-primary .kidney-value.compact{font-size:30px}
.kidney-result-unit{font-size:13px;color:var(--label);line-height:1.55}
.kidney-legacy{border-top:1px solid var(--rule);margin-top:2px;padding-top:14px}.kidney-legacy h2{font-size:14px;color:var(--label);font-weight:600;margin:0 0 14px}
.kidney-legacy .kidney-value{font-size:28px}.kidney-legacy .kidney-value.compact{font-size:24px}
.kidney-actions{display:flex;align-items:center;gap:10px;margin-top:18px}.kidney-actions button{min-height:44px;border-radius:7px;padding:8px 12px;transition:background-color 160ms cubic-bezier(.2,.75,.25,1),border-color 160ms cubic-bezier(.2,.75,.25,1),transform 90ms cubic-bezier(.2,.75,.25,1)}
.kidney-actions button:active{transform:translateY(1px) scale(.98)}.kidney-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.kidney-copy{width:112px;background:var(--copy-bg);border:1px solid var(--copy-border);color:var(--copy-ink);font-weight:600}.kidney-copy:disabled{cursor:not-allowed;opacity:.58}.kidney-copy.copied{background:var(--accent);border-color:var(--accent);color:#fff}
.kidney-clear{width:88px;background:var(--surface);border:1px solid var(--rule);color:var(--ink)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.kidney-pair{gap:14px;margin-bottom:16px}.kidney-field label{min-height:42px}.kidney-method label{min-height:0}.kidney-field input,.kidney-field select{height:64px}.kidney-field input{font-size:24px}.kidney-field select{font-size:16px}.kidney-primary .kidney-value{font-size:54px}.kidney-value{font-size:34px}}
@media(max-width:350px){.kidney-field input,.kidney-field select{padding-left:11px;padding-right:5px}.kidney-field label{min-height:44px}.kidney-primary .kidney-value{font-size:52px}.kidney-result-unit{font-size:12px}}
@media(forced-colors:active){.kidney-field input:focus-visible,.kidney-field select:focus-visible{outline:2px solid Highlight;outline-offset:2px;box-shadow:none}}

/* Six-method BSA calculator; shared tokens, no medical-specific visual theme. */
.bsa-inputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.bsa-field{min-width:0}
.bsa-field label{display:block;color:var(--label);font-size:14px;font-weight:600;margin-bottom:10px}
.bsa-input-wrap{position:relative}
.bsa-input-wrap input{width:100%;min-width:0;height:68px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);color:var(--ink);font-size:26px;font-variant-numeric:tabular-nums;padding:0 48px 0 15px;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.bsa-input-wrap input::placeholder{color:var(--muted);opacity:1}
.bsa-input-wrap input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgb(23 107 96 / 10%)}
.bsa-input-wrap input[aria-invalid=true]{border-color:var(--error)}
.bsa-input-unit{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--label);font-size:14px;pointer-events:none}
.bsa-field-error{font-size:13px;line-height:1.5;color:var(--error);margin:7px 0 0;overflow-wrap:anywhere}
.bsa-result-rule{height:1px;background:var(--rule);margin:32px 0 26px}
.bsa-main-label{color:var(--label);font-size:14px}
.bsa-primary{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:12px;min-width:0;margin:8px 0 10px;color:var(--result);font-variant-numeric:tabular-nums}
.bsa-primary>span:first-child{font-size:60px;line-height:1.28;font-weight:550;letter-spacing:-.045em;min-width:0;overflow-wrap:anywhere}
.bsa-main-unit{font-size:18px;letter-spacing:0}
.bsa-limit,.bsa-age-note{font-size:13px;line-height:1.7;color:var(--label);margin:8px 0 16px}
.bsa-other{margin:20px 0 12px;padding:0;border-top:1px solid var(--rule)}
.bsa-method{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--rule)}
.bsa-method dt{font-size:14px;line-height:1.55;color:var(--label);min-width:0;overflow-wrap:anywhere}
.bsa-method dd{white-space:nowrap;text-align:right;color:var(--result);font-size:20px;line-height:1.4;font-weight:550;font-variant-numeric:tabular-nums;margin:0}
.bsa-unit{font-size:13px;color:var(--label);font-weight:400}
.bsa-actions{display:flex;align-items:center;gap:10px;margin:18px 0 7px}
.bsa-actions button{border:1px solid var(--rule);background:var(--surface);color:var(--ink);height:46px;border-radius:7px;padding:0 10px;font-size:14px;transition:background-color 160ms cubic-bezier(.2,.75,.25,1),border-color 160ms cubic-bezier(.2,.75,.25,1);white-space:nowrap}
.bsa-actions button:active:not(:disabled){transform:translateY(1px) scale(.98)}
.bsa-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.bsa-actions button:disabled{cursor:not-allowed;opacity:.55}
#bsa-copy{width:112px;background:var(--copy-bg);color:var(--copy-ink);border-color:var(--copy-border)}
#bsa-copy[data-copied=true]{background:var(--accent);color:#fff;border-color:var(--accent)}
#bsa-clear{width:88px}
.bsa-clear-note{font-size:12px;color:var(--label);margin:0 0 27px}
.bsa-formulas{font-size:13px;line-height:1.8;padding-left:20px;overflow-wrap:anywhere}
.bsa-formulas li{margin:7px 0}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}
  .bsa-inputs{gap:14px}
  .bsa-input-wrap input{height:64px;font-size:24px;padding-left:13px;padding-right:40px}
  .bsa-input-unit{right:12px}
  .bsa-result-rule{margin:28px 0 22px}
  .bsa-primary>span:first-child{font-size:54px}
  .bsa-primary>span:first-child{font-size:46px}
  .bsa-method{gap:8px}
  .bsa-method dd{font-size:18px}
  .bsa-input-wrap input:focus{outline:2px solid Highlight;outline-offset:2px;box-shadow:none}
  .bsa-actions button:focus-visible{outline:2px solid Highlight}

/* EF form: shared minimal neutral design, no profession-specific decoration. */
.ef-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ef-field{min-width:0}
.ef-field label{display:block;min-height:48px;font-size:14px;font-weight:600;color:var(--label);line-height:1.5;margin-bottom:10px}
.ef-unit,.ef-percent{color:var(--label);font-size:14px;font-weight:450}
.ef-field input{width:100%;min-width:0;height:68px;padding:0 15px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);color:var(--ink);font-size:26px;font-variant-numeric:tabular-nums;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.ef-field input::placeholder{font-size:16px;color:var(--label)}
.ef-field input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px rgb(23 107 96 / 10%)}
.ef-field input[aria-invalid=true]{border-color:var(--error)}
.ef-error{font-size:13px;color:var(--error);margin:6px 0 0;line-height:1.5}
.ef-calculator .result-rule{border:0;border-top:1px solid var(--rule);margin:32px 0 26px}
.ef-results h2{font-size:14px;font-weight:600;color:var(--label);margin:0 0 18px}
.ef-method{font-size:14px;color:var(--label);margin-bottom:0}
.ef-value-line{display:flex;gap:9px;align-items:baseline;min-width:0}
.ef-value-line #ef-pombo{font-variant-numeric:tabular-nums;font-size:60px;line-height:1.28;font-weight:550;color:var(--result);min-width:0;overflow-wrap:anywhere}
.ef-value-line #ef-pombo.compact{font-size:clamp(22px,7vw,38px)}
.ef-value-line .ef-percent{font-size:20px;color:var(--label)}
.ef-secondary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;border-top:1px solid var(--rule);font-size:14px;color:var(--label)}
.ef-secondary-value{font-size:27px;color:var(--result);font-variant-numeric:tabular-nums;min-width:0;text-align:right;overflow-wrap:anywhere}
.ef-secondary-value .ef-unit{font-size:14px}
.ef-pending{font-size:13px;font-weight:600;color:var(--label);text-align:right}
.ef-result-note{font-size:13px;line-height:1.6;color:var(--label);margin:13px 0 0}
.ef-actions{display:flex;align-items:center;gap:10px;margin:23px 0 30px}
.ef-actions button{min-height:44px;border-radius:7px;padding:8px 12px;background:var(--surface);color:var(--ink);border:1px solid var(--rule);transition:background 160ms cubic-bezier(.2,.75,.25,1),transform 90ms cubic-bezier(.2,.75,.25,1)}
.ef-actions button:active{transform:translateY(1px) scale(.98)}
.ef-actions .ef-copy{width:112px;max-width:100%;background:var(--copy-bg);border-color:var(--copy-border);color:var(--copy-ink)}
.ef-actions .ef-copy:disabled{opacity:.65;cursor:default}
.ef-actions .ef-copy.copied{background:var(--accent);border-color:var(--accent);color:#FFFFFF}
.ef-actions .ef-clear{width:88px}
.ef-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;box-shadow:0 0 0 4px rgb(23 107 96 / 10%)}
  .ef-fields{gap:14px}
  .ef-field input{height:64px;font-size:24px;padding:0 13px}
  .ef-calculator .result-rule{margin:28px 0 22px}
  .ef-value-line #ef-pombo{font-size:54px}
  .ef-field label{font-size:13px}
  .ef-secondary{gap:8px}
  .ef-secondary-value{font-size:22px}
  .ef-field input:focus,.ef-actions button:focus-visible{outline:2px solid Highlight;outline-offset:2px}

/* A-DROP extends the existing header-free cream palette; no separate visual system. */
.score-calculator .score-group{margin:0 0 29px;padding:0;border:0;min-width:0}
.score-calculator .score-group h2{font-size:16px;line-height:1.5;font-weight:650;margin:0 0 5px;color:var(--result)}
.score-calculator .score-group h2 span{font-weight:500;color:var(--ink)}
.score-calculator .score-hint{font-size:13px;color:var(--label);line-height:1.65;margin:0 0 14px}
.score-calculator .score-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.score-calculator .score-grid-single{grid-template-columns:minmax(0,1fr);max-width:260px}
.score-calculator .score-field{display:block;min-width:0;margin:0;padding:0;border:0}
.score-calculator .score-field>label,.score-calculator .score-field>legend{display:block;padding:0;color:var(--label);font-size:14px;line-height:1.5;font-weight:550;margin:0 0 10px}
.score-calculator .score-field>legend{float:none;width:100%}
.score-calculator .score-input-wrap{position:relative;min-width:0}
.score-calculator input[type="text"],.score-calculator select{width:100%;min-width:0;height:68px;border:1px solid var(--input-border);border-radius:10px;color:var(--ink);background:var(--surface);padding:0 14px;font-size:26px;line-height:1.2;font-variant-numeric:tabular-nums;outline:none;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.score-calculator input[type="text"]{padding-right:64px}
.score-calculator select{font-size:16px;padding:0 10px}
.score-calculator input[type="text"]::placeholder{color:var(--label);opacity:.8}
.score-calculator .score-unit-input{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--label);pointer-events:none;white-space:nowrap}
.score-calculator input[type="text"]:focus-visible,.score-calculator select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 4px rgba(23,107,96,.1)}
.score-calculator [aria-invalid="true"]{border-color:var(--error)!important}
.score-calculator .score-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.score-calculator .score-option{position:relative;min-width:0;cursor:pointer}
.score-calculator .score-option input{position:absolute;width:1px;height:1px;opacity:0;margin:0}
.score-calculator .score-option span{display:flex;min-height:52px;justify-content:center;align-items:center;text-align:center;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);color:var(--ink);font-size:15px;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.score-calculator .score-option input:checked+span{background:var(--copy-bg);border-color:var(--accent);color:var(--result);font-weight:650}
.score-calculator .score-option input:focus-visible+span{border-color:var(--accent);box-shadow:0 0 0 4px rgba(23,107,96,.1)}
.score-calculator .score-option input[aria-invalid="true"]+span{border-color:var(--error)}
.score-calculator .score-error{font-size:13px;line-height:1.55;color:var(--error);margin:7px 0 0}
.score-calculator .score-shock{border-top:1px solid var(--rule);padding-top:21px;margin-top:8px}
.score-calculator .score-shock h2 span{font-size:13px;font-weight:500;color:var(--label)}
.score-calculator .score-submit,.score-calculator .score-actions button{border-radius:7px;min-height:48px;font-size:15px;transition:transform 90ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1)}
.score-calculator .score-submit{width:100%;background:var(--accent);color:#fff;border:1px solid var(--accent);font-weight:650}
.score-calculator .score-submit:focus-visible,.score-calculator .score-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.score-calculator .score-submit:active,.score-calculator .score-actions button:active{transform:translateY(1px) scale(.98)}
.score-calculator .result-rule{height:1px;background:var(--rule);border:0;margin:32px 0 26px}
.score-calculator .score-output{min-height:112px}
.score-calculator .score-placeholder{color:var(--label);font-size:14px;line-height:1.7;margin:0}
.score-calculator .score-result-label{font-size:14px;color:var(--label);margin:0}
.score-calculator .score-result-number{color:var(--result);font-size:60px;font-weight:600;line-height:1.28;font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere}
.score-calculator .score-result-suffix{font-size:17px;font-weight:500;color:var(--label)}
.score-calculator .score-classification{font-size:16px;margin:3px 0 10px;color:var(--label)}
.score-calculator .score-classification strong{color:var(--result);font-size:23px;font-weight:650}
.score-calculator .score-caution{font-size:14px;line-height:1.7;color:var(--label);margin:0 0 10px}
.score-calculator .score-actions{display:flex;gap:10px;margin:14px 0 34px}
.score-calculator .score-copy{width:112px;background:var(--copy-bg);color:var(--copy-ink);border:1px solid var(--copy-border)}
.score-calculator .score-copy:disabled{opacity:.65;cursor:not-allowed}
.score-calculator .score-clear{width:88px;background:var(--surface);color:var(--ink);border:1px solid var(--rule)}
@media(max-width:600px){.score-calculator .score-grid{gap:14px}.score-calculator input[type="text"],.score-calculator select{height:64px}.score-calculator input[type="text"]{font-size:24px}.score-calculator .score-result-number{font-size:54px}}
@media(max-width:350px){.score-calculator .score-options{gap:7px}.score-calculator .score-option span{font-size:14px}.score-calculator .score-grid{gap:12px}.score-calculator .score-group h2 span{font-size:14px}.score-calculator .score-input-wrap input{padding-left:10px;padding-right:48px;font-size:20px}.score-calculator .score-unit-input{right:7px;font-size:11px}}
@media(forced-colors:active){.score-calculator .score-option input:focus-visible+span,.score-calculator input[type="text"]:focus-visible,.score-calculator select:focus-visible{outline:2px solid Highlight;outline-offset:2px}.score-calculator .score-option input:checked+span{border:2px solid Highlight}}
@media(prefers-reduced-motion:reduce){.score-calculator *{transition:none!important;animation:none!important}}

/* FENa: specimen rows (serum/urine) × analyte columns (Na/Cr); shared design tokens. */
.fena-sample{margin:0 0 25px;border:0;padding:0;min-width:0}
.fena-sample legend{color:var(--label);font-size:15px;font-weight:650;padding:0;margin:0 0 12px}
.fena-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px}
.fena-field{min-width:0}
.fena-field label{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:2px 7px;margin:0 0 10px;color:var(--label);font-size:14px;font-weight:600}
.fena-field label span{color:var(--label);font-weight:400;font-size:13px}
.fena-field input{width:100%;height:68px;min-width:0;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);color:var(--ink);padding:0 13px;font-size:26px;line-height:1.2;font-variant-numeric:tabular-nums;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.fena-field input::placeholder{color:var(--label);opacity:.75}
.fena-field input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px #176B601A}
.fena-field input[aria-invalid=true]{border-color:var(--error)}
.fena-field input.fena-compact-number{font-size:16px}
.fena-error{margin:5px 0 0;font-size:12px;line-height:1.5;color:var(--error)}
.fena-separator{border:0;border-top:1px solid var(--rule);margin:32px 0 26px}
.fena-result-title{color:var(--label);font-size:14px;margin:0 0 4px}
.fena-result-output{display:flex;align-items:baseline;gap:9px;min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;color:var(--result);line-height:1.28}
.fena-result-output output{font-size:60px;min-width:0;overflow-wrap:anywhere;font-weight:540}
.fena-result-output output.fena-small-value{font-size:32px}
.fena-result-unit{font-size:23px}
.fena-pending{font-size:13px;color:var(--label);margin:10px 0 0;line-height:1.5}
.fena-actions{display:flex;gap:10px;margin:20px 0 24px}
.fena-actions button{min-width:44px;min-height:44px;border:1px solid var(--copy-border);background:var(--copy-bg);color:var(--copy-ink);border-radius:7px;font-size:14px;padding:8px 12px;transition:transform 90ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1)}
.fena-actions button:active:not(:disabled){transform:translateY(1px) scale(.98)}
.fena-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.fena-actions button:disabled{cursor:default;opacity:.6}
#fena-copy{width:112px}#fena-clear{width:88px;background:var(--surface);border-color:var(--rule);color:var(--ink)}
#fena-copy.is-copied{background:var(--accent);border-color:var(--accent);color:#fff}
.fena-critical{margin:0 0 18px}.fena-after-result{margin:4px 0 28px}
.fena-example{font-variant-numeric:tabular-nums}
.fena-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
@media(max-width:600px){.fena-pair{column-gap:14px}.fena-field input{height:64px;font-size:24px}.fena-field input.fena-compact-number{font-size:16px}.fena-separator{margin:28px 0 22px}.fena-result-output output{font-size:54px}.fena-result-output output.fena-small-value{font-size:28px}}
@media(max-width:350px){.fena-field input{padding:0 10px}.fena-field label span{font-size:12px}.fena-result-output output{font-size:48px}.fena-result-output output.fena-small-value{font-size:25px}}
@media(forced-colors:active){.fena-field input:focus{outline:2px solid Highlight;outline-offset:2px}}
@media(prefers-reduced-motion:reduce){.fena-field input,.fena-actions button{transition:none}}

/* Central VBG research estimator. Shared design tokens; no separate visual theme. */
.gas-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:22px}
.gas-field{min-width:0}
.gas-field label{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 8px;color:var(--label);font-size:14px;font-weight:600;margin-bottom:10px}
.gas-unit{color:var(--label);font-size:13px;font-weight:400}
.gas-field input{display:block;width:100%;height:68px;border:1px solid var(--input-border);background:var(--surface);color:var(--ink);border-radius:10px;font-size:26px;padding:0 14px;min-width:0;font-variant-numeric:tabular-nums;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.gas-field input::placeholder{color:var(--label);opacity:1}
.gas-field input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px rgb(23 107 96 / 10%)}
.gas-field input[aria-invalid=true]{border-color:var(--error)}
.gas-error{font-size:13px;line-height:1.5;color:var(--error);margin:6px 0 0}
.gas-confirm{display:flex;align-items:center;gap:10px;margin:23px 0 0;min-height:44px;font-size:14px;color:var(--label);cursor:pointer}
.gas-confirm input{flex:0 0 20px;width:20px;height:20px;accent-color:var(--accent)}
.gas-divider{border:0;border-top:1px solid var(--rule);margin:32px 0 26px}
.gas-results h2{font-size:14px;font-weight:600;color:var(--label);margin:0 0 10px}
.gas-empty{font-size:15px;color:var(--label);margin:14px 0 22px}
.gas-result-label{display:block;font-size:14px;font-weight:600;color:var(--label)}
.gas-main-number{display:block;color:var(--result);font-size:60px;line-height:1.28;font-weight:550;letter-spacing:-.03em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.gas-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0 10px}
.gas-secondary output{display:inline;color:var(--result);font-size:29px;font-weight:550;line-height:1.4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.gas-result-unit{font-size:13px;color:var(--label);margin-left:5px}
.gas-method{font-size:13px;color:var(--label);margin:12px 0 0}
.gas-warning{font-size:13px;color:var(--label);margin:16px 0 18px;line-height:1.7}
.gas-actions{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}
.gas-actions button{height:44px;border-radius:7px;font-size:14px;transition:transform 90ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1)}
.gas-actions button:active:not(:disabled){transform:translateY(1px) scale(.98)}
.gas-actions button:disabled{opacity:.55;cursor:not-allowed}
.gas-copy{width:112px;background:var(--copy-bg);border:1px solid var(--copy-border);color:var(--copy-ink)}
.gas-copy:has(+ *){white-space:nowrap}
.gas-clear{width:88px;background:var(--surface);border:1px solid var(--input-border);color:var(--ink)}
.gas-announcement{font-size:13px;min-height:0;color:var(--label);margin:7px 0 20px}
.gas-announcement:empty{display:none}
.gas-formulas{font-size:14px;padding-left:20px}
.gas-formulas li{margin:8px 0}
.gas-calculator .details-content p,.gas-calculator .details-content li{overflow-wrap:anywhere}
@media(max-width:600px){.gas-fields{column-gap:14px}.gas-field input{height:64px;font-size:24px}.gas-divider{margin:28px 0 22px}.gas-main-number{font-size:54px}.gas-secondary output{font-size:25px}}
@media(max-width:350px){.gas-field input{padding:0 11px;font-size:23px}.gas-secondary{gap:10px}.gas-secondary output{font-size:23px}}
@media(forced-colors:active){.gas-field input:focus,.gas-confirm input:focus-visible,.gas-actions button:focus-visible{outline:2px solid Highlight;outline-offset:2px}}

/* ABCD²: one-column score controls; no nested cards, header or decorative shadows. */
.abcd2 .score-field{margin:0 0 23px;min-width:0}
.abcd2 .score-field>label,.abcd2 .score-group-label,.abcd2 fieldset legend{display:block;font-size:14px;font-weight:600;color:var(--label);margin:0 0 10px;padding:0}
.abcd2 .unit{color:var(--label);font-weight:400}
.abcd2 .score-field input[type=text]{display:block;width:100%;height:68px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);color:var(--ink);padding:0 15px;font-size:26px;font-variant-numeric:tabular-nums;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1)}
.abcd2 .score-field input::placeholder{color:var(--label);opacity:.75;font-size:16px}
.abcd2 .bp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.abcd2 .bp-grid label{display:block;font-size:13px;color:var(--label);margin:0 0 8px}
.abcd2 fieldset{padding:0;border:0;min-width:0}
.abcd2 .choice{display:flex;align-items:center;gap:12px;min-height:52px;line-height:1.55;padding:11px 13px;margin:0 0 8px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);cursor:pointer;font-size:14px;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1)}
.abcd2 .choice input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--accent);margin:0}
.abcd2 .choice:has(input:checked){border-color:var(--accent);background:#EDF5F0}
.abcd2 .inline-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.abcd2 .inline-choices .choice{padding:10px;gap:8px}
.abcd2 .field-error{color:var(--error);font-size:13px;line-height:1.6;margin:5px 0 0}
.abcd2 .field-error:empty{display:none}
.abcd2 .score-field input[aria-invalid=true],.abcd2 fieldset[aria-invalid=true] .choice{border-color:var(--error)}
.abcd2 input:focus-visible,.abcd2 button:focus-visible,.abcd2 .choice:focus-within{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px rgba(23,107,96,.10)}
.abcd2 button{min-height:44px;border-radius:7px;transition:background-color 160ms cubic-bezier(.2,.75,.25,1),transform 90ms cubic-bezier(.2,.75,.25,1)}
.abcd2 button:active:not(:disabled){transform:translateY(1px) scale(.98)}
.abcd2 .calculate-button{width:100%;height:52px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-weight:600;margin-top:1px}
.abcd2 .result-rule{border:0;border-top:1px solid var(--rule);margin:32px 0 26px}
.abcd2 .score-result h2{font-size:14px;color:var(--label);font-weight:600;margin:0 0 3px}
.abcd2 .result-number{display:block;color:var(--result);font-size:60px;line-height:1.28;font-weight:600;font-variant-numeric:tabular-nums;min-height:77px}
.abcd2 .result-context{font-size:14px;color:var(--label);margin:8px 0 20px;line-height:1.65}
.abcd2 .score-actions{display:flex;gap:10px;margin:0 0 32px}
.abcd2 .score-actions button{font-size:14px;padding:0 9px;white-space:nowrap}
.abcd2 .copy-button{width:112px;border:1px solid var(--copy-border);background:var(--copy-bg);color:var(--copy-ink)}
.abcd2 .copy-button.copied{border-color:var(--accent);background:var(--accent);color:#fff}
.abcd2 .copy-button:disabled{opacity:.6;cursor:not-allowed}
.abcd2 .clear-button{width:88px;border:1px solid var(--rule);background:var(--surface);color:var(--ink)}
.abcd2 .score-sources{font-size:13px;line-height:1.7;margin:22px 0 25px}
.abcd2 .score-sources h2{font-size:14px;color:var(--label);margin:0 0 7px}
.abcd2 .score-sources p{margin:0 0 10px}
.abcd2 .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .abcd2 .bp-grid{gap:14px}
 .abcd2 .score-field input[type=text]{height:64px;font-size:24px}
 .abcd2 .result-rule{margin:28px 0 22px}
 .abcd2 .result-number{font-size:54px;min-height:69px}
 .abcd2 .choice{padding:9px 10px}
 .abcd2 .inline-choices{gap:6px}
 .abcd2 .inline-choices .choice{gap:5px;padding:8px 6px}
 .abcd2 .bp-grid input[type=text]{padding:0 10px}
 .abcd2 input:focus-visible,.abcd2 button:focus-visible,.abcd2 .choice:focus-within{outline:2px solid Highlight;box-shadow:none}
 .abcd2 .choice:has(input:checked){border:2px solid Highlight}

/* Pediatric coronary calculator: shared neutral palette, no medical-specific theme. */
.coronary-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.coronary-field{min-width:0}.coronary-field--wide{grid-column:1/-1}
.coronary-field label{display:flex;justify-content:space-between;gap:8px;align-items:baseline;font-size:14px;font-weight:600;color:var(--label);margin:0 0 10px}
.coronary-unit{font-size:13px;font-weight:500;color:var(--label);white-space:nowrap}
.coronary-field input{display:block;width:100%;height:68px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);padding:0 15px;color:var(--ink);font-size:26px;font-variant-numeric:tabular-nums;min-width:0;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background-color 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.coronary-field input::placeholder{color:var(--label);opacity:.8}
.coronary-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(23,107,96,.10)}
.coronary-field input[aria-invalid=true]{border-color:var(--error)}
.field-error{color:var(--error);font-size:13px;line-height:1.5;margin:6px 0 0}.field-error:empty{display:none}
.coronary-unit-hint{font-size:13px;color:var(--label);margin:17px 0 0;line-height:1.7}
.coronary-rule{border:0;border-top:1px solid var(--rule);margin:32px 0 26px}
.coronary-result-section{margin-bottom:28px}.coronary-result-section h2{font-size:14px;font-weight:600;color:var(--label);margin:0 0 12px}.coronary-result-section h2 span{font-weight:400;display:inline-block;margin-left:7px}
.coronary-empty,.coronary-result-note{font-size:14px;color:var(--label);line-height:1.65;margin:0 0 18px}
.coronary-result-row{border-top:1px solid var(--rule);padding:17px 0 21px}.coronary-result-row h3{font-size:15px;line-height:1.6;font-weight:650;margin:0 0 10px}.coronary-result-row h3 span{font-weight:400;color:var(--label);font-size:13px}
.coronary-z-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums;min-width:0}.coronary-z-line>span{color:var(--label);font-size:14px;flex:none}.coronary-z-line strong{color:var(--result);font-size:38px;font-weight:580;line-height:1.35;min-width:0;text-align:right;overflow-wrap:anywhere}
.coronary-measures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:9px 0 0;font-variant-numeric:tabular-nums}.coronary-measures div{min-width:0}.coronary-measures dt{font-size:12px;color:var(--label);white-space:nowrap}.coronary-measures dd{font-size:14px;font-weight:550;margin:3px 0 0;overflow-wrap:anywhere}
.coronary-actions{display:flex;gap:10px;align-items:center;margin:21px 0 0}.coronary-actions button{height:44px;border-radius:7px;border:1px solid var(--rule);background:var(--surface);color:var(--ink);padding:0 12px;min-width:88px;transition:background-color 160ms cubic-bezier(.2,.75,.25,1),transform 90ms cubic-bezier(.2,.75,.25,1)}.coronary-actions .coronary-copy{width:112px;background:var(--copy-bg);border-color:var(--copy-border);color:var(--copy-ink)}.coronary-actions .coronary-copy:not(:disabled):active,.coronary-actions .coronary-clear:active{transform:translateY(1px) scale(.98)}.coronary-actions .coronary-copy:disabled{opacity:.58;cursor:not-allowed}.coronary-actions .coronary-copy:not(:disabled):is(:hover,:focus-visible){border-color:var(--accent)}.coronary-actions .coronary-copy:not(:disabled):not(:empty){white-space:nowrap}.coronary-actions .coronary-copy:not(:disabled):focus-visible,.coronary-actions .coronary-clear:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.coronary-feedback{font-size:13px;color:var(--error);margin:4px 0 0}.coronary-feedback:empty{display:none}.coronary-formulas{font-size:13px;padding-left:18px;overflow-wrap:anywhere}.coronary-formulas li{margin:10px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#coronary-results:not([hidden]){animation:coronary-appear 140ms cubic-bezier(.2,.75,.25,1) both}@keyframes coronary-appear{from{opacity:.82;transform:translateY(2px)}to{opacity:1;transform:none}}
@media(max-width:600px){.coronary-input-grid{column-gap:14px}.coronary-field input{height:64px;font-size:24px;padding:0 13px}.coronary-rule{margin:28px 0 22px}.coronary-z-line strong{font-size:34px}}
@media(max-width:350px){.coronary-measures{grid-template-columns:repeat(2,minmax(0,1fr))}.coronary-field input{font-size:21px}}
@media(forced-colors:active){.coronary-field input:focus,.coronary-actions button:focus-visible{outline:2px solid Highlight;outline-offset:2px}}
@media(prefers-reduced-motion:reduce){#coronary-results:not([hidden]){animation:none}}
.coronary-actions .coronary-copy[data-copied=true]{background:var(--accent);border-color:var(--accent);color:#FFFFFF}

/* Reference-only BSA methods: flat layout, same neutral palette as all tools. */
.bsa-guide .lede{font-size:14px;line-height:1.8;margin-bottom:16px}
.bsa-guide .formula-units{font-size:14px;line-height:1.75;color:var(--label);margin:0 0 23px}
.bsa-guide .formula-table-wrap{margin:0 0 26px;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.bsa-guide .formula-table,.bsa-guide .formula-example-table{width:100%;min-width:565px;border-collapse:collapse;table-layout:fixed;font-size:14px;line-height:1.65;font-variant-numeric:tabular-nums}
.bsa-guide .formula-table caption,.bsa-guide .formula-example-table caption{text-align:left;font-size:13px;color:var(--label);padding:0 0 9px}
.bsa-guide .formula-table th,.bsa-guide .formula-table td,.bsa-guide .formula-example-table th,.bsa-guide .formula-example-table td{text-align:left;vertical-align:top;padding:12px 10px;border-bottom:1px solid var(--rule);overflow-wrap:anywhere}
.bsa-guide .formula-table thead th,.bsa-guide .formula-example-table thead th{font-weight:650;color:var(--label);background:var(--surface)}
.bsa-guide .formula-table tbody th,.bsa-guide .formula-example-table tbody th{font-weight:600;color:var(--ink)}
.bsa-guide .formula-table th:first-child{width:144px}
.bsa-guide .formula-table th:nth-child(2){width:180px}
.bsa-guide .formula-population{display:block;margin-top:5px;font-size:13px;line-height:1.55;color:var(--label)}
.bsa-guide .formula-expression{color:var(--result);font-weight:550}
.bsa-guide .formula-example-table th:first-child{width:195px}
.bsa-guide .formula-example-table th:last-child{width:96px}
.bsa-guide .formula-section-heading{font-size:17px;font-weight:600;line-height:1.5;margin:34px 0 10px}
.bsa-guide .formula-caption{font-size:14px;line-height:1.7;margin:0 0 15px}
.bsa-guide .related{margin:24px 0 28px}
.bsa-guide .related h2{font-size:15px;font-weight:600;margin:0 0 8px}
.bsa-guide .related p{margin:0}
.bsa-guide .table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}
@media(forced-colors:active){.bsa-guide .table-scroll:focus-visible{outline-color:Highlight}}

/* Lumbar-depth literature review page; extends the shared header-free design. */
.lp-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.lp-field{min-width:0}.lp-field label{display:block;color:var(--label);font-size:14px;font-weight:600;margin:0 0 10px}.lp-unit{font-weight:400;color:var(--label);margin-left:4px}
.lp-field input{display:block;width:100%;min-width:0;height:68px;border:1px solid var(--input-border);border-radius:10px;background:var(--surface);color:var(--ink);font-size:26px;font-variant-numeric:tabular-nums;padding:0 15px;transition:border-color 160ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1),box-shadow 180ms cubic-bezier(.2,.75,.25,1)}
.lp-field input::placeholder{color:var(--label);opacity:1}.lp-field input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(23,107,96,.1)}
.lp-field input[aria-invalid="true"]{border-color:var(--error)}.lp-error{font-size:13px;line-height:1.5;color:var(--error);margin:6px 0 0}
.lp-rule{height:1px;background:var(--rule);margin:32px 0 26px}.lp-results h2{font-size:14px;font-weight:600;color:var(--label);margin:0 0 14px}
.lp-result{padding:0 0 20px;margin:0 0 20px;border-bottom:1px solid var(--rule)}.lp-result:last-child{margin-bottom:0;border-bottom:0}.lp-result-label{font-size:14px;font-weight:600;color:var(--label)}
.lp-number{display:flex;align-items:baseline;gap:8px;font-size:52px;line-height:1.28;min-width:0;font-weight:550;color:var(--result);font-variant-numeric:tabular-nums;letter-spacing:-.02em;overflow-wrap:anywhere}
.lp-number output,.lp-number #lp-infant-value{min-width:0}.lp-approx{font-size:15px;color:var(--label);font-weight:400;letter-spacing:0}.lp-result-unit{font-size:20px;color:var(--label);font-weight:400;letter-spacing:0}
.lp-infant .lp-number{font-size:34px}.lp-result-context{font-size:13px;color:var(--label);line-height:1.65;margin:5px 0 0}.lp-warning{font-size:13px;color:var(--error);line-height:1.65;margin:8px 0 0}
.lp-actions{display:flex;gap:10px;align-items:center;margin:4px 0 28px}.lp-actions button{min-height:44px;border:1px solid var(--rule);border-radius:7px;background:var(--surface);color:var(--ink);font-size:14px;padding:8px 12px;transition:transform 90ms cubic-bezier(.2,.75,.25,1),background 160ms cubic-bezier(.2,.75,.25,1)}
.lp-actions button:active{transform:translateY(1px) scale(.98)}.lp-actions button:focus-visible,.lp-calculator summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lp-actions .lp-copy{min-width:112px;border-color:var(--copy-border);background:var(--copy-bg);color:var(--copy-ink)}.lp-actions .lp-clear{min-width:88px}.lp-actions button:disabled{cursor:not-allowed;opacity:.65}.lp-actions .lp-copy[data-state="done"]{background:var(--accent);color:#fff;border-color:var(--accent)}
.lp-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.lp-fields{gap:14px}.lp-field input{height:64px;font-size:24px;padding:0 13px}.lp-rule{margin:28px 0 22px}.lp-number{font-size:48px}.lp-infant .lp-number{font-size:31px}}
@media(max-width:350px){.lp-number{font-size:43px}.lp-infant .lp-number{font-size:27px}.lp-number{gap:6px}.lp-result-unit{font-size:17px}}
@media(forced-colors:active){.lp-field input:focus-visible,.lp-actions button:focus-visible,.lp-calculator summary:focus-visible{outline:2px solid Highlight;outline-offset:2px}.lp-field input[aria-invalid="true"]{outline:2px solid Mark}}
