:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0e1114;--color-surface:#161a1f;--color-surface-raised:#1d2229;--color-border:#2a3039;--color-text:#e9edf2;--color-muted:#98a2af;--color-accent:#4fd18b;--color-accent-strong:#79e3a9;--color-on-accent:#062414;--color-discount:#ff7a59;--color-on-discount:#2a0b02;--color-warning:#f2b84b;--color-top-row:#4fd18b1a;--color-backdrop:#04060899;--color-placeholder:#232932;--shadow-panel:0 12px 40px #00000073;--radius-small:6px;--radius:12px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-small:.8125rem;--font-size-body:.9375rem;--font-size-title:1.375rem;--font-size-subtitle:1.0625rem;--card-title-lines:3;--card-compact-width:148px;--card-compact-width-wide:176px;--content-width:1280px;--sidebar-width:280px}@media (prefers-color-scheme:light){:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f5f6f8;--color-surface:#fff;--color-surface-raised:#eef1f4;--color-border:#dce1e7;--color-text:#14181d;--color-muted:#5b6573;--color-accent:#138a52;--color-accent-strong:#0d6e40;--color-on-accent:#fff;--color-discount:#d9431f;--color-on-discount:#fff;--color-warning:#a86a00;--color-top-row:#138a5217;--color-backdrop:#14181d59;--color-placeholder:#e7eaee;--shadow-panel:0 12px 40px #14181d2e}}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.45}a{color:inherit}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--color-muted)}.app-header{z-index:10;background:color-mix(in srgb, var(--color-bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.app-header-row{align-items:center;gap:var(--space-3);max-width:var(--content-width);padding:var(--space-3) var(--space-4) var(--space-2);margin:0 auto;display:flex}.brand{letter-spacing:-.01em;color:var(--color-accent);font-size:1.125rem;font-weight:800;text-decoration:none}.city-switcher{flex:auto;min-width:0;max-width:320px;margin-right:auto}.brand,.cart-button{flex:none}.tabs{max-width:var(--content-width);padding:0 var(--space-2);scrollbar-width:none;margin:0 auto;display:flex;overflow-x:auto}.tab{padding:var(--space-2);color:var(--color-muted);text-align:center;white-space:nowrap;border-bottom:2px solid #0000;flex:1 0 auto;font-weight:600;text-decoration:none}@media (width>=640px){.tabs{gap:var(--space-1);padding:0 var(--space-4)}.tab{padding:var(--space-2) var(--space-3);flex:none}}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-text);border-bottom-color:var(--color-accent)}.app-main{max-width:var(--content-width);padding:var(--space-4);margin:0 auto}.page-title{margin:0 0 var(--space-1);font-size:var(--font-size-title)}.page-subtitle{margin:var(--space-6) 0 var(--space-3);font-size:1.125rem}.button{align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-raised);cursor:pointer;font-weight:600;display:inline-flex}.button:hover{border-color:var(--color-accent)}.button:disabled{opacity:.6;cursor:progress}.button-quiet{background:0 0}.icon-button{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-raised);cursor:pointer;place-items:center;width:32px;height:32px;font-size:1.125rem;line-height:1;display:inline-grid}.link-button{color:var(--color-muted);cursor:pointer;background:0 0;border:none;font-size:1.25rem}.link-button:hover{color:var(--color-discount)}.input,.select{width:100%;min-height:40px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface)}.notice{align-items:center;gap:var(--space-3);margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);flex-wrap:wrap;display:flex}.notice-error{border-color:var(--color-discount)}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.not-scanned{font-size:var(--font-size-small);margin:0}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.badge{padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-raised);border:1px solid var(--color-border);font-size:var(--font-size-small);color:var(--color-muted);display:inline-block}.badge-warning{color:var(--color-warning);border-color:currentColor}.ok-mark{color:var(--color-accent)}.city-list-page h1{font-size:var(--font-size-title)}.city-list{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));padding:0;list-style:none;display:grid}.city-card{gap:var(--space-1);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);text-decoration:none;display:grid}.city-card:hover{border-color:var(--color-accent)}.city-name{font-size:1.125rem;font-weight:700}.catalog-page{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.shops-header{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.shop-counts{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.shop-count{gap:var(--space-1);font-size:var(--font-size-small);display:inline-flex}.shop-count-number{color:var(--color-muted)}.scan-time{font-size:var(--font-size-small);margin:0}.shops-header .not-scanned{flex-basis:100%}.filter-bar{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);display:grid}.filter-details{gap:var(--space-3);display:grid}.filter-details[data-expanded=false]{display:none}.more-filters-button{justify-content:center}.more-filters-button[aria-expanded=true]{border-color:var(--color-accent)}.filter-row{gap:var(--space-3);grid-template-columns:1fr;display:grid}.field{gap:var(--space-1);min-width:0;display:grid}.field-label{font-size:var(--font-size-small);color:var(--color-muted);font-weight:600}.price-inputs{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.shop-toggles{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--space-2);min-height:34px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);cursor:pointer;background:0 0;display:inline-flex}.chip[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.chip-count{font-size:var(--font-size-small);opacity:.75}.quick-toggles{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.switch{align-items:center;gap:var(--space-2);cursor:pointer;display:inline-flex}.switch input{width:18px;height:18px;accent-color:var(--color-accent)}.filter-summary{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--color-border);display:flex}.product-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(156px,1fr));display:grid}.card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);flex-direction:column;display:flex;overflow:hidden}.card-media{aspect-ratio:1;background:#fff;position:relative}.card-image{object-fit:contain;width:100%;height:100%;display:block}.card-image-placeholder{background:var(--color-placeholder);place-items:center;display:grid}.card-image-placeholder svg{fill:none;width:40%;stroke:var(--color-muted);stroke-width:1.2px;opacity:.6}.discount-badge{padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--color-discount);color:var(--color-on-discount);font-weight:800;font-size:var(--font-size-small);white-space:nowrap;display:inline-block}.card-media .discount-badge{top:var(--space-2);left:var(--space-2);position:absolute}.card-body{gap:var(--space-2);padding:var(--space-3);flex-direction:column;flex:1;display:flex}.rating{font-size:var(--font-size-small);color:var(--color-warning)}.card-title{-webkit-line-clamp:var(--card-title-lines);line-clamp:var(--card-title-lines);-webkit-box-orient:vertical;font-weight:600;text-decoration:none;display:-webkit-box;overflow:hidden}a.card-title:hover{color:var(--color-accent-strong);text-decoration:underline}.card-prices{align-items:baseline;gap:var(--space-1) var(--space-2);flex-wrap:wrap;margin-top:auto;display:flex}.price{white-space:nowrap;font-size:1.125rem;font-weight:800}.old-price{color:var(--color-muted);font-size:var(--font-size-small);white-space:nowrap;text-decoration:line-through}.per-kg{font-size:var(--font-size-small);flex-basis:100%}.card-badges{gap:var(--space-1);flex-wrap:wrap;display:flex}.card-badges:empty{display:none}.card-footer{align-items:center;gap:var(--space-1) var(--space-2);font-size:var(--font-size-small);flex-wrap:wrap;display:flex}.shop-tag{overflow-wrap:anywhere;max-width:100%;padding:2px var(--space-2);border-radius:var(--radius-small);background:var(--color-surface-raised);font-weight:600}.add-button{right:var(--space-2);bottom:var(--space-2);border:2px solid var(--color-surface);width:40px;height:40px;box-shadow:var(--shadow-panel);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;place-items:center;font-size:1.375rem;font-weight:700;line-height:1;display:grid;position:absolute}.add-button:active{transform:scale(.94)}.show-more{justify-items:center;gap:var(--space-2);margin:var(--space-5) 0;display:grid}@media (width>=640px){.filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}.product-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media (width>=1024px){.catalog-page{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);align-items:start}.shops-header,.top-deals{grid-column:1/-1}.filter-bar{grid-row:span 3;position:sticky;top:112px}.filter-row{grid-template-columns:1fr}.more-filters-button{display:none}.filter-details[data-expanded]{display:grid}}.top-deals{gap:var(--space-4);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.top-deals-title{font-size:var(--font-size-title);margin:0}.banner-group{gap:var(--space-2);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.banner-group-header{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.banner-group-title{font-size:var(--font-size-subtitle);margin:0}.banner-see-all{color:var(--color-accent-strong);font-size:var(--font-size-small);flex-shrink:0;font-weight:600}.banner-cards{gap:var(--space-3);padding-bottom:var(--space-2);scroll-snap-type:x proximity;display:flex;overflow-x:auto}.card-compact{--card-title-lines:2;flex:0 0 var(--card-compact-width);scroll-snap-align:start}.card-compact .card-body{gap:var(--space-1);padding:var(--space-2)}.card-compact .card-title{font-size:var(--font-size-small)}.card-compact .rating,.card-compact .per-kg{display:none}@media (width>=640px){.card-compact{flex-basis:var(--card-compact-width-wide)}}.report-page{gap:var(--space-2);display:grid}.report-section{margin-top:var(--space-5)}.report-section-title{margin:0 0 var(--space-2);font-size:1.0625rem}.report-table{border-collapse:collapse;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%;overflow:hidden}.report-table th,.report-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.report-table th{font-size:var(--font-size-small);color:var(--color-muted);font-weight:600}.report-table tbody tr:last-child td{border-bottom:none}.report-table .table-number{text-align:right;white-space:nowrap}.report-table .old-price{display:block}.top-row{background:var(--color-top-row)}.top-mark{margin-right:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);font-size:var(--font-size-small);font-weight:800;display:inline-block}.table-title{font-weight:600;text-decoration:none}a.table-title:hover{text-decoration:underline}.table-meta{gap:var(--space-2);font-size:var(--font-size-small);flex-wrap:wrap;display:flex}.table-meta>span+span:before{content:"·";margin-right:var(--space-2)}.table-image{width:72px}.table-image img{object-fit:contain;border-radius:var(--radius-small);background:#fff;width:64px;height:64px;display:block}.per-kg-cell{color:var(--color-accent-strong);font-weight:800}.failed-sources{gap:var(--space-1);flex-wrap:wrap;display:flex}.cart-button{padding-right:var(--space-2)}.cart-count{min-width:24px;height:24px;padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);font-size:var(--font-size-small);place-items:center;font-weight:800;display:inline-grid}.cart-backdrop{z-index:20;background:var(--color-backdrop);position:fixed;inset:0}.cart-panel{gap:var(--space-4);width:min(420px,100%);padding:var(--space-4);background:var(--color-bg);box-shadow:var(--shadow-panel);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;overflow-y:auto}.cart-header{justify-content:space-between;align-items:center;display:flex}.cart-header h2{font-size:var(--font-size-title);margin:0}.cart-shop{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.cart-shop-title{justify-content:space-between;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--font-size-body);margin:0;display:flex}.cart-lines{margin:0;padding:0;list-style:none}.cart-line{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;display:grid}.cart-line:last-child{border-bottom:none}.cart-line-title{text-decoration:none}.cart-line-price{white-space:nowrap;font-weight:700}.quantity{align-items:center;gap:var(--space-2);display:inline-flex}.quantity-value{text-align:center;min-width:24px;font-weight:700}.cart-line .link-button{justify-self:end}.cart-summary{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);margin-top:auto;display:flex}
