:root{color:#17201a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f7f5ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;font-weight:700;display:inline-flex}button:disabled{cursor:not-allowed;opacity:.55}.shell{min-height:100vh;padding:24px}.workspace{grid-template-columns:minmax(340px,430px) minmax(0,1fr);gap:20px;max-width:1320px;margin:0 auto;display:grid}.intake,.preview{background:#fffdf8;border:1px solid #ddd7c9;border-radius:8px;min-width:0}.intake{align-self:start;gap:18px;padding:18px;display:grid}.topbar{align-items:start;gap:16px;display:grid}.eyebrow,.method{color:#5f6f62;letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.75rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2rem,8vw,3.4rem);line-height:.96}h2{margin-bottom:10px;font-size:2rem;line-height:1.08}h3{margin-bottom:12px;font-size:1rem}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.metric{background:#eef3e6;border:1px solid #dce8ce;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:4px;padding:10px;display:grid}.metric span{color:#435047;font-size:.82rem}.input-panel{gap:14px;display:grid}.segmented{background:#e7e1d5;border-radius:8px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.segmented button{color:#425044;background:0 0;min-height:40px}.segmented button.active{color:#17201a;background:#fffdf8;box-shadow:0 1px 3px #17201a1f}.field{gap:7px;display:grid}.field.compact+.field.compact{margin-top:12px}.field span{color:#435047;font-size:.9rem;font-weight:800}input,textarea{color:#17201a;background:#fffefb;border:1px solid #cfc8b8;border-radius:8px;outline:none;width:100%;padding:12px}textarea{resize:vertical;min-height:320px}input:focus,textarea:focus{border-color:#2e6d4f;box-shadow:0 0 0 3px #2e6d4f24}.actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.primary,.secondary{min-height:46px}.primary{color:#fff;background:#245c45}.secondary{color:#fff;background:#243447}.message{border-radius:8px;align-items:center;gap:8px;padding:12px;line-height:1.35;display:flex}.message.error{color:#8a2d1d;background:#fff1ee;border:1px solid #f0b4a9}.message.success{color:#245c45;background:#eef8ee;border:1px solid #b8dcb7}.message.notice{color:#6c5315;background:#fff8e7;border:1px solid #ead18b}.recipe-list{border-top:1px solid #e2dccf;gap:12px;padding-top:16px;display:grid}.list-actions{align-items:center;gap:8px;display:flex}.mini-button{color:#243447;background:#f1ece1;border:1px solid #e0d7c7;min-height:34px;padding:0 12px}.saved-recipes{gap:8px;max-height:340px;padding-right:2px;display:grid;overflow:auto}.saved-recipes p{color:#5f6f62;margin:0}.saved-recipe{color:#17201a;text-align:left;background:#fffefb;border:1px solid #e0d9cb;place-items:start;gap:4px;min-height:64px;padding:10px;display:grid}.saved-recipe.active{background:#eef3e6;border-color:#9fc18d}.saved-recipe strong,.saved-recipe span{overflow-wrap:anywhere;display:block}.saved-recipe span{color:#5f6f62;font-size:.84rem;font-weight:600}.preview{min-height:calc(100vh - 48px);padding:22px}.preview.empty{color:#5f6f62;text-align:center;align-content:center;justify-items:center;display:grid}.recipe-heading{border-bottom:1px solid #e2dccf;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;padding-bottom:18px;display:grid}.recipe-heading p:last-child{color:#435047;margin-bottom:0;line-height:1.55}.recipe-heading img{aspect-ratio:4/3;object-fit:cover;border-radius:8px;width:min(220px,24vw)}.meta{flex-wrap:wrap;gap:8px;padding:16px 0;display:flex}.meta span{color:#425044;background:#f1ece1;border:1px solid #e0d7c7;border-radius:999px;padding:7px 10px;font-size:.88rem;font-weight:700}.preview-grid{grid-template-columns:minmax(520px,1.2fr) minmax(280px,.8fr);align-items:start;gap:22px;display:grid}.section-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.section-heading h3{margin-bottom:0}.icon-button{aspect-ratio:1;color:#245c45;background:#eef3e6;border:1px solid #d6e2cb;flex:none;justify-content:center;align-items:center;height:34px;padding:0;display:inline-flex}.icon-button.danger{color:#8a2d1d;background:#fff1ee;border-color:#f0b4a9}.ingredient-editor{border:1px solid #e0d9cb;border-radius:8px;grid-template-columns:minmax(64px,.45fr) minmax(76px,.55fr) minmax(150px,1.2fr) minmax(120px,.9fr) minmax(190px,1.5fr) 54px;display:grid;overflow:hidden}.ingredient-editor>div,.ingredient-editor>input,.ingredient-editor>button{border:1px solid #e8e1d4;border-top:0;border-left:0;border-radius:0;min-width:0;padding:10px}.ingredient-editor>:nth-child(6n){border-right:0}.ingredient-editor>:nth-last-child(-n+6){border-bottom:0}.table-head{color:#435047;text-transform:uppercase;background:#eef3e6;font-size:.8rem;font-weight:800}.ingredient-editor input{background:#fffefb;min-height:42px}.ingredient-editor .icon-button{place-self:stretch stretch;height:auto;min-height:42px}.steps ol{gap:10px;margin:0;padding-left:22px;display:grid}.steps li{padding-left:4px;line-height:1.55}.instructions-editor{min-height:260px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=920px){.shell{padding:14px}.workspace,.preview-grid,.recipe-heading{grid-template-columns:1fr}.preview{min-height:420px}.recipe-heading img{width:100%}}@media (width<=760px){.ingredient-editor{border:0;grid-template-columns:1fr;gap:10px;display:grid}.ingredient-editor .table-head{display:none}.ingredient-editor>input,.ingredient-editor>button{border:1px solid #cfc8b8;border-radius:8px}.ingredient-editor .icon-button{min-height:40px}}@media (width<=520px){.metrics,.actions{grid-template-columns:1fr}}
