:root{--color-bg: #faf6f0;--color-surface: #ffffff;--color-text: #2b2118;--color-muted: #6f6257;--color-accent: #c4552d;--color-accent-dark: #9e3f1d;--color-border: #e4d9cc;--color-error-bg: #fbe9e7;--color-error-text: #8c2f1b;--color-success: #3e6b3a;--radius: 10px;color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.55}.page{max-width:46rem;margin:0 auto;padding:1.5rem 1rem 3rem}.page__header h1{margin:0;font-size:2rem;letter-spacing:-.02em}.page__header-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem}.page__auth{display:flex;align-items:center;gap:.6rem}.page__auth-name{font-size:.85rem;color:var(--color-muted)}.page__auth button,.recipe-actions button,.candidates__dismiss{font:inherit;padding:.4rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:inherit;cursor:pointer}.page__auth button:hover,.recipe-actions button:hover:not(:disabled),.candidates__dismiss:hover{border-color:var(--color-accent)}.page__tagline{margin:.25rem 0 1.5rem;color:var(--color-muted)}.page__footer{margin-top:3rem;font-size:.85rem;color:var(--color-muted);border-top:1px solid var(--color-border);padding-top:1rem}.recipe-form__row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.recipe-form__field{display:flex;flex-direction:column;gap:.25rem}.recipe-form__field--grow{flex:1 1 14rem}.recipe-form label{font-size:.85rem;font-weight:600}.recipe-form input,.recipe-form select{font:inherit;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:inherit}.recipe-form input:focus-visible,.recipe-form select:focus-visible,.recipe-form button:focus-visible,.ingredient-checklist input:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.recipe-form__submit{font:inherit;font-weight:600;color:#fff;background:var(--color-accent);border:none;border-radius:var(--radius);padding:.6rem 1.2rem;cursor:pointer}.recipe-form__submit:hover:not(:disabled){background:var(--color-accent-dark)}.recipe-form__submit:disabled{opacity:.65;cursor:wait}.recipe-form__error{color:var(--color-error-text);margin:.5rem 0 0}.photo-upload{margin-top:1rem;padding-top:.75rem;border-top:1px dashed var(--color-border)}.photo-upload__label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem}.photo-upload input[type=file]{font:inherit;font-size:.9rem}.candidates{margin-top:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem 1.25rem}.candidates h2{margin:0 0 .6rem;font-size:1.1rem}.candidates__list{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.candidates__pick{font:inherit;font-weight:600;padding:.45rem .9rem;border:1px solid var(--color-accent);border-radius:999px;background:var(--color-surface);color:var(--color-accent-dark);cursor:pointer}.candidates__pick:hover{background:var(--color-accent);color:#fff}.candidates__confidence{margin-left:.45rem;font-weight:400;font-size:.8rem;color:inherit;opacity:.75}.recipe-actions{margin-top:1.25rem;display:flex;align-items:center;gap:.75rem}.recipe-actions button:disabled{opacity:.7;cursor:default}.saved-dishes{margin-top:2rem;border-top:1px solid var(--color-border);padding-top:1rem}.saved-dishes h2{font-size:1.1rem;margin:0 0 .6rem}.saved-dishes__list{list-style:none;margin:0;padding:0}.saved-dishes__list li{display:flex;align-items:center;gap:.75rem;padding:.4rem 0;border-bottom:1px dashed var(--color-border)}.saved-dishes__open{font:inherit;font-weight:600;background:none;border:none;padding:0;color:var(--color-accent-dark);cursor:pointer;text-align:left}.saved-dishes__open:hover{text-decoration:underline}.saved-dishes__meta{font-size:.8rem;color:var(--color-muted);margin-left:auto}.saved-dishes__delete{font:inherit;font-size:.8rem;background:none;border:none;color:var(--color-error-text);cursor:pointer}.saved-dishes__empty{color:var(--color-muted);font-size:.9rem}.status{margin:1rem 0 0;padding:.75rem 1rem;border-radius:var(--radius)}.status--loading{background:#f3ede4}.status--error{background:var(--color-error-bg);color:var(--color-error-text)}.recipe{margin-top:1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem 1.25rem 1rem}.recipe__header{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;justify-content:space-between}.recipe__header h2{margin:0}.recipe__source{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .6rem;border-radius:999px;background:#efe7db;color:var(--color-muted)}.recipe__source--generated{background:#e6efe4;color:var(--color-success)}.recipe__description{color:var(--color-muted)}.recipe__meta{display:flex;flex-wrap:wrap;gap:1.25rem;margin:1rem 0;padding:.75rem 1rem;background:var(--color-bg);border-radius:var(--radius)}.recipe__meta div{min-width:4rem}.recipe__meta dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.recipe__meta dd{margin:0;font-weight:600}.recipe__allergens{background:#fdf3d7;border-radius:var(--radius);padding:.6rem .9rem}.recipe h3{margin:1.25rem 0 .5rem}.ingredient-checklist{list-style:none;margin:0;padding:0}.ingredient-checklist li{display:flex;gap:.6rem;align-items:baseline;padding:.3rem 0}.ingredient-checklist input{width:1.05rem;height:1.05rem;accent-color:var(--color-accent)}.ingredient__quantity{font-weight:600}.ingredient__notes{color:var(--color-muted)}.ingredient--checked{text-decoration:line-through;color:var(--color-muted)}.steps-list{margin:0;padding-left:1.4rem}.steps-list li{padding:.35rem 0}.steps-list p{margin:0}.steps-list__meta{font-size:.85rem;color:var(--color-muted)}.recipe__notes{margin:0;padding-left:1.2rem}.recipe__disclaimer{margin-top:1.5rem;font-size:.8rem;color:var(--color-muted);border-top:1px dashed var(--color-border);padding-top:.75rem}@media(max-width:480px){.recipe-form__row{flex-direction:column;align-items:stretch}.recipe__meta{gap:.9rem}}
