html { scroll-behavior: smooth; }
body { font-family: 'Inter', system-ui, sans-serif; background: #1E293B; color: #F8FAFC; }
code, pre, .font-mono { font-family: 'JetBrains Mono', monospace; }

/* Terminal cursor blink */
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }
.cursor { animation: blink 1s step-end infinite; }

/* Typing animation */
@keyframes typeIn { from { width: 0; } to { width: 100%; } }

/* Fade in on scroll */
.fade-in { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }

/* Layer tab active states */
.layer-tab { transition: all 0.2s ease; }
.layer-tab.active-l1 { border-color: #2563EB; background: rgba(37, 99, 235, 0.1); color: #60A5FA; }
.layer-tab.active-l2 { border-color: #7C3AED; background: rgba(124, 58, 237, 0.1); color: #A78BFA; }
.layer-tab.active-l3 { border-color: #059669; background: rgba(5, 150, 105, 0.1); color: #34D399; }

/* Comparison table */
.comparison-table td, .comparison-table th { padding: 12px 16px; }
.comparison-table tr { border-bottom: 1px solid #334155; }
.comparison-table tr:hover { background: rgba(45, 212, 191, 0.03); }

/* Smooth gradient bg */
.hero-gradient { background: linear-gradient(180deg, #0F172A 0%, #1E293B 60%, #1E293B 100%); }
.cta-gradient { background: linear-gradient(180deg, #1E293B 0%, #0F172A 100%); }

/* Glow effect for CTA */
.glow-cyan { box-shadow: 0 0 20px rgba(45, 212, 191, 0.15); }
.glow-cyan:hover { box-shadow: 0 0 30px rgba(45, 212, 191, 0.3); }

/* Mobile nav */
.mobile-nav { transform: translateX(100%); transition: transform 0.3s ease; }
.mobile-nav.open { transform: translateX(0); }

/* Architecture diagram pulse */
@keyframes pulse-slow { 0%, 100% { opacity: 0.5; } 50% { opacity: 1; } }
.pulse-dot { animation: pulse-slow 2s ease-in-out infinite; }

/* Terminal line fade-in */
.terminal-line { opacity: 0; transform: translateX(-8px); }
.terminal-line.show { opacity: 1; transform: translateX(0); transition: opacity 0.4s ease, transform 0.4s ease; }

/* Accordion */
.accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.accordion-content.open { max-height: 600px; }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0F172A; }
::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #475569; }
