.recipe-modal.svelte-lkem6y{width:min(560px,100vw - 2rem)}form.svelte-lkem6y{flex-direction:column;display:flex}.modal-header.svelte-lkem6y{justify-content:space-between;align-items:center;padding:1.25rem 1.5rem .5rem;display:flex}.modal-header.svelte-lkem6y h3:where(.svelte-lkem6y){font-family:var(--font-heading);color:var(--color-text-heading);margin:0;font-size:1.25rem;font-weight:700}.close-btn.svelte-lkem6y{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:color .15s,background .15s;display:flex}.close-btn.svelte-lkem6y:hover{color:var(--color-text);background:var(--color-surface-hover)}.modal-body.svelte-lkem6y{flex-direction:column;gap:1.125rem;padding:1rem 1.5rem;display:flex}.field.svelte-lkem6y{flex-direction:column;gap:.375rem;display:flex}.field-label.svelte-lkem6y{color:var(--color-text);font-size:.8125rem;font-weight:600}.required.svelte-lkem6y{color:var(--color-accent)}.field-row.svelte-lkem6y{align-items:stretch;gap:.5rem;display:flex}.field-row.svelte-lkem6y .field-input:where(.svelte-lkem6y){flex:1;min-width:0}.field-input.svelte-lkem6y{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);font-family:var(--font-body);background:#6f73ef0f;outline:none;padding:.625rem .875rem;font-size:.9375rem;transition:border-color .15s}.field-input.svelte-lkem6y:focus{border-color:var(--color-accent)}.field-input.svelte-lkem6y::placeholder{color:var(--color-text-muted)}.field-textarea.svelte-lkem6y{resize:vertical;min-height:5rem;font-family:var(--font-body);line-height:1.5}.btn-small.svelte-lkem6y{white-space:nowrap;padding:.5rem .875rem;font-size:.8125rem}.btn-small.svelte-lkem6y:disabled{opacity:.5;cursor:not-allowed}.spinner.svelte-lkem6y{animation:1s linear infinite svelte-lkem6y-spin}@keyframes svelte-lkem6y-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fill-error.svelte-lkem6y{color:#f87171;margin:.25rem 0 0;font-size:.75rem}.difficulty-pills.svelte-lkem6y{flex-wrap:wrap;gap:.5rem;display:flex}.pill.svelte-lkem6y{border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:999px;flex:1;padding:.625rem 1rem;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.pill.svelte-lkem6y:hover{border-color:var(--color-accent)}.pill.active.svelte-lkem6y{border-color:var(--color-accent);color:var(--color-accent);background:#6f73ef26}.ingredient-list.svelte-lkem6y{flex-direction:column;gap:.375rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.ingredient-row.svelte-lkem6y{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#6f73ef0f;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.9375rem;display:flex}.ingredient-text.svelte-lkem6y{flex:1}.ingredient-text.svelte-lkem6y strong:where(.svelte-lkem6y){color:var(--color-accent);margin-right:.25rem;font-weight:600}.remove-btn.svelte-lkem6y{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:color .15s,background .15s;display:flex}.remove-btn.svelte-lkem6y:hover{color:var(--color-accent);background:#6f73ef1a}.ingredient-add.svelte-lkem6y{align-items:stretch;gap:.5rem;display:flex}.quantity-input.svelte-lkem6y{flex-shrink:0;width:6rem}.name-input.svelte-lkem6y{flex:1;min-width:0}.add-btn.svelte-lkem6y{background:var(--color-primary);border-radius:var(--radius-md);color:var(--white);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0 .875rem;transition:background .15s;display:flex}.add-btn.svelte-lkem6y:hover:not(:disabled){background:var(--color-primary-hover)}.add-btn.svelte-lkem6y:disabled{opacity:.4;cursor:not-allowed}.hint.svelte-lkem6y{color:var(--color-text-muted);margin:.375rem 0 0;font-size:.75rem}.modal-actions.svelte-lkem6y{border-top:1px solid var(--color-border);justify-content:flex-end;gap:.5rem;margin-top:.5rem;padding:1rem 1.5rem 1.5rem;display:flex}.source-header.svelte-lkem6y{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.source-mode-toggle.svelte-lkem6y{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#6f73ef0f;gap:.25rem;padding:.2rem;display:flex}.mode-btn.svelte-lkem6y{border-radius:calc(var(--radius-md) - 2px);color:var(--color-text-muted);font-family:var(--font-body);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:.3rem;padding:.3rem .625rem;font-size:.75rem;font-weight:600;transition:background .15s,color .15s;display:flex}.mode-btn.svelte-lkem6y:hover{color:var(--color-text)}.mode-btn.active.svelte-lkem6y{background:var(--color-accent);color:#fff}.image-section.svelte-lkem6y{align-items:flex-start;gap:.5rem;display:flex}.image-upload-area.svelte-lkem6y{border:1.5px dashed var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:#6f73ef08;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.4rem;min-height:5rem;transition:border-color .15s,background .15s;display:flex;position:relative;overflow:hidden}.image-upload-area.svelte-lkem6y:hover{border-color:var(--color-accent);background:#6f73ef0f}.image-upload-area.has-image.svelte-lkem6y{border-style:solid;min-height:7rem}.upload-icon.svelte-lkem6y{color:var(--color-text-muted);opacity:.6}.upload-label.svelte-lkem6y{color:var(--color-accent);align-items:center;gap:.35rem;font-size:.8125rem;font-weight:600;display:flex}.upload-hint.svelte-lkem6y{color:var(--color-text-muted);font-size:.6875rem}.file-input-hidden.svelte-lkem6y{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.image-preview.svelte-lkem6y{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.image-overlay.svelte-lkem6y{color:#fff;opacity:0;background:#00000073;justify-content:center;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:600;transition:opacity .15s;display:flex;position:absolute;inset:0}.image-upload-area.svelte-lkem6y:hover .image-overlay:where(.svelte-lkem6y){opacity:1}.analyze-btn.svelte-lkem6y{flex-shrink:0;align-self:stretch;align-items:center;display:flex}
