:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#fbfaf7;--surface:#fff;--surface-muted:#f3f0e9;--border:#ded8cd;--text:#24211d;--muted:#6f675e;--accent:#2f6f5e;--accent-dark:#1e5548;--danger:#a33b32;--shadow:0 10px 30px #24211d14;--control-background:#fff;--on-accent:#fff;--overlay-text:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#14110e;--surface:#201c17;--surface-muted:#2b251e;--border:#4a4035;--text:#f5efe6;--muted:#b8aca0;--accent:#6db79d;--accent-dark:#9dd8c2;--danger:#f08a7f;--shadow:0 14px 34px #00000059;--control-background:#211d18;--on-accent:#10241d;--overlay-text:#fffaf1}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#14110e;--surface:#201c17;--surface-muted:#2b251e;--border:#4a4035;--text:#f5efe6;--muted:#b8aca0;--accent:#6db79d;--accent-dark:#9dd8c2;--danger:#f08a7f;--shadow:0 14px 34px #00000059;--control-background:#211d18;--on-accent:#10241d;--overlay-text:#fffaf1}*{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}a{color:inherit;text-decoration:none}button,input{font:inherit}.page-shell{width:min(1180px,100% - 32px);margin:0 auto}.button{background:var(--accent);min-height:42px;color:var(--on-accent);cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0 16px;font-weight:700;display:inline-flex}.button:hover{background:var(--accent-dark)}.button:disabled{opacity:.48;cursor:not-allowed}.text-input,.select-input{border:1px solid var(--border);background:var(--control-background);width:100%;min-height:44px;color:var(--text);border-radius:6px;padding:0 12px}.select-input{cursor:pointer}.muted{color:var(--muted)}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--border);background:var(--surface);width:min(100%,360px);box-shadow:var(--shadow);border-radius:8px;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{min-height:100vh;padding:40px 0 56px}.recipes-shell{gap:28px;display:grid}.recipes-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:end;gap:20px;padding-bottom:22px;display:flex}.recipes-header-home-link{min-width:0;color:inherit;display:block}.recipes-header-home-link:hover .recipes-header-title,.recipes-header-home-link:hover h1{color:var(--accent-dark)}.eyebrow{color:var(--accent-dark);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:800}.recipes-header-title{margin:0;font-size:clamp(2.25rem,5vw,4rem);font-weight:700;line-height:.95}.recipes-header-actions{align-items:center;gap:8px;display:flex}.settings-menu{display:inline-flex;position:relative}.settings-button{border:1px solid var(--border);background:var(--surface);width:42px;min-height:38px;color:var(--muted);cursor:pointer;border-radius:6px;place-items:center;font-size:1.2rem;line-height:1;display:inline-grid}.settings-icon{stroke-width:2px;flex:0 0 18px;width:18px;height:18px}.settings-button:hover,.settings-button[aria-expanded=true]{border-color:var(--accent);color:var(--accent-dark)}.settings-backdrop{z-index:20;cursor:default;background:#1414126b;border:0;position:fixed;inset:0}.settings-panel{z-index:21;border:1px solid var(--border);background:var(--surface);max-height:min(80vh,460px);box-shadow:var(--shadow);padding-bottom:calc(16px + env(safe-area-inset-bottom));border-bottom:0;border-radius:18px 18px 0 0;display:grid;position:fixed;bottom:0;left:0;right:0;overflow:auto}.settings-panel-handle{background:var(--border);border-radius:999px;justify-self:center;width:42px;height:4px;margin:10px 0 4px}.settings-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px 12px;display:flex}.settings-panel-header h2{margin:0;font-size:1rem;line-height:1.2}.settings-close-button{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;font-size:1.25rem;line-height:1;display:inline-grid}.settings-close-button:hover{color:var(--accent-dark)}.settings-section{gap:8px;padding:14px 16px 0;display:grid}.settings-section-label{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.theme-mode-control{border:1px solid var(--border);background:var(--surface-muted);border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:2px;display:grid}.theme-mode-option{min-width:0;min-height:36px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:5px;font-size:.86rem;font-weight:800}.theme-mode-option:hover{color:var(--accent-dark)}.theme-mode-option[data-active=true]{background:var(--accent);color:var(--on-accent)}.settings-toggle-row{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text);cursor:pointer;font:inherit;text-align:left;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-weight:800;display:flex}.settings-toggle-row:hover{border-color:var(--accent);color:var(--accent-dark)}.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)}.settings-logout-link{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--accent-dark);border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:0 12px;font-weight:800;display:flex}.settings-logout-link:hover{border-color:var(--accent);background:var(--surface-muted)}.shop-provider-control{border:1px solid var(--border);background:var(--surface-muted);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:2px;display:grid}.shop-provider-option{min-width:0;min-height:38px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:8px;font-size:.86rem;font-weight:800;display:flex}.shop-provider-option:hover{color:var(--accent-dark)}.shop-provider-option[data-active=true]{background:var(--accent);color:var(--on-accent)}.shop-provider-icon{border-radius:3px;flex:0 0 18px;width:18px;height:18px}@media (min-width:760px){.settings-backdrop{background:0 0}.settings-panel{border:1px solid var(--border);border-radius:8px;width:min(320px,100vw - 32px);max-height:none;padding-bottom:14px;position:absolute;inset:calc(100% + 8px) 0 auto auto}.settings-panel-handle{display:none}}.recipes-search{gap:14px;display:grid}.recipes-simple-search{gap:12px;display:grid}.recipes-search-field{gap:8px;display:grid}.recipes-search-field span,.recipes-search-field>label{color:var(--muted);font-weight:700}.recipes-search-input-row{align-items:center;gap:8px;display:flex}.recipes-search-input-row .text-input{flex:1;min-width:0}.recipes-clear-search{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--accent-dark);border-radius:6px;align-items:center;padding:0 12px;font-weight:800;display:inline-flex}.recipes-active-filters{flex-wrap:wrap;gap:8px;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,.recipes-clear-search:hover{border-color:var(--accent);background:var(--surface)}.recipes-advanced-search{border:1px solid var(--border);background:var(--surface);border-radius:8px;display:grid}.recipes-advanced-search>summary{min-height:44px;color:var(--muted);cursor:pointer;padding:11px 12px;font-weight:900}.recipes-advanced-body{border-top:1px solid var(--border);gap:12px;padding:12px;display:grid}.recipes-filter-grid{grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;display:grid}.recipes-search-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.recipes-search-actions a{color:var(--accent-dark);text-underline-offset:3px;font-weight:800;text-decoration:underline}.recipes-quickies-button{color:#fff;background:#ec4899;font-weight:900;box-shadow:0 8px 18px #ec48993d}.recipes-quickies-button:hover{background:#db2777}.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-dark);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(230px,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.recipes-count{color:var(--muted);margin:-8px 0 0;font-size:.95rem;font-weight:700}.recipe-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:0;overflow:hidden}.recipe-card a{grid-template-rows:auto 1fr;min-height:100%;display:grid}.recipe-card:hover{border-color:color-mix(in srgb, var(--accent) 60%, var(--border));box-shadow:var(--shadow)}.recipe-card-image{aspect-ratio:4/3;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(#1414120a 0%,#14141229 42%,#141412d1 100%);flex-direction:column;justify-content:end;gap:6px;padding:14px;display:flex;position:absolute;inset:0}.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{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1.08rem;line-height:1.16;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);background:var(--surface);color:var(--muted);border-radius:8px;margin:0;padding:24px}.recipes-pagination{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;font-weight:800;display:flex}.recipes-pagination a,.recipes-pagination span{border:1px solid var(--border);background:var(--surface);border-radius:6px;align-items:center;min-height:38px;padding:0 14px;display:inline-flex}.recipes-pagination a{color:var(--accent-dark)}.recipes-pagination a:hover{border-color:var(--accent)}.recipes-pagination span[aria-disabled=true]{opacity:.45}.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-header{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);align-items:end;gap:28px;display:grid}.recipe-detail-heading{align-content:end;gap:12px;min-width:0;display:grid}.recipe-detail-heading h1{overflow-wrap:anywhere;max-width:13ch;margin:0;font-size:clamp(2.1rem,6vw,5rem);line-height:.98}.recipe-detail-stats{gap:10px 14px}.recipe-detail-stats .recipe-stat{font-size:.95rem}.recipe-detail-tags{gap:8px;margin-top:2px;display:grid}.recipe-detail-tag-list{flex-wrap:wrap;gap:8px;display:flex}.recipe-detail-tag-link{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--accent-dark);border-radius:999px;align-items:center;padding:0 12px;font-size:.88rem;font-weight:800;display:inline-flex}.recipe-detail-tag-link:hover{border-color:var(--accent);background:var(--surface-muted)}.recipe-detail-image{aspect-ratio:4/3;border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;min-width:0;position:relative;overflow:hidden}.recipe-detail-image img{object-fit:cover}.recipe-detail-image-fallback{height:100%;color:var(--muted);place-items:center;font-weight:700;display:grid}.recipe-cooking-layout{grid-template-columns:minmax(240px,360px) minmax(0,1fr);align-items:start;gap:32px;display:grid}.recipe-mobile-tabs{display:none}.recipe-mobile-tab{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:42px;color:var(--muted);font:inherit;font-weight:800}.recipe-mobile-tab:first-child{border-radius:6px 0 0 6px}.recipe-mobile-tab:last-child{border-left:0;border-radius:0 6px 6px 0}.recipe-mobile-tab[aria-selected=true]{background:var(--accent-dark);color:var(--surface)}.recipe-ingredients-panel{border-top:1px solid var(--border);min-width:0;padding-top:18px}.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{margin:0 0 16px;font-size:1.15rem;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}.portion-adjuster{color:var(--muted);flex-wrap:wrap;justify-content:end;align-items:center;gap:6px;font-size:.9rem;font-weight:700;display:flex}.portion-adjuster button{border:1px solid var(--border);background:var(--surface);min-width:34px;height:34px;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:82px}.portion-adjuster .portion-reset{width:auto;padding:0 10px}.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:start;gap:10px;display:grid}.ingredient-check-row{grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;display:grid}.ingredient-check-row input{width:18px;height:18px;accent-color:var(--accent-dark);margin:1px 0 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}.nutrition-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 20px;margin:0;display:grid}.nutrition-list div{border-top:1px solid color-mix(in srgb, var(--border) 70%, transparent);min-width:0;padding-top:10px}.nutrition-list dt{color:var(--muted);overflow-wrap:anywhere;font-size:.86rem;font-weight:700}.nutrition-list dd{color:var(--text);overflow-wrap:anywhere;margin:4px 0 0;font-weight:700}.recipe-source-section{border-top:1px solid var(--border);gap:8px;padding-top:18px;display:grid}.recipe-source-section h2{color:var(--muted);margin:0;font-size:.95rem;line-height:1.25}.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}@media (min-width:900px){.recipe-ingredients-panel{position:sticky;top:24px}}@media (max-width:760px){.recipes-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.recipes-page,.recipe-detail-page{padding-top:28px}.recipes-header{flex-direction:row;align-items:end}.recipes-header-title{font-size:clamp(2.1rem,15vw,3.1rem)}.recipes-simple-search{grid-template-columns:1fr}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recipe-card-overlay{padding:10px}.recipe-card-kicker{font-size:.64rem}.recipe-card-overlay h2{-webkit-line-clamp:3;font-size:.92rem}.recipe-card-body{padding:10px}.recipe-card-stats{gap:6px;display:grid}.recipe-stat{font-size:.76rem}.recipe-stat-icon{flex-basis:14px;width:14px;height:14px}}@media (max-width:899px){.recipe-detail-header,.recipe-cooking-layout{grid-template-columns:1fr}.recipe-cooking-layout{gap:18px}.recipe-mobile-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.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}.portion-adjuster{justify-content:start}.recipe-detail-heading h1{max-width:none}}@media (max-width:640px){.recipe-detail-back-link{justify-content:center}}
