:root{--color-brand-primary: #2d2a26;--color-brand-accent: #5a7a5e;--color-brand-white: #fff;--color-print-paper: #fff;--color-print-ink: #1a1a1a;--color-print-ink-muted: #555;--color-print-rule: #ccc;--color-print-rule-subtle: #e5e5e5;--color-accent: #5a7a5e;--color-accent-hover: #4d6b51;--color-accent-surface: #e8f0e9;--color-accent-border: #dce8de;--color-accent-text: #3d6b41;--color-accent-focus: #8db891;--color-accent-done-border: rgba(90, 122, 94, .4);--color-bg-page: #faf9f7;--color-bg-logosection: #fff;--color-bg-block: #fff;--color-bg-card: #fff;--color-bg-subtle: #f5f4f2;--color-bg-hover: #eae9e7;--color-bg-row-hover-veil: rgba(45, 42, 38, .04);--color-bg-row-active-veil: rgba(45, 42, 38, .06);--color-bg-dark: #2d2a26;--color-bg-attached-pill: #eef3ee;--color-bg-selected-item: #f0f6f0;--color-bg-modal: #faf9f7;--color-bg-input: #ffffff;--color-bg-pill-hover: #f0f0f0;--color-bg-tag-hover: #e8e8e8;--color-bg-track: #e8e5e0;--color-bg-textarea: #f5f4f2;--color-bg-mode-active: #ffffff;--color-text-primary: #2d2a26;--color-text-secondary: #666;--color-text-tertiary: #777;--color-text-subtle: #999;--color-text-label: #aaa;--color-text-faint: #bbb;--color-text-disabled: #ccc;--color-text-white: #f5f4f2;--color-text-link: #5a7a5e;--color-text-link-hover: #4d6b51;--color-text-citation: #6b6460;--color-text-inverted: #fff;--color-text-action-item: #2d2a26;--color-text-hover-bright: #666666;--color-text-mid: #777777;--color-text-icon: #888888;--color-text-sidebar-link: #888888;--color-text-list-label: #999999;--color-text-timer-name: #999999;--color-text-divider: #bbbbbb;--color-text-nav-icon: #bbbbbb;--color-text-empty: #cccccc;--color-text-step: #2d2a26;--color-text-hint: #9c8e7a;--color-text-placeholder: #74706a;--color-text-drag-handle: #cccccc;--color-border: #e8e8e8;--color-border-subtle: #f0f0f0;--color-border-warm: #e0ddd9;--color-button-confirm: #2d2a26;--color-button-confirm-hover: #1a1816;--color-button-secondary: #2d2a26;--color-button-secondary-hover: #1a1816;--color-button-accent: #2e5232;--color-button-accent-hover: #243f27;--color-button-subtle: #faf9f7;--color-button-subtle-hover: #f5f4f2;--color-textarea: #fff;--color-toggle: #ccc;--color-toggle-on: #5a7a5e;--color-danger: #e63946;--color-danger-hover: #d32f3c;--color-danger-action: #c44;--color-danger-action-hover: #b33;--color-danger-surface: #fdf0ee;--color-error-bg: #fee;--color-error-border: #fcc;--color-danger-urgent: #cc4444;--color-danger-urgent-border: rgba(196, 68, 68, .35);--color-danger-text: #b33;--color-warning-bg: #fef7e6;--color-warning-text: #92620a;--color-warning-border: #f5d98a;--color-note-bg: #fef9e7;--color-note-text: #7d6649;--color-welcome-banner-title: #3d6b41;--color-welcome-banner-text: #5a7a5e;--color-modal-overlay: rgba(45, 42, 38, .5);--color-toast-close: rgba(255, 255, 255, .45);--color-toast-close-hover: rgba(255, 255, 255, .9);--color-subscription-table-current: rgba(90, 122, 94, .05);--color-olive-processing: #c8b8a2;--color-olive-spinner: #e8f0e9;--recipe-color-blush: #f0909e;--recipe-color-peach: #f0a870;--recipe-color-butter: #eecf50;--recipe-color-grass: #72c860;--recipe-color-sky: #60c0e8;--recipe-color-lavender: #b090e0;--shadow-modal: 0 16px 48px rgba(0,0,0,.18), 0 0 0 1px rgba(0,0,0,.06);--shadow-dropdown: 0 8px 24px rgba(0,0,0,.12);--shadow-input: 0 0 0 1px var(--color-border), 0 2px 4px rgba(0,0,0,.02);--shadow-input-focus: 0 0 0 3px rgba(45,42,38,.1);--shadow-subtle: 0 2px 8px rgba(0,0,0,.08);--shadow-floating: 0 2px 10px rgba(0,0,0,.1);--shadow-floating-hover: 0 4px 14px rgba(0,0,0,.13);--shadow-floating-accent: 0 2px 10px rgba(90,122,94,.35);--shadow-toast: 0 4px 20px rgba(0,0,0,.3);--shadow-toast-success: 0 4px 24px rgba(0,0,0,.22);--shadow-recipe-picker: 0 4px 24px rgba(0, 0, 0, .1)}.container.darkMode{--color-accent: #7aab7e;--color-accent-hover: #4d6b51;--color-accent-surface: #2a3d2c;--color-accent-border: #324835;--color-accent-text: #8db891;--color-accent-focus: #5a9060;--color-accent-done-border: rgba(90, 122, 94, .45);--color-bg-page: #141414;--color-bg-logosection: #141414;--color-bg-block: #1c1c1e;--color-bg-card: #242426;--color-bg-subtle: #2c2c2e;--color-bg-hover: #363638;--color-bg-row-hover-veil: rgba(255, 255, 255, .07);--color-bg-row-active-veil: rgba(255, 255, 255, .13);--color-bg-dark: #363638;--color-bg-attached-pill: #1e3020;--color-bg-selected-item: #1a2e1c;--color-bg-modal: #1c1c1e;--color-bg-input: #141414;--color-bg-pill-hover: #2c2c2e;--color-bg-tag-hover: #363638;--color-bg-track: #2c2c2e;--color-bg-textarea: #141414;--color-bg-mode-active: #38383c;--color-text-primary: #e8e5e0;--color-text-secondary: #a5a5ac;--color-text-tertiary: #8e8e95;--color-text-subtle: #7c7c83;--color-text-label: #8e8e95;--color-text-faint: #74747b;--color-text-disabled: #68686f;--color-text-white: #e5e5e7;--color-text-link: #7aab7e;--color-text-link-hover: #8db891;--color-text-citation: #a8a09a;--color-text-inverted: #2d2a26;--color-text-action-item: #b4b4ba;--color-text-hover-bright: #e8e5e0;--color-text-mid: #a5a5ac;--color-text-icon: #a5a5ac;--color-text-sidebar-link: #8e8e95;--color-text-list-label: #8e8e95;--color-text-timer-name: #a5a5ac;--color-text-divider: #52525a;--color-text-nav-icon: #8e8e95;--color-text-empty: #55555c;--color-text-step: #c4c1bc;--color-text-hint: #9a8d7c;--color-text-placeholder: #8e8e95;--color-text-drag-handle: #74747b;--color-border: #2c2c2e;--color-border-subtle: #363638;--color-border-warm: #2c2c2e;--color-button-confirm: #5a7a5e;--color-button-confirm-hover: #4d6b51;--color-button-secondary: #e8e5e0;--color-button-secondary-hover: #ccc;--color-button-accent: #8db891;--color-button-accent-hover: #a8d4ab;--color-button-subtle: #2c2c2e;--color-button-subtle-hover: #363638;--color-textarea: #2c2c2e;--color-toggle: #555;--color-toggle-on: #5a7a5e;--color-danger: #e66;--color-danger-hover: #e06060;--color-danger-action: #e66;--color-danger-action-hover: #e57373;--color-danger-surface: #2a1515;--color-error-bg: #2a1515;--color-error-border: #5a2020;--color-danger-urgent: #e06060;--color-danger-urgent-border: rgba(196, 68, 68, .4);--color-danger-text: #e66;--color-warning-bg: #2a2008;--color-warning-text: #d4a94a;--color-warning-border: #7a5a1a;--color-note-bg: #251e10;--color-note-text: #c9952e;--color-welcome-banner-title: #a8d4ab;--color-welcome-banner-text: #8db891;--color-modal-overlay: rgba(0, 0, 0, .65);--color-subscription-table-current: rgba(122, 171, 126, .05);--color-olive-processing: #8a7a6a;--color-olive-spinner: #e8f0e9;--shadow-modal: 0 16px 48px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.08);--shadow-dropdown: 0 8px 24px rgba(0,0,0,.45);--shadow-input: 0 0 0 1px var(--color-border), 0 2px 4px rgba(0,0,0,.15);--shadow-input-focus: 0 0 0 3px rgba(90,122,94,.15);--shadow-subtle: 0 2px 8px rgba(0,0,0,.3);--shadow-floating: 0 2px 10px rgba(0,0,0,.4);--shadow-floating-hover: 0 4px 14px rgba(0,0,0,.5);--shadow-toast: 0 4px 20px rgba(0,0,0,.5);--shadow-toast-success: 0 4px 24px rgba(0,0,0,.4);--shadow-recipe-picker: 0 4px 24px rgba(0, 0, 0, .4)}html,body{margin:0;padding:0;font-family:DM Sans,-apple-system,sans-serif;overscroll-behavior:none}button,input,select,textarea{font-family:inherit}::selection{background-color:var(--color-accent-surface);color:var(--color-text-primary)}*,*:before,*:after{scrollbar-color:#ddd transparent}.container{display:flex;height:100vh;overflow:hidden;background-color:var(--color-bg-page);font-family:DM Sans,-apple-system,sans-serif}.main{flex:1;overflow:auto;position:relative}.sidebar{width:340px;background-color:var(--color-bg-block);border-right:1px solid var(--color-border);display:flex;flex-direction:column;height:100%;flex-shrink:0;transition:width .3s ease,opacity .3s ease}.sidebar.sidebarCollapsed{width:0;opacity:0;overflow:hidden;border-right:none}#sidebar-slot{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.sidebarCollapseBtn{position:fixed;top:24px;left:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-block);border:1px solid var(--color-border);border-radius:10px;cursor:pointer;color:var(--color-text-secondary);transition:background-color .2s,color .2s,left .3s ease;z-index:100;box-shadow:var(--shadow-subtle)}.sidebarCollapseBtn:hover{background-color:var(--color-bg-subtle);color:var(--color-text-primary)}.sidebar:not(.sidebarCollapsed)~.main .sidebarCollapseBtn{left:360px}.sidebar.sidebarCollapsed~.main .sidebarCollapseBtn{left:24px}.logoSection{padding:20px 24px 16px;border-bottom:1px solid var(--color-border-subtle)}html.pwa .logoSection{background-color:var(--color-bg-logosection)}.logoHeader{display:flex;justify-content:space-between;align-items:center;gap:16px}.logo{font-family:Sentient,-apple-system,sans-serif;font-size:32px;font-weight:600;color:var(--color-text-primary);margin:0;letter-spacing:-.02em;-webkit-user-select:none;user-select:none}.navIconRow{display:flex;gap:4px}.navIconBtn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:8px;cursor:pointer;color:var(--color-text-nav-icon);transition:background-color .15s,color .15s}.navIconBtn:hover{background-color:var(--color-bg-subtle);color:var(--color-text-primary)}.navIconBtnActive{color:var(--color-text-primary);background-color:var(--color-bg-hover)}.loggedOutSidebarNav{display:flex;flex-direction:column;gap:2px;padding:12px 16px}.loggedOutSidebarLink{display:block;width:100%;text-align:left;padding:7px 10px;border-radius:8px;font-size:13px;font-weight:500;color:var(--color-text-sidebar-link);background:none;border:none;cursor:pointer;transition:background-color .15s,color .15s}.loggedOutSidebarLink:hover{background-color:var(--color-bg-subtle);color:var(--color-text-primary)}.loggedOutSidebarLinkActive{color:var(--color-text-primary);background-color:var(--color-bg-hover)}.searchSection{padding:12px 16px 10px;border-bottom:1px solid var(--color-border-subtle)}.searchWrapper{position:relative}.searchIcon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--color-text-faint);z-index:1}.searchInput{width:100%;padding:11px 16px 11px 44px;font-size:14px;border:1px solid var(--color-border);border-radius:12px;outline:none;background-color:var(--color-bg-page);transition:border-color .2s,box-shadow .2s;box-sizing:border-box;color:var(--color-text-primary)}.searchInput::placeholder{color:var(--color-text-faint)}.searchInput:focus{border-color:var(--color-brand-accent);box-shadow:var(--shadow-input-focus)}.searchDropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-dropdown);z-index:1000;max-height:280px;overflow-y:auto}.searchDropdownSection{padding:16px}.searchDropdownSection+.searchDropdownSection{border-top:1px solid var(--color-border-subtle);margin-bottom:24px}.searchDropdownLabel{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);display:block;margin-bottom:12px}.searchDropdownTags{display:flex;flex-wrap:wrap;gap:8px}.searchDropdownTag{padding:6px 12px;font-size:12px;font-weight:500;background-color:var(--color-bg-subtle);border:none;border-radius:20px;cursor:pointer;color:var(--color-text-secondary);transition:background-color .2s,color .2s}.searchDropdownTag:hover{background-color:var(--color-bg-tag-hover)}.searchDropdownTagFavorite{display:flex;align-items:center;gap:5px}.searchDropdownTagActive{background-color:var(--color-button-confirm);color:var(--color-brand-white)}.searchDropdownTagActive:hover{background-color:var(--color-button-confirm-hover)}.searchDropdownTagFavorite.searchDropdownTagActive{background-color:var(--color-danger);color:var(--color-brand-white)}.searchDropdownTagFavorite.searchDropdownTagActive:hover{background-color:var(--color-danger-hover)}.searchDropdownTagNext{box-shadow:inset 0 0 0 1px var(--color-border)}.searchDropdownEmpty{font-size:12px;color:var(--color-text-secondary)}.searchDropdownClear{margin-top:12px;font-family:inherit;font-size:12px;color:var(--color-text-secondary);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline}.searchDropdownClear:hover{color:var(--color-text-primary)}.searchRow{display:flex;gap:8px;align-items:center;position:relative}.searchRow .searchWrapper{flex:1}.sortButtonWrapper{position:relative;flex-shrink:0;outline:none}.sortBtn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:var(--color-bg-block);border:1px solid var(--color-border);border-radius:10px;cursor:pointer;color:var(--color-text-secondary);transition:background-color .15s,color .15s}.sortBtn:hover{background-color:var(--color-bg-subtle);color:var(--color-text-primary)}.sortBtnActive,.sortBtnActive:hover{color:var(--color-brand-accent)}.sortBtn:focus-visible,.sortDropdownOption:focus-visible,.searchDropdownTag:focus-visible,.searchDropdownClear:focus-visible,.activeFilterTag:focus-visible{outline:2px solid var(--color-accent-focus);outline-offset:2px}.sortDropdownOption:focus-visible{outline-offset:-2px}.sortDropdown{position:absolute;top:calc(100% + 8px);right:0;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-dropdown);z-index:1000;min-width:150px;padding:6px;display:flex;flex-direction:column;gap:2px}.sortDropdownOption{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:500;background:none;border:none;border-radius:8px;cursor:pointer;color:var(--color-text-secondary);transition:background-color .15s;text-align:left}.sortDropdownOption:hover{background-color:var(--color-button-subtle-hover)}.sortDropdownOptionActive{color:var(--color-text-primary)}.activeFilters{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.activeFilterTag{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:500;background-color:var(--color-button-confirm);color:var(--color-brand-white);border:none;border-radius:20px;cursor:pointer;transition:background-color .15s}.activeFilterTag:hover{background-color:var(--color-button-confirm-hover)}.activeFilterTagFavorite{background-color:var(--color-danger)}.activeFilterTagFavorite:hover{background-color:var(--color-danger-hover)}.activeFilterTag span{line-height:1}.noResults{text-align:center;color:var(--color-text-secondary);font-size:14px;padding:40px 20px}.emptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 96px);color:var(--color-text-list-label)}.emptyIcon{margin-bottom:24px;color:var(--color-text-empty)}.emptyTitle{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 8px}.emptyText{font-size:14px;margin:0}.viewContainer{overflow-y:auto;padding:48px 48px 80px;max-width:800px;margin:0 auto}.viewTitle{font-family:Sentient,-apple-system,sans-serif;font-size:30px;font-weight:600;color:var(--color-text-primary);margin:0 0 32px;letter-spacing:-.01em}.sectionTitle{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-secondary);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.visuallyHidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.plusIcon{width:18px;height:18px}.desktopOnly{display:flex!important}.mobileOnly{display:none!important}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}.iconBtn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;cursor:pointer;color:var(--color-text-icon);transition:background-color .2s,border-color .2s,color .2s}.iconBtn:hover{background-color:var(--color-bg-subtle);color:var(--color-text-primary)}.iconBtnFavorite:hover{background-color:var(--color-bg-subtle)}.iconBtnSmall{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:8px;cursor:pointer;color:var(--color-text-list-label);transition:background-color .2s,color .2s}.iconBtnSmall:hover{background-color:var(--color-border);color:var(--color-text-primary)}.iconBtnFavorite{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-card);border:1px solid var(--color-error-border);border-radius:10px;cursor:pointer;color:var(--color-danger);transition:background-color .2s,border-color .2s,color .2s}.removeBtn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:8px;cursor:pointer;color:var(--color-text-icon);transition:background-color .15s,color .15s;flex-shrink:0}.removeBtn:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.backBtn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-subtle);border:none;border-radius:8px;cursor:pointer;color:var(--color-text-secondary);transition:background-color .2s,color .2s;flex-shrink:0}.backBtn:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.cancelBtn,.saveBtn,.confirmBtn,.confirmDeleteBtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600;border:1px solid transparent;border-radius:8px;cursor:pointer;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s}.cancelBtn{font-weight:500;background-color:transparent;border-color:var(--color-border);color:var(--color-text-secondary)}.cancelBtn:hover:not(:disabled){background-color:var(--color-bg-subtle);color:var(--color-text-primary)}.saveBtn,.confirmBtn{background-color:var(--color-button-confirm);color:var(--color-brand-white)}.saveBtn:hover:not(:disabled),.confirmBtn:hover:not(:disabled){background-color:var(--color-button-confirm-hover)}.confirmDeleteBtn{background-color:var(--color-danger-action);color:var(--color-text-inverted)}.confirmDeleteBtn:hover:not(:disabled){background-color:var(--color-danger-action-hover)}.cancelBtn:disabled,.saveBtn:disabled,.confirmBtn:disabled,.confirmDeleteBtn:disabled{opacity:.5;cursor:not-allowed}.cancelBtn:focus-visible,.saveBtn:focus-visible,.confirmBtn:focus-visible,.confirmDeleteBtn:focus-visible,.closeBtn:focus-visible{outline:2px solid var(--color-accent-focus);outline-offset:2px}.formGroup{margin-bottom:20px}.formGroupCompact{margin-bottom:0}.formRow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.label{display:block;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--color-text-secondary);margin-bottom:8px}.input{width:100%;padding:10px 12px;font-size:14px;border:none;border-radius:8px;outline:none;background-color:var(--color-bg-input);box-shadow:var(--shadow-input);transition:box-shadow .2s;box-sizing:border-box;color:var(--color-text-primary)}.input[readonly]{background-color:var(--color-bg-subtle);color:var(--color-text-secondary);box-shadow:none;cursor:default}.textarea{width:100%;padding:10px 12px;font-size:14px;border:none;border-radius:8px;outline:none;background-color:var(--color-bg-input);box-shadow:var(--shadow-input);resize:vertical;font-family:inherit;box-sizing:border-box;transition:box-shadow .2s;color:var(--color-text-primary)}.input:focus,.textarea:focus{box-shadow:0 0 0 1px var(--color-accent),var(--shadow-input-focus)}.input[readonly]:focus{box-shadow:var(--shadow-input-focus)}.input::placeholder{color:var(--color-text-faint)}.textarea::placeholder{color:var(--color-text-faint)}.modalOverlay{position:fixed;inset:0;background-color:var(--color-modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background-color:var(--color-bg-modal);border-radius:14px;width:90%;max-width:680px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-modal);overflow:hidden}.modalHeader{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;background-color:var(--color-bg-modal);border-bottom:1px solid var(--color-border-subtle)}.modalTitle{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0}.closeBtn{width:28px;height:28px;margin-right:-6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:none;border:none;border-radius:6px;cursor:pointer;color:var(--color-text-icon);transition:background-color .15s,color .15s}.closeBtn svg{width:16px;height:16px}.closeBtn:hover{background-color:var(--color-bg-subtle);color:var(--color-text-primary)}.modalBody{padding:20px;overflow-y:auto;flex:1}.modalFooter{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px;background-color:var(--color-bg-modal);border-top:1px solid var(--color-border-subtle)}.modalFooter .errorMessage{margin-bottom:0;margin-right:auto;flex-shrink:1;min-width:0}.confirmModal{background-color:var(--color-bg-modal);border-radius:14px;padding:20px;box-sizing:border-box;width:min(400px,calc(100vw - 32px));box-shadow:var(--shadow-modal)}.confirmTitle{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0 0 6px}.confirmTitle+form{margin-top:14px}.confirmText{font-size:14px;color:var(--color-text-secondary);margin:0 0 20px;line-height:1.5;overflow-wrap:anywhere}.confirmCheckboxRow{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary);margin:-8px 0 20px;cursor:pointer}.confirmCheckboxRow--afterField{margin:0 0 20px}.confirmCheckbox{width:16px;height:16px;cursor:pointer;accent-color:var(--color-accent)}.confirmActions{display:flex;justify-content:flex-end;gap:8px}.loginModal{background-color:var(--color-bg-modal);border-radius:14px;max-width:400px;width:90%;display:flex;flex-direction:column;box-shadow:var(--shadow-modal);overflow:hidden}.loginModalBody{padding:20px 20px 24px}.loginBtn{width:100%;min-height:40px;padding:0 16px;font-size:14px;font-weight:600;background-color:var(--color-button-confirm);border:none;border-radius:8px;cursor:pointer;color:var(--color-brand-white);transition:background-color .2s;margin-top:8px}.gsi-material-button{-moz-user-select:none;user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-appearance:none;appearance:none;background-color:#f2f2f2;background-image:none;border:none;-webkit-border-radius:20px;border-radius:20px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#1f1f1f;cursor:pointer;font-family:Roboto,arial,sans-serif;font-size:14px;height:40px;letter-spacing:.25px;outline:none;overflow:hidden;padding:0 12px;position:relative;text-align:center;-webkit-transition:background-color .218s,border-color .218s,box-shadow .218s;transition:background-color .218s,border-color .218s,box-shadow .218s;white-space:nowrap;width:auto;max-width:400px;min-width:min-content;display:block;margin-left:auto;margin-right:auto}.gsi-material-button .gsi-material-button-icon{height:20px;margin-right:10px;min-width:20px;width:20px}.gsi-material-button .gsi-material-button-content-wrapper{-webkit-align-items:center;align-items:center;display:flex;-webkit-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;height:100%;justify-content:space-between;position:relative;width:100%}.gsi-material-button .gsi-material-button-contents{-webkit-flex-grow:1;flex-grow:1;font-family:Roboto,arial,sans-serif;font-weight:500;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.gsi-material-button .gsi-material-button-state{-webkit-transition:opacity .218s;transition:opacity .218s;inset:0;opacity:0;position:absolute}.gsi-material-button:disabled{cursor:default;background-color:#ffffff61}.gsi-material-button:disabled .gsi-material-button-state{background-color:#1f1f1f1f}.gsi-material-button:disabled .gsi-material-button-contents{opacity:38%}.gsi-material-button:disabled .gsi-material-button-icon{opacity:38%}.gsi-material-button:not(:disabled):active .gsi-material-button-state,.gsi-material-button:not(:disabled):focus .gsi-material-button-state{background-color:#001d35;opacity:12%}.gsi-material-button:not(:disabled):hover{-webkit-box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15);box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.gsi-material-button:not(:disabled):hover .gsi-material-button-state{background-color:#001d35;opacity:8%}.loginDivider{display:flex;align-items:center;gap:16px;margin:20px 0}.dividerLine{flex:1;height:1px;background-color:var(--color-border)}.dividerText{font-size:12px;color:var(--color-text-list-label);text-transform:uppercase;letter-spacing:.05em}.signupPrompt{font-size:14px;color:var(--color-text-secondary);text-align:center;margin:0}.signupLink{background:none;border:none;color:var(--color-text-primary);font-weight:600;cursor:pointer;padding:0;text-decoration:underline;font-size:14px}.errorMessage{padding:12px 16px;background-color:var(--color-error-bg);color:var(--color-danger-action);border-radius:8px;font-size:14px;margin-bottom:16px;border:1px solid var(--color-error-border)}.recipeActionsOverlay{position:fixed;inset:0;z-index:99}.recipeActionsDropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:100;background:var(--color-bg-block);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-dropdown);min-width:200px;padding:6px;display:flex;flex-direction:column;gap:2px}.recipeActionItem{display:flex;align-items:center;gap:12px;padding:11px 14px;border:none;border-radius:8px;background:transparent;cursor:pointer;font-family:inherit;font-size:14px;color:var(--color-text-action-item);text-align:left;width:100%;transition:background-color .15s}.recipeActionItem:hover{background-color:var(--color-button-subtle-hover)}.recipeActionItem svg{flex-shrink:0;color:var(--color-text-icon)}.recipeActionItemMuted{opacity:.5}.recipeActionItemDanger{color:var(--color-danger-action)}.recipeActionItemDanger svg{color:var(--color-danger-action)}.mobileBackBtn,.mobileNavRow,.mobileCookModeBtn{display:none}.floatingPanel{position:fixed;bottom:24px;right:24px;z-index:100;display:flex;flex-direction:column;gap:8px;align-items:end}.floatingPanelBtn{display:flex;align-items:center;gap:7px;padding:9px 14px;background:var(--color-bg-card);border:1px solid var(--color-border-warm);border-radius:20px;font-size:13px;font-weight:500;color:var(--color-text-mid);cursor:pointer;box-shadow:var(--shadow-floating);transition:background .15s,color .15s,box-shadow .15s,border-color .15s;white-space:nowrap;width:123px}.floatingPanelBtn:hover{background:var(--color-bg-subtle);box-shadow:var(--shadow-floating-hover)}.floatingPanelBtn.floatingPanelBtnActive{background:var(--color-brand-accent);color:var(--color-brand-white);border-color:var(--color-brand-accent);box-shadow:var(--shadow-floating-accent)}.floatingPanelBtn.floatingPanelBtnActive:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.timerPill{display:flex;align-items:center;gap:5px;padding:9px 10px 9px 14px;background:var(--color-bg-card);border:1px solid var(--color-border-warm);border-radius:20px;font-size:18px;font-weight:500;color:var(--color-text-mid);box-shadow:var(--shadow-floating);white-space:nowrap;overflow:hidden;align-self:flex-end;cursor:default;transition:box-shadow .15s;min-width:97px}.timerPill:hover{box-shadow:var(--shadow-floating-hover)}.timerPillName,.timerPillDot{max-width:0;overflow:hidden;opacity:0;transition:max-width .25s ease,opacity .2s ease;font-size:16px;color:var(--color-text-timer-name);display:inline-block}.timerPill:hover .timerPillName{max-width:140px;opacity:1}.timerPill:hover .timerPillDot{max-width:14px;opacity:1}.timerPillTime{font-variant-numeric:tabular-nums;letter-spacing:.02em;min-width:62px}.timerPillRemove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:none;cursor:pointer;color:var(--color-text-disabled);border-radius:50%;padding:0;margin-left:2px;transition:color .15s,background .15s;flex-shrink:0}.timerPillRemove:hover{color:var(--color-text-hover-bright);background:var(--color-bg-pill-hover)}.timerPillUrgent{border-color:var(--color-danger-urgent-border);color:var(--color-danger-urgent)}.timerPillUrgent .timerPillTime{color:var(--color-danger-urgent)}.timerPillDone{border-color:var(--color-accent-done-border);color:var(--color-accent)}.timerPillDone .timerPillTime{color:var(--color-accent)}.timerModal{background:var(--color-bg-modal);border-radius:14px;width:90%;max-width:340px;box-shadow:var(--shadow-modal);overflow:hidden}.timerModalHeader{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--color-border-subtle)}.timerModalHeader .confirmTitle{margin:0}.timerModalBody{padding:20px}.timerNameInput{margin-bottom:16px}.timerPresets{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:20px}.timerPresetBtn{padding:8px 6px;background:var(--color-bg-subtle);border:1px solid transparent;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.timerPresetBtn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.timerDivider{display:flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--color-text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.timerDivider:before,.timerDivider:after{content:"";flex:1;height:1px;background:var(--color-border-warm)}.timerCustomForm{display:flex;flex-direction:column;gap:14px}.timerCustomInputs{display:flex;align-items:flex-end;gap:8px}.timerCustomField{display:flex;flex-direction:column;gap:4px;flex:1}.timerCustomField label{font-size:11px;color:var(--color-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.06em;text-align:center}.timerTimeInput{text-align:center!important;font-size:22px!important;font-weight:600!important;padding:10px 6px!important;letter-spacing:.02em}.timerColon{font-size:24px;font-weight:300;color:var(--color-text-subtle);margin-bottom:24px;line-height:1;flex-shrink:0}.timerStartBtn{width:100%}.timerToastContainer{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.timerToast{display:flex;align-items:center;gap:12px;padding:16px 20px 16px 22px;background:var(--color-accent);color:var(--color-border-subtle);border-radius:18px;font-size:17px;font-weight:500;box-shadow:var(--shadow-toast);pointer-events:all;animation:timerToastIn .3s ease;white-space:nowrap}.timerToastClose{display:flex;align-items:center;background:none;border:none;color:var(--color-toast-close);cursor:pointer;padding:0;margin-left:4px;transition:color .15s;flex-shrink:0}.timerToastClose:hover{color:var(--color-toast-close-hover)}@keyframes timerToastIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.subscriptionSuccessToastWrap{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:2001;pointer-events:none}.subscriptionSuccessToast{display:flex;align-items:center;gap:10px;padding:14px 20px;background:var(--color-bg-dark);color:var(--color-border-subtle);border-radius:18px;font-size:15px;font-weight:500;box-shadow:var(--shadow-toast-success);pointer-events:all;white-space:nowrap;animation:timerToastIn .3s ease}.subscriptionSuccessToast svg:first-child{color:var(--color-accent-focus);flex-shrink:0}.offlineBanner{display:flex;align-items:center;justify-content:center;gap:7px;padding:7px 16px;background-color:var(--color-warning-bg);border-bottom:1px solid var(--color-warning-border);color:var(--color-warning-text);font-size:13px;line-height:1.4;position:sticky;top:0;z-index:200}.offlineBanner svg{flex-shrink:0}.mainLoadingOverlay{position:fixed;inset:0;z-index:1000;background-color:var(--color-bg-page);display:flex;align-items:center;justify-content:center}.mainLoadingSpinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-brand-accent);border-radius:50%;animation:recipesSpinnerRotate .75s linear infinite}@keyframes recipesSpinnerRotate{to{transform:rotate(360deg)}}@media(max-width:1024px){.container{flex-direction:column}.main{width:100%;height:auto;min-height:calc(100vh - 60px);padding-bottom:64px}.sidebar{width:100%;max-height:100vh;border-right:none;border-bottom:1px solid var(--color-border)}.sidebar.sidebarHomeView,.sidebar.sidebarSettingsView{height:auto}.sidebar.sidebarPricingView,.sidebar.sidebarSettingsView #sidebar-slot,.sidebarCollapseBtn{display:none}.sidebar.sidebarCollapsed{width:100%;opacity:1;overflow:visible}.logoSection{padding:12px 20px 10px}.logo{font-size:28px}.searchSection{padding:16px 20px}.searchDropdown{max-height:240px}.desktopOnly{display:none!important}.mobileOnly,.recipeActionsToggle{display:flex!important}.mobileBackBtn{display:flex;align-items:center;gap:8px;padding:12px 16px;margin:-16px -16px 24px;background:none;border:none;color:var(--color-text-secondary);font-size:16px;font-weight:500;cursor:pointer;transition:color .2s}.mobileBackBtn:hover{color:var(--color-text-primary)}.mobileNavRow{display:flex;align-items:center;justify-content:space-between;margin:-16px -16px 24px;padding-top:4px;padding-right:12px}.mobileNavRow .mobileBackBtn{margin:0}.mobileCookModeBtn{display:flex;align-items:center;gap:7px;padding:9px 14px;background:var(--color-bg-card);border:1px solid var(--color-border-warm);border-radius:20px;font-size:13px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.mobileCookModeBtn:hover{background:var(--color-bg-subtle)}.mobileCookModeBtn.mobileCookModeBtnActive{background:var(--color-brand-accent);color:var(--color-brand-white);border-color:var(--color-brand-accent)}.mobileCookModeBtn.mobileCookModeBtnActive:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.emptyState{display:none}.loggedOutEmptyState{display:flex;min-height:calc(100vh - 80px)}.modal{width:95%;max-height:95vh}.modalHeader{padding:12px 16px}.modalBody{padding:16px}.modalFooter{padding:12px 16px}.closeBtn{width:36px;height:36px;margin-right:-10px}.formRow{grid-template-columns:repeat(2,1fr);gap:10px}.loginModal{width:95%}.loginModalBody{padding:16px 16px 20px}.confirmModal{padding:16px}.floatingPanel{display:none}.viewContainer{padding:32px 20px 60px}input,textarea,select{font-size:16px!important}}@media(max-width:480px){.formRow{grid-template-columns:1fr}.modalFooter,.confirmActions{flex-wrap:wrap}.modalFooter>button,.confirmActions>button{flex:1 1 0;min-width:0;min-height:40px}.modalFooter .errorMessage{width:100%;margin-right:0}}@media(max-width:768px){.editorModalOverlay{align-items:flex-start;padding:0}.editorModal{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;overflow-y:auto;overflow-x:hidden}.editorModal .modalHeader{position:sticky;top:0;z-index:10}.editorModal .modalBody{overflow-y:visible;flex:none}.editorModal .modalFooter{position:sticky;bottom:0;z-index:10;flex-wrap:nowrap;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}.editorModal .modalFooter .saveAsNewBtn,.editorModal .modalFooter .saveBtn{flex:1;min-width:0;min-height:40px}.editorModal .modalFooter .errorMessage{width:100%;margin-right:0;order:-2}}.recipeTree{flex:1;overflow-y:auto;padding:4px 8px 12px}.treeRow{position:relative;display:flex;align-items:center;gap:8px;width:100%;height:34px;padding:0 8px;background-color:transparent;border:none;border-radius:6px;text-align:left;cursor:pointer;transition:background-color .15s}.container.compactSidebar .treeRow{height:28px}.treeRow:before{content:"";position:absolute;inset:0;z-index:0;border-radius:6px;background-color:transparent;transition:background-color .15s;pointer-events:none}.treeRow>*{position:relative;z-index:1}.treeRow:hover:before{background-color:var(--color-bg-row-hover-veil)}.treeRowActive:before{background-color:var(--color-bg-row-active-veil)}.treeRowActive .treeRowTitle{font-weight:550}.treeRowActive:after{content:"";background-color:var(--color-brand-accent)}.treeRowTint,.treeRowActive:after{position:absolute;left:0;top:5px;bottom:5px;width:3px;border-radius:0 3px 3px 0;opacity:.85}.treeRowTitle{flex:1;min-width:0;font-size:13px;font-weight:400;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.treeRowTitleIndented{padding-left:14px}.treeRowFavorite{flex-shrink:0;color:var(--color-danger)}.treeRowCount{flex-shrink:0;font-size:11px;font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.treeCollectionRow{padding:0 4px 0 0;touch-action:none}.treeCollectionRow .treeRowTitle{font-weight:600;font-size:14px}.treeCollectionRowExcluded .treeRowTitle{color:var(--color-text-tertiary)}.treeCollectionMain{flex:1;min-width:0;display:flex;align-items:center;gap:6px;height:100%;padding:0 0 0 8px;background:none;border:none;cursor:pointer;text-align:left}.treeChevron{flex-shrink:0;color:var(--color-text-icon);transition:transform .15s ease}.treeChevronOpen{transform:rotate(90deg)}.treeRowHiddenIcon{flex-shrink:0;color:var(--color-text-icon)}.treeRowActions{display:flex;align-items:center;gap:2px;flex-shrink:0;opacity:0;transition:opacity .15s}.treeCollectionRow:hover .treeRowActions,.treeRowMenuOpen .treeRowActions,.treeRowActions:has(:focus-visible){opacity:1}.treeRowActionBtn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:none;border:none;border-radius:5px;color:var(--color-text-icon);cursor:pointer;transition:background-color .15s,color .15s}.treeRowActionBtn:hover{background-color:var(--color-bg-subtle);color:var(--color-text-primary)}.treeRow:focus-visible,.treeCollectionMain:focus-visible{outline:2px solid var(--color-accent-focus);outline-offset:-2px}.treeRowActionBtn:focus-visible,.collectionMenu button:focus-visible,.newRecipeBtn:focus-visible,.importUrlBtn:focus-visible,.backBtn:focus-visible,.iconBtnSmall:focus-visible{outline:2px solid var(--color-accent-focus);outline-offset:2px}.treeRowMenuWrapper{position:relative;display:flex}.treeRowMenuOpen{z-index:30}.treeRowDropTarget{box-shadow:inset 0 0 0 1.5px var(--color-brand-accent)}.treeChildren{overflow:hidden;margin-bottom:5px;padding-bottom:5px;border-bottom:1px solid var(--color-border-subtle);animation:treeExpand .15s ease}@keyframes treeExpand{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.treeEmptyBranch{margin:0;padding:4px 8px 6px 30px;font-size:12px;font-style:italic;color:var(--color-text-secondary)}.treeSectionRow{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:10px 8px 6px;border-top:1px solid var(--color-border-subtle);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary)}.treeSectionRow:first-child{margin-top:4px;padding-top:4px;border-top:none}.treeAddRow{font-family:inherit;color:var(--color-text-secondary);font-size:13px;gap:6px;padding-left:10px}.treeAddRow:hover{color:var(--color-text-primary)}.treeDragPill{display:flex;align-items:center;gap:8px;padding:0 12px;height:30px;background-color:var(--color-bg-block);border:1px solid var(--color-border);border-radius:6px;box-shadow:var(--shadow-dropdown);cursor:grabbing}.editorDragHandle{display:flex;align-items:center;height:40px;color:var(--color-text-icon);cursor:grab;padding:0 2px;border-radius:4px;flex-shrink:0;touch-action:none}.editorDragHandle:hover{color:var(--color-text-primary)}.editorDragHandle:active{cursor:grabbing}.editorDragHandle:focus-visible,.removeBtn:focus-visible,.addIngredientBtn:focus-visible,.addSectionBtn:focus-visible,.standardizeBtn:focus-visible,.notationSeg:focus-visible,.tagEditorTag:focus-visible,.tagEditorAppliedTag:focus-visible,.colorSwatch:focus-visible,.attributionSelectBtn:focus-visible,.photoEditRemoveBtn:focus-visible,.ingredientDropdownItem:focus-visible{outline:2px solid var(--color-accent-focus);outline-offset:2px}.notationSeg:focus-visible{outline-offset:-2px}.newRecipeBtn{margin:16px;padding:14px;font-family:inherit;font-size:14px;font-weight:600;background-color:var(--color-button-confirm);color:var(--color-brand-white);border:1px solid transparent;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background-color .15s}.recipeActionBtns{display:flex;flex-direction:row;gap:8px;margin:16px}.newRecipeBtn:hover{background-color:var(--color-button-confirm-hover)}.recipeActionBtns .newRecipeBtn{flex:1;margin:0;border-radius:12px}.importUrlBtn{flex:1;margin:0;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:500;background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:background-color .15s,color .15s}.importUrlBtn:hover:not(:disabled){background-color:var(--color-bg-subtle);color:var(--color-text-primary)}.importUrlBtn:disabled{opacity:.5;cursor:not-allowed}.importModal{background-color:var(--color-bg-modal);border-radius:14px;padding:20px;width:520px;max-width:calc(100vw - 48px);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;gap:0}.importModalHeader{display:flex;align-items:center;justify-content:space-between}.importTextarea{width:100%;height:240px;margin:16px 0 20px;padding:14px 16px;font-family:inherit;font-size:13px;line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-textarea);border:1px solid var(--color-border);border-radius:8px;resize:vertical;box-sizing:border-box;outline:none}.importTextarea:focus{border-color:var(--color-accent)}.importInstructions{margin:-8px 0 20px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.importInstructionsToggle{display:inline-flex;align-items:center;gap:4px;padding:2px 0;font-family:inherit;font-size:12px;color:var(--color-text-secondary);background:none;border:none;cursor:pointer}.importInstructionsToggle:hover{color:var(--color-text-primary)}.importInstructionsToggle svg{transition:transform .15s ease}.importInstructionsToggle.open svg{transform:rotate(90deg)}.importInstructionsTextarea{width:100%;padding:10px 14px;font-family:inherit;font-size:13px;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg-textarea);border:1px solid var(--color-border);border-radius:8px;resize:vertical;box-sizing:border-box;outline:none}.importInstructionsTextarea:focus{border-color:var(--color-accent)}.importUrlNotice{margin:14px 0 0;padding:10px 12px;background:var(--color-bg-subtle);border-radius:8px;display:flex;flex-direction:column;gap:6px}.importUrlNotice p{margin:0;font-size:12px;color:var(--color-text-secondary);line-height:1.5}.formatLoadingOverlay{position:fixed;inset:0;background-color:var(--color-modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000}.formatLoadingCard{background-color:var(--color-bg-modal);border-radius:14px;padding:20px;width:min(320px,calc(100vw - 48px));box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:var(--shadow-modal)}.formatLoadingIcon{color:var(--color-accent)}.formatLoadingTitle{margin:0;font-size:15px;font-weight:600;color:var(--color-text-primary)}.formatLoadingCard .importProgress{width:100%;margin:4px 0 0}.importExtractHint{margin:0 0 12px;font-size:12px;color:var(--color-text-secondary);text-align:center}.importPhotoArea{margin:16px 0 20px;display:flex;flex-direction:column;gap:10px}.importPhotoGrid{display:flex;flex-wrap:wrap;gap:8px}.importPhotoThumb{position:relative;width:96px;height:96px;border-radius:8px;overflow:hidden;flex-shrink:0}.importPhotoThumb img{width:100%;height:100%;object-fit:cover;display:block}.importPhotoRemoveBtn{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:#0000008c;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s}.importPhotoRemoveBtn:hover{background:#000000bf}.importPhotoAddZone{display:flex;align-items:center;justify-content:center;border:1px dashed var(--color-text-faint);border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s;color:var(--color-text-secondary);font-size:13px;height:96px;padding:0 16px}.importPhotoAddZone:not(.compact){height:120px;font-size:14px}.importPhotoAddZone:hover,.importPhotoAddZone.photoUploadDragOver{border-color:var(--color-accent);color:var(--color-accent-text)}.importPhotoAddZone:has(input:focus-visible){border-color:var(--color-accent);outline:2px solid var(--color-accent-focus);outline-offset:2px}.importFileRow{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-secondary);font-size:14px}.importFileName{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary)}.importFileRemoveBtn{width:28px;height:28px;margin-right:-6px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:none;border:none;color:var(--color-text-icon);cursor:pointer;padding:0;flex-shrink:0;transition:background-color .15s,color .15s}.importFileRemoveBtn:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.importFileHint{margin:-4px 0 16px;font-size:12px;color:var(--color-text-secondary);text-align:center}.importLibraryLink{display:block;margin:-8px auto 16px;padding:2px 0;font-family:inherit;font-size:12px;color:var(--color-text-link);background:none;border:none;cursor:pointer}.importLibraryLink:hover{color:var(--color-text-link-hover);text-decoration:underline}.libraryImportDrop{margin-top:14px}.libraryImportActions{margin-top:20px}.libraryImportStatus{margin:16px 0 12px;font-size:14px;line-height:1.5;color:var(--color-text-primary);overflow-wrap:anywhere}.libraryImportSelectAll{display:flex;align-items:center;gap:8px;padding:0 2px 8px;font-size:12px;color:var(--color-text-secondary);cursor:pointer}.libraryImportSelectAll input,.libraryImportRow input{accent-color:var(--color-accent)}.libraryImportList{list-style:none;margin:0;padding:0;max-height:320px;overflow-y:auto;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-bg-card)}.libraryImportRow+.libraryImportRow{border-top:1px solid var(--color-border-subtle)}.libraryImportRow label{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;cursor:pointer}.libraryImportRow input{margin-top:2px;flex-shrink:0}.libraryImportRow.disabled label{cursor:default}.libraryImportRow.disabled .libraryImportRowTitle{color:var(--color-text-subtle)}.libraryImportRowText{display:flex;flex-direction:column;gap:2px;min-width:0}.libraryImportRowTitle{font-size:13px;color:var(--color-text-primary);overflow-wrap:anywhere}.libraryImportRowMeta{font-size:11px;color:var(--color-text-secondary)}.libraryImportFlag{font-size:11px;color:var(--color-warning-text)}.libraryImportFlag.danger{color:var(--color-danger-text)}.libraryImportNote{margin:12px 0 0;font-size:12px;line-height:1.5;color:var(--color-text-secondary)}.libraryImportNote.warning{color:var(--color-warning-text)}.libraryImportNotes{margin:0 0 12px;padding-left:18px;font-size:12px;line-height:1.5;color:var(--color-text-secondary);overflow-wrap:anywhere}.libraryImportBar{margin-bottom:12px;height:6px;border-radius:3px;background-color:var(--color-bg-track);overflow:hidden}.libraryImportBarFill{height:100%;background-color:var(--color-accent);transition:width .2s ease}.shareExportModal{background-color:var(--color-bg-modal);border-radius:14px;padding:20px;width:560px;max-width:calc(100vw - 48px);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;gap:0}.shareExportModalHeader{display:flex;align-items:center;justify-content:space-between}.exportTextarea{width:100%;height:320px;margin:16px 0 20px;padding:14px 16px;font-family:DM Mono,monospace;font-size:12px;line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-textarea);border:1px solid var(--color-border);border-radius:8px;resize:vertical;box-sizing:border-box;outline:none;cursor:text}.exportModeSelector{display:flex;gap:4px;margin-top:16px;margin-bottom:4px;background:var(--color-bg-pill-hover);border-radius:8px;padding:3px}.exportModeBtn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border-radius:6px;border:none;background:transparent;font-size:13px;font-family:inherit;cursor:pointer;color:var(--color-text-secondary);transition:background .15s,color .15s,box-shadow .15s}.exportModeBtn:hover{color:var(--color-text-primary)}.exportModeBtn.active{background:var(--color-bg-mode-active);color:var(--color-text-primary);font-weight:500;box-shadow:0 0 0 1px var(--color-border)}.exportPrintDesc{margin:16px 0 20px;padding:12px 14px;background:var(--color-bg-textarea);border-radius:8px;font-size:13px;color:var(--color-text-secondary);line-height:1.6}.exportIngredientsList{list-style:none;padding:0;margin:16px 0 20px;max-height:280px;overflow-y:auto;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-textarea)}.exportIngredientsList li{display:flex;gap:12px;padding:8px 14px;border-bottom:1px solid var(--color-border);font-size:13px}.exportIngredientsList li:last-child{border-bottom:none}.exportIngRow{cursor:pointer;transition:background-color .12s;align-items:center}.exportIngRow:hover{background-color:var(--color-bg-subtle)}.exportIngRowUnchecked .exportIngAmt,.exportIngRowUnchecked .exportIngItem{opacity:.35}.exportIngCheckbox{width:16px;height:16px;flex-shrink:0;cursor:pointer;accent-color:var(--color-brand-accent)}.exportIngAmt{min-width:90px;font-weight:600;color:var(--color-text-primary);flex-shrink:0}.exportIngItem{flex:1;color:var(--color-text-secondary)}.pagesTrack{position:absolute;inset:0;overflow:hidden}.pagesTrack>.pagePanel{position:absolute;inset:0;overflow-y:auto;transition:transform .3s cubic-bezier(.25,.46,.45,.94);will-change:transform}.recipeDetail{max-width:800px;margin:0 auto;padding:48px;transition:max-width .3s ease}.sidebar.sidebarCollapsed~.main .recipeDetail{max-width:1140px}.recipeHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}.recipeTitle{font-family:Sentient,-apple-system,sans-serif;font-size:34px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px;letter-spacing:-.02em;line-height:1.2;overflow-wrap:anywhere}.recipeAuthor{font-size:14px;color:var(--color-text-list-label);margin:-8px 0 12px;font-style:italic}.importNotice{display:flex;align-items:flex-start;gap:10px;padding:10px 12px 10px 14px;background-color:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:8px;margin-bottom:16px;color:var(--color-warning-text)}.importNoticeIcon{flex-shrink:0;margin-top:1px}.importNoticeBody{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.importNoticeTitle{font-size:13px;font-weight:600}.importNoticeText{font-size:13px;line-height:1.45}.importNoticeDismiss{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:2px;background:none;border:none;border-radius:4px;color:var(--color-warning-text);opacity:.7;cursor:pointer}.importNoticeDismiss:hover{opacity:1;background-color:var(--color-warning-border)}.creditGroup{border:1px solid var(--color-border);border-radius:14px;padding:16px;margin-bottom:20px}.creditGroupRow{display:grid;grid-template-columns:.65fr 1fr;gap:12px}.creditGroupRow .formGroup{margin-bottom:0}.attributionSelectWrapper{position:relative;outline:none}.attributionSelectBtn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;font-size:14px;font-family:inherit;text-align:left;background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);cursor:pointer;transition:border-color .15s}.attributionSelectBtn:hover{border-color:var(--color-accent-focus)}.attributionSelectValue{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attributionDropdown{left:0;right:0;min-width:0}.attributionDropdownOption{align-items:flex-start;gap:10px}.attributionOptionBody{display:flex;flex-direction:column;gap:2px;min-width:0}.attributionOptionLabel{color:var(--color-text-primary)}.attributionOptionExample{font-size:12px;font-weight:400;font-style:italic;color:var(--color-text-secondary)}.attributionHint{display:flex;align-items:flex-start;gap:6px;margin:12px 0 0;font-size:12px;line-height:1.45;color:var(--color-text-secondary)}.attributionHintIcon{flex-shrink:0;margin-top:2px}.recipeDescription{font-size:16px;color:var(--color-text-secondary);margin:0 0 16px;line-height:1.5}.recipePhotoNotes{display:flex;gap:16px;margin-bottom:24px;align-items:flex-start}.recipePhotoNotes--full{display:block}.recipePhotoGrid{display:grid;gap:8px;flex-shrink:0}.recipePhotoGrid--1{grid-template-columns:220px;grid-template-rows:168px}.recipePhotoGrid--2{grid-template-columns:180px 180px;grid-template-rows:130px}.recipePhotoGrid--3{grid-template-columns:140px 140px 140px;grid-template-rows:120px}.recipePhotoGrid--4{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:150px;width:100%;margin-bottom:4px}.recipePhotoThumb{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block;cursor:pointer}.recipePhotoBtn{display:block;width:100%;height:100%;padding:0;border:none;border-radius:10px;background:none;cursor:pointer}.photoLightboxOverlay{z-index:1200;flex-direction:column}.photoLightboxImg{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:12px;box-shadow:var(--shadow-modal);cursor:default}.photoLightboxClose{position:absolute;top:20px;right:20px;background:#0006;border:none;color:#fff;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer}.photoLightboxNav{position:absolute;top:50%;transform:translateY(-50%);background:#0006;border:none;color:#fff;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer}.photoLightboxNav--prev{left:20px}.photoLightboxNav--next{right:20px}.photoLightboxCounter{position:absolute;bottom:24px;left:50%;transform:translate(-50%);background:#0006;color:#fff;font-size:13px;padding:4px 12px;border-radius:12px}.descriptionLink{color:var(--color-accent);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;transition:color .2s,text-decoration-style .2s;overflow-wrap:break-word;word-break:break-all}.descriptionLink:hover{color:var(--color-text-link-hover);text-decoration-style:solid}.recipeTags{display:flex;flex-wrap:wrap;gap:4px 12px;margin-bottom:24px}.recipeTag{font-size:14px;font-weight:400;color:var(--color-text-secondary)}.recipeTag:before{content:"#"}.recipeActions{display:flex;gap:8px}.recipeActionsMenu{position:relative}.notesStack{display:flex;flex-direction:column}.notesStack--above{margin-bottom:24px}.notesStack--side{width:100%;flex:1;justify-content:center}.notesStack--above{display:none}.notesStack--inline{margin-top:16px;margin-bottom:24px}.noteRow{display:flex;align-items:baseline;gap:16px;padding:6px 0;border-bottom:1px solid var(--color-border-subtle)}.noteRowLabel{font-size:12px;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;min-width:78px}.noteRowValue{font-size:13px;font-weight:600;color:var(--color-text-primary)}.importantNote{display:flex;align-items:center;gap:12px;padding:14px 18px;background-color:var(--color-note-bg);border-radius:10px;margin-bottom:20px;font-size:14px;color:var(--color-note-text)}.infoIcon{width:18px;height:18px;flex-shrink:0}.recipeBody{display:grid;grid-template-columns:280px 1fr;gap:48px;transition:grid-template-columns .3s ease,gap .3s ease;padding-bottom:16px}.sidebar.sidebarCollapsed~.main .recipeBody{grid-template-columns:360px 1fr;gap:64px}.recipeBody>div>section+section{margin-top:36px}.ingredientsList{list-style:none;padding:0;margin:0}.ingredientItem{display:flex;align-items:flex-start;gap:8px;padding:10px 0;border-bottom:1px solid var(--color-border-subtle)}.ingredientContent{display:block;min-width:0;flex:1;font-size:14px;line-height:1.5;overflow-wrap:break-word}.ingredientCheckbox{flex-shrink:0;width:16px;height:16px;margin:2px 0 0;cursor:pointer;accent-color:var(--color-accent)}.container.darkMode .ingredientCheckbox{color-scheme:dark}.ingredientItem--checked .ingredientQty,.ingredientItem--checked .ingredientName{opacity:.5}.ingredientSectionHeader{list-style:none;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent-text);padding:18px 0 6px;border-bottom:none}.ingredientsList .ingredientSectionHeader:first-child{padding-top:16px}.ingredientQty{margin-right:8px;font-weight:600;color:var(--color-text-primary)}.ingredientName{color:var(--color-text-secondary)}.ingredientLink{display:inline;max-width:100%;overflow-wrap:break-word;font:inherit;color:var(--color-accent);background:none;border:none;padding:0;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;transition:color .2s,text-decoration-color .2s}.ingredientLink:hover{color:var(--color-text-link-hover);text-decoration-style:solid}.recipeBody .sectionTitle{margin-bottom:0}.sectionTitleRow{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid var(--color-border)}.recipeBody .sectionTitleRow{margin-bottom:0}.sectionTitleRow .sectionTitle{margin-bottom:0;padding-bottom:0;border-bottom:none}.amountNotation{display:inline-flex;align-items:baseline;gap:4px;flex-shrink:0}.amountNotationSeg{font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--color-text-secondary);background:none;border:none;padding:0;cursor:pointer;transition:color .2s}.amountNotationSeg:hover{color:var(--color-text-primary)}.amountNotationSeg--active{color:var(--color-text-link)}.amountNotationDivider{font-size:11px;color:var(--color-text-empty)}.stepsList{list-style:none;padding:0;margin:0}.stepItem{display:flex;align-items:baseline;gap:8px;padding:14px 0;border-bottom:1px solid var(--color-border)}.stepItem:last-child{border-bottom:none}.stepNumber{flex-shrink:0;min-width:18px;font-family:inherit;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;text-align:left;color:var(--color-text-secondary);line-height:1.6;padding:0;background:none;border:none;border-radius:4px}button.stepNumber{cursor:pointer}.stepNumber--checked,.stepItem--checked .stepText{opacity:.4;transition:opacity .2s ease}.stepText{font-size:15px;line-height:1.6;color:var(--color-text-step);margin:0;transition:opacity .2s ease}.recipeDetail .iconBtn:focus-visible,.recipeDetail .iconBtnFavorite:focus-visible,.recipeActionItem:focus-visible,.recipePhotoBtn:focus-visible,.amountNotationSeg:focus-visible,.ingredientCheckbox:focus-visible,.ingredientLink:focus-visible,.descriptionLink:focus-visible,.stepNumber:focus-visible,.mobileBackBtn:focus-visible,.mobileCookModeBtn:focus-visible,.cookMobileTabDot:focus-visible,.timersTabNewBtn:focus-visible,.timerCardDelete:focus-visible,.pageNavBtn:focus-visible,.importNoticeDismiss:focus-visible,.floatingPanelBtn:focus-visible,.timerPill:focus-visible{outline:2px solid var(--color-accent-focus);outline-offset:2px}.tagEditor{display:flex;flex-direction:column;gap:10px}.tagEditorApplied{display:flex;flex-wrap:wrap;gap:6px}.tagEditorAppliedTag{display:flex;align-items:center;gap:5px;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:16px;background-color:var(--color-button-confirm);color:var(--color-brand-white);border:none;border-radius:20px;cursor:pointer;transition:background-color .15s}.tagEditorAppliedTag:hover{background-color:var(--color-button-confirm-hover)}.tagEditorExisting{display:flex;flex-wrap:wrap;gap:6px;max-height:78px;overflow-y:auto}.tagEditorTag{padding:5px 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:16px;background-color:var(--color-bg-subtle);border:none;border-radius:20px;cursor:pointer;color:var(--color-text-secondary);transition:background-color .15s,color .15s}.tagEditorTag:hover:not(:disabled){background-color:var(--color-bg-hover);color:var(--color-text-primary)}.tagEditorTag:disabled{opacity:.5;cursor:default}.tagEditorNewRow{display:flex}.tagEditorNewRow .input{flex:1}.tagEditorActions{display:flex;align-items:center;gap:8px}.tagEditorHint{margin:0;font-size:12px;color:var(--color-text-secondary)}.photoUploadEmpty{display:flex;align-items:center;justify-content:center;padding:24px;border-radius:12px;border:1px dashed var(--color-text-faint);color:var(--color-text-secondary);font-size:13px;cursor:pointer;transition:border-color .2s,color .2s}.photoUploadEmpty:hover{border-color:var(--color-accent);color:var(--color-accent-text)}.photoUploadEmpty:has(input:focus-visible){border-color:var(--color-accent);outline:2px solid var(--color-accent-focus);outline-offset:2px}.photoUploadEmpty--disabled{cursor:default;opacity:.5}.photoUploadEmpty--disabled:hover{border-color:var(--color-text-faint);color:var(--color-text-secondary)}.photoUploadDragOver.photoUploadEmpty{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-surface)}.photoUploadDragOver.photoUploadPreview{outline:2px dashed var(--color-accent);outline-offset:4px;border-radius:12px}.photoUploadPreview{display:flex;align-items:flex-start;gap:12px}.photoUploadImg{width:100px;height:80px;object-fit:cover;border-radius:8px;flex-shrink:0}.photoUploadActions{display:flex;flex-direction:column;gap:8px}.photoUploadBtn{display:inline-block;padding:8px 14px;font-size:13px;font-weight:500;background:var(--color-bg-input);box-shadow:0 0 0 1px var(--color-border);border-radius:8px;cursor:pointer;color:var(--color-text-primary);transition:box-shadow .2s}.photoUploadBtn:hover{box-shadow:0 0 0 1px var(--color-accent);color:var(--color-accent)}.photoRemoveBtn{padding:8px 14px;font-size:13px;font-weight:500;background:none;border:none;border-radius:8px;cursor:pointer;color:var(--color-danger-urgent);transition:background .15s}.photoRemoveBtn:hover{background:var(--color-danger-surface)}.photoUploadHint{margin:6px 0 0;font-size:12px;color:var(--color-text-secondary)}.photoUploadEmpty--compact{padding:24px 20px}.photoEditGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}.photoEditThumb{position:relative;aspect-ratio:4 / 3;border-radius:8px;overflow:hidden}.photoEditThumb img{width:100%;height:100%;object-fit:cover;display:block}.photoEditRemoveBtn{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;border:none;background:#0000008c;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s}.photoEditRemoveBtn:hover{background:#000c}.standardizeBtn{font-family:inherit;font-size:13px;font-weight:500;color:var(--color-text-secondary);background-color:transparent;border:1px solid var(--color-border);border-radius:8px;padding:0 12px;min-height:32px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background-color .15s,color .15s,border-color .15s}.standardizeBtn:hover{background-color:var(--color-bg-subtle);color:var(--color-text-primary)}.standardizeGroup{display:inline-flex;align-items:stretch;border:1px solid var(--color-border);border-radius:8px;overflow:hidden;flex-shrink:0}.standardizeGroup .standardizeBtn{border:none;border-radius:0}.notationSeg{font-family:inherit;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text-secondary);background-color:transparent;border:none;border-left:1px solid var(--color-border);padding:0 10px;cursor:pointer;transition:background-color .15s,color .15s}.notationSeg:hover{background-color:var(--color-bg-subtle)}.notationSeg--active{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.ingredientRow{display:flex;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--color-border-subtle)}.ingredientEditor{display:flex;flex-direction:column}.ingredientAmountInput{padding:10px 12px;font-family:inherit;font-size:14px;border:none;border-radius:8px;outline:none;background-color:var(--color-bg-input);box-shadow:var(--shadow-input);transition:box-shadow .2s;box-sizing:border-box;color:var(--color-text-primary);width:120px;flex-shrink:0}.ingredientAmountInput::placeholder{color:var(--color-text-faint)}.ingredientItemWrapper{position:relative;flex:1;min-width:0;display:flex}.ingredientRow>.input{flex:1;min-width:0}.ingredientItemInput{padding:10px 12px;font-family:inherit;font-size:14px;border:none;border-radius:8px;outline:none;background-color:var(--color-bg-input);box-shadow:var(--shadow-input);transition:box-shadow .2s;box-sizing:border-box;color:var(--color-text-primary);flex:1;width:100%}.ingredientItemInput::placeholder{color:var(--color-text-faint)}.ingredientDropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-bg-block);border:1px solid var(--color-border);border-radius:10px;box-shadow:var(--shadow-dropdown);padding:4px;z-index:200;overflow:hidden}.ingredientDropdownItem{display:block;width:100%;text-align:left;padding:8px 12px;font-size:14px;border-radius:7px;cursor:pointer;color:var(--color-text-primary);background:none;border:none;font-family:inherit}.ingredientDropdownItem:hover{background-color:var(--color-bg-subtle)}.ingredientEditorActions{display:flex;align-items:center;gap:8px}@media(max-width:600px){.ingredientAmountInput{width:92px}.stepRow{flex-wrap:wrap}.stepRow .stepTextarea{order:1;flex-basis:100%}.stepRow .removeBtn{margin-left:auto}.ingredientEditorActions{flex-wrap:wrap}.ingredientEditorActions .addIngredientBtn,.ingredientEditorActions .addSectionBtn{flex:1;justify-content:center}.ingredientEditorActions .standardizeGroup{flex-basis:100%}.ingredientEditorActions .standardizeGroup .standardizeBtn{flex:1;justify-content:center}}.addIngredientBtn{font-family:inherit;font-size:13px;font-weight:500;color:var(--color-text-secondary);background-color:transparent;border:1px solid var(--color-border);border-radius:8px;padding:0 12px;cursor:pointer;transition:background-color .15s,color .15s;display:inline-flex;align-items:center;gap:6px;align-self:flex-start;min-height:32px}.addIngredientBtn:hover{background-color:var(--color-bg-subtle);color:var(--color-text-primary)}.addSectionBtn{font-family:inherit;font-size:13px;font-weight:500;color:var(--color-text-secondary);background-color:transparent;border:1px solid var(--color-border);border-radius:8px;padding:0 12px;cursor:pointer;transition:background-color .15s,color .15s;display:inline-flex;align-items:center;gap:6px;align-self:flex-start;min-height:32px}.addSectionBtn:hover{background-color:var(--color-bg-subtle);color:var(--color-text-primary)}.addIngredientBtn:disabled,.addSectionBtn:disabled,.standardizeBtn:disabled{opacity:.5;cursor:not-allowed}.addIngredientBtn:disabled:hover,.addSectionBtn:disabled:hover,.standardizeBtn:disabled:hover{background-color:transparent;color:var(--color-text-secondary)}.ingredientRow--section{padding-top:16px}.ingredientAmountInput:focus,.ingredientItemInput:focus,.sectionTitleInput:focus,.stepTextarea:focus{box-shadow:0 0 0 1px var(--color-accent),var(--shadow-input-focus)}.ingredientEditorActions,.ingredientEditor>.addIngredientBtn,.stepsEditor>.addIngredientBtn{margin-top:12px}.sectionTitleInput{padding:10px 12px;font-family:inherit;font-size:14px;font-weight:600;border:none;border-radius:8px;outline:none;background-color:var(--color-bg-input);box-shadow:var(--shadow-input);transition:box-shadow .2s;box-sizing:border-box;color:var(--color-text-primary);flex:1;width:100%}.sectionTitleInput::placeholder{color:var(--color-text-faint);font-weight:400}.stepRow{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid var(--color-border-subtle)}.stepsEditor{display:flex;flex-direction:column}.stepEditorNumber{min-width:18px;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;line-height:40px;color:var(--color-text-secondary);flex-shrink:0}.stepTextarea{padding:10px 12px;font-family:inherit;font-size:14px;border:none;border-radius:8px;outline:none;background-color:var(--color-bg-input);box-shadow:var(--shadow-input);transition:box-shadow .2s;resize:none;overflow:hidden;box-sizing:border-box;color:var(--color-text-primary);flex:1;min-height:40px;width:100%;line-height:1.5}.stepTextarea::placeholder{color:var(--color-text-faint)}.stepRow .removeBtn{margin-top:6px}@media(max-width:1024px){.recipeTree{padding:4px 6px 12px}.container.compactSidebar .treeRow,.treeRow{height:38px}.treeRowActions{opacity:1}.treeRowActionBtn{width:32px;height:32px}.newRecipeBtn{margin:12px 16px 16px}.recipeActionBtns{flex-direction:row;gap:12px;margin:12px 16px 16px;justify-content:center}.recipeActionBtns .newRecipeBtn,.importUrlBtn{flex:1;margin:0}.sidebar.hasRecipeSelected{display:none}.recipeDetail{padding:32px 20px 60px}.recipeHeader{flex-direction:row;align-items:flex-start;gap:12px}.recipeTitle{font-size:28px}.recipeDescription{max-width:100%}.notesStack--above{display:flex;margin-bottom:20px}.notesStack--inline{display:none}.recipePhotoNotes{flex-direction:column}.notesStack--side{order:-1}.recipePhotoGrid{width:100%}.recipePhotoGrid--1{grid-template-columns:1fr;grid-template-rows:auto}.recipePhotoGrid--1 .recipePhotoThumb{max-height:320px}.recipePhotoGrid--2{grid-template-columns:1fr 1fr;grid-template-rows:auto}.recipePhotoGrid--3{grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto}.recipePhotoThumb{width:100%;height:auto;aspect-ratio:4 / 3;max-height:none}.recipePhotoBtn{height:auto}.recipeBody,.sidebar.sidebarCollapsed~.main .recipeBody{grid-template-columns:1fr;gap:32px}}@media(max-width:768px){.importModalOverlay{align-items:flex-start;padding:0}.importModal{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding:0;overflow-y:auto;overflow-x:hidden}.importModalHeader{position:sticky;top:0;z-index:10;background-color:var(--color-bg-modal);padding:12px 16px;border-bottom:1px solid var(--color-border-subtle)}.importModal .exportModeSelector{margin:16px 16px 4px}.importModalBody{padding:0 16px 32px}.importTextarea{height:180px}.importPhotoAddZone{min-height:110px}}@media(max-width:768px){.recipePhotoGrid--1{grid-template-columns:1fr;grid-template-rows:auto}.recipePhotoGrid--2{grid-template-columns:1fr 1fr;grid-template-rows:auto}.recipePhotoGrid--3{grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto}.recipePhotoGrid--4{grid-template-columns:1fr 1fr;grid-template-rows:auto}}@media(max-width:480px){.recipePhotoGrid--2,.recipePhotoGrid--3,.recipePhotoGrid--4{grid-template-columns:1fr}.creditGroupRow{grid-template-columns:1fr;gap:16px}.creditGroup{padding:14px}.recipePhotoThumb{aspect-ratio:16 / 9}.recipeDetail{padding:24px 16px 48px}.recipeTitle{font-size:24px}.recipeDescription{font-size:15px}.treeRowTitle{font-size:14px}}.previewBanner{background-color:var(--color-button-confirm);color:#fff;padding:12px 20px;margin:-20px -20px 32px;border-radius:12px}.previewBannerContent{display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:100%}.previewBannerText{color:#fff;font-weight:500;font-size:15px}.saveSharedBtn{background:#fff;color:var(--color-text-primary);padding:10px 14px;border-radius:8px;font-weight:600;font-size:14px;border:none;cursor:pointer;white-space:nowrap}.saveSharedBtn:disabled{opacity:.6;cursor:not-allowed;transform:none}.sharedCollectionList{list-style:none;padding:0;margin:0}.sharedCollectionItem{display:flex;align-items:center;gap:12px;width:100%;padding:14px 12px;background:none;border:none;border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-primary);font-size:15px;text-align:left;cursor:pointer}.sharedCollectionItem:hover{background:var(--color-bg-hover)}.sharedCollectionItemTitle{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sharedCollectionItemSaved{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--color-accent-text)}.sharedCollectionItemChevron{flex-shrink:0;color:var(--color-text-faint)}.shareModalText{color:var(--color-text-secondary);font-size:14px;line-height:1.6;margin-bottom:12px}.shareModalWarning{color:var(--color-warning-text);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:8px;font-size:13px;line-height:1.5;padding:8px 12px;margin-bottom:20px}.shareUrlContainer{display:flex;gap:8px;align-items:center;margin-bottom:20px}.shareUrlInput{flex:1;min-width:0;height:36px;padding:0 12px;box-sizing:border-box;border:1px solid var(--color-border);border-radius:8px;font-size:12px;font-family:DM Mono,monospace;background:var(--color-bg-subtle);color:var(--color-text-primary)}.shareUrlInput:focus{outline:none;border-color:var(--color-accent)}.copyBtn{width:36px;height:36px;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:8px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s,color .15s;flex-shrink:0}.copyBtn:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.copyBtn:focus-visible{outline:2px solid var(--color-accent-focus);outline-offset:2px}.timerPresetBtn:focus-visible,.importInstructionsToggle:focus-visible,.importLibraryLink:focus-visible,.importFileRemoveBtn:focus-visible,.importPhotoRemoveBtn:focus-visible,.batchAddSearchClear:focus-visible,.photoLightboxClose:focus-visible,.photoLightboxNav:focus-visible,.confirmCheckbox:focus-visible,.collectionCheckbox input:focus-visible,.libraryImportRow input:focus-visible,.libraryImportSelectAll input:focus-visible{outline:2px solid var(--color-accent-focus);outline-offset:2px}.exportModeBtn:focus-visible,.batchAddItem:focus-visible{outline:2px solid var(--color-accent-focus);outline-offset:-2px}@media(max-width:1024px){.previewBanner{margin:-32px -20px 24px;padding:14px 16px;border-radius:0}.previewBannerContent{flex-direction:column;align-items:stretch;text-align:center;gap:12px}.previewBannerText{font-size:14px}.saveSharedBtn{width:100%;padding:12px 16px}}@media(max-width:480px){.previewBanner{margin:-24px -16px 20px;padding:12px 14px}.previewBannerText{font-size:13px}.saveSharedBtn{padding:10px 14px;font-size:13px}}.shareOptionsModal{width:min(340px,calc(100vw - 32px))}.shareOptionsHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.shareOptionsHeader .confirmTitle{margin:0}.shareOptionsList{display:flex;flex-direction:column;gap:2px;margin:0 -8px}.shareOptionBtn{display:flex;align-items:center;gap:12px;width:100%;padding:8px;border:none;border-radius:8px;background:transparent;font-family:inherit;cursor:pointer;text-align:left;transition:background-color .15s}.shareOptionBtn:hover:not(:disabled){background:var(--color-bg-row-active-veil)}.shareOptionBtn:focus-visible{outline:2px solid var(--color-accent-focus);outline-offset:-2px}.shareOptionBtn:disabled{opacity:.45;cursor:not-allowed}.shareOptionIcon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;background:var(--color-bg-card);color:var(--color-text-secondary);flex-shrink:0}.shareOptionIcon svg{width:16px;height:16px}.shareOptionText{display:flex;flex-direction:column;gap:1px}.shareOptionTitle{font-size:14px;font-weight:600;color:var(--color-text-primary)}.shareOptionDesc{font-size:13px;color:var(--color-text-secondary)}@media(max-width:1023px){.shareExportModalOverlay{align-items:flex-start;padding:0}.shareExportModal{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding:0;overflow-y:auto;overflow-x:hidden}.shareExportModalHeader{position:sticky;top:0;z-index:10;background-color:var(--color-bg-modal);padding:12px 16px;border-bottom:1px solid var(--color-border-subtle)}.shareExportModalBody{padding:0 16px 32px}.shareExportModalBody .exportModeSelector{margin:16px 0 4px}.shareExportModalBody .exportPrintDesc{margin-top:16px}.shareExportModalBody .exportIngredientsList{max-height:none}}.collectionMenu{position:absolute;top:100%;right:0;margin-top:4px;padding:6px;display:flex;flex-direction:column;gap:2px;background-color:var(--color-bg-block);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-dropdown);z-index:100;min-width:160px}.collectionMenu button{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;background:none;border:none;border-radius:8px;cursor:pointer;white-space:nowrap;font-family:inherit;font-size:13px;color:var(--color-text-primary);transition:background-color .15s;text-align:left}.collectionMenu button:hover{background-color:var(--color-button-subtle-hover)}.collectionMenu button svg{flex-shrink:0;color:var(--color-text-icon)}.collectionMenu button.collectionMenuDelete,.collectionMenu button.collectionMenuDelete svg{color:var(--color-danger-action)}.collectionMenu button.collectionMenuDelete:hover{background-color:var(--color-danger-surface)}.collectionDetailHeader{padding:6px 12px;border-bottom:1px solid var(--color-border-subtle);display:flex;align-items:center;gap:8px}.collectionDetailTitle{flex:1;min-width:0;font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.addToCollectionBody{flex:1;overflow-y:auto;min-height:60px;max-height:360px}.collectionCheckboxList{display:flex;flex-direction:column}.collectionCheckbox{display:flex;align-items:center;gap:10px;padding:9px 20px;cursor:pointer;border-bottom:1px solid var(--color-border-subtle);transition:background-color .15s}.collectionCheckbox:last-child{border-bottom:none}.collectionCheckbox:hover{background-color:var(--color-bg-row-hover-veil)}.collectionCheckbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-brand-accent);flex-shrink:0}.collectionCheckbox span:not(.collectionCheckboxCount){flex:1;min-width:0;text-align:left}.collectionCheckbox span{font-size:14px;color:var(--color-text-primary)}.collectionCheckboxCount{margin-left:auto;color:var(--color-text-secondary)!important;font-size:12px!important;font-variant-numeric:tabular-nums}.noCollectionsText{text-align:center;color:var(--color-text-secondary);font-size:14px;padding:20px;margin:0}@media(max-width:1024px){.collectionDetailTitle{font-size:15px}}.modelSelectModal{max-width:400px}.modelSelectSectionLabel{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-label);margin:0 0 8px}.modelSelectSectionLabel:not(:first-child){margin-top:18px}.modelSelectOption{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;margin-bottom:8px;background:var(--color-bg-subtle);border:2px solid transparent;border-radius:10px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.modelSelectOption:last-child{margin-bottom:0}.modelSelectOption:hover{background:var(--color-bg-hover)}.modelSelectOption.selected{border-color:var(--color-text-primary);background:var(--color-bg-hover)}.modelSelectDot{flex-shrink:0;width:16px;height:16px;margin-top:2px;border:2px solid var(--color-text-divider);border-radius:50%;transition:border-color .15s,background .15s}.modelSelectOption.selected .modelSelectDot{border-color:var(--color-text-primary);background:var(--color-text-primary);box-shadow:inset 0 0 0 3px var(--color-button-subtle-hover)}.modelSelectText{display:flex;flex-direction:column;gap:2px}.modelSelectName{font-size:14px;font-weight:600;color:var(--color-text-primary)}.modelSelectDesc{font-size:12px;color:var(--color-text-icon);line-height:1.4}.modelSelectNote{font-size:12px;color:var(--color-text-label);line-height:1.4;margin-top:16px}.batchAddModal{background:var(--color-bg-modal);border-radius:14px;box-shadow:var(--shadow-modal);width:440px;max-width:calc(100vw - 32px);max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.batchAddModalHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.batchAddModalTitle{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0}.batchAddSearch{display:flex;align-items:center;gap:8px;padding:10px 20px;border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.batchAddSearchIcon{color:var(--color-text-icon);flex-shrink:0}.batchAddSearchInput{flex:1;border:none;outline:none;font-size:14px;background:none;color:var(--color-text-primary);font-family:inherit}.batchAddSearchInput::placeholder{color:var(--color-text-faint)}.batchAddSearchClear{background:none;border:none;padding:2px;cursor:pointer;color:var(--color-text-icon);display:flex;align-items:center;border-radius:4px;flex-shrink:0;transition:color .15s}.batchAddSearchClear:hover{color:var(--color-text-secondary)}.batchAddList{flex:1;overflow-y:auto;min-height:80px}.batchAddItem{display:flex;align-items:center;width:100%;padding:9px 20px;background:none;border:none;border-bottom:1px solid var(--color-border-subtle);cursor:pointer;text-align:left;font-size:14px;color:var(--color-text-primary);font-family:inherit;transition:background .15s}.batchAddItem:last-child{border-bottom:none}.batchAddItem:hover{background:var(--color-bg-row-hover-veil)}.batchAddItem--selected{background:var(--color-bg-selected-item);color:var(--color-accent-text)}.batchAddItem--selected:hover{background:var(--color-bg-selected-item)}.batchAddItemTitle{flex:1;font-weight:500;text-align:left}.batchAddItemCheck{color:var(--color-text-link);flex-shrink:0;margin-left:8px}.batchAddEmpty{padding:28px 16px;text-align:center;font-size:13px;color:var(--color-text-secondary)}.batchAddFooter{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--color-border-subtle);flex-shrink:0}@media(max-width:480px){.batchAddFooter>button{flex:1 1 0;min-width:0;min-height:40px}}.recipeDetailCookMode .recipeDescription,.recipeDetailCookMode .recipeTags,.recipeDetailCookMode .notesStack,.recipeDetailCookMode .importantNote,.recipeDetailCookMode .recipeAuthor,.recipeDetailCookMode .recipeAttribution,.recipeDetailCookMode .recipePhotoNotes,.recipeDetailCookMode .recipeActions{display:none}@media(max-width:1023px){.container.cookMode .main{flex:1;height:0;min-height:0;overflow:hidden;padding-bottom:0}.container.cookMode .recipeDetail{height:100%;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;padding-bottom:0}.container.cookMode .mobileNavRow,.container.cookMode .recipeHeader{flex-shrink:0}.cookMobileLayout{flex:1;position:relative;overflow:hidden;min-height:0}.cookMobileTabPill{position:fixed;bottom:calc(40px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:20px;box-shadow:var(--shadow-floating);z-index:50}.cookMobileTabDot{width:8px;height:8px;border-radius:4px;background:var(--color-border);border:none;padding:0;cursor:pointer;transition:width .25s cubic-bezier(.25,.46,.45,.94),background .2s}.cookMobileTabDot.cookMobileTabDotActive{width:22px;background:var(--color-accent)}.cookMobilePanel{position:absolute;inset:0;overflow-y:auto;padding:8px 12px 120px 4px;-webkit-overflow-scrolling:touch;transition:transform .3s cubic-bezier(.25,.46,.45,.94);will-change:transform;background:var(--color-bg-page)}.timersTabNewBtn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:12px;margin-bottom:16px;background:var(--color-brand-accent);color:var(--color-brand-white);border:none;border-radius:12px;font-size:15px;font-weight:500;cursor:pointer}.timersTabNewBtn:hover{background:var(--color-accent-hover)}.timersTabEmpty{text-align:center;color:var(--color-text-disabled);font-size:14px;padding:24px 0}.timerCardStack{display:flex;flex-direction:column;gap:10px}.timerCard{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:var(--color-bg-card);border:1px solid var(--color-border-warm);border-radius:12px;box-shadow:var(--shadow-floating)}.timerCardInfo{display:flex;flex-direction:column;gap:2px;min-width:0}.timerCardName{font-size:13px;color:var(--color-text-timer-name);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timerCardTime{font-size:22px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--color-text-mid)}.timerCardDelete{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:none;background:none;color:var(--color-text-disabled);border-radius:50%;cursor:pointer}.timerCardDelete:hover{color:var(--color-text-hover-bright);background:var(--color-bg-pill-hover)}.timerCardUrgent{border-color:var(--color-danger-urgent-border)}.timerCardUrgent .timerCardTime{color:var(--color-danger-urgent)}.timerCardDone{border-color:var(--color-accent-done-border)}.timerCardDone .timerCardTime{color:var(--color-accent)}}.cookMobilePanel>section+section{margin-top:36px}.pageNavBtn{width:44px;height:44px;border-radius:50%;border:1px solid var(--color-bg-hover);background:var(--color-bg-block);color:var(--color-text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-floating);transition:background .15s,box-shadow .15s}.pageNavBtn:hover:not(:disabled){background:var(--color-bg-hover);box-shadow:var(--shadow-floating-hover)}.pageNavBtn:disabled{opacity:.3;cursor:default}.pageNavLeft{position:fixed;left:24px;top:50%;transform:translateY(-50%);z-index:90;transition:background .15s,box-shadow .15s,left .3s ease}.sidebar:not(.sidebarCollapsed)~.main .pageNavLeft{left:360px}.pageNavRight{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;align-items:center;gap:10px}.pageNavClose{color:var(--color-text-mid)}@media(max-width:1023px){.pageNavLeft,.pageNavRight{display:none}}.busyOverlay{position:fixed;inset:0;background-color:var(--color-modal-overlay);z-index:1100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--color-text-white);font-size:16px;font-weight:500}html.pwa .recipeActionBtns{margin-bottom:24px}html.pwa .editorModal .modalFooter{padding-bottom:36px}.colorPickerGroup{margin-bottom:20px}.colorPickerRow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.colorSwatch{width:24px;height:24px;border-radius:50%;border:none;padding:0;cursor:pointer;flex-shrink:0;box-sizing:border-box;outline:none;position:relative;transition:transform .15s}.colorSwatch:hover{transform:scale(1.15)}.colorSwatchActive{box-shadow:0 0 0 2px var(--color-bg-page),0 0 0 4px var(--color-text-primary)}.colorSwatch--none{background-color:var(--color-bg-card);box-shadow:inset 0 0 0 1.5px var(--color-border)}.colorSwatch--none.colorSwatchActive{box-shadow:inset 0 0 0 1.5px var(--color-border),0 0 0 2px var(--color-bg-page),0 0 0 4px var(--color-text-primary)}.colorSwatch--none:before{content:"";position:absolute;top:50%;left:50%;width:1.5px;height:60%;background:var(--color-border);transform:translate(-50%,-50%) rotate(45deg)}.collectionColorModal .colorPickerGroup{margin:8px 0 20px}.collectionColorModal .colorSwatchActive{box-shadow:0 0 0 2px var(--color-bg-modal),0 0 0 4px var(--color-text-primary)}.collectionColorModal .colorSwatch--none.colorSwatchActive{box-shadow:inset 0 0 0 1.5px var(--color-border),0 0 0 2px var(--color-bg-modal),0 0 0 4px var(--color-text-primary)}.collectionColorModal .confirmCheckboxRow{margin-top:0}.recipeAttribution{margin:-8px 0 12px}.recipeAttributionLine{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;margin:0;font-size:14px;font-style:italic;color:var(--color-text-secondary);clip-path:inset(-8px -8px -8px 0)}.recipeAttributionByline{margin-right:calc(.5em + 6px)}.recipeAttributionSep{display:flex;align-items:baseline;column-gap:6px;margin-left:calc(-.5em - 6px)}.recipeAttributionSep:before{content:"·";width:.5em;text-align:center;color:var(--color-text-subtle)}.recipeAttributionSource{margin:3px 0 0;font-size:13px;font-style:italic;color:var(--color-text-secondary)}.recipeAttributionLink{color:var(--color-text-link);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;word-break:break-all}.recipeAttributionLink:hover{color:var(--color-text-link-hover)}.recipeAttributionLink:focus-visible{outline:2px solid var(--color-accent-focus);outline-offset:2px}.upgradePrompt{max-width:460px}.upgradePrompt .modalTitle{display:flex;align-items:center;gap:8px}.upgradePromptBody{display:flex;flex-direction:column;gap:16px}.upgradePromptReason{font-size:14px;color:var(--color-text-secondary);margin:0;line-height:1.5}.importProgress{margin:0 0 12px;display:flex;flex-direction:column;gap:7px}.importProgressLabel{margin:0;font-size:12px;color:var(--color-text-secondary);text-align:center;transition:opacity .25s ease}.importProgressLabel.fading{opacity:0}.importProgressTrack{width:100%;height:4px;border-radius:2px;background-color:var(--color-border);overflow:hidden}.importProgressFill{height:100%;border-radius:2px;background-color:var(--color-accent);transition:width .2s linear}@media(prefers-reduced-motion:reduce){.importProgressFill,.importProgressLabel{transition:none}}.homeView .loggedOutEmptyState{min-height:calc(100vh - 230px)}.homeView.viewContainer{max-width:680px}.homeStart{padding-top:clamp(8px,4vh,40px)}.homeGreeting{font-family:Sentient,-apple-system,sans-serif;font-size:30px;font-weight:600;line-height:1.2;letter-spacing:-.01em;color:var(--color-text-primary);text-align:center;text-wrap:balance;margin:0 0 24px}.homeComposer{position:relative;background:var(--color-bg-block);border:1px solid var(--color-border);border-radius:14px;padding:14px 14px 12px 16px;transition:border-color .15s,box-shadow .15s}.homeComposer:focus-within{border-color:var(--color-accent);box-shadow:var(--shadow-input-focus)}.homeComposerInput{display:block;width:100%;box-sizing:border-box;min-height:46px;max-height:160px;padding:0 2px 0 0;margin:0 0 10px;background:none;border:none;outline:none;resize:none;overflow-y:auto;font-family:inherit;font-size:15px;line-height:1.5;color:var(--color-text-primary);caret-color:var(--color-accent)}.homeComposerInput::placeholder{color:var(--color-text-placeholder)}.homeComposerInput:disabled{cursor:not-allowed}.homeComposerRow{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.homeChips{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.homeChip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;background:var(--color-bg-subtle);border:none;border-radius:999px;font-family:inherit;font-size:12px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:background-color .15s,color .15s}.homeChip:hover:not(:disabled){background:var(--color-bg-tag-hover);color:var(--color-text-primary)}.homeChip:disabled{opacity:.6;cursor:not-allowed}.homeChip[hidden]{display:none}.homeSendBtn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:32px;height:32px;padding:0;background:var(--color-button-confirm);border:none;border-radius:10px;font-family:inherit;font-size:13px;font-weight:600;color:var(--color-brand-white);cursor:pointer;transition:background-color .15s}.homeSendBtn:hover:not(:disabled){background:var(--color-button-confirm-hover)}.homeSendBtn:disabled{background:var(--color-bg-hover);color:var(--color-text-subtle);cursor:default}.homeSendBtnImport{padding:0 12px}.homeSuggestions{position:absolute;top:calc(100% + 6px);left:-1px;right:-1px;z-index:20;padding:6px;background:var(--color-bg-block);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-dropdown);text-align:left}.homeNote{display:flex;align-items:flex-start;gap:12px;margin-top:24px;padding:14px 10px 14px 14px;background:var(--color-bg-block);border:1px solid var(--color-border);border-radius:12px}.homeNoteIcon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--color-bg-subtle);color:var(--color-text-secondary)}.homeNoteBody{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.homeNoteTitle{margin:0;font-size:14px;font-weight:600;line-height:1.4;color:var(--color-text-primary)}.homeNoteText{margin:0;font-size:13px;line-height:1.5;color:var(--color-text-secondary)}.homeNoteText strong{font-weight:600}.homeNoteAction{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:0;background:none;border:none;font-family:inherit;font-size:13px;font-weight:600;color:var(--color-text-primary);cursor:pointer;text-underline-offset:3px}.homeNoteAction:hover{text-decoration:underline}.homeNoteOlive{background:var(--color-accent-surface);border-color:var(--color-accent-border)}.homeNoteOlive .homeNoteIcon{background:var(--color-bg-block);color:var(--color-accent-text)}.homeNoteOlive .homeNoteTitle{color:var(--color-welcome-banner-title)}.homeNoteOlive .homeNoteText,.homeNoteOlive .homeNoteAction{color:var(--color-accent-text)}.homeNoteDismiss{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:none;border:none;border-radius:6px;color:var(--color-text-secondary);cursor:pointer;transition:background-color .15s,color .15s}.homeNoteDismiss:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.homeRowList{list-style:none;margin:0;padding:0}.homeListLabel{margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary)}.homeListLink{padding:2px 0;background:none;border:none;font-family:inherit;font-size:12px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:color .15s}.homeListLink:hover{color:var(--color-text-primary)}.homeListHint{margin:0;font-size:12px;line-height:1.5;color:var(--color-text-secondary)}.homeLibrarySection+.homeLibrarySection{margin-top:12px}.homeLibraryHeader{display:flex;align-items:baseline;justify-content:space-between;padding-right:8px}.homeLibraryLabel{padding:12px 8px 6px}.homeLibrarySection .homeListHint{padding:2px 8px 6px}.homeRowMeta{flex-shrink:0;font-size:11px;font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.homeMainLibrary{margin:32px -8px 0}.homeMainLibrary .treeRow{height:38px}.homeMainLibrary .treeRowTitle{font-size:14px}.homeMainLibrary .homeRowMeta{font-size:12px}.homeFooter{align-items:center;justify-content:space-between;margin-top:40px;padding-top:8px;border-top:1px solid var(--color-border)}html.pwa .homeFooter{padding-bottom:16px}.homeFooterBtn{display:flex;align-items:center;gap:7px;padding:8px 12px;background:none;border:none;border-radius:8px;font-family:inherit;font-size:13px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:color .15s}.homeFooterBtn:first-child{margin-left:-12px}.homeFooterBtn:last-child{margin-right:-12px}.homeFooterBtn:hover{color:var(--color-text-primary)}.homeFooterBtnDanger:hover{color:var(--color-danger-action-hover)}.homeVersionPill{font-size:11px;font-weight:600;background:var(--color-accent-surface);color:var(--color-accent-text);padding:3px 9px;border-radius:999px;letter-spacing:.02em;flex-shrink:0}.homeView button:focus-visible,.homeResourceLinks button:focus-visible{outline:2px solid var(--color-accent-focus);outline-offset:2px}.homeView .treeRow:focus-visible{outline-offset:-2px}.homeInstallBanner{display:flex;align-items:flex-start;gap:12px;background:var(--color-bg-block);border:1px solid var(--color-border);border-radius:12px;padding:14px 14px 14px 16px;margin-bottom:20px}.homeInstallBannerBody{flex:1;display:flex;flex-direction:column;gap:4px}.homeInstallBannerTitle{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0}.homeInstallBannerText{font-size:13px;color:var(--color-text-secondary);margin:0;line-height:1.5}.homeInstallBannerCta{align-self:flex-start;margin-top:6px;padding:6px 13px;background:var(--color-button-confirm);border:none;border-radius:999px;font-family:inherit;font-size:12px;font-weight:600;color:var(--color-brand-white);cursor:pointer;transition:background-color .15s}.homeInstallBannerCta:hover{background:var(--color-button-confirm-hover)}.homeInstallBannerClose{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:none;border:none;border-radius:6px;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;transition:background-color .15s,color .15s;padding:0}.photoOptionModal{width:min(340px,calc(100vw - 32px))}.photoOptionModalHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.photoOptionModalHeader .confirmTitle{margin:0}.photoOptionList{display:flex;flex-direction:column;gap:2px;margin:0 -8px}.photoOptionBtn{display:flex;align-items:center;gap:12px;width:100%;padding:8px;border:none;border-radius:8px;background:transparent;font-family:inherit;cursor:pointer;text-align:left;transition:background-color .15s}.photoOptionBtn:hover:not(:disabled){background:var(--color-bg-row-active-veil)}.photoOptionBtn:focus-visible{outline:2px solid var(--color-accent-focus);outline-offset:-2px}.photoOptionBtnDisabled{opacity:.45;cursor:not-allowed}.photoOptionIcon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;background:var(--color-bg-card);color:var(--color-text-secondary);flex-shrink:0}.photoOptionIcon svg{width:16px;height:16px}.photoOptionText{display:flex;flex-direction:column;gap:1px}.photoOptionTitle{font-size:14px;font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:6px}.photoOptionDesc{font-size:13px;color:var(--color-text-secondary)}.photoOptionComingSoon{font-size:10px;font-weight:500;color:var(--color-text-tertiary);background:var(--color-bg-hover);border-radius:4px;padding:1px 5px;letter-spacing:.02em}.homeResourceLinks{display:flex;flex-direction:column;padding:16px}.homeResourceLinksLabel{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);padding:6px 14px 4px}.homeResourceLink{display:flex;align-items:center;gap:8px;padding:7px 14px;background:none;border:none;border-radius:8px;font-size:14px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;text-align:left;width:100%;box-sizing:border-box;text-decoration:none;transition:background-color .15s,color .15s}.homeResourceLink:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.homeResourceLinkDanger:hover{color:var(--color-danger-action-hover)}.homeResourceLink .homeVersionPill{margin-left:auto}.homeResourceLinkShort{display:none}@media(max-width:1024px){.homeStart{padding-top:0}.homeGreeting{text-align:left}.homeComposer{display:flex;align-items:flex-end;gap:10px;padding:10px 10px 10px 14px}.homeComposerRow{display:contents}.homeChips{display:none}.homeComposerInput{flex:1;min-width:0;height:calc(1.5em + 8px);min-height:0;margin:0;padding:4px 0}.homeMainLibrary{margin-top:36px}}@media(max-width:768px){.homeGreeting{font-size:26px;margin-bottom:18px}.homeResourceLinks{flex-direction:row;padding:4px 12px 6px;gap:4px}.homeResourceLinksLabel{display:none}.homeResourceLink{width:auto;flex:1;justify-content:center}.homeResourceLinkLong{display:none}.homeResourceLinkShort{display:inline}}.contactModal{max-width:420px}.contactForm{display:flex;flex-direction:column;gap:16px}.contactField{display:flex;flex-direction:column;gap:6px}.contactLabel{font-size:12px;font-weight:600;color:var(--color-text-secondary);letter-spacing:.02em}.contactInput{padding:9px 12px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;font-family:inherit;color:var(--color-text-primary);background:var(--color-textarea);outline:none;transition:border-color .15s;box-sizing:border-box;width:100%}.contactInput:focus{border-color:var(--color-accent-focus)}.contactTextarea{padding:9px 12px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;font-family:inherit;color:var(--color-text-primary);background:var(--color-textarea);outline:none;resize:vertical;transition:border-color .15s;box-sizing:border-box;width:100%;min-height:100px}.contactTextarea:focus{border-color:var(--color-accent-focus)}.contactError{font-size:13px;color:var(--color-danger);line-height:1.4;margin:0 0 12px}.contactDirectEmail{font-size:13px;color:var(--color-text-secondary);margin:0 0 12px}.contactDirectEmail a{color:var(--color-accent-text);text-decoration:none}.contactDirectEmail a:hover{text-decoration:underline}.contactActions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}@media(max-width:480px){.contactActions>button{flex:1 1 0;min-width:0;min-height:40px}}.contactSuccess{padding:24px 0 8px;text-align:center}.contactSuccessText{font-size:14px;color:var(--color-accent-text);margin:0}.changelogModal{max-width:420px}.changelogBody{max-height:60vh;overflow-y:auto}.changelogSection{padding-bottom:8px;margin-bottom:4px;border-bottom:1px solid var(--color-border)}.changelogSection:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.changelogMonth{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-label);padding:12px 0 4px}.changelogEntry{padding:6px 0}.changelogVersion{display:flex;align-items:center;gap:10px;margin-bottom:8px}.changelogTag{font-size:13px;font-weight:600;background:var(--color-accent-surface);color:var(--color-accent-text);padding:2px 8px;border-radius:4px}.changelogLatest{font-size:11px;font-weight:600;background:var(--color-accent);color:var(--color-brand-white);padding:2px 7px;border-radius:4px;letter-spacing:.03em;text-transform:uppercase}.changelogList{margin:0;padding-left:18px;list-style:disc}.changelogList li{font-size:13px;color:var(--color-text-secondary);margin-bottom:4px;line-height:1.5}.loggedOutLanding{gap:0;text-align:center;padding:48px 24px}.loggedOutLanding .emptyTitle{margin-top:20px}.loggedOutFeatureList{list-style:none;padding:0;margin:16px 0 24px;display:flex;flex-direction:column;gap:7px}.loggedOutFeatureList li{font-size:14px;color:var(--color-text-tertiary);line-height:1.5}.loggedOutFeatureList li:before{content:"✓  ";color:var(--color-accent);font-weight:600}.loggedOutActions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}.loggedOutPrimaryBtn{min-width:160px}.loggedOutActions .saveBtn,.loggedOutActions .cancelBtn{min-height:46px;padding:0 28px;font-size:14px;border-radius:12px}.loggedOutLinks{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.loggedOutLink{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:var(--color-text-link);background:none;border:none;cursor:pointer;padding:0;transition:color .15s}.loggedOutLink:hover{color:var(--color-text-link-hover)}.installModal{max-width:360px;width:calc(100% - 48px)}.installModalBody{display:flex;flex-direction:column;gap:20px}.installModalIntro{margin:0;font-size:14px;color:var(--color-text-secondary);line-height:1.5}.installSteps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.installSteps li{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--color-text-primary);line-height:1.4}.installStepIcon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--color-bg-subtle);color:var(--color-text-secondary);flex-shrink:0}.installStepCheck{color:var(--color-accent);font-size:16px;font-weight:600}.feedbackChips{display:flex;flex-wrap:wrap;gap:6px}.feedbackChip{padding:6px 12px;border:1px solid var(--color-border);border-radius:999px;background:transparent;color:var(--color-text-secondary);font-size:13px;font-family:inherit;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.feedbackChip:hover{border-color:var(--color-accent-focus)}.feedbackChipActive,.feedbackChipActive:hover{background:var(--color-accent-surface);border-color:var(--color-accent-border);color:var(--color-accent-text);font-weight:600}.feedbackStars{display:flex;gap:2px}.feedbackStar{display:flex;padding:2px;border:none;background:none;color:var(--color-text-tertiary);cursor:pointer;transition:color .1s,transform .1s}.feedbackStar:hover{transform:scale(1.1)}.feedbackStarFilled{color:var(--color-accent)}.feedbackStarFilled svg{fill:currentColor}.suggestOptList{list-style:none;margin:0;padding:0}.suggestOpt{position:relative;display:flex;align-items:center;gap:10px;min-height:40px;padding:0 10px;border-radius:8px;font-size:14px;color:var(--color-text-primary);cursor:pointer}.suggestOpt:before{content:"";position:absolute;inset:0;border-radius:8px;background-color:transparent;transition:background-color .15s;pointer-events:none}.suggestOpt>*{position:relative}.suggestOpt>.treeRowTint{position:absolute;top:8px;bottom:8px}.suggestOptActive:before{background-color:var(--color-bg-row-active-veil)}.suggestOptDisabled{cursor:default}.suggestOptDisabled .suggestOptTitle,.suggestOptDisabled .suggestOptIcon{color:var(--color-text-secondary)}.suggestOptIcon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:var(--color-bg-subtle);color:var(--color-text-secondary)}.suggestOpt-olive:not(.suggestOptDisabled) .suggestOptIcon{background:var(--color-accent-surface);color:var(--color-accent-text)}.suggestOptTitle{flex-shrink:0;font-weight:600}.suggestOptDetail,.suggestOptRecipeTitle{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestOptDetail{font-size:13px;color:var(--color-text-secondary)}.suggestOptMark{background:none;color:inherit;font-weight:600}.suggestOptNote{flex-shrink:0;font-size:12px;color:var(--color-text-secondary)}.suggestOptKey{flex-shrink:0;margin-left:auto;color:var(--color-text-secondary)}.suggestOptGroup{margin-top:6px;padding:10px 10px 4px;border-top:1px solid var(--color-border-subtle);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary)}.suggestOptGroup:first-child{margin-top:0;padding-top:4px;border-top:none}.suggestOptDivider{margin:6px 0;border-top:1px solid var(--color-border-subtle)}.suggestOptFooter{margin:6px 0 0;padding:8px 10px 2px;border-top:1px solid var(--color-border-subtle);font-size:12px;color:var(--color-text-secondary)}@media(max-width:1024px){.suggestOptFooter,.suggestOptKey{display:none}.suggestOpt{min-height:44px}}.settingsGroup{margin-bottom:36px}.settingsGroupLabel{margin:0;padding-bottom:10px;border-bottom:1px solid var(--color-border);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary)}.settingsRow{display:grid;grid-template-columns:260px minmax(0,1fr);column-gap:24px;align-items:start;padding:16px 0;border-bottom:1px solid var(--color-border-subtle)}.settingsRow:last-child{border-bottom:none}.settingsRowName{padding-top:9px}.settingsRowName:has(.settingsRowWhy){padding-top:0}.settingsRowTitle{display:block;font-size:14px;font-weight:600;line-height:22px;color:var(--color-text-primary)}.settingsRowWhy{margin:2px 0 0;font-size:13px;line-height:1.5;color:var(--color-text-secondary)}.settingsRowControl{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.settingsControlLine{display:flex;align-items:center;gap:14px;min-height:40px}.settingsInlineField{display:flex;align-items:center;gap:8px;width:100%}.settingsInlineField .input{flex:1;min-width:0}.settingsInlineField .saveBtn{min-height:40px;flex-shrink:0}.settingsStatus{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-accent-text)}.settingsSegmented{display:inline-flex;gap:2px;padding:3px;background:var(--color-bg-pill-hover);border-radius:8px}.settingsSegment{position:relative;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:6px;font-size:13px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s,color .15s}.settingsSegment:hover{color:var(--color-text-primary)}.settingsSegmentActive{background:var(--color-bg-mode-active);color:var(--color-text-primary);box-shadow:0 0 0 1px var(--color-border)}.settingsSegment input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.settingsSegment:has(input:focus-visible){outline:2px solid var(--color-accent-focus);outline-offset:2px}.settingsDensityPreview{width:100%;max-width:320px;padding:4px;background:var(--color-bg-block);border:1px solid var(--color-border);border-radius:8px}.settingsDensityPreview .treeRow{box-sizing:border-box;cursor:default;transition:background-color .15s,height .2s ease}.settingsDensityPreview .treeRow:hover:before{background-color:transparent}@media(prefers-reduced-motion:reduce){.settingsDensityPreview .treeRow{transition:none}}.settingsCheck{display:inline-flex;align-items:center;gap:10px;min-height:40px;font-size:14px;color:var(--color-text-primary);cursor:pointer}.settingsCheck input{width:16px;height:16px;margin:0;accent-color:var(--color-accent);cursor:pointer}.settingsCheck input:focus-visible{outline:2px solid var(--color-accent-focus);outline-offset:2px}.settingsPasswordForm{width:100%;display:flex;flex-direction:column;gap:14px}.settingsPasswordActions{display:flex;align-items:center;gap:8px;padding-top:2px}.settingsPasswordActions .settingsTextBtn{margin-right:auto}.settingsTextBtn{padding:0;background:none;border:none;font-family:inherit;font-size:13px;font-weight:500;color:var(--color-text-secondary);text-decoration:underline;text-decoration-color:var(--color-border);text-underline-offset:3px;cursor:pointer;transition:color .15s,text-decoration-color .15s}.settingsTextBtn:hover:not(:disabled){color:var(--color-text-primary);text-decoration-color:currentColor}.settingsTextBtn:disabled{text-decoration:none;cursor:default}.settingsTextBtn:focus-visible{outline:2px solid var(--color-accent-focus);outline-offset:2px}.settingsError{margin:0;font-size:13px;line-height:1.4;color:var(--color-danger-text)}.settingsGroupEnd{margin-bottom:0;border-top:1px solid var(--color-border)}.settingsLogoutBtn:hover:not(:disabled){color:var(--color-danger-action-hover)}.settingsRowExpanded .settingsRowName{padding-top:0}@media(max-width:1024px){.settingsRowDesktop,.settingsGroupDesktop{display:none}.settingsRow:has(+.settingsRowDesktop:last-child){border-bottom:none}}@media(max-width:768px){.settingsRow{grid-template-columns:minmax(0,1fr);row-gap:12px}.settingsRowName{padding-top:0}.settingsSegment{height:38px}}@media(max-width:480px){.settingsPasswordActions{flex-wrap:wrap}.settingsPasswordActions .settingsTextBtn{flex-basis:100%;margin:0 0 6px;text-align:left}.settingsPasswordActions .cancelBtn,.settingsPasswordActions .saveBtn{flex:1;min-height:40px}}.subscriptionPlanLine{flex-wrap:wrap;gap:8px;width:100%}.subscriptionPlanName{font-size:14px;color:var(--color-text-primary)}.subscriptionPlanPrice{font-size:14px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.subscriptionPlanPrice:before{content:"·";content:"·" / "";margin-right:8px}.subscriptionPortalBtn{margin-left:auto}.subscriptionNote{margin:0;font-size:13px;line-height:1.5}.subscriptionNoteWarning{color:var(--color-warning-text)}.subscriptionNoteDanger{color:var(--color-danger-text)}.subscriptionTable{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.subscriptionTableLabelCol{width:284px;padding:0}.subscriptionTableHead{padding:16px 8px 12px;font-weight:400;text-align:center;vertical-align:bottom}.subscriptionTierName{display:block;font-size:14px;font-weight:600;line-height:22px;color:var(--color-text-primary)}.subscriptionTierPrice{display:block;font-size:13px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.subscriptionTable tbody th,.subscriptionTable tbody td{border-top:1px solid var(--color-border-subtle)}.subscriptionTableLabel{padding:11px 0;text-align:left;font-size:14px;font-weight:400;line-height:22px;color:var(--color-text-primary)}.subscriptionTableCell{padding:11px 8px;text-align:center;vertical-align:middle;font-size:13px}.subscriptionTableActions td{padding:16px 8px}.subscriptionColCurrent{background:var(--color-subscription-table-current)}.subscriptionTableHead.subscriptionColCurrent{border-radius:8px 8px 0 0}.subscriptionTableActions .subscriptionColCurrent{border-radius:0 0 8px 8px}.subscriptionCheck{display:inline-flex;vertical-align:middle;color:var(--color-accent)}.subscriptionDash{color:var(--color-text-tertiary)}.subscriptionValue{font-weight:500;color:var(--color-text-primary)}.subscriptionCurrent{display:inline-flex;align-items:center;gap:6px;min-height:34px;font-size:13px;font-weight:600;color:var(--color-accent-text)}.subscriptionMuted{display:inline-block;font-size:12px;line-height:1.4;color:var(--color-text-secondary)}.subscriptionPanel>.settingsError{margin-top:12px}.subscriptionFootnote{margin:12px 0 0;font-size:13px;line-height:1.5;color:var(--color-text-secondary)}.subscriptionTiers{display:none}.subscriptionTier{padding:16px 0;border-bottom:1px solid var(--color-border-subtle)}.subscriptionTier:last-child{border-bottom:none}.subscriptionTierHeader{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.subscriptionTierTagline{margin:2px 0 0;font-size:13px;line-height:1.5;color:var(--color-text-secondary)}.subscriptionTierFeatures{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.subscriptionTierFeatures li{display:flex;align-items:center;gap:10px;font-size:13px;line-height:20px;color:var(--color-text-primary)}.subscriptionTierFeatures li>:first-child{width:16px;flex-shrink:0;justify-content:center;text-align:center}.subscriptionFeatureLabel{flex:1;min-width:0}.subscriptionTierFeatures .subscriptionFeatureOff{color:var(--color-text-tertiary)}.subscriptionFeatureValue{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.subscriptionTierAction{margin-top:14px}@media(max-width:768px){.subscriptionTableLabelCol{width:36%}}@media(max-width:600px){.subscriptionTableWrap{display:none}.subscriptionTiers{display:block}.subscriptionTierAction .saveBtn{width:100%;min-height:40px}}.viewContainer.chatView{position:absolute;inset:0;padding:0;max-width:none;margin:0;overflow:hidden;display:flex;flex-direction:column}.chatHeader{display:flex;align-items:center;gap:12px;min-height:40px;padding:24px 24px 12px 88px;border-bottom:1px solid transparent;flex-shrink:0;transition:border-color .15s}.chatHeader--scrolled{border-bottom-color:var(--color-border-subtle)}.chatHeaderTitleBlock{flex:1;min-width:0;display:flex;align-items:baseline;gap:10px}.chatHeaderTitle{margin:0;min-width:0;font-size:14px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chatHeaderTime{flex-shrink:0;font-size:13px;color:var(--color-text-secondary)}.chatHeaderCountMobile{display:none}.chatHeaderActions{display:flex;align-items:center;gap:2px;flex-shrink:0}.chatMessagesLeft{font-size:12px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;margin-right:10px}.chatHeaderBtn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:none;border-radius:8px;color:var(--color-text-tertiary);cursor:pointer;transition:background-color .15s,color .15s}.chatHeaderBtn:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.chatHeaderBtn--danger:hover{color:var(--color-danger-action)}.renameChatInput{width:100%;margin-bottom:16px;padding:10px 12px;font-size:14px;font-family:inherit;color:var(--color-text-primary);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box}.renameChatInput:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-input-focus)}.chatMessages{flex:1;overflow-y:auto;padding:12px 24px 24px;display:flex;flex-direction:column}.chatWelcome{width:100%;max-width:680px;margin:0 auto;padding-top:clamp(16px,9vh,88px)}.chatWelcomeTitle{font-family:Sentient,-apple-system,sans-serif;font-size:30px;font-weight:600;line-height:1.2;letter-spacing:-.01em;color:var(--color-text-primary);text-align:center;text-wrap:balance;margin:0 0 24px}.chatWelcomeHint{font-size:12px;color:var(--color-text-secondary);text-align:center;margin:12px 0 0}.chatStarters{margin-top:44px}.chatStartersLabel{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 6px;padding:0 4px}.chatStarter{position:relative;display:flex;align-items:center;gap:12px;width:calc(100% + 16px);min-height:40px;margin:0 -8px;padding:8px 12px;background:none;border:none;border-radius:6px;font-family:inherit;font-size:14px;line-height:1.45;color:var(--color-text-primary);text-align:left;cursor:pointer}.chatStarter span{flex:1}.chatStarter:hover{background:var(--color-bg-row-hover-veil)}.chatStarter:focus-visible{outline-offset:-2px}.chatStarterArrow{flex-shrink:0;color:var(--color-text-secondary);opacity:0;transition:opacity .15s}.chatStarter:hover .chatStarterArrow,.chatStarter:focus-visible .chatStarterArrow{opacity:1}.chatMessageList{display:flex;flex-direction:column;gap:14px;max-width:680px;margin:0 auto;width:100%}.chatTurn--user{display:flex;justify-content:flex-end}.userMessage{max-width:75%;padding:10px 14px;background:var(--color-bg-hover);border-radius:14px;font-size:14px;line-height:1.55;color:var(--color-text-primary);white-space:pre-wrap;overflow-wrap:anywhere}.userMessageAttached{display:flex;flex-wrap:wrap;gap:4px 12px;margin-bottom:4px;font-size:12px;color:var(--color-text-secondary)}.userMessageAttached span{display:inline-flex;align-items:center;gap:5px}.chatTurn--olive{display:flex;flex-direction:column}.oliveReply{font-size:15px;line-height:1.6;color:var(--color-text-primary);overflow-wrap:anywhere}.oliveReply>*:first-child{margin-top:0}.oliveReply>*:last-child{margin-bottom:0}.oliveReply p{margin:0 0 12px}.oliveReply h1,.oliveReply h2,.oliveReply h3,.oliveReply h4{font-family:Sentient,-apple-system,sans-serif;font-weight:600;letter-spacing:-.01em;color:var(--color-text-primary);margin:22px 0 8px;line-height:1.25}.oliveReply h1{font-size:20px}.oliveReply h2{font-size:17px}.oliveReply h3,.oliveReply h4{font-size:15px}.oliveReply strong{font-weight:600;color:var(--color-text-primary)}.oliveReply em{font-style:italic}.oliveReply ul,.oliveReply ol{margin:8px 0 12px;padding-left:22px}.oliveReply li{margin-bottom:6px}.oliveReply li::marker{color:var(--color-text-secondary)}.oliveReply li>p{margin:0}.oliveReply blockquote{margin:12px 0;padding:10px 14px;background:var(--color-bg-subtle);border-left:1px solid var(--color-border-warm);border-radius:0 8px 8px 0;color:var(--color-text-secondary);font-size:14px}.oliveReply blockquote>p{margin:0}.oliveReply code{font-family:DM Mono,SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:13px;background:var(--color-bg-subtle);border-radius:4px;padding:1px 5px;color:var(--color-text-primary)}.oliveReply pre{margin:12px 0;padding:14px 16px;background:var(--color-bg-block);border:1px solid var(--color-border);border-radius:10px;overflow-x:auto}.oliveReply pre code{background:none;padding:0;font-size:13px}.oliveReply hr{border:none;border-top:1px solid var(--color-border);margin:16px 0}.oliveReply a,.oliveLink{color:var(--color-accent-text);text-decoration:underline;text-decoration-color:var(--color-accent-done-border);text-underline-offset:3px;transition:color .15s,text-decoration-color .15s}.oliveReply a:hover,.oliveLink:hover{color:var(--color-text-link-hover);text-decoration-color:currentColor}.oliveLink{background:none;border:none;padding:0;cursor:pointer;font:inherit;text-align:inherit}.oliveReply table{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0;background:var(--color-bg-block);border-radius:8px;overflow:hidden;box-shadow:0 0 0 1px var(--color-border)}.oliveReply th{background:var(--color-bg-subtle);font-weight:600;text-align:left;padding:9px 12px;border-bottom:1px solid var(--color-border)}.oliveReply td{padding:8px 12px;border-bottom:1px solid var(--color-border-subtle)}.oliveReply tr:last-child td{border-bottom:none}.oliveReply--error{color:var(--color-danger-action)}.oliveChoices{display:flex;flex-wrap:wrap;gap:6px}.oliveWorkLog{display:flex;align-items:flex-start;gap:8px;margin:0 0 8px;font-size:12px;line-height:1.5;color:var(--color-text-secondary)}.oliveReply>*+.oliveWorkLog{margin-top:16px}.oliveWorkLogDot{flex-shrink:0;width:6px;height:6px;margin-top:6px;border-radius:50%;background:var(--color-accent-focus)}.oliveWorkLog--live .oliveWorkLogDot{background:var(--color-accent);animation:oliveDotPulse 1.2s ease-in-out infinite}.oliveWorkLogSteps>span+span:before{content:"·";margin:0 6px;color:var(--color-text-faint)}.oliveWorkLogLive{color:var(--color-accent-text)}@keyframes oliveDotPulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.oliveWorkLog--live .oliveWorkLogDot{animation:none}}.oliveResults{display:flex;flex-direction:column;gap:6px;margin-top:14px}.oliveResult{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;min-height:44px;padding:8px 14px;background:var(--color-bg-subtle);border:none;border-radius:8px;font-family:inherit;color:var(--color-text-primary);text-align:left;cursor:pointer;transition:background-color .15s}.oliveResult:hover{background:var(--color-bg-hover)}.oliveResult--static,.oliveResult--static:hover{min-height:0;padding:0;background:none;cursor:default}.oliveResult--gone{opacity:.6}.oliveResultIcon{flex-shrink:0;color:var(--color-text-secondary)}.oliveResultText{flex:1;min-width:0;display:flex;align-items:baseline;gap:12px}.oliveResultTitle{flex:1;min-width:0;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oliveResultDetail{flex-shrink:0;font-size:12px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.oliveResultArrow{flex-shrink:0;color:var(--color-text-faint);transition:color .15s}.oliveResult:hover .oliveResultArrow{color:var(--color-text-secondary)}.oliveSources{list-style:none;display:flex;flex-wrap:wrap;gap:4px 18px;margin:12px 0 0;padding:0;font-size:12px;line-height:1.5}.oliveSources li{min-width:0;margin:0}.oliveReply .oliveSources a{display:inline-flex;gap:6px;max-width:280px;color:var(--color-text-secondary);text-decoration:none}.oliveSourceIndex{flex-shrink:0;font-weight:600;color:var(--color-accent-text);font-variant-numeric:tabular-nums}.oliveSourceTitle{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:underline;text-decoration-color:var(--color-border-warm);text-underline-offset:3px;transition:color .15s,text-decoration-color .15s}.oliveReply .oliveSources a:hover .oliveSourceTitle{color:var(--color-text-primary);text-decoration-color:currentColor}.oliveActions{display:flex;align-items:center;gap:2px;margin:6px 0 0 -8px;opacity:0;transition:opacity .15s}.chatTurn--olive:hover .oliveActions,.oliveActions:focus-within{opacity:1}.oliveAction{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 8px;background:none;border:none;border-radius:6px;font-family:inherit;font-size:12px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:color .15s,background-color .15s}.oliveAction:hover{color:var(--color-text-primary);background:var(--color-bg-subtle)}.oliveAction:disabled{cursor:default;color:var(--color-text-faint);background:none}.chatDock{flex-shrink:0;width:100%;max-width:728px;margin:0 auto;padding:0 24px 20px;box-sizing:border-box}.chatComposer{position:relative;background:var(--color-bg-block);border:1px solid var(--color-border);border-radius:14px;padding:14px 14px 12px 16px;transition:border-color .15s,box-shadow .15s}.chatComposer:focus-within{border-color:var(--color-accent);box-shadow:var(--shadow-input-focus)}.chatInput{display:block;width:100%;box-sizing:border-box;min-height:46px;max-height:160px;padding:0 2px 0 0;margin:0 0 10px;background:none;border:none;outline:none;resize:none;overflow-y:auto;font-family:inherit;font-size:15px;line-height:1.5;color:var(--color-text-primary);caret-color:var(--color-accent)}.chatDock .chatInput{min-height:24px}.chatInput::placeholder{color:var(--color-text-placeholder)}.chatInput:disabled{cursor:not-allowed}.chatComposerRow{display:flex;align-items:center;justify-content:space-between;gap:12px}.chatComposerEnd{display:flex;align-items:center;gap:10px}.chatChip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;background:var(--color-bg-subtle);border:none;border-radius:999px;font-family:inherit;font-size:12px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:background-color .15s,color .15s}.chatChip:hover:not(:disabled),.chatChip[aria-expanded=true]{background:var(--color-bg-tag-hover);color:var(--color-text-primary)}.chatChip:disabled{opacity:.6;cursor:not-allowed}.chatSendBtn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:var(--color-button-confirm);border:none;border-radius:10px;color:var(--color-brand-white);cursor:pointer;transition:background-color .15s}.chatSendBtn:hover:not(:disabled){background:var(--color-button-confirm-hover)}.chatSendBtn:disabled{background:var(--color-bg-hover);color:var(--color-text-subtle);cursor:default}.chatCharCount{font-size:11px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.chatCharCount--warning{color:var(--color-danger-action);font-weight:600}.chatComposerNote{text-align:center;font-size:12px;color:var(--color-note-text);margin:8px 0 0}.chatComposerNote--danger{color:var(--color-danger-action)}.chatComposerHint{text-align:center;font-size:12px;color:var(--color-text-secondary);margin:8px 0 0}.chatRow:focus-visible,.oliveResult:focus-visible,.chatStarter:focus-visible,.chatHeaderBtn:focus-visible,.chatMobileBack:focus-visible,.chatNewBtn:focus-visible,.chatChip:focus-visible,.chatSendBtn:focus-visible,.oliveAction:focus-visible,.oliveLink:focus-visible,.chatInlineLink:focus-visible,.recipePickerItem:focus-visible,.recipePickerClose:focus-visible,.oliveReply a:focus-visible{outline:2px solid var(--color-accent-focus);outline-offset:2px}.chatBlocked{text-align:center;font-size:14px;color:var(--color-text-secondary);margin:0;padding:12px 0}.chatInlineLink{background:none;border:none;padding:0;font:inherit;color:var(--color-accent-text);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.chatInlineLink:hover{color:var(--color-text-link-hover)}.attachedPills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.attachedPill{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 6px 0 10px;background:var(--color-bg-attached-pill);color:var(--color-accent-text);border-radius:999px;font-size:12px;font-weight:500}.attachedPillRemove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:none;border:none;border-radius:50%;color:var(--color-accent);cursor:pointer;transition:background-color .15s,color .15s}.attachedPillRemove:hover{background:var(--color-accent-border);color:var(--color-accent-text)}.recipePicker{position:absolute;bottom:calc(100% + 6px);left:-1px;right:-1px;z-index:100;padding:6px;background:var(--color-bg-block);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-dropdown)}.chatComposer--top .recipePicker{top:calc(100% + 6px);bottom:auto}.recipePickerHeader{display:flex;align-items:center;gap:8px;padding:4px 6px 10px 10px;margin-bottom:4px;border-bottom:1px solid var(--color-border-subtle)}.recipePickerSearchIcon{color:var(--color-text-secondary);flex-shrink:0}.recipePickerSearch{flex:1;min-width:0;border:none;outline:none;font-family:inherit;font-size:14px;background:none;color:var(--color-text-primary);caret-color:var(--color-accent)}.recipePickerSearch::placeholder{color:var(--color-text-placeholder)}.recipePickerClose{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:none;border-radius:6px;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;transition:background-color .15s,color .15s}.recipePickerClose:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.recipePickerList{max-height:260px;overflow-y:auto}.recipePickerItem{display:flex;align-items:center;width:100%;min-height:36px;padding:0 10px;background:none;border:none;border-radius:8px;cursor:pointer;text-align:left;font-family:inherit;font-size:14px;color:var(--color-text-primary);transition:background-color .15s}.recipePickerItem:hover{background:var(--color-bg-row-active-veil)}.recipePickerItem--selected{font-weight:600}.recipePickerItemTitle{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipePickerCheck{color:var(--color-accent);flex-shrink:0;margin-left:8px}.recipePickerEmpty{padding:18px;text-align:center;font-size:13px;color:var(--color-text-secondary)}.chatNewBtn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:var(--color-bg-block);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-secondary);cursor:pointer;transition:background-color .15s,color .15s}.chatNewBtn:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.chatList{flex:1;overflow-y:auto;padding:4px 12px 16px}.chatGroupLabel{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);margin:0;padding:14px 10px 6px}.chatRow{position:relative;display:flex;align-items:center;gap:10px;width:100%;height:34px;padding:0 10px;background:none;border:none;border-radius:6px;font-family:inherit;font-size:13px;color:var(--color-text-primary);text-align:left;cursor:pointer}.container.compactSidebar .chatRow{height:28px}.chatRow:before{content:"";position:absolute;inset:0;border-radius:inherit;background:transparent;transition:background-color .15s;pointer-events:none}.chatRow:hover:before{background:var(--color-bg-row-hover-veil)}.chatRow--active:before,.chatRow--active:hover:before{background:var(--color-bg-row-active-veil)}.chatRow--active:after{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:var(--color-accent)}.chatRow>*{position:relative}.chatRowTitle{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chatRow--active .chatRowTitle{font-weight:550}.chatRowTime{flex-shrink:0;font-size:12px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.chatListEmpty{margin:0;padding:16px 10px;font-size:13px;line-height:1.5;color:var(--color-text-secondary)}@media(max-width:1024px){.sidebar.hasChatSelected,.viewContainer.chatView.chatViewMobileHidden{display:none}.chatHeader{padding:8px 12px;gap:4px;min-height:44px}.chatHeaderTitleBlock{flex-direction:column;align-items:flex-start;gap:1px;padding-left:4px}.chatHeaderTitle{max-width:100%;font-size:15px}.chatHeaderTime,.chatMessagesLeft{display:none}.chatHeaderCountMobile{display:block;font-size:12px;color:var(--color-text-secondary)}.chatHeaderBtn{width:40px;height:40px}.chatMobileBack{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;padding:0;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;border-radius:8px;transition:background-color .15s}.chatMobileBack:active{background:var(--color-bg-subtle)}.chatMessages{padding:8px 16px 20px}.chatWelcome{padding-top:12px}.chatWelcomeTitle,.chatWelcomeHint{text-align:left}.chatStarter{min-height:44px}.chatStarterArrow{opacity:1}.userMessage{max-width:85%}.chatTurn--user:not(:first-child){margin-top:20px}.chatDock{padding:0 12px 14px}.chatComposer{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:8px 8px 8px 14px}.chatComposerRow{display:contents}.chatComposerEnd{gap:8px}.attachedPills{flex-basis:100%;margin:4px 0 2px}.chatInput,.chatDock .chatInput{flex:1;min-width:0;min-height:0;height:calc(1.5em + 8px);margin:0;padding:4px 0}.chatComposer .chatChip{width:32px;height:32px;padding:0;justify-content:center;border-radius:10px}.chatComposer .chatChipLabel,.chatCharCount{display:none}.oliveResultText{flex-direction:column;gap:1px}.oliveResultTitle{width:100%;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.recipePicker{max-height:50vh}.chatRow{height:44px;font-size:14px}.container.compactSidebar .chatRow{height:40px}}@media(max-width:768px){.chatWelcomeTitle{font-size:26px;margin-bottom:18px}}.printSheet{display:none}@media print{@page{margin:.75in}body>*:not(.printSheet){display:none!important}html,body{height:auto!important;overflow:visible!important;background:var(--color-print-paper)}.printSheet{display:block;background:var(--color-print-paper);color:var(--color-print-ink);font-family:inherit;font-size:11.5pt;line-height:1.55}.printSheetHeader{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:8px;margin-bottom:20px;border-bottom:1px solid var(--color-print-rule)}.printSheetBrand{font-size:13pt;font-weight:600}.printSheetMeta{font-size:9pt;color:var(--color-print-ink-muted);text-align:right}.printSheetBody>*:first-child{margin-top:0}.printSheetBody p,.printSheetBody ul,.printSheetBody ol,.printSheetBody blockquote,.printSheetBody pre,.printSheetBody table{margin:0 0 10pt}.printSheetBody h1,.printSheetBody h2,.printSheetBody h3,.printSheetBody h4{margin:16pt 0 6pt;line-height:1.3;font-weight:600;break-after:avoid;page-break-after:avoid}.printSheetBody h1{font-size:16pt}.printSheetBody h2{font-size:14pt}.printSheetBody h3{font-size:12.5pt}.printSheetBody h4{font-size:11.5pt}.printSheetBody ul,.printSheetBody ol{padding-left:20pt}.printSheetBody li{margin-bottom:3pt;break-inside:avoid;page-break-inside:avoid}.printSheetBody li>ul,.printSheetBody li>ol{margin:3pt 0 0}.printSheetBody blockquote{padding-left:10pt;border-left:2px solid var(--color-print-rule);color:var(--color-print-ink-muted)}.printSheetBody code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10pt}.printSheetBody pre{padding:8pt;border:1px solid var(--color-print-rule-subtle);border-radius:4px;white-space:pre-wrap;word-wrap:break-word;break-inside:avoid;page-break-inside:avoid}.printSheetBody pre code{font-size:9.5pt}.printSheetBody a{color:var(--color-print-ink);text-decoration:underline}.printSheetBody table{width:100%;border-collapse:collapse;font-size:10pt;break-inside:avoid;page-break-inside:avoid}.printSheetBody th,.printSheetBody td{padding:4pt 6pt;border:1px solid var(--color-print-rule-subtle);text-align:left;vertical-align:top}.printSheetBody th{font-weight:600}.printSheetBody hr{border:none;border-top:1px solid var(--color-print-rule-subtle);margin:12pt 0}.printSheetBody img{max-width:100%}.printRecipe{margin-top:20pt;padding-top:12pt;border-top:1px solid var(--color-print-rule-subtle)}.printRecipeTitle{margin:0;font-size:15pt;font-weight:600;line-height:1.25;break-after:avoid;page-break-after:avoid}.printRecipeAuthor{margin:2pt 0 0;font-size:9.5pt;color:var(--color-print-ink-muted)}.printRecipeDescription{margin:8pt 0 0}.printRecipeTags{margin:6pt 0 0;font-size:9pt;color:var(--color-print-ink-muted)}.printRecipeMeta{display:flex;flex-wrap:wrap;gap:4pt 20pt;margin:10pt 0 0;padding:8pt 0;border-top:1px solid var(--color-print-rule-subtle);border-bottom:1px solid var(--color-print-rule-subtle);font-size:10pt}.printRecipeMetaRow{display:flex;gap:5pt}.printRecipeMetaRow dt{color:var(--color-print-ink-muted)}.printRecipeMetaRow dd{margin:0;font-weight:600}.printRecipeImportant{margin:10pt 0 0;padding:6pt 8pt;border-left:2px solid var(--color-print-rule);font-size:10pt}.printRecipeSection{margin:14pt 0 5pt;font-size:11.5pt;font-weight:600;break-after:avoid;page-break-after:avoid}.printRecipeIngredients,.printRecipeEquipment{margin:0;padding-left:16pt;font-size:10.5pt}.printRecipeIngredients li,.printRecipeEquipment li,.printRecipeSteps li{margin-bottom:3pt;break-inside:avoid;page-break-inside:avoid}.printRecipeIngredientHeader{list-style:none;margin:8pt 0 4pt -16pt;font-weight:600}.printRecipeAmount{display:inline-block;min-width:60pt;padding-right:6pt;font-weight:600}.printRecipeSteps{margin:0;padding-left:16pt}.printRecipeSteps li{margin-bottom:7pt;padding-left:3pt}.printRecipeUnavailable{margin:6pt 0 0;font-size:10pt;color:var(--color-print-ink-muted)}.printSheetSources{margin-top:18pt;padding-top:8pt;border-top:1px solid var(--color-print-rule-subtle);font-size:9pt;color:var(--color-print-ink-muted);break-inside:avoid;page-break-inside:avoid}.printSheetSources h4{margin:0 0 4pt;font-size:9.5pt;font-weight:600;color:var(--color-print-ink)}.printSheetSources ol{margin:0;padding-left:16pt}.printSheetSources li{margin-bottom:2pt;word-break:break-word}}.helpNav{display:flex;flex-direction:column;padding:16px}.helpNavSection{display:flex;flex-direction:column;margin-bottom:8px}.helpNavSectionTitle{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle);padding:6px 14px 4px}.helpNavItem{display:block;width:100%;text-align:left;padding:7px 14px;background:none;border:none;border-radius:8px;font-size:14px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:background-color .15s,color .15s}.helpNavItem:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.helpNavItem--active{background:var(--color-bg-subtle);color:var(--color-text-primary);font-weight:600}.helpContent{max-width:680px}.helpContent h1{font-family:Sentient,-apple-system,sans-serif;font-size:32px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.01em;margin:0 0 20px;line-height:1.25}.helpContent h2{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:32px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.helpContent h3{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:24px 0 8px}.helpContent p{font-size:15px;color:var(--color-text-primary);line-height:1.6;margin:0 0 14px}.helpContent ul,.helpContent ol{margin:0 0 14px;padding-left:20px}.helpContent li{font-size:15px;color:var(--color-text-primary);line-height:1.6;margin-bottom:6px}.helpContent a{color:var(--color-text-link);text-decoration:underline}.helpContent a:hover{color:var(--color-text-link-hover)}.helpContent code{font-family:SF Mono,Fira Code,Roboto Mono,monospace;font-size:13px;background:var(--color-bg-subtle);border-radius:4px;padding:2px 5px;color:var(--color-text-secondary)}.helpContent pre{background:var(--color-bg-subtle);border-radius:8px;padding:14px 16px;overflow-x:auto;margin:0 0 14px}.helpContent pre code{background:none;padding:0;font-size:13px;color:var(--color-brand-primary)}.helpContent blockquote{border-left:3px solid var(--color-border);margin:0 0 14px;padding:8px 14px;background:var(--color-bg-block);border-radius:0 6px 6px 0}.helpContent blockquote p{margin:0;color:var(--color-text-mid);font-size:14px}.helpContent table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:14px}.helpContent th{text-align:left;font-weight:600;color:var(--color-text-secondary);font-size:13px;text-transform:uppercase;letter-spacing:.05em;padding:8px 12px;border-bottom:1px solid var(--color-border)}.helpContent td{padding:8px 12px;color:var(--color-text-primary);border-bottom:1px solid var(--color-border);vertical-align:top}.helpContent tr:last-child td{border-bottom:none}.helpContent strong{font-weight:600}.helpContent hr{border:none;border-top:1px solid var(--color-border);margin:24px 0}@media(max-width:1024px){.sidebar.hasHelpSelected,.viewContainer.helpView.helpViewMobileHidden{display:none}}.pricingHero{text-align:center;padding:48px 0 40px;max-width:560px;margin:0 auto 40px}.pricingHeroAppName{font-family:Sentient,Georgia,serif;font-size:52px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.03em;line-height:1;margin-bottom:16px}.pricingHeroTagline{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px;letter-spacing:-.01em;line-height:1.3}.pricingHeroSub{font-size:14px;color:var(--color-text-tertiary);margin:0 0 28px;line-height:1.6}.pricingHeroCtas{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.pricingHeroSignupBtn{min-width:160px}.pricingHeroCtas .saveBtn,.pricingHeroCtas .cancelBtn{min-height:46px;padding:0 28px;font-size:14px;border-radius:12px}.pricingFeaturesGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:40px}.pricingFeatureCard{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:14px;padding:18px}.pricingFeatureIcon{color:var(--color-brand-accent);margin-bottom:10px}.pricingFeatureTitle{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:5px}.pricingFeatureDesc{font-size:13px;color:var(--color-text-tertiary);margin:0;line-height:1.5}.pricingSectionLabel{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle);margin-bottom:12px}.pricingView .subscriptionTableWrap{overflow-x:auto;overflow-y:hidden}.pricingBottomCta{margin-top:36px;padding-top:36px;border-top:1px solid var(--color-border);text-align:center}.pricingBottomLinks{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.pricingTextLink{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:var(--color-text-link);background:none;border:none;cursor:pointer;padding:0;transition:color .15s}.pricingTextLink:hover{color:var(--color-text-link-hover)}@media(max-width:640px){.pricingFeaturesGrid{grid-template-columns:repeat(2,1fr)}.pricingHeroAppName{font-size:40px}.pricingHeroTagline{font-size:17px}}@media(max-width:420px){.pricingFeaturesGrid{grid-template-columns:1fr}.pricingHero{padding:28px 0 24px}}.quickSearchOverlay{position:fixed;inset:0;z-index:1500;background:var(--color-modal-overlay);display:flex;align-items:flex-start;justify-content:center;padding-top:20vh}@media(max-width:1024px){.quickSearchOverlay{display:none}}.quickSearchPanel{width:90%;max-width:560px;background:var(--color-bg-modal);border-radius:14px;box-shadow:var(--shadow-modal);overflow:hidden}.quickSearchInputRow{display:flex;align-items:center;padding:14px 18px;gap:10px}.quickSearchIcon{color:var(--color-text-faint);flex-shrink:0}.quickSearchInput{flex:1;border:none;background:transparent;font-size:18px;outline:none;color:var(--color-text-primary);font-family:inherit}.quickSearchInput::placeholder{color:var(--color-text-faint)}.quickSearchClear{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--color-text-faint);padding:4px;border-radius:6px;transition:color .15s,background-color .15s;flex-shrink:0}.quickSearchClear:hover{color:var(--color-text-primary);background-color:var(--color-bg-hover)}.quickSearchSuggestions{border-top:1px solid var(--color-border-subtle);padding:6px 8px 8px}.editsPreviewModal{max-height:90vh}.editsPreviewTitleRow{display:flex;align-items:center;gap:10px}.editsPreviewIcon{color:var(--color-text-secondary);flex-shrink:0}.editsPreviewBody{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0}.editsNoChanges{font-size:14px;color:var(--color-text-secondary);text-align:center;padding:40px 0;margin:0}.epmScroll{flex:1;min-height:0;overflow-y:auto;padding:20px 20px 28px}.epmRecipeTitle{font-family:Sentient;font-size:22px;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--color-text-primary);margin:0;overflow-wrap:anywhere;text-wrap:balance}.epmSummary{font-size:13px;line-height:1.5;color:var(--color-text-secondary);margin:4px 0 0}.editsOliveNote{margin-top:16px;background:var(--color-bg-subtle);border:1px solid var(--color-border-subtle);border-radius:8px;padding:10px 14px 12px}.editsOliveNoteLabel{font-size:12px;font-weight:600;color:var(--color-accent-text);margin-bottom:4px}.editsOliveNoteText{font-size:14px;line-height:1.6;color:var(--color-text-primary);margin:0;white-space:pre-wrap;word-break:break-word}.editsConflictNote{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:8px 12px;background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:8px;color:var(--color-warning-text);font-size:13px;line-height:1.5}.editsConflictNote p{margin:0}.editsConflictIcon{flex-shrink:0;margin-top:2px}.epmSection{--epm-label-col: 84px;--epm-gap: 16px;margin-top:28px}.epmSectionTitle{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);margin:0;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.epmRows{list-style:none;padding:0;margin:0}.epmRow{display:grid;grid-template-columns:var(--epm-label-col) minmax(0,1fr);column-gap:var(--epm-gap);padding:10px 0;border-bottom:1px solid var(--color-border-subtle)}.epmRow:last-child{border-bottom:none}.epmRowLabel{font-size:12px;font-weight:600;line-height:22px;color:var(--color-text-secondary)}.epmRowLabel.epm-added{color:var(--color-accent-text)}.epmRowLabel.epm-removed{color:var(--color-danger-text)}.epmRowBody{min-width:0;font-size:14px;line-height:1.6;color:var(--color-text-primary);overflow-wrap:anywhere}.epmPre{white-space:pre-wrap}.epmWas{margin-top:2px;font-size:13px;line-height:1.5;color:var(--color-text-secondary);white-space:pre-wrap}.epmWasLabel{font-weight:600}.epmGone{color:var(--color-text-secondary);text-decoration:line-through}.epmMark{background:var(--color-accent-surface);color:inherit;border-radius:3px;padding:1px 2px;margin:0 -2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}.epmQty{font-weight:600}.epmIngHeader,.epmGroup{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-accent-text)}.epmIngHeader{line-height:22px}.epmGroup{padding:14px 0 2px calc(var(--epm-label-col) + var(--epm-gap))}.epmStep{display:flex;gap:10px}.epmStepNum{flex-shrink:0;min-width:14px;font-size:12px;font-weight:600;line-height:22px;font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.editsSaveAsBtn{order:-1;margin-right:auto}@media(max-width:700px){.editsPreviewModal{max-height:92vh}.epmScroll{padding:16px 16px 24px}.epmSection{--epm-label-col: 68px;--epm-gap: 12px}.editsSaveAsBtn{margin-right:0;order:0}}@media(max-width:480px){.modalFooter .editsSaveAsBtn{order:-1;flex-basis:100%}}.errorBoundary{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--color-bg-page)}.errorBoundaryCard{max-width:420px;width:100%;text-align:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:32px}.errorBoundaryTitle{margin:0 0 12px;font-size:20px;font-weight:600;color:var(--color-text-primary)}.errorBoundaryText{margin:0 0 24px;font-size:14px;line-height:1.5;color:var(--color-text-secondary)}.errorBoundaryActions{display:flex;gap:8px;justify-content:center}.errorBoundaryBtn{padding:10px 18px;font-size:14px;font-weight:500;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-primary);cursor:pointer}.errorBoundaryBtn:hover{background:var(--color-bg-hover)}.errorBoundaryBtn--primary{background:var(--color-button-confirm);border-color:var(--color-button-confirm);color:var(--color-text-inverted)}.errorBoundaryBtn--primary:hover{background:var(--color-button-confirm-hover);border-color:var(--color-button-confirm-hover)}
