
:root{
    --arc-teal:#14b8a6;
    --arc-cyan:#06b6d4;
    --arc-sky:#0ea5e9;
    --arc-ink:#0f172a;
    --arc-ink-muted:#475569;
    --arc-surface:#ffffff;
    --arc-bg:#F7FAFF;
    --arc-divider: rgba(2,6,23,.08);
}

:where(a,button,[role="button"],input,select,textarea):focus-visible{
    outline:3px solid color-mix(in oklab, var(--arc-cyan), white 25%);
    outline-offset:2px;
    border-radius:8px;
}

.arc-overlay{
    position:fixed; inset:0; display:grid; place-items:center; padding:1.5rem;
    background:rgba(3, 7, 18, .6);
    -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
    z-index:1000;
}
.arc-modal{
    width:min(560px,96vw);
    background:var(--arc-surface);
    color:var(--arc-ink);
    border:1px solid var(--arc-divider);
    border-radius:14px;
    box-shadow:0 22px 60px rgba(0,0,0,.28);
    padding:clamp(1.25rem,2vw + 1rem,2.25rem);
}
.arc-actions{ display:flex; gap:.75rem; justify-content:center; margin-top:1rem; }

.arc-btn{
    appearance:none; border:0; border-radius:10px; padding:.7rem 1.1rem;
    font-weight:800; font-size:1rem; line-height:1; cursor:pointer;
    transition:transform .12s ease, filter .2s ease;
}
.arc-btn:hover{ transform:translateY(-1px); }
.arc-btn:active{ transform:translateY(0); }

.arc-btn--ok{ color:#fff; background:linear-gradient(90deg,var(--arc-teal),var(--arc-sky)); }
.arc-btn--no{ color:#fff; background:#ef4444; }
.arc-btn--ghost{
    color:var(--arc-ink); background:transparent; border:1px solid var(--arc-divider);
}

.arc-age-gate{
    min-height:100svh; display:grid; place-items:center; padding:2rem;
    background:linear-gradient(180deg, #ffffff 0%, var(--arc-bg) 100%);
    color:var(--arc-ink); text-align:center;
}

.arc-rule{ height:1px; width:100%; background:linear-gradient(90deg,transparent,rgba(2,6,23,.12),transparent); }

.login{ color:inherit; }
