:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17332a;background:#f8f8f4;font-size:15px}*{box-sizing:border-box}body{margin:0;line-height:1.5}.shell{max-width:1320px;margin:auto;padding:36px 28px 170px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #d9e1d9;padding-bottom:28px}.eyebrow{font-weight:700;font-size:11px;letter-spacing:.14em;color:#547266}h1{font-size:clamp(30px,4vw,48px);margin:3px 0 4px;letter-spacing:-.04em}h2{margin:0;font-size:24px;letter-spacing:-.025em}.lead,.section-heading p,.recipe-title p{margin:4px 0;color:#64756c}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.button-primary,.button-secondary{border:1px solid #b5c5bc;border-radius:10px;padding:10px 15px;font-size:13px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;white-space:nowrap}.button-primary{background:#164b3b;border-color:#164b3b;color:#fff}.button-primary:hover{background:#23624c}.button-secondary{background:#fff;color:#24503d}.button-secondary:hover{background:#edf5ee}button:disabled{opacity:.5;cursor:not-allowed}.status{background:#e9f0e9;border-radius:12px;padding:13px 17px;margin:22px 0;min-height:50px}.status.error{background:#feecec;color:#9e2323}.status.success{background:#e1f3e6;color:#1f6638}.recipe-title{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:30px 0}.summary{max-width:420px;color:#536d61;font-size:13px}.notice{border-left:4px solid #9facab;background:#f0f2ef;padding:14px 18px;border-radius:8px;margin-bottom:25px}.notice.ok{border-color:#378757;background:#eef9ef}.notice.warning{border-color:#c79536;background:#fff8e9}.notice.danger{border-color:#c64b4b;background:#fff1ef}.notice h3{font-size:14px;margin:0 0 6px}.notice ul{padding-left:18px;margin:5px 0;font-size:13px}.editor-section{background:#fff;border:1px solid #e2e8e0;border-radius:15px;box-shadow:0 3px 15px #1d4d3210;margin:26px 0;padding:20px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:18px}.section-heading p{font-size:13px}.comparison-head{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-bottom:1px solid #e4e7e3;padding:11px 12px;font-size:12px;letter-spacing:.08em;font-weight:800;text-transform:uppercase;color:#6c7d73;background:#f7f9f6;border-radius:8px}.comparison-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:14px 5px;border-bottom:1px solid #e9eeea}.comparison-row:last-child{border-bottom:0}.original{background:#f8f9f6;border-radius:10px;padding:14px;white-space:pre-wrap;font-size:13px;color:#3e5549;min-height:92px}.original .minor{color:#809087;font-size:12px}.proposed{display:grid;gap:8px}.edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.edit-grid .span-2{grid-column:span 2}.edit-grid .span-4{grid-column:span 4}label{font-size:12px;font-weight:700;color:#547064;display:grid;gap:4px}input[type=text],input[type=number],textarea{width:100%;padding:9px 10px;border:1px solid #c8d4ca;border-radius:8px;background:#fff;font:inherit;color:#1d3830}textarea{resize:vertical;min-height:100px;font-size:13px}input:focus,textarea:focus{outline:2px solid #9cccaa}.remove{justify-self:end;background:none;border:0;color:#a43f3f;text-decoration:underline;cursor:pointer;font-size:12px;padding:4px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.approval{position:fixed;bottom:0;left:0;right:0;background:#ffffffed;backdrop-filter:blur(13px);border-top:1px solid #cbd9ce;box-shadow:0 -8px 24px #182e1a14;z-index:5}.approval-inner{max-width:1320px;margin:auto;padding:16px 28px;display:flex;justify-content:space-between;align-items:center;gap:24px}.approval-message{display:grid;gap:5px}.approval-message small{color:#6b7e72}.check{display:flex;align-items:center;gap:8px;color:#324b3f;font-size:13px}.check input{accent-color:#164b3b}.tag{font-size:12px;font-weight:700;color:#476753}.field-title{font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.08em;color:#668272}@media(max-width:850px){.masthead,.recipe-title,.approval-inner{align-items:flex-start;flex-direction:column}.comparison-head{display:none}.comparison-row{grid-template-columns:1fr;gap:8px}.original:before{content:'ORIGINAL';display:block;color:#829288;font-weight:800;font-size:11px;letter-spacing:.07em;margin-bottom:10px}.proposed:before{content:'PROPOSED — EDITABLE';display:block;color:#829288;font-weight:800;font-size:11px;letter-spacing:.07em;margin-bottom:6px}.approval-inner{gap:12px;padding:13px 20px}.shell{padding:20px 15px 225px}.edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.edit-grid .span-4{grid-column:span 2}.two-col{grid-template-columns:1fr}}

