:root{--color-app-bg:#f4f5f7;--color-app-bg-elevated:#fff;--color-surface-card:#fff;--color-surface-card-pressed:#f8fafc;--color-surface-muted:#eef0f3;--color-border-subtle:#e5e7eb;--color-border-strong:#d1d5db;--color-border-focus:#ca8a04;--color-search-bg:#fff;--color-search-placeholder:#9ca3af;--color-search-icon:#6b7280;--color-search-cta-bg:#eab308;--color-search-cta-bg-pressed:#ca8a04;--color-search-cta-text:#422006;--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-text-tertiary:#9ca3af;--color-text-price:#0f172a;--color-text-link:#52525b;--color-text-on-lowest:#422006;--color-text-on-muted:#6b7280;--color-brand-yellow:#eab308;--color-brand-yellow-pressed:#ca8a04;--color-brand-yellow-soft:#eab30824;--color-lowest-bar:#eab308;--color-lowest-pill-bg:#eab308;--color-lowest-pill-text:#422006;--color-price-from:#0f172a;--color-summary-lowest:#0f172a;--color-shipping-note:#6b7280;--color-stale-bg:#f59e0b1f;--color-stale-border:#f59e0b;--color-stale-text:#b45309;--color-oos-text:#9ca3af;--color-oos-bg:#9ca3af1f;--color-chip-unselected-bg:#fff;--color-chip-unselected-border:#e5e7eb;--color-chip-unselected-text:#374151;--color-chip-selected-bg:#eab30829;--color-chip-selected-border:#eab308;--color-chip-selected-text:#713f12;--color-skeleton:#e5e7eb;--color-skeleton-shine:#f3f4f6;--radius:14px;--shadow:0 1px 2px #0000000a;--sans:-apple-system, "SF Pro Text", "PingFang TC", "PingFang HK", "Noto Sans TC", "Helvetica Neue", sans-serif;--motion:.14s ease-out;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--sans);color:var(--color-text-primary);background:var(--color-app-bg);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.45}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--color-app-bg);min-height:100dvh}button,input{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{max-width:640px;min-height:100dvh;padding:max(12px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));margin:0 auto}.home{flex-direction:column;gap:28px;padding-top:min(18vh,140px);display:flex}.home-tagline{letter-spacing:.08em;text-transform:uppercase;color:var(--color-brand-yellow-pressed);margin:0 0 6px;font-size:.85rem;font-weight:600}.home-title{letter-spacing:-.02em;color:var(--color-text-primary);margin:0 0 20px;font-size:1.65rem;font-weight:700}.home-hero{text-align:center}.home-empty-hint{color:var(--color-text-tertiary);margin:16px 0 0;font-size:12px;line-height:16px}.search-bar{gap:8px;width:100%;max-width:640px;margin:0 auto;display:flex}.search-bar input{border:1px solid var(--color-border-strong);background:var(--color-search-bg);height:54px;box-shadow:var(--shadow);color:var(--color-text-primary);border-radius:14px;outline:none;flex:1;padding:0 18px;font-size:17px;font-weight:400;line-height:24px}.search-bar input::placeholder{color:var(--color-search-placeholder)}.search-bar input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-brand-yellow-soft)}.search-bar button{background:var(--color-search-cta-bg);height:54px;color:var(--color-search-cta-text);cursor:pointer;white-space:nowrap;transition:background var(--motion);border:none;border-radius:14px;padding:0 18px;font-weight:700}.search-bar button:active{background:var(--color-search-cta-bg-pressed)}.search-bar--compact{flex:1}.search-bar--compact input{height:44px;box-shadow:none;padding:0 14px;font-size:15px}.search-bar--compact button{height:44px;padding:0 14px}.chip-section{text-align:left}.chip-label{color:var(--color-text-secondary);margin:0 0 8px;font-size:12px;line-height:16px}.chip-row,.filter-row{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--color-chip-unselected-border);background:var(--color-chip-unselected-bg);cursor:pointer;height:34px;color:var(--color-chip-unselected-text);transition:background var(--motion), border-color var(--motion), color var(--motion);border-radius:999px;padding:0 14px;font-size:13px;font-weight:600;line-height:18px}.chip--muted{border-color:var(--color-chip-unselected-border);color:var(--color-chip-unselected-text);background:#fff}.chip.is-active{border-color:var(--color-chip-selected-border);background:var(--color-chip-selected-bg);color:var(--color-chip-selected-text)}.top-bar{background:0 0;align-items:center;gap:8px;margin-bottom:12px;display:flex}.back-btn{border:1px solid var(--color-border-subtle);background:var(--color-surface-card);cursor:pointer;border-radius:12px;flex-shrink:0;width:40px;height:40px;font-size:1.1rem}.top-bar-title{font-size:15px;font-weight:600;line-height:20px}.results-meta{color:var(--color-text-secondary);margin:0 0 12px;font-size:12px;line-height:16px}.empty-state,.empty-hint{color:var(--color-text-secondary);padding:24px 4px;font-size:12px;line-height:16px}.linkish{color:#374151;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.product-list,.price-table{animation:fade-in var(--motion);flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.price-table{gap:9px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.product-card{text-align:left;border:1px solid var(--color-border-subtle);border-radius:var(--radius);background:var(--color-surface-card);cursor:pointer;width:100%;box-shadow:var(--shadow);transition:background var(--motion), transform var(--motion);align-items:center;gap:12px;padding:12px;display:flex}.product-card:hover{background:var(--color-surface-card-pressed)}.product-card:active{background:var(--color-surface-card-pressed);transform:scale(.98)}.product-thumb{background:var(--color-surface-muted);border-radius:10px;flex-shrink:0;place-items:center;width:72px;height:72px;font-size:1.6rem;display:grid}.product-thumb.lg{width:88px;height:88px;font-size:2rem}.product-body{flex:1;min-width:0}.product-name,.detail-title{color:var(--color-text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:16px;font-weight:600;line-height:22px;display:-webkit-box;overflow:hidden}.product-spec{color:var(--color-text-secondary);margin:2px 0 0;font-size:13px;font-weight:400;line-height:18px}.product-cover{color:var(--color-text-tertiary);margin-top:4px;font-size:12px;line-height:16px}.from-price{color:var(--color-price-from);font-variant-numeric:tabular-nums;margin-top:4px;font-size:17px;font-weight:700;line-height:22px;display:block}.chevron{color:#cbd5e1;font-size:1.4rem}.product-summary{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius);align-items:flex-start;gap:14px;margin-bottom:14px;padding:14px;display:flex}.update-note{color:var(--color-text-tertiary);margin:6px 0 0;font-size:12px;line-height:16px}.lowest-summary{color:inherit;background:var(--color-brand-yellow-soft);transition:background var(--motion);border:1px solid #eab30873;border-radius:12px;margin-bottom:14px;padding:12px 14px;font-size:15px;font-weight:600;line-height:20px;text-decoration:none;display:block}.lowest-summary:active{background:#eab30838}.lowest-summary .lowest-label{color:var(--color-text-secondary);font-weight:600}.lowest-summary strong{color:var(--color-summary-lowest);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:28px}.lowest-summary .sep{color:var(--color-text-secondary);margin:0 6px}.lowest-summary .store-part{color:var(--color-text-primary);font-weight:600}.filter-row{margin-bottom:10px}.sort-bar{align-items:center;gap:6px;margin-bottom:12px;font-size:.9rem;display:flex}.sort-label{color:var(--color-text-secondary)}.sort-btn{border:1px solid var(--color-border-subtle);background:var(--color-surface-card);cursor:pointer;color:var(--color-chip-unselected-text);transition:background var(--motion), border-color var(--motion);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.sort-btn.is-active{border-color:var(--color-chip-selected-border);background:var(--color-chip-selected-bg);color:var(--color-chip-selected-text)}.price-row{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);transition:background var(--motion), border-color var(--motion);border-left:3px solid #0000;border-radius:12px;padding:12px 15px;scroll-margin-top:80px}.price-row.is-lowest{background:var(--color-brand-yellow-soft);border-color:#eab30859;border-left-color:var(--color-lowest-bar)}.price-row.is-lowest.flash{box-shadow:0 0 0 3px #eab30859}.price-row.is-oos{background:var(--color-oos-bg);color:var(--color-oos-text)}.price-row.is-oos .price-num,.price-row.is-oos .merchant-name{color:var(--color-oos-text)}.price-row.is-stale:not(.is-lowest){border-left-color:var(--color-stale-border)}.price-row-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.merchant-line,.price-line,.meta-line{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.merchant-line{flex-wrap:nowrap;flex:1}.store-logo{border:1px solid var(--color-border-subtle);background:#fafafa;border-radius:7px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid;position:relative;overflow:hidden}.store-logo--dimmed{opacity:.6}.store-logo__img{object-fit:contain;opacity:0;width:28px;height:28px;transition:opacity .14s ease-out}.store-logo__img.is-ready{opacity:1}.store-logo__skeleton{background:var(--color-skeleton);border-radius:5px;position:absolute;inset:4px}.store-logo--fallback{background:#f4f4f5}.store-logo__abbr{color:#52525b;letter-spacing:-.02em;font-size:12px;font-weight:700;line-height:1}.merchant-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;line-height:18px;overflow:hidden}.oos-tag{color:var(--color-oos-text);border:1px solid var(--color-border-subtle);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.75rem}.price-line{flex-shrink:0;gap:6px;margin-top:0}.price-num{letter-spacing:-.02em;color:var(--color-text-price);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:28px}.price-num--oos{color:var(--color-oos-text);text-decoration:line-through}.badge-lowest{background:var(--color-lowest-pill-bg);color:var(--color-lowest-pill-text);letter-spacing:.02em;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;line-height:14px;display:inline-flex}.shipping-note{color:var(--color-shipping-note);margin-top:4px;margin-left:44px;font-size:12px;line-height:16px}.meta-line{color:var(--color-text-tertiary);gap:8px;margin-top:8px;font-size:12px;line-height:16px}.stale-warn{color:var(--color-stale-text);background:var(--color-stale-bg);border-radius:6px;padding:1px 6px;font-size:12px;font-weight:600;line-height:16px}.store-cta{border:1px solid var(--color-border-strong);background:var(--color-surface-card);color:#374151;cursor:pointer;white-space:nowrap;height:34px;transition:background var(--motion), border-color var(--motion);border-radius:8px;margin-left:auto;padding:0 12px;font-size:13px;font-weight:600;line-height:18px}.store-cta:hover{background:var(--color-surface-card-pressed)}.store-cta:active{background:var(--color-surface-muted)}.open-hint{color:var(--color-text-secondary);margin-left:auto;font-size:12px;line-height:16px}@media (width<=400px){.shipping-note{margin-left:0}.store-cta{height:32px;padding:0 10px;font-size:12px}}.skeleton-card{border-radius:var(--radius);background:linear-gradient(90deg, var(--color-skeleton) 0%, var(--color-skeleton-shine) 50%, var(--color-skeleton) 100%);background-size:200% 100%;height:96px;animation:1.2s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
