:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-page:var(--lightningcss-light,#f6f6f4)var(--lightningcss-dark,#1c1e1d);--color-surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#252827);--color-surface-raised:var(--lightningcss-light,#eeefec)var(--lightningcss-dark,#303432);--color-text:var(--lightningcss-light,#242724)var(--lightningcss-dark,#f0f1ee);--color-muted:var(--lightningcss-light,#626660)var(--lightningcss-dark,#b4b9b2);--color-border:var(--lightningcss-light,#d5d8d2)var(--lightningcss-dark,#404740);--color-control-border:var(--lightningcss-light,#8c9288)var(--lightningcss-dark,#717b71);--color-accent:var(--lightningcss-light,#a3442e)var(--lightningcss-dark,#e29a7a);--color-accent-hover:var(--lightningcss-light,#883825)var(--lightningcss-dark,#edb092);--color-accent-soft:var(--lightningcss-light,#f7e9e4)var(--lightningcss-dark,#3c2b25);--color-classification-fill:var(--lightningcss-light,#e7c2b3)var(--lightningcss-dark,#654637);--color-classification-text:var(--lightningcss-light,#663220)var(--lightningcss-dark,#ffe3d3);--color-classification-border:var(--lightningcss-light,#c58e76)var(--lightningcss-dark,#916750);--color-on-accent:var(--lightningcss-light,#fff)var(--lightningcss-dark,#251e1a);--color-focus:var(--color-accent);--color-success:var(--lightningcss-light,#2f6849)var(--lightningcss-dark,#8fc49f);--color-warning:var(--lightningcss-light,#865c16)var(--lightningcss-dark,#e0b972);--color-error:var(--lightningcss-light,#a33232)var(--lightningcss-dark,#ee9791);--radius-control:.5rem;--radius-surface:.8rem;--radius-prominent:1.25rem;--shadow-raised:0 .25rem 1rem #00000014;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--font-body:1rem;--font-small:.875rem;--font-page:clamp(1.75rem, 3vw, 2.5rem);--font-section:1.125rem;--line-body:1.5;--control-size:2.75rem}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{background:var(--color-page)}.food-catalog{min-width:0}.food-catalog>*+*{margin-top:var(--space-4)}.food-tabs,.food-actions,.food-pager,.food-heading,.food-picked{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.food-result-actions,.food-import>.food-actions{margin-top:var(--space-4)}.food-tabs{margin-bottom:var(--space-3)}.food-tabs [aria-current=page]{border-color:var(--color-accent);color:var(--color-accent)}.food-heading h2,.food-heading h3{margin:0}.food-heading{margin-bottom:var(--space-3)}.food-stats{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));display:grid}.food-stats dt{font-size:var(--font-small);color:var(--color-muted)}.food-stats dd{margin:var(--space-1) 0;font-size:var(--font-section);font-variant-numeric:tabular-nums}.food-filters{align-items:end;gap:var(--space-3);margin-block:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));display:grid}.food-table-scroll{max-width:100%;overflow-x:auto}.food-table{border-collapse:collapse;width:100%;font-size:var(--font-small)}.food-table th,.food-table td{text-align:start;padding:var(--space-2);border-bottom:1px solid var(--color-border);vertical-align:middle}.food-table th[scope=row]{overflow-wrap:anywhere;min-width:10rem;max-width:22rem}.food-row-meta{gap:var(--space-1);flex-wrap:wrap;min-width:9rem;display:flex}.food-row-meta small{overflow-wrap:anywhere;flex-basis:100%}.food-pager{margin-top:var(--space-3);justify-content:flex-end}.allocation-dialog.food-dialog{width:min(54rem,100vw - 2rem);max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto;overflow:hidden}.food-dialog-body{overscroll-behavior:contain;align-content:start;gap:var(--space-4);min-width:0;display:grid}.food-form{align-content:start;gap:var(--space-3);border:0;min-width:0;margin:0;padding:0;display:grid}.food-form .field,.food-picker{min-width:0}.food-form p{margin:0}.food-search-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.food-picked{overflow-wrap:anywhere}.food-picker-results ul,.food-linked,.food-history,.food-import-items{margin:var(--space-2) 0;padding:0;list-style:none}.food-picker-results li{margin-block:var(--space-1)}.food-picker-results li>.button{justify-content:flex-start;gap:var(--space-2);text-align:start;overflow-wrap:anywhere;flex-wrap:wrap;width:100%;display:flex}.food-picker-results small{color:var(--color-muted)}.food-history>li,.food-linked>li{align-items:center;gap:var(--space-2);padding-block:var(--space-2);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.food-history>li>div,.food-linked>li>span{overflow-wrap:anywhere;flex:12rem;min-width:0}.food-history p{margin:var(--space-1) 0}.food-dialog summary,.food-catalog summary{min-height:var(--control-size);cursor:pointer;padding-block:var(--space-2);overflow-wrap:anywhere}.food-import-items>li{padding-block:var(--space-2);border-bottom:1px solid var(--color-border)}.food-diff{gap:var(--space-2);display:grid}.food-diff>div{gap:var(--space-2);grid-template-columns:minmax(7rem,1fr) minmax(0,2fr);display:grid}.food-diff dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.food-import pre,.food-dialog pre,.food-digest{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}.food-import .field textarea{font-family:monospace}.food-dialog code{overflow-wrap:anywhere}@media (width<=560px){.food-diff>div{grid-template-columns:minmax(0,1fr)}.food-table thead{display:block}.food-table thead th:not(:first-child){display:none}.food-table thead tr{border:0;display:block}.food-table,.food-table tbody,.food-table tr{display:block}.food-table tr{padding-block:var(--space-2);border-bottom:1px solid var(--color-border);grid-template-columns:2.75rem minmax(0,1fr);display:grid}.food-table th,.food-table td{min-width:0;padding:var(--space-1);border:0;display:block}.food-table th[scope=row]{min-width:0;max-width:none}.food-table td:nth-child(n+3){grid-column:2}.food-row-meta{min-width:0}}.food-import-counts{gap:var(--space-2) var(--space-4);margin:var(--space-3) 0;font-size:var(--font-small);grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));display:grid}.food-import-counts dt{color:var(--color-muted)}.food-import-counts dd{margin:var(--space-1) 0 0;font-weight:650}.food-bulk>*+*{margin-top:var(--space-3)}.food-bulk-progress{width:100%;height:1.25rem;accent-color:var(--color-accent);display:block}.food-bulk-confirm{gap:var(--space-3);justify-items:start;display:grid}.food-bulk-confirm .check-label{min-height:var(--control-size);align-items:start;line-height:1.5}.food-bulk-confirm input{flex:none;margin-top:.3rem}.food-bulk-packages>ol{padding-inline-start:1.5rem}.food-bulk-packages>ol>li{padding:var(--space-3);border-bottom:1px solid var(--color-border);overflow-wrap:anywhere}.food-bulk-packages>ol>li>div{justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;display:flex}.food-bulk-packages p{margin-block:var(--space-2)}.food-bulk-problem{border-inline-start:.2rem solid var(--color-accent)}*{box-sizing:border-box}body{color:var(--color-text);background:var(--color-page);font:var(--font-body)/var(--line-body) ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-synthesis:none;margin:0}button,input,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}h1,h2,h3,p,legend,label{overflow-wrap:anywhere}h1,h2,h3{line-height:1.2}h2{font-size:var(--font-section)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--space-2);left:var(--space-2);z-index:50;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-control-border);border-radius:var(--radius-control);position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}.page-heading h1{font-size:var(--font-page);letter-spacing:-.035em;margin:0;font-weight:750}.page-heading p{margin:var(--space-3) 0 0;max-width:46rem;color:var(--color-muted)}.surface{min-width:0;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-surface)}.button{min-height:var(--control-size);min-width:var(--control-size);max-width:100%;padding:var(--space-2) var(--space-4);border:1px solid var(--color-control-border);border-radius:var(--radius-control);background:var(--color-surface);font-size:var(--font-small);cursor:pointer;overflow-wrap:anywhere;justify-content:center;align-items:center;font-weight:650;line-height:1.4;display:inline-flex}.button:hover:not(:disabled){background:var(--color-surface-raised)}.button--primary{color:var(--color-on-accent);background:var(--color-accent);border-color:#0000}.button--primary:hover:not(:disabled){background:var(--color-accent-hover)}.button--danger{color:var(--color-error);border-color:var(--color-error)}.button:disabled{opacity:.55;cursor:not-allowed}.button[aria-busy=true]{cursor:wait}.field{gap:var(--space-2);min-width:0;display:grid}.field>label{font-size:var(--font-small);font-weight:650}input:not([type=checkbox]),select{width:100%;min-width:0;min-height:var(--control-size);padding:var(--space-2) var(--space-3);border:1px solid var(--color-control-border);border-radius:var(--radius-control);background:var(--color-surface)}select{padding-right:var(--space-6)}input:disabled,select:disabled{opacity:.65}.field-hint{color:var(--color-muted);font-size:var(--font-small);margin:0}.check-label{align-items:center;gap:var(--space-3);min-height:var(--control-size);font-size:var(--font-small);cursor:pointer;display:flex}.check-label input{width:1.125rem;height:1.125rem;accent-color:var(--color-accent);flex:none;margin:0}.status{padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-muted);font-size:var(--font-small);overflow-wrap:anywhere;border-inline-start:3px solid}.status>p{margin:0 0 var(--space-3)}.status--success{color:var(--color-success)}.status--warning{color:var(--color-warning)}.status--error{color:var(--color-error)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.recipe-detail{overflow-wrap:anywhere;min-width:0;container:recipe-detail/inline-size}.recipe-detail>*+*{margin-top:var(--space-5)}.app-shell .app-content>.page-content:has(>.recipe-detail){padding-top:var(--space-3)}.recipe-detail>.recipe-library-return+.recipe-hero{margin-top:var(--space-2)}.recipe-hero{min-width:0;padding:clamp(var(--space-5), 3vw, 2.5rem);border:1px solid var(--color-border);border-radius:var(--radius-prominent);background:linear-gradient(115deg, var(--color-accent-soft), color-mix(in srgb, var(--color-accent-soft) 65%, var(--color-surface)) 55%, var(--color-surface))}.recipe-hero-title{justify-content:space-between;align-items:flex-start;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.recipe-hero h1{letter-spacing:-.035em;min-width:0;margin:0;font-size:clamp(1.75rem,4cqi,2.75rem);line-height:1.12}.recipe-hero-title>h1{flex:12rem}.recipe-edit-action{justify-content:center;align-items:center;gap:var(--space-2);min-width:var(--control-size);min-height:var(--control-size);max-width:100%;padding:var(--space-2);border-radius:var(--radius-control);color:var(--color-muted);font-size:var(--font-small);background:0 0;border:1px solid #0000;flex:none;margin-inline-start:auto;font-weight:650;display:inline-flex}.recipe-edit-action svg{flex:none}.recipe-edit-action:hover{color:var(--color-text);background:var(--color-surface-raised)}.recipe-edit-action:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.recipe-description{max-width:60ch;margin:var(--space-4) 0 0;white-space:pre-wrap}.recipe-metadata{gap:var(--space-4) var(--space-6);margin:var(--space-5) 0 0;flex-wrap:wrap;display:flex}.recipe-metadata>div{min-width:0}.recipe-metadata dt,.recipe-origin-label{color:var(--color-muted);font-size:var(--font-small)}.recipe-metadata dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere;font-weight:650}.recipe-origin{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.recipe-origin-label,.recipe-source-details{margin:0 0 var(--space-2)}.recipe-source-details{white-space:pre-wrap}.recipe-origin--personal{border-inline-start:2px solid var(--color-accent);border-top:0;padding-block:0;padding-inline-start:var(--space-3)}.recipe-origin--personal .recipe-origin-label{color:var(--color-accent);font-weight:650}.recipe-origin--personal .recipe-source-details{max-width:60ch}.recipe-origin a{min-height:var(--control-size);max-width:100%;color:var(--color-accent);text-underline-offset:.2em;align-items:center;text-decoration:underline;display:inline-flex}.recipe-content-links{gap:var(--space-2) var(--space-5);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.recipe-content-links a{min-height:var(--control-size);color:var(--color-accent);font-weight:650;font-size:var(--font-small);align-items:center;display:inline-flex}.recipe-content-links a:hover{text-underline-offset:.2em;text-decoration:underline}.recipe-cooking-content{gap:var(--space-5);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.recipe-reading-section{min-width:0;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface)}.recipe-reading-section h2{margin:0 0 var(--space-4);scroll-margin-top:var(--space-4)}.recipe-ingredient-group+.recipe-ingredient-group{margin-top:var(--space-5)}.recipe-ingredient-group h3{margin:0 0 var(--space-2);color:var(--color-accent);font-size:1rem}.recipe-ingredients{margin:0;padding:0;list-style:none}.recipe-ingredients>li{gap:var(--space-3);padding-block:var(--space-3);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(3rem,max-content) minmax(0,1fr);display:grid}.recipe-ingredients>li:last-child{border-bottom:0}.recipe-amount{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:650}.recipe-ingredient-note{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:var(--font-small)}.recipe-alternatives-action{vertical-align:middle;width:var(--control-size);min-height:var(--control-size);min-width:var(--control-size);max-width:100%;color:var(--color-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin-inline-start:var(--space-2);padding:0;display:inline-flex}.recipe-alternatives-action:hover{color:var(--color-text)}.recipe-alternatives-action:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.allocation-dialog.recipe-alternatives-dialog{max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-wrap:anywhere;overflow:hidden}.recipe-alternatives-list{margin:0;padding:0;list-style:none}.recipe-alternatives-list li+li{margin-top:var(--space-2)}.recipe-alternatives-list p{margin:var(--space-1) 0 0}.recipe-alternative-usage{overflow-wrap:anywhere}.recipe-quantity-hint{margin-top:var(--space-3)}.recipe-preparation{counter-reset:none;margin:0;padding:0;list-style:none}.recipe-preparation>li{gap:var(--space-3);grid-template-columns:2rem minmax(0,1fr);display:grid}.recipe-preparation>li+li{margin-top:var(--space-5)}.recipe-step-number{background:var(--color-accent-soft);width:2rem;height:2rem;color:var(--color-accent);font-size:var(--font-small);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.recipe-step-text{white-space:pre-wrap;margin:0}.recipe-step-ingredients{gap:var(--space-2);margin:var(--space-3) 0 0;padding:var(--space-3) 0 0;border-top:1px solid var(--color-border);font-size:var(--font-small);color:var(--color-muted);list-style:none;display:grid}.recipe-step-ingredients>li{justify-content:space-between;gap:var(--space-1) var(--space-3);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.recipe-usage-unspecified{color:var(--color-muted);font-style:italic}.recipe-family-notes{border-inline-start:3px solid var(--color-accent);background:linear-gradient(155deg, color-mix(in srgb, var(--color-accent-soft) 25%, var(--color-surface)), var(--color-surface) 80%)}.recipe-family-notes h2{font-weight:650}.recipe-family-notes>p{white-space:pre-wrap;max-width:75ch;margin:0;line-height:1.7}@container recipe-detail (width>=42rem){.recipe-cooking-content{grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr)}}@container recipe-detail (width<=30rem){.recipe-hero,.recipe-reading-section{padding:var(--space-4)}.recipe-ingredients>li{grid-template-columns:minmax(0,max-content) minmax(0,1fr)}}@media (height<=600px){.recipe-hero{padding-block:var(--space-4)}.recipe-metadata,.recipe-origin{margin-top:var(--space-4)}}.recipe-save-notice{align-items:center;gap:var(--space-2);flex-wrap:wrap;max-width:100%;display:flex}.recipe-save-notice .status{min-width:0;padding:var(--space-2) var(--space-3);margin:0}.recipe-save-notice>.button{padding-inline:var(--space-2);color:var(--color-muted);background:0 0;border-color:#0000}.recipe-save-notice+.recipe-detail{margin-top:var(--space-3)}.recipe-personal-notices{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface)}.recipe-personal-notices-heading{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.recipe-personal-notices h2{font-size:var(--font-section);margin:0}.recipe-personal-notices ul{margin:var(--space-2) 0 0;font-size:var(--font-small);padding-inline-start:var(--space-5)}.recipe-personal-notices li+li{margin-top:var(--space-2)}.recipe-personal-notices li p{margin:var(--space-1) 0 0}.recipe-ingredient-nutrition-marker{vertical-align:middle;min-width:var(--control-size);min-height:var(--control-size);color:var(--color-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin-inline-start:var(--space-2);padding:0;display:inline-flex}.recipe-ingredient-nutrition-marker:focus-visible,.recipe-personal-notices h2:focus,.recipe-ingredient-name:focus{outline:3px solid var(--color-focus);outline-offset:2px}.recipe-ingredient-nutrition-marker:hover{color:var(--color-text)}.recipe-ingredient-nutrition-marker>svg{flex-shrink:0;width:20px;height:20px}.allocation-dialog.recipe-ingredient-nutrition-dialog{width:min(30rem,100vw - 2rem);max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-wrap:anywhere;overflow:hidden}.recipe-ingredient-notice-list{margin:0;padding-inline-start:var(--space-5)}.recipe-ingredient-notice-list li+li{margin-top:var(--space-2)}.recipe-ingredient-notice-list p{margin:var(--space-1) 0 0}.classification-fields{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.classification-fields>.equipment-choices{grid-column:1/-1}.equipment-choices{border:0;min-width:0;margin:0;padding:0}.equipment-choices legend{margin-bottom:var(--space-2);font-weight:650}.equipment-choices>div{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.recipe-classifications,.recipe-classifications ul{gap:var(--space-2);flex-wrap:wrap;display:flex}.recipe-classifications{margin-top:var(--space-4)}.recipe-classifications ul{min-width:0;max-width:100%;margin:0;padding:0;list-style:none}.recipe-classification-pill{overflow-wrap:anywhere;border:1px solid var(--color-classification-border);background:var(--color-classification-fill);max-width:100%;color:var(--color-classification-text);padding:var(--space-1) var(--space-3);font-size:var(--font-small);border-radius:999px;font-weight:650}.header-search{flex:1;min-width:0;max-width:24rem;position:relative}.quick-search-field{min-width:0;min-height:var(--control-size);border:1px solid var(--color-control-border);border-radius:var(--radius-prominent);background:var(--color-surface);align-items:center;padding-inline-start:var(--space-3);display:flex}.quick-search-field>svg{color:var(--color-muted);flex:none}.quick-search-field input{width:100%;min-width:0;min-height:var(--control-size);padding:var(--space-2);border-radius:inherit;font-size:var(--font-small);background:0 0;border:0}.quick-search-field:focus-within{outline:3px solid var(--color-focus);outline-offset:2px}.quick-search-field input:focus-visible{outline:none}.quick-search-field input::-webkit-search-cancel-button{display:none}.quick-search-clear{width:var(--control-size);min-height:var(--control-size);cursor:pointer;color:var(--color-muted);background:0 0;border:0;border-radius:50%;flex:none;padding:0;font-size:1.5rem}.quick-search-clear:hover:not(:disabled){background:var(--color-surface-raised);color:var(--color-text)}.app-header:has(.header-search){background:var(--color-page);position:relative}:is(.app-shell .app-header:has(.header-search.is-open),.app-shell .app-header:has(.mobile-account--compact[open])){z-index:12}.quick-search-panel{z-index:15;top:calc(100% + var(--space-2));width:min(32rem, calc(100vw - max(var(--space-4), env(safe-area-inset-left)) - max(var(--space-4), env(safe-area-inset-right))));max-height:min(28rem, calc(100dvh - 6rem - env(safe-area-inset-top) - env(safe-area-inset-bottom)));border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);box-shadow:var(--shadow-raised);flex-direction:column;display:flex;position:absolute;left:0}.quick-search-scroll{overscroll-behavior:contain;min-height:0;padding:var(--space-3);overflow-y:auto}.quick-search-scroll p{margin:0 0 var(--space-2);color:var(--color-muted);font-size:var(--font-small)}.quick-search-scroll ul{margin:0;padding:0;list-style:none}.quick-search-scroll a,.quick-search-all{min-height:var(--control-size);padding:var(--space-2) var(--space-3);overflow-wrap:anywhere;border-radius:var(--radius-control);align-items:center;display:flex}.quick-search-scroll a:hover{background:var(--color-accent-soft)}.quick-search-all{justify-content:space-between;gap:var(--space-2);color:var(--color-accent);border-top:1px solid var(--color-border);font-size:var(--font-small);flex:none;font-weight:650}.quick-search-all:hover{background:var(--color-surface-raised)}.active-recipe-filters{gap:var(--space-2);flex-wrap:wrap;display:flex}.active-recipe-filters .button{white-space:normal;overflow-wrap:anywhere;max-width:100%;font-size:var(--font-small)}@media (width<=839px){.app-header:has(.header-search){gap:var(--space-2);padding-inline-start:max(var(--space-4), env(safe-area-inset-left));padding-inline-end:max(var(--space-4), env(safe-area-inset-right));padding-top:max(var(--space-2), env(safe-area-inset-top));display:flex}.header-search{max-width:none}.mobile-account.mobile-account--compact{min-width:var(--control-size);flex:none;max-width:none}.mobile-account.mobile-account--compact summary{width:var(--control-size);height:var(--control-size);background:var(--color-surface);border-radius:50%;padding:0}.mobile-account--compact .account-popover{z-index:20}.app-content:has(.header-search)>.page-content{padding-top:var(--space-4)}.quick-search-panel{max-height:calc(100dvh - 9rem - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}@media (width<=839px) and (height<=600px){.quick-search-panel{max-height:calc(100dvh - 5rem - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}@media (width<=560px){.classification-fields{grid-template-columns:minmax(0,1fr)}}.recipe-library{min-width:0}.recipe-library-heading{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.recipe-library-heading h1{margin:0;font-size:clamp(1.5rem,3vw,2rem)}.recipe-library-heading p{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:var(--font-small)}.recipe-library-toolbar{align-items:center;gap:var(--space-3);padding-block:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.recipe-library-toolbar--personal{margin-bottom:var(--space-2)}.recipe-library-toolbar>p{min-width:8rem;color:var(--color-muted);font-size:var(--font-small);flex:1;align-self:center;margin:0}.recipe-library-controls{border:1px solid var(--color-control-border);border-radius:var(--radius-control);background:var(--color-surface);flex-wrap:nowrap;flex:0 auto;align-items:center;min-width:0;max-width:100%;display:inline-flex}.recipe-sort-control{align-items:center;gap:var(--space-2);min-width:0;min-height:var(--control-size);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);color:var(--color-text);font-size:var(--font-small);cursor:pointer;flex:auto;display:flex;position:relative}.recipe-sort-control>svg{flex:none}.recipe-sort-label{overflow-wrap:anywhere;min-width:0}.recipe-sort-control select{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.recipe-sort-control:hover{background:var(--color-surface-raised)}.recipe-sort-control:focus-within{outline:3px solid var(--color-focus);outline-offset:3px}.recipe-view-toggle{border-inline-start:1px solid var(--color-border);flex:none;align-items:center;gap:0;padding:0;display:inline-flex}.recipe-view-toggle .button{width:var(--control-size);min-height:var(--control-size);padding:var(--space-2);color:var(--color-muted);background:0 0;border-color:#0000}.recipe-view-toggle .button:hover{color:var(--color-text);background:var(--color-surface-raised)}.recipe-view-toggle .button[aria-pressed=true]{color:var(--color-accent);background:var(--color-accent-soft);border-color:var(--color-control-border)}.recipe-view-toggle .button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.active-recipe-filters .button{gap:var(--space-3);padding:var(--space-2) var(--space-3);color:var(--color-text);justify-content:space-between}.active-recipe-filters .button>span:first-child{overflow-wrap:anywhere;text-align:start;min-width:0}.recipe-filter-remove{flex:none;font-size:1.25rem;line-height:1}.active-recipe-filters .button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.recipe-library-criteria{align-items:flex-start;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.recipe-library-criteria>.active-recipe-filters{flex:16rem;min-width:0}.recipe-library-criteria .recipe-clear-all{gap:var(--space-2);padding-inline:var(--space-2);color:var(--color-muted);background:0 0;border-color:#0000;flex:none;margin-inline-start:auto}.recipe-clear-all>svg{flex:none;width:1rem;height:1rem}.recipe-library-criteria .recipe-clear-all:hover{color:var(--color-accent);background:var(--color-accent-soft)}.recipe-clear-all:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.recipe-filter-mode{font-size:var(--font-small);color:var(--color-muted);align-self:center}.recipe-results{min-width:0;margin:0;padding:0;list-style:none}.recipe-results--grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));display:grid}.recipe-results li,.recipe-summary-copy{min-width:0}.recipe-results a{min-width:0;min-height:var(--control-size);border-radius:var(--radius-control);display:block}.recipe-results a:hover{background:var(--color-surface-raised)}.recipe-results a:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.recipe-card-media{aspect-ratio:16/9;border-radius:var(--radius-control);color:var(--color-muted);background:var(--color-surface-raised);place-items:center;display:grid}.recipe-template{background:#f3e1c9;place-items:center;width:100%;min-width:0;height:100%;min-height:0;display:grid;position:relative}.recipe-card-media .recipe-template>img{object-fit:contain}.recipe-template>.recipe-artwork{width:100%;height:100%}.recipe-template .recipe-template-icon>svg{width:.875rem;height:.875rem}.recipe-card-media svg{width:2rem;height:2rem}.recipe-summary-copy{padding:var(--space-3)}.recipe-summary-copy h2{overflow-wrap:anywhere;margin:0;font-size:1rem;line-height:1.4}.recipe-summary-facts{gap:var(--space-1) var(--space-3);margin:var(--space-2) 0 0;color:var(--color-muted);font-size:var(--font-small);flex-wrap:wrap;padding:0;list-style:none;display:flex}.recipe-summary-facts li{overflow-wrap:anywhere}.recipe-results--list>li+li{border-top:1px solid var(--color-border)}.recipe-results--list{--recipe-list-alternate:color-mix(in srgb, var(--color-surface) 85%, var(--color-surface-raised));border-radius:var(--radius-control);background:var(--color-surface)}.recipe-results--list>li:nth-child(2n){background:var(--recipe-list-alternate)}:is(.recipe-results--list>li:has(a:hover),.recipe-results--list>li:has(a:focus-visible)){background:var(--color-surface-raised)}.recipe-results--list .recipe-summary-copy{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.recipe-results--list .recipe-summary-title{align-items:center;gap:var(--space-1);flex:14rem;min-width:0;display:flex}.recipe-results--list h2{flex:0 auto;min-width:0}.recipe-results--list h2 a{display:inline}.recipe-results--list h2 a:after{content:"";border-radius:var(--radius-control);position:absolute;inset:0}.recipe-results--list h2 a:focus-visible{outline:none}.recipe-results--list h2 a:focus-visible:after{outline:3px solid var(--color-focus);outline-offset:3px}.recipe-results--list .recipe-summary-facts{flex:18rem;margin:0}.recipe-library-empty{padding-block:var(--space-5);color:var(--color-muted)}.recipe-library .recipe-pagination{justify-content:center;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:0}.recipe-pagination>.button{flex:none}.recipe-library--list .recipe-pagination{border-top:0}.recipe-pagination>span{text-align:center;overflow-wrap:anywhere;min-width:0;max-width:100%;font-size:var(--font-small);color:var(--color-muted)}.recipe-library-return{align-items:center;gap:var(--space-2);min-height:var(--control-size);width:fit-content;min-width:var(--control-size);padding:var(--space-2) var(--space-3);color:var(--color-muted);font-size:var(--font-small);border-radius:var(--radius-control);background:0 0;display:inline-flex}.recipe-library-return:hover{color:var(--color-accent);background:var(--color-accent-soft);text-decoration:none}.recipe-library-return:focus-visible{color:var(--color-accent);background:var(--color-accent-soft);outline:3px solid var(--color-focus);outline-offset:3px}.recipe-filter-dialog{border:1px solid var(--color-control-border);border-radius:var(--radius-surface);width:min(44rem,100vw - 2rem);max-width:none;max-height:calc(100dvh - 2rem);color:var(--color-text);background:var(--color-surface);margin:auto;padding:0;overflow:hidden}.recipe-filter-dialog::backdrop{background:#00000073}.recipe-filter-form{grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100dvh - 2rem);display:grid}.recipe-filter-heading{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.recipe-filter-heading h2{font-size:var(--font-section);margin:0}.recipe-filter-title-group{align-items:center;gap:var(--space-2);min-width:0;display:flex}.recipe-filter-title-group h2{min-width:0}.recipe-filter-title-group .recipe-filter-help-trigger,.recipe-filter-field-label .recipe-filter-help-trigger{width:var(--control-size);padding:var(--space-2);color:var(--color-muted);background:0 0;border-color:#0000;flex:none}.recipe-filter-title-group .recipe-filter-help-trigger:hover,.recipe-filter-field-label .recipe-filter-help-trigger:hover{color:var(--color-accent);background:0 0}.recipe-filter-help-trigger{width:var(--control-size);height:var(--control-size);min-width:var(--control-size);min-height:var(--control-size);padding:var(--space-2);color:var(--color-muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.button.recipe-filter-help-trigger:is(:hover,:focus-visible,:active){color:var(--color-accent);background:0 0}.recipe-filter-help-copy>p{margin:0 0 var(--space-3)}.recipe-filter-help-copy>p:last-child{margin-bottom:0}.recipe-filter-help-trigger:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.recipe-filter-help-panel{inset:max(var(--space-4),env(safe-area-inset-top)) max(var(--space-4),env(safe-area-inset-right)) max(var(--space-4),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));width:min(30rem,100vw - 2rem);height:fit-content;max-width:calc(100vw - max(var(--space-4),env(safe-area-inset-left)) - max(var(--space-4),env(safe-area-inset-right)));max-height:calc(100dvh - max(var(--space-4),env(safe-area-inset-top)) - max(var(--space-4),env(safe-area-inset-bottom)));border:1px solid var(--color-control-border);border-radius:var(--radius-surface);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-raised);margin:auto;padding:0;position:fixed;overflow:hidden}.recipe-filter-help-panel:popover-open{grid-template-rows:auto minmax(0,1fr);display:grid}.recipe-filter-help-heading{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.recipe-filter-help-heading h3{font-size:var(--font-section);margin:0}.recipe-filter-help-copy{overscroll-behavior:contain;min-height:0;padding:var(--space-4) var(--space-5) var(--space-4) var(--space-6);font-size:var(--font-small);margin:0;overflow-y:auto}.recipe-filter-help-copy li+li{margin-top:var(--space-2)}.recipe-filter-body{--filter-label-size:1.75rem;overscroll-behavior:contain;min-height:0;padding:var(--space-4);overflow-y:auto}.recipe-filter-body .classification-fields{align-items:start}.recipe-filter-body .classification-fields>.field{grid-template-rows:minmax(var(--filter-label-size),auto) auto;align-content:start}.recipe-filter-body .field>:is(label,.recipe-filter-field-label){min-height:var(--filter-label-size);align-items:flex-end;margin-block-end:calc(-1 * var(--space-1));display:flex}.recipe-filter-body .recipe-filter-field-label .recipe-filter-help-trigger{height:var(--control-size);min-height:var(--control-size);border:0;align-items:flex-end;margin-block-start:calc(var(--filter-label-size) - var(--control-size));padding:0}.recipe-filter-body .equipment-choices legend{min-height:var(--filter-label-size);align-items:flex-end;margin-block-end:var(--space-1);display:flex}.recipe-filter-field-label{align-items:center;gap:var(--space-2);min-width:0;display:flex}.recipe-filter-field-label label{min-width:0;font-size:var(--font-small);font-weight:650}.recipe-filter-actions{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;display:flex}@media (width<=839px){.recipe-library-heading{margin-bottom:var(--space-3)}.recipe-library-toolbar{gap:var(--space-2)}.recipe-library-controls{width:100%}.recipe-filter-dialog{width:100%;max-height:calc(100dvh - max(var(--space-2), env(safe-area-inset-top)));border-radius:var(--radius-surface) var(--radius-surface) 0 0;margin:0;position:fixed;inset:auto 0 0}.recipe-filter-form{max-height:calc(100dvh - max(var(--space-2), env(safe-area-inset-top)))}.recipe-filter-heading,.recipe-filter-body,.recipe-filter-actions{padding-inline:max(var(--space-4), env(safe-area-inset-left)) max(var(--space-4), env(safe-area-inset-right))}.recipe-filter-actions{padding-bottom:max(var(--space-3), env(safe-area-inset-bottom))}.app-shell:has(.header-search) .mobile-navigation{padding-top:var(--space-1);padding-bottom:calc(var(--space-1) + env(safe-area-inset-bottom));background:var(--color-page)}.app-shell:has(.header-search) .mobile-navigation .navigation-link{gap:var(--space-2);min-height:var(--control-size);padding-block:var(--space-2);font-size:var(--font-small)}}@media (width<=839px) and (height<=600px){.app-shell:has(.header-search) .mobile-navigation{padding-bottom:max(var(--space-1),env(safe-area-inset-bottom));position:static}}@media (prefers-reduced-motion:reduce){.recipe-filter-dialog,.recipe-results a{scroll-behavior:auto;transition:none}}@media (width<=359px){.recipe-library-controls{gap:var(--space-2);background:0 0;border:0;grid-template-columns:minmax(0,1fr);display:grid}.recipe-sort-control{border:1px solid var(--color-control-border);background:var(--color-surface)}.recipe-library-controls .recipe-view-toggle{border:1px solid var(--color-control-border);border-radius:var(--radius-control);background:var(--color-surface);justify-self:end}}.recipe-library-empty h2{margin:0 0 var(--space-2);color:var(--color-text);font-size:1.125rem}.recipe-library-empty p{overflow-wrap:anywhere;max-width:48ch;margin:0}.recipe-empty-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.recipe-catalog-filters{grid-column:1/-1;min-width:0}.recipe-catalog-options{align-content:start;gap:var(--space-1) var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;display:grid}.recipe-catalog-options .check-label{min-width:0}.recipe-catalog-options .check-label span{overflow-wrap:anywhere;min-width:0}.recipe-catalog-cuisines{margin-block-start:var(--space-3)}.recipe-catalog-filters>details>summary{min-height:var(--control-size);padding-block:var(--space-2);cursor:pointer;font-size:var(--font-small);font-weight:650}.recipe-catalog-filters>.active-recipe-filters{margin-top:var(--space-2)}@media (width<=560px){.recipe-catalog-options{grid-template-columns:minmax(0,1fr)}}.personal-discovery-toggle-group{align-items:center;gap:var(--space-1);display:flex}.personal-discovery-controls{align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.personal-discovery-controls .check-label{overflow-wrap:anywhere;min-width:0;margin:0}.personal-discovery-controls input{flex-shrink:0}.personal-discovery-toggle.button[aria-pressed=true]{color:var(--color-accent);background:var(--color-accent-soft)}.recipe-results>li{position:relative}.recipe-results .recipe-nutrition-trigger{color:var(--color-muted)}.recipe-results--grid .recipe-nutrition-trigger{position:absolute;inset-block-start:var(--space-1);inset-inline-end:var(--space-1)}.recipe-nutrition-trigger>svg{box-shadow:none;background:0 0}.recipe-results--grid .recipe-nutrition-trigger{color:#ffffffe0}.recipe-results--grid .recipe-nutrition-trigger>svg{filter:drop-shadow(0 1px 2px #000000b3)}.recipe-results--grid .button.recipe-nutrition-trigger:is(:hover,:focus-visible,:active){color:#fffffff5;background:#00000029}.recipe-results--list .recipe-nutrition-trigger{z-index:1;position:relative}.recipe-nutrition-error{align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--font-small);flex-wrap:wrap;display:flex}.draft-library-toolbar{justify-content:flex-end}.draft-library-toolbar .recipe-library-controls{width:auto;margin-inline-start:auto;display:inline-flex}.draft-library-toolbar .recipe-view-toggle{border-inline-start:0}.recipe-results--list .draft-list-date{text-align:end;overflow-wrap:anywhere;max-width:100%;color:var(--color-muted);font-size:var(--font-small);margin-inline-start:auto}.recipe-card-media{overflow:hidden}.recipe-card-media img{aspect-ratio:16/9;object-fit:cover;width:100%;min-width:0;height:100%;min-height:0;display:block}.recipe-card-media>.recipe-artwork,.recipe-hero-photo>.recipe-artwork{width:100%;height:100%}.recipe-artwork{color:var(--color-accent)}.artwork-wash{fill:var(--color-accent-soft)}.artwork-shadow{fill:var(--color-surface-raised)}.recipe-hero-copy{min-width:0}.recipe-hero--photo{isolation:isolate;gap:clamp(var(--space-4),3cqi,var(--space-6));padding:clamp(var(--space-4),2.5cqi,var(--space-5));grid-template-columns:minmax(8rem,min(30%,16rem)) minmax(0,1fr);align-items:start;display:grid;position:relative;overflow:hidden}.recipe-hero-backdrop{z-index:0;pointer-events:none;position:absolute;inset:0}.recipe-hero-backdrop-image{z-index:0;background-position:50%;background-size:cover;position:absolute;inset:0}.recipe-hero-backdrop:after{z-index:1;content:"";background:linear-gradient(90deg,color-mix(in srgb,var(--color-surface) 84%,transparent) 0%,color-mix(in srgb,var(--color-surface) 64%,transparent) 58%,color-mix(in srgb,var(--color-surface) 42%,transparent) 100%),linear-gradient(to top,var(--color-surface),transparent 72%);position:absolute;inset:0}.recipe-hero--photo>.recipe-hero-copy,.recipe-hero-photo{z-index:2;position:relative}.recipe-hero--photo .recipe-metadata dt,.recipe-hero--photo .recipe-origin-label,.recipe-hero--photo .recipe-edit-action{color:color-mix(in srgb,var(--color-muted) 25%,var(--color-text))}.recipe-hero--photo .recipe-origin a,.recipe-hero--photo .recipe-origin--personal .recipe-origin-label{color:color-mix(in srgb,var(--color-accent) 55%,var(--color-text))}.recipe-hero--photo .recipe-edit-action:focus-visible,.recipe-hero--photo .recipe-hero-photo:focus-visible{outline-color:color-mix(in srgb,var(--color-accent) 55%,var(--color-text))}.recipe-hero--photo .recipe-edit-action:hover{color:var(--color-text)}.recipe-hero-photo{width:100%;min-height:var(--control-size);border-radius:var(--radius-control);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:start;padding:0;display:flex}.recipe-hero-photo img{object-fit:contain;border-radius:var(--radius-control);width:auto;max-width:100%;height:auto;max-height:12rem;display:block}.recipe-detail>.recipe-hero+.recipe-media-collection,.recipe-detail>.recipe-media-collection+.recipe-content-links{margin-top:var(--space-3)}.recipe-media-collection,.recipe-media-editor{min-width:0}.recipe-media-collection h2,.recipe-media-editor h2{margin:0 0 var(--space-3)}.recipe-gallery-heading{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.recipe-gallery-heading h2{margin:0}.recipe-gallery-heading .recipe-gallery-all{color:var(--color-accent);padding-inline:var(--space-2);background:0 0;border-color:#0000;margin-inline-start:auto}.recipe-gallery-all:hover{text-underline-offset:.2em;text-decoration:underline}.recipe-media-strip{gap:var(--space-2);width:100%;min-width:0;max-width:100%;padding:var(--space-2) 0;overscroll-behavior-x:contain;scroll-behavior:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;scrollbar-color:color-mix(in srgb, var(--color-control-border) 45%, transparent) transparent;flex-wrap:nowrap;margin:0;list-style:none;display:flex;overflow-x:auto}.recipe-media-strip:hover,.recipe-media-strip:focus-within{scrollbar-color:var(--color-control-border) transparent}.recipe-media-strip>li{flex:none;width:8rem;min-width:0;height:6rem}.recipe-media-thumbnail{width:100%;min-width:var(--control-size);min-height:var(--control-size);aspect-ratio:4/3;border:1px solid var(--color-control-border);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;color:var(--color-text);justify-content:center;align-items:center;padding:0;display:flex;position:relative;overflow:hidden}.recipe-media-thumbnail img{object-fit:cover;width:100%;height:100%}.recipe-media-thumbnail .field-hint{padding:var(--space-2)}.recipe-image-lock{top:var(--space-1);right:var(--space-1);border:1px solid var(--color-control-border);background:var(--color-surface);width:1.5rem;height:1.5rem;color:var(--color-text);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;box-shadow:0 1px 4px #0000004d}.recipe-hero-photo:focus-visible,.recipe-media-thumbnail:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.recipe-media-viewer{border:1px solid var(--color-control-border);border-radius:var(--radius-surface);width:min(70rem,100vw - 2rem);max-width:calc(100vw - 2rem);height:min(54rem,100dvh - 2rem);max-height:calc(100dvh - 2rem);color:var(--color-text);background:var(--color-surface);padding:0;overflow:hidden}.recipe-media-viewer[open]{grid-template-rows:auto auto minmax(0,1fr);display:grid}.recipe-media-viewer::backdrop{background:#0009}.recipe-media-viewer header{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-accent-soft) 35%, var(--color-surface));flex-wrap:nowrap;display:flex}.recipe-media-viewer header h2{min-width:0;font-size:var(--font-small);flex:1;margin:0}.recipe-viewer-position{text-overflow:ellipsis;white-space:nowrap;color:var(--color-muted);font-weight:400;overflow:hidden}.recipe-media-viewer header .button{flex:none}.recipe-viewer-actions{align-items:center;gap:var(--space-1);flex:none;display:flex}.recipe-viewer-actions .button{min-width:var(--control-size);min-height:var(--control-size);padding:var(--space-2);color:var(--color-muted);background:0 0;border-color:#0000}.recipe-viewer-actions .button:hover{color:var(--color-accent);background:var(--color-accent-soft)}.recipe-media-viewer>.recipe-media-strip{width:auto;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.recipe-media-viewer .recipe-media-strip>li{width:5.5rem;height:4.125rem}.recipe-media-viewer .recipe-media-thumbnail img{object-fit:contain}.recipe-media-thumbnail[aria-current=true]{border:2px solid var(--color-accent);background:var(--color-accent-soft)}.recipe-media-viewer-stage{background:color-mix(in srgb, var(--color-surface-raised) 65%, var(--color-surface));grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.recipe-media-viewer-image{overscroll-behavior:contain;min-width:0;min-height:0;padding:var(--space-2);place-items:center;display:grid;overflow:hidden}.recipe-media-viewer-image img{object-fit:contain;width:100%;min-width:0;height:100%;min-height:0;max-height:100%;display:block}.recipe-media-viewer-image.is-zoomed{display:block;overflow:auto}.recipe-media-viewer-image.is-zoomed img{width:auto;max-width:none;height:auto;max-height:none}.recipe-media-viewer-image{-webkit-user-select:none;user-select:none}.recipe-media-viewer-image[role=button]{cursor:zoom-in}.recipe-media-viewer-image.is-zoomed[role=button]{cursor:zoom-out}.recipe-media-viewer-image[data-dragging=true]{cursor:grabbing}.recipe-media-viewer-image:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.recipe-viewer-arrow{height:var(--control-size);appearance:none;min-width:var(--control-size);min-height:var(--control-size);color:var(--color-text);opacity:.65;background:0 0;border:0;border-radius:50%;margin-block:auto;padding:0;line-height:1;position:absolute;top:0;bottom:0;transform:none}.recipe-viewer-arrow>svg{pointer-events:none;flex:none;width:2.25rem;height:2.25rem;display:block}.recipe-viewer-arrow--previous{left:var(--space-2)}.recipe-viewer-arrow--next{right:var(--space-2)}.recipe-viewer-arrow:hover,.recipe-viewer-arrow:focus-visible,.recipe-viewer-arrow:active{opacity:1;color:var(--color-accent);background:var(--color-accent-soft)}.recipe-viewer-arrow:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}@media (hover:none),(pointer:coarse){.recipe-viewer-arrow{opacity:.9;background:color-mix(in srgb, var(--color-surface) 70%, transparent)}}.recipe-media-editor{margin-top:var(--space-5)}.recipe-media-editor>*+:not(dialog){margin-top:var(--space-3)}.recipe-media-editor-group{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.recipe-media-editor-group h3{font-size:1rem}.recipe-media-editor input[type=file]{max-width:100%;min-height:var(--control-size)}.recipe-media-editor progress{width:100%;accent-color:var(--color-accent)}.recipe-media-manage-list{gap:var(--space-3);padding:0;list-style:none;display:grid}.recipe-media-manage-list>li{gap:var(--space-3);grid-template-columns:minmax(0,7rem) minmax(0,1fr);align-items:start;display:grid}.recipe-media-manage-list p{margin:0 0 var(--space-2)}.recipe-media-controls{gap:var(--space-2);flex-wrap:wrap;display:flex}@container recipe-detail (width<=30rem){.recipe-hero--photo{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.recipe-hero-photo{max-width:12rem}.recipe-hero-photo img{max-height:9rem}}@media (height<=600px){.recipe-hero-photo img{max-height:9rem}.recipe-media-viewer .recipe-media-strip>li{width:4rem;height:3rem}}@media (width<=560px){.recipe-media-viewer{width:100%;height:calc(100dvh - env(safe-area-inset-top));max-width:100%;max-height:calc(100dvh - env(safe-area-inset-top));margin:auto 0 0}.recipe-media-viewer-stage{padding-bottom:env(safe-area-inset-bottom)}.recipe-media-viewer header{padding-inline:max(var(--space-3),env(safe-area-inset-left)) max(var(--space-3),env(safe-area-inset-right))}.recipe-media-manage-list>li{grid-template-columns:minmax(0,5rem) minmax(0,1fr)}}@media (hover:hover) and (pointer:fine){.recipe-media-strip{cursor:grab}.recipe-media-strip[data-dragging=true],.recipe-media-strip[data-dragging=true] button{cursor:grabbing}}@media (prefers-reduced-motion:reduce){.recipe-media-strip{scroll-behavior:auto}}.recipe-media-viewer--assignment{--assignment-viewport-height:100vh;--assignment-edge:var(--space-4);inset:calc(var(--assignment-viewport-top,0px) + env(safe-area-inset-top)) calc(100% - var(--assignment-viewport-left,0px) - var(--assignment-viewport-width,100%)) calc(100% - var(--assignment-viewport-top,0px) - var(--assignment-viewport-height)) var(--assignment-viewport-left,0px);width:min(70rem,calc(var(--assignment-viewport-width,100vw) - 2 * var(--assignment-edge)));max-width:calc(var(--assignment-viewport-width,100vw) - 2 * var(--assignment-edge));height:min(54rem,calc(var(--assignment-viewport-height) - env(safe-area-inset-top) - 2 * var(--assignment-edge)));max-height:calc(var(--assignment-viewport-height) - env(safe-area-inset-top) - 2 * var(--assignment-edge));margin:auto;position:fixed}@supports (height:100dvh){.recipe-media-viewer--assignment{--assignment-viewport-height:100dvh}}@media (width<=560px){.recipe-media-viewer--assignment{--assignment-edge:0px}}.recipe-media-viewer--assignment[open]{grid-template-rows:auto minmax(0,1fr) auto}.recipe-assignment-body{overscroll-behavior:contain;grid-template-rows:auto minmax(8rem,1fr) auto;min-width:0;min-height:0;display:grid;overflow:auto}.recipe-assignment-body>.recipe-media-strip{width:auto;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.recipe-assignment-body>p{padding:var(--space-2) var(--space-3);margin:0}.recipe-media-viewer--assignment .recipe-media-viewer-stage{padding-bottom:0}.recipe-media-viewer--assignment .recipe-viewer-position{white-space:normal;overflow-wrap:anywhere}.recipe-assignment-thumbnail{position:relative}.recipe-photo-assignment{z-index:1;top:var(--space-1);right:var(--space-1);width:var(--control-size);height:var(--control-size);cursor:pointer;place-items:start end;display:grid;position:absolute}.recipe-photo-assignment input[type=checkbox]{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.recipe-photo-assignment>span{border:1px solid var(--color-control-border);border-radius:var(--radius-control);background:var(--color-surface);width:1.125rem;height:1.125rem;color:var(--color-text);font-size:var(--font-small);pointer-events:none;place-items:center;font-weight:650;line-height:1;display:grid}.recipe-photo-assignment:has(input:checked)>span{color:var(--color-accent);background:var(--color-accent-soft);border-color:var(--color-control-border)}.recipe-photo-assignment:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:-3px;border-radius:var(--radius-control)}.recipe-assignment-actions{min-width:0;padding:var(--space-2) max(var(--space-3),env(safe-area-inset-right)) max(var(--space-2),env(safe-area-inset-bottom)) max(var(--space-3),env(safe-area-inset-left));border-top:1px solid var(--color-border)}.recipe-assignment-actions>div{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.editor-section-workspace{min-width:0}.recipe-editor [data-editor-section][hidden]{display:none}.editor-section-workspace>.recipe-editor{min-width:0;container:editor-fields/inline-size}.editor-media-section{min-width:0}.editor-media-section .recipe-media-editor{margin-top:0}.editor-mobile-sections{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.editor-mobile-sections>span{min-width:0;font-weight:650}.editor-mobile-sections>button{padding-inline:var(--space-3);flex:none}.editor-section-nav{display:none}.editor-section-nav ul,.editor-section-popover ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.editor-section-nav button,.editor-section-popover button{width:100%;min-width:0;min-height:var(--control-size);padding:var(--space-2) var(--space-3);border:1px solid #0000;border-radius:var(--radius-control);color:var(--color-muted);text-align:start;cursor:pointer;overflow-wrap:anywhere;background:0 0;border-inline-start-width:3px;display:block}.editor-section-nav button:hover,.editor-section-popover button:hover{background:var(--color-surface-raised);color:var(--color-text)}.editor-section-nav button[aria-current=step],.editor-section-popover button[aria-current=step]{color:var(--color-accent);background:var(--color-accent-soft);border-inline-start-color:var(--color-accent);font-weight:750}.editor-section-popover{inset:max(var(--space-4),env(safe-area-inset-top)) var(--space-4) auto;width:min(28rem,calc(100vw - 2 * var(--space-4)));max-height:calc(100dvh - 2 * var(--space-4) - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain;padding:var(--space-3);border:1px solid var(--color-control-border);border-radius:var(--radius-surface);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-raised);margin:0 auto;position:fixed;overflow-y:auto}.editor-section-popover::backdrop{background:#00000026}.recipe-editor-page .field-error{color:var(--color-error);font-size:var(--font-small);margin:0}.recipe-editor-page [aria-invalid=true]{border-color:var(--color-error)}.recipe-editor-page [data-editor-section] h2,.recipe-editor-page input,.recipe-editor-page textarea,.recipe-editor-page select{scroll-margin-block:var(--space-4) clamp(var(--space-4),12dvh,5rem)}@media (width>=840px){.editor-mobile-sections{display:none}.editor-section-workspace{gap:var(--space-4);grid-template-columns:minmax(9rem,11rem) minmax(0,1fr);align-items:start;display:grid}.editor-section-nav{display:block}}@media (width>=840px) and (height>=501px){.editor-section-nav{top:calc(var(--editor-app-header-height,4.5rem) + var(--control-size) + var(--space-5));position:sticky}}@container editor-fields (width<=30rem){.recipe-editor .editor-core-grid,.recipe-editor .ingredient-grid,.recipe-editor .editor-group-row,.recipe-editor .step-link-row{grid-template-columns:minmax(0,1fr)}.recipe-editor .ingredient-grid>:nth-child(4),.recipe-editor .ingredient-grid>:nth-child(5),.recipe-editor .ingredient-grid>.editor-row-actions{grid-area:auto}.recipe-editor .ingredient-grid>.editor-row-actions{flex-wrap:wrap}}html:has(.recipe-editor-page){--editor-navigation-clearance:0px;--editor-save-clearance:0px;scroll-padding-bottom:calc(var(--editor-navigation-clearance) + var(--editor-save-clearance) + var(--space-4))}.recipe-editor-page :is(input,textarea,select,button,summary){scroll-margin-bottom:clamp(var(--space-4),12dvh,5rem)}@media (width<=839px){html:has(.recipe-editor-page){--editor-navigation-clearance:calc(var(--control-size) + 2 * var(--space-1) + 1px + env(safe-area-inset-bottom));scroll-padding-top:var(--space-4)}}@media (height<=600px){html:has(.recipe-editor-page){--editor-navigation-clearance:0px}}.recipe-editor-page .editor-field-label,.editor-section-title{align-items:center;gap:var(--space-2);min-width:0;display:flex}.recipe-editor-page .editor-field-label>label{min-width:0;font-size:var(--font-small);margin:0;font-weight:650}.editor-section-title{margin-bottom:var(--space-3)}.recipe-editor-page .editor-section-title h2{margin:0}.editor-help-trigger{width:var(--control-size);padding:var(--space-2);color:var(--color-muted);background:0 0;border-color:#0000;flex:none}.editor-help-trigger>svg{flex:none;width:1.25rem;height:1.25rem;display:block}.editor-help-trigger:hover:not(:disabled){color:var(--color-accent);background:0 0}.editor-mobile-sections>span{overflow-wrap:anywhere}.editor-ingredient-list{--editor-ingredient-columns:minmax(0,3fr) minmax(6.5rem,1fr) minmax(6rem,1fr) minmax(7rem,1.5fr) auto;margin-bottom:var(--space-3)}.editor-ingredient-headings,.editor-ingredient-primary{grid-template-columns:var(--editor-ingredient-columns);column-gap:var(--space-2);min-width:0;display:grid}.editor-ingredient-headings{padding-bottom:var(--space-1);font-size:var(--font-small);font-weight:650}.editor-ingredient-headings>:last-child{width:calc(4 * var(--control-size) + 3 * var(--space-1))}.editor-compact-ingredient{min-width:0;padding:var(--space-2) 0;border:0;margin:0}.editor-compact-ingredient+.editor-compact-ingredient{border-top:1px solid var(--color-border)}.editor-ingredient-primary{grid-template-areas:"name quantity unit group actions";align-items:start}.editor-ingredient-cell{min-width:0}.editor-ingredient-name{grid-area:name}.editor-ingredient-quantity{grid-area:quantity}.editor-ingredient-unit{grid-area:unit}.editor-ingredient-group{grid-area:group}.editor-ingredient-actions{gap:var(--space-1);grid-area:actions;align-self:start;display:flex}.editor-ingredient-actions>.button{width:var(--control-size);padding-inline:var(--space-2);color:var(--color-muted);background:0 0;border-color:#0000}.editor-ingredient-actions>.button:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-raised)}.editor-ingredient-toggle[aria-expanded=true]{background:var(--color-surface-raised);color:var(--color-text)}.editor-ingredient-details:not([open]),.editor-ingredient-details>summary{display:none}.editor-ingredient-details{min-width:0;margin-top:var(--space-2)}.editor-ingredient-secondary{padding-block:var(--space-2) var(--space-1);grid-template-columns:minmax(0,1fr);display:grid}.editor-ingredient-secondary>.field{align-content:start}@container editor-fields (width<=48rem){.editor-ingredient-headings{display:none}.editor-ingredient-primary{row-gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"name name""quantity unit""group group""actions actions"}.editor-ingredient-cell .field{gap:var(--space-1)}.editor-ingredient-cell .field>label.visually-hidden{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;position:static;overflow:visible}.editor-ingredient-actions{flex-wrap:wrap;justify-content:flex-end}}.ingredient-concept-input,.ingredient-concept-field{min-width:0}.ingredient-concept-results{padding:var(--space-2);margin-top:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);overflow-wrap:anywhere;font-size:var(--font-small)}.ingredient-concept-results ul{overscroll-behavior:contain;max-height:min(16rem,40dvh);margin:0;padding:0;list-style:none;overflow-y:auto}.ingredient-concept-results [role=option]{min-height:var(--control-size);padding:var(--space-2);cursor:pointer;border-radius:var(--radius-control)}.ingredient-concept-results [role=option]:hover,.ingredient-concept-results [aria-selected=true]{background:var(--color-surface-raised);outline:2px solid var(--color-accent);outline-offset:-2px}.ingredient-concept-results small{color:var(--color-muted);display:block}.catalog-ingredient-filters{grid-column:1/-1;min-width:0}.catalog-ingredient-filters summary{cursor:pointer;min-height:var(--control-size)}.editor-ingredient-suggestions:empty{display:none}.editor-ingredient-suggestions{overflow-wrap:anywhere;min-width:0}.editor-ingredient-name{gap:var(--space-1);grid-template-columns:minmax(0,1fr) 1.5rem;align-items:start;display:grid}.ingredient-link-status{height:var(--control-size);color:var(--color-muted);place-items:center;display:grid}.ingredient-link-status[data-linked=true]{color:var(--color-accent)}.ingredient-exact-choices .button{text-align:left;overflow-wrap:anywhere;width:100%}.editor-step-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.editor-step-header h3{min-width:0;font-size:var(--font-small);margin:0}.editor-step-actions{gap:var(--space-1);margin-inline-start:auto;display:flex}.editor-step-actions .button{width:var(--control-size);padding-inline:var(--space-2);color:var(--color-muted);background:0 0;border-color:#0000}.editor-step-actions .button:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-raised)}.recipe-media-editor .recipe-media-manage-list{gap:var(--space-4);margin:var(--space-3) 0 0;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr))}.recipe-media-editor .recipe-media-manage-list>li{gap:var(--space-2);min-width:0;padding:var(--space-2);border-radius:var(--radius-control);background:color-mix(in srgb, var(--color-surface-raised) 55%, var(--color-surface));border:0;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr)}.recipe-media-editor .recipe-media-manage-list>li>.recipe-media-thumbnail{height:8rem}.recipe-media-editor .recipe-media-caption{min-width:0;font-size:var(--font-small);overflow-wrap:anywhere;margin:0}.recipe-media-primary-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-control);color:var(--color-accent);background:var(--color-accent-soft);font-size:var(--font-small);margin-inline-start:var(--space-2);font-weight:650;display:inline-block}.recipe-media-editor .recipe-media-controls{gap:var(--space-1)}.recipe-media-editor .recipe-media-controls .button{width:var(--control-size);padding-inline:var(--space-2);color:var(--color-muted);background:0 0;border-color:#0000}.recipe-media-editor .recipe-media-controls .button:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-raised)}.recipe-media-editor .recipe-media-controls .button[aria-pressed=true]{color:var(--color-accent);background:var(--color-accent-soft)}@media (height<=600px){.recipe-media-editor .recipe-media-manage-list>li>.recipe-media-thumbnail{height:6rem}}.recipe-editor-page :is(.editor-core-grid,.editor-ingredient-secondary,.classification-fields){--editor-core-label-size:1.75rem;--editor-core-help-icon-size:1.25rem}.recipe-editor-page :is(.editor-core-grid,.editor-ingredient-secondary,.classification-fields) .field>:is(label,.editor-field-label),.recipe-editor-page [data-editor-section=classification] .field>label{min-height:var(--editor-core-label-size,1.75rem);align-items:flex-end;margin-block-end:calc(-1 * var(--space-1));display:flex}.recipe-editor-page :is(.editor-core-grid,.editor-ingredient-secondary,.classification-fields) .editor-help-trigger{isolation:isolate;height:var(--control-size);min-height:var(--control-size);padding:0 0 calc((1.25rem - var(--editor-core-help-icon-size)) / 2) calc((1.25rem - var(--editor-core-help-icon-size)) / 2);appearance:none;background:0 0;border:0;justify-content:flex-start;align-items:flex-end;margin-block-start:calc(var(--editor-core-label-size) - var(--control-size));position:relative}.recipe-editor-page :is(.editor-core-grid,.editor-ingredient-secondary,.classification-fields) .editor-help-trigger>svg{width:var(--editor-core-help-icon-size);height:var(--editor-core-help-icon-size)}.recipe-editor-page :is(.editor-core-grid,.editor-ingredient-secondary,.classification-fields) .editor-help-trigger:focus-visible{outline-offset:-3px}@media (hover:hover) and (pointer:fine){.recipe-editor-page .editor-core-grid{--editor-core-help-icon-size:1rem}}.recipe-editor-page [data-editor-section=classification] .equipment-choices legend{min-height:1.75rem;align-items:flex-end;margin-block-end:var(--space-1);display:flex}.recipe-editor-page .editor-step-row{padding:var(--space-3);margin-block:var(--space-3)}.recipe-editor-page .editor-step-header{margin-bottom:var(--space-1)}.recipe-editor-page .editor-step-text textarea{min-height:5rem;max-height:max(8rem,min(60dvh,32rem));padding:var(--space-2)}.recipe-editor-page .step-links{margin-top:var(--space-2)}.recipe-editor-page .step-link-row{grid-template-columns:var(--control-size) 6.5rem 4.5rem minmax(0,1fr);column-gap:var(--space-2);row-gap:var(--space-1);padding-block:var(--space-2)}.recipe-editor-page .step-ingredient-check{justify-content:center}.recipe-editor-page .step-ingredient-name{min-width:0;min-height:var(--control-size);font-size:var(--font-small);cursor:pointer;overflow-wrap:anywhere;align-items:center;display:flex}.recipe-editor-page .step-link-row>.field{gap:var(--space-1)}.recipe-editor-page .step-usage-placeholder{min-height:var(--control-size)}.recipe-editor-page .step-usage-unit{min-width:0;min-height:var(--control-size);font-size:var(--font-small);overflow-wrap:anywhere;align-items:center;display:flex}.recipe-editor-page .step-usage-guidance{font-size:var(--font-small)}.recipe-editor-page .step-usage-guidance p{margin:var(--space-1) 0;color:var(--color-muted)}.recipe-editor-page .recipe-media-upload{align-items:end;gap:var(--space-3);margin-block:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.recipe-editor-page .button.editor-remove-action{width:var(--control-size);padding-inline:var(--space-2);color:var(--color-muted);background:0 0;border-color:#0000}.recipe-editor-page .button.editor-remove-action:is(:hover,:focus-visible):not(:disabled){color:var(--color-error);background:var(--color-surface-raised)}@container editor-fields (width<=36rem){.recipe-editor-page .step-link-row{grid-template-columns:var(--control-size) minmax(0,6.5rem) minmax(0,4.5rem) minmax(0,1fr)}.recipe-editor-page .step-ingredient-name{grid-column:1/-1;min-height:0}}@container editor-fields (width<=30rem){.recipe-editor-page .recipe-media-upload{grid-template-columns:minmax(0,1fr)}}.recipe-media-caption:has(.recipe-media-title-edit){align-items:flex-start;gap:var(--space-1);display:flex}.recipe-media-caption>span:first-child{flex:1;min-width:0}.recipe-editor-page .recipe-media-title-edit{width:var(--control-size);height:var(--control-size);padding:calc((1em * var(--line-body) - 1rem) / 2) 0 0;color:var(--color-muted);background:0 0;border:0;flex:none;align-items:flex-start}.recipe-editor-page .recipe-media-title-edit>svg{flex:none;width:1rem;height:1rem;display:block}.recipe-editor-page .recipe-media-title-edit:is(:hover,:focus-visible):not(:disabled){color:var(--color-accent);background:var(--color-surface-raised)}.allocation-dialog.recipe-media-title-dialog{width:min(28rem,100vw - 2rem)}.recipe-media-title-dialog .status{margin-bottom:var(--space-3)}.step-photos{margin-top:var(--space-3);min-width:0}.step-photo-heading{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.step-photo-heading h4{font-size:var(--font-small);margin:0}.step-photo-summary{gap:var(--space-2);max-width:100%;margin:var(--space-2) 0 0;padding:0;list-style:none;display:flex;overflow-x:auto}.step-photo-summary li{flex:none;width:3.5rem}.step-photo-summary img{object-fit:contain;width:3.5rem;height:3rem}.step-photo-controls{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.step-photo-controls .step-photo-upload-action{width:var(--control-size);height:var(--control-size);padding:var(--space-2);color:var(--color-muted);background:0 0;border-color:#0000}.allocation-dialog.step-photo-upload-dialog{width:min(28rem,100vw - 2rem)}.step-photo-upload-dialog .allocation-dialog-body{gap:var(--space-3);display:grid}.step-photo-file{overflow-wrap:anywhere;margin:0}.recipe-step-photos{margin-top:var(--space-3);min-width:0}.recipe-step-photos .recipe-media-strip{margin-bottom:0}.allocation-dialog:is(.step-photo-upload-dialog,.recipe-save-first-dialog)[open]{width:min(28rem,calc(100vw - 2 * var(--space-3) - env(safe-area-inset-left) - env(safe-area-inset-right)));max-height:calc(100dvh - 2 * var(--space-3) - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:min(var(--space-5),3dvh) var(--space-3);gap:var(--space-3);overflow:hidden}:is(.step-photo-upload-dialog,.recipe-save-first-dialog) .allocation-dialog-body{overscroll-behavior:contain;min-width:0}:is(.step-photo-upload-dialog,.recipe-save-first-dialog) .allocation-dialog-actions{min-width:0}.nutrition-note{max-width:65ch;margin-bottom:var(--space-5)}.nutrition-form{align-items:start;gap:var(--space-6);grid-template-columns:minmax(0,1fr);min-width:0;max-width:44rem;display:grid}.nutrition-section{min-width:0;padding-top:var(--space-4);border-top:1px solid var(--color-border)}.nutrition-section-heading{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.nutrition-section-heading h3,.nutrition-preference-heading{font-size:var(--font-section);margin:0}.nutrition-preference-heading{margin-bottom:var(--space-4)}.nutrition-section-heading h4{color:var(--color-muted);font-size:var(--font-small);margin:0;font-weight:650}.nutrition-form .nutrition-add-action,.nutrition-form .nutrition-edit-action{gap:var(--space-2);padding-inline:var(--space-3);flex:none}.nutrition-form .button svg{flex:none}.nutrition-entry-list{margin:0;padding:0;list-style:none}.nutrition-entry-list>li{align-items:center;gap:var(--space-3);padding-block:var(--space-1);border-bottom:1px solid var(--color-border);display:flex}.nutrition-entry-list>li>span{overflow-wrap:anywhere;flex:1;min-width:0}.nutrition-entry-linked{vertical-align:middle;color:var(--color-muted);margin-inline-start:var(--space-1);display:inline-block}.nutrition-entry-warning{color:var(--color-warning);font-size:var(--font-small)}.nutrition-section .recipe-cuisine-control{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.nutrition-section .recipe-cuisine-heading{justify-content:space-between;gap:var(--space-2) var(--space-4)}.nutrition-section .recipe-cuisine-heading h4{color:var(--color-muted);font-size:var(--font-small);margin:0;font-weight:650}.nutrition-section .recipe-cuisine-action{border-color:var(--color-control-border);padding-inline:var(--space-3)}.nutrition-form>.status,.nutrition-form>.nutrition-save-actions{grid-column:1/-1}.nutrition-form .nutrition-save-actions{padding-top:var(--space-4);border-top:1px solid var(--color-border);align-items:center}.nutrition-form .field-error,.nutrition-entry-dialog .field-error{color:var(--color-error);font-size:var(--font-small);margin:0}.nutrition-form [aria-invalid=true],.nutrition-entry-dialog [aria-invalid=true]{border-color:var(--color-error)}.allocation-dialog.nutrition-entry-dialog{width:min(34rem,100vw - 2rem);max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto;overflow:hidden}.nutrition-entry-dialog .allocation-dialog-body{align-content:start;gap:var(--space-2);display:grid}.nutrition-entry-dialog .allocation-dialog-actions{flex-wrap:wrap}.nutrition-link-action{justify-self:start;margin-inline-start:0}.nutrition-link-panel{gap:var(--space-2);min-width:0;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-control);overflow-wrap:anywhere;display:grid}.nutrition-link-panel p{margin:0}.nutrition-link-panel>.button{justify-self:start}.nutrition-section .recipe-cuisine-selection>summary{min-height:var(--control-size);padding-block:var(--space-2);font-size:var(--font-small);cursor:pointer;overflow-wrap:anywhere}.nutrition-section .cuisine-selection-show,.nutrition-section .cuisine-selection-hide{color:var(--color-muted)}.nutrition-section .recipe-cuisine-selection:not([open]) .cuisine-selection-hide,.nutrition-section .recipe-cuisine-selection[open] .cuisine-selection-show{display:none}.nutrition-preferences-form{gap:var(--space-7);grid-template-columns:minmax(0,1fr);width:100%;min-width:0;display:grid}.nutrition-preferences-section{gap:var(--space-5);min-width:0;display:grid}.nutrition-preferences-section+.nutrition-preferences-section{border-top:1px solid var(--color-border);padding-top:var(--space-6)}.nutrition-preferences-title{align-items:center;gap:var(--space-1);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.nutrition-preferences-title h2{font-size:var(--font-section);margin:0}.nutrition-preferences-section-heading{justify-content:space-between;align-items:center;gap:var(--space-1) var(--space-4);flex-wrap:wrap;min-width:0;display:flex}.nutrition-preferences-section-heading h3{font-size:var(--font-section);margin:0}.nutrition-preferences-section-title{align-items:center;gap:var(--space-1);min-width:0;display:flex}.nutrition-preferences-section-title h3{overflow-wrap:anywhere;min-width:0}.nutrition-preferences-add-actions{align-items:center;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.nutrition-preferences-add-action{margin-inline-start:0}.nutrition-preferences-action.button{gap:var(--space-2);padding:var(--space-1) var(--space-2);color:var(--color-muted);background:0 0;border-color:#0000;flex:none}.nutrition-preferences-action.button:is(:hover,:focus-visible):not(:disabled){color:var(--color-text);background:var(--color-surface-raised)}.nutrition-preferences-action svg{flex:none}.nutrition-preferences-foods{margin:0;padding:0;list-style:none}.nutrition-preferences-foods>li{align-items:center;gap:var(--space-2);min-width:0;min-height:var(--control-size);grid-template-columns:minmax(0,1fr) auto;display:grid}.nutrition-preferences-name{overflow-wrap:anywhere;min-width:0;max-width:65ch;line-height:1.4}.nutrition-preferences-row-actions{align-items:center;display:flex}.nutrition-preferences-linked{vertical-align:middle;color:var(--color-accent);margin-inline-start:var(--space-1);display:inline-block}.nutrition-preferences-linked[data-selectable=false]{color:var(--color-muted)}.nutrition-preferences-warning{color:var(--color-warning);font-size:var(--font-small)}.nutrition-preferences-cuisines{overflow-wrap:anywhere;max-width:65ch;margin:0;padding:0;list-style:none}.nutrition-preferences-cuisines li{display:inline}.nutrition-preferences-cuisines li+li:before{content:" · "}.nutrition-preferences-cuisines small{color:var(--color-muted)}.nutrition-preferences-form .nutrition-save-actions{align-items:center}.nutrition-preferences-name-field{align-items:start;gap:var(--space-2);grid-template-columns:minmax(0,1fr) 20px;min-width:0;display:grid}.nutrition-preferences-link-status{height:var(--control-size);color:var(--color-muted);place-items:center;display:grid}.nutrition-preferences-link-status[data-linked=true]{color:var(--color-accent)}.nutrition-preferences-exact-choices{gap:var(--space-2);min-width:0;display:grid}.nutrition-preferences-exact-choices h3{font-size:var(--font-small);margin:0}.nutrition-preferences-exact-choices ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.nutrition-preferences-exact-choices li{min-width:0}.nutrition-preferences-exact-choices li .button{text-align:start;flex-direction:column;align-items:start;width:100%}.nutrition-preferences-exact-choices small{color:var(--color-muted);font-weight:400}.brand{align-items:center;gap:var(--space-2);letter-spacing:-.035em;white-space:nowrap;font-size:1.3rem;font-weight:750;display:inline-flex}.brand-mark{width:2rem;height:2rem;color:var(--color-accent);flex:none}.brand-accent{color:var(--color-accent)}.brand-link{width:fit-content;min-height:var(--control-size);border-radius:var(--radius-control);align-items:center;display:inline-flex}.auth-page{justify-items:center;gap:var(--space-5);min-height:100dvh;padding:var(--space-5);grid-template-rows:1fr auto;display:grid}.login-panel{border:1px solid var(--color-border);border-radius:var(--radius-prominent);background:var(--color-surface);align-self:center;width:min(100%,26rem);padding:clamp(1.5rem,5vw,2.5rem)}.login-brand{margin:0 0 var(--space-5);justify-items:center;display:grid}.login-brand img{object-fit:contain;width:min(100%,12rem);height:clamp(5rem,24svh,12rem);display:block}.login-brand .login-logo--dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .login-logo--light{display:none}:root:not([data-theme=light]) .login-logo--dark{display:block}}:root[data-theme=dark] .login-logo--light{display:none}:root[data-theme=dark] .login-logo--dark{display:block}.login-form{gap:var(--space-5);display:grid}.login-footer{color:var(--color-muted);font-size:var(--font-small);margin:0}.login-panel>.status{margin-bottom:var(--space-4)}.app-shell{grid-template-columns:14.5rem minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{z-index:6;gap:var(--space-6);height:100dvh;min-height:21rem;padding:var(--space-4);border-right:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;display:flex;position:sticky;top:0}.sidebar nav{gap:var(--space-2);display:grid}.sidebar-header{grid-template-columns:minmax(0, 1fr) var(--control-size);align-items:center;gap:var(--space-2);display:grid}.sidebar-header .brand{gap:var(--space-1);font-size:1.2rem}.sidebar-header .brand-mark{width:1.75rem;height:1.75rem}.sidebar-toggle{width:var(--control-size);height:var(--control-size);border-radius:var(--radius-control);color:var(--color-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.sidebar-toggle:hover{color:var(--color-accent)}.sidebar-secondary{margin-top:auto}.sidebar-item{position:relative}.sidebar-tooltip{z-index:15;top:50%;left:calc(100% + var(--space-4));width:max-content;max-width:13rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font-size:var(--font-small);pointer-events:none;display:none;position:absolute;transform:translateY(-50%)}.navigation-button{text-align:left;cursor:pointer;background:0 0;border:0;width:100%}.navigation-button:disabled{opacity:.55;cursor:wait}@media (width>=840px){html[data-sidebar-collapsed=true] .app-shell{grid-template-columns:5rem minmax(0,1fr)}html[data-sidebar-collapsed=true] .sidebar{min-height:24rem}html[data-sidebar-collapsed=true] .sidebar-header{grid-template-columns:minmax(0,1fr);justify-items:center;gap:0}html[data-sidebar-collapsed=true] .sidebar .brand-wordmark,html[data-sidebar-collapsed=true] .sidebar .navigation-label{display:none}html[data-sidebar-collapsed=true] .sidebar .brand-link{justify-content:center;width:100%}html[data-sidebar-collapsed=true] .sidebar .navigation-link{justify-content:center;gap:0;padding-inline:0}html[data-sidebar-collapsed=true] .sidebar-item:hover .sidebar-tooltip,html[data-sidebar-collapsed=true] .sidebar-item:focus-within .sidebar-tooltip{display:block}}.navigation-link{min-height:var(--control-size);align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3);border-radius:var(--radius-control);color:var(--color-muted);font-size:var(--font-small);font-weight:650;display:flex}.navigation-link svg{flex:none}.navigation-link:hover{color:var(--color-text);background:var(--color-surface-raised)}.navigation-link[aria-current=page]{color:var(--color-accent);background:var(--color-accent-soft)}.app-content{min-width:0}.app-header{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:4.5rem;padding:var(--space-3) clamp(1.5rem, 3vw, 3rem);border-bottom:1px solid var(--color-border);background:var(--color-surface);display:flex}.header-section{color:var(--color-muted);font-size:var(--font-small)}.desktop-account{justify-content:flex-end;align-items:center;gap:var(--space-4);flex:1;min-width:0;display:flex}.account-identity{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--font-small);display:flex}.account-identity svg{color:var(--color-muted);flex:none}.account-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:12rem;overflow:hidden}.badge{width:fit-content;padding:var(--space-1) var(--space-2);border-radius:var(--radius-control);background:var(--color-surface-raised);color:var(--color-muted);flex:none;align-items:center;font-size:.75rem;font-weight:650;display:inline-flex}.badge--success{color:var(--color-success)}.page-content{width:min(100%,78rem);min-width:0;margin-inline:auto;padding:clamp(1.5rem,3vw,3rem)}.page-content>*+*{margin-top:var(--space-5)}.page-content:focus{outline:none}.home-state{max-width:44rem}.home-state h2{margin-top:var(--space-5)}.home-state p{color:var(--color-muted);max-width:38rem}.mobile-brand,.mobile-account,.mobile-navigation{display:none}.admin-feedback{gap:var(--space-3);margin-top:var(--space-4);display:grid}.admin-feedback:empty{display:none}.account-count{color:var(--color-muted);font-weight:400}.section-heading{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.section-heading h2{margin:0}.admin-form{gap:var(--space-4);display:grid}.admin-form fieldset{gap:var(--space-4);border:0;min-width:0;margin:0;padding:0;display:grid}.admin-form legend{font-size:var(--font-section);margin-bottom:var(--space-4);padding:0;font-weight:700}.admin-accounts-toolbar{margin-top:var(--space-4)}.admin-accounts-toolbar .account-count{margin:0}.admin-list-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.account-list{margin:var(--space-3) 0 0;border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);min-width:0;padding:0;list-style:none}.account-row,.account-list-head{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-2) var(--space-3);grid-template-columns:minmax(0,1fr) 8rem 6rem auto;display:grid}.account-list-head{color:var(--color-muted);font-size:var(--font-small)}.account-list-head>:last-child{width:7rem}.account-row+.account-row{border-top:1px solid var(--color-border)}.account-heading{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.account-login{overflow-wrap:anywhere;min-width:0;font-weight:650}.account-row>.badge{justify-self:start}.account-row>.button{width:7rem}.admin-account-dialog .admin-account-body{align-content:start;gap:var(--space-4);overscroll-behavior:contain;display:grid}.admin-password-reset{border-top:1px solid var(--color-border);padding-top:var(--space-2)}.admin-password-reset>summary{color:var(--color-error);font-weight:650}.reset-form{border-top:1px solid var(--color-border);padding-top:var(--space-5)}.protected-account{font-size:var(--font-small);color:var(--color-muted);margin-bottom:0}.confirmation{padding:var(--space-3);border:1px solid var(--color-control-border);border-radius:var(--radius-control);background:var(--color-surface-raised)}.empty-state{padding:var(--space-5);color:var(--color-muted);border:1px dashed var(--color-border);border-radius:var(--radius-surface)}@media (width<=1199px){.header-section{display:none}.desktop-account{gap:var(--space-3)}}@media (width<=839px){.app-shell{padding-bottom:calc(4.25rem + env(safe-area-inset-bottom));display:block}.sidebar,.header-section,.desktop-account{display:none}.app-header{min-height:4rem;padding:var(--space-2) var(--space-4)}.mobile-brand{display:inline-flex}.mobile-account{min-width:var(--control-size);max-width:45%;display:block;position:relative}.mobile-account summary{justify-content:center;align-items:center;gap:var(--space-2);padding-inline:var(--space-2);min-width:var(--control-size);min-height:var(--control-size);border:1px solid var(--color-border);border-radius:var(--radius-control);cursor:pointer;list-style:none;display:flex}.mobile-account summary svg{flex:none}.mobile-account summary::-webkit-details-marker{display:none}.mobile-account[open] summary{color:var(--color-accent);background:var(--color-accent-soft)}.account-popover{z-index:10;top:calc(100% + var(--space-2));width:min(18rem,100vw - 2rem);padding:var(--space-4);gap:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);box-shadow:var(--shadow-raised);max-height:calc(100dvh - 9rem);display:grid;position:absolute;right:0;overflow-y:auto}.account-popover .account-identity{align-items:flex-start}.account-popover .account-name{white-space:normal;overflow-wrap:anywhere;max-width:none}.mobile-navigation{z-index:5;align-items:stretch;gap:var(--space-2);padding:var(--space-2) var(--space-4) calc(var(--space-2) + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-surface);display:flex;position:fixed;inset:auto 0 0}.mobile-navigation-item{flex:1;min-width:0}.mobile-navigation .navigation-link{justify-content:center}.page-content{padding:var(--space-5) var(--space-4)}}@media (width<=560px){.account-list-head{display:none}.account-row{gap:var(--space-2) var(--space-3);grid-template-columns:minmax(0,1fr) auto}.account-heading{grid-column:1}.account-row>.button{grid-area:1/2/span 3}.account-row>.badge{grid-column:1}.auth-page{padding:var(--space-4);gap:var(--space-4)}}@media (height<=600px){.auth-page{gap:var(--space-3)}.login-panel{padding-block:var(--space-5)}.login-brand{margin-bottom:var(--space-4)}.app-header{min-height:4rem;padding-block:var(--space-2)}.page-content{padding-block:var(--space-5)}.mobile-navigation{padding-bottom:var(--space-2);position:static}.app-shell{padding-bottom:0}}.theme-options{gap:var(--space-4);border:0;min-width:0;margin:0;padding:0;display:grid}.theme-options legend{margin-bottom:var(--space-3);font-size:var(--font-section);padding:0;font-weight:700}.theme-choices{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.theme-choice{align-items:center;gap:var(--space-2);min-width:0;min-height:var(--control-size);padding:var(--space-4);border:1px solid var(--color-control-border);border-radius:var(--radius-control);font-size:var(--font-small);cursor:pointer;flex-wrap:wrap;display:flex}.theme-choice:has(input:checked){color:var(--color-accent);border-color:var(--color-accent);background:var(--color-accent-soft)}.theme-choice:focus-within{outline:3px solid var(--color-focus);outline-offset:3px}.theme-choice input[type=radio]{width:1rem;height:1rem;min-height:0;accent-color:var(--color-accent);margin:0;padding:0}.settings-layout{gap:var(--space-5);align-items:start;min-width:0;display:grid}.settings-navigation{display:none}.settings-content{min-width:0}.settings-content>h2{margin:0 0 var(--space-4)}.settings-info{margin:0}.settings-info>div{gap:var(--space-4);padding-block:var(--space-4);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.settings-info dt{color:var(--color-muted);font-size:var(--font-small);overflow-wrap:anywhere}.settings-info dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:650}.settings-content .status{margin-top:var(--space-4)}.bert-family{margin-top:var(--space-5)}.bert-family h3{margin:0 0 var(--space-4);font-size:var(--font-section)}.bert-family-members{align-items:flex-start;gap:var(--space-5);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.bert-family-members li{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--font-small);overflow-wrap:anywhere;flex-direction:column;font-weight:650;display:flex}.bert-family-logo{place-items:center;width:7rem;height:7rem;display:grid}.bert-family-logo--bertzentrale{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--color-surface);border-radius:var(--radius-control)}.bert-family-logo img{object-fit:contain;width:100%;height:100%;min-height:0;display:block}.bert-family-logo img.bert-family-logo--dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .bert-family-logo--light{display:none}:root:not([data-theme=light]) .bert-family-logo--dark{display:block}}:root[data-theme=dark] .bert-family-logo--light{display:none}:root[data-theme=dark] .bert-family-logo--dark{display:block}.bert-family>p{margin:var(--space-4) 0 0;color:var(--color-muted);font-size:var(--font-small)}.settings-profile-form{gap:var(--space-3);min-width:0;margin-top:var(--space-4);max-width:36rem;display:grid}.settings-profile-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.settings-profile-form .field-error{color:var(--color-error);font-size:var(--font-small);margin:0}.settings-profile-form [aria-invalid=true]{border-color:var(--color-error)}.theme-choice span{overflow-wrap:anywhere}@media (width>=1120px){.settings-layout{grid-template-columns:10.5rem minmax(0,1fr)}.settings-navigation{gap:var(--space-1);display:grid}.settings-navigation a{min-height:var(--control-size);padding:var(--space-3);border-radius:var(--radius-control);color:var(--color-muted);font-size:var(--font-small);overflow-wrap:anywhere;font-weight:650}.settings-navigation a:hover{background:var(--color-surface-raised);color:var(--color-text)}.settings-navigation a[aria-current=page]{background:var(--color-accent-soft);color:var(--color-accent)}.settings-mobile-navigation{display:none}}@media (width<=560px){.theme-choices{grid-template-columns:minmax(0,1fr)}.theme-choice{padding-block:var(--space-3)}.settings-info>div{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}}.recipe-editor,.editor-fields{gap:var(--space-5);min-width:0;display:grid}.editor-desktop-action{display:none}.recipe-editor-page>.recipe-editor-body,.recipe-editor-body>:not(dialog)+:not(dialog){margin-top:var(--space-5)}.editor-fields{border:0;margin:0;padding:0}.editor-section h2{margin:0 0 var(--space-4)}.editor-section>.field-hint{margin-bottom:var(--space-4)}.optional-label{font-size:var(--font-small);color:var(--color-muted);font-weight:400}.editor-core-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.editor-wide{grid-column:1/-1}.field textarea{resize:vertical;width:100%;min-width:0;min-height:6rem;padding:var(--space-3);border:1px solid var(--color-control-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font:inherit}.editor-row{min-width:0;margin:var(--space-4) 0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-control)}.editor-row legend{padding-inline:var(--space-2);font-weight:650}.editor-group-row{align-items:end;gap:var(--space-3);margin-block:var(--space-4);grid-template-columns:minmax(0,1fr) auto;display:grid}.ingredient-grid{gap:var(--space-3);grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);display:grid}.ingredient-grid>:nth-child(5){grid-column:span 2}.editor-row-actions,.recipe-pagination{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.editor-ingredient-row{margin-block:var(--space-3);padding:var(--space-3)}.ingredient-grid>.editor-row-actions{grid-column:1/-1;justify-content:flex-end;margin-top:0}@media (width>=1100px){.ingredient-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto}.ingredient-grid>:nth-child(4){grid-area:2/1}.ingredient-grid>:nth-child(5){grid-area:2/2/auto/-1}.ingredient-grid>.editor-row-actions{flex-wrap:nowrap;grid-area:1/4;align-self:end}.ingredient-grid>.editor-row-actions .button{padding-inline:var(--space-2)}}.step-links{margin-top:var(--space-4)}.step-links summary{min-height:var(--control-size);color:var(--color-accent);cursor:pointer;padding-block:var(--space-2);font-weight:650}.step-link-row{align-items:start;gap:var(--space-4);border-top:1px solid var(--color-border);padding-block:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.step-link-row .check-label{overflow-wrap:anywhere}.editor-save-bar{bottom:var(--editor-navigation-clearance,0px);align-items:center;gap:var(--space-2);min-width:0;margin-inline:calc(-1 * var(--editor-page-gutter,0px));padding:var(--space-3) var(--editor-page-gutter,0px);border-top:1px solid var(--color-border);background:var(--color-surface);z-index:2;flex-wrap:wrap;display:flex;position:sticky}.editor-save-bar>.button--primary{flex:1}@media (width>=840px){.app-content:has(.recipe-editor-page){--editor-app-header-height:4.5rem}.app-content:has(.recipe-editor-page)>.app-header{z-index:4;position:sticky;top:0}.recipe-editor-page{gap:var(--space-5);grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;display:grid}.editor-heading{display:contents}.editor-heading>.page-heading{grid-area:1/1;min-width:0}.editor-desktop-action{gap:var(--space-2);top:calc(var(--editor-app-header-height) + var(--space-2));z-index:3;background:var(--color-page);outline:var(--space-2) solid var(--color-page);border-radius:var(--radius-control);flex-wrap:nowrap;grid-area:1/2/3;justify-content:flex-end;align-self:start;align-items:center;display:flex;position:sticky}.recipe-editor-page>.recipe-editor-body{grid-area:2/1/auto/-1;margin-top:0}.editor-header-action{flex:none;display:inline-flex}.editor-save-bar{display:none}html:has(.recipe-editor-page){scroll-padding-top:calc(var(--editor-app-header-height,4.5rem) + var(--space-2) + var(--control-size) * 2 + var(--space-2) + var(--space-4))}.recipe-editor :is(input,select,textarea,button,summary),.recipe-editor-body>.status{scroll-margin-top:var(--space-2)}}@media (width>=840px) and (height<=600px){.app-content:has(.recipe-editor-page){--editor-app-header-height:4rem}html:has(.recipe-editor-page){--editor-app-header-height:4rem}}.recipe-selection{margin:0;padding:0;list-style:none}.recipe-selection a{min-height:var(--control-size);justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-3);overflow-wrap:anywhere;border-bottom:1px solid var(--color-border);display:flex}.recipe-selection a:hover{color:var(--color-accent)}.recipe-selection span{color:var(--color-muted);font-size:var(--font-small);flex:none}@media (width<=839px){.app-shell:has(.recipe-editor-page){--editor-page-gutter:var(--space-4);padding-bottom:var(--editor-navigation-clearance)}.app-shell:has(.recipe-editor-page) .page-content{padding-inline:var(--editor-page-gutter)}}@media (width<=560px){.editor-core-grid,.ingredient-grid,.editor-group-row,.step-link-row{grid-template-columns:minmax(0,1fr)}.ingredient-grid>:nth-child(5){grid-column:auto}.editor-row{padding:var(--space-3)}.editor-section{padding:var(--space-4)}}.allocation-dialog{width:min(36rem,100vw - 2rem);max-height:calc(100dvh - 2rem);padding:var(--space-5);border:1px solid var(--color-control-border);border-radius:var(--radius-surface);color:var(--color-text);background:var(--color-surface);margin:auto}.allocation-dialog[open]{gap:var(--space-4);grid-template-rows:auto minmax(0,1fr) auto;display:grid}.allocation-dialog::backdrop{background:#00000073}.allocation-dialog h2{margin:0}.allocation-dialog-body{min-height:0;overflow-y:auto}.allocation-dialog-body>p{margin:0 0 var(--space-4)}.allocation-warning-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.allocation-warning-list>li{gap:var(--space-1);overflow-wrap:anywhere;display:grid}.allocation-warning-list span{color:var(--color-muted);font-size:var(--font-small)}.allocation-dialog summary{min-height:var(--control-size);padding-block:var(--space-3);cursor:pointer}.allocation-dialog-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.allocation-dialog.recipe-sharing-dialog{max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto;overflow:hidden}.recipe-sharing-dialog .allocation-dialog-body{overscroll-behavior:contain;min-width:0}.recipe-sharing-dialog .status{margin-block:var(--space-3)}.recipe-sharing-link{gap:var(--space-3);display:grid}.recipe-sharing-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.recipe-sharing-link input{width:100%;min-width:0}.recipe-sharing-heading{align-items:center;gap:var(--space-2);min-width:0;display:flex}.recipe-share-action{cursor:pointer;margin-inline-start:0}.recipe-sharing-footer{justify-content:space-between;align-items:flex-end}.recipe-sharing-revoke-actions{gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.recipe-sharing-close{margin-inline-start:auto}.recipe-sharing-confirm{gap:var(--space-2);flex-wrap:wrap;flex-basis:100%;display:flex}.recipe-sharing-confirm>p{flex-basis:100%;margin:0}.public-recipe-page{max-width:76rem;padding:var(--space-4) max(var(--space-3),env(safe-area-inset-right)) max(var(--space-4),env(safe-area-inset-bottom)) max(var(--space-3),env(safe-area-inset-left));margin-inline:auto}.public-recipe-brand{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);color:var(--color-muted);flex-wrap:wrap;display:flex}.public-recipe-page h1,.public-recipe-page .recipe-ingredient-name{overflow-wrap:anywhere}.public-classifications{gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.public-photo-viewer{inset:calc(var(--assignment-viewport-top,0px) + env(safe-area-inset-top)) calc(100% - var(--assignment-viewport-left,0px) - var(--assignment-viewport-width,100%)) calc(100% - var(--assignment-viewport-top,0px) - var(--assignment-viewport-height,100vh) + env(safe-area-inset-bottom)) var(--assignment-viewport-left,0px);width:min(70rem,calc(var(--assignment-viewport-width,100vw) - 1rem));max-width:calc(var(--assignment-viewport-width,100vw) - 1rem);height:min(54rem,calc(var(--assignment-viewport-height,100vh) - 1rem - env(safe-area-inset-top) - env(safe-area-inset-bottom)));max-height:calc(var(--assignment-viewport-height,100vh) - 1rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto;position:fixed}@supports (height:100dvh){.public-photo-viewer{--assignment-viewport-height:100dvh}}.public-photo-viewer header{min-width:0}.public-photo-viewer .recipe-viewer-actions{flex-wrap:wrap;justify-content:flex-end}.admin-sharing-control{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.admin-sharing-control h2,.admin-sharing-control p{margin:0}.admin-sharing-control p{margin-top:var(--space-2)}.admin-share-list{margin:var(--space-3) 0 0;padding:0;list-style:none}.admin-share-list>li{align-items:start;gap:var(--space-2);padding-block:var(--space-4);border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;display:grid}.admin-share-list h3{min-width:0;margin:var(--space-2) 0;overflow-wrap:anywhere}.admin-share-list dl{gap:var(--space-3);grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));margin:0;display:grid}.admin-share-list dl>div{min-width:0}.admin-share-list dt{font-size:var(--font-small);color:var(--color-muted)}.admin-share-list dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.allocation-dialog.admin-sharing-confirmation{max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto;overflow:hidden}.admin-sharing-confirmation .allocation-dialog-body{overscroll-behavior:contain;min-width:0}@media (width<=420px){.admin-share-list>li{grid-template-columns:minmax(0,1fr)}.admin-share-list>li>.button{justify-self:start}}.catalog-heading{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.catalog-heading h2{margin:0}.catalog-heading>.catalog-actions{gap:var(--space-2);flex-wrap:wrap;margin-inline-start:auto;display:flex}.catalog-region{border-top:1px solid var(--color-border);margin-top:var(--space-3)}.catalog-region>summary{min-height:var(--control-size);padding-block:var(--space-3);cursor:pointer;overflow-wrap:anywhere}.catalog-region>summary>span{margin-inline-end:var(--space-2)}.catalog-region-content{padding-bottom:var(--space-3)}.catalog-cuisines{margin:var(--space-2) 0 0;padding:0;list-style:none}.catalog-cuisines>li{align-items:center;gap:var(--space-2);padding-block:var(--space-2);flex-wrap:wrap;display:flex}.catalog-cuisines>li>div{overflow-wrap:anywhere;flex:12rem;min-width:0}.catalog-cuisines .badge{margin-inline-start:var(--space-2)}.allocation-dialog.catalog-dialog{max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto;overflow:hidden}.catalog-dialog .allocation-dialog-body{overscroll-behavior:contain;min-width:0}.admin-form .catalog-region-choices{gap:var(--space-1) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;align-self:start;align-items:start}.catalog-region-choices legend{margin-bottom:var(--space-2)}.catalog-region-choices label{overflow-wrap:anywhere;min-width:0}@media (hover:hover) and (pointer:fine) and (not (any-pointer:coarse)){.catalog-region-choices .check-label,.recipe-cuisine-options .check-label,.recipe-catalog-options .check-label{min-height:var(--space-6)}}@media (width<=560px){.admin-form .catalog-region-choices{grid-template-columns:minmax(0,1fr)}}@media (width<=839px){.app-shell:has(.mobile-navigation a[href="/admin/cuisines"]){padding-bottom:var(--admin-navigation-clearance,calc(4.25rem + env(safe-area-inset-bottom)))}.mobile-navigation:has(a[href="/admin/cuisines"]) .navigation-link{gap:var(--space-1);padding:var(--space-2) var(--space-1);text-align:center;flex-direction:column;height:100%}.mobile-navigation:has(a[href="/admin/cuisines"]) .navigation-label{overflow-wrap:anywhere;min-width:0;max-width:100%}}.recipe-cuisine-control{margin-top:var(--space-4);min-width:0}.recipe-cuisine-heading{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.recipe-cuisine-control h3{font-size:var(--font-small);margin:0}.recipe-cuisine-action{cursor:pointer;margin-inline-start:0}.recipe-cuisine-action:disabled{opacity:.55;cursor:not-allowed;color:var(--color-muted);background:0 0}.recipe-cuisine-summary{gap:var(--space-2);margin:var(--space-2) 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.recipe-cuisine-summary li{align-items:center;gap:var(--space-2);min-width:0;max-width:100%;border:1px solid var(--color-border);border-radius:var(--radius-control);padding-inline-start:var(--space-2);display:flex}.recipe-cuisine-summary li>span:first-child{overflow-wrap:anywhere;min-width:0}.recipe-cuisine-summary .button{background:0 0;border:0;flex:none;padding:0}.allocation-dialog.recipe-cuisine-dialog{max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto;overflow:hidden}.recipe-cuisine-dialog .allocation-dialog-body{overscroll-behavior:contain;min-width:0}.recipe-cuisine-dialog .field-hint{margin-block:var(--space-2)}.recipe-cuisine-group{margin-block-start:var(--space-3)}.recipe-cuisine-group h3{font-size:var(--font-small);margin:0 0 var(--space-1)}.recipe-cuisine-options{align-content:start;gap:var(--space-1) var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;display:grid}.recipe-cuisine-options label{min-width:0}.recipe-cuisine-options label>span{overflow-wrap:anywhere;min-width:0}@media (width<=560px){.recipe-cuisine-options{grid-template-columns:minmax(0,1fr)}}.public-greeting{align-items:flex-start;gap:var(--space-2);margin-block:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-accent-soft);display:flex}.public-greeting-copy{flex:1;min-width:0}.public-greeting-heading{align-items:baseline;gap:var(--space-2);margin:0 0 var(--space-3);font-size:var(--font-section);line-height:var(--line-body);overflow-wrap:anywhere;display:flex}.public-greeting-heading>span{min-width:0}.public-greeting-heart{color:var(--color-error);flex:none;align-self:flex-start;margin-top:.25em}.public-greeting-copy p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.public-greeting-copy p+p{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.public-greeting-close{min-width:var(--control-size);min-height:var(--control-size);border-radius:var(--radius-control);color:var(--color-muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.public-greeting-close:hover{color:var(--color-text)}.public-greeting-close:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.greeting-editor{gap:var(--space-3);max-width:42rem;display:grid}.greeting-editor-actions,.admin-share-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-greeting-dialog .allocation-dialog-actions{justify-content:space-between}.admin-share-actions{justify-content:flex-end}@media (width<=600px){.admin-share-actions{grid-column:1/-1;justify-content:flex-start}}.mcp-dialog{max-width:38rem}.mcp-secret{resize:vertical;overflow-wrap:anywhere;width:100%;min-height:6rem;font-family:monospace}@media (width<=767px){.mobile-navigation:has(a[href="/admin/mcp"]){overscroll-behavior-inline:contain;overflow-x:auto}.mobile-navigation:has(a[href="/admin/mcp"]) .mobile-navigation-item{flex:1 0 6.5rem}.mobile-navigation:has(a[href="/admin/mcp"]) .navigation-label{overflow-wrap:normal}}.private-draft-list{gap:var(--space-3);padding:0;list-style:none;display:grid}.private-draft-row{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.private-draft-row>div{overflow-wrap:anywhere;min-width:0}.private-draft-row h2{margin:0 0 var(--space-2);font-size:1.1rem}.private-draft-row p{margin-block:var(--space-2)}.private-draft-row>.button{flex-shrink:0}@media (width<=440px){.private-draft-row{flex-direction:column;align-items:flex-start}}@media (width>=840px){.recipe-editor-page>.recipe-library-return{grid-area:1/1/auto/-1}.recipe-editor-page .editor-heading>.page-heading{grid-row:2}.recipe-editor-page .editor-desktop-action{grid-row:2/4}.recipe-editor-page>.recipe-editor-body{grid-row:3}}.editor-primary-action{align-items:center;gap:var(--space-1);min-width:0;display:inline-flex}.editor-save-bar>.editor-primary-action{flex:1}.editor-primary-action>.button--primary{white-space:nowrap;flex:1}@media (width>=840px){.editor-desktop-action>.button{white-space:nowrap}.editor-desktop-action{min-width:max-content}}@media (width<=560px){.editor-save-bar{flex-direction:column;align-items:stretch}.editor-save-bar>.button,.editor-save-bar>.editor-primary-action{width:100%}}.draft-editor-discard{margin-top:var(--space-6)}.draft-editor-discard>.button{font-size:var(--font-small);background:0 0;border-color:#0000}
