*{box-sizing:border-box}html,body{margin:0;padding:0}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}button,input,select,textarea{font:inherit}img{max-width:100%}:root{--mustard:#e19d25;--orange:#e17a25;--burnt:#e14e25;--brick:#bd361e;--caramel:#b37545;--brown:#874725;--choc:#422118;--cream:#fff8ec;--cream-2:#fdf3e3;--olive:#96802a;--card:#fffdf6;--ink:var(--choc);--ink-soft:#6d4a38;--line:#e8d3ae;--radius:20px;--radius-sm:14px;--shadow-warm:0 4px 0 #87472559, 0 14px 28px -18px #4221188c;--shadow-pop:0 3px 0 var(--brown), 0 10px 20px -12px #42211880;--font-body:"Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;--font-display:"Righteous", "Arial Rounded MT Bold", "Nunito", Georgia, serif}body{background:var(--cream);color:var(--ink);font-family:var(--font-body);font-size:16.5px;line-height:1.5}h1,h2,h3{font-family:var(--font-display);letter-spacing:.02em;color:var(--choc);font-weight:400;line-height:1.15}h2{margin:.4em 0 .5em;font-size:1.65rem}h3{margin:1.1em 0 .45em;font-size:1.18rem}a{color:var(--brick)}.app{max-width:1060px;margin:0 auto;padding:0 16px 96px}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:20px 2px 10px;display:flex}.brand{flex-direction:column;display:flex}.brand-row{align-items:center;gap:10px;display:flex}.brand-name{font-family:var(--font-display);color:var(--choc);letter-spacing:.03em;text-shadow:3px 3px 0 var(--mustard);font-size:2.6rem;line-height:1}.brand-slogan{color:var(--brown);margin-top:4px;font-size:.95rem;font-weight:800}.header-actions{align-items:center;gap:8px;display:flex}.groovy-strip{background:linear-gradient(90deg, var(--mustard) 0 20%, var(--orange) 20% 40%, var(--burnt) 40% 60%, var(--brick) 60% 80%, var(--caramel) 80% 100%);border-radius:999px;height:14px;margin:6px 0 14px;box-shadow:inset 0 -3px #4221182e}.top-nav{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:none}.top-nav button,.bottom-nav button{color:var(--ink-soft);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:999px;padding:8px 14px;font-weight:800}.top-nav button.nav-tab,.bottom-nav button.nav-tab{color:var(--tab);opacity:.78;align-items:center;gap:7px;display:inline-flex}.top-nav button.nav-tab.active{opacity:1;background:color-mix(in srgb, var(--tab) 16%, var(--cream));border-color:var(--tab);color:var(--tab);box-shadow:inset 0 -3px 0 var(--tab);font-weight:900}.bottom-nav button.nav-tab{flex-direction:column;gap:1px}.bottom-nav{z-index:40;background:var(--cream-2);border-top:3px solid var(--mustard);padding:6px 4px calc(6px + env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 18px -10px #42211866}.bottom-nav button{flex-direction:column;align-items:center;gap:1px;padding:5px 6px;font-size:.66rem;display:flex}.bottom-nav button.nav-tab.active{opacity:1;background:color-mix(in srgb, var(--tab) 18%, var(--cream));border-color:var(--tab);color:var(--tab);font-weight:900}.bn-icon{line-height:0;display:flex}.bn-dot{background:0 0;border-radius:50%;width:5px;height:5px;margin-top:1px}.bottom-nav button.nav-tab.active .bn-dot{background:var(--tab)}.btn .ic-inline,.chip .ic-inline{margin-right:2px}@media (width>=820px){.top-nav{display:flex}.bottom-nav{display:none}.app{padding-bottom:40px}}.btn{border:2px solid var(--brown);background:var(--card);color:var(--choc);cursor:pointer;box-shadow:var(--shadow-pop);border-radius:999px;padding:9px 18px;font-weight:800;transition:transform 80ms,box-shadow 80ms}.btn:active{box-shadow:0 1px 0 var(--brown);transform:translateY(2px)}.btn.primary{background:linear-gradient(135deg, var(--mustard), var(--orange));border-color:var(--choc);color:var(--choc)}.btn.danger{background:var(--brick);border-color:var(--choc);color:var(--cream)}.btn.ghost{box-shadow:none;border-color:var(--line);background:0 0}.btn.chip-btn{box-shadow:none;padding:4px 12px;font-size:.85rem}.btn:disabled{opacity:.45;cursor:not-allowed}.linklike{color:var(--choc);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:800}.chips{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.chip{border:2px solid var(--caramel);background:var(--card);color:var(--brown);cursor:pointer;border-radius:999px;padding:6px 16px;font-weight:800}.chip.active{background:var(--burnt);border-color:var(--choc);color:var(--cream)}input,select,textarea{border:2px solid var(--line);border-radius:var(--radius-sm);color:var(--choc);background:#fff;width:100%;padding:9px 12px}input:focus,select:focus,textarea:focus{border-color:var(--mustard);outline:3px solid #e19d2573}label{color:var(--ink-soft);margin:8px 0;font-weight:700;display:block}label input,label select,label textarea{color:var(--choc);margin-top:4px;font-weight:400}.form-grid{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.picker{color:var(--ink-soft);margin:8px 0;font-weight:700;display:block}.picker-label{display:block}.picker select,.picker input{color:var(--choc);width:100%;margin-top:4px;font-weight:400}.pick-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.pick-chip{background:var(--cream-2,#f7ead2);border:1.5px solid var(--mustard);color:var(--choc);border-radius:999px;align-items:center;gap:6px;padding:3px 6px 3px 12px;font-size:.9rem;font-weight:600;display:inline-flex}.pick-chip button{background:var(--mustard);color:#fff;cursor:pointer;border:none;border-radius:50%;width:20px;height:20px;padding:0;font-size:.95rem;line-height:1}.pick-row{align-items:flex-end;gap:8px;margin-top:4px;display:flex}.pick-row input{flex:1;margin-top:0}.pick-row .btn{white-space:nowrap}@media (width<=560px){.form-grid{grid-template-columns:1fr}}.toolbar{align-items:center;gap:9px;margin:6px 0 2px;display:flex}.toolbar .search{flex:1}.search{border-color:var(--caramel);border-radius:999px;padding:12px 20px;font-size:1.02rem}.filters{flex-wrap:wrap;align-items:end;gap:16px;margin:6px 0 4px;display:flex}.filters label{min-width:140px;margin:0}.filters label.check,label.check{align-items:center;gap:8px;display:flex}.filters label.check input,label.check input{width:auto;margin:0}.cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin-top:14px;display:grid}.card{background:var(--card);border:2.5px solid var(--choc);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow-warm);padding:18px;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg, var(--mustard), var(--orange), var(--burnt));height:8px;position:absolute;inset:0 0 auto}.card h3{margin-top:.35em}.card-emoji{font-size:2.3rem;line-height:1.1}.card-photo{object-fit:cover;border-radius:var(--radius-sm);width:100%;height:150px;margin-top:6px;display:block}.detail-photo{object-fit:cover;border-radius:var(--radius);border:2.5px solid var(--choc);width:100%;max-height:320px;margin:10px 0 14px;display:block}.photo-field{margin:8px 0}.photo-label{color:var(--ink-soft);margin-bottom:4px;font-weight:700;display:block}.photo-field input{width:100%}.photo-preview{margin:6px 0 8px}.photo-preview img{object-fit:cover;border-radius:var(--radius);border:2.5px solid var(--choc);width:100%;max-height:230px;display:block}.photo-preview .btn{margin-top:8px}.card.big-pick{border-color:var(--burnt);background:linear-gradient(180deg, #fff6da, var(--card))}.meta{color:var(--ink-soft);margin:4px 0;font-size:.92rem}.badge{background:var(--mustard);color:var(--choc);border:1.5px solid var(--brown);border-radius:999px;margin:2px 4px 2px 0;padding:1px 10px;font-size:.78rem;font-weight:800;display:inline-block}.badge.light{background:var(--cream-2);border-color:var(--line);color:var(--brown)}.empty{color:var(--ink-soft);padding:18px 4px;font-style:italic}.hint{color:var(--ink-soft);font-size:.88rem}.warn{color:var(--brick);font-weight:800}.alert{border:2px solid var(--burnt);color:var(--choc);border-radius:var(--radius-sm);background:#fdeeda;margin:12px 0;padding:12px 16px}.alert ul{margin:6px 0 2px;padding-left:20px}.action-row{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.action-row.inline{margin:0}.nutrition{background:var(--cream-2);border:2px dashed var(--caramel);border-radius:var(--radius-sm);margin:12px 0;padding:10px 14px}.serving-scaler{flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0;display:flex}.serving-scaler input[type=range]{width:180px;accent-color:var(--burnt);border:none;padding:0}.ing-list,.step-list{padding-left:22px}.ing-list li,.step-list li{margin:5px 0}.cook-overlay{z-index:60;background:var(--cream);padding:18px 18px 60px;position:fixed;inset:0;overflow-y:auto}.cook-head{font-family:var(--font-display);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:1.25rem;display:flex}.checklist{padding:0;list-style:none}.checklist label{color:var(--choc);align-items:baseline;gap:10px;margin:4px 0;display:flex}.checklist input{width:auto;accent-color:var(--olive)}.struck{opacity:.55;text-decoration:line-through}.cook-step{border:2.5px solid var(--line);border-radius:var(--radius);background:var(--card);cursor:pointer;margin:10px 0;padding:14px 16px;font-size:1.08rem}.cook-step.current{border-color:var(--burnt);box-shadow:var(--shadow-warm);background:#fff3d6}.cook-step.done{opacity:.55}.cook-nav{justify-content:space-between;margin:16px 0;display:flex}.timers{margin-top:18px}.timer{background:var(--cream-2);border:2px solid var(--caramel);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:10px;margin:6px 0;padding:8px 14px;font-weight:800;display:flex}.timer.finished{background:var(--mustard);border-color:var(--choc)}.timer-actions{gap:6px;display:flex}.plan-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:14px;display:grid}.plan-day{background:var(--card);border:2.5px solid var(--choc);border-radius:var(--radius);box-shadow:var(--shadow-warm);padding:12px 14px}.plan-day h3{color:var(--brown);margin-top:.1em}.plan-item{background:var(--cream-2);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;margin:6px 0;padding:7px 10px;display:flex}.menu-list{padding:0;list-style:none}.menu-list li{border-bottom:2px dashed var(--line);justify-content:space-between;align-items:center;gap:10px;padding:8px 4px;font-weight:800;display:flex}.grocery-cat h3{color:var(--brown)}.grocery-list{margin:6px 0 14px;padding:0;list-style:none}.grocery-list li{background:var(--card);border:2px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:10px;margin:6px 0;padding:7px 12px;display:flex}.grocery-list label{color:var(--choc);flex:1;align-items:center;gap:8px;margin:0;display:flex}.grocery-list input[type=checkbox]{width:auto;accent-color:var(--olive)}.grocery-list select{width:auto}.grocery-list li.checked span{opacity:.55;text-decoration:line-through}.add-row{gap:8px;margin:16px 0;display:flex}.add-row input{flex:1}.pantry-list{margin-top:14px;padding:0;list-style:none}.pantry-list li{background:var(--card);border:2px solid var(--line);border-left:6px solid var(--olive);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:10px;margin:6px 0;padding:9px 14px;display:flex}.setting{border-bottom:2px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-weight:800;display:flex}.setting.col{flex-direction:column;align-items:stretch}.pricing{flex-direction:column;gap:10px;margin-top:22px;display:flex}.pricing h3{margin:0 0 2px}.plan-card{background:var(--card);border:2.5px solid var(--caramel);border-radius:var(--radius);padding:14px 16px}.plan-card.featured{border-color:var(--mustard);box-shadow:4px 4px 0 var(--mustard)}.plan-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.plan-price{font-family:var(--font-display);color:var(--burnt);white-space:nowrap}.plan-card p{margin:6px 0 0}.plan-soon{background:var(--olive);color:var(--cream);border-radius:999px;margin-top:8px;padding:2px 10px;font-size:12px;font-weight:800;display:inline-block}.about{background:var(--cream-2);border:2.5px solid var(--caramel);border-radius:var(--radius);margin-top:22px;padding:16px 18px}
