@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/ce8a6a6ec0eee886-s.2bga8_3fzdhqy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/a443d5c52df8e490-s.3p6mwclgqq98y.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/5b60d509c1329d75-s.0xw5l_ow574pp.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/4be4b3a9430f5659-s.2ylsvo0hfvz-l.woff2)format("woff2");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:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/8920f8cfecaa0743-s.0s575wi635so2.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/26eadd648e5c6f5a-s.p.055olt4vz3r9z.woff2)format("woff2");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:"Source Serif 4 Fallback";src:local(Times New Roman);ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.0%;size-adjust:117.91%}.source_serif_4_6604cdc-module__igT1da__className{font-family:"Source Serif 4","Source Serif 4 Fallback";font-style:normal;font-weight:600}.source_serif_4_6604cdc-module__igT1da__variable{--font-source-serif:"Source Serif 4", "Source Serif 4 Fallback"}
@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6e8df35dd937fa7a-s.0xa7br5mfity1.woff2)format("woff2");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:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fc2699ecc8323b38-s.1svzn21vgh2j9.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa0520225c6f3d07-s.p.3tasb8qs95n_v.woff2)format("woff2");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:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6e8df35dd937fa7a-s.0xa7br5mfity1.woff2)format("woff2");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:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fc2699ecc8323b38-s.1svzn21vgh2j9.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa0520225c6f3d07-s.p.3tasb8qs95n_v.woff2)format("woff2");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:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6e8df35dd937fa7a-s.0xa7br5mfity1.woff2)format("woff2");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:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fc2699ecc8323b38-s.1svzn21vgh2j9.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa0520225c6f3d07-s.p.3tasb8qs95n_v.woff2)format("woff2");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:Public Sans Fallback;src:local(Arial);ascent-override:90.59%;descent-override:21.46%;line-gap-override:0.0%;size-adjust:104.87%}.public_sans_3a3ee298-module__fjHwmG__className{font-family:Public Sans,Public Sans Fallback;font-style:normal}.public_sans_3a3ee298-module__fjHwmG__variable{--font-public-sans:"Public Sans", "Public Sans Fallback"}
:root{--forest-50:#e0e7db;--forest-100:#ccd7c8;--forest-200:#a9b9a5;--forest-300:#81977d;--forest-400:#567252;--forest-500:#2e512b;--forest-600:#284625;--forest-700:#213a1f;--forest-800:#1b2e18;--forest-900:#152413;--forest-950:#111c0e;--cream-50:#fbf9f2;--cream-100:#f4efde;--cream-200:#e6e1d0;--cream-300:#d5cfbd;--cream-400:#bab3a0;--cream-500:#9b937f;--cream-600:#807862;--cream-700:#655c45;--cream-800:#4e442c;--cream-900:#1f2619;--saffron-100:#f7e6b8;--saffron-300:#e9b949;--saffron-500:#9f6600;--saffron-700:#7a5000;--brick-100:#f6dcd5;--brick-300:#e8998a;--brick-500:#b54a36;--brick-700:#8c2f1e;--slate-100:#dce8f0;--slate-300:#8fb4cc;--slate-500:#3d6f91;--slate-700:#27506d;--bg:#f4efde;--surface:#fbf9f2;--surface-sunken:#e6e1d0;--surface-brand:#2e512b;--ink:#1f2619;--ink-muted:#655c45;--on-brand:#f4efde;--action:#2e512b;--action-hover:#284625;--action-active:#213a1f;--on-action:#f4efde;--link:#284625;--link-hover:#1b2e18;--border:#807862;--border-subtle:#d5cfbd;--focus-ring:#1f2619;--accent:#9f6600;--on-accent:#fbf9f2;--accent-text:#7a5000;--success-fg:#213a1f;--success-bg:#ccd7c8;--warning-fg:#7a5000;--warning-bg:#f7e6b8;--danger-fg:#8c2f1e;--danger-bg:#f6dcd5;--info-fg:#27506d;--info-bg:#dce8f0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--control-sm:32px;--control-md:44px;--control-lg:52px;--container-prose:680px;--container-content:1120px;--sidebar:264px;--z-sticky:100;--z-dropdown:200;--z-modal:400;--z-toast:500;--opacity-disabled:.45;--opacity-scrim:.55;--shadow-sm:0 1px 2px #1f26191a;--shadow-md:0 4px 12px #1f26191f;--shadow-lg:0 12px 32px #1f26192e;--font-serif:var(--font-source-serif), "Source Serif 4", Georgia, "Times New Roman", serif;--font-sans:var(--font-public-sans), "Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif}[data-theme=dark]{--bg:#111c0e;--surface:#152413;--surface-sunken:#0c120a;--ink:#f4efde;--ink-muted:#c3c0aa;--action:#81977d;--action-hover:#a9b9a5;--action-active:#ccd7c8;--on-action:#111c0e;--link:#a9b9a5;--link-hover:#e0e7db;--border:#7a8a6e;--border-subtle:#1b2e18;--focus-ring:#f4efde;--accent:#e9b949;--on-accent:#111c0e;--accent-text:#e9b949;--success-fg:#a9b9a5;--success-bg:#1b2e18;--warning-fg:#e9b949;--warning-bg:#3a2e0c;--danger-fg:#e8998a;--danger-bg:#3c1b14;--info-fg:#8fb4cc;--info-bg:#16293a;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 12px 32px #0009}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111c0e;--surface:#152413;--surface-sunken:#0c120a;--ink:#f4efde;--ink-muted:#c3c0aa;--action:#81977d;--action-hover:#a9b9a5;--action-active:#ccd7c8;--on-action:#111c0e;--link:#a9b9a5;--link-hover:#e0e7db;--border:#7a8a6e;--border-subtle:#1b2e18;--focus-ring:#f4efde;--accent:#e9b949;--on-accent:#111c0e;--accent-text:#e9b949;--success-fg:#a9b9a5;--success-bg:#1b2e18;--warning-fg:#e9b949;--warning-bg:#3a2e0c;--danger-fg:#e8998a;--danger-bg:#3c1b14;--info-fg:#8fb4cc;--info-bg:#16293a;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 12px 32px #0009}}
:root{--touch:48px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-text-size-adjust:100%;margin:0;padding:0;font-size:18px;line-height:1.55}h1,h2,h3,h4,.brand,.card-title,.card-blank{font-family:var(--font-serif);color:var(--ink);font-weight:600}h1{letter-spacing:-.005em;font-size:40px;line-height:1.15}h2{font-size:30px;line-height:1.2}h3{font-size:24px;line-height:1.25}h4{font-size:20px;line-height:1.4}@media (max-width:40rem){h1{font-size:30px}h2{font-size:24px}}a{color:var(--link);text-underline-offset:3px}a:hover{color:var(--link-hover)}button{min-height:var(--touch);min-width:var(--touch);font:inherit}.centered{place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:26rem;box-shadow:var(--shadow-sm);flex-direction:column;gap:.75rem;padding:2rem;display:flex}.card h1{margin:0;font-size:1.9rem;line-height:1.15}.login-logo{border-radius:var(--radius-md);width:72px;height:72px}.muted{color:var(--ink-muted);margin:0}.error{color:var(--danger-fg);margin:0;font-weight:600}label{margin-top:.5rem;font-weight:600}input[type=password],input[type=text],input[type=email],input[type=date],input[type=url],input[type=search]{font:inherit;min-height:var(--touch);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--ink);width:100%;padding:0 .85rem;font-size:1rem}button{border-radius:var(--radius-md);background:var(--action);color:var(--on-action);cursor:pointer;border:1px solid #0000;padding:.6rem 1.2rem;font-weight:600}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.person-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;margin-top:.5rem;display:grid}.person{background:var(--surface);width:100%;min-height:4.5rem;color:var(--ink);border:2px solid var(--border);font-size:1.25rem}.person:active{border-color:var(--action)}.topbar{border-bottom:1px solid var(--border-subtle);background:var(--bg);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.brand{align-items:center;gap:var(--space-3);color:var(--ink);font-size:1.25rem;text-decoration:none;display:inline-flex}.brand-logo{border-radius:var(--radius-sm);flex:none;width:40px;height:40px;transition:width .15s,height .15s}.brand:hover{color:var(--ink)}.whoami{min-height:var(--touch);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--ink);align-items:center;padding:0 1rem;text-decoration:none;display:inline-flex}.content{padding:1.25rem}.page{max-width:60rem;margin:0 auto}.searchbar{gap:.5rem;margin:1rem 0;display:flex}.searchbar input{flex:1}.filters{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.filter-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.filter-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);min-width:3.5rem;font-size:.8rem;font-weight:700}.chip{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;align-items:center;gap:.35rem;padding:0 .85rem;font-size:.95rem;text-decoration:none;display:inline-flex}.chip-on{background:var(--action);color:var(--on-action);border-color:var(--action)}.chip-static{background:var(--bg);cursor:default}.chip-count{color:var(--ink-muted);font-size:.8rem}.chip-on .chip-count{color:color-mix(in srgb, var(--on-action) 75%, transparent)}.result-count{margin:.5rem 0 1rem}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.recipe-grid>li{display:flex}.recipe-card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);flex-direction:column;flex:1;text-decoration:none;display:flex;overflow:hidden}.recipe-card:hover{color:var(--ink);box-shadow:var(--shadow-md)}.recipe-card:active{border-color:var(--action)}.card-body{flex-direction:column;gap:.3rem;padding:.75rem 1rem 1rem;display:flex}.card-photo{aspect-ratio:4/3;object-fit:cover;background:var(--bg);border-bottom:1px solid var(--border-subtle);width:100%;height:auto;display:block}.card-blank{color:color-mix(in srgb, var(--ink-muted) 55%, transparent);place-items:center;font-size:3.5rem;font-weight:600;line-height:1;display:grid}.tint-0{background:var(--cream-200)}.tint-1{background:var(--forest-50)}.tint-2{background:var(--cream-300)}.tint-3{background:var(--saffron-100)}.tint-4{background:var(--forest-100)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tint-0{background:var(--forest-900)}:root:not([data-theme=light]) .tint-1{background:var(--forest-800)}:root:not([data-theme=light]) .tint-2{background:var(--forest-950)}:root:not([data-theme=light]) .tint-3{background:var(--cream-900)}:root:not([data-theme=light]) .tint-4{background:var(--forest-700)}}.recipe-photo{margin:0 0 1rem}.recipe-photo a{display:block}.recipe-photo img{border-radius:var(--radius-lg);background:var(--border-subtle);max-width:100%;height:auto;max-height:40dvh;display:block}.original-source{margin:0 0 1rem}.original-source a{min-height:var(--touch);color:var(--link);align-items:center;gap:.8rem;font-weight:600;text-decoration:none;display:inline-flex}.original-source img{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg);width:7rem;height:7rem}.card-title{font-size:1.15rem;font-weight:600;line-height:1.3}.card-meta,.card-tags{color:var(--ink-muted);font-size:.85rem}.score{letter-spacing:.1em;color:var(--accent)}.score-off{color:var(--border)}.unrated{color:var(--ink-muted);font-style:italic}.recipe-detail{max-width:44rem}.breadcrumb{margin:0 0 .5rem}.breadcrumb a{color:var(--ink-muted)}.recipe-detail h1{margin:0 0 .5rem}.recipe-meta,.ratings-row,.tag-row,.diet-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 .6rem;font-size:.95rem;display:flex}.recipe-meta span{color:var(--ink-muted)}.my-rating{color:var(--ink)}.notes{margin:1.5rem 0}.note-own{margin:0 0 .6rem}.note-parsed{color:var(--ink-muted);border-left:2px solid var(--border-subtle);margin:0;padding-left:.75rem}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin:2rem 0 .5rem;display:flex}.section-head h2{margin:0}.section-name{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin:1.2rem 0 .4rem;font-size:.85rem;font-weight:700;line-height:1.4}.scaler{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.scaler-label{color:var(--ink-muted)}.scaler-buttons{gap:.3rem;display:flex}.scaler-buttons .chip{justify-content:center;min-width:3.2rem}.ingredients,.steps{padding-left:0}.ingredients{margin:0;list-style:none}.ingredients li{border-radius:var(--radius-sm);flex-wrap:wrap;align-items:baseline;gap:.35rem;padding:.45rem .75rem;display:flex}.ingredients li:nth-child(2n),.steps li:nth-child(2n){background:var(--surface-sunken)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ingredients li:nth-child(2n),:root:not([data-theme=light]) .steps li:nth-child(2n){background:var(--forest-900)}}[data-theme=dark] .ingredients li:nth-child(2n),[data-theme=dark] .steps li:nth-child(2n){background:var(--forest-900)}.amount{font-variant-numeric:tabular-nums;min-width:4.5rem;font-weight:600}.ing-note,.optional .item{color:var(--ink-muted)}.badge{text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--ink-muted);padding:0 .3rem;font-size:.7rem;font-weight:700}.unscaled{color:var(--ink-muted);border-bottom:1px dashed var(--ink-muted);font-style:italic;font-weight:400}.scaling-caveat{margin-top:.75rem}.steps{counter-reset:step;margin:0;list-style:none}.steps li{counter-increment:step;border-radius:var(--radius-sm);padding:.5rem .75rem .6rem 2.6rem;position:relative}.steps li:before{content:counter(step) ".";font-variant-numeric:tabular-nums;color:var(--ink-muted);position:absolute;left:.75rem}.tip{border-left:2px solid var(--action);color:var(--ink-muted);margin-top:.3rem;padding-left:.7rem;font-size:.92rem;display:block}.recipe-footer{border-top:1px solid var(--border-subtle);margin-top:2.5rem;padding-top:1rem}.small{font-size:.85rem}.topbar nav{align-items:center;gap:.4rem;display:flex}.navlink{min-height:var(--touch);color:var(--ink);border-radius:var(--radius-md);align-items:center;padding:0 .8rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.navlink:hover{color:var(--ink);background:var(--surface-sunken)}.navlink:active{background:var(--border-subtle)}.page-wide{max-width:82rem}.flash{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border-subtle);margin:0 0 1rem;padding:.6rem .9rem}.sent-card{border:1px solid var(--action);border-radius:var(--radius-lg);background:var(--surface);margin-top:1rem;padding:.4rem 1.2rem 1.2rem}.sent-card h1{margin-bottom:.4rem}.sent-card p{margin:0 0 .8rem}.sent-actions{flex-wrap:wrap;gap:.6rem;margin-top:1rem;display:flex}.sent-actions .chip{text-decoration:none}.queue{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.queue-row{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:inherit;flex-wrap:wrap;align-items:baseline;gap:.6rem;padding:.7rem .9rem;text-decoration:none;display:flex}.queue-row:active{border-color:var(--action)}.queue-name{flex:1;min-width:14rem;font-weight:600}.queue-meta{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.queue-error{color:var(--danger-fg);flex-basis:100%;font-size:.82rem}.badge-warn{border-color:var(--warning-fg);color:var(--warning-fg)}.review-split{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:1.5rem;display:grid}@media (max-width:60rem){.review-split{grid-template-columns:1fr}}@media (min-width:60rem){.review-source{max-height:calc(100dvh - 2rem);position:sticky;top:1rem;overflow-y:auto}}@media (max-width:60rem){.raw-source{max-height:24rem;overflow-y:auto}}.raw-source{white-space:pre-wrap;word-break:break-word;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin:0;padding:.9rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;line-height:1.5}.extraction-notes{margin:0 0 1rem;padding-left:1.1rem;font-size:.9rem}.extraction-notes li{margin-bottom:.3rem}.sheet-panel{margin:0 0 .5rem;font-size:.9rem}.sheet-panel>div{gap:.6rem;padding:.15rem 0;display:flex}.sheet-panel dt{color:var(--ink-muted);min-width:7rem}.sheet-panel dd{margin:0}.dupe-warning{border:1px solid var(--warning-fg);border-radius:var(--radius-md);margin-bottom:1rem;padding:.8rem 1rem}.dupe-warning ul{margin:.4rem 0;padding-left:1.1rem}.review-form fieldset{border:0;margin:0;padding:0}.review-form input[type=text],.review-form textarea,.review-form input[type=search]{font:inherit;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:2.2rem;color:var(--ink);width:100%;padding:.35rem .5rem;font-size:.95rem}.review-form textarea{resize:vertical;line-height:1.45}.review-form .wide{width:100%}.review-form label{color:var(--ink-muted);margin-top:.8rem;font-size:.8rem;font-weight:600;display:block}.field-row{gap:.75rem;display:flex}.field{flex:1}.field label{margin-top:.8rem}.flag-row{flex-wrap:wrap;gap:.9rem;margin-top:.9rem;display:flex}.flag{color:var(--ink);align-items:center;gap:.35rem;margin:0;font-size:.85rem;font-weight:500;display:inline-flex}.flag input{min-height:1.1rem}.edit-head{margin:1.6rem 0 .5rem;font-size:1.05rem}.edit-list{flex-direction:column;gap:.5rem;margin:0 0 .6rem;padding:0;list-style:none;display:flex}.edit-row{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:.35rem;padding:.5rem;display:flex}.edit-row.optional{border-style:dashed}.edit-grid{grid-template-columns:6rem 4rem 6rem 5rem;gap:.35rem;display:grid}.edit-grid .grow{grid-column:1/-1}@media (max-width:40rem){.edit-grid{grid-template-columns:1fr 1fr}}.row-tools{justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.tool{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);min-width:1.9rem;min-height:1.9rem;color:var(--ink-muted);cursor:pointer;padding:0 .4rem}.tool:active{border-color:var(--action);color:var(--action)}.problems{border:1px solid var(--danger-fg);border-radius:var(--radius-md);color:var(--danger-fg);margin:1rem 0 0;padding:.7rem .9rem .7rem 2rem;font-size:.9rem}.warnings{border:1px dashed var(--border-subtle);border-radius:var(--radius-md);color:var(--ink-muted);margin:1rem 0 0;padding:.7rem .9rem .7rem 2rem;font-size:.9rem}.review-actions{background:var(--bg);border-top:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;padding:.7rem 0;display:flex;position:sticky;bottom:0}.review-actions .primary{background:var(--action);color:var(--on-action);border:1px solid var(--action);border-radius:var(--radius-pill);cursor:pointer;min-height:2.6rem;padding:0 1.1rem;font-weight:600}.review-actions .primary:disabled{opacity:.45;cursor:not-allowed}.review-actions .chip{cursor:pointer}.review-actions .danger{border-color:var(--danger-fg);color:var(--danger-fg)}.reject-row{flex:1;gap:.5rem;min-width:18rem;display:flex}.kbd{color:inherit;opacity:.7;margin-left:.35rem;font-size:.72rem}.source-link{color:var(--link);font-weight:600;text-decoration:none}.source-link:active{text-decoration:underline}.autolink{color:var(--link);text-underline-offset:2px;overflow-wrap:anywhere;text-decoration:underline}.edit-link{margin:0 0 1rem}.edit-link .chip{display:inline-flex}.pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .75rem;margin:1rem 0;display:flex}.pager .chip{min-height:var(--touch);padding:0 1.1rem}.pager .chip-static{opacity:.35}.pager-pages{flex-wrap:wrap;justify-content:center;gap:.35rem;display:flex}.pager-pages .chip{min-width:var(--touch);justify-content:center;padding:0 .6rem}.pager-gap{color:var(--ink-muted);align-self:center;padding:0 .15rem}.results-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin:.5rem 0 .25rem;display:flex}.results-bar .result-count{margin:0}.sort-select{align-items:center;gap:.5rem;margin:0;font-weight:400;display:inline-flex}.sort-select span{color:var(--ink-muted);font-size:.9rem}.sort-select select{font:inherit;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:44px;color:var(--ink);padding:0 .6rem;font-size:1rem}.browse-bar{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0 0 .6rem;display:flex}.browse-bar .result-count{flex:auto;margin:0}.filter-panel[open]{flex-basis:100%}.filter-panel>summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.filter-panel>summary::-webkit-details-marker{display:none}.filter-panel>summary:after{content:"▾";margin-left:.4rem;font-size:.75rem}.filter-panel[open]>summary:after{content:"▴"}.filter-panel-body{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:.9rem;margin-top:.5rem;padding:.8rem .9rem;display:flex}.filter-group{flex-direction:column;gap:.35rem;display:flex}.filter-chips{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.filter-chips button.chip{cursor:pointer}.filter-panel-foot{justify-content:flex-end;display:flex}.surprise{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:.6rem;margin:0 0 1rem;padding:.55rem .9rem;display:flex}.surprise-line{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.surprise-cats{border-top:1px solid var(--border-subtle);flex-direction:column;gap:.35rem;padding-top:.6rem;display:flex}.cat-more{flex:0 auto}.cat-more[open]{flex-basis:100%}.cat-more>summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.cat-more>summary::-webkit-details-marker{display:none}.cat-more>summary:after{content:"▾";margin-left:.4rem;font-size:.75rem}.cat-more[open]>summary:after{content:"▴"}.cat-more>.filter-chips{margin-top:.5rem}.active-filters{flex-wrap:wrap;gap:.4rem;margin:0 0 .9rem;display:flex}@media (max-width:40rem){.browse-bar{gap:.4rem .5rem}.browse-bar .sort-select{margin-left:auto}.browse-bar .sort-select span{display:none}.browse-bar .result-count{flex-basis:100%;order:3;font-size:.85rem}.filter-panel[open]+.result-count{order:3}.recipes-page>h1{margin:.25rem 0 0;font-size:1.5rem}.searchbar{margin:.6rem 0}.topbar{gap:.25rem;padding:.4rem .75rem}.topbar nav{gap:.1rem}.navlink{padding:0 .5rem;font-size:.95rem}.signout .chip{padding:0 .7rem}.content{padding:.9rem}}.tag-picker{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;flex:100%;gap:.5rem;padding:.6rem;display:flex}.tag-picker-head{align-items:center;gap:.5rem;display:flex}.tag-picker-head input{flex:1}.filter-row button.chip{cursor:pointer}.google-signin{min-height:var(--touch);border-radius:var(--radius-md);background:var(--action);color:var(--on-action);justify-content:center;align-items:center;margin-top:.5rem;font-weight:600;text-decoration:none;display:flex}.google-signin:active{opacity:.85}.topbar{flex-wrap:wrap}.topbar nav{flex-wrap:wrap;justify-content:flex-end}.signout{align-items:center;gap:.5rem;margin:0;display:inline-flex}.whoami-name{color:var(--ink-muted)}@media (max-width:40rem){.whoami-name{display:none}}.add-recipe-page{max-width:44rem}.add-recipe{flex-direction:column;gap:1.1rem;margin-top:.75rem;display:flex}.kind-picker{border:0;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;display:flex}.kind-picker legend{margin:0 0 .45rem;padding:0;font-weight:600}.kind-picker label{cursor:pointer;margin:0;font-weight:500}.kind-picker input{opacity:0;width:1px;height:1px;position:absolute}.kind-picker label:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.add-fields{border:0;flex-direction:column;gap:1.1rem;margin:0;padding:0;display:flex}.add-fields label,.add-fields .field-label{margin:0 0 .3rem;font-weight:600;display:block}.add-fields .field-label+.muted{margin:-.2rem 0 .4rem}.add-fields textarea{font:inherit;resize:vertical;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;color:var(--ink);padding:.6rem .75rem;font-size:1rem;line-height:1.45}.add-fields .chip{cursor:pointer}.add-fields .muted.small{margin-top:.3rem}.add-photo-preview{flex-direction:column;align-items:flex-start;gap:.5rem;max-width:22rem;display:flex}.add-photo-preview img{object-fit:contain;border-radius:var(--radius-md);background:var(--border-subtle);width:100%;max-height:40dvh;display:block}.add-submit{flex-direction:column;align-items:flex-start;gap:.4rem;display:flex}.add-submit button{min-height:var(--touch);border-radius:var(--radius-pill);padding:0 1.6rem;font-size:1.05rem}.add-submit button:disabled{opacity:.75;cursor:progress}.submission-panel{margin:0 0 .5rem}.share-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin:-.5rem 0 1rem;display:flex}.share-row .chip{cursor:pointer}.share-row button:disabled{opacity:.55;cursor:progress}.photo-controls{flex-direction:column;gap:.5rem;margin:-.4rem 0 1rem;display:flex}.photo-controls .chip{cursor:pointer;min-height:40px;font-size:.9rem}.photo-controls .danger{border-color:var(--danger-fg);color:var(--danger-fg)}.photo-controls button:disabled{opacity:.5;cursor:progress}.photo-controls form{margin:0}.photo-preview{flex-direction:column;gap:.5rem;max-width:24rem;display:flex}.photo-preview img{object-fit:contain;border-radius:var(--radius-lg);background:var(--border-subtle);width:100%;max-height:40dvh;display:block}.made-this{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.25rem 0 1rem;display:flex}.made-this .chip{cursor:pointer}.made-this-button{min-height:var(--touch);border-radius:var(--radius-pill);padding:0 1.4rem;font-size:1.05rem}.made-this-form{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:.6rem;max-width:32rem;margin:.25rem 0 1.25rem;padding:.9rem 1rem;display:flex}.made-this-form h2{margin:0;font-size:1.2rem}.made-this-form label{margin:0 0 .2rem;font-size:.9rem;display:block}.made-this-form input[type=date]{width:auto}.made-this-form textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);width:100%;color:var(--ink);padding:.5rem .7rem;font-size:1rem}.made-this-form .chip{cursor:pointer}.score-picker{border:0;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;padding:0;display:flex}.score-picker legend{margin:0 0 .35rem;padding:0;font-size:.9rem;font-weight:600}.score-choice{margin:0;position:relative}.score-choice input{opacity:0;width:1px;height:1px;position:absolute}.score-choice span{min-width:var(--touch);min-height:var(--touch);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg);cursor:pointer;place-items:center;font-weight:600;display:inline-grid}.score-choice input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.score-choice input:focus-visible+span{outline:2px solid var(--focus-ring);outline-offset:2px}.cook-log{margin-top:2rem}.cook-log ul{margin:0 0 .5rem;padding:0;list-style:none}.cook-log li{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:.25rem .6rem;padding:.5rem 0;display:flex}.cook-when{color:var(--ink-muted);font-variant-numeric:tabular-nums;min-width:7.5rem}.cook-note{flex-basis:100%;margin:0}.cook-controls{gap:.4rem;margin:0 0 0 auto;display:flex}.cook-controls .chip{cursor:pointer;min-height:36px;font-size:.85rem}.cook-remove{margin:0}.cook-edit{flex-basis:100%;margin:.25rem 0 .5rem}.cook-log li{scroll-margin-top:5rem}.cook-log li:target{background:color-mix(in srgb, var(--accent) 8%, transparent)}.activity-strip{margin:0 0 1rem}.activity-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem .75rem;margin:0 0 .2rem;display:flex}.activity-head h2{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin:0;font-size:12px;font-weight:700;line-height:16px}.activity-links{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.activity-links .chip{min-height:36px;font-size:.85rem}.activity-all{min-height:44px;color:var(--link);align-items:center;padding:0 .25rem;font-size:.95rem;text-decoration:none;display:inline-flex}.activity-list{margin:0;padding:0;list-style:none}.activity-list li{border-bottom:1px solid var(--border-subtle)}.activity-row{min-height:44px;color:inherit;flex-wrap:wrap;align-items:center;gap:0 .75rem;padding:.3rem 0;text-decoration:none;display:flex}.activity-what{min-width:0}.activity-recipe{color:var(--link)}.activity-note{min-width:0;color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;flex:10rem;overflow:hidden}.activity-note-full{white-space:normal;-webkit-line-clamp:3;-webkit-box-orient:vertical;flex-basis:100%;order:3;display:-webkit-box}.activity-when{color:var(--ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:.85rem}.activity-filters{flex-wrap:wrap;gap:.5rem;margin:0 0 .5rem;display:flex}.activity-day .section-name{margin-top:1.5rem}.activity-more{margin:1.5rem 0}@media (max-width:40rem){.activity-note{flex-basis:100%;order:3}}.recipe-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 1rem;display:flex}.recipe-actions button.chip,.request-row button.chip{cursor:pointer}.recipe-actions .danger{border-color:var(--danger-fg);color:var(--danger-fg)}.confirm-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;display:flex}.confirm-form{flex-direction:column;flex:100%;gap:.4rem;max-width:32rem;display:flex}.confirm-form label{margin:0;font-size:.9rem}.confirm-form textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;color:var(--ink);padding:.5rem .7rem;font-size:1rem}.nav-count{border-radius:var(--radius-pill);background:var(--action);min-width:1.4rem;height:1.4rem;color:var(--on-action);place-items:center;margin-left:.3rem;padding:0 .35rem;font-size:.75rem;font-weight:700;line-height:1;display:inline-grid}.requests-page{max-width:48rem}.requests-page h2{margin:2rem 0 .6rem;font-size:1.2rem}.request-empty{margin:1rem 0}.request-list{flex-direction:column;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.request-row{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:.35rem;padding:.8rem .9rem;display:flex}.request-head{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.request-recipe{color:var(--ink);font-weight:600}.request-meta{margin:0}.request-note{margin:0;font-style:italic}.request-photos{flex-wrap:wrap;gap:.75rem;display:flex}.request-photos figure{margin:0}.request-photos img{object-fit:cover;border-radius:var(--radius-md);background:var(--bg);width:12rem;height:9rem;display:block}.request-decided{opacity:.8}.privacy{max-width:40rem;padding:2rem 1.25rem 3rem}.privacy h2{margin:1.6rem 0 .3rem;font-size:1.15rem}.privacy p{margin:0 0 .7rem}.people-admin{max-width:44rem}.people-admin h2{margin:2rem 0 .6rem;font-size:1.2rem}.person-add{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);margin-top:1rem;padding:.4rem 1rem 1rem}.person-add h2{margin-top:.6rem}.person-add-form{flex-wrap:wrap;align-items:flex-end;gap:.6rem .9rem;display:flex}.person-add-form .field{flex:14rem}.person-add-form label{margin:0 0 .2rem;font-size:.85rem;display:block}.person-add-form .flag{min-height:var(--touch)}.people-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.person-row{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.75rem .9rem;display:flex}.person-head{flex-wrap:wrap;flex:100%;align-items:baseline;gap:.5rem;display:flex}.person-edit{flex-wrap:wrap;flex:20rem;align-items:center;gap:.5rem .75rem;display:flex}.person-edit input[type=email]{flex:14rem;width:auto}.person-row .chip{cursor:pointer}.person-row .danger{border-color:var(--danger-fg);color:var(--danger-fg)}.person-former{opacity:.75}.usage-warning{border:1px solid var(--warning-fg);border-radius:var(--radius-lg);background:var(--surface);margin:1rem 0 0;padding:.7rem .9rem}.usage-warning a,.usage a{color:var(--link)}.usage code{font-size:.85em}.usage>p+p{margin-top:.6rem}.usage-paused{border-left:3px solid var(--warning-fg);margin:.4rem 0 0;padding:.5rem .9rem}.usage-list{flex-direction:column;gap:.35rem;margin:.6rem 0;padding:0;list-style:none;display:flex}.usage-row{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);flex-wrap:wrap;align-items:baseline;gap:.2rem .75rem;padding:.55rem .9rem;display:flex}.usage-label{flex:12rem}.usage-value{font-variant-numeric:tabular-nums}.usage-bar{background:var(--border-subtle);border-radius:3px;flex:100%;height:6px;overflow:hidden}.usage-bar span{background:var(--ink-muted);height:100%;display:block}.usage-near .usage-bar span,.usage-over .usage-bar span{background:var(--warning-fg)}.usage-near,.usage-over{border-color:var(--warning-fg)}.usage-over .usage-label{font-weight:700}.topbar{z-index:var(--z-sticky);transition:padding .15s;position:sticky;top:0}.topbar .brand{transition:font-size .15s}.topbar-compact{box-shadow:var(--shadow-sm);padding-top:.2rem;padding-bottom:.2rem}.topbar-compact .brand{font-size:1.05rem}.topbar-compact .brand-logo{width:32px;height:32px}.topbar-compact .navlink{min-height:40px}.topbar-compact .signout .chip{min-height:38px}@media (max-width:40rem){.topbar-compact .brand,.topbar-compact .signout{display:none}.topbar-compact nav{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.topbar-compact .navlink{white-space:nowrap;padding:0 .45rem;font-size:.9rem}}.recipe-search .searchbar{margin:.4rem 0 1rem}.breadcrumb{flex-wrap:wrap;gap:.25rem 1.25rem;display:flex}.breadcrumb-all{white-space:nowrap}.recipe-origin{flex-wrap:wrap;gap:.25rem 1.5rem;margin:.25rem 0 .5rem;display:flex}.recipe-origin>div{align-items:baseline;gap:.45rem;min-width:0;display:flex}.recipe-origin dt{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);font-size:.8rem;font-weight:700}.recipe-origin dd{overflow-wrap:anywhere;min-width:0;margin:0}.similar-check{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:.4rem;margin:.75rem 0 .5rem;padding:.8rem;display:flex}.similar-check label{margin:0}.similar-list{margin:.2rem 0 0;padding-left:1.2rem}.similar-list li{padding:.2rem 0}.similar-list a{color:var(--link)}.photo-drop{border-radius:var(--radius-md);border:2px dashed #0000;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:-.5rem;padding:.5rem;display:flex}.photo-drop-hint{display:none}@media (hover:hover) and (pointer:fine){.photo-drop{border-color:var(--border-subtle)}.photo-drop-hint{display:inline}}.photo-drop-over{border-color:var(--accent);background:var(--surface-sunken)}
