@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&display=swap";:root{--bg-dark:#0f1319;--bg-gradient:linear-gradient(135deg, #0f1319, #191e2e);--text-light:#fff;--text-muted:#b3bbcc;--accent-primary:#39f;--accent-glow:#6cf;--accent-white:#eef2f6;--glass-bg:#ffffff0a;--glass-border:#64b4ff1f;--glass-hover:#64b4ff14;--shadow-lux:0 8px 32px #0064ff26;--shadow-glow:0 0 20px #3ca0ff40;--font-main:"Outfit", -apple-system, system-ui, sans-serif;--transition-smooth:all .3s cubic-bezier(.25, .8, .25, 1);--danger:#eb4747;--success:#26d971}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background:var(--bg-gradient);color:var(--text-light);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6}h1,h2,h3{letter-spacing:-.03em;font-weight:800}.app-container{max-width:1200px;margin:0 auto;padding:2rem}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--shadow-lux);border-radius:20px}.gradient-text{background:linear-gradient(135deg, var(--accent-primary), var(--accent-glow), var(--accent-white));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.navbar{border:1px solid #64b4ff1a;justify-content:space-between;align-items:center;margin-bottom:3rem;padding:1rem 2rem;display:flex}.logo{font-size:1.8rem;font-weight:800}.nav-right{align-items:center;gap:1rem;display:flex}.user-greeting{color:var(--text-muted);font-size:.9rem}.cart-btn,.logout-btn{border:1px solid var(--accent-primary);color:var(--text-light);font-family:var(--font-main);cursor:pointer;transition:var(--transition-smooth);background:0 0;border-radius:50px;padding:.5rem 1.5rem;font-size:.9rem;font-weight:600}.cart-btn:hover{background:var(--accent-primary);transform:translateY(-2px);box-shadow:0 4px 20px #3ca0ff80}.logout-btn{color:var(--text-muted);border-color:#fff3}.logout-btn:hover{border-color:var(--danger);color:var(--danger);background:#ff505026;transform:translateY(-2px)}.hero{text-align:center;margin-bottom:4rem;padding:4rem 1rem;animation:1s ease-out fadeIn;position:relative}.hero:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle,#3ca0ff14,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero h1{margin-bottom:1rem;font-size:3.5rem;line-height:1.1}.hero p{color:var(--text-muted);max-width:600px;margin:0 auto;font-size:1.2rem}.product-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;display:grid}.product-card{transition:var(--transition-smooth);flex-direction:column;gap:1rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.product-card:before{content:"";opacity:0;background:radial-gradient(circle at 30% 30%,#3ca0ff0f,#0000 50%);width:200%;height:200%;transition:opacity .5s;position:absolute;top:-50%;left:-50%}.product-card:hover{box-shadow:var(--shadow-glow);border-color:#64b4ff40;transform:translateY(-8px)}.product-card:hover:before{opacity:1}.product-image-skeleton{background:linear-gradient(135deg,#3ca0ff0a,#64c8ff05);border:1px solid #64b4ff0f;border-radius:12px;justify-content:center;align-items:center;width:100%;height:180px;display:flex}.product-category{text-transform:uppercase;letter-spacing:.12em;color:var(--accent-glow);font-size:.75rem;font-weight:600}.product-info h3{color:var(--text-light);margin-bottom:.3rem;font-size:1.3rem}.product-info p{color:var(--text-muted);font-size:.9rem}.product-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.price{color:var(--accent-glow);font-size:1.4rem;font-weight:800}.buy-btn{background:linear-gradient(135deg, var(--accent-primary), var(--accent-glow));color:#fff;cursor:pointer;transition:var(--transition-smooth);border:none;border-radius:12px;padding:.6rem 1.2rem;font-family:inherit;font-size:.9rem;font-weight:600}.buy-btn:hover{transform:scale(1.05);box-shadow:0 4px 20px #3ca0ff80}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative}.auth-page:before{content:"";pointer-events:none;background:radial-gradient(circle,#3ca0ff0f,#0000 70%);border-radius:50%;width:500px;height:500px;position:fixed;top:20%;right:10%}.auth-page:after{content:"";pointer-events:none;background:radial-gradient(circle,#64c8ff0a,#0000 70%);border-radius:50%;width:350px;height:350px;position:fixed;bottom:10%;left:5%}.auth-card{text-align:center;z-index:1;width:100%;max-width:420px;padding:3rem;animation:.6s ease-out fadeIn;position:relative}.auth-card h2{margin-bottom:.5rem;font-size:2rem}.auth-subtitle{color:var(--text-muted);margin-bottom:2rem}.auth-error{color:#ff6b6b;background:#ff50501a;border:1px solid #ff505033;border-radius:12px;margin-bottom:1rem;padding:.75rem;font-size:.9rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-input{color:var(--text-light);font-family:var(--font-main);transition:var(--transition-smooth);background:#ffffff0a;border:1px solid #64b4ff1a;border-radius:12px;outline:none;padding:.85rem 1rem;font-size:1rem}.auth-input:focus{border-color:var(--accent-primary);background:#3ca0ff0d;box-shadow:0 0 0 3px #3ca0ff1a}.auth-input::placeholder{color:#ffffff40}.auth-submit-btn{background:linear-gradient(135deg, var(--accent-primary), var(--accent-glow));color:#fff;font-size:1rem;font-weight:700;font-family:var(--font-main);cursor:pointer;transition:var(--transition-smooth);border:none;border-radius:12px;margin-top:.5rem;padding:.9rem}.auth-submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px #3ca0ff80}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.auth-toggle{color:var(--text-muted);margin-top:1.5rem;font-size:.9rem}.auth-toggle-btn{color:var(--accent-glow);cursor:pointer;font-weight:600;font-family:var(--font-main);transition:var(--transition-smooth);background:0 0;border:none;margin-left:.3rem}.auth-toggle-btn:hover{color:var(--accent-white)}.cart-overlay{margin-bottom:2rem;padding:1.5rem;animation:.3s ease-out slideDown}.cart-overlay h3{color:var(--accent-glow);margin-bottom:1rem}.cart-empty{color:var(--text-muted);text-align:center;padding:1rem}.cart-item{border-bottom:1px solid #64b4ff14;justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}.cart-qty{color:var(--text-muted);font-size:.9rem}.cart-item-right{align-items:center;gap:1rem;display:flex}.cart-remove{color:var(--danger);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;font-size:1rem}.cart-remove:hover{transform:scale(1.2)}.cart-total{text-align:right;color:var(--accent-glow);padding:1rem 0;font-size:1.2rem}.checkout-btn{background:linear-gradient(135deg, var(--accent-primary), var(--accent-glow));color:#fff;width:100%;font-size:1rem;font-weight:700;font-family:var(--font-main);cursor:pointer;transition:var(--transition-smooth);border:none;border-radius:12px;padding:.85rem}.checkout-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px #3ca0ff80}.success-banner{color:var(--success);text-align:center;background:#48c78e1a;border:1px solid #48c78e33;border-radius:12px;margin-bottom:2rem;padding:.85rem;font-weight:600;animation:.4s ease-out fadeIn}.empty-state{text-align:center;color:var(--text-muted);padding:4rem 1rem}.loading-screen{min-height:100vh;color:var(--accent-glow);justify-content:center;align-items:center;font-size:1.2rem;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.hero h1{font-size:2.5rem}.app-container{padding:1rem}.nav-right{gap:.5rem}.user-greeting{display:none}}
