:root{--bg:#0b0d12;--surface:#121620;--text:#eef0f6;--muted:rgba(238,240,246,.70);--border:rgba(238,240,246,.14);--shadow:0 10px 30px rgba(0,0,0,.35);--shadow-strong:0 16px 45px rgba(0,0,0,.45);--accent:#8aa0ff;--accent-2:#b18cff;--ui-radius:14px;--theme-fade:320ms;--selected-border:#9db0ff;--selected-border-light:#2f4bff;--nav-sticky-top:12px;--nav-max-width:1100px;--page-bg:radial-gradient(1200px 700px at 15% 0%,rgba(138,160,255,.22),transparent 60%),radial-gradient(1200px 700px at 85% 0%,rgba(177,140,255,.18),transparent 60%),linear-gradient(180deg,rgba(18,22,32,1) 0%,rgba(11,13,18,1) 42%,rgba(11,13,18,1) 100%);--page-bg-light:radial-gradient(1200px 700px at 15% 0%,rgba(75,91,220,.16),transparent 60%),radial-gradient(1200px 700px at 85% 0%,rgba(122,59,214,.14),transparent 60%),linear-gradient(180deg,rgba(251,251,252,1) 0%,rgba(245,246,250,1) 42%,rgba(245,246,250,1) 100%)}[hidden]{display:none!important}*{box-sizing:border-box}html,body{height:100%}html{min-height:100%;background-color:var(--bg)}html[data-theme="light"]{--bg:#fbfbfc;--surface:#ffffff;--text:#16181d;--muted:#5a616e;--border:rgba(20,23,30,.12);--shadow:0 10px 30px rgba(15,18,25,.08);--shadow-strong:0 16px 45px rgba(15,18,25,.14);--accent:#4b5bdc;--accent-2:#7a3bd6;background-color:var(--bg)}body{margin:0;color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.5;background-color:var(--bg);background-image:var(--page-bg);background-repeat:no-repeat;background-size:auto;background-position:center top;min-height:100vh;min-height:100svh;min-height:100dvh;transition:color var(--theme-fade) ease}html[data-theme="light"] body{background-color:var(--bg);background-image:var(--page-bg-light)}a{color:inherit}a:hover{text-decoration:none}#main{scroll-margin-top:calc(var(--nav-sticky-top) + 92px)}.skip-link{position:absolute;left:12px;top:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--ui-radius);box-shadow:var(--shadow);transform:translateY(-150%);transition:transform 150ms ease;z-index:2000}.skip-link:focus{transform:translateY(0)}#snow{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.45}#snow::before,#snow::after{content:"";position:absolute;inset:-30% 0 0 0;background-repeat:repeat;will-change:transform}#snow::before{opacity:.9;filter:blur(.2px);background-image:radial-gradient(circle,rgba(255,255,255,.85) 0 1px,transparent 2px),radial-gradient(circle,rgba(255,255,255,.65) 0 1.4px,transparent 3px),radial-gradient(circle,rgba(255,255,255,.55) 0 1px,transparent 2px);background-size:180px 220px,260px 320px,140px 190px;background-position:0 0,40px 80px,90px 30px}#snow::after{opacity:.55;filter:blur(.6px);background-image:radial-gradient(circle,rgba(255,255,255,.65) 0 2px,transparent 4px),radial-gradient(circle,rgba(255,255,255,.45) 0 2.6px,transparent 5px);background-size:420px 520px,360px 440px;background-position:120px 0,0 140px}@media (prefers-reduced-motion:no-preference){#snow::before{animation:snow-fall-1 12s linear infinite}#snow::after{animation:snow-fall-2 18s linear infinite}@keyframes snow-fall-1{0%{transform:translate3d(0,-10%,0)}100%{transform:translate3d(20px,35%,0)}}@keyframes snow-fall-2{0%{transform:translate3d(0,-12%,0)}100%{transform:translate3d(-30px,38%,0)}}}.site-header{position:relative;z-index:10}.page-content,.footer{position:relative;z-index:auto}.site-header{max-width:var(--nav-max-width);margin:0 auto;padding:calc(var(--nav-sticky-top) + 78px) 18px 0}.navbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 14px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);position:fixed;top:var(--nav-sticky-top);left:50%;transform:translateX(-50%);width:calc(100% - 36px);max-width:var(--nav-max-width);z-index:9999;isolation:isolate}@supports (backdrop-filter:blur(8px)){.navbar{backdrop-filter:blur(10px)}}.brand{display:flex;align-items:baseline;gap:10px;min-width:240px}.brand-mark{color:var(--accent-2)}.brand-name{font-family:"Playfair Display",Georgia,serif;font-weight:700;text-decoration:none;font-size:18px}.brand-sub{color:var(--muted);font-size:12px}.nav-links{list-style:none;display:flex;gap:18px;padding:0;margin:0}.nav-links a{text-decoration:none;color:var(--muted);font-weight:600}.nav-links a[aria-current="page"]{color:var(--text)}.nav-actions{display:inline-flex;align-items:center;gap:10px}.theme-toggle,.cart-btn{display:inline-flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:999px;cursor:pointer;color:var(--text);font-weight:800;box-shadow:0 2px 10px rgba(15,18,25,.06);transition:background-color var(--theme-fade) ease,border-color var(--theme-fade) ease,color var(--theme-fade) ease}.theme-toggle-label{font-size:12px;color:var(--muted);font-weight:800}.cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:22px;padding:0 8px;border-radius:999px;background:rgba(138,160,255,.18);font-size:12px}html[data-theme="light"] .cart-count{background:rgba(75,91,220,.12)}.hero{padding:34px 6px 10px;text-align:center}.hero-title{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(30px,4vw,44px)}.hero-subtitle{margin:10px auto 0;max-width:62ch;color:var(--muted)}.page-content{max-width:var(--nav-max-width);margin:0 auto;padding:22px 18px 18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}.card{position:relative;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform 160ms ease,box-shadow 180ms ease,border-color 180ms ease}.card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 220ms ease;background:linear-gradient(135deg,rgba(138,160,255,.10),rgba(177,140,255,.06),rgba(0,0,0,.00))}html[data-theme="light"] .card::before{background:linear-gradient(135deg,rgba(75,91,220,.10),rgba(122,59,214,.06),rgba(255,255,255,.00))}.card-media{position:relative;aspect-ratio:1 / 1;overflow:hidden;background:rgba(0,0,0,.05)}.card-media::before{content:"";position:absolute;inset:-12%;background-image:var(--media-src);background-size:cover;background-position:center;filter:blur(18px) saturate(1.05);opacity:.55;transform:scale(1.08)}.card-media::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,transparent 0%,rgba(0,0,0,.22) 70%);opacity:.55}.item-image{position:relative;z-index:1;width:100%;height:100%;display:block;object-fit:contain;padding:8px}html[data-theme="light"] .card-media::before{opacity:.42}html[data-theme="light"] .card-media::after{opacity:.30}.card-media,.card-body{position:relative;z-index:1}.card-body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:12px;flex:1}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.title{margin:0;font-size:16px;font-weight:900;letter-spacing:.2px}.price{margin:0;color:var(--muted);font-weight:900;white-space:nowrap}.sale{color:var(--accent-2);font-weight:900}.description{margin:0;color:var(--muted);font-size:14px;line-height:1.55;flex:1}.btn{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:900;padding:11px 12px;border-radius:12px;cursor:pointer}.btn-primary{border-color:rgba(138,160,255,.35);background:linear-gradient(135deg,rgba(138,160,255,.18),rgba(177,140,255,.12))}html[data-theme="light"] .btn-primary{border-color:rgba(75,91,220,.30);background:linear-gradient(135deg,rgba(75,91,220,.14),rgba(122,59,214,.10))}.add-btn{margin-top:auto}.card.is-selected{border-color:var(--selected-border);box-shadow:var(--shadow-strong)}html[data-theme="light"] .card.is-selected{border-color:var(--selected-border-light)}.add-btn.is-added{border-color:var(--selected-border);background:linear-gradient(135deg,rgba(157,176,255,.26),rgba(177,140,255,.16))}html[data-theme="light"] .add-btn.is-added{border-color:var(--selected-border-light);background:linear-gradient(135deg,rgba(47,75,255,.20),rgba(122,59,214,.14))}@media (prefers-reduced-motion:no-preference){.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-strong)}.card:hover::before{opacity:1}}.footer{margin-top:22px;padding:26px 18px 36px}.footer-inner{max-width:var(--nav-max-width);margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--ui-radius);padding:18px;box-shadow:var(--shadow);text-align:center}.footer-links{list-style:none;padding:0;margin:14px 0 0;display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.footer-links a{color:var(--muted);font-weight:800;text-decoration:none}.footer-links a:hover{color:var(--text)}.cart-toast{position:absolute;right:0;top:calc(100% + 10px);width:min(320px,90vw);background:#7a1111;color:#ffffff;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:10px 12px;box-shadow:0 18px 40px rgba(0,0,0,.45);transform:translateY(-10px);opacity:0;pointer-events:none;z-index:10}.cart-toast.is-open{opacity:1;transform:translateY(0);pointer-events:auto}@media (prefers-reduced-motion:no-preference){.cart-toast{transition:transform 220ms ease,opacity 220ms ease}}@media (prefers-reduced-motion:reduce){.cart-toast{transition:none}}.modal{position:fixed;inset:0;background:rgba(15,18,25,.62);display:flex;align-items:center;justify-content:center;padding:18px;z-index:3000}.modal-content{width:min(520px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--ui-radius);padding:18px;box-shadow:var(--shadow-strong)}.modal-buttons{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}.btn-ghost{background:transparent;color:var(--muted)}:focus-visible{outline:3px solid rgba(157,176,255,.40);outline-offset:3px;border-radius:12px}html[data-theme="light"]:focus-visible{outline:3px solid rgba(17,24,39,.35)}@media (max-width:780px){.navbar{flex-wrap:wrap;gap:10px}.brand{min-width:0;width:100%;justify-content:center}.nav-links{width:100%;justify-content:center}.nav-actions{width:100%;justify-content:center}.cart-toast{right:50%;transform:translate(50%,-10px)}.cart-toast.is-open{transform:translate(50%,0)}}