html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; overflow-x: clip; }

.hero-gradient {
  background:
    radial-gradient(55% 90% at 100% 0%, rgba(72,215,255,.30) 0%, rgba(72,215,255,0) 60%),
    radial-gradient(45% 70% at 0% 100%, rgba(255,212,0,.32) 0%, rgba(255,212,0,0) 62%),
    radial-gradient(60% 60% at 70% 110%, rgba(33,73,184,.18) 0%, rgba(33,73,184,0) 60%),
    linear-gradient(180deg, #EAF0FF 0%, #F4F7FF 100%);
}
.hero-gradient .dot-grid-light { background-image: radial-gradient(rgba(33,73,184,.10) 1px, transparent 1px); }
.hero-night {
  background:
    radial-gradient(60% 70% at 15% 0%, rgba(33,73,184,.75) 0%, rgba(33,73,184,0) 60%),
    radial-gradient(45% 55% at 95% 20%, rgba(72,215,255,.22) 0%, rgba(72,215,255,0) 60%),
    radial-gradient(35% 45% at 85% 100%, rgba(255,212,0,.16) 0%, rgba(255,212,0,0) 60%),
    #07090F;
}
.text-glow { text-shadow: 0 0 40px rgba(255,212,0,.35); }
.noise::after { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .05; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); }
.dot-grid {
  background-image: radial-gradient(rgba(16,19,27,.08) 1px, transparent 1px);
  background-size: 18px 18px;
}
.dot-grid-light {
  background-image: radial-gradient(rgba(255,255,255,.18) 1px, transparent 1px);
  background-size: 18px 18px;
}
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { scrollbar-width: none; }

.marquee-mask {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details[open] .faq-plus { transform: rotate(45deg); }

input[type=range].range-brand { -webkit-appearance: none; appearance: none; height: 8px; border-radius: 999px; background: #DCE6FF; }
input[type=range].range-brand::-webkit-slider-thumb { -webkit-appearance: none; width: 26px; height: 26px; border-radius: 999px; background: #fff; border: 6px solid #2149B8; box-shadow: 0 4px 12px rgba(33,73,184,.35); cursor: pointer; }
input[type=range].range-brand::-moz-range-thumb { width: 16px; height: 16px; border-radius: 999px; background: #fff; border: 6px solid #2149B8; cursor: pointer; }

.chip-active { background: #10131B !important; color: #fff !important; border-color: #10131B !important; }

.toast-enter { animation: toastIn .25s ease-out; }
@keyframes toastIn { from { opacity: 0; transform: translate(-50%, 12px); } to { opacity: 1; transform: translate(-50%, 0); } }
