@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--ink:#283f32;--green:#365b44;--cream:#f8f5ed;--muted:#687368;--line:#dddcd1}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}header{max-width:1160px;margin:auto;padding:30px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}a{color:inherit}.brand{text-decoration:none;font:600 30px 'Playfair Display',Georgia,serif}.brand span{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:2.1px;margin-top:7px}.pill{font-size:10px;letter-spacing:1.8px;border:1px solid #c6cbbb;padding:10px 14px;border-radius:20px}main{max-width:1160px;margin:auto;padding:0 28px}.intro{padding:54px 0 35px;max-width:650px}.eyebrow{font-size:10px;letter-spacing:2px;color:#826344;font-weight:700}h1{font:500 62px/1.08 'Playfair Display',Georgia,serif;letter-spacing:-2px;margin:20px 0}h1 em{color:#8e6545}.intro p{font-size:16px;line-height:1.7;color:var(--muted);max-width:470px}.calculator{display:grid;grid-template-columns:1.15fr 1fr;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fffdf8;box-shadow:0 15px 40px #243c3006}.left,.right{padding:32px}.right{background:#edf0e7;border-left:1px solid var(--line)}.step{font-size:12px;color:#8c795d;display:flex;align-items:center;gap:13px}.step span{font-size:15px;font-weight:600;color:var(--ink)}.servings{display:flex;align-items:center;gap:20px;margin:22px 0 14px}.servings label{flex:1;font-size:12px;color:var(--muted)}input,select{width:100%;border:1px solid #d6d9cd;border-radius:7px;padding:11px;background:#fff;color:var(--ink);font:14px 'DM Sans',sans-serif}input:focus,select:focus{outline:2px solid #8ba084;outline-offset:1px}.servings input{margin-top:8px;font-size:24px;padding:12px}.arrow{padding-top:20px;color:#8b9b83}.quick{display:flex;gap:9px}button{cursor:pointer;border:1px solid #ccd2c3;border-radius:7px;padding:10px 13px;background:transparent;color:var(--ink);font:500 12px 'DM Sans',sans-serif}button:hover{background:#dfe5d7}button:focus-visible{outline:2px solid #365b44;outline-offset:3px}.quick button{flex:1}.ingredients-heading{margin-top:32px;margin-bottom:20px}.column-labels,.row{display:grid;grid-template-columns:85px 90px 1fr 25px;gap:8px}.column-labels{font-size:9px;letter-spacing:1px;color:var(--muted);margin-bottom:8px}.row{margin-bottom:10px}.row input,.row select{padding:10px 8px;min-width:0}.remove{border:0;padding:0;font-size:20px;color:#8b8f82}.add{width:100%;border-style:dashed;margin-top:3px}.entry-actions{display:flex;gap:15px;margin-top:15px}.entry-actions button{border:0;padding:0;text-decoration:underline;color:var(--muted);font-size:11px}.hint{font-size:11px;line-height:1.6;color:var(--muted);margin-top:20px}#error{color:#a3402e;font-size:12px}.result-heading{display:flex;justify-content:space-between;align-items:center}.factor{background:#dce5d4;border-radius:20px;padding:6px 12px;font-size:12px}h2{font:500 29px 'Playfair Display',Georgia,serif;margin:28px 0 8px}#summary{font-size:12px;color:var(--muted);margin-bottom:25px}.result-row{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #d7dfce;font-size:14px}.amount{white-space:nowrap;font-weight:600}.result-actions{display:flex;gap:10px;margin-top:28px}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#284632}#status{font-size:12px;min-height:15px}.note{padding:18px;background:#e4e9dc;border-radius:9px;margin-top:24px;font-size:11px;line-height:1.7}.note strong{font-size:12px}.note p{margin-bottom:0}.tips{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:44px 0}.tips span{font-size:9px;letter-spacing:1.5px;color:#8e6545}.tips h3{font:500 20px 'Playfair Display',Georgia,serif}.tips p{font-size:12px;line-height:1.8;color:var(--muted)}footer{border-top:1px solid var(--line);padding:24px 0 32px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}@media(max-width:760px){header{padding:20px}.pill{font-size:8px;padding:8px}main{padding:0 18px}.intro{padding-top:35px}h1{font-size:48px}.calculator{grid-template-columns:1fr}.left,.right{padding:23px}.right{border-left:0;border-top:1px solid var(--line)}.tips{grid-template-columns:1fr;gap:12px}.column-labels,.row{grid-template-columns:70px 78px 1fr 22px}footer{gap:15px;flex-direction:column}}@media print{body{background:white}header,.intro,.left,.tips,footer,.result-actions,.note,#status{display:none}.calculator{display:block;border:0;box-shadow:none}.right{background:white;border:0;padding:0}main{padding:0}.right:before{content:'Tessa Cooks — Scaled Recipe';font-size:22px;font-weight:bold}.result-row{break-inside:avoid}}
.field{display:block;font-size:12px;color:var(--muted);margin:20px 0}.field input,.field select{margin-top:8px}.field input{font-size:25px}.quick button[aria-pressed="true"]{background:var(--green);color:white}.big-result{margin:32px 0 14px;display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}.big-result #result{font:500 64px 'Playfair Display',Georgia,serif;overflow-wrap:anywhere}.big-result #resultUnit{font-size:18px}#equation{font-size:14px;color:var(--muted)}.reference{margin-top:40px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:13px 18px;border-bottom:1px solid var(--line)}th{background:#edf0e7}tr:nth-child(even){background:#fffdf8}.source{font-size:11px;line-height:1.8;color:var(--muted);margin-top:18px}button:disabled{opacity:.45;cursor:default}@media print{.reference{display:block}.right:before{content:'Tessa Cooks — Cups & Grams Conversion'}.reference .eyebrow,.source{display:none}.big-result #result{font-size:42px}}
