:root{--bg: #f4f6fb;--text: #16181f;--hint: #7a8296;--accent: #2f6bff;--accent-weak: #eaf0ff;--card: #ffffff;--line: #e7ebf3;--ok: #12925a;--danger: #e0405a;--shadow: 0 1px 3px rgba(20, 30, 60, .06), 0 4px 16px rgba(20, 30, 60, .05)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,system-ui,sans-serif;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);-webkit-tap-highlight-color:transparent}.container{padding:12px}.card{background:var(--card);border-radius:16px;padding:12px;margin-bottom:10px;box-shadow:var(--shadow);border:1px solid var(--line)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.price{font-weight:800;font-size:18px;color:var(--text)}.btn{background:var(--accent);color:#fff;border:0;border-radius:14px;padding:15px;width:100%;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #2f6bff47}.btn:disabled{opacity:.45;box-shadow:none}.hint{color:var(--hint);font-size:13px}.skeleton{background:linear-gradient(90deg,#eef1f7,#f6f8fc,#eef1f7);border-radius:14px;height:150px;animation:pulse 1.2s infinite}@keyframes pulse{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}.topbar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;position:sticky;top:0;background:#f4f6fbe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;border-bottom:1px solid var(--line)}.pcard{padding:0;overflow:hidden}.pcard .thumb{width:100%;aspect-ratio:1 / 1;object-fit:contain;display:block;background:#f7f9fc;padding:6px}.pcard .body{padding:10px 12px 12px}.pcard .nm{font-weight:600;font-size:14px;line-height:1.25}.badge-new{position:absolute;top:8px;left:8px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:20px}.pcard-wrap{position:relative}.carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:16px}.carousel::-webkit-scrollbar{display:none}.carousel img{flex:0 0 100%;scroll-snap-align:center;width:100%;height:340px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:16px}.dots{display:flex;justify-content:center;gap:6px;margin:8px 0 2px}.dots span{width:7px;height:7px;border-radius:50%;background:var(--line);transition:.2s}.dots span.on{background:var(--accent);width:18px;border-radius:4px}.gallery{width:100%;height:340px;object-fit:contain;border-radius:16px;background:#fff;border:1px solid var(--line)}.bottomnav{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:6px 0 calc(6px + env(safe-area-inset-bottom));z-index:20}.bottomnav a{flex:1;text-align:center;color:var(--hint);text-decoration:none;font-size:11px;padding:4px 0}.bottomnav a.active{color:var(--accent)}.bottomnav .ic{font-size:20px;display:block}.content{padding-bottom:74px}.filterbar{padding:10px 12px 0;position:sticky;top:49px;background:var(--bg);z-index:9}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.chip{flex:0 0 auto;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:20px;padding:8px 14px;font-size:13px;white-space:nowrap}.chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}.select-sm{flex:0 0 auto;width:auto;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:20px;padding:8px 12px;font-size:13px}.checkline{display:flex;align-items:center;gap:8px;color:var(--text);margin-top:10px;font-size:14px}.checkline input{width:auto}.qty{display:flex;align-items:center;gap:10px}.qty button{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:18px}.form input,.form select,.form textarea{width:100%;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:15px;margin-top:8px;font-family:inherit}.hero{margin:12px;padding:22px 18px;border-radius:18px;color:#fff;background:linear-gradient(120deg,#1f6ad6,#3b5bbf 55%,#e21f26);box-shadow:0 8px 24px #1f6ad64d}.hero h1{margin:0 0 6px;font-size:22px}.hero p{margin:0;opacity:.92;font-size:14px}.hero .cta{margin-top:14px;display:inline-block;background:#fff;color:#2f6bff;font-weight:700;padding:9px 16px;border-radius:12px;text-decoration:none;font-size:14px}.cat-grid{display:flex;gap:8px;overflow-x:auto;padding:4px 12px 8px}.cat-pill{flex:0 0 auto;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-size:13px;color:var(--text);text-decoration:none;white-space:nowrap;box-shadow:var(--shadow)}.rail-head{display:flex;justify-content:space-between;align-items:baseline;padding:6px 14px 4px}.link-btn{background:none;border:0;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer}.rail{display:flex;gap:10px;overflow-x:auto;padding:2px 12px 8px;-webkit-overflow-scrolling:touch}.rail>a{flex:0 0 150px;margin-bottom:0}.old-price{color:var(--hint);text-decoration:line-through;font-size:13px;font-weight:500;margin-left:6px}.disc-badge{position:absolute;top:8px;right:8px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:20px}
