/* B2 Club — shared app theme (account, wallet, auth pages) */
:root {
    --d3-accent: #f0c24b;
    --d3-accent-2: #c9952c;
    --d3-accent-soft: rgba(240, 194, 75, .12);
    --d3-violet: #10b981;
    --d3-violet-soft: rgba(16, 185, 129, .16);
    --d3-ink: #070e0b;
    --d3-surface: #0c1612;
    --d3-card: #101e18;
    --d3-line: rgba(255, 255, 255, .08);
    --d3-text: #f5f2ec;
    --d3-muted: #a098ad;
}

html { background-color: var(--d3-ink); }

body {
    font-family: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
    background-color: var(--d3-ink) !important;
    background-image:
        radial-gradient(60% 40% at 85% -10%, rgba(16, 185, 129, .22), transparent 70%),
        radial-gradient(45% 35% at 0% 0%, rgba(240, 194, 75, .08), transparent 70%),
        radial-gradient(rgba(255, 255, 255, .05) 1px, transparent 1.4px) !important;
    background-size: 100% 100%, 100% 100%, 22px 22px !important;
    background-attachment: fixed !important;
    color: var(--d3-text);
    -webkit-font-smoothing: antialiased;
}

::selection { background: rgba(240, 194, 75, .4); color: #070e0b; }

h1, h2, .d3-display {
    font-family: 'Unbounded', 'Manrope', system-ui, sans-serif !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
    line-height: 1.05;
}

input, select, textarea, button { font-family: inherit; }
input:focus, select:focus, textarea:focus { caret-color: var(--d3-accent); }

* { scrollbar-width: thin; scrollbar-color: var(--d3-violet) transparent; }
*::-webkit-scrollbar { width: 6px; height: 6px; }
*::-webkit-scrollbar-thumb { background: var(--d3-violet); border-radius: 999px; }
*::-webkit-scrollbar-track { background: transparent; }

/* Brand lockup */
.d3-logo {
    display: inline-flex;
    align-items: center;
    gap: .3em;
    font-size: 26px;
    line-height: 1;
    color: var(--d3-text);
    text-decoration: none;
}
.d3-logo__mark { width: 1.84em; height: 1em; display: block; flex: none; }
.d3-logo__word {
    font-family: 'Unbounded', 'Manrope', system-ui, sans-serif;
    font-weight: 800;
    font-size: .5em;
    letter-spacing: .22em;
    display: inline-block;
    padding-top: .28em;
}
.d3-logo--sm { font-size: 20px; }
.d3-logo--md { font-size: 26px; }
.d3-logo--lg { font-size: 54px; }

/* Shared primary button look */
.btn-gradient,
.d3-btn {
    background: linear-gradient(180deg, #e6ff8a 0%, var(--d3-accent) 50%, var(--d3-accent-2) 100%) !important;
    color: var(--d3-ink) !important;
    box-shadow: 0 8px 24px rgba(240, 194, 75, .22) !important;
    border: 0 !important;
}

button:hover, .btn:hover, .btn-gradient:hover, a.btn:hover {
    box-shadow: 0 10px 22px rgba(0, 0, 0, .55), 0 0 18px rgba(16, 185, 129, .3) !important;
}

/* Bootstrap layout pages (Layout/usergame, usergame2) */
body.dark-bg-main:not(:has(.app-header)) { padding-top: 0 !important; }
body.dark-bg-main .sub-header {
    background: var(--d3-card) !important;
    border: 1px solid var(--d3-line);
    border-radius: 18px 18px 0 0;
}
body.dark-bg-main .accordian-body {
    background: var(--d3-surface) !important;
    border: 1px solid var(--d3-line);
    color: var(--d3-text);
}
body.dark-bg-main .legal-section {
    background: var(--d3-surface) !important;
    border-top: 1px solid var(--d3-line);
}
body.dark-bg-main .legal-section a { color: var(--d3-muted) !important; }
body.dark-bg-main .legal-section a:hover { color: var(--d3-accent) !important; }
body.dark-bg-main .support-float {
    bottom: calc(100px + env(safe-area-inset-bottom)) !important;
    background: linear-gradient(135deg, #e6ff8a, var(--d3-accent-2)) !important;
    color: var(--d3-ink) !important;
    box-shadow: 0 8px 24px rgba(240, 194, 75, .3) !important;
}

.app-header .w-btn {
    background: var(--d3-accent) !important;
    color: var(--d3-ink) !important;
    box-shadow: 0 4px 14px rgba(240, 194, 75, .3) !important;
}

/* Tailwind Play CDN pages: neutral surfaces get a violet-black tint */
.bg-black { background-color: var(--d3-ink) !important; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
