/* Part 2.3A — Auth + Account visual foundation
   Corporate visual language: premium dark charcoal, restrained metallic gold,
   cyan only as a functional accent. No continuous decorative motion. */

:root {
    --taa-bg: #090b10;
    --taa-surface: #11151b;
    --taa-surface-2: #171c23;
    --taa-line: rgba(212, 175, 55, .18);
    --taa-line-strong: rgba(212, 175, 55, .32);
    --taa-gold: #d4af37;
    --taa-gold-soft: #f2cf72;
    --taa-cyan: #5dd8e6;
    --taa-text: #f5f3ec;
    --taa-muted: #aab2bd;
    --taa-subtle: #7d8793;
    --taa-danger: #f87171;
    --taa-success: #34d399;
    --taa-shadow: 0 24px 72px rgba(0, 0, 0, .28);
}

html[data-tna-theme="light"] {
    --taa-bg: #f4f2ec;
    --taa-surface: #ffffff;
    --taa-surface-2: #f8f6f0;
    --taa-line: rgba(92, 72, 19, .14);
    --taa-line-strong: rgba(92, 72, 19, .24);
    --taa-gold: #9a7418;
    --taa-gold-soft: #b58a22;
    --taa-cyan: #217e88;
    --taa-text: #171a1f;
    --taa-muted: #5f6873;
    --taa-subtle: #858e97;
    --taa-danger: #b42318;
    --taa-success: #087a55;
    --taa-shadow: 0 22px 56px rgba(37, 31, 20, .08);
}

/* ---------- Auth ---------- */
.tna-auth-mobile-intro { display: none; }
.tna-auth-stage[data-tna-auth-shell] {
    min-height: calc(100svh - 112px);
    padding: clamp(34px, 6vw, 76px) 0;
    overflow: clip;
}

.tna-auth-stage[data-tna-auth-shell]::before,
.tna-auth-stage[data-tna-auth-shell]::after {
    display: none !important;
}

.tna-auth-stage .tna-auth-grid {
    max-width: 1120px !important;
    grid-template-columns: minmax(0, 1.04fr) minmax(380px, .96fr);
    gap: clamp(18px, 4vw, 44px);
}

