/* Captcha, age-check pause, bot finder — dwell helpers */

.overlay-gate {
    position: fixed !important;
    inset: 0;
    z-index: 100050;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(12, 10, 9, 0.96);
    backdrop-filter: blur(10px);
}
.overlay-gate.is-open { display: flex !important; }
.overlay-gate[hidden] { display: none !important; }
.captcha-gate--out,
.age-gate--out {
    opacity: 0;
    transition: opacity 0.35s ease;
    pointer-events: none;
}

.captcha-panel,
.age-checking {
    width: min(100%, 420px);
    text-align: center;
}
.captcha-panel {
    border: 1px solid rgba(184, 232, 90, 0.22);
    border-radius: 24px;
    background:
        radial-gradient(120% 80% at 10% -20%, rgba(184, 232, 90, 0.16), transparent 50%),
        radial-gradient(90% 70% at 110% 120%, rgba(42, 171, 238, 0.14), transparent 46%),
        #161412;
    padding: 30px 24px 26px;
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    position: relative;
}
.captcha-orb {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 0 0 16px;
}
.captcha-orb span {
    width: 10px; height: 10px;
    border-radius: 50%;
    background: var(--acid, #b8e85a);
    opacity: 0.35;
    animation: captcha-bob 1.4s ease-in-out infinite;
}
.captcha-orb span:nth-child(2) { animation-delay: 0.18s; background: #8ed4ff; }
.captcha-orb span:nth-child(3) { animation-delay: 0.36s; }
@keyframes captcha-bob {
    0%, 100% { transform: translateY(0); opacity: 0.35; }
    50% { transform: translateY(-7px); opacity: 1; }
}
.captcha-gate--busy .captcha-orb span { animation-duration: 0.7s; }
.captcha-title { margin: 0 0 8px; font-size: 1.28rem; color: var(--txt, #f3eee8); letter-spacing: -0.02em; }
.captcha-sub { color: var(--txt-mut, #9a938b); font-size: 0.9rem; margin: 0 0 18px; line-height: 1.45; }
.captcha-live {
    min-height: 2.6em;
    margin: 14px 0 0;
    font-size: 0.86rem;
    color: #c9e89a;
    line-height: 1.4;
}
.captcha-live[hidden] { display: none !important; }
.captcha-bits {
    display: flex;
    justify-content: center;
    gap: 8px;
    list-style: none;
    margin: 16px 0 0;
    padding: 0;
    flex-wrap: wrap;
}
.captcha-bits[hidden] { display: none !important; }
.captcha-bit {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.1);
    color: #6d675f;
    background: rgba(0,0,0,.25);
    transition: border-color 0.25s, color 0.25s, background 0.25s;
}
.captcha-bit.is-on {
    color: #12100f;
    background: var(--acid, #b8e85a);
    border-color: var(--acid, #b8e85a);
}
.captcha-check-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid var(--line-2, rgba(255,255,255,.12));
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.35);
    cursor: pointer;
    user-select: none;
    transition: border-color 0.2s, background 0.2s;
}
.captcha-check-row:hover {
    border-color: rgba(184, 232, 90, 0.4);
    background: rgba(184, 232, 90, 0.06);
}
.captcha-check-row--busy { pointer-events: none; cursor: wait; }
.captcha-check-box { width: 26px; height: 26px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.captcha-check-empty {
    width: 26px; height: 26px;
    border: 2px solid #e8d5b0;
    border-radius: 5px;
    box-sizing: border-box;
    background: #0c0c0c;
}
.captcha-check-spin {
    width: 22px; height: 22px;
    border: 3px solid rgba(255,255,255,.12);
    border-top-color: var(--acid, #b8e85a);
    border-radius: 50%;
    animation: captcha-spin 0.75s linear infinite;
    box-sizing: border-box;
}
.captcha-check-ok {
    width: 26px; height: 26px;
    border-radius: 5px;
    background: var(--acid, #b8e85a);
    color: #12100f;
    font-size: 18px;
    font-weight: 900;
    line-height: 26px;
    text-align: center;
}
.captcha-check-spin[hidden],
.captcha-check-empty[hidden],
.captcha-check-ok[hidden],
.age-checking[hidden] { display: none !important; }
.captcha-check-row--done { border-color: rgba(184, 232, 90, 0.55); background: rgba(184, 232, 90, 0.08); }

.age-check {
    appearance: none;
    -webkit-appearance: none;
    width: 22px;
    height: 22px;
    margin: 0;
    flex-shrink: 0;
    border: 2px solid #b8e85a;
    border-radius: 4px;
    background: #0c0c0c;
    cursor: pointer;
    display: inline-grid;
    place-items: center;
}
.age-check:checked {
    background: #b8e85a;
}
.age-check:checked::after {
    content: "✓";
    color: #12100f;
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
}
.captcha-check-label { font-size: 0.95rem; font-weight: 600; color: var(--txt, #f3eee8); }

.captcha-ring {
    width: 72px; height: 72px;
    margin: 0 auto 16px;
    border-radius: 50%;
    border: 3px solid rgba(184, 232, 90, 0.18);
    position: relative;
}
.captcha-ring::before {
    content: "";
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: var(--acid, #b8e85a);
}
.captcha-ring--spin::before { animation: captcha-spin 0.9s linear infinite; }
@keyframes captcha-spin { to { transform: rotate(360deg); } }

.topbar-bot-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid rgba(42, 171, 238, 0.45);
    background: rgba(42, 171, 238, 0.12);
    color: #8ed4ff;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: transform 180ms ease, background 180ms, box-shadow 180ms;
}
.topbar-bot-btn:hover {
    transform: translateY(-1px);
    background: rgba(42, 171, 238, 0.2);
    box-shadow: 0 8px 20px rgba(42, 171, 238, 0.18);
}
.topbar-bot-btn .topbar-bot-btn__short { display: none; }
@media (max-width: 720px) {
    .topbar-bot-btn { padding: 8px 10px; font-size: 0.74rem; }
    .topbar-bot-btn .topbar-bot-btn__full { display: none; }
    .topbar-bot-btn .topbar-bot-btn__short { display: inline; }
}

.bot-finder-section { margin: 8px 0 36px; }
.bot-finder-card {
    max-width: 760px;
    margin: 0 auto;
    border: 1px solid rgba(42, 171, 238, 0.22);
    border-radius: 28px;
    background:
        radial-gradient(120% 90% at 50% -20%, rgba(42, 171, 238, 0.2), transparent 52%),
        linear-gradient(180deg, #1d1a19 0%, #12100f 100%);
    padding: 48px 40px 40px;
    position: relative;
    text-align: center;
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.38);
}
.bot-finder-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #8ed4ff;
    background: rgba(42, 171, 238, 0.12);
    border: 1px solid rgba(42, 171, 238, 0.3);
}
.bot-real-link-wrap {
    margin: 14px 0 0;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid rgba(42, 171, 238, 0.35);
    background: rgba(42, 171, 238, 0.08);
    word-break: break-all;
}
.bot-real-link-wrap[hidden] { display: none !important; }
.bot-real-link-wrap a {
    color: #8ed4ff;
    font-weight: 700;
    text-decoration: underline;
}
.bot-finder-card h2 {
    margin: 0 0 12px;
    font-size: clamp(1.55rem, 3.4vw, 2.15rem);
    letter-spacing: -0.6px;
    line-height: 1.15;
}
.bot-finder-lead {
    margin: 0 auto 28px;
    max-width: 34em;
    color: var(--txt-mut, #9a938b);
    font-size: 1.08rem;
    line-height: 1.55;
}
.bot-finder-card > p { margin: 0 0 16px; color: var(--txt-mut, #9a938b); }
.bot-finder-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.bot-finder-result {
    margin-top: 28px;
    padding: 28px 20px 22px;
    border-radius: 20px;
    border: 1px solid rgba(42, 171, 238, 0.35);
    background:
        radial-gradient(80% 120% at 50% 0%, rgba(42, 171, 238, 0.16), transparent 55%),
        rgba(0, 0, 0, 0.28);
    text-align: center;
}
.bot-finder-result[hidden] { display: none !important; }
.bot-finder-result__kicker {
    margin: 0 0 16px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #d7efe8;
}
.bot-finder-result__btns {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.bot-finder-result__btns .btn-go-bot,
.bot-copy-nick {
    width: min(100%, 320px);
    justify-content: center;
}
.bot-copy-nick {
    min-height: 44px;
    border-radius: 999px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    padding: 10px 18px;
    background: transparent;
    border: 1px solid rgba(184, 232, 90, 0.4);
    color: var(--acid, #b8e85a);
}
.bot-copy-nick.is-copied {
    background: var(--acid, #b8e85a);
    color: #12100f;
    border-color: var(--acid, #b8e85a);
}
.bot-finder-actions .act,
.bot-finder-actions .btn-go-bot,
.bot-finder-actions button {
    min-height: 56px;
    border-radius: 999px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    padding: 14px 28px;
    font-size: 1.05rem;
}
.btn-find-bot {
    background: #2aabee;
    border: 1px solid #2aabee;
    color: #fff;
    box-shadow: 0 12px 30px rgba(42, 171, 238, 0.28);
}
.btn-find-bot:hover {
    filter: brightness(1.07);
}
.btn-go-bot {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    border: 1px solid rgba(42, 171, 238, 0.3);
    background: rgba(42, 171, 238, 0.08);
    color: #7ec8ee;
    pointer-events: none;
    opacity: 0.45;
}
.btn-go-bot.is-ready {
    pointer-events: auto;
    opacity: 1;
    background: #2aabee;
    border-color: #2aabee;
    color: #fff;
}
.bot-find-status { min-height: 1.3em; margin: 10px 0 0; font-size: 0.86rem; color: var(--txt-mut, #9a938b); }
.bot-search-viz { margin: 28px auto 0; max-width: 440px; }
.bot-search-viz[hidden] { display: none !important; }
.bot-radar-wrap { position: relative; width: 128px; height: 128px; margin: 0 auto 18px; }
.bot-radar {
    width: 100%; height: 100%;
    border-radius: 50%;
    border: 2px solid rgba(42, 171, 238, 0.35);
    background: repeating-radial-gradient(circle at center, rgba(42,171,238,.15) 0 2px, transparent 2px 12px);
    overflow: hidden; position: relative;
}
.bot-radar::after {
    content: "";
    position: absolute; inset: 0;
    background: conic-gradient(from 0deg, transparent 0 300deg, rgba(42,171,238,.45) 360deg);
    animation: radar-sweep 2s linear infinite;
}
.bot-radar-core {
    position: absolute; left: 50%; top: 50%;
    width: 10px; height: 10px; margin: -5px 0 0 -5px;
    border-radius: 50%; background: #2aabee;
    box-shadow: 0 0 12px #2aabee;
}
@keyframes radar-sweep { to { transform: rotate(360deg); } }
.bot-search-progress {
    height: 4px; border-radius: 99px;
    background: rgba(255,255,255,.08);
    margin-bottom: 12px; overflow: hidden;
}
#bot-search-bar {
    height: 100%; width: 0;
    background: linear-gradient(90deg, #2aabee, var(--acid, #b8e85a));
    transition: width 80ms linear;
}
.bot-search-steps { list-style: none; margin: 0; padding: 0; text-align: left; }
.bot-search-step {
    font-size: 0.82rem; color: var(--txt-dim, #6d675f);
    padding: 6px 0 6px 22px;
    border-bottom: 1px solid rgba(255,255,255,.05);
    position: relative;
}
.bot-search-step::before {
    content: "";
    position: absolute; left: 0; top: 8px;
    width: 16px; height: 16px; border-radius: 4px;
    border: 2px solid #555;
    background: #0c0c0c;
    box-sizing: border-box;
}
.bot-search-step.is-active { color: var(--txt, #f3eee8); }
.bot-search-step.is-active::before { border-color: #2aabee; }
.bot-search-step.is-done { color: var(--acid, #b8e85a); }
.bot-search-step.is-done::before {
    content: "✓";
    border-color: var(--acid, #b8e85a);
    background: var(--acid, #b8e85a);
    color: #12100f;
    font-size: 11px;
    font-weight: 900;
    line-height: 12px;
    text-align: center;
}

body.nav-minimal #btn-header-bot { display: inline-flex !important; }
