/* D3 Games — shared app theme (account, wallet, auth pages) */
:root {
    --d3-accent: #27b7e6;
    --d3-accent-2: #1a93c4;
    --d3-accent-soft: rgba(39, 183, 230, .14);
    --d3-ink: #060a10;
    --d3-surface: #0b121c;
    --d3-card: #0f1824;
    --d3-line: rgba(255, 255, 255, .08);
    --d3-text: #eef4f8;
    --d3-muted: #8a9bb0;
}

html { background-color: var(--d3-ink); }

body {
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
    background-color: var(--d3-ink) !important;
    background-image:
        radial-gradient(70% 45% at 50% -8%, rgba(39, 183, 230, .16), transparent 70%),
        linear-gradient(rgba(255, 255, 255, .022) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .022) 1px, transparent 1px) !important;
    background-size: 100% 100%, 34px 34px, 34px 34px !important;
    background-attachment: fixed !important;
    color: var(--d3-text);
    -webkit-font-smoothing: antialiased;
}

::selection { background: rgba(39, 183, 230, .35); color: #fff; }

h1, h2, .d3-display {
    font-family: 'Anton', Impact, 'Arial Narrow Bold', sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: .015em !important;
    text-transform: uppercase;
    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-accent) transparent; }
*::-webkit-scrollbar { width: 6px; height: 6px; }
*::-webkit-scrollbar-thumb { background: var(--d3-accent); border-radius: 999px; }
*::-webkit-scrollbar-track { background: transparent; }

/* Brand lockup */
.d3-logo {
    display: inline-flex;
    align-items: center;
    gap: .32em;
    font-size: 26px;
    line-height: 1;
    color: var(--d3-text);
    text-decoration: none;
}
.d3-logo__mark { width: 1.28em; height: 1em; display: block; flex: none; }
.d3-logo__word {
    font-family: 'Anton', Impact, 'Arial Narrow Bold', sans-serif;
    font-size: .92em;
    letter-spacing: .06em;
    transform: skewX(-12deg);
    display: inline-block;
    padding-top: .04em;
}
.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, #4fcdf3 0%, var(--d3-accent) 55%, var(--d3-accent-2) 100%) !important;
    color: var(--d3-ink) !important;
    box-shadow: 0 8px 24px rgba(39, 183, 230, .28) !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(39, 183, 230, .25) !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, #4fcdf3, var(--d3-accent-2)) !important;
    color: var(--d3-ink) !important;
    box-shadow: 0 8px 24px rgba(39, 183, 230, .35) !important;
}

.app-header .w-btn {
    background: var(--d3-accent) !important;
    color: var(--d3-ink) !important;
    box-shadow: 0 4px 14px rgba(39, 183, 230, .35) !important;
}

/* Tailwind Play CDN pages: neutral surfaces get a blue-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; }
}
