:root {
    --gold: #f5bb32;
    --gold-light: #ffdb78;
    --gold-deep: #8d6410;
    --bg: #020302;
    --panel: #090b09;
    --text: #f5f5f1;
    --muted: #a7aaa5;
    --line: rgba(255, 255, 255, .12);
    --danger: #ff6565;
    --success: #58d16b;
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
}

body {
    min-height: 100vh;
    margin: 0;
    color: var(--text);
    background:
        radial-gradient(circle at 70% 45%, rgba(184, 124, 12, .1), transparent 30%),
        linear-gradient(rgba(0, 0, 0, .78), rgba(0, 0, 0, .92)),
        url("../images/banner-img.png") center / cover fixed,
        #020302;
    font-family: "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;
    overflow-x: hidden;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255, 255, 255, .017) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .017) 1px, transparent 1px);
    background-size: 58px 58px;
    mask-image: linear-gradient(to bottom, black, transparent 75%);
}

button,
a {
    font: inherit;
}

button {
    color: inherit;
}

a {
    color: inherit;
    text-decoration: none;
}

img,
svg {
    display: block;
}

button:focus-visible,
a:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 3px;
}

#authCanvas {
    position: fixed;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.auth-header {
    position: relative;
    z-index: 10;
    width: min(1220px, calc(100% - 48px));
    height: 86px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.auth-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: var(--gold);
    font-weight: 900;
    font-size: 15px;
    line-height: 1.02;
    letter-spacing: .25px;
}

.auth-brand__coin {
    width: 47px;
    height: 47px;
    overflow: hidden;
    border: 1px solid rgba(245, 187, 50, .55);
    border-radius: 50%;
    box-shadow: 0 0 18px rgba(245, 187, 50, .14);
}

.auth-brand__coin img,
.mini-coin img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 45%;
    transform: scale(1.3);
}

.auth-header__actions {
    display: flex;
    align-items: center;
    gap: 17px;
}

.network-indicator {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #b8bbb6;
    font-size: 11px;
}

.network-indicator i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #777;
    box-shadow: 0 0 9px currentColor;
}

.network-indicator.connected {
    color: var(--success);
}

.network-indicator.connected i {
    background: currentColor;
}

.back-link {
    height: 37px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 7px;
    color: #d4d6d2;
    background: rgba(7, 9, 8, .72);
    font-size: 11px;
}

.back-link svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
}

.auth-main {
    position: relative;
    z-index: 2;
    width: min(1220px, calc(100% - 48px));
    margin: 13px auto 24px;
}

.login-shell {
    min-height: 686px;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
    grid-template-areas: "brand card";
    border: 1px solid rgba(245, 187, 50, .28);
    border-radius: 26px;
    overflow: hidden;
    background: rgba(5, 7, 6, .9);
    box-shadow: 0 32px 95px rgba(0, 0, 0, .55), inset 0 1px rgba(255, 255, 255, .025);
}

