.star-rating.svelte-g3tu47{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.label.svelte-g3tu47{color:var(--color-text-secondary);font-size:.9rem}.stars.svelte-g3tu47{display:flex;gap:.125rem}.star.svelte-g3tu47{background:none;border:none;padding:0;font-size:1.5rem;cursor:default;color:var(--color-border);transition:transform .1s ease,color .1s ease}.star.interactive.svelte-g3tu47{cursor:pointer}.star.interactive.svelte-g3tu47:hover{transform:scale(1.1)}.star.filled.svelte-g3tu47{color:#f59e0b}.star.svelte-g3tu47:disabled{cursor:default}.clear-btn.svelte-g3tu47{background:none;border:none;color:var(--color-text-secondary);font-size:.8rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px}.clear-btn.svelte-g3tu47:hover{background:var(--color-background-tertiary);color:var(--color-text)}.readonly.svelte-g3tu47 .star:where(.svelte-g3tu47){cursor:default}.notes-section.svelte-imbycn{margin-top:2rem;background:var(--color-background-secondary);border-radius:8px;box-shadow:0 2px 4px var(--color-shadow);overflow:hidden}.notes-header.svelte-imbycn{width:100%;display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:none;border:none;color:var(--color-text-secondary);font-size:1rem;cursor:pointer;text-align:left}.notes-header.svelte-imbycn:hover{color:var(--color-text);background:var(--color-background-tertiary)}.notes-header.has-note.svelte-imbycn{color:var(--color-headline)}.notes-icon.svelte-imbycn{font-size:1.1rem}.notes-header.svelte-imbycn .toggle-icon:where(.svelte-imbycn){margin-left:auto;font-size:.7rem}.notes-form.svelte-imbycn{padding:0 1.5rem 1.5rem}.notes-form.svelte-imbycn textarea:where(.svelte-imbycn){width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-background-tertiary);color:var(--color-text);font-size:.95rem;resize:vertical;min-height:100px}.notes-form.svelte-imbycn textarea:where(.svelte-imbycn):focus{outline:none;border-color:var(--color-primary)}.notes-form.svelte-imbycn textarea:where(.svelte-imbycn)::placeholder{color:var(--color-text-secondary)}.notes-actions.svelte-imbycn{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem}.notes-hint.svelte-imbycn{font-size:.85rem;color:var(--color-text-secondary);font-style:italic}.save-note-btn.svelte-imbycn{padding:.5rem 1.25rem;background:var(--color-primary);color:var(--color-text);border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.save-note-btn.svelte-imbycn:hover:not(:disabled){background:var(--color-primary-hover);color:var(--color-background)}.save-note-btn.svelte-imbycn:disabled{opacity:.7;cursor:not-allowed}.timer-pill.svelte-1b0kt4h{position:fixed;right:0;bottom:1rem;z-index:200;background:var(--color-headline);color:var(--color-background);border:none;border-radius:24px 0 0 24px;padding:.6rem .85rem;cursor:pointer;box-shadow:0 2px 6px var(--color-shadow);display:flex;align-items:center;gap:.4rem}.timer-pill.svelte-1b0kt4h:hover{background:var(--color-headline-hover)}.badge.svelte-1b0kt4h{background:var(--color-background);color:var(--color-headline);border-radius:999px;font-size:.75rem;min-width:1.25rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .35rem;font-weight:600}.timer-panel.svelte-1b0kt4h{position:fixed;right:0;top:0;bottom:0;width:280px;z-index:200;background:var(--color-background-secondary);box-shadow:-2px 0 8px var(--color-shadow);padding:1rem;display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;animation:svelte-1b0kt4h-slideIn .2s ease-out}@keyframes svelte-1b0kt4h-slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.timer-panel.svelte-1b0kt4h header:where(.svelte-1b0kt4h){display:flex;align-items:center;justify-content:space-between}.timer-panel.svelte-1b0kt4h h3:where(.svelte-1b0kt4h){margin:0;color:var(--color-headline)}.close-btn.svelte-1b0kt4h{background:none;border:none;color:var(--color-text);font-size:1.5rem;cursor:pointer;line-height:1;padding:0 .25rem}.suggestions.svelte-1b0kt4h{display:flex;flex-direction:column;gap:.4rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.suggestions-label.svelte-1b0kt4h{margin:0;font-size:.8rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.chips.svelte-1b0kt4h{display:flex;flex-wrap:wrap;gap:.35rem}.chip.svelte-1b0kt4h{display:inline-flex;align-items:center;gap:.35rem;background:var(--color-background-tertiary);color:var(--color-text);border:1px solid var(--color-border);border-radius:999px;padding:.25rem .6rem;font-size:.85rem;cursor:pointer;max-width:100%}.chip.svelte-1b0kt4h:hover{background:var(--color-headline);color:var(--color-background);border-color:var(--color-headline)}.chip-name.svelte-1b0kt4h{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:11rem}.chip-time.svelte-1b0kt4h{font-variant-numeric:tabular-nums;font-weight:600;opacity:.85}.add-form.svelte-1b0kt4h{display:flex;flex-direction:column;gap:.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.add-form.svelte-1b0kt4h input:where(.svelte-1b0kt4h),.add-form.svelte-1b0kt4h button:where(.svelte-1b0kt4h){padding:.5rem;border-radius:4px;border:1px solid var(--color-border);background:var(--color-background-tertiary);color:var(--color-text);font-size:.95rem}.add-form.svelte-1b0kt4h button:where(.svelte-1b0kt4h){background:var(--color-headline);color:var(--color-background);border-color:var(--color-headline);cursor:pointer;font-weight:600}.add-form.svelte-1b0kt4h button:where(.svelte-1b0kt4h):hover{background:var(--color-headline-hover);border-color:var(--color-headline-hover)}.duration-row.svelte-1b0kt4h{display:flex;align-items:center;gap:.4rem}.duration-row.svelte-1b0kt4h input:where(.svelte-1b0kt4h){flex:1;min-width:0;text-align:center}.empty.svelte-1b0kt4h{color:var(--color-text-secondary);font-size:.9rem;text-align:center;margin:1rem 0 0}.timer-list.svelte-1b0kt4h{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.timer-list.svelte-1b0kt4h li:where(.svelte-1b0kt4h){background:var(--color-background-tertiary);border-radius:6px;padding:.6rem .75rem;display:flex;flex-direction:column;gap:.4rem}.timer-list.svelte-1b0kt4h li.finished:where(.svelte-1b0kt4h){background:var(--color-headline);color:var(--color-background);animation:svelte-1b0kt4h-pulse 1s ease-in-out infinite}@keyframes svelte-1b0kt4h-pulse{0%,to{opacity:1}50%{opacity:.6}}.row1.svelte-1b0kt4h{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.t-name.svelte-1b0kt4h{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-time.svelte-1b0kt4h{font-variant-numeric:tabular-nums;font-size:1.1rem}.row2.svelte-1b0kt4h{display:flex;gap:.4rem;justify-content:flex-end}.row2.svelte-1b0kt4h button:where(.svelte-1b0kt4h){background:var(--color-background-secondary);color:var(--color-text);border:1px solid var(--color-border);border-radius:4px;padding:.25rem .55rem;cursor:pointer;font-size:.85rem}.timer-list.svelte-1b0kt4h li.finished:where(.svelte-1b0kt4h) .row2:where(.svelte-1b0kt4h) button:where(.svelte-1b0kt4h){background:var(--color-background);color:var(--color-text)}.row2.svelte-1b0kt4h button.del:where(.svelte-1b0kt4h){padding:.15rem .5rem;font-size:1rem;line-height:1}.done.svelte-1b0kt4h{font-weight:700;font-size:.9rem}@media(max-width:360px){.timer-panel.svelte-1b0kt4h{width:100vw}}.recipe-page.svelte-13nu68z{max-width:900px;margin:0 auto}.recipe-header.svelte-13nu68z{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}@media(max-width:768px){.recipe-header.svelte-13nu68z{grid-template-columns:1fr}}.header-content.svelte-13nu68z h1:where(.svelte-13nu68z){margin-bottom:.5rem;color:var(--color-headline)}.meta.svelte-13nu68z{color:var(--color-text-secondary);font-size:.9rem;margin-bottom:1rem;display:flex;gap:1rem;flex-wrap:wrap}.taxonomies.svelte-13nu68z{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.category.svelte-13nu68z{background:var(--color-background-tertiary);color:var(--color-secondary);padding:.25rem .75rem;border-radius:4px;text-decoration:none;font-size:.85rem}.category.svelte-13nu68z:hover{color:var(--color-headline)}.tag.svelte-13nu68z{background:var(--color-background-tertiary);color:var(--color-text-secondary);padding:.25rem .75rem;border-radius:4px;text-decoration:none;font-size:.85rem}.tag.svelte-13nu68z:hover{color:var(--color-text)}.rating-section.svelte-13nu68z{margin-bottom:1rem}.actions.svelte-13nu68z{display:flex;gap:.75rem;flex-wrap:wrap}.edit-btn.svelte-13nu68z{padding:.5rem 1rem;background:var(--color-primary);color:var(--color-text);text-decoration:none;border-radius:4px}.edit-btn.svelte-13nu68z:hover{background:var(--color-primary-hover);color:var(--color-background)}.delete-btn.svelte-13nu68z{padding:.5rem 1rem;background:transparent;color:var(--color-error);border:1px solid var(--color-error);border-radius:4px;cursor:pointer}.delete-btn.svelte-13nu68z:hover{background:var(--color-error);color:var(--color-text)}.image-gallery.svelte-13nu68z{position:relative;border-radius:8px;overflow:hidden}.image-gallery.svelte-13nu68z img:where(.svelte-13nu68z){width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-nav.svelte-13nu68z{position:absolute;top:50%;transform:translateY(-50%);background:var(--color-modal-background);color:var(--color-text);border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.2rem}.gallery-nav.prev.svelte-13nu68z{left:10px}.gallery-nav.next.svelte-13nu68z{right:10px}.gallery-dots.svelte-13nu68z{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;gap:.5rem}.dot.svelte-13nu68z{width:10px;height:10px;border-radius:50%;background:#ffffff80;border:none;cursor:pointer}.dot.active.svelte-13nu68z{background:var(--color-text)}.description.svelte-13nu68z{font-size:1.1rem;color:var(--color-text-secondary);margin-bottom:2rem;line-height:1.8}.recipe-stats.svelte-13nu68z{display:flex;flex-wrap:wrap;gap:2rem;padding:1rem;background:var(--color-background-secondary);border-radius:8px;margin-bottom:2rem;box-shadow:0 2px 4px var(--color-shadow)}.stat.svelte-13nu68z{display:flex;flex-direction:column;gap:.25rem}.stat.svelte-13nu68z strong:where(.svelte-13nu68z){font-size:.85rem;color:var(--color-text-secondary);text-transform:uppercase}.stat.svelte-13nu68z span:where(.svelte-13nu68z){font-size:1.1rem;color:var(--color-text)}.stat.svelte-13nu68z .original:where(.svelte-13nu68z){font-size:.8rem;color:var(--color-text-secondary)}.recipe-content.svelte-13nu68z{display:grid;grid-template-columns:1fr 2fr;gap:2rem}@media(max-width:768px){.recipe-content.svelte-13nu68z{grid-template-columns:1fr}}.ingredients-section.svelte-13nu68z,.steps-section.svelte-13nu68z{background:var(--color-background-secondary);padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px var(--color-shadow)}.ingredients-header.svelte-13nu68z{margin-bottom:1rem}.ingredients-header.svelte-13nu68z h2:where(.svelte-13nu68z){color:var(--color-headline);margin-bottom:.75rem}.steps-section.svelte-13nu68z h2:where(.svelte-13nu68z){margin-bottom:1rem;color:var(--color-headline)}.controls-row.svelte-13nu68z{display:flex;flex-direction:column;gap:.75rem}.scale-controls.svelte-13nu68z,.unit-controls.svelte-13nu68z{display:flex;flex-direction:column;gap:.5rem}.control-label.svelte-13nu68z{font-size:.85rem;color:var(--color-text-secondary)}.control-buttons.svelte-13nu68z{display:flex;flex-wrap:wrap;gap:.25rem}.control-btn.svelte-13nu68z{padding:.25rem .5rem;background:var(--color-background-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;font-size:.85rem;min-width:2.5rem}.control-btn.svelte-13nu68z:hover{background:var(--color-border);color:var(--color-text)}.control-btn.active.svelte-13nu68z{background:var(--color-primary);color:var(--color-text);border-color:var(--color-primary)}.scale-input.svelte-13nu68z{width:3.5rem;padding:.25rem .5rem;background:var(--color-background-tertiary);border:1px solid var(--color-primary);border-radius:4px;color:var(--color-text);font-size:.85rem;text-align:center}.scale-input.svelte-13nu68z:focus{outline:none}.scale-input.svelte-13nu68z::-webkit-outer-spin-button,.scale-input.svelte-13nu68z::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.scale-input[type=number].svelte-13nu68z{-moz-appearance:textfield}.ingredients-list.svelte-13nu68z{list-style:none}.ingredients-list.svelte-13nu68z li:where(.svelte-13nu68z){padding:.5rem 0;border-bottom:1px solid var(--color-border);color:var(--color-text)}.ingredients-list.svelte-13nu68z li:where(.svelte-13nu68z):last-child{border-bottom:none}.ingredients-list.svelte-13nu68z li.converted:where(.svelte-13nu68z) .amount:where(.svelte-13nu68z),.ingredients-list.svelte-13nu68z li.converted:where(.svelte-13nu68z) .unit:where(.svelte-13nu68z){color:var(--color-secondary)}.amount.svelte-13nu68z{font-weight:600}.unit.svelte-13nu68z{color:var(--color-text-secondary)}.name.svelte-13nu68z a:where(.svelte-13nu68z){color:var(--color-headline)}.name.svelte-13nu68z a:where(.svelte-13nu68z):hover{color:var(--color-headline-hover)}.notes.svelte-13nu68z{color:var(--color-text-secondary);font-style:italic}.steps-list.svelte-13nu68z{padding-left:1.5rem;color:var(--color-text)}.steps-list.svelte-13nu68z li:where(.svelte-13nu68z){margin-bottom:1.5rem}.steps-list.svelte-13nu68z li:where(.svelte-13nu68z) p:where(.svelte-13nu68z){margin-bottom:.25rem}.duration.svelte-13nu68z{font-size:.85rem;color:var(--color-text-secondary)}.empty.svelte-13nu68z{color:var(--color-text-secondary)}.modal-overlay.svelte-13nu68z{position:fixed;inset:0;background:var(--color-modal-background);display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-13nu68z{background:var(--color-background-secondary);padding:2rem;border-radius:8px;max-width:400px;width:90%}.modal.svelte-13nu68z h3:where(.svelte-13nu68z){margin-bottom:.5rem;color:var(--color-text)}.modal.svelte-13nu68z p:where(.svelte-13nu68z){color:var(--color-text-secondary);margin-bottom:1.5rem}.modal-actions.svelte-13nu68z{display:flex;justify-content:flex-end;gap:.75rem}.cancel-btn.svelte-13nu68z{padding:.5rem 1rem;background:var(--color-background-tertiary);color:var(--color-text);border:none;border-radius:4px;cursor:pointer}.cancel-btn.svelte-13nu68z:hover{background:var(--color-border)}.confirm-delete-btn.svelte-13nu68z{padding:.5rem 1rem;background:var(--color-error);color:var(--color-text);border:none;border-radius:4px;cursor:pointer}.step-images-toggle.svelte-13nu68z{display:inline-flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--color-text-secondary);font-size:.85rem;cursor:pointer;padding:.25rem 0;margin-top:.5rem}.step-images-toggle.svelte-13nu68z:hover{color:var(--color-text)}.toggle-icon.svelte-13nu68z{font-size:.7rem;width:1rem}.step-images-gallery.svelte-13nu68z{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:.75rem;padding:1rem;background:var(--color-background-tertiary);border-radius:8px}.step-image-btn.svelte-13nu68z{background:none;border:none;padding:0;cursor:pointer;border-radius:6px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.step-image-btn.svelte-13nu68z:hover{transform:scale(1.02);box-shadow:0 4px 12px var(--color-shadow)}.step-images-gallery.svelte-13nu68z img:where(.svelte-13nu68z){width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;display:block}.lightbox-overlay.svelte-13nu68z{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000;padding:2rem}.lightbox-close.svelte-13nu68z{position:absolute;top:1rem;right:1rem;background:#ffffff1a;color:#fff;border:none;width:48px;height:48px;border-radius:50%;font-size:2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.lightbox-close.svelte-13nu68z:hover{background:#fff3}.lightbox-image.svelte-13nu68z{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #00000080}.add-to-list-wrapper.svelte-13nu68z{position:relative}.add-to-list-btn.svelte-13nu68z{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-background-tertiary);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;font-size:1rem}.add-to-list-btn.svelte-13nu68z:hover{background:var(--color-border)}.list-popover.svelte-13nu68z{position:absolute;top:100%;left:0;z-index:100;background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1rem;min-width:280px;box-shadow:0 4px 12px var(--color-shadow);margin-top:.25rem}.list-popover.svelte-13nu68z h4:where(.svelte-13nu68z){margin:0 0 .75rem;color:var(--color-headline);font-size:.9rem}.list-options.svelte-13nu68z{list-style:none;padding:0;margin:0 0 .75rem;max-height:200px;overflow-y:auto}.list-options.svelte-13nu68z li:where(.svelte-13nu68z){margin:0}.list-item.svelte-13nu68z{display:block;width:100%;padding:.5rem;text-align:left;background:none;border:none;color:var(--color-text);cursor:pointer;border-radius:4px;font-size:.9rem}.list-item.svelte-13nu68z:hover{background:var(--color-background-tertiary)}.list-item.already.svelte-13nu68z{color:var(--color-text-secondary);cursor:default}.no-lists.svelte-13nu68z{color:var(--color-text-secondary);font-size:.85rem;margin:0 0 .75rem}.new-list-form.svelte-13nu68z form:where(.svelte-13nu68z){display:flex;gap:.5rem}.new-list-form.svelte-13nu68z input:where(.svelte-13nu68z){flex:1;padding:.4rem .5rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-size:.85rem}.new-list-form.svelte-13nu68z input:where(.svelte-13nu68z):focus{outline:none;border-color:var(--color-primary)}.create-list-btn.svelte-13nu68z{padding:.4rem .75rem;background:var(--color-primary);color:var(--color-text);border:none;border-radius:4px;cursor:pointer;font-size:.85rem;white-space:nowrap}.create-list-btn.svelte-13nu68z:hover{opacity:.9}.list-feedback.svelte-13nu68z{margin-top:.5rem;padding:.4rem;color:var(--color-secondary);font-size:.85rem;text-align:center}.list-popover-backdrop.svelte-13nu68z{display:none}@media(max-width:768px){.actions.svelte-13nu68z{position:relative}.add-to-list-wrapper.svelte-13nu68z{position:static}.list-popover-backdrop.svelte-13nu68z{display:block;position:fixed;inset:0;background:#0000004d;z-index:99}.list-popover.svelte-13nu68z{position:absolute;top:100%;left:0;right:0;min-width:0;width:auto;z-index:100}.new-list-form.svelte-13nu68z form:where(.svelte-13nu68z){flex-direction:column}.recipe-stats.svelte-13nu68z{gap:1rem}}
