:root{color:#2a3b46;--accent:#355b6a;--line:#d8dedf;background:#fafaf8;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:44px}a{color:inherit}header{border-bottom:1px solid var(--line);align-items:center;gap:25px;max-width:1160px;margin:auto;padding:25px 30px;display:flex}.brand{letter-spacing:-.7px;color:var(--accent);align-items:center;gap:12px;font-size:23px;font-weight:650;text-decoration:none;display:flex}header>span{color:#6c7a82;font-size:12px}header>a:last-child{text-underline-offset:4px;margin-left:auto;font-size:13px}main{max-width:1100px;margin:auto;padding:42px 30px}.intro{max-width:650px;margin-bottom:32px}.tag{text-transform:uppercase;letter-spacing:1.1px;color:#627b86;font-size:11px;font-weight:600}h1{letter-spacing:-1.2px;margin:15px 0;font-size:36px;line-height:1.2}p{line-height:1.7}.intro>p:last-child{color:#6a7981;font-size:15px}h2{letter-spacing:-.5px;margin:0;font-size:22px}h3{font-size:15px}.recipe-panel{border:1px solid var(--line);background:#fff;border-radius:12px;padding:26px}.panel-title{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.panel-title>span{color:#7b898f;font-size:11px}label{color:#556874;font-size:12px;font-weight:600;display:block}input,select,textarea{color:#2a3b46;background:#fff;border:1px solid #c9d2d6;border-radius:6px;width:100%;min-height:46px;margin-top:7px;padding:10px 12px;font-size:16px;display:block}input:focus,select:focus,textarea:focus{outline-offset:2px;outline:2px solid #597e8c}#ingredients{margin:26px 0 18px}.ingredient{border-bottom:1px solid #e8edee;grid-template-columns:22px minmax(120px,1fr) 160px 155px 44px;align-items:end;gap:16px;padding:14px 0;display:grid}.row-number{color:#a0adb3;margin-bottom:15px;font-size:12px}.remove{color:#6e7b82;background:#f8fafb;border:1px solid #e1e7e8;border-radius:6px;font-size:22px}.add{color:#537282;background:#f8fbfc;border:1px dashed #becdd3;border-radius:6px;padding:9px 18px}.options{border-top:1px solid var(--line);grid-template-columns:1.25fr 1.7fr 1fr 1fr;gap:18px;margin-top:28px;padding-top:24px;display:grid}.model-help{color:#647c87;background:#f3f7f8;border-radius:6px;padding:13px 16px;font-size:12px}.calc-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:24px;display:flex}.calc-actions button:not(.primary){color:#677a85;text-underline-offset:3px;background:0 0;border:none;font-size:12px;text-decoration:underline}.primary{background:var(--accent);color:#fff;border:0;border-radius:6px;min-height:48px;padding:12px 23px;font-size:14px;font-weight:600}.primary>span{margin-left:30px}.primary:hover{background:#274b5b}.note{color:#788a94;margin:15px 0 0;font-size:12px;line-height:1.65}.result{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:30px;padding:26px}.result-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.downloads{flex-wrap:wrap;gap:8px;display:flex}.downloads button{color:#50707f;background:#fff;border:1px solid #c4d0d6;border-radius:6px;padding:9px 14px;font-size:12px}button:disabled{opacity:.45;cursor:not-allowed}.empty{text-align:center;color:#788b96;padding:34px 20px}.empty>span{color:#c0d1d8;font-size:48px}.empty p{margin:10px 0;font-size:14px}.empty small{font-size:12px}.totals{border-top:1px solid #e5ebee;border-bottom:1px solid #e5ebee;gap:55px;margin:26px 0;padding:20px 0;display:flex}.totals>div{flex-direction:column;gap:8px;display:flex}.totals span{color:#70838e;font-size:12px}.totals strong{font-size:28px;font-weight:650}.totals strong small{font-size:15px;font-weight:400}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:right;white-space:nowrap;border-bottom:1px solid #e7edef;padding:14px 12px}th{color:#819199;font-size:11px;font-weight:600}td:first-child,th:first-child{text-align:left;white-space:normal;min-width:150px}td small{color:#93a0a7;margin-top:4px;font-size:11px;display:block}.weigh{color:#355b6a;background:#f5f9fa;font-weight:700}.warning{color:#756122;background:#fff6dd;border-radius:6px;padding:15px;font-size:13px}.error{color:#994b34;background:#fff0ec;border:1px solid #cf8a75;border-radius:6px;padding:14px;font-size:14px}.import{background:#f3f5f4;border-radius:8px;margin-top:24px;padding:20px}.import>summary{cursor:pointer;min-height:30px;font-size:13px;font-weight:600}.import p{font-size:12px}.import label{margin-top:16px}.import button{color:#3d6474;background:#fff;border:1px solid #c4d0d6;border-radius:6px;margin-top:13px;padding:10px 15px;font-size:13px}.guide{border-top:1px solid var(--line);margin-top:55px;padding-top:40px}.guide-cols{grid-template-columns:repeat(3,1fr);gap:30px;margin:18px 0 28px;display:grid}.guide p{color:#6e8089;font-size:13px}.guide details{border-top:1px solid var(--line);padding:17px 0}.guide summary{cursor:pointer;min-height:30px;font-size:13px;font-weight:600}footer{border-top:1px solid var(--line);color:#84929a;justify-content:space-between;max-width:1100px;margin:auto;padding:25px 30px;font-size:12px;display:flex}:focus-visible{outline-offset:3px;outline:2px solid #52788b}@media (width<=850px){.options{grid-template-columns:1fr 1fr}.ingredient{grid-template-columns:18px minmax(130px,1fr) 130px 130px 44px;gap:11px}.totals{gap:35px}.result-heading{flex-direction:column;align-items:start}}@media (width<=620px){header{flex-wrap:wrap;gap:12px;padding:20px}.brand{font-size:21px}header>span{margin-left:auto;font-size:11px}header>a:last-child{display:none}main{padding:30px 16px}h1{font-size:30px}.recipe-panel,.result{padding:20px}.panel-title{align-items:start;gap:15px}.panel-title>span{text-align:right;max-width:85px;line-height:1.5}h2{font-size:20px}.ingredient{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:12px;padding:20px 0}.ingredient>label:first-of-type{grid-column:1/3}.row-number{display:none}.ingredient .remove{grid-area:1/3/3;align-self:end}.options{grid-template-columns:1fr;gap:17px}.options select{min-width:0}.calc-actions{gap:10px}.primary{justify-content:space-between;width:100%;display:flex}.result-heading{gap:18px}.downloads{width:100%}.downloads button{flex:1;padding:8px;font-size:11px}.totals{justify-content:space-between;gap:15px}.totals strong{font-size:24px}.totals span{font-size:11px}.guide-cols{grid-template-columns:1fr;gap:8px}.guide{margin-top:38px;padding-top:28px}footer{flex-direction:column;gap:14px;padding:22px 20px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
