.cl-connection-puzzle{--cl-cp-ink:#211d19;--cl-cp-line:rgba(49,39,29,.14);--cl-cp-accent:#5f46a8;--cl-cp-warm:#c99634;background:linear-gradient(180deg,#f8f2e8 0%,#f5eddf 100%);border:1px solid var(--cl-cp-line);border-radius:22px;padding:16px;color:var(--cl-cp-ink);max-width:920px;margin:14px auto;box-shadow:0 8px 30px rgba(66,48,31,.055)}
.cl-connection-puzzle *{box-sizing:border-box}.cl-connection-puzzle[hidden],.cl-connection-puzzle [hidden]{display:none!important}
.cl-connection-puzzle__header{margin-bottom:8px}.cl-connection-puzzle__eyebrow{margin:0 0 2px;font-size:.72rem;font-weight:800;letter-spacing:.08em;color:#73665b}.cl-connection-puzzle__lead{margin:0;color:#4f473f;font-size:.94rem;line-height:1.4}
.cl-connection-puzzle__progress{display:inline-flex;margin:3px 0 10px;padding:4px 9px;border-radius:999px;background:rgba(201,150,52,.10);border:1px solid rgba(201,150,52,.18);font-size:.72rem;font-weight:800;color:#795a20}
.cl-connection-puzzle__stage,.cl-connection-puzzle__result{border:1px solid var(--cl-cp-line);background:rgba(255,250,242,.72);border-radius:17px;padding:12px}.cl-connection-puzzle__prompt{text-align:center;margin:2px 0 4px;font-size:.98rem;font-weight:800}.cl-connection-puzzle__status{text-align:center;margin:0 0 12px;color:#6a5f55;font-size:.82rem;line-height:1.4}
.cl-connection-puzzle__board{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:8px;align-items:stretch;max-width:42rem;margin:0 auto}.cl-connection-puzzle__column{display:grid;gap:8px}.cl-connection-puzzle__rail{display:flex;align-items:center;justify-content:center;color:#a27d3a;font-size:1.2rem;font-weight:900}
.cl-connection-puzzle__scene,.cl-connection-puzzle__word{appearance:none;width:100%;min-height:64px;border:1px solid rgba(49,39,29,.14);border-radius:13px;background:#fff;color:#40372f;padding:8px 10px;font:inherit;font-size:.84rem;font-weight:800;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}.cl-connection-puzzle__scene{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:9px;text-align:left}.cl-connection-puzzle__scene img{width:56px;height:44px;object-fit:cover;border-radius:8px;background:#e7dccb}.cl-connection-puzzle__word{text-align:center}.cl-connection-puzzle__scene:hover,.cl-connection-puzzle__word:hover{transform:translateY(-1px)}
.cl-connection-puzzle__scene.is-selected{border-color:#8c74d4;background:rgba(95,70,168,.08);box-shadow:0 0 0 2px rgba(95,70,168,.10)}.cl-connection-puzzle__scene.is-connected,.cl-connection-puzzle__word.is-connected{border-color:rgba(201,150,52,.55);background:rgba(201,150,52,.10);color:#5b451e;cursor:default}.cl-connection-puzzle__word.is-miss{animation:clCpNudge .32s ease;background:rgba(130,80,55,.06)}
.cl-connection-puzzle button:focus-visible,.cl-connection-puzzle a:focus-visible{outline:3px solid rgba(95,70,168,.35);outline-offset:3px}
.cl-connection-puzzle__captured{max-width:42rem;margin:13px auto 0}.cl-connection-puzzle__captured-label{margin:0 0 6px;text-align:center;color:#80601f;font-size:.74rem;font-weight:850}.cl-connection-puzzle__captured-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cl-connection-puzzle__captured-row{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:center;gap:4px;padding:8px 9px;border:1px solid rgba(49,39,29,.10);border-radius:11px;background:#fff;font-size:.75rem;text-align:center}.cl-connection-puzzle__captured-row span{color:#a27d3a}.cl-connection-puzzle__captured-row strong{font-size:.75rem}
.cl-connection-puzzle__actions,.cl-connection-puzzle__result-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:12px}.cl-connection-puzzle__primary,.cl-connection-puzzle__secondary,.cl-connection-puzzle__bridge{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:999px;padding:8px 14px;font:inherit;font-size:.82rem;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}.cl-connection-puzzle__primary,.cl-connection-puzzle__bridge{border:1px solid #171411;background:#171411;color:#fff;box-shadow:0 4px 12px rgba(20,16,12,.12)}.cl-connection-puzzle__secondary{border:1px solid rgba(34,34,34,.15);background:#fff;color:#40372f}.cl-connection-puzzle__primary:hover,.cl-connection-puzzle__secondary:hover,.cl-connection-puzzle__bridge:hover{transform:translateY(-1px)}
.cl-connection-puzzle__result{text-align:center}.cl-connection-puzzle__result-kicker{margin:0 0 2px;color:#80601f;font-weight:850;font-size:.74rem;letter-spacing:.03em}.cl-connection-puzzle__result h3{margin:0 0 5px;font-size:1.08rem}.cl-connection-puzzle__result p:not(.cl-connection-puzzle__result-kicker){margin:0;color:#62584f;font-size:.88rem;line-height:1.5}.cl-connection-puzzle-notice{padding:12px 14px;border-left:4px solid #dba617;background:#fff8da}
@keyframes clCpNudge{0%,100%{transform:translateX(0)}35%{transform:translateX(-3px)}70%{transform:translateX(3px)}}
@media(max-width:640px){.cl-connection-puzzle{padding:12px;border-radius:18px;margin:10px auto}.cl-connection-puzzle__lead{font-size:.88rem}.cl-connection-puzzle__stage,.cl-connection-puzzle__result{padding:10px}.cl-connection-puzzle__board{grid-template-columns:1fr;gap:9px}.cl-connection-puzzle__rail{min-height:20px;transform:rotate(90deg)}.cl-connection-puzzle__scene,.cl-connection-puzzle__word{min-height:54px;font-size:.8rem}.cl-connection-puzzle__scene{grid-template-columns:52px minmax(0,1fr)}.cl-connection-puzzle__scene img{width:52px;height:40px}.cl-connection-puzzle__captured-list{grid-template-columns:1fr}.cl-connection-puzzle__actions,.cl-connection-puzzle__result-actions{display:grid;grid-template-columns:1fr 1fr}.cl-connection-puzzle__primary,.cl-connection-puzzle__secondary,.cl-connection-puzzle__bridge{width:100%;min-height:44px}}
@media(max-width:380px){.cl-connection-puzzle__actions,.cl-connection-puzzle__result-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.cl-connection-puzzle__scene,.cl-connection-puzzle__word,.cl-connection-puzzle__primary,.cl-connection-puzzle__secondary,.cl-connection-puzzle__bridge{transition:none}.cl-connection-puzzle__word.is-miss{animation:none}}