.brand-panel {
    grid-area: brand;
    position: relative;
    isolation: isolate;
    min-width: 0;
    overflow: hidden;
    background:
        linear-gradient(90deg, transparent 62%, #070907 100%),
        url("../images/bg-robot.png") 36% 50% / cover no-repeat,
        #030403;
}

.brand-panel::before {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background:
        linear-gradient(to top, rgba(2, 3, 2, .95), rgba(2, 3, 2, .1) 58%),
        linear-gradient(90deg, rgba(2, 3, 2, .14), rgba(2, 3, 2, .3));
}

.brand-panel__shade {
    position: absolute;
    z-index: 2;
    inset: auto 0 0;
    height: 48%;
    background: linear-gradient(to top, #050605, transparent);
}

.brand-panel__content {
    position: absolute;
    z-index: 3;
    right: 47px;
    bottom: 40px;
    left: 47px;
}

.eyebrow {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 13px;
    color: var(--gold);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1.35px;
}

.eyebrow span {
    width: 27px;
    height: 1px;
    background: currentColor;
}

.brand-panel h1 {
    margin: 0;
    font-size: 57px;
    line-height: 1.04;
    letter-spacing: -1.2px;
}

.brand-panel h1 em {
    color: var(--gold);
    font-style: normal;
}

.brand-panel__content>p:not(.eyebrow) {
    max-width: 560px;
    margin: 19px 0 23px;
    color: #c1c4bf;
    font-size: 13px;
    line-height: 1.65;
}

.module-grid {
    max-width: 570px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.module {
    min-width: 0;
    min-height: 66px;
    padding: 10px 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 10px;
    color: #dcddd9;
    background: rgba(7, 9, 8, .75);
    backdrop-filter: blur(8px);
    font-size: 10px;
}

.module svg {
    width: 22px;
    height: 22px;
    color: var(--gold);
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
}

.security-note {
    max-width: 570px;
    margin-top: 13px;
    padding: 11px 13px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(245, 187, 50, .15);
    border-radius: 9px;
    background: rgba(245, 187, 50, .035);
}

.security-note svg {
    flex: 0 0 25px;
    width: 25px;
    height: 25px;
    color: var(--gold);
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
}

.security-note span {
    display: grid;
    color: #969994;
    font-size: 9px;
    line-height: 1.4;
}

.security-note strong {
    color: #e4e5e1;
    font-size: 10px;
}

.auth-card {
    grid-area: card;
    min-width: 0;
    padding: 40px 43px 31px;
    border-left: 1px solid rgba(255, 255, 255, .08);
    background:
        radial-gradient(circle at 50% 0, rgba(245, 187, 50, .085), transparent 32%),
        linear-gradient(145deg, rgba(14, 16, 14, .98), rgba(7, 9, 8, .98));
}

.auth-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mini-coin {
    width: 55px;
    height: 55px;
    overflow: hidden;
    border: 1px solid rgba(245, 187, 50, .52);
    border-radius: 50%;
    box-shadow: 0 0 24px rgba(245, 187, 50, .14);
}

.secure-pill {
    padding: 7px 10px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--gold);
    border: 1px solid rgba(245, 187, 50, .28);
    border-radius: 20px;
    background: rgba(245, 187, 50, .035);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .7px;
}

.secure-pill svg {
    width: 13px;
    height: 13px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
}

.auth-tabs {
    width: 100%;
    margin-top: 27px;
    padding: 4px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 11px;
    background: rgba(3, 5, 4, .6);
}

.auth-tab {
    min-height: 41px;
    padding: 0 14px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: #8c9ab0;
    background: transparent;
    font-size: 13px;
    cursor: pointer;
    transition: color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.auth-tab:hover {
    color: #daddd8;
}

.auth-tab.active {
    color: var(--gold-light);
    border-color: rgba(245, 187, 50, .38);
    background: rgba(245, 187, 50, .08);
    box-shadow: inset 0 0 16px rgba(245, 187, 50, .025);
}

.auth-panel {
    margin-top: 21px;
}

.invite-copy {
    margin: 0 0 18px;
    color: #aeb4c0;
    font-size: 14px;
    line-height: 1.55;
}

.invite-copy strong {
    color: #f2f3ef;
}

.referral-form {
    display: grid;
    gap: 9px;
}

.referral-form label {
    color: #d4d7d2;
    font-size: 11px;
}

.referral-form label b {
    color: var(--danger);
}

.referral-form input {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 9px;
    outline: 0;
    color: #edf0eb;
    background: rgba(3, 5, 4, .62);
    font: 12px/1 Consolas, "Courier New", monospace;
    letter-spacing: .6px;
    text-transform: uppercase;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.referral-form input::placeholder {
    color: #718099;
}

.referral-form input:focus {
    border-color: rgba(245, 187, 50, .62);
    box-shadow: 0 0 0 3px rgba(245, 187, 50, .08);
}

.referral-form input.invalid {
    border-color: rgba(255, 101, 101, .7);
    box-shadow: 0 0 0 3px rgba(255, 101, 101, .06);
}

.referral-submit {
    min-height: 48px;
    margin-top: 7px;
    border: 1px solid #d69b1d;
    border-radius: 9px;
    color: #171103;
    background: linear-gradient(125deg, #dfa221, #ffda75 48%, #c78a12);
    box-shadow: 0 12px 30px rgba(211, 145, 17, .14), inset 0 1px rgba(255, 255, 255, .4);
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease;
}

.referral-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 35px rgba(211, 145, 17, .23), inset 0 1px rgba(255, 255, 255, .4);
}

.referral-help {
    max-width: 340px;
    margin: 14px auto 0;
    color: #70809a;
    font-size: 17px;
    line-height: 1.55;
    text-align: center;
}

.web3-switch {
    margin: 14px auto 0;
    padding: 0;
    display: block;
    border: 0;
    color: #798ba7;
    background: transparent;
    font-size: 12px;
    cursor: pointer;
}

.web3-switch:hover {
    color: var(--gold);
}

.referral-message {
    min-height: 16px;
    margin-top: 9px;
    color: var(--danger);
    font-size: 12px;
    line-height: 1.45;
    text-align: center;
}

.referral-message.success {
    color: var(--success);
}

.guest-preview-link {
    min-height: 42px;
    margin-top: 13px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #aeb3ad;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 9px;
    background: rgba(3,5,4,.46);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .35px;
    transition: color .2s ease, border-color .2s ease, background .2s ease;
}

.guest-preview-link:hover {
    color: var(--gold);
    border-color: rgba(245,187,50,.32);
    background: rgba(245,187,50,.04);
}

.guest-preview-link b {
    color: var(--gold);
    font-size: 15px;
    font-weight: 500;
}

.auth-heading {
    margin: 29px 0 23px;
}

.auth-heading>p {
    margin: 0 0 7px;
    color: var(--gold);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.1px;
}

.auth-heading h2 {
    margin: 0 0 10px;
    font-size: 32px;
    line-height: 1.1;
}

.auth-heading>span {
    display: block;
    max-width: 100%;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.6;
}

.login-steps {
    position: relative;
    margin: 0 0 22px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    list-style: none;
}

.login-steps::before {
    content: "";
    position: absolute;
    top: 14px;
    right: 25%;
    left: 25%;
    height: 1px;
    background: rgba(255, 255, 255, .11);
}

.login-steps li {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    color: #777b77;
    font-size: 14px;
}

.login-steps b {
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    background: #0b0d0c;
    font-size: 10px;
}

.login-steps li.active {
    color: var(--gold);
}

.login-steps li.active b {
    color: #151003;
    border-color: var(--gold);
    background: linear-gradient(135deg, #e7a927, #ffd76e);
    box-shadow: 0 0 18px rgba(245, 187, 50, .18);
}

.wallet-provider {
    min-height: 68px;
    padding: 11px 12px;
    display: grid;
    grid-template-columns: 42px 1fr auto;
    align-items: center;
    gap: 11px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 11px;
    background: rgba(4, 6, 5, .62);
}

.provider-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: var(--gold);
    border: 1px solid rgba(245, 187, 50, .32);
    border-radius: 10px;
    background: rgba(245, 187, 50, .05);
}

.provider-icon svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.35;
}

.wallet-provider>span {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.wallet-provider strong {
    font-size: 15px;
}

.wallet-provider small {
    color: #8f938e;
    font-size: 8px;
    white-space: normal;
}

.wallet-provider>i {
    color: #787c78;
    font-size: 8px;
    font-style: normal;
    white-space: nowrap;
}

.primary-action {
    width: 100%;
    min-height: 49px;
    margin-top: 13px;
    padding: 0 17px;
    display: grid;
    grid-template-columns: 22px 1fr 22px;
    align-items: center;
    border: 1px solid #d69b1d;
    border-radius: 9px;
    color: #171103;
    background: linear-gradient(125deg, #dfa221, #ffda75 48%, #c78a12);
    box-shadow: 0 12px 30px rgba(211, 145, 17, .15), inset 0 1px rgba(255, 255, 255, .42);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .35px;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.primary-action:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 15px 35px rgba(211, 145, 17, .25), inset 0 1px rgba(255, 255, 255, .42);
}

.primary-action:disabled {
    opacity: .55;
    cursor: wait;
}

.primary-action svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.55;
}

.primary-action b {
    font-size: 18px;
    font-weight: 500;
}

.wallet-details {
    margin-top: 14px;
    padding: 13px;
    border: 1px solid rgba(245, 187, 50, .2);
    border-radius: 11px;
    background: rgba(245, 187, 50, .025);
}

.wallet-details__head {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #8c908b;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .65px;
}

.wallet-details__head button {
    padding: 0;
    border: 0;
    color: #a6aaa5;
    background: none;
    font-size: 8px;
    cursor: pointer;
}

.address-row {
    min-height: 54px;
    padding: 8px 9px;
    display: grid;
    grid-template-columns: 36px 1fr 32px;
    align-items: center;
    gap: 9px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 9px;
    background: rgba(3, 5, 4, .66);
}

.address-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f4bd36, #493006 48%, #111);
    box-shadow: inset 0 0 10px rgba(255, 255, 255, .16);
}

.address-row>div {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.address-row strong {
    font-family: Consolas, monospace;
    font-size: 11px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.address-row small {
    color: #8d918c;
    font-size: 8px;
}

.copy-button {
    width: 32px;
    height: 32px;
    padding: 7px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 7px;
    color: #aeb1ad;
    background: #0b0d0c;
    cursor: pointer;
}

.copy-button svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
}

.sign-action {
    margin-top: 10px;
}

.success-state {
    margin-top: 14px;
    padding: 13px;
    display: flex;
    align-items: center;
    gap: 11px;
    border: 1px solid rgba(88, 209, 107, .27);
    border-radius: 10px;
    background: rgba(88, 209, 107, .055);
}

.success-icon {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    padding: 8px;
    color: var(--success);
    border: 1px solid rgba(88, 209, 107, .35);
    border-radius: 50%;
}

.success-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
}

.success-state>div:nth-child(2) {
    display: grid;
    gap: 3px;
}

.success-state strong {
    color: #dff7e2;
    font-size: 10px;
}

.success-state span {
    color: #8fb496;
    font-size: 8px;
    line-height: 1.4;
}

.success-state:has(.enter-dapp) {
    flex-wrap: wrap;
}

.enter-dapp {
    flex: 0 0 100%;
    min-height: 41px;
    margin-top: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    color: #171103;
    border-radius: 8px;
    background: linear-gradient(125deg, #dfa221, #ffda75 48%, #c78a12);
    font-size: 8px;
    font-weight: 900;
}

.auth-message {
    min-height: 16px;
    margin-top: 9px;
    color: var(--danger);
    font-size: 15px;
    line-height: 1.45;
    text-align: center;
}

.auth-message.success {
    color: var(--success);
}

.terms {
    margin: 9px 0 0;
    color: #777b76;
    font-size: 12px;
    line-height: 1.55;
    text-align: center;
}

.terms a {
    color: #b8bbb6;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.auth-footer {
    position: relative;
    z-index: 2;
    width: min(1220px, calc(100% - 48px));
    min-height: 46px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #777a76;
    font-size: 9px;
}

.noscript {
    position: fixed;
    z-index: 100;
    right: 15px;
    bottom: 15px;
    padding: 12px 15px;
    color: white;
    border-radius: 8px;
    background: #9f2626;
    font-size: 12px;
}

[hidden] {
    display: none !important;
}

@media (max-width: 1100px) {
    .login-shell {
        display: flex;
        flex-direction: column;
        grid-template-columns: 1fr;
        grid-template-areas: none;
        min-height: 0;
    }

    .auth-card {
        padding: 32px clamp(20px, 6vw, 48px) 28px;
        border-top: 0;
        border-left: 0;
        border-bottom: 0;
    }

    .auth-card__top {
        display: none;
    }

    .brand-panel {
        display: none;
    }
}

@media (max-width: 620px) {
    body {
        background-attachment: scroll;
    }

    .auth-header {
        width: calc(100% - 24px);
        height: 70px;
    }

    .auth-brand {
        gap: 7px;
        font-size: 10px;
    }

    .auth-brand__coin {
        width: 38px;
        height: 38px;
    }

    .network-indicator {
        display: none;
    }

    .back-link {
        width: 37px;
        padding: 0;
        justify-content: center;
    }

    .back-link span {
        display: none;
    }

    .back-link {
        font-size: 0;
    }

    .auth-main {
        width: calc(100% - 20px);
        margin-top: 3px;
    }

    .login-shell {
        min-height: 0;
        border-radius: 17px;
    }

    .brand-panel {
        min-height: 390px;
        background-position: 35% 45%;
    }

    .brand-panel__content {
        right: 19px;
        bottom: 20px;
        left: 19px;
    }

    .brand-panel h1 {
        font-size: clamp(34px, 11vw, 45px);
    }

    .brand-panel__content>p:not(.eyebrow) {
        margin-block: 13px 16px;
        font-size: 10px;
    }

    .module-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .security-note {
        display: none;
    }

    .auth-card {
        padding: 28px 18px 25px;
    }

    .auth-tabs {
        margin-top: 22px;
    }

    .auth-tab {
        min-height: 39px;
        font-size: 12px;
    }

    .auth-panel {
        margin-top: 18px;
    }

    .invite-copy {
        font-size: 13px;
    }

    .auth-heading {
        margin: 24px 0 20px;
    }

    .auth-heading h2 {
        font-size: 28px;
    }

    .wallet-provider {
        grid-template-columns: 40px 1fr;
    }

    .wallet-provider>i {
        display: none;
    }

    .auth-footer {
        width: calc(100% - 28px);
        padding: 12px 0 20px;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        text-align: center;
    }
}

@media (max-width: 370px) {
    .brand-panel {
        min-height: 415px;
    }

    .module {
        min-height: 57px;
    }

    .auth-header {
        height: auto;
        min-height: 64px;
        padding: 8px 0;
        flex-wrap: wrap;
        gap: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }

    #authCanvas {
        display: none;
    }
}

/* =========================================================
   Auth page UI polish — readable type, contrast, spacing
   ========================================================= */
.auth-page {
    color: #f2f2ec;
    font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.55;
    overflow-x: hidden;
    overflow-y: auto;
}

.auth-page .auth-header {
    width: min(1180px, calc(100% - 40px));
    height: 80px;
}

.auth-page .auth-brand {
    color: var(--gold);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.15;
}

.auth-page .back-link {
    height: 40px;
    padding: 0 14px;
    color: #e6e6e0;
    border-color: rgba(246, 189, 53, .28);
    font-size: 13px;
    font-weight: 600;
}

.auth-page .back-link:hover {
    color: var(--gold);
    border-color: rgba(246, 189, 53, .55);
}

.auth-page .auth-main {
    width: min(1180px, calc(100% - 40px));
    margin: 8px auto 40px;
}

.auth-page .login-shell {
    min-height: 720px;
    align-items: stretch;
}

.auth-page .brand-panel {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.auth-page .brand-panel__content {
    position: relative;
    right: auto;
    bottom: auto;
    left: auto;
    z-index: 3;
    padding: 40px 44px 44px;
}

.auth-page .eyebrow {
    margin: 0 0 16px;
    color: var(--gold);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
}

.auth-page .brand-panel h1 {
    max-width: 16ch;
    color: #fff;
    font-size: clamp(34px, 3.6vw, 46px);
    line-height: 1.12;
    letter-spacing: -.02em;
    text-shadow: 0 8px 28px rgba(0, 0, 0, .45);
}

.auth-page .brand-panel h1 em {
    color: var(--gold);
}

.auth-page .brand-lead,
.auth-page .brand-panel__content > p.brand-lead {
    max-width: 34em;
    margin: 16px 0 22px;
    color: #e4e4de;
    font-size: 15px;
    line-height: 1.65;
}

.auth-page .module-grid {
    gap: 10px;
}

.auth-page .module {
    min-height: 72px;
    padding: 12px 8px;
    gap: 8px;
    color: #f0f0ea;
    border-color: rgba(246, 189, 53, .22);
    background: rgba(8, 10, 9, .78);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
}

.auth-page .security-note {
    margin-top: 16px;
    padding: 12px 14px;
    align-items: flex-start;
    gap: 12px;
}

.auth-page .security-note p {
    display: grid;
    gap: 3px;
    margin: 0;
    color: #d8d8d2;
    font-size: 13px;
    line-height: 1.5;
}

.auth-page .security-note strong {
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}

.auth-page .security-note span {
    color: #d0d0ca;
    font-size: 13px;
    font-style: normal;
}

.auth-page .auth-card {
    padding: 36px 38px 32px;
    display: flex;
    flex-direction: column;
}

.auth-page .auth-card__top {
    margin-bottom: 4px;
}

.auth-page .secure-pill {
    padding: 7px 12px;
    color: var(--gold);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}

.auth-page .auth-tabs {
    margin-top: 22px;
}

.auth-page .auth-tab {
    min-height: 44px;
    color: #c9c9c3;
    font-size: 14px;
    font-weight: 700;
}

.auth-page .auth-tab:hover {
    color: #fff;
}

.auth-page .auth-tab.active {
    color: #171002;
    border-color: transparent;
    background: linear-gradient(125deg, #dfa221, #ffda75 48%, #c78a12);
    box-shadow: 0 8px 18px rgba(211, 145, 17, .18);
}

.auth-page .auth-panel {
    margin-top: 22px;
}

.auth-page .invite-copy {
    margin: 0 0 16px;
    color: #e2e2dc;
    font-size: 14px;
    line-height: 1.6;
}

.auth-page .invite-copy strong {
    color: #fff;
}

.auth-page .referral-form {
    gap: 8px;
}

.auth-page .referral-form label {
    margin-top: 4px;
    color: #f0f0ea;
    font-size: 13px;
    font-weight: 600;
}

.auth-page .referral-form input {
    height: 48px;
    color: #f7f7f2;
    font: 15px/1.3 "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    letter-spacing: 0;
    text-transform: none;
}

.auth-page .referral-form input.is-code {
    font-family: ui-monospace, Consolas, "Courier New", monospace;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.auth-page .referral-form input::placeholder {
    color: #9a9a92;
    text-transform: none;
    letter-spacing: 0;
}

.auth-page .referral-submit {
    min-height: 48px;
    margin-top: 10px;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .02em;
}

.auth-page .referral-help {
    max-width: none;
    margin: 16px 0 0;
    color: #d2d2cc;
    font-size: 13px;
    line-height: 1.55;
    text-align: left;
}

.auth-page .referral-help strong {
    color: var(--gold);
}

.auth-page .text-link {
    margin: 12px 0 0;
    padding: 0;
    display: inline-block;
    border: 0;
    color: var(--gold);
    background: transparent;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.auth-page .text-link:hover {
    color: var(--gold-light);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.auth-page .referral-message {
    margin-top: 12px;
    font-size: 13px;
    text-align: left;
}

.auth-page .auth-heading {
    position: relative;
    margin: 0 0 22px;
    padding-left: 22px;
}

.auth-page .auth-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 12px;
    height: 20px;
    border-left: 2px solid var(--gold);
    transform: skewX(-35deg);
    box-shadow: 0 0 12px rgba(246, 189, 53, .45);
}

.auth-page .auth-heading > p {
    margin: 0 0 6px;
    color: var(--gold);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.auth-page .auth-heading h2 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 26px;
    line-height: 1.2;
    letter-spacing: -.01em;
}

.auth-page .auth-heading > span {
    color: #d6d6d0;
    font-size: 14px;
    line-height: 1.6;
}

.auth-page .auth-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 22px 0 18px;
    color: #cfcfc8;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.auth-page .auth-divider::before,
.auth-page .auth-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: rgba(255, 255, 255, .12);
}

.auth-page .login-steps {
    margin: 0 0 16px;
}

.auth-page .login-steps li {
    color: #c2c2bc;
    font-size: 13px;
    font-weight: 600;
}

.auth-page .login-steps li.active {
    color: var(--gold);
}

.auth-page .login-steps b {
    font-size: 12px;
}

.auth-page .wallet-provider {
    min-height: 72px;
    padding: 12px 14px;
    gap: 12px;
}

.auth-page .wallet-provider strong {
    color: #fff;
    font-size: 14px;
    font-weight: 800;
}

.auth-page .wallet-provider small {
    color: #cfcfc8;
    font-size: 12px;
    line-height: 1.4;
}

.auth-page .wallet-provider > i {
    color: #d6c48a;
    font-size: 12px;
    font-weight: 700;
    font-style: normal;
}

.auth-page .wallet-actions {
    margin-top: 14px;
    display: grid;
    gap: 10px;
}

.auth-page .primary-action {
    min-height: 50px;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: none;
}

.auth-page .wallet-alts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.auth-page.wallet-only .wallet-alts {
    display: grid;
}

.auth-page .wallet-mobile-hint {
    margin: 4px 0 0;
    color: #c9c4b4;
    font-size: 12px;
    line-height: 1.45;
}

.auth-page .wallet-alt {
    min-height: 42px;
    padding: 0 8px;
    border: 1px solid rgba(246, 189, 53, .38);
    border-radius: 9px;
    color: #f0e4b8;
    background: rgba(246, 189, 53, .08);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.auth-page .wallet-alt:hover {
    color: #171002;
    border-color: #f7cd62;
    background: linear-gradient(125deg, #dfa221, #ffda75);
}

.auth-page .wallet-details__head {
    color: var(--gold);
    font-size: 11px;
    letter-spacing: .12em;
}

.auth-page .wallet-details__head button {
    color: #e8e8e2;
    font-size: 12px;
    font-weight: 700;
}

.auth-page .wallet-details__head button:hover {
    color: var(--gold);
}

.auth-page .address-row strong {
    color: #fff;
    font-size: 14px;
}

.auth-page .address-row small {
    color: #d0d0ca;
    font-size: 12px;
}

.auth-page .success-state strong {
    color: #e8ffe9;
    font-size: 14px;
}

.auth-page .success-state span {
    color: #c5e8cb;
    font-size: 13px;
}

.auth-page .enter-dapp {
    min-height: 46px;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .03em;
}

.auth-page .auth-message {
    margin-top: 12px;
    font-size: 13px;
    text-align: left;
}

.auth-page .terms {
    margin: 18px 0 0;
    color: #cfcfc8;
    font-size: 13px;
    line-height: 1.6;
    text-align: left;
}

.auth-page .terms a {
    color: var(--gold);
    font-weight: 700;
}

.auth-page.auth-simple .auth-main {
    display: flex;
    justify-content: center;
    padding: 48px 0;
}

.auth-page.auth-simple .auth-card {
    width: min(440px, 100%);
    margin: 0 auto;
    border: 1px solid rgba(245, 187, 50, .28);
    border-radius: 20px;
    background:
        radial-gradient(circle at 50% 0, rgba(245, 187, 50, .085), transparent 32%),
        linear-gradient(145deg, rgba(14, 16, 14, .98), rgba(7, 9, 8, .98));
}

.auth-page.auth-simple .auth-card h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 26px;
}

.auth-page.auth-simple .auth-card > p {
    margin: 0 0 18px;
    color: #e2e2dc;
    font-size: 15px;
    line-height: 1.6;
}

@media (max-width: 960px) {
    .auth-page .login-shell {
        min-height: 0;
    }

    .auth-page .brand-panel {
        min-height: 420px;
    }

    .auth-page .brand-panel__content {
        padding: 28px 28px 32px;
    }

    .auth-page .auth-card {
        padding: 32px 28px 28px;
    }
}

@media (max-width: 720px) {
    .auth-page .auth-header,
    .auth-page .auth-main {
        width: calc(100% - 20px);
    }

    .auth-page .back-link {
        width: auto;
        padding: 0 12px;
        font-size: 12px;
    }

    .auth-page .back-link span {
        display: inline;
    }

    .auth-page .brand-panel__content {
        padding: 22px 18px 24px;
    }

    .auth-page .brand-lead,
    .auth-page .brand-panel__content > p.brand-lead {
        font-size: 14px;
    }

    .auth-page .security-note {
        display: flex;
    }

    .auth-page .auth-card {
        padding: 24px 16px 22px;
    }

    .auth-page .auth-heading h2 {
        font-size: 22px;
    }

    .auth-page .wallet-alts {
        grid-template-columns: 1fr;
    }

    .auth-page .wallet-provider {
        grid-template-columns: 42px 1fr;
    }

    .auth-page .wallet-provider > i {
        display: block;
        grid-column: 2;
    }
}

.auth-page.wallet-only .auth-tabs,
.auth-page.wallet-only .invite-copy {
    display: none;
}

.auth-page.wallet-only .referral-optional {
    display: block;
    margin: 4px 0 8px;
    color: #f0f0ea;
    font-size: 13px;
    font-weight: 600;
}

.auth-page.wallet-only .referral-optional small {
    color: #9a9a92;
    font-weight: 500;
}

.auth-page.wallet-only .referral-optional-input {
    width: 100%;
    height: 48px;
    margin: 0 0 8px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 9px;
    outline: 0;
    color: #f7f7f2;
    background: rgba(3, 5, 4, .62);
    font: 15px/1.3 ui-monospace, Consolas, "Courier New", monospace;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.auth-page.wallet-only .referral-optional-input::placeholder {
    color: #9a9a92;
    font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    letter-spacing: 0;
    text-transform: none;
}

.auth-page.wallet-only .referral-optional-input:focus {
    border-color: rgba(245, 187, 50, .62);
    box-shadow: 0 0 0 3px rgba(245, 187, 50, .08);
}

.auth-page.wallet-only .referral-optional-input.invalid {
    border-color: rgba(255, 101, 101, .7);
}

.auth-page.wallet-only .referral-help {
    margin: 0 0 14px;
    color: #b8b8b2;
    font-size: 12px;
    line-height: 1.5;
}

@media (max-width: 1100px) {
    .auth-page .login-shell {
        display: flex;
        flex-direction: column;
        grid-template-areas: none;
        min-height: 0;
    }

    .auth-page .auth-card {
        order: 0;
        border-top: 0;
        border-left: 0;
        border-bottom: 0;
        padding: 28px 20px 24px;
    }

    .auth-page .auth-card__top {
        display: none;
    }

    .auth-page .auth-heading {
        margin-top: 0;
        margin-bottom: 14px;
    }

    .auth-page .brand-panel {
        display: none;
    }
}
