:root{--primary: #3B82F6;--primary-hover: #2563EB;--bg-main: #F1F5F9;--white: #FFFFFF;--text-dark: #0F172A;--text-light: #64748B;--danger: #EF4444;--success: #10B981;--shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, .05);--shadow-md: 0 10px 15px -3px rgba(59, 130, 246, .1);--radius: 16px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg-main);color:var(--text-dark);overflow-x:hidden}.loading-screen{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--primary)}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.navbar{background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1rem 5%;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(226,232,240,.8)}.logo{display:flex;align-items:center;gap:.75rem}.logo h1{font-size:1.4rem;font-weight:800;letter-spacing:-.5px}.logo h1 span{font-size:.8rem;color:var(--text-light);font-weight:400}.icon-blue{color:var(--primary)}.status-group{display:flex;align-items:center;gap:1.5rem}.balance-card{background:var(--primary);color:#fff;padding:.6rem 1.25rem;border-radius:100px;display:flex;align-items:center;gap:.6rem;font-size:.9rem;box-shadow:0 4px 12px #3b82f64d}.balance-card b{font-size:1.1rem}.cloud-tag{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-light);font-weight:600}.cloud-tag.syncing{color:var(--primary)}.main-layout{display:grid;grid-template-columns:1fr 400px;gap:2rem;padding:2rem 5%;max-width:1440px;margin:0 auto}.category-block{margin-bottom:3rem}.section-title{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;margin-bottom:1.5rem;color:var(--text-dark)}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}.product-card{background:var(--white);border-radius:var(--radius);overflow:hidden;border:1px solid #E2E8F0;transition:all .3s ease}.product-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary)}.product-card.sold-out{opacity:.6;filter:grayscale(.8)}.image-wrapper{height:220px;background:#f8fafc;display:flex;align-items:center;justify-content:center;position:relative}.image-wrapper img{width:100%;height:100%;object-fit:cover}.emoji-placeholder{font-size:4rem}.overlay-text{position:absolute;background:#0f172acc;color:#fff;padding:.5rem 1.5rem;border-radius:100px;font-weight:700;font-size:.9rem}.info{padding:1.5rem}.info h3{font-size:1.1rem;margin-bottom:.5rem}.meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.price{font-size:1.4rem;font-weight:800;color:var(--primary)}.stock-label{font-size:.8rem;color:var(--text-light)}.buy-button{width:100%;padding:.8rem;border-radius:12px;border:none;background:var(--primary);color:#fff;font-weight:700;cursor:pointer;transition:.2s}.buy-button:hover:not(:disabled){background:var(--primary-hover);transform:scale(1.02)}.buy-button:disabled{background:#cbd5e1;cursor:not-allowed}.cart-panel{position:sticky;top:100px;height:calc(100vh - 140px)}.cart-inner{background:var(--white);border-radius:24px;height:100%;display:flex;flex-direction:column;box-shadow:var(--shadow-md);border:1px solid #E2E8F0}.cart-header{padding:1.5rem;border-bottom:1px solid #F1F5F9;display:flex;justify-content:space-between;align-items:center}.title-with-icon{display:flex;align-items:center;gap:.6rem}.badge{background:var(--primary-hover);color:#fff;padding:.2rem .6rem;border-radius:8px;font-size:.8rem;font-weight:700}.cart-items-list{flex:1;overflow-y:auto;padding:1.25rem}.empty-state{text-align:center;padding:4rem 1rem;color:#cbd5e1}.empty-state p{color:var(--text-dark);font-weight:600;margin-top:1rem}.empty-state span{font-size:.8rem}.cart-item-row{background:#f8fafc;padding:1rem;border-radius:16px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.item-details h4{font-size:.95rem;margin-bottom:.2rem}.item-price{font-size:.85rem;color:var(--primary);font-weight:700}.item-controls{display:flex;align-items:center;gap:.75rem}.stepper{display:flex;align-items:center;gap:.6rem;background:#fff;padding:.3rem;border-radius:10px;border:1px solid #E2E8F0}.step-btn{background:none;border:none;cursor:pointer;color:var(--text-light);display:flex}.qty{font-weight:800;min-width:1.2rem;text-align:center;font-size:.9rem}.remove-btn{color:#94a3b8;background:none;border:none;cursor:pointer;transition:.2s}.remove-btn:hover{color:var(--danger)}.cart-footer{padding:1.5rem;border-top:1px solid #F1F5F9}.summary-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.total-val{font-size:1.8rem;font-weight:900;color:var(--text-dark)}.checkout-btn{width:100%;padding:1.1rem;border-radius:18px;border:none;background:var(--text-dark);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.75rem;cursor:pointer;transition:.3s}.checkout-btn:hover:not(:disabled){background:#000;transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.checkout-btn:disabled{opacity:.3;cursor:not-allowed}.error-toast{position:fixed;top:90px;left:50%;transform:translate(-50%);background:#fef2f2;color:var(--danger);padding:.8rem 1.5rem;border-radius:12px;border:1px solid #FEE2E2;display:flex;align-items:center;gap:.6rem;font-weight:600;z-index:1000;box-shadow:0 10px 25px #ef44441a}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ab3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content{background:#fff;padding:3.5rem;border-radius:32px;text-align:center;max-width:440px;width:90%;box-shadow:0 25px 50px -12px #00000040}.success-circle{width:90px;height:90px;background:#ecfdf5;color:var(--success);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.modal-content h2{font-size:1.8rem;margin-bottom:.75rem}.modal-content p{color:var(--text-light);margin-bottom:2.5rem}.close-modal-btn{background:var(--primary);color:#fff;border:none;padding:1rem 3rem;border-radius:14px;font-weight:700;cursor:pointer;transition:.2s}.close-modal-btn:hover{background:var(--primary-hover)}@media (max-width: 1024px){.main-layout{grid-template-columns:1fr}.cart-panel{position:static;height:auto;margin-top:2rem}}
