:root{color-scheme:light;font-family:Inter,Noto Sans SC,Microsoft YaHei,sans-serif;line-height:1.5;font-weight:400;color:#1d1d1f;background:#f5efe5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top,rgba(255,255,255,.75),transparent 35%),linear-gradient(180deg,#f5efe5,#efe4d0)}button,input{font:inherit}.page{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:40px 0 56px;display:grid;grid-template-columns:230px 1fr;gap:20px;align-items:start}.sidebar-stack{display:grid;gap:12px;align-self:start}.sidebar,.sidebar-panel{background:#fffcf7d6;border:1px solid rgba(103,61,40,.12);border-radius:20px;box-shadow:0 16px 40px #51332214;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:20px 16px}.sidebar-title{margin:0 0 12px;font-size:1.1rem;font-weight:700;letter-spacing:.04em;color:#512b19}.recipe-card{padding:8px 10px;border-radius:10px;margin-bottom:6px;background:#9a5f3d12}.recipe-card.excluded{opacity:.45}.recipe-name{margin:0 0 3px;font-size:.875rem;font-weight:600;color:#4f3d31;display:flex;align-items:center;gap:5px}.recipe-tag{font-size:.68rem;font-weight:400;color:#9a5f3d;background:#9a5f3d26;padding:1px 5px;border-radius:4px;white-space:nowrap;line-height:1.6}.recipe-ingr{margin:0;font-size:.78rem;color:#7e6754;line-height:1.4}.sidebar-text{margin:0;font-size:.82rem;color:#7e6754;line-height:1.45}.sidebar-text+.sidebar-text{margin-top:8px}.sidebar-text a{color:#734229;word-break:break-all}.panel{background:#fffcf7d6;border:1px solid rgba(103,61,40,.12);border-radius:20px;box-shadow:0 16px 40px #51332214;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:24px}.panel+.panel{margin-top:20px}.hero h1,.result h2{margin:0}.eyebrow{margin:0 0 8px;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#9a5f3d}.intro,.note{margin:10px 0 0;color:#5f4b3b}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.field{display:flex;align-items:center;gap:8px;color:#4f3d31}.field span{flex-shrink:0;font-weight:600;font-size:.95rem}.number-control{position:relative;flex:1}.field input{width:100%;min-width:0;border:1px solid #dbc5ae;border-radius:12px;padding:14px 52px 14px 12px;background:#fffdfa;appearance:textfield;-moz-appearance:textfield}.field input:focus{outline:2px solid rgba(154,95,61,.25);border-color:#9a5f3d}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper{position:absolute;top:5px;right:5px;bottom:5px;width:36px;display:grid;grid-template-rows:1fr 1fr;gap:4px}.stepper-button{border:0;border-radius:8px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;line-height:1;color:#734229;background:#9a5f3d24;cursor:pointer}.stepper-button[data-step=down]{padding-bottom:2px}.stepper-button:hover{background:#9a5f3d38}.stepper-button:active{background:#9a5f3d47}.actions{display:flex;justify-content:flex-end;margin-top:18px}.actions button{border:0;border-radius:999px;padding:12px 20px;color:#fffdf8;background:linear-gradient(135deg,#9a5f3d,#734229);cursor:pointer}.actions button:hover{filter:brightness(1.06)}.summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.summary-label{margin:0;color:#7e6754;font-size:.92rem}.summary-value{margin:8px 0 0;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:700;color:#512b19}.tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}table{width:100%;border-collapse:collapse;margin-top:12px;background:#ffffff8c;border-radius:14px;overflow:hidden}th,td{padding:12px 14px;text-align:left;border-bottom:1px solid rgba(115,66,41,.08)}thead{background:#9a5f3d1a}tbody tr:last-child td{border-bottom:0}@media(max-width:820px){.page{width:min(100% - 20px,1100px);padding:20px 0 28px;grid-template-columns:1fr}.sidebar-stack{position:static;max-height:none;overflow-y:visible;order:1}.panel{padding:18px;border-radius:16px}.form-grid,.summary,.tables{grid-template-columns:1fr}.actions{justify-content:stretch}.actions button{width:100%}}
