@tailwind base;@tailwind components;@tailwind utilities;@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500;700&family=Playfair+Display:wght@400;600;700;900&display=swap");:root{--font-playfair:"Playfair Display",Georgia,serif;--font-inter:"Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono",monospace;--bg-primary:#0a0a0a;--bg-surface:#111111;--bg-card:#1a1a1a;--bg-card-hover:#202020;--border-subtle:#1f1f1f;--border-default:#2a2a2a;--border-glow:#f5c518;--gold-primary:#f5c518;--gold-hover:#f7d147;--gold-dim:rgba(245,197,24,0.15);--gold-glow:rgba(245,197,24,0.3);--text-primary:#f0f0f0;--text-secondary:#888888;--text-tertiary:#555555;--text-gold:#f5c518;--correct:#10b981;--correct-bg:rgba(16,185,129,0.12);--wrong:#ef4444;--wrong-bg:rgba(239,68,68,0.12);--locked:#333333;--subject-physics:#3b82f6;--subject-chemistry:#10b981;--subject-economics:#f59e0b;--subject-biology:#ec4899;--subject-cs:#8b5cf6;--subject-history:#ef4444;--subject-general:#f5c518;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--text-4xl:48px;--text-hero:64px;--ease-reveal:cubic-bezier(0.16,1,0.3,1);--ease-color:cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-inter),system-ui,sans-serif}body{overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-playfair),Georgia,serif}code,pre{font-family:var(--font-mono),monospace}::selection{background:var(--gold-primary);color:var(--bg-primary)}:focus-visible{outline:2px solid var(--gold-primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:999px}::-webkit-scrollbar-track{background:var(--bg-surface)}.gold-pulse-dot{animation:pulseDot 1.6s ease-in-out infinite}@keyframes pulseDot{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideFromBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes goldFlash{0%{background:transparent;box-shadow:0 0 0 rgba(245,197,24,0)}40%{background:rgba(245,197,24,.18);box-shadow:0 0 40px rgba(245,197,24,.35)}to{background:transparent;box-shadow:0 0 0 rgba(245,197,24,0)}}@keyframes unlockPop{0%{transform:scale(.8)}50%{transform:scale(1.05);box-shadow:0 0 20px rgba(245,197,24,.25)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}@keyframes correctPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes progressFill{0%{width:0}to{width:100%}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes loadingGlow{0%,to{opacity:.5}50%{opacity:1}}.animate-fade-up{animation:fadeUp .5s var(--ease-reveal) both}.animate-slide-bottom{animation:slideFromBottom .4s var(--ease-reveal) both}.animate-gold-flash{animation:goldFlash .8s var(--ease-reveal) both}.animate-unlock-pop{animation:unlockPop .5s var(--ease-reveal) both}.animate-shake{animation:shake .4s var(--ease-reveal) both}.animate-correct-pulse{animation:correctPulse .4s var(--ease-reveal) both}.animate-shimmer{background-image:linear-gradient(90deg,var(--bg-surface),var(--bg-card),var(--bg-surface));background-size:200% 100%;animation:shimmer 2s linear infinite}.markdown-content h2{margin:24px 0 12px;font-family:var(--font-playfair),Georgia,serif;font-weight:600;font-size:20px;color:var(--text-primary)}.markdown-content h3{margin:20px 0 8px;font-weight:600;font-size:16px;color:var(--text-primary)}.markdown-content p{margin-bottom:16px}.markdown-content strong{color:var(--text-primary);font-weight:600}.markdown-content em{color:var(--text-gold);font-style:italic}.markdown-content code{font-family:var(--font-mono),monospace;font-size:13px;background:var(--bg-card);color:var(--text-gold);padding:2px 6px;border-radius:4px}.markdown-content blockquote{margin:20px 0;border-left:3px solid var(--gold-primary);padding-left:16px;color:var(--text-secondary);font-style:italic}.markdown-content ol,.markdown-content ul{margin-left:20px;line-height:2}