@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-ext-400-normal-DRk46D-x.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-400-normal-Bbz-b3yf.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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.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}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-ext-700-normal-BoVPHkS0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-700-normal-CKkU2Dpt.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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f6f6f3;--surface:#fff;--surface-muted:#f0f2ee;--text:#1d2420;--muted:#59615c;--border:#dcdfda;--border-strong:#c9cec8;--divider:#e4e6e1;--accent:#2e6a4f;--accent-hover:#1f4d38;--on-accent:#fff;--link:#2e6a4f;--link-hover:#1f4d38;--plan-bg:#fbeadc;--plan-fg:#8a3a0c;--chip-bg:#e3eee7;--chip-fg:#1f4d38;--danger:#b42318;--danger-bg:#fdecea;--notice-bg:#1d2420;--notice-fg:#fff;--notice-action-bg:#7fc4a0;--notice-action-fg:#10241a;--font:"Atkinson Hyperlegible", system-ui, sans-serif;--font-mono:ui-monospace, Menlo, Consolas, monospace;--touch:44px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#141815;--surface:#1e2420;--surface-muted:#2c332e;--text:#ecefea;--muted:#a9b3ac;--border:#2c332e;--accent:#7fc4a0;--accent-hover:#a6ddbf;--on-accent:#10241a;--link:#7fc4a0;--link-hover:#a6ddbf;--border-strong:#3d4640;--divider:#2c332e;--plan-bg:#3d2a1c;--plan-fg:#f4bf98;--chip-bg:#24382d;--chip-fg:#a6ddbf;--danger:#f28b82;--danger-bg:#3b1f1c;--notice-bg:#ecefea;--notice-fg:#141815;--notice-action-bg:#2e6a4f;--notice-action-fg:#fff}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);margin:0;font-size:17px;line-height:1.45}a{color:var(--link)}a:hover{color:var(--link-hover)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}h1{letter-spacing:-.01em;margin:0 0 12px;font-size:26px;font-weight:700;line-height:1.2}p{margin:0}code{font-family:var(--font-mono)}.muted{color:var(--muted);font-size:15px}.stack{flex-direction:column;gap:16px;display:flex}.app{flex-direction:column;min-height:100dvh;display:flex}.page{flex-direction:column;gap:12px;width:100%;max-width:720px;margin:0 auto;padding:18px 20px 32px;display:flex}.nav{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px;display:flex;position:sticky;top:0}.nav-items{scrollbar-width:none;flex:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.nav-item{min-height:var(--touch);color:var(--text);white-space:nowrap;border-radius:22px;flex:none;align-items:center;padding:0 12px;font-size:15px;text-decoration:none;display:inline-flex}.nav-item:hover{color:var(--text);background:var(--surface-muted)}.nav-sign-in{color:var(--link);font-weight:700}.nav-item[aria-current=page]{background:var(--accent);color:var(--on-accent);font-weight:700}.nav-account{width:var(--touch);height:var(--touch);background:var(--surface-muted);color:var(--text);border-radius:22px;flex:none;justify-content:center;align-items:center;display:flex}.nav-account:hover{color:var(--text)}.nav-account[aria-current=page]{background:var(--accent);color:var(--on-accent)}.button{border:1px solid var(--border-strong);background:var(--surface);min-height:48px;color:var(--text);font:inherit;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;padding:0 16px;font-size:16px;font-weight:700;text-decoration:none;display:flex}.button:hover{color:var(--text);border-color:var(--muted)}.button-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.button-primary:hover{border-color:var(--accent-hover);background:var(--accent-hover);color:var(--on-accent)}.button:disabled{cursor:default;opacity:.6}.button-small{min-height:var(--touch);border-radius:12px;flex:none;padding:0 14px;font-size:15px;font-weight:400}.card{background:var(--surface);border-radius:16px;padding:18px 16px}.badge{background:var(--surface-muted);color:var(--text);border-radius:8px;padding:4px 10px;font-size:15px;font-weight:700;display:inline-block}.badge-editor{background:var(--chip-bg);color:var(--chip-fg)}.account-details{flex-direction:column;gap:14px;margin:0;display:flex}.account-details dt{color:var(--muted);font-size:14px}.account-details dd{margin:4px 0 0}.account-id{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.account-id code{background:var(--surface-muted);overflow-wrap:anywhere;border-radius:10px;flex:1;min-width:0;padding:10px 12px;font-size:14px}.copy-status{color:var(--muted);flex-basis:100%;font-size:14px}.copy-status:empty{display:none}.account-footer{margin-top:12px}.prose{flex-direction:column;gap:18px;display:flex}.prose h1{margin:0 0 6px}.prose h2{margin:0 0 6px;font-size:20px;line-height:1.25}.link-button{min-height:var(--touch);vertical-align:middle;color:var(--link);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;margin:-12px 0;padding:0 4px;text-decoration:underline;display:inline-flex}.link-button:hover{color:var(--link-hover)}.page:has(>.recipe-list-page){max-width:1100px}.recipe-list-page{flex-direction:column;gap:12px;display:flex}.page-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.page-header h1{margin:0}.add-recipe{min-height:var(--touch);background:var(--accent);color:var(--on-accent);border-radius:22px;flex:none;align-items:center;gap:6px;padding:0 16px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.add-recipe:hover{background:var(--accent-hover);color:var(--on-accent)}.search-box{background:var(--surface);border:1px solid var(--border-strong);height:48px;color:var(--muted);border-radius:12px;align-items:center;gap:10px;padding:0 14px;display:flex}.search-box:focus-within{border-color:var(--accent);outline:3px solid var(--accent);outline-offset:1px}.search-box input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:17px}.tag-chips{scrollbar-width:none;gap:8px;margin:2px -20px 0;padding:0 20px 4px;display:flex;overflow-x:auto}.chip{border:1px solid var(--border-strong);background:var(--surface);min-height:40px;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:20px;flex:none;padding:0 14px;font-size:15px}.chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:700}.results-summary{color:var(--muted);font-size:14px}.results-summary:empty{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.inline-retry{font-size:14px}.recipe-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.recipe-list[aria-busy=true]{opacity:.6}.recipe-card{background:var(--surface);color:var(--text);border-radius:14px;align-items:center;gap:14px;padding:10px;text-decoration:none;display:flex}.recipe-card:hover{color:var(--text);background:var(--surface-muted)}.thumb{object-fit:cover;background:var(--surface-muted);border-radius:10px;flex:none;width:64px;height:64px;display:block}.recipe-card-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.recipe-card-name{overflow-wrap:anywhere;font-size:18px;font-weight:700}.recipe-card-meta{color:var(--muted);overflow-wrap:anywhere;font-size:14px}.to-make-badge{background:var(--plan-bg);color:var(--plan-fg);white-space:nowrap;border-radius:8px;flex:none;align-items:center;gap:4px;padding:4px 8px;font-size:13px;font-weight:700;display:inline-flex}@media (width>=700px){.tag-chips{flex-wrap:wrap;margin:2px 0 0;padding:0;overflow-x:visible}.recipe-list{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;display:grid}.recipe-card{border-radius:16px;flex-direction:column;align-items:stretch;gap:0;height:100%;padding:0;overflow:hidden}.recipe-card .thumb{border-radius:0;width:100%;height:130px}.recipe-card-text{padding:12px 14px 14px}.recipe-card .to-make-badge{align-self:flex-start;margin:-6px 14px 14px}}.recipe-view,.recipe-side,.recipe-main{flex-direction:column;gap:22px;display:flex}.recipe-photo{object-fit:cover;background:var(--surface-muted);width:calc(100% + 40px);height:230px;margin:-18px -20px 0;display:block}.recipe-header{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.recipe-header h1{overflow-wrap:anywhere;margin:0;font-size:32px;line-height:1.15}.recipe-time{color:var(--muted);align-items:center;gap:6px;font-size:16px;display:flex}.recipe-tags{flex-direction:column;gap:10px;width:100%;display:flex}.tag-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tag{background:var(--chip-bg);min-height:34px;color:var(--chip-fg);overflow-wrap:anywhere;border-radius:17px;align-items:center;padding:0 12px;font-size:15px;display:inline-flex}.tag-suggestions .chip{min-height:var(--touch)}.text-input{min-width:0;min-height:var(--touch);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;border-radius:12px;flex:1;padding:0 12px;font-size:17px}.tag-suggestions{flex-wrap:wrap;gap:8px;display:flex}.form-error{background:var(--danger-bg);color:var(--danger);border-radius:10px;padding:8px 12px;font-size:15px}.recipe-actions{flex-direction:column;gap:10px;padding:16px;display:flex}.button.cooked-today[aria-disabled=true]{border-color:var(--chip-bg);background:var(--chip-bg);color:var(--chip-fg);cursor:default}.on-plan{background:var(--plan-bg);min-height:48px;color:var(--plan-fg);border-radius:14px;justify-content:space-between;align-items:center;gap:8px;padding:0 6px 0 14px;font-size:16px;font-weight:700;display:flex}.on-plan-remove{color:var(--plan-fg);margin:0;padding:0 8px;font-size:15px;font-weight:400}.on-plan-remove:hover{color:var(--plan-fg)}.cook-summary{color:var(--muted);margin-top:4px;font-size:15px}.history-toggle{font-weight:700}.cook-history{color:var(--muted);margin:0;padding:0 0 0 20px;font-size:15px}.section-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.section-header h2{margin:0;font-size:22px}.ingredients,.steps{margin:0;padding:0;list-style:none}.ingredients li{border-bottom:1px solid var(--divider)}.ingredient{overflow-wrap:anywhere;cursor:pointer;align-items:center;gap:14px;min-height:48px;padding:4px 0;font-size:19px;line-height:1.35;display:flex}.ingredient input{width:24px;height:24px;accent-color:var(--accent);flex:none;margin:0}.ingredient.ticked span,.step.ticked .step-text{color:var(--muted)}.ingredient.ticked span{text-decoration:line-through}.steps{flex-direction:column;gap:12px;display:flex}.step{align-items:flex-start;gap:8px;display:flex}.step-number{width:var(--touch);height:var(--touch);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin-top:-4px;padding:0;display:flex}.step-number>span{background:var(--text);width:34px;height:34px;color:var(--bg);border-radius:17px;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.step-number[aria-pressed=true]>span{background:var(--accent);color:var(--on-accent)}.step-text{overflow-wrap:anywhere;font-size:19px;line-height:1.45}.recipe-bottom-actions{border-top:1px solid var(--border);gap:10px;padding-top:8px;display:flex}.recipe-bottom-actions .button{flex:1}.button.button-delete{color:var(--danger);background:0 0;border-color:#0000;font-weight:400}.button.button-delete:hover{background:var(--danger-bg);color:var(--danger);border-color:#0000}.notice-region{left:16px;right:16px;bottom:calc(28px + env(safe-area-inset-bottom,0px));z-index:10;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed}.notice{background:var(--notice-bg);width:100%;max-width:560px;color:var(--notice-fg);pointer-events:auto;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 18px;display:flex;box-shadow:0 6px 20px #0000002e}.notice-text{overflow-wrap:anywhere;font-size:16px}.notice-action{min-height:var(--touch);background:var(--notice-action-bg);color:var(--notice-action-fg);font:inherit;white-space:nowrap;cursor:pointer;border:0;border-radius:10px;flex:none;align-items:center;padding:0 18px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.notice-action:hover{color:var(--notice-action-fg)}.notice :focus-visible{outline-color:var(--notice-action-bg)}.notice-action[aria-disabled=true]{cursor:default;opacity:.7}.app:has(.notice) .page{padding-bottom:110px}.offline-banner{background:var(--surface-muted);color:var(--text);border-bottom:1px solid var(--border);text-align:center;margin:0;padding:8px 16px;font-size:15px}.trash-page{flex-direction:column;gap:12px;display:flex}.trash-page h1{margin:0}.trash-list{flex-direction:column;gap:10px;margin:4px 0 0;padding:0;list-style:none;display:flex}.trash-entry{background:var(--surface);border-radius:14px;align-items:center;gap:14px;padding:10px;display:flex}.trash-entry .thumb{opacity:.75;width:56px;height:56px}.trash-entry .recipe-card-name{font-size:17px}.button.trash-restore{border-color:var(--accent);color:var(--link);border-radius:22px;font-weight:700}.button.trash-restore:hover{border-color:var(--accent-hover);color:var(--link-hover)}.plan-page,.rediscover-page{flex-direction:column;gap:12px;display:flex}.list-page-header h1{margin:0}.list-page-header p{margin:6px 0 0;font-size:15px}.list-page-header.with-action,.heading-with-action{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.list-page-heading{min-width:0}.pill-button{min-height:var(--touch);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:22px;flex:none;align-items:center;gap:8px;padding:0 14px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.pill-button:hover{border-color:var(--muted);color:var(--text)}button.pill-button{cursor:pointer;font-family:inherit}button.pill-button:disabled{opacity:.6;cursor:default}.sent-link{background:var(--chip-bg);color:var(--chip-fg);border-radius:12px;flex-direction:column;gap:8px;margin-top:14px;padding:12px 14px;display:flex}.list-page-header .sent-link p{margin:0;font-size:15px;line-height:1.4}.sent-link-address{align-items:center;gap:10px;min-width:0;display:flex}.sent-link-address code{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:inherit;flex:1;font-size:13px;overflow:hidden}.sent-link .link-button{color:inherit;flex:none;margin:0;padding:0 8px;font-size:15px;font-weight:700}.list-page-header .sent-link-copied{font-size:14px}.shared-list-empty{text-align:center;color:var(--muted);margin:0;padding:24px 16px;font-size:17px}.list-page-header .shared-list-stale{color:var(--danger);margin-top:8px;font-size:14px}.list-page-header .shared-list-until{margin-top:4px}.shopping-page{flex-direction:column;gap:12px;display:flex}.back-link{min-height:var(--touch);align-items:center;gap:4px;margin-left:-4px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.shopping-items{background:var(--surface);border-radius:16px;margin:0;padding:4px 16px;list-style:none}.shopping-items li+li{border-top:1px solid var(--divider)}.shopping-item{cursor:pointer;align-items:center;gap:14px;min-height:48px;padding:6px 0;display:flex;position:relative}.shopping-item input{width:24px;height:24px;accent-color:var(--accent);flex:none;margin:0}.shopping-item-text{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.shopping-item-name{font-size:18px;line-height:1.3}.shopping-item-recipe{color:var(--muted);font-size:14px}.shopping-item.ticked .shopping-item-name{color:var(--muted);text-decoration:line-through}.entry-cards{flex-direction:column;gap:10px;margin:4px 0 0;padding:0;list-style:none;display:flex}.entry-cards[hidden]{display:none}.entry-card{background:var(--surface);border-radius:14px;align-items:center;gap:14px;padding:10px;display:flex}.entry-card-link{min-width:0;color:var(--text);flex:1;align-items:center;gap:14px;text-decoration:none;display:flex}.entry-card-link:hover{color:var(--text)}.entry-card-link:hover .recipe-card-name{text-decoration:underline}.rediscover-entry .thumb{width:56px;height:56px}.round-button{width:var(--touch);height:var(--touch);border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:22px;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.round-button:hover{border-color:var(--border-strong);background:var(--surface-muted);color:var(--text)}.round-button:disabled{cursor:default;opacity:.5}.cooked-ago{white-space:nowrap;flex:none;font-size:15px;font-weight:700}.ago-new{color:var(--plan-fg)}.ago-old{color:var(--text)}.ago-recent{color:var(--muted)}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:48px 20px;display:flex}.empty-state h1,.empty-state h2{margin:0;font-size:21px}.empty-state p{max-width:32ch;margin:0;font-size:17px;line-height:1.45}.empty-state .button{border-radius:24px;padding:0 22px}.empty-state-icon{background:var(--plan-bg);width:72px;height:72px;color:var(--plan-fg);border-radius:36px;justify-content:center;align-items:center;display:flex}.empty-state-icon-quiet{background:var(--surface-muted);color:var(--muted)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.top-bar-slot{z-index:10;position:sticky;top:0}.form-bar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.form-bar h1{text-align:center;margin:0;font-size:18px}.form-bar-cancel{min-height:var(--touch);color:var(--link);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 10px;font-size:16px}.form-bar-cancel[aria-disabled=true]{cursor:default;opacity:.6}.form-bar-save{min-height:var(--touch);background:var(--accent);color:var(--on-accent);font:inherit;cursor:pointer;border:0;border-radius:22px;padding:0 18px;font-size:16px;font-weight:700}.form-bar-save:hover{background:var(--accent-hover)}.form-bar-save:disabled{cursor:default;opacity:.6}.discard-confirm{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px;font-weight:700;display:flex}.discard-actions{gap:8px;display:flex}.button-danger{border-color:var(--danger);color:var(--danger)}.button-danger:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-bg)}.recipe-form-page,.recipe-form,.form-fields{flex-direction:column;gap:24px;display:flex}.form-fields,.field:is(fieldset){border:0;min-width:0;margin:0;padding:0}.form-summary{background:var(--danger-bg);color:var(--danger);border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;font-size:15px;display:flex}.field{flex-direction:column;gap:8px;display:flex}.field-title{margin:0 0 2px;padding:0;font-size:15px;font-weight:700;display:block}.field-error{color:var(--danger);font-size:14px}.field-hint{color:var(--muted);font-size:13px}.text-input[aria-invalid=true]{border:2px solid var(--danger)}.recipe-form .text-input{min-height:48px}.text-area{resize:vertical;width:100%;min-height:48px;padding:10px 12px;line-height:1.4}.entries-input{min-height:calc(7em + 22px)}.time-input{flex:none;align-self:flex-start;width:120px}.photo-field{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.photo-preview{object-fit:cover;background:var(--surface-muted);border-radius:12px;flex:none;width:88px;height:88px;display:block}.file-button{position:relative}.file-button:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}@media (width>=900px){.page:has(>.recipe-view){max-width:1100px}.recipe-view{grid-template-columns:minmax(320px,400px) 1fr;align-items:start;gap:36px;display:grid}.recipe-side{gap:16px}.recipe-photo{border-radius:14px;width:100%;height:160px;margin:0}.recipe-header h1{font-size:30px}.recipe-main .section-header h2{font-size:24px}.steps{gap:16px}.step-text{font-size:22px}}
