/* Shared styles for the FFMI and lean body mass tools (<pg-ffmi>, <pg-lbm>). Matches widgets.css tokens. */
pg-ffmi,pg-lbm{
  --ct-ink:#1d1d1f;--ct-muted:#6e6e73;--ct-panel:#f2f1ee;--ct-card:#fff;--ct-line:rgba(0,0,0,.09);--ct-fill:rgba(0,0,0,.055);
  --ct-orange:#ff8a1f;--ct-accent:#c25e00;--ct-bad:#c4001a;--ct-ease:cubic-bezier(.22,1,.36,1);
  --b0:#efe6da;--b1:#f6d9b8;--b2:#ffc58c;--b3:#ffa557;--b4:#ff8a1f;--b5:#e0630a;
  --l0:#ff8a1f;--l1:#7a6cf0;--l2:#14a3b8;--l3:#1d1d1f;
  display:block;color:var(--ct-ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",InterLocal,system-ui,sans-serif;-webkit-tap-highlight-color:transparent
}
@media (prefers-color-scheme:dark){
  pg-ffmi,pg-lbm{
    --ct-ink:#f5f5f7;--ct-muted:#98989d;--ct-panel:#141416;--ct-card:#1f1f22;--ct-line:rgba(255,255,255,.1);--ct-fill:rgba(255,255,255,.08);
    --ct-accent:#ff9f3f;--ct-bad:#ff6961;
    --b0:#3a332b;--b1:#5a4228;--b2:#80501f;--b3:#b0601a;--b4:#ff8a1f;--b5:#ffb066;
    --l1:#a99bff;--l2:#5fd4e6;--l3:#f5f5f7
  }
}
[data-ct-ready]>:not(.ct-ui){display:none}
pg-ffmi:not([data-ct-ready]),pg-lbm:not([data-ct-ready]){padding:22px 24px;border-radius:28px;background:var(--ct-panel);font-size:16px;line-height:1.55}
pg-ffmi:not([data-ct-ready]) p,pg-lbm:not([data-ct-ready]) p{margin:0 0 10px}

.ct-ui{display:grid;gap:clamp(14px,2.4vw,24px);grid-template-columns:minmax(0,1fr);padding:clamp(14px,3vw,26px);border-radius:28px;background:var(--ct-panel);font-size:16px;line-height:1.45;container-type:inline-size}
@media (min-width:760px){.ct-ui{grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto 1fr;align-items:start}.ct-form{grid-column:1;grid-row:1}.ct-out{grid-column:2;grid-row:1/span 2}.ct-ui>.ct-foot{grid-column:1;grid-row:2}}
.ct-ui :focus-visible{outline:2px solid var(--ct-orange);outline-offset:2px}
:is(pg-ffmi,pg-lbm) .ct-ui p{margin:0}
:is(pg-ffmi,pg-lbm) .ct-ui a{color:var(--ct-accent);text-underline-offset:3px}
.ct-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Inputs */
.ct-toggles{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.ct-seg{display:inline-flex;margin:0;padding:3px;border:0;border-radius:999px;background:var(--ct-fill);min-inline-size:0}
.ct-seg label{position:relative;display:block}
.ct-seg input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.ct-seg span{display:block;height:32px;line-height:32px;padding:0 14px;border-radius:999px;font-size:14px;font-weight:600;color:var(--ct-muted);transition:background .25s var(--ct-ease),color .2s,box-shadow .25s}
.ct-seg input:checked+span{color:var(--ct-ink);background:var(--ct-card);box-shadow:0 1px 2px rgba(0,0,0,.08),0 3px 10px -2px rgba(0,0,0,.12)}
.ct-seg input:focus-visible+span{outline:2px solid var(--ct-orange);outline-offset:-2px}
.ct-fields{display:grid;gap:14px}
.ct-field label,.ct-label{display:block;font-size:14px;font-weight:650;margin-bottom:6px}
.ct-input{position:relative;display:flex;align-items:center;min-width:0}
.ct-input input{width:100%;min-width:0;height:50px;padding:0 44px 0 16px;border:0;border-radius:14px;background:var(--ct-card);color:var(--ct-ink);font:inherit;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em;
  box-shadow:inset 0 0 0 1px var(--ct-line);transition:box-shadow .2s;appearance:none;-webkit-appearance:none}
.ct-input input::placeholder{color:var(--ct-muted);font-weight:500;font-size:16px}
.ct-input input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--ct-orange)}
.ct-input input[aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--ct-bad)}
.ct-unit{position:absolute;right:14px;font-size:14px;font-weight:600;color:var(--ct-muted);pointer-events:none}
.ct-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
[data-units=us] .ct-metric,[data-units=metric] .ct-us{display:none}
.ct-hint{font-size:13px;color:var(--ct-muted);min-height:0;margin-top:4px!important}
.ct-hint:empty{display:none}
.ct-hint.ct-error{color:var(--ct-bad);font-weight:550}
.ct-help{font-size:13px;line-height:1.45;color:var(--ct-muted);margin-top:6px!important}

