:root{--bg-app: #f8fafc;--bg-card: #ffffff;--bg-card-hover: #f1f5f9;--bg-card-subtle: #f1f5f9;--bg-sticky: rgba(248,250,252,.8);--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--border-card: #e2e8f0;--border-subtle: #f1f5f9;--shadow-card: 0 1px 3px rgba(0,0,0,.08);--glass-bg: rgba(255,255,255,.85);--glass-border: rgba(0,0,0,.05)}.dark{--bg-app: #0c0f1a;--bg-card: rgba(255,255,255,.05);--bg-card-hover: rgba(255,255,255,.1);--bg-card-subtle: rgba(255,255,255,.03);--bg-sticky: rgba(12,15,26,.8);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border-card: rgba(255,255,255,.1);--border-subtle: rgba(255,255,255,.05);--shadow-card: none;--glass-bg: rgba(255,255,255,.05);--glass-border: rgba(255,255,255,.1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:450;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}.safe-area-inset-bottom{padding-bottom:env(safe-area-inset-bottom)}.font-pro{font-family:Playfair Display,serif;font-style:italic}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .7s ease-out,transform .7s ease-out}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.stagger-children .animate-on-scroll:nth-child(1){transition-delay:0ms}.stagger-children .animate-on-scroll:nth-child(2){transition-delay:.15s}.stagger-children .animate-on-scroll:nth-child(3){transition-delay:.3s}.stagger-children .animate-on-scroll:nth-child(4){transition-delay:.45s}.stagger-children .animate-on-scroll:nth-child(5){transition-delay:.6s}.stagger-children .animate-on-scroll:nth-child(6){transition-delay:.15s}.stagger-children .animate-on-scroll:nth-child(7){transition-delay:.3s}.stagger-children .animate-on-scroll:nth-child(8){transition-delay:.45s}.stagger-children .animate-on-scroll:nth-child(9){transition-delay:.6s}.stagger-children .animate-on-scroll:nth-child(10){transition-delay:.75s}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.animate-hero{animation:heroFadeUp .8s ease-out forwards}.animate-hero-delay-1{opacity:0;animation:heroFadeUp .8s ease-out .2s forwards}.animate-hero-delay-2{opacity:0;animation:heroFadeUp .8s ease-out .4s forwards}.text-gradient{background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-snap{overflow-y:auto;background:var(--bg-app)}@media(min-width:1024px){.landing-snap{scroll-snap-type:y proximity;height:100vh}.snap-section{scroll-snap-align:start}}.landing-grid-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-size:32px 32px;mask-image:radial-gradient(ellipse 80% 60% at 50% 50%,black 30%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 50%,black 30%,transparent 100%);animation:gridDrift 30s linear infinite}.dark .landing-grid-bg{background-image:radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px)}:root:not(.dark) .landing-grid-bg{background-image:radial-gradient(circle,rgba(0,0,0,.04) 1px,transparent 1px)}@keyframes gridDrift{0%{background-position:0 0}to{background-position:32px 32px}}.floating-symbols{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.floating-symbol{position:absolute;font-size:1rem;opacity:0;animation:floatUp linear infinite}.dark .floating-symbol{color:#ffffff0a}:root:not(.dark) .floating-symbol{color:#0000000d}@keyframes floatUp{0%{opacity:0;transform:translateY(100vh) rotate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-20vh) rotate(15deg)}}.carousel-track{overflow:hidden;width:100%;mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent)}.carousel-slide{display:flex;gap:.75rem;width:max-content}.carousel-card{width:140px}@media(min-width:640px){.carousel-card{width:170px}.carousel-slide{gap:1rem}}.carousel-left{animation:scrollLeft 40s linear infinite}.carousel-right{animation:scrollRight 35s linear infinite}.carousel-track:hover .carousel-slide{animation-play-state:paused}@keyframes scrollLeft{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes scrollRight{0%{transform:translate(-50%)}to{transform:translate(0)}}.landing-cta{color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-card)}.landing-cta:hover{background:var(--bg-card-hover);border-color:var(--border-card);transform:translateY(-2px)}.landing-scroll-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:scrollPulse 2.5s ease-in-out infinite}@keyframes scrollPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.8;transform:scale(1.5)}}.landing-card{background:var(--bg-card);border:1px solid var(--border-subtle);transition:all .4s ease}.landing-card:hover{background:var(--bg-card-hover);border-color:var(--border-card);transform:translateY(-4px)}.landing-counter{color:var(--text-primary)}.landing-materia{background:var(--bg-card);border:1px solid var(--border-subtle);transition:all .3s ease}.landing-materia:hover{background:var(--bg-card-hover);border-color:var(--border-card);transform:translateY(-2px)}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.5}}.timer-pulse{animation:timerPulse .8s ease-in-out infinite}
