@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display&display=swap";:root{--ink:#2f2925;--muted:#786f68;--cream:#f7f3ec;--paper:#fffdf8;--line:#e5ddd2;--rust:#a95734;--rust-dark:#854126;--sage:#71805b;--shadow:0 18px 50px #3f2d201a}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);margin:0;font-family:DM Sans,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh}.topbar{background:var(--paper);border-bottom:1px solid var(--line);z-index:20;justify-content:space-between;align-items:center;height:76px;padding:0 max(24px,50vw - 590px);display:flex;position:sticky;top:0}.brand{text-align:left;color:var(--ink);background:0 0;border:0;align-items:center;gap:12px;display:flex}.brand>span,.brand-mark{background:var(--rust);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font:26px DM Serif Display;display:grid}.brand b{font-family:DM Serif Display;font-size:21px;display:block}.brand small{letter-spacing:.18em;color:var(--muted);font-size:9px;display:block}.save-state{color:var(--sage);font-size:13px}.save-state.saving{color:var(--muted)}.save-state.error{color:#a33}.tabs{background:var(--paper);border-bottom:1px solid var(--line);z-index:15;justify-content:center;gap:6px;padding:12px 20px;display:flex;position:sticky;top:76px}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:24px;padding:9px 16px}.tabs button.active{color:var(--rust-dark);background:#eee6dc;font-weight:700}.page{max-width:1180px;margin:auto;padding:48px 24px 100px}.hero{justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px;display:flex}.hero h1,.page-title h1,.detail h1{margin:8px 0 10px;font:48px/1.05 DM Serif Display}.hero p,.page-title p,.detail-head p{color:var(--muted);max-width:650px;margin:0;font-size:17px}.eyebrow{letter-spacing:.16em;color:var(--rust);font-size:11px;font-weight:700}button,.inline-form button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:9px;padding:10px 16px;font-weight:600}button:hover{border-color:#cdbfb2}.primary{background:var(--rust);color:#fff;border-color:var(--rust);box-shadow:0 7px 18px #a957342e}.primary:hover{background:var(--rust-dark)}button:disabled{opacity:.45;cursor:not-allowed}.toolbar{gap:12px;margin-bottom:25px;display:flex}.toolbar input{flex:1}.toolbar input,.toolbar select,.inline-form input,.inline-form select,.editor input,.editor select,.editor textarea,.finish-form textarea{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:9px;padding:12px}.recipe-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.recipe-card{text-align:left;box-shadow:var(--shadow);border-radius:16px;padding:0;overflow:hidden}.recipe-art{background:#af6b4c;justify-content:center;align-items:center;height:145px;display:flex;position:relative}.recipe-art.tone-1{background:#d6a148}.recipe-art.tone-2{background:#7d8e65}.recipe-art.tone-3{background:#b77669}.recipe-art>span{font-size:56px}.recipe-art small{color:#fff;background:#2c231eb8;border-radius:20px;padding:5px 8px;position:absolute;bottom:12px;right:12px}.recipe-copy{padding:20px}.recipe-copy h2{margin:6px 0;font:26px DM Serif Display}.recipe-copy p{color:var(--muted);min-height:42px}.tag-row{flex-wrap:wrap;gap:6px;display:flex}.tag-row span{color:#635d56;background:#eee9df;border-radius:14px;padding:5px 8px;font-size:11px}.back{background:0 0;border:0;padding-left:0}.detail-head{justify-content:space-between;align-items:end;gap:30px;margin:28px 0;display:flex}.detail-actions{flex-wrap:wrap;gap:8px;display:flex}.facts{gap:10px;margin:25px 0;display:flex}.facts span{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:12px 18px}.recipe-body{grid-template-columns:1fr 1.4fr;gap:22px;display:grid}.recipe-body article{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:25px}.recipe-body h2,.history-list h2{margin-top:0;font:25px DM Serif Display}.recipe-body li{margin:0 0 13px;padding-left:5px;line-height:1.5}.page-title{margin-bottom:28px}.plan-list,.pantry-list,.check-list,.history-list{gap:10px;display:grid}.plan-list article,.pantry-list article,.check-list label{background:var(--paper);border:1px solid var(--line);border-radius:11px;grid-template-columns:180px 1fr auto;align-items:center;gap:15px;padding:13px 16px;display:grid}.plan-list small,.pantry-list small{color:var(--rust);margin-top:3px;display:block}.plan-list select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:11px}.icon{background:0 0;border:0;padding:4px 10px;font-size:21px}.plan-footer{background:#eee7db;border-radius:12px;justify-content:space-between;align-items:center;margin-top:22px;padding:16px;display:flex}.inline-form{grid-template-columns:1fr 100px 120px auto;gap:9px;margin-bottom:22px;display:grid}.pantry-form{grid-template-columns:1fr 100px 100px 150px auto}.check-list label{grid-template-columns:auto 1fr auto}.check-list label>span{justify-content:space-between;display:flex}.check-list input[type=checkbox]{width:20px;height:20px;accent-color:var(--rust)}.check-list .done b{color:var(--muted);text-decoration:line-through}.pantry-list article>div small{color:var(--muted)}.pantry-list label{justify-self:end;align-items:center;display:flex}.pantry-list label input{border:1px solid var(--line);border-radius:8px;width:90px;padding:8px}.pantry-list em{color:var(--muted);margin-left:8px;font-style:normal}.history-list article{background:var(--paper);border:1px solid var(--line);border-radius:12px;gap:18px;padding:20px;display:flex}.history-list h2{margin-bottom:2px}.history-list time{color:var(--muted);font-size:13px}.history-list p{color:#5f5751;margin-bottom:0}.rating{width:64px;height:64px;color:var(--rust-dark);background:#efe4d6;border-radius:50%;align-content:center;place-items:center;font-size:22px;font-weight:700;display:grid}.rating small{font-size:10px}.empty{text-align:center;color:var(--muted);background:var(--paper);border:1px dashed #cec1b5;border-radius:12px;padding:45px}.backdrop{z-index:50;background:#2d25208c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{background:var(--paper);border-radius:16px;width:min(540px,100%);max-height:92vh;padding:24px;overflow:auto;box-shadow:0 25px 80px #00000040}.dialog.wide{width:min(780px,100%)}.dialog>header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.dialog h2{margin:0;font:30px DM Serif Display}.editor{gap:16px;display:grid}.editor>label,.editor .field-grid label,.finish-form label{gap:7px;font-weight:600;display:grid}.editor label small{color:var(--muted);font-weight:400}.field-grid{grid-template-columns:2fr repeat(3,1fr);gap:10px;display:grid}.editor fieldset{border:1px solid var(--line);border-radius:10px;padding:12px}.tag-options{flex-wrap:wrap;gap:12px;display:flex}.tag-options label{font-weight:400}.tag-options input{margin-right:5px}.editor footer{justify-content:flex-end;gap:8px;display:flex}.cook>p{min-height:125px;font:28px/1.4 DM Serif Display}.cook-actions{justify-content:space-between;display:flex}.finish-form{gap:18px;display:grid}.finish-form label:first-child{grid-template-columns:1fr auto;align-items:center}.finish-form label:first-child input{grid-column:1}.finish-form label:first-child strong{color:var(--rust);grid-area:1/2/3;font-size:26px}.finish-form p{color:var(--muted);font-size:13px}.loading{min-height:100vh;color:var(--muted);align-content:center;place-items:center;gap:12px;display:grid}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:800px){.tabs{justify-content:flex-start;overflow:auto}.tabs button{white-space:nowrap}.hero,.detail-head{display:grid}.hero h1,.page-title h1,.detail h1{font-size:38px}.recipe-grid{grid-template-columns:1fr 1fr}.recipe-body{grid-template-columns:1fr}.inline-form,.pantry-form{grid-template-columns:1fr 90px 90px}.pantry-form input:nth-of-type(2){grid-column:auto}.pantry-form input[aria-label=Storage\ location]{grid-column:1/3}.field-grid{grid-template-columns:1fr 1fr}}@media (max-width:540px){.page{padding:32px 16px 90px}.topbar{padding:0 16px}.brand small{display:none}.recipe-grid{grid-template-columns:1fr}.plan-list article{grid-template-columns:1fr auto}.plan-list select{grid-column:1/3}.plan-footer{align-items:stretch;gap:12px;display:grid}.inline-form,.pantry-form{grid-template-columns:1fr 80px}.inline-form select,.inline-form button{grid-row:2}.inline-form button{grid-column:2}.pantry-list article{grid-template-columns:1fr auto}.pantry-list label{justify-self:start}.facts{flex-wrap:wrap}.field-grid{grid-template-columns:1fr}.check-list label>span{display:grid}}:root{--muted:#686059;--sage:#566940;--control-radius:9px}body{font-size:16px;line-height:1.5}button,input,select,textarea{font-size:1rem}button{min-height:44px;color:var(--ink);transition:background-color .15s,border-color .15s}button:not(:disabled):hover{background:#f0e8dd;border-color:#bba897}.primary{color:#fff}.primary:not(:disabled):hover{background:var(--rust-dark);border-color:var(--rust-dark)}.danger{color:#9f3027}.danger:not(:disabled):hover{background:#fae9e5;border-color:#bb7b70}input:not([type=checkbox]):not([type=range]),select,textarea{border:1px solid var(--line);background:var(--paper);border-radius:var(--control-radius);min-width:0;max-width:100%;min-height:44px;color:var(--ink);padding:10px 12px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--rust);flex-shrink:0}textarea{resize:vertical;width:100%;line-height:1.5}:is(input:focus,select:focus,textarea:focus,button:focus-visible){outline-offset:3px;outline:3px solid #a9573480}button.icon{flex-shrink:0;align-self:flex-start;min-width:44px;min-height:44px}.brand{min-height:48px;padding:0}.brand:not(:disabled):hover{background:0 0;border-color:#0000}.brand small{letter-spacing:.09em;font-size:12px}.save-state{text-align:right;font-size:14px}.save-state.conflict{color:#9f3027}.tabs button{font-size:16px}.page{padding-top:32px}.hero{align-items:center;gap:20px;margin-bottom:24px}.hero>div{min-width:0}.hero>.primary{flex-shrink:0}.hero h1,.page-title h1,.detail h1{font-size:40px;line-height:1.15}.eyebrow{letter-spacing:.12em;font-size:12px}.tag-row span{font-size:13px}.recipe-copy p{font-weight:400}.recipe-copy h2{line-height:1.25}.recipe-art small{font-size:14px}.recipe-card{min-width:0}.recipe-card h2{overflow-wrap:anywhere}.recipe-card:hover{box-shadow:0 16px 36px #3f2d3220}.recipe-toolbar{grid-template-columns:minmax(200px,1.5fr) repeat(3,minmax(130px,1fr));margin-bottom:8px;display:grid}.toolbar input{min-width:0}.toolbar{flex-wrap:wrap}.results-line{min-height:44px;color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:18px;font-size:14px;display:flex}.text-button{color:var(--rust-dark);text-underline-offset:4px;box-shadow:none;background:0 0;border-color:#0000;padding:8px 4px;text-decoration:underline}.text-button:not(:disabled):hover{color:var(--rust);background:0 0;border-color:#0000}.detail-head{align-items:start}.detail-head>div:first-child{flex:1;min-width:0}.detail-actions{flex-shrink:0;max-width:310px}.detail-actions button{white-space:nowrap;flex:1}.detail-head .tag-row{margin-top:14px}.facts{flex-wrap:wrap}.recipe-body{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.recipe-body li{overflow-wrap:anywhere}.recipe-journal{margin-top:24px}.recipe-journal h2{font:28px DM Serif Display}.recipe-journal article{background:var(--paper);border:1px solid var(--line);border-radius:10px;margin:10px 0;padding:16px}.recipe-journal time{color:var(--muted);margin-left:16px;font-size:14px}.recipe-journal p{margin-bottom:0}.week-controls{background:var(--paper);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;padding:16px;display:flex}.week-buttons{gap:6px;display:flex}.week-buttons button{min-width:44px}.week-controls label{align-items:center;gap:8px;font-size:14px;display:flex}.week-controls>span{color:var(--muted);font-size:14px}.plan-list article{grid-template-columns:150px minmax(0,1fr) auto;align-items:center}.plan-fields{gap:8px;min-width:0;display:grid}.plan-fields>*{width:100%}.plan-fields input{font-size:14px}.plan-actions{flex-wrap:wrap;gap:6px;max-width:245px;display:flex}.plan-footer{gap:20px}.history-copy{flex:1;min-width:0}.history-copy .text-button,.history-copy .muted{margin-top:8px;display:block}.history-list time,.rating small{font-size:14px}.rating{flex-shrink:0}.history-list h2{overflow-wrap:anywhere}.dialog{border:1px solid var(--line);color:var(--ink);overscroll-behavior:contain;max-height:calc(100dvh - 32px);margin:auto}.dialog::backdrop{background:#2d252094}.dialog>header{align-items:start;gap:12px}.dialog h2{line-height:1.2}.dialog .editor input,.dialog .editor select{width:100%}.dialog .editor input[type=checkbox]{width:18px}.editor label,.editor legend{font-size:14px}.editor label small,.form-hint{color:var(--muted);font-size:14px;font-weight:400;line-height:1.5}.editor>p{margin:0}.editor .checkbox-label{align-items:center;gap:10px;font-weight:400;display:flex}.editor fieldset{min-width:0;margin:0}.editor footer{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:8px;display:flex}.tag-options label{align-items:center;min-height:44px;display:flex}.cook details{margin-bottom:22px}.cook ul{padding-left:22px}.cook li{margin-bottom:6px}.cook>p{min-height:100px}.finish-form p{font-size:14px}.finish-form label:first-child input{width:100%}.finish-form small{color:var(--muted);font-weight:400}.notice,.save-alert{color:#39462d;background:#e9eddf;border:1px solid #c7d1b8;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;max-width:1132px;margin:20px auto 0;padding:12px 16px;display:flex}.notice.inline-notice{margin:0 0 20px}.save-alert{color:#743526;background:#fff0e9;border-color:#c99480;display:block}.save-alert p{margin:0 0 10px}.button-row{flex-wrap:wrap;gap:8px;display:flex}.form-error{color:#9f3027;font-size:14px}.muted{color:var(--muted)}.skip-link{z-index:100;background:var(--paper);color:var(--rust-dark);padding:10px 16px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:10px}#page-content{scroll-margin-top:160px}.empty p{margin-top:0}.loading{text-align:center;padding:24px}@media (max-width:900px){.recipe-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-toolbar input{grid-column:1/-1}.detail-head{display:block}.detail-actions{max-width:none;margin-top:20px}.plan-list article{grid-template-columns:130px minmax(0,1fr)}.plan-actions{grid-column:2;max-width:none}.recipe-body{grid-template-columns:1fr}.notice,.save-alert{margin-left:24px;margin-right:24px}}@media (max-width:540px){.hero h1,.page-title h1,.detail h1{font-size:32px}.hero>.primary{justify-self:start}.page{padding:28px 16px 70px}.topbar{gap:12px}.save-state{max-width:115px;font-size:13px}.tabs{padding:8px}.tabs button{padding:9px 12px}.recipe-toolbar{grid-template-columns:minmax(0,1fr)}.recipe-toolbar input{grid-column:auto}.toolbar>*{flex:1;min-width:130px}.plan-list article{grid-template-columns:minmax(0,1fr);gap:10px}.plan-list select{grid-column:auto}.plan-actions{grid-column:1}.week-controls{gap:10px;padding:12px}.week-controls>span{width:100%}.week-controls label{flex-wrap:wrap}.detail-actions button{flex-basis:45%}.facts span{padding:10px 12px}.dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:18px}.dialog.wide{width:calc(100% - 24px)}.dialog h2{font-size:27px}.cook>p{font-size:26px}.notice,.save-alert{margin-left:16px;margin-right:16px}.inline-notice{margin-left:0;margin-right:0}.editor footer button{flex:1}.history-list article{gap:12px;padding:16px}.rating{width:52px;height:52px}.recipe-body article{padding:18px}.plan-footer{display:grid}.brand b{white-space:nowrap;font-size:20px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.recipe-card{flex-direction:column;align-items:stretch;display:flex}.recipe-art{flex-shrink:0}.recipe-copy{flex:1}@media (max-width:540px){.shopping-add{grid-template-columns:minmax(0,1fr) 110px}.shopping-add button,.shopping-list-head button{white-space:nowrap}.shopping-list-head button{max-width:none}}.recipe-toolbar{grid-template-columns:minmax(210px,1.5fr) repeat(4,minmax(145px,1fr))}.availability-badge{color:var(--rust-dark);background:#f1e7dc;border-radius:14px;margin:0 0 12px;padding:5px 9px;font-size:13px;font-weight:700;display:inline-flex}.availability-badge.ready{color:#455832;background:#e4ebda}.plan-recipe-tools{background:#eee7db;border-radius:12px;grid-template-columns:auto repeat(3,minmax(150px,1fr));align-items:center;gap:10px;margin:0 0 16px;padding:14px 16px;display:grid}.plan-recipe-tools>span{font-size:14px;font-weight:700}.recipe-autocomplete{gap:3px;display:grid}.recipe-autocomplete input{background:var(--paper);width:100%}.recipe-autocomplete small{color:var(--sage);font-size:12px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.settings-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;min-width:0;padding:20px}.settings-card h2{margin:0 0 4px;font:27px DM Serif Display}.settings-card>div:first-child p{color:var(--muted);margin:0 0 18px}.settings-list{gap:8px;display:grid}.settings-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;display:grid}.settings-row input{width:100%}.settings-row small{color:var(--muted);grid-column:1/-1;margin-top:-6px;font-size:12px}.settings-add{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:16px;padding-top:16px;display:grid}@media (max-width:1000px){.recipe-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-toolbar input{grid-column:1/-1}.settings-grid{grid-template-columns:1fr}.plan-recipe-tools{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-recipe-tools>span{grid-column:1/-1}}@media (max-width:600px){.recipe-toolbar,.plan-recipe-tools{grid-template-columns:minmax(0,1fr)}.recipe-toolbar input,.plan-recipe-tools>span{grid-column:auto}.settings-card{padding:16px}.settings-row{grid-template-columns:minmax(0,1fr) auto}.settings-row .icon{grid-column:2}.settings-row small{grid-column:1/-1}.tabs{justify-content:flex-start}.recipe-autocomplete small{font-size:13px}}.ingredient-panel ul{gap:8px;padding:0;list-style:none;display:grid}.ingredient-panel li{border:1px solid var(--line);border-radius:9px;gap:2px;margin:0;padding:10px 12px;display:grid}.ingredient-panel li span{font-weight:600}.ingredient-panel li small{font-size:13px;font-weight:600}.ingredient-panel .ingredient-available{background:#f0f4ea;border-color:#d6dfca}.ingredient-panel .ingredient-available small{color:#4f643b}.ingredient-panel .ingredient-partial{background:#faf3e5;border-color:#ead9b8}.ingredient-panel .ingredient-partial small{color:#835d22}.ingredient-panel .ingredient-missing{background:#fbf2ef;border-color:#ead6d0}.ingredient-panel .ingredient-missing small{color:#8b4a3d}.recipe-draft-notice>span{overflow-wrap:anywhere;min-width:0}@media (max-width:600px){.recipe-draft-notice{flex-wrap:wrap}.recipe-draft-notice>span{flex:100%}.recipe-draft-notice>button{flex:140px}}.auth-page{background:var(--cream);place-items:start center;min-height:100dvh;padding:40px 16px;display:grid}.auth-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;gap:16px;width:min(100%,480px);padding:28px;display:grid}.auth-card h1{margin:0;font:32px/1.2 DM Serif Display}.auth-brand{color:var(--rust-dark);font-weight:700}.auth-card p{margin:0;line-height:1.6}.auth-card form,.auth-card label,.auth-card nav{gap:12px;display:grid}.auth-card label{gap:6px;font-weight:600}.auth-card input{width:100%;min-width:0;min-height:44px}.auth-card button{white-space:normal;min-height:44px}.auth-card small{color:var(--muted);line-height:1.5}.auth-divider{text-align:center}.auth-card .auth-feedback{overflow-wrap:anywhere;margin:0;display:block}.auth-show{justify-self:start}.auth-card details summary{cursor:pointer;min-height:44px}.auth-card details p{margin-bottom:12px}@media (max-width:540px){.auth-page{padding:20px 12px}.auth-card{padding:22px 18px}.auth-card h1{font-size:28px}}.flexible-meals{gap:1rem;min-width:0;margin:1.5rem 0;display:grid}.flexible-meal-card{background:#fffcf6;border:1px solid #dfd4c5;border-radius:14px;gap:1rem;min-width:0;padding:1.25rem;display:grid}.flexible-meal-card header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.flexible-meal-card h2{margin:0}.flexible-add{flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1rem;display:flex}.flexible-meals label,.meal-alternatives label,.alternative-approval label{gap:.4rem;min-width:0;display:grid}.flexible-meals input,.flexible-meals select,.flexible-meals textarea,.meal-alternatives input,.meal-alternatives select,.meal-alternatives textarea{width:100%;min-width:0;max-width:100%}.flexible-meals .checkbox-label,.meal-alternatives .checkbox-label{align-items:start;gap:.65rem;display:flex}.flexible-meals input[type=checkbox],.meal-alternatives input[type=checkbox]{flex-shrink:0;width:22px;height:22px}.meal-alternatives{min-width:0;padding:.8rem 0}.meal-alternatives summary,.flexible-meals summary{cursor:pointer;padding:.65rem 0;font-weight:600}.meal-ingredient-choice{overflow-wrap:anywhere;background:#f5efe4;border:1px solid #e0d5c3;border-radius:10px;gap:.65rem;margin:.75rem 0;padding:1rem;display:grid}.alternative-approval{border-bottom:1px solid #e0d5c3;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.alternative-add{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.meal-recipe-choice{border-top:1px solid #e0d5c3;min-width:0;padding-top:1rem}.flexible-meals button,.meal-alternatives button{white-space:normal;min-height:44px}@media (max-width:600px){.flexible-add{display:grid}.flexible-meal-card{padding:1rem}.flexible-meals .field-grid{grid-template-columns:1fr}.alternative-add{display:grid}}.shopping-summary,.pantry-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0;display:grid}.shopping-summary>div,.pantry-summary>div{background:var(--paper);border:1px solid var(--line);border-radius:12px;gap:3px;padding:16px;display:grid}.shopping-summary b,.pantry-summary b{color:var(--rust-dark);font:28px DM Serif Display}.shopping-summary span,.pantry-summary span{color:var(--muted);font-size:14px}.section-links{gap:8px;margin:14px 0;display:flex}.shopping-list-head{justify-content:space-between;align-items:center;gap:16px;margin:28px 0 14px;display:flex}.shopping-list-head h2{margin:2px 0 0;font:28px DM Serif Display}.shopping-groups{gap:28px;display:grid}.shopping-group>h3{color:var(--rust-dark);align-items:center;gap:10px;margin:0 0 12px;font:24px DM Serif Display;display:flex}.shopping-group>h3 span{background:#eee6dc;border-radius:20px;padding:4px 9px;font:14px DM Sans}.grocery-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.grocery-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.planned-content{flex:1;grid-template-columns:1fr 1fr;display:grid}.grocery-main{padding:18px}.grocery-main h2,.manual-heading h2{overflow-wrap:anywhere;margin:0 0 7px;font:25px DM Serif Display}.grocery-main>strong{color:var(--rust-dark);font:30px DM Serif Display;display:block}.grocery-main>span{color:var(--muted);font-size:14px}.grocery-breakdown{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:12px;padding-top:10px;display:flex}.grocery-breakdown small{color:var(--muted);gap:3px;font-size:14px;display:grid}.grocery-breakdown b{color:var(--ink)}.need-sources{background:#f1ece4;align-content:start;gap:8px;padding:18px;display:grid}.need-sources>small{color:var(--muted);font-size:14px}.need-sources>div{gap:2px;display:grid}.need-sources time{color:var(--muted);font-size:13px}.need-sources .text-button{text-align:left;min-height:44px;padding:4px 0;line-height:1.4}.grocery-footer{border-top:1px solid var(--line);align-items:center;gap:8px;padding:12px;display:flex}.grocery-footer select{flex:1;width:100px;min-width:0}.grocery-footer button{flex-shrink:0}.manual-heading{flex:1;justify-content:space-between;gap:10px;padding:18px;display:flex}.manual-heading small{color:var(--muted);margin-top:5px;font-size:14px;display:block}.manual-quantity{color:var(--muted);gap:4px;margin-top:12px;font-size:14px;display:grid}.manual-quantity .text-button{text-align:left;justify-self:start;padding-left:0}.planned-content:not(:has(.need-sources)){grid-template-columns:1fr}.grocery-main{min-width:0}.need-sources{overflow-wrap:anywhere;min-width:0}.purchase-grid,.stock-editor-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.purchase-grid label,.stock-editor-fields label,.package-fields label{gap:6px;font-size:14px;font-weight:600;display:grid}.purchase-grid .wide{grid-column:1/-1}.purchase-total{background:#eee6dc;border-radius:10px;gap:6px;padding:16px;display:grid}.purchase-total span{color:var(--muted);font-size:14px}.purchase-total b{color:var(--rust-dark);font:28px DM Serif Display}.group-add,.group-rows>div{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.group-rows{gap:8px;display:grid}.group-rows>div{grid-template-columns:minmax(0,1fr) auto auto auto}.purchased-section{border-top:1px solid var(--line);margin-top:32px;padding-top:8px}.purchase-history{gap:8px;display:grid}.purchase-history article{border:1px solid var(--line);background:var(--paper);border-radius:10px;align-items:center;gap:14px;padding:12px 16px;display:flex}.purchase-history article>span{color:var(--sage)}.purchase-history article>div{flex:1;min-width:0}.purchase-history small{color:var(--muted);margin-top:3px;font-size:14px;display:block}.covered-ingredients{border:1px solid var(--line);background:var(--paper);border-radius:10px;margin-top:20px;padding:16px}summary{cursor:pointer;align-content:center;min-height:44px}summary:focus-visible{outline:3px solid var(--rust);outline-offset:4px}.covered-ingredients li{line-height:1.7}.storage-areas{gap:16px;display:grid}.storage-area{border:1px solid var(--line);background:#eee7dd;border-radius:14px;overflow:hidden}.area-head{text-align:left;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;width:100%;padding:18px 20px;display:flex}.area-head>span{align-items:baseline;gap:12px;display:flex}.area-head b{font:26px DM Serif Display}.area-head small{color:var(--muted);font-size:14px}.area-head i{font-size:24px;font-style:normal}.stock-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 14px 14px;display:grid}.stock-cards>article{background:var(--paper);border:1px solid var(--line);border-radius:11px;min-width:0;padding:18px}.stock-cards article>header{justify-content:space-between;gap:10px;display:flex}.stock-cards h3{overflow-wrap:anywhere;margin:0 0 4px;font:26px DM Serif Display}.stock-cards header span{color:var(--muted);font-size:14px}.stock-available{background:#efe7dc;border-radius:9px;gap:4px;margin:14px 0;padding:14px;display:grid}.stock-available span{color:var(--muted);font-size:14px}.stock-available b{color:var(--rust-dark);font:26px DM Serif Display}.stock-detail{color:var(--muted);gap:6px;font-size:14px;line-height:1.5;display:grid}.stock-actions{flex-wrap:wrap;gap:8px;margin:16px 0 4px;display:flex}.area-empty{color:var(--muted);padding:24px}.restock-button{margin-top:8px}.package-editor{gap:14px;margin-bottom:14px;display:grid}.package-row{border:1px solid var(--line);border-radius:10px;padding:12px}.package-row>header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.package-fields{grid-template-columns:.8fr 1.4fr 1fr 1fr 1.3fr;gap:10px;display:grid}@media (max-width:950px){.grocery-cards,.stock-cards{grid-template-columns:1fr}.package-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:540px){.shopping-summary,.pantry-summary{gap:6px}.shopping-summary>div,.pantry-summary>div{padding:12px 10px}.shopping-summary b,.pantry-summary b{font-size:25px}.shopping-summary span,.pantry-summary span{font-size:14px}.planned-content{grid-template-columns:1fr}.need-sources{padding:14px 18px}.grocery-footer{flex-wrap:wrap}.grocery-footer select{flex-basis:100%}.grocery-footer button{width:100%}.shopping-list-head{align-items:flex-start}.shopping-list-head button{max-width:150px}.purchase-grid,.stock-editor-fields{grid-template-columns:1fr}.stock-cards{padding:0 10px 10px}.stock-cards>article,.area-head{padding:14px}.group-rows>div{gap:5px}.group-rows button{padding:8px 10px}.section-links{flex-wrap:wrap}}.package-remaining{color:var(--rust-dark);border-top:1px solid var(--line);margin:14px 0 0;padding-top:12px;font-size:14px;line-height:1.5}.package-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.package-fields label:last-child{grid-column:span 2}.discard-stock{border:1px solid var(--rust);border-radius:10px;padding:14px}.discard-stock p{margin-top:0}@media (max-width:540px){.package-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.package-fields label:last-child{grid-column:1/-1}}.enhanced-shop{max-width:900px}.enhanced-shop .page-title{margin-bottom:12px}.enhanced-shop .page-title h1{margin:3px 0 6px;font-size:30px}.enhanced-shop .page-title p{margin:0;font-size:14px}.shopping-dates{border-bottom:1px solid var(--line);font-size:14px}.shopping-dates>summary{color:var(--muted)}.enhanced-shop .shopping-summary{flex-wrap:wrap;gap:6px 18px;margin:12px 0;display:flex}.enhanced-shop .shopping-summary>div{background:0 0;border:0;align-items:baseline;gap:5px;padding:0;display:flex}.enhanced-shop .shopping-summary b{font:600 16px DM Sans}.enhanced-shop .shopping-summary span{font-size:14px}.enhanced-shop .shopping-list-head{margin:14px 0 8px}.enhanced-shop .shopping-list-head h2{font-size:22px}.enhanced-shop .shopping-add{margin-bottom:16px}.enhanced-shop .shopping-groups{gap:16px}.enhanced-shop .shopping-group>h3{margin-bottom:6px;font-size:19px}.shopping-rows{border:1px solid var(--line);background:var(--paper);border-radius:10px;margin:0;padding:0;list-style:none;overflow:hidden}.shopping-row+.shopping-row{border-top:1px solid var(--line)}.shopping-row-head{grid-template-columns:minmax(0,1fr) auto 44px;align-items:center;gap:4px;padding:4px 8px;display:grid}.shopping-item-tap{text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:14px;min-height:48px;padding:8px;display:flex}.shopping-item-name{overflow-wrap:anywhere;font-size:16px;font-weight:600}.shopping-item-amount{color:var(--muted);flex-shrink:0;font-size:14px}.shopping-view{background:0 0;border:0;padding:8px 10px;font-size:14px}.shopping-row-head .icon{background:0 0;border:0;place-items:center;padding:0;display:grid}.shopping-row.expanded{background:#f7f0e6}.inline-purchase{border-top:1px solid var(--line);background:var(--paper);padding:16px}.inline-purchase>p{font-size:14px}.inline-purchase .purchase-total{padding:10px 14px}.inline-purchase .purchase-total b{font-size:22px}.shopping-item-details>label{gap:6px;display:grid}.shopping-item-details .need-sources:has(>small:only-child){display:none}.enhanced-shop .purchased-section{margin-top:18px}.enhanced-shop .purchase-history article{padding:6px 10px}.enhanced-shop .covered-ingredients{margin-top:14px;padding:8px 12px}@media (max-width:540px){.shopping-row-head{gap:0;padding:4px}.shopping-item-tap{gap:8px;padding:6px}.shopping-item-name{font-size:16px}.shopping-item-amount{text-align:right;max-width:78px}.shopping-view{padding:8px}.inline-purchase{padding:12px}.enhanced-shop .page-title h1{font-size:28px}.enhanced-shop .shopping-summary{gap:4px 12px}}.removed-shopping{margin:0;padding:0;list-style:none}.removed-shopping li{justify-content:space-between;align-items:center;gap:12px;display:flex}.inline-purchase .purchase-grid input,.inline-purchase .purchase-grid select{width:100%;min-width:0}.compact-pantry{max-width:900px}.compact-pantry .hero{gap:14px;margin-bottom:12px}.compact-pantry .hero h1{margin:3px 0 6px;font-size:30px}.compact-pantry .hero p{margin:0;font-size:14px}.compact-pantry .pantry-summary{flex-wrap:wrap;gap:6px 18px;margin:12px 0 18px;display:flex}.compact-pantry .pantry-summary>div{background:0 0;border:0;align-items:baseline;gap:5px;padding:0;display:flex}.compact-pantry .pantry-summary b{font:600 16px DM Sans}.compact-pantry .pantry-summary span{font-size:14px}.compact-pantry .pantry-toolbar{grid-template-columns:minmax(240px,1fr) auto auto;gap:8px;display:grid}.compact-pantry .pantry-toolbar>*{width:100%;min-width:0;font-size:16px}.compact-pantry .storage-areas{gap:14px}.compact-pantry .storage-area{border-radius:10px}.compact-pantry .area-head{min-height:48px;padding:8px 14px}.compact-pantry .area-head b{font-size:20px}.compact-pantry .area-empty{padding:12px 14px;font-size:14px}.pantry-rows{background:var(--paper);margin:0;padding:0;list-style:none}.pantry-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto 44px;align-items:center;gap:4px;padding:4px 8px;display:grid}.pantry-item-tap{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;min-width:0;min-height:52px;padding:6px 8px;display:flex}.pantry-item-name{overflow-wrap:anywhere;min-width:0}.pantry-item-name b{font-size:16px}.pantry-item-name small,.pantry-item-total small{color:var(--muted);margin-top:2px;font-size:14px;font-weight:400;display:block}.pantry-item-total{text-align:right;flex-shrink:0;max-width:45%}.pantry-item-total b{color:var(--rust-dark);font-size:16px;font-weight:600}.pantry-row.out .pantry-item-total small{color:var(--rust-dark)}.pantry-view{background:0 0;border:0;padding:8px 10px;font-size:14px}.pantry-row>.icon{background:0 0;border:0;place-items:center;padding:0;display:grid}.pantry-container-list{gap:8px;display:grid}.pantry-container-list>div{border:1px solid var(--line);border-radius:8px;gap:4px;padding:12px;font-size:14px;display:grid}.pantry-container-list span{color:var(--muted)}@media (max-width:600px){.compact-pantry .pantry-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.compact-pantry .pantry-toolbar>input{grid-column:1/-1;min-height:48px;font-size:16px}.compact-pantry .hero h1{font-size:28px}.pantry-row{gap:0;padding:4px}.pantry-item-tap{gap:8px;padding:6px}.pantry-item-total{max-width:42%}.pantry-view{padding:8px}.compact-pantry .area-head{padding:8px 10px}}.hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.serving-control{border:1px solid var(--line);background:var(--paper);border-radius:12px;align-items:center;gap:8px;width:max-content;max-width:100%;margin:18px 0;padding:10px 12px;display:flex}.serving-control>span{margin-right:4px;font-weight:700}.serving-control button{min-width:44px;padding-inline:12px}.serving-control label{align-items:center;gap:7px;display:flex}.serving-control input{text-align:center;width:72px}.serving-control b{font-size:14px}.plan-note-row{grid-template-columns:minmax(0,1fr) 112px;gap:8px;display:grid}.plan-servings{color:var(--muted);grid-template-columns:auto 1fr;align-items:center;gap:5px;font-size:13px;display:grid}.plan-servings input{grid-column:1/-1;width:100%}.planner-top{align-items:flex-start;gap:10px;margin-bottom:16px;display:flex}.planner-top>:first-child{flex:1}.saved-meals-button{white-space:nowrap}.saved-meals-dialog{gap:18px}.saved-meal-list{gap:8px;display:grid}.saved-meal-list article{border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px;display:grid}.saved-meal-list article div{gap:3px;display:grid}.saved-meal-list article span{color:var(--muted);font-size:13px}.saved-meal-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:8px;display:grid}.multi-plan-day{align-items:start!important}.day-plan-items{gap:8px;display:grid}.day-plan-item{border:1px solid var(--line);background:var(--paper);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px;display:grid}.add-plan-actions{flex-wrap:wrap;gap:7px;display:flex}.add-plan-actions button{padding:8px 11px}.recipe-source{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.recipe-source a{color:var(--rust-dark);font-weight:700}.two-fields{grid-template-columns:1fr 1fr}.recipe-importer h3{margin:0 0 4px;font:23px DM Serif Display}.recipe-importer section{gap:10px;display:grid}.import-url-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.import-divider{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.import-divider:before,.import-divider:after{content:"";background:var(--line);flex:1;height:1px}.photo-import{min-height:88px;color:var(--rust-dark);cursor:pointer;text-align:center;background:#f7f0e6;border:1px dashed #c8b7a7;border-radius:10px;place-items:center;padding:18px;font-weight:700;display:grid}.photo-import:hover{border-color:var(--rust)}.photo-import.disabled{opacity:.6;cursor:wait}.photo-import input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.stock-check-callout{width:100%;color:var(--rust-dark);text-align:left;background:#eee7dd;border-color:#d4c6b8;margin:0 0 14px}@media (max-width:700px){.hero-actions{justify-content:flex-start}.planner-top{display:grid}.saved-meals-button{width:100%}.saved-meal-list article{grid-template-columns:1fr auto}.saved-meal-list article div{grid-column:1/-1}.saved-meal-form,.day-plan-item,.plan-note-row{grid-template-columns:1fr}.plan-servings{grid-template-columns:auto minmax(80px,1fr)}.plan-servings input{grid-column:2}.serving-control{flex-wrap:wrap;width:100%}.serving-control>span{width:100%}.import-url-form{grid-template-columns:1fr}.import-url-form button{width:100%}.two-fields{grid-template-columns:1fr}}.multi-plan-day{grid-template-columns:150px minmax(0,1fr)!important;align-items:start!important}.multi-plan-day>.day-plan-items,.multi-plan-day>.add-plan-actions{grid-column:2}@media (max-width:700px){.multi-plan-day{grid-template-columns:minmax(0,1fr)!important}.multi-plan-day>.day-plan-items,.multi-plan-day>.add-plan-actions{grid-column:1}}.day-plan-item{align-items:start}.plan-fields{gap:7px}.recipe-autocomplete input,.plan-note-row>input{border:1px solid var(--line);min-height:42px;color:var(--ink);background:#fff;border-radius:8px;padding:9px 12px}.meal-kind{width:max-content;min-height:34px;color:var(--rust-dark);background:#eee7db;border-radius:999px;align-items:center;padding:5px 10px;font-size:13px;font-weight:700;display:flex}.meal-kind-eating-out{color:#4d603a;background:#e8ece1}.plan-actions{position:relative;flex-wrap:nowrap!important;max-width:none!important}.plan-icon-button{border-radius:9px;place-items:center;width:38px;min-width:38px;height:38px;min-height:38px;padding:0;font-size:18px;line-height:1;display:grid}.meal-menu{position:relative}.meal-menu summary{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:9px;place-items:center;width:38px;height:38px;font-weight:700;list-style:none;display:grid}.meal-menu summary::-webkit-details-marker{display:none}.meal-menu[open] summary{background:#f0e8dd;border-color:#bba897}.meal-menu>div{z-index:8;border:1px solid var(--line);background:var(--paper);width:190px;box-shadow:var(--shadow);border-radius:10px;gap:4px;padding:6px;display:grid;position:absolute;top:44px;right:0}.meal-menu button{text-align:left;white-space:nowrap;border:0;min-height:38px;padding:7px 10px}.add-plan-actions{margin-top:2px}.add-plan-actions button{min-height:40px}.move-options{gap:8px;display:grid}.move-options label{align-items:center;gap:9px;font-weight:400;display:flex}.move-options input{height:18px;width:18px!important}.cook-together-intro{color:var(--muted);margin:-4px 0 18px}.dialog.wide:has(.cook-together){width:min(1120px,100% - 24px)}.cook-recipe-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:16px;display:grid}.cook-recipe-grid>article{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.cook-recipe-grid article>header{border-bottom:1px solid var(--line);background:#f4ede3;padding:18px 20px}.cook-recipe-grid h3{margin:4px 0 2px;font:26px/1.2 DM Serif Display}.cook-recipe-grid header small{color:var(--muted)}.cook-recipe-grid section{border-bottom:1px solid var(--line);padding:16px 20px}.cook-recipe-grid section:last-child{border-bottom:0}.cook-recipe-grid h4{margin:0 0 10px;font-size:15px}.cook-recipe-grid ul,.cook-recipe-grid ol{margin:0;padding-left:21px}.cook-recipe-grid li{margin-bottom:8px;line-height:1.45}.cook-together-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:18px;padding-top:16px;display:flex}@media (max-width:700px){.plan-actions{justify-content:flex-end}.meal-menu>div{right:0}.cook-recipe-grid{grid-template-columns:1fr}.cook-together-actions button{flex:1}}.backup-settings>button{margin:16px 0;display:block}.backup-settings>label{gap:8px;display:grid}.backup-settings input[type=file]{box-sizing:border-box;min-width:0;max-width:100%}.family-toolbar{background:#f5eee6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 24px;font-size:13px;display:flex}.family-toolbar select{max-width:55vw}.settings-card li{overflow-wrap:anywhere}.settings-card li button{margin:6px}.notice>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.optional-badge{color:var(--rust-dark);background:#eee7db;border-radius:20px;margin:3px 8px;padding:3px 8px;font:600 12px/1.5 DM Sans,sans-serif;display:inline-block}.optional-use{align-items:flex-start;gap:10px;min-height:44px;padding:10px 0;display:flex}.dialog .editor .optional-use input[type=checkbox],.optional-extras input{width:22px;height:22px;accent-color:var(--sage);flex:none;margin:0}.recipe-entry .recipe-form-section{border-top:1px solid var(--line);gap:18px;min-width:0;padding:24px 0;display:grid}.recipe-entry h3{margin:0;font:26px/1.25 DM Serif Display,serif}.recipe-entry label{gap:8px;min-width:0;display:grid}.recipe-entry .optional-use{display:flex}.recipe-entry input,.recipe-entry textarea{width:100%;min-width:0}.recipe-entry textarea{resize:vertical;line-height:1.65}.recipe-entry p{color:var(--muted);margin:0;line-height:1.6}.entry-ingredient,.entry-step,.paste-preview{border:1px solid var(--line);background:#f8f3eb;border-radius:12px;gap:12px;min-width:0;padding:18px;display:grid}.entry-row-actions{flex-wrap:wrap;gap:8px;display:flex}.entry-row-actions button{white-space:normal;min-width:44px;min-height:44px}.ingredient-preview summary,.ingredient-tracking summary{cursor:pointer;padding:12px 0;font-weight:600;line-height:1.6}.ingredient-preview .field-grid{margin:14px 0}.optional-extras{border:1px solid var(--line);background:var(--paper);border-radius:14px;margin:26px 0;padding:22px}.optional-extras h2{margin-top:0;font-family:DM Serif Display,serif}.optional-extras ul,.ingredient-tracking ul{margin:0;padding:0;list-style:none}.optional-extras li{border-top:1px solid var(--line);justify-content:space-between;align-items:start;gap:16px;padding:16px 0;display:flex}.optional-extras li>div{overflow-wrap:anywhere;min-width:0}.optional-extras small{color:var(--muted);margin-top:8px;line-height:1.5;display:block}.optional-extras label{cursor:pointer;flex-shrink:0;align-items:start;gap:9px;min-height:44px;display:flex}.history-list>.past-cook,.recipe-journal>.past-cook{border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:22px;display:block}.past-cook header{justify-content:space-between;align-items:start;gap:16px;display:flex}.past-cook h3{margin:0 0 8px;font:24px/1.3 DM Serif Display,serif}.past-cook time,.cook-meta{color:var(--muted);line-height:1.6}.past-cook .cook-notes{white-space:pre-wrap;color:var(--ink);line-height:1.7}.ingredient-tracking{border-top:1px solid var(--line);margin-top:18px;padding-top:6px}.ingredient-tracking p{color:var(--muted);font-size:14px;line-height:1.6}.ingredient-tracking li{border-top:1px solid var(--line);overflow-wrap:anywhere;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:12px 0;display:grid}.ingredient-tracking small{margin-top:5px;display:block}.tracking-kind{color:var(--rust-dark);font-size:13px;font-weight:700}.instruction-section+.instruction-section{margin-top:28px}@media (max-width:600px){.entry-ingredient,.entry-step,.paste-preview{padding:14px}.recipe-entry .field-grid{grid-template-columns:minmax(0,1fr)}.recipe-entry footer{flex-direction:column}.recipe-entry footer button{width:100%;min-height:44px}.optional-extras{padding:16px}.optional-extras li{flex-direction:column;gap:12px}.ingredient-tracking li{grid-template-columns:minmax(0,1fr);gap:6px}}.instruction-section{min-width:0}.instruction-section>h2,.cooking-ingredients>h2{margin:0 0 18px;font:25px/1.25 DM Serif Display,serif}.instruction-steps{gap:14px;margin:0;padding:0;list-style:none;display:grid}.instruction-steps>.instruction-step{border:1px solid var(--line);color:var(--ink);overflow-wrap:anywhere;background:#f8f3eb;border-radius:12px;margin:0;padding:18px;line-height:1.7}.instruction-step.is-complete{background:#edf1e5;border-color:#c5d0b5}.instruction-content{grid-template-columns:70px minmax(0,1fr);align-items:start;gap:14px;min-width:0;display:grid}.instruction-step-label{color:var(--rust-dark);gap:4px;padding-top:1px;font-size:14px;font-weight:700;line-height:1.7;display:grid}.instruction-complete{color:var(--sage);white-space:nowrap;font-size:12px}.instruction-text{white-space:pre-wrap;min-width:0;font-size:16px;font-weight:400;line-height:1.7}.instruction-subheading{margin-bottom:8px;font-size:18px;display:inline-block}.editor .instruction-check{cursor:pointer;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:12px;min-height:44px;font-weight:400;display:grid}.dialog .editor .instruction-check input[type=checkbox]{width:24px;height:24px;accent-color:var(--sage);cursor:pointer;margin:2px 0 0;padding:0}.instruction-check:has(input:focus-visible){outline:3px solid var(--rust);outline-offset:7px;border-radius:4px}.instruction-check:has(input:disabled){cursor:wait}.cooking-recipe{border-top:1px solid var(--line);min-width:0;padding:22px 0}.cooking-recipe>header{margin-bottom:26px}.cooking-recipe>header h2{font-size:28px}.cooking-recipe>header p{color:var(--muted);margin:8px 0 0}.cooking-ingredients{margin-bottom:30px}.cooking-ingredients ul{margin:0;padding-left:22px}.cooking-ingredients li{margin-bottom:8px;line-height:1.6}.editor .cooking-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px;margin-top:12px;padding-top:22px}.cooking-actions button{white-space:normal;min-height:44px}@media (max-width:600px){.instruction-steps>.instruction-step{padding:14px}.instruction-content{grid-template-columns:48px minmax(0,1fr);gap:8px}.editor .instruction-check{grid-template-columns:24px minmax(0,1fr);gap:10px}.editor .cooking-actions{flex-direction:column;align-items:stretch}.cooking-actions button{flex:none;width:100%}}.ingredient-clarification{color:var(--muted,#70665a);margin:.2rem 0;font-size:.8rem;line-height:1.5;display:block}.recipe-entry .ingredient-preview summary{font-size:.85rem;font-weight:500}.cooking-assistant{background:#f5f5ec;border:1px solid #c8cbb8;border-radius:14px;margin:12px 0 28px;padding:clamp(14px,3vw,24px)}.cooking-assistant>p{font-size:.88rem;line-height:1.6}.assistant-controls{flex-wrap:wrap;align-items:end;gap:10px;margin:14px 0;display:flex}.assistant-controls button,.assistant-preferences label{min-height:44px}.assistant-preferences{gap:8px;display:grid}.assistant-preferences label{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.assistant-preferences input[type=checkbox]{width:22px;height:22px}.assistant-current{background:#fffdf7;border:1px solid #ded6c7;border-radius:10px;margin:14px 0;padding:16px}.assistant-current p,.assistant-response{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.cooking-assistant select,.assistant-controls label{min-width:0;max-width:100%}@media (max-width:520px){.assistant-controls>button,.assistant-controls>label{width:100%}}.assistant-audio-controls{z-index:2;background:#f5f5ec;border-bottom:1px solid #d8d9c9;padding:10px 0;position:sticky;top:0}.assistant-stop-floating{z-index:20;min-height:48px;position:fixed;bottom:24px;right:24px;box-shadow:0 3px 14px #0003}@media (max-width:520px){.assistant-stop-floating{max-width:calc(100% - 64px);bottom:28px;right:32px}}
