:root{--green: #7a2e3c;--green-dark: #5e2230;--green-light: #f2e6e0;--bg: #faf5ec;--surface: #fffcf5;--text: #2b2126;--muted: #6f6358;--border: #e4dbcd;--line: #d9cfc0;--amber: #a8823f;--amber-text: #8a6a2e;--danger: #b91c1c;--serif: Georgia, "Times New Roman", serif;--radius: 6px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(43,33,38,.05);--shadow-lg: 0 10px 28px rgba(43,33,38,.16);--nav-h: 66px;--font-scale: 1;--cook-text-size: calc(22px * var(--font-scale));--ing-text-size: calc(15px * var(--font-scale));--read-text-size: calc(14.5px * var(--font-scale))}@media (prefers-color-scheme: dark){:root:not([data-theme]){--bg: #201a1c;--surface: #2a2225;--text: #ece3d9;--muted: #a2938a;--border: #3c3236;--line: #463a3e;--green: #a4485c;--green-dark: #c06b7d;--green-light: #3a2b30;--amber: #c99a3c;--amber-text: #dcb96a}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.45}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font-family:inherit;font-size:16px}a{color:inherit;text-decoration:none}ul,ol{list-style:none}.app{max-width:760px;margin:0 auto;min-height:100%;position:relative}.app-main{min-height:100vh}.page{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 16px)}.page-body{padding:16px}.muted{color:var(--muted)}.app-bar{position:sticky;top:0;z-index:20;background:var(--surface);display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}.app-bar-title{font-family:var(--serif);font-size:21px;font-weight:700;letter-spacing:.01em}.app-bar-hero{display:block;border:none;background:var(--surface);color:var(--text);padding:calc(env(safe-area-inset-top) + 14px) 16px 16px;border-bottom:1px solid var(--border)}.hero-eyebrow{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.18em}.hero-title{font-family:var(--serif);font-style:italic;font-size:27px;font-weight:500;letter-spacing:0;line-height:1.18;margin-top:4px}.hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.search-row{display:flex;gap:10px;margin-top:14px}.search-box{flex:1;display:flex;align-items:center;gap:8px;background:transparent;border:none;border-bottom:2px solid var(--border);border-radius:0;padding:0 2px;height:46px}.search-box input{flex:1;border:none;outline:none;background:none;color:var(--text)}.search-box input::placeholder{font-family:var(--serif);font-style:italic;color:var(--muted)}.search-box:focus-within{border-bottom-color:var(--green)}.search-icon{opacity:.75}.filter-btn{position:relative;width:48px;height:48px;border-radius:14px;background:var(--bg);border:1px solid var(--border);color:var(--green-dark);display:flex;align-items:center;justify-content:center}.filter-count{position:absolute;top:-6px;right:-6px;background:var(--green);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.chip{border:none;background:transparent;color:var(--muted);padding:12px 2px 10px;margin:-5px 0;border-bottom:2px solid transparent;border-radius:0;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:color .12s,border-color .12s}.chip-active{background:transparent;border-bottom-color:var(--green);color:var(--text)}.chip-removable{display:inline-flex;align-items:center;gap:6px}.chip-x{font-size:16px;line-height:1}.chip-row{display:flex;flex-wrap:wrap;gap:4px 16px}.sheet .chip,.offer-chips .chip,.active-chips .chip{border:1px solid var(--line);border-radius:999px;padding:8px 14px;margin:0;min-height:40px;text-transform:none;letter-spacing:0;font-size:13px;border-bottom-width:1px}.sheet .chip-active,.offer-chips .chip-active,.active-chips .chip-active{background:var(--green-light);border-color:var(--green);color:var(--green-dark)}.active-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:4px;-webkit-overflow-scrolling:touch}.active-chips::-webkit-scrollbar{display:none}.result-count{font-size:14px;color:var(--muted);margin:6px 2px 12px;font-weight:500}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}@media (min-width: 560px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{background:transparent;border-radius:0;overflow:visible;box-shadow:none;display:flex;flex-direction:column;transition:transform .12s}.card:active{transform:scale(.985)}.card-media{position:relative;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#efe7d8;border-radius:4px;box-shadow:var(--shadow)}.card-media img{width:100%;height:100%;object-fit:cover}.card-emoji{font-size:48px}.fab-add{position:absolute;bottom:8px;right:8px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.95);color:var(--green-dark);font-size:21px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg),0 0 0 1px #2b212614;line-height:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.fab-add.is-selected{background:var(--green);color:#fff}.card-body{padding:9px 2px 4px;display:flex;flex-direction:column;gap:5px}.card-title{font-family:var(--serif);font-size:15px;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.heart-burst{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:3}.heart-burst span{font-size:84px;color:#fff;filter:drop-shadow(0 3px 10px rgba(0,0,0,.35));animation:heartPop .8s ease forwards}@keyframes heartPop{0%{transform:scale(.3);opacity:0}15%{transform:scale(1.15);opacity:1}35%{transform:scale(1);opacity:1}to{transform:scale(1.1);opacity:0}}.badges{display:flex;flex-wrap:wrap;gap:6px}.badges-lg .badge{font-size:13px;padding:5px 12px}.badge{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;background:#efe7d8;color:#5c5148}.badge-vegan,.badge-vegetarisch{background:#e7e9dd;color:#4a5a3a}.badge-glutenfrei{background:#f0e6d2;color:#7a5c28}.badge-laktosefrei{background:#efe7d8;color:#5c5148}.badge-lowcarb{background:#f0e6d2;color:#7a5c28}.badge-proteinreich{background:#efe7d8;color:#5c5148}.badge-pescetarisch{background:#e7e9dd;color:#4a5a3a}.btn{padding:13px 18px;border-radius:10px;font-size:15px;font-weight:600;text-align:center;transition:filter .12s,transform .12s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--green);color:#fff}.btn-primary:active{filter:brightness(.95)}.btn-secondary{background:var(--green-light);color:var(--green-dark)}.btn-block{display:block;width:100%}.btn-cta{margin-top:18px;font-size:16px;padding:16px;box-shadow:var(--shadow-lg)}.link-btn{color:var(--green-dark);font-weight:600;font-size:14px}.icon-btn{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px}.empty{text-align:center;padding:60px 24px}.empty-emoji{font-size:56px;margin-bottom:12px}.empty p{margin:4px 0}.notice{padding:12px 14px;border-radius:12px;font-size:14px;margin-bottom:12px}.notice-error{background:#fef2f2;color:#b91c1c}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.4);z-index:50;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s ease}.sheet{background:var(--surface);width:100%;max-width:760px;border-radius:24px 24px 0 0;padding:10px 18px calc(18px + env(safe-area-inset-bottom));max-height:86vh;display:flex;flex-direction:column;animation:slideup .22s ease}.sheet-handle{width:40px;height:4px;border-radius:2px;background:var(--line);margin:4px auto 10px}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sheet-head h2{font-family:var(--serif);font-size:20px;font-weight:600}.sheet-scroll{overflow-y:auto;padding:4px 0 12px}.sheet section{margin:16px 0}.sheet section h3{font-size:14px;color:var(--muted);margin-bottom:10px;font-weight:600}@keyframes fade{0%{opacity:0}}@keyframes slideup{0%{transform:translateY(100%)}}.detail-hero{position:relative;height:240px;display:flex;align-items:center;justify-content:center}.detail-hero img{width:100%;height:100%;object-fit:cover}.detail-emoji{font-size:96px}.back-btn{position:absolute;top:calc(env(safe-area-inset-top) + 12px);left:12px;background:rgba(255,255,255,.92);box-shadow:var(--shadow);font-size:22px}.detail-body{padding-bottom:100px}.detail-title{font-family:var(--serif);font-size:24px;font-weight:600;letter-spacing:0;margin-bottom:10px}.detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.tag{font-size:12px;font-weight:600;padding:4px 10px;border-radius:8px;background:var(--green-light);color:var(--green-dark)}.tag-cuisine{background:var(--bg);color:var(--muted);border:1px solid var(--line)}.detail-stats{display:flex;gap:10px;background:var(--surface);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);margin-bottom:14px}.stat{flex:1;text-align:center}.stat b{display:block;font-size:18px}.stat span{font-size:11.5px;color:var(--muted)}.stats-note{font-size:12px;color:var(--muted);margin:-8px 2px 14px}.macro-scope{margin:-6px 0 14px}.macro-scope .chip-row{margin-bottom:4px}.macro-scope .stats-note{margin:0 2px}.trust-mark{font-weight:600;color:var(--text)}.trust-source,.trust-computed{color:var(--text)}.trust-none{color:var(--muted)}.prop-row{padding:8px 0;border-bottom:1px solid var(--border)}.prop-row:last-of-type{border-bottom:none}.prop-line{display:flex;align-items:baseline;gap:8px}.prop-name{flex:1;font-size:14.5px}.prop-val{font-weight:700;font-size:17px}.prop-badge{font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap}.prop-low{background:#e7e9dd;color:#4a5a3a}.prop-medium{background:#f0e6d2;color:#7a5c28}.prop-high{background:#f6e2e2;color:var(--danger)}.prop-scale{font-size:11.5px;color:var(--muted);margin-top:2px}.prop-note{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.45}.detail-summary{color:var(--text);font-size:var(--read-text-size);margin-bottom:16px}.card-panel{background:var(--surface);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);margin-bottom:14px}.section-title{font-family:var(--serif);font-size:18px;font-weight:700;margin-bottom:12px}.servings-row{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--border);font-weight:600}.stepper{display:flex;align-items:center;gap:14px}.stepper button{width:34px;height:34px;border-radius:10px;background:var(--green-light);color:var(--green-dark);font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center}.stepper b{min-width:26px;text-align:center}.stepper-sm button{width:28px;height:28px;font-size:17px;border-radius:8px}.stepper-sm{gap:8px;font-size:14px}.ingredient-list li{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--border);font-size:var(--ing-text-size)}.ingredient-list li:last-child{border-bottom:none}.ing-amount{min-width:92px;font-weight:600;color:var(--green-dark)}.ing-name{flex:1}.ing-grams{display:block;font-size:12px;color:var(--muted);margin-top:1px}.ing-grams-src{font-style:italic;opacity:.85}.steps{counter-reset:step}.steps li{position:relative;padding:0 0 16px 40px;counter-increment:step;font-size:var(--read-text-size)}.steps li:before{content:counter(step);position:absolute;left:0;top:-2px;width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}.steps li:not(:last-child):after{content:"";position:absolute;left:12.5px;top:26px;bottom:6px;width:1.5px;background:var(--border)}.source-link{display:inline-block;color:var(--green-dark);font-weight:600;font-size:14px}.detail-actionbar{position:fixed;bottom:0;left:0;right:0;max-width:760px;margin:0 auto;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);z-index:30}.sel-list{display:flex;flex-direction:column;gap:12px}.sel-item{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:var(--radius);padding:10px;box-shadow:var(--shadow)}.sel-thumb{width:64px;height:64px;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.sel-thumb img{width:100%;height:100%;object-fit:cover}.sel-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.sel-title{font-weight:600;font-size:15px;line-height:1.25}.plan-reason{font-size:12px;color:var(--muted);font-style:italic;line-height:1.3;margin-top:-4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.remove-btn{color:#b91c1c;background:#fef2f2;flex-shrink:0}.progress-card{background:var(--surface);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);margin-bottom:18px}.progress-head{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px;font-weight:500}.progress-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--green);border-radius:4px;transition:width .3s}.aisle{margin-bottom:18px}.aisle-title{font-size:11px;font-weight:700;color:var(--green-dark);text-transform:uppercase;letter-spacing:.14em;margin-bottom:8px;padding-left:2px}.check-list{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.check-item{display:flex;align-items:center;border-bottom:1px solid var(--border)}.check-item:last-child{border-bottom:none}.check-item label{flex:1;display:flex;align-items:center;gap:12px;padding:13px 14px;cursor:pointer}.check-item input{position:absolute;opacity:0;width:0;height:0}.checkmark{width:22px;height:22px;border-radius:7px;border:2px solid var(--line);flex-shrink:0;position:relative;transition:all .12s}.check-item input:checked+.checkmark{background:var(--green);border-color:var(--green)}.check-item input:checked+.checkmark:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}.check-name{font-size:15px}.check-amount{color:var(--muted);font-size:14px}.check-item.is-checked .check-name{text-decoration:line-through;color:var(--muted)}.check-item .remove-btn{width:32px;height:32px;font-size:20px;margin-right:8px;background:none;color:var(--muted)}.add-manual{display:flex;gap:10px;margin-top:10px}.add-manual input{flex:1;height:48px;border:1px solid var(--border);border-radius:10px;padding:0 14px;background:var(--surface);outline:none}.add-manual input:focus{border-color:var(--green)}.add-manual .btn{width:48px;padding:0;font-size:24px;flex-shrink:0}.bottom-nav{position:fixed;bottom:0;left:0;right:0;max-width:760px;margin:0 auto;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:rgba(255,252,245,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);display:flex;z-index:40}.nav-item{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:11px;font-weight:600;transition:color .15s}.nav-item.active{color:var(--green-dark)}.nav-item.active:before{content:"";position:absolute;top:8px;width:34px;height:30px;border-radius:10px;background:var(--green-light);z-index:-1}.nav-icon-wrap{position:relative;display:flex}.nav-badge{position:absolute;top:-6px;right:-10px;background:var(--green);color:#fff;font-size:10px;font-weight:700;min-width:17px;height:17px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.spicy-meta{color:#a13a2a;font-weight:600}.tag-spicy{background:#f7e3dc;color:#a13a2a}.nutrient-list{display:grid;grid-template-columns:1fr 1fr;gap:2px 18px}@media (max-width: 420px){.nutrient-list{grid-template-columns:1fr}}.nutrient-list li{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid var(--border);font-size:14px}.nut-name{color:#4a4038}.nut-val{font-weight:600;white-space:nowrap}.nut-pct{color:var(--muted);font-weight:400}.fab-fav{position:absolute;top:8px;left:8px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.95);color:#e11d48;font-size:19px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.fab-fav.is-fav{background:#e11d48;color:#fff}.fav-btn{position:absolute;top:calc(env(safe-area-inset-top) + 12px);right:12px;width:44px;height:44px;background:rgba(255,255,255,.92);box-shadow:var(--shadow);font-size:20px;color:#e11d48}.fav-btn.is-fav{background:#e11d48;color:#fff}.skeleton{background:linear-gradient(90deg,#ece5d8 25%,#f4efe4 37%,#ece5d8 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite;border-radius:8px}.skeleton-card .card-media{aspect-ratio:4/3}.skeleton-line{height:12px;margin:6px 0}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.ing-img{width:34px;height:34px;border-radius:8px;object-fit:cover;flex-shrink:0;background:#efe7d8;display:inline-flex;align-items:center;justify-content:center;font-size:18px}.ing-img-ph{color:var(--muted)}.ingredient-list li{align-items:center;gap:10px}.ing-name-col{display:flex;flex-direction:column;flex:1}.ing-orig{font-size:11.5px;color:var(--muted);margin-top:1px}.step-time{display:inline-block;margin-left:6px;color:var(--green-dark);font-weight:600;font-size:13px}.cook{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--surface);z-index:100;display:flex;flex-direction:column;max-width:760px;margin:0 auto}.cook-top{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 10px) 12px 10px}.cook-progress{font-weight:600;font-size:14px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}.cook-bar{height:4px;background:var(--border)}.cook-bar-fill{height:100%;background:var(--green);transition:width .25s}.cook-body{flex:1;overflow-y:auto;padding:24px 22px;display:flex;flex-direction:column}.cook-step-label{color:var(--green-dark);font-weight:700;font-size:14px;margin-bottom:14px}.cook-text{font-size:var(--cook-text-size);line-height:1.5;font-weight:500}.cook-ings{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.cook-timer{margin-top:26px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--green-light);border-radius:14px;padding:14px 18px}.cook-timer.is-done{background:#fee2e2}.cook-timer-time{font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--green-dark)}.cook-timer.is-done .cook-timer-time{color:#b91c1c}.cook-timer-btns{display:flex;align-items:center;gap:12px}.cook-actions{display:flex;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border)}.cook-actions .btn{flex:1}.cook-timerbar{display:flex;gap:8px;overflow-x:auto;padding:8px 12px;border-bottom:1px solid var(--border)}.cook-tchip{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;background:var(--green-light);color:var(--green-dark);border-radius:999px;padding:6px 10px;font-size:13px;font-weight:600}.cook-tchip.is-done{background:#fee2e2;color:#b91c1c}.cook-tchip-time{font-variant-numeric:tabular-nums;font-weight:800}.cook-tchip-label{opacity:.8}.cook-tchip button{font-size:13px;padding:0 2px}.cook-inglist{padding:12px 18px;border-bottom:1px solid var(--border);max-height:38vh;overflow-y:auto}.cook-inglist h3{font-size:15px;font-weight:700;margin-bottom:8px}.cook-inglist li{display:flex;gap:12px;padding:5px 0;font-size:15px}.cook-ing-amt{min-width:96px;font-weight:600;color:var(--green-dark)}.cook-tools{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.cook-tools .btn{padding:10px 14px;font-size:14px}.cook-tools .btn.is-active{background:var(--green);color:#fff;border-color:var(--green)}.cook-alarm{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding-left:4px}.cook-alarm-btn{min-width:40px;min-height:40px;font-size:17px}.cook-alarm input[type=range]{width:74px;accent-color:var(--green)}.cook-timer-note{margin-top:8px;font-size:12.5px;line-height:1.4;color:var(--muted)}.cook-geraete{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.cook-geraet{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:5px 10px}.cook-ofen-hinweis{margin:4px 0 8px;padding:10px 12px;border-radius:12px;background:var(--green-light);color:var(--green-dark);font-size:14px;line-height:1.4}.mise-geraete{margin-top:14px}.mise-geraete h3{font-size:15px;font-weight:700;margin-bottom:8px}.cook-toast{position:fixed;left:50%;transform:translate(-50%);z-index:130;bottom:calc(88px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;max-width:calc(100% - 32px);background:var(--text);color:var(--surface);border-radius:12px;padding:10px 12px 10px 16px;font-size:14px;font-weight:600;box-shadow:0 8px 24px #00000047}.cook-toast-undo{min-height:40px;padding:0 12px;border-radius:8px;flex:0 0 auto;background:rgba(255,255,255,.16);color:var(--surface);font-weight:700;font-size:14px}.technik-hit{font:inherit;color:inherit;background:none;border:0;padding:0;text-decoration:underline;text-decoration-style:dotted;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:var(--green);cursor:pointer}.technik-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120}.technik-pop{position:fixed;z-index:121;transform:translate(-50%);width:300px;max-width:calc(100vw - 24px);background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 14px;box-shadow:0 10px 30px #0003}.technik-pop-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.technik-pop-head strong{font-size:16px;color:var(--green-dark)}.technik-pop-text{margin-top:6px;font-size:14px;line-height:1.45;color:var(--text)}.technik-pop-fehler{margin-top:8px;font-size:13px;line-height:1.4;color:var(--muted)}.mise-list{box-shadow:none;border:1px solid var(--border);border-radius:var(--radius-sm)}.mise-go{width:100%;margin-top:14px}.plan-summary{display:flex;gap:18px}.plan-summary>div{font-size:13px;color:var(--muted)}.plan-summary b{display:block;font-size:18px;color:var(--text)}.plan-day{margin-bottom:18px}.plan-day-title{font-size:14px;font-weight:700;color:var(--green-dark);margin-bottom:8px;padding-left:2px}.day-marker-btn{display:inline-flex;align-items:center;gap:8px;font:inherit;color:inherit;background:none;border:none;padding:2px 0;cursor:pointer}.day-marker{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}.day-marker-training{background:var(--green-light);color:var(--green-dark)}.day-marker-rest{background:#e7e9dd;color:#4a5a3a}.day-marker-off{color:var(--line);font-weight:400}.sel-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.day-select{border:1px solid var(--border);border-radius:8px;padding:5px 8px;font-size:13px;background:var(--surface);color:var(--text)}.list-toolbar{display:flex;gap:8px;margin-bottom:16px}.list-toolbar .btn{flex:1;padding:10px;font-size:14px}.check-text{display:flex;flex-direction:column}.check-from{font-size:11.5px;color:var(--muted);margin-top:1px}.reset-row{display:flex;justify-content:space-between;margin:10px 2px 4px}.link-btn.danger{color:#b91c1c}.print-only{display:none}@media print{.no-print,.bottom-nav{display:none!important}.print-only{display:block}.print-title{font-size:20px;margin:0 0 12px}.page,.page-body{padding:0}.check-list{box-shadow:none;border:1px solid #ccc}body{background:#fff}}:focus-visible{outline:3px solid var(--green);outline-offset:2px}.check-item input:focus-visible+.checkmark{outline:3px solid var(--green);outline-offset:2px}.stepper button,.icon-btn,.add-manual .btn{min-width:40px;min-height:40px}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.recent-row{margin-bottom:18px}.recent-title{font-size:14px;font-weight:700;color:var(--green-dark);margin-bottom:10px}.recent-scroll{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.recent-scroll::-webkit-scrollbar{height:0}.recent-card{flex:0 0 auto;width:104px;scroll-snap-align:start}.recent-thumb{display:flex;align-items:center;justify-content:center;width:104px;height:72px;border-radius:12px;overflow:hidden;font-size:26px;box-shadow:var(--shadow)}.recent-thumb img{width:100%;height:100%;object-fit:cover}.recent-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;line-height:1.3;margin-top:6px;color:var(--text)}.search-row,.search-box{position:relative}.search-clear{font-size:20px;line-height:1;color:var(--muted);padding:0 2px}.suggest-pop{position:absolute;top:54px;left:0;right:58px;z-index:40;background:var(--surface);border-radius:14px;box-shadow:var(--shadow-lg);border:1px solid var(--border);overflow:hidden auto;max-height:62vh}.suggest-group{padding:4px 0;border-top:1px solid var(--border)}.suggest-group:first-child{border-top:none}.suggest-head{display:flex;justify-content:space-between;align-items:center;padding:7px 14px 3px;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.suggest-head .link-btn{font-size:12px;text-transform:none;letter-spacing:0}.suggest-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 14px;font-size:14.5px;color:var(--text)}.suggest-item:hover,.suggest-item:active{background:var(--green-light)}.suggest-ic{opacity:.7;font-size:14px;width:18px;text-align:center;flex-shrink:0}.suggest-rec{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-day-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:4px;font-size:11px;font-weight:700;color:#fff;background:var(--green);border-radius:9px;vertical-align:middle}.drag-handle{font-size:19px;color:var(--muted);padding:8px 4px;touch-action:none;cursor:grab;flex-shrink:0;line-height:1}.drag-handle:active{cursor:grabbing}.sel-item.is-dragging{opacity:.4}.drop-zone{border-radius:12px;transition:background .15s,outline-color .15s}.drop-zone.is-dragmode{outline:1.5px dashed var(--border);outline-offset:2px;padding:3px;margin-bottom:8px;min-height:36px}.drop-zone.is-over{background:var(--green-light);outline-color:var(--green)}.slot-label{font-size:12px;font-weight:600;color:var(--muted);margin:8px 2px 6px}.drop-empty{font-size:12.5px;color:var(--muted);padding:8px 10px;text-align:center}.drop-zone:not(.is-dragmode) .drop-empty{display:none}.drag-ghost{position:fixed;z-index:100;transform:translate(-50%,-130%);background:var(--green);color:#fff;font-size:13px;font-weight:600;padding:8px 12px;border-radius:12px;box-shadow:var(--shadow-lg);pointer-events:none;max-width:60vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.st-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-top:1px solid var(--border);font-size:14.5px}.st-row:first-of-type{border-top:none}.st-row span{color:var(--muted)}.st-row b{font-weight:600;text-align:right}.st-warn{color:#b91c1c}.settings-actions{display:flex;gap:10px}.settings-actions .btn{flex:1}.settings-msg{margin-top:12px;font-size:13.5px;color:var(--green-dark);background:var(--green-light);padding:10px 12px;border-radius:10px}.job-list{display:flex;flex-direction:column}.job-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-top:1px solid var(--border)}.job-row:first-child{border-top:none}.job-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:6px;background:var(--muted)}.job-gruen .job-dot{background:#3f7d55}.job-gelb .job-dot{background:var(--amber)}.job-rot .job-dot{background:var(--danger)}.job-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.job-label{font-size:14.5px;font-weight:600;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.job-state{font-size:12.5px;font-weight:600}.job-gruen .job-state{color:#3f7d55}.job-gelb .job-state{color:var(--amber-text)}.job-rot .job-state{color:var(--danger)}.job-when{font-size:13px;color:var(--muted)}.job-error{font-size:12.5px;color:var(--danger);background:#fef2f2;border-radius:8px;padding:6px 8px;margin-top:4px;font-family:ui-monospace,Menlo,Consolas,monospace;word-break:break-word}.pw-form{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.pw-title{font-size:15px;font-weight:600;margin-bottom:4px}.pw-hint{font-size:13px;margin-bottom:10px}.pw-in{width:100%;margin-bottom:8px}.pw-msg{margin-bottom:8px}.pw-actions{margin-top:4px}.pw-reset-btn{color:var(--amber-text);background:var(--green-light);flex-shrink:0;min-width:40px;min-height:40px;font-size:15px}.pw-onetime{background:var(--green-light);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;margin-bottom:12px}.pw-onetime-head{font-size:14.5px;margin-bottom:8px}.pw-onetime .invite-link{font-size:15px;font-weight:600;letter-spacing:.06em;text-align:center;color:var(--text)}.pw-onetime-note{font-size:12.5px;color:var(--muted);margin:8px 0 10px}.pin-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(160deg,#7a2e3c,#5e2230)}.pin-card{width:100%;max-width:320px;background:var(--surface);border-radius:22px;padding:32px 24px;box-shadow:var(--shadow-lg);text-align:center}.pin-emoji{font-size:40px}.pin-title{font-size:24px;font-weight:800;margin-top:8px}.pin-sub{color:var(--muted);margin-bottom:18px}.pin-input{width:100%;text-align:center;font-size:26px;letter-spacing:.3em;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);margin-bottom:14px;outline:none}.pin-input:focus{border-color:var(--green)}.pin-error{color:#b91c1c;font-size:14px;margin-bottom:12px}.auth-card{max-width:340px}.auth-input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);margin-bottom:10px;outline:none;font-size:16px}.auth-input:focus{border-color:var(--green)}.auth-toggle{display:inline-block;margin-top:14px}.ws-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:var(--bg)}.ws-switch{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:3px;box-shadow:var(--shadow);max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ws-switch::-webkit-scrollbar{display:none}.ws-pill{padding:6px 14px;border-radius:999px;font-size:13px;font-weight:600;color:var(--muted);white-space:nowrap;transition:background .15s,color .15s;flex:0 0 auto;max-width:42vw;overflow:hidden;text-overflow:ellipsis}.ws-pill.is-active{background:var(--green);color:#fff}.ws-pill-add{padding:6px 12px;font-size:16px;line-height:1;max-width:none}.ws-user{width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;box-shadow:var(--shadow);flex-shrink:0}.story-row{display:flex;gap:14px;overflow-x:auto;padding:2px 2px 16px;-webkit-overflow-scrolling:touch}.story-row::-webkit-scrollbar{display:none}.story{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;width:68px}.story-ring{width:62px;height:62px;border-radius:50%;padding:2px;background:transparent;border:1.5px solid var(--line);transition:transform .12s,border-color .12s}.story:active .story-ring{transform:scale(.94)}.story-ring.is-active{background:transparent;border-color:var(--green);border-width:2px}.story-inner{width:100%;height:100%;border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:26px}.story-label{font-size:10px;color:var(--muted);text-align:center;line-height:1.1;text-transform:uppercase;letter-spacing:.08em;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:64px}.check-by{color:var(--green-dark)!important;font-weight:600}.onboard-sheet{text-align:center;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.onboard-emoji{font-size:46px;margin:6px 0 4px}.onboard-title{font-family:var(--serif);font-size:21px;font-weight:600;margin-bottom:8px}.onboard-text{color:var(--muted);font-size:15px;line-height:1.5;margin:0 auto 18px;max-width:440px}.onboard-dots{display:flex;gap:6px;justify-content:center;margin-bottom:16px}.onboard-dot{width:7px;height:7px;border-radius:50%;background:var(--border)}.onboard-dot.on{background:var(--green);width:20px;border-radius:4px}.onboard-skip{display:inline-block;margin-top:12px}.picker-sheet{text-align:center;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.picker-title{font-family:var(--serif);font-size:19px;font-weight:600;margin-bottom:4px}.picker-recipe{font-size:14px;margin-bottom:16px}.picker-options{display:flex;gap:12px}.picker-opt{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:15px;font-weight:700;color:var(--text)}.picker-opt:active{background:var(--green-light);border-color:var(--green);transform:scale(.98)}.picker-opt-icon{font-size:30px}.picker-cancel{display:inline-block;margin-top:16px}.gen-replace{display:flex;align-items:center;gap:10px;font-size:15px}.gen-replace input{width:20px;height:20px}.toast{position:fixed;left:50%;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 16px);transform:translate(-50%);z-index:60;background:#2b2126;color:#fff;padding:11px 18px;border-radius:999px;font-size:14px;font-weight:600;box-shadow:var(--shadow-lg);max-width:86vw;animation:fade .2s ease}.allergen-line{font-size:13.5px;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:8px 12px;margin-bottom:14px;font-weight:600}.pantry-tags{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}.pantry-tag{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--green-light);color:var(--green-dark);font-size:14px;font-weight:600}.pantry-tag button{color:var(--green-dark);font-size:16px;line-height:1;opacity:.7}.cookable-badge{display:inline-block;margin-top:4px;font-size:12px;font-weight:700;color:var(--green-dark)}.cookable-missing{font-size:12px;color:var(--muted)}.pantry-cta{display:block;text-align:center;background:transparent;color:var(--green-dark);border:1px solid var(--line);font-weight:700;padding:14px;border-radius:var(--radius);margin-bottom:16px}.rec-banner{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.rec-item{display:flex;align-items:center;background:var(--green-light);border:1px solid var(--line);border-radius:14px;padding:4px 6px 4px 12px}.rec-link{flex:1;display:flex;align-items:center;gap:10px;padding:8px 0;min-width:0}.rec-emoji{font-size:18px}.rec-text{font-size:14px;color:var(--green-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rec-x{width:34px;height:34px;color:var(--green-dark);font-size:20px;flex-shrink:0}.stars{display:flex;gap:4px;margin-bottom:10px}.star{font-size:28px;color:var(--border);line-height:1;transition:color .12s}.star.on{color:#f59e0b}.note-input{width:100%;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--bg);color:var(--text);outline:none;resize:vertical;margin-bottom:10px;font-size:15px}.note-input:focus{border-color:var(--green)}.other-note{font-size:14px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.other-note b{color:var(--green-dark)}.error-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:32px}.error-emoji{font-size:52px}.error-screen h1{font-size:22px;font-weight:800}.error-screen .btn{margin-top:14px;min-width:160px}.offline-banner{background:#92400e;color:#fff;font-size:13px;font-weight:600;text-align:center;padding:7px 12px}.auth-hint{margin-top:12px;font-size:12.5px;line-height:1.5;color:var(--muted);text-align:left}.role-badge{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:#efe7d8;color:#5c5148}.role-owner{background:var(--green-light);color:var(--green-dark)}.role-editor{background:#f0e6d2;color:#7a5c28}.role-checker{background:#e7e9dd;color:#4a5a3a}.role-viewer{background:#efe7d8;color:#5c5148}.member-list{display:flex;flex-direction:column}.member-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--border)}.member-row:first-child{border-top:none}.member-info{display:flex;flex-direction:column;min-width:0}.member-name{font-size:15px;font-weight:600;color:var(--text)}.member-handle{font-size:12.5px;color:var(--muted)}.member-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.member-actions .day-select{flex-shrink:0}.member-add{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.member-add-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:8px}.member-add-row{display:flex;gap:8px;align-items:center}.member-add-row .cr-in{flex:1;min-width:0}.member-add-row .btn{flex-shrink:0;padding:0 16px;height:42px}.ws-role{font-size:11.5px;font-weight:700;color:var(--muted);white-space:nowrap;margin-left:auto}.auth-invite-note{font-size:13px;line-height:1.5;color:var(--green-dark);background:var(--green-light);border-radius:10px;padding:8px 12px;margin-bottom:12px;text-align:left}.qr-box{display:inline-block;background:#fff;border-radius:14px;padding:10px;border:1px solid var(--border);line-height:0}.invite-link{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:8px 10px;word-break:break-all;text-align:left;user-select:all;-webkit-user-select:all}.join-card{text-align:center;padding-top:26px;padding-bottom:26px}.join-emoji{font-size:44px;margin-bottom:6px}.join-title{font-family:var(--serif);font-size:21px;font-weight:600;margin-bottom:8px}.join-text{font-size:15px;line-height:1.55;margin-bottom:16px}.code-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14.5px;font-weight:600}.code-grid span{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 6px;text-align:center;letter-spacing:.06em}.readonly-note{display:inline-block;font-size:13px;color:var(--muted);background:var(--green-light);border-radius:999px;padding:5px 12px;margin-bottom:12px}.sel-static{font-size:13px;font-weight:600;color:var(--muted)}.drag-handle-ph{opacity:.3;cursor:default}.check-item.is-readonly label{cursor:default}.check-item.is-readonly input:disabled~.checkmark{opacity:.55}.tracker-link{display:flex;align-items:center;gap:12px;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:14px;box-shadow:var(--shadow);color:var(--text);text-decoration:none}.tracker-link:active{background:var(--green-light)}.tracker-link-emoji{font-size:26px;line-height:1;flex-shrink:0}.tracker-link-text{display:flex;flex-direction:column;flex:1;min-width:0}.tracker-link-text b{font-family:var(--serif);font-size:17px;font-weight:700}.tracker-link-sub{font-size:13px;color:var(--muted)}.tracker-link-arrow{font-size:24px;color:var(--muted);flex-shrink:0}.tr-bar{justify-content:space-between}.tr-gear{width:40px;height:40px;border-radius:10px;font-size:20px;color:var(--green-dark);background:var(--green-light)}.tr-datebar{display:flex;align-items:center;gap:8px;margin-bottom:14px}.tr-datenav{flex-shrink:0;width:44px;height:44px;border-radius:12px;font-size:24px;font-weight:700;color:var(--green-dark);background:var(--surface);border:1px solid var(--border)}.tr-datenav:active{background:var(--green-light)}.tr-datelabel{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-family:var(--serif);font-size:17px;font-weight:700;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:0 10px}.tr-marker{font-family:-apple-system,system-ui,sans-serif;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap}.tr-marker-training{background:var(--green-light);color:var(--green-dark)}.tr-marker-rest{background:var(--green-light);color:var(--muted)}.tr-summary{display:flex;align-items:center;gap:16px}.tr-ring{position:relative;flex-shrink:0;width:130px;height:130px}.tr-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.tr-ring-big{font-family:var(--serif);font-size:30px;font-weight:700;line-height:1;color:var(--green-dark);font-variant-numeric:tabular-nums}.tr-ring-lbl{font-size:12px;color:var(--muted);margin-top:3px}.tr-over{color:var(--amber-text)!important}.tr-macros{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.tr-macro-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.tr-macro-label{font-size:13px;font-weight:600;color:var(--text)}.tr-macro-num{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.tr-macro-bar{height:8px;border-radius:999px;background:var(--line);overflow:hidden}.tr-macro-fill{height:100%;border-radius:999px;transition:width .35s}.tr-fill-prot{background:var(--green)}.tr-fill-carb{background:var(--amber)}.tr-fill-fat{background:#a07d4a}.tr-macro-over{background:var(--amber);opacity:.9}.tr-slot{padding:14px 16px}.tr-slot-head{display:flex;align-items:center;justify-content:space-between}.tr-slot-title{font-family:var(--serif);font-size:16px;font-weight:700}.tr-slot-right{display:flex;align-items:center;gap:10px}.tr-slot-kcal{font-size:13px;font-weight:600;color:var(--amber-text);font-variant-numeric:tabular-nums}.tr-slot-add{width:40px;height:40px;border-radius:10px;font-size:24px;font-weight:600;color:#fff;background:var(--green);flex-shrink:0;line-height:1}.tr-slot-add:active{background:var(--green-dark)}.tr-slot-empty{display:block;width:100%;text-align:left;margin-top:8px;padding:10px 2px;font-size:14px;color:var(--muted)}.tr-entries{list-style:none;margin-top:6px}.tr-entry{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 2px;min-height:44px;border-top:1px solid var(--border);color:var(--text)}.tr-entries li:first-child .tr-entry{border-top:none}.tr-entry:active{background:var(--green-light)}.tr-entry-main{flex:1;min-width:0;display:flex;flex-direction:column}.tr-entry-name{font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr-entry-sub{font-size:12.5px;color:var(--muted)}.tr-entry-kcal{flex-shrink:0;font-size:14.5px;font-weight:700;color:var(--green-dark);font-variant-numeric:tabular-nums}.tr-entry-edit-name{font-family:var(--serif);font-size:17px;font-weight:700;margin-bottom:2px}.tr-weight-row{display:flex;align-items:center;gap:8px}.tr-weight-input{flex:1;min-width:0}.tr-weight-unit{font-size:14px;color:var(--muted)}.tr-weight-save{flex-shrink:0}.tr-weight-graph{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.tr-spark{flex:1;min-width:0;height:40px}.tr-trend{flex-shrink:0;font-size:13px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.tr-trend-down{color:var(--green-dark)}.tr-trend-up{color:var(--amber-text)}.tr-add-tabs{margin:10px 0 4px}.tr-flash{margin:8px 0 0;padding:8px 12px;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--green-dark);background:var(--green-light);text-align:center}.tr-cooked-banner{margin-top:8px;padding:10px 12px;border-radius:12px;background:var(--green-light)}.tr-cooked-lbl{font-size:13px;font-weight:700;color:var(--green-dark)}.tr-cooked-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tr-cooked-chip{border:1px solid var(--green);color:var(--green-dark);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600}.tr-list{display:flex;flex-direction:column}.tr-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 2px;min-height:48px;border-top:1px solid var(--border);color:var(--text)}.tr-list .tr-row:first-child{border-top:none}.tr-row-tap:active{background:var(--green-light)}.tr-row-main{flex:1;min-width:0;display:flex;flex-direction:column}.tr-row-name{font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr-row-sub{font-size:12.5px;color:var(--muted)}.tr-row-add{flex-shrink:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:var(--green-dark)}.tr-row-portion{display:flex;align-items:center;gap:8px;flex-shrink:0}.tr-row-add-btn{width:40px;height:40px;padding:0;font-size:22px;line-height:1}.tr-search-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}.tr-search-in{flex:1;min-width:0}.tr-barcode-btn{flex-shrink:0;font-size:12.5px;padding:10px;white-space:nowrap}.tr-picker{padding:4px 0}.tr-picker-name{font-family:var(--serif);font-size:16px;font-weight:700;margin-bottom:8px}.tr-portion-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.tr-portion-chip{border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600;color:var(--text);background:var(--surface)}.tr-portion-chip.chip-active{border-color:var(--green);color:var(--green-dark);background:var(--green-light)}.tr-picker-amount{display:flex;align-items:center;gap:8px}.tr-picker-amount .cr-in{flex:1;min-width:0}.tr-picker-unit{font-size:14px;color:var(--muted)}.tr-preview{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--green-light);font-size:13px;color:var(--text);font-variant-numeric:tabular-nums}.tr-preview b{font-size:15px;color:var(--green-dark)}.tr-bc-input-row{display:flex;gap:8px;align-items:center;margin-top:4px}.tr-bc-ean-in{flex:1;min-width:0;font-variant-numeric:tabular-nums;letter-spacing:.5px}.tr-bc-hint{font-size:12.5px;color:var(--muted);margin-top:10px;line-height:1.5}.tr-bc-video-wrap{position:relative;border-radius:12px;overflow:hidden;background:#000}.tr-bc-video{display:block;width:100%;min-height:220px;max-height:60vh;object-fit:cover}.tr-bc-aim{position:absolute;left:12%;right:12%;top:26%;bottom:26%;border:2px solid rgba(255,255,255,.8);border-radius:12px;pointer-events:none}.tr-bc-cancel{position:absolute;left:50%;bottom:12px;transform:translate(-50%)}.tr-bc-brand{font-size:13px;color:var(--muted);margin:-6px 0 8px}.tr-bc-per100{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;font-size:13px;color:var(--muted);margin-bottom:12px;font-variant-numeric:tabular-nums}.tr-bc-per100 b{font-size:14px;color:var(--green-dark)}.tr-goal-in{width:100%}.tr-goal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tr-goal-cell{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted)}.tr-goal-cell .cr-in{width:100%}.tr-calc{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}.tr-calc-lbl{font-size:12.5px;margin:10px 0 4px}.tr-calc-select{width:100%}.tr-proposal{margin-top:12px;padding:12px;border-radius:12px;background:var(--green-light)}.tr-proposal-head{font-size:13px;font-weight:700;color:var(--green-dark)}.tr-proposal-vals{font-size:14px;margin:4px 0 10px;font-variant-numeric:tabular-nums}:where(:root[data-theme=dark]) .tr-fill-fat{background:#c2a068}:root[data-theme=dark]{--bg: #201a1c;--surface: #2a2225;--text: #ece3d9;--muted: #a2938a;--border: #3c3236;--line: #463a3e;--green: #a4485c;--green-dark: #c06b7d;--green-light: #3a2b30;--amber: #c99a3c;--amber-text: #dcb96a}:where(:root[data-theme=dark]) .auth-input{background:#332a2d}:where(:root[data-theme=dark]) .filter-btn{background:#332a2d}:where(:root[data-theme=dark]) body{background:var(--bg);color:var(--text)}:where(:root[data-theme=dark]) .filter-btn,:where(:root[data-theme=dark]) .add-manual input{background:#332a2d;color:var(--text)}:where(:root[data-theme=dark]) .search-box{background:transparent;color:var(--text)}:where(:root[data-theme=dark]) .chip{background:transparent;color:var(--muted)}:where(:root[data-theme=dark]) .chip-active{background:transparent;color:var(--text);border-bottom-color:var(--green-dark)}:where(:root[data-theme=dark]) .suggest-pop{background:#2e2629}:where(:root[data-theme=dark]) .suggest-item:hover,:where(:root[data-theme=dark]) .suggest-item:active{background:#382e31}:where(:root[data-theme=dark]) .recent-thumb{background:#332a2d}:where(:root[data-theme=dark]) .fab-add,:where(:root[data-theme=dark]) .fab-fav,:where(:root[data-theme=dark]) .back-btn,:where(:root[data-theme=dark]) .fav-btn{background:#332a2d}:where(:root[data-theme=dark]) .fab-add.is-selected{background:var(--green);color:#fff}:where(:root[data-theme=dark]) .fab-fav.is-fav,:where(:root[data-theme=dark]) .fav-btn.is-fav{background:#e11d48;color:#fff}:where(:root[data-theme=dark]) .card-media{background:#332a2d}:where(:root[data-theme=dark]) .ing-img{background:#332a2d}:where(:root[data-theme=dark]) .detail-summary,:where(:root[data-theme=dark]) .nut-name{color:#cfc3b8}:where(:root[data-theme=dark]) .day-select{background:#332a2d}:where(:root[data-theme=dark]) .skeleton{background:linear-gradient(90deg,#2b2326 25%,#362c30 37%,#2b2326 63%);background-size:400% 100%}:where(:root[data-theme=dark]) .bottom-nav{background:rgba(32,26,28,.96);border-top-color:var(--line)}:where(:root[data-theme=dark]) :focus-visible{outline-color:var(--green-dark)}:where(:root[data-theme=dark]) .detail-actionbar{background:rgba(42,34,37,.95)}:where(:root[data-theme=dark]) .badge{background:#3a3236;color:#cfc3b8}:where(:root[data-theme=dark]) .prop-low,:where(:root[data-theme=dark]) .day-marker-rest{background:#2f3a2c;color:#b9cba8}:where(:root[data-theme=dark]) .prop-medium{background:#3a3122;color:var(--amber-text)}:where(:root[data-theme=dark]) .prop-high{background:#3d2626;color:#f1a3a3}:where(:root[data-theme=dark]) .trust-source{color:#b9cba8}:where(:root[data-theme=dark]) .sheet .chip-active,:where(:root[data-theme=dark]) .offer-chips .chip-active,:where(:root[data-theme=dark]) .active-chips .chip-active{background:#3a2b30;border-color:var(--green-dark);color:var(--green-dark)}:where(:root[data-theme=dark]) .cook-assist{background:var(--green-light)}:where(:root[data-theme=dark]) .cook-assist input{background:var(--surface);color:var(--text);border-color:var(--border)}:where(:root[data-theme=dark]) .cook-assist-quick .chip{background:var(--surface);color:var(--green-dark)}:where(:root[data-theme=dark]) .cook-toast{background:var(--green-light);color:var(--text)}:where(:root[data-theme=dark]) .cook-toast-undo{background:rgba(255,255,255,.12);color:var(--text)}:where(:root[data-theme=dark]) .allergen-line{background:#3a3122;border-color:#5c4a2a;color:#dcb96a}:where(:root[data-theme=dark]) .notice-error{background:#3a2426;color:#e08a8a}:where(:root[data-theme=dark]) .offer-loyalty,:where(:root[data-theme=dark]) .kitchen-saving,:where(:root[data-theme=dark]) .offer-expires,:where(:root[data-theme=dark]) .offer-upcoming-note,:where(:root[data-theme=dark]) .offline-note{background:#3a3122;color:#dcb96a}:where(:root[data-theme=dark]) .offer-valid-soon{color:#dcb96a}:where(:root[data-theme=dark]) .cook-timer.is-done,:where(:root[data-theme=dark]) .cook-tchip.is-done{background:#42272a;color:#e08a8a}:where(:root[data-theme=dark]) .wine-product,:where(:root[data-theme=dark]) .rec-item{background:var(--surface);border-color:var(--border)}:where(:root[data-theme=dark]) img{filter:brightness(.93)}.badge-wine{background:var(--green-light);color:var(--green-dark);text-transform:capitalize}.wine-product{display:flex;align-items:center;gap:12px;padding:10px;background:var(--green-light);border:1px solid var(--line);border-radius:12px}.wine-product img{width:44px;height:60px;object-fit:contain;flex-shrink:0}.wine-info{display:flex;flex-direction:column;gap:2px;font-size:14px}.wine-price{color:var(--green-dark);font-weight:700}.offer-search{display:flex;gap:8px;margin-bottom:10px}.offer-search input{flex:1;min-width:0;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}.offer-search select{padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:14px}.offer-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch}.offer-chips::-webkit-scrollbar{display:none}.offer-chips .chip{white-space:nowrap;flex-shrink:0}.offer-list{display:flex;flex-direction:column;gap:10px}.offer-card{display:flex;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.offer-card-deal{border-color:var(--green);box-shadow:0 0 0 1px var(--green) inset,var(--shadow)}.offer-main{flex:1;min-width:0}.offer-store{font-size:12px;font-weight:700;color:var(--green-dark);text-transform:uppercase;letter-spacing:.3px}.offer-name{font-size:15px;font-weight:600;line-height:1.25}.offer-brand{font-size:12px;color:var(--muted)}.offer-reasons{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.offer-flag{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--green);color:#fff}.offer-reason{font-size:11px;padding:3px 8px;border-radius:999px;background:var(--green-light);color:var(--green-dark)}.offer-loyalty{background:#fef3c7;color:#92400e}.offer-side{text-align:right;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:1px}.offer-price{font-size:20px;font-weight:800;color:var(--text)}.offer-old{font-size:12px;color:var(--muted);text-decoration:line-through}.offer-base{font-size:12px;color:var(--muted)}.offer-valid{font-size:11px;color:var(--amber-text);font-weight:600;margin-top:2px}.offer-history{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}.offer-best-since{font-size:11px;font-weight:800;color:var(--amber-text);background:var(--green-light);padding:3px 8px;border-radius:999px}.offer-spark{display:block;flex-shrink:0;overflow:visible}.offer-expires{background:#fef3c7;color:var(--amber-text);font-weight:700}.offer-valid-soon{color:#92400e;font-weight:800}.offer-old-derived{font-style:italic;opacity:.75}.offer-compare{display:flex;flex-direction:column;gap:3px;margin-top:6px}.offer-span{font-size:11px;color:var(--amber-text);font-weight:600}.offer-span-brand,.offer-span-caveat{font-weight:400;color:var(--muted)}.offer-span-best{font-size:11px;font-weight:800;color:var(--green-dark);background:var(--green-light);padding:3px 8px;border-radius:999px;align-self:flex-start}.offer-protein{font-size:11px;font-weight:700;color:var(--green-dark)}.offer-protein-note{font-weight:400;color:var(--muted)}.offer-upcoming-note{background:#fef3c7;color:var(--amber-text);font-size:12px;line-height:1.35;padding:9px 12px;border-radius:var(--radius-sm);margin:2px 0 10px}.seg{display:flex;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px;margin-bottom:12px}.seg-btn{flex:1;padding:11px 10px;border-radius:999px;font-size:14px;font-weight:600;color:var(--muted);background:transparent}.seg-active{background:var(--green);color:#fff}.seg-3{gap:3px}.seg-3 .seg-btn{font-size:12px;padding:11px 3px;white-space:nowrap}.kitchen-banner{background:var(--green-light);color:var(--green-dark);font-size:13px;padding:10px 12px;border-radius:var(--radius-sm);margin-bottom:10px}.kitchen-banner strong{color:var(--green-dark)}.kitchen-loading{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;padding:24px 4px}.spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.kitchen-item{display:flex;flex-direction:column}.kitchen-info{display:flex;flex-direction:column;gap:2px;padding:6px 2px 0}.kitchen-hits{font-size:12px;font-weight:700;color:var(--green-dark)}.kitchen-reason{font-size:12px;color:var(--muted);font-style:italic;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.kitchen-offers{font-size:11px;color:var(--muted)}.kitchen-saving{margin-left:8px;font-size:11px;font-weight:800;color:var(--amber-text);background:var(--green-light);padding:2px 8px;border-radius:999px}.kitchen-offer-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px;max-width:100%}.kitchen-chip{display:inline-flex;align-items:baseline;gap:3px;min-width:0;max-width:100%;font-size:11px;background:var(--green-light);color:var(--green-dark);padding:2px 8px;border-radius:999px}.kitchen-chip-store{flex-shrink:0;opacity:.8;white-space:nowrap}.kitchen-chip-prod{min-width:0;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kitchen-chip-price{flex-shrink:0;font-weight:800}.kitchen-chip b{font-weight:800}.kitchen-chip s{flex-shrink:0;margin-left:4px;opacity:.65}.kitchen-filter-row{margin:4px 0 2px;flex-wrap:wrap;overflow-x:visible;row-gap:6px}.kitchen-filter-row .chip-active{background:var(--green);border-color:var(--green);color:#fff}.kitchen-filter-row .kitchen-pref-btn{margin-left:8px}.kitchen-filter-row .kitchen-pref-btn:disabled{cursor:default}.kitchen-filter-row .kitchen-pref-saved{opacity:.7}.chip-fade-wrap{position:relative}.kitchen-pref-hint{font-size:11.5px;color:var(--muted);margin:0 2px 10px}.grid.is-refetching{opacity:.45;transition:opacity .15s;pointer-events:none}.kitchen-refetch{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin:2px 2px 6px}.kitchen-refetch .spinner{width:14px;height:14px;border-width:2px}.kitchen-stale{background:var(--green-light);color:var(--amber-text);font-size:12.5px;font-weight:600;padding:9px 12px;border-radius:var(--radius-sm);margin-bottom:10px}.shop-offer-hint{margin-top:8px;font-size:12px;font-weight:600;color:var(--green-dark)}.shop-spent-hint{margin-top:8px;font-size:12px;color:var(--text)}.shop-spent-hint b{font-weight:800}.shop-spent-hint .muted{font-weight:400}.shop-pantry-hint{margin-top:6px;font-size:12px;font-weight:600;color:var(--amber)}.detail-action-row{display:flex;gap:10px;margin-bottom:14px}.detail-action-row .btn{flex:1}.cook-assist{margin-top:14px;background:var(--green-light);border-radius:14px;padding:12px}.cook-assist form{display:flex;gap:8px}.cook-assist input{flex:1;min-width:0;height:42px;border-radius:10px;padding:0 12px;background:var(--surface);color:var(--text);border:1px solid var(--border)}.cook-assist input::placeholder{color:var(--muted)}.cook-assist-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.cook-assist-quick .chip{background:var(--surface);color:var(--green-dark);border-color:transparent;font-size:12px}.cook-assist-answer{margin-top:10px;font-size:15px;line-height:1.4;color:var(--text)}.cooked-list{display:flex;flex-direction:column}.cooked-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border)}.cooked-row:last-child{border-bottom:none}.cooked-title{flex:1;font-size:14px;font-weight:600}.cooked-when{font-size:12px;color:var(--muted);white-space:nowrap}.nutri-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:12px 14px;margin-bottom:16px}.nutri-head{font-size:13px;font-weight:700;margin-bottom:8px}.nutri-row{display:flex;align-items:center;gap:10px;font-size:13px;margin-bottom:6px}.nutri-row>span{min-width:120px}.nutri-bar{flex:1;height:8px;background:var(--border);border-radius:999px;overflow:hidden}.nutri-bar>div{height:100%;background:var(--amber);border-radius:999px}.nutri-bar>.nutri-prot{background:#db2777}.nutri-macros{font-size:12px;color:var(--muted);margin-top:4px}.nutri-bar>.nutri-carb{background:var(--green)}.cycle-block{margin-top:10px;padding-top:8px;border-top:1px solid var(--border)}.cycle-row{display:flex;align-items:center;gap:8px;font-size:12.5px;margin-bottom:5px}.cycle-name{min-width:118px}.cycle-val{white-space:nowrap}.cycle-row .nutri-bar{flex:1;min-width:40px}.cycle-note{font-size:11.5px;color:var(--muted);margin-top:6px}.week-switch{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:12px}.week-arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface);font-size:20px;line-height:1;color:var(--text)}.week-arrow:disabled{opacity:.35}.week-label{font-size:14px;font-weight:700;min-width:130px;text-align:center}.offline-note{background:#fef3c7;color:#92400e;font-size:13px;font-weight:600;padding:10px 12px;border-radius:var(--radius-sm);margin-bottom:10px}.conflict-note{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--green-light);color:var(--green-dark);border:1px solid var(--line);font-size:13px;font-weight:600;padding:8px 12px;border-radius:var(--radius-sm);margin-bottom:10px}.conflict-note .icon-btn{flex-shrink:0;width:28px;height:28px;font-size:18px;color:var(--green-dark);background:none}.market-store-title{font-size:16px;color:var(--green-dark)}.market-mode .check-item label{gap:14px;padding:18px 14px}.market-mode .check-name{font-size:17px}.market-mode .checkmark{width:28px;height:28px}.market-mode .check-item input:checked+.checkmark:after{font-size:18px}.market-mode .check-offer{font-size:13px;background:var(--amber);color:#fff}.check-offer{display:inline-block;font-size:11px;font-weight:600;color:var(--green-dark);background:var(--green-light);padding:1px 7px;border-radius:999px;margin-top:2px;width:fit-content}.check-pack{display:inline-block;font-size:11px;font-weight:600;color:var(--muted);background:var(--bg);border:1px solid var(--border);padding:1px 7px;border-radius:999px;margin-top:2px;width:fit-content}.check-pack-rest{color:var(--amber);border-color:var(--amber)}.market-mode .check-pack{font-size:13px}.check-pantry{display:inline-block;font-size:11px;font-weight:600;color:var(--amber);margin-top:2px;width:fit-content}.check-pantry-full{color:var(--green-dark)}.market-mode .check-pantry{font-size:13px}.check-pending{color:var(--amber);font-weight:600}.check-item.is-pending{opacity:.75}.check-item.is-pending label{cursor:default}.check-price{flex-shrink:0;margin-right:8px}.check-price input{width:76px;height:40px;text-align:right;font-size:15px;font-weight:700;border:1px solid var(--border);border-radius:10px;padding:0 8px;background:var(--surface);color:var(--text);outline:none}.check-price input:focus{border-color:var(--green)}.pantry-switch{display:flex;align-items:center;gap:10px;min-height:40px;margin:10px 2px 0;font-size:13px;color:var(--muted);cursor:pointer}.pantry-switch input{width:20px;height:20px;accent-color:var(--green);flex-shrink:0}.plan-card{background:var(--surface);border-radius:var(--radius);padding:12px 14px;box-shadow:var(--shadow);margin-bottom:14px}.plan-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.plan-title{font-family:var(--serif);font-size:15px;font-weight:700;color:var(--text)}.plan-stops{list-style:none;margin:8px 0 0;padding:0}.plan-stop{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid var(--border)}.plan-stop:last-child{border-bottom:none}.plan-stop-name{font-size:14px;font-weight:600;color:var(--text)}.plan-stop-meta{font-size:12px;color:var(--muted);text-align:right}.plan-stop-save{color:var(--amber);font-weight:700}.plan-rest,.plan-hint{font-size:12px;margin:8px 0 0}.seg-with-action{display:flex;align-items:center;gap:8px;margin-bottom:12px}.seg-with-action .seg{flex:1;margin-bottom:0}.stores-btn{flex-shrink:0;align-self:stretch;padding:0 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--green-dark);font-size:13px;font-weight:600;white-space:nowrap}.stores-btn:active{background:var(--green-light)}.store-list{display:flex;flex-wrap:wrap;gap:8px}.store-chip{cursor:pointer}.combo-row{display:flex;gap:10px;overflow-x:auto;padding:2px 0 10px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.combo-row::-webkit-scrollbar{display:none}.combo-card{flex-shrink:0;scroll-snap-align:start;min-width:190px;max-width:240px;text-align:left;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:4px}.combo-card:active{transform:scale(.98)}.combo-active{border-color:var(--green);box-shadow:0 0 0 1px var(--green) inset,var(--shadow)}.combo-stores{font-family:var(--serif);font-size:15px;font-weight:600;color:var(--text);line-height:1.2}.combo-meta{font-size:12px;color:var(--muted)}.combo-saving{color:var(--amber);font-weight:800}.combo-count{color:var(--muted)}.combo-list{display:flex;flex-direction:column;gap:10px}.combo-opt{text-align:left;padding:14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:4px}.combo-opt:active{transform:scale(.99)}.combo-opt.combo-active{border-color:var(--green);box-shadow:0 0 0 1px var(--green) inset,var(--shadow)}.combo-opt-stores{font-family:var(--serif);font-size:16px;font-weight:600;color:var(--text)}.combo-opt-meta{font-size:13px;color:var(--muted)}.market-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--green-light);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:10px}.market-banner-text{font-size:14px;color:var(--green-dark)}.market-banner-text strong{color:var(--green-dark)}.market-banner-save{color:var(--amber);font-weight:800}.market-banner .link-btn{flex-shrink:0}.badge-own{text-transform:none;letter-spacing:0;font-size:9.5px;font-weight:700;padding:1px 7px;border-radius:999px;background:#f0e6d2;color:#7a5c28}.cr-ings{display:flex;flex-direction:column;gap:8px}.cr-ing-row{display:grid;grid-template-columns:72px 72px 1fr 32px;gap:6px;align-items:center}.cr-in{min-width:0;height:42px;padding:0 10px;font-size:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}.cr-in:focus{border-color:var(--green)}.cr-in::placeholder{color:var(--muted)}.cr-rm{width:32px;height:42px;border-radius:10px;color:var(--muted);font-size:20px}.cr-rm:disabled{opacity:.3}.cr-add{display:inline-block;margin-top:10px}.cr-steps{margin-top:0}.danger-btn{color:var(--danger)}.import-tabs{margin-bottom:16px}.import-text{min-height:150px;margin-bottom:4px}.import-loading{display:inline-flex;align-items:center;gap:8px}.import-loading .spinner{border-color:#fff6;border-top-color:#fff}.photo-preview{display:block;width:100%;max-height:160px;object-fit:cover;border-radius:var(--radius);margin-bottom:10px;background:var(--green-light)}.photo-actions{display:flex;align-items:center;gap:12px}:where(:root[data-theme=dark]) .stores-btn{background:#332a2d;color:var(--green-dark)}:where(:root[data-theme=dark]) .combo-card,:where(:root[data-theme=dark]) .combo-opt{background:#2e2629}:where(:root[data-theme=dark]) .cr-in{background:#332a2d}:where(:root[data-theme=dark]) .badge-own{background:#3a3122;color:#dcb96a}:where(:root[data-theme=dark]) .role-badge{background:#3a3236;color:#cfc3b8}:where(:root[data-theme=dark]) .role-owner{background:var(--green-light);color:var(--green-dark)}:where(:root[data-theme=dark]) .role-editor{background:#3a3122;color:#dcb96a}:where(:root[data-theme=dark]) .role-checker{background:#2f352a;color:#b8c4a2}:where(:root[data-theme=dark]) .readonly-note{background:var(--green-light);color:var(--green-dark)}:where(:root[data-theme=dark]) .conflict-note{background:var(--green-light);color:var(--green-dark);border-color:var(--border)}:where(:root[data-theme=dark]) .market-banner{background:var(--green-light);border-color:var(--border)}:where(:root[data-theme=dark]) .combo-saving,:where(:root[data-theme=dark]) .market-banner-save{color:var(--amber)}:where(:root[data-theme=dark]) .photo-preview{background:#332a2d}:where(:root[data-theme=dark]) .kitchen-filter-row .chip-active{background:var(--green);border-color:var(--green);color:#fff}:where(:root[data-theme=dark]) .kitchen-stale{background:#3a3122;color:#dcb96a}
