/* Puzzle à glisser — styles communs (source : /home/debian/puzzle-captcha, repris de sditech account.css).
   Couleurs réglables par site : --pc-accent, --pc-fill, --pc-text, --pc-muted, --pc-border, --pc-soft, --pc-tint. */
.slcap{margin:6px 0 16px}
.slcap [hidden]{display:none!important}
.slcap-label{font-size:13.5px;font-weight:600;color:var(--pc-text,#101822);margin:0 0 8px}
.slcap-stage{position:relative;width:100%;max-width:100%;aspect-ratio:2/1;border-radius:12px;overflow:hidden;background:var(--pc-soft,#eef1f5);border:1px solid var(--pc-border,#d6dce5);user-select:none;-webkit-user-select:none}
.slcap-bg{display:block;width:100%;height:100%;object-fit:cover}
.slcap-piece{position:absolute;left:0;top:0;width:17.35%;height:auto;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.55))}
.slcap-refresh{position:absolute;top:8px;right:8px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(11,18,32,.62);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.slcap-refresh:hover{background:rgba(11,18,32,.82)}
.slcap-refresh svg{width:17px;height:17px}
.slcap-track{position:relative;height:46px;margin-top:10px;overflow:hidden;border-radius:12px;background:var(--pc-tint,#f6f8fb);border:1px solid var(--pc-border,#d6dce5)}
.slcap-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--pc-fill,rgba(37,99,235,.14))}
.slcap-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-left:56px;font-size:13px;color:var(--pc-muted,#5b6472);pointer-events:none}
.slcap-handle{position:absolute;top:0;left:0;height:100%;width:59px;min-width:44px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--pc-accent,#2563eb);cursor:grab;touch-action:none;border-right:1px solid var(--pc-border,#d6dce5);box-shadow:2px 0 8px rgba(11,18,32,.08)}
.slcap-handle:focus-visible{outline:3px solid var(--pc-accent,#2563eb);outline-offset:-3px}
.slcap-handle svg{width:22px;height:22px}
.slcap-handle .slcap-ico-check{display:none}
.slcap.is-dragging .slcap-handle{cursor:grabbing}
.slcap.is-busy .slcap-handle{opacity:.7}
.slcap-status{min-height:1.25em;margin:7px 0 0;font-size:13px;color:var(--pc-muted,#5b6472)}
.slcap-status.is-error{color:#b42318}
.slcap.is-solved .slcap-track{border-color:#16a34a}
.slcap.is-solved .slcap-fill{background:rgba(34,197,94,.2)}
.slcap.is-solved .slcap-hint{visibility:hidden}
.slcap.is-solved .slcap-handle{color:#16a34a;cursor:default}
.slcap.is-solved .slcap-handle .slcap-ico-arrow{display:none}
.slcap.is-solved .slcap-handle .slcap-ico-check{display:block}
.slcap.is-solved .slcap-status{color:#15803d;font-weight:600}
.slcap.is-error .slcap-track{border-color:#dc2626;animation:slcap-shake .45s ease}
.slcap-alt{margin:4px 0 0}
.slcap-alt label{display:block;margin-bottom:6px;font-size:14px}
.slcap-alt input{max-width:160px}
.slcap-switch{margin-top:4px;padding:0;border:0;background:none;font:inherit;font-size:12.5px;color:var(--pc-muted,#5b6472);text-decoration:underline;cursor:pointer}
.slcap-done{margin:6px 0 16px;font-size:13.5px;font-weight:600;color:#15803d}
.slcap-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@keyframes slcap-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
@media (prefers-reduced-motion:reduce){ .slcap.is-error .slcap-track{animation:none} }
