.btn.svelte-o6nm0k{font-family:var(--font-sans);border-radius:var(--radius-pill);transition:background var(--duration-base) var(--ease-ios), box-shadow var(--duration-base) var(--ease-ios), transform var(--duration-fast) var(--ease-ios), border-color var(--duration-base) var(--ease-ios);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-width:44px;min-height:44px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn.svelte-o6nm0k:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn.svelte-o6nm0k:not(:disabled):active{transform:scale(.97)}.btn-primary.svelte-o6nm0k{background:var(--color-cta);color:#f2f0ec;box-shadow:var(--shadow-cta-glow), 0 4px 16px #ff6b4a33;border-color:#0000}.btn-primary.svelte-o6nm0k:not(:disabled):hover{background:var(--color-cta-hover);box-shadow:0 0 32px var(--color-cta-glow), 0 6px 24px #ff6b4a4d;transform:translateY(-1px)}.btn-secondary.svelte-o6nm0k{color:var(--color-text-primary)}.btn-ghost.svelte-o6nm0k{color:var(--color-text-secondary);background:0 0;border-color:#0000}.btn-ghost.svelte-o6nm0k:not(:disabled):hover{color:var(--color-text-primary);background:var(--color-glass-bg)}.btn-outline.svelte-o6nm0k{color:var(--color-text-primary);border-color:var(--color-glass-border-strong)}.btn-outline.svelte-o6nm0k:not(:disabled):hover{border-color:var(--color-accent-mint);color:var(--color-accent-mint);box-shadow:0 0 12px var(--color-accent-mint-glow)}.btn-danger.svelte-o6nm0k{color:var(--color-error);background:#ff7a7a26;border-color:#ff7a7a4d}.btn-danger.svelte-o6nm0k:not(:disabled):hover{background:#ff7a7a40;box-shadow:0 0 16px #ff7a7a4d}.btn-spinner.svelte-o6nm0k{border:2px solid #ffffff4d;border-top-color:currentColor;border-radius:50%;width:1em;height:1em;animation:.6s linear infinite svelte-o6nm0k-spin;display:inline-block}@keyframes svelte-o6nm0k-spin{to{transform:rotate(360deg)}}.app-card.svelte-2lxwqm{position:relative;overflow:hidden}.app-badge.svelte-oi26yp{border-radius:var(--radius-pill);letter-spacing:.04em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.badge-new.svelte-oi26yp{color:var(--color-accent-lilac);background:#c9bce32e;border-color:#c9bce34d}.badge-sale.svelte-oi26yp{color:var(--color-cta);background:#ff6b4a2e;border-color:#ff6b4a59}.badge-bestseller.svelte-oi26yp{color:var(--color-accent-mint);background:#a8e0da2e;border-color:#a8e0da59}.badge-material.svelte-oi26yp{background:var(--color-glass-bg);border-color:var(--color-glass-border);color:var(--color-text-primary)}.badge-outofstock.svelte-oi26yp{border-color:var(--color-glass-border);color:var(--color-text-muted);background:#ffffff0a}.price-tag.svelte-c1xgy7{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.price-current.svelte-c1xgy7{color:var(--color-cta);font-weight:700}.price-original.svelte-c1xgy7{color:var(--color-text-muted);text-decoration:line-through}.price-sm.svelte-c1xgy7 .price-current:where(.svelte-c1xgy7){font-size:14px}.price-sm.svelte-c1xgy7 .price-original:where(.svelte-c1xgy7){font-size:12px}.price-md.svelte-c1xgy7 .price-current:where(.svelte-c1xgy7){font-size:18px}.price-md.svelte-c1xgy7 .price-original:where(.svelte-c1xgy7){font-size:14px}.price-lg.svelte-c1xgy7 .price-current:where(.svelte-c1xgy7){font-size:24px}.price-lg.svelte-c1xgy7 .price-original:where(.svelte-c1xgy7){font-size:16px}.app-container.svelte-17yinyd{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px}@media (width>=640px){.app-container.svelte-17yinyd{padding-left:24px;padding-right:24px}}@media (width>=1024px){.app-container.svelte-17yinyd{padding-left:32px;padding-right:32px}}.app-section.svelte-1mzxnlp{padding-top:48px;padding-bottom:48px}@media (width>=768px){.app-section.svelte-1mzxnlp{padding-top:72px;padding-bottom:72px}}@media (width>=1024px){.app-section.svelte-1mzxnlp{padding-top:96px;padding-bottom:96px}}.section-bg.svelte-1mzxnlp{background-color:var(--color-bg-section)}.section-elevated.svelte-1mzxnlp{background-color:var(--color-bg-elevated)}.cat-dropdown.svelte-f7bppz{background:color-mix(in srgb, var(--color-bg-elevated) 98%, transparent);-webkit-backdrop-filter:blur(32px)saturate(200%);border:1px solid var(--color-glass-border-strong);width:560px;box-shadow:0 16px 48px #00000080, var(--shadow-glass-inset);border-radius:var(--radius-xl);animation:svelte-f7bppz-drop-in .18s var(--ease-ios) both;z-index:9999;gap:0;display:flex;position:absolute;top:calc(100% + 8px);left:50%;overflow:hidden;transform:translate(-50%)}@keyframes svelte-f7bppz-drop-in{0%{opacity:0;transform:translate(-50%)translateY(-8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.cat-list.svelte-f7bppz{scrollbar-width:thin;scrollbar-color:var(--color-glass-border) transparent;flex-shrink:0;width:220px;max-height:360px;padding:12px 8px;overflow-y:auto}.cat-list.svelte-f7bppz::-webkit-scrollbar{width:4px}.cat-list.svelte-f7bppz::-webkit-scrollbar-thumb{background:var(--color-glass-border);border-radius:4px}.cat-list-label.svelte-f7bppz{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin:0;padding:0 8px 8px;font-size:10px;font-weight:700}.cat-list.svelte-f7bppz ul:where(.svelte-f7bppz){flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.cat-item-link.svelte-f7bppz{border-radius:var(--radius-md);color:var(--color-text-secondary);align-items:center;gap:8px;padding:8px 10px;text-decoration:none;transition:background .12s;display:flex}.cat-item-active.svelte-f7bppz .cat-item-link:where(.svelte-f7bppz),.cat-item-link.svelte-f7bppz:hover{background:var(--color-glass-bg-subtle);color:var(--color-text-primary)}.cat-icon.svelte-f7bppz{text-align:center;flex-shrink:0;width:20px;font-size:16px}.cat-icon-fallback.svelte-f7bppz{color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.cat-name.svelte-f7bppz{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:500;overflow:hidden}.cat-count.svelte-f7bppz{color:var(--color-text-muted);background:var(--color-glass-bg-subtle);border:1px solid var(--color-glass-border);border-radius:var(--radius-pill);flex-shrink:0;padding:1px 7px;font-size:11px}.cat-item-all.svelte-f7bppz .cat-item-link:where(.svelte-f7bppz){color:var(--color-accent-mint);border-top:1px solid var(--color-divider);border-radius:0 0 var(--radius-md) var(--radius-md);margin-top:4px;padding-top:10px}.cat-divider.svelte-f7bppz{background:var(--color-divider);flex-shrink:0;width:1px;margin:12px 0}.cat-preview.svelte-f7bppz{flex-direction:column;flex:1;gap:12px;min-width:0;padding:16px;display:flex}.cat-preview-img.svelte-f7bppz{border-radius:var(--radius-lg);background:var(--color-glass-bg-subtle);border:1px solid var(--color-glass-border);flex-shrink:0;width:100%;height:140px;overflow:hidden}.cat-preview-img.svelte-f7bppz img:where(.svelte-f7bppz){object-fit:cover;width:100%;height:100%;display:block}.cat-preview-img-empty.svelte-f7bppz{justify-content:center;align-items:center;width:100%;height:100%;font-size:48px;display:flex}.cat-preview-info.svelte-f7bppz{flex-direction:column;gap:6px;display:flex}.cat-preview-name.svelte-f7bppz{color:var(--color-text-primary);margin:0;font-size:15px;font-weight:700}.cat-preview-desc.svelte-f7bppz{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.cat-preview-meta.svelte-f7bppz{align-items:center;gap:8px;display:flex}.cat-preview-count.svelte-f7bppz{color:var(--color-text-muted);align-items:center;gap:4px;font-size:12px;display:flex}.cat-preview-btn.svelte-f7bppz{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-accent-mint) 15%, transparent);border:1px solid color-mix(in srgb, var(--color-accent-mint) 30%, transparent);color:var(--color-accent-mint);align-items:center;gap:6px;width:fit-content;margin-top:4px;padding:7px 14px;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.cat-preview-btn.svelte-f7bppz:hover{background:color-mix(in srgb, var(--color-accent-mint) 25%, transparent);border-color:color-mix(in srgb, var(--color-accent-mint) 50%, transparent)}
