@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/88da59c891d37117-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/36d711d427a06e51-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/f1f7cdf240180e28-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/55fbdf033607a0e1-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/9cf9c6e84ed13b5e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Source Sans\ 3 Fallback;src:local("Arial");ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.00%;size-adjust:93.76%}.__className_1fdbab{font-family:Source Sans\ 3,Source Sans\ 3 Fallback;font-style:normal}:root{color-scheme:light;--paper:#faf6f0;--card:#fffcf7;--ink:#2c2a28;--muted:#5c5854;--nav:#5b7c99;--nav-ink:#f5f0e8;--accent:#c46a4a;--accent-hover:#a8583c;--bean:#5b7c99;--bean-dark:#5b7c99;--line:#e4ddd4;--ok:#3d5a3c;--focus:#c46a4a;--err:#8a1f12;--card-shadow:0 1px 2px rgb(44 42 40/0.06),0 8px 22px rgb(44 42 40/0.07)}html[data-theme=dark]{--paper:#2a3340;--card:#334050;--ink:#f5f0e8;--muted:#c9c2b8;--nav:#5b7c99;--nav-ink:#f5f0e8;--accent:#c46a4a;--accent-hover:#d07a5c;--bean:#5b7c99;--bean-dark:#8fa8c2;--line:#3f4a58;--ok:#8fbc8f;--focus:#c46a4a;--err:#e08a7a;--card-shadow:0 1px 2px rgb(0 0 0/0.2),0 10px 24px rgb(0 0 0/0.28)}*{box-sizing:border-box}body,html{margin:0;padding:0}html{-webkit-text-size-adjust:100%;color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{font-family:inherit;background:var(--paper);color:var(--ink);line-height:1.45}body:has(.stovfam-splash){background:#0a0a0a}a{color:var(--bean-dark)}a:hover{text-decoration-thickness:2px}:focus{outline:none}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.beans-skip{position:absolute;left:.75rem;top:.75rem;z-index:200;padding:.55rem .85rem;background:var(--nav);color:var(--nav-ink);border-radius:8px;transform:translateY(-200%);font-weight:700;text-decoration:none}.beans-skip:focus,.beans-skip:focus-visible{transform:none;outline:3px solid var(--accent);outline-offset:3px}.top{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.2rem .5rem;padding:max(.35rem,env(safe-area-inset-top)) .6rem .45rem;background:var(--nav);color:var(--nav-ink);position:-webkit-sticky;position:sticky;top:0;z-index:50;box-shadow:none}.top a,.top button{color:var(--nav-ink);text-decoration:none}.top a:focus-visible,.top button:focus-visible{outline:3px solid #f5f0e8;outline-offset:2px}.brand{font-weight:700;font-size:1.3rem;letter-spacing:.02em;display:inline-flex;min-height:44px;padding:.25rem .5rem}.brand,.top nav{align-items:center}.top nav{display:flex;flex-wrap:wrap;gap:.1rem;flex:1 1 16rem;min-width:0}.top .linkish,.top nav a{display:inline-flex;align-items:center;min-height:44px;padding:.35rem .65rem;font-size:1.05rem;font-weight:600;border-radius:8px}.top nav a[aria-current=page]{background:transparent;box-shadow:inset 0 -2px 0 var(--accent)}.top nav form{margin:0}.linkish{background:none;border:0;cursor:pointer;font:inherit;padding:0;color:inherit}@media (max-width:430px){.top nav{flex:1 1 100%}}.wrap{max-width:42rem;margin:0 auto;padding:1.15rem 1rem max(5rem,env(safe-area-inset-bottom))}.wrap>div>h1:first-child,.wrap>h1:first-child{font-size:1.7rem;line-height:1.2;margin:0 0 .4rem;overflow-wrap:anywhere}.wrap h2{font-size:1.12rem;line-height:1.25;margin:1.55rem 0 .5rem;color:var(--bean-dark)}.page-lead{margin:0 0 1.1rem}#main,#password,#recipe,#typed-recipe-form{scroll-margin-top:5.5rem}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;margin:.75rem 0}.recipe-card{box-shadow:var(--card-shadow)}.recipe-card-head{display:flex;gap:.85rem;align-items:flex-start;margin-bottom:.35rem}.recipe-card-title{flex:1 1;min-width:0}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .45rem}.chip{display:inline-flex;align-items:center;min-height:1.6rem;padding:.15rem .55rem;border:1px solid var(--line);border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.recipe-hero{display:block;width:5.5rem;height:5.5rem;flex:0 0 5.5rem;object-fit:cover;margin:0;border-radius:12px;background:var(--line)}.recipe-card h1{font-size:1.85rem;line-height:1.2;margin:0 0 .45rem;overflow-wrap:anywhere}.recipe-card h2{font-size:.92rem;margin:0 0 .55rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bean-dark);border-bottom:2px solid var(--line);padding-bottom:.28rem}.recipe-block{margin-top:1.5rem}.ingredients,.steps{padding-left:1.45rem;font-size:1.2rem;line-height:1.5;margin:0}.ingredients{column-count:2;column-gap:1.15rem}.ing-qty{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:360px){.ingredients{column-count:1}}.ingredients li,.steps li{margin:.55rem 0;overflow-wrap:anywhere;page-break-inside:avoid;break-inside:avoid}.steps li{margin:.7rem 0;padding-left:.15rem}.ing-qty{font-weight:700;color:var(--bean-dark)}.meta,.source{color:var(--muted);font-size:.95rem;overflow-wrap:anywhere;word-break:break-word}.source{margin:1.75rem 0 0;padding-top:1rem;border-top:2px solid var(--line)}.source a{font-weight:600}.callout{padding:.7rem .85rem;border-radius:10px;border:1px solid var(--line);font-size:1.08rem}.callout,.prep{background:var(--card);color:var(--ink)}.prep{font-size:1.2rem;line-height:1.45;margin:0;padding:.85rem 1rem;border-radius:10px;border-left:4px solid var(--accent);overflow-wrap:anywhere}.prep-kicker{display:block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bean-dark);margin-bottom:.3rem}.review{margin:0;font-size:1.15rem}.review button[aria-pressed]{width:auto;text-align:left}.review label{display:flex;align-items:flex-start;gap:.7rem;min-height:44px;cursor:pointer;line-height:1.35}.check-label input[type=checkbox],.folder-pick input[type=checkbox],.review input[type=checkbox]{width:1.55rem;height:1.55rem;min-width:1.55rem;flex-shrink:0;accent-color:var(--accent);margin-top:.12rem}.grocery-card{margin:.55rem 0;padding:0;display:flex;align-items:stretch}.grocery-toggle{flex:1 1;min-width:0}.grocery-remove{display:flex;align-items:center;padding:0 .65rem 0 0}.grocery-share{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .85rem}.grocery-print-list{display:none}.grocery-page h1{font-size:2.05rem}.grocery-page .callout,.grocery-page .page-lead,.grocery-page>.small{font-size:1.12rem;line-height:1.4}.grocery-page h2{font-size:1.28rem}.store-grid{list-style:none;padding:0;margin:.75rem 0 0;display:grid;grid-template-columns:1fr 1fr;grid-gap:.55rem;gap:.55rem}.store-grid li{margin:0}.store-grid a{display:flex;align-items:center;min-height:44px;padding:.65rem .75rem;background:var(--card);border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);font-weight:700;font-size:1.08rem}.store-grid .small{display:block;margin:.25rem .15rem .15rem;font-size:.88rem}.grocery-row{display:flex;align-items:center;gap:.9rem;min-height:3.9rem;padding:1rem 1.15rem;width:100%;cursor:pointer;font-size:1.38rem;font-weight:700;line-height:1.3}.grocery-row input[type=checkbox]{width:1.85rem;height:1.85rem;min-width:1.85rem;flex-shrink:0;accent-color:var(--accent)}.grocery-qty{display:block;margin-top:.15rem;font-size:1.05rem;font-weight:600;color:var(--muted)}.check-label{display:flex;align-items:center;gap:.75rem;min-height:44px;cursor:pointer;font-weight:600}.doors{display:grid;grid-template-columns:1fr 1fr;grid-gap:.55rem;gap:.55rem;margin:0 0 1.15rem}.doors a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:3.15rem;padding:.65rem .7rem;background:var(--card);border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);font-size:1.08rem;font-weight:700}.doors a:nth-child(5){grid-column:1/-1}.recipe-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:0 0 .75rem}.recipe-actions>form:first-child{flex:1 0 100%}.recipe-actions>form:first-child .btn{width:100%}.danger-card>summary.danger-summary{list-style:none;cursor:pointer;font-weight:700;min-height:44px;display:inline-flex;align-items:center;background:var(--err);color:#fff;border-radius:10px;padding:.7rem 1.05rem}.danger-card>summary.danger-summary::-webkit-details-marker{display:none}.danger-card[open]>summary.danger-summary{margin-bottom:.65rem}.share-details{position:relative}.share-details>summary{list-style:none;display:inline-flex;align-items:center;min-height:44px;padding:.35rem .5rem;border-radius:8px;background:transparent;border:0;color:var(--muted);cursor:pointer;font-weight:600;text-decoration:underline;text-underline-offset:3px}.share-details>summary::-webkit-details-marker{display:none}.share-sheet-mask{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;background:rgb(42 51 64/.45)}.share-sheet{width:min(100% - 1rem,26rem);max-width:100%;margin:0 .5rem;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));border:0;border-radius:16px 16px 0 0;background:var(--card);color:var(--ink)}.share-sheet h2{margin:0 0 .35rem}.share-apps{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.5rem;gap:.5rem;margin:.85rem 0}.share-sheet a.share-app,.share-sheet button.share-app{display:flex;align-items:center;justify-content:center;text-decoration:none;background:var(--paper);color:var(--ink);font-weight:700}.share-sheet button.share-app:hover{background:var(--line)}.method-form{margin:.35rem 0 .25rem}.method-form label{margin-top:0}.folder-pick{display:flex;flex-wrap:wrap;gap:.45rem .85rem}.folder-pick label{width:auto;display:flex;gap:.4rem;align-items:center;margin:0;font-weight:500;min-height:44px}.folder-pick input{width:auto}.danger-card h2{margin-top:0}.search{width:100%;font:inherit;font-size:1.1rem;padding:.75rem .9rem;border-radius:12px;border:1px solid var(--line);background:var(--card)}.grid{display:grid;grid-gap:.6rem;gap:.6rem}.folder{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem;text-decoration:none;color:var(--ink);font-size:1.15rem;min-height:44px;overflow-wrap:anywhere}.folder:hover{border-color:var(--nav)}.folder-picker{margin:0 0 1rem}.folder-select-wrap{display:flex;flex-direction:column;gap:.3rem;margin:0 0 .65rem}.folder-select-label{font-weight:700}.folder-tabs{display:flex;gap:.15rem .35rem;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:.15rem 0 .35rem}.folder-tabs a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;padding:.25rem .45rem;color:var(--ink);text-decoration:none;font-weight:600;border-radius:0;box-shadow:none;background:transparent}.folder-tabs a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--accent);color:var(--ink)}.row{display:flex;gap:.55rem;flex-wrap:wrap;align-items:flex-end}.row>*{min-width:0}.row input,.row select,.row textarea{width:auto;flex:1 1 10rem}.row button{flex:0 1 auto}.row label{flex:1 1 8rem;margin:0}.row form{display:flex;flex-wrap:wrap;gap:.55rem;align-items:flex-end;flex:1 1 12rem;margin:0}.choice-row{display:flex;flex-wrap:wrap;gap:.45rem .85rem;margin-top:.15rem}.choice-row label{width:auto;display:flex;gap:.4rem;align-items:center;margin:0;font-weight:500;min-height:44px}.choice-row input{width:auto}.btn,button:not(.linkish):not(.quiet):not(.share-app){font:inherit;border-radius:10px;padding:.7rem 1.05rem;min-height:44px;cursor:pointer;font-weight:700;white-space:normal;line-height:1.2}.btn,button:not(.linkish):not(.quiet):not(.share-app):not(.secondary):not(.danger){background:var(--accent);color:#f5f0e8;border:0}.btn:hover,button:not(.linkish):not(.quiet):not(.share-app):not(.secondary):not(.danger):hover{background:var(--accent-hover)}.btn:disabled,button:not(.linkish):not(.quiet):not(.share-app):disabled{opacity:.55;cursor:wait}button.secondary{background:var(--card);color:var(--ink);border:2px solid var(--line)}button.secondary:hover{background:var(--paper)}button.danger:not(.linkish){background:var(--err);color:#f5f0e8;border:0}button.danger:not(.linkish):hover{background:#6e160d}.quiet-link,button.quiet{font:inherit;background:transparent;color:var(--muted);border:0;border-radius:8px;padding:.35rem .5rem;min-height:44px;cursor:pointer;font-weight:600;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center}.quiet-link:hover,button.quiet:hover{background:transparent;color:var(--ink)}.linkish.danger{background:transparent;color:var(--muted);font-weight:700;min-height:44px;padding:.35rem .4rem;text-decoration:underline}label{display:block;font-weight:700;margin:.75rem 0 .3rem}.field{margin:0 0 .15rem}.help{display:block;font-weight:400;margin:.15rem 0 .4rem}fieldset.plain{border:0;padding:0;margin:0 0 1.15rem}fieldset.plain legend{font-weight:700;padding:0}input,select,textarea{font:inherit;padding:.65rem .75rem;border-radius:10px;border:1px solid var(--line);width:100%;background:var(--card);color:var(--ink);max-width:100%}input[type=file]{padding:.35rem 0}.textarea-tall{min-height:8.5rem}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-color:var(--bean-dark)}[aria-invalid=true]{border-color:var(--err);box-shadow:0 0 0 1px var(--err)}.form-block{margin-top:1.75rem;padding-top:1.35rem;border-top:2px solid var(--line)}.form-block h2{margin-top:0}.field-gap{margin-bottom:1.15rem}.login-card{margin-top:3rem}.login-card h1{margin-top:0}.messages{display:flex;flex-direction:column;gap:.6rem}.bubble{padding:.75rem .9rem;border-radius:12px;white-space:pre-wrap;max-width:100%;font-size:1.08rem;line-height:1.45}.bubble,.bubble a{overflow-wrap:anywhere;word-break:break-word}.bubble a{font-weight:700}.bubble.user{background:var(--line);align-self:flex-end;max-width:92%}.bubble.assistant{background:var(--card);border:1px solid var(--line)}.chat-form{position:-webkit-sticky;position:sticky;top:3.15rem;z-index:40;background:var(--paper);padding:.5rem 0 .85rem;margin:0 0 .75rem;box-shadow:0 8px 10px -8px rgb(42 31 22/.18)}.chat-tips{padding-left:1.2rem;margin-top:0}.item{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;flex-wrap:wrap}.item .row{flex:1 1 12rem}.qty-narrow{width:5.5rem;max-width:100%;flex:0 1 5.5rem}.strike{text-decoration:line-through;color:var(--muted)}.err{color:var(--err);font-weight:700}.small{color:var(--muted);font-size:.95rem}.actions{flex-wrap:wrap;gap:.5rem}.actions,.stovfam-splash{display:flex;align-items:center}.stovfam-splash{position:fixed;inset:0;z-index:20;justify-content:center;background:linear-gradient(135deg,#0a0a0a,#1a1a1a 25%,#2d2319 50%,#1a1a1a 75%,#0a0a0a);color:#fff;text-align:center;padding:20px}.stovfam-splash .container{max-width:500px}.stovfam-splash .mark{display:inline-block;font-size:3.5rem;font-weight:300;margin:0 0 1rem;letter-spacing:.15em;background:linear-gradient(135deg,#d4af37,#f4e4a6 25%,#d4af37 50%,#b8962e 75%,#d4af37);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none;cursor:pointer;border:0;font-family:inherit}.stovfam-splash .mark:focus,.stovfam-splash .mark:focus-visible{outline:3px solid #f4e4a6;outline-offset:8px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.stovfam-splash .splash-discover{position:absolute;left:0;right:0;bottom:1.25rem;font-size:.95rem}.stovfam-splash .splash-discover a{color:#f4e4a6}.suggestion-box{margin-top:2.25rem}.suggestion-box h2{margin-top:0}.idea-list{list-style:none;padding:0;margin:0}.idea-mood textarea{min-height:4rem}.idea-recipe-list{padding:0 0 0 1.4rem;margin:.35rem 0 0}.idea-recipe-list li{margin:.35rem 0}.idea-jump{display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin:0 0 1rem}.idea-jump a{font-size:.95rem}.idea-folder>summary{cursor:pointer;list-style:none}.idea-folder>summary::-webkit-details-marker{display:none}.idea-folder>summary h2{margin:0}.idea-mood-group h3{margin:1rem 0 .35rem}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));grid-gap:.75rem;gap:.75rem;margin:.75rem 0 0}.dash-stat{margin:0}.dash-stat strong{display:block;font-size:1.75rem;line-height:1.1}.user-table{width:100%;border-collapse:collapse}.user-table td,.user-table th{text-align:left;padding:.4rem .5rem .4rem 0;vertical-align:top}.board-kanban{display:grid;grid-gap:.75rem;gap:.75rem;margin:.75rem 0 0}@media (min-width:40rem){.board-kanban{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}.board-col{border:1px solid var(--line);border-radius:10px;padding:.75rem;background:var(--card)}.board-col h3{margin:0 0 .5rem;font-size:1rem}.board-card{margin:0 0 .75rem;padding:.6rem 0 0;border-top:1px solid var(--line,#e4d6c8)}.board-card h4{margin:0 0 .35rem;font-size:1rem}.board-add{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--line,#e4d6c8)}@media print{.beans-skip,.chat-form,.grocery-card,.grocery-stores,.no-print,.review,.suggestion-box,.top,button,form,nav{display:none!important}.wrap{max-width:none;padding:0}.recipe-card{border:0}.recipe-hero{height:5.5rem;width:5.5rem;margin:0 0 .75rem;border-radius:8px}.grocery-print-list{display:block;white-space:pre-wrap;font:inherit;font-size:1.15rem;line-height:1.45;margin:0}body{background:#fff}}