/* Result card */
.ct-out{min-width:0;padding:clamp(16px,3vw,24px);border-radius:22px;background:var(--ct-card);box-shadow:0 0 0 1px var(--ct-line),0 30px 60px -40px rgba(0,0,0,.35)}
.ct-empty{color:var(--ct-muted);padding:28px 0;text-align:center}
.ct-result[hidden],.ct-empty[hidden],.ct-next[hidden],.ct-warn[hidden]{display:none}
.ct-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ct-eyebrow{font-size:13px;font-weight:650;color:var(--ct-accent)}
.ct-big{display:block;font-size:clamp(52px,12cqi,76px);line-height:1;font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:4px}
.ct-big small{font-size:.32em;font-weight:600;letter-spacing:0;color:var(--ct-muted);margin-left:6px}
.ct-chip{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:999px;font-size:15px;font-weight:650;background:var(--b2);color:#1a0d00;margin-bottom:6px}
.ct-chip.b0{background:var(--b0);color:var(--ct-ink)}.ct-chip.b1{background:var(--b1);color:var(--ct-ink)}.ct-chip.b2{background:var(--b2)}.ct-chip.b3{background:var(--b3)}.ct-chip.b4{background:var(--b4)}.ct-chip.b5{background:var(--b5);color:#fff}

@media (prefers-color-scheme:dark){.ct-seg input:checked+span{background:rgba(255,255,255,.16)}.ct-chip.b2,.ct-chip.b3{color:#fff}.ct-chip.b5{color:#1a0d00}}
.ct-sub{font-size:14px;color:var(--ct-muted);margin-top:10px!important}
.ct-sub b{color:var(--ct-ink);font-variant-numeric:tabular-nums}
.ct-text{margin-top:14px!important;font-size:15.5px;line-height:1.5}
.ct-next{margin-top:12px!important;font-size:14.5px;color:var(--ct-muted);padding:12px 14px;border-radius:14px;background:var(--ct-fill)}
.ct-next b{color:var(--ct-ink)}

/* Gauge */
.ct-gauge{position:relative;margin:40px 0 4px;padding-bottom:30px}
.ct-track-wrap{position:relative}
.ct-track{position:relative;height:14px;border-radius:999px;overflow:hidden;background:var(--ct-fill)}
.ct-band{position:absolute;top:0;bottom:0}
.ct-band+.ct-band{box-shadow:inset 2px 0 0 var(--ct-card)}
:is(.ct-band,.ct-legend li).b0{--c:var(--b0)}:is(.ct-band,.ct-legend li).b1{--c:var(--b1)}:is(.ct-band,.ct-legend li).b2{--c:var(--b2)}:is(.ct-band,.ct-legend li).b3{--c:var(--b3)}:is(.ct-band,.ct-legend li).b4{--c:var(--b4)}:is(.ct-band,.ct-legend li).b5{--c:var(--b5)}
.ct-band{background:var(--c)}
.ct-pin{position:absolute;top:-8px;left:50%;width:4px;height:30px;margin-left:-2px;border-radius:3px;background:var(--ct-ink);box-shadow:0 0 0 2px var(--ct-card);transition:left .5s var(--ct-ease)}
.ct-pin span{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);padding:2px 8px;border-radius:8px;background:var(--ct-ink);color:var(--ct-card);font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.ct-ticks{position:absolute;left:0;right:0;top:20px;height:28px;font-size:11.5px;color:var(--ct-muted);font-variant-numeric:tabular-nums}
.ct-ref{position:absolute;top:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;cursor:help}
.ct-ref i{width:1px;height:7px;background:var(--ct-muted)}
.ct-ref small{font-size:11.5px;font-weight:600;margin-top:1px;white-space:nowrap}
.ct-end{position:absolute;top:10px}.ct-end.l{left:0}.ct-end.r{right:0}
.ct-ui .ct-legend{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:2px 8px;font-size:13px}
.ct-ui .ct-legend li{display:flex;align-items:center;gap:7px;padding:4px 8px;white-space:nowrap;border-radius:8px;color:var(--ct-muted);margin:0}
.ct-legend li i{flex:none;width:10px;height:10px;border-radius:3px;background:var(--c)}
.ct-legend li small{margin-left:auto;font-size:12px;font-variant-numeric:tabular-nums}
.ct-legend li[data-on]{background:var(--ct-fill);color:var(--ct-ink);font-weight:650}

/* Stats */
.ct-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0 0;padding:0}
.ct-stats div{padding:10px 12px;border-radius:14px;background:var(--ct-fill);min-width:0}
.ct-stats dt{font-size:12px;color:var(--ct-muted);font-weight:600}
.ct-stats dd{margin:2px 0 0;font-size:17px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap}


@media (prefers-reduced-motion:reduce){pg-ffmi *,pg-lbm *{transition:none!important;animation:none!important}}

/* Form footnote */
.ct-foot{font-size:13px;line-height:1.5;color:var(--ct-muted)}
.ct-foot b{color:var(--ct-ink);font-weight:650}
.ct-foot code{font:inherit;font-weight:600;color:var(--ct-ink)}
.ct-lock{display:flex;gap:6px;align-items:center;margin-top:8px!important}
.ct-lock svg{flex:none;width:13px;height:13px}
@container (min-width:520px){.ct-ui .ct-legend{grid-template-columns:1fr 1fr}}
