:root{--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", sans-serif;--font-wordmark:Georgia, "Times New Roman", serif;--cream-50:#0d120f;--cream-100:#090d0b;--cream-200:#181f1a;--cream-300:#2d372f;--ink:#f3efe6;--muted:#9aa39b;--green-900:#dcebcf;--green-800:#79aa57;--green-700:#86ba61;--green-100:#263722;--green-50:#192318;--orange:#db9a5d;--danger:#ef8175;--surface-app:#0b0f0cf5;--surface-header:#090d0be0;--surface-card:#141a16e0;--surface-card-solid:#151b17;--surface-control:#1a211c;--surface-input:#111713;--surface-nav:#0a0e0bf0;--surface-sheet:#111713;--surface-about:#132018;--border:#e1ebde1a;--border-strong:#e1ebde2b;--shadow-soft:0 18px 46px #00000057;--shadow-card:0 8px 26px #00000040;--radius-xl:28px;--radius-lg:22px;--radius-md:16px;--radius-sm:12px;--page-pad:clamp(16px, 4vw, 28px);font-family:var(--font-sans);color:var(--ink);background:var(--cream-100);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none}html[data-theme=light]{--cream-50:#fffdf8;--cream-100:#f8f3e9;--cream-200:#eee5d6;--cream-300:#dfd3bf;--ink:#17231a;--muted:#6f776f;--green-900:#173e27;--green-800:#245435;--green-700:#356b45;--green-100:#dfe9df;--green-50:#edf3eb;--orange:#c9783a;--danger:#a44236;--surface-app:#fffdf8f5;--surface-header:#fffdf8e6;--surface-card:#ffffffc2;--surface-card-solid:#fff;--surface-control:#fff;--surface-input:#fffdf8;--surface-nav:#fffdf8f0;--surface-sheet:#fffdf8;--surface-about:#173e27;--border:#3048321a;--border-strong:#2454352e;--shadow-soft:0 14px 38px #282d2517;--shadow-card:0 7px 22px #282d2514;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{background:var(--cream-100);min-height:100%}body{background:radial-gradient(circle at top right, #5d894624, transparent 34rem), linear-gradient(180deg, var(--cream-50), var(--cream-100));min-height:100%;color:var(--ink);overscroll-behavior-y:none;margin:0}button,input,select{font:inherit}button{color:inherit}button,[role=button]{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}[hidden]{display:none!important}.app-shell{background:var(--surface-app);width:min(100%,1180px);min-height:100dvh;margin:0 auto}.topbar{z-index:20;padding:calc(env(safe-area-inset-top) + 16px) var(--page-pad) 14px;background:var(--surface-header);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{color:var(--ink);font:700 clamp(1.55rem, 4vw, 2rem)/1 var(--font-sans);letter-spacing:-.035em;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.brand-mark{width:27px;height:27px;color:var(--green-700);place-items:center;display:inline-grid}.brand-mark .icon{width:27px;height:27px}.topbar-subtitle{color:var(--muted);margin:5px 0 0;font-size:.76rem}.topbar-actions{gap:8px;display:flex}.icon-button{border:1px solid var(--border);background:var(--surface-control);cursor:pointer;border-radius:50%;place-items:center;width:42px;height:42px;display:inline-grid}.icon-button:active{transform:scale(.96)}.main-content{padding:20px var(--page-pad) calc(112px + env(safe-area-inset-bottom));outline:none}.view{animation:.26s both viewIn;display:none}.view.active{display:block}@keyframes viewIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}h1,h2,h3,p{margin-top:0}h1,h2,.continue-card h2,.recipe-card h3,.mini-recipe-card h3{text-wrap:balance}h1{font:700 clamp(1.85rem, 6vw, 2.8rem)/1.05 var(--font-sans);letter-spacing:-.04em;margin-bottom:7px}h2{letter-spacing:-.02em;margin-bottom:0;font-size:1.08rem}h3{font-size:.92rem}p{color:var(--muted);line-height:1.5}.eyebrow,.section-kicker{color:var(--green-700);letter-spacing:.11em;text-transform:uppercase;margin-bottom:7px;font-size:.7rem;font-weight:800}.home-heading,.page-heading{margin:8px 0 24px}.home-heading p:last-child,.page-heading p:last-child{margin-bottom:0}.page-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.continue-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-card);margin-bottom:30px;padding:16px}.section-label-row,.section-heading-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-label-row{margin-bottom:13px}.status-pill{background:var(--green-50);min-height:26px;color:var(--green-800);border-radius:999px;align-items:center;padding:0 9px;font-size:.68rem;font-weight:700;display:inline-flex}.continue-content{grid-template-columns:74px 1fr auto;align-items:center;gap:12px;display:grid}img.image-load-failed{color:#0000;background:linear-gradient(135deg, #2f6c4514, #cdb58b2e), var(--cream-200)}.continue-content img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md);background:var(--cream-200);width:74px}.continue-copy h2{margin-bottom:4px;font-size:.96rem}.continue-copy p{margin-bottom:10px;font-size:.75rem}.progress-track{background:var(--cream-200);border-radius:999px;height:6px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--green-700);height:100%;display:block}.primary-button,.secondary-button,.filter-button,.text-button{cursor:pointer;border:0;font-weight:750}.primary-button{background:var(--green-800);color:#fff;border-radius:14px;min-height:48px;padding:0 18px;box-shadow:0 8px 20px #24543529}.primary-button.compact{min-height:36px;padding:0 13px;font-size:.74rem}.secondary-button{border:1px solid var(--border-strong);background:var(--surface-card-solid);min-height:46px;color:var(--green-800);border-radius:14px;padding:0 16px}.text-button{color:var(--green-700);background:0 0;padding:8px 0;font-size:.78rem}.content-section{margin-top:30px}.section-heading-row{margin-bottom:14px}.section-heading-row .section-kicker{margin-bottom:4px}.horizontal-cards{scroll-snap-type:x proximity;scrollbar-width:none;grid-auto-columns:minmax(142px,42%);grid-auto-flow:column;gap:12px;padding:2px 1px 10px;display:grid;overflow-x:auto}.horizontal-cards::-webkit-scrollbar{display:none}.mini-recipe-card{scroll-snap-align:start;cursor:pointer}.mini-recipe-card img{aspect-ratio:1.25;object-fit:cover;border-radius:var(--radius-md);background:var(--cream-200);width:100%;box-shadow:var(--shadow-card)}.mini-recipe-card h3{margin:9px 0 3px;line-height:1.25}.mini-recipe-card p{margin-bottom:0;font-size:.72rem}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.category-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-card);text-align:left;cursor:pointer;min-height:102px;padding:12px 8px}.category-card:active{transform:scale(.98)}.category-icon{background:var(--green-50);width:32px;height:32px;color:var(--green-800);border-radius:10px;place-items:center;margin-bottom:10px;font-weight:800;display:grid}.category-card strong,.category-card small{display:block}.category-card strong{margin-bottom:3px;font-size:.77rem}.category-card small{color:var(--muted);font-size:.63rem}.segmented-control{background:var(--cream-200);border-radius:13px;padding:3px;display:inline-flex}.segment{cursor:pointer;width:38px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:10px}.segment.active{background:var(--surface-card-solid);color:var(--green-700);box-shadow:0 3px 14px #00000038}.search-row{grid-template-columns:1fr auto;gap:10px;margin-bottom:14px;display:grid}.search-field{border:1px solid var(--border);background:var(--surface-card);border-radius:15px;align-items:center;gap:10px;min-height:48px;padding:0 14px;display:flex}.search-field.full-width{margin-bottom:8px}.search-field input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.search-field input::placeholder{color:var(--muted)}.filter-button{border:1px solid var(--border);background:var(--surface-card-solid);color:var(--green-800);border-radius:15px;padding:0 16px}.chip-row{scrollbar-width:none;gap:8px;padding-bottom:13px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.filter-chip{border:1px solid var(--border);background:var(--surface-card);min-height:34px;color:var(--muted);cursor:pointer;border-radius:999px;flex:none;padding:0 13px;font-size:.72rem;font-weight:700}.filter-chip.active{background:var(--green-800);color:#fff}.filter-panel{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-card-solid);box-shadow:var(--shadow-soft);margin:3px 0 18px;padding:18px}.filter-panel-header{justify-content:space-between;align-items:flex-start;margin-bottom:17px;display:flex}.filter-form-grid{gap:13px;display:grid}.filter-form-grid label{color:var(--ink);font-size:.75rem;font-weight:750}.filter-form-grid input:not([type=checkbox]),.filter-form-grid select{border:1px solid var(--cream-300);background:var(--surface-input);border-radius:12px;outline:none;width:100%;min-height:44px;margin-top:7px;padding:0 12px}.checkbox-label{align-items:center;gap:10px;display:flex}.checkbox-label input{width:20px;height:20px;accent-color:var(--green-800)}.filter-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.recipe-library{gap:13px;display:grid}.recipe-library.grid-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-library.list-layout{grid-template-columns:1fr}.recipe-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-card);min-width:0;box-shadow:var(--shadow-card);cursor:pointer;overflow:hidden}.recipe-image-wrap{position:relative}.recipe-image-wrap>img{aspect-ratio:1.25;object-fit:cover;background:var(--cream-200);width:100%}.favourite-button{width:32px;height:32px;color:var(--green-800);cursor:pointer;background:#0f1410d6;border:0;border-radius:50%;position:absolute;top:8px;right:8px;box-shadow:0 5px 15px #1f2c1f1f}.favourite-button.active{color:var(--green-700)}.image-tag{color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#2c5b34eb;border-radius:999px;max-width:calc(100% - 16px);padding:5px 8px;font-size:.58rem;font-weight:800;position:absolute;bottom:8px;left:8px;overflow:hidden}.recipe-card-copy{padding:11px}.recipe-card-copy h3{min-height:2.3em;margin-bottom:5px;line-height:1.2}.recipe-card-copy>p{margin-bottom:8px;font-size:.68rem}.recipe-card-copy>p span{padding:0 3px}.recipe-card-meta{color:var(--muted);justify-content:space-between;gap:6px;font-size:.61rem;display:flex}.list-layout .recipe-card{grid-template-columns:118px 1fr;display:grid}.list-layout .recipe-image-wrap>img{aspect-ratio:auto;height:100%}.list-layout .recipe-card-copy{flex-direction:column;justify-content:center;display:flex}.list-layout .recipe-card-copy h3{min-height:auto;font-size:1rem}.compact-library{grid-template-columns:repeat(2,minmax(0,1fr))}.empty-state{text-align:center;padding:56px 24px}.empty-state>.empty-icon{width:42px;height:42px;color:var(--green-700)}.empty-state h2{margin:12px 0 5px}.settings-section{margin-top:26px}.settings-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-card);overflow:hidden}.settings-card>button,.settings-toggle-row,.settings-static-row{border:0;border-bottom:1px solid var(--border);text-align:left;background:0 0;grid-template-columns:1fr auto;align-items:center;gap:10px;width:100%;min-height:66px;padding:12px 15px;display:grid}.settings-card>:last-child{border-bottom:0}.settings-card>button{cursor:pointer;grid-template-columns:1fr auto auto}.settings-card span strong,.settings-card span small,.settings-card>button>span:nth-child(2),.settings-toggle-row>span:nth-child(2),.settings-static-row>span:nth-child(2){display:block}.settings-card button span,.settings-card span strong{font-size:.82rem;font-weight:750}.settings-card small{color:var(--muted);margin-top:3px;font-size:.66rem}.settings-card b{color:var(--muted);font-size:.7rem}.settings-card select{border:1px solid var(--cream-300);background:var(--surface-input);border-radius:10px;max-width:124px;min-height:36px}.settings-toggle-row input[type=checkbox]{width:42px;height:24px;accent-color:var(--green-800)}.danger-row span{color:var(--danger)}.about-card{border-radius:var(--radius-lg);background:var(--surface-about);color:#fff;align-items:center;gap:14px;margin-top:28px;padding:18px;display:flex}.about-card h2{font:700 1.5rem var(--font-sans);margin-bottom:4px}.about-card p{color:#ffffffb3;margin-bottom:9px;font-size:.74rem}.about-logo{background:#ffffff14;border-radius:18px;place-items:center;width:58px;height:58px;display:grid;overflow:hidden}.about-logo img{object-fit:cover;width:100%;height:100%}.about-card .status-pill{color:#fff;background:#ffffff1f}.bottom-nav{z-index:30;width:100%;min-height:calc(72px + env(safe-area-inset-bottom));padding:8px max(var(--page-pad), env(safe-area-inset-left)) env(safe-area-inset-bottom) max(var(--page-pad), env(safe-area-inset-right));border-top:1px solid var(--border);background:var(--surface-nav);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:repeat(5,1fr);align-items:start;display:grid;position:fixed;inset:auto 0 0;transform:translateZ(0)}.nav-item{color:#8b9188;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:54px;display:flex}.nav-item small{font-size:.6rem;font-weight:750}.nav-item.active{color:var(--green-800)}.nav-add{border:5px solid var(--cream-50);background:var(--green-800);color:#fff;cursor:pointer;border-radius:50%;justify-self:center;width:52px;height:52px;margin-top:-20px;box-shadow:0 10px 24px #24543547}.sheet-backdrop{z-index:45;opacity:0;background:#1219146b;transition:opacity .22s;position:fixed;inset:0}.sheet-backdrop.visible{opacity:1}.bottom-sheet{z-index:50;width:min(100%,560px);max-height:min(78vh,680px);padding:10px 18px calc(24px + env(safe-area-inset-bottom));background:var(--surface-sheet);border-radius:28px 28px 0 0;transition:transform .24s cubic-bezier(.2,.8,.2,1);position:fixed;bottom:0;left:50%;overflow:auto;transform:translate(-50%,104%);box-shadow:0 -18px 60px #00000075}.bottom-sheet.visible{transform:translate(-50%)}.sheet-open{overflow:hidden}.sheet-handle{background:var(--cream-300);border-radius:999px;width:42px;height:5px;margin:0 auto 18px}.sheet-header{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.sheet-header h2{font:700 1.5rem var(--font-sans)}.add-options{gap:10px;display:grid}.add-options>button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-card-solid);text-align:left;cursor:pointer;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;min-height:86px;padding:14px;display:grid}.add-options strong,.add-options small{display:block}.add-options strong{margin-bottom:5px;font-size:.86rem}.add-options small{color:var(--muted);font-size:.68rem;line-height:1.35}.option-icon{background:var(--green-50);width:42px;height:42px;color:var(--green-800);border-radius:13px;place-items:center;font-size:1.15rem;display:grid}.toast{z-index:70;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));color:#111713;max-width:min(100% - 32px,440px);box-shadow:var(--shadow-soft);text-align:center;background:#f3efe6;border-radius:14px;padding:12px 16px;font-size:.76rem;position:fixed;transform:translate(-50%)}.svg-sprite{width:0;height:0;position:absolute;overflow:hidden}.icon,.nav-icon,.nav-add-icon,.row-chevron,.empty-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;display:block}.icon{width:20px;height:20px}.nav-icon{width:22px;height:22px}.nav-add-icon{width:27px;height:27px}.row-chevron{width:18px;height:18px;color:var(--muted)}.theme-toggle{place-items:center;display:inline-grid;position:relative}.theme-icon-sun,.theme-icon-moon{width:20px;height:20px;transition:opacity .16s,scale .16s;position:absolute;top:50%;left:50%;translate:-50% -50%}html[data-theme=dark] .theme-icon-sun{opacity:1;scale:1}html[data-theme=dark] .theme-icon-moon,html[data-theme=light] .theme-icon-sun{opacity:0;scale:.72}html[data-theme=light] .theme-icon-moon{opacity:1;scale:1}.filter-button{align-items:center;gap:7px;display:inline-flex}.search-field>.icon{color:var(--muted);flex:none}.segment{place-items:center;display:inline-grid}.segment .icon{width:18px;height:18px}.favourite-button{place-items:center;display:grid}.favourite-button .icon{width:18px;height:18px}.favourite-button.active .icon{fill:currentColor}.settings-card>button,.settings-toggle-row,.settings-static-row{grid-template-columns:38px minmax(0,1fr) auto}.settings-card .settings-row-icon{background:var(--green-50);width:34px;min-width:34px;height:34px;min-height:34px;color:var(--green-700);border-radius:11px;place-self:center;place-items:center;line-height:0;display:grid;overflow:hidden}.settings-card .settings-row-icon .icon{place-self:center;width:18px;height:18px;margin:0;transform:translate(0,0)}.settings-card>button>span:nth-child(2),.settings-toggle-row>span:nth-child(2),.settings-static-row>span:nth-child(2){min-width:0}.settings-card>button span small,.settings-toggle-row span small,.settings-static-row span small{display:block}.option-icon .icon{width:21px;height:21px}.add-options>button{grid-template-columns:42px 1fr 18px}html[data-theme=light] body{background:radial-gradient(circle at top right, #d7e3d3a6, transparent 34rem), linear-gradient(180deg, var(--cream-50), var(--cream-100))}html[data-theme=light] .favourite-button{background:#ffffffe6}:focus-visible{outline-offset:3px;outline:3px solid #356b4559}@media (hover:hover){.recipe-card,.mini-recipe-card,.category-card,.settings-card>button,.add-options>button{transition:transform .16s,box-shadow .16s}.recipe-card:hover,.mini-recipe-card:hover,.category-card:hover,.add-options>button:hover{box-shadow:var(--shadow-soft);transform:translateY(-2px)}}@media (min-width:760px){.app-shell{border:1px solid var(--border);border-radius:32px;min-height:calc(100vh - 32px);margin:16px auto;overflow:visible;box-shadow:0 24px 70px #202b221a}.bottom-nav{border-radius:0 0 32px 32px;width:min(100% - 32px,1180px);bottom:16px;left:50%;right:auto;transform:translate(-50%)translateZ(0)}.main-content{min-height:760px}.horizontal-cards{grid-auto-columns:210px}.category-grid{grid-template-columns:repeat(6,1fr)}.recipe-library.grid-layout{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-library{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1040px){.topbar,.main-content{padding-inline:42px}#view-home.active{grid-template-columns:1.25fr 1fr;align-items:start;column-gap:34px;display:grid}#view-home .home-heading,#view-home .continue-card{grid-column:1/-1}#view-home .content-section:nth-of-type(3){margin-top:30px}.recipe-library.grid-layout{grid-template-columns:repeat(4,minmax(0,1fr))}.category-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.icon-button,.option-icon,.category-icon,.settings-card .settings-row-icon,.bottom-nav .nav-add{line-height:0}.icon-button>svg,.option-icon>svg,.category-icon>svg,.settings-card .settings-row-icon>svg,.bottom-nav .nav-add>svg{transform-origin:50%;place-self:center;margin:auto;display:block}.settings-card .row-chevron{place-self:center end}.featured-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-card);grid-template-columns:minmax(112px,34%) 1fr;align-items:stretch;gap:15px;margin-bottom:30px;padding:12px;display:grid}.featured-image{background:var(--cream-200);border-radius:16px;min-height:170px;overflow:hidden}.featured-image img{object-fit:cover;width:100%;height:100%}.featured-copy{min-width:0;padding:5px 4px 5px 0}.featured-copy .section-label-row{align-items:flex-start;margin-bottom:10px}.featured-copy h2{font:700 1.2rem/1.12 var(--font-sans);margin-bottom:7px}.featured-copy>p{margin-bottom:12px;font-size:.75rem;line-height:1.42}.featured-macros{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.featured-macros span{background:var(--green-50);color:var(--muted);border-radius:9px;padding:6px 8px;font-size:.63rem}.featured-macros strong{color:var(--ink)}.mini-image-wrap{position:relative}.mini-image-wrap>img{aspect-ratio:1.25;object-fit:cover;border-radius:var(--radius-md);background:var(--cream-200);width:100%;box-shadow:var(--shadow-card)}.mini-image-wrap .favourite-button{width:29px;height:29px;top:7px;right:7px}.inline-empty{border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--muted);padding:15px;font-size:.75rem}.library-toolbar{grid-template-columns:1fr auto;gap:10px;margin-bottom:10px;display:grid}.sort-row{justify-content:flex-end;margin-bottom:12px;display:flex}.sort-control{border:1px solid var(--border);background:var(--surface-card);min-height:38px;color:var(--muted);border-radius:12px;align-items:center;gap:7px;padding:0 10px;font-size:.69rem;font-weight:700;display:inline-flex}.sort-control .icon{width:17px;height:17px}.sort-control select{max-width:150px;color:var(--ink);background:0 0;border:0;outline:0;font-size:.69rem}.filter-button{min-width:48px;position:relative}.filter-count{background:var(--green-800);color:#fff;border-radius:50%;place-items:center;min-width:19px;height:19px;font-size:.57rem;display:inline-grid}.recipe-source-line{color:var(--green-700);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:5px;font-size:.55rem;font-weight:800;display:flex}.recipe-source-line span+span:before{content:"•";color:var(--muted);margin-right:6px}.list-layout .recipe-source-line{margin-bottom:7px}.favourites-empty-state{text-align:center;padding:56px 24px}.favourites-empty-state .empty-icon{width:44px;height:44px;color:var(--green-700)}.favourites-empty-state h2{margin:13px 0 6px}.overlay-open{overflow:hidden}.modal-shell{z-index:80;opacity:0;pointer-events:none;place-items:end center;transition:opacity .18s;display:grid;position:fixed;inset:0}.modal-shell.visible{opacity:1;pointer-events:auto}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000ad;position:absolute;inset:0}.recipe-preview-panel,.manager-panel{z-index:1;border:1px solid var(--border-strong);background:var(--surface-sheet);border-radius:28px 28px 0 0;width:min(100%,680px);max-height:min(92dvh,900px);transition:transform .2s cubic-bezier(.2,.8,.2,1);position:relative;overflow:auto;transform:translateY(28px);box-shadow:0 -24px 80px #0000007a}.modal-shell.visible .recipe-preview-panel,.modal-shell.visible .manager-panel{transform:translateY(0)}.modal-close{z-index:3;top:calc(12px + env(safe-area-inset-top));color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080c09b8;border-color:#ffffff26;position:absolute;right:14px}.preview-hero{background:var(--cream-200);height:min(34vh,310px);overflow:hidden}.preview-hero img{object-fit:cover;width:100%;height:100%}.preview-body{padding:20px var(--page-pad) calc(28px + env(safe-area-inset-bottom))}.preview-title-row{grid-template-columns:1fr auto;align-items:start;gap:12px;display:grid}.preview-title-row h2{font:700 clamp(1.65rem, 6vw, 2.2rem)/1.05 var(--font-sans);letter-spacing:-.035em;margin-bottom:0}.preview-source{color:var(--green-700);text-transform:uppercase;letter-spacing:.07em;flex-wrap:wrap;gap:7px;margin-bottom:7px;font-size:.65rem;font-weight:800;display:flex}.preview-source span{background:var(--green-50);border-radius:999px;padding:5px 8px}.preview-favourite{border:1px solid var(--border);background:var(--surface-card);width:44px;height:44px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.preview-favourite.active{color:var(--green-700)}.preview-favourite.active .icon{fill:currentColor}.preview-description{margin:12px 0}.preview-tags{scrollbar-width:none;gap:7px;padding-bottom:4px;display:flex;overflow-x:auto}.preview-tags span{border:1px solid var(--border);color:var(--muted);border-radius:999px;flex:none;padding:6px 9px;font-size:.64rem;font-weight:700}.macro-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:18px 0 12px;display:grid}.macro-grid>div{border:1px solid var(--border);background:var(--surface-card);text-align:center;border-radius:12px;min-width:0;padding:10px 4px}.macro-grid strong,.macro-grid span{display:block}.macro-grid strong{font-size:.82rem}.macro-grid span{color:var(--muted);margin-top:3px;font-size:.53rem}.recipe-facts{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;padding-bottom:16px;display:flex}.recipe-facts span{color:var(--muted);align-items:center;gap:5px;font-size:.67rem;display:inline-flex}.recipe-facts .icon{width:15px;height:15px}.preview-section{border-bottom:1px solid var(--border);padding:20px 0}.preview-section h3{margin-bottom:13px;font-size:1rem}.ingredient-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.ingredient-list li{color:var(--muted);padding-left:16px;font-size:.75rem;line-height:1.45;position:relative}.ingredient-list li:before{content:"";background:var(--green-700);border-radius:50%;width:5px;height:5px;position:absolute;top:.57em;left:0}.ingredient-list strong{color:var(--ink)}.method-list{counter-reset:steps;gap:14px;margin:0;padding:0;list-style:none;display:grid}.method-list li{counter-increment:steps;color:var(--muted);grid-template-columns:30px 1fr;align-items:start;gap:10px;font-size:.75rem;line-height:1.5;display:grid}.method-list li:before{content:counter(steps);background:var(--green-50);width:28px;height:28px;color:var(--green-700);border-radius:50%;place-items:center;font-size:.67rem;font-weight:800;display:grid}.note-section{border:1px solid var(--border);background:var(--green-50);border-radius:15px;margin-top:16px;padding:15px}.note-section p{margin-bottom:7px;font-size:.74rem}.note-section p:last-child{margin-bottom:0}.substitution-row{border:1px solid var(--border);border-radius:13px;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:11px;font-size:.7rem;display:grid}.substitution-row>span{color:var(--green-700)}.substitution-row small{color:var(--muted);grid-column:1/-1}.nutrition-note{background:#db9a5d12;border:1px solid #db9a5d40;border-radius:14px;margin:18px 0;padding:14px}.nutrition-note strong{color:var(--orange);font-size:.74rem}.nutrition-note p{margin:5px 0 0;font-size:.67rem}.full-button{width:100%}.manager-panel{padding:20px var(--page-pad) calc(26px + env(safe-area-inset-bottom))}.manager-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.manager-header h2{font:700 1.6rem var(--font-sans)}.manager-tabs{background:var(--cream-200);border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;margin:18px 0;padding:4px;display:grid}.manager-tab{min-height:39px;color:var(--muted);background:0 0;border:0;border-radius:11px;font-size:.74rem;font-weight:800}.manager-tab.active{background:var(--surface-card-solid);color:var(--green-700);box-shadow:var(--shadow-card)}.manager-add-form{grid-template-columns:1fr auto;align-items:end;gap:10px;margin-bottom:16px;display:grid}.manager-add-form label{color:var(--muted);font-size:.68rem;font-weight:700}.manager-add-form input{border:1px solid var(--border-strong);background:var(--surface-input);width:100%;min-height:44px;color:var(--ink);border-radius:12px;outline:none;margin-top:7px;padding:0 12px}.manager-list{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-card);overflow:hidden}.manager-row{border-bottom:1px solid var(--border);grid-template-columns:42px 1fr auto;align-items:center;gap:12px;min-height:72px;padding:12px;display:grid}.manager-row:last-child{border-bottom:0}.manager-row-icon{background:var(--green-50);width:40px;height:40px;color:var(--green-700);border-radius:13px;place-items:center;line-height:0;display:grid}.manager-row-icon .icon{width:19px;height:19px}.manager-row strong,.manager-row small{display:block}.manager-row strong{font-size:.79rem}.manager-row small{color:var(--muted);margin-top:4px;font-size:.61rem}.manager-row-actions{align-items:center;gap:5px;display:flex}.manager-row-actions button{border:1px solid var(--border);background:var(--surface-control);width:36px;height:36px;color:var(--muted);border-radius:11px;place-items:center;display:grid}.manager-row-actions button:last-child{color:var(--danger)}.manager-row-actions .icon{width:17px;height:17px}.locked-label{color:var(--muted);align-items:center;gap:4px;font-size:.58rem!important;font-weight:700!important;display:inline-flex!important}.locked-label .icon{width:13px;height:13px}.icon,.nav-icon,.nav-add-icon,.row-chevron,.empty-icon{transform-box:view-box;transform-origin:50%;flex:none;overflow:visible}.settings-card .settings-row-icon,.option-icon,.category-icon,.manager-row-icon,.icon-button,.segment,.preview-favourite,.manager-row-actions button{padding:0;line-height:0;place-items:center!important;display:grid!important}.settings-card .settings-row-icon>svg,.option-icon>svg,.category-icon>svg,.manager-row-icon>svg,.icon-button>svg,.segment>svg,.preview-favourite>svg,.manager-row-actions button>svg{place-self:center!important;margin:0!important;display:block!important;position:static!important;inset:auto!important}.settings-card .settings-row-icon{border-radius:13px;width:40px;min-width:40px;height:40px;min-height:40px}.settings-card .settings-row-icon .icon{width:20px;height:20px}.settings-card>button,.settings-toggle-row,.settings-static-row{grid-template-columns:44px minmax(0,1fr) auto;column-gap:12px}@media (max-width:420px){.featured-card{grid-template-columns:105px 1fr;gap:12px}.featured-image{min-height:190px}.featured-copy .status-pill{display:none}.featured-macros span{padding:5px 7px}.macro-grid{gap:4px}.macro-grid strong{font-size:.72rem}.macro-grid span{font-size:.49rem}.filter-button span:not(.filter-count){display:none}.manager-add-form{grid-template-columns:1fr}}@media (min-width:760px){.modal-shell{place-items:center;padding:24px}.recipe-preview-panel,.manager-panel{border-radius:28px}.preview-hero{height:310px}}html,body,.app-shell{touch-action:manipulation;-webkit-text-size-adjust:100%}button,a,input,select,textarea,[role=button],.nav-item,.nav-add{touch-action:manipulation}svg.icon,svg.nav-icon,svg.nav-add-icon,svg.row-chevron,svg.empty-icon{transform-box:view-box;transform-origin:12px 12px;shape-rendering:geometricprecision;display:block;overflow:visible;transform:none!important}.settings-card .settings-row-icon>svg{place-self:center!important;width:20px!important;height:20px!important;margin:auto!important;transform:none!important}.settings-card .settings-row-icon>svg>use{transform:none!important}.recipe-photo-placeholder{background:radial-gradient(circle at 70% 25%, #79aa572e, transparent 38%), linear-gradient(145deg, var(--surface-control), var(--cream-200));width:100%;height:100%;min-height:110px;color:var(--green-700);align-content:center;place-items:center;gap:7px;display:grid}.recipe-photo-placeholder .icon{width:34px;height:34px}.recipe-photo-placeholder span{color:var(--muted);font-size:.65rem;font-weight:750}.featured-image>.recipe-photo-placeholder,.preview-hero>.recipe-photo-placeholder{min-height:100%}.empty-featured{text-align:center;grid-column:1/-1;padding:28px}.preview-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0 6px;display:grid}.preview-action-grid button{border:1px solid var(--border);background:var(--surface-card);min-height:48px;color:var(--ink);border-radius:13px;justify-content:center;align-items:center;gap:7px;font-size:.7rem;font-weight:800;display:inline-flex}.preview-action-grid .icon{width:17px;height:17px}.preview-action-grid .danger-action{color:var(--danger)}.per-serving-line{background:var(--green-50);color:var(--muted);border-radius:11px;margin:-3px 0 13px;padding:9px 11px;font-size:.65rem;line-height:1.4}.compact-modal-panel{z-index:1;width:min(100%,620px);max-height:min(88dvh,760px);padding:20px var(--page-pad) calc(24px + env(safe-area-inset-bottom));border:1px solid var(--border-strong);background:var(--surface-sheet);border-radius:28px 28px 0 0;transition:transform .2s cubic-bezier(.2,.8,.2,1);position:relative;overflow:auto;transform:translateY(28px);box-shadow:0 -24px 80px #0000007a}.modal-shell.visible .compact-modal-panel{transform:translateY(0)}.modal-intro{margin:4px 0 14px;font-size:.77rem;line-height:1.5}.import-textarea{resize:vertical;border:1px solid var(--border-strong);background:var(--surface-input);width:100%;min-height:330px;color:var(--ink);border-radius:16px;outline:none;padding:15px;font:500 .75rem/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.import-textarea:focus,.editor-field input:focus,.editor-field textarea:focus,.editor-field select:focus,.repeatable-row input:focus,.repeatable-row textarea:focus,.repeatable-row select:focus,.nutrition-editor-grid input:focus{border-color:var(--green-700);box-shadow:0 0 0 3px #79aa5724}.modal-action-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:13px;display:grid}.modal-action-row .primary-button,.modal-action-row .secondary-button{min-height:46px}.form-error-summary{color:var(--danger);background:#ef817517;border:1px solid #ef817559;border-radius:13px;margin:0 0 14px;padding:12px 14px;font-size:.72rem;line-height:1.45}.form-error-summary strong{margin-bottom:4px;display:block}.form-error-summary ul{margin:0;padding-left:18px}.duplicate-search{margin:12px 0 14px}.duplicate-list{gap:8px;display:grid}.duplicate-recipe-row{border:1px solid var(--border);background:var(--surface-card);text-align:left;border-radius:15px;grid-template-columns:66px minmax(0,1fr) 18px;align-items:center;gap:12px;width:100%;padding:8px;display:grid}.duplicate-thumb{background:var(--cream-200);border-radius:11px;width:66px;height:58px;overflow:hidden}.duplicate-thumb img,.duplicate-thumb .recipe-photo-placeholder{object-fit:cover;width:100%;height:100%;min-height:0}.duplicate-thumb .recipe-photo-placeholder span{display:none}.duplicate-thumb .recipe-photo-placeholder .icon{width:23px;height:23px}.duplicate-recipe-row strong,.duplicate-recipe-row small{display:block}.duplicate-recipe-row strong{margin-bottom:4px;font-size:.79rem}.duplicate-recipe-row small{color:var(--muted);font-size:.64rem}.editor-shell{z-index:100;background:var(--cream-100);display:block;overflow:hidden}.recipe-editor-panel{overscroll-behavior:contain;background:var(--cream-100);width:min(100%,920px);margin:0 auto;transition:transform .2s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;overflow:auto;transform:translateY(18px)}.modal-shell.visible .recipe-editor-panel{transform:translateY(0)}.editor-header{z-index:5;padding:calc(env(safe-area-inset-top) + 11px) var(--page-pad) 11px;border-bottom:1px solid var(--border);background:var(--surface-header);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;display:grid;position:sticky;top:0}.editor-header .section-kicker{margin-bottom:2px}.editor-header h2{font:700 1.12rem/1.1 var(--font-sans);margin:0}.editor-save-button{background:var(--green-700);color:#071009;border:0;border-radius:12px;align-items:center;gap:6px;min-height:40px;padding:0 13px;font-size:.72rem;font-weight:850;display:inline-flex}.editor-save-button .icon{width:17px;height:17px}.recipe-editor-form{width:min(100%,760px);padding:18px var(--page-pad) calc(34px + env(safe-area-inset-bottom));margin:0 auto}.editor-section{border:1px solid var(--border);background:var(--surface-card);box-shadow:var(--shadow-card);border-radius:20px;margin-bottom:16px;padding:16px}.editor-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.editor-section-heading h3{font:700 1rem/1.15 var(--font-sans);margin:2px 0 0}.editor-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.editor-field{min-width:0;display:block}.editor-field.field-wide{grid-column:1/-1}.editor-field>span,.nutrition-editor-grid label>span{color:var(--muted);margin-bottom:6px;font-size:.66rem;font-weight:800;display:block}.editor-field input,.editor-field textarea,.editor-field select,.repeatable-row input,.repeatable-row textarea,.repeatable-row select,.nutrition-editor-grid input{border:1px solid var(--border-strong);background:var(--surface-input);width:100%;min-height:44px;color:var(--ink);border-radius:12px;outline:none;padding:10px 11px}.editor-field textarea,.repeatable-row textarea{resize:vertical;line-height:1.45}.input-suffix{position:relative}.input-suffix input{padding-right:50px}.input-suffix>span{color:var(--muted);pointer-events:none;font-size:.65rem;font-weight:800;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.tag-editor{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.editor-tag-chip{border:1px solid var(--border);background:var(--surface-control);min-height:34px;color:var(--muted);border-radius:999px;padding:0 11px;font-size:.65rem;font-weight:780}.editor-tag-chip.active{border-color:var(--green-700);background:var(--green-100);color:var(--green-900)}.nutrition-editor-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.nutrition-editor-grid input{min-width:0;padding-right:35px}.calculated-label{color:var(--green-700);text-align:right;font-size:.64rem;font-weight:800}.editor-photo-card{aspect-ratio:16/9;border:1px dashed var(--border-strong);background:var(--surface-input);border-radius:17px;width:100%;overflow:hidden}.editor-photo-card img{object-fit:cover;width:100%;height:100%}.editor-photo-placeholder{height:100%;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:7px;display:grid}.editor-photo-placeholder .icon{width:35px;height:35px;color:var(--green-700)}.editor-photo-placeholder strong{color:var(--ink);font-size:.82rem}.editor-photo-placeholder span{font-size:.65rem}.photo-action-row{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.photo-action-row .secondary-button{align-items:center;gap:7px;min-height:41px;display:inline-flex}.photo-action-row .icon{width:17px;height:17px}.danger-text{color:var(--danger)}.small-add-button{border:1px solid var(--border);background:var(--surface-control);min-height:36px;color:var(--green-700);border-radius:11px;align-items:center;gap:5px;padding:0 10px;font-size:.65rem;font-weight:850;display:inline-flex}.small-add-button .icon{width:16px;height:16px}.repeatable-list{gap:9px;display:grid}.repeatable-row{border:1px solid var(--border);background:var(--surface-input);border-radius:14px;grid-template-columns:27px minmax(0,1fr) auto;align-items:start;gap:8px;padding:10px;display:grid}.row-number{background:var(--green-50);width:27px;height:27px;color:var(--green-700);border-radius:9px;place-items:center;font-size:.65rem;font-weight:850;display:grid}.ingredient-inputs{grid-template-columns:76px 76px minmax(0,1fr);gap:7px;display:grid}.row-controls{gap:5px;display:grid}.row-controls button,.single-control{border:1px solid var(--border);background:var(--surface-control);width:34px;height:34px;color:var(--muted);border-radius:10px;place-items:center;display:grid}.row-controls button:disabled{opacity:.28}.row-controls button .icon,.single-control .icon{width:16px;height:16px}.row-controls .row-delete,.row-delete{color:var(--danger)}.substitution-inputs{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px;display:grid}.substitution-inputs>span{color:var(--green-700);font-weight:850}.editor-empty-row{border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:12px;margin:0;padding:13px;font-size:.69rem}.editor-bottom-actions{padding-top:2px}@media (max-width:620px){.nutrition-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-editor-grid label:first-child{grid-column:1/-1}.ingredient-inputs{grid-template-columns:76px 70px minmax(0,1fr)}.repeatable-row{grid-template-columns:26px minmax(0,1fr)}.repeatable-row .row-controls{grid-column:2;grid-template-columns:repeat(3,34px);justify-content:end}.substitution-editor-row .single-control{grid-column:2;justify-self:end}.modal-action-row{grid-template-columns:1fr}}@media (max-width:420px){.editor-field-grid{grid-template-columns:1fr}.editor-field.field-wide{grid-column:auto}.ingredient-inputs{grid-template-columns:1fr 78px}.ingredient-name{grid-column:1/-1}.calculated-label{max-width:145px}.editor-save-button span{display:none}.editor-save-button{justify-content:center;width:42px;padding:0}}@media (min-width:760px){.compact-modal-panel{border-radius:26px}.recipe-editor-panel{border:1px solid var(--border-strong);border-radius:28px;inset:18px 0;box-shadow:0 28px 90px #0000008c}.editor-header{border-radius:28px 28px 0 0}}.recipe-preview-panel{overscroll-behavior:contain;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;touch-action:pan-y;background:var(--surface-sheet);width:min(100%,760px);max-height:100dvh;overflow:hidden auto}.detail-hero{background:var(--cream-200);height:min(42dvh,390px);min-height:290px;overflow:hidden}.detail-hero>img,.detail-hero>.recipe-photo-placeholder{object-fit:cover;width:100%;height:100%;min-height:100%}.detail-hero>img{filter:saturate(.94)contrast(1.02)}.detail-floating-panel{z-index:2;border:1px solid var(--border-strong);background:color-mix(in srgb, var(--surface-card-solid) 96%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:25px;margin:-68px 14px 0;padding:19px;position:relative;box-shadow:0 18px 45px #00000057}.detail-title-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.detail-title-row h2{font:700 clamp(1.72rem, 7vw, 2.55rem)/1.02 var(--font-sans);letter-spacing:-.045em;margin:5px 0 0}.detail-category,.detail-section-label{color:var(--green-700);letter-spacing:.095em;text-transform:uppercase;font-size:.65rem;font-weight:850}.detail-description{margin:12px 0 0;font-size:.76rem;line-height:1.52}.macro-view-switch{background:var(--cream-200);border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;margin:17px 0 11px;padding:4px;display:grid}.macro-view-switch button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:11px;font-size:.7rem;font-weight:800}.macro-view-switch button.active{background:var(--surface-card-solid);color:var(--green-700);box-shadow:var(--shadow-card)}.detail-macro-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.detail-macro-grid>div{border:1px solid var(--border);background:var(--surface-control);text-align:center;border-radius:13px;min-width:0;padding:10px 3px}.detail-macro-grid strong,.detail-macro-grid span{display:block}.detail-macro-grid strong{white-space:nowrap;font-size:clamp(.72rem,3vw,.9rem)}.detail-macro-grid span{color:var(--muted);margin-top:4px;font-size:.52rem}.detail-macro-grid .calorie-macro{background:var(--green-50)}.detail-macro-grid .calorie-macro strong{color:var(--green-700)}.detail-body{padding:19px var(--page-pad) 10px}.serving-scale-card{border:1px solid var(--border);background:var(--surface-card);border-radius:17px;justify-content:space-between;align-items:center;gap:14px;padding:14px 15px;display:flex}.serving-stepper{border:1px solid var(--border-strong);background:var(--surface-input);border-radius:13px;grid-template-columns:38px 55px 38px;align-items:center;display:grid;overflow:hidden}.serving-stepper button{width:38px;height:40px;color:var(--green-700);background:0 0;border:0;place-items:center;display:grid}.serving-stepper button:disabled{color:var(--muted);opacity:.38}.serving-stepper .icon{width:17px;height:17px}.serving-stepper input{border:0;border-inline:1px solid var(--border);width:55px;height:40px;color:var(--ink);text-align:center;appearance:textfield;background:0 0;outline:0;padding:0;font-weight:850}.serving-stepper input::-webkit-inner-spin-button{appearance:none;margin:0}.serving-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}.detail-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.detail-facts>span{border:1px solid var(--border);background:var(--surface-card);border-radius:14px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:1px 7px;min-width:0;padding:11px 9px;display:grid}.detail-facts .icon{width:18px;height:18px;color:var(--green-700);grid-row:1/span 2}.detail-facts strong{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.detail-facts small{color:var(--muted);font-size:.53rem}.detail-tags{scrollbar-width:none;gap:7px;padding:1px 0 10px;display:flex;overflow-x:auto}.detail-tags span{border:1px solid var(--border);color:var(--muted);border-radius:999px;flex:none;padding:7px 10px;font-size:.63rem;font-weight:750}.detail-tags::-webkit-scrollbar{display:none}.detail-actions{grid-template-columns:repeat(3,1fr);gap:8px;margin:3px 0 8px;display:grid}.detail-actions button{border:1px solid var(--border);background:var(--surface-card);min-height:45px;color:var(--muted);border-radius:13px;justify-content:center;align-items:center;gap:7px;font-size:.67rem;font-weight:800;display:inline-flex}.detail-actions .icon{width:17px;height:17px}.detail-actions .danger-action{color:var(--danger)}.detail-section{border-bottom:1px solid var(--border);padding:24px 0}.detail-section-heading{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:15px;display:flex}.detail-section-heading h3{font:700 1.12rem/1.15 var(--font-sans);margin:4px 0 0}.detail-section-heading>span{color:var(--muted);font-size:.65rem;font-weight:800}.compact-detail-section{padding-block:20px}.scaled-ingredient-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.scaled-ingredient-list li{border:1px solid var(--border);background:var(--surface-card);border-radius:13px;grid-template-columns:minmax(74px,auto) 1fr;align-items:center;gap:12px;min-height:48px;padding:10px 12px;display:grid}.scaled-ingredient-list strong{color:var(--green-700);font-size:.72rem}.scaled-ingredient-list span{color:var(--muted);font-size:.74rem;line-height:1.35}.scaled-ingredient-list .ingredient-name-only{color:var(--muted);grid-column:1/-1}.detail-method-list{counter-reset:detail-steps;gap:15px;margin:0;padding:0;list-style:none;display:grid}.detail-method-list li{counter-increment:detail-steps;color:var(--muted);grid-template-columns:34px minmax(0,1fr);align-items:start;gap:12px;font-size:.76rem;line-height:1.56;display:grid}.detail-method-list li:before{content:counter(detail-steps);background:var(--green-50);width:32px;height:32px;color:var(--green-700);border-radius:50%;place-items:center;font-size:.68rem;font-weight:850;display:grid}.detail-note-list,.detail-substitution-list,.detail-history-list{gap:9px;display:grid}.detail-note-list p{border:1px solid var(--border);background:var(--green-50);border-radius:13px;margin:0;padding:12px 13px;font-size:.72rem}.detail-substitution-list>div{border:1px solid var(--border);background:var(--surface-card);border-radius:13px;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px;padding:12px;font-size:.68rem;display:grid}.detail-substitution-list>div>span{color:var(--green-700)}.history-summary,.history-entry{border:1px solid var(--border);background:var(--surface-card);border-radius:13px;padding:12px 13px}.history-summary{justify-content:space-between;gap:12px;font-size:.72rem;display:flex}.history-summary span{color:var(--muted)}.history-entry>div{justify-content:space-between;gap:10px;font-size:.72rem;display:flex}.history-entry p{margin:7px 0 0;font-size:.69rem}.history-rating{color:var(--orange);letter-spacing:.05em}.detail-sticky-action{z-index:4;padding:12px var(--page-pad) calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg, transparent, var(--surface-sheet) 26%);position:sticky;bottom:0}.detail-start-button{border-radius:16px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:54px;display:inline-flex}.detail-start-button .icon{fill:currentColor;width:19px;height:19px}@media (max-width:680px){.modal-shell:has(.recipe-preview-panel){place-items:stretch stretch;padding:0}.recipe-preview-panel{border:0;border-radius:0;width:100%;height:100dvh;max-height:100dvh}.detail-hero{height:min(40dvh,350px);min-height:280px}}@media (min-width:681px){.recipe-preview-panel{border-radius:28px;max-height:min(94dvh,940px)}.detail-floating-panel{margin-inline:28px}.detail-body,.detail-sticky-action{padding-inline:34px}}@media (max-width:380px){.detail-floating-panel{margin-inline:10px;padding:16px 13px}.detail-macro-grid{gap:4px}.detail-macro-grid>div{padding-inline:1px}.detail-facts{gap:5px}.detail-facts>span{padding-inline:7px}}.recipe-image-wrap,.mini-image-wrap,.featured-image,.detail-hero,.duplicate-thumb,.editor-photo-card,.crop-preview-card,.crop-preview-hero,.crop-stage{overflow:hidden}.recipe-image-wrap>img,.mini-image-wrap>img,.featured-image>img,.detail-hero>img,.duplicate-thumb>img,.editor-photo-card>img,.crop-preview-card>img,.crop-preview-hero>img,.crop-stage>img{will-change:transform, object-position}.photo-primary-actions{flex-wrap:wrap;gap:8px;display:flex}.photo-action-row{align-items:flex-start}.macro-view-switch.three-options{grid-template-columns:repeat(3,1fr)}.detail-facts.four-facts,.detail-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-field small{color:var(--muted);font-size:.58rem;font-weight:700}.crop-editor-shell{z-index:120;background:var(--cream-100);display:block;overflow:hidden}.crop-editor-panel{overscroll-behavior:contain;background:var(--cream-100);width:min(100%,720px);margin:0 auto;transition:transform .2s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;overflow:auto;transform:translateY(18px)}.modal-shell.visible .crop-editor-panel{transform:translateY(0)}.crop-editor-header{z-index:5;padding:calc(env(safe-area-inset-top) + 11px) var(--page-pad) 11px;border-bottom:1px solid var(--border);background:var(--surface-header);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;display:grid;position:sticky;top:0}.crop-editor-header h2{font:700 1.12rem/1.1 var(--font-sans);margin:0}.crop-editor-content{width:min(100%,620px);padding:20px var(--page-pad) calc(32px + env(safe-area-inset-bottom));margin:0 auto}.crop-mode-switch{background:var(--cream-200);border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:14px;padding:4px;display:grid}.crop-mode-switch button{min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:11px;font-size:.7rem;font-weight:800}.crop-mode-switch button.active{background:var(--surface-card-solid);color:var(--green-700);box-shadow:var(--shadow-card)}.crop-stage{border:1px solid var(--border-strong);width:100%;box-shadow:var(--shadow-soft);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:#050807;border-radius:19px;position:relative}.crop-stage:active{cursor:grabbing}.crop-stage.card-mode{aspect-ratio:1.25}.crop-stage.hero-mode{aspect-ratio:16/9}.crop-stage img,.crop-live-previews img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.crop-help{color:var(--muted);text-align:center;margin:10px 2px 17px;font-size:.67rem;line-height:1.45}.crop-zoom-control{border:1px solid var(--border);background:var(--surface-card);border-radius:15px;grid-template-columns:auto minmax(0,1fr) 52px;align-items:center;gap:11px;padding:13px 14px;display:grid}.crop-zoom-control span,.crop-zoom-control output{color:var(--muted);font-size:.66rem;font-weight:800}.crop-zoom-control output{text-align:right}.crop-zoom-control input{width:100%;accent-color:var(--green-700)}.crop-live-previews{grid-template-columns:1fr 1fr;gap:11px;margin:18px 0;display:grid}.crop-live-previews>div>span{color:var(--muted);margin:0 0 6px 2px;font-size:.62rem;font-weight:800;display:block}.crop-preview-card,.crop-preview-hero{border:1px solid var(--border);background:var(--cream-200);box-shadow:var(--shadow-card);border-radius:14px}.crop-preview-card{aspect-ratio:1.25}.crop-preview-hero{aspect-ratio:16/9}@media (min-width:760px){.crop-editor-panel{border:1px solid var(--border-strong);border-radius:28px;inset:18px 0;box-shadow:0 28px 90px #0000008c}.detail-actions,.detail-facts.four-facts{grid-template-columns:repeat(4,minmax(0,1fr))}}.continue-cooking-section{margin:-6px 0 26px}.continue-cooking-card{background:linear-gradient(145deg, #79aa5726, var(--surface-card));box-shadow:var(--shadow-card);border:1px solid #79aa5747;border-radius:21px;grid-template-columns:116px minmax(0,1fr);gap:14px;padding:12px;display:grid}.continue-cooking-image{background:var(--cream-200);border-radius:15px;height:128px;overflow:hidden}.continue-cooking-image img,.continue-cooking-image .recipe-photo-placeholder{object-fit:cover;width:100%;height:100%;min-height:0}.continue-cooking-copy{flex-direction:column;justify-content:center;min-width:0;display:flex}.continue-step-label{color:var(--green-700);letter-spacing:.06em;text-transform:uppercase;font-size:.61rem;font-weight:850}.continue-cooking-copy h3{font:700 1rem/1.15 var(--font-sans);margin:5px 0 9px}.continue-cooking-copy p{margin:7px 0 10px;font-size:.62rem}.continue-progress{background:var(--cream-300);border-radius:999px;height:5px;overflow:hidden}.continue-progress span{border-radius:inherit;background:var(--green-700);height:100%;display:block}.continue-cooking-copy .primary-button{align-self:flex-start;min-height:38px;padding-inline:13px}.continue-cooking-copy .primary-button .icon{width:15px;height:15px}.cooking-mode-shell{z-index:150;opacity:0;pointer-events:none;background:var(--cream-100);transition:opacity .18s;position:fixed;inset:0}.cooking-mode-shell.visible{opacity:1;pointer-events:auto}.cooking-mode-panel{background:radial-gradient(circle at 90% 0, #79aa5721, transparent 22rem), var(--cream-100);flex-direction:column;width:min(100%,760px);height:100dvh;margin:0 auto;display:flex;overflow:hidden}.cooking-header{z-index:8;padding:calc(env(safe-area-inset-top) + 10px) var(--page-pad) 10px;border-bottom:1px solid var(--border);background:var(--surface-header);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);grid-template-columns:44px minmax(0,1fr) 50px;align-items:center;gap:10px;display:grid;position:relative}.cooking-header>div{text-align:center;min-width:0}.cooking-header span{color:var(--green-700);letter-spacing:.08em;text-transform:uppercase;font-size:.57rem;font-weight:850;display:block}.cooking-header h2{text-overflow:ellipsis;white-space:nowrap;font:700 .93rem/1.1 var(--font-sans);margin:3px 0 0;overflow:hidden}.cooking-header-button{border:1px solid var(--border);background:var(--surface-control);border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.cooking-header-button .icon{width:19px;height:19px}.ingredient-shortcut{position:relative}.ingredient-shortcut small{border:2px solid var(--cream-100);background:var(--green-700);color:#071009;border-radius:999px;place-items:center;min-width:23px;height:18px;padding:0 4px;font-size:.48rem;font-weight:900;display:grid;position:absolute;bottom:-3px;right:-4px}.cooking-progress{background:var(--cream-300);flex:none;height:4px}.cooking-progress span{background:var(--green-700);height:100%;transition:width .26s;display:block}.cooking-main{overscroll-behavior:contain;padding:18px var(--page-pad) 132px;flex:auto;overflow:auto}.cooking-recipe-strip{grid-template-columns:54px 1fr;align-items:center;gap:11px;margin-bottom:16px;display:grid}.cooking-recipe-strip>div{background:var(--cream-200);border-radius:15px;width:54px;height:54px;overflow:hidden}.cooking-recipe-strip img,.cooking-recipe-strip .recipe-photo-placeholder{object-fit:cover;width:100%;height:100%;min-height:0}.cooking-recipe-strip .recipe-photo-placeholder span{display:none}.cooking-recipe-strip span strong,.cooking-recipe-strip span small{display:block}.cooking-recipe-strip span strong{color:var(--ink);font-size:.72rem}.cooking-recipe-strip span small{color:var(--muted);margin-top:4px;font-size:.59rem}.cooking-step-card{border:1px solid var(--border-strong);background:linear-gradient(145deg, var(--surface-card-solid), var(--surface-card));min-height:clamp(230px,38dvh,390px);box-shadow:var(--shadow-soft);text-align:center;border-radius:28px;place-items:center;padding:42px 24px 30px;display:grid;position:relative}.cooking-step-card:after{content:"";pointer-events:none;border:1px solid #79aa5714;border-radius:20px;position:absolute;inset:12px}.cooking-step-number{background:var(--green-100);width:34px;height:34px;color:var(--green-700);border-radius:50%;place-items:center;font-size:.72rem;font-weight:900;display:grid;position:absolute;top:18px;left:50%;transform:translate(-50%)}.cooking-step-card p{max-width:580px;color:var(--ink);font:600 clamp(1.15rem, 4.8vw, 1.65rem)/1.45 var(--font-sans);text-wrap:balance;margin:18px 0 0}.cooking-timer-card{border:1px solid var(--border);background:var(--surface-card);box-shadow:var(--shadow-card);border-radius:21px;margin-top:15px;padding:15px}.cooking-timer-card.finished{background:linear-gradient(145deg, #db9a5d21, var(--surface-card));border-color:#db9a5d8c}.cooking-timer-heading{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.cooking-timer-icon{background:var(--green-50);width:42px;height:42px;color:var(--green-700);border-radius:13px;place-items:center;display:grid}.cooking-timer-icon .icon{width:21px;height:21px}.cooking-timer-heading small,.cooking-timer-heading strong{display:block}.cooking-timer-heading small{color:var(--muted);font-size:.58rem;font-weight:800}.cooking-timer-heading strong{font-variant-numeric:tabular-nums;letter-spacing:.02em;margin-top:2px;font-size:1.35rem}.timer-state-label{background:var(--green-50);color:var(--green-700);border-radius:999px;padding:5px 8px;font-size:.54rem;font-weight:850}.timer-adjust-row{grid-template-columns:1fr 1fr 1fr;gap:7px;margin-top:12px;display:grid}.timer-adjust-row button{border:1px solid var(--border);background:var(--surface-control);min-height:36px;color:var(--muted);border-radius:11px;padding:0 8px;font-size:.6rem;font-weight:800}.timer-adjust-row button:disabled{opacity:.38}.timer-main-actions button{min-height:43px}.timer-main-actions .icon{width:17px;height:17px}.cooking-navigation{z-index:7;padding:13px var(--page-pad) calc(13px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface-nav);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);grid-template-columns:.85fr 1.15fr;gap:9px;display:grid;position:absolute;bottom:0;left:0;right:0}.cooking-navigation button{min-height:52px}.cooking-navigation .icon{width:18px;height:18px}.cooking-navigation button:disabled{opacity:.38}.cooking-ingredients-layer{z-index:20;pointer-events:none;position:absolute;inset:0}.cooking-ingredients-layer.open{pointer-events:auto}.cooking-drawer-backdrop{opacity:0;background:#000000b8;border:0;transition:opacity .18s;position:absolute;inset:0}.cooking-ingredients-layer.open .cooking-drawer-backdrop{opacity:1}.cooking-ingredients-drawer{max-height:min(82dvh,760px);padding:9px var(--page-pad) calc(22px + env(safe-area-inset-bottom));border:1px solid var(--border-strong);background:var(--surface-sheet);border-radius:28px 28px 0 0;transition:transform .22s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:0;left:0;right:0;overflow:auto;transform:translateY(105%);box-shadow:0 -28px 90px #0000008f}.cooking-ingredients-layer.open .cooking-ingredients-drawer{transform:translateY(0)}.cooking-drawer-handle{background:var(--cream-300);border-radius:999px;width:40px;height:4px;margin:1px auto 13px}.cooking-drawer-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.cooking-drawer-heading span{color:var(--green-700);text-transform:uppercase;letter-spacing:.07em;font-size:.59rem;font-weight:850}.cooking-drawer-heading h3{font:700 1.35rem/1 var(--font-sans);margin:3px 0 0}.cooking-ingredient-list{gap:7px;display:grid}.cooking-ingredient-row{border:1px solid var(--border);background:var(--surface-card);text-align:left;border-radius:14px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;width:100%;padding:10px;display:grid}.cooking-ingredient-row.checked{background:var(--green-50);border-color:#79aa5752}.cooking-check{border:1px solid var(--border-strong);color:#071009;background:var(--surface-control);border-radius:9px;place-items:center;width:27px;height:27px;display:grid}.cooking-ingredient-row.checked .cooking-check{border-color:var(--green-700);background:var(--green-700)}.cooking-check .icon{stroke-width:2.4px;width:16px;height:16px}.cooking-ingredient-row strong,.cooking-ingredient-row small{display:block}.cooking-ingredient-row strong{color:var(--green-700);margin-bottom:3px;font-size:.68rem}.cooking-ingredient-row small{color:var(--ink);font-size:.69rem;line-height:1.35}.cooking-ingredient-row.checked small{color:var(--muted);text-decoration:line-through}.cooking-end-session{width:100%;min-height:44px;color:var(--danger);background:#ef817514;border:1px solid #ef817547;border-radius:13px;margin-top:14px;font-size:.66rem;font-weight:850}.cooking-complete-screen{min-height:100dvh;padding:calc(env(safe-area-inset-top) + 28px) var(--page-pad) calc(env(safe-area-inset-bottom) + 28px);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.cooking-complete-icon{background:var(--green-700);color:#071009;border-radius:50%;place-items:center;width:74px;height:74px;margin-bottom:19px;display:grid;box-shadow:0 18px 54px #79aa573d}.cooking-complete-icon .icon{stroke-width:2.2px;width:36px;height:36px}.cooking-complete-screen h2{font:700 clamp(1.8rem, 7vw, 2.6rem)/1.05 var(--font-sans);margin:3px 0 8px}.cooking-complete-screen>p:not(.section-kicker){margin-bottom:18px}.cooking-complete-image{aspect-ratio:16/9;background:var(--cream-200);width:min(100%,430px);box-shadow:var(--shadow-soft);border-radius:23px;margin-bottom:19px;overflow:hidden}.cooking-complete-image img,.cooking-complete-image .recipe-photo-placeholder{object-fit:cover;width:100%;height:100%;min-height:0}.cooking-complete-screen .full-button{width:min(100%,430px);min-height:50px;margin-top:8px}@media (min-width:680px){.continue-cooking-card{grid-template-columns:160px minmax(0,1fr)}.continue-cooking-image{height:150px}.cooking-mode-panel{border-inline:1px solid var(--border);box-shadow:0 0 80px #0000004d}.cooking-step-card{padding-inline:54px}.cooking-ingredients-drawer{width:min(100%,680px);left:50%;transform:translate(-50%,105%)}.cooking-ingredients-layer.open .cooking-ingredients-drawer{transform:translate(-50%)}}@media (max-width:390px){.continue-cooking-card{grid-template-columns:96px minmax(0,1fr)}.continue-cooking-image{height:122px}.timer-adjust-row button{font-size:.54rem}.cooking-step-card p{font-size:1.08rem}}.brand,.about-card h2,.launch-brand strong{font-family:var(--font-wordmark)}h1,h2,h3,.continue-cooking-copy h3,.featured-copy h2,.preview-title-row h2,.detail-title,.cooking-header h2,.cooking-step-card p,.cooking-drawer-heading h3,.cooking-complete-screen h2{letter-spacing:-.025em;font-family:var(--font-sans)!important}.home-heading>p:last-child{display:none}.topbar>div:first-child{align-items:center;display:flex}.topbar-actions{align-items:center}.theme-toggle .icon{margin:0}.launch-screen{z-index:1000;background:var(--cream-50);color:var(--ink);opacity:1;place-items:center;transition:opacity .36s,visibility .36s;display:grid;position:fixed;inset:0;overflow:hidden}.launch-brand{align-items:center;gap:12px;animation:.62s cubic-bezier(.2,.8,.2,1) both launchBrandIn;display:flex;transform:translateY(-10px)}.launch-mark{background:var(--green-50);width:48px;height:48px;color:var(--green-700);border-radius:15px;place-items:center;display:grid}.launch-mark .icon{width:31px;height:31px}.launch-brand strong{letter-spacing:-.045em;font-size:clamp(2.2rem,10vw,3.15rem)}.launch-pulse{left:50%;bottom:calc(12vh + env(safe-area-inset-bottom));background:var(--green-700);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite launchPulse;position:absolute}@keyframes launchBrandIn{0%{opacity:0;transform:translateY(6px)scale(.96)}to{opacity:1;transform:translateY(-10px)scale(1)}}@keyframes launchPulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}.cooking-main{padding-bottom:124px}.cooking-recipe-strip{grid-template-columns:48px minmax(0,1fr);margin-bottom:14px}.cooking-recipe-strip>div{border-radius:14px;width:48px;height:48px}.cooking-recipe-strip>strong{font-size:.76rem;font-weight:750}.cooking-step-card{min-height:clamp(300px,48dvh,510px)}.cooking-step-card p{font-size:clamp(1.1rem,4.7vw,1.55rem);font-weight:720;line-height:1.42}.cooking-timer-card{padding:16px}.timer-display-row{grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:12px;display:grid}.timer-display-row>strong{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.035em;font-size:clamp(2rem,10vw,3rem);line-height:1}.timer-round-button{border:1px solid var(--border-strong);background:var(--surface-control);width:46px;height:46px;color:var(--green-700);border-radius:50%;place-items:center;display:grid}.timer-round-button:disabled{opacity:.28}.timer-round-button .icon{width:20px;height:20px}.timer-presets{scrollbar-width:none;gap:7px;margin-top:14px;padding-bottom:2px;display:flex;overflow-x:auto}.timer-presets::-webkit-scrollbar{display:none}.timer-presets button{border:1px solid var(--border);background:var(--surface-control);min-width:58px;min-height:34px;color:var(--muted);border-radius:999px;flex:none;padding:0 11px;font-size:.66rem;font-weight:800}.timer-presets button.suggested{border-color:#79aa5757}.timer-presets button.active{background:var(--green-700);color:#081009;border-color:var(--green-700)}.timer-main-actions{grid-template-columns:.72fr 1.28fr;gap:9px;margin-top:13px;display:grid}.timer-main-actions.single{grid-template-columns:1fr}.timer-main-actions button{justify-content:center;align-items:center;gap:8px;min-width:0;min-height:48px;padding-inline:13px;display:inline-flex}.timer-main-actions .icon{flex:none;width:18px;height:18px}.timer-main-actions button span{white-space:nowrap}.cooking-navigation{grid-template-columns:1fr 1fr;gap:10px;padding-top:10px}.cooking-navigation button{border-radius:15px;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:50px;padding:0 12px;font-size:.78rem;display:inline-flex}.cooking-navigation button span{white-space:nowrap}.cooking-exit-layer{z-index:30;pointer-events:none;position:absolute;inset:0}.cooking-exit-layer.open{pointer-events:auto}.cooking-exit-backdrop{opacity:0;background:#000000b8;border:0;transition:opacity .18s;position:absolute;inset:0}.cooking-exit-layer.open .cooking-exit-backdrop{opacity:1}.cooking-exit-sheet{padding:10px var(--page-pad) calc(18px + env(safe-area-inset-bottom));border:1px solid var(--border-strong);background:var(--surface-sheet);border-radius:28px 28px 0 0;transition:transform .22s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:0;left:0;right:0;transform:translateY(105%);box-shadow:0 -28px 90px #0000008f}.cooking-exit-layer.open .cooking-exit-sheet{transform:translateY(0)}.cooking-exit-sheet h3{text-align:center;margin:4px 0 18px;font-size:1rem}.cooking-exit-sheet .full-button{width:100%;min-height:50px;margin-top:9px}.cooking-exit-sheet .cooking-end-session{min-height:48px;margin-top:9px}.cooking-exit-sheet .text-button{min-height:44px}.cooking-drawer-heading{margin-bottom:14px}.cooking-drawer-heading h3{margin:0;font-size:1.15rem}@media (max-width:390px){.timer-presets button{min-width:53px;padding-inline:9px}.cooking-navigation button{padding-inline:9px;font-size:.72rem}}.brand-app-icon{object-fit:cover;border-radius:10px;flex:0 0 34px;width:34px;height:34px;display:block}.brand{gap:10px}.theme-toggle{place-items:center;padding:0;display:grid;position:static}.theme-toggle>.icon{place-self:center;opacity:1!important;width:21px!important;height:21px!important;margin:0!important;position:static!important;transform:scale(1)!important}.launch-screen{transition:opacity .44s,visibility .44s}.launch-app-icon{aspect-ratio:1;object-fit:cover;border-radius:25%;width:min(44vw,210px);animation:.72s cubic-bezier(.2,.8,.2,1) both officialIconIn;display:block;box-shadow:0 28px 80px #00000057}@keyframes officialIconIn{0%{opacity:0;transform:translateY(10px)scale(.94)}to{opacity:1;transform:translateY(-8px)scale(1)}}.cooking-mode-panel{overflow:hidden}.cooking-main{min-height:0;padding:14px var(--page-pad) 12px;flex-direction:column;flex:auto;gap:12px;display:flex;overflow:hidden}.cooking-step-card{flex:auto;padding:48px 22px 28px;overflow:hidden;min-height:0!important}.cooking-step-card p{overscroll-behavior:contain;max-height:100%;overflow:auto}.cooking-timer-chip{border:1px solid var(--border-strong);background:var(--surface-card);min-width:132px;height:44px;color:var(--ink);box-shadow:var(--shadow-card);border-radius:999px;flex:none;justify-content:center;align-self:center;align-items:center;gap:9px;padding:0 16px;display:inline-flex}.cooking-timer-chip .icon{width:19px;height:19px;color:var(--green-700)}.cooking-timer-chip strong{font-variant-numeric:tabular-nums;font-size:.72rem}.cooking-navigation{padding:10px var(--page-pad) calc(10px + env(safe-area-inset-bottom));flex:none;position:static}.cooking-timer-layer{z-index:25;pointer-events:none;position:absolute;inset:0}.cooking-timer-layer.open{pointer-events:auto}.cooking-timer-layer .cooking-drawer-backdrop{opacity:0;transition:opacity .18s}.cooking-timer-layer.open .cooking-drawer-backdrop{opacity:1}.cooking-timer-sheet{padding:10px var(--page-pad) calc(20px + env(safe-area-inset-bottom));border:1px solid var(--border-strong);background:var(--surface-sheet);border-radius:28px 28px 0 0;transition:transform .22s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:0;left:0;right:0;transform:translateY(105%);box-shadow:0 -28px 90px #0000008f}.cooking-timer-layer.open .cooking-timer-sheet{transform:translateY(0)}.timer-sheet-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.timer-sheet-heading h3{margin:0;font-size:1.12rem}.cooking-timer-sheet .timer-display-row{margin-bottom:14px}.cooking-timer-sheet .timer-presets{justify-content:flex-start}.cooking-timer-sheet .timer-main-actions{grid-template-columns:.8fr 1.2fr}.cooking-timer-sheet .timer-main-actions button[hidden]{display:none}.cooking-timer-sheet .timer-main-actions:has(button[hidden]){grid-template-columns:1fr}.bottom-nav [data-route=recipes] .nav-icon{width:23px;height:23px;transform:translate(0,0)!important}@media (max-height:700px){.cooking-header{padding-top:calc(env(safe-area-inset-top) + 6px);padding-bottom:7px}.cooking-main{gap:8px;padding-top:10px}.cooking-step-card{padding-top:42px}.cooking-timer-chip{height:40px}.cooking-navigation button{min-height:46px}}:root{--fuelled-viewport-height:100dvh}.brand-app-icon{object-fit:cover;border-radius:9px;flex-basis:29px;width:29px;height:29px}.ui-raster-icon,.nav-icon-raster{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;display:block}.theme-toggle{place-items:center;width:42px;height:42px;display:grid}.theme-toggle .ui-raster-icon{width:23px;height:23px;margin:0}.bottom-nav .nav-icon-raster{opacity:.68;width:24px;height:24px;margin:0 auto}.bottom-nav .nav-item.active .nav-icon-raster{opacity:1;filter:sepia(.2)saturate(1.8)hue-rotate(40deg)brightness(1.15)}.launch-screen{z-index:500;background:radial-gradient(circle at 50% 42%, #79aa571c, transparent 20rem), var(--cream-100);opacity:1;visibility:visible;place-items:center;transition:opacity .36s,visibility .36s;display:grid;position:fixed;inset:0;overflow:hidden}.launch-screen.leaving{opacity:0;visibility:hidden}.launch-lockup{opacity:0;justify-items:center;gap:15px;display:grid;transform:translateY(9px)scale(.975)}.launch-screen.ready .launch-lockup{animation:.56s cubic-bezier(.2,.78,.2,1) both launchLockupIn}.launch-brand-mark{object-fit:cover;border-radius:23px;width:82px;height:82px;box-shadow:0 18px 46px #0000004d}.launch-copy{justify-items:center;gap:5px;display:grid}.launch-copy strong{font:700 clamp(2rem, 9vw, 2.65rem)/1 var(--font-wordmark);letter-spacing:-.035em}.launch-copy span{color:var(--muted);letter-spacing:.04em;font-size:.72rem;font-weight:650}.launch-progress{left:50%;bottom:calc(11vh + env(safe-area-inset-bottom));background:var(--cream-300);border-radius:999px;width:84px;height:3px;position:absolute;overflow:hidden;transform:translate(-50%)}.launch-progress i{border-radius:inherit;background:var(--green-700);width:42%;height:100%;animation:1.05s ease-in-out infinite launchProgress;display:block}@keyframes launchLockupIn{0%{opacity:0;transform:translateY(9px)scale(.975)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes launchProgress{0%{transform:translate(-110%)}55%{transform:translate(90%)}to{transform:translate(250%)}}.cooking-mode-shell{width:100%;height:var(--fuelled-viewport-height,100dvh);max-height:var(--fuelled-viewport-height,100dvh);touch-action:manipulation;overflow:hidden}.cooking-mode-panel{width:min(100%,760px);height:var(--fuelled-viewport-height,100dvh);max-height:var(--fuelled-viewport-height,100dvh);grid-template-rows:auto 4px minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden}.cooking-header{padding:calc(env(safe-area-inset-top) + 8px) var(--page-pad) 8px;grid-row:1}.cooking-progress{grid-row:2}.cooking-main{min-width:0;height:100%;min-height:0;padding:10px var(--page-pad) 8px;grid-row:3;grid-template-rows:minmax(0,1fr) 42px;gap:9px;display:grid;overflow:hidden}.cooking-step-card{place-items:center;min-width:0;height:100%;padding:42px clamp(18px,5vw,30px) 24px;display:grid;overflow:hidden;min-height:0!important}.cooking-step-card p{max-width:590px;max-height:none;margin:12px 0 0;font-size:clamp(1.04rem,4.2vw,1.42rem);line-height:1.38;overflow:hidden}.cooking-step-card.compact-copy p{font-size:clamp(.88rem,3.65vw,1.16rem);line-height:1.34}.cooking-step-number{width:32px;height:32px;top:14px}.cooking-timer-chip{width:max-content;min-width:118px;height:40px;box-shadow:none;place-self:center;margin:0}.cooking-navigation{min-width:0;padding:8px var(--page-pad) calc(8px + env(safe-area-inset-bottom));grid-row:4;grid-template-columns:1fr 1fr;gap:9px;display:grid;position:static}.cooking-navigation button{min-width:0;height:48px;min-height:48px;padding-inline:12px}.cooking-timer-layer,.cooking-exit-layer,.cooking-ingredients-layer{position:absolute;inset:0}.cooking-timer-sheet,.cooking-exit-sheet,.cooking-ingredients-drawer{overscroll-behavior:contain;max-height:min(78%,620px);overflow:auto}@media (max-height:720px){.cooking-header{padding-top:calc(env(safe-area-inset-top) + 5px);grid-template-columns:40px minmax(0,1fr) 44px;padding-bottom:6px}.cooking-header-button{width:39px;height:39px}.cooking-header h2{font-size:.83rem}.cooking-main{grid-template-rows:minmax(0,1fr) 38px;gap:7px;padding-top:7px}.cooking-step-card{padding-top:36px;padding-bottom:18px}.cooking-step-card p{font-size:clamp(.96rem,3.9vw,1.2rem)}.cooking-timer-chip{height:37px}.cooking-navigation{padding-top:7px}.cooking-navigation button{height:45px;min-height:45px}}@media (max-height:620px){.cooking-header span{font-size:.5rem}.cooking-main{grid-template-rows:minmax(0,1fr) 34px;padding-block:5px}.cooking-step-card{border-radius:22px;padding:32px 16px 14px}.cooking-step-card p{font-size:.9rem;line-height:1.28}.cooking-step-number{width:28px;height:28px;top:9px}.cooking-timer-chip{min-width:104px;height:34px}.cooking-navigation button{height:42px;min-height:42px}}.data-safety-modal{z-index:160}.data-safety-panel{z-index:1;border:1px solid var(--line);background:var(--surface);width:min(100%,620px);max-height:min(86dvh,760px);box-shadow:var(--shadow-lg);border-radius:28px;margin:auto;position:relative;overflow:auto}.data-safety-header{z-index:2;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-between;align-items:center;gap:20px;padding:22px;display:flex;position:sticky;top:0}.data-safety-header h2{margin:2px 0 0}.data-safety-header .icon-button{font-size:28px;font-weight:300;line-height:1}.data-safety-body{gap:14px;padding:22px;display:grid}.data-safety-copy{color:var(--muted);margin:0 0 4px}.backup-summary{border:1px solid var(--line);background:var(--surface-raised);border-radius:18px;justify-content:space-between;gap:16px;padding:18px;display:flex}.backup-summary span{color:var(--muted)}.restore-preview{gap:14px;padding-top:6px;display:grid}.restore-preview-card{border:1px solid var(--line);background:var(--line);border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.restore-preview-card>div{background:var(--surface-raised);gap:5px;min-width:0;padding:14px;display:grid}.restore-preview-card span{color:var(--muted);font-size:.78rem}.restore-preview-card strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipe-file-preview{border:1px solid var(--line);background:var(--surface-raised);border-radius:18px;gap:6px;padding:18px;display:grid}.recipe-file-preview span{color:var(--green-500);font-weight:750}.recipe-file-preview small{color:var(--muted)}.data-error{color:var(--danger);margin:0;font-weight:700}.danger-button{border:1px solid color-mix(in srgb, var(--danger) 48%, var(--line));background:color-mix(in srgb, var(--danger) 12%, var(--surface-raised));min-height:52px;color:var(--danger);font:inherit;border-radius:16px;font-weight:800}@media (max-width:640px){.data-safety-modal{align-items:end;padding:0}.data-safety-panel{border-bottom:0;border-radius:26px 26px 0 0;width:100%;max-height:88dvh}}.cooking-history-panel{overflow:hidden}.cooking-history-overview{border:1px solid var(--border);background:var(--green-50);border-radius:15px;justify-content:space-between;align-items:center;gap:14px;margin:18px 0 14px;padding:14px 15px;display:flex}.cooking-history-overview strong,.cooking-history-overview span{display:block}.cooking-history-overview strong{font-size:.8rem}.cooking-history-overview span{color:var(--muted);font-size:.66rem}.cooking-history-list{overscroll-behavior:contain;gap:10px;max-height:calc(min(92dvh,900px) - 150px);padding-bottom:4px;display:grid;overflow-y:auto}.cooking-history-row{border:1px solid var(--border);background:var(--surface-card);width:100%;min-height:82px;color:var(--ink);text-align:left;border-radius:16px;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.cooking-history-thumb{background:var(--cream-200);border-radius:13px;width:62px;height:62px;overflow:hidden}.cooking-history-image,.cooking-history-thumb .recipe-photo-placeholder{object-fit:cover;width:100%;height:100%}.cooking-history-thumb .recipe-photo-placeholder span{display:none}.cooking-history-copy{gap:4px;min-width:0;display:grid}.cooking-history-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.cooking-history-copy small{color:var(--muted);font-size:.62rem}.cooking-history-rating{color:var(--orange);letter-spacing:.07em;font-size:.65rem}.cooking-history-note{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.63rem;line-height:1.35;display:-webkit-box;overflow:hidden}.cooking-history-empty{text-align:center;padding:48px 18px}.cooking-history-empty .empty-icon{width:42px;height:42px;color:var(--green-700)}.cooking-history-empty h3{margin:12px 0 5px;font-size:1rem}.cooking-history-empty p{margin:0;font-size:.7rem}.cooking-complete-screen{width:100%;height:var(--fuelled-viewport-height,100dvh);overscroll-behavior:contain;min-height:0;padding:calc(env(safe-area-inset-top) + 24px) var(--page-pad) calc(env(safe-area-inset-bottom) + 24px);text-align:center;-webkit-overflow-scrolling:touch;flex-direction:column;grid-row:1/-1;justify-content:flex-start;display:flex;overflow-y:auto}.cooking-complete-check{background:var(--green-700);color:#071009;border-radius:50%;flex:none;place-items:center;width:58px;height:58px;margin:0 auto 12px;display:grid;box-shadow:0 16px 38px #79aa5738}.cooking-complete-check .icon{stroke-width:2.3px;width:28px;height:28px}.cooking-complete-screen h2{max-width:620px;font:780 clamp(1.65rem, 7vw, 2.35rem)/1.08 var(--font-sans);letter-spacing:-.035em;margin:5px auto}.cooking-complete-meta{color:var(--muted);margin:0 0 14px;font-size:.72rem;font-weight:650}.cooking-complete-image{aspect-ratio:16/8.8;border-radius:20px;flex:none;width:min(100%,390px);margin:0 auto 18px}.completion-rating-field,.completion-make-again-field{text-align:left;border:0;width:min(100%,430px);margin:0 auto 14px;padding:0}.completion-rating-field legend,.completion-make-again-field legend{color:var(--text);margin-bottom:8px;font-size:.72rem;font-weight:780}.completion-rating-field legend span,.completion-make-again-field legend span{color:var(--muted);font-size:.62rem;font-weight:650}.completion-stars{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.completion-stars button,.history-editor-stars button{border:1px solid var(--border);background:var(--surface-card);min-width:0;height:45px;color:var(--muted);border-radius:13px;place-items:center;display:grid}.completion-stars button .icon,.history-editor-stars button .icon{width:21px;height:21px}.completion-stars button.active,.history-editor-stars button.active{color:var(--orange);background:#db9a5d1f;border-color:#db9a5d7a}.completion-choice,.history-editor-choice{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.completion-choice button,.history-editor-choice button{border:1px solid var(--border);background:var(--surface-card);min-height:43px;color:var(--muted);border-radius:13px;font-size:.72rem;font-weight:760}.completion-choice button.active,.history-editor-choice button.active{border-color:var(--green-700);background:var(--green-50);color:var(--green-700)}.completion-note-field{text-align:left;gap:7px;width:min(100%,430px);margin:0 auto 14px;display:grid}.completion-note-field>span{font-size:.72rem;font-weight:780}.completion-note-field small{color:var(--muted);font-weight:650}.completion-actions{gap:8px;width:min(100%,430px);margin:0 auto;display:grid}.completion-actions .full-button{width:100%;min-height:49px;margin:0}.detail-history-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.detail-history-summary-grid>div{border:1px solid var(--border);background:var(--surface-soft);border-radius:15px;gap:3px;min-width:0;padding:13px;display:grid}.detail-history-summary-grid strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.detail-history-summary-grid span{color:var(--muted);font-size:.58rem}.detail-latest-cooking-note{border-left:3px solid var(--green-700);background:var(--green-50);color:var(--text);border-radius:0 12px 12px 0;margin:10px 0 0;padding:12px 14px;font-size:.68rem;line-height:1.5}.detail-history-button{min-height:45px;margin-top:10px}.cooking-history-filters{border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px 16px;display:grid}.cooking-history-filters label{gap:5px;min-width:0;display:grid}.cooking-history-filters label span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.58rem;font-weight:750}.cooking-history-filters select{border:1px solid var(--border);background-color:var(--surface-card);width:100%;min-width:0;height:40px;color:var(--text);border-radius:12px;padding:0 31px 0 11px;font-size:.66rem}.cooking-history-row{border:1px solid var(--border);background:var(--surface-card);border-radius:17px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;display:grid}.cooking-history-main{min-width:0;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:11px;padding:0;display:grid}.cooking-history-thumb{border-radius:13px;width:58px;height:58px}.cooking-history-actions{gap:6px;display:grid}.cooking-history-actions button{border:1px solid var(--border);background:var(--surface-soft);width:34px;height:34px;color:var(--muted);border-radius:11px;place-items:center;display:grid}.cooking-history-actions button:last-child{color:var(--danger)}.cooking-history-actions .icon{width:16px;height:16px}.cooking-history-make-again{background:var(--green-50);width:max-content;max-width:100%;color:var(--green-700);border-radius:999px;padding:3px 7px;font-size:.55rem;font-weight:760}.history-editor-panel{width:min(100% - 24px,470px)}.history-editor-rating,.history-editor-make-again{border:0;margin:14px 0 0;padding:0}.history-editor-rating legend,.history-editor-make-again legend{margin-bottom:8px;font-size:.7rem;font-weight:780}.history-editor-stars{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.history-editor-choice{grid-template-columns:repeat(3,1fr)}.history-editor-panel .editor-field{margin-top:14px}.history-editor-panel .modal-action-row{margin-top:16px}.history-editor-panel #deleteHistoryEntryButton{color:var(--danger)}@media (max-height:760px){.cooking-complete-screen{padding-top:calc(env(safe-area-inset-top) + 14px)}.cooking-complete-check{width:48px;height:48px;margin-bottom:8px}.cooking-complete-image{max-width:330px;margin-bottom:12px}.completion-rating-field,.completion-make-again-field{margin-bottom:10px}.completion-stars button{height:39px}.completion-note-field textarea{min-height:60px}}.nutrition-mode-switch{border:1px solid var(--border);background:var(--surface-input);border-radius:13px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:12px;padding:4px;display:grid}.nutrition-mode-switch button{min-height:38px;color:var(--muted);border-radius:10px;font-size:.7rem;font-weight:850}.nutrition-mode-switch button.active{background:var(--green-700);color:#071009;box-shadow:0 7px 18px #59893e33}.ingredient-nutrition-preview{border:1px solid var(--border);background:var(--surface-input);border-radius:15px;padding:12px}.ingredient-total-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.ingredient-total-grid>div{background:var(--green-50);text-align:center;border-radius:10px;min-width:0;padding:8px 5px}.ingredient-total-grid strong,.ingredient-total-grid span{display:block}.ingredient-total-grid strong{color:var(--ink);font-size:.82rem}.ingredient-total-grid span{color:var(--muted);margin-top:2px;font-size:.53rem;font-weight:800}.ingredient-contributor-row{color:var(--muted);flex-wrap:wrap;gap:6px 12px;margin-top:9px;font-size:.6rem;display:flex}.ingredient-contributor-row strong{color:var(--ink)}.ingredient-nutrition-summary{min-height:18px;color:var(--green-700);margin:9px 2px 0;font-size:.63rem;font-weight:800}#manualNutritionFields{margin-top:12px}#manualNutritionFields[hidden]{display:none!important}.ingredient-row-main{min-width:0}.ingredient-nutrition-toggle{border:1px solid var(--border);background:var(--surface-control);width:100%;min-height:36px;color:var(--muted);text-align:left;border-radius:11px;align-items:center;gap:7px;margin-top:7px;padding:0 9px;font-size:.63rem;font-weight:800;display:flex}.ingredient-nutrition-toggle>span:nth-child(2){flex:1}.ingredient-nutrition-toggle .icon{width:14px;height:14px}.ingredient-nutrition-badge{text-align:center;border-radius:999px;min-width:56px;padding:4px 7px;font-size:.55rem;font-weight:900}.ingredient-nutrition-badge.missing{background:var(--surface-card);color:var(--muted)}.ingredient-nutrition-badge.estimated{color:#d9ad56;background:#d4a64524}.ingredient-nutrition-badge.verified{background:var(--green-100);color:var(--green-700)}.ingredient-nutrition-panel{border:1px solid var(--border);background:var(--surface-card);border-radius:13px;margin-top:8px;padding:11px}.ingredient-nutrition-panel[hidden]{display:none}.ingredient-meta-grid,.ingredient-nutrition-settings,.ingredient-nutrient-grid{gap:8px;display:grid}.ingredient-meta-grid{grid-template-columns:1fr 1fr}.ingredient-nutrition-settings{grid-template-columns:.8fr 1fr 1.2fr;margin-top:9px}.ingredient-nutrient-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:9px}.ingredient-meta-grid label>span,.ingredient-nutrition-settings label>span,.ingredient-nutrient-grid label>span{color:var(--muted);margin:0 0 5px 2px;font-size:.56rem;font-weight:800;display:block}.ingredient-reference-input{grid-template-columns:1fr 52px;gap:5px;display:grid}.ingredient-nutrition-panel input:disabled{opacity:.42}.ingredient-nutrition-footer{justify-content:space-between;align-items:center;gap:8px;margin-top:9px;display:flex}.ingredient-nutrition-footer strong{color:var(--green-700);font-size:.61rem}.ingredient-copy-nutrition{width:min(150px,46%)}@media (max-width:620px){.ingredient-total-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ingredient-nutrition-settings{grid-template-columns:1fr 1fr}.ingredient-nutrition-settings label:last-child{grid-column:1/-1}.ingredient-nutrient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-nutrient-grid label:first-child{grid-column:1/-1}}@media (max-width:420px){.ingredient-meta-grid{grid-template-columns:1fr}.ingredient-nutrition-footer{flex-direction:column;align-items:stretch}.ingredient-copy-nutrition{width:100%}}.nutrition-source-chip{background:var(--green-100);min-height:25px;color:var(--green-700);border-radius:999px;align-items:center;margin:0 0 10px;padding:0 9px;font-size:.57rem;font-weight:850;display:inline-flex}.nutrition-source-chip.partial{color:#d9ad56;background:#d4a64524}:root{--form-radius:10px;--form-group-radius:16px;--form-row-height:54px;--form-focus:#86ba6129;--form-divider:var(--border)}.recipe-editor-form{padding-top:14px}.editor-section{box-shadow:none;background:0 0;border:0;border-radius:0;margin-bottom:22px;padding:0}.editor-section-heading{margin:0 3px 9px}.editor-section-heading .section-kicker{display:none}.editor-section-heading h3{letter-spacing:-.012em;margin:0;font-size:.86rem;font-weight:780}.editor-field-grid,.nutrition-editor-grid,.editor-section>.editor-field,.repeatable-row,.ingredient-nutrition-preview,.ingredient-nutrition-panel{border:1px solid var(--border-strong);background:var(--surface-card-solid);box-shadow:0 8px 24px #0000001f}.editor-field-grid{border-radius:var(--form-group-radius);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.editor-field{border-right:1px solid var(--form-divider);border-bottom:1px solid var(--form-divider);background:0 0;min-width:0;padding:10px 12px 9px;transition:background .15s,box-shadow .15s;position:relative}.editor-field:nth-child(2n){border-right:0}.editor-field.field-wide{border-right:0;grid-column:1/-1}.editor-field-grid>.editor-field:last-child,.editor-field-grid>.editor-field:nth-last-child(2):nth-child(odd){border-bottom:0}.editor-field:focus-within,.nutrition-editor-grid label:focus-within,.native-inline-field:focus-within,.ingredient-meta-grid label:focus-within,.ingredient-nutrition-settings label:focus-within,.ingredient-nutrient-grid label:focus-within,.method-input-wrap:focus-within,.substitution-field:focus-within{background:var(--form-focus);box-shadow:inset 3px 0 0 var(--green-700)}.editor-field>span,.nutrition-editor-grid label>span,.native-inline-field>span,.ingredient-meta-grid label>span,.ingredient-nutrition-settings label>span,.ingredient-nutrient-grid label>span,.method-input-wrap>span,.substitution-field>span{color:var(--muted);letter-spacing:.018em;margin:0 0 4px;font-size:.58rem;font-weight:760;display:block}.editor-field input,.editor-field textarea,.editor-field select,.nutrition-editor-grid input,.native-inline-field input,.native-inline-field select,.ingredient-nutrition-panel input,.ingredient-nutrition-panel select,.method-input-wrap textarea,.substitution-field input{width:100%;min-height:28px;color:var(--ink);box-shadow:none;appearance:none;background:0 0;border:0;border-radius:0;outline:0;padding:0;font-size:16px;font-weight:570;line-height:1.35}.editor-field input:focus,.editor-field textarea:focus,.editor-field select:focus,.repeatable-row input:focus,.repeatable-row textarea:focus,.repeatable-row select:focus,.nutrition-editor-grid input:focus,.ingredient-nutrition-panel input:focus,.ingredient-nutrition-panel select:focus{box-shadow:none;border:0}.editor-field textarea,.method-input-wrap textarea{resize:none;min-height:72px}.editor-field select,.native-inline-field select,.ingredient-nutrition-panel select{background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 8px),calc(100% - 3px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:20px}.input-suffix{align-items:baseline;gap:7px;min-height:28px;display:flex}.input-suffix input{flex:1;min-width:0;padding-right:0}.input-suffix>span{color:var(--muted);flex:none;font-size:.62rem;font-weight:760;position:static;transform:none}.photo-editor-section .editor-photo-card{background:var(--surface-card-solid);border-style:solid;border-radius:16px;box-shadow:0 8px 24px #0000001f}.photo-action-row{margin-top:9px}.photo-action-row .secondary-button,.small-add-button,.editor-save-button{border-radius:var(--form-radius)}.small-add-button{background:0 0;border:0;min-height:32px;padding-inline:8px}.tag-editor{margin-top:10px}.editor-tag-chip{border-radius:10px;min-height:32px}.nutrition-mode-switch{border-radius:11px;max-width:330px;margin:0 0 10px;padding:3px}.nutrition-mode-switch button{border-radius:8px;min-height:35px}.ingredient-nutrition-preview{border-radius:var(--form-group-radius);padding:10px}.ingredient-total-grid>div{border-radius:8px}.nutrition-editor-grid{border-radius:var(--form-group-radius);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:10px;overflow:hidden}.nutrition-editor-grid label{border-right:1px solid var(--form-divider);border-bottom:1px solid var(--form-divider);min-width:0;padding:10px 12px 9px;transition:background .15s,box-shadow .15s}.nutrition-editor-grid label:nth-child(2n){border-right:0}.nutrition-editor-grid label:last-child{border-bottom:0;border-right:0;grid-column:1/-1}.nutrition-editor-grid label:nth-last-child(2){border-bottom:0}.nutrition-editor-grid .input-suffix>span{right:auto}.repeatable-list{gap:10px}.repeatable-row{border-radius:var(--form-group-radius);grid-template-columns:28px minmax(0,1fr) auto;gap:9px;padding:10px}.row-number{border-radius:8px}.ingredient-inputs{border:1px solid var(--border);background:var(--surface-input);border-radius:12px;grid-template-columns:78px 82px minmax(0,1fr);gap:0;display:grid;overflow:hidden}.native-inline-field{border-right:1px solid var(--form-divider);min-width:0;padding:8px 9px 7px;transition:background .15s,box-shadow .15s}.native-inline-field:last-child{border-right:0}.ingredient-nutrition-toggle{background:0 0;border:0;border-radius:8px;min-height:34px;margin-top:7px;padding:0 7px}.ingredient-nutrition-toggle:active{background:var(--green-50)}.ingredient-nutrition-badge{border-radius:7px}.ingredient-nutrition-panel{background:var(--surface-input);box-shadow:none;border-radius:13px;margin-top:7px;padding:0;overflow:hidden}.ingredient-meta-grid,.ingredient-nutrition-settings,.ingredient-nutrient-grid{border-bottom:1px solid var(--form-divider);gap:0;margin:0}.ingredient-meta-grid label,.ingredient-nutrition-settings label,.ingredient-nutrient-grid label{border-right:1px solid var(--form-divider);border-bottom:1px solid var(--form-divider);min-width:0;padding:9px 10px 8px;transition:background .15s,box-shadow .15s}.ingredient-meta-grid label:last-child,.ingredient-nutrition-settings label:last-child,.ingredient-nutrient-grid label:last-child{border-right:0}.ingredient-nutrition-panel input,.ingredient-nutrition-panel select{border-radius:0;min-height:26px;padding:0;font-size:16px}.ingredient-reference-input{grid-template-columns:minmax(0,1fr) 52px;gap:7px}.ingredient-nutrition-footer{margin:0;padding:9px 10px}.ingredient-copy-nutrition{background-color:#0000;border:0;min-height:30px;padding:0 22px 0 0;font-size:13px}.method-input-wrap{border:1px solid var(--border);background:var(--surface-input);border-radius:12px;min-width:0;padding:7px 10px 9px}.method-row .method-text{min-height:76px}.substitution-inputs{gap:7px}.substitution-field{border:1px solid var(--border);background:var(--surface-input);border-radius:12px;min-width:0;padding:8px 9px 7px;transition:background .15s,box-shadow .15s}.substitution-inputs>span{align-self:center}.row-controls{gap:3px}.row-controls button,.single-control{background:0 0;border:0;border-radius:8px;width:31px;height:31px}.row-controls button:active,.single-control:active{background:var(--surface-control)}.editor-empty-row{background:var(--surface-card-solid);border-radius:12px}@media (max-width:620px){.recipe-editor-form{padding-inline:14px}.editor-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-field.field-wide{grid-column:1/-1}.ingredient-inputs{grid-template-columns:1fr 84px}.ingredient-inputs .ingredient-name-field{border-right:0;border-bottom:1px solid var(--form-divider);grid-area:1/1/auto/-1}.ingredient-inputs .ingredient-amount-field,.ingredient-inputs .ingredient-unit-field{grid-row:2}.ingredient-inputs .ingredient-unit-field{border-right:0}.repeatable-row{grid-template-columns:27px minmax(0,1fr)}.repeatable-row .row-controls{grid-column:2;grid-template-columns:repeat(3,31px);justify-content:end}.ingredient-nutrient-grid label:first-child{grid-column:auto}.ingredient-meta-grid{grid-template-columns:1fr 1fr}.ingredient-nutrition-footer{flex-direction:row;align-items:center}.ingredient-copy-nutrition{width:min(150px,48%)}}@media (max-width:380px){.recipe-editor-form{padding-inline:11px}.editor-field-grid,.nutrition-editor-grid{border-radius:14px}.ingredient-meta-grid{grid-template-columns:1fr}.ingredient-meta-grid label{border-right:0}.ingredient-nutrition-footer{flex-direction:column;align-items:stretch}.ingredient-copy-nutrition{width:100%}}.history-editor-panel .editor-field,.completion-note-field,.manager-add-form label{border:1px solid var(--border-strong);border-radius:var(--form-radius);background:var(--surface-card-solid);padding:10px 12px 9px;transition:background .15s,box-shadow .15s;display:block}.history-editor-panel .editor-field:focus-within,.completion-note-field:focus-within,.manager-add-form label:focus-within{background:var(--form-focus);box-shadow:inset 3px 0 0 var(--green-700)}.completion-note-field>span,.manager-add-form label>span{color:var(--muted);margin:0 0 4px;font-size:.58rem;font-weight:760;display:block}.completion-note-field textarea,.manager-add-form input{width:100%;min-height:30px;color:var(--ink);box-shadow:none;background:0 0;border:0;border-radius:0;outline:0;margin:0;padding:0;font-size:16px}.completion-note-field textarea{resize:none;min-height:66px}.import-textarea{border-radius:var(--form-radius);background:var(--surface-card-solid);font-size:16px;box-shadow:0 8px 24px #0000001f}.import-textarea:focus{border-color:var(--green-700);box-shadow:0 0 0 3px var(--form-focus)}input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--muted) 72%, transparent);opacity:1}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.home-welcome-card,.cook-picker-card{border:1px solid var(--border);background:var(--surface-card);box-shadow:var(--shadow-card);border-radius:22px;overflow:hidden}.home-welcome-card{text-align:center;justify-items:center;gap:15px;padding:30px 22px;display:grid}.home-welcome-card>img{object-fit:contain;width:72px;height:72px}.home-welcome-card h2{margin-bottom:7px;font-size:1.35rem}.home-welcome-card p:not(.section-kicker){max-width:31rem;margin:0 auto}.home-welcome-actions{gap:9px;width:min(100%,360px);display:grid}.home-welcome-actions .text-button{min-height:38px}.cook-picker-card{grid-template-columns:112px minmax(0,1fr);min-height:170px;margin-bottom:30px;display:grid}.cook-picker-card-image{min-height:100%}.cook-picker-card-image>img,.cook-picker-card-image>.recipe-photo-placeholder{object-fit:cover;width:100%;height:100%;min-height:170px}.cook-picker-card-copy{flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:17px;display:flex}.cook-picker-card-copy h2{margin-bottom:5px;font-size:1.18rem}.cook-picker-card-copy>p:not(.section-kicker){margin-bottom:10px;font-size:.72rem}.cook-picker-card-meta{flex-wrap:wrap;gap:7px;margin-bottom:13px;display:flex}.cook-picker-card-meta span{background:var(--green-50);color:var(--green-700);border-radius:999px;padding:5px 8px;font-size:.58rem;font-weight:820}.mini-recipe-card>small{color:var(--muted);margin-top:4px;font-size:.61rem;font-weight:680;display:block}.library-presets{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;margin-bottom:3px;display:grid}.library-presets .chip-row{min-width:0}.library-preset-wrap{flex:none;align-items:center;display:inline-flex;position:relative}.library-preset-wrap.custom .filter-chip{padding-right:31px}.preset-delete{width:24px;height:24px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;right:4px}.preset-delete .icon{width:12px;height:12px}.library-preset-wrap.custom:has(.filter-chip.active) .preset-delete{color:#ffffffbf}.preset-save-button{border:1px solid var(--border);background:var(--surface-card);min-height:34px;color:var(--green-700);white-space:nowrap;border-radius:11px;padding:0 11px;font-size:.64rem;font-weight:820}.active-filter-summary{border:1px solid var(--border);background:var(--surface-card);border-radius:13px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding:10px 12px;display:flex}.active-filter-summary span{min-width:0}.active-filter-summary strong,.active-filter-summary small{display:block}.active-filter-summary strong{margin-bottom:2px;font-size:.7rem}.active-filter-summary small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;overflow:hidden}.active-filter-summary button{color:var(--green-700);background:0 0;border:0;flex:none;font-size:.66rem;font-weight:820}.preset-save-inline{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;margin-top:16px;padding-top:15px;display:grid}.preset-save-inline label{min-width:0}.preset-save-inline label span{color:var(--muted);margin:0 0 6px 2px;font-size:.58rem;font-weight:800;display:block}.preset-save-inline input{border:1px solid var(--border);background:var(--surface-input);width:100%;min-height:44px;color:var(--ink);border-radius:10px;outline:none;padding:0 12px;font-size:16px}.preset-save-inline input:focus{border-color:var(--green-700);box-shadow:0 0 0 3px #79aa5724}.preset-save-inline .secondary-button{border-radius:10px;min-height:44px}.recipe-card-copy{flex-direction:column;display:flex}.recipe-card-copy h3{margin-bottom:8px}.recipe-card-description{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:-2px 0 8px;font-size:.68rem;line-height:1.45;display:-webkit-box;overflow:hidden}.recipe-card-nutrition{color:var(--muted);flex-wrap:wrap;gap:5px 9px;margin-bottom:8px;font-size:.63rem;display:flex}.recipe-card-nutrition strong{color:var(--ink);font-size:.72rem}.recipe-card-meta{margin-top:auto}.list-layout .recipe-card-copy{min-height:124px}.list-layout .recipe-card-nutrition{margin-bottom:10px}.empty-library-actions{gap:8px;width:min(100%,330px);margin:17px auto 0;display:grid}.empty-library-actions .text-button{min-height:38px}.cook-picker-panel{width:min(100% - 24px,540px)}.cook-picker-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:17px 0 13px;display:grid}.cook-picker-controls label{min-width:0}.cook-picker-controls label>span{color:var(--muted);margin:0 0 5px 2px;font-size:.56rem;font-weight:800;display:block}.cook-picker-controls select{border:1px solid var(--border);background:var(--surface-input);width:100%;min-height:42px;color:var(--ink);border-radius:10px;padding:0 28px 0 10px;font-size:.66rem}.cook-picker-result{min-height:188px}.cook-picker-suggestion{border:1px solid var(--border);background:var(--surface-card);border-radius:17px;grid-template-columns:118px minmax(0,1fr);align-items:stretch;min-height:188px;display:grid;overflow:hidden}.cook-picker-suggestion-image>img,.cook-picker-suggestion-image>.recipe-photo-placeholder{object-fit:cover;width:100%;height:100%;min-height:188px}.cook-picker-suggestion>div:last-child{flex-direction:column;justify-content:center;min-width:0;padding:15px;display:flex}.cook-picker-suggestion small{color:var(--green-700);text-transform:uppercase;letter-spacing:.07em;font-size:.58rem;font-weight:850}.cook-picker-suggestion h3{margin:6px 0 5px;font-size:1.04rem}.cook-picker-suggestion p{margin-bottom:9px;font-size:.67rem}.cook-picker-suggestion span{background:var(--green-50);width:max-content;max-width:100%;color:var(--green-700);border-radius:999px;padding:5px 8px;font-size:.57rem;font-weight:800}.cook-picker-empty{border:1px dashed var(--border-strong);text-align:center;border-radius:17px;align-content:center;place-items:center;min-height:188px;padding:24px;display:grid}.cook-picker-empty .empty-icon{width:34px;height:34px;color:var(--green-700)}.cook-picker-empty h3{margin:9px 0 4px}.cook-picker-empty p{margin:0;font-size:.7rem}.cook-picker-panel .modal-action-row{margin-top:12px}@media (max-width:520px){.library-presets{grid-template-columns:1fr}.preset-save-button{width:max-content;margin-top:-6px}.cook-picker-controls{grid-template-columns:1fr 1fr}.cook-picker-controls label:first-child{grid-column:1/-1}}@media (max-width:390px){.cook-picker-card{grid-template-columns:94px minmax(0,1fr)}.cook-picker-card-image>img,.cook-picker-card-image>.recipe-photo-placeholder{min-height:184px}.cook-picker-card-copy{padding:14px}.cook-picker-suggestion{grid-template-columns:96px minmax(0,1fr)}.cook-picker-controls{grid-template-columns:1fr}.cook-picker-controls label:first-child{grid-column:auto}}@media (min-width:760px){.home-welcome-actions{grid-template-columns:1fr 1fr}.home-welcome-actions .text-button{grid-column:1/-1}.cook-picker-card{grid-template-columns:220px minmax(0,1fr)}.cook-picker-card-image>img,.cook-picker-card-image>.recipe-photo-placeholder{min-height:210px}}.recipe-preference-control{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.recipe-preference-control button{border:1px solid var(--border-strong);background:var(--surface-control);min-width:0;min-height:46px;color:var(--muted);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:9px 8px;font-size:.78rem;font-weight:750;display:inline-flex}.recipe-preference-control .icon{width:17px;height:17px}.recipe-preference-control button.active{background:var(--green-100);color:var(--green-900);border-color:#86ba618f}.recipe-preference-control button.not-for-me.active{border-color:color-mix(in srgb, var(--danger) 62%, transparent);background:color-mix(in srgb, var(--danger) 13%, var(--surface-control));color:var(--danger)}@media (max-width:370px){.recipe-preference-control{gap:6px}.recipe-preference-control button{gap:5px;padding-inline:5px;font-size:.72rem}}
