/* ═══ Checkup — body-part symptom triage (infirmary) ═══
   Education only. Never a medical diagnosis.
   Bilingual EN/ZH via data-en / data-zh. Self-contained; cache-pinned ?v=1. */

.checkup-wrap{max-width:820px;margin:0 auto}
.checkup-badge{display:inline-block;background:var(--accent-bg);border:1px solid var(--border2);color:var(--accent);border-radius:99px;padding:.35rem 1.1rem;font-size:.8rem;font-weight:700;letter-spacing:.02em;margin-bottom:.8rem}
.checkup-intro{font-size:.95rem;color:var(--text2);max-width:640px;margin:0 auto 1.5rem;line-height:1.6}

/* ── Step pills ── */
.checkup-steps{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}
.checkup-step{display:flex;align-items:center;gap:.45rem;padding:.4rem .9rem;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--text3);font-size:.8rem;font-weight:600;transition:all .2s}
.checkup-step .cdot{width:20px;height:20px;border-radius:50%;background:var(--border);color:var(--text3);display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex:none}
.checkup-step.on{color:var(--accent);border-color:var(--accent);background:var(--accent-bg)}
.checkup-step.on .cdot{background:var(--accent);color:#fff}
.checkup-step.done{color:var(--green);border-color:var(--green)}
.checkup-step.done .cdot{background:var(--green);color:#fff}

/* ── Panel card ── */
.checkup-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem;box-shadow:var(--shadow-sm)}
.checkup-panel h3{font-size:1.05rem;margin-bottom:.4rem;display:flex;align-items:center;gap:.5rem}
.checkup-panel .ch-ctx{font-size:.8rem;color:var(--text3);margin-bottom:1.1rem}
.checkup-stepbody{display:none}
.checkup-stepbody.active{display:block;animation:checkupFade .25s ease}

@keyframes checkupFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* ── Step 1: body map ── */
.checkup-bodymap{display:flex;flex-direction:column;align-items:center;gap:1.1rem}
.checkup-map{position:relative;width:250px;max-width:78vw;
  --ck-body-hi:color-mix(in srgb,var(--surface) 92%,#fff);--ck-body-lo:color-mix(in srgb,var(--surface2) 80%,var(--accent-bg));
  --ck-edge:color-mix(in srgb,var(--text) 55%,transparent);--ck-line:color-mix(in srgb,var(--text) 22%,transparent);
  --ck-hot:color-mix(in srgb,var(--accent) 22%,transparent);--ck-sel:color-mix(in srgb,var(--red,#B3323A) 62%,transparent)}
body.dark .checkup-map{--ck-body-hi:#22406A;--ck-body-lo:#10223B;--ck-edge:rgba(214,229,247,.7);--ck-line:rgba(214,229,247,.2)}
.checkup-map svg{width:100%;height:auto;display:block;overflow:visible;filter:drop-shadow(0 10px 18px rgba(8,20,40,.18))}
.checkup-map .bp-body{fill:url(#ckShade)}
.checkup-map .bp-edge{fill:none;stroke:var(--ck-edge);stroke-width:1.3;stroke-linejoin:round;pointer-events:none}
.checkup-map .bp-line{fill:none;stroke:var(--ck-line);stroke-width:.9;stroke-linecap:round;pointer-events:none}
.checkup-map .bp-hot{fill:transparent;cursor:pointer;transition:fill .22s ease}
.checkup-map .bp-hot:hover{fill:var(--ck-hot)}
.checkup-map .bp-hot.sel{fill:var(--ck-sel);animation:ck-pulse 1.8s ease-in-out infinite}
@keyframes ck-pulse{50%{fill:color-mix(in srgb,var(--red,#B3323A) 40%,transparent)}}
.checkup-map svg{animation:ck-fog .5s cubic-bezier(.16,1,.3,1) both}
@keyframes ck-fog{from{opacity:0;filter:blur(8px)}}
/* front / back segmented control */
.checkup-view{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:999px;background:var(--surface2);
  box-shadow:inset 2px 2px 5px rgba(16,34,62,.14),inset -2px -2px 5px rgba(255,255,255,.7)}
body.dark .checkup-view{box-shadow:inset 2px 2px 6px rgba(0,0,0,.45),inset -2px -2px 6px rgba(120,160,210,.07)}
.checkup-view button{position:relative;z-index:1;border:0;background:none;padding:.4rem 1.2rem;font:inherit;font-size:.8rem;font-weight:600;color:var(--text3);cursor:pointer;border-radius:999px;transition:color .25s}
.checkup-view button.on{color:var(--text)}
.checkup-view .ck-thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:var(--surface);
  box-shadow:3px 3px 8px rgba(16,34,62,.16),-2px -2px 6px rgba(255,255,255,.8);transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
body.dark .checkup-view .ck-thumb{background:var(--surface3);box-shadow:3px 3px 8px rgba(0,0,0,.45),-1px -1px 4px rgba(120,160,210,.08)}
.checkup-view button[data-view="back"].on ~ .ck-thumb{transform:translateX(100%)}
@media (prefers-reduced-motion:reduce){.checkup-map svg,.checkup-map .bp-hot.sel{animation:none}}
.checkup-map-hint{font-size:.78rem;color:var(--text3);text-align:center}

/* Camera chip */
.checkup-camrow{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:center}
.checkup-cam{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .95rem;border-radius:99px;border:1px solid var(--border);background:var(--surface2);color:var(--text2);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .18s}
.checkup-cam:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.checkup-cam.on{background:var(--green);color:#fff;border-color:var(--green)}
.checkup-cam-alt{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .95rem;border-radius:99px;border:1px dashed var(--border);background:transparent;color:var(--text3);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .18s}
.checkup-cam-alt:hover{border-color:var(--accent);color:var(--accent)}
.checkup-cam-err{font-size:.75rem;color:var(--danger,#c0392b);text-align:center;margin-top:.4rem;max-width:420px}
.checkup-cam-priv{font-size:.72rem;color:var(--muted,#6b7280);text-align:center;margin-top:.5rem;max-width:420px;line-height:1.35}

/* ── Live camera view (getUserMedia HUD) ── */
.checkup-camview{position:relative;width:min(340px,100%);aspect-ratio:4/3;margin:.9rem auto 0;border-radius:14px;overflow:hidden;background:#0b0f14;border:1px solid var(--border);box-shadow:var(--shadow);transform:translateZ(0)}
.checkup-camview video{width:100%;height:100%;object-fit:cover;display:block}
.checkup-camview .checkup-reticle{position:absolute;top:18%;left:18%;right:18%;bottom:18%;border:2px dashed rgba(255,255,255,.85);border-radius:50%;pointer-events:none;box-shadow:0 0 0 9999px rgba(0,0,0,.18);animation:checkupReticle 2.4s ease-in-out infinite}
@keyframes checkupReticle{0%,100%{transform:scale(1);opacity:.95}50%{transform:scale(1.03);opacity:.75}}
.checkup-camview .checkup-scanline{position:absolute;left:8%;right:8%;top:20%;height:2px;background:linear-gradient(90deg,transparent,var(--accent,#4fc3f7),transparent);filter:drop-shadow(0 0 4px var(--accent,#4fc3f7));pointer-events:none;animation:checkupScan 2.2s ease-in-out infinite}
@keyframes checkupScan{0%{top:18%;opacity:.2}50%{top:82%;opacity:1}100%{top:18%;opacity:.2}}
.checkup-camview .checkup-camstatus{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);padding:.3rem .8rem;border-radius:99px;background:rgba(0,0,0,.72);color:#fff;font-size:.75rem;font-weight:600;white-space:nowrap;max-width:88%;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.checkup-camview .checkup-camstop{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:rgba(0,0,0,.55);color:#fff;font-size:.85rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}
.checkup-camview .checkup-camstop:hover{background:var(--danger,#c0392b);border-color:var(--danger,#c0392b)}
.checkup-camview.snap::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:#fff;opacity:0;pointer-events:none;animation:checkupSnap .32s ease-out forwards}
@keyframes checkupSnap{0%{opacity:.85}100%{opacity:0}}

/* Part legend chips */
.checkup-parts{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-top:.4rem}
.checkup-part{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--text2);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .18s}
.checkup-part:hover{background:var(--accent-bg);border-color:var(--accent)}
.checkup-part.sel{background:var(--accent);border-color:var(--accent);color:#fff}

/* ── Step 2: symptoms ── */
.checkup-sym{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem;margin-top:.4rem}
.checkup-sym label{display:flex;align-items:flex-start;gap:.5rem;padding:.6rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;background:var(--surface)}
.checkup-sym label:hover{border-color:var(--accent)}
.checkup-sym label.ticked{background:var(--accent-bg);border-color:var(--accent)}
.checkup-sym input{margin-top:.15rem;accent-color:var(--accent);flex:none}
.checkup-sym .sym-txt{font-size:.82rem;line-height:1.35;color:var(--text2)}
.checkup-sym .sym-zh{display:block;font-size:.72rem;color:var(--text3)}
.checkup-none{font-size:.8rem;color:var(--text3);text-align:center;padding:.6rem}

/* ── Step 3: analyze / output ── */
.checkup-out{font-size:.92rem;line-height:1.6;color:var(--text)}
.checkup-out>div{margin-bottom:.9rem;padding-bottom:.9rem;border-bottom:1px dashed var(--border)}
.checkup-out>div:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.checkup-out h4{font-size:.86rem;margin-bottom:.35rem;color:var(--accent);display:flex;align-items:center;gap:.4rem}
.checkup-out ol,.checkup-out ul{margin:.3rem 0 .3rem 1.1rem;padding:0}
.checkup-out li{margin:.25rem 0}
.checkup-red{background:var(--surface);border:1px solid rgba(192,57,43,.4);background:color-mix(in srgb,var(--danger,#c0392b) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--danger,#c0392b) 40%,transparent);border-radius:var(--radius-sm);padding:.7rem .8rem;margin-bottom:.9rem!important;font-size:.85rem}
.checkup-disclaimer{font-size:.72rem;color:var(--text3);text-align:center;margin-top:1rem;font-style:italic}

/* Buttons */
.checkup-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 1.4rem;border-radius:var(--radius-sm);border:none;font-weight:600;font-size:.88rem;cursor:pointer;transition:all .18s;box-shadow:var(--shadow-sm)}
.checkup-btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}
.checkup-btn.primary:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.checkup-btn.ghost{background:var(--surface);border:1px solid var(--border);color:var(--text2)}
.checkup-btn.ghost:hover{border-color:var(--accent);color:var(--accent)}
.checkup-btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}
.checkup-btnrow{display:flex;gap:.6rem;justify-content:center;margin-top:1.1rem;flex-wrap:wrap}

/* Guarded chars */
.checkup-busy{display:flex;align-items:center;gap:.5rem;justify-content:center;color:var(--text3);font-size:.85rem;padding:1rem}
.checkup-spin{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:checkupSpin .7s linear infinite}
@keyframes checkupSpin{to{transform:rotate(360deg)}}

@media(max-width:600px){
  .checkup-sym{grid-template-columns:1fr}
  .checkup-panel{padding:1rem}
  .checkup-map{width:210px}
}

/* ── Describe it (smart text entry) ── */
.checkup-describe{margin:0 0 1.2rem}
.checkup-describe .ck-desc-lbl{display:block;font-size:.8rem;font-weight:600;color:var(--text2);margin-bottom:.45rem}
.checkup-describe .ck-desc-row{display:flex;gap:.6rem;align-items:center}
.checkup-describe input{flex:1;min-width:0;padding:.7rem 1.1rem;font:inherit;font-size:.9rem;border-radius:999px;border:1px solid var(--border);background:var(--surface2);color:var(--text)}
.checkup-describe .checkup-btn{flex:none;padding:.65rem 1.3rem}
.checkup-describe .ck-desc-out{min-height:1.2em;margin-top:.55rem;font-size:.8rem;color:var(--text3);display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.checkup-describe .ck-desc-out .checkup-spin{display:inline-block;vertical-align:-3px}
.checkup-camrow.ck-vision-off .checkup-cam,.checkup-camrow.ck-vision-off .checkup-cam-alt{opacity:.45;cursor:not-allowed}
@media(max-width:600px){.checkup-describe .ck-desc-row{flex-direction:column;align-items:stretch}}

/* ── Step 2 extras: "Other" + three quick questions ─────────────────────── */
.ck-extras{margin-top:.6rem;display:grid;gap:.7rem}
.ck-other{display:flex;align-items:flex-start;gap:.5rem;padding:.6rem .7rem;border:1px dashed var(--border2,var(--border));border-radius:var(--radius-sm);cursor:pointer;background:var(--surface)}
.ck-other.ticked{border-style:solid;border-color:var(--accent);background:var(--accent-bg)}
.ck-other input{margin-top:.15rem;accent-color:var(--accent)}
.ck-other .sym-txt{font-size:.82rem;line-height:1.35;color:var(--text2)}
.ck-other .sym-zh{display:block;font-size:.72rem;color:var(--text3)}
.ck-other-tx{width:100%;font:inherit;font-size:.88rem;padding:.6rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--surface);color:var(--text);resize:vertical}
.ck-other-tx[hidden]{display:none}
.ck-shake{animation:ck-shake .45s}
@keyframes ck-shake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.ck-qs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.7rem}
.ck-q{display:flex;flex-direction:column;gap:.4rem;padding:.65rem .75rem;border-radius:var(--radius-sm);background:var(--surface2);border:1px solid var(--border)}
.ck-q > span{font-size:.8rem;font-weight:700;color:var(--text2)}
.ck-q b{color:var(--accent)}
.ck-q input[type=range]{width:100%;accent-color:var(--accent)}
.ck-seg{display:flex;flex-wrap:wrap;gap:4px}
.ck-seg button{flex:1 1 auto;font:inherit;font-size:.76rem;font-weight:700;padding:.4rem .55rem;border-radius:9px;cursor:pointer;color:var(--text2);background:var(--surface);border:1px solid var(--border)}
.ck-seg button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--surface)}

/* ── Rule-based result ───────────────────────────────────────────────────── */
.ck-res h4{font-size:.9rem;margin:1.1rem 0 .45rem;color:var(--accent)}
.ck-tri{display:flex;gap:.8rem;align-items:flex-start;padding:.9rem 1rem;border-radius:14px;border:1px solid}
.ck-tri-i{flex:none;width:22px;height:22px;margin-top:.1rem;border-radius:50%;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 18%,transparent)}
.ck-tri-0 .ck-tri-i{background:var(--green);color:var(--green)}.ck-tri-1 .ck-tri-i{background:var(--amber);color:var(--amber)}.ck-tri-2 .ck-tri-i{background:var(--red);color:var(--red)}
.ck-tri b{display:block;font-size:1.02rem;color:var(--text)}
.ck-tri p{margin:.15rem 0 0;font-size:.86rem;color:var(--text2)}
.ck-tri small{display:block;margin-top:.35rem;font-size:.76rem;color:var(--text3)}
.ck-tri-0{background:color-mix(in srgb,var(--green) 11%,var(--surface));border-color:color-mix(in srgb,var(--green) 40%,transparent)}
.ck-tri-1{background:color-mix(in srgb,var(--amber) 13%,var(--surface));border-color:color-mix(in srgb,var(--amber) 45%,transparent)}
.ck-tri-2{background:color-mix(in srgb,var(--red) 13%,var(--surface));border-color:color-mix(in srgb,var(--red) 50%,transparent)}
.ck-src{display:inline-block;margin-top:.6rem;font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:.25rem .6rem;border-radius:99px;color:var(--text2);background:var(--surface2);border:1px solid var(--border)}
.ck-src-ai{margin:0 0 .8rem;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}
.ck-m{padding:.7rem .8rem;border-radius:12px;background:var(--surface);border:1px solid var(--border);margin-bottom:.5rem}
.ck-m-top{display:flex;justify-content:space-between;gap:.8rem;font-size:.92rem}
.ck-m-top span{font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}
.ck-m-bar{height:6px;border-radius:99px;background:color-mix(in srgb,var(--accent) 12%,transparent);margin:.4rem 0 .45rem;overflow:hidden}
.ck-m-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--green))}
.ck-m p{margin:0;font-size:.84rem;color:var(--text2);line-height:1.5}
.ck-m small{display:block;margin-top:.3rem;font-size:.74rem;color:var(--text3)}
.ck-steps,.ck-go{margin:0 0 0 1.15rem;padding:0;font-size:.86rem;line-height:1.55;color:var(--text)}
.ck-steps li,.ck-go li{margin:.25rem 0}
.ck-go li{color:var(--text2)}
.ck-learn{display:flex;flex-wrap:wrap;gap:.4rem}
.ck-learn a{font-size:.8rem;font-weight:700;padding:.35rem .7rem;border-radius:99px;text-decoration:none;color:var(--accent);background:var(--accent-bg);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}
.ck-ai-row{margin-top:1rem}

/* ── Live scan (AI vision) ───────────────────────────────────────────────── */
.checkup-camview{width:min(460px,100%)!important;aspect-ratio:3/4!important;border-radius:22px!important;--ck-hold:0}
@media (min-width:700px){.checkup-camview{aspect-ratio:4/3!important}}
.checkup-camview video.ck-mirror{transform:scaleX(-1)}
.checkup-camview .checkup-scanline{opacity:0;transition:opacity .2s}
.checkup-camview[data-phase=id] .checkup-scanline{opacity:1}
.ck-scan-top{position:absolute;left:10px;right:44px;top:10px;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;z-index:2}
.ck-ai-badge{font-size:.68rem;font-weight:800;padding:.25rem .55rem;border-radius:99px;color:#fff;background:linear-gradient(90deg,#3A78C2,#8E1F2A)}
.ck-phases{display:flex;gap:3px;margin:0;padding:0;list-style:none}
.ck-phases li{font-size:.64rem;font-weight:700;padding:.2rem .45rem;border-radius:99px;color:rgba(255,255,255,.7);background:rgba(0,0,0,.45);transition:background .2s,color .2s}
.ck-phases li.on{color:#0b0f14;background:#fff}
.ck-phases li.done{color:#fff;background:rgba(46,125,91,.85)}
.ck-corners{position:absolute;inset:calc(20% - var(--ck-hold) * 6%) calc(16% - var(--ck-hold) * 5%);pointer-events:none;transition:inset .25s cubic-bezier(.3,.7,.2,1)}
.ck-corners i{position:absolute;width:26px;height:26px;border:3px solid rgba(255,255,255,.9);transition:border-color .2s}
.ck-corners i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0;border-top-left-radius:10px}
.ck-corners i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0;border-top-right-radius:10px}
.ck-corners i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0;border-bottom-left-radius:10px}
.ck-corners i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0;border-bottom-right-radius:10px}
.checkup-camview[data-phase=hold] .ck-corners i{border-color:#E0B36A}
.checkup-camview[data-phase=id] .ck-corners i,.checkup-camview[data-phase=ok] .ck-corners i{border-color:#8CC5A0}
.ck-steady{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px;transform:rotate(-90deg);pointer-events:none;opacity:calc(.35 + var(--ck-hold) * .65)}
.ck-steady circle{fill:none;stroke-width:4}
.ck-steady .bg{stroke:rgba(255,255,255,.3)}
.ck-steady .fg{stroke:#fff;stroke-linecap:round;stroke-dasharray:163.4;stroke-dashoffset:calc(163.4 * (1 - var(--ck-hold)));transition:stroke-dashoffset .2s}
.checkup-camview[data-phase=id] .ck-steady{animation:ck-spin 1s linear infinite}
@keyframes ck-spin{to{transform:rotate(270deg)}}
.checkup-camview .checkup-camstatus{bottom:58px!important}
.ck-scan-ctl{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;align-items:center;gap:.6rem;z-index:2}
.ck-scan-ctl button{height:38px;min-width:38px;padding:0 .8rem;border-radius:99px;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.5);color:#fff;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}
.ck-scan-ctl button.on{background:#E0B36A;color:#0b0f14}
.ck-scan-ctl .ck-snap{background:#fff;color:#0b0f14;border-color:#fff}
.ck-scan-ctl button[hidden]{display:none}
.ck-confirm{position:absolute;left:10px;right:10px;bottom:10px;z-index:3;display:flex;gap:.75rem;align-items:center;padding:.7rem;border-radius:16px;background:rgba(10,18,32,.86);color:#fff;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:ck-up .3s cubic-bezier(.3,.7,.2,1)}
.ck-confirm[hidden]{display:none}
@keyframes ck-up{from{transform:translateY(16px);opacity:0}}
.ck-confirm img{width:72px;height:72px;border-radius:12px;object-fit:cover;flex:none}
.ck-cf-k{font-size:.72rem;opacity:.75}
.ck-cf-part{font-size:1.15rem;font-weight:800;margin:.1rem 0 .45rem}
.ck-cf-btns{display:flex;gap:.4rem;flex-wrap:wrap}
.ck-cf-btns .checkup-btn{padding:.4rem .75rem;font-size:.78rem}
.ck-cf-btns .checkup-btn.ghost{color:#fff;border-color:rgba(255,255,255,.5);background:transparent}
.ck-scan-tips{text-align:center;font-size:.74rem;color:var(--text3);margin-top:.45rem}
.ck-scan-tips[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.ck-corners,.ck-steady .fg{transition:none}.checkup-camview[data-phase=id] .ck-steady{animation:none}}
.checkup-camview[data-phase=ok] .ck-steady,.checkup-camview[data-phase=ok] .checkup-camstatus{opacity:0}

/* live scan: body tracking overlay + the AI note on the confirm sheet */
.checkup-camview .ck-pose{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:1}
.checkup-camview .ck-pose.ck-mirror{transform:scaleX(-1)}
.ck-cf-ai{margin-top:.55rem;font-size:.78rem;line-height:1.45;max-height:150px;overflow:auto;color:inherit;opacity:.92}
.ck-cf-ai-h{font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-bottom:.2rem}
