/* FuelStock themes: day (default, white + blue) / night (secondary) */

:root {
    --c-night: 245 249 255;
    --c-panel: 232 240 250;
    --c-card: 255 255 255;
    --c-neon: 37 99 235;
    --c-amber: 29 78 216;
    --c-tg: 37 99 235;
    --c-ink: 15 23 42;
    --c-muted: 71 85 105;
    --c-grid: 37 99 235;
    --c-border: 37 99 235;
    --shadow-neon: 0 10 30px -8px rgba(37, 99, 235, 0.35);
    --shadow-amber: 0 10 30px -8px rgba(29, 78, 216, 0.28);
    --shadow-tg: 0 10 30px -8px rgba(37, 99, 235, 0.3);
    color-scheme: light;
}

html[data-theme="night"] {
    --c-night: 7 10 13;
    --c-panel: 13 19 25;
    --c-card: 17 26 34;
    --c-neon: 57 255 20;
    --c-amber: 255 184 0;
    --c-tg: 34 158 217;
    --c-ink: 226 232 240;
    --c-muted: 148 163 184;
    --c-grid: 57 255 20;
    --c-border: 255 255 255;
    --shadow-neon: 0 0 25px -5px rgba(57, 255, 20, 0.45);
    --shadow-amber: 0 0 25px -5px rgba(255, 184, 0, 0.45);
    --shadow-tg: 0 0 25px -5px rgba(34, 158, 217, 0.55);
    color-scheme: dark;
}

html { scroll-behavior: smooth; }

body {
    background-color: rgb(var(--c-night));
    color: rgb(var(--c-ink));
    transition: background-color 0.25s ease, color 0.2s ease;
}

.grid-bg {
    background-image:
        linear-gradient(rgba(var(--c-grid), 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(var(--c-grid), 0.06) 1px, transparent 1px);
    background-size: 44px 44px;
}

.text-gradient {
    background: linear-gradient(90deg, rgb(var(--c-neon)), rgb(var(--c-amber)));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.shadow-neon { box-shadow: var(--shadow-neon) !important; }
.shadow-amberglow { box-shadow: var(--shadow-amber) !important; }
.shadow-tgglow { box-shadow: var(--shadow-tg) !important; }

/* ---- Day (default): remap hardcoded light-on-dark utilities ---- */
html:not([data-theme="night"]) .text-white { color: #0f172a !important; }
html:not([data-theme="night"]) .text-slate-200 { color: #1e293b !important; }
html:not([data-theme="night"]) .text-slate-300 { color: #334155 !important; }
html:not([data-theme="night"]) .text-slate-400 { color: #475569 !important; }
html:not([data-theme="night"]) .text-slate-500 { color: #64748b !important; }
html:not([data-theme="night"]) .text-slate-600 { color: #94a3b8 !important; }

html:not([data-theme="night"]) .bg-neon,
html:not([data-theme="night"]) a.bg-neon,
html:not([data-theme="night"]) button.bg-neon,
html:not([data-theme="night"]) .bg-tg,
html:not([data-theme="night"]) a.bg-tg,
html:not([data-theme="night"]) button.bg-tg {
    color: #ffffff !important;
}
html:not([data-theme="night"]) .bg-neon .text-night,
html:not([data-theme="night"]) .bg-neon.text-night,
html:not([data-theme="night"]) .js-buy,
html:not([data-theme="night"]) #confirm-btn:not(:disabled) {
    color: #ffffff !important;
}

html:not([data-theme="night"]) [class*="border-white/"] {
    border-color: rgba(37, 99, 235, 0.14) !important;
}
html:not([data-theme="night"]) [class*="ring-white/"] {
    --tw-ring-color: rgba(37, 99, 235, 0.18) !important;
}
html:not([data-theme="night"]) [class*="bg-white/"] {
    background-color: rgba(37, 99, 235, 0.06) !important;
}
html:not([data-theme="night"]) .bg-white {
    background-color: #ffffff !important;
}

html:not([data-theme="night"]) .bg-card {
    box-shadow: 0 8px 24px -12px rgba(15, 23, 42, 0.12);
    border-color: rgba(37, 99, 235, 0.12);
}

html:not([data-theme="night"]) header,
html:not([data-theme="night"]) #mobileMenu {
    background-color: rgba(245, 249, 255, 0.88) !important;
}

html:not([data-theme="night"]) .selection\:bg-neon\/30::selection,
html:not([data-theme="night"]) ::selection {
    background: rgba(37, 99, 235, 0.25);
}

html:not([data-theme="night"]) .bank-btn.selected {
    border-color: #2563eb !important;
    background: rgba(37, 99, 235, 0.08) !important;
}
html:not([data-theme="night"]) .upload-zone.dragover {
    border-color: #2563eb !important;
    background: rgba(37, 99, 235, 0.06) !important;
}
html:not([data-theme="night"]) .dot-active,
html:not([data-theme="night"]) .dot-done { background: #2563eb !important; }
html:not([data-theme="night"]) .dot-idle { background: rgba(37, 99, 235, 0.2) !important; }

html:not([data-theme="night"]) .hero-talon-card {
    background: linear-gradient(135deg, #1e3a8a 0%, #1d4ed8 45%, #0f172a 100%) !important;
    box-shadow: 0 12px 28px -12px rgba(37, 99, 235, 0.45);
}
html:not([data-theme="night"]) .hero-talon-card .text-white,
html:not([data-theme="night"]) .hero-talon-card .text-slate-200 {
    color: #f8fafc !important;
}
html:not([data-theme="night"]) .hero-talon-card .text-slate-400 {
    color: rgba(248, 250, 252, 0.7) !important;
}
html:not([data-theme="night"]) .hero-talon-card .text-neon {
    color: #93c5fd !important;
}
html:not([data-theme="night"]) .hero-talon-card .text-amber {
    color: #bfdbfe !important;
}

/* Theme toggle */
.theme-toggle {
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(var(--c-border), 0.15);
    background: rgba(var(--c-border), 0.06);
    color: rgb(var(--c-neon));
    transition: background 0.15s, border-color 0.15s, transform 0.1s;
}
.theme-toggle:hover {
    background: rgba(var(--c-neon), 0.12);
    border-color: rgba(var(--c-neon), 0.35);
}
.theme-toggle:active { transform: scale(0.96); }
.theme-toggle .icon-sun { display: block; }
.theme-toggle .icon-moon { display: none; }
html[data-theme="night"] .theme-toggle .icon-sun { display: none; }
html[data-theme="night"] .theme-toggle .icon-moon { display: block; }
