@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-primary:#1d2b4f;--color-on-primary:#fff;--color-ink:#1d2b4f;--color-ink-soft:#4a5878;--color-ink-muted:#5e6b88;--color-page:#e8eff7;--color-page-deep:#d6e1ef;--color-enamel:#fdfeff;--color-enamel-sunken:#f2f6fb;--color-rim:#1d2b4f;--color-line:#cbd5e3;--color-line-strong:#7a87a3;--color-tile:#2e5bb8;--color-tile-soft:#dce7fa;--color-pistachio:#bfdc8f;--color-pistachio-soft:#e9f4d8;--color-pistachio-deep:#3e6a1e;--color-butter:#f7d96a;--color-butter-soft:#fdf3c8;--color-butter-deep:#7a5a00;--color-cherry:#c62839;--color-cherry-soft:#fce3e5;--color-cherry-deep:#9e1b2a;--color-granite:#16213d;--color-granite-raised:#22305a;--color-granite-ink:#aab6d0;--color-focus:#2e5bb8;--color-scrollbar-thumb:#9aa7c0;--color-scrollbar-thumb-hover:#5e6b88;--color-scrollbar-track:#e1e9f3;--type-display-family:"Bricolage Grotesque Variable", "Avenir Next", system-ui, sans-serif;--type-display-size:2rem;--type-display-weight:720;--type-display-leading:1.08;--type-headline-family:"Bricolage Grotesque Variable", "Avenir Next", system-ui, sans-serif;--type-headline-size:1.375rem;--type-headline-weight:680;--type-headline-leading:1.2;--type-body-family:"Atkinson Hyperlegible Next Variable", "Atkinson Hyperlegible", system-ui, sans-serif;--type-body-size:1rem;--type-body-weight:400;--type-body-leading:1.5;--type-body-cook-family:"Atkinson Hyperlegible Next Variable", "Atkinson Hyperlegible", system-ui, sans-serif;--type-body-cook-size:1.375rem;--type-body-cook-weight:450;--type-body-cook-leading:1.45;--type-label-family:"Atkinson Hyperlegible Next Variable", "Atkinson Hyperlegible", system-ui, sans-serif;--type-label-size:.875rem;--type-label-weight:650;--type-label-leading:1.3;--type-mono-family:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--type-mono-size:.9375rem;--type-mono-weight:500;--type-mono-leading:1.35;--radius-default:12px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:28px;--radius-pill:999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-control:44px;--space-control-lg:52px;--space-page-max:1120px;--space-sidebar:256px;--space-bottom-nav:68px;--z-sticky:100;--z-dropdown:200;--z-popover:300;--z-nav:400;--z-backdrop:500;--z-dialog:600;--z-toast:900;--ease-out:cubic-bezier(.2, .8, .2, 1);--dur-fast:.16s;--dur-base:.22s;--shadow-enamel:0 1px 0 #1d2b4f0f, 0 6px 18px -10px #1d2b4f47;--shadow-enamel-hover:0 1px 0 #1d2b4f14, 0 10px 24px -12px #1d2b4f5c;--shadow-dialog:0 24px 60px -20px #16213d73;--backdrop:#16213d7a;--rim-width:2px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-padding-top:16px;scroll-padding-bottom:calc(var(--space-bottom-nav) + var(--safe-bottom) + 16px);scrollbar-color:var(--color-scrollbar-thumb) var(--color-scrollbar-track);scrollbar-width:thin}*{scrollbar-color:var(--color-scrollbar-thumb) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:var(--radius-pill);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover);background-clip:padding-box}::-webkit-scrollbar-thumb:active{background:var(--color-ink-soft);background-clip:padding-box}::-webkit-scrollbar-button{display:none}@media (forced-colors:active){html,*{scrollbar-color:auto}}body{background:var(--color-page);min-height:100dvh;color:var(--color-ink);font-family:var(--type-body-family);font-size:var(--type-body-size);font-weight:var(--type-body-weight);line-height:var(--type-body-leading);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overflow-wrap:anywhere;margin:0}h1,h2,h3,h4,p,figure,blockquote,dl,dd,ol,ul{margin:0}ol,ul{padding:0}img,svg,video{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:var(--color-tile);text-underline-offset:3px;text-decoration-thickness:1.5px}a:hover{color:var(--color-ink)}strong{font-weight:700}code,kbd,pre,.mono{font-family:var(--type-mono-family);font-weight:var(--type-mono-weight);font-variant-numeric:tabular-nums}fieldset{border:0;min-width:0;margin:0;padding:0}legend{padding:0}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}::selection{background:var(--color-pistachio);color:var(--color-ink)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:var(--z-toast);background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-pill);padding:10px 16px;font-weight:700;text-decoration:none;position:absolute;top:-80px;left:12px}.skip-link:focus{color:var(--color-on-primary);top:12px}.resize-none{resize:none}.tabular{font-variant-numeric:tabular-nums}.muted{color:var(--color-ink-muted)}.soft{color:var(--color-ink-soft)}.nowrap{white-space:nowrap}.stack{gap:var(--space-md);flex-direction:column;display:flex}.stack--sm{gap:var(--space-sm)}.stack--lg{gap:var(--space-lg)}.row{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.row--between{justify-content:space-between}.row--end{justify-content:flex-end}.grid-2{gap:var(--space-md);grid-template-columns:1fr;display:grid}@media (width>=600px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.grid-3{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=720px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.prose{white-space:pre-wrap;max-width:68ch}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.btn{--btn-fg:var(--color-ink);--btn-bg:transparent;--btn-border:transparent;--btn-hover-bg:var(--color-tile-soft);min-height:var(--space-control);border-radius:var(--radius-pill);border:2px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-fg);font-family:var(--type-label-family);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);white-space:nowrap;justify-content:center;align-items:center;padding:0 18px;font-size:.95rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex;position:relative}.btn:hover{background:var(--btn-hover-bg);color:var(--btn-fg)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.btn:disabled:hover{background:var(--btn-bg)}.btn[aria-busy=true]{cursor:progress}.btn__content{align-items:center;gap:8px;min-width:0;display:inline-flex}.btn[aria-busy=true] .btn__content{visibility:hidden}.btn__busy{place-items:center;display:grid;position:absolute;inset:0}.btn__icon{flex:none;display:inline-flex}.btn__icon svg{width:18px;height:18px}.btn__label{text-overflow:ellipsis;overflow:hidden}.btn--sm{min-height:36px;padding:0 14px;font-size:.875rem}.btn--lg{min-height:var(--space-control-lg);padding:0 24px;font-size:1.05rem}.btn--block{width:100%}.btn--solid.btn--brand{--btn-bg:var(--color-primary);--btn-fg:var(--color-on-primary);--btn-border:var(--color-primary);--btn-hover-bg:var(--color-granite-raised)}.btn--solid.btn--neutral{--btn-bg:var(--color-enamel);--btn-fg:var(--color-ink);--btn-border:var(--color-rim);--btn-hover-bg:var(--color-enamel-sunken)}.btn--solid.btn--success{--btn-bg:var(--color-pistachio);--btn-fg:var(--color-ink);--btn-border:var(--color-rim);--btn-hover-bg:var(--color-pistachio-soft)}.btn--solid.btn--warning{--btn-bg:var(--color-butter);--btn-fg:var(--color-ink);--btn-border:var(--color-rim);--btn-hover-bg:var(--color-butter-soft)}.btn--solid.btn--info{--btn-bg:var(--color-tile);--btn-fg:var(--color-on-primary);--btn-border:var(--color-tile);--btn-hover-bg:var(--color-primary)}.btn--solid.btn--danger{--btn-bg:var(--color-cherry);--btn-fg:var(--color-on-primary);--btn-border:var(--color-cherry);--btn-hover-bg:var(--color-cherry-deep)}.btn--outline{--btn-bg:var(--color-enamel);--btn-border:var(--color-line-strong)}.btn--outline.btn--neutral,.btn--outline.btn--brand{--btn-fg:var(--color-ink);--btn-hover-bg:var(--color-enamel-sunken)}.btn--outline.btn--brand{--btn-border:var(--color-rim)}.btn--outline.btn--success{--btn-fg:var(--color-pistachio-deep);--btn-border:var(--color-pistachio-deep);--btn-hover-bg:var(--color-pistachio-soft)}.btn--outline.btn--warning{--btn-fg:var(--color-butter-deep);--btn-border:var(--color-butter-deep);--btn-hover-bg:var(--color-butter-soft)}.btn--outline.btn--info{--btn-fg:var(--color-tile);--btn-border:var(--color-tile);--btn-hover-bg:var(--color-tile-soft)}.btn--outline.btn--danger{--btn-fg:var(--color-cherry-deep);--btn-border:var(--color-cherry);--btn-hover-bg:var(--color-cherry-soft)}.btn--ghost{--btn-bg:transparent;--btn-border:transparent;padding:0 12px}.btn--ghost.btn--neutral,.btn--ghost.btn--brand{--btn-fg:var(--color-ink);--btn-hover-bg:var(--color-tile-soft)}.btn--ghost.btn--info{--btn-fg:var(--color-tile);--btn-hover-bg:var(--color-tile-soft)}.btn--ghost.btn--success{--btn-fg:var(--color-pistachio-deep);--btn-hover-bg:var(--color-pistachio-soft)}.btn--ghost.btn--warning{--btn-fg:var(--color-butter-deep);--btn-hover-bg:var(--color-butter-soft)}.btn--ghost.btn--danger{--btn-fg:var(--color-cherry-deep);--btn-hover-bg:var(--color-cherry-soft)}.icon-btn{--ib-fg:var(--color-ink);--ib-bg:transparent;--ib-border:transparent;--ib-hover:var(--color-tile-soft);width:var(--space-control);height:var(--space-control);border-radius:var(--radius-pill);border:2px solid var(--ib-border);background:var(--ib-bg);color:var(--ib-fg);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--ib-hover)}.icon-btn:active:not(:disabled){transform:scale(.96)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn:disabled:hover{background:var(--ib-bg)}.icon-btn__icon{display:inline-flex}.icon-btn__icon svg{width:20px;height:20px}.icon-btn--sm{width:36px;height:36px}.icon-btn--lg{width:var(--space-control-lg);height:var(--space-control-lg)}.icon-btn--lg .icon-btn__icon svg{width:24px;height:24px}.icon-btn--outline{--ib-bg:var(--color-enamel);--ib-border:var(--color-line-strong);--ib-hover:var(--color-enamel-sunken)}.icon-btn--solid{--ib-bg:var(--color-primary);--ib-fg:var(--color-on-primary);--ib-hover:var(--color-granite-raised)}.icon-btn--danger{--ib-fg:var(--color-cherry-deep);--ib-hover:var(--color-cherry-soft)}.icon-btn--success{--ib-fg:var(--color-pistachio-deep);--ib-hover:var(--color-pistachio-soft)}.icon-btn--warning{--ib-fg:var(--color-butter-deep);--ib-hover:var(--color-butter-soft)}.icon-btn--info{--ib-fg:var(--color-tile)}.icon-btn[aria-pressed=true]{--ib-bg:var(--color-pistachio);--ib-fg:var(--color-ink)}.tooltip{z-index:var(--z-popover);border-radius:var(--radius-sm);background:var(--color-granite);max-width:260px;color:var(--color-enamel);box-shadow:var(--shadow-enamel);animation:fade-in var(--dur-fast) var(--ease-out);padding:6px 10px;font-size:.8125rem;font-weight:600;line-height:1.3}.tooltip__arrow{fill:var(--color-granite)}.spinner{color:currentColor;align-items:center;gap:4px;display:inline-flex}.spinner__dot{width:7px;height:7px;animation:bob .9s var(--ease-out) infinite;background:currentColor;border-radius:50%}.spinner__dot:nth-child(2){animation-delay:.12s}.spinner__dot:nth-child(3){animation-delay:.24s}.spinner--sm .spinner__dot{width:5px;height:5px}.spinner--lg .spinner__dot{gap:6px;width:10px;height:10px}.loading-block{color:var(--color-ink-soft);padding:var(--space-lg);place-content:center;justify-items:center;gap:12px;display:grid}.loading-block__label{color:var(--color-ink-muted);font-size:.9rem}@keyframes bob{0%,to{opacity:.45;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.spinner__dot{opacity:.75;animation:none}}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field__label{font-family:var(--type-label-family);font-size:var(--type-label-size);font-weight:var(--type-label-weight);line-height:var(--type-label-leading);color:var(--color-ink)}.field__optional{color:var(--color-ink-muted);font-weight:400}.field__control{align-items:center;display:flex;position:relative}.field-input{width:100%;min-height:var(--space-control);border:1.5px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-enamel);color:var(--color-ink);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);appearance:none;padding:9px 14px;font-size:1rem;line-height:1.4}.field-input::placeholder{color:var(--color-ink-muted);opacity:1}.field-input:hover:not(:disabled){border-color:var(--color-ink-soft)}.field-input:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px;border-color:var(--color-rim)}.field-input:disabled{background:var(--color-enamel-sunken);color:var(--color-ink-muted);cursor:not-allowed}.field-input[aria-invalid=true]{border-color:var(--color-cherry);border-width:2px}.field-input--mono{font-family:var(--type-mono-family)}.field-input.has-prefix{padding-left:44px}.field-input.has-suffix{padding-right:48px}.field-textarea{resize:none;min-height:96px;line-height:1.5;overflow-y:hidden}.field-select{cursor:pointer;text-overflow:ellipsis;padding-right:42px}.field__adorn{color:var(--color-ink-soft);align-items:center;gap:2px;display:flex;position:absolute;top:0;bottom:0}.field__adorn--start{pointer-events:none;left:14px}.field__adorn--end{right:4px}.field__chevron{pointer-events:none;right:14px}.field__reveal,.field__clear{border-radius:var(--radius-pill);width:40px;height:40px;color:var(--color-ink-soft);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.field__reveal:hover,.field__clear:hover{background:var(--color-tile-soft);color:var(--color-ink)}.field__meta{justify-content:space-between;gap:8px;min-height:1.25rem;display:flex}.field__hint,.field__error{font-size:.85rem;line-height:1.35}.field__hint{color:var(--color-ink-muted)}.field__error{color:var(--color-cherry-deep);align-items:flex-start;gap:6px;font-weight:600;display:flex}.field__error-mark{background:var(--color-cherry);width:17px;height:17px;color:var(--color-on-primary);border-radius:50%;flex:none;place-items:center;margin-top:1px;font-size:.7rem;font-weight:800;display:inline-grid}input[type=search]::-webkit-search-cancel-button{appearance:none}input[type=search]::-webkit-search-decoration{appearance:none}input[type=date].field-input{min-height:var(--space-control)}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer}.search-field{flex:240px;min-width:0}.search-field__busy{border:2px solid var(--color-line);border-top-color:var(--color-ink);border-radius:50%;width:16px;height:16px;margin-right:4px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.check-box{appearance:none;border:2px solid var(--color-rim);background:var(--color-enamel);cursor:pointer;width:26px;height:26px;transition:background-color var(--dur-fast) var(--ease-out);border-radius:8px;flex:none;place-content:center;margin:0;display:inline-grid}.check-box:after{content:"";border-left:3px solid var(--color-ink);border-bottom:3px solid var(--color-ink);width:12px;height:7px;transition:transform var(--dur-fast) var(--ease-out);transform:translateY(-2px)rotate(-45deg)scale(0)}.check-box:checked{background:var(--color-pistachio)}.check-box:checked:after{transform:translateY(-2px)rotate(-45deg)scale(1)}.check-box:hover:not(:disabled){background:var(--color-pistachio-soft)}.check-box:checked:hover:not(:disabled){background:var(--color-pistachio)}.check-box:disabled{opacity:.45;cursor:not-allowed}.check-field{min-height:var(--space-control);align-items:flex-start;gap:12px;padding-top:9px;display:flex}.check-field__label{cursor:pointer;font-weight:600}.chip-group{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1.5px solid var(--color-line-strong);border-radius:var(--radius-pill);background:var(--color-enamel);min-height:40px;color:var(--color-ink);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);align-items:center;gap:6px;padding:0 14px;font-size:.925rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.chip:hover{background:var(--color-enamel-sunken);border-color:var(--color-ink-soft);color:var(--color-ink)}.chip.is-selected,.chip[aria-pressed=true]{background:var(--color-pistachio);border-color:var(--color-rim)}.chip:has(input:checked){background:var(--color-pistachio);border-color:var(--color-rim)}.chip:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:2px}.chip:has(input:disabled){opacity:.45;cursor:not-allowed}.chip svg{width:16px;height:16px}.stars{gap:1px;display:inline-flex}.stars__on{fill:var(--color-butter);stroke:var(--color-butter-deep)}.stars__off{fill:#0000;stroke:var(--color-line-strong)}.stars-input__row{flex-wrap:wrap;align-items:center;gap:2px;margin-top:6px;display:flex}.stars-input__star,.stars-input__none{min-width:var(--space-control);height:var(--space-control);border-radius:var(--radius-pill);cursor:pointer;color:var(--color-line-strong);place-items:center;display:inline-grid}.stars-input__none{color:var(--color-ink-soft);border:1.5px solid var(--color-line);margin-right:4px;padding:0 12px;font-size:.85rem;font-weight:600}.stars-input__none:has(input:checked){background:var(--color-enamel-sunken);border-color:var(--color-line-strong)}.stars-input__star:hover{background:var(--color-butter-soft)}.stars-input__star.is-on svg{fill:var(--color-butter);stroke:var(--color-butter-deep)}:is(.stars-input__star:has(input:focus-visible),.stars-input__none:has(input:focus-visible)){outline:3px solid var(--color-focus);outline-offset:1px}.stars-input:disabled .stars-input__star,.stars-input:disabled .stars-input__none{cursor:not-allowed;opacity:.5}.badge{border-radius:var(--radius-sm);letter-spacing:.01em;white-space:nowrap;background:var(--color-enamel-sunken);min-height:24px;color:var(--color-ink-soft);border:1px solid var(--color-line);align-items:center;gap:5px;padding:2px 9px;font-size:.78rem;font-weight:700;line-height:1.2;display:inline-flex}.badge__icon svg{width:13px;height:13px}.badge--info{background:var(--color-tile-soft);color:var(--color-tile);border-color:#0000}.badge--success{background:var(--color-pistachio-soft);color:var(--color-pistachio-deep);border-color:#0000}.badge--warning{background:var(--color-butter-soft);color:var(--color-butter-deep);border-color:#0000}.badge--danger{background:var(--color-cherry-soft);color:var(--color-cherry-deep);border-color:#0000}.badge--brand{background:var(--color-primary);color:var(--color-on-primary);border-color:#0000}.inline-alert{border-radius:var(--radius-md);align-items:flex-start;gap:10px;padding:12px 14px;font-weight:600;line-height:1.4;display:flex}.inline-alert--error{background:var(--color-cherry-soft);color:var(--color-cherry-deep)}.inline-alert--warning{background:var(--color-butter-soft);color:var(--color-butter-deep)}.inline-alert--info{background:var(--color-tile-soft);color:var(--color-ink)}.inline-alert--success{background:var(--color-pistachio-soft);color:var(--color-pistachio-deep)}.inline-alert svg{flex:none;margin-top:1px}.empty-state,.error-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:240px;padding:40px 20px;display:flex}.empty-state__icon,.error-state__icon{background:var(--color-enamel);border:var(--rim-width) solid var(--color-rim);width:64px;height:64px;color:var(--color-ink);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.error-state__icon{background:var(--color-cherry-soft);border-color:var(--color-cherry);color:var(--color-cherry-deep)}.empty-state__title,.error-state__title{font-family:var(--type-headline-family);font-size:1.2rem;font-weight:var(--type-headline-weight);line-height:1.25}.empty-state__body,.error-state__body{max-width:44ch;color:var(--color-ink-soft)}.empty-state__actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px;display:flex}.dialog-backdrop{z-index:var(--z-backdrop);background:var(--backdrop);animation:fade-in var(--dur-base) var(--ease-out);position:fixed;inset:0}.dialog{z-index:var(--z-dialog);background:var(--color-enamel);color:var(--color-ink);border:var(--rim-width) solid var(--color-rim);box-shadow:var(--shadow-dialog);max-height:calc(100dvh - 24px - var(--safe-top));border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:var(--safe-bottom);animation:sheet-in var(--dur-base) var(--ease-out);border-bottom:0;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}.dialog:focus{outline:none}@media (width>=640px){.dialog{border-radius:var(--radius-xl);border-bottom:var(--rim-width) solid var(--color-rim);width:min(560px,100vw - 32px);max-height:min(86dvh,820px);animation:dialog-in var(--dur-base) var(--ease-out);padding-bottom:0;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.dialog--sm{width:min(460px,100vw - 32px)}.dialog--lg{width:min(760px,100vw - 32px)}}.dialog__header{justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 12px 24px;display:flex}.dialog__title{font-family:var(--type-headline-family);font-size:var(--type-headline-size);font-weight:var(--type-headline-weight);line-height:var(--type-headline-leading);letter-spacing:-.01em}.dialog__description{color:var(--color-ink-soft);margin-top:6px}.dialog__close{width:var(--space-control);height:var(--space-control);color:var(--color-ink);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin:-6px -6px 0 0;display:grid}.dialog__close:hover{background:var(--color-tile-soft)}.dialog__body{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:14px;min-height:0;padding:4px 24px 20px;display:flex;overflow-y:auto}.dialog__footer{border-top:1px solid var(--color-line);background:var(--color-enamel-sunken);flex-wrap:wrap-reverse;justify-content:flex-end;gap:10px;padding:14px 20px 18px;display:flex}@media (width>=640px){.dialog__footer{border-radius:0 0 calc(var(--radius-xl) - 2px) calc(var(--radius-xl) - 2px)}}@media (width<=639px){.dialog__footer>.btn{flex:auto}}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,-48%)scale(.98)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.segmented{border-radius:var(--radius-pill);background:var(--color-enamel);border:1.5px solid var(--color-line-strong);gap:2px;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.segmented__item{border-radius:var(--radius-pill);min-height:38px;color:var(--color-ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:1 0 auto;padding:0 16px;font-size:.9rem;font-weight:700}.segmented__item:hover{background:var(--color-enamel-sunken);color:var(--color-ink)}.segmented__item[data-state=active],.segmented__item[aria-current=page]{background:var(--color-primary);color:var(--color-on-primary)}.page-header{margin-bottom:var(--space-lg);flex-direction:column;gap:10px;display:flex}.page-header__back{min-height:var(--space-control);border-radius:var(--radius-pill);color:var(--color-ink-soft);align-self:flex-start;align-items:center;gap:6px;margin:-8px 0 -6px -10px;padding:0 10px;font-size:.925rem;font-weight:700;text-decoration:none;display:inline-flex}.page-header__back:hover{background:var(--color-enamel);color:var(--color-ink)}.page-header__row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 16px;display:flex}.page-header__titles{flex:280px;min-width:0}.page-header__eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-soft);margin-bottom:4px;font-size:.8rem;font-weight:700}.page-header__title{font-family:var(--type-display-family);font-size:clamp(1.7rem, 1.3rem + 1.6vw, var(--type-display-size));font-weight:var(--type-display-weight);line-height:var(--type-display-leading);letter-spacing:-.02em}.page-header__title:focus{outline:none}.page-header__description{color:var(--color-ink-soft);max-width:60ch;margin-top:6px}.page-header__actions{flex-wrap:wrap;gap:8px;display:flex}.panel{background:var(--color-enamel);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-enamel);min-width:0;padding:20px}@media (width>=768px){.panel{padding:24px}}.panel__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 12px;margin-bottom:16px;display:flex}.panel__title{font-family:var(--type-headline-family);font-size:1.15rem;font-weight:var(--type-headline-weight);line-height:1.25}.panel__description{color:var(--color-ink-soft);margin-top:4px;font-size:.95rem}.panel__actions{flex-wrap:wrap;gap:8px;display:flex}.rows{flex-direction:column;list-style:none;display:flex}.rows>li+li{border-top:1px solid var(--color-line)}.copy-field{flex-direction:column;gap:6px;min-width:0;display:flex}.copy-field__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.copy-field__value{border-radius:var(--radius-md);background:var(--color-granite);color:var(--color-enamel);white-space:pre;max-width:100%;margin:0;padding:12px 14px;font-size:.875rem;line-height:1.5;overflow-x:auto}.copy-field__value--multi{white-space:pre}.copy-field__value:focus-visible{outline-offset:2px}.copy-btn{flex:none;min-width:44px;min-height:44px}.offline-slot:empty{display:none}.offline-banner{background:var(--color-butter);color:var(--color-ink);border-bottom:2px solid var(--color-rim);align-items:flex-start;gap:10px;padding:12px 16px;font-size:.95rem;line-height:1.4;display:flex}.offline-banner svg{flex:none;margin-top:1px}.write-guard{display:contents}.write-guard__note{color:var(--color-butter-deep);align-items:center;gap:6px;font-size:.9rem;font-weight:700;display:flex}.private-image{background:var(--color-enamel-sunken);width:100%;position:relative;overflow:hidden}.private-image img{object-fit:cover;width:100%;height:100%;animation:fade-in var(--dur-base) var(--ease-out)}.private-image__fallback{width:100%;height:100%}.private-image__fallback.is-loading{opacity:.6}.recipe-art{width:100%;height:100%}.recipe-art__initial{font-family:var(--type-display-family);fill:var(--color-ink);font-size:96px;font-weight:760}[data-sonner-toaster]{--normal-bg:var(--color-enamel);--normal-text:var(--color-ink);--normal-border:var(--color-rim);--success-bg:var(--color-pistachio-soft);--success-text:var(--color-ink);--success-border:var(--color-pistachio-deep);--error-bg:var(--color-cherry-soft);--error-text:var(--color-cherry-deep);--error-border:var(--color-cherry);--warning-bg:var(--color-butter-soft);--warning-text:var(--color-ink);--warning-border:var(--color-butter-deep);--info-bg:var(--color-tile-soft);--info-text:var(--color-ink);--info-border:var(--color-tile);--border-radius:var(--radius-lg);font-family:var(--type-body-family);z-index:var(--z-toast)!important}[data-sonner-toast]{box-shadow:var(--shadow-dialog)!important;border-width:2px!important;font-size:.95rem!important}[data-sonner-toast] [data-button]{min-height:var(--space-control);background:var(--color-primary)!important;color:var(--color-on-primary)!important;border-radius:var(--radius-pill)!important;padding:0 14px!important;font-weight:700!important}[data-sonner-toast] [data-close-button]:before{content:"";position:absolute;inset:-12px}.field__control--select .field-input{padding-right:42px}.field__unit{color:var(--color-ink-muted);font-family:var(--type-mono-family);pointer-events:none;padding-right:12px;font-size:.875rem}.check-field__text{flex-direction:column;gap:2px;min-width:0;display:flex}.check-box--lg{width:28px;height:28px}.check-box--lg:after{width:13px;height:8px}svg.is-fav{fill:var(--color-cherry);stroke:var(--color-cherry-deep)}.text-link{min-height:var(--space-control);color:var(--color-tile);text-underline-offset:3px;align-items:center;gap:6px;font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px;display:inline-flex}.text-link:hover{color:var(--color-ink)}.text-button{min-height:var(--space-control);color:var(--color-tile);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 4px;font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px;display:inline-flex}.text-button:hover{color:var(--color-ink)}.text-button:disabled{opacity:.45;cursor:not-allowed}.dialog__titles{flex:1;min-width:0}.dialog--confirm .dialog__header{padding-top:24px}.dialog--confirm .dialog__body:empty{display:none}.menu{z-index:var(--z-dropdown);border-radius:var(--radius-lg);background:var(--color-enamel);border:var(--rim-width) solid var(--color-rim);min-width:232px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-dialog);animation:fade-in var(--dur-fast) var(--ease-out);padding:6px}.menu__item{min-height:var(--space-control);border-radius:var(--radius-md);color:var(--color-ink);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;align-items:center;gap:12px;padding:0 12px;font-weight:600;display:flex}.menu__item svg{width:18px;height:18px;color:var(--color-ink-soft);flex:none}.menu__item[data-highlighted]{background:var(--color-tile-soft)}.menu__item[data-highlighted] svg{color:var(--color-ink)}.menu__item[data-disabled]{opacity:.45;cursor:not-allowed}.menu__item--warning,.menu__item--warning svg{color:var(--color-butter-deep)}.menu__item--warning[data-highlighted]{background:var(--color-butter-soft)}.menu__item--warning[data-highlighted] svg{color:var(--color-butter-deep)}.menu__item--danger,.menu__item--danger svg{color:var(--color-cherry-deep)}.menu__item--danger[data-highlighted]{background:var(--color-cherry-soft)}.menu__sep{background:var(--color-line);height:1px;margin:6px 4px}.list-row{align-items:center;gap:12px;min-height:64px;padding:10px 4px 10px 0;display:flex}.list-row__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.list-row__title{color:var(--color-ink);overflow-wrap:anywhere;font-weight:700;text-decoration:none}a.list-row__title:hover{color:var(--color-tile);text-underline-offset:3px;text-decoration:underline}.list-row__text .muted{font-size:.9rem}.list-row__actions,.row-actions{flex:none;align-items:center;gap:2px;display:flex}.row-actions--stack{flex-direction:column}.sticky-actions{bottom:calc(var(--space-bottom-nav) + var(--safe-bottom) + 8px);z-index:var(--z-sticky);margin-top:var(--space-lg);border-radius:var(--radius-lg);background:var(--color-enamel);border:1px solid var(--color-line);box-shadow:var(--shadow-dialog);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:12px 12px 12px 18px;display:flex;position:sticky}@media (width>=1024px){.sticky-actions{bottom:16px}}.sticky-actions__status{min-height:1.4em;color:var(--color-ink-soft);font-size:.9rem;font-weight:600}.sticky-actions .row{flex-wrap:nowrap;margin-left:auto}@media (width<=479px){.sticky-actions__status{flex-basis:100%}.sticky-actions .row{width:100%}.sticky-actions .row>.btn{flex:1 1 0}}.filter-bar{margin-bottom:var(--space-lg);flex-wrap:wrap;align-items:flex-start;gap:10px 12px;display:flex}.filter-bar .search-field{flex:320px}.filter-bar__controls{flex-wrap:wrap;align-items:flex-start;gap:8px 10px;min-width:0;display:flex}.filter-bar__controls>.chip{min-height:var(--space-control)}.filter-bar__select{flex:170px;min-width:0}.filter-bar__select .field__meta{display:none}@media (width<=599px){.filter-bar__controls{width:100%}.filter-bar__controls>.chip{flex:none}}.results{min-height:240px}.results[aria-busy=true]>:not(.load-more):not([role=status]){transition:opacity var(--dur-base) var(--ease-out)}.load-more{margin-top:var(--space-lg);flex-direction:column;align-items:center;gap:10px;min-height:88px;font-size:.9rem;display:flex}.page--narrow{max-width:720px;padding-bottom:48px}.picker{flex-direction:column;gap:8px;min-width:0;display:flex}.picker .search-field{flex:none}.picker__list{overscroll-behavior:contain;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-enamel-sunken);flex-direction:column;gap:4px;max-height:min(46dvh,360px);padding:4px;display:flex;overflow-y:auto}.picker__state{text-align:center;place-items:center;min-height:120px;padding:16px;display:grid}.picker__item{border-radius:var(--radius-md);background:var(--color-enamel);width:100%;min-height:56px;color:var(--color-ink);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border:1.5px solid #0000;flex:none;align-items:center;gap:12px;padding:6px 10px 6px 6px;display:flex}.picker__item:hover{border-color:var(--color-line-strong)}.picker__item.is-on{background:var(--color-pistachio-soft);border-color:var(--color-rim)}.picker__thumb{border-radius:var(--radius-sm);border:1px solid var(--color-line);flex:none;width:44px;height:44px;overflow:hidden}.picker__thumb .private-image{height:100%}.picker__text{flex-direction:column;flex:1;min-width:0;display:flex}.picker__title{overflow-wrap:anywhere;font-weight:700;line-height:1.3}.picker__meta{color:var(--color-ink-muted);font-size:.85rem}.picker__check{border:2px solid var(--color-rim);background:var(--color-enamel);border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid}.picker__item.is-on .picker__check{background:var(--color-pistachio)}@media print{.no-print{display:none!important}}.sticky-actions__status:empty{display:none}.app{min-height:100dvh}.app__column{flex-direction:column;min-width:0;min-height:100dvh;display:flex}.page{width:100%;max-width:var(--space-page-max);padding:20px 16px calc(var(--space-bottom-nav) + var(--safe-bottom) + 32px);flex:1 0 auto;margin:0 auto}@media (width>=768px){.page{padding:28px 28px calc(var(--space-bottom-nav) + var(--safe-bottom) + 40px)}}@media (width>=1024px){.app{grid-template-columns:var(--space-sidebar) minmax(0, 1fr);display:grid}.page{padding:36px 40px 64px}}.topbar{z-index:var(--z-sticky);min-height:56px;padding:calc(6px + var(--safe-top)) 12px 6px 16px;background:color-mix(in srgb, var(--color-page) 92%, transparent);-webkit-backdrop-filter:saturate(1.2)blur(10px);backdrop-filter:saturate(1.2)blur(10px);border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}@media (width>=1024px){.topbar{display:none}}.brand{color:var(--color-ink);min-height:var(--space-control);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand:hover{color:var(--color-ink)}.brand__mark{flex:none;width:32px;height:32px}.brand__word{white-space:nowrap;font-family:var(--type-display-family);letter-spacing:-.02em;font-size:1.2rem;font-weight:760;line-height:1}.household-chip{border-radius:var(--radius-pill);border:1.5px solid var(--color-line-strong);background:var(--color-enamel);min-width:0;max-width:55vw;min-height:40px;color:var(--color-ink);cursor:pointer;align-items:center;gap:6px;padding:0 12px 0 14px;font-size:.875rem;font-weight:700;text-decoration:none;display:inline-flex}.topbar>.brand,.household-chip>svg{flex-shrink:0}.household-chip:hover{background:var(--color-enamel-sunken);color:var(--color-ink)}.household-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bottom-nav{z-index:var(--z-nav);height:calc(var(--space-bottom-nav) + var(--safe-bottom));padding:6px 6px var(--safe-bottom);background:var(--color-enamel);border-top:var(--rim-width) solid var(--color-rim);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px -18px #16213d80}@media (width>=1024px){.bottom-nav{display:none}}.bottom-nav__item{border-radius:var(--radius-md);min-width:0;color:var(--color-ink-soft);-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.75rem;font-weight:700;text-decoration:none;display:flex}.bottom-nav__item:hover{color:var(--color-ink)}.bottom-nav__icon{border-radius:var(--radius-pill);width:52px;height:30px;transition:background-color var(--dur-fast) var(--ease-out);place-items:center;display:grid}.bottom-nav__item[aria-current=page]{color:var(--color-ink)}.bottom-nav__item[aria-current=page] .bottom-nav__icon{background:var(--color-pistachio);box-shadow:inset 0 0 0 1.5px var(--color-rim)}.bottom-nav__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.sidebar{display:none}@media (width>=1024px){.sidebar{background:var(--color-page-deep);border-right:1px solid var(--color-line);flex-direction:column;gap:20px;height:100dvh;padding:22px 16px 20px;display:flex;position:sticky;top:0;overflow-y:auto}}.sidebar__brand{padding:0 8px}.sidebar__section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-soft);margin-bottom:6px;padding:0 12px;font-size:.75rem;font-weight:700}.sidebar__nav{flex-direction:column;gap:2px;display:flex}.sidebar__link{min-height:var(--space-control);border-radius:var(--radius-md);color:var(--color-ink);align-items:center;gap:12px;padding:0 12px;font-weight:650;text-decoration:none;display:flex;position:relative}.sidebar__link:hover{background:color-mix(in srgb, var(--color-enamel) 70%, transparent);color:var(--color-ink)}.sidebar__link[aria-current=page]{background:var(--color-enamel);box-shadow:var(--shadow-enamel)}.sidebar__link[aria-current=page]:before{content:"";background:var(--color-rim);border-radius:0 4px 4px 0;width:4px;position:absolute;top:10px;bottom:10px;left:-16px}.sidebar__link svg{flex:none;width:20px;height:20px}.sidebar__sub{min-height:38px;margin-left:30px;font-size:.925rem}.sidebar__footer{flex-direction:column;gap:8px;margin-top:auto;display:flex}.sidebar__account{border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-enamel) 60%, transparent);align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.sidebar__account-text{flex:1;min-width:0;font-size:.85rem;line-height:1.3}.sidebar__account-text strong,.sidebar__account-text span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.avatar{background:var(--color-pistachio);border:1.5px solid var(--color-rim);width:36px;height:36px;color:var(--color-ink);border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:800;display:grid}.cooking-strip{background:var(--color-granite);color:var(--color-enamel);align-items:center;gap:10px;padding:8px 12px 8px 16px;display:flex;overflow-x:auto}.cooking-strip__label{letter-spacing:.05em;text-transform:uppercase;color:var(--color-granite-ink);flex:none;font-size:.8rem;font-weight:700}.cooking-strip__link{border-radius:var(--radius-pill);background:var(--color-granite-raised);max-width:240px;min-height:40px;color:var(--color-enamel);flex:none;align-items:center;gap:8px;padding:0 14px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.cooking-strip__link:hover{background:var(--color-enamel);color:var(--color-ink)}.cooking-strip__link>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cooking-strip__timer{white-space:nowrap;font-family:var(--type-mono-family);font-variant-numeric:tabular-nums;border-radius:var(--radius-pill);background:var(--color-butter);color:var(--color-ink);flex:none;padding:2px 8px;font-size:.8rem}.cooking-strip__timer.is-done{background:var(--color-cherry);color:var(--color-on-primary)}.splash{min-height:100dvh;color:var(--color-ink);place-content:center;justify-items:center;gap:18px;display:grid}.splash .brand__mark{width:56px;height:56px}.household-chip--wide{width:100%;max-width:none;min-height:var(--space-control);justify-content:space-between;padding:0 14px 0 16px}.switcher-list{flex-direction:column;gap:8px;list-style:none;display:flex}.switcher-item{border:1.5px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-enamel);width:100%;min-height:60px;color:var(--color-ink);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);flex-direction:column;align-items:flex-start;gap:2px;padding:10px 16px;display:flex}.switcher-item:hover{background:var(--color-enamel-sunken);border-color:var(--color-ink-soft)}.switcher-item.is-current{background:var(--color-pistachio-soft);border:var(--rim-width) solid var(--color-rim)}.switcher-item__name{overflow-wrap:anywhere;font-weight:700}.switcher-item__meta{color:var(--color-ink-soft);text-transform:capitalize;font-size:.875rem}.status-shell{min-height:100dvh;padding:calc(24px + var(--safe-top)) 16px calc(24px + var(--safe-bottom));flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex}.status-shell>.brand__mark{width:48px;height:48px}.status-page{text-align:center;background:var(--color-enamel);border:var(--rim-width) solid var(--color-rim);border-radius:var(--radius-xl);width:100%;max-width:520px;box-shadow:var(--shadow-enamel);flex-direction:column;align-items:center;gap:12px;margin:0 auto;padding:40px 24px 32px;display:flex}.status-page>.muted{max-width:40ch}.status-page>.btn,.status-page>.row{margin-top:8px}.status-page>.row{justify-content:center}.status-page__icon{background:var(--color-tile-soft);border:var(--rim-width) solid var(--color-rim);width:72px;height:72px;color:var(--color-ink);border-radius:50%;place-items:center;display:grid}.status-page__icon--lock{background:var(--color-butter-soft)}.status-page__icon--error{background:var(--color-cherry-soft);border-color:var(--color-cherry);color:var(--color-cherry-deep)}.status-page__code{font-family:var(--type-mono-family);letter-spacing:.12em;color:var(--color-ink-muted);font-size:.85rem;font-weight:500}.status-page .page-header__title{text-wrap:balance}.auth{background:var(--color-page);flex-direction:column;min-height:100dvh;display:flex}.auth__wall{align-items:center;gap:var(--space-md);padding:calc(var(--space-md) + var(--safe-top)) var(--space-md) 0;flex-direction:column;display:flex}.auth__plates{justify-content:center;align-items:flex-end;gap:10px;display:flex}.auth__plate{aspect-ratio:4/3;border-radius:var(--radius-lg);width:72px;height:auto;box-shadow:var(--shadow-enamel);overflow:hidden}.auth__plate--b{width:88px}.auth__tagline{display:none}.auth__main{align-items:center;gap:var(--space-lg);width:100%;padding:var(--space-md) var(--space-md) calc(var(--space-xl) + var(--safe-bottom));flex-direction:column;flex:1 0 auto;display:flex}.auth__brand{align-self:center}.auth-card{gap:var(--space-md);width:100%;max-width:440px;padding:var(--space-lg) 20px;background:var(--color-enamel);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-enamel);flex-direction:column;display:flex}.auth-title{font-family:var(--type-display-family);font-size:clamp(1.625rem, 1.3rem + 1.2vw, var(--type-display-size));font-weight:var(--type-display-weight);line-height:var(--type-display-leading);letter-spacing:-.02em;color:var(--color-ink)}.auth-title:focus{outline:none}.auth-lead{margin-top:calc(var(--space-sm) * -1);color:var(--color-ink-soft)}.oauth-app{overflow-wrap:anywhere;padding:var(--space-md);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-enamel-sunken)}.auth-row{margin-top:calc(var(--space-sm) * -1);justify-content:flex-end;display:flex}.auth-row a{min-height:var(--space-control);align-items:center;font-weight:650;display:inline-flex}.auth-consent{gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-enamel-sunken);display:grid}.auth-consent .check-field{min-height:0;padding-top:0}.auth-consent .check-field__label{font-weight:500}.auth-consent a{font-weight:700}.auth-consent .check-field--invalid .check-box{border-color:var(--color-cherry)}.auth__footer{text-align:center;width:100%;max-width:440px;color:var(--color-ink-soft)}.auth__footer a{font-weight:700}.auth__footer .btn{margin-inline:auto}.auth-sent{padding:20px var(--space-md);border-radius:var(--radius-md);background:var(--color-tile-soft);color:var(--color-ink);text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.auth-sent svg{color:var(--color-tile);flex:none}.auth-sent p{max-width:36ch}.auth-sent strong{overflow-wrap:anywhere}.auth-sent--success{background:var(--color-pistachio-soft)}.auth-sent--success svg{color:var(--color-pistachio-deep)}.auth-sent--error{background:var(--color-cherry-soft);color:var(--color-cherry-deep)}.auth-sent--error svg{color:var(--color-cherry-deep)}.onboard-card{gap:var(--space-md);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-enamel-sunken);flex-direction:column;padding:20px;display:flex}.onboard-card__title{font-family:var(--type-headline-family);font-size:1.15rem;font-weight:var(--type-headline-weight);align-items:center;gap:10px;line-height:1.25;display:flex}.onboard-card__title svg{color:var(--color-tile);flex:none}.onboard-or{color:var(--color-ink-muted);font-size:var(--type-label-size);font-weight:var(--type-label-weight);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:12px;display:flex}.onboard-or:before,.onboard-or:after{content:"";background:var(--color-line);flex:1;height:1px}.invite-card{padding:var(--space-md);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-enamel-sunken);align-items:flex-start;gap:14px;display:flex}.invite-card>svg{color:var(--color-tile);flex:none;margin-top:2px}.invite-card p+p{margin-top:4px;font-size:.925rem}.outbox{flex-direction:column;gap:12px;list-style:none;display:flex}.outbox__item{padding:var(--space-md);background:var(--color-enamel);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-enamel);grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.outbox__meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;font-size:.9rem;display:flex}.outbox__meta strong{font-family:var(--type-label-family);font-weight:var(--type-label-weight)}.outbox__to{font-family:var(--type-mono-family);font-size:var(--type-mono-size);color:var(--color-ink-soft);overflow-wrap:anywhere}.outbox__open{justify-self:start}@media (width>=768px){.auth__wall{padding-top:calc(var(--space-xl) + var(--safe-top))}.auth__plate{width:104px}.auth__plate--b{width:132px}.auth-card{padding:32px}.outbox__item{grid-template-columns:minmax(0,1fr) auto;align-items:center}.outbox__meta,.outbox__to{grid-column:1}.outbox__open{grid-area:1/2/span 2;justify-self:end}}@media (width>=1024px){.auth{grid-template-columns:minmax(360px,5fr) minmax(0,6fr);display:grid}.auth__wall{justify-content:center;gap:var(--space-xl);height:100dvh;padding:var(--space-xl);background:var(--color-page-deep);border-right:1px solid var(--color-line);position:sticky;top:0}.auth__plates{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,380px);display:grid}.auth__plate,.auth__plate--b{width:100%}.auth__plate--a{transform:translateY(24px)}.auth__plate--c{grid-column:1/-1;justify-self:center;width:62%}.auth__tagline{max-width:30ch;font-family:var(--type-headline-family);font-size:var(--type-headline-size);font-weight:var(--type-headline-weight);text-align:center;color:var(--color-ink);line-height:1.3;display:block}.auth__main{padding:var(--space-xl) var(--space-xl) calc(var(--space-xl) + var(--safe-bottom));justify-content:center}.auth__brand{align-self:center}}@media (forced-colors:active){.auth-card,.onboard-card,.invite-card,.auth-sent,.outbox__item{border:1px solid canvastext}}.recipe-grid{gap:var(--space-md);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=600px){.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}.recipe-card{background:var(--color-enamel);border:var(--rim-width) solid var(--color-rim);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-enamel);transition:box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.recipe-card:hover{box-shadow:var(--shadow-enamel-hover);transform:translateY(-2px)}.recipe-card:active{transform:translateY(0)}.recipe-card__visual{border-bottom:var(--rim-width) solid var(--color-rim)}.recipe-card__body{flex-direction:column;flex:1;gap:8px;padding:14px 16px 16px;display:flex}.recipe-card__title{font-family:var(--type-headline-family);font-size:1.15rem;font-weight:var(--type-headline-weight);letter-spacing:-.01em;line-height:1.25}.recipe-card__link{color:var(--color-ink);text-decoration:none}.recipe-card__link:after{content:"";border-radius:calc(var(--radius-lg) - var(--rim-width));position:absolute;inset:0}.recipe-card__link:hover{color:var(--color-ink)}.recipe-card:hover .recipe-card__link{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1.5px}.recipe-card__link:focus-visible{outline:none}.recipe-card__link:focus-visible:after{outline:3px solid var(--color-focus);outline-offset:3px}.recipe-card__desc{-webkit-line-clamp:2;line-clamp:2;color:var(--color-ink-soft);-webkit-box-orient:vertical;font-size:.95rem;display:-webkit-box;overflow:hidden}.recipe-card__meta{color:var(--color-ink-soft);flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:auto;font-size:.875rem;font-weight:600;display:flex}.recipe-card__fact{font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.recipe-card__tags{flex-wrap:wrap;gap:6px;list-style:none;display:flex}.recipe-card__tags li{border-radius:var(--radius-sm);background:var(--color-enamel-sunken);border:1px solid var(--color-line);color:var(--color-ink-soft);padding:2px 9px;font-size:.78rem;font-weight:700}.recipe-card__fav{z-index:1;box-shadow:var(--shadow-enamel);position:absolute;top:10px;right:10px}.recipe-grid+.load-more{margin-top:var(--space-lg)}.recipe-detail{gap:var(--space-lg);flex-direction:column;display:flex}.trash-banner{border:1.5px solid var(--color-butter-deep);border-radius:var(--radius-md);background:var(--color-butter-soft);color:var(--color-ink);flex-wrap:wrap;align-items:flex-start;gap:10px 12px;padding:14px 16px;display:flex}.trash-banner>svg{color:var(--color-butter-deep);flex:none;margin-top:2px}.trash-banner>p{flex:240px;min-width:0}.recipe-hero{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.recipe-hero__visual{border:var(--rim-width) solid var(--color-rim);border-radius:var(--radius-lg);box-shadow:var(--shadow-enamel);background:var(--color-enamel);overflow:hidden}.recipe-hero__text{flex-direction:column;gap:14px;min-width:0;display:flex}.recipe-hero__cats{flex-wrap:wrap;gap:6px;list-style:none;display:flex}.recipe-hero__cats a{border-radius:var(--radius-pill);background:var(--color-tile-soft);min-height:32px;color:var(--color-ink);align-items:center;padding:0 12px;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.recipe-hero__cats a:hover{background:var(--color-pistachio-soft);color:var(--color-ink)}.recipe-hero__title{font-family:var(--type-display-family);font-size:clamp(1.875rem,1.4rem + 2vw,2.75rem);font-weight:var(--type-display-weight);line-height:var(--type-display-leading);letter-spacing:-.02em}.recipe-hero__title:focus{outline:none}.recipe-hero__desc{max-width:60ch;color:var(--color-ink-soft);font-size:1.05rem}.recipe-facts{flex-wrap:wrap;gap:8px;margin:0;display:flex}.recipe-facts>div{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-enamel);flex-direction:column;gap:2px;min-width:84px;padding:8px 14px;display:flex}.recipe-facts dt{letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-muted);font-size:.75rem;font-weight:700}.recipe-facts dd{font-family:var(--type-mono-family);font-weight:var(--type-mono-weight);font-variant-numeric:tabular-nums;color:var(--color-ink);margin:0}.recipe-hero__rate .stars-input__row{margin-top:0}.recipe-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=599px){.recipe-actions>.btn:first-child{flex:100%}}.recipe-body{gap:var(--space-lg);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.recipe-ingredients,.recipe-steps{background:var(--color-enamel);border:1px solid var(--color-line);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-enamel);padding:20px}.recipe-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:12px;display:flex}.recipe-section-head h2{font-family:var(--type-headline-family);font-size:var(--type-headline-size);font-weight:var(--type-headline-weight);line-height:var(--type-headline-leading)}.recipe-section-head .muted{font-size:.9rem}.ing-group+.ing-group,.step-group+.step-group{margin-top:18px}.ing-group__title{border-bottom:1px solid var(--color-line);font-family:var(--type-label-family);letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-soft);margin-bottom:6px;padding-bottom:6px;font-size:.8rem;font-weight:700}.ing-list{list-style:none}.ing{grid-template-columns:minmax(5.5rem,max-content) minmax(0,1fr);gap:12px;padding:9px 0;line-height:1.4;display:grid}.ing+.ing{border-top:1px solid var(--color-line)}.ing__qty{font-family:var(--type-mono-family);font-size:var(--type-mono-size);font-variant-numeric:tabular-nums;color:var(--color-ink);overflow-wrap:anywhere;font-weight:600}.ing__qty:empty:before{content:"—";color:var(--color-line-strong)}.ing__name{min-width:0}.ing__note{color:var(--color-ink-soft)}.step-list{flex-direction:column;gap:16px;list-style:none;display:flex}.step{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:14px;display:grid}.step__num{border:var(--rim-width) solid var(--color-rim);background:var(--color-enamel);width:36px;height:36px;font-family:var(--type-display-family);font-weight:var(--type-display-weight);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;line-height:1;display:grid}.step__text{white-space:pre-wrap;max-width:68ch;padding-top:5px;font-size:1.05rem;line-height:1.6}.recipe-note{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-line)}.recipe-note h2{font-family:var(--type-headline-family);font-size:1.1rem;font-weight:var(--type-headline-weight);margin-bottom:8px}.recipe-source{margin-top:var(--space-lg);overflow-wrap:anywhere}.recipe-source a{align-items:center;gap:4px;font-weight:650;display:inline-flex}.recipe-source svg{flex:none}.recipe-updated{flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:8px;font-size:.875rem;display:flex}.recipe-updated svg{flex:none}@media (width>=768px){.recipe-ingredients,.recipe-steps{padding:24px}}@media (width>=900px){.recipe-hero{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:32px}.recipe-body{grid-template-columns:minmax(280px,2fr) minmax(0,3fr)}.recipe-ingredients{top:var(--space-lg);max-height:calc(100dvh - 2 * var(--space-lg));overscroll-behavior:contain;position:sticky;overflow-y:auto}}.editor{gap:var(--space-lg);flex-direction:column;display:flex}.editor__section{gap:var(--space-md);flex-direction:column;display:flex}.editor__section>.panel__header{margin-bottom:0}.editor__section>.panel__description{margin-top:calc(var(--space-sm) * -1)}.editor__basics{gap:var(--space-md);grid-template-columns:minmax(0,1fr);display:grid}.editor__details{gap:4px var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.editor__rating{align-items:flex-start;gap:var(--space-sm) var(--space-lg);flex-wrap:wrap;display:flex}.edit-group{padding-top:var(--space-md);border-top:1px solid var(--color-line);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.edit-group>*{align-self:stretch}.edit-group>.btn{align-self:flex-start}.edit-group__head{flex-wrap:wrap;align-items:flex-start;gap:4px 12px;display:flex}.edit-group__head>.field{flex:240px}.edit-group__head>.btn{margin-top:28px}.ing-edit__labels{display:none}.ing-edit-list,.step-edit-list{flex-direction:column;gap:10px;list-style:none;display:flex}.ing-edit{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-enamel-sunken);grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"qty unit""name name""note note""msg msg""actions actions";gap:8px;padding:10px;display:grid}.ing-edit.is-invalid{border-color:var(--color-cherry);background:var(--color-cherry-soft)}.ing-edit__qty{font-family:var(--type-mono-family);font-variant-numeric:tabular-nums;grid-area:qty}.ing-edit__unit{grid-area:unit}.ing-edit__name{grid-area:name}.ing-edit__note{grid-area:note}.ing-edit__msg{grid-area:msg}.ing-edit .row-actions{grid-area:actions;justify-self:end}.ing-edit .field-input{min-width:0}.step-edit{grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.step-edit__num{border:var(--rim-width) solid var(--color-rim);background:var(--color-enamel);width:36px;height:36px;font-family:var(--type-display-family);font-weight:var(--type-display-weight);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;margin-top:4px;line-height:1;display:grid}.step-edit__field{min-width:0}@media (width>=768px){.editor__basics{grid-template-columns:minmax(0,1fr) minmax(240px,300px);align-items:start}.editor__details{grid-template-columns:repeat(4,minmax(0,1fr))}.ing-edit__labels,.ing-edit{grid-template-columns:minmax(5.5rem,7rem) minmax(5.5rem,7rem) minmax(0,1.4fr) minmax(0,1fr) 124px;column-gap:8px}.ing-edit__labels{font-size:var(--type-label-size);font-weight:var(--type-label-weight);color:var(--color-ink-soft);padding:0 1px;display:grid}.ing-edit__labels:after{content:""}.ing-edit{background:0 0;border:0;grid-template-areas:"qty unit name note actions""msg msg msg msg msg";row-gap:4px;padding:0}.ing-edit.is-invalid{background:0 0}.ing-edit .row-actions{place-self:center start}}.photo-field{flex-direction:column;gap:6px;min-width:0;display:flex}.photo-field__zone{border:1.5px dashed var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-enamel);transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);flex-direction:column;gap:12px;padding:10px;display:flex}.photo-field__zone.is-drag{border-style:solid;border-color:var(--color-tile);background:var(--color-tile-soft)}.photo-field__preview{border:var(--rim-width) solid var(--color-rim);border-radius:calc(var(--radius-md) - 2px);position:relative;overflow:hidden}.photo-field__progress{border:1.5px solid var(--color-rim);border-radius:var(--radius-pill);background:var(--color-enamel);height:10px;position:absolute;bottom:10px;left:10px;right:10px;overflow:hidden}.photo-field__progress>span{background:var(--color-tile);height:100%;transition:width var(--dur-fast) linear;display:block}.photo-field__actions{flex-direction:column;gap:8px;display:flex}.photo-field__status{font-family:var(--type-mono-family);font-variant-numeric:tabular-nums;color:var(--color-ink-soft);font-weight:600}.category-picker{flex-direction:column;gap:10px;display:flex}.category-picker .chip{min-height:var(--space-control)}.category-picker__new{gap:8px;max-width:440px;display:flex}.category-picker__new .field-input{flex:auto;min-width:0}.category-picker__new .btn{flex:none}.trash-row{grid-template-columns:64px minmax(0,1fr);grid-template-areas:"thumb text""actions actions";align-items:center;gap:10px 14px;padding:12px 0;display:grid}.trash-row__thumb{border:1.5px solid var(--color-rim);border-radius:var(--radius-sm);grid-area:thumb;width:64px;display:block;overflow:hidden}.trash-row__text{flex-direction:column;grid-area:text;gap:2px;min-width:0;font-size:.9rem;display:flex}.trash-row__title{color:var(--color-ink);font-size:1rem;font-weight:700;text-decoration:none}.trash-row__title:hover{color:var(--color-ink);text-decoration:underline}.trash-row__actions{flex-wrap:wrap;grid-area:actions;gap:8px;display:flex}.trash-row__actions .btn{min-height:var(--space-control)}@media (width>=640px){.trash-row{grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"thumb text actions"}.trash-row__actions{justify-content:flex-end}}@media (prefers-reduced-motion:reduce){.recipe-card,.recipe-card:hover{transform:none}}@media (forced-colors:active){.recipe-card,.recipe-hero__visual,.photo-field__preview,.step__num,.step-edit__num{border-color:canvastext}.recipe-card__link:focus-visible:after{outline-color:highlight}.photo-field__progress>span{background:highlight}}.cook{--cook-focus:var(--color-butter);min-height:100dvh;padding-bottom:var(--safe-bottom);color:var(--color-enamel);background-color:var(--color-granite);background-image:radial-gradient(circle at 30% 40%, color-mix(in srgb, var(--color-granite-ink) 34%, transparent) 0 1px, transparent 1.6px), radial-gradient(circle at 70% 75%, color-mix(in srgb, var(--color-enamel) 18%, transparent) 0 1px, transparent 1.4px), radial-gradient(circle at 55% 15%, color-mix(in srgb, var(--color-granite-raised) 90%, transparent) 0 2px, transparent 2.6px);background-size:23px 23px,37px 37px,53px 53px}.cook :focus-visible{outline-color:var(--cook-focus)}.cook .step-card,.cook .cook-panel,.cook .cook-complete,.cook>.page,.cook-main .empty-state{--cook-focus:var(--color-focus);color:var(--color-ink)}.cook-bar{z-index:var(--z-sticky);padding:calc(8px + var(--safe-top)) 12px 8px;background:var(--color-granite);border-bottom:1px solid var(--color-granite-raised);flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex;position:sticky;top:0}.cook-bar__back{width:var(--space-control);height:var(--space-control);color:var(--color-enamel);border-radius:50%;flex:none;place-items:center;display:grid}.cook-bar__back:hover{background:var(--color-granite-raised);color:var(--color-enamel)}.cook-bar__mark{flex:none;width:30px;height:30px}.cook-tabs{scrollbar-color:var(--color-granite-ink) transparent;flex:100%;order:3;gap:6px;min-width:0;display:flex;overflow-x:auto}.cook-tabs__tab{line-height:calc(var(--space-control) - 3px);max-width:220px;min-height:var(--space-control);border:1.5px solid var(--color-granite-raised);border-radius:var(--radius-pill);background:var(--color-granite-raised);color:var(--color-enamel);white-space:nowrap;text-overflow:ellipsis;flex:none;padding:0 16px;font-size:.925rem;font-weight:700;text-decoration:none;display:inline-block;overflow:hidden}.cook-tabs__tab:hover{border-color:var(--color-granite-ink);color:var(--color-enamel)}.cook-tabs__tab[aria-current=page]{background:var(--color-enamel);border-color:var(--color-enamel);color:var(--color-ink)}.cook-bar__tools{flex:none;gap:8px;margin-left:auto;display:flex}.cook-bar__tools .btn{min-height:var(--space-control);flex:none}.cook-bar__wake.is-on{--btn-bg:var(--color-pistachio);--btn-border:var(--color-pistachio);--btn-hover-bg:var(--color-pistachio-soft)}@media (width<=419px){.cook-bar__wake .btn__label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cook-bar__wake{padding:0 12px}}.cook-note{background:var(--color-butter-soft);color:var(--color-ink);border-bottom:1px solid var(--color-butter-deep);padding:10px 16px;font-size:.95rem;font-weight:600}.cook-panes-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:12px 16px 0;display:grid}.cook-panes-nav__item{min-width:0;min-height:var(--space-control-lg);border:1.5px solid var(--color-granite-raised);border-radius:var(--radius-pill);background:var(--color-granite-raised);color:var(--color-enamel);text-align:center;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:.875rem;font-weight:700;line-height:1.15;display:flex}.cook-panes-nav__item svg{flex:none}.cook-panes-nav__item:hover{border-color:var(--color-granite-ink)}.cook-panes-nav__item[aria-pressed=true]{background:var(--color-enamel);border-color:var(--color-enamel);color:var(--color-ink)}@media (width<=379px){.cook-panes-nav__item svg{display:none}}.cook-layout{width:100%;max-width:1440px;margin:0 auto;padding:16px 16px 24px}.cook-pane{min-width:0;display:none}.cook-pane.is-active{display:flex}.cook-panel{background:var(--color-enamel);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-dialog);flex-direction:column;gap:14px;padding:18px 16px}.cook-panel__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.cook-panel__head h2{font-family:var(--type-headline-family);font-size:var(--type-headline-size);font-weight:var(--type-headline-weight);line-height:var(--type-headline-leading)}.cook-panel__count{color:var(--color-ink-soft);font-variant-numeric:tabular-nums;font-size:.925rem;font-weight:650}.cook-controls{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.servings-stepper{align-items:center;gap:8px;display:inline-flex}.servings-stepper__value{flex-direction:column;align-items:center;min-width:76px;line-height:1.1;display:flex}.servings-stepper__num{font-family:var(--type-mono-family);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:600}.servings-stepper__label{color:var(--color-ink-soft);font-size:.8rem;font-weight:650}.segmented--units{width:100%;display:flex}.segmented--units .segmented__item{min-height:var(--space-control);flex:1 1 0}.cook-hint{border-radius:var(--radius-sm);background:var(--color-tile-soft);color:var(--color-ink);padding:8px 12px;font-size:.875rem;line-height:1.4}.cook-ing-group+.cook-ing-group{margin-top:6px}.cook-ing-group__title{border-bottom:1px solid var(--color-line);font-family:var(--type-label-family);letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-soft);padding:8px 0 6px;font-size:.8rem;font-weight:700}.cook-ing-list{list-style:none}.cook-ing-list>li+li{border-top:1px solid var(--color-line)}.cook-ing{min-height:var(--space-control-lg);border-radius:var(--radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:flex-start;gap:14px;padding:12px 6px;font-size:1.1rem;line-height:1.4;display:flex}.cook-ing:hover{background:var(--color-enamel-sunken)}.cook-ing .check-box{margin-top:0}.cook-ing__text{flex-direction:column;gap:2px;min-width:0;display:flex}.cook-ing__qty{font-family:var(--type-mono-family);font-variant-numeric:tabular-nums;font-weight:600}.cook-ing__qty.is-changed{color:var(--color-tile)}.cook-ing__note{color:var(--color-ink-soft)}.cook-ing__orig{color:var(--color-ink-muted);font-size:.85rem}.cook-ing.is-checked .cook-ing__qty,.cook-ing.is-checked .cook-ing__name{color:var(--color-ink-muted);text-decoration:line-through;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--color-pistachio-deep);text-decoration-color:var(--color-pistachio-deep)}.cook-ing:has(input:disabled){cursor:default}.cook-main{flex-direction:column;gap:16px}.cook-main:focus{outline:none}.cook-title{font-family:var(--type-display-family);font-size:clamp(1.5rem,1.2rem + 1.4vw,2.25rem);font-weight:var(--type-display-weight);line-height:var(--type-display-leading);letter-spacing:-.02em;color:var(--color-enamel)}.cook-title:focus{outline:none}.step-card{background:var(--color-enamel);border:var(--rim-width) solid var(--color-rim);border-radius:var(--radius-xl);box-shadow:0 0 0 5px var(--color-granite-raised), var(--shadow-dialog);flex-direction:column;gap:18px;padding:20px 18px 16px;display:flex}.step-card__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.step-card__count{letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-soft);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700}.step-card__section{border-radius:var(--radius-sm);background:var(--color-tile-soft);color:var(--color-ink);padding:3px 10px;font-size:.85rem;font-weight:700}.step-card__body{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;display:grid}.step-card__num{min-width:1ch;font-family:var(--type-display-family);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--color-ink);font-size:clamp(2.75rem,2rem + 4vw,5rem);font-weight:760;line-height:.9}.step-card__text{max-width:60ch;font-family:var(--type-body-cook-family);font-size:clamp(var(--type-body-cook-size), 1.2rem + .6vw, 1.75rem);font-weight:var(--type-body-cook-weight);line-height:var(--type-body-cook-leading);white-space:pre-wrap}.step-card__timers{flex-wrap:wrap;gap:8px;display:flex}.step-card__timers .btn{min-height:var(--space-control-lg);font-size:1rem}.step-card__done{min-height:var(--space-control-lg);border-top:1px solid var(--color-line);border-radius:0 0 var(--radius-md) var(--radius-md);cursor:pointer;align-items:center;gap:12px;margin:0 -8px;padding:8px;font-size:1.05rem;font-weight:700;display:flex}.step-card__done:hover{background:var(--color-enamel-sunken)}.step-card__done:has(input:disabled){cursor:default}.step-card.is-done .step-card__count{color:var(--color-pistachio-deep)}.step-card.is-done .step-card__done{background:var(--color-pistachio-soft)}.step-nav{z-index:var(--z-sticky);padding:12px 16px calc(12px + var(--safe-bottom));background:var(--color-granite);border-top:1px solid var(--color-granite-raised);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 -16px;display:grid;position:sticky;bottom:0}.step-nav .btn{width:100%;min-width:0}.step-nav .btn:disabled{opacity:.55}.cook-complete{background:var(--color-pistachio);border:var(--rim-width) solid var(--color-rim);border-radius:var(--radius-lg);align-items:flex-start;gap:12px;padding:14px 16px;font-size:1.05rem;display:flex}.cook-complete svg{flex:none}.step-overview{flex-direction:column;gap:10px;margin-top:8px;display:flex}.step-overview__title{font-family:var(--type-headline-family);font-size:1.15rem;font-weight:var(--type-headline-weight);color:var(--color-enamel)}.step-overview__section{letter-spacing:.06em;text-transform:uppercase;color:var(--color-granite-ink);margin:6px 0 2px;font-size:.8rem;font-weight:700}.step-overview__list{flex-direction:column;gap:6px;list-style:none;display:flex}.step-overview__item{width:100%;min-height:var(--space-control-lg);border:1.5px solid var(--color-granite-raised);border-radius:var(--radius-md);background:var(--color-granite-raised);color:var(--color-enamel);text-align:left;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:12px;padding:10px 14px;font-size:.975rem;line-height:1.4;display:grid}.step-overview__item:hover{border-color:var(--color-granite-ink)}.step-overview__num{border:1.5px solid var(--color-granite-ink);width:28px;height:28px;font-family:var(--type-mono-family);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:.85rem;display:grid}.step-overview__text{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;padding-top:3px;display:-webkit-box;overflow:hidden}.step-overview__item.is-done{color:var(--color-granite-ink)}.step-overview__item.is-done .step-overview__num{border-color:var(--color-pistachio);background:var(--color-pistachio);color:var(--color-ink)}.step-overview__item.is-current{border-color:var(--color-enamel);background:var(--color-enamel);color:var(--color-ink)}.step-overview__item.is-current .step-overview__num{border-color:var(--color-rim);background:var(--color-butter);color:var(--color-ink)}.cook-main .empty-state,.cook>.page{background:var(--color-enamel);border-radius:var(--radius-lg)}.cook>.page{width:calc(100% - 32px);padding:var(--space-lg);margin:24px auto}.cook--loading .loading-block,.cook--loading .loading-block__label{color:var(--color-granite-ink)}.timer-dock{flex-direction:column;gap:12px;display:flex}.timer-dock__empty{color:var(--color-ink-soft)}.timer-dock__sub{letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-soft);margin-top:4px;font-size:.8rem;font-weight:700}.timer-list{flex-direction:column;gap:10px;list-style:none;display:flex}.timer-tile{background:var(--color-butter);color:var(--color-ink);border:var(--rim-width) solid var(--color-rim);border-radius:var(--radius-lg);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.timer-tile__head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.timer-tile__label{overflow-wrap:anywhere;min-width:0;font-weight:700;line-height:1.3}.timer-tile__state{border-radius:var(--radius-sm);background:var(--color-enamel);letter-spacing:.04em;text-transform:uppercase;flex:none;padding:2px 8px;font-size:.75rem;font-weight:800}.timer-tile__clock{font-family:var(--type-mono-family);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:clamp(2rem,1.6rem + 1.6vw,2.5rem);font-weight:600;line-height:1}.timer-tile__bar{border:1.5px solid var(--color-rim);border-radius:var(--radius-pill);background:var(--color-enamel);height:8px;overflow:hidden}.timer-tile__bar>span{background:var(--color-ink);height:100%;display:block}.timer-tile__actions{justify-content:flex-end;gap:6px;display:flex}.timer-tile--paused{background:var(--color-butter-soft)}.timer-tile--paused .timer-tile__state{color:var(--color-butter-deep)}.timer-tile--done{background:var(--color-enamel);border-color:var(--color-cherry);box-shadow:inset 0 0 0 1px var(--color-cherry);animation:timer-ring .9s var(--ease-out) 2}.timer-tile--done .timer-tile__state{background:var(--color-cherry);color:var(--color-on-primary)}.timer-tile--done .timer-tile__clock{color:var(--color-cherry-deep)}@keyframes timer-ring{0%,to{background-color:var(--color-enamel)}50%{background-color:var(--color-butter)}}.custom-timer-wrap{border-top:1px solid var(--color-line);padding-top:12px}.custom-timer-wrap>summary{min-height:var(--space-control);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:10px;padding:0 8px;font-weight:700;list-style:none;display:flex}.custom-timer-wrap>summary::-webkit-details-marker{display:none}.custom-timer-wrap>summary:before{content:"";width:8px;height:8px;transition:transform var(--dur-fast) var(--ease-out);border-bottom:2px solid;border-right:2px solid;transform:rotate(-45deg)}.custom-timer-wrap[open]>summary:before{transform:rotate(45deg)}.custom-timer-wrap>summary:hover{background:var(--color-enamel-sunken)}.custom-timer{flex-direction:column;gap:4px;margin-top:12px;display:flex}.custom-timer__time{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width>=768px){.cook-bar{flex-wrap:nowrap;padding-inline:16px}.cook-tabs{flex:auto;order:0}.cook-panes-nav{gap:8px;padding:16px 24px 0}.cook-panes-nav__item{font-size:.95rem}.cook-layout{padding:20px 24px 32px}.cook-panel{padding:22px 24px}.step-card{gap:22px;padding:28px 28px 18px}.step-card__body{gap:22px}.step-nav{margin:0 -24px;padding-inline:24px}}@media (width>=1024px){.cook-panes-nav{display:none}.cook-layout{grid-template-columns:minmax(280px,320px) minmax(0,1fr) minmax(280px,320px);align-items:start;gap:24px;padding:24px 28px 40px;display:grid}.cook-pane,.cook-pane.is-active{display:flex}.cook-panel{overscroll-behavior:contain;max-height:calc(100dvh - 108px);position:sticky;top:84px;overflow-y:auto}.cook-main{gap:20px}.step-nav{background:0 0;border-top:0;margin:0;padding:0;position:static}.step-card{padding:36px 40px 22px}}@media (width>=1280px){.cook-layout{grid-template-columns:minmax(300px,360px) minmax(0,1fr) minmax(300px,340px)}}@media (prefers-reduced-motion:reduce){.timer-tile--done{box-shadow:inset 0 0 0 2px var(--color-cherry);animation:none}}@media (forced-colors:active){.cook{background-image:none}.step-card,.timer-tile,.cook-panel,.cook-complete{border:2px solid canvastext}.timer-tile--done,.cook-tabs__tab[aria-current=page],.cook-panes-nav__item[aria-pressed=true],.step-overview__item.is-current{border-color:highlight}.timer-tile__bar>span{background:canvastext}}.groc-cards{gap:var(--space-md);grid-template-columns:minmax(0,1fr);list-style:none;display:grid}@media (width>=700px){.groc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1280px){.groc-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.groc-card{background:var(--color-enamel);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-enamel);transition:box-shadow var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);align-items:flex-start;gap:8px;padding:18px 10px 18px 20px;display:flex;position:relative}.groc-card:hover{border-color:var(--color-line-strong);box-shadow:var(--shadow-enamel-hover)}.groc-card:focus-within:has(.groc-card__link:focus-visible){outline:3px solid var(--color-focus);outline-offset:2px}.groc-card__main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.groc-card__title{font-family:var(--type-headline-family);font-size:1.2rem;font-weight:var(--type-headline-weight);overflow-wrap:anywhere;line-height:1.25}.groc-card__link{color:var(--color-ink);text-decoration:none}.groc-card__link:focus-visible{outline:none}.groc-card__link:after{content:"";border-radius:inherit;position:absolute;inset:0}.groc-card__meta{color:var(--color-ink-soft)}.groc-card__updated{font-size:.85rem}.groc-card__actions{z-index:1;flex:none;align-items:center;gap:2px;display:flex;position:relative}.groc-card__chevron{color:var(--color-ink-muted);margin:0 4px}@media (width<=479px){.groc-card__chevron{display:none}}.groc-meter{border-radius:var(--radius-pill);background:var(--color-enamel-sunken);border:1px solid var(--color-line);height:8px;margin:4px 0 2px;overflow:hidden}.groc-meter__fill{background:var(--color-pistachio);border-right:1.5px solid var(--color-pistachio-deep);height:100%;transition:width var(--dur-base) var(--ease-out);display:block}.groc-quick{margin-bottom:var(--space-lg);background:var(--color-enamel);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-enamel);padding:12px}.groc-quick .write-guard__note{margin-bottom:8px}.groc-quick__form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"name name name""qty unit add";align-items:start;gap:8px;display:grid}.groc-quick__name{grid-area:name}.groc-quick__qty{grid-area:qty}.groc-quick__unit{grid-area:unit}.groc-quick__add{grid-area:add}.groc-quick .field__meta:empty{display:none}.groc-quick .field__meta{min-height:0}.groc-quick .inline-alert{margin-top:8px}@media (width>=640px){.groc-quick__form{grid-template-columns:minmax(0,1fr) 96px 120px auto;grid-template-areas:"name qty unit add"}}.groc-body{gap:var(--space-lg);flex-direction:column;display:flex}.groc-aisles{gap:var(--space-md);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (width>=1024px){.groc-aisles{columns:2;column-gap:var(--space-md);display:block}.groc-aisle{break-inside:avoid;margin-bottom:var(--space-md)}}.groc-aisle,.groc-cart{background:var(--color-enamel);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-enamel);overflow:hidden}.groc-aisle__title{background:var(--color-enamel-sunken);border-bottom:1px solid var(--color-line);font-family:var(--type-label-family);letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-soft);align-items:center;gap:8px;padding:10px 16px;font-size:.8rem;font-weight:750;display:flex}.groc-aisle__count{border-radius:var(--radius-pill);background:var(--color-enamel);border:1px solid var(--color-line);min-width:24px;height:22px;color:var(--color-ink-soft);font-family:var(--type-mono-family);letter-spacing:0;text-transform:none;place-items:center;padding:0 7px;font-size:.78rem;font-weight:600;display:inline-grid}.groc-items{list-style:none}.groc-items>li+li{border-top:1px solid var(--color-line)}.groc-item{grid-template-columns:52px minmax(0,1fr) 48px;align-items:center;min-height:60px;padding:4px;display:grid}.groc-item__check{border-radius:var(--radius-md);cursor:pointer;place-items:center;width:48px;height:48px;display:grid}.groc-item__check:has(input:disabled){cursor:not-allowed}.groc-item__check:hover:has(input:not(:disabled)){background:var(--color-pistachio-soft)}.groc-item__body{border-radius:var(--radius-md);min-width:0;min-height:48px;color:var(--color-ink);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:6px 8px;display:flex}.groc-item__body:hover{background:var(--color-enamel-sunken)}.groc-item__line{flex-wrap:wrap;align-items:baseline;gap:0 10px;max-width:100%;display:flex}.groc-item__name{overflow-wrap:anywhere;font-size:1.05rem;font-weight:700;line-height:1.3}.groc-item__amount{color:var(--color-ink-soft);overflow-wrap:anywhere;font-size:.95rem}.groc-item__note{color:var(--color-ink-soft);overflow-wrap:anywhere;font-size:.9rem}.groc-item__delete{justify-self:end}.groc-item[aria-busy=true] .groc-item__body{opacity:.7}.groc-item.is-checked .groc-item__name,.groc-item.is-checked .groc-item__amount{color:var(--color-ink-muted);text-decoration:line-through;text-decoration-thickness:1.5px}.groc-sources{color:var(--color-ink-muted);overflow-wrap:anywhere;align-items:flex-start;gap:6px;font-size:.85rem;line-height:1.35;display:inline-flex}.groc-sources svg{flex:none;margin-top:2px}.groc-sources--block{border-radius:var(--radius-md);background:var(--color-enamel-sunken);padding:10px 12px}.groc-cart__head{background:var(--color-pistachio-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;padding:4px 8px 4px 4px;display:flex}.groc-cart__heading{font-size:1rem}.groc-cart__toggle{min-height:var(--space-control);border-radius:var(--radius-pill);color:var(--color-ink);background:0 0;border:0;align-items:center;gap:8px;padding:0 12px;font-size:1rem;font-weight:700;display:inline-flex}.groc-cart__toggle:hover{background:var(--color-enamel)}.groc-cart__chevron{transition:transform var(--dur-fast) var(--ease-out);transform:rotate(-90deg)}.groc-cart__toggle[aria-expanded=true] .groc-cart__chevron{transform:rotate(0)}.groc-cart .groc-items{border-top:1px solid var(--color-line)}.groc-done{border-radius:var(--radius-lg);background:var(--color-pistachio-soft);color:var(--color-pistachio-deep);align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.groc-done svg{flex:none;margin-top:2px}.groc-done p{color:var(--color-ink)}.groc-amount-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width>=640px){.groc-dialog__delete{margin-right:auto}}.groc-choose{max-width:640px;padding:8px 12px}.groc-choose__item{border-radius:var(--radius-md);width:100%;min-height:60px;color:var(--color-ink);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:8px;display:flex}.groc-choose__item:hover{background:var(--color-enamel-sunken)}.groc-choose__text{flex-direction:column;flex:1;min-width:0;display:flex}.groc-choose__name{overflow-wrap:anywhere;font-weight:700}.groc-choose__empty{padding:12px 8px}.groc-choose__foot{border-top:1px solid var(--color-line);padding:12px 8px 8px}.gen-tabs__list{width:100%;margin-bottom:14px;display:flex}.gen-tabs__list .segmented__item{justify-content:center;align-items:center;gap:8px;min-height:40px;display:inline-flex}.gen-tabs__panel{flex-direction:column;gap:12px;display:flex}.gen-tabs__panel:focus-visible{outline-offset:4px}.gen-subhead{font-family:var(--type-label-family);font-size:var(--type-label-size);font-weight:var(--type-label-weight);margin-bottom:6px}.gen-chosen__list{border:1px solid var(--color-line);border-radius:var(--radius-md);flex-direction:column;list-style:none;display:flex}.gen-chosen__row{grid-template-columns:minmax(0,1fr) 150px 44px;align-items:center;gap:8px;padding:6px 6px 6px 12px;display:grid}.gen-chosen__row+.gen-chosen__row{border-top:1px solid var(--color-line)}.gen-chosen__title{overflow-wrap:anywhere;font-weight:700}.gen-chosen__servings .field__meta:empty{display:none}.gen-chosen__suffix{color:var(--color-ink-muted);pointer-events:none;padding-right:10px;font-size:.85rem}.gen-chosen__servings .field-input.has-suffix{padding-right:76px}@media (width<=479px){.gen-chosen__row{grid-template-columns:minmax(0,1fr) 44px;grid-template-areas:"title remove""servings servings"}.gen-chosen__title{grid-area:title}.gen-chosen__servings{grid-area:servings}.gen-chosen__row>:last-child{grid-area:remove}}.gen-dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width<=379px){.gen-dates{grid-template-columns:minmax(0,1fr)}}.gen-plan-summary{border-radius:var(--radius-md);background:var(--color-enamel-sunken);border:1px solid var(--color-line);min-height:52px;padding:12px 14px}.gen-plan-summary__list{flex-direction:column;gap:2px;margin-top:6px;font-size:.925rem;list-style:none;display:flex}.gen-pantry-toggle{border-radius:var(--radius-md);background:var(--color-pistachio-soft);padding:4px 14px 8px}.gen-review:focus{outline:none}.gen-warnings{flex-direction:column;gap:4px;list-style:none;display:flex}.gen-empty{border-radius:var(--radius-md);background:var(--color-enamel-sunken);gap:12px;padding:16px;display:flex}.gen-review__bar{justify-content:space-between;align-items:center;gap:8px;display:flex}.gen-lines{border:1px solid var(--color-line);border-radius:var(--radius-md);list-style:none}.gen-line{grid-template-columns:44px minmax(0,1fr);gap:4px;padding:10px 12px 12px 6px;display:grid}.gen-line+.gen-line{border-top:1px solid var(--color-line)}.gen-line.is-off{background:var(--color-enamel-sunken)}.gen-line__check{place-items:center;width:44px;height:44px;display:grid}.gen-line__body{flex-direction:column;gap:6px;min-width:0;display:flex}.gen-line__head{flex-wrap:wrap;align-items:baseline;gap:2px 10px;min-height:44px;padding-top:10px;display:flex}.gen-line__name{overflow-wrap:anywhere;cursor:pointer;font-size:1.05rem;font-weight:700;line-height:1.3}.gen-line.is-off .gen-line__name{color:var(--color-ink-soft)}.gen-line__aisle{letter-spacing:.05em;text-transform:uppercase;color:var(--color-ink-muted);font-size:.8rem;font-weight:700}.gen-line__amount{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.gen-line__qty{width:110px}.gen-line__unit{width:120px}.gen-line__amount .field__meta:empty{display:none}.gen-line__needed{color:var(--color-ink-soft);align-self:center;font-size:.9rem}.gen-line__meta{flex-direction:column;gap:4px;display:flex}.gen-note{align-items:flex-start;gap:6px;font-size:.9rem;font-weight:600;line-height:1.35;display:inline-flex}.gen-note svg{flex:none;margin-top:2px}.gen-note--success{color:var(--color-pistachio-deep)}.gen-note--info{color:var(--color-tile)}.gen-note--warning{color:var(--color-butter-deep)}.gen-note--danger{color:var(--color-cherry-deep)}.gen-note--merge{border-radius:var(--radius-sm);background:var(--color-butter-soft);color:var(--color-butter-deep);align-self:flex-start;padding:3px 10px 3px 8px}.gen-note--add{color:var(--color-ink-soft);font-weight:500}.gen-line__extras,.gen-line__edited{color:var(--color-ink-soft);font-size:.875rem}.gen-line__edited{color:var(--color-tile);font-style:normal;font-weight:600}.groc-head__short{display:none}@media (width<=479px){.page-header__actions:has(.groc-head__generate){flex-wrap:nowrap}.groc-head__long{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.groc-head__short{display:inline}}.gen-dialog .picker__item{flex:none}.pan-filters .pan-locations{flex-basis:100%}.pan-status{flex:none}.pan-status .segmented__item{min-height:40px}.pan-status .segmented__item[aria-pressed=true]{background:var(--color-primary);color:var(--color-on-primary)}@media (width<=599px){.pan-status{width:100%;display:flex}.pan-status .segmented__item{flex:1 1 0;padding:0 8px}}.pan-panel{padding:4px 8px 4px 16px}@media (width>=768px){.pan-panel{padding:6px 12px 6px 20px}}.pan-row{align-items:center;gap:8px 12px;min-height:68px;padding:12px 0;display:flex;position:relative}.pan-row--expired:before,.pan-row--soon:before{content:"";border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:var(--color-cherry);width:4px;position:absolute;top:10px;bottom:10px;left:-16px}.pan-row--soon:before{background:var(--color-butter)}@media (width>=768px){.pan-row--expired:before,.pan-row--soon:before{left:-20px}}.pan-row__main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.pan-row__line{flex-wrap:wrap;align-items:baseline;gap:0 10px;display:flex}.pan-row__name{overflow-wrap:anywhere;font-size:1.05rem;font-weight:700;line-height:1.3}.pan-row__amount{color:var(--color-ink-soft);overflow-wrap:anywhere}.pan-row__meta{color:var(--color-ink-soft);flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:.9rem;display:flex}.pan-row__loc{align-items:center;gap:4px;display:inline-flex}.pan-row__loc svg,.pan-row__date{color:var(--color-ink-muted)}.pan-row__note{color:var(--color-ink-muted);overflow-wrap:anywhere;font-size:.9rem}.pan-row--expired .pan-row__name{color:var(--color-cherry-deep)}@media (width<=479px){.pan-row{flex-wrap:wrap;padding-bottom:6px}.pan-row__actions{justify-content:flex-end;width:100%;margin-top:-6px}}.pan-amount-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.pan-location{flex-direction:column;gap:2px;display:flex}.pan-location__chips{margin-top:-2px}.pan-location__chips .chip{min-height:var(--space-control)}.pan-expiry{position:relative}.pan-expiry__clear{font-size:.875rem;position:absolute;top:-12px;right:0}.plan-toolbar{margin-bottom:var(--space-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.plan-toolbar__views .segmented__item{justify-content:center;align-items:center;min-width:72px;min-height:38px;text-decoration:none;display:inline-flex}.plan-toolbar__views .segmented__item[aria-current=page]:hover{background:var(--color-primary);color:var(--color-on-primary)}.plan-toolbar__nav{align-items:center;gap:8px;display:flex}.plan-rangebar{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 16px;display:flex}.plan-rangebar__titles{min-width:0}.plan-rangebar__title{font-family:var(--type-headline-family);font-size:1.5rem;font-weight:var(--type-headline-weight);line-height:var(--type-headline-leading);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.plan-rangebar__meta{min-height:1.4em;margin-top:2px;font-size:.925rem}.plan-rangebar__actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=599px){.plan-toolbar__views{width:100%}.plan-toolbar__views .segmented__item{flex:1 1 0;min-width:0}.plan-toolbar__nav{width:100%}.plan-toolbar__nav>.btn{flex:auto}.plan-rangebar__actions{width:100%}.plan-rangebar__actions>.btn{flex:1 1 0;padding:0 12px}.plan-label-long{display:none}}@media (width>=600px){.plan-label-short{display:none}}.plan-body{min-height:420px}.plan-body[aria-busy=true]>*{transition:opacity var(--dur-base) var(--ease-out)}.plan-hint{margin-bottom:var(--space-md);border-radius:var(--radius-md);background:var(--color-tile-soft);color:var(--color-ink);flex-wrap:wrap;align-items:center;gap:4px 8px;padding:10px 14px;font-size:.95rem;display:flex}.plan-hint svg{color:var(--color-tile);flex:none}.plan-hint .text-link{min-height:0}.plan-week{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (width>=640px){.plan-week{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=900px) and (width<=1023px),(width>=1100px){.plan-week{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1360px){.plan-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}}.plan-day{background:var(--color-enamel);border:1px solid var(--color-line);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-enamel);flex-direction:column;display:flex}.plan-day.is-today{border:var(--rim-width) solid var(--color-rim)}.plan-day__head{border-bottom:1px solid var(--color-line);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--color-enamel-sunken);justify-content:space-between;align-items:center;gap:8px;padding:6px 10px 6px 6px;display:flex}.plan-day.is-today .plan-day__head{background:var(--color-tile-soft)}.plan-day__link{min-height:var(--space-control);border-radius:var(--radius-md);color:var(--color-ink);align-items:baseline;gap:8px;padding:4px 8px;text-decoration:none;display:inline-flex}.plan-day__link:hover{background:var(--color-enamel);color:var(--color-ink)}.plan-day__weekday{letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-soft);align-self:center;font-size:.8rem;font-weight:750}.plan-day__num{font-family:var(--type-display-family);font-size:1.625rem;font-weight:var(--type-display-weight);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}.plan-day.is-past .plan-day__num{color:var(--color-ink-muted)}.plan-day__today{border-radius:var(--radius-pill);background:var(--color-primary);min-height:24px;color:var(--color-on-primary);letter-spacing:.02em;align-items:center;padding:0 9px;font-size:.75rem;font-weight:750;display:inline-flex}.plan-day__body{flex-direction:column;flex:1;gap:10px;padding:10px;display:flex}.plan-slot__head{justify-content:space-between;align-items:center;gap:4px;min-height:36px;display:flex}.plan-slot__label,.plan-dayslot__title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-soft);font-size:.78rem;font-weight:750}.plan-slot__list,.plan-dayslot__list{flex-direction:column;gap:6px;list-style:none;display:flex}.plan-slot__add{margin-right:-6px}.plan-day__adds{flex-wrap:wrap;gap:4px;padding-top:2px;display:flex}.plan-add-chip.btn{border:1.5px dashed var(--color-line-strong);border-radius:var(--radius-pill);min-height:36px;color:var(--color-ink-soft);padding:0 12px 0 8px;font-weight:650}.plan-add-chip.btn:hover{border-color:var(--color-ink-soft);color:var(--color-ink)}@media (pointer:coarse){.plan-add-chip.btn{min-height:var(--space-control)}}@media (width>=1360px){.plan-day__adds{flex-direction:column;align-items:stretch}.plan-add-chip.btn{justify-content:flex-start}.plan-day__head{flex-wrap:wrap}}.plan-entry{width:100%;min-height:var(--space-control);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-enamel-sunken);color:var(--color-ink);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);align-items:center;gap:10px;padding:6px 8px 6px 6px;display:flex}.plan-entry:hover{background:var(--color-enamel);border-color:var(--color-line-strong);box-shadow:var(--shadow-enamel)}.plan-entry[data-state=open]{background:var(--color-tile-soft);border-color:var(--color-tile)}.plan-entry:active{transform:translateY(1px)}.plan-entry__art{border-radius:var(--radius-sm);border:1px solid var(--color-line);background:var(--color-page-deep);flex:none;place-items:center;width:36px;height:36px;display:grid;overflow:hidden}.plan-entry__art .private-image{width:100%;height:100%}.plan-entry__art .private-image img,.plan-entry__art .recipe-art{object-fit:cover;width:100%;height:100%;display:block}.plan-entry__art--text{background:var(--color-butter-soft);color:var(--color-butter-deep)}.plan-entry__text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.plan-entry__title{overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.95rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.plan-entry__meta{color:var(--color-ink-soft);flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:.8rem;display:flex}.plan-entry__meta .badge{white-space:normal}.plan-entry__more{color:var(--color-ink-muted);flex:none}@media (width>=1360px){.plan-week .plan-entry{flex-direction:column;align-items:stretch;gap:6px;padding:5px 5px 8px}.plan-week .plan-entry__art{width:100%;height:56px}.plan-week .plan-entry__text{padding:0 3px}.plan-week .plan-entry__more{display:none}.plan-week .plan-entry__title{font-size:.875rem}}.plan-entry--large{background:var(--color-enamel);gap:14px;padding:10px 14px 10px 10px}.plan-entry--large .plan-entry__art{border-radius:var(--radius-md);width:72px;height:72px}.plan-entry--large .plan-entry__art--text svg{width:26px;height:26px}.plan-entry--large .plan-entry__title{font-size:1.05rem}.plan-entry--large .plan-entry__meta{font-size:.875rem}.plan-entry__note{color:var(--color-ink-soft);overflow-wrap:anywhere;flex-basis:100%}.plan-menu__label{max-width:280px;color:var(--color-ink-muted);overflow-wrap:anywhere;padding:8px 12px 6px;font-size:.8rem;font-weight:700}.plan-menu__note{max-width:260px;color:var(--color-ink-soft);padding:6px 12px 8px;font-size:.8rem}.plan-dayview{gap:12px;display:grid}@media (width>=900px){.plan-dayview{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-dayview__today{grid-column:1/-1}}.plan-dayview__today{border-radius:var(--radius-pill);background:var(--color-primary);min-height:28px;color:var(--color-on-primary);justify-self:start;align-items:center;padding:0 12px;font-size:.8rem;font-weight:750;display:inline-flex}.plan-dayslot{background:var(--color-enamel);border:1px solid var(--color-line);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-enamel);flex-direction:column;gap:10px;padding:14px 16px 16px;display:flex}.plan-dayslot__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.plan-dayslot__title{font-size:.85rem}.plan-dayslot__empty{border:1.5px dashed var(--color-line);border-radius:var(--radius-md);min-height:72px;color:var(--color-ink-muted);place-items:center;font-size:.925rem;display:grid}.plan-month{border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-enamel);box-shadow:var(--shadow-enamel);flex-direction:column;display:flex;overflow:hidden}.plan-month__row{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.plan-month__row+.plan-month__row{border-top:1px solid var(--color-line)}.plan-month__weekdays{background:var(--color-enamel-sunken)}.plan-month__weekday{text-align:center;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-soft);padding:8px 4px;font-size:.75rem;font-weight:750}.plan-month__cell-wrap{min-width:0}.plan-month__cell-wrap+.plan-month__cell-wrap{border-left:1px solid var(--color-line)}.plan-month__cell{height:100%;min-height:56px;color:var(--color-ink);transition:background-color var(--dur-fast) var(--ease-out);flex-direction:column;align-items:center;gap:4px;padding:6px 2px;text-decoration:none;display:flex}.plan-month__cell:hover{background:var(--color-tile-soft);color:var(--color-ink)}.plan-month__cell:focus-visible{outline-offset:-3px}.plan-month__cell.is-outside{background:var(--color-enamel-sunken);color:var(--color-ink-muted)}.plan-month__num{border-radius:var(--radius-pill);font-variant-numeric:tabular-nums;place-items:center;min-width:28px;height:28px;padding:0 4px;font-size:.9rem;font-weight:700;display:inline-grid}.plan-month__cell.is-past .plan-month__num{color:var(--color-ink-muted)}.plan-month__cell.is-today .plan-month__num{background:var(--color-primary);color:var(--color-on-primary)}.plan-month__dots{flex-wrap:wrap;justify-content:center;gap:3px;display:flex}.plan-month__dot{border:1px solid var(--color-rim);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.plan-month__dot--breakfast{background:var(--color-butter)}.plan-month__dot--lunch{background:var(--color-pistachio)}.plan-month__dot--dinner{background:var(--color-tile)}.plan-month__dot--snack{background:var(--color-enamel)}.plan-month__titles{display:none}.plan-month__legend{color:var(--color-ink-soft);flex-wrap:wrap;gap:4px 16px;margin:10px 2px 0;font-size:.85rem;list-style:none;display:flex}.plan-month__legend li{align-items:center;gap:6px;display:inline-flex}@media (width>=768px){.plan-month__cell{align-items:stretch;min-height:116px;padding:6px}.plan-month__num{align-self:flex-start}.plan-month__dots{display:none}.plan-month__titles{flex-direction:column;gap:3px;min-width:0;display:flex}.plan-month__title{border-left:3px solid var(--color-line-strong);background:var(--color-enamel-sunken);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:2px 6px 2px 8px;font-size:.78rem;font-weight:650;line-height:1.3;display:block;overflow:hidden}.plan-month__title--breakfast{border-left-color:var(--color-butter-deep)}.plan-month__title--lunch{border-left-color:var(--color-pistachio-deep)}.plan-month__title--dinner{border-left-color:var(--color-tile)}.plan-month__title--snack{border-left-color:var(--color-line-strong)}.plan-month__more{color:var(--color-ink-soft);padding-left:8px;font-size:.75rem;font-weight:700}.plan-month__legend{display:none}}.plan-agenda{margin-top:var(--space-lg)}.plan-agenda__title{font-family:var(--type-headline-family);font-size:1.125rem;font-weight:var(--type-headline-weight);margin-bottom:10px}.plan-agenda__days{flex-direction:column;gap:14px;list-style:none;display:flex}.plan-agenda__day{flex-direction:column;gap:6px;display:flex}.plan-agenda__date{min-height:36px;color:var(--color-ink);align-self:flex-start;align-items:center;gap:8px;font-weight:750;text-decoration:none;display:inline-flex}.plan-agenda__date:hover{color:var(--color-tile);text-decoration:underline}@media (width>=768px){.plan-agenda{display:none}}.plan-quick-dates{flex-wrap:wrap;gap:8px;display:flex}.plan-inline-loading{min-height:72px;color:var(--color-ink-soft);align-items:center;gap:10px;display:flex}.apply-dates__add{flex-wrap:wrap;align-items:flex-start;gap:0 10px;display:flex}.apply-dates__add>.field{flex:200px;min-width:0}.apply-dates__btn.btn{margin-top:26px}@media (width<=479px){.apply-dates__btn.btn{width:100%;margin-top:0}}.apply-dates__list{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.apply-date{border:1.5px solid var(--color-rim);border-radius:var(--radius-pill);background:var(--color-pistachio-soft);align-items:center;gap:4px;max-width:100%;min-height:44px;padding:0 4px 0 14px;display:inline-flex}.apply-date__text{overflow-wrap:anywhere;min-width:0;font-size:.925rem}.apply-date__remove{width:36px;height:36px;color:var(--color-ink);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.apply-date__remove:hover{background:var(--color-enamel)}.menu-row{flex-wrap:wrap}.menu-row .list-row__text{flex:240px}.menu-row__desc{color:var(--color-ink-soft);overflow-wrap:anywhere;font-size:.925rem}.menu-row__actions{gap:4px;margin-left:auto}.menu-row__actions a.icon-btn{text-decoration:none}.menu-editor{gap:var(--space-lg);flex-direction:column;max-width:860px;display:flex}.menu-day{flex-direction:column;align-items:stretch;gap:12px;display:flex}.menu-day>.btn{align-self:flex-start}.menu-day__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.menu-day__count{font-family:var(--type-body-family);letter-spacing:0;font-size:.9rem;font-weight:600}.menu-day__empty{border:1.5px dashed var(--color-line);border-radius:var(--radius-md);text-align:center;padding:14px}.menu-items{flex-direction:column;gap:10px;list-style:none;display:flex}.menu-item{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-enamel-sunken);flex-direction:column;gap:8px;padding:12px;display:flex}.menu-item__top{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.menu-item__slot{flex:0 160px;min-width:132px}.menu-item__slot .field__meta{display:none}.menu-item__kind{flex:none}.menu-item__actions{margin-left:auto}.menu-item__recipe{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.menu-item__chosen{min-height:var(--space-control);overflow-wrap:anywhere;flex:200px;align-items:center;gap:8px;min-width:0;display:inline-flex}.menu-item__chosen svg{color:var(--color-ink-soft);flex:none}.menu-item__chosen--empty{color:var(--color-ink-muted)}.menu-item__error{flex-basis:100%}.menu-item__details{grid-template-columns:minmax(0,1fr);gap:0 12px;display:grid}@media (width>=600px){.menu-item__details{grid-template-columns:140px minmax(0,1fr)}}@media (width<=479px){.menu-item__slot{flex:100%}.menu-item__kind{flex:auto}.menu-item__kind .segmented__item{flex:1 1 0;padding:0 10px}}.menu-editor__add-day{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}@media (prefers-reduced-motion:reduce){.plan-entry,.plan-month__cell{transition:none}.plan-entry:active{transform:none}}.plan-entry__slot{color:var(--color-ink);font-weight:750}.st-hub{gap:var(--space-md);grid-template-columns:minmax(0,1fr);grid-template-areas:"shortcuts""household""profile""backup""session""danger";display:grid}.st-area-shortcuts{grid-area:shortcuts}.st-area-household{grid-area:household}.st-area-profile{grid-area:profile}.st-area-backup{grid-area:backup}.st-area-session{grid-area:session}.st-area-danger{grid-area:danger}@media (width>=1024px){.st-hub{gap:var(--space-lg);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-template-areas:"household shortcuts""profile backup""profile session""danger danger";align-items:start}.st-area-household,.st-area-shortcuts,.st-area-profile{align-self:stretch}}.st-split{gap:var(--space-md);grid-template-columns:minmax(0,1fr);display:grid}.st-split__main,.st-split__aside{gap:var(--space-md);flex-direction:column;min-width:0;display:flex}@media (width>=1024px){.st-split{gap:var(--space-lg);grid-template-columns:minmax(0,1fr) 320px;align-items:start}.st-split__main,.st-split__aside{gap:var(--space-lg)}.st-split__aside{top:var(--space-lg);position:sticky}}.st-hub>.panel,.st-split .panel{gap:var(--space-md);flex-direction:column;display:flex}.st-hub>.panel>.panel__header,.st-split .panel>.panel__header{margin-bottom:0}.st-break{overflow-wrap:anywhere;min-width:0}.st-link{font-weight:700}.st-live:empty{display:none}.st-live{gap:var(--space-sm);flex-direction:column;display:flex}.st-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.st-field-narrow{max-width:280px}.st-note{color:var(--color-ink-soft);align-items:flex-start;gap:8px;font-size:.9rem;line-height:1.45;display:flex}.st-note__icon{flex:none;margin-top:2px;display:inline-flex}.st-note--info .st-note__icon{color:var(--color-tile)}.st-note--warning{color:var(--color-butter-deep);font-weight:600}.st-note--danger{color:var(--color-cherry-deep);font-weight:600}.st-callouts{border-radius:var(--radius-md);background:var(--color-enamel-sunken);border:1px solid var(--color-line);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.st-callouts .st-note--info{color:var(--color-ink)}.st-avatar--lg{border-width:2px;width:56px;height:56px;font-size:1.2rem}.st-empty{border:1.5px dashed var(--color-line);border-radius:var(--radius-md);color:var(--color-ink-soft);flex-wrap:wrap;align-items:center;gap:12px;padding:16px;display:flex}.st-empty>svg{color:var(--color-ink-muted);flex:none}.st-empty>p{flex:220px}.st-empty__action{flex:none}#st-hid .copy-field__value{white-space:pre-wrap;overflow-wrap:anywhere}.st-subsection{padding-top:var(--space-md);border-top:1px solid var(--color-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.st-subsection--flush{border-top:0;padding-top:0}.st-subsection__text{flex:260px;min-width:0}.st-subsection__title{font-family:var(--type-label-family);margin-bottom:2px;font-size:1rem;font-weight:700;line-height:1.3}.st-bullets{color:var(--color-ink-soft);flex-direction:column;gap:10px;padding-left:1.1rem;font-size:.95rem;display:flex}.st-bullets li::marker{color:var(--color-line-strong)}.st-bullets strong{color:var(--color-ink)}.st-past{gap:var(--space-sm);flex-direction:column;display:flex}.st-disclosure{min-height:var(--space-control);border-radius:var(--radius-pill);color:var(--color-ink-soft);background:0 0;border:0;align-self:flex-start;align-items:center;gap:6px;margin-left:-10px;padding:0 12px 0 10px;font-size:.925rem;font-weight:700;display:inline-flex}.st-disclosure:hover{background:var(--color-tile-soft);color:var(--color-ink)}.st-disclosure__chevron{transition:transform var(--dur-fast) var(--ease-out)}.st-disclosure[aria-expanded=true] .st-disclosure__chevron{transform:rotate(180deg)}.st-nav{flex-direction:column;margin:-6px -10px;list-style:none;display:flex}.st-nav>li+li{border-top:1px solid var(--color-line)}.st-nav__link{border-radius:var(--radius-md);min-height:64px;color:var(--color-ink);transition:background-color var(--dur-fast) var(--ease-out);align-items:center;gap:14px;padding:10px;text-decoration:none;display:flex}a.st-nav__link:hover{background:var(--color-enamel-sunken);color:var(--color-ink)}a.st-nav__link:hover .st-nav__chevron{color:var(--color-ink);transform:translate(2px)}a.st-nav__link:active{background:var(--color-tile-soft)}.st-nav__link.is-disabled{cursor:not-allowed}.st-nav__link.is-disabled .st-nav__icon,.st-nav__link.is-disabled .st-nav__title{opacity:.55}.st-nav__icon{border-radius:var(--radius-md);background:var(--color-tile-soft);width:40px;height:40px;color:var(--color-tile);flex:none;place-items:center;display:grid}.st-nav__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.st-nav__title{font-weight:700;line-height:1.25}.st-nav__desc{color:var(--color-ink-muted);align-items:center;gap:5px;font-size:.875rem;line-height:1.35;display:inline-flex}.st-nav__desc svg{flex:none}.st-nav__chevron{color:var(--color-ink-muted);transition:transform var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);flex:none}.st-household-name{font-family:var(--type-headline-family);font-size:var(--type-headline-size);font-weight:var(--type-headline-weight);line-height:var(--type-headline-leading);overflow-wrap:anywhere}.st-inline-form{gap:var(--space-sm);flex-direction:column;display:flex}.st-inline-form__row{flex-wrap:wrap;align-items:flex-start;gap:0 12px;display:flex}.st-inline-form__field{flex:240px}.st-inline-form__submit{margin-top:calc(var(--type-label-size) * var(--type-label-leading) + 6px);flex:none}@media (width<=479px){.st-inline-form__submit{width:100%;margin-top:0}}.st-kv{border-top:1px solid var(--color-line);flex-direction:column;display:flex}.st-kv__row{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(96px,30%) minmax(0,1fr);gap:4px 16px;padding:12px 0;display:grid}.st-kv__row dt{font-weight:650;font-size:var(--type-label-size);color:var(--color-ink-soft);padding-top:2px}.st-kv__row dd{min-width:0}.st-role-line{flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.925rem;display:flex}.st-identity{border-radius:var(--radius-md);background:var(--color-enamel-sunken);border:1px solid var(--color-line);align-items:center;gap:16px;padding:16px;display:flex}.st-identity__text{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.st-identity__name{font-family:var(--type-headline-family);font-weight:var(--type-headline-weight);overflow-wrap:anywhere;font-size:1.2rem;line-height:1.2}.st-identity__email{color:var(--color-ink-soft);overflow-wrap:anywhere}.st-danger{border-radius:var(--radius-lg);border:1.5px solid color-mix(in srgb, var(--color-cherry) 45%, var(--color-line));background:var(--color-enamel);min-width:0;box-shadow:var(--shadow-enamel);padding:20px}.st-danger__header{color:var(--color-cherry-deep);align-items:center;gap:10px;margin-bottom:4px;display:flex}.st-danger__header .panel__title{color:var(--color-ink)}.st-danger__list{flex-direction:column;list-style:none;display:flex}.st-danger__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:16px 0;display:flex}.st-danger__row+.st-danger__row{border-top:1px solid var(--color-line)}.st-danger__row:last-child{padding-bottom:0}.st-danger__text{flex-direction:column;flex:320px;gap:4px;min-width:0;display:flex}.st-danger__title{overflow-wrap:anywhere;font-size:1rem;font-weight:700;line-height:1.3}.st-danger__text .muted{color:var(--color-ink-soft);font-size:.95rem}@media (width<=479px){.st-danger__row>.btn{width:100%}}.st-choices{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.st-choices>legend{margin-bottom:8px;padding:0}.st-choices__grid{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}@media (width>=480px){.st-choices__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}}.st-choice{min-height:var(--space-control);border:1.5px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-enamel);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);align-items:flex-start;gap:12px;padding:14px;display:flex;position:relative}.st-choice:hover{border-color:var(--color-ink-soft);background:var(--color-enamel-sunken)}.st-choice:has(.st-choice__input:checked){border-color:var(--color-rim);background:var(--color-pistachio-soft);border-width:2px;padding:13.5px}.st-choice:has(.st-choice__input:focus-visible){outline:3px solid var(--color-focus);outline-offset:2px}.st-choice:has(.st-choice__input:disabled){opacity:.45;cursor:not-allowed}.st-choice__input{appearance:none;border:2px solid var(--color-rim);background:var(--color-enamel);width:22px;height:22px;cursor:inherit;border-radius:50%;flex:none;place-content:center;margin:1px 0 0;display:grid}.st-choice__input:before{content:"";background:var(--color-rim);width:10px;height:10px;transition:transform var(--dur-fast) var(--ease-out);border-radius:50%;transform:scale(0)}.st-choice__input:checked:before{transform:scale(1)}.st-choice__input:focus-visible{outline:none}.st-choice__body{flex-direction:column;gap:3px;min-width:0;display:flex}.st-choice__title{align-items:center;gap:6px;font-weight:700;line-height:1.3;display:inline-flex}.st-choice__desc{color:var(--color-ink-soft);font-size:.875rem;line-height:1.4}.st-members{flex-direction:column;list-style:none;display:flex}.st-member{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"avatar text""controls controls";align-items:start;gap:10px 14px;padding:14px 0;display:grid}.st-member+.st-member{border-top:1px solid var(--color-line)}.st-member:first-child{padding-top:0}.st-member:last-child{padding-bottom:0}.st-member>.avatar{grid-area:avatar;width:44px;height:44px}.st-member__text{flex-direction:column;grid-area:text;gap:2px;min-width:0;display:flex}.st-member__name{flex-wrap:wrap;align-items:center;gap:4px 8px;font-weight:700;line-height:1.3;display:flex}.st-member__email{color:var(--color-ink-soft);font-size:.925rem}.st-member__meta{color:var(--color-ink-muted);font-size:.85rem}.st-member__controls{grid-area:controls;align-items:center;gap:8px;padding-left:58px;display:flex}.st-member__role{flex:auto;max-width:220px}.st-member__role .field__meta{display:none}.st-row-error{color:var(--color-cherry-deep);margin-top:4px;font-size:.9rem;font-weight:600}@media (width>=600px){.st-member{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"avatar text controls";align-items:center}.st-member__controls{padding-left:0}.st-member__role{width:160px}}.st-roles__list{flex-direction:column;gap:14px;display:flex}.st-roles__item{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.st-roles__item dd{color:var(--color-ink-soft);font-size:.925rem}.st-invites{flex-direction:column;list-style:none;display:flex}.st-invite,.st-key{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px 14px;padding:14px 0;display:grid}.st-invites>li+li{border-top:1px solid var(--color-line)}.st-invites>li:first-child{padding-top:0}.st-invites>li:last-child{padding-bottom:0}.st-invite>.btn,.st-key>.btn{grid-column:2;justify-self:start;margin-left:-12px}@media (width>=600px){.st-invite,.st-key{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.st-invite>.btn,.st-key>.btn{grid-column:3;margin-left:0}}.st-invite__icon{border-radius:var(--radius-md);background:var(--color-enamel-sunken);border:1px solid var(--color-line);width:40px;height:40px;color:var(--color-ink-soft);place-items:center;display:grid}.is-past .st-invite__icon{opacity:.6}.is-past .st-invite__title>span:first-child{color:var(--color-ink-soft)}.st-invite__text,.st-key__text{flex-direction:column;gap:3px;min-width:0;display:flex}.st-invite__title{flex-wrap:wrap;align-items:center;gap:4px 10px;font-weight:700;line-height:1.3;display:flex}.st-invite__meta{color:var(--color-ink-muted);font-size:.875rem}.st-invite__meta .mono{color:var(--color-ink-soft)}.st-key__id{color:var(--color-ink-soft);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.875rem;display:flex}.st-key__dates{flex-wrap:wrap;gap:2px 18px;margin-top:2px;font-size:.85rem;display:flex}.st-key__dates>div{gap:5px;display:flex}.st-key__dates dt{color:var(--color-ink-muted)}.st-key__dates dd{color:var(--color-ink-soft);font-weight:600}.st-secret{flex-wrap:wrap;align-items:flex-start;gap:0 10px;display:flex}.st-secret>.field{flex:260px}.st-secret__copy{margin-top:calc(var(--type-label-size) * var(--type-label-leading) + 6px);flex:none}.st-secret__copy .copy-btn{min-height:var(--space-control)}@media (width<=479px){.st-secret__copy{width:100%;margin-top:0}.st-secret__copy .copy-btn{width:100%}}.st-connect{gap:var(--space-lg);flex-direction:column;display:flex}.st-connect__block{flex-direction:column;gap:10px;min-width:0;display:flex}.st-connect__block+.st-connect__block{padding-top:var(--space-lg);border-top:1px solid var(--color-line)}.st-connect__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.st-tabs{flex-direction:column;gap:12px;min-width:0;display:flex}.st-tabs__list{align-self:flex-start}.st-tabs__list .segmented__item{min-height:40px}.st-tabs__panel{flex-direction:column;gap:12px;min-width:0;display:flex}.st-tabs__panel:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){.st-nav__chevron,.st-disclosure__chevron,.st-choice__input:before{transition:none}a.st-nav__link:hover .st-nav__chevron{transform:none}}@media (forced-colors:active){.st-choice:has(.st-choice__input:checked){border-color:highlight}.st-choice__input:before{background:canvastext}}.st-kv .st-link{min-height:var(--space-control);align-items:center;margin:-12px 0;display:inline-flex}.print-page{min-height:100dvh;padding:0 0 var(--space-xl);background:var(--color-page)}.print-toolbar{z-index:var(--z-sticky);padding:calc(8px + var(--safe-top)) 16px 8px;background:var(--color-page);border-bottom:1px solid var(--color-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex;position:sticky;top:0}.print-sheet{width:min(100% - 32px,820px);margin:var(--space-lg) auto 0;background:var(--color-enamel);border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:var(--shadow-enamel);color:var(--color-ink);padding:24px 20px;font-size:1rem;line-height:1.5}.print-sheet__head{border-bottom:var(--rim-width) solid var(--color-rim);grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:20px;padding-bottom:16px;display:grid}.print-sheet__title{font-family:var(--type-display-family);font-size:clamp(1.75rem,1.4rem + 1.6vw,2.5rem);font-weight:var(--type-display-weight);line-height:var(--type-display-leading);letter-spacing:-.02em}.print-sheet__title:focus{outline:none}.print-sheet__desc{max-width:62ch;color:var(--color-ink-soft);margin-top:8px}.print-sheet__facts{font-family:var(--type-mono-family);font-weight:var(--type-mono-weight);font-variant-numeric:tabular-nums;margin-top:10px;font-size:.925rem}.print-sheet__cats{color:var(--color-ink-soft);margin-top:4px;font-size:.9rem}.print-sheet__photo{border:1.5px solid var(--color-rim);border-radius:var(--radius-sm);width:160px;overflow:hidden}.print-sheet__cols{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}.print-sheet h2{font-family:var(--type-headline-family);font-size:1.2rem;font-weight:var(--type-headline-weight);margin-bottom:8px;line-height:1.25}.print-sheet h3{letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-soft);margin:12px 0 4px;font-size:.8rem;font-weight:700}.print-group+.print-group{margin-top:4px}.print-sheet section.print-group{margin-top:20px}.print-group ul,.print-group ol{padding-left:1.3em}.print-group ul{padding-left:0;list-style:none}.print-group ul li{border-bottom:1px solid var(--color-line);padding:4px 0}.print-group ul strong{font-family:var(--type-mono-family);font-variant-numeric:tabular-nums;font-weight:600}.print-group ol li{white-space:pre-wrap;padding:4px 0 6px 4px}.print-group ol li::marker{font-family:var(--type-display-family);font-weight:var(--type-display-weight)}.print-sheet__source{color:var(--color-ink-soft);overflow-wrap:anywhere;margin-top:20px;font-size:.875rem}.print-sheet__footer{border-top:1px solid var(--color-line);color:var(--color-ink-muted);margin-top:24px;padding-top:10px;font-size:.8rem}@media (width>=720px){.print-toolbar{padding-inline:24px}.print-sheet{padding:40px 48px}.print-sheet__head{grid-template-columns:minmax(0,1fr) auto;align-items:start}.print-sheet__cols{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:36px}}@media print{@page{margin:14mm 16mm}html,body{background:var(--color-enamel);color:var(--color-ink)}body{font-size:11pt;line-height:1.45}.sidebar,.topbar,.bottom-nav,.cooking-strip,.offline-slot,.skip-link,.print-toolbar,[data-sonner-toaster],.dialog,.dialog-backdrop,.tooltip{display:none!important}*,:before,:after{box-shadow:none!important;transition:none!important;animation:none!important}.app{display:block}.page{max-width:none;padding:0}a{color:var(--color-ink)}h1,h2,h3{break-after:avoid}li,.step,.ing,.recipe-note{break-inside:avoid}.print-page{background:0 0;min-height:0;padding:0}.print-sheet{border:0;border-radius:0;width:auto;margin:0;padding:0;font-size:11pt}.print-sheet__head{grid-template-columns:minmax(0,1fr) auto;align-items:start}.print-sheet__title{font-size:22pt}.print-sheet__photo{width:42mm}.print-sheet__cols{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:10mm}.print-sheet h2{font-size:13pt}.print-sheet__footer{break-before:avoid}.recipe-actions,.recipe-hero__rate,.trash-banner .row,.page-header__back{display:none!important}.recipe-hero{grid-template-columns:minmax(0,1fr) 42mm}.recipe-hero__visual{order:2}.recipe-body{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.recipe-ingredients{max-height:none;position:static;overflow:visible}.recipe-ingredients,.recipe-steps{border:0;padding:0}.cook{color:var(--color-ink);background:0 0}.cook-bar,.cook-panes-nav,.cook-note,.step-nav,.step-card__timers,.step-card__done,.cook-panel--timers{display:none!important}.cook-layout{padding:0;display:block}.cook-pane{display:block!important}.cook-title,.step-overview__title,.step-overview__item{color:var(--color-ink);border-color:var(--color-line);background:0 0}.step-card{border-width:1px}}
