/* صفحه‌ی تأیید انسان بودن (پازل کشیدنی) — مستقل و سبک، با همان طراحی سایت */
@font-face{font-family:Vazirmatn;src:url(../fonts/Vazirmatn-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(../fonts/Vazirmatn-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(../fonts/Vazirmatn-Bold.woff2) format("woff2");font-weight:700 900;font-display:swap}
:root{--bg:#05070d;--brand:#1ea7ff;--brand-rgb:30,167,255;--violet:#7c5cff;--ok:#2fe0a0;--err:#ff5a6e;--text:#eef4ff;--muted:#9fb0c8;--dim:#6b7a92;--line:rgba(255,255,255,.09)}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body.hc-body{min-height:100%;display:grid;place-items:center;background:var(--bg);color:var(--text);font-family:Vazirmatn,Tahoma,sans-serif;line-height:1.8;overflow-x:hidden;-webkit-font-smoothing:antialiased}
svg.ic{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}

.hc-aura{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.hc-aura i{position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(90px);opacity:.35;animation:hcFloat 18s ease-in-out infinite alternate}
.hc-aura i:nth-child(1){background:#1ea7ff;top:-25vmax;right:-15vmax}
.hc-aura i:nth-child(2){background:#7c5cff;bottom:-30vmax;left:-20vmax;animation-delay:-6s}
.hc-aura i:nth-child(3){background:#2fe0a0;top:40%;left:45%;width:30vmax;height:30vmax;opacity:.16;animation-delay:-12s}
@keyframes hcFloat{to{transform:translate3d(4vmax,-3vmax,0) scale(1.08)}}

.hc-wrap{position:relative;z-index:1;width:100%;padding:24px 16px}
.hc-card{width:min(420px,100%);margin:0 auto;padding:26px 24px 22px;border-radius:26px;border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(165deg,rgba(255,255,255,.075),rgba(255,255,255,.025));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:0 30px 80px -30px rgba(0,0,0,.8),0 0 0 1px rgba(var(--brand-rgb),.06) inset;display:grid;gap:14px;text-align:center}
.hc-brand{display:inline-flex;align-items:center;justify-content:center;gap:10px;color:var(--text);text-decoration:none;font-size:1.1rem;direction:ltr}
.hc-brand b{font-weight:900}
.hc-card h1{font-size:1.35rem;font-weight:900;line-height:1.5}
.hc-lead{color:var(--muted);font-size:.92rem}

.hc-puzzle{display:grid;gap:14px;user-select:none;-webkit-user-select:none}
.hc-stage{position:relative;width:100%;border-radius:16px;overflow:hidden;background:#0b1430;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset}
.hc-bg{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.hc-piece{position:absolute;top:0;left:0;pointer-events:none;filter:drop-shadow(0 4px 10px rgba(0,0,0,.55)) drop-shadow(0 0 1px rgba(255,255,255,.6));will-change:transform}
.hc-piece.is-back{transition:transform .45s cubic-bezier(.22,1,.36,1)}
.hc-flash{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s}
.hc-flash.is-ok{opacity:1;background:radial-gradient(circle at 50% 50%,rgba(47,224,160,.28),transparent 70%)}
.hc-flash.is-err{opacity:1;background:rgba(255,90,110,.16)}
.hc-refresh{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:11px;border:1px solid rgba(255,255,255,.18);background:rgba(5,8,18,.55);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .2s,transform .4s}
.hc-refresh:hover{background:rgba(var(--brand-rgb),.4)}
.hc-refresh.is-spin{transform:rotate(-360deg)}

.hc-track{position:relative;height:52px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid var(--line);overflow:hidden;touch-action:none}
.hc-fill{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,rgba(var(--brand-rgb),.08),rgba(var(--brand-rgb),.28))}
.hc-hint{position:absolute;inset:0;display:grid;place-items:center;color:var(--dim);font-size:.85rem;pointer-events:none;transition:opacity .3s;padding-inline-start:40px}
.hc-handle{position:absolute;top:3px;left:3px;width:58px;height:44px;border-radius:13px;border:0;cursor:grab;display:grid;place-items:center;color:#021019;
  background:linear-gradient(135deg,#7fe3ff,var(--brand));box-shadow:0 8px 22px -8px rgba(var(--brand-rgb),.9);touch-action:none;will-change:transform}
.hc-handle svg{width:22px;height:22px}
.hc-handle:active{cursor:grabbing}
.hc-handle:focus-visible{outline:2px solid #fff;outline-offset:2px}
.hc-handle.is-back{transition:transform .45s cubic-bezier(.22,1,.36,1)}
.hc-handle.is-ok{background:linear-gradient(135deg,#9ff7d6,var(--ok))}
.hc-handle.is-err{background:linear-gradient(135deg,#ffb3bd,var(--err))}
.hc-track.is-err{animation:hcShake .45s}
@keyframes hcShake{20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}

.hc-msg{min-height:1.8em;font-size:.88rem;color:var(--muted)}
.hc-msg.is-ok{color:var(--ok)}
.hc-msg.is-err{color:#ff9aa6}
.hc-note{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--dim);font-size:.78rem;line-height:1.7}
@media (prefers-reduced-motion:reduce){.hc-aura i{animation:none}}
