:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fafafa;--surface:#fff;--surface-2:#f3f3f3;--fg:#222;--muted:#666;--border:#ddd;--border-strong:#c4c4c4;--accent:#1d6f6a;--accent-fg:#fff;--accent-hover:#155753;--danger:#b04141;--shadow:0 1px 2px rgba(0,0,0,.04);--radius:6px;--gap:.75rem;--tap:44px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#161616;--surface:#1f1f1f;--surface-2:#262626;--fg:#ececec;--muted:#9a9a9a;--border:#333;--border-strong:#444;--accent:#4ec3b8;--accent-fg:#0e1f1e;--accent-hover:#66d3c9;--danger:#e07a7a;--shadow:0 1px 2px rgba(0,0,0,.4)}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:1.4}#content{max-width:720px;margin:0 auto;padding:1rem 0}h1{margin:.5rem 0;font-size:1.75rem}h2{margin:1rem 0 .5rem;font-size:1.25rem}h3{color:var(--muted);margin:.75rem 0 .25rem;font-size:1rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.page-header{justify-content:space-between;align-items:center;gap:var(--gap);flex-wrap:wrap;margin-bottom:1rem;display:flex}.empty,.error{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.error{border-color:var(--danger);color:var(--danger)}ul.recipe-list{margin:0;padding:0;list-style:none}ul.recipe-list li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:.5rem}ul.recipe-list li a{min-height:var(--tap);color:var(--fg);padding:1rem;font-weight:500;display:block}ul.recipe-list li .meal-row-main{align-items:stretch;display:flex}ul.recipe-list li .meal-row-main>a{flex:1}ul.recipe-list li .meal-row-main .row-actions{align-items:center;gap:.4rem;padding-right:.75rem;display:flex}ul.recipe-list li .meal-row-main .row-actions>a,ul.recipe-list li .meal-row-main .row-actions>button{min-height:36px;padding:.4rem .8rem;font-weight:400;display:inline-flex}ul.recipe-list li>.row-error{margin:0 1rem .75rem}.hero{text-align:center;padding:3rem 1rem}.hero p{color:var(--muted);margin-bottom:1.5rem}button,.button,.button-link{min-height:var(--tap);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;justify-content:center;align-items:center;padding:.6rem 1rem;text-decoration:none;display:inline-flex}button.primary,.button{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:500}button.primary:hover,.button:hover{background:var(--accent-hover);border-color:var(--accent-hover);text-decoration:none}button.secondary{background:var(--surface)}button.danger{color:var(--danger);border-color:var(--danger);background:var(--surface)}button.small{min-height:32px;padding:.25rem .5rem}button:disabled{opacity:.6;cursor:not-allowed}button.icon-button{width:32px;min-height:32px;color:var(--muted);background:0 0;border-color:transparent;padding:0}button.icon-button:hover{color:var(--danger);border-color:var(--border-strong);background:var(--surface)}button.icon-button svg{display:block}.button-link{color:var(--fg)}.button-link:hover{background:var(--surface-2);text-decoration:none}.form-actions{gap:var(--gap);align-items:center;margin-top:.5rem;display:flex}form.recipe-form{gap:var(--gap);flex-direction:column;display:flex}form.recipe-form label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}form.recipe-form input,form.recipe-form textarea,form.recipe-form select{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius);font:inherit;background:var(--surface);color:var(--fg);padding:.5rem}form.recipe-form input:focus,form.recipe-form textarea:focus,form.recipe-form select:focus{outline:2px solid var(--accent);outline-offset:-1px}form.recipe-form textarea{resize:none;field-sizing:content;box-sizing:border-box;width:100%;overflow:hidden}form.recipe-form input:disabled{background:var(--surface-2);color:var(--muted)}fieldset.step{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:var(--gap);box-shadow:var(--shadow);flex-direction:column;padding:.75rem;display:flex}fieldset.step legend{color:var(--muted);padding:0 .5rem}.ingredient-row{grid-template-columns:4rem 7rem 1fr auto;align-items:start;gap:.4rem;padding:.2rem 0;display:grid}.ingredient-row .qty{text-align:right}.ingredient-row .name-cell{flex-direction:column;display:flex}.ingredient-status{font-size:.75rem;line-height:1}.ingredient-status.existing{color:var(--muted)}.ingredient-status.new{color:var(--accent);font-weight:500}@media (width<=600px){.ingredient-row{grid-template-columns:4rem 1fr auto}.ingredient-row .name-cell{grid-column:1/-1}}.autocomplete{position:relative}.autocomplete>input{width:100%}.autocomplete-popup{z-index:10;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);max-height:240px;margin:2px 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px rgba(0,0,0,.15)}.autocomplete-popup li{cursor:pointer;color:var(--fg);padding:.4rem .6rem;line-height:1.3}.autocomplete-popup li.active{background:var(--surface-2)}.kbd-hint{color:var(--muted);margin-left:.4rem;font-size:.85em;font-weight:400}.recipe .source{color:var(--muted);margin-bottom:1rem;font-size:.9rem}.recipe table.recipe-steps{border-collapse:collapse;table-layout:fixed;width:100%}.recipe table.recipe-steps tr:nth-child(odd){background:var(--surface)}.recipe table.recipe-steps tr:nth-child(2n){background:var(--surface-2)}.recipe table.recipe-steps td{vertical-align:top;padding:.75rem}.recipe table.recipe-steps td.instruction{width:65%}.recipe table.recipe-steps td.ingredients{width:35%;color:var(--muted);border-left:1px solid var(--border);font-size:.95rem}.recipe table.recipe-steps td.ingredients div+div{margin-top:.15rem}.recipe table.recipe-steps td.instruction>div>:first-child{margin-top:0}.recipe table.recipe-steps td.instruction>div>:last-child{margin-bottom:0}.recipe table.recipe-steps td.instruction p{margin:.5rem 0}.recipe table.recipe-steps td.instruction ul,.recipe table.recipe-steps td.instruction ol{margin:.5rem 0;padding-left:1.25rem}.recipe table.recipe-steps td.instruction code{background:var(--bg);border-radius:3px;padding:.1rem .3rem;font-size:.9em}.recipe table.recipe-steps td.instruction pre{background:var(--bg);border-radius:var(--radius);padding:.5rem;overflow-x:auto}@media (width<=600px){.recipe table.recipe-steps,.recipe table.recipe-steps tbody,.recipe table.recipe-steps tr,.recipe table.recipe-steps td{width:100%}.recipe table.recipe-steps td.ingredients{border-left:none;border-top:1px dashed var(--border);padding-top:.5rem}}.meal-row{grid-template-columns:1fr 5rem auto;align-items:center;gap:.4rem;margin-bottom:.5rem;display:grid}.meal-tabs{gap:.4rem;margin:.5rem 0 1rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.meal-tabs .tab{min-height:var(--tap);background:var(--surface);color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;white-space:nowrap;font:inherit;padding:.5rem .9rem}.meal-tabs .tab.active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.meal-tabs .tab-mult{opacity:.85;margin-left:.3em;font-weight:500}.incomplete-summary{color:var(--danger);font-size:.9rem;font-weight:500}ul.ingredient-rows{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.ingredient-row-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.ingredient-row-card.incomplete{border-left:4px solid var(--danger)}.ingredient-row-grid{grid-template-columns:2fr 1fr 1.5fr auto;align-items:end;gap:.5rem;display:grid}@media (width<=700px){.ingredient-row-grid{grid-template-columns:1fr 1fr}}.ingredient-row-grid label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.ingredient-row-grid input[type=text]{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius);font:inherit;background:var(--surface);color:var(--fg);padding:.5rem}.ingredient-row-grid input[type=text]:disabled{background:var(--surface-2);color:var(--muted)}.ingredient-row-grid .checkbox-label{color:var(--fg);min-height:var(--tap);flex-direction:row;align-items:center;gap:.4rem;font-size:.95rem}.field-label .warn-tag{color:var(--danger);font-weight:500}.ingredient-row-actions{align-items:center;gap:.5rem;display:flex}.error.inline{box-shadow:none;padding:.25rem .5rem;font-size:.85rem}.saved-tag{color:var(--accent);font-size:.85rem;font-weight:500}