.login-panel{max-width:510px;margin:45px auto;background:white;border:1px solid #dde8dd;border-radius:16px;padding:30px;box-shadow:0 8px 30px #153b2612}.login-panel h2{margin:10px 0}.login-panel p{color:#566c5f}.login-panel form{display:grid;gap:17px;margin:24px 0 18px}.login-panel small{color:#6b7e72}.signed-in{font-size:12px;color:#456653;font-weight:700}input[type=password]{width:100%;padding:9px 10px;border:1px solid #c8d4ca;border-radius:8px;background:#fff;font:inherit;color:#1d3830}input[type=password]:focus{outline:2px solid #9cccaa}
.comparison-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding-top:14px;align-items:start}
.comparison-column{display:block;min-width:0;white-space:normal;padding:14px;border-radius:10px}
.comparison-column.proposed{background:#fff}
.recipe-item{margin:0;padding:12px 0;border-bottom:1px solid #e9eeea;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.65}
.recipe-item:last-child{border-bottom:0}.recipe-item p{margin:5px 0 0}
.ingredient-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 8px}
.inline-value{display:inline-flex;align-items:baseline;gap:3px;max-width:100%;flex-wrap:wrap}
.value-text{white-space:pre-wrap;overflow-wrap:anywhere}.pencil{border:0;background:transparent;color:#547064;cursor:pointer;font-size:16px;padding:2px 4px;border-radius:4px;line-height:1.2}
.pencil:hover,.pencil:focus-visible{background:#e9f0e9;color:#164b3b;outline:2px solid #9cccaa}
.inline-value input{width:190px;max-width:100%;font-size:14px}.inline-value input[type=number]{width:100px}
.inline-value textarea{width:100%;min-height:110px}.inline-value:has(textarea){width:100%}
.inline-save,.inline-cancel{border:1px solid #b5c5bc;background:white;color:#24503d;border-radius:6px;padding:5px 9px;cursor:pointer}
.inline-save{background:#164b3b;color:white}.ingredient-section{flex-basis:100%;font-weight:700}
.method-item>.inline-value{display:flex;margin:5px 0}.method-item>.inline-value:nth-child(2){font-weight:700}
.empty-value{font-size:12px;font-weight:400;color:#7b8981}
.item-line{display:flex;align-items:baseline;gap:12px;justify-content:space-between}.item-line .pencil{flex-shrink:0}
.section-heading-row{display:flex;align-items:center;gap:12px;margin:10px 0 0}.section-title{font-size:15px;margin:14px 0 4px}
.section-heading-row .section-title{margin:0}.step-title{display:block}.step-number{display:block;margin-bottom:4px;font-size:12px}
.item-messages:empty{display:none}.item-note{padding:7px 10px;border-left:3px solid;border-radius:4px;font-size:12px;line-height:1.5;white-space:normal}
.item-note.error{background:#fff1ef;color:#952f2a;border-color:#c64b4b}.item-note.warning{background:#fff8e9;color:#745311;border-color:#c79536}
.item-editor{width:min(520px,calc(100vw - 32px));max-height:85vh;overflow:auto;padding:26px;border:1px solid #c8d4ca;border-radius:14px;color:#17332a;box-shadow:0 15px 65px #102d3340}
.item-editor::backdrop{background:#14282066}.item-editor form{display:grid;gap:14px}.item-editor h2{font-size:22px;margin-bottom:4px}
.item-editor .actions{margin-top:8px;justify-content:flex-end}.item-editor textarea{min-height:125px}
.ingredient-pair{align-items:stretch}.ingredient-pair .recipe-item{border:0;padding:10px 0 0}
.ingredient-pair .section-title{margin-top:0}.ingredient-pair .section-heading-row{margin-top:0}
.ingredient-pair .original p{margin:0}.source-note{font-size:12px;color:#6b7e72;display:block}
.ai-progress-panel{margin:0 0 24px;padding:16px 18px;border:1px solid #d9e1d9;border-radius:12px;background:#fff}
.ai-progress-panel[hidden]{display:none}.ai-progress-panel label{font-size:14px;margin-bottom:10px}
.ai-progress-panel progress{display:block;width:100%;height:12px;border:0;border-radius:8px;overflow:hidden;accent-color:#164b3b;background:#e9f0e9}
.ai-progress-panel progress::-webkit-progress-bar{background:#e9f0e9;border-radius:8px}.ai-progress-panel progress::-webkit-progress-value{background:#164b3b;border-radius:8px}
.ai-progress-panel progress::-moz-progress-bar{background:#164b3b;border-radius:8px}.ai-progress-panel small{display:block;margin-top:8px;color:#64756c}
@media(prefers-reduced-motion:no-preference){.ai-progress-panel progress::-webkit-progress-value{transition:width .45s ease}}
.save-dialog p{line-height:1.6;margin:16px 0 22px}.save-dialog .actions[hidden],.save-progress[hidden]{display:none}
.save-progress{margin:20px 0}
#ai-updates{white-space:pre-line}#recipe-notes .comparison-column{margin-top:12px}
.ingredient-actions{display:flex;gap:14px;justify-content:flex-end;align-items:center;margin-top:6px}
.ingredient-actions .remove{margin:0}.revert{border:0;background:none;color:#24503d;text-decoration:underline;cursor:pointer;font-size:12px;padding:4px}
.step-number{font-weight:700;color:#547064}.recipe-item .remove{display:block;margin-left:auto;opacity:.65}
@media(max-width:850px){.comparison-columns{grid-template-columns:1fr;gap:16px}.comparison-column.original:before,.comparison-column.proposed:before{margin-bottom:12px}.section-heading{align-items:flex-start;flex-wrap:wrap}.approval{position:static;backdrop-filter:none}.shell{padding-bottom:20px}}

:root[data-theme=light]{color-scheme:light}
:root[data-theme=dark]{color-scheme:dark;--page:#101815;--surface:#17221d;--surface-raised:#213027;--text:#e5eee7;--muted:#a5b9ac;--border:#364b3e;--accent:#a3dbb4;background:var(--page);color:var(--text)}
:root[data-theme=dark] :is(.editor-section,.login-panel,.item-editor,.ai-progress-panel,.comparison-column.proposed){background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:0 3px 20px #0002}
:root[data-theme=dark] :is(.original,.comparison-head,.status,.notice){background:var(--surface-raised);color:var(--text);border-color:var(--border)}
:root[data-theme=dark] :is(.masthead,.comparison-row,.recipe-item){border-color:var(--border)}
:root[data-theme=dark] :is(.lead,.section-heading p,.recipe-title p,.summary,.login-panel p,.login-panel small,.approval-message small,.source-note,.empty-value,.ai-progress-panel small,.save-progress small,.original .minor){color:var(--muted)}
:root[data-theme=dark] :is(label,.eyebrow,.signed-in,.pencil,.step-number,.revert,.tag,.field-title){color:var(--accent)}
:root[data-theme=dark] :is(input[type=text],input[type=number],input[type=password],textarea){background:var(--page);color:var(--text);border-color:var(--border)}
:root[data-theme=dark] :is(input,textarea):focus{outline-color:var(--accent)}
:root[data-theme=dark] .button-primary{background:var(--accent);border-color:var(--accent);color:#10261b}
:root[data-theme=dark] .button-primary:hover{background:#bce9c9;border-color:#bce9c9}
:root[data-theme=dark] .button-secondary{background:var(--surface-raised);border-color:var(--border);color:var(--text)}
:root[data-theme=dark] .button-secondary:hover{background:#2c4134}
:root[data-theme=dark] :is(.pencil:hover,.pencil:focus-visible){background:var(--surface-raised);color:var(--accent);outline-color:var(--accent)}
:root[data-theme=dark] .remove{color:#ffb4ab;opacity:1}
:root[data-theme=dark] :is(.status.error,.notice.danger,.item-note.error){background:#392325;color:#ffb4ab;border-color:#cc7774}
:root[data-theme=dark] :is(.notice.warning,.item-note.warning){background:#342d1d;color:#f3d38d;border-color:#c6a75f}
:root[data-theme=dark] :is(.status.success,.notice.ok){background:#1e3528;color:#b9e8c7;border-color:#76b88b}
:root[data-theme=dark] .approval{background:#17221df5;border-color:var(--border);box-shadow:0 -8px 24px #0003}
:root[data-theme=dark] .item-editor::backdrop{background:#0009}
:root[data-theme=dark] :is(.ai-progress-panel progress,.save-progress progress){accent-color:var(--accent);background:var(--surface-raised)}
:root[data-theme=dark] .ai-progress-panel progress::-webkit-progress-bar{background:var(--surface-raised)}
:root[data-theme=dark] .ai-progress-panel progress::-webkit-progress-value{background:var(--accent)}
:root[data-theme=dark] .ai-progress-panel progress::-moz-progress-bar{background:var(--accent)}
.ai-settings-panel>details>summary{cursor:pointer;font-weight:700;font-size:16px}
.ai-settings-panel .actions{margin-top:14px}
.settings-note{font-size:13px;color:#64756c;line-height:1.5}
.item-editor:has(textarea[name=prompt]){width:min(960px,calc(100vw - 32px))}.item-editor textarea[name=prompt]{min-height:55vh;font-family:ui-monospace,monospace;font-size:13px;line-height:1.5}
:root[data-theme=dark] :is(.settings-note,.ai-settings-panel>details>p){color:var(--muted)}
