:root,[data-theme=light]{--bg-body:linear-gradient(135deg, #fff5f5 0%, #fef2f2 25%, #fef9f9 50%, #fff1f2 75%, #fef2f2 100%);--bg-card:#fff9fa;--bg-solid:#fff;--bg-nav:#fef2f2eb;--bg-muted:#f1f5f9;--bg-rose:#fff1f2;--bg-sidebar:#1c1614;--bg-overlay:#0000000a;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#64748b;--text-dim:#94a3b8;--text-inverse:#fff;--border:#e2e8f0;--border-accent:#fecdd3;--border-dark:#cbd5e1;--accent:#e11d48;--accent-hover:#be123c;--accent-light:#fff1f2;--accent-badge:#e11d4833;--success:#16a34a;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--hero-bg:linear-gradient(135deg, #fef1e7 0%, #fdf6f0 50%, #fef1e7 100%);--skeleton:#f1f5f9}[data-theme=dark]{--bg-body:linear-gradient(135deg, #0d0a09 0%, #120e0c 25%, #0f0c0b 50%, #14100e 75%, #0d0a09 100%);--bg-card:#221c19;--bg-solid:#0d0a09;--bg-nav:#0d0a09f0;--bg-muted:#2d2825;--bg-rose:#2a1615;--bg-sidebar:#0a0807;--bg-overlay:#ffffff0a;--text-primary:#f5ede8;--text-secondary:#c4b5a8;--text-muted:#8f7d70;--text-dim:#635449;--text-inverse:#fff;--border:#3d322d;--border-accent:#4d2628;--border-dark:#5c4d44;--accent:#fb8898;--accent-hover:#ff6b7f;--accent-light:#2d1515;--accent-badge:#fb88982e;--success:#6ee7b7;--warning:#fcd34d;--error:#fca5a5;--info:#93c5fd;--hero-bg:linear-gradient(135deg, #1c1613 0%, #2a221e 50%, #1c1613 100%);--skeleton:#2d2825}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-body);color:var(--text-primary);background-attachment:fixed;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:background .3s,color .3s}a{color:inherit;text-decoration:none}input,button,select,textarea{font-family:inherit}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.4s both fadeIn}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:.5s both slideUp}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.scale-in{animation:.3s both scaleIn}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.pulse{animation:2s infinite pulse}@keyframes bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-3px)}}.bounce{animation:.5s bounce}@keyframes float{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-12px)rotate(3deg)}75%{transform:translateY(-6px)rotate(-2deg)}}.float{animation:4s ease-in-out infinite float}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg, var(--skeleton) 25%, var(--border) 50%, var(--skeleton) 75%);background-size:200% 100%;animation:1.5s infinite shimmer}.card-hover{transition:transform .2s,box-shadow .2s}.card-hover:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001a}.btn-pulse{transition:transform .15s,box-shadow .15s}.btn-pulse:hover{transform:scale(1.03);box-shadow:0 4px 16px #e11d484d}.btn-pulse:active{transform:scale(.97)}@keyframes toastIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.toast-enter{animation:.3s both toastIn}.toast-exit{animation:.3s both toastOut}@keyframes skeleton{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.skeleton{border-radius:8px;animation:1.5s infinite skeleton}.gradient-text{background:linear-gradient(135deg, var(--accent), #f97316, var(--accent));-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;animation:3s infinite shimmer}@keyframes candyFall{0%{opacity:0;transform:translateY(-60px)rotate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(calc(100vh + 60px))rotate(720deg)}}.candy-particle{pointer-events:none;z-index:0;font-size:28px;animation:linear infinite candyFall;position:fixed}.category-card{cursor:pointer;transition:all .25s}.category-card:hover{transform:translateY(-6px)scale(1.02);box-shadow:0 16px 40px #0000001f}.stagger>*{animation:.4s both fadeIn}.stagger>:first-child{animation-delay:50ms}.stagger>:nth-child(2){animation-delay:.1s}.stagger>:nth-child(3){animation-delay:.15s}.stagger>:nth-child(4){animation-delay:.2s}.stagger>:nth-child(5){animation-delay:.25s}.stagger>:nth-child(6){animation-delay:.3s}.stagger>:nth-child(7){animation-delay:.35s}.stagger>:nth-child(8){animation-delay:.4s}@keyframes dotPulse{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}.dot-pulse{animation:1.5s infinite dotPulse}.cart-badge{background:var(--accent);min-width:20px;height:20px;color:var(--text-inverse);border-radius:10px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;transition:transform .3s;display:inline-flex}.cart-badge.bounce{animation:.4s bounce}@keyframes reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.reveal{animation:.6s both reveal}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.6s linear infinite spin;display:inline-block}
