* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {

    background: #000000;

    color: #ffffff;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    min-height: 100vh;

    padding: 20px;
}

.container {

    max-width: 900px;

    margin: auto;
}

/* HEADER */

header {

    text-align: center;

    margin-bottom: 25px;
}

.hero-banner {

    width: 100%;

    max-width: 1000px;

    display: block;

    margin: 0 auto 20px auto;

    border-radius: 18px;

    border: 1px solid #1e293b;

    box-shadow:
        0 0 30px
        rgba(
            56,
            189,
            248,
            0.08
        );
}

header h1 {

    font-size: 34px;

    color: #38bdf8;

    margin-bottom: 10px;

    font-weight: 700;
}

header p {

    color: #94a3b8;

    font-size: 15px;
}

/* NETWORK BADGE */

.evoz-mainnet-badge {

    width: 100%;

    max-width: 720px;

    display: block;

    margin: 0 auto 22px auto;

    border-radius: 14px;
}

/* CARDS */

.card {

    background: #0b0b0b;

    border: 1px solid #1e293b;

    border-radius: 16px;

    padding: 22px;

    margin-bottom: 18px;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.card:hover {

    transform:
        translateY(-2px);

    border-color: #38bdf8;

    box-shadow:
        0 0 24px
        rgba(
            56,
            189,
            248,
            0.08
        );
}

.card h2 {

    color: #38bdf8;

    margin-bottom: 15px;

    font-size: 20px;
}

/* INPUTS */

input {

    width: 100%;

    padding: 14px;

    margin-bottom: 12px;

    border-radius: 10px;

    border: 1px solid #334155;

    background: #050505;

    color: #ffffff;

    font-size: 15px;
}

input:focus {

    outline: none;

    border-color: #38bdf8;
}

/* BUTTONS */

button {

    width: 100%;

    padding: 14px;

    border: none;

    border-radius: 10px;

    background: #38bdf8;

    color: #000000;

    font-size: 15px;

    font-weight: 700;

    cursor: pointer;

    transition: 0.2s;
}

button:hover {

    opacity: 0.92;
}

button:active {

    transform: scale(0.98);
}

/* LINKS */

a {

    color: #38bdf8;

    text-decoration: none;
}

a:hover {

    text-decoration: underline;
}

/* STATUS */

#deployStatus {

    margin-top: 15px;

    text-align: center;

    color: #cbd5e1;

    word-break: break-word;
}

#networkStatus {

    text-align: center;

    color: #cbd5e1;
}

#tokenResult {

    word-break: break-word;
}

/* DASHBOARD */

.stats-grid {

    display: grid;

    grid-template-columns:
        repeat(
            3,
            1fr
        );

    gap: 12px;

    margin-bottom: 20px;
}

.stat-box {

    background: #0b0b0b;

    border: 1px solid #1e293b;

    border-radius: 14px;

    padding: 18px;

    text-align: center;

    transition: 0.2s;
}

.stat-box:hover {

    border-color: #38bdf8;
}

.stat-value {

    font-size: 26px;

    font-weight: bold;

    color: #38bdf8;
}

.stat-label {

    margin-top: 8px;

    color: #94a3b8;

    font-size: 13px;
}

/* TOKEN CARD */

.token-card {

    background: #050505;

    border: 1px solid #1e293b;

    border-radius: 14px;

    padding: 16px;

    margin-bottom: 14px;
}

.token-symbol {

    display: inline-block;

    background: #38bdf8;

    color: #000000;

    font-weight: bold;

    padding: 6px 12px;

    border-radius: 999px;

    margin-bottom: 10px;
}

.token-name {

    font-size: 18px;

    font-weight: bold;

    margin-bottom: 8px;
}

.token-address {

    color: #94a3b8;

    font-size: 14px;

    margin-bottom: 12px;

    word-break: break-all;
}

.token-links {
    margin: 12px 0;
}

.token-links div {
    margin: 6px 0;
}

.token-links a {
    color: #38bdf8;
    text-decoration: none;
    font-weight: bold;
}

.token-links a:hover {
    color: #ffffff;
}

.token-actions {

    margin-bottom: 10px;
}

.token-actions a {

    font-weight: bold;
}

details {

    margin-top: 10px;

    border-top: 1px solid #1e293b;

    padding-top: 10px;

    color: #cbd5e1;
}

summary {

    cursor: pointer;

    color: #38bdf8;

    font-weight: bold;
    }

/* FACTORY STATS */

#factoryStats {

    text-align: center;
}

/* INFO CARD */

.info-card {

    text-align: center;
}

.support-text {

    color: #64748b;

    font-size: 14px;
}

/* LOADING SPINNER */

.loading {

    width: 18px;

    height: 18px;

    display: inline-block;

    vertical-align: middle;

    margin-right: 8px;

    border-radius: 50%;

    border: 3px solid #1e293b;

    border-top: 3px solid #38bdf8;

    animation:
        spin 1s linear infinite;
}

@keyframes spin {

    from {

        transform:
            rotate(0deg);

    }

    to {

        transform:
            rotate(360deg);

    }

}

/* DIVIDER */

hr {

    border: none;

    border-top: 1px solid #1e293b;

    margin: 12px 0;
}

/* SCROLLBAR */

::-webkit-scrollbar {

    width: 10px;

}

::-webkit-scrollbar-track {

    background: #050505;

}

::-webkit-scrollbar-thumb {

    background: #1e293b;

    border-radius: 20px;

}

::-webkit-scrollbar-thumb:hover {

    background: #38bdf8;

}

/* FOOTER */

footer {

    text-align: center;

    margin-top: 25px;

    color: #64748b;

    font-size: 13px;

    padding-bottom: 10px;
}

/* MOBILE */

