/* 실로바이오닉 · 의족 조합하기 (하퇴·대퇴의족) · CMO 2026-10-17 — #leg-config 안에서만 쓰임 */
#leg-config{--lc-blue:#2F5D7C;--lc-blue-soft:rgba(47,93,124,.12);--lc-skin:#E3D6C8;--lc-ok:#3F7A55;--lc-warn:#9A5B2E;scroll-margin-top:calc(var(--header-h,84px) + 12px)}
#leg-config .lc-intro{max-width:760px;margin:0 auto 28px;text-align:center}
#leg-config .lc-ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:900px;margin:0 auto 28px}
@media (max-width:640px){#leg-config .lc-ways{grid-template-columns:minmax(0,1fr)}}
#leg-config .lc-ways div{border-top:2px solid var(--black);padding-top:8px;font-size:14px;color:var(--black-soft);line-height:1.6}
#leg-config .lc-ways b{display:block;color:var(--black);font-size:15px}
#lc-app{min-width:0}
#lc-app .lc-kw{font-size:14px;color:var(--lc-blue);background:var(--lc-blue-soft);border-radius:6px;padding:10px 14px;margin:0 0 14px}
#lc-app .lc-jump{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
#lc-app .lc-jump a{font-size:14px;text-decoration:none;color:var(--black);border:1px solid rgba(42,33,29,.28);border-radius:999px;padding:6px 14px;background:#fff}
#lc-app .lc-jump a span{font-family:var(--font-display);font-size:12px;color:var(--muted);margin-left:6px}
#lc-app .lc-jump a.done span{color:var(--lc-ok)}
#lc-app .lc-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:28px;align-items:start}
@media (max-width:1000px){#lc-app .lc-main{grid-template-columns:minmax(0,1fr)}}
#lc-app .lc-secs{display:grid;gap:18px;min-width:0}
#lc-app .lc-sec{border:1px solid var(--line);border-radius:12px;background:#fff;padding:22px 18px;display:grid;gap:14px;min-width:0;scroll-margin-top:calc(var(--header-h,84px) + 12px)}
#lc-app .lc-sec.is-hl{border-color:var(--lc-blue);box-shadow:0 0 0 3px var(--lc-blue-soft)}
#lc-app .lc-head{display:grid;gap:4px}
#lc-app .lc-head h3{font-size:22px;line-height:1.35;margin:0;color:var(--black)}
#lc-app .lc-head p{margin:0;font-size:14px;color:var(--muted);line-height:1.65}
#lc-app .lc-subq{font-weight:700;font-size:15px;margin:4px 0 0}
#lc-app .lc-needs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:8px}
#lc-app .lc-needs.lc-txt{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
@media (max-width:520px){#lc-app .lc-needs:not(.lc-txt){grid-template-columns:repeat(2,minmax(0,1fr))}#lc-app .lc-needs:not(.lc-txt) .lc-s{display:none}#lc-app .lc-needs:not(.lc-txt) .lc-t{font-size:13px}}
#lc-app .lc-need{position:relative;display:grid;gap:4px;align-content:start;border:1px solid var(--line);border-radius:10px;padding:10px 10px 11px;cursor:pointer;background:var(--ivory-light);margin:0}
#lc-app .lc-need:hover{border-color:rgba(42,33,29,.28)}
#lc-app .lc-need input{position:absolute;right:10px;top:10px;margin:0;accent-color:var(--black);width:18px;height:18px}
#lc-app .lc-need:has(input:checked){border-color:var(--black);background:#fff;box-shadow:inset 0 0 0 1px var(--black)}
#lc-app .lc-need:focus-within{outline:2px solid var(--lc-blue);outline-offset:2px}
#lc-app .lc-pic{display:block;background:#fff;border-radius:6px;border:1px solid var(--line);aspect-ratio:240/150;overflow:hidden}
#lc-app .lc-need:has(input:checked) .lc-pic{border-color:var(--lc-blue)}
#lc-app .lc-t{font-weight:700;font-size:14px;line-height:1.45;padding-right:24px;color:var(--black)}
#lc-app .lc-pic + input + .lc-t{padding-right:0}
#lc-app .lc-s{font-size:12.5px;color:var(--muted);line-height:1.45}
#lc-app .lc-to{font-family:var(--font-display);font-size:12px;color:var(--lc-blue);font-weight:600}
#lc-app .lc-rec{display:grid;gap:12px}
#lc-app .lc-empty{font-size:14px;color:var(--muted);border:1px dashed rgba(42,33,29,.28);border-radius:8px;padding:12px;margin:0}
#lc-app .lc-card{border:1px solid rgba(42,33,29,.28);border-radius:12px;padding:16px;display:grid;gap:12px;background:var(--ivory-light);min-width:0}
#lc-app .lc-lab{font-family:var(--font-display);font-size:12px;letter-spacing:.04em;color:var(--lc-blue);font-weight:600}
#lc-app .lc-card h4{font-family:var(--font-serif);font-size:21px;line-height:1.35;margin:0;color:var(--black)}
#lc-app .lc-what{margin:0;color:var(--black-soft);font-size:15px;line-height:1.7}
#lc-app .lc-media{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
#lc-app .lc-media.lc-media1{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:560px){#lc-app .lc-media,#lc-app .lc-media.lc-media1{grid-template-columns:minmax(0,1fr)}}
#lc-app .lc-media figure{margin:0;display:grid;gap:6px;align-content:start;min-width:0}
#lc-app .lc-frame{border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#fff;aspect-ratio:240/150;max-width:100%}
#lc-app .lc-frame img{width:100%;height:100%;object-fit:cover;display:block}
#lc-app .lc-frame img.lc-prodimg{object-fit:contain;padding:6px}
#lc-app .lc-media figcaption{font-size:13px;color:var(--black-soft);line-height:1.5}
#lc-app .lc-media figcaption span{display:block;font-size:11.5px;color:var(--muted)}
#lc-app .lc-pc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
@media (max-width:520px){#lc-app .lc-pc{grid-template-columns:minmax(0,1fr)}}
#lc-app .lc-pc ul{margin:0;padding-left:18px;font-size:14px;line-height:1.65}
#lc-app .lc-h{font-size:13px;font-weight:700;color:var(--black-soft);margin-bottom:4px}
#lc-app .lc-good .lc-h{color:var(--lc-ok)}#lc-app .lc-bad .lc-h{color:var(--lc-warn)}
#lc-app .lc-prods{display:grid;gap:8px}
#lc-app .lc-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:8px}
#lc-app .lc-tile{font:inherit;display:grid;gap:4px;align-content:start;text-align:left;border:1px solid rgba(42,33,29,.28);border-radius:8px;padding:6px;background:#fff;color:var(--black);cursor:pointer;min-width:0}
#lc-app .lc-im{aspect-ratio:1;border-radius:5px;background:#fff;overflow:hidden;display:grid;place-items:center}
#lc-app .lc-im img{width:100%;height:100%;object-fit:contain;display:block}
#lc-app .lc-ph0{font-size:11px;color:var(--muted)}
#lc-app .lc-nm{font-size:13px;font-weight:700;line-height:1.35}
#lc-app .lc-bothtag{font-family:var(--font-display);font-size:11px;color:var(--lc-blue)}
#lc-app .lc-tile.is-both{border-color:var(--lc-blue);box-shadow:inset 0 0 0 1px var(--lc-blue)}
#lc-app .lc-tile[aria-expanded="true"]{border-color:var(--black);box-shadow:inset 0 0 0 1px var(--black)}
#lc-app .lc-pdesc{margin:0;font-size:14px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--black-soft);line-height:1.65}
#lc-app .lc-bothline{margin:0;font-size:14px;background:var(--lc-blue-soft);border-radius:6px;padding:10px 12px}
#lc-app .lc-bothline b{color:var(--lc-blue)}
#lc-app .lc-caution{margin:0;font-size:14px;color:var(--lc-warn);border-left:2px solid var(--lc-warn);padding-left:10px;line-height:1.65}
#lc-app .lc-journals ul{margin:2px 0 6px;padding-left:18px;font-size:14px;line-height:1.7}
#lc-app .lc-journals a{color:var(--lc-blue)}
#lc-app .lc-jg{margin:6px 0 0;font-size:12px;font-weight:700;color:var(--gold-deep)}
#lc-app .lc-side{position:sticky;top:calc(var(--header-h,84px) + 12px);display:grid;gap:12px;min-width:0}
@media (max-width:1000px){#lc-app .lc-side{position:static}}
#lc-app .lc-box{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
#lc-app .lc-boxh{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}
#lc-app .lc-n{font-family:var(--font-display);font-size:13px}
#lc-app .lc-stack{list-style:none;margin:0;padding:12px 14px;display:grid;gap:8px}
#lc-app .lc-stack li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;min-width:0;border-radius:6px}
#lc-app .lc-stack li.lc-pulse{animation:lcPulse .9s ease}
@keyframes lcPulse{0%{background:var(--lc-blue-soft)}100%{background:transparent}}
#lc-app .lc-th{width:52px;height:52px;border-radius:6px;border:1px solid var(--line);background:#fff;overflow:hidden;display:grid;place-items:center;font-family:var(--font-display);font-size:11px;color:var(--gold-deep)}
#lc-app .lc-th img{width:100%;height:100%;object-fit:contain}
#lc-app .lc-th img.cover{object-fit:cover}
#lc-app .lc-sl{display:block;font-family:var(--font-display);font-size:11px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
#lc-app .lc-sv{display:block;font-weight:700;font-size:14px;line-height:1.4}
#lc-app li:not(.on) .lc-sv{font-weight:400;color:var(--muted);font-size:13px}
#lc-app .lc-sw{display:block;font-size:12px;color:var(--black-soft);line-height:1.45}
#lc-app .lc-go{justify-content:center}
#lc-app .lc-copy{font:inherit;font-size:14px;border:1px solid rgba(42,33,29,.28);background:#fff;border-radius:8px;padding:10px;cursor:pointer;color:var(--black)}
#lc-app .lc-cap{margin:0;font-size:12.5px;color:var(--muted);line-height:1.6}
#lc-app .lc-other{margin:0;font-size:14px}
#lc-app .lc-other a{color:var(--lc-blue)}
#leg-config .lc-noscript{max-width:760px;margin:0 auto;font-size:15px}

/* 원리 그림 */
#lc-app svg.lc-anim{width:100%;height:auto;display:block}
#lc-app svg.lc-anim text{font-family:var(--font-kr);font-size:11px;font-weight:700;fill:var(--lc-blue)}
#lc-app svg.lc-anim *{transform-box:view-box}
#lc-app .lc-need svg.lc-anim *{animation-play-state:paused}
#lc-app .lc-need:hover svg.lc-anim *,#lc-app .lc-need:has(input:checked) svg.lc-anim *,#lc-app .lc-need:focus-within svg.lc-anim *{animation-play-state:running}
@media (prefers-reduced-motion:reduce){#lc-app svg.lc-anim *{animation:none!important}}
#lc-app .a-hl-up{animation:lchlUp 4s ease-in-out infinite}
@keyframes lchlUp{0%,28%{transform:translateY(0)}45%,80%{transform:translateY(-9px)}96%,100%{transform:translateY(0)}}
#lc-app .a-hl-foot{transform-origin:120px 112px;animation:lchlFoot 4s ease-in-out infinite}
@keyframes lchlFoot{0%,28%{transform:rotate(0)}45%,80%{transform:rotate(9deg)}96%,100%{transform:rotate(0)}}
#lc-app .a-hl-w{transform-origin:104px 130px;animation:lchlW 4s ease-in-out infinite}
@keyframes lchlW{0%,28%{transform:scaleY(0)}45%,80%{transform:scaleY(1)}96%,100%{transform:scaleY(0)}}
#lc-app .a-t1{animation:lct1 4s infinite}@keyframes lct1{0%,30%{opacity:1}40%,86%{opacity:0}96%,100%{opacity:1}}
#lc-app .a-t2{animation:lct2 4s infinite}@keyframes lct2{0%,30%{opacity:0}40%,86%{opacity:1}96%,100%{opacity:0}}
#lc-app .a-rn-b{animation:lcrnB 1.1s cubic-bezier(.45,0,.55,1) infinite}
@keyframes lcrnB{0%,100%{transform:translateY(-18px)}47%,53%{transform:translateY(0)}}
#lc-app .a-rn-s{transform-origin:150px 128px;animation:lcrnS 1.1s infinite}
@keyframes lcrnS{0%,40%,62%,100%{transform:scaleY(1)}50%{transform:scaleY(.8)}}
#lc-app .a-rn-l{animation:lcrnL 1.1s linear infinite}
@keyframes lcrnL{0%{transform:translateX(14px);opacity:0}30%{opacity:1}100%{transform:translateX(-30px);opacity:0}}
#lc-app .a-sm-g,#lc-app .a-sm-f{animation:lcsmG 4s ease-in-out infinite}
#lc-app .a-sm-g{transform-origin:120px 130px}#lc-app .a-sm-f{transform-origin:120px 124px}
@keyframes lcsmG{0%,28%{transform:rotate(0)}45%,80%{transform:rotate(-10deg)}96%,100%{transform:rotate(0)}}
#lc-app .a-sm-o{transform-origin:129px 112px;animation:lcsmO 4s ease-in-out infinite}
@keyframes lcsmO{0%,28%{transform:scaleY(1)}45%,80%{transform:scaleY(.4)}96%,100%{transform:scaleY(1)}}
#lc-app .a-lg-r{transform-origin:166px 130px;animation:lclgR 2.4s ease-in-out infinite}
@keyframes lclgR{0%,12%{transform:rotate(0)}55%{transform:rotate(12deg)}78%{transform:rotate(3deg)}100%{transform:rotate(0)}}
#lc-app .a-lg-k{stroke-dasharray:16 70;animation:lclgK 2.4s linear infinite}
@keyframes lclgK{0%{stroke-dashoffset:86}100%{stroke-dashoffset:0}}
#lc-app .a-lg-a{animation:lclgA 2.4s infinite}
@keyframes lclgA{0%,40%{opacity:0;transform:translateX(-8px)}62%{opacity:1;transform:translateX(0)}92%,100%{opacity:0;transform:translateX(12px)}}
#lc-app .a-rf-f{transform-origin:120px 114px;animation:lcrfF 3s ease-in-out infinite}
@keyframes lcrfF{0%,18%{transform:rotate(0)}38%,75%{transform:rotate(9deg)}95%,100%{transform:rotate(0)}}
#lc-app .a-rf-r{transform-origin:98px 130px;animation:lcrfR 3s ease-in-out infinite}
@keyframes lcrfR{0%,18%{transform:scale(0)}38%,75%{transform:scale(1)}95%,100%{transform:scale(0)}}
#lc-app .a-sh-u{animation:lcshU 1.6s ease-in-out infinite}
@keyframes lcshU{0%,100%{transform:translateY(-2px)}45%,55%{transform:translateY(12px)}}
#lc-app .a-sh-s{transform-origin:120px 104px;animation:lcshS 1.6s ease-in-out infinite}
@keyframes lcshS{0%,100%{transform:scaleY(1.08)}45%,55%{transform:scaleY(.72)}}
#lc-app .a-sh-i{animation:lcshI 1.6s infinite}
@keyframes lcshI{0%,40%,65%,100%{opacity:0}50%{opacity:1}}
#lc-app .a-wk-d{animation:lcwkD 2s ease-in-out infinite}
@keyframes lcwkD{0%,100%{transform:translateY(-4px)}50%{transform:translateY(4px)}}
#lc-app .a-wk-f{transform-origin:135px 130px;animation:lcwkF 2s ease-in-out infinite}
@keyframes lcwkF{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.93)}}
#lc-app .a-st-u{transform-origin:120px 112px;animation:lcstU 3s ease-in-out infinite}
@keyframes lcstU{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
#lc-app .a-pulse{animation:lcpls 1.6s ease-in-out infinite}
@keyframes lcpls{0%,100%{opacity:.25}50%{opacity:1}}
#lc-app .a-wd{animation:lcwd 1.6s linear infinite}
@keyframes lcwd{0%{transform:translateY(-10px);opacity:0}15%{opacity:1}100%{transform:translateY(90px);opacity:0}}
#lc-app .a-wv{animation:lcwv 2s linear infinite}
@keyframes lcwv{from{transform:translateX(0)}to{transform:translateX(-40px)}}
#lc-app .a-kh-s{transform-origin:122px 72px;animation:lckhS 3s ease-in-out infinite}
@keyframes lckhS{0%,30%,100%{transform:rotate(0)}40%{transform:rotate(5deg)}50%{transform:rotate(0)}}
#lc-app .a-kh-l{animation:lckhL 3s infinite}
@keyframes lckhL{0%,36%{opacity:.25}46%,82%{opacity:1}100%{opacity:.25}}
#lc-app .a-kt-s{transform-origin:122px 72px;animation:lcktS 2.6s ease-in-out infinite}
@keyframes lcktS{0%,100%{transform:rotate(0)}45%{transform:rotate(40deg)}}
#lc-app .a-kc-s{transform-origin:122px 72px;animation:lckcS 5s ease-in-out infinite}
@keyframes lckcS{0%{transform:rotate(0)}9%{transform:rotate(48deg)}18%,40%{transform:rotate(0)}65%{transform:rotate(42deg)}90%,100%{transform:rotate(0)}}
#lc-app .a-kc-t1{animation:lckcT1 5s infinite}@keyframes lckcT1{0%,30%{opacity:1}36%,94%{opacity:0}100%{opacity:1}}
#lc-app .a-kc-t2{animation:lckcT2 5s infinite}@keyframes lckcT2{0%,34%{opacity:0}40%,92%{opacity:1}98%,100%{opacity:0}}
#lc-app .a-ks-s{transform-origin:122px 72px;animation:lcksS 3s ease-in-out infinite}
@keyframes lcksS{0%,18%{transform:rotate(0)}32%,75%{transform:rotate(20deg)}95%,100%{transform:rotate(0)}}
#lc-app .a-ks-w{transform-origin:122px 71px;animation:lcksW 1.2s ease-out infinite}
@keyframes lcksW{0%{transform:scale(.4);opacity:.9}100%{transform:scale(2.4);opacity:0}}
#lc-app .a-ka-s{transform-origin:122px 72px;animation:lckaS 4s ease-in-out infinite}
@keyframes lckaS{0%,10%,100%{transform:rotate(0)}48%,62%{transform:rotate(105deg)}}
#lc-app .a-kp-t{transform-origin:122px 72px;animation:lckpT 4s ease-in-out infinite}
@keyframes lckpT{0%,14%{transform:rotate(-80deg)}62%,88%{transform:rotate(0)}100%{transform:rotate(-80deg)}}
#lc-app .a-spin{transform-origin:122px 71px;animation:lcspin 1.2s linear infinite}
@keyframes lcspin{to{transform:rotate(360deg)}}
#lc-app .a-ge-a{animation:lcgeA 2s ease-in-out infinite}
@keyframes lcgeA{0%,100%{transform:translateY(8px);opacity:0}40%{transform:translateY(0);opacity:1}60%{opacity:1}}
#lc-app .a-ge-b{transform-origin:120px 112px;animation:lcgeB 2s ease-in-out infinite}
@keyframes lcgeB{0%,30%,100%{transform:scaleY(1)}50%{transform:scaleY(.55)}}
#lc-app .a-si-r{transform-origin:120px 130px;animation:lcsiR 3.6s ease-in-out infinite}
@keyframes lcsiR{0%,8%{transform:scaleY(0)}70%,90%{transform:scaleY(1)}100%{transform:scaleY(0)}}
#lc-app .a-si-ring{animation:lcsiRing 3.6s ease-in-out infinite}
@keyframes lcsiRing{0%,8%{transform:translateY(118px)}70%,90%{transform:translateY(0)}100%{transform:translateY(118px)}}
#lc-app .a-fade{animation:lcfade 3s ease-in-out infinite}
@keyframes lcfade{0%,20%{opacity:0}50%,85%{opacity:1}100%{opacity:0}}
#lc-app .a-pn-l{animation:lcpnL 2.6s ease-in-out infinite}
@keyframes lcpnL{0%{transform:translateY(-26px)}45%,85%{transform:translateY(0)}100%{transform:translateY(-26px)}}
#lc-app .a-pn-f{transform-origin:120px 132px;animation:lcpnF 2.6s infinite}
@keyframes lcpnF{0%,42%{opacity:0;transform:scale(.4)}48%{opacity:1;transform:scale(1)}66%,100%{opacity:0;transform:scale(1.7)}}
#lc-app .a-pn-t{animation:lcpnT 2.6s infinite}@keyframes lcpnT{0%,44%{opacity:0}50%,76%{opacity:1}86%,100%{opacity:0}}
#lc-app .a-air{animation:lcair 2s linear infinite}
@keyframes lcair{0%{transform:translate(0,0);opacity:1}100%{transform:translate(46px,0);opacity:0}}
#lc-app .a-va-p{transform-origin:183px 112px;animation:lcvaP 1s ease-in-out infinite}
@keyframes lcvaP{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
#lc-app .a-sl-s{transform-origin:120px 60px;animation:lcslS 3.6s ease-in-out infinite}
@keyframes lcslS{0%,8%{transform:scaleY(.1)}60%,90%{transform:scaleY(1)}100%{transform:scaleY(.1)}}
#lc-app .a-op-d{transform-origin:152px 75px;animation:lcopD 3.4s ease-in-out infinite}
@keyframes lcopD{0%,15%{transform:scaleX(1)}38%,65%{transform:scaleX(.08)}88%,100%{transform:scaleX(1)}}
#lc-app .a-op-s{animation:lcopS 3.4s infinite}@keyframes lcopS{0%,15%{opacity:1}30%,80%{opacity:0}92%,100%{opacity:1}}
#lc-app .a-s2-w{transform-origin:120px 36px;animation:lcs2W 3.2s ease-in-out infinite}
@keyframes lcs2W{0%,12%{transform:scaleY(0)}48%,86%{transform:scaleY(1)}100%{transform:scaleY(0)}}
#lc-app .a-ol-l{transform-origin:120px 70px;animation:lcolL 5s ease-in-out infinite}
@keyframes lcolL{0%,12%{transform:scaleX(1)}30%,88%{transform:scaleX(.8)}100%{transform:scaleX(1)}}
#lc-app .a-ol-o{animation:lcolO 5s ease-in-out infinite}@keyframes lcolO{0%,55%{opacity:1}68%,90%{opacity:.15}100%{opacity:1}}
#lc-app .a-ol-g{animation:lcolG 5s infinite}@keyframes lcolG{0%,26%{opacity:0}34%,54%{opacity:1}62%,100%{opacity:0}}
#lc-app .a-ol-n{transform-origin:120px 76px;animation:lcolN 5s ease-in-out infinite}
@keyframes lcolN{0%,55%{opacity:0;transform:scaleX(1.12)}70%,88%{opacity:1;transform:scaleX(.82)}100%{opacity:0;transform:scaleX(.82)}}
#lc-app .a-ol-t1{animation:lcolT1 5s infinite}@keyframes lcolT1{0%,24%{opacity:0}32%,56%{opacity:1}62%,100%{opacity:0}}
#lc-app .a-ol-t2{animation:lcolT2 5s infinite}@keyframes lcolT2{0%,62%{opacity:0}70%,90%{opacity:1}96%,100%{opacity:0}}