.tna-auth-stage .tna-auth-art,
.tna-auth-stage .tna-auth-card {
    border-color: var(--taa-line) !important;
    background: var(--taa-surface) !important;
    box-shadow: var(--taa-shadow) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.tna-auth-stage .tna-auth-art {
    min-height: 560px;
    border-radius: 30px;
    padding: clamp(26px, 4vw, 42px);
    justify-content: flex-end;
    isolation: isolate;
}

.tna-auth-stage .tna-auth-art::before {
    inset: 0;
    z-index: -2;
    opacity: 1;
    mask-image: none;
    background:
        linear-gradient(rgba(212,175,55,.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(212,175,55,.055) 1px, transparent 1px),
        radial-gradient(circle at 82% 18%, rgba(93,216,230,.09), transparent 26rem),
        linear-gradient(145deg, rgba(255,255,255,.018), transparent 50%);
    background-size: 72px 72px, 72px 72px, auto, auto;
}

.tna-auth-stage .tna-auth-art::after {
    inset: 16px;
    border: 1px solid var(--taa-line);
    border-radius: 24px;
    background: none;
    opacity: .65;
    animation: none !important;
}

html[data-tna-theme="light"] .tna-auth-stage .tna-auth-art::before {
    background:
        linear-gradient(rgba(154,116,24,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(154,116,24,.045) 1px, transparent 1px),
        radial-gradient(circle at 82% 18%, rgba(33,126,136,.06), transparent 24rem),
        linear-gradient(145deg, rgba(154,116,24,.025), transparent 55%);
    background-size: 72px 72px, 72px 72px, auto, auto;
}

.tna-auth-stage .tna-auth-orbit {
    inset-block-start: 34px;
    inset-inline-end: 34px;
    width: min(250px, 46%);
    opacity: .82;
}

.tna-auth-stage .tna-auth-orbit span {
    border-color: rgba(212,175,55,.20);
    animation: none !important;
}

.tna-auth-stage .tna-auth-orbit span:nth-child(2) { border-color: rgba(93,216,230,.20); }
.tna-auth-stage .tna-auth-orbit span:nth-child(3) { border-color: rgba(212,175,55,.10); }
.tna-auth-stage .tna-auth-orbit span::before {
    width: 8px;
    height: 8px;
    background: var(--taa-gold);
    box-shadow: none;
}

.tna-auth-stage .tna-auth-orbit b {
    width: min(118px, 32vw);
    border: 1px solid var(--taa-line-strong);
    border-radius: 32px;
    color: var(--taa-text);
    background: linear-gradient(145deg, var(--taa-surface-2), var(--taa-surface));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
    font-size: clamp(1.1rem, 4vw, 1.8rem);
    letter-spacing: -.02em;
}

.tna-auth-stage .tna-auth-art h1 {
    max-width: 700px;
    margin: 14px 0 10px;
    color: var(--taa-text);
    font-size: clamp(2.15rem, 5vw, 4.75rem) !important;
    line-height: 1.12;
    letter-spacing: -.035em;
}

html[lang="fa"] .tna-auth-stage .tna-auth-art h1 { letter-spacing: 0; line-height: 1.34; }

.tna-auth-stage .tna-auth-art p,
.tna-auth-stage .tna-auth-mini-map small,
.tna-auth-stage .tna-auth-meta span,
.tna-auth-stage .tna-auth-card__head {
    color: var(--taa-muted);
}

.tna-auth-stage .tna-auth-meta span,
.tna-auth-stage .tna-auth-mini-map,
.tna-auth-stage .tna-auth-back,
.tna-auth-stage .tna-auth-tabs {
    border-color: var(--taa-line) !important;
    background: var(--taa-surface-2) !important;
}

.tna-auth-stage .tna-auth-mini-map a,
.tna-auth-stage .tna-auth-row a,
.tna-auth-stage .tna-auth-switch a { color: var(--taa-gold-soft) !important; }

.tna-auth-stage .tna-auth-card {
    border-radius: 28px !important;
    padding: clamp(22px, 3vw, 32px) !important;
    isolation: isolate;
}

.tna-auth-stage .tna-auth-card__halo {
    display: none !important;
}

.tna-auth-stage .tna-auth-card__head {
    margin-bottom: 18px;
}

.tna-auth-stage .tna-auth-back {
    color: var(--taa-text) !important;
}

.tna-auth-stage .tna-auth-tabs {
    padding: 5px;
    border-radius: 16px;
}

.tna-auth-stage .tna-auth-tabs a {
    min-height: 42px;
    border-radius: 12px;
    color: var(--taa-muted);
}

.tna-auth-stage .tna-auth-tabs a.is-active {
    color: #17140a;
    background: linear-gradient(135deg, var(--taa-gold-soft), #eadca5) !important;
    box-shadow: none;
}

html[data-tna-theme="light"] .tna-auth-stage .tna-auth-tabs a.is-active {
    color: #fff;
    background: linear-gradient(135deg, #9a7418, #b88c25) !important;
}

.tna-auth-stage .tna-auth-field { color: var(--taa-text); }
.tna-auth-stage .tna-auth-field small { color: var(--taa-subtle); }

.tna-auth-stage .tna-auth-field input,
.tna-auth-stage .tna-auth-field select,
.tna-auth-stage .tna-auth-field textarea,
.tna-auth-stage .tna-auth-username-field {
    border: 1px solid var(--taa-line-strong) !important;
    color: var(--taa-text) !important;
    background: var(--taa-surface-2) !important;
    box-shadow: none !important;
}

.tna-auth-stage .tna-auth-field input:focus,
.tna-auth-stage .tna-auth-field select:focus,
.tna-auth-stage .tna-auth-field textarea:focus,
.tna-auth-stage .tna-auth-username-field:focus-within {
    outline: 2px solid color-mix(in srgb, var(--taa-gold) 38%, transparent) !important;
    outline-offset: 2px;
    border-color: var(--taa-gold) !important;
}

.tna-auth-stage .tna-auth-submit {
    border: 1px solid color-mix(in srgb, var(--taa-gold) 55%, transparent);
    color: #17140a;
    background: linear-gradient(135deg, var(--taa-gold-soft), #eadca5) !important;
    box-shadow: none !important;
}

html[data-tna-theme="light"] .tna-auth-stage .tna-auth-submit {
    color: #fff;
    background: linear-gradient(135deg, #9a7418, #b88c25) !important;
}

.tna-auth-stage .tna-auth-submit:hover { transform: translateY(-1px); }

.tna-auth-stage .tna-auth-mobile-intro {
    color: var(--taa-text);
}
.tna-auth-stage .tna-auth-mobile-intro__mark {
    color: var(--taa-gold-soft);
    border-color: var(--taa-line-strong);
    background: var(--taa-surface-2);
    box-shadow: none;
}
.tna-auth-stage .tna-auth-mobile-intro small { color: var(--taa-gold-soft); }
.tna-auth-stage .tna-auth-mobile-intro p { color: var(--taa-muted); }

.tna-auth-verified-phone {
    margin-bottom: 16px;
    padding: 11px 14px;
    border: 1px solid var(--taa-line);
    border-radius: 14px;
    color: var(--taa-cyan);
    background: color-mix(in srgb, var(--taa-cyan) 8%, var(--taa-surface));
    text-align: center;
    font-weight: 800;
}

.tna-auth-account-type {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}
.tna-auth-account-type > legend {
    margin-bottom: 9px;
    color: var(--taa-text);
    font-weight: 900;
}
.tna-auth-account-type__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.tna-auth-account-type__option {
    position: relative;
    display: block;
    cursor: pointer;
}
.tna-auth-account-type__option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.tna-auth-account-type__option > span {
    min-height: 104px;
    display: grid;
    align-content: center;
    gap: 5px;
    padding: 14px;
    border: 1px solid var(--taa-line);
    border-radius: 16px;
    background: var(--taa-surface-2);
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.tna-auth-account-type__option strong { color: var(--taa-text); }
.tna-auth-account-type__option small { color: var(--taa-muted); line-height: 1.65; }
.tna-auth-account-type__option input:checked + span {
    border-color: var(--taa-gold);
    background: color-mix(in srgb, var(--taa-gold) 9%, var(--taa-surface));
}
.tna-auth-account-type__option input:focus-visible + span {
    outline: 2px solid color-mix(in srgb, var(--taa-gold) 42%, transparent);
    outline-offset: 2px;
}

.tna-auth-username-field {
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: 6px;
    padding-inline: 13px;
    border-radius: 18px;
}
.tna-auth-username-field > span {
    color: var(--taa-gold-soft);
    font-weight: 900;
}
.tna-auth-username-field input {
    min-height: 48px !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
}
.tna-auth-password-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px;
}

/* ---------- Account surfaces ---------- */
.tna-account-home,
.tna-account-security,
.tna-account-notifications {
    color: var(--taa-text);
}

.tna-account-home__container,
.tna-account-security__container,
.tna-account-notifications__container {
    max-width: 1160px;
}

.tna-account-home__hero,
.tna-account-home__stats article,
.tna-account-home__card,
.tna-account-home__completion,
.tna-account-page-head,
.tna-account-security__card,
.tna-notification-card,
.tna-account-empty-state {
    border-color: var(--taa-line) !important;
    background: var(--taa-surface) !important;
    box-shadow: var(--taa-shadow) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.tna-account-home__hero {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--taa-gold) 7%, var(--taa-surface)), var(--taa-surface)) !important;
}
.tna-account-home__hero::after {
    content: '';
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    width: 4px;
    background: linear-gradient(180deg, var(--taa-gold), color-mix(in srgb, var(--taa-cyan) 70%, transparent));
}
.tna-account-home__hero h1,
.tna-account-home__card h2,
.tna-account-home__completion h2,
.tna-account-page-head h1,
.tna-notification-card h2 { color: var(--taa-text); }
.tna-account-home__hero p,
.tna-account-home__card p,
.tna-account-page-head p { color: var(--taa-muted); }

.tna-account-home__stats article {
    border-radius: 18px;
    box-shadow: none !important;
}
.tna-account-home__stats span { color: var(--taa-muted); }
.tna-account-home__stats strong { color: var(--taa-text); }

.tna-account-home__card,
.tna-account-home__completion {
    border-radius: 22px;
    box-shadow: none !important;
}
.tna-account-home__card.is-primary {
    background: color-mix(in srgb, var(--taa-gold) 5%, var(--taa-surface)) !important;
}
.tna-account-home__progress { background: var(--taa-surface-2); }
.tna-account-home__progress span { background: linear-gradient(90deg, var(--taa-gold), var(--taa-cyan)); }
.tna-account-home__checks span {
    color: var(--taa-subtle);
    border-color: var(--taa-line);
    background: var(--taa-surface-2);
}
.tna-account-home__checks .is-done {
    color: var(--taa-success);
    border-color: color-mix(in srgb, var(--taa-success) 32%, var(--taa-line));
}

.tna-account-page-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    padding: clamp(22px, 4vw, 34px);
    margin-bottom: 18px;
    border: 1px solid var(--taa-line);
    border-radius: 26px;
}
.tna-account-page-head h1 {
    margin: 8px 0 8px;
    font-size: clamp(2rem, 4.5vw, 3.8rem);
    line-height: 1.15;
}
html[lang="fa"] .tna-account-page-head h1 { line-height: 1.35; }
.tna-account-page-head p { margin: 0; }
.tna-account-page-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
}

.tna-account-security__container { max-width: 860px; }
.tna-account-security__card { border-radius: 24px; padding: clamp(20px, 4vw, 32px); }
.tna-account-security__form { display: grid; gap: 16px; }
.tna-account-security__form label { display: grid; gap: 8px; color: var(--taa-text); font-weight: 800; }
.tna-account-security__form input {
    min-height: 54px;
    width: 100%;
    padding-inline: 14px;
    border: 1px solid var(--taa-line-strong) !important;
    border-radius: 16px !important;
    color: var(--taa-text) !important;
    background: var(--taa-surface-2) !important;
}
.tna-field-error { color: var(--taa-danger); line-height: 1.7; }

.tna-account-notifications__list { display: grid; gap: 12px; }
.tna-notification-permission { display: grid; gap: 6px; max-width: 340px; }
.tna-notification-card {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding: 20px;
    border-radius: 20px;
    box-shadow: none !important;
}
.tna-notification-card.is-read { opacity: .72; }
.tna-notification-card.is-unread { border-inline-start: 3px solid var(--taa-gold) !important; }
.tna-notification-card__content { min-width: 0; }
.tna-notification-card__content h2 { margin: 10px 0 7px; font-size: 1.15rem; }
.tna-notification-card__content p { white-space: pre-line; }
.tna-notification-card__actions { display: flex; gap: 8px; flex-wrap: wrap; flex: 0 0 auto; }
.tna-account-empty-state { padding: 26px; border-radius: 20px; text-align: center; }
.tna-account-empty-state strong { display: block; margin-bottom: 7px; }
.tna-account-pagination { margin-top: 20px; }

/* Buttons on these sensitive surfaces stay calm and high-contrast. */
:is(.tna-account-home, .tna-account-security, .tna-account-notifications) .tna-btn {
    border-color: var(--taa-line-strong);
    background: var(--taa-surface-2);
    color: var(--taa-text);
    box-shadow: none;
}
:is(.tna-account-home, .tna-account-security, .tna-account-notifications) .tna-btn-primary {
    border-color: color-mix(in srgb, var(--taa-gold) 58%, transparent);
    color: #17140a;
    background: linear-gradient(135deg, var(--taa-gold-soft), #eadca5);
}
html[data-tna-theme="light"] :is(.tna-account-home, .tna-account-security, .tna-account-notifications) .tna-btn-primary {
    color: #fff;
    background: linear-gradient(135deg, #9a7418, #b88c25);
}

/* Light mode must be neutral and coherent, not a different blue theme. */
html[data-tna-theme="light"] :is(
    .tna-auth-stage .tna-auth-art,
    .tna-auth-stage .tna-auth-card,
    .tna-account-home__hero,
    .tna-account-home__stats article,
    .tna-account-home__card,
    .tna-account-home__completion,
    .tna-account-page-head,
    .tna-account-security__card,
    .tna-notification-card,
    .tna-account-empty-state
) {
    color: var(--taa-text) !important;
    background-color: var(--taa-surface) !important;
    border-color: var(--taa-line) !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
    .tna-auth-stage[data-tna-auth-shell] { min-height: auto; padding: 22px 0 42px !important; }
    .tna-auth-stage .tna-auth-grid { width: min(100% - 28px, 620px) !important; grid-template-columns: 1fr !important; gap: 14px !important; }
    .tna-auth-stage .tna-auth-art { display: none !important; }
    .tna-auth-stage .tna-auth-panel,
    .tna-auth-stage .tna-auth-card { width: 100% !important; min-width: 0 !important; }
    .tna-auth-stage .tna-auth-mobile-intro { display: flex !important; align-items: flex-start; gap: 13px; padding: 4px 4px 9px; }
    .tna-auth-stage .tna-auth-mobile-intro__mark { width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; border: 1px solid var(--taa-line); border-radius: 14px; }
    .tna-auth-stage .tna-auth-mobile-intro h1 { margin: 3px 0 3px; font-size: clamp(1.4rem, 7vw, 2rem); }
    .tna-auth-stage .tna-auth-mobile-intro p { margin: 0; font-size: .88rem; }
    .tna-auth-stage .tna-auth-card { border-radius: 22px !important; padding: clamp(18px, 5vw, 26px) !important; }
    .tna-auth-stage .tna-auth-card__head { align-items: flex-start; flex-direction: column; }
    .tna-auth-stage .tna-auth-row { align-items: stretch; flex-direction: column; }
    .tna-auth-stage .tna-auth-row > * { width: 100%; }

    .tna-account-page-head { align-items: flex-start; flex-direction: column; }
    .tna-account-page-actions { justify-content: flex-start; }
    .tna-notification-card { flex-direction: column; }
    .tna-notification-card__actions { width: 100%; }
}

@media (max-width: 620px) {
    .tna-auth-account-type__grid,
    .tna-auth-password-grid { grid-template-columns: 1fr; }
    .tna-auth-account-type__option > span { min-height: auto; }
    .tna-account-page-actions,
    .tna-notification-card__actions { width: 100%; }
    .tna-account-page-actions .tna-btn,
    .tna-account-page-actions form,
    .tna-account-page-actions form .tna-btn,
    .tna-notification-card__actions .tna-btn,
    .tna-notification-card__actions form,
    .tna-notification-card__actions form .tna-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .tna-auth-stage *,
    .tna-account-home *,
    .tna-account-security *,
    .tna-account-notifications * { animation: none !important; transition: none !important; }
}

/* ---------- Part 2.3A v3: Auth experience + numeric CAPTCHA ---------- */
.tna-auth-stage[data-tna-auth-shell] {
    min-height: calc(100svh - 96px);
    padding: clamp(26px, 4vw, 52px) 0 62px !important;
}
.tna-auth-stage .tna-auth-grid {
    width: min(100% - 34px, 1080px) !important;
    max-width: 1080px !important;
    grid-template-columns: minmax(0, 1.02fr) minmax(390px, .82fr) !important;
    gap: 18px !important;
    align-items: stretch;
}
.tna-auth-stage .tna-auth-art {
    min-height: 590px !important;
    display: flex;
    flex-direction: column;
    justify-content: space-between !important;
    padding: clamp(24px, 3.4vw, 38px) !important;
    border-radius: 30px !important;
    overflow: hidden;
}
.tna-auth-stage .tna-auth-art::before {
    background:
        linear-gradient(rgba(212,175,55,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(212,175,55,.04) 1px, transparent 1px),
        radial-gradient(circle at 74% 26%, rgba(212,175,55,.08), transparent 22rem) !important;
    background-size: 88px 88px, 88px 88px, auto !important;
}
html[data-tna-theme="light"] .tna-auth-stage .tna-auth-art::before {
    background:
        linear-gradient(rgba(154,116,24,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(154,116,24,.035) 1px, transparent 1px),
        radial-gradient(circle at 74% 26%, rgba(154,116,24,.055), transparent 20rem) !important;
    background-size: 88px 88px, 88px 88px, auto !important;
}
.tna-auth-art__top,
.tna-auth-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.tna-auth-kicker,
.tna-auth-security-state {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--taa-line);
    border-radius: 999px;
    background: var(--taa-surface-2);
    font-size: .78rem;
    font-weight: 850;
}
.tna-auth-kicker { color: var(--taa-gold-soft); }
.tna-auth-security-state { gap: 7px; color: var(--taa-muted); }
.tna-auth-security-state i { width: 7px; height: 7px; border-radius: 50%; background: var(--taa-success); }
.tna-auth-emblem {
    position: relative;
    width: 210px;
    height: 210px;
    margin: clamp(10px,2.5vw,28px) auto 6px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 4px;
    isolation: isolate;
}
.tna-auth-emblem__ring {
    position: absolute;
    border: 1px solid var(--taa-line);
    border-radius: 50%;
}
.tna-auth-emblem__ring--one { inset: 14px; }
.tna-auth-emblem__ring--two { inset: 42px; border-color: color-mix(in srgb,var(--taa-cyan) 24%,var(--taa-line)); }
.tna-auth-emblem::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    inset-block-start: 37px;
    inset-inline-end: 45px;
    border-radius: 50%;
    background: var(--taa-gold);
    box-shadow: 0 0 0 7px color-mix(in srgb,var(--taa-gold) 8%,transparent);
}
.tna-auth-emblem strong { color: var(--taa-text); font-size: 2rem; letter-spacing: .04em; }
.tna-auth-emblem small { color: var(--taa-muted); font-size: .68rem; letter-spacing: .13em; }
.tna-auth-art__copy { position: relative; z-index: 1; }
.tna-auth-stage .tna-auth-art h1 {
    max-width: 650px;
    margin: 12px 0 8px !important;
    font-size: clamp(2.15rem, 4vw, 3.55rem) !important;
    line-height: 1.14 !important;
}
html[lang="fa"] .tna-auth-stage .tna-auth-art h1 { line-height: 1.34 !important; }
.tna-auth-stage .tna-auth-art p { max-width: 690px; line-height: 1.95; }
.tna-auth-stage .tna-auth-meta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 18px;
}
.tna-auth-stage .tna-auth-meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 32px;
    padding: 0 10px;
    border: 1px solid var(--taa-line);
    border-radius: 999px;
    background: var(--taa-surface-2) !important;
    font-size: .76rem;
}
.tna-auth-stage .tna-auth-meta span i { width: 5px; height: 5px; border-radius: 50%; background: var(--taa-gold); }
.tna-auth-stage .tna-auth-mini-map {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 15px !important;
    border-radius: 18px;
}
.tna-auth-stage .tna-auth-mini-map > div { display: grid; gap: 3px; }
.tna-auth-stage .tna-auth-mini-map a {
    flex: 0 0 auto;
    text-decoration: none;
    font-weight: 900;
}
.tna-auth-stage .tna-auth-card {
    min-height: 590px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 30px !important;
    padding: clamp(24px, 3.2vw, 38px) !important;
}
.tna-auth-stage .tna-auth-card__head { margin-bottom: 22px !important; }
.tna-auth-stage .tna-auth-card__head > span { font-size: .8rem; }
.tna-auth-stage .tna-auth-tabs { margin-bottom: 20px; }
.tna-auth-stage .tna-auth-form { display: grid; gap: 15px; }
.tna-auth-stage .tna-auth-field { display: grid; gap: 8px; font-weight: 850; }
.tna-auth-stage .tna-auth-field input,
.tna-auth-stage .tna-auth-field select,
.tna-auth-stage .tna-auth-field textarea {
    min-height: 54px;
    padding-inline: 15px !important;
    border-radius: 16px !important;
}
.tna-auth-stage .tna-auth-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    font-size: .88rem;
}
.tna-auth-stage .tna-auth-check { display: inline-flex; align-items: center; gap: 8px; color: var(--taa-muted); }
.tna-auth-stage .tna-auth-check input { accent-color: var(--taa-gold); }
.tna-auth-stage .tna-auth-submit { min-height: 54px; border-radius: 16px !important; font-size: .96rem; font-weight: 950; }
.tna-auth-stage .tna-auth-switch { margin: 18px 0 0; text-align: center; color: var(--taa-muted); }

.tna-captcha {
    min-width: 0;
    margin: 2px 0 0;
    padding: 15px;
    border: 1px solid var(--taa-line) !important;
    border-radius: 18px;
    background: color-mix(in srgb, var(--taa-gold) 3%, var(--taa-surface-2));
}
.tna-captcha__head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.tna-captcha__head > div { min-width: 0; display: grid; gap: 2px; }
.tna-captcha__head strong { color: var(--taa-text); font-size: .9rem; }
.tna-captcha__head small { color: var(--taa-muted); line-height: 1.5; }
.tna-captcha__icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border: 1px solid var(--taa-line-strong);
    border-radius: 11px;
    color: var(--taa-gold-soft);
    background: var(--taa-surface);
    font-weight: 950;
}
.tna-captcha__challenge {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 9px;
    align-items: stretch;
}
.tna-captcha__image-wrap {
    min-height: 66px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--taa-line-strong);
    border-radius: 14px;
    background: #11151b;
}
html[data-tna-theme="light"] .tna-captcha__image-wrap {
    background: #f7f3ea;
    border-color: rgba(122, 90, 18, .22);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .72);
}
.tna-captcha__image { width: 100%; max-width: 220px; height: 64px; object-fit: cover; display: block; }
.tna-captcha__refresh {
    min-width: 94px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 11px;
    border: 1px solid var(--taa-line-strong);
    border-radius: 14px;
    color: var(--taa-text);
    background: var(--taa-surface);
    cursor: pointer;
    font: inherit;
    font-size: .78rem;
    font-weight: 850;
}
.tna-captcha__refresh:hover { border-color: var(--taa-gold); }
.tna-captcha__refresh:disabled { opacity: .55; cursor: wait; }
.tna-captcha__answer { display: grid; gap: 6px; margin-top: 11px; color: var(--taa-text); font-size: .82rem; font-weight: 850; }
.tna-captcha__answer input {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid var(--taa-line-strong) !important;
    border-radius: 14px !important;
    color: var(--taa-text) !important;
    background: var(--taa-surface) !important;
    text-align: center;
    letter-spacing: .42em;
    font-size: 1.15rem;
    font-weight: 950;
}
.tna-captcha__answer input:focus { outline: 2px solid color-mix(in srgb,var(--taa-gold) 38%,transparent); outline-offset: 2px; }
.tna-captcha__answer small { color: var(--taa-subtle); line-height: 1.65; }
.tna-captcha__trap { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }

/* The old fake checkbox must never be visible after v3. */
.tna-human-check { display: none !important; }

@media (max-width: 900px) {
    .tna-auth-stage .tna-auth-grid { width: min(100% - 24px, 620px) !important; grid-template-columns: 1fr !important; }
    .tna-auth-stage .tna-auth-card { min-height: 0; }
}
@media (max-width: 520px) {
    .tna-auth-stage[data-tna-auth-shell] { padding-top: 16px !important; }
    .tna-auth-stage .tna-auth-card { padding: 18px !important; border-radius: 22px !important; }
    .tna-auth-stage .tna-auth-card__head { align-items: center; flex-direction: row; }
    .tna-auth-stage .tna-auth-card__head > span { display: none; }
    .tna-captcha__challenge { grid-template-columns: 1fr; }
    .tna-captcha__refresh { min-height: 42px; }
    .tna-auth-stage .tna-auth-row { align-items: flex-start; flex-direction: column; }
}
