:root{--bg:#f6f7f9;--surface:#ffffff;--surface-2:#eef0f3;--text:#14171c;--text-2:#5b6470;--text-3:#8a93a0;--border:#e2e5ea;--accent:#1d6ff2;--accent-bg:#e8f0fe;--good:#0f7a3d;--good-bg:#e3f5ea;--bad:#b3261e;--bad-bg:#fbe9e7;--radius:12px}@media (prefers-color-scheme:dark){:root{--bg:#0f1216;--surface:#181c22;--surface-2:#232830;--text:#eef0f3;--text-2:#aab2bd;--text-3:#7d8693;--border:#2b313a;--accent:#6ea2ff;--accent-bg:#1c2a44;--good:#5fd18b;--good-bg:#16301f;--bad:#ff8a80;--bad-bg:#3a1f1c}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.4;-webkit-text-size-adjust:100%}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer}img{display:block}.app{max-width:480px;margin:0 auto;min-height:100dvh;padding:0 0 84px;background:var(--bg)}.pad{padding:0 16px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--bg);padding:12px 16px 8px}.loc{display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:4px 0;font-weight:600;font-size:14px;max-width:100%}.loc span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:0 6px 0 12px;height:46px;margin-top:6px}.search input{flex:1 1;min-width:0;outline:none;height:100%;font-size:16px}.icon-btn,.search input{border:0;background:none}.icon-btn{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:var(--text-2);font-size:20px}.icon-btn:active{background:var(--surface-2)}.section{margin-top:20px}.section-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 16px;margin-bottom:8px}.section-head h2{font-size:17px;margin:0}.hint{color:var(--text-2);font-size:13px}.hscroll{display:flex;gap:10px;overflow-x:auto;padding:2px 16px 6px;scroll-snap-type:x proximity;scrollbar-width:none}.hscroll::-webkit-scrollbar{display:none}.hscroll>*{scroll-snap-align:start;flex:none}.list{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.row{display:flex;align-items:center;gap:12px;padding:10px 16px;min-height:64px}.row+.row{border-top:1px solid var(--border)}.row-main{flex:1 1;min-width:0}.row-title{font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.row-sub{font-size:12px;color:var(--text-2);margin-top:2px}.row-price{text-align:right;flex:none}.price{font-weight:700;font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.thumb{width:52px;height:52px;border-radius:10px;background:var(--surface-2);object-fit:contain;flex:none}.thumb-empty{display:grid;place-items:center;font-size:20px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;padding:0 16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px;display:block;position:relative}.card.mini{width:148px}.card .thumb{width:100%;height:96px;margin-bottom:8px;background:#fff}.card-title{font-size:13px;line-height:1.3;height:34px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-foot{margin-top:6px}.badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 6px;border-radius:6px;white-space:nowrap}.badge.good{background:var(--good-bg);color:var(--good)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge.acc{background:var(--accent-bg);color:var(--accent)}.card .badge{position:absolute;top:12px;left:12px}.nav{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.nav-in{max-width:480px;margin:0 auto;display:flex}.nav a{flex:1 1;text-align:center;padding:8px 0 10px;font-size:11px;color:var(--text-3)}.nav a.on{color:var(--accent);font-weight:600}.nav .ic{display:block;font-size:20px;line-height:1.2}.btn{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);font-weight:600;width:100%}.btn.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn.small{height:40px;font-size:13px}.btn-row,.chips{display:flex;gap:8px}.chips{overflow-x:auto;padding:0 16px;scrollbar-width:none}.chip{flex:none;border:1px solid var(--border);background:var(--surface);border-radius:99px;padding:6px 12px;font-size:13px}.chip.on{background:var(--text);color:var(--bg);border-color:var(--text)}.sheet-back{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--surface);width:100%;max-width:480px;max-height:88dvh;border-radius:18px 18px 0 0;padding:16px;display:flex;flex-direction:column;gap:12px;overflow:hidden}.sheet h3{margin:0;font-size:18px}.sheet-list{overflow-y:auto;margin:0 -16px}.sheet-item{display:block;width:100%;text-align:left;padding:12px 16px;background:none;border:0;border-top:1px solid var(--border);font-size:15px}.input{width:100%;height:44px;border:1px solid var(--border);background:var(--bg);border-radius:10px;padding:0 12px;font-size:16px;outline:none}.err{color:var(--bad);font-size:13px}.empty{text-align:center;padding:48px 24px;color:var(--text-2)}.empty h3{margin:0 0 6px;color:var(--text);font-size:17px}.skeleton{background:linear-gradient(90deg,var(--surface-2),var(--surface),var(--surface-2));background-size:200% 100%;animation:sk 1.2s linear infinite;border-radius:8px}@keyframes sk{to{background-position:-200% 0}}.hero{display:flex;gap:14px;padding:16px;align-items:center}.hero .thumb{width:88px;height:88px;background:#fff}.hero h1{font-size:17px;margin:0 0 4px;line-height:1.3}.offer{display:flex;align-items:center;gap:10px;padding:12px 16px}.offer+.offer{border-top:1px solid var(--border)}.offer.best{background:var(--accent-bg)}.offer-main{flex:1 1;min-width:0}.offer-name{font-weight:600;font-size:14px}.offer a.link{color:var(--accent);font-size:12px}.stat-row{display:flex;gap:8px;padding:0 16px;margin-top:10px}.stat{flex:1 1;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 10px}.stat b{display:block;font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat span{font-size:11px;color:var(--text-2)}.chart{padding:8px 16px 0}.changes{padding:6px 16px 0}.change{display:flex;justify-content:space-between;padding:8px 0;font-size:13px;border-bottom:1px solid var(--border)}.vsw{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.vsw button{border:0;background:var(--surface);padding:4px 10px;font-size:12px;color:var(--text-2)}.vsw button.on{background:var(--text);color:var(--bg)}.video{width:100%;aspect-ratio:4/3;background:#000;border-radius:12px;object-fit:cover}.brandrow{display:flex;align-items:center;gap:10px}.thumb-empty{background:var(--surface-2)!important;color:var(--text-3);opacity:.9}.thumb-empty svg{opacity:.55}.pc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:0 0 6px}.pc-price{font-size:24px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15}.pc-sub{font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pc-when{color:var(--text-2);font-weight:400}.pc-svg{display:block;touch-action:pan-y;-moz-user-select:none;user-select:none;-webkit-user-select:none;cursor:crosshair}.stale{background:#fff4d6;color:#6b4a00;font-size:12px;padding:8px 16px;border-bottom:1px solid #f0d58a}@media (prefers-color-scheme:dark){.stale{background:#3a2f10;color:#f2d68a;border-color:#5a4a1c}}.scan-box{position:relative;border-radius:12px;overflow:hidden;background:#000}.scan-box .video{border-radius:0;display:block}.scan-frame{left:12%;right:12%;top:30%;bottom:30%;border:2px solid rgba(255,255,255,.9);border-radius:10px;box-shadow:0 0 0 999px rgba(0,0,0,.35)}.scan-frame,.scan-line{position:absolute;pointer-events:none}.scan-line{left:14%;right:14%;top:50%;height:2px;background:#6ee7b7;opacity:.9}.where{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.where .more{color:var(--text-3)}.chip-market{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 6px}.chip-market.on{background:var(--surface-2);color:var(--text);border-color:var(--text)}.was{color:var(--text-3);font-size:12px;text-decoration:line-through;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}