:root{--bg: #f2f5f3;--surface: #ffffff;--surface-2: #e9efeb;--fg: #142019;--muted: #47564d;--line: #cdd8d1;--accent: #16704a;--accent-ink: #ffffff;--accent-soft: #dff0e6;--warn: #8a5300;--warn-soft: #fcefd6;--card: #1d4f91;--card-soft: #e3edfa;--bad: #ae2a1f;--bad-soft: #fbe5e2;--paper: #fffefa;--shadow: 0 1px 2px rgb(20 32 25 / .06), 0 4px 16px rgb(20 32 25 / .06);--font-body: "Atkinson Hyperlegible Next", "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-num: var(--font-body);--radius: 14px;--tap: 3.25rem;font-size:18px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0e1511;--surface: #16201a;--surface-2: #1d2a22;--fg: #e9f0eb;--muted: #a9b8ae;--line: #2d3c33;--accent: #52c88c;--accent-ink: #062012;--accent-soft: #1a3325;--warn: #f2b660;--warn-soft: #33270f;--card: #9cc3f5;--card-soft: #18263a;--bad: #ff8f84;--bad-soft: #3b1b18;--paper: #1b261f;--shadow: 0 1px 2px rgb(0 0 0 / .4);color-scheme:dark}}:root[data-theme=dark]{--bg: #0e1511;--surface: #16201a;--surface-2: #1d2a22;--fg: #e9f0eb;--muted: #a9b8ae;--line: #2d3c33;--accent: #52c88c;--accent-ink: #062012;--accent-soft: #1a3325;--warn: #f2b660;--warn-soft: #33270f;--card: #9cc3f5;--card-soft: #18263a;--bad: #ff8f84;--bad-soft: #3b1b18;--paper: #1b261f;--shadow: 0 1px 2px rgb(0 0 0 / .4);color-scheme:dark}:root[data-size="2"]{font-size:21px}:root[data-size="3"]{font-size:24px}:root[data-contrast=high]{--muted: var(--fg);--line: var(--fg)}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:1rem;line-height:1.5;-webkit-text-size-adjust:100%}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--surface)}button,input,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}h1,h2,h3{line-height:1.2;text-wrap:balance;margin:0}h1{font-size:1.6rem;font-weight:700}h2{font-size:1.2rem;font-weight:700}h3{font-size:1.05rem;font-weight:700}p{margin:0}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:600}.muted{color:var(--muted)}.small{font-size:.85rem}.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--surface);border-bottom:1px solid var(--line);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.topbar-inner{max-width:44rem;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:3.4rem}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.15rem;color:var(--fg);text-decoration:none}.brand-mark{width:2rem;height:2rem;border-radius:9px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center}.icon-btn{min-width:var(--tap);min-height:var(--tap);border-radius:12px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;color:var(--fg);text-decoration:none;padding:0 8px}.icon-btn:hover{background:var(--surface-2)}.page{max-width:44rem;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:20px calc(6.5rem + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:20px}.page-head{display:flex;flex-direction:column;gap:6px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:5;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:max(8px,env(safe-area-inset-left,0px));padding-right:max(8px,env(safe-area-inset-right,0px))}.tabbar-inner{max-width:44rem;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr)}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:4.2rem;padding:6px 2px;text-decoration:none;color:var(--muted);font-size:.78rem;font-weight:600;border-top:3px solid transparent;text-align:center}.tab[aria-current=page]{color:var(--accent);border-top-color:var(--accent)}.tab-scan .tab-icon{background:var(--accent);color:var(--accent-ink);border-radius:999px;width:2.4rem;height:2.4rem;display:grid;place-items:center}.tab-scan{color:var(--fg)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0}.card-link{text-decoration:none;color:inherit;cursor:pointer;text-align:left;width:100%}.card-link:hover{border-color:var(--accent)}.section{display:flex;flex-direction:column;gap:10px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.row{display:flex;align-items:center;gap:12px;min-width:0}.row>.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column;gap:8px}.wrap{flex-wrap:wrap}.btn{min-height:var(--tap);padding:0 1.2rem;border-radius:12px;border:2px solid transparent;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;text-align:center;line-height:1.2}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{filter:brightness(1.06)}.btn-secondary{background:var(--surface);color:var(--fg);border-color:var(--line)}.btn-secondary:hover{border-color:var(--accent)}.btn-danger{background:var(--bad-soft);color:var(--bad);border-color:var(--bad-soft)}.btn-ghost{background:transparent;color:var(--accent)}.btn-block{width:100%}.btn-big{min-height:4rem;font-size:1.1rem}.btn:disabled{opacity:.55;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label,.label{font-weight:700;font-size:.95rem}.input{min-height:var(--tap);width:100%;padding:0 .85rem;border-radius:12px;border:2px solid var(--line);background:var(--surface);color:var(--fg)}.input:focus{border-color:var(--accent);outline:none}.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:700;background:var(--surface-2);color:var(--muted);white-space:nowrap}.pill-good{background:var(--accent-soft);color:var(--accent)}.pill-warn{background:var(--warn-soft);color:var(--warn)}.pill-bad{background:var(--bad-soft);color:var(--bad)}.notice{border-radius:12px;padding:12px 14px;display:flex;gap:12px;align-items:flex-start}.notice-info{background:var(--surface-2)}.notice-warn{background:var(--warn-soft);color:var(--warn)}.notice-good{background:var(--accent-soft);color:var(--accent)}.notice-bad{background:var(--bad-soft);color:var(--bad)}.notice>svg{flex:none;margin-top:2px}.list{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.list-item{display:flex;align-items:center;gap:12px;padding:12px 16px;min-height:3.6rem;border-top:1px solid var(--line);background:transparent;border-left:0;border-right:0;border-bottom:0;width:100%;text-align:left;color:inherit;text-decoration:none}.list-item:first-child{border-top:0}button.list-item{cursor:pointer}button.list-item:hover{background:var(--surface-2)}.list-item .grow{flex:1;min-width:0}.list-item .title{font-weight:700;overflow-wrap:anywhere}.empty{text-align:center;padding:28px 18px;display:flex;flex-direction:column;gap:12px;align-items:center}.empty .empty-icon{width:3.5rem;height:3.5rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.hero-scan{background:var(--accent);color:var(--accent-ink);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:14px;text-decoration:none}.hero-scan h2{font-size:1.4rem}.hero-scan .btn{background:var(--accent-ink);color:var(--accent);align-self:flex-start}.stat-big{font-size:2rem;font-weight:700;line-height:1.1}.receipt{background:var(--paper);border:1px solid var(--line);border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;padding:18px 16px 26px;display:flex;flex-direction:column;gap:4px;position:relative;-webkit-mask:linear-gradient(#000 0 0) top / 100% calc(100% - 10px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom / 20px 10px repeat-x;mask:linear-gradient(#000 0 0) top / 100% calc(100% - 10px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom / 20px 10px repeat-x}.receipt-head{text-align:center;padding-bottom:10px;border-bottom:2px dashed var(--line);margin-bottom:6px;display:flex;flex-direction:column;gap:2px}.receipt-line{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:10px 0;border-bottom:1px dashed var(--line)}.receipt-line:last-of-type{border-bottom:0}.receipt-raw{font-family:var(--font-num);font-size:.8rem;color:var(--muted);letter-spacing:.02em}.receipt-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:12px;border-top:2px dashed var(--line);font-weight:700;font-size:1.15rem}.edit-line{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}.edit-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.edit-line .match{font-size:.85rem}.store-result{display:flex;flex-direction:column;gap:8px}.store-result.is-winner{border:2px solid var(--accent)}.store-total{font-size:1.5rem;font-weight:700}.bar{height:.7rem;background:var(--surface-2);border-radius:999px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--accent);border-radius:999px}.checkbox{width:2rem;height:2rem;border-radius:8px;border:2px solid var(--muted);background:var(--surface);display:grid;place-items:center;flex:none;cursor:pointer;color:var(--accent-ink)}.checkbox[aria-checked=true]{background:var(--accent);border-color:var(--accent)}.is-done .title{text-decoration:line-through;color:var(--muted)}.choice{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.choice button{min-height:4rem;border-radius:12px;border:2px solid var(--line);background:var(--surface);cursor:pointer;font-weight:700}.choice button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.switch{width:3.4rem;height:2rem;border-radius:999px;border:2px solid var(--muted);background:var(--surface-2);position:relative;cursor:pointer;flex:none}.switch:after{content:"";position:absolute;top:3px;left:3px;width:1.3rem;height:1.3rem;border-radius:999px;background:var(--muted);transition:transform .15s}.switch[aria-checked=true]{background:var(--accent);border-color:var(--accent)}.switch[aria-checked=true]:after{transform:translate(1.35rem);background:var(--accent-ink)}.spinner{width:3rem;height:3rem;border-radius:999px;border:5px solid var(--accent-soft);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:3s}.switch:after{transition:none}}.photo-preview{max-height:14rem;width:auto;max-width:100%;border-radius:12px;border:1px solid var(--line);align-self:center}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:30rem){h1{font-size:1.4rem}.edit-grid{grid-template-columns:1fr 1fr}.edit-grid .edit-remove{grid-column:1 / -1}.choice button{min-height:3.4rem}}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:12px}.loyalty-card{aspect-ratio:1.586;max-width:100%;border-radius:16px;border:2px solid var(--line);background:var(--surface);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:6px;padding:14px;cursor:pointer;text-align:left;color:var(--fg)}.loyalty-card:hover{border-color:var(--accent)}.loyalty-card-name{font-weight:700;font-size:1.05rem;line-height:1.2;overflow-wrap:anywhere}.loyalty-card-code{color:var(--muted);font-size:.85rem}.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:10px}.store-grid .btn{min-height:4rem}.barcode{background:#fff;border-radius:12px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid var(--line)}.barcode canvas{max-width:100%;height:auto;image-rendering:pixelated}.barcode-large canvas{width:100%;max-width:32rem}.card-show{position:fixed;inset:0;z-index:20;background:#fff;color:#111;overflow-y:auto;padding:calc(16px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.card-show-inner{max-width:36rem;margin:0 auto;display:flex;flex-direction:column;gap:16px}.card-show .barcode{border:0;padding:8px 0}.card-show-code{text-align:center;font-size:1.5rem;font-weight:700;letter-spacing:.08em;overflow-wrap:anywhere;color:#111}.card-show-tip{text-align:center;color:#444}.card-show .btn-secondary{background:#fff;color:#111;border-color:#ccc}.scanner{position:relative;border-radius:14px;overflow:hidden;background:#000;aspect-ratio:4 / 3;max-width:100%}.scanner video{width:100%;height:100%;object-fit:cover;display:block}.scanner-frame{position:absolute;inset:22% 10%;border:3px solid #fff;border-radius:12px;box-shadow:0 0 0 999px #00000059}.progress{height:.85rem;border-radius:999px;background:var(--surface-2);overflow:hidden;width:100%;border:1px solid var(--line)}.progress>span{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .3s ease}.level-pill{background:var(--accent);color:var(--accent-ink);font-weight:700;border-radius:999px;padding:2px 10px;font-size:.85rem;white-space:nowrap}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.stat-row>div{display:flex;flex-direction:column;gap:2px;background:var(--surface-2);border-radius:12px;padding:10px 4px}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:10px}.badge{background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius);padding:14px 12px;display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center;opacity:.55}.badge .badge-emoji{font-size:2rem;line-height:1.2;filter:grayscale(1)}.badge.earned{opacity:1;border-style:solid;border-color:var(--accent);background:var(--accent-soft)}.badge.earned .badge-emoji{filter:none}.leaderboard{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.leaderboard li{display:flex;gap:12px;align-items:center;padding:10px 4px;border-top:1px solid var(--line)}.leaderboard li:first-child{border-top:0}.leaderboard li.me{background:var(--accent-soft);border-radius:10px;font-weight:700}.leaderboard .place{width:2rem;text-align:center;font-weight:700}.leaderboard .grow{flex:1;min-width:0;overflow-wrap:anywhere}.points-burst{font-size:2.2rem;font-weight:800;color:var(--accent);animation:pp-pop .5s ease-out}@keyframes pp-pop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.points-burst{animation:none}}.reward-card .row{align-items:center}.basket-details summary{cursor:pointer;font-weight:700;color:var(--accent);min-height:2.5rem;display:flex;align-items:center}.basket-details ul{list-style:none;margin:4px 0 0;padding:0}.basket-details li{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line)}.basket-details li .grow{flex:1;min-width:0;overflow-wrap:anywhere}.prize{display:flex;gap:12px;align-items:flex-start;background:var(--warn-soft);border:1px solid var(--warn);border-radius:var(--radius);padding:12px 14px}.prize p{margin:4px 0 0}.prize-icon{font-size:1.8rem;line-height:1}.freshness{display:flex;align-items:center;gap:8px;color:var(--muted);margin:4px 0 0}.live-dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);flex:none}.search-box{position:relative;display:flex;align-items:center}.search-box>svg{position:absolute;left:14px;color:var(--muted);pointer-events:none}.search-box .input{padding-left:3rem;padding-right:3rem;font-size:1.15rem;min-height:3.5rem;border-width:2px}.search-clear{position:absolute;right:6px;width:2.6rem;height:2.6rem;border:0;background:transparent;font-size:1.8rem;color:var(--muted);cursor:pointer;border-radius:50%}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:2.75rem;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;cursor:pointer}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.filters{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:4px 14px}.filters[open]{padding-bottom:14px;display:flex;flex-direction:column;gap:12px}.filters summary{cursor:pointer;font-weight:700;min-height:2.75rem;display:flex;align-items:center}.check-row input{width:1.4rem;height:1.4rem;accent-color:var(--accent)}.store-dot{display:inline-block;width:.75rem;height:.75rem;border-radius:50%;flex:none;background:var(--muted)}.store-mercator{background:#c8102e}.store-spar{background:#1c8a3c}.store-tus{background:#6a1b9a}.store-lidl{background:#0050aa}.store-hofer{background:#f29400}.store-eurospin{background:#00739e}.store-jager{background:#7a5b2e}.store-leclerc{background:#3d6fb6}.offer{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.offer-main{display:flex;gap:12px;align-items:flex-start;background:none;border:0;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer;width:100%}.offer-main .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.offer-name{font-size:1.05rem;margin:0;overflow-wrap:anywhere}.offer-best{display:flex;align-items:center;gap:8px}.offer-deal{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.offer-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.offer-big{font-size:1.45rem;font-weight:800;color:var(--accent);white-space:nowrap}.offer-stores{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.offer-stores li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.offer-stores li .grow{flex:1}.offer-stores .diff{color:var(--bad);font-size:.8rem}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;display:none}.deal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(9rem,42vw),1fr));gap:10px}.deal{position:relative;display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 12px 12px;color:inherit;font:inherit;cursor:pointer;min-width:0}.deal:hover,.offer-main:hover .offer-name{border-color:var(--accent)}.deal-name{font-weight:700;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.deal-pct{align-self:flex-start}.deal-prices{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.brand{min-height:2.75rem}.checkbox{min-width:2.75rem;min-height:2.75rem}.switch{width:3.8rem;height:2.75rem}.switch:after{top:.45rem;left:.4rem;width:1.6rem;height:1.6rem}.switch[aria-checked=true]:after{transform:translate(1.2rem)}.check-row{min-height:2.75rem;cursor:pointer}.photo-thumb{max-height:9rem;width:auto;max-width:100%;border-radius:12px;border:1px solid var(--line);align-self:flex-start}.history{width:100%;height:auto;display:block}.split{border-color:var(--accent);background:var(--accent-soft)}.good-text{color:var(--accent);font-weight:700}.warn-text{color:var(--warn);font-weight:700}.regular h2,.family strong{margin:0}.regular{border-color:var(--accent)}.family-toggle{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;width:100%;min-height:2.75rem;text-align:left}.family-code{font-family:var(--font-num);font-size:1.3rem;letter-spacing:.15em}.star{font-size:1.5rem;color:var(--warn)}.shop-mode{position:fixed;inset:0;z-index:100;background:var(--bg);display:flex;flex-direction:column}.shop-head{display:flex;align-items:center;gap:12px;padding:max(12px,env(safe-area-inset-top)) 16px 12px;background:var(--surface);border-bottom:1px solid var(--line);font-size:1.2rem}.shop-body{overflow-y:auto;padding:12px 16px 40px;display:flex;flex-direction:column;gap:18px}.shop-body h2{font-size:1.1rem;margin:0 0 8px;color:var(--muted)}.shop-item{display:flex;align-items:center;gap:16px;width:100%;min-height:4rem;padding:10px 14px;margin-bottom:8px;border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--fg);font:inherit;font-size:1.3rem;font-weight:700;text-align:left;cursor:pointer}.shop-item.is-done{opacity:.5;text-decoration:line-through}.shop-check{width:2.4rem;height:2.4rem;border-radius:10px;border:3px solid var(--accent);display:grid;place-items:center;color:var(--accent-ink);flex:none;font-size:1.4rem}.shop-item.is-done .shop-check{background:var(--accent)}.locked{border-style:dashed;border-color:var(--warn);background:var(--warn-soft);gap:10px}.locked-icon{font-size:1.6rem}.locked-compact{display:flex;align-items:center;gap:10px;min-height:2.75rem;padding:8px 14px;border:1px dashed var(--warn);border-radius:var(--radius);background:var(--warn-soft);color:var(--fg);text-decoration:none;font-weight:600}.unlock-burst{background:var(--accent-soft);border:2px solid var(--accent);border-radius:var(--radius);padding:12px 14px;text-align:left;width:100%}.unlock-list .list-item.is-locked{opacity:.7}.savings{border-color:var(--accent);background:linear-gradient(180deg,var(--accent-soft),var(--surface))}.savings-big{font-size:2.6rem;font-weight:800;color:var(--accent);margin:0;line-height:1.1;font-family:var(--font-num)}.savings-mid{font-size:1.8rem;font-weight:800;color:var(--accent);font-family:var(--font-num)}.pill-card{background:var(--card-soft);color:var(--card)}.card-note{color:var(--card);font-weight:600}.cond{color:var(--warn)}.tag{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;font-size:.75rem;font-weight:700;vertical-align:1px;white-space:nowrap}.tag-deal{background:var(--warn-soft);color:var(--warn)}.tag-card{background:var(--card-soft);color:var(--card);margin-left:0}.offer-stores .tag-card{margin-left:8px}.chips-scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;margin:0 -16px;padding-left:16px;padding-right:16px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.chips-scroll .chip{flex:0 0 auto;white-space:nowrap}.chip[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.best-row{border-left:4px solid var(--accent)}.deal-cond{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.skip-link{position:absolute;left:-999px;top:8px;z-index:100;background:var(--accent);color:var(--accent-ink);padding:10px 14px;border-radius:10px;font-weight:700}.skip-link:focus{left:8px}.btn-sm{min-height:2.5rem;padding:0 14px;font-size:.95rem}.lead{font-size:1.1rem}.landing-hero h1{font-size:clamp(1.6rem,6vw,2.2rem);line-height:1.15}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.feature{display:flex;flex-direction:column;gap:6px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:inherit;text-decoration:none;min-height:7.5rem}.feature svg{color:var(--accent)}.feature:hover,.feature:focus-visible{border-color:var(--accent)}.steps{margin:0;padding-left:1.4rem;display:flex;flex-direction:column;gap:10px}.faq{display:flex;flex-direction:column;gap:8px}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:0 14px}.faq summary{min-height:3rem;display:flex;align-items:center;font-weight:700;cursor:pointer}.faq details p{margin:0 0 14px}.need-login h1{font-size:1.4rem}.deal{text-decoration:none}.seo-static{padding:16px}.store-table{gap:0}.store-table h3{margin-bottom:6px}.store-row{border-top:1px solid var(--line)}.store-row summary{display:flex;align-items:center;gap:10px;min-height:3.5rem;padding:8px 0;cursor:pointer;list-style:none}.store-row summary::-webkit-details-marker{display:none}.store-row summary:after{content:"\203a";font-size:1.6rem;color:var(--muted);transition:transform .15s}.store-row[open] summary:after{transform:rotate(90deg)}.store-row.is-winner summary strong{color:var(--accent)}.store-row ul{list-style:none;margin:0 0 10px;padding:0}.store-row li{display:flex;gap:10px;padding:6px 0;border-top:1px dashed var(--line)}.danger-zone{border-top:1px solid var(--line);padding-top:8px}.danger-zone summary{min-height:2.75rem;display:flex;align-items:center;color:var(--bad);font-weight:700;cursor:pointer}.store-row summary>.grow{flex:1;min-width:0}a.chip,a.feature,a.deal{text-decoration:none;color:inherit}a.chip[aria-selected=true]{color:var(--accent-ink)}.pick-btn{padding-left:0;min-height:2.25rem}.pick{display:flex;flex-direction:column;gap:6px;margin-top:6px}.pick-row{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:inherit;font:inherit;cursor:pointer;min-height:3rem}.pick-row:hover{border-color:var(--accent)}.choice-sm{grid-template-columns:repeat(2,auto)}.choice-sm button{min-height:2.75rem;padding:0 16px}.link-btn{background:none;border:0;padding:0;color:var(--accent);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;min-height:2rem}.store-map{height:60vh;min-height:320px;border-radius:var(--radius);border:1px solid var(--line);overflow:hidden;z-index:0}.nearby .store-dot{margin-top:6px}.nearest{padding:8px 12px;background:var(--surface-2);border-radius:10px}.feature-grid .feature:last-child:nth-child(odd){grid-column:span 2;min-height:0}.list-item.nearby{align-items:flex-start}.filter-bar{display:flex;flex-direction:column;gap:10px}.filter-bar .choice-sm{grid-template-columns:1fr 1fr}.input-sm{min-height:2.75rem;padding:6px 10px}.refine{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin-bottom:10px}.refine-row{display:flex;flex-direction:column;gap:4px}.refine-label{font-size:.85rem;font-weight:700;color:var(--muted)}.refine .chips-scroll{margin:0 -14px;padding-left:14px;padding-right:14px}.refine .chip{min-height:2.5rem}.import-alert{border-color:var(--warn);background:var(--warn-soft);display:flex;flex-direction:column;gap:4px}.search-cam{position:absolute;right:6px;width:2.75rem;height:2.75rem;display:grid;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent);text-decoration:none}.search-cam:hover,.search-cam:focus-visible{background:var(--accent);color:var(--accent-ink)}.home-title{margin:4px 0 2px}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tile{display:flex;flex-direction:column;gap:2px;padding:14px;min-height:6.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:inherit;text-decoration:none}.tile svg{color:var(--accent);margin-bottom:4px}.tile-emoji{font-size:24px;line-height:28px;margin-bottom:4px}.tile:hover,.tile:focus-visible{border-color:var(--accent)}.filter-row{margin-top:-4px}.chip-sep{flex:0 0 1px;align-self:stretch;background:var(--line);margin:6px 2px}.results-head{gap:8px;align-items:center}.results-head p{margin:0}.sort-select{width:auto;max-width:12rem;min-height:2.6rem;padding-top:4px;padding-bottom:4px;font-size:.9rem}.scanner-lg{aspect-ratio:3 / 4;max-height:56vh;margin:0 auto;width:100%}.scanner-lg .scanner-frame{inset:34% 8%}.scan-hint{text-align:center;font-size:1.1rem;margin:0}.snap-receipt{gap:12px;align-items:center;margin-top:8px}.snap-receipt svg:first-child{color:var(--accent)}.card.card-link.row{flex-direction:row;align-items:center;gap:12px}.scan-cta{display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);text-decoration:none}.scan-cta strong{font-size:1.2rem}.scan-cta-icon{flex:0 0 auto;width:3.2rem;height:3.2rem;border-radius:50%;display:grid;place-items:center;background:#ffffff2e}.scan-cta-next{display:inline-block;margin-top:6px;padding:2px 10px;border-radius:999px;background:#ffffff2e}.scan-cta:hover,.scan-cta:focus-visible{filter:brightness(1.06)}.snap-switch{grid-template-columns:1fr 1fr;padding:4px;gap:4px;background:var(--surface-2);border-radius:14px}.snap-switch a{display:grid;place-items:center;min-height:3rem;border-radius:11px;font-weight:700;color:var(--muted);text-decoration:none}.snap-switch a[aria-current=page]{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}
