@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

:root { --ink: #0b0f17; --panel: #111823; --panel-2: #151e2b; --line: #263244; --muted: #94a3b8; --text: #f8fafc; --accent: #00f26d; --accent-dark: #052e1a; }
* { box-sizing: border-box; }
body { font-family: 'DM Sans', sans-serif !important; background: var(--ink) !important; color: var(--text) !important; }
h1, h2, h3, h4 { font-family: 'Space Grotesk', sans-serif !important; letter-spacing: 0 !important; }
main { position: relative; }
main::before { content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .32; background-image: linear-gradient(rgba(38,50,68,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(38,50,68,.25) 1px, transparent 1px); background-size: 36px 36px; mask-image: linear-gradient(to bottom, black, transparent 85%); }
.bg-white, .bg-slate-50, .bg-slate-100, .glass, .card, article, section.rounded-3xl, form.rounded-3xl { background: rgba(17,24,35,.92) !important; border-color: var(--line) !important; color: var(--text) !important; }
.text-slate-900, .text-slate-700, .text-slate-600 { color: var(--text) !important; }
.text-slate-500, .text-slate-400 { color: var(--muted) !important; }
.border, [class*='border-slate'] { border-color: var(--line) !important; }
input, textarea, select { color: var(--text) !important; background: var(--panel-2) !important; border-color: var(--line) !important; }
input::placeholder, textarea::placeholder { color: #64748b !important; }
button, .bg-indigo-600, .bg-violet-600, .bg-emerald-600 { background: var(--accent) !important; color: #03120a !important; box-shadow: 0 0 24px rgba(0,242,109,.12); }
button:hover, a.bg-indigo-600:hover, a.bg-violet-600:hover, .hover\\:bg-indigo-700:hover { filter: brightness(1.08); }
a { color: var(--accent); }
.bg-indigo-50, .bg-violet-50, .bg-blue-50, .bg-emerald-50, .bg-amber-50, .bg-red-50 { background: var(--accent-dark) !important; }
.text-indigo-600, .text-indigo-700, .text-violet-600, .text-emerald-600, .text-emerald-700, .text-amber-700, .text-red-700 { color: var(--accent) !important; }
.bg-slate-950 { background: #02050a !important; }
.shadow-xl, .shadow-sm, .shadow-2xl { box-shadow: 0 18px 50px rgba(0,0,0,.25) !important; }
.card, article { transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.card:hover, article:hover { transform: translateY(-3px); border-color: rgba(0,242,109,.55) !important; box-shadow: 0 18px 50px rgba(0,242,109,.08) !important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
