:root{--paper:#f5f1e7;--ink:#29392e;--muted:#576358;--accent:#8b3b23;--line:#c5c7b6;--surface:#fffdf6;--wash:#e8eddf;--error:#a02620}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;line-height:1.65}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.55}.skip{position:absolute;left:1rem;top:-5rem;padding:.75rem;background:var(--ink);color:white;z-index:10}.skip:focus{top:1rem}.masthead,main,footer{max-width:1184px;margin:auto}.masthead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);padding:1.25rem 0}.wordmark{text-decoration:none;font-weight:800;font-size:1.1rem;letter-spacing:-.03em;display:flex;align-items:center;gap:.5rem}.pot{font-size:2rem;line-height:1;color:var(--accent)}.edition,.eyebrow,.example-no{font-size:.75rem;font-weight:700;letter-spacing:.12em}.edition{color:var(--muted)}.intro{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:3rem;padding:2.25rem 0 2rem}.eyebrow{margin:0 0 .6rem;color:var(--accent)}h1{font-family:Georgia,"Nanum Myeongjo",serif;font-size:clamp(2.25rem,4.8vw,3.6rem);line-height:1.2;letter-spacing:-.07em;margin:0;font-weight:600}h1 em{font-style:normal;color:var(--accent)}.lede{margin:0 0 .15rem;max-width:28rem;font-size:1rem;line-height:1.8;color:var(--muted);justify-self:end}.workspace{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ink);background:var(--surface)}.recipe-input,.recipe-output{padding:1.5rem;min-width:0}.recipe-output{background:var(--wash);border-left:1px solid var(--ink)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.section-head h2{font-size:1.05rem;letter-spacing:-.03em;margin:0}.section-head>span{font-size:.7rem;color:var(--muted)}.servings{display:grid;grid-template-columns:1fr 2rem 1fr;align-items:center;gap:.75rem;margin:1.25rem 0}.servings label{font-size:.8rem;font-weight:600}.servings input{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:.25rem 0;font-size:2.25rem;line-height:1.3;font-family:Georgia,serif;color:var(--ink)}.arrow{text-align:center;font-size:1.5rem;padding-top:1rem}.preset-row{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.preset-row>span{font-size:.75rem;color:var(--muted);margin-right:.25rem}.chip{background:none;border:1px solid var(--line);border-radius:2rem;padding:.35rem .65rem;color:var(--ink);font-size:.75rem;min-height:36px}.chip:hover{background:var(--wash);border-color:var(--ink)}.hint{font-size:.73rem;color:var(--muted);margin:.65rem 0 .9rem;line-height:1.6}.row-labels,.ingredient-row{display:grid;grid-template-columns:minmax(0,1fr) 5.5rem 4.5rem 2rem;gap:.5rem}.row-labels{font-size:.7rem;color:var(--muted);margin:.75rem 0 .3rem}.ingredient-row{margin-bottom:.5rem}.ingredient-row input,.ingredient-row select{min-width:0;width:100%;height:42px;border:1px solid var(--line);background:var(--surface);border-radius:0;padding:.45rem;color:var(--ink);font-size:.85rem}.remove{padding:0;min-width:32px;border:0;background:none;color:var(--muted);font-size:1.25rem}.remove:hover{color:var(--error)}.input-actions{display:flex;justify-content:space-between;align-items:center;margin:.75rem 0 1rem}.input-actions span{font-size:.7rem;color:var(--muted)}.outline,.text-button{font-size:.8rem;padding:.6rem .85rem;min-height:44px;color:var(--ink)}.outline{background:transparent;border:1px solid var(--ink)}.outline:hover{background:var(--ink);color:white}.text-button{background:none;border:0;text-decoration:underline;text-underline-offset:4px}.primary{width:100%;background:var(--ink);color:#fffdf6;border:1px solid var(--ink);padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;font-weight:700}.primary:hover{background:#405541}.error{font-size:.8rem;color:var(--error);border-left:3px solid var(--error);padding-left:.6rem}.section-head .factor{font-size:1.5rem;color:var(--accent);font-family:Georgia,serif}.result-summary{font-size:.8rem;color:var(--muted);margin:.75rem 0 .25rem;min-height:1.5em}.result-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.7rem 0;border-bottom:1px solid #c5cdbd}.result-row .name{overflow-wrap:anywhere;font-size:.95rem}.result-row .amount{flex-shrink:0;font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums}.result-row small{display:block;font-size:.65rem;color:var(--muted);font-weight:400;text-align:right}.shopping-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin:1.5rem 0 .5rem}.shopping-head h3{font-size:.9rem;margin:0}.shopping-head span{font-size:.65rem;color:var(--muted)}.shopping{list-style:none;padding:0;margin:0}.shopping li{display:flex;justify-content:space-between;gap:1rem;font-size:.8rem;margin:.35rem 0}.shopping li span:first-child{overflow-wrap:anywhere}.shopping li span:last-child{flex-shrink:0}.rounding{font-size:.7rem;color:var(--muted);margin:1rem 0}.output-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.privacy-note{display:flex;gap:.65rem;align-items:baseline;margin:1rem 0 2.5rem;color:var(--muted)}.privacy-note>span{font-size:1rem;color:var(--accent)}.privacy-note p{font-size:.73rem;margin:0;line-height:1.75}.guide{display:grid;grid-template-columns:.7fr 1.3fr;gap:3rem;border-top:1px solid var(--ink);padding:2.5rem 0}.guide h2{font-family:Georgia,serif;font-size:2rem;letter-spacing:-.05em;line-height:1.4;margin:0}.guide ol{margin:0;padding-left:1.3rem}.guide li{padding-left:.5rem;margin-bottom:1.3rem}.guide li:last-child{margin-bottom:0}.guide h3{font-size:.95rem;margin:0 0 .4rem}.guide p,.example-grid p,.limits p{font-size:.85rem;color:var(--muted);margin:0;line-height:1.9}.examples{border-top:1px solid var(--ink);padding:2rem 0}.example-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:1.5rem}.example-no{color:var(--accent);font-size:.65rem}.example-grid h3{font-size:1rem;margin:.4rem 0 .6rem;letter-spacing:-.03em}.limits{display:grid;grid-template-columns:.7fr 1.3fr;gap:3rem;border-top:1px solid var(--line);padding:2rem 0 3rem}.limits h2{font-size:1.05rem;margin:0}.limits p+p{margin-top:.9rem}.limits .source{font-size:.72rem}.limits strong{color:var(--ink)}footer{border-top:1px solid var(--ink);display:flex;justify-content:space-between;gap:1rem;padding:1.25rem 0 2rem;font-size:.7rem;color:var(--muted)}footer nav{display:flex;gap:1rem}noscript p{padding:1rem;max-width:1184px;margin:auto;color:var(--error)}@media(max-width:1240px){.masthead,main,footer{margin-left:2rem;margin-right:2rem}}@media(max-width:760px){.intro{gap:1.5rem;padding-top:1.75rem}.workspace{grid-template-columns:1fr}.recipe-output{border-left:0;border-top:1px solid var(--ink)}.guide,.limits{grid-template-columns:1fr;gap:1.5rem}.guide h2 br{display:none}.example-grid{gap:1.25rem}.masthead,main,footer{margin-left:1rem;margin-right:1rem}.intro{grid-template-columns:1fr}.lede{justify-self:start;max-width:100%}.edition{font-size:.6rem}.recipe-input,.recipe-output{padding:1.25rem}.guide{padding:2rem 0}.example-grid{grid-template-columns:1fr}.example-grid article+article{border-top:1px solid var(--line);padding-top:1.25rem}.limits{padding-bottom:2rem}.examples .section-head{align-items:flex-start}.examples .section-head>span{max-width:7.5rem;text-align:right}footer{flex-direction:column}}@media(max-width:380px){.recipe-input,.recipe-output{padding:1rem}.row-labels,.ingredient-row{grid-template-columns:minmax(0,1fr) 4rem 3.8rem 1.8rem;gap:.35rem}.ingredient-row input,.ingredient-row select{padding:.3rem}.section-head>span{font-size:.62rem}.shopping-head{display:block}.shopping-head span{display:block}.wordmark{font-size:1rem}.edition{display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media print{body{background:white;color:black}.masthead,main,footer{max-width:none;margin:0}.masthead{padding:.5rem 0}.edition,.intro,.recipe-input,.privacy-note,.guide,.examples,.limits,footer,.output-actions,.hint,.skip{display:none!important}.workspace{display:block;border:0}.recipe-output{background:white;border:0;padding:1rem 0}.result-row{break-inside:avoid}.shopping{break-inside:avoid}.section-head h2{font-size:1.2rem}.rounding{color:#333}}
