:root{--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--text-sm:.85rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-2xl:2rem;--container:1120px;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display:var(--font-sans);--bg:#fff;--surface:#fff;--surface-2:#f7f8fa;--text:#111827;--text-muted:#6b7280;--accent:#6d28d9;--accent-contrast:#fff;--border:#e5e7eb;--border-width:1px;--radius:12px;--radius-lg:16px;--shadow-card:0 1px 2px #1118270a, 0 10px 30px #1118270f;--shadow-hover:0 4px 8px #1118270f, 0 16px 40px #1118271a;--price-color:#111827;--badge-bg:#f3f4f6;--badge-text:#6b7280;--header-bg:#fffc;--header-text:#111827;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-theme=neon]{--bg:#0e0f13;--surface:#181a21;--surface-2:#20232b;--text:#e7e9ee;--text-muted:#9aa0ab;--accent:#3b82f6;--accent-contrast:#fff;--border:#2a2e37;--border-width:1px;--radius:8px;--radius-lg:10px;--shadow-card:0 1px 0 #ffffff08, 0 10px 30px #00000080;--shadow-hover:0 0 0 1px var(--accent), 0 14px 40px #3b82f640;--price-color:#8ab4ff;--badge-bg:#ef444426;--badge-text:#fca5a5;--header-bg:#0e0f13b3;--header-text:#e7e9ee}[data-theme=retro]{--bg:#fbf7ef;--surface:#fff;--surface-2:#f3ede1;--text:#1b1b1b;--text-muted:#6b6b6b;--accent:#e5484d;--accent-contrast:#fff;--border:#1b1b1b;--border-width:2px;--radius:14px;--radius-lg:18px;--shadow-card:5px 5px 0 #1b1b1b;--shadow-hover:7px 7px 0 #1b1b1b;--price-color:#1b1b1b;--badge-bg:#f5c518;--badge-text:#1b1b1b;--font-display:"Trebuchet MS", "Segoe UI", var(--font-sans);--header-bg:#e5484d;--header-text:#fff}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}img{max-width:100%;display:block}a{color:var(--accent)}.app{flex-direction:column;min-height:100vh;display:flex}.site-header{z-index:10;background:var(--header-bg);color:var(--header-text);-webkit-backdrop-filter:saturate(150%)blur(8px);backdrop-filter:saturate(150%)blur(8px);border-bottom:var(--border-width) solid var(--border);position:sticky;top:0}.site-header__inner{max-width:var(--container);padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.brand{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--header-text);font-weight:800;font-size:var(--text-lg);text-decoration:none}.site-nav a{color:var(--header-text);opacity:.85;font-size:var(--text-sm);text-decoration:none}.page{width:100%;max-width:var(--container);padding:var(--space-6) var(--space-4);flex:1;margin:0 auto}.site-footer{border-top:var(--border-width) solid var(--border);color:var(--text-muted)}.site-footer__inner{max-width:var(--container);padding:var(--space-5) var(--space-4);font-size:var(--text-sm);margin:0 auto}.btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--accent);color:var(--accent-contrast);border:var(--border-width) solid transparent;cursor:pointer;font-weight:600;text-decoration:none;transition:transform 80ms,box-shadow .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn--ghost{color:var(--text);border-color:var(--border);background:0 0}[data-theme=retro] .btn{border-color:#1b1b1b;box-shadow:3px 3px #1b1b1b}[data-theme=retro] .btn:active{box-shadow:none;transform:translate(3px,3px)}.badge{padding:.15rem var(--space-2);font-size:var(--text-sm);border-radius:999px;font-weight:600;display:inline-block}.badge--sold-out{background:var(--badge-bg);color:var(--badge-text)}[data-theme=retro] .badge--sold-out{border:2px solid #1b1b1b}.notice{color:var(--text-muted);padding:var(--space-6) 0}.notice[role=alert]{color:var(--accent)}.overview__title{font-family:var(--font-display);font-size:var(--text-2xl);margin:0 0 var(--space-5)}.product-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.product-card{background:var(--surface);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:transform .12s,box-shadow .15s;position:relative;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}[data-theme=retro] .product-card:hover{transform:translate(-2px,-2px)}.product-card__link{color:inherit;text-decoration:none;display:block}.product-card__media{aspect-ratio:1;background:var(--surface-2);overflow:hidden}.product-card__media img{object-fit:cover;width:100%;height:100%}.product-card__body{padding:var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.product-card__name{font-size:var(--text-base);margin:0;font-weight:600}.product-card .badge--sold-out{top:var(--space-3);left:var(--space-3);position:absolute}.price{color:var(--price-color);font-weight:700}.product-detail{gap:var(--space-6);grid-template-columns:1.1fr .9fr;align-items:start;display:grid}@media (width<=720px){.product-detail{grid-template-columns:1fr}}.product-detail__gallery{gap:var(--space-3);display:grid}.product-detail__image{border-radius:var(--radius);border:var(--border-width) solid var(--border);background:var(--surface-2);width:100%}.product-detail__info{gap:var(--space-4);flex-direction:column;align-items:flex-start;display:flex}.product-detail__name{font-family:var(--font-display);font-size:var(--text-2xl);margin:0}.product-detail__description{color:var(--text-muted);margin:0;line-height:1.6}.theme-switcher{bottom:var(--space-4);right:var(--space-4);z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:999px;gap:4px;padding:6px;display:flex;position:fixed;box-shadow:0 6px 24px #0000002e}.theme-switcher__btn{color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;text-transform:capitalize;background:0 0;border:0;border-radius:999px;padding:.3rem .7rem}.theme-switcher__btn.is-active{background:var(--accent);color:var(--accent-contrast)}.cart-badge{align-items:center;gap:var(--space-2);font-weight:600;display:inline-flex}.cart-badge__count{min-width:1.4rem;height:1.4rem;padding:0 var(--space-2);background:var(--accent);color:var(--accent-contrast);font-size:var(--text-sm);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.product-card__actions{padding:var(--space-3) var(--space-4) var(--space-4)}.cart{gap:var(--space-5);flex-direction:column;display:flex}.cart__title{font-size:var(--text-2xl)}.cart__lines{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cart-line{align-items:center;gap:var(--space-4);padding:var(--space-3);background:var(--surface);border:var(--border-width) solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);display:flex}.cart-line__image{object-fit:cover;border-radius:var(--radius);background:var(--surface-2);width:64px;height:64px}.cart-line__info{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.cart-line__name{font-weight:600}.cart-line__sold-out{font-size:var(--text-sm);color:var(--accent-contrast);background:var(--text-muted);padding:0 var(--space-2);border-radius:999px;align-self:flex-start}.cart-line__unit{color:var(--text-muted);font-size:var(--text-sm)}.cart-line__controls{align-items:center;gap:var(--space-4);display:flex}.cart-line__qty{gap:var(--space-1);font-size:var(--text-sm);color:var(--text-muted);flex-direction:column;display:flex}.cart-line__qty input{width:4rem;padding:var(--space-2);border:var(--border-width) solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}.cart-line__subtotal{text-align:right;min-width:6rem;font-weight:600}.cart__summary{padding-top:var(--space-4);border-top:var(--border-width) solid var(--border);justify-content:space-between;align-items:baseline;display:flex}.cart__total{font-size:var(--text-xl);font-weight:700}.cart-empty{gap:var(--space-4);flex-direction:column;align-items:flex-start;display:flex}
