:root{color-scheme:light;--paper:#faf8f2;--surface:#fffefa;--soft:#edf2e9;--ink:#203a30;--body:#334b40;--muted:#5c6a62;--green:#1f4335;--accent:#a64525;--error:#9f2f23;--error-bg:#fff1ed;--line:#cbd3c9;--shadow:0 .4rem 1.5rem rgba(31,67,53,.08)}
*{box-sizing:border-box}html{font-size:100%}body{margin:0;background:var(--paper);color:var(--body);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Malgun Gothic",sans-serif;font-size:1rem;line-height:1.65;word-break:keep-all;overflow-wrap:anywhere}h1,h2,p,dl{margin:0}h1,h2{color:var(--ink);line-height:1.3;letter-spacing:-.035em}h1{font-size:clamp(2.1rem,7vw,4rem)}h2{font-size:clamp(1.45rem,3vw,2rem)}button,input,select{font:inherit}.container{width:min(100% - 2rem,72rem);margin-inline:auto}.skip-link{position:absolute;z-index:10;left:1rem;top:.5rem;padding:.75rem 1rem;background:var(--surface);transform:translateY(-200%)}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.site-header{border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}.brand{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .7rem;color:inherit;font-size:.8rem;font-weight:700;text-decoration:none}.brand span:first-child{font:700 1.8rem Georgia,serif;color:var(--green)}.header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.home-link{display:inline-flex;align-items:center;min-height:44px;padding:.45rem .7rem;border:1px solid var(--green);color:var(--green);font-size:.82rem;font-weight:800;text-decoration:none}.home-link:hover{text-decoration:underline}.pilot-badge{padding:.25rem .55rem;border:2px dashed var(--accent);color:var(--accent);font-size:.75rem;font-weight:800}
.intro-section{padding-block:clamp(2.5rem,7vw,5rem)}.eyebrow,.step{color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.06em}.intro-section h1{margin-top:.5rem}.lead{max-width:48rem;margin-top:1rem;font-size:clamp(1.05rem,2.4vw,1.35rem);font-weight:650}.scope-note{max-width:50rem;margin-top:.75rem;color:var(--muted);font-size:.9rem}.definition-note{padding-block:1.25rem;background:var(--green);color:#edf5f0}.definition-note strong{color:#fff}.definition-note p{margin-top:.35rem}.definition-note b{color:#fff}
.calculator-section{padding-block:clamp(2.5rem,6vw,5rem);background:var(--soft)}.section-heading{display:grid;gap:.5rem}.section-heading>p{color:var(--muted)}#cost-form{margin-top:1.5rem}.ingredient-list{display:grid;gap:1rem}.ingredient-card{min-width:0;margin:0;padding:1.1rem;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.ingredient-card legend{padding:.2rem .6rem;background:var(--green);color:#fff;font-weight:800}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:.5rem}.field{display:flex;min-width:0;flex-direction:column;gap:.35rem}.field>span:first-child{color:var(--ink);font-size:.87rem;font-weight:800}.field input,.field select{width:100%;min-height:48px;padding:.55rem .65rem;border:2px solid var(--line);background:#fff;color:var(--ink)}.field input:focus,.field select:focus{border-color:var(--green)}.field input:disabled{background:#eceeea;color:var(--muted)}.name-field,.yield-basis-field{grid-column:1/-1}.input-with-unit{display:grid;grid-template-columns:1fr auto;align-items:center;border:2px solid var(--line);background:#fff}.input-with-unit:focus-within{border-color:var(--green)}.input-with-unit input{border:0}.input-with-unit i{padding-inline:.75rem;color:var(--muted);font-style:normal;font-weight:800}.row-result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:1rem}.row-result p{padding:.7rem;background:var(--paper);border:1px solid var(--line)}.row-result span{display:block;color:var(--muted);font-size:.8rem}.row-result strong{display:block;margin-top:.15rem;color:var(--ink);font-size:1.2rem}.row-error{min-height:1.5rem;margin-top:.65rem;color:var(--error);font-size:.88rem;font-weight:700}.is-error input,.is-error select,.input-with-unit.is-error{border-color:var(--error);background:var(--error-bg)}.add-button,.remove-button{min-height:44px;border:1px solid var(--green);font-weight:750;cursor:pointer}.add-button{width:100%;margin-top:1rem;background:var(--green);color:#fff}.remove-button{margin-top:.4rem;padding-inline:.8rem;background:transparent;color:var(--green)}.remove-button[hidden]{display:none}.message{min-height:48px;margin-top:1rem;padding:.7rem .85rem;border-left:4px solid var(--line);background:var(--surface);font-weight:650}.message.is-error{border-left-color:var(--error);background:var(--error-bg);color:var(--error)}.message.is-ready{border-left-color:var(--green);color:var(--green)}
.total-panel{margin-top:1.5rem;padding:clamp(1.25rem,4vw,2rem);background:var(--green);color:#eaf2ed}.total-panel h2{margin-top:.25rem;color:#fff}.total{display:flex;align-items:baseline;gap:.35rem;margin-top:1rem}.total strong{color:#fff;font-size:clamp(2.5rem,10vw,4.5rem);line-height:1;font-variant-numeric:tabular-nums}.total span{color:#f2b39b;font-size:1.2rem;font-weight:800}.total-panel>p:last-child{margin-top:.65rem}
.formula-section{padding-block:clamp(3rem,7vw,5rem)}.formula-section h2,.example-section h2{margin-top:.35rem}.formula-list{display:grid;gap:.75rem;margin-top:1.5rem}.formula-list div{padding:1rem;border:1px solid var(--line);background:var(--surface)}.formula-list dt{color:var(--ink);font-weight:800}.formula-list dd{margin:.25rem 0 0;color:var(--muted)}.example-section{padding-block:clamp(2.5rem,6vw,4rem);background:var(--soft)}.example-section p:last-child{max-width:55rem;margin-top:1rem}.disclaimer{padding-block:2rem;background:var(--green);color:#edf5f0}.disclaimer strong{color:#fff}.disclaimer p{margin-top:.4rem}.site-footer{padding-block:2rem;color:var(--muted);font-size:.85rem}.site-footer .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1rem}
@media(min-width:42rem){.field-grid{grid-template-columns:2fr 1fr .8fr 1.2fr 1fr}.name-field{grid-column:span 2}.yield-basis-field{grid-column:span 2}.yield-rate-field{grid-column:span 1}.formula-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:64rem){.formula-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:34rem){.header-inner{align-items:flex-start;padding-block:.65rem}.brand span:last-child,.pilot-badge{display:none}}
