* { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; background: #0D1117; color: #F1F4F8; }
.font-heading { font-family: 'Rajdhani', sans-serif; letter-spacing: 0.02em; }

/* Keyframes */
@keyframes fadeUp { from { opacity:0; transform:translateY(40px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeLeft { from { opacity:0; transform:translateX(-40px); } to { opacity:1; transform:translateX(0); } }
@keyframes fadeRight { from { opacity:0; transform:translateX(40px); } to { opacity:1; transform:translateX(0); } }
@keyframes pulse-ring { 0% { box-shadow: 0 0 0 0 rgba(255,107,26,0.5); } 70% { box-shadow: 0 0 0 12px rgba(255,107,26,0); } 100% { box-shadow: 0 0 0 0 rgba(255,107,26,0); } }
@keyframes floaty { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }
@keyframes spin-slow { from { transform: rotate(0); } to { transform: rotate(360deg); } }
@keyframes slideDown { from { opacity:0; transform:translateY(-20px); } to { opacity:1; transform:translateY(0); } }

.anim-fadeUp { animation: fadeUp 0.9s cubic-bezier(.2,.8,.2,1) both; }
.anim-fadeLeft { animation: fadeLeft 0.9s cubic-bezier(.2,.8,.2,1) both; }
.anim-fadeRight { animation: fadeRight 0.9s cubic-bezier(.2,.8,.2,1) both; }
.anim-float { animation: floaty 4s ease-in-out infinite; }
.anim-spin-slow { animation: spin-slow 12s linear infinite; }
.anim-pulse-ring { animation: pulse-ring 2.5s infinite; }
.anim-slideDown { animation: slideDown 0.4s ease both; }

/* Scroll reveal */
.reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s cubic-bezier(.2,.8,.2,1); }
.reveal.visible { opacity: 1; transform: translateY(0); }

/* Nav */
.nav-link { position: relative; }
.nav-link::after { content:''; position:absolute; bottom:-6px; left:0; width:0; height:2px; background:#FF6B1A; transition: width .3s; }
.nav-link:hover::after, .nav-link.active::after { width:100%; }

/* Cards */
.part-card { transition: transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s; }
.part-card:hover { transform: translateY(-10px); box-shadow: 0 30px 60px -20px rgba(255,107,26,0.3); }

/* Category card */
.cat-card { position:relative; overflow:hidden; transition: all .4s; }
.cat-card::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(13,17,23,0.95) 100%); z-index:1; }
.cat-card:hover { transform: translateY(-6px); }
.cat-card:hover img { transform: scale(1.1); }
.cat-card img { transition: transform .6s; }

/* Buttons */
.btn-forge { background: #FF6B1A; color: #0D1117; font-weight:700; transition: all .3s; }
.btn-forge:hover { background: #FF8540; transform: translateY(-2px); box-shadow: 0 10px 30px -10px rgba(255,107,26,0.6); }

/* Grid pattern */
.grid-bg { background-image: radial-gradient(circle, rgba(255,107,26,0.08) 1px, transparent 1px); background-size: 24px 24px; }

/* Scrollbar */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #0D1117; }
::-webkit-scrollbar-thumb { background: #FF6B1A; border-radius: 5px; }

/* Page sections */
.page { display: none; }
.page.active { display: block; animation: fadeUp 0.5s ease; }

/* Modal */
.modal-backdrop { backdrop-filter: blur(12px); background: rgba(13,17,23,0.8); }

/* Toast */
.toast { animation: fadeUp 0.4s ease, fadeUp 0.4s ease 2.6s reverse forwards; }

/* Diagonal stripe */
.stripe-accent { background: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(255,107,26,0.05) 10px, rgba(255,107,26,0.05) 20px); }

/* Filter button */
.filter-btn.active { background: #FF6B1A; color: #0D1117; border-color: #FF6B1A; }

/* Brand logo */
.brand-logo { filter: grayscale(100%) brightness(0.6); transition: all .3s; }
.brand-logo:hover { filter: grayscale(0%) brightness(1); }

/* Mobile menu */
.mobile-menu { transform: translateX(100%); transition: transform .3s ease; }
.mobile-menu.open { transform: translateX(0); }

/* Hero gradient */
.hero-gradient { background: linear-gradient(135deg, rgba(13,17,23,0.95) 0%, rgba(13,17,23,0.75) 50%, rgba(13,17,23,0.5) 100%); }

/* Input focus */
.input-forge { background: #1A1F2E; border: 1px solid #252B3B; color: #F1F4F8; transition: all .3s; }
.input-forge:focus { outline: none; border-color: #FF6B1A; box-shadow: 0 0 0 3px rgba(255,107,26,0.15); }

/* Badge */
.badge-forge { background: rgba(255,107,26,0.15); color: #FF6B1A; border: 1px solid rgba(255,107,26,0.3); }

/* Progress bar for stock */
.stock-bar { background: linear-gradient(90deg, #FF6B1A, #FF8540); }