@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(./source-sans-3-latin-400-normal-DQi5PRDE.woff2) format("woff2"),url(./source-sans-3-latin-400-normal-RR2C27NP.woff) format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(./source-sans-3-latin-600-normal-DeckBYAU.woff2) format("woff2"),url(./source-sans-3-latin-600-normal-Ck0n4g8U.woff) format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(./source-sans-3-latin-700-normal-CkzU-mV9.woff2) format("woff2"),url(./source-sans-3-latin-700-normal-B-h9tW5h.woff) format("woff")}:root{font-family:"Source Sans 3",Arial,sans-serif;color:#30251f;background:#faf6ef;font-synthesis:none;font-weight:400;--primary:#9a3e20;--muted:#69584c;--line:#ded3c7;--error:#a12525}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a{transition:background .15s,color .15s}button{cursor:pointer;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid #9a897b;border-radius:7px;background:#fff;color:#30251f;padding:9px 15px}button:hover{background:#f2e9de}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid #9a3e20;outline-offset:3px}h1,h2,p{margin:0}h1{font-size:38px;line-height:1.16;letter-spacing:-1px;font-weight:600}h2{font-size:23px;line-height:1.25;font-weight:600;letter-spacing:-.35px}small{font-size:13px}svg{flex-shrink:0}button.primary{background:var(--primary);border-color:var(--primary);color:#fff}button.primary:hover{background:#7e2e16}.secondary{background:transparent}.topbar{background:#fffdf9;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:28px;padding:20px max(32px,calc((100vw - 1250px)/2))}.brand{display:flex;align-items:center;gap:11px;font-size:23px;font-weight:700;letter-spacing:-.6px;white-space:nowrap}.brand small{display:block;font-size:10px;letter-spacing:2px;line-height:1.1;color:var(--muted)}.brandmark{width:42px;height:42px;border-radius:12px;background:#f4e6d8;color:var(--primary);display:grid;place-items:center}.local-note{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:14px;margin-left:auto}.shell{max-width:1250px;margin:auto;padding:0 32px}.tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);margin-bottom:35px}.tabs a{display:flex;align-items:center;gap:9px;padding:20px 0 17px;color:var(--muted);border-bottom:3px solid transparent;font-weight:600}.tabs a.active{border-color:var(--primary);color:var(--primary)}.count{background:#eee4d7;border-radius:4px;padding:0 6px;font-size:12px;color:#594333}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.page-heading p:not(.eyebrow){color:var(--muted);margin-top:12px;font-size:17px}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:700;color:var(--primary);margin-bottom:9px}.feature-row{display:flex;gap:25px;margin:22px 0 30px;color:#69584c;font-size:13px}.feature-row span{display:flex;gap:6px;align-items:center}.feature-row svg{color:var(--primary)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:start}.editor{min-width:0}.paper{border:1px solid var(--line);background:#fff;border-radius:10px;padding:25px;margin-bottom:18px}.section-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}.badge{font-size:12px;background:#f5eadc;border:1px solid #e3d3bd;color:#71502f;border-radius:5px;padding:4px 9px;white-space:nowrap}.field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:14px;font-weight:600}.field input,.field select{min-width:0;width:100%;min-height:44px;border:1px solid #9a897b;background:#fff;border-radius:5px;padding:9px 11px;color:#30251f;font-size:16px;font-weight:400}.field small{font-weight:400;color:var(--muted);line-height:1.3}.field input[aria-invalid=true]{border-color:var(--error);background:#fff9f8}.field small.error,.error{color:var(--error)}.section-help{color:var(--muted);font-size:14px;line-height:1.45}.ingredients .section-top{margin-bottom:10px}.subtle{color:var(--muted);font-size:13px}.ingredient{border-top:1px solid #e9e1d8;margin-top:22px;padding-top:20px}.ingredient-head{display:flex;align-items:flex-end;gap:12px;margin-bottom:16px}.ingredient-head .field{flex:1}.row-number{font-size:12px;color:var(--muted);padding-bottom:14px;font-variant-numeric:tabular-nums}.icon-button{padding:9px;min-width:40px;border-color:transparent;color:#78564a}.quantity-grid{display:grid;grid-template-columns:1.2fr 1.1fr 1.1fr .8fr;gap:12px}.line-total{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:15px;font-size:13px;color:var(--muted)}.line-total strong{font-size:18px;color:#30251f;font-weight:600;font-variant-numeric:tabular-nums}.add-button{width:100%;margin-top:20px;border:1px dashed #9a897b;background:#fffcf7;color:var(--primary)}.yield{display:grid;grid-template-columns:1fr 165px;align-items:center;gap:22px}.yield .section-help{margin-top:8px}.summary{position:sticky;top:24px;border-radius:10px;border:1px solid #d8c6b0;background:#f1e7da;padding:25px}.summary .eyebrow{font-size:10px}.summary h2{font-size:24px}.currency-note{font-size:13px;color:var(--muted);margin-top:7px}.batch-total,.portion-total{display:flex;flex-direction:column;padding:25px 0 22px;border-bottom:1px solid #ccb9a3;gap:3px}.batch-total>span,.portion-total>span{font-weight:600;font-size:14px}.batch-total strong{font-size:49px;line-height:1.15;letter-spacing:-1.5px;overflow-wrap:anywhere}.batch-total small,.portion-total small{color:var(--muted)}.portion-total{border-bottom:none;padding-top:20px}.portion-total strong{font-size:34px;color:var(--primary);line-height:1.15;overflow-wrap:anywhere}.summary strong{font-variant-numeric:tabular-nums;font-weight:600}.cost-disclaimer{display:flex;gap:9px;font-size:13px;line-height:1.5;padding:15px 0;color:#594333}.cost-disclaimer svg{margin-top:2px}.formula{margin-top:17px;border-top:1px solid #ccb9a3;padding-top:20px}.formula>span{font-size:9px;letter-spacing:1.3px;font-weight:700;color:var(--muted)}.formula p{font-size:15px;margin:10px 0;line-height:1.55}.formula small{font-size:11px;color:var(--muted)}.save-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}.save-bar>span{font-size:13px;color:var(--muted)}.status{min-height:24px;margin-top:10px;color:#27603a;font-size:14px}.status.error{color:var(--error)}.validation,.storage-error{background:#fff4ed;border:1px solid #c89176;padding:14px;border-radius:6px;color:#853515;font-size:14px;margin-top:16px}.storage-error{display:flex;gap:12px;margin:0 0 24px}.storage-error p{margin:6px 0 12px}.storage-error button{margin:0 8px 8px 0}.row-empty{padding:28px 15px;background:#faf6ef;margin-top:20px;text-align:center;color:var(--muted)}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;padding:24px 0 30px;margin-top:50px;color:var(--muted);font-size:12px}footer span:first-child{font-weight:600}.empty{margin-top:30px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:65px 24px;display:flex;align-items:center;flex-direction:column;text-align:center;gap:16px}.empty>svg{color:var(--primary)}.empty p{max-width:420px;color:var(--muted)}.recipe-list{margin-top:30px;display:grid;gap:16px}.saved-card{display:flex;gap:20px;align-items:center;padding:25px;background:#fff;border:1px solid var(--line);border-radius:9px}.recipe-icon{background:#f4e6d8;color:var(--primary);border-radius:10px;padding:15px}.saved-card h2{overflow-wrap:anywhere}.saved-card p,.saved-card small{color:var(--muted)}.saved-cost{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap}.saved-cost strong{font-size:25px;font-weight:600}dialog{border:1px solid #c9b7a5;border-radius:12px;padding:30px;max-width:460px;width:calc(100% - 40px);color:#30251f;background:#fffcf8}dialog::backdrop{background:#30251f80}dialog p{margin:15px 0 25px;line-height:1.5;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr) 280px;gap:18px}.paper,.summary{padding:20px}.quantity-grid{grid-template-columns:1fr 1fr}.section-top{flex-wrap:wrap}.local-note{display:none}.topbar>.primary{margin-left:auto}}@media(max-width:760px){.shell{padding:0 20px}.topbar{padding:16px 20px;gap:12px}.brand{font-size:20px}.brandmark{width:35px;height:38px}.topbar button{font-size:14px;padding:8px 10px}.tabs{margin-bottom:28px;gap:24px;font-size:14px}.tabs a{padding:17px 0 14px}h1{font-size:32px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading p:not(.eyebrow){font-size:16px}.feature-row{gap:8px 15px;flex-wrap:wrap;margin:20px 0 24px;font-size:12px}.workspace{display:flex;flex-direction:column;gap:10px}.editor,.summary{width:100%}.summary{position:static}.paper{padding:20px 17px}.yield{grid-template-columns:1fr}.yield>.field{max-width:200px}.save-bar{align-items:flex-start;flex-direction:column}.save-bar .primary{width:100%}.section-top h2{font-size:21px}.summary .batch-total{padding-top:22px}.recipe-details .section-top{align-items:flex-start}.recipe-details .badge{font-size:11px}.quantity-grid{gap:13px}.field{font-size:13px}.saved-card{flex-wrap:wrap;padding:20px;gap:14px}.saved-card>div:nth-child(2){flex:1;min-width:180px}.saved-cost{margin-left:0;align-items:flex-start}.saved-card button{margin-left:auto}.recipe-icon{display:none}footer{font-size:11px;margin-top:32px}.ingredient-head{gap:8px}.row-number{display:none}.formula p{font-size:16px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
