@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/e7150917543fc9da-s.071m.n3zzn52i.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/71fbf9c08529c2a5-s.0s73vwibz65qg.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/e9457141811d41ae-s.00tq~sneouii2.woff2)format("woff2");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/ac34884600cd8d5d-s.0q61mniqzdjv_.woff2)format("woff2");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/e1ccd2766b08c828-s.0dd-~h-3wf1jt.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/507a47c1876d4ec2-s.0vig0aoy18nm3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/8c2eb9ceedecfc8e-s.p.0oeo8epbafgia.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora Fallback;src:local(Times New Roman);ascent-override:87.33%;descent-override:23.78%;line-gap-override:0.0%;size-adjust:115.2%}.lora_c51c9905-module__ba83HG__className{font-family:Lora,Lora Fallback;font-style:normal}.lora_c51c9905-module__ba83HG__variable{--font-serif:"Lora", "Lora Fallback"}
.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;--background:#fdf5f0;--surface:#fff;--surface-muted:#faf0e8;--border:#ecd8cf;--text:#28100c;--muted:#9c7b72;--accent:#b83268;--accent-dark:#922850;--accent-on:#fff;--success:#1a7a4a;--success-on:#fff;--danger:#c0392b;--danger-border:#e8b4a8;--danger-surface:#fdf5f0;--quickies:#e8307a;--overlay-text:#fff;--shadow:0 10px 30px #28100c14;--control-background:#fff;--control-height:44px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--on-accent:var(--accent-on)}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--background);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.font-serif{font-family:var(--font-serif), Georgia, "Times New Roman", serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.page-shell{width:min(1180px,100% - 32px);margin:0 auto}.button,.primary-button,.secondary-button{min-height:var(--control-height);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;padding:0 16px;font-weight:700;display:inline-flex}.button-with-icon{gap:8px}.button-icon{flex:0 0 17px;width:17px;height:17px}svg[data-loading=true]{animation:.85s linear infinite button-loading-spin}.button[aria-busy=true],.primary-button[aria-busy=true],.secondary-button[aria-busy=true],button[aria-busy=true]:disabled{cursor:wait}@keyframes button-loading-spin{to{transform:rotate(360deg)}}.button,.primary-button{background:var(--accent);color:var(--accent-on);border:0}.button:hover,.primary-button:hover{background:var(--accent-dark)}.button:disabled,.primary-button:disabled,.secondary-button:disabled{opacity:.48;cursor:not-allowed}.secondary-button{border:1px solid var(--border);background:var(--surface);color:var(--muted)}.secondary-button:hover{border-color:var(--accent);color:var(--accent-dark)}.text-input,.select-input,.textarea-input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--control-background);width:100%;color:var(--text)}.text-input,.select-input{height:var(--control-height);min-height:var(--control-height);padding:0 12px}.textarea-input{resize:vertical;min-height:160px;padding:12px;line-height:1.45}.select-input{cursor:pointer}.file-input,.recipe-edit-section input[type=file]{width:100%;min-height:var(--control-height);border:1px solid var(--border);background:var(--control-background);color:var(--text);border-radius:6px;padding:6px}.file-input::file-selector-button{border:1px solid var(--border);background:var(--surface);min-height:30px;color:var(--muted);cursor:pointer;font:inherit;border-radius:6px;margin-right:10px;padding:0 10px;font-weight:700}.recipe-edit-section input[type=file]::file-selector-button{border:1px solid var(--border);background:var(--surface);min-height:30px;color:var(--muted);cursor:pointer;font:inherit;border-radius:6px;margin-right:10px;padding:0 10px;font-weight:700}.file-input::file-selector-button:hover{border-color:var(--accent);color:var(--accent-dark)}.recipe-edit-section input[type=file]::file-selector-button:hover{border-color:var(--accent);color:var(--accent-dark)}.muted{color:var(--muted)}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(100%,360px);box-shadow:var(--shadow);gap:18px;padding:28px;display:grid}.login-panel h1{margin:0;font-size:2rem}.login-panel label{gap:8px;font-weight:700;display:grid}.form-error{color:var(--danger);margin:0}.recipes-page,.recipe-detail-page,.recipe-edit-page,.cooking-history-page,.cooking-list-page{min-height:100vh;padding:28px 0}.cooking-list-page{min-height:100vh;padding:40px 0 56px}.cooking-list-shell,.cooking-history-shell{gap:28px;display:grid}.cooking-list-section{border-top:1px solid var(--border);gap:16px;padding-top:22px;display:grid}.cooking-list-section-header{justify-content:space-between;align-items:end;gap:16px;display:flex}.cooking-list-section-header h2{font-family:var(--font-serif), Georgia, serif;margin:0;font-size:1.5rem;font-weight:700}.cooking-list-section-header span{color:var(--muted);font-size:.9rem;font-weight:700}.shopping-list-notes{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);gap:8px;padding:14px 16px 16px;display:grid;box-shadow:0 1px #24211d08}.shopping-list-notes label{color:var(--text);font-weight:800}.shopping-list-notes-description{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shopping-list-notes textarea{border:1px solid var(--border);background:var(--control-background);width:100%;min-height:86px;color:var(--text);resize:none;border-radius:6px;padding:10px 12px;line-height:1.45;overflow:hidden}.shopping-list-notes textarea:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:2px}.cooking-list-add-accordion{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.cooking-list-add-summary{min-height:54px;color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;font-weight:800;list-style:none;display:flex}.cooking-list-add-summary::-webkit-details-marker{display:none}.cooking-list-add-summary span{align-items:center;gap:8px;display:inline-flex}.cooking-list-add-chevron{width:18px;height:18px;color:var(--muted);transition:transform .16s}.cooking-list-add-accordion[open] .cooking-list-add-chevron{transform:rotate(180deg)}.cooking-list-add-form{border-top:1px solid var(--border);gap:12px;padding:14px 16px 16px;display:grid}.cooking-list-form-grid{grid-template-columns:minmax(0,1fr) minmax(220px,.55fr);gap:12px;display:grid}.cooking-list-form-grid--single{grid-template-columns:minmax(0,1fr)}.cooking-list-form-grid label{color:var(--muted);gap:6px;font-size:.9rem;font-weight:700;display:grid}.cooking-list-add-button{justify-self:start;gap:7px}.cooking-list-items,.cooking-history-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.cooking-list-item,.cooking-history-item{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);justify-content:space-between;align-items:center;gap:18px;padding:10px 12px;display:flex;box-shadow:0 1px #24211d08}.cooking-history-item.cooking-history-linked-item{position:relative}.cooking-list-item.cooking-list-linked-item{padding:0;position:relative}.cooking-list-linked-item>.cooking-list-actions{padding:10px 12px 10px 0}.cooking-list-item-link{min-width:0;color:inherit;border-radius:6px;flex:auto;align-self:stretch;align-items:center;gap:12px;margin:0;padding:10px 0 10px 12px;text-decoration:none;transition:background-color .16s,color .16s;display:flex}.cooking-list-item-link:focus-visible{background:color-mix(in srgb, var(--accent) 7%, transparent)}.cooking-list-item-link:active{background:color-mix(in srgb, var(--accent) 12%, transparent)}.cooking-list-item-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cooking-history-linked-item>a{border-radius:inherit;min-width:0;color:inherit;font-weight:inherit;flex:auto;align-items:center;gap:12px;padding:0;text-decoration:none;transition:background-color .16s,color .16s;display:flex}.cooking-history-linked-item:hover,.cooking-history-linked-item:focus-within{background:color-mix(in srgb, var(--accent) 7%, transparent)}.cooking-history-linked-item>a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cooking-history-linked-item>a:hover .cooking-list-item-main>span,.cooking-history-linked-item>a:focus-visible .cooking-list-item-main>span{color:var(--accent-dark)}.cooking-list-item-content{align-items:center;gap:12px;min-width:0;display:flex}.cooking-list-item-art{border:1px solid color-mix(in srgb, var(--accent) 20%, var(--border));border-radius:var(--radius-lg);background:linear-gradient(135deg, #fff6, transparent), color-mix(in srgb, var(--accent) 10%, var(--surface-muted));width:46px;height:46px;color:var(--accent-dark);flex:0 0 46px;justify-content:center;align-items:center;display:inline-flex}.cooking-list-item-art[data-kind=external]{border-color:color-mix(in srgb, #4f6f9d 28%, var(--border));background:linear-gradient(135deg, #fff6, transparent), color-mix(in srgb, #4f6f9d 13%, var(--surface-muted));color:color-mix(in srgb, #4f6f9d 72%, var(--text))}.cooking-list-item-art[data-kind=manual]{border-color:color-mix(in srgb, #b66b35 26%, var(--border));background:linear-gradient(135deg, #ffffff73, transparent), color-mix(in srgb, #b66b35 12%, var(--surface-muted));color:color-mix(in srgb, #b66b35 72%, var(--text))}.cooking-list-item-art svg{width:22px;height:22px}.cooking-list-item-main,.cooking-history-item .cooking-list-item-main{gap:5px;min-width:0;display:grid}.cooking-list-item-main a,.cooking-list-item-main>span,.cooking-history-item a,.cooking-history-item .cooking-list-item-main>span{color:var(--text);overflow-wrap:anywhere;font-weight:800;line-height:1.25}.cooking-list-item-main p,.cooking-history-item p{color:var(--muted);margin:0;font-size:.84rem;font-weight:700}.cooking-history-item time{border:1px solid var(--border);background:var(--surface-muted);min-height:34px;color:var(--text);white-space:nowrap;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:6px 10px;font-size:.82rem;font-weight:800;display:inline-flex}.cooking-list-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.cooking-list-icon-button{gap:7px;min-height:34px;padding:0 11px;font-size:.9rem}.cooking-list-inline-icon{vertical-align:-2px;width:14px;height:14px;margin-left:5px}.cooking-list-empty{margin:0}.recipes-shell{gap:28px;display:grid}.app-header{z-index:10;background:var(--accent);color:#fff;position:sticky;top:0}.app-header-inner{align-items:center;gap:12px;width:min(1180px,100% - 32px);height:58px;margin:0 auto;display:flex}.app-header-brand{color:inherit;flex-direction:column;flex:none;gap:0;line-height:1;text-decoration:none;display:flex}.app-header-eyebrow{letter-spacing:.1em;text-transform:uppercase;opacity:.75;font-size:.58rem;font-weight:700;line-height:1.1}.app-header-wordmark{font-size:1.2rem;font-weight:700;line-height:1.1}.app-header-desktop-nav{flex:1;align-items:center;gap:2px;margin-left:8px;display:none}.app-header-nav-link{border-radius:var(--radius-pill);color:#ffffffd1;align-items:center;height:36px;padding:0 14px;font-size:.88rem;font-weight:600;transition:background-color .14s,color .14s;display:inline-flex}.app-header-nav-link:hover{color:#fff;background:#ffffff29}.app-header-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.app-header-action{border-radius:var(--radius-md);color:#ffffffd1;justify-content:center;align-items:center;width:38px;height:38px;transition:background-color .14s,color .14s;display:inline-flex}.app-header-action:hover{color:#fff;background:#ffffff29}@media (max-width:759px){.app-header-action-desktop-only{display:none}}.bottom-nav{z-index:10;height:calc(58px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 14px #28100c12}.bottom-nav-item{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 4px 6px;text-decoration:none;transition:color .14s;display:flex;position:relative}.bottom-nav-item[data-active=true]{color:var(--accent)}.bottom-nav-pill{pointer-events:none;background:0 0;border-radius:10px;width:72px;transition:background .14s;position:absolute;top:4px;bottom:6px;left:50%;transform:translate(-50%)}.bottom-nav-item[data-active=true] .bottom-nav-pill{background:color-mix(in srgb, var(--accent) 13%, transparent)}.bottom-nav-icon{stroke-width:1.75px;flex:0 0 22px;width:22px;height:22px}.bottom-nav-label{letter-spacing:.01em;font-size:.65rem;font-weight:600;line-height:1}.global-timer-trigger{z-index:20;right:16px;bottom:calc(70px + env(safe-area-inset-bottom));border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));border-radius:var(--radius-pill);background:var(--accent);min-width:58px;min-height:42px;box-shadow:var(--shadow);color:var(--accent-on);cursor:pointer;justify-content:center;align-items:center;gap:6px;font-weight:800;display:inline-flex;position:fixed}.global-timer-trigger:hover{background:var(--accent-dark)}.timer-notification-prompt{z-index:21;right:16px;bottom:calc(124px + env(safe-area-inset-bottom));border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(340px,100vw - 32px);box-shadow:var(--shadow);color:var(--text);gap:12px;padding:14px;display:grid;position:fixed}.timer-notification-prompt p{margin:0;font-weight:800}.timer-notification-prompt-actions{justify-content:end;gap:8px;display:flex}.timer-notification-prompt-action{min-height:34px;padding:0 11px;font-size:.78rem}.global-timer-dialog{z-index:30;background:0 0;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.global-timer-dialog::backdrop{background:color-mix(in srgb, var(--background) 62%, #00000057);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.global-timer-dialog-panel{border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);width:100%;max-height:min(82vh,720px);color:var(--text);padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-bottom:0;align-content:start;gap:18px;display:grid;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.global-timer-dialog-header{justify-content:space-between;align-items:start;gap:16px;display:flex}.global-timer-dialog-header h2{font-family:var(--font-serif), Georgia, serif;margin:2px 0 0;font-size:1.8rem}.global-timer-close{min-height:36px;padding:0 12px;font-size:.82rem}.global-timer-groups{align-content:start;gap:18px;display:grid}.global-timer-group{align-content:start;gap:8px;display:grid}.global-timer-group h3{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.85rem}.global-timer-list{align-content:start;gap:8px;margin:0;padding:0;list-style:none;display:grid}.global-timer-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;display:grid}.global-timer-row[data-timer-state=finished]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface-muted))}.global-timer-link{border-radius:6px;gap:2px;min-width:0;padding:4px;display:grid}.global-timer-link:hover,.global-timer-link:focus-visible{background:color-mix(in srgb, var(--accent) 10%, transparent)}.global-timer-label{overflow-wrap:anywhere;font-weight:800}.global-timer-value{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.global-timer-row[data-timer-state=finished] .global-timer-value{color:var(--accent-dark);font-weight:900}.global-timer-actions{flex-wrap:wrap;justify-content:end;gap:6px;display:flex}.global-timer-action{min-height:32px;padding:0 9px;font-size:.76rem}.settings-page{max-width:540px;margin:0 auto;padding:16px 0 32px}.settings-page-title{color:var(--text);margin:0 0 24px;font-size:clamp(2rem,6vw,2.8rem);font-weight:700}.settings-page-sections{gap:20px;display:grid}.settings-page-section{display:grid}.settings-page-section>h2{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px;padding:0 4px;font-size:.72rem;font-weight:800}.settings-page-section-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.settings-page-row{border:none;border-top:1px solid var(--border);background:var(--surface);min-height:52px;color:var(--text);cursor:pointer;font:inherit;text-align:left;border-radius:0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 16px;font-size:.95rem;font-weight:600;text-decoration:none;display:flex}.settings-page-row:first-child{border-top:none}.settings-page-row:hover{background:var(--surface-muted)}.settings-page-row[aria-pressed]{cursor:pointer}.settings-page-row-muted{color:var(--muted);cursor:default;font-weight:500}.settings-page-row-muted:hover{background:var(--surface)}.settings-page-row-danger{color:var(--accent-dark)}.settings-page-row .settings-icon{color:var(--muted);flex:none}.settings-page-shop{grid-template-columns:repeat(4,1fr);gap:0;display:grid}.settings-page-shop-option{border:none;border-left:1px solid var(--border);background:var(--surface);min-height:72px;color:var(--muted);cursor:pointer;font:inherit;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 4px;font-size:.75rem;font-weight:700;transition:background .12s;display:flex}.settings-page-shop-option:first-child{border-left:none}.settings-page-shop-option:hover{background:var(--surface-muted)}.settings-page-shop-option[data-active=true]{background:color-mix(in srgb, var(--accent) 8%, var(--surface));color:var(--accent-dark)}.settings-page-shop-icon{border-radius:8px;flex:0 0 32px;width:32px;height:32px}.page-shell{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.eyebrow{color:var(--accent-dark);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.recipes-page-title{font-family:var(--font-serif), Georgia, serif;overflow-wrap:anywhere;margin:0;font-size:clamp(2.25rem,5vw,4rem);font-weight:700;line-height:.95}.settings-icon{stroke-width:2px;flex:0 0 18px;width:18px;height:18px}.settings-error{color:var(--danger);margin:0;font-size:.88rem;font-weight:700}.settings-switch{border:1px solid var(--border);background:var(--surface-muted);border-radius:999px;flex:0 0 42px;align-items:center;width:42px;height:24px;padding:2px;display:inline-flex}.settings-switch span{background:var(--muted);border-radius:999px;width:18px;height:18px;transition:background .15s,transform .15s}.settings-switch[data-active=true]{border-color:var(--accent);background:var(--accent)}.settings-switch[data-active=true] span{background:var(--on-accent);transform:translate(18px)}@media (min-width:760px){.bottom-nav{display:none}.global-timer-trigger{bottom:24px;right:24px}.timer-notification-prompt{bottom:78px;right:24px}.global-timer-dialog{inset:0}.global-timer-dialog-panel{border:1px solid var(--border);border-radius:var(--radius-lg);width:min(440px,100vw - 48px);height:auto;max-height:calc(100vh - 48px);padding:20px;inset:auto 24px 24px auto}.app-header-desktop-nav{display:flex}.page-shell{padding-bottom:0}}.recipes-search{gap:0;display:grid}.offline-list-view>.recipes-search{margin-top:-28px}.recipes-search-zone{z-index:1;gap:10px;padding:12px 0 16px;display:grid;position:relative}.recipes-search-zone:before{content:"";background:var(--accent);z-index:-1;width:100vw;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.recipes-search-bar{display:block}.recipes-search-input{border-radius:var(--radius-lg);width:100%;min-height:46px;color:var(--text);font:inherit;background:#fffffff7;border:none;padding:0 16px;font-size:1rem;transition:box-shadow .15s;display:block}.recipes-search-input::placeholder{color:#9c7b72}.recipes-search-input:focus{outline:none;box-shadow:0 0 0 3px #ffffff73}.recipes-filter-pills{scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:7px;display:flex;overflow-x:auto}.recipes-filter-pills::-webkit-scrollbar{display:none}@media (min-width:760px){.recipes-filter-pills{flex-wrap:wrap;overflow-x:visible}}.recipes-filter-pill{border-radius:var(--radius-pill);cursor:pointer;background:#ffffff26;border:1.5px solid #ffffff52;flex:none;align-items:center;gap:0;transition:border-color .15s,background-color .15s;display:inline-flex;overflow:hidden}.recipes-filter-pill:hover{background:#ffffff38;border-color:#ffffff8c}.recipes-filter-pill[data-active]{background:#ffffff47;border-color:#ffffffb3}.recipes-filter-pill-icon{color:#ffffffd9;stroke-width:2px;flex:0 0 14px;width:14px;height:14px;margin-left:11px}.recipes-filter-pill select{appearance:none;color:#fff;font:inherit;cursor:pointer;white-space:nowrap;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.7)' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 10px center no-repeat;border:none;padding:7px 30px 7px 7px;font-size:.875rem;font-weight:700}.recipes-filter-pill select:focus{outline:none}.recipes-filter-pill[data-active] select{color:#fff;font-weight:800}.recipes-search-actions{justify-content:space-between;align-items:center;padding:14px 0 0;display:flex}.recipes-quickies-button{border-radius:var(--radius-pill);background:var(--accent);color:#fff;font:inherit;cursor:pointer;white-space:nowrap;border:none;flex:none;align-items:center;gap:5px;padding:9px 18px;font-size:.9rem;font-weight:800;transition:background .15s;display:inline-flex;box-shadow:0 2px 12px #b8326859}.recipes-quickies-button:hover{background:var(--accent-dark)}.recipes-count{color:var(--muted);font-size:.9rem;font-weight:600}.recipes-active-filters{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.recipes-active-filter{border:1px solid var(--border);background:var(--surface-muted);min-height:30px;color:var(--accent-dark);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:.84rem;font-weight:800;display:inline-flex}.recipes-active-filter-label{min-width:0}.recipes-active-filter-icon{stroke-width:2.4px;flex:0 0 14px;width:14px;height:14px}.recipes-active-filter:hover{border-color:var(--accent);background:var(--surface)}.success-button{border-radius:var(--radius-md);background:var(--success);color:var(--success-on);font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 14px;font-weight:700;display:inline-flex}.success-button:hover{background:color-mix(in srgb, var(--success) 85%, #000)}.danger-button{border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-surface);color:var(--danger);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 14px;font-weight:700;display:inline-flex}.danger-button:hover{background:color-mix(in srgb, var(--danger) 8%, var(--surface));border-color:var(--danger)}.recipe-filter-dropdown{border:1px solid var(--border);background:var(--surface);border-radius:6px;display:grid}.recipe-filter-dropdown summary{min-height:42px;color:var(--muted);cursor:pointer;padding:10px 12px;font-weight:800}.recipe-filter-options{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;padding:12px;display:grid}.recipe-filter-option{color:var(--text);grid-template-columns:18px minmax(0,1fr) auto;align-items:start;gap:8px;font-size:.9rem;line-height:1.35;display:grid}.recipe-filter-option input{width:18px;height:18px;accent-color:var(--accent);margin:1px 0 0}.recipe-filter-option span:last-child{color:var(--muted);opacity:.72;font-weight:800}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.recipe-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;overflow:hidden}.recipe-card a{display:block}.recipe-card:hover{border-color:color-mix(in srgb, var(--accent) 60%, var(--border));box-shadow:var(--shadow)}.recipe-card-image{aspect-ratio:3/2;background:var(--surface-muted);position:relative;overflow:hidden}.recipe-card-image img{object-fit:cover}.recipe-card-overlay{color:var(--overlay-text);background:linear-gradient(#140a0800 0%,#140a081f 40%,#140a08bf 72%,#140a08e6 100%);flex-direction:column;justify-content:end;gap:5px;padding:14px;display:flex;position:absolute;inset:0}.recipe-card-overlay .recipe-card-stats{margin-top:2px}.recipe-card-overlay .recipe-stat{color:#ffffffd1;font-size:.8rem}.recipe-card-overlay .recipe-stat-icon{opacity:.7}.recipe-card-kicker{letter-spacing:0;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.recipe-card-image-fallback{height:100%;color:var(--muted);place-items:center;font-weight:700;display:grid}.recipe-card-body{align-content:start;gap:10px;padding:12px;display:grid}.recipe-card-overlay h2{font-family:var(--font-serif), Georgia, serif;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1.1rem;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.recipe-card-stats,.recipe-detail-stats{flex-wrap:wrap;gap:8px 10px;display:flex}.recipe-stat{min-width:0;color:var(--muted);align-items:center;gap:5px;font-size:.85rem;font-weight:800;line-height:1.25;display:inline-flex}.recipe-stat span{overflow-wrap:anywhere;min-width:0}.recipe-stat-icon{flex:0 0 16px;width:16px;height:16px}.recipes-empty{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--muted);margin:0;padding:24px}.recipes-load-more{color:var(--muted);justify-items:center;gap:10px;font-weight:800;display:grid}.recipes-load-more p{margin:0}.recipe-detail-shell{gap:28px;display:grid}.recipe-detail-back-link{border:1px solid var(--border);background:var(--surface);max-width:100%;min-height:38px;color:var(--muted);overflow-wrap:anywhere;border-radius:6px;justify-self:start;align-items:center;padding:0 14px;font-weight:700;display:inline-flex}.recipe-detail-back-link:hover{border-color:var(--accent);color:var(--accent-dark)}.recipe-detail-edit-link{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:36px;color:var(--text);align-items:center;gap:6px;padding:0 14px;font-size:.9rem;font-weight:700;display:inline-flex}.recipe-detail-edit-link:hover{border-color:var(--accent);color:var(--accent-dark)}.online-only-disabled{cursor:not-allowed;opacity:.55}.recipe-detail-delete-form{display:contents}.recipe-detail-delete-button{border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-surface);min-height:36px;color:var(--danger);cursor:pointer;font:inherit;align-items:center;gap:6px;padding:0 14px;font-size:.9rem;font-weight:700;display:inline-flex}.recipe-detail-delete-button:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 8%, var(--surface));border-color:var(--danger)}.recipe-detail-delete-button:disabled{cursor:not-allowed;opacity:.48}.recipe-detail-delete-error{color:var(--danger);text-align:right;flex-basis:100%;margin:0;font-size:.9rem;font-weight:700}.recipe-detail-header{border-radius:var(--radius-xl);background:#2a1410;align-items:flex-end;min-height:320px;display:flex;position:relative;overflow:hidden}.recipe-detail-image{z-index:0;background:0 0;position:absolute;inset:0}.recipe-detail-image img{object-fit:cover}.recipe-detail-image-fallback{color:#ffffff59;place-items:center;height:100%;font-weight:700;display:grid}.recipe-detail-heading{z-index:1;color:#fff;background:linear-gradient(#0000 0%,#140a08bf 55%,#140a08f2 100%);flex-direction:column;gap:10px;width:100%;padding:64px 24px 24px;display:flex;position:relative}.recipe-detail-heading .eyebrow{color:#ffffffb8;margin:0}.recipe-detail-heading h1{font-family:var(--font-serif), Georgia, serif;overflow-wrap:anywhere;margin:0;font-size:clamp(1.8rem,5vw,3.2rem);font-weight:700;line-height:1.1}.recipe-detail-stats-row{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:2px;display:flex}.recipe-detail-stats{gap:8px 14px}.recipe-detail-stats .recipe-stat{color:#ffffffd1;font-size:.92rem}.recipe-detail-stats .recipe-stat-icon{opacity:.72}.recipe-detail-stats-actions{flex-wrap:wrap;flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.recipe-detail-stats-actions .recipe-add-to-cooking-list-error,.recipe-detail-stats-actions .recipe-cook-now-error{color:#ffb3a8;max-width:min(320px,100%)}.recipe-detail-stats-actions .recipe-add-to-cooking-list-button{background:var(--accent);color:#fff;border:none}.recipe-detail-stats-actions .recipe-add-to-cooking-list-button:hover:not(:disabled){background:var(--accent-dark);border:none}.recipe-detail-stats-actions .recipe-add-to-cooking-list-button[data-status=active]{color:#fff;background:#ffffff26;border:1px solid #ffffff4d}.recipe-detail-stats-actions .recipe-cook-now-button{color:#fff;background:#ffffff1f;border-color:#ffffff4d}.recipe-detail-stats-actions .recipe-cook-now-button:hover:not(:disabled){background:#ffffff38;border-color:#ffffff80}.recipe-detail-stats-actions .recipe-cook-now-button[data-status=completed]{color:#fff;background:#ffffff26;border:1px solid #ffffff4d}.recipe-detail-stats-actions .recipe-detail-share-button{color:#fff;background:#ffffff1f;border-color:#ffffff4d}.recipe-detail-stats-actions .recipe-detail-share-button:hover{background:#ffffff38;border-color:#ffffff80}.recipe-detail-tags{gap:8px;display:grid}.recipe-detail-tag-list{flex-wrap:wrap;gap:6px;display:flex}.recipe-detail-tag-link{border-radius:var(--radius-pill);color:#ffffffd9;background:#ffffff1a;border:1px solid #ffffff40;align-items:center;min-height:28px;padding:0 10px;font-size:.82rem;font-weight:700;display:inline-flex}.recipe-detail-tag-link:hover{background:#fff3;border-color:#ffffff73}@media (min-width:760px){.recipe-detail-header{min-height:unset;background:0 0;border-radius:0;grid-template-columns:1fr minmax(280px,42%);align-items:end;gap:32px;display:grid;overflow:visible}.recipe-detail-heading{z-index:auto;color:var(--text-primary);background:0 0;justify-content:center;min-height:0;padding:0;position:static}.recipe-detail-heading .eyebrow{color:var(--text-secondary)}.recipe-detail-heading h1{color:var(--text-primary);font-size:clamp(2.4rem,4vw,4rem)}.recipe-detail-stats .recipe-stat{color:var(--text-secondary)}.recipe-detail-stats .recipe-stat-icon{opacity:1;color:var(--text-secondary)}.recipe-detail-stats-actions .recipe-add-to-cooking-list-error,.recipe-detail-stats-actions .recipe-cook-now-error{color:var(--danger)}.recipe-detail-stats-actions .recipe-add-to-cooking-list-button{background:var(--accent);color:#fff;border:none}.recipe-detail-stats-actions .recipe-add-to-cooking-list-button:hover:not(:disabled){background:var(--accent-dark)}.recipe-detail-stats-actions .recipe-add-to-cooking-list-button[data-status=active]{border:1px solid var(--accent);color:var(--accent);background:0 0}.recipe-detail-stats-actions .recipe-cook-now-button{border-color:var(--border);color:var(--text-primary);background:0 0}.recipe-detail-stats-actions .recipe-cook-now-button:hover:not(:disabled){background:var(--surface-2);border-color:var(--border)}.recipe-detail-stats-actions .recipe-cook-now-button[data-status=completed]{border:1px solid var(--accent);color:var(--accent);background:0 0}.recipe-detail-stats-actions .recipe-detail-share-button{border-color:var(--border);color:var(--text-primary);background:0 0}.recipe-detail-stats-actions .recipe-detail-share-button:hover{background:var(--surface-2);border-color:var(--border)}.recipe-detail-tag-link{border-color:var(--border);background:var(--surface-2);color:var(--text-secondary)}.recipe-detail-tag-link:hover{background:var(--surface-3);border-color:var(--border-strong)}.recipe-detail-image{z-index:auto;aspect-ratio:3/2;border-radius:var(--radius-xl);min-height:0;position:relative;inset:auto;overflow:hidden}}.recipe-cooking-layout{grid-template-columns:minmax(240px,360px) minmax(0,1fr);align-items:start;gap:32px;display:grid;position:relative}.recipe-mobile-tab-bar,.recipe-mobile-tab-sentinel{display:none}.recipe-mobile-tabs{background:var(--surface-muted);border-radius:var(--radius-pill);gap:3px;padding:3px;display:none}.recipe-mobile-tab{border-radius:var(--radius-pill);min-width:0;min-height:40px;color:var(--muted);font:inherit;background:0 0;border:none;font-weight:700;transition:background-color .14s,color .14s}.recipe-mobile-tab[aria-selected=true]{background:var(--surface);color:var(--accent);font-weight:800;box-shadow:0 1px 4px #28100c1a}.recipe-ingredients-panel{border-top:1px solid var(--border);min-width:0;padding-top:18px}.offline-recipes-shell{gap:24px;display:grid}.offline-app,.offline-list,.offline-list-view,.offline-detail,.offline-detail-layout,.offline-message{gap:20px;display:grid}.recipe-method-panel{gap:32px;min-width:0;display:grid}.recipe-section{border-top:1px solid var(--border);min-width:0;padding-top:18px}.recipe-ingredients-panel h2,.recipe-section h2{font-family:var(--font-serif), Georgia, serif;margin:0 0 16px;font-size:1.4rem;font-weight:700;line-height:1.2}.ingredients-panel-header{justify-content:space-between;align-items:start;gap:14px;margin-bottom:16px;display:flex}.ingredients-panel-header h2{margin-bottom:0}.ingredients-panel-actions{flex-wrap:wrap;justify-content:end;align-items:center;gap:8px;min-width:0;display:flex}.ingredient-copy-button{border:1px solid var(--border);background:var(--surface);width:28px;min-height:28px;color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:.82rem;font-weight:700;line-height:1;display:inline-flex}.ingredient-copy-button:hover:not(:disabled){border-color:var(--accent-dark);color:var(--accent-dark)}.ingredient-copy-button[data-status=copied]{border-color:color-mix(in srgb, var(--success) 42%, var(--border));color:var(--success)}.ingredient-copy-button[data-status=failed]{border-color:color-mix(in srgb, var(--danger) 42%, var(--border));color:var(--danger)}.portion-adjuster{color:var(--muted);flex-wrap:nowrap;justify-content:end;align-items:center;gap:4px;font-size:.82rem;font-weight:700;display:flex}.portion-adjuster button{border:1px solid var(--border);background:var(--surface);min-width:28px;height:28px;color:var(--text);font:inherit;cursor:pointer;border-radius:6px;place-items:center;line-height:1;display:inline-grid}.portion-adjuster button:hover:not(:disabled){border-color:var(--accent-dark);color:var(--accent-dark)}.portion-adjuster button:disabled{opacity:.42;cursor:not-allowed}.portion-adjuster span{text-align:center;min-width:70px}.portion-adjuster .portion-reset{width:auto;padding:0 8px}.ingredient-list,.note-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ingredient-list li,.note-list li{min-width:0;color:var(--text);overflow-wrap:anywhere;line-height:1.45}.ingredient-list li{border-bottom:1px solid color-mix(in srgb, var(--border) 70%, transparent);padding-bottom:10px}.ingredient-list li:last-child{border-bottom:0;padding-bottom:0}.ingredient-list-item{grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:10px;display:grid}.ingredient-check-row{grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;display:grid}.ingredient-check-row input{width:18px;height:18px;accent-color:var(--accent);margin:0}.ingredient-check-row[data-checked=true]{color:var(--muted);opacity:.62}.ingredient-check-row[data-checked=true] span{text-decoration:line-through;text-decoration-thickness:2px;-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 72%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 72%, transparent)}.ingredient-shop-link{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--muted);border-radius:6px;place-items:center;display:inline-grid}.ingredient-shop-link:hover{border-color:var(--accent);background:var(--surface-muted)}.ingredient-shop-icon{border-radius:3px;width:18px;height:18px}.ingredient-section-heading{color:var(--accent-dark);text-transform:uppercase;margin-top:10px;font-size:.82rem;font-weight:800}.ingredient-note{color:var(--muted);font-style:italic}.direction-list{gap:18px;margin:0;padding-left:1.45rem;display:grid}.direction-list li{overflow-wrap:anywhere;padding-left:6px;line-height:1.65}.direction-step-button{width:100%;color:inherit;cursor:pointer;font:inherit;line-height:inherit;text-align:left;background:0 0;border:0;padding:0;display:block}.direction-step-button:hover{color:var(--accent-dark)}.direction-list li[data-active=true] .direction-step-button{color:var(--text);font-weight:800}.direction-list li::marker{color:var(--accent-dark);font-weight:800}.recipe-step-timer-list{gap:6px;margin-top:10px;display:grid}.recipe-step-timer{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);flex-wrap:wrap;align-items:center;gap:8px;width:fit-content;max-width:100%;padding:6px 8px;font-size:.88rem;display:flex}.recipe-step-timer-label{color:var(--text);font-weight:800}.recipe-step-timer-value{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.recipe-step-timer[data-timer-state=finished]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface-muted))}.recipe-step-timer-action{min-height:30px;padding:0 9px;font-size:.78rem}.nutrition-list{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:0;display:grid}.nutrition-list div{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;padding:12px 14px}.nutrition-list dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;overflow-wrap:anywhere;font-size:.78rem;font-weight:700}.nutrition-list dd{color:var(--text);overflow-wrap:anywhere;margin:6px 0 0;font-size:1.2rem;font-weight:800}.recipe-completion-slot{min-width:0}.recipe-completion-box{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--accent) 8%, var(--surface));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 18px;padding:16px;display:flex}.recipe-completion-copy{flex:240px;gap:4px;min-width:min(240px,100%);display:grid}.recipe-completion-box h2{color:var(--text);margin:0;font-size:1rem;line-height:1.25}.recipe-completion-box p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.45}.recipe-completion-form{display:contents}.recipe-completion-button{flex:none;gap:8px;min-height:40px}.recipe-completion-error{color:var(--danger);flex-basis:100%;font-weight:700}.recipe-detail-footer{border-top:1px solid var(--border);gap:16px;padding-top:18px;display:grid}.recipe-source-section{gap:8px;display:grid}.recipe-nutrition-section{gap:12px;display:grid}.recipe-source-section h2,.recipe-nutrition-section h2{font-family:var(--font-serif), Georgia, serif;margin:0;font-size:1.4rem;font-weight:700;line-height:1.2}.recipe-source-section a,.recipe-source-section span{color:var(--accent-dark);overflow-wrap:anywhere;font-weight:700}.recipe-source-section a{text-underline-offset:3px;text-decoration:underline}.recipe-detail-utility-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;display:flex}.recipe-last-eaten{color:var(--muted);margin:0;font-size:.92rem;font-weight:700}.recipe-last-eaten time{color:var(--text)}.recipe-add-to-cooking-list-form{display:contents}.recipe-add-to-cooking-list-button{gap:7px;min-height:36px;padding:0 12px;font-size:.92rem}.recipe-add-to-cooking-list-button[data-status=active]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));color:var(--accent-dark)}.recipe-add-to-cooking-list-button[data-status=pending]{cursor:wait}.recipe-add-to-cooking-list-overlay{z-index:1000;background:color-mix(in srgb, var(--background) 72%, #00000047);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:wait;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.recipe-add-to-cooking-list-overlay-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-height:52px;box-shadow:var(--shadow);color:var(--text);align-items:center;gap:10px;padding:0 16px;font-weight:800;display:inline-flex}.recipe-add-to-cooking-list-spinner{width:19px;height:19px;color:var(--accent-dark);animation:.85s linear infinite recipe-add-spinner}@keyframes recipe-add-spinner{to{transform:rotate(360deg)}}.recipe-add-to-cooking-list-error{color:var(--danger);text-align:right;flex:100%;margin:0;font-size:.88rem;font-weight:700}.recipe-cook-now-form{display:contents}.recipe-cook-now-button{gap:7px;min-height:36px;padding:0 12px;font-size:.92rem}.recipe-cook-now-button[data-status=completed]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));color:var(--accent-dark)}.recipe-cook-now-button[data-status=pending]{cursor:wait}.recipe-cook-now-error{color:var(--danger);text-align:right;flex:100%;margin:0;font-size:.88rem;font-weight:700}.recipe-detail-share-button{gap:7px;min-height:36px;padding:0 12px;font-size:.92rem}.recipe-detail-share-button[data-status=copied],.recipe-detail-share-button[data-status=ready]{border-color:var(--accent);color:var(--accent-dark)}.recipe-detail-share-url{border:1px solid var(--border);background:var(--control-background);min-width:min(260px,100%);max-width:360px;min-height:36px;color:var(--muted);border-radius:6px;flex:260px;padding:0 10px;font-size:.86rem}.recipe-edit-shell,.recipe-edit-form{gap:28px;display:grid}.recipe-edit-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:end;gap:18px;padding-bottom:22px;display:flex}.recipe-edit-header>div:first-child{gap:14px;min-width:0;display:grid}.recipe-edit-header h1{font-family:var(--font-serif), Georgia, serif;overflow-wrap:anywhere;margin:0;font-size:clamp(2.1rem,8vw,4rem);line-height:1}.recipe-edit-actions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.recipe-edit-footer-actions{padding-top:4px}.recipe-edit-section{border-bottom:1px solid var(--border);gap:12px;padding-bottom:24px;display:grid}.recipe-edit-section h2{color:var(--muted);margin:0;font-size:.95rem;line-height:1.25}.recipe-edit-section label{color:var(--muted);gap:6px;font-size:.9rem;font-weight:700;display:grid}.recipe-edit-accordion{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;display:grid}.recipe-edit-accordion summary{min-height:var(--control-height);color:var(--muted);cursor:pointer;align-items:center;padding:0 14px;font-size:.95rem;font-weight:800;line-height:1.25;display:flex}.recipe-edit-accordion summary:hover{color:var(--accent-dark)}.recipe-edit-accordion[open]{padding-bottom:14px}.recipe-edit-accordion[open] summary{border-bottom:1px solid var(--border);margin-bottom:14px}.recipe-edit-accordion .recipe-edit-nutrition-field{padding:0 14px}.recipe-edit-time-field{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.recipe-edit-time-field legend{color:var(--muted);padding:0;font-size:.9rem;font-weight:700}.recipe-edit-time-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.recipe-edit-time-control span{font-size:.8rem}.recipe-edit-time-fallback{color:var(--muted);margin:0;font-size:.82rem;font-weight:500}.recipe-edit-tag-field{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.recipe-edit-tag-field legend{color:var(--muted);padding:0;font-size:.9rem;font-weight:700}.recipe-edit-tag-list{flex-wrap:wrap;gap:8px;display:flex}.recipe-edit-tag-chip{border:1px solid var(--border);background:var(--control-background);min-height:34px;color:var(--foreground);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:.88rem;font-weight:700;display:inline-flex}.recipe-edit-tag-chip:hover{border-color:var(--accent)}.recipe-edit-tag-empty{color:var(--muted);margin:0;font-size:.86rem}.recipe-edit-tag-select{gap:6px;display:grid}.recipe-edit-tag-add{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.recipe-edit-nutrition-field{gap:10px;min-width:0;display:grid}.recipe-edit-nutrition-list{gap:10px;display:grid}.recipe-edit-nutrition-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.recipe-edit-row-list{gap:10px;display:grid}.recipe-edit-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.recipe-edit-row-field{min-width:0}.recipe-edit-symbol-field{gap:6px;min-width:0;display:grid}.recipe-edit-symbol-label{color:var(--muted);font-size:.9rem;font-weight:700}.recipe-edit-symbol-toolbar{border:1px solid color-mix(in srgb, var(--border) 74%, transparent);background:color-mix(in srgb, var(--surface-muted) 70%, var(--surface));border-radius:999px;flex-wrap:wrap;gap:7px;width:fit-content;max-width:100%;padding:3px;display:inline-flex}.recipe-edit-symbol-group{gap:2px;display:inline-flex}.recipe-edit-symbol-button{min-width:30px;min-height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:.84rem;font-weight:800;line-height:1;display:inline-flex}.recipe-edit-symbol-button:hover{background:var(--control-background);color:var(--accent-dark)}.recipe-edit-symbol-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.recipe-edit-row-controls{flex-wrap:wrap;grid-area:1/2;justify-content:end;gap:6px;display:flex}.recipe-edit-small-button,.recipe-edit-row-button{min-height:var(--control-height);padding:0 10px;font-size:.82rem}.recipe-edit-step-textarea{min-height:92px}.recipe-timer-definition-list{border-left:2px solid color-mix(in srgb, var(--accent) 55%, var(--border));grid-column:1/-1;gap:8px;padding:10px 0 0 14px;display:grid}.recipe-timer-definition-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);grid-template-columns:minmax(0,1fr) minmax(120px,.45fr) auto;align-items:end;gap:8px;padding:10px;display:grid}.recipe-timer-definition-row label span{font-size:.8rem}.recipe-timer-duration-input{min-width:0}.recipe-add-timer-button{justify-self:start}.recipe-edit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.recipe-edit-image-preview{aspect-ratio:4/3;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--control-background);width:min(240px,100%);position:relative;overflow:hidden}.recipe-edit-image-preview img{object-fit:cover}.recipe-import-image-options{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:10px;max-width:100%;display:grid;overflow:hidden}.recipe-import-image-option{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--control-background);min-width:0;max-width:100%;color:var(--muted);cursor:pointer;gap:8px;padding:8px;display:grid}.recipe-import-image-option:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 24%, transparent)}.recipe-import-image-option input{width:18px;height:18px;accent-color:var(--accent);margin:0}.recipe-import-image-frame{aspect-ratio:4/3;background:var(--surface-muted);border-radius:6px;min-width:0;max-width:100%;display:block;overflow:hidden}.recipe-import-image-frame img{object-fit:cover;width:100%;max-width:100%;height:100%;display:block}.recipe-import-image-none{text-align:center;align-content:center;justify-items:center;min-height:126px;font-weight:800}@media (min-width:900px){.recipe-ingredients-panel{position:sticky;top:24px}}@media (max-width:700px){.recipe-edit-grid{grid-template-columns:1fr}.recipe-edit-header{flex-direction:column;align-items:stretch}.recipe-edit-actions{justify-content:stretch}.recipe-edit-actions .primary-button,.recipe-edit-actions .secondary-button{flex:1}.recipe-edit-row,.recipe-edit-nutrition-row{grid-template-columns:1fr;align-items:stretch}.recipe-edit-row-controls{grid-area:auto/1;justify-content:stretch}.recipe-edit-row-button{flex:1}.recipe-timer-definition-row,.recipe-edit-tag-add{grid-template-columns:1fr}}@media (max-width:640px){.recipes-page,.recipe-detail-page,.recipe-edit-page,.cooking-list-page,.cooking-history-page{padding-top:28px}.cooking-list-form-grid,.cooking-list-item,.cooking-history-item{grid-template-columns:1fr;align-items:stretch}.cooking-list-item,.cooking-history-item{gap:12px;display:grid}.cooking-list-actions{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;justify-self:stretch;display:grid}.cooking-list-item>.cooking-list-actions>:first-child:nth-last-child(2){grid-column:2}.cooking-list-icon-button{gap:5px;padding:0 7px;font-size:.82rem}.cooking-list-item.cooking-list-linked-item{gap:0}.cooking-list-item-link{width:100%;padding:10px 12px 12px}.cooking-list-linked-item>.cooking-list-actions{padding:0 12px 10px}.cooking-history-linked-item>a{gap:12px;display:grid}.cooking-history-linked-item .cooking-list-actions{grid-template-columns:1fr}.cooking-history-linked-item time{justify-self:start}.cooking-list-actions form,.cooking-list-actions button{width:100%}.recipes-page-title{font-size:clamp(2.1rem,15vw,3.1rem)}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recipe-card-overlay{padding:10px}.recipe-card-kicker{font-size:.64rem}.recipe-card-overlay h2{font-size:.92rem}.recipe-card-stats{flex-wrap:wrap;gap:4px 8px;display:flex}.recipe-stat{font-size:.76rem}.recipe-stat-icon{flex-basis:14px;width:14px;height:14px}}@media (max-width:899px){.recipe-cooking-layout{grid-template-columns:1fr;gap:18px}.recipe-mobile-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.recipe-mobile-tab-bar{z-index:9;background:var(--background);gap:8px;padding:12px 0;display:grid;position:sticky;top:58px}.recipe-mobile-tab-bar[data-is-sticky=true]{box-shadow:0 8px 12px -12px #28100ca6}.recipe-mobile-tab-sentinel{width:1px;height:1px;display:block;position:absolute;top:0}.recipe-cooking-layout[data-active-tab=ingredients] .recipe-method-panel,.recipe-cooking-layout[data-active-tab=recipe] .recipe-ingredients-panel{display:none}.ingredients-panel-header{flex-direction:column;align-items:stretch}.ingredients-panel-actions,.portion-adjuster{justify-content:start}}@media (max-width:640px){.recipe-detail-back-link{justify-content:center}.recipe-detail-header{min-height:260px}.recipe-detail-heading{padding:40px 16px 16px}.recipe-detail-stats-actions .recipe-add-to-cooking-list-button,.recipe-detail-stats-actions .recipe-cook-now-button,.recipe-detail-stats-actions .recipe-detail-share-button{justify-content:center;width:40px;min-width:40px;padding:0}.recipe-detail-stats-actions .recipe-add-to-cooking-list-button span,.recipe-detail-stats-actions .recipe-cook-now-button span,.recipe-detail-stats-actions .recipe-detail-share-button span{display:none}}
