.app{width:100%;max-width:1180px;margin:0 auto;padding:32px 24px 72px}.demo-note{color:var(--ink-soft);font-size:.85rem;line-height:1.6}.store-tools{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.store-tools label{flex:1 1 220px;display:grid;gap:8px;color:var(--ink-soft);font-size:.85rem}.store-tools input,.store-tools select{min-width:0;padding:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius);font:inherit}.store-tools input:focus-visible,.store-tools select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.qty-btn:disabled{opacity:.4;cursor:not-allowed}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:22px;margin-bottom:30px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:15px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:11px;background:var(--accent);color:var(--accent-ink);font-family:var(--serif);font-size:1.5rem;font-weight:700;box-shadow:var(--shadow-sm)}.brand-kicker{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-faint);margin-bottom:2px}.brand h1{margin:0;font-family:var(--serif);font-size:1.7rem;font-weight:700;letter-spacing:-.01em;line-height:1}.cart-count{background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);padding:8px 16px;border-radius:999px;font-size:.85rem;font-weight:600}.layout{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start}.category-filter{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:24px}.chip{background:transparent;border:1px solid var(--line);color:var(--ink-soft);padding:8px 16px;border-radius:999px;font-size:.85rem;font-weight:600;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.chip:hover{color:var(--ink);border-color:var(--ink-faint)}.chip-active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.chip-active:hover{color:var(--accent-ink);border-color:var(--accent)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(244px,1fr));gap:20px}.grid-empty{color:var(--ink-soft);padding:40px 0}.product-card{display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.product-card:hover{transform:translateY(-3px);border-color:#3d424c;box-shadow:var(--shadow)}.product-tag{align-self:flex-start;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}.product-name{margin:0;font-family:var(--serif);font-size:1.2rem;font-weight:700;letter-spacing:-.01em}.product-desc{margin:0;color:var(--ink-soft);font-size:.9rem;line-height:1.55;flex:1}.product-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}.product-price{font-size:1.15rem;font-weight:700}.btn{border:none;border-radius:var(--radius-sm);font-weight:600;font-size:.88rem;transition:background-color .18s ease,transform .12s ease}.btn-add{background:var(--accent);color:var(--accent-ink);padding:9px 16px}.btn-add:hover{background:var(--accent-strong)}.btn-add:active{transform:translateY(1px)}.cart{position:sticky;top:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm)}.cart-title{margin:0 0 18px;font-family:var(--serif);font-size:1.3rem;font-weight:700}.cart-empty{color:var(--ink-soft);font-size:.92rem;line-height:1.55;margin:0}.cart-list{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:13px}.cart-item{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px}.cart-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.cart-item-name{font-weight:600;font-size:.92rem;line-height:1.35}.cart-remove{background:transparent;border:none;color:var(--ink-faint);font-size:.78rem;font-weight:600;padding:2px 4px;flex-shrink:0;transition:color .18s ease}.cart-remove:hover{color:var(--accent)}.cart-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.qty{display:flex;align-items:center;gap:2px;background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:3px}.qty-btn{width:26px;height:26px;border:none;border-radius:999px;background:transparent;color:var(--ink);font-size:1rem;line-height:1;display:grid;place-items:center;transition:background-color .18s ease,color .18s ease}.qty-btn:hover{background:var(--accent);color:var(--accent-ink)}.qty-value{min-width:24px;text-align:center;font-weight:600;font-size:.9rem}.cart-item-price{font-weight:700;font-size:.95rem}.cart-summary{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;gap:11px}.summary-line{display:flex;justify-content:space-between;color:var(--ink-soft);font-size:.92rem}.summary-total{color:var(--ink);font-size:1.2rem;font-weight:700}.btn-checkout{margin-top:8px;background:var(--accent);color:var(--accent-ink);padding:12px 16px;font-size:.92rem}.btn-checkout:hover:not(:disabled){background:var(--accent-strong)}.btn-checkout:disabled{background:var(--surface-2);color:var(--ink-faint);cursor:not-allowed}@media(max-width:900px){.layout{grid-template-columns:1fr}.cart{position:static}}@media(max-width:520px){.app{padding:24px 16px 56px}.product-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}}:root{--bg: #16181c;--bg-soft: #1b1e23;--surface: #212429;--surface-2: #282c33;--line: #31353d;--ink: #e9eaed;--ink-soft: #a1a6af;--ink-faint: #7b818b;--accent: #c9743a;--accent-strong: #b56430;--accent-ink: #fbf6f1;--radius: 14px;--radius-sm: 9px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 2px 6px rgba(0, 0, 0, .28), 0 10px 24px rgba(0, 0, 0, .2);--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--sans: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;font-family:var(--sans);color:var(--ink);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;background:var(--bg);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}
