:root{--font-sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--bg:#F6F6F9;--surface:#FFFFFF;--surface-2:#EDEDF2;--border:#E6E6EC;--text:#16161C;--muted:#6B6B7B;--brand:#534AB7;--brand-hover:#453D9E;--brand-soft:#EDEBFB;--brand-text:#534AB7;--on-brand:#ffffff;--price:var(--text);--radius:14px;--radius-sm:8px;--shadow:0 1px 2px rgba(16,24,40,0.05),0 6px 20px rgba(16,24,40,0.06);--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px}:root[data-theme=dark]{--bg:#0E0E12;--surface:#17171E;--surface-2:#1B1B23;--border:#26262F;--text:#F5F5F7;--muted:#8A8A99;--brand:#534AB7;--brand-hover:#6157C9;--brand-soft:#241F3F;--brand-text:#A49CF5;--on-brand:#ffffff;--price:var(--text);--shadow:0 1px 2px rgba(0,0,0,0.4),0 6px 20px rgba(0,0,0,0.4)}*,:after,:before{box-sizing:border-box}*{margin:0}body,html{height:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3{line-height:1.15;letter-spacing:-.02em}button,input{font:inherit}.container{max-width:1040px;margin:0 auto;padding:var(--sp-5)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:12px 18px;border-radius:999px;border:1px solid var(--brand);background:var(--brand);color:var(--on-brand);font-weight:650;cursor:pointer}.btn:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn-outline{background:transparent;color:var(--text);border-color:var(--border)}.btn-outline:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.chip:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.input{padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);width:100%}.input:focus-visible{outline:2px solid var(--brand);outline-offset:-1px}.price{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--price)}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:var(--sp-5);gap:var(--sp-5)}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .15s}.product-card:hover{transform:translateY(-2px)}.product-card .thumb{aspect-ratio:1/1;width:100%;object-fit:cover;background:var(--surface-2);display:block}.product-card .thumb.placeholder{display:grid;place-items:center;color:var(--muted);font-size:13px}.product-card .name{font-weight:600}.empty{padding:var(--sp-6);text-align:center;color:var(--muted)}.shop-search{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-4)}.shop-search .input{flex:1 1}.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-5)}.chip{padding:6px 14px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-weight:600;font-size:14px;border:1px solid transparent}.chip:hover{color:var(--text)}.chip.active{background:var(--brand);color:var(--on-brand)}.grid-dense{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--sp-4)}.product-media{position:relative}.product-media .media-link{display:block}.product-card .body{padding:var(--sp-4);display:flex;flex-direction:column;gap:4px;color:var(--text)}.quick-add{position:absolute;right:10px;bottom:10px;margin:0}.quick-add-btn{width:40px;height:40px;border-radius:999px;border:none;background:var(--brand);color:var(--on-brand);font-size:24px;line-height:1;cursor:pointer;box-shadow:var(--shadow);display:grid;place-items:center}.quick-add-btn:hover{background:var(--brand-hover)}.quick-add-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.pager{display:flex;justify-content:space-between;margin-top:var(--sp-6)}.pd-back{margin-bottom:var(--sp-5)}.pd-back a{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:600;font-size:14px;transition:color .15s,gap .15s}.pd-back a:hover{color:var(--text);gap:10px}.product-detail{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-6);gap:var(--sp-6);align-items:start}.product-detail .hero{aspect-ratio:1/1;width:100%;object-fit:cover;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--shadow)}.pd-hero--empty{display:grid;place-items:center;color:var(--muted);font-size:14px}.product-detail h1{font-size:34px}.pd-info{align-self:start}.pd-eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:var(--brand);margin-bottom:var(--sp-3)}.pd-price{font-size:30px;font-weight:700;margin-top:var(--sp-3)}.pd-divider{height:1px;border:0;background:var(--border);margin:var(--sp-5) 0}.pd-buy{gap:var(--sp-4)}.pd-buy,.pd-qty{display:flex;flex-direction:column}.pd-qty{gap:var(--sp-2)}.pd-qty-label{font-size:13px;color:var(--muted);font-weight:600}.qty-stepper{display:inline-flex;align-items:center;align-self:flex-start;border:1px solid var(--border);border-radius:999px;background:var(--surface);overflow:hidden}.qty-stepper button{width:46px;height:46px;border:0;background:transparent;color:var(--text);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .15s,color .15s}.qty-stepper button:hover:not(:disabled){background:var(--brand);color:var(--on-brand)}.qty-stepper button:disabled{opacity:.35;cursor:not-allowed}.qty-value{min-width:44px;text-align:center;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.btn-lg{width:100%;padding:15px 22px;font-size:15.5px}.pd-add{box-shadow:0 8px 22px color-mix(in srgb,var(--brand) 32%,transparent)}.pd-add:hover{transform:translateY(-1px)}.pd-cart-link{margin-top:var(--sp-3)}.cart-row{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) 0;border-bottom:1px solid var(--border)}.cart-row .flex{flex:1 1}.cart-total{display:flex;justify-content:space-between;font-size:20px;font-weight:700;margin:var(--sp-5) 0}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--sp-4)}.field label{font-size:13px;color:var(--muted);font-weight:600}.store-header{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--surface);border-bottom:1px solid var(--border)}.store-header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);max-width:1040px;margin:0 auto;padding:var(--sp-4) var(--sp-5);flex-wrap:wrap}.theme-toggle-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.theme-toggle-btn:hover{background:var(--surface-2)}.theme-toggle-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.store-brand{display:flex;align-items:center;gap:var(--sp-3)}.store-logo{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border)}.store-titles{display:flex;flex-direction:column}.store-name{font-weight:800;font-size:20px;letter-spacing:-.03em}.store-desc{font-size:13px}.store-head-right{display:flex;align-items:center;gap:var(--sp-4)}.store-contact{display:inline-flex;gap:var(--sp-3);font-size:14px}.store-contact a:hover{color:var(--text)}@media (max-width:640px){.product-detail{grid-template-columns:1fr}}