*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#080b0f;--bg-card:#0f1318;--bg-elevated:#161c24;--border:#1e2730;--text:#e8e6df;--text-muted:#7a8694;--accent:#3b82f6;--accent-hover:#2563eb;--accent-glow:#3b82f626;--gold:#f0a500;--gold-muted:#f0a5001f;--success:#22c55e;--font-display:"Playfair Display", Georgia, serif;--font-body:"DM Sans", sans-serif;--font-mono:"DM Mono", monospace;--radius:12px;--radius-lg:20px;--shadow:0 4px 24px #0006;--shadow-lg:0 8px 48px #0009}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:16px;line-height:1.6}#root{min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font-body);border:none;outline:none}input,textarea,select{font-family:var(--font-body);outline:none}img{max-width:100%}.btn-primary{background:var(--accent);color:#fff;letter-spacing:.02em;border-radius:8px;align-items:center;gap:8px;padding:14px 32px;font-size:15px;font-weight:600;transition:background .2s,transform .15s,box-shadow .2s;display:inline-flex}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 8px 24px #3b82f64d}.btn-secondary{color:var(--text);border:1px solid var(--border);background:0 0;border-radius:8px;align-items:center;gap:8px;padding:14px 32px;font-size:15px;font-weight:500;transition:border-color .2s,background .2s;display:inline-flex}.btn-secondary:hover{border-color:var(--accent);background:var(--accent-glow)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.tag{font-size:12px;font-weight:500;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);border-radius:100px;align-items:center;gap:6px;padding:4px 12px;display:inline-flex}.tag.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-up{animation:.6s forwards fadeUp}.animate-fade-in{animation:.4s forwards fadeIn}