@media (max-width: 768px) {

    body {

        padding: 12px;

    }

    .container {

        width: 100%;

    }

    header h1 {

        font-size: 28px;

    }

    header p {

        font-size: 14px;

    }

    .card {

        padding: 18px;

    }

    .stats-grid {

        grid-template-columns:
            repeat(
                3,
                1fr
            );

        gap: 8px;

    }

    .stat-box {

        padding: 12px;

    }

    .stat-value {

        font-size: 18px;

    }

    .stat-label {

        font-size: 11px;

    }

    .token-name {

        font-size: 16px;

    }

    button {

        font-size: 14px;

        padding: 13px;

    }

    .hero-banner {

        border-radius: 14px;

    }

    .evoz-mainnet-badge {

        margin-bottom: 18px;

    }

}

@media (max-width: 480px) {

    header h1 {

        font-size: 24px;

    }

    .stats-grid {

        gap: 6px;

    }

    .stat-box {

        padding: 10px;

    }

    .stat-value {

        font-size: 16px;

    }

    .stat-label {

        font-size: 10px;

    }

}

/* POLISHED BLACK THEME */

body {

    background:
        radial-gradient(
            circle at top,
            #0b1220 0%,
            #000000 45%
        );

}

/* SUBTLE GLOW */

.card:hover {

    box-shadow:
        0 0 20px rgba(
            56,
            189,
            248,
            0.08
        ),
        0 0 40px rgba(
            56,
            189,
            248,
            0.03
        );
}

.hero-banner {

    box-shadow:
        0 0 30px rgba(
            56,
            189,
            248,
            0.08
        );
}

.evoz-mainnet-badge {

    filter:
        drop-shadow(
            0 0 12px rgba(
                56,
                189,
                248,
                0.15
            )
        );
}

/* =========================================
   EVOZX EXCHANGE
========================================= */

.exchange-rate {

    background:
        linear-gradient(
            135deg,
            rgba(56,189,248,0.12),
            rgba(56,189,248,0.03)
        );

    border: 1px solid #1e293b;

    border-radius: 14px;

    padding: 16px;

    text-align: center;

    font-size: 22px;

    font-weight: 700;

    color: #38bdf8;

}

#receiveAmount {

    background: #050505;

    border: 1px solid #1e293b;

    border-radius: 12px;

    padding: 14px;

    text-align: center;

    font-size: 18px;

    font-weight: 600;

    color: #ffffff;

}

#exchangeStock {

    text-align: center;

    color: #94a3b8;

    font-size: 8px;

}

#exchangeStatus {

    text-align: center;

    color: #cbd5e1;

    margin-top: 10px;

    word-break: break-word;

}

#buyBtn {

    background:
        linear-gradient(
            135deg,
            #38bdf8,
            #0ea5e9
        );

    color: #000000;

    font-weight: 700;

    box-shadow:
        0 0 20px rgba(
            56,
            189,
            248,
            0.15
        );

}

#buyBtn:hover {

    box-shadow:
        0 0 25px rgba(
            56,
            189,
            248,
            0.25
        );

}

.exchange-card {

    display: flex;

    flex-direction: column;

    gap: 12px;

}

/* =========================================
   EVOZX WALLET ADD BUTTON
========================================= */

.add-wallet-btn {

    background:
        linear-gradient(
            135deg,
            #22c55e,
            #16a34a
        );

    color: #ffffff;

    margin-top: 10px;

}

.add-wallet-btn:hover {

    opacity: 0.95;

}

/* =========================================
   EXCHANGE SUCCESS BOX
========================================= */

.exchange-success {

    background:
        rgba(
            34,
            197,
            94,
            0.08
        );

    border:
        1px solid
        rgba(
            34,
            197,
            94,
            0.25
        );

    border-radius: 12px;

    padding: 14px;

    margin-top: 12px;

}

/* =========================================
   STOCK BOX
========================================= */

.stock-box {

    text-align: center;

    color: #475569;

    font-size: 8px;

    letter-spacing: 0.5px;

    border: none;

    background: transparent;

    padding: 0;

    margin-top: 8px;

}

/* =========================================
   EXPLORER BUTTON
========================================= */

.explorer-btn {

    display: inline-block;

    width: 100%;

    text-align: center;

    padding: 12px;

    border-radius: 10px;

    background: #111827;

    border: 1px solid #1e293b;

    color: #38bdf8;

    font-weight: 700;

    text-decoration: none;

    margin-top: 10px;

}

.explorer-btn:hover {

    border-color: #38bdf8;

    text-decoration: none;

}

/* EVOZ MAINNET HEADER */

/* =========================================
   EVOZ ⇄ EVOZX HEADER
========================================= */

.exchange-title {

    text-align: center;

    font-size: 34px;

    font-weight: 800;

    color: #ffffff;

    margin-bottom: 6px;

    letter-spacing: 1px;

}

.exchange-subtitle {

    text-align: center;

    font-size: 11px;

    color: #64748b;

    letter-spacing: 3px;

    margin-bottom: 20px;

    text-transform: uppercase;

}

/* RATE */

.exchange-rate {

    font-size: 20px;

}

/* RECEIVE BOX */

.receive-box {

    background: #050505;

    border: 1px solid #1e293b;

    border-radius: 12px;

    padding: 14px;

    text-align: center;

    font-size: 18px;

    font-weight: 600;

    color: #ffffff;

}

/* STOCK */

.stock-box {

    text-align: center;

    color: #64748b;

    font-size: 5px;

    border: none;

    background: transparent;

    padding: 0;

    margin-top: 8px;

}

/* BUY BUTTON */

#buyBtn {

    font-size: 18px;

    font-weight: 800;

    letter-spacing: 1px;

}

.exchange-divider {

    width: 100%;

    height: 1px;

    background: #1e293b;

    margin: 20px 0;

}
