:root{color-scheme:light dark;font-family:system-ui,sans-serif}body{margin:0;background:canvas;color:canvastext}.app{max-width:72rem;margin:0 auto;padding:2rem 1rem}.status{max-width:32rem;margin:2rem auto;padding:0 1rem}.topbar{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem 1rem}.btn-link{background:none;border:none;padding:0;font-size:.9rem;color:inherit;opacity:.7;cursor:pointer;text-decoration:underline}.btn-primary{margin-top:1rem;padding:.6rem 1.5rem;font-size:1rem;cursor:pointer}:root{--line: color-mix(in srgb, canvastext 15%, transparent);--muted: color-mix(in srgb, canvastext 65%, transparent);--raised: color-mix(in srgb, canvastext 4%, canvas)}.topbar{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;align-items:center;gap:.5rem;font-family:Georgia,Times New Roman,serif;font-size:1.4rem;font-weight:600;letter-spacing:-.02em;text-decoration:none;color:inherit}.wordmark-logo{width:1.6rem;height:1.6rem;flex-shrink:0}.topbar{align-items:center;flex-wrap:nowrap}.main-nav{display:flex;flex:1;gap:.25rem;margin-left:1rem}.main-nav a{padding:.45rem .8rem;border-radius:.5rem;color:var(--muted);font-size:.95rem;text-decoration:none;white-space:nowrap}.main-nav a:hover{background:var(--raised);color:inherit}.main-nav a.active{background:var(--raised);color:inherit;font-weight:600}.account{position:relative;flex-shrink:0}.account-button{display:grid;padding:0;border:0;border-radius:999px;background:none;cursor:pointer;place-items:center}.account-button:focus-visible{outline:2px solid canvastext;outline-offset:2px}.avatar{display:grid;flex-shrink:0;overflow:hidden;border-radius:999px;object-fit:cover;place-items:center}.avatar-small{width:2.1rem;height:2.1rem;font-size:.85rem}.avatar-large{width:4rem;height:4rem;font-size:1.4rem}.avatar-initials{background:canvastext;color:canvas;font-weight:600;letter-spacing:.02em}.account-menu{position:absolute;z-index:10;top:calc(100% + .5rem);right:0;display:flex;flex-direction:column;min-width:14rem;padding:.35rem;border:1px solid var(--line);border-radius:.6rem;background:canvas;box-shadow:0 8px 24px #00000024}.account-menu-who{display:flex;flex-direction:column;padding:.5rem .65rem .6rem;border-bottom:1px solid var(--line);margin-bottom:.3rem;font-size:.85rem}.account-menu-who span{overflow:hidden;color:var(--muted);text-overflow:ellipsis}.account-menu a,.account-menu button{padding:.5rem .65rem;border:0;border-radius:.4rem;background:none;color:inherit;font:inherit;font-size:.92rem;text-align:left;text-decoration:none;cursor:pointer}.account-menu a:hover,.account-menu button:hover,.account-menu a:focus-visible,.account-menu button:focus-visible{background:var(--raised);outline:none}.account-menu hr{width:100%;margin:.3rem 0;border:0;border-top:1px solid var(--line)}.list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.account-page{max-width:36rem}.account-hero{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.account-hero h1{margin:0;font-size:1.6rem}.account-hero>div{min-width:0}.account-hero .help{margin:.15rem 0 0;overflow-wrap:anywhere}.account-page section{padding:1.1rem 0;border-top:1px solid var(--line)}.account-page h2{margin:0 0 .25rem;font-size:1.05rem}.btn,.btn-primary{display:inline-block;margin-top:0;padding:.5rem 1rem;border:1px solid var(--line);border-radius:.5rem;background:var(--raised);color:inherit;font:inherit;font-size:.95rem;text-decoration:none;cursor:pointer}.btn-primary{background:canvastext;color:canvas;border-color:canvastext;font-weight:550}.btn-small{padding:.35rem .7rem;font-size:.85rem}.btn-danger{color:#b3261e}.btn[disabled],.btn-primary[disabled]{opacity:.6;cursor:default}[role=alert]{margin:.75rem 0;padding:.6rem .8rem;border:1px solid color-mix(in srgb,#b3261e 35%,transparent);border-radius:.5rem;background:color-mix(in srgb,#b3261e 10%,transparent);color:color-mix(in srgb,#b3261e 70%,canvastext);font-size:.92rem}.empty{margin:4rem 0;text-align:center;color:var(--muted)}.empty .btn-primary,.empty .btn{margin-top:1rem}.tag{display:inline-block;margin:0 .35rem .35rem 0;padding:.15rem .6rem;border:1px solid var(--line);border-radius:999px;background:var(--raised);color:inherit;font-size:.8rem;cursor:pointer}.tag-active{background:canvastext;color:canvas;border-color:canvastext}.list-header h1{margin:0;font-size:1.75rem;letter-spacing:-.02em}.list-count{margin:.15rem 0 1.25rem;color:var(--muted);font-size:.9rem}.recipe-controls{margin-bottom:1.5rem}.search-field{position:relative}.meta-icon{width:1em;height:1em;flex-shrink:0}.search-icon{position:absolute;top:50%;left:.75rem;width:1rem;height:1rem;transform:translateY(-50%);color:var(--muted);pointer-events:none}.recipe-search{width:100%;box-sizing:border-box;padding:.6rem .75rem .6rem 2.25rem;border:1px solid var(--line);border-radius:.5rem;background:canvas;color:inherit;font-size:1rem}.control-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem}.sort-field{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.85rem}.sort-field select{padding:.3rem .4rem;border:1px solid var(--line);border-radius:.4rem;background:canvas;color:inherit;font:inherit;font-size:.85rem}.view-toggle{display:flex;overflow:hidden;border:1px solid var(--line);border-radius:.5rem}.view-toggle button{padding:.3rem .75rem;border:0;background:canvas;color:var(--muted);font:inherit;font-size:.85rem;cursor:pointer}.view-toggle button.active{background:canvastext;color:canvas}.tag-row{margin-top:.75rem}.recipe-grid,.recipe-rows{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));align-items:start}.recipe-card{display:block;overflow:hidden;border:1px solid var(--line);border-radius:.9rem;color:inherit;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease}.recipe-card:hover{box-shadow:0 6px 20px #0000001a;transform:translateY(-2px)}.recipe-card-hero{position:relative;display:grid;height:7.5rem;place-items:center}.hero-glyph{font-size:2.5rem;line-height:1;filter:drop-shadow(0 2px 6px rgb(0 0 0 / 35%))}.hero-time,.hero-difficulty{position:absolute;bottom:.6rem;display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;white-space:nowrap}.hero-time{left:.75rem;color:#ffffffd9;text-shadow:0 1px 3px rgb(0 0 0 / 50%)}.hero-difficulty{right:.75rem;padding:.1rem .6rem;border-radius:999px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.recipe-card-body{padding:.9rem 1rem 1rem}.recipe-card h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:600;line-height:1.25;letter-spacing:-.01em}.recipe-card-description{display:-webkit-box;overflow:hidden;margin:.35rem 0 0;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;color:var(--muted);font-size:.85rem}.recipe-card-stats{display:flex;gap:1.5rem;margin:.9rem 0 0}.recipe-card-stats div{display:flex;flex-direction:column-reverse}.recipe-card-stats dt{color:var(--muted);font-size:.65rem;letter-spacing:.06em;text-transform:uppercase}.recipe-card-stats dd{margin:0;font-size:1.1rem;font-weight:600;font-variant-numeric:tabular-nums}.stat-text{font-size:.95rem!important;font-weight:550!important}.recipe-card-tags{margin:.9rem 0 0;padding-top:.75rem;border-top:1px solid var(--line)}.recipe-card .tag{cursor:inherit}.recipe-rows .recipe-card{display:grid;grid-template-columns:5.5rem 1fr;border-radius:.6rem}.recipe-rows .recipe-card:hover{transform:none}.recipe-rows .recipe-card-hero{height:100%;min-height:5rem}.recipe-rows .hero-glyph{font-size:1.75rem}.recipe-rows .hero-time,.recipe-rows .hero-difficulty{display:none}.recipe-rows .recipe-card-description{-webkit-line-clamp:1;line-clamp:1}.recipe-rows .recipe-card-stats{gap:1.25rem;margin-top:.6rem}.recipe-rows .recipe-card-tags{margin-top:.6rem;padding-top:.6rem}.recipe,.recipe-form,.transfer{max-width:44rem;margin-inline:auto}.recipe-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.recipe-header h1{margin:0;font-size:1.75rem;line-height:1.2}.recipe-actions{display:flex;flex-shrink:0;gap:.5rem}.recipe-description{margin:.75rem 0 0;font-size:1.05rem}.recipe-facts{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem;margin:.75rem 0 0;color:var(--muted);font-size:.9rem}.recipe-facts span{display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}.difficulty,.difficulty-easy{padding:.1rem .55rem;border-radius:999px;background:#cdeccf;color:#16531a;font-size:.8rem;font-weight:550}.difficulty-medium{background:#f8e2b8;color:#6b3e00}.difficulty-hard{background:#f6ccc8;color:#76150f}.recipe-timing-notes{margin:.4rem 0 0;color:var(--muted);font-size:.9rem;font-style:italic}.recipe h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem;margin:2.5rem 0 .75rem;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:600}.section-progress{color:var(--muted);font-family:system-ui,sans-serif;font-size:.8rem;font-weight:400}.jump{margin-left:auto}.reset-ticks{margin-top:1.25rem}.tickable{display:flex;gap:.6rem;width:100%;padding:.3rem .4rem;border:0;border-radius:.4rem;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.tickable:hover{background:var(--raised)}.tick-box{flex-shrink:0;width:1.05rem;height:1.05rem;margin-top:.25rem;border:1.5px solid var(--line);border-radius:.3rem}.ticked .tick-box{border-color:transparent;background:canvastext}.ticked .tick-box:after{display:block;width:.3rem;height:.55rem;margin:.12rem 0 0 .33rem;border:solid canvas;border-width:0 2px 2px 0;content:"";transform:rotate(45deg)}.ticked .tick-body{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}.ingredient-group h3{margin:1.25rem 0 .35rem;color:var(--muted);font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}.ingredient-list{margin:0;padding:0;list-style:none;font-size:1.02rem;line-height:1.5}.ingredient-list .amount{font-variant-numeric:tabular-nums;font-weight:650}.ingredient-list .prep,.ingredient-list .optional{color:var(--muted)}.instruction-list{margin:0;padding:0;list-style:none}.instruction-list li{margin-bottom:.4rem;border-radius:.6rem}.step{display:flex;gap:.9rem;width:100%;padding:.7rem .8rem;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.step:hover{background:var(--raised);border-radius:.6rem}.step-number{display:grid;flex-shrink:0;width:1.8rem;height:1.8rem;border:1.5px solid var(--line);border-radius:999px;color:var(--muted);font-size:.9rem;font-variant-numeric:tabular-nums;font-weight:600;place-items:center}.step-text{display:block;font-size:1.08rem;line-height:1.55}.step-current{background:color-mix(in srgb,canvastext 5%,canvas);box-shadow:inset 3px 0 0 canvastext}.step-current .step-number{border-color:transparent;background:canvastext;color:canvas}.step-current .step-text{font-weight:550}.tip{display:block;margin-top:.4rem;padding-left:.75rem;border-left:2px solid var(--line);color:var(--muted);font-size:.92rem;font-style:italic;line-height:1.5}.recipe-notes{padding:1rem 1.1rem;border:1px solid var(--line);border-radius:.6rem;background:var(--raised);font-size:.97rem;line-height:1.6}.recipe-notes>*{margin:0}.recipe-notes>*+*{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--line)}.recipe-notes ul{padding-left:1.1rem}.recipe-notes li+li{margin-top:.3rem}.note-label{margin:0 0 .15rem;color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.note-body{margin:0}.sources-heading{font-family:system-ui,sans-serif!important;font-size:.8rem!important;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.source-list{display:grid;gap:.6rem;margin:0;padding:0;list-style:none}.source{padding:.75rem .9rem;border:1px solid var(--line);border-radius:.6rem}.source-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0}.source-head a{color:inherit;font-weight:600;text-decoration:none}.source-head a:hover{text-decoration:underline}.source-name{font-weight:600}.external{margin-left:.2rem;font-size:.8em;opacity:.6}.source-type{padding:.05rem .45rem;border-radius:999px;background:var(--raised);color:var(--muted);font-size:.7rem;text-transform:capitalize}.source-notes{margin:.35rem 0 0;color:var(--muted);font-size:.9rem;line-height:1.45}.recipe-form h1{font-size:1.5rem}.recipe-form label{display:block;margin-bottom:1rem;font-size:.85rem;color:var(--muted)}.recipe-form input,.recipe-form textarea,.recipe-form select{display:block;width:100%;box-sizing:border-box;margin-top:.25rem;padding:.5rem;border:1px solid var(--line);border-radius:.4rem;background:canvas;color:inherit;font:inherit;font-size:1rem}.recipe-form fieldset{margin:0 0 1.5rem;padding:1rem;border:1px solid var(--line);border-radius:.5rem}.recipe-form legend{padding:0 .4rem;font-size:.85rem;color:var(--muted)}.field-row{display:flex;gap:1rem}.field-row label{flex:1}.ingredient-row,.source-row{display:flex;gap:.5rem;margin-bottom:.5rem}.ingredient-row input,.source-row input{margin-top:0}.ingredient-row .amount{flex:0 0 6rem}.ingredient-row .prep{flex:0 0 9rem}.group-name{margin-bottom:.5rem!important;font-weight:550}.ingredient-group-edit+.ingredient-group-edit{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.instruction-row{display:flex;gap:.75rem;margin-bottom:.75rem}.step-number{flex:0 0 1.5rem;padding-top:.5rem;color:var(--muted);font-variant-numeric:tabular-nums}.instruction-fields{flex:1}.instruction-fields input{margin-top:.35rem}.form-actions{display:flex;gap:.75rem}@media (max-width: 34rem){.topbar{flex-wrap:wrap}.wordmark{flex:1}.main-nav{order:3;flex:1 0 100%;justify-content:space-between;margin-left:0}.main-nav a{flex:1;text-align:center}.field-row,.ingredient-row,.source-row{display:grid;gap:.5rem}.ingredient-row .amount,.ingredient-row .prep{flex:initial}.recipe-timing{gap:1.25rem}}.transfer h1{font-size:1.5rem}.transfer section{margin-bottom:2.5rem}.transfer h2{margin-bottom:.25rem;font-size:1.1rem}.help{margin-top:0;color:var(--muted);font-size:.9rem}.paste-box{width:100%;box-sizing:border-box;padding:.6rem;border:1px solid var(--line);border-radius:.5rem;background:canvas;color:inherit;font-family:ui-monospace,monospace;font-size:.85rem}.import-result{margin-top:1rem;padding:.75rem 1rem;border:1px solid var(--line);border-radius:.5rem;background:var(--raised)}.import-result p{margin:0 0 .35rem}.import-result p:last-child{margin-bottom:0}.paste-open{margin-bottom:1.5rem}.paste-panel{margin-bottom:1.5rem;padding:1rem;border:1px solid var(--line);border-radius:.6rem;background:var(--raised)}.paste-panel .paste-box,.paste-panel .help{margin-bottom:.75rem}.paste-tabs{display:flex;gap:.25rem;margin-bottom:.9rem}.paste-tabs button{padding:.35rem .8rem;border:1px solid transparent;border-radius:.45rem;background:none;color:var(--muted);font:inherit;font-size:.9rem;cursor:pointer}.paste-tabs button.active{border-color:var(--line);background:canvas;color:inherit;font-weight:550}.paste-tabs button[disabled]{cursor:default;opacity:.55}.soon{margin-left:.35rem;padding:.05rem .35rem;border-radius:999px;background:var(--raised);font-size:.65rem;letter-spacing:.04em;text-transform:uppercase}.url-box{font-family:inherit;font-size:1rem}.code-line{overflow-x:auto;margin:.5rem 0;padding:.6rem .8rem;border:1px solid var(--line);border-radius:.5rem;background:var(--raised);font-family:ui-monospace,monospace;font-size:.85rem;white-space:pre-wrap;word-break:break-all}.code-block{word-break:normal}.issued-token{margin-top:1rem;padding:.9rem 1rem;border:1px solid color-mix(in srgb,#b26a00 40%,transparent);border-radius:.6rem;background:color-mix(in srgb,#b26a00 8%,transparent)}.issued-token p{margin:0;font-size:.92rem}.token-list{margin:0;padding:0;list-style:none}.token-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line)}.token-meta{color:var(--muted);font-size:.85rem}.pantry{max-width:48rem}.pantry-add{display:flex;gap:.5rem;margin-bottom:1rem}.pantry-add input,.pantry-add select,.pantry-edit input,.pantry-edit select{box-sizing:border-box;padding:.55rem .6rem;border:1px solid var(--line);border-radius:.45rem;background:canvas;color:inherit;font:inherit;font-size:1rem}.pantry-add input{flex:1;min-width:0}.pantry-add select{flex:0 1 12rem;min-width:0}.pantry-controls{margin-bottom:1.25rem}.pantry-section{margin-bottom:1.5rem}.pantry-section h2{margin:0 0 .25rem;font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.pantry-section-count{font-weight:400}.pantry-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.pantry-item{border-bottom:1px solid var(--line)}.pantry-item-row{display:flex;align-items:center;gap:.75rem;padding:.35rem 0}.pantry-item-name{display:flex;flex:1;flex-direction:column;align-items:flex-start;min-width:0;padding:.35rem 0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.pantry-name{overflow-wrap:anywhere}.pantry-item-name:hover .pantry-name{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:.2em}.pantry-item-meta{display:flex;width:100%;min-width:0;flex-wrap:wrap;gap:0 .75rem;margin-top:.1rem;color:var(--muted);font-size:.82rem}.pantry-notes{overflow:hidden;flex:1 1 0;min-width:0;text-overflow:ellipsis;white-space:nowrap}.expiry-soon{color:#b26a00;font-weight:550}.pantry-item.status-out .pantry-name{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--line)}.status-toggle{display:flex;flex-shrink:0;overflow:hidden;border:1px solid var(--line);border-radius:.5rem}.status-toggle button{min-width:3.1rem;padding:.4rem .55rem;border:0;background:canvas;color:var(--muted);font:inherit;font-size:.82rem;cursor:pointer}.status-toggle button+button{border-left:1px solid var(--line)}.status-toggle button.status-stocked.active{background:color-mix(in srgb,#2e7d32 18%,canvas);color:color-mix(in srgb,#2e7d32 75%,canvastext);font-weight:600}.status-toggle button.status-low.active{background:color-mix(in srgb,#b26a00 20%,canvas);color:color-mix(in srgb,#b26a00 75%,canvastext);font-weight:600}.status-toggle button.status-out.active{background:color-mix(in srgb,#b3261e 16%,canvas);color:color-mix(in srgb,#b3261e 75%,canvastext);font-weight:600}.pantry-edit{margin:0 0 .75rem;padding:.9rem;border:1px solid var(--line);border-radius:.5rem;background:var(--raised)}.pantry-edit label{display:block;margin-bottom:.75rem;color:var(--muted);font-size:.85rem}.pantry-edit input,.pantry-edit select{display:block;width:100%;margin-top:.25rem}.pantry-edit .form-actions{flex-wrap:wrap}.pantry-delete{margin-left:auto}.pantry-start h2,.pantry-more h2{margin-bottom:.25rem;font-size:1.1rem}.pantry-more{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.starter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.75rem;margin:0 0 1rem;padding:0;list-style:none}.starter-card{display:flex;flex-direction:column;gap:.3rem;width:100%;height:100%;padding:.9rem 1rem;border:1px solid var(--line);border-radius:.6rem;background:var(--raised);color:inherit;font:inherit;font-size:.9rem;text-align:left;cursor:pointer}.starter-emoji{font-size:1.6rem;line-height:1}.starter-summary{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.75rem;color:var(--muted);font-size:.9rem}.starter-card strong{font-size:1rem}.starter-card-open{border-color:canvastext}.starter-count{margin-top:auto;padding-top:.25rem;color:var(--muted);font-size:.82rem}.starter-checklist{margin-bottom:1rem}.starter-checklist fieldset{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.15rem 1rem;margin:0 0 1rem;padding:.75rem 1rem;border:1px solid var(--line);border-radius:.5rem}.starter-checklist legend{padding:0 .4rem;color:var(--muted);font-size:.85rem}.starter-checklist label{display:flex;align-items:center;gap:.45rem;padding:.2rem 0;font-size:.92rem}.starter-owned{color:var(--muted)}.starter-have{margin-left:auto;font-size:.75rem}@media (max-width: 34rem){.pantry-add{flex-wrap:wrap}.pantry-add input{flex:1 0 100%}.pantry-add select{flex:1}.status-toggle button{min-width:2.6rem;padding:.45rem .4rem}}.sr-only{position:absolute;overflow:hidden;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);white-space:nowrap}.pantry-dot{display:inline-block;width:.5em;height:.5em;margin-left:.5em;border:1.5px solid transparent;border-radius:999px;vertical-align:.1em}.pantry-dot-stocked{background:#2e7d32}.pantry-dot-low{background:#d08700}.pantry-dot-out,.pantry-dot-missing{border-color:color-mix(in srgb,canvastext 45%,transparent)}.pantry-summary{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin:-.35rem 0 .5rem;color:var(--muted);font-size:.85rem}.pantry-summary .pantry-dot{margin:0 .15em 0 0}.filter-suggestions,.active-filters{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .1rem;margin-top:.75rem}.filter-label{margin-right:.5rem;color:var(--muted);font-size:.8rem}.tag-count{margin-left:.2rem;color:var(--muted)}.active-filters .btn-link{margin-left:.4rem;font-size:.85rem}a.tag{text-decoration:none}a.tag:hover{border-color:canvastext}.used-in{margin:0 0 .9rem;color:var(--muted);font-size:.88rem}.used-in ul{display:inline;margin:0;padding:0;list-style:none}.used-in li{display:inline;margin-left:.4rem}.used-in li+li:before{margin-right:.4rem;content:"·"}.used-in a{color:inherit}.used-in-count{font-weight:600}.ingredient-line{display:flex;align-items:flex-start}.ingredient-line .tickable{flex:1;min-width:0}.pantry-mark{display:grid;flex:0 0 2.5rem;height:2.15rem;padding:0;border:0;border-radius:.4rem;background:none;color:inherit;place-items:center}button.pantry-mark{cursor:pointer}button.pantry-mark:hover{background:var(--raised)}.pantry-mark .pantry-dot{width:.7rem;height:.7rem;margin:0;vertical-align:0}.tag-more{font-size:.85rem;vertical-align:.15rem}.also-matches{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .4rem;margin:0 0 .9rem;font-size:.88rem}.also-matches-label{color:var(--muted)}.also-name{display:inline-flex;align-items:center;gap:.2rem;margin:0;padding-right:.25rem;cursor:default}.also-remove{padding:0 .3rem;border:0;border-radius:999px;background:none;color:var(--muted);font:inherit;line-height:1.2;cursor:pointer}.also-remove:hover{background:var(--line);color:inherit}.pantry-edit .also-add{display:inline-block;flex:1 1 10rem;width:auto;min-width:0;margin:0;padding:.3rem .5rem;font-size:.88rem}.shopping{max-width:48rem}.regulars{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .1rem;margin:-.25rem 0 1.25rem}.shopping-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.shopping-item{display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--line)}.shopping-item .tickable{flex:1;min-width:0;padding-block:.55rem}.shopping-item-body{display:flex;flex:1;flex-direction:column;min-width:0}.shopping-have .shopping-item{padding:.5rem .4rem}.shopping-name{overflow-wrap:anywhere}.shopping-note{color:#b26a00;font-size:.85rem}.shopping-sources{overflow:hidden;color:var(--muted);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.shopping-remove{flex-shrink:0;padding:.35rem .55rem;font-size:1.1rem}.shopping-cart .shopping-item{opacity:.75}.shopping-have{margin:1.5rem 0}.shopping-have summary{margin-bottom:.5rem;color:var(--muted);font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.shopping-done{margin:1.5rem 0 0}.recipe-picker{margin-bottom:1rem;padding:.9rem;border:1px solid var(--line);border-radius:.6rem;background:var(--raised)}.recipe-picker-list{overflow-y:auto;max-height:18rem;margin:.75rem 0;padding:0;list-style:none}.recipe-picker-list label{display:flex;align-items:center;gap:.55rem;padding:.4rem .2rem;cursor:pointer}.past-lists{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}.past-lists h2{margin:0 0 .5rem;font-size:1.1rem}.past-list{border-bottom:1px solid var(--line)}.past-list summary{display:flex;justify-content:space-between;gap:1rem;padding:.6rem .2rem;cursor:pointer}.past-list[open]{padding-bottom:.9rem}.past-items{margin:0 0 .75rem;padding:0;list-style:none;columns:2 14rem;column-gap:1.5rem}.past-items li{display:flex;justify-content:space-between;gap:.75rem;padding:.2rem;font-size:.92rem;break-inside:avoid}.past-items .not-bought{color:var(--muted)}.pantry-list-note{margin:-.25rem 0 .5rem;font-size:.85rem;color:var(--muted)}.pantry-summary .btn-link{font-size:inherit;color:canvastext;opacity:1;font-weight:600}.welcome{max-width:56rem;margin:.5rem auto 3rem}.welcome-hero h1{margin:0 0 .5rem;font-size:clamp(1.75rem,5vw,2.4rem);letter-spacing:-.02em}.welcome-hero p{max-width:38rem;margin:0;color:var(--muted);font-size:1.05rem;line-height:1.55}.welcome-diagram{display:flex;align-items:center;justify-content:center;gap:1rem;margin:2rem 0 2.5rem;padding:1.5rem 1rem;border:1px solid var(--line);border-radius:1rem;background:var(--raised)}.wd-inputs,.wd-outputs{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}.wd-inputs li,.wd-outputs li{display:flex;align-items:center;gap:.45rem;padding:.4rem .75rem;border:1px solid var(--line);border-radius:999px;background:canvas;font-size:.9rem;font-weight:550;white-space:nowrap}.wd-outputs li{color:var(--muted);font-weight:450;font-size:.82rem}.wd-icon{width:1.1em;height:1.1em;flex:none}.wd-arrow{flex:none;width:2rem;height:2px;background:canvastext;position:relative}.wd-arrow:after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left:7px solid canvastext;border-right:0}.wd-arrow-quiet{background:var(--line)}.wd-arrow-quiet:after{border-left-color:var(--line)}.wd-card{display:flex;flex-direction:column;gap:.5rem;width:11rem;padding:1rem;border:1.5px solid canvastext;border-radius:.75rem;background:canvas;box-shadow:0 6px 20px #0000001a}.wd-card>span,.wd-line>span{display:block;height:.45rem;border-radius:999px;background:var(--line)}.wd-card .wd-card-title{width:75%;height:.7rem;background:canvastext}.wd-card .wd-card-meta{width:45%;margin-bottom:.25rem}.wd-card .wd-line{display:flex;align-items:center;gap:.4rem;height:auto;background:none}.wd-line .pantry-dot{margin:0}.wd-line>span{flex:1}.wd-card .wd-step{height:1.6rem;margin-top:.25rem;border-radius:.35rem}@media (max-width: 40rem){.welcome-diagram{flex-direction:column;gap:.85rem}.wd-inputs,.wd-outputs{flex-direction:row;flex-wrap:wrap;justify-content:center}.wd-arrow{width:2px;height:1.5rem}.wd-arrow:after{right:auto;top:auto;left:-4px;bottom:-1px;border:5px solid transparent;border-top:7px solid canvastext;border-bottom:0}.wd-arrow-quiet:after{border-top-color:var(--line)}}.welcome-heading{margin:2.25rem 0 1rem;font-size:1.2rem}.welcome-ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));gap:1rem;margin:0;padding:0;list-style:none}.welcome-way{display:flex;flex-direction:column;align-items:flex-start;padding:1.25rem;border:1px solid var(--line);border-radius:.85rem}.welcome-way-main{border:1.5px solid canvastext;background:var(--raised)}.welcome-way-icon{width:1.75rem;height:1.75rem}.welcome-way h3{margin:.75rem 0 .35rem;font-size:1.05rem}.welcome-way p{flex:1;margin:0 0 1rem;color:var(--muted);font-size:.92rem;line-height:1.5}.welcome-more{margin:1rem 0 0;color:var(--muted);font-size:.92rem}.welcome-more a,.welcome-later a{color:inherit}.welcome-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));gap:.75rem 2rem;margin:0;padding:0;list-style:none;line-height:1.5}.welcome-points li{padding-left:.9rem;border-left:2px solid var(--line);color:var(--muted);font-size:.95rem}.welcome-points strong{color:canvastext}.welcome-later{margin-top:2.5rem;padding:1rem 1.25rem;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}.welcome-later h2{margin:0 0 .6rem;font-size:.95rem;color:canvastext}.welcome-flow{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .6rem;padding:0;list-style:none;counter-reset:flow}.welcome-flow li{counter-increment:flow;padding:.25rem .7rem;border:1px solid var(--line);border-radius:999px}.welcome-flow li:before{content:counter(flow);margin-right:.4rem;font-weight:650;color:canvastext}.welcome-later p{margin:0}.welcome-samples{margin-top:2.25rem}.welcome-samples-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem 1rem;margin-bottom:.85rem}.welcome-samples-head .welcome-heading{margin:0 0 .25rem}.welcome-samples-sub{margin:0;color:var(--muted);font-size:.92rem}.welcome-sample-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr));gap:.75rem;margin:0;padding:0;list-style:none}.welcome-sample{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:.75rem}.welcome-sample h3{margin:0 0 .2rem;font-size:.98rem}.welcome-sample-meta{margin:0;color:var(--muted);font-size:.82rem}.welcome-sample .btn{flex:none}.landing{max-width:64rem;margin:0 auto;padding:0 1rem 4rem}.landing-bar{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}.landing-brand{display:inline-flex;align-items:center;gap:.5rem;font-family:Georgia,Times New Roman,serif;font-size:1.3rem;font-weight:600}.landing-brand-logo{width:1.6rem;height:1.6rem}.landing-hero{max-width:40rem;margin:3rem auto 4rem;text-align:center}.landing-logo{width:4rem;height:4rem}.landing-hero h1{margin:1rem 0 .75rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,7vw,3.2rem);font-weight:600;letter-spacing:-.02em;line-height:1.1;text-wrap:balance}.landing-lede{margin:0 auto;max-width:34rem;color:var(--muted);font-size:1.12rem;line-height:1.55}.landing-actions{margin-top:1.75rem}.landing-actions .btn-primary,.landing-close .btn-primary{padding:.75rem 2rem;font-size:1.05rem}.landing-signin{margin:.85rem 0 0;color:var(--muted);font-size:.92rem}.landing-signin .btn-link{font-size:inherit;opacity:1}.landing-feature{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:2rem 3rem;align-items:center;padding:3rem 0;border-top:1px solid var(--line)}.landing-copy h2{margin:0 0 .6rem;font-family:Georgia,Times New Roman,serif;font-size:1.6rem;font-weight:600;letter-spacing:-.01em}.landing-copy p{margin:0;color:var(--muted);line-height:1.6}.landing-feature .welcome-diagram{margin:0}@media (max-width: 48rem){.landing-feature{grid-template-columns:minmax(0,1fr);padding:2.25rem 0}.landing-frame-recipe{max-height:24rem}}.landing-frame{border:1px solid var(--line);border-radius:1rem;background:canvas;box-shadow:0 10px 30px #0000001a}.landing-frame-recipe{max-height:32rem;overflow-y:auto;padding:1.25rem 1.25rem 1rem;overscroll-behavior:contain}.landing-frame-recipe .recipe h1{font-size:1.5rem}.landing-chat{display:flex;flex-direction:column;gap:.6rem;padding:1.25rem;border:1px solid var(--line);border-radius:1rem;background:var(--raised)}.landing-chat p{max-width:85%;margin:0;padding:.6rem .85rem;border-radius:1rem;line-height:1.45;font-size:.93rem}.landing-chat-you{align-self:flex-end;background:canvastext;color:canvas;border-bottom-right-radius:.3rem}.landing-chat-ai{align-self:flex-start;border:1px solid var(--line);background:canvas;border-bottom-left-radius:.3rem}.landing-list{padding:1.25rem;border:1px solid var(--line);border-radius:1rem}.landing-list-aisle{margin:.9rem 0 .35rem;color:var(--muted);font-size:.75rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.landing-list-aisle:first-child{margin-top:0}.landing-list ul{margin:0;padding:0;list-style:none}.landing-list li{display:flex;align-items:flex-start;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--line)}.landing-list li .tick-box{flex:none;margin-top:.15rem}.landing-list li>span:last-child{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.landing-list-have{margin:.9rem 0 0;color:var(--muted);font-size:.88rem}.landing-close{padding:3.5rem 0 1rem;border-top:1px solid var(--line);text-align:center}.landing-close h2{margin:0 0 .5rem;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:600}.landing-close p{margin:0 0 1.25rem;color:var(--muted)}.connect-steps{display:grid;gap:.6rem;margin:.75rem 0;padding-left:1.4rem;line-height:1.5}.copyable{display:flex;align-items:center;gap:.5rem}.copyable .code-line{flex:1;min-width:0}.connect code{font-family:ui-monospace,monospace;font-size:.9em}
