/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */
 
 /* Puzzle CAPTCHA layout */
/* --- Puzzle CAPTCHA — premium look --- */
.pc { --pc-w: auto; --pc-accent: #6aa1ff; --pc-bg: #0d1428; --pc-card: rgba(255,255,255,0.06); --pc-stroke: rgba(255,255,255,0.12); --pc-good:#22c55e; --pc-warn:#f59e0b; --pc-bad:#ef4444; max-width: var(--pc-w); width: 100%; color: #eaf1ff; font: 14px/1.4 ui-sans-serif, system-ui, Segoe UI, Roboto, Arial; }
.pc-head{display:flex;align-items:center;gap:8px;margin:6px 2px 10px;}
.pc-dot{width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 30% 30%, #84c5ff 0, #6aa1ff 40%, #3c6aff 100%);box-shadow:0 0 10px #3c6aff;}
.pc-title{font-weight:600;letter-spacing:.2px;color:#3c6aff;}

.pc-card{position:relative;border-radius:16px;background:linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));border:1px solid var(--pc-stroke);box-shadow:0 12px 40px rgba(0,0,0,0.35);padding:12px 12px 10px;backdrop-filter: blur(6px);}

.pc-viewport{position:relative;width:100%;height:auto;transform-origin:center center;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,0.08); background: #101936;}
.pc-viewport canvas{display:block;position:absolute;left:0;top:0;width:100%;height:100%;filter: drop-shadow(0 4px 10px rgba(0,0,0,.35));}

.pc-badge{position:absolute;inset:auto 8px 8px auto;background: rgba(34,197,94,0.14);border:1px solid rgba(34,197,94,0.4);color:#bbf7d0;border-radius:999px;padding:6px;opacity:0;transform:scale(.8);transition:all .25s ease;backdrop-filter: blur(4px);}
.pc-badge-icon{width:16px;height:16px;fill:#86efac;}

.pc-slider-wrap{position:relative;margin-top:12px;}
.pc-slider{appearance:none;-webkit-appearance:none;width:100%;height:14px;border-radius:999px;background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 7px rgba(0,0,0,.25);}
.pc-slider::-webkit-slider-thumb{appearance:none;width:28px;height:28px;border-radius:14px;background: radial-gradient(circle at 30% 30%, #a7c8ff 0, #6aa1ff 45%, #3c6aff 100%); border:0; box-shadow:0 8px 18px rgba(0,0,0,.35); cursor:grab;}
.pc-slider::-moz-range-thumb{width:28px;height:28px;border-radius:14px;background: radial-gradient(circle at 30% 30%, #a7c8ff 0, #6aa1ff 45%, #3c6aff 100%); border:0; box-shadow:0 8px 18px rgba(0,0,0,.35); cursor:grab;}
.pc-ticks{position:absolute;left:12px;right:12px;top:50%;height:2px;transform:translateY(-50%);background:linear-gradient(90deg, rgba(255,255,255,.10) 0 50%, transparent 50%);background-size:10px 2px;pointer-events:none;}

.pc-status{display:flex;justify-content:space-between;gap:8px;margin-top:8px;}
.pc-status-text{font-weight:600;}
.pc-meta{font-size:12px;color:#9fb3d1;}

.pc .ok{color:var(--pc-good);} .pc .warn{color:var(--pc-warn);} .pc .bad{color:var(--pc-bad);}

/* piece hover */
#pc-piece{transition:transform .12s ease, filter .2s ease; cursor:grab;}
#pc-piece:hover{filter: drop-shadow(0 10px 22px rgba(0,0,0,.45));}

/* success pop */
.pc--solved .pc-badge{opacity:1;transform:scale(1);}


.form-returns{
    font-size: 16px !important;
    margin-top: 20px;
}

.loading-wrap{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    text-align: center;
    padding-top: 20%;
    display: none;
}
.loading-wrap .spinner-grow{
    color: #ffffff;
}