:root {
    --at-black: #050705;
    --at-card: #0d110c;
    --at-white: #ffffff;
    --at-yellow: #ffd31a;
    --at-lime: #b6ff32;
    --at-muted: #a2aaa0;
    --at-line: rgba(255,255,255,.15);
}

.at-overlay-open {
    overflow: hidden !important;
}

#apeterra-challenge-consent,
.at-legal-gate {
    position: fixed;
    z-index: 200000;
    inset: 0;

    display: grid;
    place-items: center;

    padding: 18px;

    visibility: hidden;
    opacity: 0;

    pointer-events: none;

    transition:
        opacity .18s ease,
        visibility .18s ease;
}

#apeterra-challenge-consent.is-open,
.at-legal-gate.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.at-consent-backdrop,
.at-legal-backdrop {
    position: absolute;
    inset: 0;

    background:
        rgba(0,0,0,.80);

    backdrop-filter:
        blur(8px);
}

.at-consent-dialog,
.at-legal-card {
    position: relative;
    z-index: 2;

    width:
        min(
            620px,
            100%
        );

    max-height:
        calc(100vh - 36px);

    overflow: auto;

    padding:
        38px;

    border:
        1px solid
        rgba(182,255,50,.32);

    background:
        radial-gradient(
            circle at 50% -15%,
            rgba(182,255,50,.13),
            transparent 44%
        ),
        var(--at-card);

    box-shadow:
        0 30px 100px
        rgba(0,0,0,.68);
}

.at-consent-dialog::before,
.at-legal-card::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 5px;

    background:
        linear-gradient(
            90deg,
            var(--at-lime),
            var(--at-yellow)
        );
}

.at-legal-kicker {
    margin-bottom:
        12px;

    color:
        var(--at-lime);

    font-size:
        11px;

    font-weight:
        1000;

    letter-spacing:
        .17em;
}

.at-consent-dialog h2,
.at-legal-card h2 {
    margin:
        0
        0
        16px;

    color:
        var(--at-white);

    font-size:
        clamp(
            30px,
            5vw,
            48px
        );

    line-height:
        .95;

    letter-spacing:
        -.045em;

    font-weight:
        1000;
}

.at-consent-dialog p,
.at-legal-intro,
.at-legal-separate {
    color:
        #d4d9d2;

    font-size:
        15px;

    line-height:
        1.55;
}

.at-consent-links,
.at-legal-links {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;

    margin:
        20px
        0;
}

.at-consent-links a,
.at-legal-links a {
    color:
        var(--at-lime);

    font-size:
        13px;

    font-weight:
        800;

    text-decoration:
        underline;
}

.at-consent-actions {
    display: grid;
    grid-template-columns:
        repeat(
            3,
            minmax(0,1fr)
        );

    gap: 9px;

    margin-top:
        25px;
}

.at-btn {
    min-height:
        52px;

    border:
        1px solid
        var(--at-line);

    padding:
        12px
        14px;

    cursor:
        pointer;

    font-size:
        11px;

    font-weight:
        1000;

    letter-spacing:
        .05em;
}

.at-btn-primary {
    border-color:
        var(--at-yellow);

    background:
        var(--at-yellow);

    color:
        #050705;
}

.at-btn-secondary {
    background:
        rgba(255,255,255,.045);

    color:
        white;
}

.at-btn:disabled {
    opacity:
        .42;

    cursor:
        not-allowed;
}

.at-cookie-list {
    margin-top:
        22px;

    border-top:
        1px solid
        var(--at-line);
}

.at-cookie-row {
    min-height:
        76px;

    display: flex;
    align-items: center;
    justify-content:
        space-between;

    gap:
        20px;

    padding:
        15px
        0;

    border-bottom:
        1px solid
        var(--at-line);

    color:
        white;
}

.at-cookie-row div {
    display: grid;
    gap: 4px;
}

.at-cookie-row strong {
    font-size:
        14px;
}

.at-cookie-row span {
    color:
        var(--at-muted);

    font-size:
        12px;

    line-height:
        1.4;
}

.at-cookie-row b {
    color:
        var(--at-lime);

    font-size:
        10px;

    white-space:
        nowrap;
}

.at-cookie-row input {
    width:
        22px;

    height:
        22px;

    accent-color:
        var(--at-lime);
}

#apeterra-cookie-manage-challenge {
    position: fixed;

    z-index:
        190000;

    left:
        14px;

    bottom:
        14px;

    border:
        1px solid
        rgba(255,255,255,.18);

    border-radius:
        999px;

    padding:
        8px
        11px;

    background:
        rgba(5,7,5,.88);

    color:
        rgba(255,255,255,.72);

    font-size:
        10px;

    cursor:
        pointer;

    backdrop-filter:
        blur(8px);
}

.at-legal-checkbox {
    display: grid;

    grid-template-columns:
        auto 1fr;

    gap:
        14px;

    align-items:
        flex-start;

    margin:
        25px
        0
        10px;

    padding:
        18px;

    border:
        1px solid
        rgba(182,255,50,.26);

    background:
        rgba(182,255,50,.055);

    color:
        white;

    font-size:
        14px;

    line-height:
        1.5;

    cursor:
        pointer;
}

.at-legal-checkbox input {
    width:
        23px;

    height:
        23px;

    margin:
        0;

    accent-color:
        var(--at-lime);
}

.at-legal-separate {
    margin:
        13px
        0
        20px !important;

    color:
        var(--at-muted)
        !important;

    font-size:
        12px
        !important;
}

.at-legal-continue {
    width:
        100%;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        14px;
}

.at-legal-error {
    min-height:
        20px;

    margin-top:
        12px;

    color:
        #ff8177;

    font-size:
        12px;
}

.at-legal-loading {
    min-height:
        120px;

    display:
        grid;

    place-items:
        center;

    color:
        var(--at-lime);

    font-weight:
        1000;

    letter-spacing:
        .18em;
}

.at-legal-success-icon {
    width:
        72px;

    height:
        72px;

    display:
        grid;

    place-items:
        center;

    margin:
        0
        0
        23px;

    border:
        3px solid
        var(--at-lime);

    border-radius:
        50%;

    color:
        var(--at-lime);

    font-size:
        39px;

    font-weight:
        1000;
}

@media (max-width: 680px) {

    .at-consent-dialog,
    .at-legal-card {
        padding:
            31px
            20px
            24px;
    }

    .at-consent-actions {
        grid-template-columns:
            1fr;
    }

    .at-cookie-row {
        min-height:
            68px;
    }

    #apeterra-cookie-manage-challenge {
        left:
            9px;

        bottom:
            9px;
    }
}


/* APETERRA_ADULT_HIDE_PENDING_LEGAL_LOADING_V15
 * Visual suppression of the short legal-status CHECKING state only.
 * The transparent legal gate still intercepts input until validation finishes;
 * if acceptance is missing or the API fails, the original legal UI remains.
 */
#apeterra-legal-gate.is-open:has(.at-legal-loading) .at-legal-card {
  display: none !important;
}
#apeterra-legal-gate.is-open:has(.at-legal-loading) .at-legal-backdrop {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
