:root{--bg:#faf9f6;--card:#ffffff;--ink:#1f2421;--muted:#6b7280;--nav-label:#4a4f4b;--accent:#ff483a;--accent-soft:#ffe5e2;--accent-soft-strong:#ffd6d1;--accent-ink:#c62f20;--accent-strong:#e02d21;--accent-fill:#d92c20;--accent-fill-hover:#c62f20;--accent-fill-on:#ffffff;--accent-deep:#c62f20;--accent-deep-on:#ffffff;--plan:#2f6df6;--plan-on:#ffffff;--border:#e7e5df;--btn-soft:#f3f0ea;--warn-bg:#fff8e1;--warn-border:#f0d999;--warn-ink:#8a6d00;--amber:#b8860b;--danger:#b3261e;--danger-soft:#fdf1f0;--danger-border:#e8c4c0;--success:#1a7c36;--success-solid:#1e8e3e;--success-soft:#e6f4ea;--success-border:#bfe3ca;--glass-bg:rgba(255,255,255,0.42);--glass-border:rgba(255,255,255,0.85);--glass-active:rgba(31,36,33,0.1);--glass-shadow:0 12px 40px rgba(31,36,33,0.22);--glass-blur:blur(30px) saturate(190%);--glass-accent:rgba(255,72,58,0.82);--glass-panel-bg:rgba(255,255,255,0.82);--glass-header-bg:rgba(250,249,246,0.6);--glass-header-bg-0:rgba(250,249,246,0);--glass-scrim-bg:rgba(31,36,33,0.4);--glass-scrim-blur:blur(6px);--fs-2xs:0.7rem;--fs-xs:0.78rem;--fs-sm:0.85rem;--fs-base:0.95rem;--fs-md:1.05rem;--fs-lg:1.2rem;--fs-xl:1.5rem;--fs-2xl:1.9rem;--fw-regular:400;--fw-medium:600;--fw-semibold:700;--fw-bold:800;--lh-tight:1.15;--lh-snug:1.3;--lh-normal:1.5;--track-tight:-0.01em;--track-tighter:-0.02em;--track-tightest:-0.03em;--r-xs:4px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:18px;--r-pill:999px;--shadow-sm:0 1px 3px rgba(31,36,33,0.1);--shadow-md:0 6px 16px rgba(31,36,33,0.12);--shadow-lg:0 10px 28px rgba(31,36,33,0.16);--dur-fast:0.15s;--dur-med:0.2s;--dur-slow:0.3s;--ease:cubic-bezier(0.4,0,0.2,1);--z-raised:2;--z-card-action:3;--z-row-thumb:5;--z-sticky:10;--z-dropdown:20;--z-menu:30;--z-nav:40;--z-nav-timer:41;--z-nav-resume:44;--z-nav-dock:45;--z-nav-cook:46;--z-scrim:50;--z-overlay:60;--z-sheet:70;--z-modal:100;--z-toast:120;--z-splash:300;--space-3xs:0.15rem;--space-2xs:0.25rem;--space-xs:0.35rem;--space-sm:0.5rem;--space-md:0.6rem;--space-lg:0.75rem;--space-xl:1rem;--space-2xl:1.5rem;--space-3xl:2rem}html[data-theme=dark]{color-scheme:dark;--bg:#171614;--card:#221f1c;--ink:#ece8e1;--muted:#a29b8f;--nav-label:#bdb7ac;--accent:#ff5b4e;--accent-soft:#45211d;--accent-soft-strong:#572a24;--accent-ink:#ff5b4e;--accent-strong:#ff7263;--accent-fill:#cf3e31;--accent-fill-hover:#b93529;--accent-fill-on:#ffffff;--plan:#5b8bff;--plan-on:#0f2247;--border:#38342e;--btn-soft:#2c2925;--warn-bg:#33290f;--warn-border:#5f4d1c;--warn-ink:#d9b64a;--amber:#d9a441;--danger:#f28b82;--danger-soft:#3a201d;--danger-border:#5f312c;--success:#57b877;--success-solid:#2e9e52;--success-soft:#1d3325;--success-border:#2e5138;--glass-bg:rgba(28,26,23,0.4);--glass-border:rgba(255,255,255,0.16);--glass-active:rgba(255,255,255,0.14);--glass-shadow:0 12px 40px rgba(0,0,0,0.55);--glass-blur:blur(30px) saturate(190%);--glass-accent:rgba(255,91,78,0.8);--glass-panel-bg:rgba(34,31,28,0.82);--glass-header-bg:rgba(23,22,20,0.6);--glass-header-bg-0:rgba(23,22,20,0);--glass-scrim-bg:rgba(0,0,0,0.55);--glass-scrim-blur:blur(6px);--shadow-sm:0 1px 3px rgba(0,0,0,0.4);--shadow-md:0 6px 16px rgba(0,0,0,0.5);--shadow-lg:0 10px 28px rgba(0,0,0,0.6)}*{box-sizing:border-box}.glass-surface{background:var(--glass-panel-bg)}.glass-pill,.glass-surface{border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.glass-pill{background:var(--glass-bg)}.glass-scrim{background:var(--glass-scrim-bg);-webkit-backdrop-filter:var(--glass-scrim-blur);backdrop-filter:var(--glass-scrim-blur)}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.glass-pill,.glass-surface{background:var(--card)}.glass-scrim{background:rgba(31,36,33,.6)}}@media (prefers-reduced-transparency:reduce){.glass-pill,.glass-surface{background:var(--card)}.glass-pill,.glass-scrim,.glass-surface{-webkit-backdrop-filter:none;backdrop-filter:none}.glass-scrim{background:rgba(31,36,33,.6)}}.app-splash{position:fixed;inset:0;z-index:var(--z-splash);background:var(--bg);display:grid;place-items:center;pointer-events:none;animation:app-splash-out .32s ease .92s forwards}.app-splash-mark{width:min(38vw,180px);height:auto;animation:app-splash-pop .32s cubic-bezier(.34,1.45,.5,1) .6s both}.app-splash-mark path{fill:none;stroke:var(--accent);stroke-width:20;stroke-linecap:round;stroke-linejoin:round}.asm-outer{stroke-dasharray:379;stroke-dashoffset:379;animation:app-splash-draw .45s cubic-bezier(.55,0,.35,1) .08s both}.asm-inner{stroke-dasharray:196;stroke-dashoffset:196;animation:app-splash-draw .28s cubic-bezier(.55,0,.35,1) .3s both}@keyframes app-splash-draw{to{stroke-dashoffset:0}}@keyframes app-splash-out{to{opacity:0;visibility:hidden}}@keyframes app-splash-pop{0%,to{transform:scale(1)}45%{transform:scale(1.07)}}@media (prefers-reduced-motion:reduce){.app-splash{animation:app-splash-out .01s linear .5s forwards}.app-splash-mark,.app-splash-mark path{animation:none;stroke-dashoffset:0}}:root{--bottom-nav-h:66px;--nav-dock-lift:14px;--safe-bottom:env(safe-area-inset-bottom,0px)}.has-bottom-nav{padding-bottom:calc(var(--bottom-nav-h) + var(--nav-dock-lift) + env(safe-area-inset-bottom) + 16px)}body.has-bottom-nav:not(:has(.nav-dock)){padding-bottom:0}.nav-dock{position:fixed;left:0;right:0;bottom:calc(var(--nav-dock-lift) + env(safe-area-inset-bottom));z-index:var(--z-nav-dock);display:flex;align-items:center;gap:12px;width:100%;max-width:560px;margin:0 auto;padding:0 16px;pointer-events:none}.nav-dock>*{pointer-events:auto}.bottom-nav{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:stretch;justify-content:space-around;gap:0;height:var(--bottom-nav-h);padding:0 5px;border-radius:var(--r-pill);background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),inset 0 1px 0 rgba(255,255,255,.22);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.bottom-nav-indicator{position:absolute;top:6px;bottom:6px;left:5px;z-index:0;width:calc((100% - 10px) / var(--tab-count));border-radius:var(--r-pill);background:var(--glass-active);transform:translateX(calc(var(--active-index) * 100%));transition:transform var(--dur-slow) cubic-bezier(.34,1.2,.4,1),opacity var(--dur-med) ease;pointer-events:none}.bottom-nav-indicator.hidden{opacity:0}@media (prefers-reduced-motion:reduce){.bottom-nav-indicator{transition:opacity var(--dur-med) ease}}.bottom-nav-item{position:relative;z-index:1;flex:1 1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:var(--r-pill);text-decoration:none;color:var(--muted);-webkit-tap-highlight-color:transparent;transition:color var(--dur-med) ease}.bottom-nav-item.active{color:var(--accent)}.bottom-nav-icon{display:block;width:22px;height:22px}.bottom-nav-icon svg{width:100%;height:100%;display:block}.bottom-nav-label{max-width:100%;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);line-height:1;color:var(--nav-label);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-fab{flex:0 0 auto;width:var(--bottom-nav-h);height:var(--bottom-nav-h);display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--glass-border);border-radius:var(--r-pill);background:var(--glass-accent);color:#fff;cursor:pointer;box-shadow:var(--glass-shadow),inset 0 1px 0 rgba(255,255,255,.35);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);-webkit-tap-highlight-color:transparent;transition:transform var(--dur-fast) ease,filter var(--dur-fast) ease}.nav-fab:hover{filter:brightness(1.05)}.nav-fab:active{transform:scale(.94)}.nav-fab svg{display:block;width:27px;height:27px}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;font-size:var(--fs-base);line-height:var(--lh-normal)}.skip-link{position:fixed;top:var(--space-sm);left:var(--space-sm);z-index:var(--z-toast);padding:var(--space-sm) var(--space-xl);border-radius:var(--r-sm);background:var(--accent-deep);color:var(--accent-deep-on);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-decoration:none;box-shadow:var(--shadow-md);-webkit-clip-path:inset(50%);clip-path:inset(50%);transform:translateY(-150%)}.skip-link:focus{-webkit-clip-path:none;clip-path:none;transform:none;outline:2px solid var(--accent-deep-on);outline-offset:-4px;box-shadow:0 0 0 2px var(--ink),var(--shadow-md)}#huvudinnehall:focus{outline:none}html{font-size:100%}@media (max-width:768px){html{font-size:106.25%}}@media (max-width:560px){html{font-size:112.5%}}.header{--header-pad:0.7rem;--header-type:var(--fs-xl);background:var(--glass-header-bg-0);-webkit-backdrop-filter:blur(0) saturate(100%);backdrop-filter:blur(0) saturate(100%);border-bottom:none;box-shadow:inset 0 -1px 0 transparent,0 10px 24px -18px rgba(31,36,33,0);color:var(--ink);padding:var(--header-pad) 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky);transition:padding var(--dur-med) var(--ease),background-color var(--dur-med) var(--ease),backdrop-filter var(--dur-med) var(--ease),-webkit-backdrop-filter var(--dur-med) var(--ease),box-shadow var(--dur-med) var(--ease)}.header[data-scrolled=true]{--header-pad:var(--space-2xs);--header-type:var(--fs-lg);background:var(--glass-header-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 -1px 0 var(--border),0 10px 24px -18px rgba(31,36,33,.5)}html[data-theme=dark] .header[data-scrolled=true]{box-shadow:inset 0 -1px 0 var(--border),0 10px 24px -16px rgba(0,0,0,.7)}@media (prefers-reduced-motion:reduce){.header,.header-title{transition:none}}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.header{background:var(--card)}}.header-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-column-gap:var(--space-sm);column-gap:var(--space-sm);grid-row-gap:0;row-gap:0;grid-template-rows:auto auto;max-width:960px;margin:0 auto;min-height:34px}.header-title{grid-column:2;grid-row:1;margin:0;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);font-size:var(--header-type);transition:font-size var(--dur-med) var(--ease);font-weight:var(--fw-semibold);letter-spacing:var(--track-tighter);color:var(--accent)}.header-logo{display:block;width:1.55em;height:1.55em;flex-shrink:0}.header-household{grid-column:2;grid-row:2;justify-self:center;margin-top:-1px;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-2xs);font-weight:var(--fw-medium);line-height:var(--lh-snug);color:var(--muted)}.header-slot{display:flex;align-items:center;grid-row:1}.header-slot-left{grid-column:1;justify-content:flex-start}.header-slot-right{grid-column:3;justify-content:flex-end}.header-back{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:-6px 0;padding:0;border:none;background:none;color:var(--ink);border-radius:var(--r-pill);cursor:pointer;-webkit-tap-highlight-color:transparent}.header-back:hover{background:var(--glass-active)}.header-back svg{display:block;width:24px;height:24px}@media (max-width:720px){.header{--header-pad:var(--space-sm);padding-inline:var(--space-md)}}.container{max-width:720px;margin:0 auto;padding:1.25rem}.section-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-snug);margin:.5rem 0 1rem}.section-label{margin:0 0 .5rem;font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.sg-label{display:flex;align-items:center;gap:var(--space-2xs);margin-top:var(--space-2xl)}.sg-info{display:inline-flex;width:2.2rem;height:2.2rem;margin:-.75rem 0;padding:0;border:none;background:none;font:inherit;text-transform:none;letter-spacing:0;cursor:pointer}.sg-info,.sg-info:before{align-items:center;justify-content:center}.sg-info:before{content:"i";display:flex;width:1.05rem;height:1.05rem;border:1px solid var(--border);border-radius:var(--r-pill);font-size:var(--fs-2xs);font-weight:var(--fw-bold);font-style:italic;color:var(--muted)}.sg-info[aria-expanded=true]:before{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.sg-note{margin:0 0 var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--btn-soft);border-radius:var(--r-md);font-size:var(--fs-xs);line-height:var(--lh-snug);color:var(--muted)}.sg-row{display:flex;gap:var(--space-sm);overflow-x:auto;margin:0 calc(-1 * var(--space-md));padding:var(--space-2xs) var(--space-md) var(--space-sm);scroll-snap-type:x proximity;scrollbar-width:none}.sg-row::-webkit-scrollbar{display:none}.sg-card{position:relative;flex:0 0 7.4rem;display:flex;flex-direction:column;gap:var(--space-2xs);padding:var(--space-xs);background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);scroll-snap-align:start}.sg-x{position:absolute;top:.35rem;right:.35rem;z-index:1;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:none;border-radius:var(--r-pill);background:var(--glass-scrim-bg);color:#fff;font-size:var(--fs-md);line-height:1;cursor:pointer}.sg-media{display:block;aspect-ratio:1/1;border-radius:var(--r-md);overflow:hidden;background:var(--btn-soft)}.sg-media img{width:100%;height:100%;object-fit:cover}.sg-letter{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--muted)}.sg-body{flex:1 1;min-height:0}.sg-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink);text-decoration:none}.sg-reason,.sg-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:var(--lh-snug)}.sg-reason{margin:.15rem 0 0;font-size:var(--fs-2xs);color:var(--muted)}.sg-cta{display:block;padding:.4rem;border-radius:var(--r-sm);background:var(--btn-soft);color:var(--ink);font-size:var(--fs-xs);font-weight:var(--fw-medium);text-align:center;text-decoration:none}.sg-cta:hover{background:var(--accent-soft)}.list-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);margin:0 0 .5rem}.list-head .section-label{margin:0}.list-head-action{justify-content:flex-start;align-items:center;gap:var(--space-sm)}.list-head-action .section-label{margin-right:auto}.list-head-filter{font-size:var(--fs-xs);padding:.4rem .9rem}.list-head-add{position:relative;display:inline-flex;align-items:center;gap:var(--space-2xs);padding:0;border:none;background:none;font-family:inherit;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--accent-ink);cursor:pointer;-webkit-tap-highlight-color:transparent}.list-head-add:hover{color:var(--accent-strong)}.list-head-add span{font-size:1.25em;font-weight:var(--fw-regular);line-height:1}.list-head-add:after{content:"";position:absolute;top:50%;left:50%;width:calc(100% + var(--space-md));height:44px;transform:translate(-50%,-50%)}.recipe-controls{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:0 0 var(--space-sm)}.recipe-ctrl-btn{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:inherit;font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:.5rem 1rem;border-radius:var(--r-pill);cursor:pointer;-webkit-tap-highlight-color:transparent;color:var(--ink);border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:border-color var(--dur-fast) ease,color var(--dur-fast) ease,background var(--dur-fast) ease}.recipe-ctrl-btn:hover{border-color:var(--accent)}.recipe-ctrl-btn.active{background:var(--ink);border-color:var(--ink);color:var(--card)}.recipe-ctrl-btn.primary{color:var(--accent-fill-on);border-color:transparent;background:var(--accent-fill);-webkit-backdrop-filter:none;backdrop-filter:none}.recipe-ctrl-btn.primary:hover{border-color:transparent;filter:brightness(1.05)}.recipe-ctrl-btn.primary span{font-size:1.15em;font-weight:var(--fw-regular);line-height:1}.sheet-overlay{position:fixed;inset:0;z-index:var(--z-sheet);background:var(--glass-scrim-bg);-webkit-backdrop-filter:var(--glass-scrim-blur);backdrop-filter:var(--glass-scrim-blur);display:flex;align-items:flex-end;justify-content:center;animation:sheet-fade .2s ease-out both}.sheet{width:100%;max-width:480px;max-height:80vh;max-height:80dvh;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-bottom:none;border-radius:22px 22px 0 0;box-shadow:var(--glass-shadow);padding-bottom:env(safe-area-inset-bottom);animation:sheet-up .28s cubic-bezier(.32,.9,.3,1) both}@media (min-width:560px){.sheet-overlay{padding:1rem}.sheet{border-bottom:1px solid var(--glass-border);border-radius:var(--r-xl)}}.sheet-grip{width:38px;height:4px;border-radius:var(--r-pill);background:var(--muted);opacity:.4;margin:8px auto 2px}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1.1rem .6rem;border-bottom:1px solid var(--glass-border)}.sheet-title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.sheet-body{overflow-y:auto;padding:.4rem .6rem}.cat-row{width:100%;gap:var(--space-lg);padding:.8rem .7rem;border:none;background:none;color:var(--ink);font-family:inherit;font-size:var(--fs-base);font-weight:var(--fw-medium);text-align:left;cursor:pointer;border-radius:var(--r-md);-webkit-tap-highlight-color:transparent}.cat-row:hover{background:var(--glass-active)}.cat-row-dot{width:12px;height:12px;border-radius:var(--r-pill);flex-shrink:0}.cat-row-label{flex:1 1;min-width:0}.cat-row-count{flex-shrink:0;font-size:var(--fs-xs);font-weight:var(--fw-medium)}.cat-switch{flex-shrink:0;width:44px;height:26px;border-radius:var(--r-pill);background:var(--btn-soft);border:1px solid var(--border);position:relative;transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease}.cat-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:var(--r-pill);background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) ease}.cat-switch.on{background:var(--accent);border-color:var(--accent)}.cat-switch.on:after{transform:translateX(18px)}.sheet-foot{padding:.7rem 1.1rem calc(.7rem + env(safe-area-inset-bottom));border-top:1px solid var(--glass-border)}.sheet-foot .btn-add{width:100%;padding:.7rem 1rem;font-size:var(--fs-base);border-radius:var(--r-md)}@keyframes sheet-fade{0%{opacity:0}}@keyframes sheet-up{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.sheet,.sheet-overlay{animation:none}}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:.8rem}.filter-chips.scrollable{flex-wrap:nowrap;overflow-x:auto;min-width:0;scrollbar-width:none}.filter-chips.scrollable::-webkit-scrollbar{display:none}.filter-chip{display:inline-flex;align-items:center;gap:var(--space-xs);flex-shrink:0;border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:var(--ink);border-radius:var(--r-pill);padding:.24rem .7rem;font-family:inherit;font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer}.filter-chip:hover{border-color:var(--accent)}.filter-chip.active{background:var(--ink);border-color:var(--ink);color:var(--card)}.filter-chip-dot{width:8px;height:8px;border-radius:var(--r-pill);flex-shrink:0}.filter-chip-count{font-weight:var(--fw-medium);font-size:var(--fs-2xs);color:var(--muted)}.filter-chip.active .filter-chip-count{color:rgba(255,255,255,.75)}.hero-card{display:block;text-decoration:none;color:inherit;background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-bottom:1.4rem;box-shadow:var(--shadow-md)}.hero-thumb{position:relative;height:170px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center}.hero-thumb img{width:100%;height:100%;object-fit:cover;display:block}.hero-thumb-letter{font-size:2.6rem;font-weight:var(--fw-semibold);color:var(--accent)}.hero-body{padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:var(--space-2xs)}.hero-eyebrow{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}.hero-title{margin:0;font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-snug)}.hero-stats{display:flex;align-items:baseline;flex-wrap:wrap;gap:.15rem var(--space-sm);font-size:var(--fs-xs)}.hero-stats .score{font-size:var(--fs-md)}.hero-stats-label{color:var(--muted)}@media (min-width:560px){.hero-card{display:flex;align-items:stretch}.hero-thumb{width:44%;height:auto;min-height:150px;flex-shrink:0}.hero-body{flex:1 1;display:flex;flex-direction:column;justify-content:center}}.notice{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--r-md);padding:1.1rem 1.25rem;line-height:1.5}.state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:62vh;padding:2rem 1.5rem}.state-ic{display:grid;place-items:center;width:72px;height:72px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);margin-bottom:var(--space-xl)}.state-ic svg{width:34px;height:34px}.state-title{margin:0 0 var(--space-xs);font-size:var(--fs-xl);font-weight:var(--fw-bold);line-height:var(--lh-tight)}.state-text{margin:0 auto 1.3rem;max-width:22rem;font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh-normal)}.state-actions{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center;justify-content:center}.state-btn{border:none;border-radius:var(--r-md);padding:.6rem 1.2rem;font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--accent-fill-on);background:var(--accent-fill);cursor:pointer;text-decoration:none;display:inline-block}.state-btn:hover{filter:brightness(.96)}.state-link{background:none;border:none;color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;text-decoration:none;padding:.5rem .4rem}.state-link:hover{color:var(--ink)}.state-ref{margin-top:1.2rem;font-size:var(--fs-xs);color:var(--muted);opacity:.7;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.notice h3{margin:0 0 .5rem}.notice code{background:rgba(0,0,0,.06);padding:.1rem .35rem;border-radius:5px;font-size:.85em}.empty{color:var(--muted);text-align:center;padding:2rem 0}.pill{display:inline-block;background:var(--accent-soft);color:var(--accent);font-size:var(--fs-xs);font-weight:var(--fw-medium);padding:.15rem .6rem;border-radius:var(--r-pill)}.header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-xl);max-width:960px;margin:0 auto}.header-user{display:flex;align-items:center;gap:var(--space-md);font-size:var(--fs-xs);opacity:.95;white-space:nowrap}.header-user button{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:var(--r-sm);padding:.3rem .7rem;font-size:var(--fs-xs);cursor:pointer}.header-user button:hover{background:rgba(255,255,255,.25)}.auth-box{max-width:400px;margin:2rem auto 0;background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.auth-form{gap:var(--space-xl);padding:1.25rem}.auth-form,.auth-form label{display:flex;flex-direction:column}.auth-form label{gap:var(--space-2xs);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.pw-field{gap:var(--space-sm)}.pw-field,.pw-reqs{display:flex;flex-direction:column}.pw-reqs{list-style:none;margin:0;padding:0;gap:var(--space-2xs)}.pw-req{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:var(--space-sm);gap:var(--space-sm);font-size:var(--fs-sm);line-height:var(--lh-snug);color:var(--muted);font-weight:var(--fw-regular)}.pw-req-mark{width:1.1rem;height:1.1rem;flex:none;border-radius:var(--r-pill);border:1px solid var(--muted);background:transparent;display:grid;place-items:center;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.pw-req-mark svg{width:.72rem;height:.72rem;fill:none;stroke:#fff;stroke-width:3.2;opacity:0;transform:scale(.5);transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.pw-req.ok{color:var(--ink);font-weight:var(--fw-medium)}.pw-req.ok .pw-req-mark{background:var(--success-solid);border-color:var(--success-solid)}.pw-req.ok .pw-req-mark svg{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.pw-req-mark,.pw-req-mark svg{transition:none}.pw-req-mark svg{transform:none}}.auth-form input{padding:.6rem .8rem;border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--fs-base)}.auth-form input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.auth-form input[aria-invalid=true]{border-color:var(--danger)}.auth-form input[aria-invalid=true]:focus{outline-color:var(--danger-border)}.auth-form button[type=submit]{padding:.7rem;border:none;border-radius:var(--r-md);background:var(--accent-fill);color:var(--accent-fill-on);font-weight:var(--fw-medium);font-size:var(--fs-base);cursor:pointer}.auth-form button[type=submit]:disabled{opacity:.6}.auth-hint{margin:0;font-size:var(--fs-xs);color:var(--muted)}.auth-banner{max-width:400px;margin:1.5rem auto 0;text-align:center}.import-box{margin-bottom:1.25rem}.import-form{display:flex;gap:var(--space-sm)}.import-form input{flex:1 1;padding:.65rem .85rem;border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--fs-base);background:var(--card);color:var(--ink)}.import-form input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.import-form button{padding:.65rem 1.1rem;border:none;border-radius:var(--r-md);background:var(--accent-fill);color:var(--accent-fill-on);font-weight:var(--fw-medium);font-size:var(--fs-base);cursor:pointer;white-space:nowrap}.import-form button:disabled{opacity:.6;cursor:default}.import-msg{margin:.5rem 0 0;font-size:var(--fs-sm)}.import-msg.error{color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger-border);border-radius:var(--r-sm);padding:.5rem .7rem}.import-msg.ok{color:var(--success);background:var(--success-soft);border:1px solid var(--success-border);border-radius:var(--r-sm);padding:.5rem .7rem}.import-msg.info{color:var(--ink);background:var(--btn-soft);border:1px solid var(--border);border-radius:var(--r-sm);padding:.5rem .7rem;line-height:1.5}.import-msg.warn{padding:.5rem .7rem}.import-beta-notice,.import-msg.warn{color:var(--warn-ink);background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--r-sm)}.import-beta-notice{display:flex;align-items:flex-start;gap:var(--space-sm);margin:0 0 .9rem;padding:.55rem .7rem;font-size:var(--fs-sm)}.import-beta-notice-text{flex:1 1;min-width:0}.import-beta-notice-text a{color:inherit;font-weight:var(--fw-medium);text-decoration:underline}.import-beta-notice-close{border:none;background:none;color:inherit;font-size:1.25rem;line-height:1;padding:0 .2rem;margin:-.1rem -.2rem 0 0;cursor:pointer}.fab{position:fixed;right:1.5rem;bottom:calc(var(--bottom-nav-h) + var(--nav-dock-lift) + env(safe-area-inset-bottom) + 1rem);z-index:var(--z-nav);display:inline-flex;align-items:center;height:56px;padding:0;border:1px solid var(--glass-border);border-radius:var(--r-pill);background:var(--glass-accent);color:#fff;cursor:pointer;box-shadow:var(--glass-shadow),inset 0 1px 0 rgba(255,255,255,.35);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);overflow:hidden;transition:box-shadow var(--dur-fast) ease,filter var(--dur-fast) ease}.fab:hover{filter:brightness(1.05)}.fab-plus{flex-shrink:0;width:56px;height:56px;display:grid;place-items:center;font-size:1.9rem;font-weight:300;line-height:1}.fab-label{max-width:0;opacity:0;white-space:nowrap;font-size:var(--fs-base);font-weight:var(--fw-medium);transition:max-width var(--dur-slow) ease,opacity var(--dur-med) ease,padding var(--dur-slow) ease}@media (hover:hover){.fab:focus-visible .fab-label,.fab:hover .fab-label{max-width:220px;opacity:1;padding-right:1.25rem}}.modal-overlay{position:fixed;inset:0;z-index:var(--z-scrim);background:var(--glass-scrim-bg);-webkit-backdrop-filter:var(--glass-scrim-blur);backdrop-filter:var(--glass-scrim-blur);display:flex;align-items:center;justify-content:center;padding:2rem 1rem;overflow-y:auto}.modal{width:100%;max-width:560px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--glass-shadow);overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 4rem);max-height:calc(100dvh - 4rem)}.modal-head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.modal-title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.modal-close{border:none;background:none;color:var(--muted);font-size:1.6rem;line-height:1;cursor:pointer;padding:0 .25rem}.modal-close:hover{color:var(--ink)}.modal-body{padding:1.1rem 1.25rem 0;overflow-y:auto}.modal-savebar{position:-webkit-sticky;position:sticky;bottom:0;margin:1.5rem -1.25rem 0;padding:.85rem 1.25rem calc(.85rem + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--border)}.modal-savebar .btn-add{width:100%;padding:.75rem 1rem;font-size:var(--fs-base);border-radius:var(--r-md)}@media (max-width:560px){.modal-overlay{align-items:center;padding:1rem}.modal{max-width:none;border-radius:var(--r-lg);max-height:92vh;max-height:92dvh}.search-modal{min-height:70vh;min-height:70dvh}}.search-modal .modal-body{padding-bottom:1.25rem}.import-section-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin-bottom:.55rem}.import-or,.import-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.import-or{display:flex;align-items:center;gap:var(--space-lg);margin:1.5rem 0 1.2rem;font-size:var(--fs-xs);font-weight:var(--fw-medium);white-space:nowrap}.import-or:after,.import-or:before{content:"";flex:1 1;border-top:1px solid var(--border)}.image-drop{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:1.1rem;border:1.5px dashed var(--border);border-radius:var(--r-md);background:transparent;color:var(--muted);font-size:var(--fs-base);font-weight:var(--fw-medium);cursor:pointer;transition:border-color var(--dur-fast) ease,color var(--dur-fast) ease}.image-drop:hover{border-color:var(--accent);color:var(--accent)}.image-preview{position:relative}.edit-image{max-width:320px;margin-bottom:1.25rem}.image-swap{display:block;width:100%;padding:0;border:none;background:none;cursor:pointer}.image-preview img{display:block;width:100%;height:160px;object-fit:cover;border-radius:var(--r-md);border:1px solid var(--border)}.image-remove{position:absolute;top:.5rem;right:.5rem;width:30px;height:30px;display:grid;place-items:center;border:none;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);font-size:1.15rem;line-height:1;cursor:pointer;box-shadow:var(--shadow-sm)}.image-remove:hover{background:#fff;color:var(--accent)}.rf-tabs{display:flex;gap:4px;background:var(--btn-soft);border-radius:var(--r-pill);padding:4px;margin-bottom:1.1rem}.rf-tab{flex:1 1;border:none;background:none;font-family:inherit;font-weight:var(--fw-semibold);font-size:var(--fs-base);color:var(--muted);padding:.5rem;border-radius:var(--r-pill);cursor:pointer;-webkit-tap-highlight-color:transparent}.rf-tab.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow-sm)}.rf-pane[hidden]{display:none}.rf-field{width:100%;padding:.8rem .9rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);color:var(--ink);font-family:inherit;font-size:var(--fs-base)}.rf-field:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.rf-field:disabled{background:var(--btn-soft);color:var(--nav-label);-webkit-text-fill-color:var(--nav-label);opacity:1;cursor:default}.rf-field:disabled::placeholder{color:var(--nav-label)}.rf-link-hero{text-align:center;padding:.4rem .4rem 0}.rf-link-ic{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:var(--r-lg);background:var(--accent-soft);color:var(--accent);font-size:22px;margin-bottom:.6rem}.rf-link-hero p{margin:0 0 1rem;color:var(--muted);font-size:var(--fs-base);line-height:1.5}.rf-link-form{display:flex;flex-direction:column;gap:var(--space-md)}.rf-primary{width:100%;font-weight:var(--fw-bold);border-radius:var(--r-lg);white-space:normal;line-height:1.3;transition:background .15s ease,color .15s ease}.btn-add.rf-primary{padding:.75rem 1rem;font-size:var(--fs-base)}.rf-primary:disabled{background:var(--btn-soft);color:var(--nav-label);opacity:1;cursor:default;box-shadow:none}.rf-primary-kollar{cursor:progress}.rf-primary .btn-spinner{border-color:currentColor color-mix(in srgb,currentColor 35%,transparent) color-mix(in srgb,currentColor 35%,transparent)}.rf-hint{text-align:center;color:var(--muted);font-size:var(--fs-xs);margin:.8rem 0 .2rem}.rf-quota{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-xs) var(--space-sm);margin:0 0 var(--space-md)}.rf-quota-text{flex:1 1 12rem;margin:0;font-size:var(--fs-xs);color:var(--muted);line-height:1.5}.rf-quota-text strong{font-weight:var(--fw-semibold);color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rf-pips{flex:none;display:inline-flex;align-items:center;gap:var(--space-2xs)}.rf-pip{width:.5rem;height:.5rem;border-radius:var(--r-pill);background:var(--border)}.rf-pip.on{background:var(--ink)}.rf-quota.low .rf-quota-text,.rf-quota.low .rf-quota-text strong{color:var(--warn-ink)}.rf-quota.low .rf-pip.on{background:var(--warn-ink)}.rf-sec{margin-bottom:1.15rem}.rf-sec-h{font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem}.rf-label,.rf-sec-h{font-size:var(--fs-xs)}.rf-label{display:block;font-weight:var(--fw-semibold);color:var(--ink);margin:0 0 .35rem}.rf-opt{color:var(--muted);font-weight:500}.rf-basics-row{display:grid;grid-template-columns:minmax(0,8.5rem) minmax(0,1fr);grid-gap:var(--space-lg);gap:var(--space-lg);align-items:end;margin-top:.7rem}.rf-basics-portions{min-width:0}.rf-basics-photo{min-width:0;text-align:left}.rf-photo-add{width:100%;height:86px;display:grid;place-items:center;align-content:center;grid-gap:4px;gap:4px;border:1.5px dashed var(--border);border-radius:var(--r-md);background:none;color:var(--muted);font-family:inherit;font-size:var(--fs-xs);cursor:pointer}.rf-photo-add svg{width:22px;height:22px}.rf-photo-add:hover{border-color:var(--accent);color:var(--accent)}.rf-photo-preview{position:relative;width:100%;height:86px}.rf-photo-swap{width:100%;height:86px;padding:0;border:none;background:none;border-radius:var(--r-md);overflow:hidden;cursor:pointer}.rf-photo-swap img{width:100%;height:100%;object-fit:cover}.rf-photo-x{position:absolute;top:-7px;right:-7px;width:22px;height:22px;display:grid;place-items:center;border:none;border-radius:var(--r-pill);background:var(--ink);color:#fff;font-size:var(--fs-base);line-height:1;cursor:pointer}.recipe-form .ing-input-row{flex-wrap:nowrap;gap:var(--space-xs)}.recipe-form .ing-input-row input,.recipe-form .ing-input-row select{padding-left:.4rem;padding-right:.3rem}.recipe-form .ing-qty{width:2.9rem}.recipe-form .ing-qty::placeholder{font-size:var(--fs-2xs)}.recipe-form .ing-unit{width:5.9rem}.recipe-form .ing-name{flex:1 1;min-width:0}@media (max-width:560px){.recipe-form .ing-name{flex-basis:auto;order:0}}.rf-addrow-pair{display:flex;gap:var(--space-sm);margin-top:.55rem}.rf-addrow{flex:3 1;min-width:0;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:.6rem .5rem;border:1.5px dashed var(--border);border-radius:var(--r-md);background:none;color:var(--accent);font-family:inherit;font-weight:var(--fw-semibold);font-size:var(--fs-sm);line-height:1.2;cursor:pointer}.rf-addrow:hover{border-color:var(--accent)}.rf-addrow-alt{flex:2 1;color:var(--muted);font-weight:var(--fw-medium);font-size:var(--fs-xs)}.rf-addrow-alt:hover{color:var(--ink);border-color:var(--muted)}.rf-step{display:flex;flex-direction:column;gap:var(--space-lg)}.rf-step[hidden]{display:none}.rf-steps{display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-2xl)}.rf-stepdot{display:grid;place-items:center;flex:none;width:2rem;height:2rem;padding:0;border:1.5px solid var(--border);border-radius:50%;background:var(--card);color:var(--muted);font-family:inherit;font-size:var(--fs-sm);font-weight:var(--fw-bold);transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.rf-stepdot svg{width:1rem;height:1rem}.rf-stepdot:disabled{cursor:default}.rf-stepdot:not(:disabled){cursor:pointer}.rf-stepdot.on{background:var(--accent-fill);border-color:var(--accent);color:var(--accent-fill-on)}.rf-stepdot.done{border-color:var(--muted);color:var(--muted)}.rf-stepline{flex:1 1 auto;max-width:2.6rem;height:1.5px;background:var(--border)}.rf-stepline.done{background:var(--muted)}.rf-step-title{margin:0 0 var(--space-2xs);font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.rf-step-hint{margin:0 0 var(--space-2xl);font-size:var(--fs-sm);color:var(--muted)}.rf-ifield{position:relative;display:flex;align-items:center}.rf-ifield>svg{position:absolute;left:.85rem;width:1.05rem;height:1.05rem;color:var(--muted);pointer-events:none}.rf-ifield .rf-field{width:100%;padding-left:2.6rem}.rf-drop{display:flex;flex-direction:column;align-items:center;gap:var(--space-2xs);width:100%;padding:var(--space-3xl) var(--space-xl);border:1.5px dashed var(--border);border-radius:var(--r-lg);background:none;font-family:inherit;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.rf-drop:hover{border-color:var(--accent);background:var(--accent-soft)}.rf-drop-ic{display:grid;place-items:center;width:3.4rem;height:3.4rem;margin-bottom:var(--space-sm);border-radius:50%;background:var(--accent-soft);color:var(--accent)}.rf-drop-ic svg{width:1.6rem;height:1.6rem}.rf-drop-t{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--ink)}.rf-drop-s{font-size:var(--fs-xs);color:var(--muted)}.rf-wiz .rf-photo-preview{width:100%;height:12rem}.rf-wiz .rf-photo-swap{width:100%;height:100%}.rf-wiz .rf-addrow-pair{flex-direction:column;gap:var(--space-sm);margin-top:var(--space-lg)}.rf-wiz .rf-addrow{flex:none;padding:var(--space-md) var(--space-xl);border:none;background:var(--accent-soft);color:var(--accent-ink);font-size:var(--fs-base)}.rf-wiz .rf-addrow:hover{background:var(--accent-soft-strong)}.rf-wiz .rf-addrow-alt{background:var(--btn-soft);color:var(--nav-label);font-weight:var(--fw-medium);font-size:var(--fs-base)}.rf-wiz .rf-addrow-alt:hover{background:var(--border);color:var(--ink)}.rf-wiz-foot{display:flex;gap:var(--space-lg);margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--border);padding-bottom:calc(var(--space-3xl) + env(safe-area-inset-bottom))}.rf-wiz-back{flex:0 0 40%;border:none;background:var(--btn-soft);color:var(--nav-label);font-family:inherit;font-weight:var(--fw-medium);cursor:pointer}.btn-add.rf-wiz-next,.rf-wiz-back{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.75rem 1rem;border-radius:var(--r-md);font-size:var(--fs-base)}.btn-add.rf-wiz-next{flex:1 1}.rf-wiz-back svg,.rf-wiz-next svg{flex:none;width:1.05rem;height:1.05rem}.ing-input-row{display:flex;gap:var(--space-sm);align-items:center}.ing-input-row input,.ing-input-row select{padding:.5rem .6rem;border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-base);background:var(--card);color:var(--ink)}.ing-input-row input:focus,.ing-input-row select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.ing-qty{width:4.5rem;flex-shrink:0}.ing-unit{width:5.5rem;flex-shrink:0}.ing-name{flex:1 1;min-width:0}@media (max-width:560px){.ing-name{flex-basis:100%;order:3}.ing-input-row{flex-wrap:wrap}.ing-input-heading .ing-name{flex-basis:0;order:0}}.stores-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);margin:.5rem 0 .85rem}.home-stores{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:var(--space-md);gap:var(--space-md);margin-bottom:1.4rem}.home-store{display:flex;flex-direction:column;align-items:center;gap:var(--space-2xs);min-width:0;text-decoration:none;color:inherit;border:none;background:none;padding:0;font:inherit;cursor:pointer}.home-store-logo{width:100%;aspect-ratio:1/1;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.home-store:hover .home-store-logo{transform:translateY(-2px);box-shadow:var(--shadow-md)}.all-stores-box{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;grid-gap:5px;gap:5px;padding:6px;background:#fff}.all-stores-cell{min-width:0;display:flex;align-items:center;justify-content:center}.all-stores-cell .store-logo-svg{width:100%;height:100%}.all-stores-cell .store-logo-svg rect{stroke:none}html[data-theme=dark] .home-store-logo{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,.14);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}html[data-theme=dark] .home-store-logo .store-logo-svg>rect{fill:transparent;stroke:transparent}html[data-theme=dark] .all-stores-box{background:var(--glass-bg)}html[data-theme=dark] .home-store-logo tspan[fill="#111111"]{fill:var(--ink)}.home-store-addbox{width:100%;aspect-ratio:1/1;border-radius:var(--r-lg);display:grid;place-items:center;font-size:1.7rem;font-weight:300;line-height:1;color:var(--accent);background:var(--accent-soft);border:2px dashed var(--accent);transition:background var(--dur-fast) ease,transform var(--dur-fast) ease}.home-store-add:hover .home-store-addbox{background:var(--accent-soft-strong);transform:translateY(-2px)}.home-store-name{max-width:100%;font-size:var(--fs-2xs);font-weight:var(--fw-medium);text-align:center;line-height:1.2;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.store-logo-svg{display:block;width:100%;height:100%}.store-chip{gap:var(--space-xs);background:var(--card);border:1px solid var(--border);border-radius:var(--r-pill);padding:.3rem .7rem;font-size:var(--fs-sm);font-weight:500}.store-chip,.store-chip-logo{display:inline-flex;align-items:center}.store-chip-logo{height:1.05rem;max-width:3rem;flex-shrink:0}.store-chip-logo .store-logo-svg{width:auto;height:100%;max-width:100%}.store-chip .chain{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--accent-fill-on);background:var(--accent-fill);padding:.05rem .4rem;border-radius:var(--r-xs);letter-spacing:.03em}.manage-link{margin-left:auto;font-size:var(--fs-sm);color:var(--accent);font-weight:var(--fw-medium);text-decoration:none}.manage-link:hover{text-decoration:underline}.shop-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);margin-bottom:.75rem;font-size:var(--fs-base);color:var(--muted)}.shop-clear{border:1px solid var(--border);background:var(--card);color:var(--ink);border-radius:var(--r-sm);padding:.35rem .7rem;font-size:var(--fs-xs);font-weight:var(--fw-medium);cursor:pointer}.shop-clear:hover{border-color:var(--accent);color:var(--accent)}.shop-list{list-style:none;padding:0;margin:0}.shop-row{padding:.55rem 0;border-bottom:1px solid var(--border)}.shop-check,.shop-row{display:flex;align-items:center;gap:var(--space-md)}.shop-check{cursor:pointer;flex:1 1;min-width:0}.shop-check input{width:1.1rem;height:1.1rem;accent-color:var(--accent);flex-shrink:0}.shop-label{font-size:var(--fs-base);flex:1 1;min-width:0}.pantry-check{width:1.4rem;height:1.4rem;place-items:center;border-radius:var(--r-pill);background:var(--accent-fill);color:var(--accent-fill-on)}.pantry-check,.pantry-status{flex-shrink:0;display:grid;font-size:var(--fs-xs);line-height:1}.pantry-status{width:1.6rem;height:1.6rem;place-items:center;border:none;border-radius:var(--r-pill);background:var(--success-solid);color:#fff;cursor:pointer}.pantry-status.low{background:var(--amber);color:#fff}.pantry-pill{flex-shrink:0;border:none;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);font:inherit;font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:.25rem .65rem;cursor:pointer;white-space:nowrap}.pantry-pill:hover{background:var(--accent-soft-strong)}.pantry-pill.on-list{background:none;color:var(--success);cursor:default}.pantry-hint{margin:-.2rem 0 .9rem;font-size:var(--fs-sm);color:var(--muted)}.pantry-hint-check{display:inline-grid;place-items:center;width:1.15rem;height:1.15rem;border-radius:var(--r-pill);background:var(--success-solid);color:#fff;font-size:var(--fs-2xs);line-height:1;vertical-align:text-bottom}.pantry-intro{margin:.1rem 0 1rem;font-size:var(--fs-sm);color:var(--muted)}.pantry-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-bottom:.9rem}.pantry-panel-head{display:flex;align-items:center;gap:var(--space-sm);padding:.55rem .85rem;border-bottom:1px solid var(--border)}.pantry-panel-emoji{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:var(--r-sm);background:var(--accent-soft);font-size:var(--fs-base);line-height:1}.pantry-panel-title{flex:1 1;min-width:0;font-size:var(--fs-base);font-weight:var(--fw-semibold)}.pantry-panel-count{flex-shrink:0;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--accent);background:var(--accent-soft);border-radius:var(--r-pill);padding:.1rem .55rem}.pantry-panel-low{border-color:var(--warn-border)}.pantry-panel-low .pantry-panel-head{background:var(--warn-bg);border-bottom-color:var(--warn-border)}.pantry-panel-low .pantry-panel-title{color:var(--warn-ink)}.pantry-panel-low .pantry-panel-emoji{background:none;font-size:var(--fs-md)}.pantry-panel-low .pantry-panel-count{color:var(--warn-ink);background:var(--card)}.pantry-panel-list{list-style:none;margin:0;padding:0}.pantry-panel-list>li+li{border-top:1px solid var(--border)}.pantry-row{display:flex;align-items:center;gap:var(--space-md);padding:.55rem .85rem}.pantry-empty{text-align:center;padding:2.25rem 1.5rem;border:1px dashed var(--border);border-radius:var(--r-lg)}.pantry-empty-emoji{display:block;font-size:2.2rem;margin-bottom:.5rem}.pantry-empty-title{margin:0 0 .25rem;font-weight:var(--fw-semibold)}.pantry-empty-text{margin:0 auto;max-width:26rem;font-size:var(--fs-sm);color:var(--muted)}.find-page,.pantry-page,.recipes-page,.shop-page{position:relative;z-index:0}.find-page:before,.pantry-page:before,.recipes-page:before,.shop-page:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(120% 52% at 50% -8%,rgba(255,72,58,.15),transparent 62%),radial-gradient(60vmax 48vmax at 100% 22%,rgba(255,140,90,.13),transparent 60%),radial-gradient(64vmax 52vmax at 12% 104%,rgba(255,72,58,.11),transparent 60%)}html[data-theme=dark] .find-page:before,html[data-theme=dark] .pantry-page:before,html[data-theme=dark] .recipes-page:before,html[data-theme=dark] .shop-page:before{background:radial-gradient(120% 52% at 50% -8%,rgba(255,91,78,.17),transparent 62%),radial-gradient(60vmax 48vmax at 100% 22%,rgba(200,90,60,.15),transparent 60%),radial-gradient(64vmax 52vmax at 12% 104%,rgba(255,91,78,.11),transparent 60%)}.pantry-sum{align-items:stretch;margin-bottom:var(--space-lg)}.pantry-sum,.pantry-sum-card{display:flex;gap:var(--space-sm)}.pantry-sum-card{flex:1 1 auto;min-width:0;align-items:center;padding:var(--space-md);background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg)}.pantry-sum-badge{flex:0 0 auto;display:grid;place-items:center;width:2rem;height:2rem;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-ink)}.pantry-sum-badge svg{display:block;width:1.1rem;height:1.1rem}.pantry-sum-text{min-width:0;display:flex;flex-direction:column;line-height:var(--lh-snug)}.pantry-sum-main{font-size:var(--fs-base);font-weight:var(--fw-bold);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pantry-sum-sub{font-size:var(--fs-sm);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pantry-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--space-lg);gap:var(--space-lg);align-items:start}@media (min-width:760px){.pantry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.pantry-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-xl);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.pantry-card,html[data-theme=dark] .pantry-card{background:var(--card);box-shadow:none}.pantry-card:after,html[data-theme=dark] .pantry-card:after{content:none}.pantry-card.dragging{opacity:.5}.pantry-card.drop-over{border-color:var(--accent);background:var(--accent-soft);box-shadow:none}.pantry-card-head{position:relative;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:transparent;border-bottom:1px solid var(--border);border-radius:0}html[data-theme=dark] .pantry-card-head{border-bottom-color:var(--border)}.pantry-card.folded .pantry-card-head{border-bottom:0}.pantry-card-head.editing{display:block;padding:var(--space-md)}.pantry-card-edit{display:flex;flex-direction:column;gap:var(--space-sm)}.pantry-card-grip{position:relative;flex:0 0 auto;display:grid;place-items:center;width:2rem;height:2rem;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--fs-base);line-height:1;cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pantry-card-grip:active{cursor:-webkit-grabbing;cursor:grabbing}.pantry-card-grip.static{cursor:default}.pantry-card-grip:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.pantry-card-grip.static:after{content:none}.pantry-card-grip>*{grid-area:1/1;transition:opacity var(--dur-fast) var(--ease)}.pantry-card-grip svg{display:block;width:1.05rem;height:1.05rem}.pantry-card-grip .pantry-grip-dots{opacity:0;width:.6rem}.pantry-card-grip:active .pantry-card-face,.pantry-card-grip:hover .pantry-card-face{opacity:0}.pantry-card-grip.static:hover .pantry-card-face,.pantry-card-grip:active .pantry-grip-dots,.pantry-card-grip:hover .pantry-grip-dots{opacity:1}@media (prefers-reduced-motion:reduce){.pantry-card-grip>*{transition:none}}.pantry-face-text{font-size:var(--fs-base);line-height:1}.pantry-card-toggle{flex:1 1;min-width:0;display:flex;align-items:center;gap:var(--space-sm);border:none;background:none;color:inherit;font:inherit;padding:var(--space-2xs) 0;text-align:left;cursor:pointer}.pantry-card-toggle:after{content:"";position:absolute;inset:0}.pantry-card-grip,.pantry-card-head>.pantry-menu-wrap{z-index:1}.pantry-card-title{flex:1 1;min-width:0;font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-snug);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pantry-card-count{flex:0 0 auto;min-width:1.6rem;padding:.1rem var(--space-2xs);text-align:center;border-radius:var(--r-pill);color:var(--ink);font-size:var(--fs-xs);font-weight:var(--fw-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pantry-card-count,html[data-theme=dark] .pantry-card-count{background:var(--btn-soft)}.pantry-card-caret{flex:0 0 auto;display:grid;place-items:center;color:var(--muted);transition:transform var(--dur-fast) var(--ease)}.pantry-card-caret svg{display:block;width:.85rem;height:.85rem}.pantry-card.folded .pantry-card-caret{transform:rotate(-90deg)}@media (prefers-reduced-motion:reduce){.pantry-card-caret{transition:none}}.pantry-card-body[hidden]{display:none}.pantry-card-rename{min-width:0;font:inherit;font-size:var(--fs-base);font-weight:var(--fw-semibold);border:1px solid var(--accent);border-radius:var(--r-sm);padding:var(--space-2xs) var(--space-sm);background:var(--card);color:var(--ink)}.pantry-iconpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));grid-gap:var(--space-2xs);gap:var(--space-2xs)}.pantry-iconpick-btn{display:grid;place-items:center;width:100%;height:44px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);color:var(--muted);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.pantry-iconpick-btn svg{display:block;width:1.15rem;height:1.15rem}.pantry-iconpick-btn.on,.pantry-iconpick-btn:hover{border-color:var(--accent);color:var(--accent-ink)}.pantry-iconpick-btn.on{background:var(--accent-soft)}@media (prefers-reduced-motion:reduce){.pantry-iconpick-btn{transition:none}}.pantry-drag{position:relative;flex:0 0 auto;display:grid;place-items:center;width:.7rem;padding:0;color:var(--muted);cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pantry-drag svg{display:block;width:.6rem}.pantry-drag:active{cursor:-webkit-grabbing;cursor:grabbing}.pantry-row-arrow{position:relative;flex-shrink:0;display:grid;place-items:center;border:none;background:none;color:var(--muted);cursor:pointer;padding:.15rem;border-radius:var(--r-xs);line-height:0}.pantry-drag:after,.pantry-row-arrow:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.pantry-row-arrow:hover{color:var(--accent);background:var(--accent-soft)}.pantry-menu-row{min-width:12rem}.pantry-menu-wrap{position:relative;flex-shrink:0}.pantry-menu-btn{position:relative;border:none;background:none;color:var(--muted);font-size:var(--fs-lg);line-height:1;cursor:pointer;padding:0 var(--space-2xs);border-radius:var(--r-sm)}.pantry-menu-btn:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.pantry-menu-btn:hover{color:var(--ink)}.pantry-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:var(--z-menu);min-width:10.5rem;background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:.3rem;display:flex;flex-direction:column;gap:var(--space-3xs);max-height:min(60vh,22rem);overflow-y:auto}.pantry-menu-title{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.25rem .45rem .15rem}.pantry-menu-item{text-align:left;border:none;background:none;color:var(--ink);font:inherit;font-size:var(--fs-sm);padding:.4rem .45rem;border-radius:var(--r-sm);cursor:pointer;white-space:nowrap}.pantry-menu-item:hover{background:var(--accent-soft)}.pantry-menu-item:disabled{opacity:.4;cursor:default}.pantry-menu-item:disabled:hover{background:none}.pantry-menu-item.danger{color:var(--accent)}.pantry-menu-sep{height:1px;margin:.25rem .15rem;border:0;background:var(--border)}.pantry-card-list{list-style:none;margin:0;padding:0}.pantry-card-list>li+li{border-top:1px solid var(--border)}html[data-theme=dark] .pantry-card-list>li+li{border-top-color:var(--border)}.pantry-card .pantry-row{position:relative;gap:var(--space-sm);padding:var(--space-sm) var(--space-md)}.pantry-card .pantry-row.low{background:var(--warn-bg)}.pantry-card .pantry-row.dragging{opacity:.45}.pantry-card .shop-label{flex:1 1;min-width:0;font-size:var(--fs-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pantry-card-empty{margin:0;padding:var(--space-md);font-size:var(--fs-sm);color:var(--muted)}.pantry-card-add{display:flex;align-items:center;gap:var(--space-2xs);width:100%;border:none;border-top:1px solid var(--border);background:none;color:var(--accent-ink);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:var(--space-md);text-align:left;cursor:pointer;border-radius:0 0 calc(var(--r-xl) - 1px) calc(var(--r-xl) - 1px)}.pantry-card-add svg{display:block;width:.85rem;height:.85rem}html[data-theme=dark] .pantry-card-add{border-top-color:var(--border)}.pantry-card-add:hover{background:var(--accent-soft)}.pantry-card-add.closed{color:var(--muted);font-weight:var(--fw-medium)}.pantry-add-incard{margin:0;padding:.5rem .55rem 0}.pantry-add-incard .pantry-add-input{font-size:var(--fs-sm);padding:.5rem .6rem}.pantry-add-incard .pantry-results{position:static;box-shadow:none;border:none;padding:.2rem 0;max-height:220px}.pantry-summary-actions{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.pantry-newgroup-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-ink);border-radius:var(--r-lg);padding:0 var(--space-lg);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;white-space:nowrap}.pantry-newgroup-btn svg{display:block;width:.95rem;height:.95rem}.pantry-newgroup-btn:hover{background:var(--accent-soft-strong)}.pantry-newgroup{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-xl)}.pantry-newgroup-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.pantry-newgroup .pantry-add-input{flex:1 1;min-width:9rem;width:auto}.pantry-newgroup-save{border:none;background:var(--accent-fill);color:var(--accent-fill-on);border-radius:var(--r-sm);padding:.5rem .95rem;font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer}.pantry-newgroup-cancel{border:1px solid var(--border);background:var(--card);color:var(--muted);border-radius:var(--r-sm);padding:.5rem .8rem;font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer}.pantry-tips{position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:var(--space-md);margin-top:var(--space-xl);padding:var(--space-lg);background:var(--accent-soft);border-radius:var(--r-lg)}.pantry-tips-badge{flex:0 0 auto;display:grid;place-items:center;width:2rem;height:2rem;border-radius:var(--r-pill);background:var(--card);color:var(--accent-ink)}.pantry-tips-badge svg{display:block;width:1.1rem;height:1.1rem}.pantry-tips-body{position:relative;z-index:var(--z-raised);min-width:0;max-width:13.5rem}.pantry-tips-title{margin:0;font-size:var(--fs-base);font-weight:var(--fw-bold);line-height:var(--lh-snug)}.pantry-tips-text{margin:var(--space-3xs) 0 0;font-size:var(--fs-sm);color:var(--ink)}.pantry-tips-art{position:absolute;right:-.2rem;bottom:0;width:4.8rem;color:var(--accent);opacity:.2;pointer-events:none}html[data-theme=dark] .pantry-tips-art{opacity:.22}.shop-row.checked .shop-label{text-decoration:line-through;color:var(--muted)}.shop-row .ing-offer{margin-left:auto}.keep-list{list-style:none;padding:0;margin:0}.split-toggle{display:inline-flex;gap:var(--space-2xs);padding:.25rem;margin-bottom:1rem;background:var(--accent-soft);border-radius:var(--r-pill)}.split-tab{border:none;background:none;padding:.4rem .9rem;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--muted);border-radius:var(--r-pill);cursor:pointer}.split-tab.active{background:var(--card);color:var(--ink);box-shadow:var(--shadow-sm)}.store-buckets{position:relative;z-index:var(--z-raised);flex-direction:column}.shop-head,.store-buckets{display:flex;gap:var(--space-xl)}.shop-head{align-items:flex-start;justify-content:space-between}.shop-head-main{min-width:0}.shop-head .rtool{width:58px;height:40px;border-radius:var(--r-pill);font-size:1.25rem}.shop-stats{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem .7rem;margin-bottom:.9rem}.shop-stat{display:inline-flex;align-items:baseline;gap:var(--space-xs);font-size:var(--fs-base);font-weight:var(--fw-bold)}.shop-stat.save{color:var(--success)}.shop-stat-u{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--muted)}.shop-stat.save .shop-stat-u{color:var(--success);opacity:.85}.shop-stat-dot{width:4px;height:4px;border-radius:50%;background:var(--border)}.store-bucket-slim{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:.55rem .85rem;background:rgba(255,255,255,.4);border:1.5px dashed var(--glass-border);border-radius:var(--r-lg);box-shadow:inset 0 1px 0 rgba(255,255,255,.4);font-family:inherit;font-size:var(--fs-sm);color:var(--ink);text-align:left;cursor:pointer}html[data-theme=dark] .store-bucket-slim{background:rgba(255,255,255,.05)}.store-bucket-slim.over{border-color:var(--accent);border-style:solid;background:var(--accent-soft)}.store-bucket-slim .store-bucket-name{font-weight:var(--fw-medium);color:var(--muted)}.store-bucket-slim-hint{margin-left:auto;font-size:var(--fs-xs);color:var(--muted);opacity:.8;white-space:nowrap}.store-bucket-slim .keep-chevron{color:var(--muted)}.store-bucket{position:relative;border:1px solid var(--glass-border);border-radius:var(--r-xl);padding:0 .85rem .3rem;background:linear-gradient(160deg,rgba(255,255,255,.8),rgba(255,255,255,.55) 45%,rgba(255,229,226,.55));box-shadow:var(--glass-shadow),inset 0 1px 0 rgba(255,255,255,.75);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}html[data-theme=dark] .store-bucket{background:linear-gradient(160deg,rgba(60,55,50,.72),rgba(40,37,33,.55) 45%,rgba(69,33,29,.6));box-shadow:var(--glass-shadow),inset 0 1px 0 rgba(255,255,255,.14)}.store-bucket:after{content:"";position:absolute;top:0;left:0;right:0;height:46%;pointer-events:none;border-radius:18px 18px 0 0;background:linear-gradient(180deg,rgba(255,255,255,.35),transparent)}html[data-theme=dark] .store-bucket:after{background:linear-gradient(180deg,rgba(255,255,255,.1),transparent)}.store-bucket.over{border-color:var(--accent);box-shadow:var(--glass-shadow),0 0 0 2px var(--accent-soft-strong) inset}.store-bucket.unassigned{border-style:dashed;box-shadow:var(--glass-shadow),inset 0 1px 0 rgba(255,255,255,.4)}.store-bucket.unassigned:after{display:none}.store-bucket.unassigned>.store-bucket-head .store-bucket-name{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.store-bucket-head{display:flex;align-items:center;gap:var(--space-sm);padding:.7rem 0 .55rem}.store-bucket .keep-list,.store-bucket .store-bucket-empty{border-top:1px solid rgba(255,255,255,.5)}html[data-theme=dark] .store-bucket .keep-list,html[data-theme=dark] .store-bucket .store-bucket-empty{border-top-color:rgba(255,255,255,.08)}.store-bucket>.keep-list:first-child{border-top:none;padding-top:.25rem}.store-bucket-toggle{width:100%;border:none;background:none;font-family:inherit;color:inherit;cursor:pointer;text-align:left}.store-bucket-saving{margin-left:auto;flex-shrink:0;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--success);background:var(--success-soft);border-radius:var(--r-pill);padding:.16rem .6rem;white-space:nowrap}.store-bucket-toggle .keep-chevron{color:var(--muted);margin-left:.15rem}.store-bucket.collapsed{padding-bottom:.15rem}.store-bucket-logo{display:inline-flex;width:32px;height:32px;flex-shrink:0}.store-bucket-logo .store-logo-svg{width:100%;height:100%}.store-bucket-name{font-weight:var(--fw-semibold);font-size:var(--fs-base);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.store-bucket-count{margin-left:auto;flex-shrink:0;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--muted);background:rgba(255,255,255,.55);border-radius:var(--r-pill);padding:.12rem .55rem}html[data-theme=dark] .store-bucket-count{background:rgba(0,0,0,.28)}.store-bucket-empty{margin:0;padding:.65rem .1rem .75rem;font-size:var(--fs-sm);color:var(--muted)}.keep-row{display:flex;align-items:center;gap:var(--space-3xs);padding:.3rem 0}.keep-list>.keep-row+.keep-row{border-top:1px solid rgba(255,255,255,.4)}html[data-theme=dark] .keep-list>.keep-row+.keep-row{border-top-color:rgba(255,255,255,.07)}.keep-row.dragging{opacity:.4}.keep-drag{flex-shrink:0;width:1.5rem;text-align:center;cursor:-webkit-grab;cursor:grab;color:var(--muted);font-size:var(--fs-md);line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.5;touch-action:none;transition:opacity var(--dur-fast) ease}.keep-row:hover .keep-drag{opacity:.9}.keep-drag:active{cursor:-webkit-grabbing;cursor:grabbing;opacity:1}.keep-drag-empty{cursor:default}.keep-check{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;width:1.4rem;height:1.4rem;margin:0 .5rem 0 .1rem;border:2px solid var(--border);border-radius:var(--r-pill);background:var(--card);display:grid;place-items:center;cursor:pointer;transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease}.keep-check:hover{border-color:var(--success)}.keep-check:checked{background:var(--success-solid);border-color:var(--success-solid)}.keep-check:checked:after{content:"✓";color:#fff;font-size:var(--fs-xs);font-weight:var(--fw-bold);line-height:1}.keep-label,.keep-label.keep-label-btn{flex:1 1;min-width:0;font-size:var(--fs-base);font-weight:var(--fw-medium);padding:.5rem 0;cursor:text}.keep-row.checked .keep-label{text-decoration:line-through;font-weight:500;color:var(--muted)}.keep-qty{font-weight:500;margin-top:.05rem}.keep-qty,.keep-recipes{display:block;font-size:var(--fs-xs);color:var(--muted);line-height:1.25}.keep-recipes{font-weight:var(--fw-regular);font-style:italic}.keep-offer{flex-shrink:1;min-width:0;max-width:55%;display:inline-flex;align-items:center;gap:var(--space-2xs);padding:.15rem .5rem .15rem .2rem;background:var(--accent-soft);border:none;border-radius:var(--r-pill);cursor:pointer;font-family:inherit}.keep-offer-thumb{width:1.5rem;height:1.5rem;object-fit:contain;background:#fff;border-radius:var(--r-pill);flex-shrink:0}.keep-offer-price{white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.keep-offer-logo{display:inline-flex;align-items:center;height:1.3rem;max-width:3.1rem;flex-shrink:0}.keep-offer-logo .store-logo-svg{width:auto;height:100%;max-width:100%}.keep-offer-count{flex-shrink:0;font-size:var(--fs-2xs);font-weight:var(--fw-bold);color:var(--accent-fill-on);background:var(--accent-fill);border-radius:var(--r-pill);padding:.08rem .4rem;white-space:nowrap}.keep-remove{flex-shrink:0;border:none;background:none;color:var(--muted);font-size:1.25rem;line-height:1;cursor:pointer;padding:0 .35rem;opacity:.45;transition:opacity var(--dur-fast) ease}.keep-row:hover .keep-remove{opacity:.8}.keep-remove:hover{opacity:1;color:var(--danger)}.keep-add{position:relative;display:flex;align-items:center;gap:var(--space-3xs);margin:0;padding:.1rem 0;border-top:1px solid var(--border)}.keep-add-plus{flex-shrink:0;width:2.1rem;text-align:center;color:var(--accent-ink);font-size:1.3rem;font-weight:300;line-height:1}.keep-add-input{flex:1 1;min-width:0;border:none;background:none;color:var(--ink);font-size:var(--fs-base);font-family:inherit;padding:.65rem 0;outline:none}.keep-add-input::placeholder{color:var(--muted)}.keep-done{position:relative;margin-top:1rem;border:1px solid var(--glass-border);border-radius:var(--r-lg);padding:.15rem .85rem .25rem;background:linear-gradient(160deg,rgba(255,255,255,.7),rgba(255,255,255,.5));box-shadow:var(--glass-shadow),inset 0 1px 0 rgba(255,255,255,.7)}html[data-theme=dark] .keep-done{background:linear-gradient(160deg,rgba(55,51,46,.6),rgba(40,37,33,.5));box-shadow:var(--glass-shadow),inset 0 1px 0 rgba(255,255,255,.12)}.keep-done-head{display:flex;align-items:center;gap:var(--space-sm);width:100%;border:none;background:none;color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold);font-family:inherit;cursor:pointer;padding:.6rem 0}.keep-done .keep-list{border-top:1px solid rgba(255,255,255,.5)}html[data-theme=dark] .keep-done .keep-list{border-top-color:rgba(255,255,255,.08)}.keep-chevron{display:inline-block;transition:transform var(--dur-fast) ease;transform:rotate(-90deg);font-size:var(--fs-xs)}.keep-chevron.open{transform:rotate(0deg)}.keep-clear{width:100%;border:none;border-top:1px solid var(--border);background:none;color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold);font-family:inherit;cursor:pointer;text-align:center;padding:.6rem 0 .5rem}.keep-clear:hover{color:var(--danger)}.store-list{display:flex;flex-direction:column;gap:var(--space-sm)}.store-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);padding:.5rem .75rem}.btn-add,.btn-remove{border:none;border-radius:var(--r-sm);padding:.4rem .8rem;font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer}.btn-add{background:var(--accent-fill);color:var(--accent-fill-on)}.btn-remove{background:var(--btn-soft);color:var(--danger)}.btn-add:disabled,.btn-remove:disabled{opacity:.6;cursor:default}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));grid-gap:var(--space-lg);gap:var(--space-lg)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;position:relative}.card,.card .thumb{overflow:hidden;display:flex}.card .thumb{aspect-ratio:16/10;background:var(--accent-soft);align-items:center;justify-content:center;font-size:2.2rem;font-weight:var(--fw-semibold);color:var(--accent)}.card .thumb img{width:100%;height:100%;object-fit:cover}.card .body{padding:.6rem .7rem .5rem;display:flex;flex-direction:column;gap:var(--space-2xs);flex:1 1}.card h3{margin:0;font-size:var(--fs-base);font-weight:var(--fw-semibold);line-height:var(--lh-snug);min-height:calc(2 * var(--lh-snug) * 1em);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.card .thumb{position:relative}.thumb-src{position:absolute;top:8px;left:8px;background:rgba(31,36,33,.55);color:#fff;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.03em;padding:.1rem .5rem;border-radius:var(--r-pill)}.plan-knapp{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;border:1px solid var(--plan);border-radius:var(--r-pill);background:var(--card);color:var(--plan);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.plan-knapp svg{width:16px;height:16px;flex-shrink:0}.plan-knapp.pa{background:var(--plan);border-color:var(--plan);color:var(--plan-on)}.plan-knapp.mini{position:absolute;top:8px;right:8px;z-index:var(--z-card-action);min-width:32px;height:32px;padding:0;justify-content:center;font-size:var(--fs-2xs);box-shadow:var(--shadow-md);transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease}.plan-knapp.mini svg{width:14px;height:14px}.plan-knapp.mini.pa{padding:0 .6rem 0 .5rem;gap:.28rem}.plan-knapp.mini .plan-text{font-weight:var(--fw-bold)}.plan-knapp.mini:after{content:"";position:absolute;top:50%;left:50%;width:100%;min-width:44px;height:44px;transform:translate(-50%,-50%)}.hero-wrap{position:relative}.vecka-sum{font-size:var(--fs-xs);color:var(--muted);font-weight:var(--fw-medium)}.sektion-luft{margin-top:1.4rem}.card.new{background:color-mix(in srgb,var(--accent-soft) 55%,var(--card))}.card-new-pill{position:absolute;top:8px;left:8px;background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--accent-ink);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.03em;text-transform:uppercase;padding:.1rem .5rem;border-radius:var(--r-pill)}.hero-thumb .card-new-pill{top:10px;left:10px;z-index:var(--z-card-action)}.card-meta-row{justify-content:space-between;margin-top:auto}.card-meta,.card-meta-row{display:flex;align-items:center;gap:var(--space-xs)}.card-meta{min-width:0;font-size:var(--fs-2xs);color:var(--muted);white-space:nowrap;overflow:hidden}.card-meta-servings{min-width:0;overflow:hidden;text-overflow:ellipsis}.card-stats{gap:var(--space-xs);flex-shrink:0;font-size:var(--fs-2xs);color:var(--muted);white-space:nowrap}.card-stat,.card-stats{display:inline-flex;align-items:center}.card-stat{gap:.2rem}.card-meta-dot{width:8px;height:8px;border-radius:var(--r-pill);flex-shrink:0}.thumb-prickar,.thumb-tid{position:absolute;bottom:8px;background:rgba(31,36,33,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:var(--r-pill)}.thumb-tid{right:8px;display:inline-flex;align-items:center;gap:.22rem;padding:.12rem .45rem .12rem .35rem;color:#fff;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);white-space:nowrap}.thumb-tid svg{width:11px;height:11px}.thumb-prickar{left:8px;display:inline-flex;gap:3px;padding:3px 5px}.thumb-prick{width:8px;height:8px;border-radius:var(--r-pill);flex-shrink:0}.card-foot{display:flex;align-items:baseline;gap:.1rem .35rem;margin-top:auto;padding:.45rem .7rem .55rem;border-top:1px solid var(--border);font-size:var(--fs-2xs);color:var(--muted)}.card-per-serving{font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:var(--lh-snug);color:var(--success)}.card-per-serving small{font-size:var(--fs-2xs);font-weight:var(--fw-regular)}.card-importing .thumb{background:linear-gradient(180deg,var(--btn-soft),var(--border))}.card-import-spin{width:32px;height:32px;border:3px solid color-mix(in srgb,var(--accent-ink) 20%,transparent);border-top-color:var(--accent-ink);border-radius:var(--r-pill);animation:btn-spin .7s linear infinite}.card-import-title{color:var(--muted)}.card-imported{animation:card-imported-in var(--dur-slow) var(--ease)}@keyframes card-imported-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.card-import-spin{animation-duration:2.4s}.card-imported{animation:none}}.hero-per-serving small{font-size:var(--fs-xs);font-weight:var(--fw-regular)}.hero-per-serving{font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-snug);color:var(--success)}.store-chip-link{text-decoration:none;color:inherit;cursor:pointer;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.store-chip-link:hover{border-color:var(--accent);box-shadow:0 1px 4px rgba(46,125,50,.15)}.store-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap;margin-bottom:1.25rem}.store-head .meta{color:var(--muted);font-size:var(--fs-sm)}.store-hero{display:flex;align-items:center;gap:var(--space-xl);margin-bottom:1.15rem}.store-hero-logo{flex-shrink:0;width:52px;height:52px;display:block}.store-hero-logo .store-logo-svg{width:100%;height:100%}.store-hero-main{flex:1 1;min-width:0}.store-hero-name{margin:0;font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:var(--track-tight);line-height:1.15}.store-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .55rem;margin-top:4px}.shm{display:inline-flex;align-items:center;gap:var(--space-2xs);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--muted)}.shm.strong{color:var(--ink);font-weight:var(--fw-bold)}.shm-dot{width:3px;height:3px;border-radius:50%;background:var(--border)}.allstores-hero{align-items:flex-start}.allstores-brick{flex-shrink:0;width:52px;height:52px;border-radius:var(--r-lg);background:var(--accent-soft);display:grid;place-items:center;font-size:1.6rem;line-height:1}.allstores-chips{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-top:var(--space-sm)}.allstores-chip{display:inline-flex;align-items:center;gap:var(--space-2xs);background:var(--card);border:1px solid var(--border);border-radius:var(--r-pill);padding:2px 9px 2px 3px;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--ink);white-space:nowrap}.allstores-chip-logo{width:18px;height:18px;flex-shrink:0;border-radius:6px;overflow:hidden}.allstores-chip-logo .store-logo-svg{width:100%;height:100%}.offer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:var(--space-xl);gap:var(--space-xl)}.offer-grid-avdelare{grid-column:1/-1;margin:0 0 calc(var(--space-xl) * -.5);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.offer-grid-avdelare em{font-style:normal;text-transform:none}.offer-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column}.offer-card,.offer-thumb{overflow:hidden;display:flex;position:relative}.offer-thumb{aspect-ratio:1/1;background:#fff;align-items:center;justify-content:center}.offer-store-tag{position:absolute;top:6px;left:6px;z-index:1;max-width:calc(100% - 12px);background:rgba(31,36,33,.62);color:#fff;font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.03em;padding:.1rem .5rem;border-radius:var(--r-pill);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offer-thumb img{width:100%;height:100%;object-fit:contain;padding:.4rem}.offer-noimg{font-size:2rem;font-weight:var(--fw-semibold);color:var(--accent);background:var(--accent-soft);width:100%;height:100%;display:flex;align-items:center;justify-content:center}.offer-body{padding:.6rem .7rem .75rem;display:flex;flex-direction:column;gap:var(--space-3xs);flex:1 1}.offer-name{font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:1.25}.offer-brand,.offer-size{font-size:var(--fs-xs);color:var(--muted)}.offer-price-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-xs);margin-top:.4rem}.offer-compare,.offer-saving{margin-top:.1rem}.offer-store{margin-top:auto;padding-top:.45rem;border-top:1px dashed var(--border);display:flex;align-items:flex-start;gap:var(--space-2xs);font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--muted);line-height:1.25}.offer-compare+.offer-store{margin-top:.5rem}.offer-store-pin{flex-shrink:0;font-size:var(--fs-xs);line-height:1.25}.offer-controls{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:.7rem}.offer-controls .recipe-ctrl-btn{flex-shrink:0}.offer-diet-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:1.1rem}.offer-search{width:100%;padding:.62rem .95rem;font-size:var(--fs-base);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--card);color:var(--ink)}.offer-controls .offer-search{flex:1 1;min-width:0}.offer-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.offer-add{width:100%;padding:.55rem .5rem;border:none;border-top:1px solid var(--border);background:transparent;color:var(--accent);font-size:var(--fs-xs);font-weight:var(--fw-medium);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.offer-add:hover{background:var(--accent-soft)}.offer-admin{display:flex;align-items:center;gap:.3rem;padding:.35rem .5rem;border-top:1px solid var(--border);background:var(--btn-soft);color:var(--muted)}.offer-admin.error{background:var(--danger-soft);color:var(--danger)}.offer-admin.ok{background:var(--success-soft);color:var(--success)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.offer-admin-ic{display:inline-flex;flex:none;font-size:var(--fs-sm)}.offer-admin select{flex:1 1;min-width:0;border:none;background:transparent;color:inherit;font-family:inherit;font-size:var(--fs-2xs);cursor:pointer}.offer-admin select:disabled{opacity:.6}.offer-admin-ok{flex:none;font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--success)}.offer-add.added{background:var(--success-soft);color:var(--success)}.offer-toast{order:2;max-width:min(92vw,26rem);padding:.65rem 1.1rem;border-radius:var(--r-pill);background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:var(--ink);font-size:var(--fs-sm);font-weight:var(--fw-medium);text-align:center;box-shadow:var(--glass-shadow);pointer-events:none;animation:offer-toast-in .3s ease-out both}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.offer-toast{background:var(--card)}}.offer-toast.leaving{animation:offer-toast-out .3s ease-in both}@keyframes offer-toast-in{0%{transform:translateY(1.5rem);opacity:0}to{transform:none;opacity:1}}@keyframes offer-toast-out{0%{transform:none;opacity:1}to{transform:translateY(1.5rem);opacity:0}}@media (prefers-reduced-motion:reduce){.offer-toast,.offer-toast.leaving{animation:none}}.cat-filter{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:1.1rem}.cat-chip{display:inline-flex;align-items:center;gap:var(--space-xs);background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--r-pill);padding:.35rem .8rem;font-size:var(--fs-sm);font-weight:500;color:var(--ink);cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast)}.cat-chip.active,.cat-chip:hover{border-color:var(--accent)}.cat-chip.active{background:var(--accent-fill);color:var(--accent-fill-on)}.cat-count{font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--muted)}.cat-chip.active .cat-count{color:rgba(255,255,255,.8)}.cat-chip.diet-chip{color:var(--success);background:var(--success-soft);font-weight:var(--fw-semibold)}.cat-chip.diet-chip,.cat-chip.diet-chip:hover{border-color:var(--success)}.cat-chip.diet-chip .cat-count{color:var(--success)}.cat-chip.diet-chip.active{background:var(--success-solid);border-color:var(--success);color:#fff}.cat-chip.diet-chip.active .cat-count{color:rgba(255,255,255,.85)}.cat-dot{display:inline-block;width:.7rem;height:.7rem;border-radius:var(--r-pill);flex-shrink:0}.recipe-cat-slot{display:contents}.recipe-cats{display:flex;flex-wrap:wrap;margin-top:.55rem}.recipe-cat-chip,.recipe-cats{align-items:center;gap:var(--space-xs)}.recipe-cat-chip{display:inline-flex;border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:var(--r-pill);padding:.2rem .6rem;font-family:inherit;font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer}.recipe-cat-chip:hover{border-color:var(--accent)}.recipe-cat-chip .recipe-cat-dot{width:.55rem;height:.55rem}.recipe-cat-pill{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:#fff;padding:.18rem .6rem;border-radius:var(--r-pill);letter-spacing:.01em}.recipe-cat-menu-wrap{position:relative}.recipe-cat-btn{display:inline-flex;align-items:center;gap:var(--space-2xs);background:var(--card);border:1px dashed var(--border);border-radius:var(--r-pill);padding:.25rem .7rem;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--muted);font-family:inherit;cursor:pointer}.recipe-cat-btn:hover{border-color:var(--accent);color:var(--accent)}.recipe-delete-btn{color:var(--danger);border-color:var(--danger-border)}.recipe-delete-btn:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.recipe-delete-btn:disabled{opacity:.6;cursor:default}.recipe-cat-btn-chev{font-size:var(--fs-2xs)}.wake-toggle{display:inline-flex;align-items:center;gap:var(--space-2xs);background:var(--card);border:1px dashed var(--border);border-radius:var(--r-pill);padding:.25rem .7rem;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--muted);font-family:inherit;cursor:pointer}.wake-toggle:hover{border-color:var(--accent);color:var(--accent)}.wake-toggle.on{border-style:solid;border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.recipe-cat-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:var(--z-dropdown);min-width:220px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:.4rem}.recipe-cat-menu-empty{margin:0;padding:.4rem .5rem;font-size:var(--fs-sm);color:var(--muted)}.recipe-cat-opt{display:flex;align-items:center;gap:var(--space-sm);width:100%;border:none;background:none;border-radius:var(--r-sm);padding:.5rem .55rem;font-size:var(--fs-base);font-family:inherit;color:var(--ink);cursor:pointer;text-align:left}.recipe-cat-opt:hover{background:var(--bg)}.recipe-cat-dot{width:.85rem;height:.85rem;border-radius:var(--r-pill);flex-shrink:0}.recipe-cat-opt-name{flex:1 1;min-width:0}.recipe-cat-opt-tick{color:var(--accent);font-weight:var(--fw-bold);width:1rem;text-align:center}.recipe-cat-menu-new,.recipe-cat-opt.on{font-weight:var(--fw-medium)}.recipe-cat-menu-new{display:block;margin-top:.2rem;padding:.5rem .55rem;border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--accent);text-decoration:none}.recipe-cat-menu-new:hover{text-decoration:underline}.cat-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-sm)}.cat-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg)}.cat-row-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.cat-row-name{font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--ink)}.cat-row-count{font-size:var(--fs-2xs);color:var(--muted)}.cat-icon-btn{flex:none;display:inline-grid;place-items:center;width:2rem;height:2rem;font-size:1rem;padding:0;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);color:var(--muted);cursor:pointer}.cat-icon-btn:hover{color:var(--ink);border-color:var(--ink)}.cat-icon-btn.danger:hover{color:var(--danger);border-color:var(--danger)}.cat-row-edit{flex-direction:column;align-items:stretch;gap:var(--space-sm)}.cat-edit-actions{display:flex;justify-content:flex-end;gap:var(--space-sm)}.cat-add-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);width:100%;margin-top:var(--space-lg);padding:12px var(--space-md);font-size:var(--fs-base);font-weight:var(--fw-medium);border:1px dashed var(--border);border-radius:var(--r-lg);background:transparent;color:var(--ink);cursor:pointer}.cat-add-btn svg{width:1rem;height:1rem}.cat-add-btn:hover{border-color:var(--accent);color:var(--accent)}.cat-create{flex-direction:column;margin-top:var(--space-lg);padding:var(--space-lg) var(--space-xl) var(--space-xl);background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.cat-create,.cat-create-head{display:flex;gap:var(--space-sm)}.cat-create-head{align-items:center;justify-content:space-between}.cat-create-title{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--ink)}.cat-name-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--fs-base);background:var(--bg);color:var(--ink)}.cat-name-input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cat-swatches{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.cat-swatch{width:1.8rem;height:1.8rem;display:grid;place-items:center;border-radius:var(--r-pill);border:2px solid transparent;cursor:pointer;padding:0;color:#fff}.cat-swatch svg{width:.9rem;height:.9rem}.cat-swatch.active{border-color:var(--ink);box-shadow:0 0 0 2px var(--card) inset}.cat-preview{display:flex;flex-direction:column;gap:var(--space-2xs);margin-top:var(--space-2xs)}.cat-preview-label{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.cat-preview-card{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border:2px solid var(--border);border-radius:var(--r-md);background:var(--bg)}.cat-preview-thumb{flex:none;width:2.6rem;height:2.6rem;border-radius:var(--r-sm);background:var(--border)}.cat-preview-body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2xs);min-width:0}.cat-preview-title{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink)}.cat-preview-pill{font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:#fff;padding:2px 9px;border-radius:var(--r-pill);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-cancel,.cat-save{padding:9px var(--space-lg);font-size:var(--fs-sm);font-weight:var(--fw-medium);border-radius:var(--r-md);cursor:pointer}.cat-save{border:none;background:var(--accent-fill);color:var(--accent-fill-on)}.cat-save:disabled{opacity:.5;cursor:default}.cat-save-wide{width:100%;padding:12px var(--space-md);font-size:var(--fs-base);margin-top:var(--space-2xs)}.cat-cancel{border:1px solid var(--border);background:transparent;color:var(--ink)}.cat-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2xs);padding:var(--space-2xl) var(--space-md);border:1px dashed var(--border);border-radius:var(--r-lg);color:var(--muted)}.cat-empty-ic{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);margin-bottom:var(--space-2xs)}.cat-empty-ic svg{width:1.5rem;height:1.5rem}.cat-empty-title{margin:0;font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--ink)}.cat-empty-sub{margin:0;font-size:var(--fs-sm);max-width:22rem}.card-link{display:flex;flex-direction:column;flex:1 1;text-decoration:none;color:inherit}.recipe-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-xl);margin-bottom:1rem}.recipe-title{margin:0 0 .2rem;font-size:var(--fs-xl);letter-spacing:var(--track-tight)}.recipe-head .meta{color:var(--muted);font-size:var(--fs-base)}.recipe-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:1.25rem}.btn-cancel,.btn-restore{border:1px solid var(--border);background:var(--btn-soft);color:var(--ink);border-radius:var(--r-sm);padding:.4rem .8rem;font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer}.btn-cancel:disabled,.btn-restore:disabled{opacity:.6;cursor:default}.recipe-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:var(--space-2xl);gap:var(--space-2xl);align-items:start}@media (max-width:720px){.recipe-layout{grid-template-columns:1fr;gap:var(--space-xl)}}.rfold-tabs{display:none}.rtrack,.rviewport{display:contents}@media (max-width:720px){.rfold-tabs{position:-webkit-sticky;position:sticky;top:var(--rfold-top,56px);z-index:var(--z-raised);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:0;gap:0;background:var(--card);border:1px solid var(--border);border-bottom:0;border-radius:var(--r-lg) var(--r-lg) 0 0;padding-top:var(--space-2xs);margin-bottom:0}.rfold-tab{position:relative;z-index:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--muted);background:none;border:none;padding:.55rem .5rem .62rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);-webkit-tap-highlight-color:transparent;transition:color .26s ease}.rfold-tab[aria-selected=true]{color:var(--accent);font-weight:var(--fw-semibold)}.rfold-count{font-size:var(--fs-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);background:var(--btn-soft);border-radius:var(--r-pill);padding:.05rem .42rem;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.rfold-tab[aria-selected=true] .rfold-count{background:var(--accent-soft);color:var(--accent-ink)}.rfold-ink{position:absolute;top:auto;bottom:0;height:3px;margin:0 var(--space-md);left:0;right:0;z-index:0;box-sizing:border-box;background:var(--accent);border:0;border-radius:var(--r-pill) var(--r-pill) 0 0;pointer-events:none;transition:left .26s cubic-bezier(.22,.61,.36,1),right .26s cubic-bezier(.22,.61,.36,1)}.rfold[data-dir=right] .rfold-ink{transition-delay:70ms,0s}.rfold[data-dir=left] .rfold-ink{transition-delay:0s,70ms}.rviewport{display:block;overflow:hidden;background:var(--card);border:1px solid var(--border);border-radius:0 0 var(--r-lg) var(--r-lg);margin-top:0;transition:height .38s cubic-bezier(.22,.61,.36,1)}.rtrack{display:flex;align-items:flex-start;width:200%;transition:transform .38s cubic-bezier(.22,.61,.36,1);will-change:transform}.rpane{flex:0 0 50%;width:50%;padding:var(--space-lg) var(--space-md) var(--space-md)}.rpane[inert]{opacity:.35}.rpane{transition:opacity .26s ease}.rfold-init .rfold-ink,.rfold-init .rtrack,.rfold-init .rviewport,.rviewport.is-dragging .rtrack{transition:none}.rpane .recipe-panel{border:none;border-radius:0;background:transparent}.rpane .section-head .section-title{display:none}.rpane .section-head{justify-content:flex-end;margin-top:0}.rpane .recipe-ings-head{display:none}}@media (prefers-reduced-motion:reduce){.rfold-ink,.rpane,.rtrack,.rviewport{transition:none}}.ing-in-pantry .ing-text{color:var(--muted)}.ing-pantry-flag{display:inline-flex;align-items:center;gap:var(--space-2xs);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--accent)}.ing-offer{position:relative;display:inline-flex;align-items:baseline;gap:var(--space-xs);padding:.1rem .5rem;background:var(--accent-soft);border-radius:var(--r-pill)}.ing-offer-thumb{position:absolute;bottom:calc(100% + 6px);right:0;width:84px;height:84px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:var(--r-md);padding:4px;box-shadow:var(--shadow-md);opacity:0;transform:scale(.9);transform-origin:bottom right;pointer-events:none;transition:opacity var(--dur-fast) ease,transform var(--dur-fast) ease;z-index:var(--z-row-thumb)}.ing-row:hover .ing-offer-thumb,.shop-row:hover .ing-offer-thumb{opacity:1;transform:scale(1)}.cart-form{display:flex;align-self:center}.ing-offer-price{white-space:nowrap}.ing-offer-store{font-size:var(--fs-2xs);color:var(--muted)}.offer-modal{max-width:420px}.offer-modal .modal-body{padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))}.offer-pop{display:flex;align-items:center;gap:var(--space-xl);margin-bottom:1.1rem}.offer-pop-img{width:96px;height:96px;flex-shrink:0;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:var(--r-md);padding:6px}.offer-pop-img-empty{display:grid;place-items:center;font-size:2.2rem;background:var(--accent-soft);border-color:transparent}.offer-pop-info{min-width:0}.offer-pop-name{font-size:var(--fs-base);font-weight:var(--fw-medium);margin-bottom:.25rem}.offer-pop-store{font-size:var(--fs-sm);color:var(--muted);margin-top:.1rem}.offer-pop-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;min-height:3rem;width:100%;border:1px solid var(--accent);background:var(--accent-fill);color:var(--accent-fill-on);border-radius:var(--r-md);padding:.55rem 1rem;font-size:var(--fs-base);font-weight:var(--fw-semibold);font-family:inherit;line-height:var(--lh-tight);text-align:center;cursor:pointer}.offer-pop-add-store{font-size:var(--fs-xs);font-weight:var(--fw-regular);opacity:.85}.offer-pop-add:hover{filter:brightness(.95)}.offer-pop-add.in{background:var(--card);color:var(--ink)}.offer-pop-plain{display:flex;flex-direction:column;gap:var(--space-sm)}.offer-pop-plain-label{font-size:var(--fs-sm);color:var(--muted);text-align:center}.offer-pop-alt-toggle{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);border:none;background:none;color:var(--muted);padding:.45rem .5rem;font-size:var(--fs-sm);font-weight:var(--fw-medium);font-family:inherit;cursor:pointer}.offer-pop-alt-toggle:hover{color:var(--ink)}.offer-pop-alt-chev{display:inline-block;transition:transform var(--dur-fast) ease}.offer-pop-alt-chev.open{transform:rotate(90deg)}.offer-pop-store-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--card)}.offer-pop-store-item{display:flex;align-items:center;gap:var(--space-md);width:100%;border:none;background:none;color:var(--ink);padding:.6rem .85rem;font-size:var(--fs-base);font-weight:var(--fw-medium);font-family:inherit;text-align:left;cursor:pointer}.offer-pop-store-item+.offer-pop-store-item{border-top:1px solid var(--border)}.offer-pop-store-item:hover{background:var(--bg)}.offer-pop-store-chev{margin-left:auto;color:var(--muted);font-weight:var(--fw-semibold)}.offer-pop-store-logo{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:1.05rem;flex-shrink:0}.offer-pop-store-logo .store-logo-svg{width:auto;height:100%;max-width:100%}.offer-pop-item{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem}.offer-alts{list-style:none;margin:0 0 1.1rem;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.offer-alt{display:flex;align-items:center;gap:var(--space-lg);padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card)}.offer-alt-img{width:56px;height:56px;flex-shrink:0;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:var(--r-md);padding:4px}.offer-alt-img-empty{display:grid;place-items:center;font-size:1.4rem;background:var(--accent-soft);border-color:transparent}.offer-alt-info{flex:1 1;min-width:0}.offer-alt-ord{margin-left:.4rem}.offer-alt-saving{font-weight:500;margin-top:.15rem}.offer-alt-name{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink);margin-top:.2rem}.offer-alt-brand{font-size:var(--fs-xs);font-weight:500;color:var(--muted)}.offer-alt-img-btn{padding:0;border:none;background:none;cursor:zoom-in;flex-shrink:0;display:block;align-self:flex-start}.offer-alts-stacked .offer-alt{flex-direction:column;align-items:stretch;gap:var(--space-lg);padding:.75rem}.offer-alts-stacked .offer-alt-img-btn{width:100%;align-self:stretch}.offer-alts-stacked .offer-alt-img{width:100%;height:210px;padding:10px;border-radius:var(--r-md)}.offer-alts-stacked .offer-alt-img-empty{height:150px;font-size:2.6rem}.lightbox-overlay{position:fixed;inset:0;z-index:var(--z-toast);background:var(--glass-scrim-bg);-webkit-backdrop-filter:var(--glass-scrim-blur);backdrop-filter:var(--glass-scrim-blur);display:flex;align-items:center;justify-content:center;padding:1.5rem}.lightbox-panel{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.5rem;box-shadow:var(--glass-shadow);max-width:min(92vw,540px);max-height:86vh;max-height:86dvh;display:flex}.lightbox-img{width:min(78vw,440px);height:auto;max-width:100%;max-height:calc(86vh - 3rem);object-fit:contain;border-radius:var(--r-sm)}.lightbox-close{position:absolute;top:.5rem;right:.5rem;width:2rem;height:2rem;border:none;border-radius:var(--r-pill);background:rgba(31,36,33,.08);color:#1f2421;font-size:1.25rem;line-height:1;display:grid;place-items:center;cursor:pointer}.lightbox-close:hover{background:rgba(31,36,33,.16)}.offer-alt-store{display:flex;align-items:center;gap:var(--space-xs);margin-top:.3rem}.offer-alt-meta,.offer-alt-store{font-size:var(--fs-xs);color:var(--muted)}.offer-alt-meta{font-weight:500;margin-top:.05rem}.offer-alt-selectable{cursor:pointer;-webkit-tap-highlight-color:transparent}.offer-alt-selectable:hover,.offer-alt.selected{border-color:var(--accent)}.offer-alt.selected{box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}.offer-alt-radio{flex-shrink:0;width:20px;height:20px;border-radius:var(--r-pill);border:2px solid var(--border);background:var(--card)}.offer-alt-selectable:hover .offer-alt-radio{border-color:var(--accent)}.offer-alt.selected .offer-alt-radio{border-color:var(--accent);background:radial-gradient(circle,var(--accent) 0 5px,transparent 5.5px),var(--card)}.offer-pop-actions{display:flex;flex-direction:column;gap:var(--space-sm)}.offer-pop-add:disabled{background:var(--border);border-color:var(--border);color:var(--muted);cursor:default}.offer-pop-add:disabled:hover{filter:none}.offer-alt-best{display:inline-block;font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.03em;color:#fff;background:var(--success-solid);border-radius:var(--r-pill);padding:.14rem .5rem;margin-bottom:.2rem}.offer-alt-note{font-size:var(--fs-xs);color:var(--muted);margin:.75rem 0 0;text-align:center}.offer-alt-logo{display:inline-flex;align-items:center;height:.9rem;max-width:3rem;flex-shrink:0}.offer-alt-logo .store-logo-svg{width:auto;height:100%;max-width:100%}.recipe-image{border-radius:var(--r-lg);overflow:hidden;margin-bottom:1rem}.recipe-image img{width:100%;height:auto;display:block}.recipe-hero{margin:0 -1.25rem;height:clamp(200px,48vw,340px);overflow:hidden;background:linear-gradient(160deg,var(--accent-soft),var(--bg))}.recipe-hero:first-child{margin-top:-1.25rem}.recipe-hero img{width:100%;height:100%;object-fit:cover;display:block}.recipe-title-card{position:relative;z-index:var(--z-raised);background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:.9rem 1rem .85rem;margin-bottom:1rem}.recipe-title-card.over-hero{margin-top:-46px;box-shadow:var(--shadow-lg)}.recipe-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.recipe-title-card .recipe-title{font-size:var(--fs-lg);line-height:1.25}.recipe-title-card .meta{color:var(--muted);font-size:var(--fs-sm);margin-top:.25rem}.recipe-lang{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.recipe-lang-btn{display:inline-flex;align-items:center;gap:var(--space-xs);flex-shrink:0;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--accent);background:none;border:none;padding:var(--space-2xs) var(--space-3xs);cursor:pointer}.recipe-lang-btn:hover{color:var(--ink)}.recipe-title-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-top:.75rem}.recipe-report-btn{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--muted);background:none;border:none;padding:6px 4px;cursor:pointer}.recipe-report-btn svg{width:.95rem;height:.95rem}.recipe-report-btn:hover{color:var(--accent)}.report-modal .modal-body{padding-bottom:1.25rem}.report-lead{margin:0 0 var(--space-md);font-size:var(--fs-sm);color:var(--muted);line-height:1.5}.report-textarea{width:100%;font-family:inherit;font-size:var(--fs-base);color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px;resize:vertical;min-height:6rem}.report-textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.report-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-md)}.report-cancel{padding:10px 16px;border-radius:var(--r-md);border:1px solid var(--border);background:transparent;color:var(--ink)}.report-cancel,.report-submit{font-size:var(--fs-base);font-weight:var(--fw-medium);cursor:pointer}.report-submit{padding:10px 18px;border-radius:var(--r-md);border:none;background:var(--accent-fill);color:var(--accent-fill-on)}.report-submit:disabled{opacity:.5;cursor:default}.report-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2xs);padding:var(--space-md) 0}.report-done-ic{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:var(--r-pill);background:var(--success-soft);color:var(--success-solid);margin-bottom:var(--space-2xs)}.report-done-ic svg{width:1.5rem;height:1.5rem}.report-done-title{margin:0;font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--ink)}.report-done-sub{margin:0 0 var(--space-md);font-size:var(--fs-sm);color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin:.5rem 0 .75rem}.section-head .section-title{margin:0}.recipe-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.recipe-panel>li+li{border-top:1px solid var(--border)}.recipe-panel>li.ing-heading+li,.recipe-panel>li.step-heading+li{border-top:none}.recipe-panel .ing-row{padding:.55rem .85rem;border-bottom:none}.recipe-panel .ing-heading,.recipe-panel .step-heading{position:relative;padding:.48rem .85rem .47rem;background:transparent;font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.recipe-panel .ing-heading:before,.recipe-panel .step-heading:before{content:"";position:absolute;left:.35rem;top:.3rem;bottom:.3rem;width:3px;border-radius:2px;background:var(--accent)}.recipe-panel .ing-heading:first-child,.recipe-panel .step-heading:first-child{padding-top:.48rem}.ing-qty{font-weight:var(--fw-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ing-in-pantry .ing-qty{font-weight:var(--fw-medium)}.recipe-panel .step-row{margin:0;padding:.65rem .85rem;gap:var(--space-md);cursor:pointer;border-radius:var(--r-md);-webkit-tap-highlight-color:transparent;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,opacity var(--dur-fast) ease}.recipe-panel .step-row:before{content:counter(step);min-width:0;width:22px;height:22px;flex-shrink:0;display:grid;place-items:center;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-align:center;margin-top:.05rem;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.recipe-panel .step-row.done{background:var(--btn-soft);color:var(--muted)}.recipe-panel .step-row.done .step-body>span{color:var(--muted)}.recipe-panel .step-row.done:before{content:"✓";background:var(--success-soft);color:var(--success);font-size:var(--fs-base)}.ing-list{list-style:none;padding:0;margin:0 0 .5rem}.ing-heading{font-weight:var(--fw-semibold);font-size:var(--fs-base);color:var(--ink);padding:.75rem 0 .25rem}.ing-heading:first-child{padding-top:0}.drag-handle{flex-shrink:0;cursor:-webkit-grab;cursor:grab;color:var(--muted);font-size:1.5rem;line-height:1;padding:.35rem .55rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-self:center;touch-action:none}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.edit-row.dragging,.ing-input-row.dragging{opacity:.6}.edit-row.drop-above,.ing-input-row.drop-above{box-shadow:0 -2px 0 var(--accent)}.edit-row.drop-below,.ing-input-row.drop-below{box-shadow:0 2px 0 var(--accent)}.edit-heading input,.ing-input-heading .ing-name{font-weight:var(--fw-semibold);background:var(--accent-soft)}.add-row-group{display:flex;gap:var(--space-md);margin-top:.6rem}.add-row-group .add-row{flex:1 1;width:auto;margin-top:0}.add-row-alt{color:var(--muted)}.ing-row{display:flex;flex-wrap:wrap;gap:var(--space-xs);padding:.35rem 0;border-bottom:1px solid var(--border)}.ing-end,.ing-row{align-items:center}.ing-end{margin-left:auto;display:inline-flex;gap:var(--space-sm);flex-shrink:0}.ing-home{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap}.ing-home-tick{color:var(--success);font-weight:var(--fw-semibold)}.ing-low{color:var(--warn-ink);font-size:var(--fs-xs);font-weight:var(--fw-medium);white-space:nowrap}.ing-low-warn,.ing-offer-chip{font-size:var(--fs-sm)}.ing-offer-chip{display:inline-flex;align-items:center;gap:var(--space-xs);max-width:10.5rem;border:none;background:var(--accent-soft);color:var(--accent-ink);border-radius:var(--r-pill);padding:.28rem .7rem;font-family:inherit;font-weight:var(--fw-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer}.ing-offer-chip:hover{background:var(--accent-fill);color:var(--accent-fill-on)}.ing-offer-chip:hover .ing-offer-chip-count{background:#fff;color:var(--accent)}.ing-offer-chip-price{overflow:hidden;text-overflow:ellipsis}.ing-offer-chip-count{background:var(--ink);color:var(--card);border-radius:var(--r-pill);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);padding:.05rem .4rem;line-height:1.4}.ing-offer-chip-chev{font-weight:var(--fw-regular);opacity:.7}.ing-offer-chip-tick{font-weight:var(--fw-bold);color:var(--success)}.ing-offer-chip:hover .ing-offer-chip-tick{color:#fff}.ing-offer-chip.is-substitute{background:var(--btn-soft);color:var(--accent)}.ing-offer-chip.is-substitute:hover{background:var(--accent-fill);color:var(--accent-fill-on)}.ing-offer-chip-swap{opacity:.75}.offer-pop-note{margin:-.35rem 0 .7rem;font-size:var(--fs-xs);line-height:var(--lh-snug);color:var(--muted)}.ing-add{width:1.8rem;height:1.8rem;flex-shrink:0;display:grid;place-items:center;padding:0;border:1.5px solid var(--accent);border-radius:var(--r-pill);background:none;color:var(--accent-ink);font-family:inherit;font-size:var(--fs-md);font-weight:var(--fw-medium);line-height:1;cursor:pointer}.ing-add:hover{background:var(--accent-soft)}.ing-add.in{background:none;border-color:transparent;color:var(--success);font-size:var(--fs-md);font-weight:var(--fw-semibold)}.ing-add.in:hover{background:var(--success-soft)}.ing-text{font-size:var(--fs-base)}.ing-removed .ing-text{text-decoration:line-through;color:var(--muted)}.ing-orig{font-size:var(--fs-xs);color:var(--muted);font-style:italic}.chg-badge{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);padding:.05rem .4rem;border-radius:var(--r-xs);letter-spacing:.03em;text-transform:uppercase}.chg-changed{background:var(--warn-bg);color:var(--warn-ink)}.chg-added{background:var(--accent-soft);color:var(--accent)}.chg-removed{background:var(--danger-soft);color:var(--danger)}.step-list{list-style:none;counter-reset:step;padding-left:0;margin:0;line-height:1.55}.step-row{counter-increment:step;display:flex;gap:var(--space-sm);margin-bottom:.6rem}.step-row:before{content:counter(step) ".";flex-shrink:0;min-width:1.5rem;text-align:right;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.step-row>span:not(.chg-badge){flex:1 1;min-width:0}.step-row .chg-badge{margin-left:.4rem;vertical-align:middle}.recipe-tools{display:flex;gap:var(--space-xs);flex-shrink:0}.rtool{width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--bg);color:var(--ink);font-size:var(--fs-base);line-height:1;cursor:pointer}.rtool svg{width:1.15rem;height:1.15rem}.rtool:hover{border-color:var(--accent)}.rtool.on,.rtool:active{background:var(--accent-soft)}.rtool.on{border-color:var(--accent)}.rtool-more-wrap{position:relative}.rtool-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:var(--z-dropdown);min-width:190px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:.3rem}.rtool-menu-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;border:none;background:none;border-radius:var(--r-sm);padding:.55rem .6rem;font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink);cursor:pointer;text-align:left}.rtool-menu-item svg{width:1.05rem;height:1.05rem;flex-shrink:0}.rtool-menu-item:hover{background:var(--bg)}.rtool-menu-item.danger{color:var(--danger)}.rtool-menu-item:disabled{opacity:.6;cursor:default}.floating-timer-stack{position:fixed;right:14px;bottom:calc(var(--bottom-nav-h) + var(--nav-dock-lift) + env(safe-area-inset-bottom) + 14px);z-index:var(--z-nav-timer);display:flex;flex-direction:column-reverse;align-items:flex-end;gap:10px}body:has(.fab) .floating-timer-stack{bottom:calc(var(--bottom-nav-h) + var(--nav-dock-lift) + env(safe-area-inset-bottom) + 1rem + 56px + 12px)}.floating-timer{position:relative;width:64px;height:64px;border-radius:var(--r-pill);overflow:hidden;display:grid;place-items:center;text-decoration:none;background-color:var(--accent-soft);background-size:cover;background-position:50%;border:1.5px solid var(--glass-border);box-shadow:var(--glass-shadow)}.floating-timer-scrim{position:absolute;inset:0;background:rgba(31,36,33,.4);-webkit-backdrop-filter:blur(2px) saturate(140%);backdrop-filter:blur(2px) saturate(140%)}.floating-timer-time{position:relative;z-index:1;color:#fff;font-size:var(--fs-sm);font-weight:var(--fw-bold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.01em;text-shadow:0 1px 3px rgba(0,0,0,.5)}.floating-timer.done{border-color:var(--accent);animation:floating-timer-pulse 1.2s ease-in-out infinite}.floating-timer.done .floating-timer-time{font-size:var(--fs-xs)}@keyframes floating-timer-pulse{0%,to{box-shadow:0 8px 22px rgba(0,0,0,.3),0 0 0 0 rgba(255,72,58,.55)}50%{box-shadow:0 8px 22px rgba(0,0,0,.3),0 0 0 10px rgba(255,72,58,0)}}@media (prefers-reduced-motion:reduce){.floating-timer.done{animation:none}}.step-body{flex:1 1;min-width:0}.step-ing-chips{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-top:var(--space-xs)}.step-ing-chip{font-size:var(--fs-xs);color:var(--muted);background:var(--btn-soft);border-radius:var(--r-pill);padding:.12rem .55rem;white-space:nowrap}.step-ing-chip b{font-weight:var(--fw-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.recipe-panel .step-row.done .step-ing-chip{opacity:.7}.edit-step-main{flex:1 1;min-width:0;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--card);overflow:hidden}.edit-step-main:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.edit-row .edit-step-main input,.edit-row .edit-step-main textarea{width:100%;border:none;border-radius:0;background:transparent}.edit-row .edit-step-main input:focus,.edit-row .edit-step-main textarea:focus{outline:none;border-color:transparent}.sip{margin-top:0;border-top:1px solid var(--border);background:var(--btn-soft)}.sip-toggle{display:flex;width:100%;align-items:center;gap:var(--space-2xs);border:none;background:none;padding:.42rem .6rem;font-family:inherit;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--muted);text-align:left;cursor:pointer}.sip-toggle.has-picks{color:var(--ink)}.sip-toggle svg{width:14px;height:14px;flex:none}.sip-auto{font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--muted);background:var(--btn-soft);border-radius:var(--r-pill);padding:.05rem .4rem}.sip-chev{display:inline-block;transition:transform var(--dur-fast) ease}.sip-chev.open{transform:rotate(90deg)}.sip-body{margin:0;padding:var(--space-xs);background:var(--card);border-top:1px solid var(--border)}.sip-chips{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.sip-chip{display:inline-flex;align-items:center;gap:.2rem;font-size:var(--fs-xs);color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--r-pill);padding:.18rem .6rem;cursor:pointer;text-align:left}.sip-chip.is-on{background:var(--accent-soft);border-color:var(--accent-soft-strong);color:var(--ink);font-weight:var(--fw-medium)}.sip-part{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border)}.sip-part-name{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--ink);margin-bottom:var(--space-2xs)}.sip-part-of{font-weight:var(--fw-regular)}.sip-chip-note,.sip-chip.is-spent,.sip-part-of{color:var(--muted)}.sip-chip-note{font-weight:var(--fw-regular)}.sip-part-row{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.sip-part-chip{font-family:inherit;font-size:var(--fs-xs);color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:var(--r-pill);padding:.18rem .6rem;cursor:pointer}.sip-part-chip.is-on{color:var(--ink);font-weight:var(--fw-medium);background:var(--accent-soft);border-color:var(--accent-soft-strong)}.sip-part-amount{margin-top:var(--space-2xs);font-size:var(--fs-xs);color:var(--accent);font-weight:var(--fw-medium)}.sip-part-amount span,.sip-part-amount.is-full{color:var(--muted);font-weight:var(--fw-regular)}.sip-part-note{margin:var(--space-2xs) 0 0;font-size:var(--fs-2xs);color:var(--muted);line-height:1.4}.sip-chip-tick{color:var(--accent);font-weight:var(--fw-semibold)}.sip-hint{display:block;margin:var(--space-xs) 0 0}.sip-hint,.sip-owner{font-size:var(--fs-2xs);color:var(--muted)}.sip-owner{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-xs);margin:var(--space-sm) 0 0;padding-top:var(--space-sm);border-top:1px solid var(--border)}.sip-reset{border:none;background:none;padding:0;font-family:inherit;font-size:var(--fs-2xs);color:var(--accent);font-weight:var(--fw-medium);text-decoration:underline;cursor:pointer}.step-timer{display:flex;align-items:center;gap:var(--space-sm);margin:.4rem 0 .15rem}.step-timer-adj{border:none;background:none;color:var(--accent);font-size:1.25rem;font-weight:var(--fw-semibold);line-height:1;padding:.15rem .35rem;cursor:pointer}.step-timer-time{font-size:var(--fs-md);font-weight:var(--fw-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.step-timer.done .step-timer-time{color:var(--accent)}.step-timer-btn{border:none;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-ink);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:.4rem .9rem;cursor:pointer}.step-timer-reset{border:none;background:none;color:var(--muted);font:inherit;font-size:var(--fs-sm);padding:.2rem .3rem;cursor:pointer;text-decoration:underline}.step-timer-rang{font-weight:var(--fw-semibold);color:var(--accent)}.step-timer-add{display:inline-flex;align-items:center;gap:var(--space-2xs);margin-top:.3rem;border:1px solid var(--border);border-radius:var(--r-pill);background:none;color:var(--muted);font:inherit;font-size:var(--fs-xs);padding:.15rem .6rem;cursor:pointer}.step-heading{font-weight:var(--fw-semibold);font-size:var(--fs-base);color:var(--ink);padding:.75rem 0 .25rem}.step-heading:first-child{padding-top:0}.title-input{width:100%;font-size:var(--fs-xl);font-weight:var(--fw-semibold);padding:.5rem .7rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);color:var(--ink)}.edit-field{display:flex;flex-direction:column;gap:var(--space-2xs);font-size:var(--fs-sm);font-weight:var(--fw-medium);margin:1rem 0 .5rem}.edit-field input{padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--fs-base);font-weight:var(--fw-regular);background:var(--card);color:var(--ink)}.edit-rows{flex-direction:column}.edit-row,.edit-rows{display:flex;gap:var(--space-sm)}.edit-row{align-items:center}.edit-row.step{align-items:flex-start}.edit-row input,.edit-row textarea{flex:1 1;min-width:0;padding:.5rem .7rem;border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-base);background:var(--card);color:var(--ink);font-family:inherit;line-height:1.45}.edit-row textarea{resize:none;overflow:hidden}.edit-field input:focus,.edit-row input:focus,.edit-row textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.edit-row.is-removed input{text-decoration:line-through;color:var(--muted);background:var(--btn-soft)}.row-btn{border:1px solid var(--border);background:var(--btn-soft);color:var(--ink);border-radius:var(--r-sm);padding:.4rem .7rem;font-size:var(--fs-xs);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap}.icon-del{flex-shrink:0;width:32px;height:32px;display:grid;place-items:center;border:none;border-radius:50%;background:transparent;color:var(--muted);font-size:1.3rem;line-height:1;cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.icon-del:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.icon-del:disabled{opacity:.3;cursor:default}.step-num{flex-shrink:0;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:var(--fs-xs);font-weight:var(--fw-semibold);margin-top:.5rem}.edit-row.step .icon-del{margin-top:.25rem}.add-row{margin-top:.6rem;border:1px dashed var(--border);background:transparent;color:var(--accent);border-radius:var(--r-sm);padding:.5rem .8rem;font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;width:100%}.add-row:hover{border-color:var(--accent)}.edit-bar{display:flex;gap:var(--space-md);margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.settings-links{display:flex;flex-direction:column;gap:var(--space-sm)}.settings-link{display:flex;align-items:center;gap:var(--space-lg);padding:.85rem 1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);text-decoration:none;color:var(--ink);font-weight:var(--fw-medium);font-size:var(--fs-base);font-family:inherit;cursor:pointer}.theme-switch{margin-left:auto;width:44px;height:26px;flex-shrink:0;border-radius:var(--r-pill);background:var(--border);padding:3px;display:flex;transition:background var(--dur-fast) ease}.theme-switch-knob{width:20px;height:20px;border-radius:var(--r-pill);background:var(--card);box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) ease}.theme-switch.on{background:var(--accent)}.theme-switch.on .theme-switch-knob{transform:translateX(18px);background:#fff}.settings-link:hover{border-color:var(--accent)}.settings-link-icon{font-size:1.2rem;line-height:1}.settings-link-label{flex:1 1}.settings-link-arrow{color:var(--muted);font-size:1.4rem;line-height:1}.profile-list{list-style:none;padding:0;margin:0 0 1rem}.profile-list,.profile-row{display:flex;flex-direction:column;gap:var(--space-md)}.profile-row{background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);padding:.85rem 1rem}.profile-row.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.profile-main{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm)}.profile-name{font-weight:var(--fw-semibold);font-size:var(--fs-md)}.profile-badge{font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.03em;color:var(--accent-fill-on);background:var(--accent-fill);padding:.1rem .45rem}.profile-badge,.profile-role{font-size:var(--fs-2xs);border-radius:var(--r-pill)}.profile-role{color:var(--muted);background:var(--accent-soft);padding:.1rem .5rem}.profile-actions,.profile-create,.profile-share{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.profile-create,.profile-share{align-items:center}.profile-create{margin-top:.5rem}.profile-create input,.profile-share input{flex:1 1;min-width:11rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--fs-base);background:var(--card);color:var(--ink)}.profile-create input:focus,.profile-share input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.konto-title{font-size:var(--fs-xl);letter-spacing:var(--track-tighter);margin:.2rem 0 1.1rem}.konto-label,.konto-title{font-weight:var(--fw-bold)}.konto-label{font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:1.6rem .2rem .55rem}.konto-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.acct-card{display:flex;align-items:center;gap:12px;padding:14px 16px}.acct-avatar{width:44px;height:44px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--accent-fill);color:var(--accent-fill-on);font-weight:var(--fw-bold);font-size:var(--fs-md)}.acct-who{flex:1 1;min-width:0;display:flex;flex-direction:column}.acct-email{font-weight:var(--fw-semibold);font-size:var(--fs-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acct-sub{font-size:var(--fs-xs);color:var(--muted)}.acct-logout{flex-shrink:0;border:1px solid var(--border);background:none;color:var(--accent-ink);font-family:inherit;font-weight:var(--fw-semibold);font-size:var(--fs-sm);padding:.42rem .8rem;border-radius:var(--r-pill);cursor:pointer;white-space:nowrap}.acct-logout:hover{border-color:var(--accent)}html[data-theme=dark] :is(.wake-toggle.on,.keep-offer-price,.ing-offer-chip,.acct-logout,.set-ic,.bank-more,.chat-offer-add,.chat-card-thumb,.offer-noimg,.pantry-pill,.pantry-panel-count,.home-store-addbox,.step-num,.step-timer-btn,.chg-added,.pill){color:#fff}html[data-theme=dark] .card .thumb,html[data-theme=dark] .recipe-panel .step-row:not(.done):before{color:#fff}.set-row{display:flex;align-items:center;gap:12px;width:100%;padding:13px 16px;background:none;border:none;text-align:left;text-decoration:none;color:var(--ink);font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.set-row:hover{background:var(--glass-active)}.set-passform,.set-row+.set-row,.set-startflik{border-top:1px solid var(--border)}.set-ic{width:32px;height:32px;flex-shrink:0;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.set-ic svg{width:18px;height:18px}.set-label{flex:1 1;font-weight:var(--fw-medium);font-size:var(--fs-base)}.set-chev{color:var(--muted);font-size:1.15rem}.set-switch{width:44px;height:26px;flex-shrink:0;border-radius:var(--r-pill);background:var(--btn-soft);border:1px solid var(--border);position:relative;transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease}.set-switch.on{background:var(--accent);border-color:var(--accent)}.set-switch-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) ease}.set-switch.on .set-switch-knob{transform:translateX(18px)}.set-passform{padding:14px 16px}.set-startflik{padding:13px 16px}.set-startflik-head{display:flex;align-items:center;gap:12px}.set-startflik-hjalp{margin:.4rem 0 0;font-size:var(--fs-xs);color:var(--muted);line-height:1.4}.startflik-val-rad{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-2xs);gap:var(--space-2xs);margin-top:var(--space-sm)}.startflik-val{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:56px;padding:var(--space-xs) 2px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);color:var(--muted);font:inherit;font-size:var(--fs-2xs);font-weight:var(--fw-medium);cursor:pointer;-webkit-tap-highlight-color:transparent}.startflik-val:hover{border-color:var(--accent)}.startflik-val.vald{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--accent-fill-on)}.startflik-ic{display:block;width:20px;height:20px}.startflik-ic svg{width:100%;height:100%;display:block}.set-passform-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.set-passform-cancel{border:none;background:none;font-family:inherit;font-weight:var(--fw-medium);cursor:pointer}.konto-hint,.set-passform-cancel{color:var(--muted);font-size:var(--fs-sm)}.konto-hint{line-height:1.5;margin:0 .2rem .7rem}.prof-list{list-style:none;margin:0;padding:0}.prof-item+.prof-item{border-top:1px solid var(--border)}.prof-item.active{background:var(--accent-soft)}.prof-row{display:flex;align-items:center;gap:12px;padding:13px 14px}.prof-av{width:38px;height:38px;flex-shrink:0;border-radius:var(--r-md);display:grid;place-items:center;color:#fff;font-weight:var(--fw-bold);font-size:var(--fs-base)}.prof-main{flex:1 1;min-width:0}.prof-name{font-weight:var(--fw-semibold);font-size:var(--fs-base);display:flex;align-items:center;gap:7px}.prof-pill{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.03em;text-transform:uppercase;padding:.12rem .42rem;border-radius:var(--r-pill);background:var(--success-soft);color:var(--success)}.prof-role{font-size:var(--fs-xs);color:var(--muted);margin-top:1px}.prof-switch{border:none;background:var(--accent-fill);color:var(--accent-fill-on);font-family:inherit;font-weight:var(--fw-semibold);font-size:var(--fs-sm);padding:.45rem .85rem;border-radius:var(--r-pill);white-space:nowrap}.prof-kebab,.prof-switch{flex-shrink:0;cursor:pointer}.prof-kebab{width:34px;height:34px;border:none;background:none;color:var(--muted);border-radius:var(--r-sm);font-size:1.2rem;line-height:1}.prof-kebab:hover{background:var(--glass-active)}.prof-actions,.prof-share{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:0 14px 12px 64px}.prof-actions button{border:1px solid var(--border);background:var(--card);color:var(--ink);font-family:inherit;font-weight:var(--fw-medium);font-size:var(--fs-sm);padding:.4rem .8rem;border-radius:var(--r-pill);cursor:pointer}.prof-actions button:hover{border-color:var(--accent)}.prof-actions button.danger{color:var(--danger);border-color:var(--danger-border)}.prof-share input{flex:1 1;min-width:0;padding:.5rem .7rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);color:var(--ink);font-family:inherit;font-size:var(--fs-sm)}.prof-share button{border:none;background:var(--accent-fill);color:var(--accent-fill-on);font-family:inherit;font-weight:var(--fw-semibold);padding:.5rem .9rem;border-radius:var(--r-md);cursor:pointer}.prof-shares{flex-basis:100%;list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.prof-shares li{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--fs-sm)}.prof-share-who{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prof-share-who em{color:var(--muted);font-style:normal}.prof-share .prof-share-remove{flex-shrink:0;background:transparent;color:var(--danger);border:1px solid var(--border);padding:4px 10px;font-weight:var(--fw-medium);font-size:var(--fs-sm)}.prof-add{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;margin-top:12px;border:1.5px dashed var(--border);border-radius:var(--r-lg);background:none;color:var(--accent);font-family:inherit;font-weight:var(--fw-semibold);font-size:var(--fs-base);cursor:pointer}.prof-add:hover{border-color:var(--accent)}.prof-add-form{display:flex;gap:8px;margin-top:12px}.prof-add-form input{flex:1 1;min-width:0;padding:.7rem .9rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);color:var(--ink);font-family:inherit}.prof-add-form button{border:none;background:var(--accent-fill);color:var(--accent-fill-on);font-family:inherit;font-weight:var(--fw-semibold);padding:.7rem 1.1rem;border-radius:var(--r-md);cursor:pointer}.prof-add-form button:disabled{opacity:.55;cursor:default}.account-box{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl);background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);padding:1rem 1.1rem}.account-info{display:flex;flex-direction:column;gap:var(--space-3xs);min-width:0}.account-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.account-email{font-size:var(--fs-md);font-weight:var(--fw-medium);word-break:break-all}.pantry-add{position:relative;margin-bottom:1rem}.pantry-add-input{width:100%;padding:.65rem .85rem;border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--fs-base);background:var(--card);color:var(--ink)}.pantry-add-input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.pantry-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:.3rem;z-index:var(--z-dropdown);max-height:300px;overflow-y:auto}.pantry-result{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);width:100%;padding:.55rem .6rem;border:none;background:none;border-radius:var(--r-sm);font-size:var(--fs-base);color:var(--ink);text-align:left;cursor:pointer}.pantry-result:hover:not(:disabled){background:var(--accent-soft)}.pantry-result:disabled{cursor:default;color:var(--muted)}.pantry-result-add{flex-shrink:0;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--accent)}.pantry-result-head{padding:.5rem .6rem .2rem;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.sugg-offer-end{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--space-xs)}.sugg-offer-thumb{width:2rem;height:2rem;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:var(--r-sm);flex-shrink:0}.sugg-offer-thumb-empty{display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-md)}.sugg-offer-body{flex:1 1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3xs)}.sugg-offer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.sugg-offer-jmf{font-size:var(--fs-xs)}.pantry-result:disabled .pantry-result-add,.sugg-offer-jmf{color:var(--muted)}.pantry-result-empty{padding:.6rem;font-size:var(--fs-sm);color:var(--muted)}.pantry-result-freetext{border-top:1px solid var(--border);font-style:italic}.mobile-only{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg)}.mobile-only-card{max-width:420px;width:100%;text-align:center;background:var(--card);border:1px solid var(--border);border-radius:var(--r-xl);padding:2.5rem 2rem;box-shadow:var(--shadow-lg)}.mobile-only-icon{font-size:3rem;line-height:1;margin-bottom:1rem}.mobile-only-card h1{font-size:var(--fs-xl);margin:0 0 .75rem;color:var(--ink)}.mobile-only-card p{margin:0 0 .75rem;color:var(--muted);font-size:var(--fs-base);line-height:1.5}.mobile-only-url{color:var(--ink)!important}.mobile-only-hint{margin-top:1.25rem!important;font-size:.85rem!important;color:var(--accent)!important;font-weight:var(--fw-medium)}.skeleton{position:relative;overflow:hidden;background:var(--accent-soft);border-radius:var(--r-sm)}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.65) 50%,rgba(255,255,255,0));animation:skeleton-shimmer 1.4s ease-in-out infinite}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}.skeleton-line{height:.8rem;border-radius:6px}.skeleton-thumb{aspect-ratio:16/10;border-radius:0}.skeleton-hero{aspect-ratio:16/10;border-radius:var(--r-lg)}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.lp{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding-bottom:calc(1rem + var(--safe-bottom))}.lp-hero{position:relative;overflow:hidden;background:linear-gradient(170deg,#ffe9dd 0,#fff2ea 46%,var(--bg) 100%);color:var(--ink);padding:1.6rem 1.25rem 5.6rem}html[data-theme=dark] .lp-hero{background:linear-gradient(170deg,#2e1c16 0,#241a15 46%,var(--bg) 100%)}.lp-brand{display:flex;align-items:center;justify-content:center;gap:.6rem;margin:0 0 1.5rem}.lp-brand-logo{width:52px;height:52px;border-radius:12px;display:block}.lp-brand-name{font-size:2.25rem;font-weight:var(--fw-bold);letter-spacing:var(--track-tighter);line-height:1;color:var(--ink)}.lp-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(105% 70% at 90% -8%,rgba(255,72,58,.22),transparent 62%);pointer-events:none}html[data-theme=dark] .lp-hero:after{background:radial-gradient(110% 75% at 90% -8%,rgba(255,91,78,.3),transparent 60%)}.lp-hero-inner{position:relative;z-index:1;max-width:30rem;margin:0 auto}.lp-eyebrow{margin:0 0 .85rem;font-size:.66rem;font-weight:var(--fw-bold);letter-spacing:.1em;text-transform:uppercase;color:#b3261e}html[data-theme=dark] .lp-eyebrow{color:#ff8a80}.lp-hero h1{margin:0;font-size:clamp(1.6rem,6vw,1.95rem);line-height:1.2;letter-spacing:var(--track-tightest);text-wrap:balance}.lp-hero h1 em{font-style:normal;color:#e0301f}html[data-theme=dark] .lp-hero h1 em{color:#ff8a80}.lp-sub{margin:.5rem 0 0;max-width:36ch;color:var(--muted);font-size:var(--fs-sm);line-height:1.45}.lp-body{max-width:30rem;margin:0 auto;padding:0 1.25rem;flex:1 1;display:flex;flex-direction:column;min-height:0;width:100%}.lp-dealcard{position:relative;z-index:var(--z-raised);margin-top:-4.5rem;background:var(--card);border:1px solid var(--border);border-radius:var(--r-xl);padding:.9rem;box-shadow:0 22px 44px -22px rgba(20,15,10,.55)}.lp-deal-row{display:flex;align-items:center;gap:var(--space-lg)}.lp-deal-thumb{flex-shrink:0;width:58px;height:58px;border-radius:var(--r-md);background:linear-gradient(135deg,#c65a37,#9c3f2c)}.lp-deal-main{flex:1 1;min-width:0}.lp-deal-name{font-size:var(--fs-base);font-weight:var(--fw-bold)}.lp-deal-store{margin-top:2px;font-size:var(--fs-xs);color:var(--muted)}.lp-deal-price{flex-shrink:0;text-align:right}.lp-deal-now{font-size:var(--fs-md);font-weight:900;letter-spacing:var(--track-tighter);color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lp-deal-divider{height:1px;margin:.8rem 0;background:repeating-linear-gradient(90deg,var(--border) 0 6px,transparent 6px 12px)}.lp-deal-total{display:flex;align-items:baseline;justify-content:space-between}.lp-deal-total-lbl{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.lp-deal-total-amt{font-size:var(--fs-lg);font-weight:900;color:var(--success);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lp-steprow{list-style:none;display:flex;gap:.5rem;margin:.75rem 0 0;padding:0}.lp-steprow li{flex:1 1;align-items:center;gap:.3rem;text-align:center;font-size:var(--fs-xs);color:var(--muted)}.lp-steprow li,.lp-steps{display:flex;flex-direction:column}.lp-steps{list-style:none;margin:1.75rem 0 0;padding:0;gap:var(--space-xl)}.lp-step{display:flex;align-items:flex-start;gap:var(--space-lg)}.lp-step-n{flex-shrink:0;width:26px;height:26px;border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent);font-weight:900;font-size:var(--fs-sm);display:grid;place-items:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lp-step-t{font-size:var(--fs-base);font-weight:var(--fw-semibold);line-height:1.3}.lp-step-s{margin-top:1px;font-size:var(--fs-xs);color:var(--muted);line-height:1.4}.lp-cta{margin-top:auto;padding-top:clamp(.7rem,2.2vh,1.9rem);display:flex;flex-direction:column;gap:var(--space-md)}.lp-primary{display:block;text-align:center;padding:.9rem;border-radius:var(--r-lg);background:var(--accent-fill);color:var(--accent-fill-on);font-weight:var(--fw-bold);font-size:var(--fs-md);text-decoration:none;box-shadow:0 10px 22px -10px rgba(255,72,58,.6)}.lp-primary:hover{background:var(--accent-fill-hover)}.lp-secondary{display:block;text-align:center;padding:.75rem;border-radius:var(--r-lg);color:var(--ink);font-weight:var(--fw-semibold);font-size:var(--fs-base);text-decoration:none}.lp-secondary:hover{background:var(--accent-soft)}.lp-micro{margin:.15rem 0 0;text-align:center;font-size:var(--fs-xs);color:var(--muted)}.lp-legal{display:flex;justify-content:center;align-items:center;gap:var(--space-sm);padding-top:0;font-size:var(--fs-2xs);line-height:var(--lh-snug);color:var(--muted)}.lp-legal a{color:var(--muted);text-decoration:underline;position:relative}.lp-legal a:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:44px;transform:translate(-50%,-50%)}.lpc{position:relative;z-index:var(--z-raised);margin-top:-4.5rem}.lpc-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -1.25rem;padding:0 1.25rem;gap:.75rem}.lpc-track::-webkit-scrollbar{display:none}.lpc-slide{flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always}.lpc-shot{height:clamp(184px,calc(100dvh - 476px - var(--safe-bottom)),640px);overflow:hidden;position:relative;padding:1.25rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:0 22px 44px -22px rgba(20,15,10,.55);-webkit-mask-image:linear-gradient(180deg,#000 88%,transparent);mask-image:linear-gradient(180deg,#000 88%,transparent);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lpc-shot .recipe-hero{height:48%}.lpc-shot .chat-panel{height:100%;max-width:none;animation:none;border:none;border-radius:0;box-shadow:none}.lpc-shot .chat-body{justify-content:flex-end;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%);mask-image:linear-gradient(180deg,transparent 0,#000 16%)}.lpc-shot:has(.chat-panel){padding:0}.lpc-cap{margin:.55rem 0 0;text-align:center;font-size:var(--fs-sm);line-height:1.4;color:var(--muted);min-height:2.8em}.lpc-cap b{color:var(--ink);font-weight:var(--fw-semibold)}.lpc-dots{display:flex;justify-content:center;gap:.4rem;margin-top:.35rem}.lpc-dot{width:.5rem;height:.5rem;padding:0;border:none;border-radius:999px;background:var(--border);cursor:pointer;transition:width .2s ease,background .2s ease}.lpc-dot.on{width:1.4rem;background:var(--accent)}.lpc-dot:before{content:"";display:block;min-width:44px;min-height:44px;margin:-1.1rem 0 0 -1.1rem}@media (prefers-reduced-motion:reduce){.lpc-track{scroll-behavior:auto}.lpc-dot{transition:none}}@media (max-height:700px){.lp-hero{padding-top:.9rem}.lp-brand{margin-bottom:.6rem}.lp-brand-logo{width:40px;height:40px}.lp-brand-name{font-size:1.7rem}.lp-hero h1{font-size:1.4rem}.lp-steprow{display:none}.lpc-shot{height:clamp(150px,calc(100dvh - 390px - var(--safe-bottom)),480px)}}.au .lp-hero{padding:1.6rem 1.25rem 5.2rem}.au .lp-hero h1{font-size:clamp(1.55rem,5.8vw,1.9rem)}.au .lp-body{max-width:26rem}.au-card{width:100%;margin-left:0;margin-right:0;position:relative;z-index:var(--z-raised);margin-top:-4rem;box-shadow:0 22px 44px -22px rgba(20,15,10,.55)}.au .auth-banner{margin:0 0 .85rem}.au-card-body{padding:1.25rem}.au-card-body .auth-form,.au-card-full .auth-form{gap:var(--space-lg);padding:0}.au-card-title{margin:0 0 var(--space-lg);font-size:var(--fs-md);font-weight:var(--fw-bold);letter-spacing:var(--track-tight)}.auth-form .au-label{display:flex;flex-direction:column;gap:var(--space-xs);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.au-field{position:relative;display:flex;align-items:center}.au-field .au-field-ic{position:absolute;left:.85rem;width:1.15em;height:1.15em;color:var(--muted);pointer-events:none}.auth-form .au-field input{width:100%;padding:.8rem .9rem .8rem 2.75rem;background:var(--card);color:var(--ink)}.auth-form .au-field-pw input{padding-right:3rem}.au-field input::placeholder{color:var(--muted);opacity:1}.au-eye{position:absolute;right:.25rem;display:grid;place-items:center;width:44px;height:44px;padding:0;border:none;border-radius:var(--r-md);background:none;color:var(--muted);cursor:pointer}.au-eye .mm-ic{width:1.2em;height:1.2em}.au-forgot{margin:calc(-1 * var(--space-2xs)) 0 0;text-align:right;font-size:var(--fs-sm)}.au-forgot a{display:inline-block;padding:var(--space-2xs) 0;color:var(--accent-ink);font-weight:var(--fw-medium)}.au-primary,.auth-form button[type=submit].au-primary{padding:.85rem;border:none;border-radius:var(--r-md);background:var(--accent-fill);color:var(--accent-fill-on);font-size:var(--fs-md);font-weight:var(--fw-semibold);cursor:pointer}.au-primary:disabled{opacity:.6}.au-secondary{width:100%;padding:.8rem;border:1px solid var(--accent);border-radius:var(--r-md);background:transparent;color:var(--accent-ink);font-size:var(--fs-base);font-weight:var(--fw-semibold);cursor:pointer}.au-secondary:disabled{opacity:.6}.au-newhere{padding:var(--space-xl) 1.25rem 1.25rem;border-top:1px solid var(--border);background:var(--accent-soft)}.au-newhere strong{font-size:var(--fs-base);font-weight:var(--fw-semibold)}.au-newhere p{margin:var(--space-3xs) 0 var(--space-lg);font-size:var(--fs-sm);color:var(--ink)}.au-resend{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-lg)}.au-plain{padding-top:calc(var(--space-xl) + env(safe-area-inset-top, 0px));padding-bottom:calc(var(--space-2xl) + var(--safe-bottom))}.au-card-full{background:var(--card);border:1px solid var(--border);border-radius:var(--r-xl);padding:1.25rem;box-shadow:var(--shadow-md)}.au-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-2xl)}.au-back{display:grid;place-items:center;width:44px;height:44px;margin:-.5rem 0 -.5rem -.6rem;padding:0;border:none;border-radius:var(--r-md);background:none;color:var(--ink);cursor:pointer}.au-back .mm-ic{width:1.35em;height:1.35em}.au-top-alt{margin:0;font-size:var(--fs-sm);color:var(--muted);text-align:right}.au-link{padding:0;border:none;background:none;font:inherit;font-weight:var(--fw-medium);color:var(--accent-ink);cursor:pointer}.au-title{margin:0;font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:var(--track-tight);line-height:var(--lh-tight)}.au-sub{margin:var(--space-2xs) 0 var(--space-2xl);font-size:var(--fs-sm);color:var(--muted)}.auth-form .au-check{display:flex;flex-direction:row;align-items:flex-start;gap:var(--space-md);font-size:var(--fs-sm);line-height:var(--lh-snug)}.auth-form .au-check input{flex-shrink:0;width:22px;height:22px;margin:0;padding:0;border:none;accent-color:var(--accent)}.auth-form .au-check input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.au-check a{color:var(--accent-ink);font-weight:var(--fw-medium)}.au-safe{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin:var(--space-xl) 0 0;padding-top:var(--space-xl);border-top:1px solid var(--border);color:var(--muted);font-size:var(--fs-xs);line-height:var(--lh-snug)}.au-safe .mm-ic{width:1.6em;height:1.6em}@media (max-height:780px){.au .lp-hero{padding:.9rem 1.25rem 4.2rem}.au-card-body{padding:1rem}.au-newhere{padding:.85rem 1rem 1rem}}.ob-welcome{margin-bottom:1.75rem}.ob-welcome h2{margin:0;font-size:var(--fs-xl);letter-spacing:var(--track-tighter)}.ob-welcome p{margin:.35rem 0 0;color:var(--muted);line-height:1.45}.ob-bar{display:grid;grid-template-columns:1fr 1fr;grid-gap:3px;gap:3px;margin-top:1.1rem}.ob-seg{height:9px;background:var(--accent-soft);transition:background var(--dur-fast) ease}.ob-seg:first-child{border-radius:var(--r-pill) 0 0 var(--r-pill)}.ob-seg:last-child{border-radius:0 var(--r-pill) var(--r-pill) 0}.ob-seg.done{background:var(--accent)}.ob-bar-labels{display:grid;grid-template-columns:1fr 1fr;grid-gap:3px;gap:3px;margin-top:.45rem;font-size:var(--fs-sm);color:var(--muted)}.ob-bar-labels span:first-child{text-align:left}.ob-bar-labels span:last-child{text-align:right}.ob-bar-labels .done{color:var(--accent);font-weight:var(--fw-medium)}.onboarding-card{background:var(--success-soft);border:1px solid var(--success-border);border-radius:var(--r-lg);padding:1.1rem 1.25rem;margin-bottom:1.75rem}.onboarding-title{font-weight:var(--fw-semibold);font-size:var(--fs-md);margin-bottom:.85rem}.onboarding-step{display:flex;align-items:flex-start;gap:var(--space-lg);padding:.5rem 0}.onboarding-step strong{font-size:var(--fs-base)}.onboarding-step p{margin:.15rem 0 0;font-size:var(--fs-sm);color:var(--muted);line-height:1.4}.onboarding-check{flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:#fff;background:var(--muted)}.onboarding-step.done .onboarding-check{background:var(--success-solid)}.onboarding-step.done strong{text-decoration:line-through;color:var(--muted)}.onboarding-cta{display:inline-flex;align-items:center;gap:.35rem;margin-top:.55rem;font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:7px 14px;border:none;border-radius:var(--r-md);background:var(--success-solid);color:#fff;text-decoration:none;cursor:pointer}.bank-intro{color:var(--muted);font-size:var(--fs-sm);margin:0 0 .9rem}.bank-source a{color:inherit;text-decoration:underline}.bank-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center;margin:.75rem 0 .5rem}.bank-save-btn{background:var(--accent-fill);border-color:var(--accent);color:var(--accent-fill-on)}.bank-save-btn:disabled{opacity:.6}.bank-offer{display:flex;flex-direction:column;align-items:flex-end;gap:1px;text-align:right}.bank-offer-price,.bank-offer-store{white-space:nowrap}.bank-offer-store{font-size:var(--fs-2xs);color:var(--muted)}.bank-attribution{margin:1.25rem 0 .5rem;font-size:var(--fs-sm);color:var(--muted)}.bank-attribution a{color:inherit;text-decoration:underline}.keep-label-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;text-align:left;font:inherit;color:inherit;display:block;cursor:pointer;border-radius:var(--r-sm)}.keep-label-btn:hover{background:var(--accent-soft)}.qty-modal{max-width:380px}.qty-name{width:100%;font-size:var(--fs-base);font-weight:var(--fw-medium);padding:.45rem .6rem;margin-bottom:.75rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);color:inherit}.qty-name:focus{outline:2px solid var(--accent);border-color:transparent}.qty-hint{margin:0 0 .6rem;font-size:var(--fs-sm);color:var(--muted)}.qty-input-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:.6rem}.qty-value{flex:1 1;min-width:0;font-size:var(--fs-lg);font-weight:var(--fw-medium);padding:.5rem .7rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);color:inherit}.qty-value:focus{outline:2px solid var(--accent);border-color:transparent}.qty-unit-preview{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--muted);min-width:2.6rem}.qty-units{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:.9rem}.qty-unit-chip{border:1px solid var(--border);background:var(--card);color:inherit;border-radius:var(--r-pill);padding:.3rem .7rem;font-size:var(--fs-sm);cursor:pointer}.qty-unit-chip.active{background:var(--accent-fill);border-color:var(--accent);color:var(--accent-fill-on);font-weight:var(--fw-semibold)}.qty-actions{display:flex;gap:var(--space-sm);align-items:center;margin-bottom:1.1rem}.qty-save:disabled{opacity:.5;cursor:default}.btn-spinner{display:inline-block;width:.95em;height:.95em;margin-right:.45em;vertical-align:-.12em;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(1turn)}}.bank-save-btn.busy{opacity:.85;cursor:progress}.bank-save-btn.bank-saved{background:var(--success-solid);border-color:var(--success);color:#fff;text-decoration:none}.bank-save-note{color:var(--muted)}.bank-head{margin-bottom:.9rem}.page-title{margin:0 0 .15rem;font-size:var(--fs-xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--track-tight)}.bank-search-wrap{position:relative;margin-bottom:.7rem}.bank-search-ic{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:1.05rem;height:1.05rem;color:var(--muted);pointer-events:none}.bank-search{width:100%;padding:.6rem 1rem .6rem 2.6rem;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--card);color:inherit;font-size:var(--fs-base);box-shadow:var(--shadow-md)}.bank-search:focus{outline:2px solid var(--accent);border-color:transparent}.bank-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap;margin-bottom:.9rem}.bank-sok-vantar{display:flex;align-items:flex-start;gap:var(--space-sm);margin:0 0 .7rem;font-size:var(--fs-sm);color:var(--muted)}.bank-sok-vantar strong{font-weight:var(--fw-semibold);color:var(--ink)}.bank-sok-snurra{flex:none;width:.75rem;height:.75rem;margin-top:.22rem;border:2px solid;border-top:2px solid transparent;border-radius:50%;animation:bank-sok-snurr .9s linear infinite}@keyframes bank-sok-snurr{to{transform:rotate(1turn)}}.recipe-ctrl-btn.bank-ctrl-skel,.sort-tab.bank-ctrl-skel,.sort-tabs-label.bank-ctrl-skel{color:transparent;background:var(--accent-soft);border-color:transparent;border-radius:var(--r-pill);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;cursor:default;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.recipe-ctrl-btn.bank-ctrl-skel,.sort-tab.bank-ctrl-skel{line-height:normal}@media (prefers-reduced-motion:reduce){.bank-sok-snurra{animation:none}}.bank-filters{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.sort-tabs-wrap{display:inline-flex;flex-direction:column;align-items:flex-end;gap:var(--space-2xs);margin-left:auto}.sort-tabs-label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.sort-tabs{position:relative;display:inline-flex;gap:var(--space-3xs)}.sort-tab{border:none;background:none;padding:.15rem .4rem .42rem;font-family:inherit;font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--muted);white-space:nowrap;cursor:pointer;transition:color var(--dur-med) ease}.sort-tab.on{color:var(--accent)}.sort-tabs-uline{position:absolute;bottom:0;left:0;width:0;height:2.5px;background:var(--accent);border-radius:2px;transition:left var(--dur-slow) cubic-bezier(.4,0,.2,1),width var(--dur-slow) cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion:reduce){.sort-tab,.sort-tabs-uline{transition:none}}.bank-more{display:block;width:100%;margin-top:1rem;padding:.65rem;border:none;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent);font-family:inherit;font-size:var(--fs-sm);font-weight:var(--fw-bold);cursor:pointer}.bank-more:hover{background:var(--accent-soft-strong)}.header-chat{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:-6px 0;padding:0;border:none;background:none;color:#fff;border-radius:var(--r-pill);cursor:pointer;-webkit-tap-highlight-color:transparent}.header-chat:hover{background:rgba(255,255,255,.15)}.header-chat svg{display:block;width:24px;height:24px}.chat-overlay{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--glass-scrim-bg);-webkit-backdrop-filter:var(--glass-scrim-blur);backdrop-filter:var(--glass-scrim-blur);display:flex;align-items:flex-start;justify-content:flex-end;padding:4.25rem 1rem 1rem;animation:chat-scrim-in .28s ease both}.chat-panel{display:flex;flex-direction:column;width:100%;max-width:440px;height:min(640px,calc(100dvh - 5.25rem));background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--glass-shadow);overflow:hidden;transform-origin:bottom right;animation:chat-pop-in .36s cubic-bezier(.22,1,.36,1) both}@media (max-width:560px){.chat-overlay{padding:8px}.chat-panel{max-width:none;height:100%;border-radius:var(--r-xl)}}@keyframes chat-scrim-in{0%{background:transparent;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}@keyframes chat-pop-in{0%{opacity:0;transform:scale(.18)}}@media (prefers-reduced-motion:reduce){.chat-overlay,.chat-panel{animation:none}}.chat-head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid var(--border)}.chat-title{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:var(--fs-md);font-weight:var(--fw-semibold)}.chat-title-emoji{font-size:1.25rem;line-height:1}.chat-head-actions{display:inline-flex;align-items:center;gap:var(--space-md)}.chat-clear{border:1px solid var(--border);background:none;color:var(--muted);font-family:inherit;font-size:var(--fs-xs);font-weight:var(--fw-medium);padding:.3rem .65rem;border-radius:var(--r-pill);cursor:pointer}.chat-clear:hover{color:var(--ink);border-color:var(--muted)}.chat-body{flex:1 1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:var(--space-md);background:var(--bg)}.chat-msg{display:flex;align-items:flex-end;gap:var(--space-sm)}.chat-msg.user{justify-content:flex-end}.chat-msg.assistant{justify-content:flex-start}.chat-avatar{flex-shrink:0;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:16px;line-height:1;align-self:flex-end}.chat-avatar-chef{background:var(--accent-soft)}.chat-avatar-user{background:var(--accent-fill);color:var(--accent-fill-on);font-size:var(--fs-xs);font-weight:var(--fw-bold)}.chat-bubble{max-width:78%;padding:.6rem .85rem;border-radius:var(--r-lg);font-size:var(--fs-md);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.chat-msg.user .chat-bubble{background:var(--accent-fill);color:var(--accent-fill-on);border-bottom-right-radius:6px}.chat-msg.assistant .chat-bubble{background:var(--card);border:1px solid var(--border);border-bottom-left-radius:6px}.chat-text{margin:0}.chat-rich>*+*,.chat-text+.chat-text{margin-top:.5rem}.chat-rich strong{font-weight:var(--fw-semibold)}.chat-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:var(--space-2xs)}.chat-list li{padding-left:.15rem}.chat-list li::marker{color:var(--accent)}.chat-img{display:block;width:100%;max-width:220px;border-radius:var(--r-md);margin-bottom:.4rem}.chat-bubble>.chat-img:only-child{margin-bottom:0}.chat-card{display:flex;align-items:center;gap:var(--space-lg);margin-top:.55rem;padding:.5rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);text-decoration:none;color:inherit;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.chat-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.chat-card-thumb{flex-shrink:0;width:52px;height:52px;border-radius:var(--r-md);overflow:hidden;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:1.3rem;font-weight:var(--fw-semibold)}.chat-card-thumb img{width:100%;height:100%;object-fit:cover}.chat-card-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:var(--space-3xs)}.chat-card-title{font-weight:var(--fw-semibold);font-size:var(--fs-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-card-meta{display:inline-flex;align-items:baseline;flex-wrap:wrap;row-gap:.15rem;gap:var(--space-2xs);font-size:var(--fs-xs);color:var(--muted)}.chat-card-meta-label{white-space:nowrap}.chat-card-meta .score{font-size:var(--fs-sm)}.chat-card-save{color:var(--success);background:var(--success-soft);font-weight:var(--fw-bold);font-size:var(--fs-xs);padding:.12rem .5rem;border-radius:var(--r-pill);white-space:nowrap}.chat-card-chevron{flex-shrink:0;width:18px;height:18px;color:var(--muted)}.chat-offer{display:flex;align-items:center;gap:var(--space-lg);margin-top:.55rem;padding:.5rem;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card)}.chat-offer-thumb{flex-shrink:0;width:46px;height:46px;border-radius:var(--r-md);overflow:hidden;display:grid;place-items:center;background:var(--bg)}.chat-offer-thumb img{width:100%;height:100%;object-fit:contain}.chat-offer-noimg{font-weight:var(--fw-semibold);color:var(--muted)}.chat-offer-body{flex:1 1;min-width:0}.chat-offer-name{font-weight:650;font-size:var(--fs-base);line-height:1.2}.chat-offer-brand{font-size:var(--fs-xs);color:var(--muted)}.chat-offer-price-row{display:flex;align-items:baseline;gap:var(--space-xs);margin-top:.15rem}.chat-offer-pct{font-size:var(--fs-2xs);font-weight:var(--fw-bold);color:var(--success);background:var(--success-soft);border-radius:var(--r-pill);padding:.05rem .4rem}.chat-offer-store{font-size:var(--fs-xs);color:var(--muted);margin-top:.1rem}.chat-offer-add{flex-shrink:0;align-self:stretch;border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);font-family:inherit;font-weight:var(--fw-semibold);font-size:var(--fs-xs);padding:0 .6rem;border-radius:var(--r-md);cursor:pointer;white-space:nowrap}.chat-offer-add.added{background:var(--accent-fill);color:var(--accent-fill-on)}.chat-offer-add:disabled{opacity:.6;cursor:default}.chat-typing{display:inline-flex;align-items:center;gap:4px;min-height:1.2em}.chat-typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:chat-typing-bounce 1.2s ease-in-out infinite}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes chat-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}.chat-error{margin:0;font-size:var(--fs-sm);color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger-border);border-radius:var(--r-md);padding:.5rem .75rem}.chat-suggestions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:.25rem}.chat-chip{border:1px solid var(--border);background:var(--card);color:var(--ink);font-family:inherit;font-size:var(--fs-sm);padding:.45rem .8rem;border-radius:var(--r-pill);cursor:pointer}.chat-chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.chat-inputbar{flex-shrink:0;flex-direction:column;align-items:stretch;padding:.7rem .85rem calc(.7rem + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--card)}.chat-inputbar,.chat-inputrow{display:flex;gap:var(--space-sm)}.chat-inputrow{align-items:flex-end}.chat-attach{position:relative;align-self:flex-start}.chat-attach img{display:block;width:72px;height:72px;object-fit:cover;border-radius:var(--r-md);border:1px solid var(--border)}.chat-attach-x{position:absolute;top:-7px;right:-7px;width:22px;height:22px;display:grid;place-items:center;border:none;border-radius:50%;background:var(--ink);color:var(--card);font-size:15px;line-height:1;cursor:pointer;box-shadow:var(--shadow-sm)}.chat-cam{flex-shrink:0;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--r-pill);background:none;color:var(--muted);cursor:pointer;transition:color var(--dur-fast) ease,border-color var(--dur-fast) ease}.chat-cam:hover{color:var(--ink);border-color:var(--muted)}.chat-cam:disabled{opacity:.45;cursor:default}.chat-cam svg{width:20px;height:20px}.chat-inputbar textarea{flex:1 1;resize:none;min-height:42px;max-height:120px;padding:.6rem .85rem;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);color:var(--ink);font-family:inherit;font-size:var(--fs-md);line-height:1.4}.chat-inputbar textarea:focus{outline:none;border-color:var(--accent)}.chat-send{flex-shrink:0;width:42px;height:42px;display:grid;place-items:center;border:none;border-radius:var(--r-pill);background:var(--accent-fill);color:var(--accent-fill-on);cursor:pointer}.chat-send:disabled{opacity:.45;cursor:default}.chat-send svg{width:20px;height:20px}.chat-mic{flex-shrink:0;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--r-pill);background:none;color:var(--muted);cursor:pointer;transition:color var(--dur-fast) ease,border-color var(--dur-fast) ease}.chat-mic:hover{color:var(--ink);border-color:var(--muted)}.chat-mic:disabled{opacity:.45;cursor:default}.chat-mic svg{width:20px;height:20px}.chat-mic.listening{border-color:var(--accent);background:var(--accent-fill);color:var(--accent-fill-on);animation:chat-mic-pulse 1.3s ease-out infinite}@keyframes chat-mic-pulse{0%{box-shadow:0 0 0 0 rgba(255,72,58,.45)}70%{box-shadow:0 0 0 8px rgba(255,72,58,0)}to{box-shadow:0 0 0 0 rgba(255,72,58,0)}}@media (prefers-reduced-motion:reduce){.chat-mic{transition:none}.chat-mic.listening{animation:none}}.chat-voice-btn{flex-shrink:0;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--r-pill);background:none;color:var(--muted);cursor:pointer;transition:color var(--dur-fast) ease,border-color var(--dur-fast) ease}.chat-voice-btn:hover{color:var(--ink);border-color:var(--muted)}.chat-voice-btn svg{width:20px;height:20px}.chat-voice-btn.on{color:var(--accent);border-color:var(--accent)}.chat-voice-btn.speaking{animation:chat-mic-pulse 1.3s ease-out infinite}@media (prefers-reduced-motion:reduce){.chat-voice-btn{transition:none}.chat-voice-btn.speaking{animation:none}}.ai-down-banner{display:flex;align-items:center;gap:var(--space-md);max-width:960px;margin:.75rem auto 0;padding:.65rem .9rem;border:1px solid color-mix(in srgb,var(--amber) 45%,transparent);border-radius:var(--r-md);background:color-mix(in srgb,var(--amber) 12%,var(--card));color:var(--ink);font-size:var(--fs-sm);line-height:1.4}@media (max-width:992px){.ai-down-banner{margin-left:1rem;margin-right:1rem}}.ai-down-banner svg{flex-shrink:0;width:20px;height:20px;color:var(--amber)}.db-down-banner{display:flex;align-items:center;gap:var(--space-md);max-width:960px;margin:.75rem auto 0;padding:.65rem .9rem;border:1px solid var(--danger-border);border-radius:var(--r-md);background:var(--danger-soft);color:var(--ink);font-size:var(--fs-sm);line-height:1.4}@media (max-width:992px){.db-down-banner{margin-left:1rem;margin-right:1rem}}.db-down-banner svg{flex-shrink:0;width:20px;height:20px;color:var(--danger)}.cook-start{display:inline-flex;align-items:center;gap:var(--space-sm);font-family:inherit;font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--accent);background:var(--accent-soft);border:1px solid transparent;border-radius:var(--r-pill);padding:.5rem 1rem;cursor:pointer}.cook-start:hover{background:var(--accent-soft-strong)}.cook-start.on{color:var(--accent-fill-on);background:var(--accent-fill);border-color:transparent}.cook-start.on:hover{background:var(--accent);filter:brightness(.94)}.cook-cheer{position:fixed;inset:0;z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2xl);background:rgb(0 0 0/.28);animation:cheer-veil .32s ease both,cheer-out .38s ease 2.42s both;cursor:pointer}.cook-cheer-stage{position:relative;display:grid;place-items:center;width:232px;height:232px}.cook-cheer-circle{width:118px;height:118px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--success-solid);box-shadow:var(--shadow-lg);animation:cheer-pop .46s cubic-bezier(.2,1.5,.4,1) both}.cook-cheer-circle svg{width:58px;height:58px;fill:currentColor;stroke:none;animation:cheer-thumb .42s cubic-bezier(.2,1.4,.4,1) .14s both}.cook-cheer-confetti{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.cook-cheer-bit{position:absolute;width:var(--size);height:var(--size);border-radius:2px;background:var(--bit);animation:cheer-fly 1.1s cubic-bezier(.15,.75,.35,1) var(--delay) both}.cook-cheer-bit.round{border-radius:50%}.cook-cheer-text{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-bold);color:#fff;text-align:center;text-shadow:0 1px 12px rgb(0 0 0/.45);animation:cheer-rise .38s ease .22s both}@keyframes cheer-veil{0%{opacity:0}to{opacity:1}}@keyframes cheer-out{0%{opacity:1}to{opacity:0}}@keyframes cheer-pop{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes cheer-thumb{0%{transform:scale(.4) rotate(-18deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes cheer-rise{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes cheer-fly{0%{transform:translate(0) rotate(0) scale(.6);opacity:0}12%{opacity:1}70%{opacity:1}to{transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(1);opacity:0}}@media (prefers-reduced-motion:reduce){.cook-cheer,.cook-cheer-circle,.cook-cheer-circle svg,.cook-cheer-text{animation:cheer-veil .2s ease both}.cook-cheer-confetti{display:none}}.cook-done{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;margin-top:var(--space-md);font-family:inherit;font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--accent);background:var(--accent-soft);border:1px solid transparent;border-radius:var(--r-md);padding:.75rem 1rem;cursor:pointer}.cook-done:hover{background:var(--accent-soft-strong)}.cook-done svg{display:block;width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.cook-start-mic{display:block;width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.step-row.cooking-current{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),0 12px 26px -16px rgba(255,72,58,.5);opacity:1}.cook-dock{position:fixed;left:12px;right:12px;top:calc(env(safe-area-inset-top, 0px) + 62px);z-index:var(--z-nav-cook);display:flex;justify-content:center;pointer-events:none}.cook-dock>*{pointer-events:auto}.cook-pill{display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:6px 14px 6px 6px;border-radius:var(--r-pill);background:var(--accent-soft);border:1px solid var(--accent);box-shadow:0 10px 26px -12px rgba(255,72,58,.55);color:var(--ink);font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.cook-pill-mic{position:relative;flex-shrink:0;width:38px;height:38px;border-radius:50%;background:var(--accent-fill);color:var(--accent-fill-on);display:grid;place-items:center;font-size:var(--fs-md)}.cook-pill-mic.sm{width:30px;height:30px;font-size:var(--fs-base)}.cook-pill-mic.muted{background:var(--muted)}.cook-pill-mic.live:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--accent);animation:cook-pulse 1.6s ease-out infinite}.cook-pill-txt{display:flex;flex-direction:column;line-height:1.2;min-width:0;text-align:left}.cook-pill-txt b{font-size:var(--fs-sm);font-weight:var(--fw-bold);white-space:nowrap}.cook-pill-txt small{font-size:var(--fs-2xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cook-pill-step{flex-shrink:0;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--accent);border-radius:var(--r-pill);padding:3px 10px;white-space:nowrap}.cook-card,.cook-pill-step{background:var(--accent-soft)}.cook-card{width:100%;max-width:520px;border-radius:var(--r-xl);border:1px solid var(--accent);box-shadow:0 18px 40px -18px rgba(255,72,58,.5);overflow:hidden}.cook-card-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--accent-soft-strong)}.cook-card-title{font-size:var(--fs-base);font-weight:var(--fw-bold)}.cook-card-head .cook-ctl{margin-left:auto}.cook-ctl{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--ink);display:grid;place-items:center;font-size:var(--fs-base);line-height:1;cursor:pointer;flex-shrink:0}.cook-ctl:hover{border-color:var(--accent)}.cook-ctl:disabled{opacity:.5;cursor:default}.cook-ctl.muted{background:var(--accent-soft)}.cook-ctl.danger:hover{color:var(--accent)}.cook-step-block{padding:12px 14px 2px}.cook-step-eyebrow{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.cook-step-text{margin:4px 0 0;font-size:var(--fs-md);line-height:1.4;font-weight:var(--fw-medium);color:var(--ink)}.cook-card-say{display:flex;gap:6px;margin:8px 14px 0;font-size:var(--fs-sm);line-height:1.4;color:var(--muted)}.cook-card-foot{display:flex;align-items:center;gap:10px;padding:12px 14px}.cook-card-hint{font-size:var(--fs-xs);color:var(--muted)}.cook-card-hint b{color:var(--ink)}.cook-card-actions{margin-left:auto;display:flex;gap:12px}.cook-grip{display:block;width:100%;border:none;background:none;color:inherit;font-family:inherit;padding:10px 14px 8px;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}.cook-drag{display:grid;place-items:center;padding:6px 14px 10px;cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent}.cook-drag:active{cursor:-webkit-grabbing;cursor:grabbing}.cook-drag-handle{width:44px;height:5px;border-radius:var(--r-pill);background:rgba(130,130,130,.4)}.cook-grip-row{display:flex;align-items:center;gap:8px}.cook-chef{font-size:1.15rem}.cook-grip-title{font-size:var(--fs-base);font-weight:var(--fw-bold);display:flex;align-items:center;gap:8px}.cook-grip-state{margin-left:auto;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:rgba(255,255,255,.65);white-space:nowrap}.cook-chevron{font-size:var(--fs-xs);color:rgba(255,255,255,.6)}.cook-step-badge{font-size:var(--fs-2xs);font-weight:var(--fw-bold);color:#ff9d94;background:rgba(255,72,58,.18);border-radius:var(--r-pill);padding:2px 8px}.cook-body{max-height:0;opacity:0;overflow:hidden;padding:0 14px;pointer-events:none;transition:max-height var(--dur-slow) ease,opacity var(--dur-med) ease,padding var(--dur-slow) ease}.cook-dock.open .cook-body{max-height:62vh;opacity:1;padding:2px 14px 14px;pointer-events:auto}.cook-exit{display:block;width:100%;margin-top:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);color:#fff;font-family:inherit;font-weight:var(--fw-semibold);font-size:var(--fs-sm);border-radius:var(--r-md);padding:.6rem;cursor:pointer}.cook-exit:hover{background:rgba(255,255,255,.2)}.cook-caption{margin-top:2px;font-size:var(--fs-sm);line-height:1.4;min-height:2.6em;display:flex;flex-direction:column;gap:3px}.cook-you{color:rgba(255,255,255,.55);font-style:italic;font-size:var(--fs-xs)}.cook-say{color:#fff}.cook-controls{display:flex;align-items:center;gap:10px;margin-top:10px}.cook-mic{width:46px;height:46px;border-radius:50%;flex-shrink:0;border:none;cursor:pointer;background:var(--accent-fill);color:var(--accent-fill-on);font-size:1.2rem;display:grid;place-items:center;position:relative}.cook-mic:disabled{opacity:.5;cursor:default}.cook-mic.listening:after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--accent);animation:cook-pulse 1.4s ease-out infinite}@keyframes cook-pulse{0%{transform:scale(1);opacity:.7}to{transform:scale(1.4);opacity:0}}.cook-wave{display:flex;align-items:center;gap:3px;height:22px;flex:1 1}.cook-wave i{width:3px;background:#ff9d94;border-radius:2px;height:20%}.cook-dock.speaking .cook-wave i{animation:cook-eq .9s ease-in-out infinite}.cook-wave i:nth-child(2){animation-delay:.1s}.cook-wave i:nth-child(3){animation-delay:.2s}.cook-wave i:nth-child(4){animation-delay:.3s}.cook-wave i:nth-child(5){animation-delay:.15s}.cook-wave i:nth-child(6){animation-delay:.25s}.cook-wave i:nth-child(7){animation-delay:.05s}@keyframes cook-eq{0%,to{height:20%}50%{height:95%}}.cook-state{color:rgba(255,255,255,.7);white-space:nowrap}.cook-hf,.cook-state{font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.cook-hf{margin-left:auto;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.8);border-radius:var(--r-pill);padding:.3rem .6rem;cursor:pointer}.cook-hf.on{background:var(--accent-fill);border-color:transparent;color:var(--accent-fill-on)}.cook-hints{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.cook-hints span{font-size:var(--fs-2xs);color:rgba(255,255,255,.75);background:rgba(255,255,255,.1);border-radius:var(--r-pill);padding:3px 9px}@media (prefers-reduced-motion:reduce){.cook-dock.speaking .cook-wave i,.cook-mic.listening:after,.cook-pill-mic.live:after{animation:none}}.cook-dock.hot{border-color:rgba(255,91,78,.35)}.cook-wake{font-size:var(--fs-xs);line-height:1.4;color:rgba(255,255,255,.9);background:rgba(255,72,58,.16);border:1px solid rgba(255,72,58,.35);border-radius:var(--r-md);padding:8px 10px;margin-top:2px}.cook-wake b{color:#ff9d94}.cook-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ff5b4e;margin-right:5px;vertical-align:middle;animation:cook-live 1.6s ease-out infinite}@keyframes cook-live{0%{box-shadow:0 0 0 0 rgba(255,91,78,.55)}to{box-shadow:0 0 0 7px rgba(255,91,78,0)}}.cook-mic.muted{background:rgba(255,255,255,.16)}.cook-resume{order:3;display:inline-flex;align-items:center;gap:10px;max-width:calc(100% - 24px);padding:8px 14px;border-radius:var(--r-pill);background:rgba(20,18,16,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);color:#fff;text-decoration:none;box-shadow:0 14px 30px -14px rgba(0,0,0,.6)}.cook-resume-chef{font-size:var(--fs-md)}.cook-resume-text{display:flex;flex-direction:column;line-height:1.15;font-size:var(--fs-sm);font-weight:var(--fw-bold);min-width:0}.cook-resume-text small{font-weight:var(--fw-medium);font-size:var(--fs-xs);color:rgba(255,255,255,.7);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.cook-resume-go{color:#ff9d94;font-weight:900}@media (prefers-reduced-motion:reduce){.cook-live-dot{animation:none}}.watch-wrap{display:flex;flex-direction:column;gap:var(--space-md)}.watch-add{position:relative}.watch-add-input{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--fs-base);color:var(--ink)}.watch-add-input,.watch-suggest{border:1px solid var(--border);border-radius:var(--r-md);background:var(--card)}.watch-suggest{position:absolute;z-index:var(--z-dropdown);left:0;right:0;margin:var(--space-3xs) 0 0;padding:var(--space-3xs);list-style:none;box-shadow:var(--shadow-lg);max-height:16rem;overflow-y:auto}.watch-suggest-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:none;background:none;color:inherit;font:inherit;text-align:left;border-radius:var(--r-sm);cursor:pointer}.watch-suggest-row:hover:not(:disabled){background:var(--glass-active)}.watch-suggest-row:disabled{opacity:.55;cursor:default}.watch-suggest-note{font-size:var(--fs-2xs);color:var(--muted)}.watch-empty{color:var(--muted);font-size:var(--fs-sm);padding:var(--space-sm) 0}.watch-list{list-style:none;margin:0;padding:0;gap:var(--space-sm)}.watch-list,.watch-row{display:flex;flex-direction:column}.watch-row{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-md);gap:var(--space-2xs)}.watch-row-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.watch-name{font-weight:var(--fw-semibold);font-size:var(--fs-base);text-transform:capitalize}.watch-remove{border:none;background:none;color:var(--muted);font-size:1.4rem;line-height:1;cursor:pointer;padding:0 var(--space-2xs)}.watch-onoffer{font-size:var(--fs-sm);color:var(--plan);font-weight:var(--fw-medium)}.watch-onoffer-none{color:var(--muted);font-weight:var(--fw-regular)}.watch-target{display:flex;flex-wrap:wrap;gap:var(--space-2xs);align-items:center;margin-top:var(--space-2xs)}.watch-mode,.watch-price{padding:var(--space-2xs) var(--space-sm);font-size:var(--fs-sm);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--ink)}.watch-price{width:6rem}.watch-save{padding:var(--space-2xs) var(--space-md);font-size:var(--fs-sm);font-weight:var(--fw-semibold);border:none;border-radius:var(--r-pill);background:var(--accent-fill);color:var(--accent-fill-on);cursor:pointer}.code-form{display:flex;flex-direction:column;gap:var(--space-md);background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.code-form-title{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--ink)}.code-field{display:flex;flex-direction:column;gap:var(--space-3xs)}.code-field>span{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink)}.code-field input{width:100%;padding:10px 12px;font-size:var(--fs-base);color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.code-field input::placeholder{color:var(--muted)}.code-field input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.code-hint{font-size:var(--fs-2xs);color:var(--muted)}.code-field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-sm);gap:var(--space-sm)}.code-submit{margin-top:var(--space-2xs);padding:13px var(--space-md);font-size:var(--fs-md);font-weight:var(--fw-medium);border:none;border-radius:var(--r-md);background:var(--accent-fill);color:var(--accent-fill-on);cursor:pointer;box-shadow:var(--shadow-sm)}.code-submit:active{transform:translateY(1px)}.code-list{list-style:none;margin:0;padding:0}.code-card,.code-list{display:flex;flex-direction:column;gap:var(--space-sm)}.code-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-lg) var(--space-xl)}.code-card-head{display:flex;align-items:center;gap:var(--space-sm)}.code-value{flex:1 1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-md);font-weight:var(--fw-medium);letter-spacing:.03em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-badge{flex:none;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.03em;text-transform:uppercase;padding:3px 9px;border-radius:var(--r-pill)}.code-badge-active{color:var(--success-solid);background:var(--success-soft)}.code-badge-used{color:var(--muted);background:var(--border)}.code-badge-expired{color:var(--accent);background:var(--accent-soft)}.code-copy{flex:none;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);color:var(--ink);cursor:pointer}.code-copy svg{width:1rem;height:1rem}.code-usage{display:flex;align-items:center;gap:var(--space-sm)}.code-usage-bar{flex:1 1;height:6px;border-radius:var(--r-pill);background:var(--border);overflow:hidden}.code-usage-fill{display:block;height:100%;border-radius:var(--r-pill);background:var(--accent)}.code-usage-val{flex:none;font-size:var(--fs-2xs);color:var(--muted)}.code-meta{margin:0;font-size:var(--fs-sm);color:var(--muted)}.fb-list{list-style:none;margin:0;padding:0;gap:var(--space-sm)}.fb-card,.fb-list{display:flex;flex-direction:column}.fb-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-lg) var(--space-xl);gap:var(--space-2xs)}.fb-resolved{opacity:.6}.fb-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.fb-title{font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--ink)}.fb-badge{flex:none;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.03em;text-transform:uppercase;padding:3px 9px;border-radius:var(--r-pill)}.fb-badge-new{color:var(--accent);background:var(--accent-soft)}.fb-badge-done{color:var(--success-solid);background:var(--success-soft)}.fb-message{margin:var(--space-2xs) 0;font-size:var(--fs-sm);color:var(--ink);line-height:1.5;white-space:pre-wrap}.fb-meta{display:flex;gap:var(--space-md);font-size:var(--fs-2xs);color:var(--muted)}.fb-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-top:var(--space-2xs)}.fb-link{color:var(--accent);text-decoration:none}.fb-link,.fb-resolve{font-size:var(--fs-sm);font-weight:var(--fw-medium)}.fb-resolve{margin-left:auto;padding:7px 14px;border-radius:var(--r-md);border:1px solid var(--border);background:transparent;color:var(--ink);cursor:pointer}.code-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2xs);padding:var(--space-xl) var(--space-md);border:1px dashed var(--border);border-radius:var(--r-lg);color:var(--muted)}.code-empty-ic{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);margin-bottom:var(--space-2xs)}.code-empty-ic svg{width:1.5rem;height:1.5rem}.code-empty-title{margin:0;font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--ink)}.code-empty-sub{margin:0;font-size:var(--fs-sm)}.konto-legal{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin:var(--space-2xl) 0 var(--space-md);font-size:var(--fs-sm);color:var(--muted)}.konto-legal a{color:var(--muted);text-decoration:none}.konto-legal a:hover{color:var(--ink);text-decoration:underline}.sub-card{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-xl)}.sub-badge{align-self:flex-start;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.03em;text-transform:uppercase;color:var(--accent-fill-on);background:var(--accent-fill);border-radius:var(--r-pill);padding:4px 12px}.sub-badge-free{background:var(--muted)}.sub-badge-premium{display:inline-flex;align-items:center;gap:.35rem}.sub-badge-premium svg{width:.95rem;height:.95rem}.sub-line{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:var(--space-2xs) 0 0}.sub-sub{font-size:var(--fs-sm);color:var(--muted);margin:0}.sub-premium-line{display:flex;flex-direction:column;gap:2px}.sub-line-strong{margin:0;font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--ink)}.sub-note{margin:0;font-size:var(--fs-xs);color:var(--muted)}.sub-details{margin:0;display:flex;flex-direction:column;gap:var(--space-2xs)}.sub-detail{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);padding:var(--space-2xs) 0;border-bottom:1px solid var(--border)}.sub-detail:last-child{border-bottom:none}.sub-detail dt{font-size:var(--fs-sm);color:var(--muted)}.sub-detail dd{margin:0;font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--ink)}.sub-free,.sub-status{gap:var(--space-2xs)}.sub-free,.sub-meter,.sub-status{display:flex;flex-direction:column}.sub-meter{gap:4px}.sub-meter-row{display:flex;justify-content:space-between;font-size:var(--fs-sm)}.sub-meter-val{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sub-meter-hint,.sub-meter-solo{margin:0;font-size:var(--fs-xs);color:var(--muted);line-height:1.4}.sub-meter-solo{margin-top:var(--space-3xs)}.sub-meter-bar{height:6px;border-radius:999px;background:var(--border);overflow:hidden}.sub-meter-fill{display:block;height:100%;background:var(--accent)}.sub-upsell{margin-top:var(--space-xs);padding-top:var(--space-sm);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-2xs)}.sub-upsell-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}.sub-upsell-title{font-size:var(--fs-md);font-weight:var(--fw-medium);margin:0}.sub-upsell-price{margin:0;font-size:var(--fs-sm);color:var(--muted)}.sub-upsell-price strong{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--ink)}.sub-benefits{list-style:none;margin:var(--space-2xs) 0 var(--space-sm);padding:0;display:flex;flex-direction:column;gap:var(--space-2xs)}.sub-benefits li{position:relative;padding-left:1.6rem;font-size:var(--fs-sm);color:var(--ink)}.sub-benefits li:before{content:"✓";position:absolute;left:0;top:0;width:1.15rem;height:1.15rem;font-size:.72rem;font-weight:var(--fw-semibold);border-radius:var(--r-pill);background:var(--success-soft);color:var(--success-solid)}.sub-benefits li:before,.sub-btn-upgrade{display:inline-flex;align-items:center;justify-content:center}.sub-btn-upgrade{gap:var(--space-2xs);align-self:stretch;padding:11px var(--space-md);font-size:var(--fs-base)}.sub-compare{align-self:flex-start;margin-top:var(--space-2xs);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--accent);text-decoration:none}.sub-soon{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.03em;text-transform:uppercase;padding:2px 8px;border-radius:var(--r-pill);background:rgba(255,255,255,.28);color:#fff}.sub-consent{align-items:flex-start;font-size:var(--fs-sm);color:var(--muted);margin:var(--space-2xs) 0}.sub-buttons,.sub-consent{display:flex;gap:var(--space-2xs)}.sub-buttons{flex-wrap:wrap}.sub-btn{padding:var(--space-2xs) var(--space-md);font-size:var(--fs-sm);font-weight:var(--fw-semibold);border:none;border-radius:var(--r-pill);background:var(--accent-fill);color:var(--accent-fill-on);cursor:pointer}.sub-btn:disabled{opacity:.5;cursor:default}.sub-btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--border)}.unsub{max-width:28rem;padding-top:var(--space-2xl)}.unsub-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--space-2xl) var(--space-xl);text-align:center}.unsub-title{margin:0 0 var(--space-sm);font-size:var(--fs-lg);font-weight:var(--fw-medium);color:var(--ink)}.unsub-text{margin:0 0 var(--space-lg);font-size:var(--fs-sm);color:var(--muted);line-height:1.6}.unsub-btn{width:100%;padding:12px var(--space-md);font-size:var(--fs-base);font-weight:var(--fw-medium);border:none;border-radius:var(--r-md);background:var(--accent-fill);color:var(--accent-fill-on);cursor:pointer}.unsub-link{display:inline-block;margin-top:var(--space-md);font-size:var(--fs-sm);color:var(--muted);text-decoration:none}.upg-notice{display:flex;align-items:flex-start;gap:var(--space-sm);margin-top:var(--space-sm);padding:var(--space-md) var(--space-lg);border:1px solid var(--accent-soft-strong);border-radius:var(--r-md);background:var(--accent-soft)}.upg-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;font-size:1rem;color:var(--accent)}.upg-ic svg{width:1em;height:1em}.upg-body{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0}.upg-msg{margin:0;font-size:var(--fs-sm);color:var(--ink);line-height:1.5}.upg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2xl);margin-top:var(--space-2xs)}.upg-link{color:var(--accent-ink);text-decoration:none}.upg-alt,.upg-link{align-self:flex-start;font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:1.5}.upg-alt{padding:0;border:none;background:none;font-family:inherit;color:var(--ink);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}.upg-alt,.upg-link{position:relative}.upg-alt:after,.upg-link:after{content:"";position:absolute;top:50%;left:50%;width:100%;min-width:44px;height:44px;transform:translate(-50%,-50%)}.pc-page{max-width:40rem;padding-bottom:var(--space-3xl)}.pc-head{text-align:center;margin:var(--space-lg) 0 var(--space-xl)}.pc-h1{font-size:var(--fs-xl);font-weight:var(--fw-medium);margin:0 0 var(--space-2xs)}.pc-lead{margin:0 auto;max-width:30rem;font-size:var(--fs-sm);color:var(--muted);line-height:1.6}.pc-cards{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-sm);gap:var(--space-sm);margin-bottom:var(--space-lg)}.pc-card{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-xl) var(--space-md) var(--space-lg);text-align:center}.pc-card-prem{border-color:var(--accent-soft-strong);background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(180deg,var(--accent-soft),transparent 70%) border-box}.pc-card.current{box-shadow:0 0 0 2px var(--accent) inset}.pc-badge{position:absolute;top:-.6rem;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.03em;text-transform:uppercase;padding:3px 10px;border-radius:var(--r-pill);background:var(--ink);color:var(--bg)}.pc-badge-best{background:var(--accent-fill);color:var(--accent-fill-on)}.pc-name{margin:0;font-size:var(--fs-md);font-weight:var(--fw-medium)}.pc-price{margin:var(--space-2xs) 0 var(--space-xs);color:var(--muted);font-size:var(--fs-sm)}.pc-price strong{font-size:var(--fs-2xl);font-weight:var(--fw-medium);color:var(--ink)}.pc-tag{margin:0;font-size:var(--fs-xs);color:var(--muted);line-height:1.45}.pc-table{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.pc-row{display:grid;grid-template-columns:1fr 5.2rem 5.2rem;align-items:center;grid-gap:var(--space-sm);gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border)}.pc-row:last-child{border-bottom:none}.pc-row-head{padding-top:var(--space-sm);padding-bottom:var(--space-sm);background:var(--bg)}.pc-row-head .pc-col{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:var(--fw-medium)}.pc-feat{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-sm);color:var(--ink)}.pc-feat small{font-size:var(--fs-2xs);color:var(--muted)}.pc-col{display:flex;align-items:center;justify-content:center;text-align:center}.pc-val{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink)}.pc-no,.pc-yes{width:1.15rem;height:1.15rem}.pc-yes{color:var(--success-solid)}.pc-no{opacity:.5}.pc-no,.pc-usage{color:var(--muted)}.pc-usage{margin:var(--space-lg) 0 0;font-size:var(--fs-sm);text-align:center;line-height:1.6}.pc-usage strong{color:var(--ink);font-weight:var(--fw-medium)}.pc-cta{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-xl)}.pc-primary,.pc-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding:13px var(--space-md);font-size:var(--fs-md);font-weight:var(--fw-medium);border-radius:var(--r-md);cursor:pointer;text-decoration:none}.pc-primary{border:none;background:var(--accent-fill);color:var(--accent-fill-on);box-shadow:var(--shadow-sm)}.pc-secondary{border:1px solid var(--border);background:transparent;color:var(--ink)}.pc-primary:disabled,.pc-secondary:disabled{opacity:.5;cursor:default}.pc-have{margin:0;text-align:center;font-size:var(--fs-base);color:var(--ink)}.pc-fine,.pc-note{margin:0;font-size:var(--fs-xs);color:var(--muted);text-align:center;line-height:1.6}.pc-fine{margin-top:var(--space-xl)}.confirm-modal{max-width:21rem;width:calc(100% - 2.5rem)}.confirm-body{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2xs);padding:var(--space-2xl) var(--space-xl) var(--space-lg)}.confirm-ic{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;font-size:1.4rem;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);margin-bottom:var(--space-2xs)}.confirm-ic.danger{background:var(--danger-soft);color:var(--danger)}.confirm-title{margin:0;font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--ink);line-height:1.35}.confirm-msg{margin:0;font-size:var(--fs-sm);color:var(--muted);line-height:1.5}.confirm-actions{display:flex;gap:var(--space-sm);padding:0 var(--space-xl) var(--space-xl)}.confirm-cancel,.confirm-ok{flex:1 1;padding:12px var(--space-md);font-size:var(--fs-base);font-weight:var(--fw-medium);border-radius:var(--r-md);cursor:pointer}.confirm-cancel{border:1px solid var(--border);background:transparent;color:var(--ink)}.confirm-ok{border:none;background:var(--accent-fill);color:var(--accent-fill-on)}.confirm-ok.danger{background:var(--danger)}.mm-ic{width:1em;height:1em;flex-shrink:0;vertical-align:-.125em}.invite-card{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-xl);border-color:var(--accent-soft-strong);background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(180deg,var(--accent-soft),transparent 70%) border-box}.invite-hero{display:flex;align-items:center;gap:var(--space-sm)}.invite-hero-ic{flex:none;width:2.5rem;height:2.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent)}.invite-hero-ic svg{width:1.35rem;height:1.35rem}.invite-hero-text{margin:0;font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--ink);line-height:1.35}.invite-rewards{display:flex;align-items:stretch;gap:var(--space-sm)}.invite-reward{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3xs);padding:var(--space-lg) var(--space-md);border-radius:var(--r-md);background:var(--accent-soft);text-align:center}.invite-reward-amount{font-size:var(--fs-2xl);font-weight:var(--fw-medium);color:var(--accent);line-height:1}.invite-reward-label{font-size:var(--fs-xs);color:var(--muted)}.invite-reward-plus{align-self:center;font-size:var(--fs-lg);font-weight:var(--fw-regular);color:var(--muted)}.invite-fineprint{margin:0;font-size:var(--fs-xs);color:var(--muted);text-align:center}.invite-linkrow{display:flex;gap:var(--space-2xs)}.invite-link{flex:1 1;min-width:0;font-size:var(--fs-base);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;padding:11px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);color:var(--ink);text-overflow:ellipsis}.invite-link:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.invite-copy{flex:none;display:inline-flex;align-items:center;gap:.35rem;font-size:var(--fs-base);font-weight:var(--fw-medium);padding:11px 16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);color:var(--ink);cursor:pointer}.invite-copy svg{width:1.05rem;height:1.05rem}.invite-share{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-size:var(--fs-md);font-weight:var(--fw-medium);padding:13px 16px;border:none;border-radius:var(--r-md);background:var(--accent-fill);color:var(--accent-fill-on);cursor:pointer;box-shadow:var(--shadow-sm)}.invite-share svg{width:1.1rem;height:1.1rem}.invite-stats-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2xs);gap:var(--space-2xs);border-top:1px solid var(--border);padding-top:var(--space-md)}.invite-stat{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.invite-stat-num{font-size:var(--fs-2xl);font-weight:var(--fw-medium);color:var(--ink);line-height:1}.invite-stat-label{font-size:var(--fs-xs);color:var(--muted)}.invite-empty{margin:0;padding-top:var(--space-md);border-top:1px solid var(--border);font-size:var(--fs-base);color:var(--muted);text-align:center}.legal{max-width:42rem;line-height:1.6}.legal h1{font-size:var(--fs-2xl);margin:0 0 var(--space-sm)}.legal h2{font-size:var(--fs-lg);margin:var(--space-lg) 0 var(--space-2xs)}.legal li,.legal p{color:var(--ink)}.legal-draft{background:rgba(255,180,0,.14);border:1px solid rgba(255,180,0,.4);border-radius:var(--r-md);padding:var(--space-sm) var(--space-md);font-size:var(--fs-sm)}.legal-updated{color:var(--muted);font-size:var(--fs-sm);margin-top:var(--space-lg)}.grp-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-xs);border-bottom:1px solid var(--border)}.grp-row:last-child{border-bottom:none}.grp-name{flex:1 1;min-width:0;font-size:var(--fs-base);color:var(--ink)}.grp-hint{color:var(--muted);font-size:var(--fs-xs)}.grp-select{flex:none;max-width:11rem;padding:.4rem .5rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--card);color:var(--ink);font-family:inherit;font-size:var(--fs-sm)}.grp-select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.grp-select:disabled{opacity:.6}.grp-search{display:flex;flex-direction:column;gap:var(--space-2xs);margin:var(--space-lg) 0}.grp-search-label{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--ink)}.grp-search input{width:100%;padding:.6rem .7rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);color:var(--ink);font-family:inherit;font-size:var(--fs-base)}.grp-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.grp-meta{display:block;margin-top:.1rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grp-meta,.grp-saved{font-size:var(--fs-xs)}.grp-saved{flex:none;font-weight:var(--fw-medium);color:var(--success)}.offer-alt-price,.offer-pop-price,.offer-price{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bank-offer-price,.chat-offer-price,.ing-offer-price,.keep-offer-price{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.offer-alt-saving,.offer-saving,.store-bucket-saving{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--success);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chat-offer-ord,.lp-deal-ord,.offer-alt-ord,.offer-ord{text-decoration:line-through}.chat-offer-ord,.lp-deal-ord,.offer-alt-ord,.offer-compare,.offer-ord,.sub-compare{font-size:var(--fs-xs);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card-per-serving,.hero-per-serving,.shop-stats{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cat-icon-btn,.chat-voice-btn,.cook-ctl,.ing-add,.ing-offer-chip,.keep-remove,.modal-close,.pantry-menu-btn,.pantry-row-arrow,.prof-kebab,.recipe-lang-btn,.rtool{position:relative}.cat-icon-btn:after,.chat-voice-btn:after,.cook-ctl:after,.ing-add:after,.ing-offer-chip:after,.keep-remove:after,.modal-close:after,.pantry-menu-btn:after,.pantry-row-arrow:after,.prof-kebab:after,.recipe-lang-btn:after,.rtool:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.fbar{display:grid;grid-template-columns:1fr auto;align-items:stretch;background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin:0 0 .9rem}.fbar.only-port,.fbar.only-save{grid-template-columns:1fr}.fbar.only-port .fbar-port{border-left:0;justify-content:center}.fbar-main{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.1rem;padding:.55rem .8rem;border:0;background:none;font-family:inherit;text-align:left}button.fbar-main{cursor:pointer}.fbar-lead{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--success);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.fbar-lead-none{color:var(--ink)}.fbar-sub{font-size:var(--fs-xs);color:var(--muted);line-height:var(--lh-snug);text-align:left}.fbar-sub i{font-style:normal;padding-left:.15rem}.fbar-port{display:flex;align-items:center;justify-content:center;gap:.1rem;padding:.4rem .5rem .4rem .3rem;border-left:1px solid var(--border)}.fbar-pnum{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fbar-pnum b{color:var(--ink);font-weight:var(--fw-semibold);font-size:var(--fs-md)}.fbar-pnum.scaled b{font-style:italic;margin-right:.1em}.fbar-step{position:relative;flex:none;width:32px;height:32px;display:inline-grid;place-items:center;padding:0;border:0;background:none;color:var(--accent-ink);font-family:inherit;font-size:var(--fs-md);line-height:1;cursor:pointer}.fbar-step:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.fbar-step:disabled{color:var(--muted);opacity:.4;cursor:default}.scroll-top{order:4;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--btn-soft);color:var(--muted);cursor:pointer;box-shadow:var(--glass-shadow);opacity:0;transform:translateY(8px) scale(.9);pointer-events:none;transition:opacity var(--dur-fast) ease,transform var(--dur-fast) ease}.scroll-top.on{opacity:1;transform:none;pointer-events:auto}.scroll-top svg{width:20px;height:20px}.scroll-top:active{background:var(--border)}@media (prefers-reduced-motion:reduce){.scroll-top{transition:none}.scroll-top,.scroll-top.on{transform:none}}.float-column{position:fixed;left:0;right:0;margin-inline:auto;width:max-content;max-width:calc(100% - 24px);bottom:calc(var(--bottom-nav-h) + var(--nav-dock-lift) + env(safe-area-inset-bottom) + .7rem);z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}.float-column>*{pointer-events:auto}body:has(.modal-overlay) .float-column>:not(.import-error),body:has(.sheet-overlay) .float-column>:not(.import-error){display:none}.import-error{order:1;display:grid;grid-template-columns:1fr auto;align-items:start;grid-gap:2px var(--space-sm);gap:2px var(--space-sm);width:100%;padding:var(--space-md) var(--space-sm) var(--space-md) var(--space-xl);border-radius:var(--r-lg);background:var(--danger-soft);border:1px solid var(--danger-border);box-shadow:var(--glass-shadow);text-align:left}.import-error-title{grid-column:1;align-self:center;min-height:24px;display:flex;align-items:center;font-size:var(--fs-sm);font-weight:var(--fw-bold);line-height:1.2;color:var(--danger)}.import-error-detail{grid-column:1;font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:1.35;color:var(--ink);opacity:.78}.import-error-close{grid-column:2;grid-row:1/span 2;align-self:start;width:44px;height:44px;margin-top:-6px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--r-pill);background:transparent;color:var(--danger);cursor:pointer}.import-error-close svg{width:18px;height:18px}.import-error-close:active{background:rgba(0,0,0,.06)}.import-error-retry{grid-column:1;justify-self:start;min-height:44px;display:inline-flex;align-items:center;margin-top:2px;padding:0;border:0;background:transparent;color:var(--danger);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-bold);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.pgraf{width:100%;height:auto;display:block;overflow:visible}.pgraf-grid{stroke:var(--border);stroke-width:1}.pgraf-xax,.pgraf-yax{font-size:9px;font-weight:var(--fw-semibold);fill:var(--muted)}.pgraf-xax.tom{opacity:.5}.pgraf-linje{stroke:var(--accent);stroke-width:2.2;stroke-linecap:round}.pgraf-linje-lucka{stroke:var(--muted);stroke-width:1.6;stroke-dasharray:4 4;opacity:.55}.pgraf-punkt{fill:var(--accent)}.pgraf-punkt.nu{stroke:var(--card);stroke-width:2}.pgraf-callout rect{fill:var(--accent)}.pgraf-callout text{fill:#fff;font-size:10px;font-weight:var(--fw-bold)}.pgraf-legend{display:flex;gap:var(--space-lg);flex-wrap:wrap;margin-top:var(--space-sm);font-size:var(--fs-2xs);color:var(--muted)}.pgraf-legend span{display:inline-flex;align-items:center;gap:5px}.pgraf-l-hel{width:16px;height:2.5px;border-radius:2px;background:var(--accent)}.pgraf-l-streck{width:16px;height:0;border-top:2px dashed var(--muted);opacity:.6}.pgraf-annan-enhet{margin:var(--space-sm) 0 0;font-size:var(--fs-2xs);color:var(--muted);line-height:1.4}.pgraf-tomt{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-xl) var(--space-lg);border:1px dashed var(--border);border-radius:var(--r-md);background:var(--btn-soft);text-align:center}.pgraf-tomt.liten{padding:var(--space-md);margin-top:var(--space-sm)}.pgraf-tomt strong{font-size:var(--fs-sm);color:var(--ink)}.pgraf-tomt span{font-size:var(--fs-2xs);color:var(--muted);line-height:1.4}.pgraf-brickor{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-2xs);gap:var(--space-2xs);margin-top:var(--space-sm)}.pgraf-bricka{display:flex;flex-direction:column;align-items:center;gap:3px;padding:var(--space-xs) 2px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card)}.pgraf-bi{display:grid;place-items:center;width:26px;height:26px;border-radius:var(--r-pill);font-size:13px;font-weight:var(--fw-bold);line-height:1;color:#fff}.pgraf-bi.jmf,.pgraf-bi.lag{background:var(--success)}.pgraf-bi.hog{background:var(--accent)}.pgraf-bi.med{background:var(--muted)}.pgraf-bv{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pgraf-be{font-size:9.5px;color:var(--muted)}.prishist-rad-bild{flex:0 0 34px;width:34px;height:34px;border-radius:var(--r-sm);overflow:hidden;background:var(--btn-soft)}.prishist-rad-bild img{width:100%;height:100%;object-fit:contain;display:block}.prishist-rad-bytt{flex:0 0 100%;display:block;font-size:9.5px;font-style:italic;color:var(--muted);opacity:.8}.share-page{padding-bottom:calc(2rem + var(--safe-bottom))}.share-eyebrow{margin:0 0 .25rem;font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.share-save{margin:var(--space-md) 0 var(--space-lg)}.share-save-btn{width:100%;border:0;font-family:inherit;cursor:pointer}.share-save-btn:disabled{opacity:.7;cursor:default}.share-sec{margin-bottom:var(--space-xl)}.share-sec .section-label{margin:0 0 var(--space-sm)}.share-locked{position:relative;margin-top:var(--space-md)}.share-blur{display:flex;flex-direction:column;gap:.9rem;padding:1.1rem .85rem;background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);filter:blur(5px);min-height:26rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.share-skel{display:block;height:.85rem;border-radius:var(--r-pill);background:var(--btn-soft)}.share-gate{position:absolute;top:50%;left:50%;width:min(100%,22rem);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;padding:1.25rem 1.1rem;text-align:center;background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--glass-shadow)}.share-gate svg{width:26px;height:26px;color:var(--accent)}.share-gate h2{margin:0;font-size:var(--fs-lg);letter-spacing:var(--track-tight)}.share-gate p{margin:0 0 .35rem;max-width:34ch;font-size:var(--fs-sm);line-height:var(--lh-snug);color:var(--muted)}.share-gate .lp-primary,.share-gate .lp-secondary{width:100%;max-width:20rem}@media (prefers-reduced-motion:reduce){.share-gate{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--card)}}.share-modal-lead{margin:0 0 var(--space-md);font-size:var(--fs-sm);line-height:var(--lh-snug);color:var(--muted)}.share-modal-row{display:flex;gap:var(--space-xs);align-items:stretch}.share-modal-url{flex:1 1;min-width:0;padding:.55rem .7rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-xs)}.share-modal-url:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.share-modal-stop{margin-top:var(--space-md);width:100%;padding:.6rem;border:1px solid var(--danger-border);border-radius:var(--r-md);background:var(--danger-soft);color:var(--danger);font-family:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer}.kontor-sida{padding-bottom:calc(3rem + var(--safe-bottom))}.kontor-eyebrow{margin:0 0 .2rem;font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.kontor-scen{margin:var(--space-xl) 0 var(--space-2xl);padding:0;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:#12100e;box-shadow:var(--shadow-md)}.kontor-scen canvas{display:block;width:100%;height:auto;cursor:pointer}.kontor-scen figcaption{margin:0;padding:var(--space-sm) var(--space-lg);font-size:var(--fs-xs);color:#b9ad9c;border-top:1px solid #2a2420;background:#1a1714}.kontor-scen figcaption b{color:#f0e7d8;font-weight:var(--fw-semibold)}.kontor-arbetsyta{display:flex;flex-direction:column}.kontor-arbetsyta>.kontor-scen{order:-1}.kontor-kollegor{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:var(--space-xl);gap:var(--space-xl)}@media (min-width:1240px){.kontor-sida.container{max-width:1500px}.kontor-arbetsyta{display:grid;grid-template-columns:250px minmax(0,1fr) 250px;grid-gap:var(--space-xl);gap:var(--space-xl);align-items:start}.kontor-arbetsyta>.kontor-scen{order:0;grid-column:2;margin-top:0}.kontor-arbetsyta>.kontor-kollegor{grid-template-columns:1fr;gap:var(--space-lg)}.kontor-arbetsyta .kontor-kort{padding:var(--space-lg);gap:var(--space-sm)}.kontor-arbetsyta .kontor-portratt{width:34px;height:34px}.kontor-arbetsyta .kontor-kort h2{font-size:var(--fs-sm)}.kontor-arbetsyta .kontor-kort .lage,.kontor-arbetsyta .kontor-kort .pratbubbla,.kontor-arbetsyta .kontor-kort .titel,.kontor-arbetsyta .kontor-kort .vad,.kontor-arbetsyta .kontor-kort li{font-size:var(--fs-2xs)}.kontor-arbetsyta .kontor-kort header{gap:var(--space-md)}}.kontor-kort{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-xl);background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg)}.kontor-kort[data-lage=jobbar]{border-color:var(--accent);box-shadow:var(--shadow-md)}.kontor-kort header{display:flex;align-items:center;gap:var(--space-lg)}.kontor-portratt{flex:none;border-radius:var(--r-sm);display:block}.kontor-kort .vem{min-width:0}.kontor-kort h2{margin:0;font-size:var(--fs-md);line-height:var(--lh-snug)}.kontor-kort .titel{margin:.1rem 0 0;font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.kontor-kort .antal{margin-left:auto;flex:none;padding:.05rem .5rem;font-size:var(--fs-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-pill)}.kontor-kort .lage,.kontor-kort .vad{margin:0;font-size:var(--fs-xs)}.kontor-kort .vad{color:var(--muted)}.kontor-kort .lage{font-weight:var(--fw-medium)}.kontor-kort[data-lage=jobbar] .lage{color:var(--accent)}.kontor-kort[data-lage=klar] .lage{color:var(--success)}.kontor-kort[data-lage=parkerad] .lage{color:var(--muted)}.kontor-kort .pratbubbla{position:relative;margin:0;padding:var(--space-md) var(--space-lg);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--fs-sm);line-height:var(--lh-normal)}.kontor-kort .pratbubbla:after,.kontor-kort .pratbubbla:before{content:"";position:absolute;top:-7px;left:16px;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid var(--border)}.kontor-kort .pratbubbla:after{top:-6px;border-bottom-color:var(--bg)}.kontor-kort ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-2xs);gap:var(--space-2xs)}.kontor-kort li+li{border-top:1px solid var(--border);padding-top:var(--space-2xs)}.kontor-kort li a{font-size:var(--fs-sm);color:var(--ink);text-decoration:none}.kontor-kort li a:hover{color:var(--accent)}.kontor-kort .nr,.kontor-lucka .nr{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kontor-lucka{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-2xl) var(--space-xl);background:var(--glass-scrim-bg);-webkit-backdrop-filter:var(--glass-scrim-blur);backdrop-filter:var(--glass-scrim-blur)}.kontor-lucka-kort{width:min(520px,100%);max-height:80vh;overflow-y:auto;padding:var(--space-xl);background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--glass-shadow)}.kontor-lucka-kort header{display:flex;align-items:flex-start;gap:var(--space-lg);margin-bottom:var(--space-lg)}.kontor-lucka-kort h2{flex:1 1;margin:0;font-size:var(--fs-md)}.kontor-lucka-kort header button{position:relative;flex:none;width:30px;height:30px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--bg);color:var(--muted);font-size:var(--fs-sm);line-height:1;cursor:pointer}.kontor-lucka-kort header button:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.kontor-lucka-kort header button:hover{color:var(--ink);border-color:var(--accent)}.kontor-lucka h3{margin:var(--space-xl) 0 var(--space-3xs);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.kontor-lucka section:first-of-type h3{margin-top:0}.kontor-lucka a{display:block;padding:var(--space-sm) 0;font-size:var(--fs-sm);color:var(--ink);text-decoration:none;border-top:1px solid var(--border)}.kontor-lucka a:hover{color:var(--accent)}.kontor-lucka .tom{margin:0;font-size:var(--fs-sm);color:var(--muted)}.kontor-fel{padding:var(--space-xl);background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--r-lg);color:var(--warn-ink)}.kontor-fel p{margin:0;font-size:var(--fs-sm)}.kontor-fel-hjalp{margin-top:var(--space-sm)!important;opacity:.8}.kontor-fot{margin:var(--space-2xl) 0 0;font-size:var(--fs-xs);color:var(--muted)}.kontor-lucka-in,.kontor-schema{margin-top:var(--space-3xl)}.kontor-lucka-in h2,.kontor-schema h2{margin:0 0 var(--space-xs);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);border-left:3px solid var(--accent);padding-left:var(--space-sm)}.kontor-lucka-hjalp,.kontor-schema-hjalp,.kontor-schema-tomt{margin:0 0 var(--space-lg);font-size:var(--fs-xs);color:var(--muted)}.kontor-dagar{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-lg)}.kontor-dagar>li>h3{margin:0 0 var(--space-sm);display:flex;align-items:baseline;gap:var(--space-sm);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.kontor-dagar>li>h3:first-letter{text-transform:uppercase}.kontor-relativ{font-size:var(--fs-2xs);font-weight:var(--fw-medium);text-transform:none;letter-spacing:.03em;color:var(--accent);background:var(--accent-soft);border-radius:var(--r-pill);padding:0 var(--space-sm)}.kontor-dagar ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.kontor-pass{display:flex;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg)}.kontor-pass .tid{flex:none;font-size:var(--fs-sm);font-weight:var(--fw-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kontor-pass[data-sort="kväll"] .tid{color:var(--muted);font-weight:var(--fw-medium)}.kontor-pass .innehall{min-width:0;display:flex;flex-direction:column;gap:var(--space-3xs)}.kontor-pass .vem{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.kontor-pass .vad{font-size:var(--fs-xs);color:var(--muted)}.kontor-pass a{margin-top:var(--space-2xs);font-size:var(--fs-xs);color:inherit;text-decoration:none}.kontor-pass a:hover{text-decoration:underline}.kontor-pass .nr{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted)}.kontor-strandat{margin:0 0 var(--space-xl);padding:var(--space-lg) var(--space-xl);background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--r-lg)}.kontor-strandat h2{margin:0 0 var(--space-2xs);font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-snug);color:var(--warn-ink)}.kontor-strandat p{margin:0 0 var(--space-md);font-size:var(--fs-xs);line-height:var(--lh-normal);color:var(--ink)}.kontor-strandat code{font-size:.92em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kontor-strandat ul{margin:0 0 var(--space-md);padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.kontor-strandat li{display:flex;flex-direction:column;gap:var(--space-3xs)}.kontor-strandat a{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink);text-decoration:none}.kontor-strandat a:hover{text-decoration:underline}.kontor-strandat .nr{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--warn-ink);font-weight:var(--fw-semibold)}.kontor-strandat-alder{font-size:var(--fs-2xs);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kontor-strandat-atgard{margin:0;padding-top:var(--space-md);border-top:1px solid var(--warn-border);color:var(--muted)}.kontor-mote pre{margin:0;font-family:inherit;font-size:var(--fs-xs);line-height:var(--lh-normal);white-space:pre-wrap;word-break:break-word}.kontor-mote p{margin:var(--space-lg) 0 0;font-size:var(--fs-xs)}.kontor-dagbok{margin-top:var(--space-md);border-top:1px solid var(--border);padding-top:var(--space-md)}.kontor-dagbok>summary{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--accent);cursor:pointer;list-style:none;padding:var(--space-2xs) 0}.kontor-dagbok>summary::-webkit-details-marker{display:none}.kontor-dagbok>summary:before{content:"›";display:inline-block;font-size:var(--fs-md);line-height:1;transition:transform var(--dur-fast) ease}.kontor-dagbok[open]>summary:before{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.kontor-dagbok>summary:before{transition:none}}.kontor-dagbok-pip{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--success);background:var(--success-soft);border-radius:var(--r-pill);padding:.05rem .42rem}.kontor-dagbok-kropp{padding-top:var(--space-sm)}.kontor-dagbok-kropp h3{margin:var(--space-md) 0 var(--space-2xs);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.kontor-dagbok-kropp h3:first-child{margin-top:0}.kontor-dagbok-kropp ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2xs)}.kontor-dagbok-kropp a{font-size:var(--fs-xs);color:var(--ink);text-decoration:none}.kontor-dagbok-kropp a:hover{text-decoration:underline}.kontor-dagbok-nasta,.kontor-dagbok-tomt{margin:0;font-size:var(--fs-xs);line-height:var(--lh-normal);color:var(--muted)}.kontor-dagbok-nasta b{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kontor-plan{margin-top:var(--space-md);padding-left:var(--space-md);border-left:3px solid var(--accent)}.kontor-plan p{margin:var(--space-2xs) 0 0;font-size:var(--fs-xs);line-height:var(--lh-normal);white-space:pre-wrap}.kontor-rondlista{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.kontor-pass[data-sort=rond] .tid{color:var(--muted);font-weight:var(--fw-medium)}.kontor-pass .vem{display:flex;align-items:baseline;gap:var(--space-sm)}.kontor-modell{flex:none;font-weight:var(--fw-semibold);letter-spacing:.03em;text-transform:uppercase;background:var(--btn-soft);border-radius:var(--r-pill);padding:.05rem .42rem}.kontor-modell,.kontor-nasta{font-size:var(--fs-2xs);color:var(--muted)}.kontor-nasta{margin-top:var(--space-2xs)}.kontor-lucka-in textarea{width:100%;padding:var(--space-md) var(--space-lg);font:inherit;font-size:var(--fs-sm);color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);resize:vertical}.kontor-lucka-in textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.kontor-lucka-in button{margin-top:var(--space-md);min-height:44px;padding:0 var(--space-2xl);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--accent-fill-on);background:var(--accent-fill);border:none;border-radius:var(--r-pill);cursor:pointer}.kontor-lucka-in button:disabled{opacity:.5;cursor:default}.kontor-lucka-fel,.kontor-lucka-kvitto{margin:var(--space-md) 0 0;font-size:var(--fs-xs)}.kontor-lucka-fel{color:var(--accent)}.kontor-lucka-kvitto{color:var(--muted)}.kontor-lucka-bildfalt{margin-top:var(--space-md)}.kontor-lucka-in .kontor-lucka-bild-add{position:relative;margin-top:0;min-height:0;padding:var(--space-sm) var(--space-lg);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--muted);background:none;border:1px dashed var(--border);border-radius:var(--r-sm)}.kontor-lucka-in .kontor-lucka-bild-add:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.kontor-lucka-in .kontor-lucka-bild-add:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;min-width:44px;height:44px}.kontor-lucka-bild-preview{--bild-b:96px;--bild-h:72px;--bild-kryss:22px;position:relative;width:calc(var(--bild-b) + var(--bild-kryss));height:calc(var(--bild-h) + var(--bild-kryss))}.kontor-lucka-in .kontor-lucka-bild-byt{position:absolute;left:0;bottom:0;margin-top:0;min-height:0;width:var(--bild-b);height:var(--bild-h);padding:0;background:none;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.kontor-lucka-bild-byt img{width:100%;height:100%;object-fit:cover;display:block}.kontor-lucka-in .kontor-lucka-bild-x{position:absolute;top:0;right:0;margin-top:0;min-height:0;width:var(--bild-kryss);height:var(--bild-kryss);padding:0;display:grid;place-items:center;font-size:var(--fs-base);line-height:1;color:var(--card);background:var(--ink);border:none;border-radius:var(--r-pill)}.kontor-lucka-in .kontor-lucka-bild-x:after{content:"";position:absolute;top:0;left:0;width:44px;height:44px}.kontor-tavla-schema ol{margin:var(--space-md) 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.kontor-tavla-schema li{padding:var(--space-md) var(--space-lg);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md)}.kontor-tavla-schema li[data-sort="kväll"]{background:transparent;border-style:dashed;opacity:.75}.kontor-tavla-schema li[data-prio="hög"]{border-left:3px solid var(--accent)}.kontor-tavla-schema li[data-prio="låg"]{opacity:.7}.kontor-tavla-schema .rad{display:flex;align-items:baseline;gap:var(--space-sm)}.kontor-tavla-schema .nar{font-size:var(--fs-2xs);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kontor-tavla-schema .vem{font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin-left:auto}.kontor-tavla-schema .vad{margin:var(--space-3xs) 0 0;font-size:var(--fs-xs);color:var(--muted)}.kontor-tavla-schema .prio{margin-top:var(--space-md);display:flex;gap:var(--space-2xs)}.kontor-tavla-schema .prio button{flex:1 1;min-height:34px;padding:0 var(--space-sm);font:inherit;font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:var(--r-pill);cursor:pointer}.kontor-tavla-schema .prio button[aria-pressed=true]{color:var(--ink);font-weight:var(--fw-semibold);background:var(--accent-soft);border-color:var(--accent)}.kontor-tavla-schema .prio button:disabled{opacity:.5;cursor:default}.kontor-beslut ol{margin:var(--space-md) 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.kontor-beslut li{padding:var(--space-md) var(--space-lg);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md)}.kontor-beslut li a{padding-top:0;border-top:0}.kontor-beslut-alt{margin:var(--space-md) 0 0;padding:0;border:0}.kontor-beslut-alt legend{padding:0;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--muted)}.kontor-beslut-alt label{display:flex;align-items:center;gap:var(--space-sm);min-height:44px;font-size:var(--fs-sm);color:var(--ink);cursor:pointer}.kontor-beslut-alt input{width:1.1rem;height:1.1rem;accent-color:var(--accent);flex-shrink:0}.kontor-beslut-knappar{margin-top:var(--space-md);display:flex;gap:var(--space-xs)}.kontor-beslut-knappar button{flex:1 1;min-height:44px;padding:0 var(--space-md);font:inherit;font-size:var(--fs-xs);font-weight:var(--fw-semibold);border-radius:var(--r-pill);border:1px solid var(--border);background:var(--card);color:var(--ink);cursor:pointer}.kontor-beslut-knappar .ja{color:var(--success);background:var(--success-soft);border-color:var(--success-border)}.kontor-beslut-knappar .nej{color:var(--muted)}.kontor-beslut-knappar button:disabled{opacity:.5;cursor:default}.kontor-beslut-hjalp{margin:var(--space-xs) 0 0;font-size:var(--fs-xs);color:var(--muted)}.kontor-lucka-in[data-kompakt]{margin-top:var(--space-xl)}.kontor-lucka-in[data-kompakt] h3{margin:0 0 var(--space-xs)}.offer-name-btn{display:block;width:100%;padding:0;border:none;background:none;text-align:left;color:inherit;font:inherit;cursor:pointer}.offer-name-btn:after{content:"";position:absolute;inset:0;z-index:var(--z-raised)}.offer-name-btn:hover{text-decoration:underline}.offer-add,.offer-admin{position:relative;z-index:var(--z-card-action)}.offer-name-btn:focus-visible{outline:none}.offer-name-btn:focus-visible:after{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--r-lg)}.offer-pop-actions{display:grid;grid-template-columns:1fr auto;grid-gap:var(--space-xs);gap:var(--space-xs);margin-top:var(--space-md)}.offer-pop-actions>.offer-pop-btn:only-child{grid-column:1/-1}.offer-pop-btn{display:block;width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--accent);color:var(--card);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-align:center;text-decoration:none;cursor:pointer;min-height:44px}.offer-pop-btn.secondary{background:none;color:var(--accent)}.offer-pop-btn.added{border-color:var(--border);background:none;color:var(--muted)}.offer-hist{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border)}.offer-hist-loading,.offer-hist-tom{font-size:var(--fs-xs);color:var(--muted)}.offer-hist-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-xs);margin-bottom:var(--space-xs)}.offer-hist-title{font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase}.offer-hist-count,.offer-hist-title{font-size:var(--fs-2xs);color:var(--muted)}.offer-hist-best{font-size:var(--fs-xs);color:var(--success);margin-bottom:var(--space-sm)}.offer-hist-when{color:var(--muted)}.offer-hist-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.offer-hist-row{display:grid;grid-template-columns:3.2rem 1fr auto;align-items:center;grid-gap:var(--space-xs);gap:var(--space-xs);font-size:var(--fs-xs)}.offer-hist-week{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.offer-hist-year{font-size:var(--fs-2xs)}.offer-hist-bar-wrap{height:6px;background:var(--border);overflow:hidden}.offer-hist-bar,.offer-hist-bar-wrap{display:block;border-radius:var(--r-sm)}.offer-hist-bar{height:100%;background:var(--muted)}.offer-hist-bar.best{background:var(--success)}.offer-hist-price{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.offer-hist-pct{color:var(--success);font-weight:var(--fw-semibold)}.offer-hist-note{font-size:var(--fs-2xs);color:var(--muted);margin:var(--space-sm) 0 0}.shop-group+.shop-group{margin-top:var(--space-md)}.shop-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-xs);margin:0 0 var(--space-xs);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.shop-group-count{font-weight:var(--fw-medium);letter-spacing:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shop-group.over{outline:2px dashed var(--accent);outline-offset:4px;border-radius:var(--r-sm)}.qty-field-label{display:block;margin:var(--space-md) 0 var(--space-xs);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.qty-select{width:100%;min-height:44px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--card);color:var(--ink);font-size:var(--fs-sm)}.analys{padding:var(--space-xl) var(--space-lg) calc(var(--space-3xl) * 2.2);background:var(--bg);min-height:100%}.analys-topp{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-2xs)}.analys-title{font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:var(--track-tight);margin:0}.analys-uppdaterad{font-size:var(--fs-2xs);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.analys-period{display:flex;gap:var(--space-2xs);margin:var(--space-md) 0 var(--space-lg)}.analys-period a{flex:1 1;border:1px solid var(--border);background:var(--card);color:var(--muted);border-radius:var(--r-pill);padding:var(--space-xs) 0;font:inherit;font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:.03em;cursor:pointer;position:relative}.analys-period a:after{content:"";position:absolute;inset:50% 0 auto;transform:translateY(-50%);height:44px}.analys-period a[aria-current=page]{background:var(--plan);border-color:var(--plan);color:var(--plan-on);font-weight:var(--fw-semibold)}.analys-larm{display:flex;gap:var(--space-sm);align-items:flex-start;background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--r-md);padding:var(--space-md);margin-bottom:var(--space-lg);font-size:var(--fs-xs);line-height:var(--lh-snug);color:var(--warn-ink)}.analys-larm svg{width:18px;height:18px;flex:0 0 auto;color:var(--warn-ink);margin-top:1px}.analys-rubrik{position:relative;padding-left:var(--space-md);margin:var(--space-2xl) 0 var(--space-sm);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.analys-rubrik:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:.85em;border-radius:2px;background:var(--plan)}.analys-rubrik span{display:block;font-size:var(--fs-2xs);font-weight:var(--fw-regular);letter-spacing:0;text-transform:none;color:var(--muted);margin-top:2px}.analys-tal{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-sm);gap:var(--space-sm)}.analys-ruta{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-md)}.analys-ruta dt{font-size:var(--fs-2xs);color:var(--muted);line-height:var(--lh-snug)}.analys-ruta dd{margin:2px 0 0;font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--track-tight);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.analys-ruta .analys-delta{font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.analys-delta:before{content:"▲ ";font-size:.8em}.analys-delta.ner:before{content:"▼ "}.analys-serie{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-md)}.analys-serie-topp{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-sm)}.analys-serie-tal{font-size:var(--fs-md);font-weight:var(--fw-bold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.analys-serie-etikett{font-size:var(--fs-2xs);color:var(--muted)}.analys-staplar{display:flex;align-items:flex-end;gap:2px;height:74px}.analys-staplar span{flex:1 1;background:var(--plan);border-radius:2px 2px 0 0;min-height:2px;opacity:.55}.analys-staplar span.idag{opacity:1}.analys-axel{display:flex;justify-content:space-between;margin-top:var(--space-2xs);font-size:var(--fs-2xs);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.analys-lista{list-style:none;margin:0;padding:0;background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.analys-rad{display:grid;grid-template-columns:1fr 4.2rem;align-items:center;grid-gap:var(--space-sm);gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border)}.analys-rad:last-child{border-bottom:0}.analys-rad-namn{font-size:var(--fs-xs);line-height:var(--lh-snug);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analys-rad-spar{grid-column:1/-1;height:6px;border-radius:var(--r-pill);background:var(--border);overflow:hidden}.analys-rad-fyll{display:block;height:100%;border-radius:var(--r-pill);background:var(--plan)}.analys-rad-tal{text-align:right;font-size:var(--fs-xs);font-weight:var(--fw-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.analys-rad-tal small{display:block;font-size:var(--fs-2xs);font-weight:var(--fw-regular);color:var(--muted)}.analys-lista.fel .analys-rad-fyll{background:var(--danger)}.analys-heat-val{display:flex;gap:var(--space-2xs);margin-bottom:var(--space-sm);overflow-x:auto;padding-bottom:2px}.analys-heat-val a{flex:0 0 auto;border:1px solid var(--border);background:var(--card);color:var(--muted);border-radius:var(--r-pill);padding:var(--space-2xs) var(--space-md);font:inherit;font-size:var(--fs-2xs);letter-spacing:.03em;cursor:pointer;white-space:nowrap}.analys-heat-val a[aria-current=page]{background:var(--plan);border-color:var(--plan);color:var(--plan-on)}.analys-heat{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;aspect-ratio:39/62}.analys-heat svg{display:block;width:100%;height:100%}.analys-heat .yta{fill:var(--border);stroke:var(--border);stroke-width:2}.analys-heat .punkt{fill:var(--plan)}.analys-heat-fot{justify-content:space-between;margin-top:var(--space-xs);font-size:var(--fs-2xs);color:var(--muted)}.analys-heat-fot,.analys-skala{display:flex;align-items:center}.analys-skala{gap:var(--space-2xs)}.analys-skala i{width:14px;height:8px;border-radius:2px;background:var(--plan);display:block}.analys-not{font-size:var(--fs-2xs);color:var(--muted);line-height:var(--lh-snug);margin:var(--space-xs) 0 0}.analys-tomt{border:1px dashed var(--border);border-radius:var(--r-lg);padding:var(--space-xl) var(--space-md);text-align:center;color:var(--muted);line-height:var(--lh-snug)}.analys-lank,.analys-tomt{background:var(--card);font-size:var(--fs-xs)}.analys-lank{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-md);margin-top:var(--space-sm);font-weight:var(--fw-medium);color:var(--ink);text-decoration:none}.analys-lank-text{min-width:0}.analys-lank-text span{color:var(--muted);font-weight:var(--fw-regular);font-size:var(--fs-2xs);display:block;margin-top:1px;line-height:var(--lh-snug)}.analys-lank em{color:var(--plan);font-style:normal;font-weight:var(--fw-semibold)}@media (prefers-reduced-motion:reduce){.analys *{transition:none!important;animation:none!important}}.analys-not code{background:var(--card);border:1px solid var(--border);border-radius:var(--r-xs);padding:.05em .3em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.ppop{max-width:420px}.ppop-hero{position:relative;flex-shrink:0;background:var(--accent-soft)}.ppop-hero-btn{display:block;width:100%;padding:0;border:none;background:none;cursor:zoom-in}.ppop-hero-img{display:block;width:100%;height:124px;object-fit:contain;background:#fff}.ppop-hero-tom{display:grid;place-items:center;font-size:2.6rem;color:var(--accent);background:var(--accent-soft)}.ppop-flagga{position:absolute;top:var(--space-lg);left:var(--space-lg);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.03em;text-transform:uppercase;color:var(--card);background:var(--accent);padding:.22rem .5rem;border-radius:var(--r-sm)}.ppop-stang{position:absolute;top:var(--space-sm);right:var(--space-sm);width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--card);color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer}.ppop-stang:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.ppop-titelkort{position:relative;z-index:var(--z-raised);flex-shrink:0;margin:-1.5rem var(--space-xl) 0;padding:var(--space-sm) var(--space-lg);background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.ppop-titel{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-bold);line-height:var(--lh-snug);letter-spacing:var(--track-tight);color:var(--ink)}.ppop-undertitel{margin:.1rem 0 0;font-size:var(--fs-sm);color:var(--muted)}.ppop-flikar{position:relative;flex-shrink:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border-bottom:1px solid var(--border)}.ppop-flik{position:relative;z-index:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--muted);background:none;border:none;padding:.62rem .5rem .68rem;min-height:44px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);-webkit-tap-highlight-color:transparent;transition:color .26s ease}.ppop-flik-antal{font-size:var(--fs-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);background:var(--btn-soft);border-radius:var(--r-pill);padding:.05rem .42rem;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.ppop-flik[aria-selected=true] .ppop-flik-antal{background:var(--accent-soft);color:var(--accent-ink)}.ppop-flik[aria-selected=true]{color:var(--accent);font-weight:var(--fw-semibold)}.ppop-ink{position:absolute;bottom:-1px;left:0;right:50%;height:3px;margin:0 var(--space-md);z-index:0;background:var(--accent);border-radius:var(--r-pill) var(--r-pill) 0 0;pointer-events:none;transition:left .26s cubic-bezier(.22,.61,.36,1),right .26s cubic-bezier(.22,.61,.36,1)}.ppop-body{flex:1 1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-top:0;padding-bottom:0}.ppop-viewport{flex:0 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto}.ppop-viewport:not(.is-dragging) .ppop-pane[inert]{max-height:0;overflow:hidden}.ppop-viewport.is-dragging{transition:none}.ppop-track{display:flex;width:200%;align-items:flex-start;transition:transform .38s cubic-bezier(.22,.61,.36,1)}.ppop-init .ppop-ink,.ppop-init .ppop-track,.ppop-init .ppop-viewport,.ppop-viewport.is-dragging .ppop-track{transition:none}.ppop-pane{width:50%;flex:0 0 50%;overflow-x:clip;overflow-y:visible}.ppop-info{padding-top:var(--space-xl);flex-direction:column}.ppop-info,.ppop-prisrad{display:flex;gap:var(--space-sm)}.ppop-prisrad{align-items:baseline;flex-wrap:wrap}.ppop-pris{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--accent-ink);letter-spacing:var(--track-tight);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ppop-ord{color:var(--muted);text-decoration:line-through;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ppop-ord,.ppop-spara{font-size:var(--fs-sm)}.ppop-spara{margin:0;font-weight:var(--fw-medium);color:var(--success);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ppop-fakta{margin:var(--space-xs) 0 0;display:flex;flex-direction:column}.ppop-fakta-rad{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-xl);padding:.5rem 0;border-top:1px solid var(--border)}.ppop-fakta-rad:last-child{border-bottom:1px solid var(--border)}.ppop-fakta-rad dt{flex:0 0 auto;font-size:var(--fs-xs);color:var(--muted)}.ppop-fakta-rad dd{margin:0;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ppop-fakta-butik{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-xs)}.ppop-butikslogga{display:inline-flex;align-items:center;height:15px}.ppop-butikslogga .store-logo-svg{height:100%;width:auto}.ppop-actions{flex-shrink:0;margin:var(--space-md) -1.25rem 0;padding:.7rem 1.25rem calc(.7rem + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--border)}.prishist{padding-top:var(--space-md);display:flex;flex-direction:column;gap:var(--space-2xs)}.prishist-tyst{font-size:var(--fs-xs);color:var(--muted)}.prishist-label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-xs);margin:0;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.prishist-label-luft{margin-top:var(--space-xs)}.prishist-antal{font-weight:var(--fw-regular);letter-spacing:0;text-transform:none}.prishist-nu{display:flex;flex-direction:column;gap:.1rem;padding:var(--space-md) var(--space-lg);border-radius:var(--r-lg);background:var(--accent-soft)}.prishist-nu-pris{display:flex;align-items:baseline;gap:var(--space-sm);font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--accent-ink);letter-spacing:var(--track-tight);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.prishist-nu-pct{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--success)}.prishist-nu-meta,.prishist-tom{font-size:var(--fs-xs);color:var(--muted)}.prishist-tom{margin:0;padding:var(--space-lg);border:1px dashed var(--border);border-radius:var(--r-lg)}.pristid{position:relative;list-style:none;margin:var(--space-2xs) 0 0;padding:0 0 0 var(--space-sm);display:flex;flex-direction:column}.pristid:before{content:"";position:absolute;left:3px;top:.8rem;bottom:.8rem;width:1px;background:var(--border)}.pristid-rad{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);padding:.3rem 0}.pristid-prick{position:absolute;left:calc(-1 * var(--space-sm));top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:var(--r-pill);background:var(--border)}.pristid-rad.bäst .pristid-prick{background:var(--success)}.pristid-vecka{flex:0 0 auto;font-size:var(--fs-xs);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pristid-år{font-size:var(--fs-2xs)}.pristid-pris{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pristid-pct{flex:0 0 auto;color:var(--success);font-weight:var(--fw-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pristid-meta{flex:0 0 auto;margin-left:auto;font-size:var(--fs-2xs);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pristid-lagsta{flex:0 0 auto;font-size:12px;line-height:1;color:var(--success)}html[data-theme=dark] .ppop-butikslogga tspan[fill="#111111"]{fill:var(--ink)}.prishist-not{margin:var(--space-xs) 0 0;font-size:var(--fs-2xs);color:var(--muted)}@media (prefers-reduced-motion:reduce){.ppop-flik,.ppop-ink,.ppop-track,.ppop-viewport{transition:none!important}}.step-img{position:relative;display:block;width:100%;margin-top:var(--space-sm);padding:0;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);overflow:hidden;cursor:zoom-in;-webkit-tap-highlight-color:transparent;transition:max-height var(--dur-slow) var(--ease)}.step-img.open{cursor:zoom-out}.step-img-el{display:block;width:100%;height:auto}.step-img-fade{position:absolute;left:0;right:0;bottom:0;height:60%;max-height:90px;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,0) 0,var(--card) 100%);opacity:1;transition:opacity var(--dur-med) var(--ease)}.step-img.open .step-img-fade{opacity:0}.step-img:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.step-img,.step-img-fade{transition:none}}