@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/f3d49a6cc42289e4-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:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/a8a4bee916c8efc4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/b741e17df1a92217-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:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/e92542ed07ddbaee-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:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/251df36401e2f093-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:IBM Plex Mono;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/d19148a489889c3f-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:IBM Plex Mono;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/6e3dff35a8d2b87a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/8b7d2a0269fd9b46-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:IBM Plex Mono;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/32e223c2320c378a-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:IBM Plex Mono;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/35a91d7a43063ba6-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-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:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_4ca5fe{font-family:IBM Plex Mono,IBM Plex Mono Fallback}.__variable_4ca5fe{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/1b4d93a161998aea-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:Atkinson Hyperlegible;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/851a75a9cb7ade06-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:Atkinson Hyperlegible;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/e12eb4fe4ea36ef2-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:Atkinson Hyperlegible;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/f2b84684bb0e6e9d-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:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d57a24ec54448a8e-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:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/bc08e10e1c60a660-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:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/7c309a1f4c99f6b1-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:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9816a0e0ed309b6c-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:Atkinson Hyperlegible Fallback;src:local("Arial");ascent-override:95.60%;descent-override:29.18%;line-gap-override:0.00%;size-adjust:99.37%}.__className_122eb1{font-family:Atkinson Hyperlegible,Atkinson Hyperlegible Fallback}.__variable_122eb1{--font-sans:"Atkinson Hyperlegible","Atkinson Hyperlegible Fallback"}:root{color-scheme:light dark;--font-sans:"Atkinson Hyperlegible",ui-sans-serif,system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--color-bg:#ffffff;--color-surface:#f9f9f8;--color-text:#171717;--color-text-muted:#4b5563;--color-accent:#065f46;--color-on-accent:#ffffff;--color-link:#065f46;--color-border:rgba(0,0,0,0.12);--color-border-strong:#767676;--color-error:#991b1b;--color-success:#14532d;--color-focus:#065f46;--space-1:0.25rem;--space-2:0.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.5rem;--radius:4px;--radius-chip:2px;--content-width:56rem;--narrow-width:40rem;--measure:70ch;--target-min:44px}@media (prefers-color-scheme:dark){:root{--color-bg:#0f0f0e;--color-surface:#1a1a18;--color-text:#ededed;--color-text-muted:#a8b1bd;--color-accent:#6ee7b7;--color-on-accent:#0f0f0e;--color-link:#6ee7b7;--color-border:rgba(255,255,255,0.12);--color-border-strong:#8a8a8a;--color-error:#ffb4ab;--color-success:#9be3b0;--color-focus:#6ee7b7}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:.95rem;line-height:1.65;background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;min-height:100vh}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:2px}h1{font-weight:700;font-size:2.25rem;line-height:1.15;letter-spacing:-.01em;margin:0 0 var(--space-3);max-width:var(--measure)}h1 em{font-style:italic}h2,h3{line-height:1.3;margin:0 0 var(--space-3);max-width:var(--measure)}h2{font-size:1.15rem;font-weight:700}.eyebrow{font-family:var(--font-mono);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.eyebrow:before{content:"";width:1.25rem;height:1px;background:currentColor;flex-shrink:0}dd,li,p{max-width:var(--measure)}a{color:var(--color-link);text-decoration:underline;text-underline-offset:.2em}a:hover{text-decoration-thickness:.15em}ol,ul{padding-left:1.5rem}.muted{color:var(--color-text-muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;left:var(--space-3);top:var(--space-2);z-index:10;padding:var(--space-2) var(--space-3);background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius);transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.site-header{border-bottom:1px solid var(--color-border)}.site-header-inner{max-width:var(--content-width);margin:0 auto;padding:var(--space-2) var(--space-4);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}@media (max-width:55.99rem){.site-header-inner nav{order:3;width:100%}.nav-list a{padding-left:0;padding-right:var(--space-2)}}.wordmark{font-size:1.4rem;font-weight:700;color:var(--color-text);text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--target-min)}.logo-mark{fill:var(--color-accent);flex-shrink:0}.logo-mark .logo-steam{fill:none;stroke:var(--color-accent);stroke-width:4.5;stroke-linecap:round}.wordmark:hover{text-decoration:underline}.nav-list{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);list-style:none;margin:0;padding:0}.nav-list a{display:inline-flex;align-items:center;min-height:var(--target-min);padding:0 var(--space-2);font-weight:700;font-size:.9rem;color:var(--color-text);text-decoration:none}.nav-list a:hover{text-decoration:underline}.nav-list a[aria-current=page]{text-decoration:underline;text-decoration-thickness:.15em;color:var(--color-link)}.auth-area{margin-left:auto;display:flex;align-items:center;gap:var(--space-3)}.auth-area .user-name{color:var(--color-text-muted);font-size:.85rem}main{flex:1 1;width:100%;max-width:var(--content-width);margin:0 auto;padding:var(--space-5) var(--space-4)}main:focus{outline:none}.page-narrow{max-width:var(--narrow-width)}.hero{padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-5)}.hero h1{font-size:3rem}.hero .lede{color:var(--color-text-muted);max-width:36rem;margin-bottom:var(--space-4)}.chip-list{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0 0 var(--space-4);padding:0}.chip{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);border:1px solid var(--color-border-strong);border-radius:var(--radius-chip);padding:var(--space-1) var(--space-2)}.site-footer{border-top:1px solid var(--color-border)}.site-footer-inner{max-width:var(--content-width);margin:0 auto;padding:var(--space-3) var(--space-4);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-muted)}.site-footer-inner p{margin:0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--target-min);min-width:var(--target-min);padding:var(--space-2) var(--space-4);border:2px solid transparent;border-radius:var(--radius);background:var(--color-accent);color:var(--color-on-accent);font:inherit;font-size:.9rem;font-weight:700;text-decoration:none;cursor:pointer}.button:hover{text-decoration:underline}.button:disabled{opacity:.55;cursor:not-allowed}.button-secondary{color:var(--color-link)}.button-danger,.button-secondary{background:transparent;border-color:currentColor}.button-danger{color:var(--color-error)}.field{margin-bottom:var(--space-4)}.field label{display:block;font-weight:700;margin-bottom:var(--space-1)}.field-help{margin:0 0 var(--space-2);color:var(--color-text-muted);font-size:.85rem}input[type=search],input[type=text],textarea{width:100%;max-width:var(--narrow-width);padding:var(--space-2) var(--space-3);min-height:var(--target-min);font:inherit;color:var(--color-text);background:var(--color-bg);border:2px solid var(--color-border-strong);border-radius:var(--radius)}textarea{line-height:1.65}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-error)}.field-error{margin:var(--space-1) 0 0;color:var(--color-error);font-weight:700}fieldset{border:0;padding:0;margin:0;min-inline-size:auto}legend{font-weight:700;padding:0;margin-bottom:var(--space-1)}.ingredient-group{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3)}.ingredient-group,.ingredient-group-plain{margin:0 0 var(--space-3);max-width:var(--narrow-width)}.group-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.group-header .group-name{flex:1 1;min-width:12rem}.group-header label{display:block;font-weight:700;margin-bottom:var(--space-1)}.item-entry{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);max-width:var(--narrow-width)}.item-entry input{flex:1 1;min-width:12rem}.item-list{margin:var(--space-3) 0 0;max-width:var(--narrow-width)}.item-list li{max-width:none;border-bottom:1px solid var(--color-border)}.item-list li:last-child{border-bottom:0}.item-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-1) 0}.item-text{overflow-wrap:anywhere}.button-compact{padding:0 var(--space-3);font-size:.8rem}.alert{max-width:var(--measure);padding:var(--space-3);margin-bottom:var(--space-4);border:2px solid;border-radius:var(--radius)}.alert-error{color:var(--color-error)}.alert-success{color:var(--color-success)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4)}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));grid-gap:var(--space-4);gap:var(--space-4);list-style:none;padding:0;margin:0}.recipe-grid>li{max-width:none}.recipe-card h2{font-size:1.1rem}.recipe-card-actions{margin-top:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-2)}.recipe-meta{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-muted);margin-top:0}.cooking-mode{margin:var(--space-4) 0}.cooking-mode-status{font-weight:700;min-height:1.65em}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}