@font-face{font-family:Bar Serif;src:url(/fonts/serif-500.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Bar Serif;src:url(/fonts/serif-600.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Bar Sans;src:url(/fonts/sans-400.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Bar Sans;src:url(/fonts/sans-500.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Bar Sans;src:url(/fonts/sans-600.ttf)format("truetype");font-weight:600;font-display:swap}:root{color:#193c34;font-synthesis:none;--paper:#f5f1e8;--ink:#193c34;--muted:#56624e;--line:#b9b5a5;--sage:#daddc8;--rust:#a8492d;--serif:Bar Serif, Georgia, serif;background:#f5f1e8;font-family:Bar Sans,Arial,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button{border:0}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--rust);outline-offset:4px}button{touch-action:manipulation}svg{flex-shrink:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:500}button{background:0 0}.page-width{width:calc(100% - 112px);max-width:1320px;margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;min-height:76px;display:flex}.brand{white-space:nowrap;align-items:center;gap:15px;text-decoration:none;display:flex}.brand svg{width:39px;height:42px}.brand span{font:500 38px/1 var(--serif)}nav{align-self:stretch;gap:43px;display:flex}nav button{color:#142e27;padding:0 4px;font-size:17px;position:relative}nav .nav-active:after{content:"";background:var(--rust);height:2px;position:absolute;bottom:8px;left:0;right:0}.button{border-radius:7px;justify-content:center;align-items:center;gap:12px;min-height:44px;padding:11px 24px;font-size:16px;font-weight:500;transition:background .16s,border-color .16s;display:inline-flex}.button.primary{background:var(--ink);color:var(--paper);border:1px solid var(--ink)}.button.primary:hover{background:#285347}.button.outline{border:1px solid var(--ink);background:0 0}.button.outline:hover{background:#e6e7d9}.hero{grid-template-columns:1fr 1.08fr;align-items:center;gap:38px;min-height:300px;margin-top:34px;margin-bottom:29px;display:grid}.hero h1{letter-spacing:-1.9px;margin-bottom:20px;font-size:clamp(48px,4.4vw,65px);line-height:1.02}.hero-copy>p{color:var(--muted);white-space:nowrap;font-size:17px;line-height:1.5}.hero-actions{align-items:center;gap:32px;margin-top:27px;display:flex}.hero-actions .button{min-width:228px;padding:12px 28px;font-size:18px}.underlined-button{color:var(--rust);text-underline-offset:6px;align-items:center;gap:12px;padding:0;font-size:17px;text-decoration:underline;display:inline-flex}.underlined-button:hover{color:#78331f}.hero-photo{object-fit:cover;object-position:50% 48%;border-radius:9px;width:100%;height:300px;display:block}.cabinet-banner{background:var(--sage);border-radius:8px;align-items:center;gap:26px;min-height:89px;padding:18px 27px;display:flex}.cabinet-banner>svg{box-sizing:content-box;border-right:1px solid #8b947c;height:49px;padding-right:25px}.cabinet-banner h2{margin-bottom:3px;font-size:29px;line-height:1.05}.cabinet-banner p{color:#4e5f47;font-size:16px}.cabinet-banner>.underlined-button{white-space:nowrap;margin-left:auto}.cabinet-banner>.underlined-button svg{display:none}.recipe-section{margin-top:31px;scroll-margin-top:22px}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:17px;padding-bottom:12px;display:flex}.section-heading h2{letter-spacing:-1px;font-size:52px;line-height:1.1}.section-heading>p{color:var(--muted);font-size:16px}.search-row{gap:19px;display:flex}.search-field{border:1px solid #aaa795;border-radius:7px;flex:1;align-items:center;gap:15px;min-width:0;min-height:48px;padding:0 16px;display:flex}.search-field input{background:0 0;border:0;outline:none;width:100%;min-width:0;height:46px;padding:0;font-size:17px}.search-field:focus-within{border-color:var(--ink);outline:1px solid var(--ink)}.search-field input:focus-visible{outline:none}.search-field input::placeholder{color:#69705d;opacity:1}.spirit-select{flex-shrink:0;width:242px}.spirit-select select{background:0 0;border:1px solid #aaa795;border-radius:7px;width:100%;min-height:48px;padding:0 16px;font-size:16px}.filter-row{align-items:center;gap:15px;margin:17px 0 26px;display:flex}.filter{white-space:nowrap;border:1px solid #aaa795;border-radius:7px;align-items:center;gap:10px;min-height:40px;padding:8px 22px;font-size:14px;transition:background .16s;display:flex}.filter:hover{background:#e6e7d9}.filter.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.filter span{opacity:.8;font-size:12px}.result-count{color:var(--muted);margin-left:auto;font-size:12px}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:33px 26px;display:grid}.recipe-card{min-width:0}.recipe-media{position:relative}.recipe-open{width:100%;text-align:inherit;border-radius:8px;padding:0;display:block;overflow:hidden}.recipe-open img{aspect-ratio:3/2;object-fit:cover;object-position:50% 47%;width:100%;height:auto;transition:transform .35s;display:block}.recipe-open:hover img{transform:scale(1.025)}.recipe-card .recipe-title{text-align:left;justify-content:space-between;align-items:center;width:100%;padding:7px 8px 2px;display:flex}.recipe-title h3{letter-spacing:-.35px;font-size:32px;line-height:1.1}.recipe-title>svg{opacity:0;transition:opacity .15s}.recipe-title:hover>svg{opacity:1}.recipe-ingredients{color:var(--muted);margin:2px 8px 0;font-size:14px;line-height:1.45}.recipe-taste{color:var(--muted);margin:7px 8px 8px;font-size:14px;line-height:1.55}.detail-taste{color:var(--muted);margin:16px 0;font-size:14px;line-height:1.65}.detail-taste strong{font-family:var(--serif);color:var(--ink);margin-bottom:5px;font-size:24px;font-weight:500;line-height:1.2;display:block}.recipe-origin{color:var(--rust);margin:5px 8px 3px;font-size:12px;font-weight:500;line-height:1.4}.detail-attribution{color:var(--muted);margin-bottom:18px;font-size:13px;line-height:1.6}.detail-attribution strong{color:var(--rust);font-weight:500}.detail-attribution p{margin-top:4px}.recipe-status{color:#727466;margin:8px 8px 0;font-size:13px;line-height:1.45}.recipe-status.ready{color:#316047}.favorite-button{color:#f5f1e8;background:#163b2d55;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:8px;right:8px}.favorite-button svg{stroke-width:1.7px;width:26px;height:26px}.favorite-button:hover{background:#163b2dbb}.favorite-button.is-favorite{color:#f5f1e8;background:#a8492dbb}.recipe-illustration{aspect-ratio:3/2;color:#657b65;background:#e6e5d8;border:1px solid #dadccc;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:auto;display:flex}.recipe-illustration>svg{width:57px;height:57px}.recipe-illustration>span{text-transform:uppercase;letter-spacing:2px;font-size:11px}.text-recipe .favorite-button{color:var(--ink);background:0 0}.text-recipe .favorite-button.is-favorite{color:var(--rust)}.load-more{text-align:center;flex-direction:column;align-items:center;gap:12px;margin:43px 0 48px;display:flex}.load-more>span{color:var(--muted);font-size:12px}.empty-results{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:310px;padding:35px;display:flex}.empty-results h3{font-size:34px}.empty-results p{color:var(--muted);max-width:420px;font-size:15px;line-height:1.6}.empty-results .button{margin-top:10px}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:25px;padding:25px 0 32px;font-size:12px;line-height:1.7;display:flex}.footer-dot{margin:0 6px}.site-footer a{text-underline-offset:3px;margin-left:6px}.icon-button{width:40px;height:40px;color:var(--ink);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover{background:#dfe2d2}.icon-button.small{flex-shrink:0;width:32px;height:32px}.text-button{color:var(--ink);border:0;align-items:center;gap:7px;min-height:32px;padding:0;font-size:13px;display:inline-flex}.text-button:hover{text-underline-offset:4px;text-decoration:underline}.modal{background:var(--paper);color:var(--ink);overscroll-behavior:contain;border:1px solid #b8b8a6;border-radius:12px;width:560px;max-width:calc(100% - 36px);max-height:90dvh;padding:28px 32px 24px}.modal-wide{width:740px}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10251ed0}.modal-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.modal-heading h2{font-size:40px;line-height:1.1}.modal-heading .icon-button{flex-shrink:0}.modal-intro{color:var(--muted);margin-bottom:14px;font-size:15px;line-height:1.6}.local-note{background:#e5e7da;border-radius:5px;margin-bottom:22px;padding:11px 14px;font-size:12px;line-height:1.6}.cabinet-search{margin-bottom:22px}.subheading{margin:21px 0 12px;font-size:27px;line-height:1.2}.ingredient-picker{flex-wrap:wrap;gap:8px;max-height:260px;padding:2px 3px 4px;display:flex;overflow:auto}.ingredient-picker button{text-align:left;background:#f9f6ef;border:1px solid #b3b7a5;border-radius:5px;align-items:center;gap:7px;max-width:100%;padding:9px 11px;font-size:12px;display:flex}.ingredient-picker button:hover{background:#e2e7d6}.ingredient-picker .added{color:#3c6245;opacity:.8;background:#dde5d4}.cabinet-list-heading{justify-content:space-between;align-items:center;gap:12px;margin-top:17px;display:flex}.cabinet-list-heading .subheading{margin:0}.cabinet-list-heading .subheading span{color:var(--muted);font:400 14px Bar Sans,Arial,sans-serif}.backup-actions{gap:15px;display:flex}.cabinet-list{border-top:1px solid #cecec0;margin-top:12px}.cabinet-row{border-bottom:1px solid #d8d6c9;align-items:center;gap:15px;padding:12px 0;display:flex}.cabinet-row>div{flex:1;min-width:0}.cabinet-row strong{font-size:14px;font-weight:500}.cabinet-row textarea{field-sizing:content;resize:vertical;min-height:28px;color:var(--muted);background:0 0;border:0;border-bottom:1px solid #0000;width:100%;padding:5px 0;font-size:12px;line-height:1.55;display:block}.cabinet-row textarea:focus{border-bottom:1px solid var(--rust);outline:none}.cabinet-row textarea::placeholder{opacity:.9;color:var(--muted)}.cabinet-context{color:var(--muted);margin-bottom:14px;font-size:12px;line-height:1.6}.cabinet-review{border-top:1px solid var(--line);margin-top:24px;padding-top:17px;font-size:13px;line-height:1.6}.cabinet-review summary{cursor:pointer;font-weight:500}.cabinet-review>p{color:var(--muted);margin-top:10px;font-size:12px}.cabinet-review ul{margin-bottom:0;padding-left:20px}.cabinet-review li{margin-top:10px}.cabinet-review li strong,.cabinet-review li span{display:block}.cabinet-review li span{color:var(--muted);font-size:12px}.cabinet-empty{text-align:center;border-bottom:1px solid #d8d6c9;padding:32px 12px 20px}.cabinet-empty h4{margin:6px 0;font-size:28px}.cabinet-empty p{color:var(--muted);font-size:13px;line-height:1.5}.status-message{min-height:20px;color:var(--muted);margin-top:15px;font-size:12px}.modal-footer{justify-content:flex-end;margin-top:15px;display:flex}.detail-photo{aspect-ratio:3/2;object-fit:cover;object-position:50% 46%;border-radius:7px;width:100%;height:auto;max-height:none;display:block}.detail-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;margin:12px 0 22px;font-size:13px;display:flex}.detail-controls{background:#e2e5d7;border-radius:6px;justify-content:space-between;align-items:center;padding:9px 13px;display:flex}.servings{align-items:center;gap:13px;font-size:13px;display:flex}.servings>span{margin-right:7px}.servings>strong{text-align:center;min-width:14px;font-weight:500}.servings .small{background:var(--paper)}.unit-switch{border:1px solid #a5ad97;border-radius:5px;display:flex;overflow:hidden}.unit-switch button{padding:5px 12px;font-size:12px}.unit-switch .active{background:var(--ink);color:var(--paper)}.ingredient-table{border-top:1px solid var(--line)}.ingredient-row{border-bottom:1px solid #d6d4c6;align-items:center;gap:12px;padding:13px 0;font-size:14px;display:flex}.ingredient-row>div{flex:1}.ingredient-row strong{font-size:14px;font-weight:400}.ingredient-row small{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.5;display:block}.ingredient-check{justify-content:center;width:18px;display:flex}.ingredient-check:has(svg){color:#42674c}.missing-dot{background:#b37350;border-radius:50%;width:7px;height:7px}.ingredient-amount{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;min-width:65px;font-size:14px}.add-from-recipe{border:1px solid #babcaa!important}.matching-note{color:var(--muted);margin:12px 0 22px;font-size:11px;line-height:1.6}.steps{margin:0 0 24px;padding-left:26px;font-size:14px;line-height:1.75}.steps li{margin-bottom:7px;padding-left:8px}.steps li::marker{color:var(--rust)}.garnish{background:#e2e5d7;border-radius:6px;padding:16px 18px;font-size:13px;line-height:1.6}.garnish strong{margin-bottom:4px;font-weight:500;display:block}.source-note{color:var(--muted);margin-top:22px;font-size:11px;line-height:1.7}.source-note a{text-underline-offset:3px;align-items:center;gap:3px;display:inline-flex}.muted{color:var(--muted);font-size:13px}.storage-warning{color:#8d391f;margin-top:14px;font-size:13px}.loading-dialog{background:var(--ink);color:var(--paper);border-radius:6px;padding:12px 20px;font-size:14px;position:fixed;bottom:20px;right:20px}.skip-link{background:var(--ink);color:var(--paper);z-index:100;padding:12px;position:fixed;top:-60px;left:12px}.skip-link:focus{top:12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=1500px){.hero h1{font-size:68px}}@media (width<=1200px){.page-width{width:calc(100% - 72px)}.brand span{font-size:32px}.brand svg{width:31px;height:34px}.site-header{gap:20px}nav{gap:24px}nav button{font-size:15px}.manage-button{padding:10px 17px;font-size:14px}.hero{grid-template-columns:1fr 1fr;gap:28px}.hero h1{letter-spacing:-1.3px;font-size:53px}.hero-copy>p{white-space:normal;font-size:14px}.hero-actions{gap:22px}.hero-actions .button{min-width:175px;font-size:16px}.hero-actions .underlined-button{font-size:14px}.hero-photo{height:275px}.hero{min-height:275px}.section-heading h2{font-size:46px}.recipe-title h3{font-size:29px}.recipe-ingredients{font-size:13px}.filter{padding-inline:17px}}@media (width<=850px){.page-width{width:calc(100% - 48px)}.site-header{flex-wrap:wrap;gap:15px;min-height:110px;padding-top:17px}.brand span{font-size:30px}.brand{gap:11px}.manage-button{min-height:38px;margin-left:auto;padding:7px 13px;font-size:12px}nav{flex-basis:100%;order:3;justify-content:center;gap:40px;height:42px}nav .nav-active:after{bottom:0}.hero{gap:22px;margin-top:26px}.hero h1{letter-spacing:-.9px;font-size:43px}.hero-copy>p{font-size:13px}.hero-actions{flex-direction:column;align-items:flex-start;gap:18px;margin-top:20px}.hero-actions .button{min-width:150px;min-height:42px;padding:9px 14px;font-size:14px}.hero-actions .underlined-button{font-size:13px}.hero-photo{height:260px}.cabinet-banner{gap:18px;padding:17px}.cabinet-banner>svg{width:27px;height:42px;padding-right:16px}.cabinet-banner h2{font-size:25px}.cabinet-banner p{font-size:12px;line-height:1.5}.cabinet-banner>.underlined-button{font-size:12px}.section-heading h2{font-size:40px}.section-heading>p{font-size:13px}.spirit-select{width:190px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px}.result-count{display:none}.filter-row{gap:10px}.filter{padding-inline:16px;font-size:13px}.recipe-open img,.recipe-illustration{height:auto}.site-footer{flex-direction:column;gap:5px}}@media (width<=560px){.page-width{width:calc(100% - 36px)}.site-header{min-height:106px;padding-top:16px}.brand span{font-size:29px}.brand svg{width:27px;height:30px}.brand{gap:7px}.manage-button{border-radius:5px;padding:8px 10px;font-size:11px}.hero{grid-template-columns:1fr;gap:23px;margin:26px 0 22px}.hero h1{letter-spacing:-1.2px;margin-bottom:15px;font-size:48px;line-height:1.03}.hero-copy>p{max-width:330px;font-size:14px}.hero-actions{flex-direction:row;align-items:center;gap:21px;margin-top:21px}.hero-actions .button{min-width:160px;font-size:14px}.hero-actions .underlined-button{font-size:13px}.hero-photo{height:215px}.cabinet-banner{align-items:flex-start;gap:14px;min-height:116px;padding:18px 16px 43px;position:relative}.cabinet-banner>svg{width:25px;height:39px;margin-top:3px;padding-right:14px}.cabinet-banner h2{font-size:25px}.cabinet-banner p{max-width:240px;font-size:12px;line-height:1.6}.cabinet-banner>.underlined-button{text-underline-offset:4px;font-size:12px;position:absolute;bottom:17px;left:72px}.cabinet-banner>.underlined-button svg{width:14px;display:block}.recipe-section{margin-top:27px;scroll-margin-top:16px}.section-heading{margin-bottom:15px;padding-bottom:12px}.section-heading h2{font-size:38px}.section-heading>p{display:none}.search-row{flex-direction:column;gap:11px}.search-field{gap:10px;min-height:45px;padding-inline:13px}.search-field input{height:44px;font-size:14px}.spirit-select{width:100%}.spirit-select select{min-height:42px;padding:0 11px;font-size:14px}.filter-row{gap:7px;margin:15px 0 22px;padding-bottom:3px;overflow-x:auto}.filter{gap:5px;min-height:36px;padding:7px 12px;font-size:11px}.filter span{font-size:10px}.recipe-grid{grid-template-columns:1fr;gap:28px}.recipe-open img,.recipe-illustration{height:auto}.recipe-title h3{font-size:32px}.recipe-ingredients{font-size:14px}.recipe-status{margin-top:7px;font-size:12px}.site-footer{padding-top:19px;font-size:10px}.modal{border-radius:9px;max-width:calc(100% - 20px);max-height:94dvh;padding:21px 19px}.modal-heading h2{font-size:34px}.modal-intro{font-size:13px}.local-note{padding:10px 12px;font-size:11px}.subheading{font-size:25px}.ingredient-picker{max-height:210px}.ingredient-picker button{padding:8px 9px;font-size:11px}.cabinet-list-heading{align-items:center;gap:6px}.backup-actions{gap:10px}.backup-actions .text-button{gap:5px;font-size:11px}.cabinet-list-heading .subheading{font-size:26px}.cabinet-list-heading .subheading span{font-size:12px}.detail-photo{height:auto;max-height:none}.detail-meta{gap:8px;font-size:11px}.detail-meta .text-button{gap:4px;font-size:11px}.detail-meta .text-button svg{width:15px}.ingredient-row{gap:7px;font-size:12px}.ingredient-row strong,.ingredient-amount{font-size:12px}.ingredient-row small{font-size:10px}.ingredient-check{width:14px}.ingredient-amount{min-width:50px}.add-from-recipe{width:27px!important;height:27px!important}.detail-controls{padding:8px}.servings{gap:9px;font-size:12px}.servings>span{margin-right:2px}.unit-switch button{padding:5px 9px}.empty-results{padding-inline:10px}.empty-results h3{font-size:31px}.empty-results p{font-size:13px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media (width>=851px){.site-header{position:relative}.site-header nav{height:100%;position:absolute;left:50%;transform:translate(-50%)}.brand{padding-left:16px}}@media (width>=1400px){.hero-copy{padding-left:20px}.hero h1{font-size:66px}.hero-copy>p,.hero-actions .underlined-button,.hero-actions .button{font-size:20px}.cabinet-banner>svg{padding-right:40px}.filter-row{margin-bottom:32px}}@media (width>=851px) and (width<=1050px){.site-header nav{position:static;transform:none}.brand{padding-left:0}}@media (width>=1400px){.search-field input{font-size:20px}.spirit-select select{font-size:18px}.filter{padding-inline:24px;font-size:16px}.section-heading>p,.cabinet-banner p{font-size:18px}.recipe-ingredients{font-size:16px}.recipe-status{font-size:15px}.site-header nav button{font-size:18px}}
