:root { --primary:#6366f1; --accent:#22d3ee; }

* { -webkit-font-smoothing: antialiased; }
html { scroll-behavior: smooth; }

.font-display { font-family: 'Sora', sans-serif; }

/* Scrollbar */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(120,130,160,.35); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: rgba(120,130,160,.55); }

/* Glow / glass */
.glass { backdrop-filter: blur(14px); }
.octa-glow { box-shadow: 0 0 0 1px rgba(255,255,255,.04), 0 20px 60px -20px var(--primary); }
.text-gradient { background: linear-gradient(120deg, var(--primary), var(--accent)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.bg-grid { background-image: radial-gradient(circle at 1px 1px, rgba(120,130,160,.12) 1px, transparent 0); background-size: 26px 26px; }

/* Animations */
@keyframes fadeUp { from { opacity:0; transform: translateY(16px);} to {opacity:1; transform:none;} }
@keyframes pulseSoft { 0%,100%{opacity:.55} 50%{opacity:1} }
@keyframes blob { 0%,100%{transform:translate(0,0) scale(1)} 33%{transform:translate(30px,-20px) scale(1.1)} 66%{transform:translate(-20px,20px) scale(.95)} }
.animate-fadeup { animation: fadeUp .6s cubic-bezier(.2,.7,.2,1) both; }
.animate-blob { animation: blob 18s ease-in-out infinite; }
.live-dot { animation: pulseSoft 1.6s ease-in-out infinite; }
.stagger > * { animation: fadeUp .55s cubic-bezier(.2,.7,.2,1) both; }
.stagger > *:nth-child(1){animation-delay:.02s}
.stagger > *:nth-child(2){animation-delay:.06s}
.stagger > *:nth-child(3){animation-delay:.10s}
.stagger > *:nth-child(4){animation-delay:.14s}
.stagger > *:nth-child(5){animation-delay:.18s}
.stagger > *:nth-child(6){animation-delay:.22s}
.stagger > *:nth-child(7){animation-delay:.26s}
.stagger > *:nth-child(8){animation-delay:.30s}

.card-hover { transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s; }
.card-hover:hover { transform: translateY(-6px); }

/* Skeleton */
.skeleton { background: linear-gradient(90deg, rgba(120,130,160,.10) 25%, rgba(120,130,160,.20) 37%, rgba(120,130,160,.10) 63%); background-size: 400% 100%; animation: sk 1.4s ease infinite; border-radius:10px; }
@keyframes sk { 0%{background-position:100% 50%} 100%{background-position:0 50%} }

.tab-active { color: var(--primary); }
.tab-active::after { content:''; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:linear-gradient(90deg,var(--primary),var(--accent)); border-radius:2px; }

input:focus, button:focus { outline: none; }
.no-scrollbar::-webkit-scrollbar{display:none}
.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}
