@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=DM+Serif+Display:ital@0;1&display=swap";:root{color:#29251f;font-synthesis:none;--ink:#29251f;--paper:#f6f0e5;--cream:#eee5d5;--rust:#b44c2f;--sage:#64715b;--line:#d8cebd;background:#f6f0e5;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:DM Serif Display,serif;font-weight:400}.loader{place-items:center;height:100vh;font-family:DM Serif Display,serif;font-size:2rem;display:grid}.brand{color:var(--ink);background:0 0;border:0;padding:0;font:2rem DM Serif Display,serif}.brand span,.accent{color:var(--rust)}.brand.light{color:#fff}.login-page{grid-template-columns:1.08fr .92fr;min-height:100vh;display:grid}.login-art{color:#fff;background:#45513f;flex-direction:column;padding:48px 64px;display:flex;position:relative;overflow:hidden}.login-art:after{content:"";border:1px solid #ffffff28;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-190px;right:-120px}.art-copy{z-index:1;margin:auto 0;position:relative}.art-copy h1{margin:18px 0 32px;font-size:clamp(3.5rem,6vw,6.8rem);line-height:.91}.art-copy>p:last-child{color:#e5e5dc;max-width:500px;line-height:1.7}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:600}.grain{color:#d9a45e;font-size:2rem;position:absolute}.grain-one{top:20%;right:20%}.grain-two{bottom:17%;left:18%}.login-panel{place-items:center;padding:40px;display:grid}.login-box{width:min(410px,100%)}.login-box h2{margin-bottom:8px;font-size:2.5rem}.muted{color:#766f65}.login-box label,.recipe-form label{gap:8px;margin-top:24px;font-size:.78rem;font-weight:600;display:grid}input,textarea,select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fffaf2;border-radius:2px;outline:none;padding:13px 14px}input:focus,textarea:focus,select:focus{border-color:var(--rust);box-shadow:0 0 0 2px #b44c2f18}.primary,.secondary{border:1px solid var(--ink);padding:12px 20px;font-weight:600}.primary{background:var(--ink);color:#fff}.primary:hover{background:var(--rust);border-color:var(--rust)}.wide{justify-content:space-between;width:100%;margin-top:28px;display:flex}.demo-note{text-align:center;color:#8c8479;margin-top:18px;font-size:.72rem}.message{margin:16px 0;padding:11px 14px;font-size:.85rem}.error{color:#8c2f19;background:#f7ddd5}.success{color:#3d5c35;background:#dfe9da}header{border-bottom:1px solid var(--line);background:#f8f3e9;align-items:center;height:78px;padding:0 max(30px,5vw);display:flex}header nav{height:100%;margin-left:64px}header nav button{color:#716b62;background:0 0;border:0;border-bottom:2px solid #0000;height:100%}header nav button.active{border-color:var(--rust);color:var(--ink)}.user-menu{align-items:center;gap:14px;margin-left:auto;font-size:.85rem;display:flex}.icon-button{border:1px solid var(--line);background:0 0;border-radius:50%;width:34px;height:34px}.content{max-width:1240px;margin:auto;padding:70px 36px}.content.narrow{max-width:1080px}.page-heading{justify-content:space-between;align-items:flex-end;margin-bottom:48px;display:flex}.page-heading h1,.detail-heading h1,.form-heading h1{margin:10px 0;font-size:3.7rem;line-height:1}.recipe-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.recipe-card{border:1px solid var(--line);cursor:pointer;background:#fbf7ef;flex-direction:column;justify-content:space-between;min-height:285px;padding:26px;transition:all .2s;display:flex}.recipe-card:hover{border-color:#b2a793;transform:translateY(-4px);box-shadow:0 12px 35px #463d2f14}.card-top,.card-meta,.section-title,.detail-heading,.actions,.form-actions{justify-content:space-between;align-items:center;display:flex}.category{letter-spacing:.12em;text-transform:uppercase;color:#5e6855;background:#e5dfcf;padding:7px 10px;font-size:.66rem;font-weight:600}.arrow{font-size:1.3rem}.recipe-card h3{margin-bottom:10px;font-size:2rem}.recipe-card p{color:#777064;font-size:.88rem;line-height:1.5}.card-meta{border-top:1px solid var(--line);color:#70695e;padding-top:16px;font-size:.72rem}.empty{text-align:center;border:1px dashed #bdb3a3;padding:100px 20px}.empty-icon{color:var(--rust);font-size:3rem}.empty h2{margin-bottom:8px;font-size:2rem}.back{color:#756e64;background:0 0;border:0;margin-bottom:42px;padding:0}.detail-heading{align-items:flex-end;margin-bottom:40px}.detail-heading>div:first-child{max-width:650px}.detail-heading p{color:#716a60}.actions{gap:10px}.secondary{background:0 0}.danger-link,.remove{color:#a14430;background:0 0;border:0}.calculator{color:#fff;background:#45513f;grid-template-columns:1.3fr 1fr;align-items:center;gap:60px;margin-bottom:50px;padding:34px 38px;display:grid}.calculator h2{margin-bottom:8px;font-size:2.2rem}.calculator p:last-child{color:#d8ddcf;margin:0;line-height:1.5}.base-control{border-left:1px solid #ffffff2e;padding-left:42px}.base-control label{margin-bottom:8px;font-size:.75rem;display:block}.base-control small{color:#c2c8ba}.amount-input{color:var(--ink);background:#fff;align-items:center;margin-bottom:7px;display:flex}.amount-input input{background:#fff;border:0;font:2rem DM Serif Display,serif}.amount-input span{color:#746e65;padding-right:18px}.recipe-body{grid-template-columns:1.5fr .7fr;gap:60px;display:grid}.section-title h2,.form-section h2{margin-bottom:5px;font-size:1.8rem}.section-title>span,.section-title p{color:#797267;font-size:.78rem}.ingredient-list{border-top:1px solid var(--line);margin-top:22px}.ingredient-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 4px;display:flex}.ingredient-row.base{color:var(--rust)}.ingredient-name{align-items:center;gap:10px;display:flex}.ingredient-name i{letter-spacing:.12em;border:1px solid;padding:3px 5px;font-size:.55rem;font-style:normal}.ingredient-row strong{font-size:1.05rem}.ingredient-row small{color:#82796e;font-weight:400}aside{background:#ebe2d2;height:max-content;padding:30px}.notes{white-space:pre-wrap;line-height:1.65}.yield{border-top:1px solid #cfc4b2;gap:5px;margin-top:24px;padding-top:18px;font-size:.75rem;display:grid}.yield strong{font-size:1rem}.form-heading{margin-bottom:42px}.recipe-form{gap:24px;display:grid}.form-section{border:1px solid var(--line);background:#fbf7ef;padding:30px}.form-grid{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.span-2{grid-column:span 2}.ingredient-editor{gap:10px;margin-top:24px;display:grid}.ingredient-edit-row{grid-template-columns:28px 1fr 130px 120px 28px;align-items:end;gap:10px;display:grid}.ingredient-edit-row label{margin:0}.row-number{color:#9a9185;align-self:center;font-size:.75rem}.remove{padding-bottom:8px;font-size:1.5rem}.form-actions{justify-content:flex-end;gap:12px}.form-actions .secondary{background:#f6f0e5}@media (width<=850px){.login-page{grid-template-columns:1fr}.login-art{min-height:44vh;padding:32px}.art-copy h1{font-size:3.6rem}.login-panel{padding:50px 25px}.recipe-grid{grid-template-columns:1fr 1fr}.recipe-body{grid-template-columns:1fr}.calculator{grid-template-columns:1fr;gap:25px}.base-control{border-top:1px solid #ffffff2e;border-left:0;padding:22px 0 0}.detail-heading{align-items:flex-start;gap:20px}.ingredient-edit-row{grid-template-columns:24px 1fr 90px}.ingredient-edit-row label:nth-of-type(3){grid-column:2/4}.remove{grid-area:1/4}}@media (width<=560px){header{padding:0 20px}header nav,.user-menu span{display:none}.content{padding:45px 20px}.page-heading{align-items:flex-start;gap:25px}.page-heading h1,.detail-heading h1,.form-heading h1{font-size:2.8rem}.recipe-grid{grid-template-columns:1fr}.detail-heading{display:block}.actions{justify-content:flex-start;margin-top:20px}.calculator{padding:25px}.form-section{padding:22px 16px}.form-grid{display:block}.span-2{grid-column:auto}.ingredient-edit-row{grid-template-columns:22px 1fr 72px}.ingredient-edit-row label:nth-of-type(3){grid-column:2/4}.section-title{align-items:flex-start;gap:10px}}.page-heading h1,.detail-heading h1,.form-heading h1{font-size:2.9rem}.recipe-card h3{font-size:1.65rem}.section-title h2,.form-section h2{font-size:1.5rem}.login-box h2{font-size:2.1rem}.calculation-controls{grid-template-columns:1fr;gap:18px;display:grid}.calculation-controls .base-control{border:0;padding:0}.calculation-controls .base-control+.base-control{border-top:1px solid #ffffff2e;padding-top:18px}.calculation-controls .amount-input input{min-width:0}.recipe-comparison{border:1px solid var(--line);background:var(--line);grid-template-columns:1fr 1fr;gap:1px;margin:20px -8px 0;display:grid}.recipe-version{background:#fbf7ef;min-width:0;padding:14px 10px}.adjusted-version{background:#f1e8d8}.version-heading{gap:4px;padding-bottom:12px;display:grid}.version-heading span{color:#766f65;letter-spacing:.14em;text-transform:uppercase;font-size:.62rem;font-weight:600}.version-heading strong{font-size:.7rem}.recipe-version .ingredient-list{margin-top:0}.recipe-version .ingredient-row{align-items:start;gap:5px;padding:13px 2px;display:grid}.recipe-version .ingredient-name{overflow-wrap:anywhere;gap:4px;min-width:0;font-size:.76rem;display:grid}.recipe-version .ingredient-name i{width:max-content}.recipe-version .ingredient-row strong{white-space:nowrap;font-size:.92rem}.detail-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:36px;display:flex}.detail-toolbar .back{margin-bottom:0}.compact-actions{align-items:center;gap:6px;display:flex}.compact-action{border:1px solid var(--line);color:#696258;background:0 0;border-radius:2px;align-items:center;gap:5px;padding:6px 9px;font-size:.7rem;display:inline-flex}.compact-action:hover{border-color:var(--ink);color:var(--ink)}.compact-action.delete{color:#a14430;border-color:#0000}.compact-action.delete:hover{background:#f7e5df;border-color:#d6a89c}.add-ingredient{color:#625b52;background:0 0;border:1px dashed #b8ad9c;width:100%;margin-top:16px;padding:10px;font-size:.78rem;font-weight:600}.add-ingredient:hover{border-color:var(--rust);color:var(--rust);background:#b44c2f08}.title-with-action{align-items:center;gap:14px;display:flex}.title-with-action h1{margin-right:0}.new-recipe-compact{border:1px solid var(--ink);background:var(--ink);color:#fff;white-space:nowrap;padding:7px 10px;font-size:.7rem;font-weight:600}.new-recipe-compact:hover{border-color:var(--rust);background:var(--rust)}.recipe-search{border-bottom:1px solid #9e9588;flex:1;align-items:center;width:100%;max-width:none;margin-left:clamp(24px,6vw,80px);display:flex}.recipe-search>span{color:#777064;font-size:1.25rem}.recipe-search input{box-shadow:none;background:0 0;border:0;padding:10px}.recipe-search input:focus{box-shadow:none;border:0}.search-empty{margin-top:20px}@media (width<=560px){header{z-index:10;height:64px;padding:0 16px;position:sticky;top:0}header .brand{font-size:1.7rem}.content{padding:30px 16px}.detail-toolbar{margin-bottom:26px}.back{margin-bottom:28px}.detail-toolbar .back{margin-bottom:0;font-size:.72rem}.compact-action{justify-content:center;width:32px;height:32px;padding:0;font-size:.9rem}.compact-action span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.page-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px;display:grid}.title-with-action{gap:9px}.title-with-action h1{white-space:nowrap}.new-recipe-compact{padding:6px 8px}.new-recipe-compact span{display:none}.recipe-search{width:100%;margin-left:0}.recipe-card{min-height:240px;padding:22px}.detail-heading{margin-bottom:28px}.calculator{margin:0 -16px 28px;padding:16px;display:block}.calculator-intro .eyebrow{margin-bottom:5px;font-size:.6rem}.calculator-intro>p:last-child{display:none}.page-heading h1,.detail-heading h1,.form-heading h1{font-size:2.15rem}.recipe-card h3{font-size:1.45rem}.section-title h2,.form-section h2{font-size:1.3rem}.login-box h2{font-size:1.8rem}.empty h2{font-size:1.55rem}.calculation-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:14px}.calculation-controls .base-control+.base-control{border-top:0;padding-top:0}.base-control label{min-height:28px;margin-bottom:5px;font-size:.66rem;line-height:1.25}.base-control small{margin-top:4px;font-size:.61rem;line-height:1.25;display:block}.amount-input{margin-bottom:0}.amount-input input{min-width:0;padding:8px 9px;font-size:1.25rem}.amount-input span{padding-right:8px;font-size:.68rem}.recipe-body{gap:28px}.form-actions{background:var(--paper);padding:12px 0;position:sticky;bottom:0}.form-actions button{flex:1}.ingredient-editor{gap:8px}.ingredient-edit-row{grid-template-columns:16px minmax(0,1fr) 66px 68px 24px;align-items:end;gap:5px}.ingredient-edit-row label,.ingredient-edit-row label:nth-of-type(3){grid-column:auto;min-width:0;margin:0;font-size:0;display:block}.ingredient-edit-row input,.ingredient-edit-row select{min-width:0;height:36px;padding:6px;font-size:.72rem}.ingredient-edit-row .row-number{font-size:.65rem}.ingredient-edit-row .remove{grid-area:auto;height:36px;padding:4px 0;font-size:1.2rem}}@media (width>=700px){.calculation-controls{grid-template-columns:1fr 1fr;gap:20px}.calculation-controls .base-control+.base-control{border-top:0;padding-top:0}.recipe-comparison{margin-left:0;margin-right:0}.recipe-version{padding:22px}.version-heading{justify-content:space-between;align-items:center;gap:8px;padding-bottom:14px;display:flex}.version-heading span{font-size:.68rem}.version-heading strong{font-size:.78rem}.recipe-version .ingredient-row{align-items:center;display:flex}.recipe-version .ingredient-name{font-size:inherit;align-items:center;display:flex}}
