:root{--ui-bg:#f7f5f1;--ui-surface:#ffffff;--ui-text:#1b1b1b;--ui-muted:#5f6368;--ui-border:#ddd7ce;--ui-accent:#1f2937;--ui-accent-secondary:#2563eb;--ui-terracotta:#9c4f32;--ui-terracotta-soft:#f9ece6;--ui-terracotta-soft-border:#edc2b0;--ui-herb:#2f6b46;--ui-herb-soft:#e9f4ec;--ui-error:#b91c1c;--ui-success-text:#166534;--ui-surface-muted:#faf8f4;--ui-surface-warm:#f6f1e8;--ui-callout-warm:#f4eee8;--ui-callout-warm-border:#e2d5c7;--ui-border-strong:#cbbfac;--ui-warning-bg:#fff7ed;--ui-warning-border:#fed7aa;--ui-warning-text:#7c2d12;--ui-herb-soft-border:#bad8c5;--ui-nutrition-card-bg:rgba(255,255,255,0.78);--ui-nutrition-row-divider:rgba(0,0,0,0.35);--ui-error-soft:rgba(185,28,28,0.08);--ui-error-soft-border:rgba(185,28,28,0.2);--ui-focus-ring-soft:rgba(37,99,235,0.15);--ui-focus-ring-strong:rgba(37,99,235,0.18);--ui-herb-soft-strong:rgba(47,107,70,0.08);--ui-surface-hover:rgba(0,0,0,0.04);--ui-overlay-backdrop:rgba(0,0,0,0.35);--ui-overlay-shadow:rgba(0,0,0,0.15);--ui-shadow-overlay:0 16px 48px var(--ui-overlay-shadow);--ui-terracotta-tint:rgba(156,79,50,0.08);--ui-terracotta-tint-hover:rgba(156,79,50,0.14);--ui-terracotta-tint-border:rgba(156,79,50,0.24);--ui-radius-md:12px;--ui-radius-lg:16px;--ui-space-1:4px;--ui-space-2:8px;--ui-space-3:12px;--ui-space-4:16px;--ui-space-5:24px;--ui-space-6:32px;--ui-z-sticky:100;--ui-z-overlay:200;--ui-z-modal:300;color-scheme:light;font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;background:var(--ui-bg);color:var(--ui-text)}*{box-sizing:border-box}body,html{max-width:100%;overflow-x:clip}body{margin:0}.app-overflow-guard{width:100%;max-width:100%;overflow-x:clip;position:relative}.offline-banner{text-align:center}.offline-banner,.update-available-banner{background:var(--ui-accent);color:var(--ui-surface);padding:var(--ui-space-2) var(--ui-space-4);font-size:14px}.update-available-banner{position:fixed;left:0;right:0;bottom:0;z-index:var(--ui-z-overlay);display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-3)}.update-available-banner__action{background:transparent;border:1px solid;border-radius:var(--ui-radius-md);color:inherit;cursor:pointer;font-size:13px;padding:2px var(--ui-space-2);white-space:nowrap}.update-available-banner__action:hover{background:rgba(255,255,255,.12)}.update-available-banner__action:focus-visible{outline:2px solid var(--ui-accent-secondary);outline-offset:2px}.container{max-width:720px;padding:32px 24px}.container,main{width:100%;min-width:0;margin:0 auto}main{max-width:960px;padding:48px 24px}h1{font-size:32px;margin:0 0 24px}h1,h2{font-weight:600}h2{font-size:22px;margin:var(--ui-space-6) 0 var(--ui-space-4);color:var(--ui-text)}h3{margin:var(--ui-space-5) 0 var(--ui-space-3);font-weight:500;color:var(--ui-muted)}h3,p{font-size:18px}p{line-height:1.5;margin:0 0 12px}a{color:var(--ui-accent-secondary);text-decoration:none}a:hover{text-decoration:underline}.recipe-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.recipe-card{position:relative;border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:var(--ui-radius-md);overflow:hidden;transition:box-shadow .2s,transform .2s}.recipe-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.08);transform:translateY(-2px)}.recipe-card--has-variations:after,.recipe-card--has-variations:before{content:"";position:absolute;inset:0;border-radius:var(--ui-radius-md);border:1px solid var(--ui-border);background:var(--ui-surface-muted);z-index:-1;pointer-events:none}.recipe-card--has-variations:before{transform:translate(4px,4px)}.recipe-card--has-variations:after{transform:translate(8px,8px)}.recipe-card a{display:block;padding:20px 24px;color:inherit;text-decoration:none}.recipe-card h2{font-size:20px;margin:0 0 8px}.recipe-card--importing{border-style:dashed;border-color:var(--ui-border-strong);background:var(--ui-surface-muted)}.importing-recipe-card{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px}.importing-recipe-card h2{margin:0 0 8px;font-size:20px}.importing-recipe-card p{margin:0;font-size:15px;color:var(--ui-muted);font-style:italic}.importing-recipe-card__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.recipe-full-title{font-size:20px;font-weight:700;margin:var(--ui-space-4) 0 0;line-height:1.3;color:var(--ui-text)}.recipe-meta{display:flex;gap:var(--ui-space-4);flex-wrap:wrap;font-size:14px;color:var(--ui-muted)}.recipe-meta span{display:flex;align-items:center;gap:4px}.recipe-chat-deprecation{margin-bottom:var(--ui-space-4)}.variation-count-badge{display:inline-block;margin:10px 0 0;padding:6px 10px;border-radius:999px;border:1px solid var(--ui-callout-warm-border);background:var(--ui-callout-warm);color:var(--ui-warning-text);font-size:12px;font-weight:600;line-height:1}.variation-context{margin-top:var(--ui-space-4)}.variation-breadcrumb{margin:0;font-size:14px;color:var(--ui-muted)}.variation-parent-link{margin:8px 0 0;font-size:14px}.variation-description{margin:var(--ui-space-2) 0 0;color:var(--ui-muted);font-size:15px}.variation-page-subtitle{margin:0 0 var(--ui-space-4);font-size:14px}.variation-parent-card{margin-bottom:var(--ui-space-4)}.variation-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.variation-list-card{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface-muted);overflow:hidden}.variation-list-card__link{display:block;color:inherit;text-decoration:none;padding:14px 16px}.variation-list-card__header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.variation-list-card__header a{text-decoration:none}.variation-list-card h3{margin:0;font-size:16px;font-weight:700;color:var(--ui-text)}.variation-list-card__link:hover h3{text-decoration:underline}.variation-list-card p{margin:8px 0 0;font-size:14px;font-style:italic;color:var(--ui-muted)}.variation-list-card .recipe-meta{margin-top:8px}.variation-create-footer{margin:20px 0 0;display:flex;justify-content:flex-start}.empty-state{text-align:center;color:var(--ui-muted);padding:48px 0}.recipe-detail{position:relative}.recipe-nav{margin-bottom:24px}.recipe-header{margin-bottom:var(--ui-space-6);padding-bottom:var(--ui-space-5);border-bottom:1px solid var(--ui-border)}.recipe-header h1{margin-bottom:12px}.section-nav{position:fixed;left:24px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;background:white;padding:12px;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.1)}.section-nav a{font-size:24px;text-decoration:none;opacity:.7;transition:opacity .2s}.section-nav a:hover{opacity:1}@media (max-width:900px){.section-nav{position:fixed;left:auto;right:16px;bottom:16px;top:auto;transform:none;flex-direction:row}}.recipe-section{margin-bottom:32px;scroll-margin-top:calc(56px + var(--ui-space-3))}.recipe-section-collapsible{margin-bottom:24px}.recipe-section-toggle{font-size:22px;font-weight:600;color:var(--ui-text)}.section-toggle-controls{gap:var(--ui-space-1)}.section-toggle-controls,.section-toggle-header-controls{display:inline-flex;align-items:center}.section-toggle-button:focus-visible{outline:2px solid var(--ui-accent-secondary);outline-offset:2px;border-radius:8px}.section-chat-slot--hidden{display:none}.section-chat-slot{margin-top:var(--ui-space-2)}.section-chat-inline-control{position:absolute;right:max(var(--ui-space-3),env(safe-area-inset-right));bottom:max(var(--ui-space-3),env(safe-area-inset-bottom));z-index:2;transform:translateZ(0)}.section-chat-inline-trigger svg{width:18px;height:18px}.recipe-section-body{position:relative;margin-top:10px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);padding:var(--ui-space-4) 18px 18px}.recipe-section-body--with-chat-control{padding-right:56px}.recipe-section-body--plain{border:none;background:transparent;padding:0}@media (max-width:640px){.section-chat-inline-control{right:var(--ui-space-2);bottom:var(--ui-space-2)}.recipe-section-body--with-chat-control{padding-right:52px}}.section-chat-block{border:1px solid var(--ui-border);border-left:3px solid var(--ui-herb);border-radius:var(--ui-radius-lg);background:var(--ui-surface-muted);overflow:hidden}.section-chat-block__toggle{width:100%;border:0;margin:0;padding:var(--ui-space-3) var(--ui-space-4);background:transparent;display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-3);cursor:pointer;text-align:left;color:var(--ui-text)}.section-chat-block__toggle:hover{background:var(--ui-herb-soft-strong)}.section-chat-block__toggle:focus-visible{outline:2px solid var(--ui-accent-secondary);outline-offset:-2px}.section-chat-block__label{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-chat-block__icon{flex-shrink:0;width:28px;height:28px;border-radius:10px;border:1px solid var(--ui-herb-soft-border);background:var(--ui-herb-soft);color:var(--ui-herb);display:inline-flex;align-items:center;justify-content:center}.section-chat-block__icon svg{width:16px;height:16px}.section-chat-block__panel{padding:var(--ui-space-3) var(--ui-space-4) var(--ui-space-4);display:grid;grid-gap:var(--ui-space-3);gap:var(--ui-space-3);overflow-x:clip}.section-chat-block__title{margin:0;padding-bottom:var(--ui-space-2);border-bottom:1px solid var(--ui-border);font-size:14px;font-weight:600;color:var(--ui-text)}.section-chat-messages{display:grid;grid-gap:var(--ui-space-2);gap:var(--ui-space-2);max-height:320px;overflow-y:auto}.section-chat-empty{padding:0;font-size:13px;text-align:left;color:var(--ui-muted)}.section-chat-input-row{display:flex;align-items:flex-end;gap:var(--ui-space-2);padding-right:48px;min-width:0}.section-chat-input-wrap{position:relative}.section-chat-textarea{flex:1 1;min-height:40px;max-height:120px;resize:none;overflow-y:auto}@media (max-width:640px){.section-chat-textarea{min-height:72px}}.section-chat-send-button{flex-shrink:0}.section-chat-send-button svg{width:18px;height:18px}.section-chat-history-toggle{position:absolute;right:0;bottom:0;width:36px;height:36px;padding:7px;border:1px solid var(--ui-herb-soft-border);border-radius:10px;background:var(--ui-herb-soft);color:var(--ui-herb)}.section-chat-history-toggle:hover{background:var(--ui-herb-soft-strong)}.section-chat-history-toggle--active,.section-chat-history-toggle--active:hover{background:var(--ui-terracotta-soft);border-color:var(--ui-terracotta);color:var(--ui-herb)}.section-chat-history-toggle svg{width:18px;height:18px}.section-chat-history-panel{border-top:1px solid var(--ui-border);padding-top:var(--ui-space-2);display:grid;grid-gap:var(--ui-space-2);gap:var(--ui-space-2)}.section-chat-history-note{margin:0;font-size:13px;color:var(--ui-muted)}.section-chat-history-empty,.section-chat-history-loading{margin:0;padding:0;text-align:left}.section-chat-history-list{display:grid;grid-gap:var(--ui-space-2);gap:var(--ui-space-2)}.section-chat-history-item{background:var(--ui-terracotta-soft);border:1px solid var(--ui-border);border-left:3px solid var(--ui-herb);border-radius:12px;padding:var(--ui-space-2) var(--ui-space-3)}.section-chat-history-item--collapsed{cursor:pointer}.section-chat-history-item__header{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-2);margin-bottom:var(--ui-space-1)}.section-chat-history-item__tag{font-size:12px;font-weight:600;color:var(--ui-muted);background:var(--ui-surface);border:1px solid var(--ui-border);padding:4px 8px;border-radius:999px}.section-chat-history-item__meta{display:flex;align-items:center;gap:var(--ui-space-2)}.section-chat-history-item__timestamp{font-size:12px;color:var(--ui-muted)}.section-chat-history-item__toggle{width:28px;height:28px;padding:5px}.section-chat-history-item__summary{margin:0;color:var(--ui-muted);font-size:13px;line-height:1.45}.section-chat-history-item__details{margin:0 0 var(--ui-space-2);color:var(--ui-muted);font-size:13px;line-height:1.45}.section-chat-history-thread{display:grid;grid-gap:var(--ui-space-2);gap:var(--ui-space-2);max-height:240px;overflow-y:auto}.section-chat-history-item__actions{margin-top:var(--ui-space-2)}.equipment-list,.ingredients-list{list-style:none;padding:0;margin:0}.equipment-list li,.ingredients-list li{padding:8px 0;font-size:16px}.recipe-section-body h3+.equipment-list{margin-top:var(--ui-space-2);padding-top:var(--ui-space-2);border-top:1px solid var(--ui-border)}.equipment-list li+li{border-top:1px solid var(--ui-border)}.ingredients-list li{border-bottom:1px solid var(--ui-border)}.ingredients-list li:last-child{border-bottom:none}.equipment-list .item,.ingredients-list .quantity{font-weight:600;color:var(--ui-text)}.equipment-list .settings{color:var(--ui-accent)}.ingredients-list .item{color:var(--ui-text)}.preheat-callout{padding:var(--ui-space-3) 14px;margin:0 0 var(--ui-space-3);border-radius:10px;background:var(--ui-warning-bg);border:1px solid var(--ui-warning-border)}.preheat-callout p{margin:0;color:var(--ui-warning-text)}.preheat-callout p+p{margin-top:6px}.equipment-list .note,.ingredients-list .note{color:var(--ui-muted);font-size:14px;margin-left:4px}.instruction-section{margin-bottom:24px}.instruction-section ol{padding-left:24px;margin:0}.instruction-section li{padding:8px 0;font-size:16px;line-height:1.6}.tips-list{list-style:none;padding:0;margin:0}.tips-list li{padding:12px 16px;background:var(--ui-terracotta-soft);border-left:3px solid var(--ui-herb);margin-bottom:8px;font-size:15px;line-height:1.5}.raw-text{white-space:pre-wrap;font-family:inherit;font-size:15px;line-height:1.6;background:var(--ui-surface-muted);padding:var(--ui-space-4);border-radius:8px;overflow-x:auto}.card{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:var(--ui-radius-lg);padding:var(--ui-space-5);box-shadow:0 10px 30px rgba(0,0,0,.06)}.home-hub-grid{margin-top:20px;display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.home-hub-tile{display:flex;flex-direction:column;gap:10px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface-muted);color:var(--ui-accent);text-decoration:none;padding:18px var(--ui-space-4);min-height:150px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.home-hub-tile:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 10px 20px rgba(15,23,42,.08);border-color:var(--ui-border-strong)}.home-hub-tile__icon{width:28px;height:28px;color:var(--ui-accent)}.home-hub-tile__title{font-size:18px;font-weight:600;line-height:1.2}.home-hub-tile__description{font-size:14px;line-height:1.4;color:var(--ui-muted)}ul{padding-left:20px;margin:12px 0 0}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-space-2);padding:10px 18px;border-radius:999px;border:none;background:var(--ui-accent);color:var(--ui-surface);font-weight:600;cursor:pointer;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.primary-button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(31,41,55,.2);text-decoration:none}.primary-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.recipes-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.library-controls{margin:20px 0 var(--ui-space-5);padding:20px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface)}.ui-page-container{max-width:960px;margin:0 auto;padding:var(--ui-space-6) var(--ui-space-5)}.ui-app-shell{display:flex;flex-direction:column;gap:var(--ui-space-5)}.ui-app-shell__header h1{margin:0 0 var(--ui-space-2)}.ui-app-shell__header p{margin:0;color:var(--ui-muted)}.ui-app-shell__content{display:flex;flex-direction:column;gap:var(--ui-space-5)}.ui-playground-section h2{margin-top:0}.ui-playground-row{display:flex;flex-wrap:wrap;gap:var(--ui-space-3)}.ui-playground-grid{display:grid;grid-gap:var(--ui-space-4);gap:var(--ui-space-4);grid-template-columns:1fr}.ui-button{border:1px solid transparent;border-radius:999px;cursor:pointer;font-weight:600;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}.ui-button:not(:disabled):hover{transform:translateY(-1px)}.ui-button:focus-visible{outline:2px solid var(--ui-accent-secondary);outline-offset:2px}.ui-button:not(:disabled):active{transform:translateY(0)}.ui-button--sm{padding:6px 12px}.ui-button--md{padding:10px 16px}.ui-button--lg{padding:12px 20px}.ui-button--primary{background:var(--ui-accent);color:#fff}.ui-button--secondary{background:var(--ui-surface);border-color:var(--ui-border);color:var(--ui-text)}.ui-button--ghost{background:transparent;border-color:var(--ui-border);color:var(--ui-accent-secondary)}.ui-button:disabled{opacity:.6;cursor:not-allowed}.ui-input-group{display:flex;flex-direction:column;gap:var(--ui-space-2)}.ui-input-group__label{font-size:14px;font-weight:500}.ui-input{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:10px 12px;font-size:16px;transition:border-color .15s ease,box-shadow .15s ease}.ui-input:hover:not(:disabled){border-color:var(--ui-border-strong)}.ui-input:focus-visible{outline:none;border-color:var(--ui-accent-secondary);box-shadow:0 0 0 3px rgba(37,99,235,.2)}.ui-input:active:not(:disabled){border-color:var(--ui-accent-secondary)}.ui-input:disabled{background:var(--ui-surface-muted);color:var(--ui-muted);cursor:not-allowed}.ui-input--error{border-color:var(--ui-error)}.ui-input--error:focus-visible{border-color:var(--ui-error);box-shadow:0 0 0 3px rgba(185,28,28,.2)}.ui-input-group__helper{color:var(--ui-muted);margin:0;font-size:14px}.ui-input-group__error{color:var(--ui-error);margin:0;font-size:14px}.ui-card{border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-surface);padding:var(--ui-space-4)}.ui-card__header h3{margin:0;font-size:20px}.ui-card__header p{margin:var(--ui-space-2) 0 0;font-size:14px;color:var(--ui-muted)}.ui-card__content{margin-top:var(--ui-space-4)}.ui-icon{display:inline-flex;align-items:center;justify-content:center}.ui-icon--sm{width:16px}.ui-icon--md{width:20px}.ui-icon--lg{width:24px}.ui-typography-demo p{margin:0 0 var(--ui-space-2)}.ui-type-display{font-size:40px;font-weight:600;line-height:1.2}.ui-type-h1{font-size:32px;font-weight:600;line-height:1.25}.ui-type-h2{font-size:24px;font-weight:600;line-height:1.3}.ui-type-body-lg{font-size:18px;line-height:1.5}.ui-type-body{font-size:16px;line-height:1.5}.ui-type-caption{font-size:14px;line-height:1.4}.ui-type-kicker{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;line-height:1.4}.ui-select{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);font-size:16px;font-family:inherit;background:var(--ui-surface);color:var(--ui-text);transition:border-color .15s ease,box-shadow .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235f6368' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding:10px 32px 10px 12px}.ui-select:hover:not(:disabled){border-color:var(--ui-border-strong)}.ui-select:focus-visible{outline:none;border-color:var(--ui-accent-secondary);box-shadow:0 0 0 3px rgba(37,99,235,.2)}.ui-select:disabled{background:var(--ui-surface-muted);color:var(--ui-muted);cursor:not-allowed}.ui-textarea{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:10px 12px;font-size:16px;font-family:inherit;line-height:1.5;resize:vertical;min-height:80px;transition:border-color .15s ease,box-shadow .15s ease}.ui-textarea:hover:not(:disabled){border-color:var(--ui-border-strong)}.ui-textarea:focus-visible{outline:none;border-color:var(--ui-accent-secondary);box-shadow:0 0 0 3px rgba(37,99,235,.2)}.ui-textarea:disabled{background:var(--ui-surface-muted);color:var(--ui-muted);cursor:not-allowed}.ui-spacing-demo{display:grid;grid-gap:var(--ui-space-2);gap:var(--ui-space-2)}.ui-spacing-demo__row{display:flex;align-items:center;gap:var(--ui-space-3)}.ui-spacing-demo__row span{width:48px;font-size:14px}.ui-spacing-demo__bar{height:14px;border-radius:999px;background:var(--ui-accent-secondary)}.ui-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:var(--ui-space-2)}.ui-list--ordered{list-style:decimal}@media (min-width:640px){.ui-playground-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.filter-summary{margin-top:var(--ui-space-3);font-size:13px;color:var(--ui-muted)}.collection-manager{margin-bottom:var(--ui-space-5);border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);padding:20px}.collection-manager h2{margin-top:0}.collection-form{display:flex;gap:10px;align-items:center;margin-bottom:12px}.collection-form input{flex:1 1;border:1px solid var(--ui-border);border-radius:10px;padding:10px 12px;font-size:16px;font-family:inherit}.collection-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.collection-list li{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ui-border);border-radius:999px;padding:4px 10px;background:var(--ui-bg)}.collection-inline-input{width:160px;border:1px solid var(--ui-border-strong);border-radius:8px;padding:4px 8px;font-size:16px;font-family:inherit}.recipe-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.chip{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:12px;line-height:1.4;border:1px solid transparent}.chip-collection{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}.chip-tag{background:#ecfeff;color:#0f766e;border-color:#99f6e4}.secondary-button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--ui-accent);background:var(--ui-surface);color:var(--ui-accent);font-weight:600;padding:9px 16px;cursor:pointer}.secondary-button:disabled{opacity:.6;cursor:not-allowed}.secondary-button--danger{border-color:var(--ui-error);color:var(--ui-error)}.secondary-button--danger:hover:not(:disabled){background:rgba(185,28,28,.06)}.secondary-button--muted{border-color:var(--ui-border);background:var(--ui-surface-muted);color:var(--ui-muted)}.secondary-button--muted:hover:not(:disabled){background:var(--ui-bg)}.secondary-button--affirm{border-color:var(--ui-herb-soft-border);background:var(--ui-herb-soft);color:var(--ui-herb)}.secondary-button--affirm:hover:not(:disabled){background:var(--ui-herb-soft-strong)}.link-button{border:none;background:transparent;font:inherit;cursor:pointer;text-decoration:underline}.link-button.danger{color:var(--ui-error)}.recipe-library-panel{margin:0 0 var(--ui-space-5);padding:20px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface)}.recipe-library-stack{display:flex;flex-direction:column;gap:10px}.recipe-library-panel .recipe-section-collapsible{margin-bottom:0}.recipe-library-panel .recipe-section-toggle{font-size:19px;font-weight:600;color:var(--ui-muted)}.recipe-library-panel .recipe-section-body{background:var(--ui-surface-muted);border-color:var(--ui-border);padding:14px}.recipe-library-column h3{margin-top:0;margin-bottom:8px}.recipe-library-helper{margin:6px 0 10px;font-size:14px}.collection-checkbox-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:8px;gap:8px}.collection-checkbox-list label{display:inline-flex;align-items:center;gap:8px;font-size:15px}.tag-form{display:flex;flex-direction:column;gap:10px}.tag-input-row{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px}.tag-editor-chips{display:flex;flex-wrap:wrap;gap:8px}.inline-empty-state{color:var(--ui-muted);margin:0;font-size:14px}.editable-chip{gap:6px}.editable-chip button{border:none;background:transparent;color:inherit;cursor:pointer;font-size:16px;line-height:1;padding:0}.chip-button{border:1px solid #99f6e4;cursor:pointer;font-family:inherit}.recipe-label-category{padding:10px 12px;margin-top:10px}.recipe-label-category--collapsed{cursor:pointer}.recipe-label-category__toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;color:inherit;text-align:left;font-size:17px;font-weight:600;margin:0}.recipe-label-category__controls{display:inline-flex;align-items:center;gap:10px}.recipe-label-category__toggle .tag{flex-shrink:0;margin:0}.recipe-label-category__icon{border:none;background:transparent;width:24px;height:24px;border-radius:999px;color:var(--ui-text);font-size:24px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.recipe-label-category__summary{margin:6px 0 0;font-size:14px;color:var(--ui-muted)}.recipe-label-category__row,.recipe-label-category__suggestions{margin-top:8px}.tag-catalog h4{margin:14px 0 var(--ui-space-2);font-size:14px;color:var(--ui-muted)}.import-page-shell{display:flex;flex-direction:column;gap:var(--ui-space-4)}.import-page-nav{margin:0}.import-page-nav a{text-decoration:none}.import-header h1{margin:0}.import-header p{color:var(--ui-text);margin:var(--ui-space-3) 0 0;max-width:64ch;font-size:18px;line-height:1.5}.import-launchpad.home-hub-grid{margin-top:0;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.import-launchpad-tile{min-height:190px}.import-launchpad-card--disabled{opacity:.72;pointer-events:none}.import-launchpad-card--disabled .home-hub-tile__description{color:var(--ui-muted)}.import-personal-use-note{margin-top:var(--ui-space-2);font-size:14px;color:var(--ui-muted)}.import-status-banner{margin:var(--ui-space-4) 0 0;padding:var(--ui-space-3) var(--ui-space-4);border:1px solid var(--ui-warning-border);border-radius:var(--ui-radius-md);background:var(--ui-warning-bg);color:var(--ui-warning-text);font-size:14px}.import-launchpad{margin-top:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.import-launchpad-card{aspect-ratio:1/1;display:flex;flex-direction:column;justify-content:flex-start;gap:var(--ui-space-2);border-radius:var(--ui-radius-lg);border:1px solid var(--ui-border);padding:var(--ui-space-4);background:var(--ui-surface);box-shadow:0 12px 28px rgba(0,0,0,.06);color:inherit;text-decoration:none}.import-launchpad-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.1)}.import-launchpad-card h2{margin:0;font-size:18px}.import-launchpad-card p{margin:0;font-size:14px;color:var(--ui-muted)}.import-launchpad-icon{width:24px;height:24px;color:var(--ui-accent)}.import-launchpad-icon-frame{width:44px;height:44px;border-radius:8px;border:1px solid var(--ui-border);background:var(--ui-surface-muted);display:inline-flex;align-items:center;justify-content:center;align-self:center;margin-top:2px}.chat-starters-panel{margin:var(--ui-space-4) 0}.chat-starter-group{display:grid;grid-gap:var(--ui-space-2);gap:var(--ui-space-2);margin-bottom:var(--ui-space-3)}.chat-starter-group:last-child{margin-bottom:0}.chat-starters-label{margin:0 0 var(--ui-space-2);font-size:14px;color:var(--ui-muted)}.chat-starters{margin:0;display:flex;flex-wrap:wrap;gap:var(--ui-space-2)}.chat-starter-button{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:999px;padding:8px 12px;font:inherit;color:var(--ui-text);cursor:pointer}.chat-thread{margin-top:var(--ui-space-3);margin-bottom:var(--ui-space-4);display:flex;flex-direction:column;gap:10px}.chat-bubble{max-width:100%;min-width:0;border-radius:14px;border:1px solid var(--ui-border);background:var(--ui-surface);padding:12px 14px}.chat-bubble h3{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-muted)}.chat-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.chat-bubble-user{background:var(--ui-herb-soft);border-color:var(--ui-herb-soft-border)}.chat-bubble-assistant{background:var(--ui-terracotta-soft);border-color:var(--ui-terracotta-soft-border)}.chat-bubble-pending{opacity:.9}.chat-markdown{margin:0;padding:0;line-height:1.5;min-width:0;overflow-wrap:anywhere;word-break:break-word}.chat-markdown>:first-child{margin-top:0}.chat-markdown>:last-child{margin-bottom:0}.chat-markdown p{margin:0 0 var(--ui-space-2);white-space:normal}.chat-markdown pre{margin:0 0 var(--ui-space-2);max-width:100%;overflow-x:auto}.chat-markdown code,.chat-markdown pre{white-space:pre-wrap;word-break:break-word}.chat-markdown ol,.chat-markdown ul{margin:0 0 var(--ui-space-2);padding-left:var(--ui-space-5)}.chat-markdown li{margin-bottom:var(--ui-space-1)}.chat-markdown li:last-child{margin-bottom:0}.chat-markdown h2,.chat-markdown h3{margin:var(--ui-space-3) 0 var(--ui-space-2);font-size:1.05em;font-weight:600;line-height:1.35;color:var(--ui-text);text-transform:none;letter-spacing:normal}.chat-markdown strong{font-weight:600}.chat-markdown em{font-style:italic}.chat-empty{margin:0;color:var(--ui-muted)}.conversation-disclaimer{margin:var(--ui-space-2) 0 0;font-size:12px;line-height:1.4;color:var(--ui-muted)}.chat-compose{display:grid;grid-gap:var(--ui-space-3);gap:var(--ui-space-3)}.chat-action-panel{margin-bottom:var(--ui-space-4)}.chat-action-note{margin:0 0 var(--ui-space-2);font-size:14px;color:var(--ui-muted)}.chat-technique-panel{margin-top:var(--ui-space-3);padding:var(--ui-space-3);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}.chat-technique-form{display:grid;grid-gap:var(--ui-space-3);gap:var(--ui-space-3)}.chat-actions{display:flex;flex-wrap:wrap;gap:var(--ui-space-2)}.chat-history-note{margin:0 0 var(--ui-space-3);color:var(--ui-muted);font-size:14px}.chat-history-list{display:flex;flex-direction:column;gap:12px}.import-chat-history-section{margin-top:var(--ui-space-2)}.import-chat-resume-banner{margin:0 0 var(--ui-space-3);padding:var(--ui-space-2) var(--ui-space-3);border:1px solid var(--ui-herb-soft-border);border-left:3px solid var(--ui-herb);border-radius:var(--ui-radius-md);background:var(--ui-herb-soft);color:var(--ui-herb);font-size:14px;line-height:1.4}.import-chat-history-empty{margin:0;padding:0;text-align:left;color:var(--ui-muted)}.import-chat-history-loading{margin:0;text-align:left}.import-chat-history-header-meta{display:flex;align-items:center;gap:10px}.import-chat-history-meta{margin:0 0 var(--ui-space-2);color:var(--ui-muted);font-size:13px;line-height:1.45}.import-chat-history-thread{display:grid;grid-gap:var(--ui-space-2);gap:var(--ui-space-2);max-height:340px;overflow-y:auto;padding-right:2px}.import-chat-history-actions{margin-top:var(--ui-space-2)}.photo-upload-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.photo-upload-actions{display:flex;flex-wrap:wrap;min-width:0;gap:var(--ui-space-2)}.photo-upload-action-button{cursor:pointer;white-space:nowrap;flex-shrink:1}.photo-upload-action-button--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.photo-file-input--visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.photo-upload-item{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;max-width:100%;box-sizing:border-box;border:1px solid var(--ui-border);border-radius:10px;padding:10px 12px}@media (min-width:768px){.import-launchpad{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}.customize-form,.import-form{display:flex;flex-direction:column;gap:var(--ui-space-4);background:var(--ui-surface);border-radius:var(--ui-radius-lg);padding:var(--ui-space-5);border:1px solid var(--ui-border);box-shadow:0 12px 28px rgba(0,0,0,.06)}.preferences-header p{color:var(--ui-muted);margin-bottom:0}.preferences-form{display:flex;flex-direction:column;gap:var(--ui-space-4);background:var(--ui-surface);border-radius:var(--ui-radius-lg);padding:var(--ui-space-5);border:1px solid var(--ui-border);box-shadow:0 12px 28px rgba(0,0,0,.06)}.preferences-management-links{display:flex;gap:var(--ui-space-3);flex-wrap:wrap}.form-field{display:flex;flex-direction:column;gap:var(--ui-space-2);font-size:14px;color:var(--ui-text)}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--ui-border);border-radius:10px;padding:10px 12px;font-size:16px;font-family:inherit;width:100%}.form-field textarea{resize:vertical}.field-help{margin:0;font-size:13px;color:var(--ui-muted);line-height:1.45}.form-error{color:var(--ui-error);font-weight:500;margin:0}.form-success{color:var(--ui-success-text);font-weight:500;margin:0}.customize-panel{margin-top:40px}.customize-panel-ai{margin-bottom:8px}.customize-brand-head{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.customize-brand-accent{width:100%;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--ui-terracotta),var(--ui-herb))}.customize-panel-ai h2{margin-top:0;margin-bottom:0;font-size:20px;font-weight:600}.customize-results{margin-top:24px;display:flex;flex-direction:column;gap:16px}.customize-panel-ai .customize-results{margin-top:16px}.customize-history-group{margin-top:4px}.customize-history-toggle,.section-toggle-button{width:100%;display:flex;align-items:center;justify-content:space-between;border:none;background:transparent;padding:0;margin:0;font:inherit;font-size:1.17em;font-weight:600;cursor:pointer;color:inherit;text-align:left}.customize-response{background:var(--ui-terracotta-soft);border:1px solid var(--ui-border);border-left:3px solid var(--ui-herb);border-radius:14px;padding:16px 18px;overflow:hidden}.customize-response-collapsed{cursor:pointer}.customize-response-pending{border-left-color:var(--ui-muted);background:var(--ui-surface-warm)}.customize-response-pending .loading-state{margin:0;text-align:left}.customize-response header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.customize-response .tag{font-weight:600;background:rgba(255,255,255,.55);border:1px solid var(--ui-border);padding:4px 8px;border-radius:999px}.customize-response .tag,.customize-response .timestamp{font-size:12px;color:var(--ui-muted)}.customize-collapsed-summary{margin:0;color:var(--ui-muted);font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-height:56px;word-break:break-word}.customize-json-preview{margin:10px 0 0;padding:10px 12px;border:1px solid var(--ui-border);border-radius:10px;background:rgba(255,255,255,.55);white-space:pre-wrap;word-break:break-word;max-height:340px;overflow:auto;font-size:13px}.customize-preview{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:rgba(255,255,255,.55);padding:12px;margin-bottom:12px}.customize-preview h4{margin:0 0 8px;font-size:14px}.customize-preview h5{margin:10px 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--ui-muted)}.customize-preview-meta{margin:0;font-size:13px;color:var(--ui-muted)}.customize-preview-list{margin:0;padding-left:18px}.customize-preview-section{margin-top:8px}.customize-preview-section ol{margin:4px 0 0;padding-left:18px}.structured-response{margin-top:8px;max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word;overflow:hidden}.customization-summary{font-size:14px;line-height:1.5;font-weight:400;margin-bottom:16px;overflow-wrap:anywhere;word-break:break-word}.modifications-group{margin-bottom:16px}.modifications-group li{overflow-wrap:anywhere;word-break:break-word}.modifications-group h4{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-muted);margin:0 0 var(--ui-space-2)}.ingredient-diff-list{list-style:none;padding:0;margin:0}.nutrition-facts-card{border:2px solid var(--ui-text);background:var(--ui-nutrition-card-bg);border-radius:8px;padding:12px;max-width:min(520px,100%)}.nutrition-facts-card__header{border-bottom:3px solid var(--ui-text);padding-bottom:8px;margin-bottom:8px}.nutrition-facts-card__title{font-size:28px;line-height:1;font-weight:800;color:var(--ui-text);margin-bottom:4px}.nutrition-facts-card__meta{margin:0;font-size:13px;color:var(--ui-text)}.nutrition-facts-card__serving{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:14px;color:var(--ui-text);border-top:1px solid var(--ui-text);padding-top:6px;margin-top:6px}.nutrition-facts-card__serving strong{font-size:18px}.nutrition-facts-card__calories{display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px;align-items:end;border-bottom:6px solid var(--ui-text);padding:6px 0}.nutrition-facts-card__calories span{font-size:20px;font-weight:700;line-height:1}.nutrition-facts-card__calories strong{font-size:40px;font-weight:800;line-height:.9}.nutrition-facts-card__dv-header{display:flex;justify-content:flex-end;font-size:12px;font-weight:700;color:var(--ui-text);border-bottom:1px solid var(--ui-text);padding:4px 0 2px}.nutrition-facts-card__rows{display:flex;flex-direction:column}.nutrition-facts-card__row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:8px;gap:8px;align-items:baseline;border-bottom:1px solid var(--ui-nutrition-row-divider);padding:4px 0;font-size:14px;color:var(--ui-text)}.nutrition-facts-card__row--primary .nutrition-facts-card__row-label{font-weight:700}.nutrition-facts-card__row--indented .nutrition-facts-card__row-label{padding-left:16px;font-weight:400}.nutrition-facts-card__row-label{min-width:0}.nutrition-facts-card__row-amount{white-space:nowrap}.nutrition-facts-card__row-dv{width:42px;text-align:right;white-space:nowrap;font-weight:700}.nutrition-facts-card__footnote{margin:8px 0 0;padding-top:6px;border-top:3px solid var(--ui-text);font-size:11px;line-height:1.35;color:var(--ui-text)}.nutrition-facts-card__disclaimer{margin:6px 0 0;font-size:11px;line-height:1.35;color:var(--ui-muted)}.ingredient-diff{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:15px;min-width:0}.diff-original{text-decoration:line-through;color:var(--ui-error)}.diff-arrow{color:var(--ui-muted)}.diff-new{font-weight:600}.diff-added-tag,.diff-new{color:var(--ui-success-text)}.diff-added-tag,.diff-removed{font-style:italic}.diff-removed{color:var(--ui-error)}.diff-reason{font-size:13px;color:var(--ui-muted)}.section-diff{margin-bottom:12px}.section-diff h5{font-size:15px;margin:0 0 6px;font-weight:600;color:var(--ui-text)}.step-diff{background:rgba(255,255,255,.6);border-radius:8px;padding:10px 12px;margin-bottom:8px;font-size:14px;line-height:1.5}.step-label{font-weight:600;color:var(--ui-muted)}.step-before{text-decoration:line-through;color:var(--ui-error);margin-bottom:4px}.step-after{color:var(--ui-success-text);margin-bottom:4px}.step-after--removed{color:var(--ui-error)}.step-reason{font-size:13px;color:var(--ui-muted);font-style:italic}.customization-notes{margin-top:var(--ui-space-2);padding:10px 12px;background:var(--ui-callout-warm);border:1px solid var(--ui-callout-warm-border);border-left:3px solid var(--ui-herb);border-radius:8px}.customization-notes h4{font-size:14px;font-weight:600;margin:0 0 4px;color:var(--ui-muted)}.customization-notes p{font-size:14px;margin:0}.customize-actions{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}.customize-inline-form{margin-top:var(--ui-space-3);padding:var(--ui-space-3);border:1px solid var(--ui-warning-border);border-radius:10px;background:rgba(255,255,255,.6);display:grid;grid-gap:10px;gap:10px;min-width:0}.customize-inline-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-width:0}.recipe-variation-choice{display:flex;flex-wrap:wrap;gap:12px;font-size:14px}.recipe-variation-choice label{display:inline-flex;align-items:center;gap:6px}.customize-success{margin:10px 0 0;color:var(--ui-success-text);font-size:14px;font-weight:500}.scale-target-grid{display:flex;flex-wrap:wrap;gap:8px}.scale-target-button{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:999px;padding:var(--ui-space-2) var(--ui-space-3);font:inherit;font-size:14px;cursor:pointer;color:var(--ui-text)}.scale-target-button.is-selected{border-color:var(--ui-herb);color:var(--ui-herb);background:rgba(47,107,70,.08)}.customize-primary-button{background:var(--ui-terracotta);border:1px solid var(--ui-terracotta);box-shadow:0 1px 0 rgba(0,0,0,.12)}.customize-primary-button:hover{background:var(--ui-terracotta);filter:brightness(.9)}.customize-primary-button:focus-visible{outline:2px solid var(--ui-herb);outline-offset:2px}.app-header{width:100%;overflow-x:hidden;border-bottom:1px solid var(--ui-border);background:var(--ui-surface)}.app-header-inner{max-width:1040px;width:100%;min-width:0;margin:0 auto;padding:18px 24px;justify-content:space-between;gap:16px;box-sizing:border-box}.app-header-inner,.app-logo{display:flex;align-items:center}.app-logo{gap:8px;font-weight:600;font-size:18px;color:var(--ui-accent);text-decoration:none}.app-logo-icon{width:28px;height:28px;flex-shrink:0}.app-nav{display:flex;align-items:center;gap:16px;min-width:0;flex-shrink:1}.admin-quick-links{position:relative;display:inline-flex;align-items:center}.admin-quick-links__toggle{width:36px;height:36px;border:1px solid var(--ui-border);border-radius:999px;background:var(--ui-surface);color:var(--ui-muted)}.admin-quick-links__toggle:hover{color:var(--ui-text);background:var(--ui-surface-warm)}.admin-quick-links__toggle[aria-expanded=true]{color:var(--ui-herb);border-color:var(--ui-herb-soft-border);background:var(--ui-herb-soft)}.admin-quick-links__menu{position:absolute;top:calc(100% + var(--ui-space-2));right:0;min-width:168px;padding:var(--ui-space-1);border-radius:var(--ui-radius-md);border:1px solid var(--ui-border);background:var(--ui-surface);box-shadow:var(--ui-shadow-overlay);z-index:var(--ui-z-overlay)}.admin-quick-links__item{display:block;border-radius:10px;padding:10px var(--ui-space-3);color:var(--ui-text);font-size:14px;font-weight:500;text-decoration:none}.admin-quick-links__item:hover{background:var(--ui-herb-soft);color:var(--ui-herb);text-decoration:none}.app-nav-link{color:var(--ui-text);font-size:14px;font-weight:500}.user-email{font-size:14px;color:var(--ui-muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.ghost-button{background:transparent;border:1px solid var(--ui-border);color:var(--ui-text);border-radius:999px;padding:var(--ui-space-2) 14px;font-weight:500;cursor:pointer}.ghost-button:hover{border-color:var(--ui-border-strong)}.auth-page{display:flex;justify-content:center;align-items:flex-start}.auth-card{width:100%;max-width:460px;background:var(--ui-surface);border-radius:18px;border:1px solid var(--ui-border);padding:28px;box-shadow:0 18px 30px rgba(0,0,0,.08)}.auth-form{display:flex;flex-direction:column;gap:16px;margin:24px 0 12px}.auth-checkbox-row{display:flex;align-items:flex-start;gap:var(--ui-space-2);font-size:14px;color:var(--ui-muted)}.auth-checkbox-row input[type=checkbox]{width:16px;height:16px;margin-top:2px}.auth-forgot{text-align:right;margin:calc(-1 * var(--ui-space-2)) 0 var(--ui-space-2)}.auth-footer,.auth-forgot{font-size:14px;color:var(--ui-muted)}.auth-footer a{font-weight:600}.auth-cta{display:flex;align-items:center;gap:12px;margin-top:16px}.terms-page-card{max-width:760px;margin:0 auto}.terms-page-card li,.terms-page-card p{font-size:16px;color:var(--ui-text)}.terms-page-card ul{margin-top:0;margin-bottom:var(--ui-space-4)}.loading-state{font-size:16px;color:var(--ui-muted);text-align:center}@media (max-width:640px){.home-hub-grid{grid-template-columns:1fr}.app-header-inner{flex-direction:column;align-items:flex-start;padding:14px 16px;gap:10px;max-width:100%;overflow-x:hidden}.app-nav{flex-wrap:wrap;gap:10px 14px;width:100%}.user-email{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-card{padding:22px}.collection-form{flex-direction:column;align-items:stretch}}.ui-svg-icon{display:block;width:100%;height:100%}.ui-page-header{position:-webkit-sticky;position:sticky;top:0;z-index:var(--ui-z-sticky);display:flex;align-items:center;min-height:56px;width:100%;max-width:100%;padding:var(--ui-space-2) var(--ui-space-4);background:var(--ui-surface);border-bottom:1px solid var(--ui-border);overflow:hidden}.ui-page-header__start{display:flex;align-items:center;flex-shrink:0}.ui-page-header__title{font-size:14px;font-weight:600;min-width:0;max-width:none;flex:1 1;margin:0 10px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3}.variations-header .ui-page-header__title{max-width:none;flex:1 1;margin:0 12px}.ui-page-header__end{display:flex;align-items:center;gap:var(--ui-space-2);margin-left:auto;flex-shrink:0}@media (max-width:640px){.ui-page-header__end{gap:var(--ui-space-1);flex-shrink:1;min-width:0}}.recipe-detail-header .ui-page-header__end{gap:6px}.recipe-inline-edit-header-actions{display:flex;align-items:center;gap:6px}.recipe-inline-edit-header-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;white-space:nowrap;position:relative}.recipe-inline-edit-header-action__icon{width:16px;height:16px;flex-shrink:0}.recipe-header-divider{width:1px;height:20px;background:var(--ui-border);margin:0 2px}.ui-icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:8px;border:none;border-radius:var(--ui-radius-md);background:transparent;color:var(--ui-text);cursor:pointer;transition:background .15s}.recipe-detail-header .ui-icon-button{padding:7px}.ui-icon-button:hover{background:rgba(0,0,0,.06)}.ui-icon-button:focus-visible{outline:2px solid var(--ui-accent-secondary);outline-offset:-2px}.ui-icon-button:disabled{opacity:.4;cursor:not-allowed}.ui-icon-button--active-filter{color:var(--ui-herb);background:rgba(47,107,70,.1)}.ui-icon-button.section-chat-inline-trigger{width:36px;height:36px;padding:7px;border:1px solid var(--ui-herb-soft-border);border-radius:10px;background:var(--ui-herb-soft);color:var(--ui-herb)}.ui-icon-button.section-chat-inline-trigger:hover{background:var(--ui-herb-soft-strong)}.ui-icon-button.section-chat-inline-trigger.section-chat-inline-trigger--active,.ui-icon-button.section-chat-inline-trigger.section-chat-inline-trigger--active:hover{border:2px solid transparent;background:linear-gradient(var(--ui-terracotta-soft),var(--ui-terracotta-soft)) padding-box,linear-gradient(90deg,var(--ui-terracotta),var(--ui-herb)) border-box;color:var(--ui-herb)}@media (max-width:900px){.recipe-inline-edit-header-action{width:36px;height:36px;padding:0;border-radius:10px}.recipe-inline-edit-header-action__label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;word-break:break-all}}.recipe-chip-bar{display:flex;align-items:center;gap:6px;padding:var(--ui-space-3) var(--ui-space-4);border-bottom:1px solid var(--ui-border);width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}.recipe-chip-bar__chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0;flex:1 1}.recipe-chip-bar__empty{font-size:12px;color:var(--ui-muted)}.recipe-chip-bar__edit{width:32px;height:32px;padding:6px;margin-left:auto}.recipe-chip-bar .chip-overflow{font-size:12px;color:var(--ui-muted);border:none;background:transparent;cursor:pointer;padding:3px 6px}.filter-indicator-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--ui-space-2) var(--ui-space-4);font-size:13px;color:var(--ui-muted);border-bottom:1px solid var(--ui-border);background:var(--ui-surface)}.filter-indicator-bar button{border:none;background:transparent;color:var(--ui-accent-secondary);cursor:pointer;font-size:13px;font-family:inherit}.browse-indicator-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--ui-space-2) var(--ui-space-4);border-bottom:1px solid var(--ui-border);color:var(--ui-muted);font-size:14px}.vault-decorators{position:-webkit-sticky;position:sticky;top:56px;z-index:calc(var(--ui-z-sticky) - 1);background:var(--ui-surface);width:100%;max-width:100%;overflow:hidden}.recipe-detail-decorators{position:static}.recipe-inline-library-editor{margin-top:var(--ui-space-3);margin-bottom:var(--ui-space-5)}.variations-decorators{position:-webkit-sticky;position:sticky;top:56px;z-index:calc(var(--ui-z-sticky) - 1);background:var(--ui-surface);width:100%;max-width:100%;overflow:hidden}.browse-indicator-bar button{border:none;background:transparent;color:var(--ui-accent-secondary);cursor:pointer;font-family:inherit}.browse-popover-backdrop{position:fixed;inset:0;border:none;background:transparent;z-index:calc(var(--ui-z-overlay) - 1)}.browse-popover{position:fixed;top:72px;right:24px;width:min(320px,calc(100vw - 48px));z-index:var(--ui-z-overlay);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-surface);box-shadow:var(--ui-shadow-overlay);padding:var(--ui-space-3);display:flex;flex-direction:column;gap:var(--ui-space-2)}.browse-popover h3{margin:0 0 var(--ui-space-1);font-size:15px;color:var(--ui-muted)}.browse-popover__item{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:10px;padding:8px 10px;text-align:left;font:inherit;font-size:14px;color:var(--ui-text);cursor:pointer}.browse-popover__item.is-active{border-color:var(--ui-herb);color:var(--ui-herb);background:rgba(47,107,70,.08)}.browse-popover__item--discover{color:var(--ui-accent);font-weight:500}.browse-popover__divider{border:none;border-top:1px solid var(--ui-border);margin:4px 0;width:100%}.search-overlay{position:fixed;inset:0;z-index:var(--ui-z-overlay);display:flex;align-items:flex-start;justify-content:center}.search-overlay__backdrop{position:absolute;inset:0;background:var(--ui-overlay-backdrop)}.search-overlay__panel{position:relative;width:100%;height:100%;background:var(--ui-surface);display:flex;flex-direction:column;overflow-y:auto}.search-overlay__header{display:flex;align-items:center;justify-content:space-between;padding:var(--ui-space-4);border-bottom:1px solid var(--ui-border);flex-shrink:0}.search-overlay__header h2{margin:0;font-size:18px}.search-overlay__body{flex:1 1;padding:var(--ui-space-4);display:flex;flex-direction:column;gap:var(--ui-space-5);overflow-y:auto}.search-overlay__section h3{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-muted);margin:0 0 var(--ui-space-3)}.search-overlay__radio-group{display:flex;flex-direction:column;gap:var(--ui-space-2)}.search-overlay__radio-group label{display:inline-flex;align-items:center;gap:var(--ui-space-2);font-size:15px;cursor:pointer}.search-overlay__tag-chips{display:flex;flex-wrap:wrap;gap:8px}.chip--selected{background:var(--ui-herb);color:var(--ui-surface);border-color:var(--ui-herb)}.search-overlay__quick-create{display:flex;gap:var(--ui-space-2);margin-top:var(--ui-space-2)}.search-overlay__quick-create input{flex:1 1;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:8px 10px;font-size:14px;font-family:inherit}.search-overlay__footer{display:flex;align-items:center;justify-content:space-between;padding:var(--ui-space-4);border-top:1px solid var(--ui-border);flex-shrink:0}@media (min-width:640px){.search-overlay__panel{width:480px;max-height:80vh;height:auto;margin-top:72px;border-radius:var(--ui-radius-lg);box-shadow:0 20px 60px var(--ui-overlay-shadow)}}.share-icon-blocked-wrapper{position:relative;display:inline-flex}.share-icon-blocked{position:relative;opacity:.4}.share-icon-strikethrough{position:absolute;inset:0;pointer-events:none}.share-icon-strikethrough:before{content:"";position:absolute;top:22%;left:20%;width:80%;height:1.5px;background:var(--ui-muted);transform:rotate(-45deg);transform-origin:left center}.share-blocked-popover{position:absolute;top:calc(100% + var(--ui-space-2));right:0;width:min(260px,calc(100vw - 48px));border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-overlay);padding:var(--ui-space-3);z-index:var(--ui-z-overlay);display:flex;gap:var(--ui-space-2);align-items:flex-start}.share-blocked-popover__warning{flex-shrink:0;color:var(--ui-warning-text);width:16px;height:16px;margin-top:1px}.share-blocked-popover__message{margin:0;font-size:13px;line-height:1.4;color:var(--ui-muted)}.share-modal{position:fixed;inset:0;z-index:var(--ui-z-modal);display:flex;align-items:center;justify-content:center;padding:var(--ui-space-4)}.share-modal__backdrop{position:absolute;inset:0;border:none;background:var(--ui-overlay-backdrop)}.share-modal__panel{position:relative;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-surface);box-shadow:0 20px 60px var(--ui-overlay-shadow)}.share-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-3);padding:var(--ui-space-4);border-bottom:1px solid var(--ui-border)}.share-modal__header h2{margin:0;font-size:20px;color:var(--ui-text)}.share-modal__body{display:grid;grid-gap:var(--ui-space-3);gap:var(--ui-space-3);padding:var(--ui-space-4)}.share-modal__description{margin:0;font-size:14px;color:var(--ui-muted)}.share-modal__link-block{display:grid;grid-gap:var(--ui-space-3);gap:var(--ui-space-3)}.share-modal__actions{display:flex;gap:var(--ui-space-2);flex-wrap:wrap}.terms-update-modal{position:fixed;inset:0;z-index:var(--ui-z-modal);display:flex;align-items:center;justify-content:center;padding:var(--ui-space-4)}.terms-update-modal__backdrop{position:absolute;inset:0;z-index:0;background:var(--ui-overlay-backdrop)}.terms-update-modal__panel{position:relative;z-index:1;width:min(560px,calc(100vw - 32px));border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-surface);box-shadow:0 20px 60px var(--ui-overlay-shadow);padding:var(--ui-space-5);display:grid;grid-gap:var(--ui-space-3);gap:var(--ui-space-3)}.terms-update-modal__panel h2{margin:0;color:var(--ui-text)}.terms-update-modal__panel p{margin:0;font-size:15px}.terms-update-modal__checkbox{margin:0}.shared-cookbook-grid{list-style:none;margin:var(--ui-space-4) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--ui-space-3);gap:var(--ui-space-3)}.shared-cookbook-card{display:flex;flex-direction:column;gap:var(--ui-space-2);height:100%;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-surface);padding:var(--ui-space-4);color:var(--ui-text);text-decoration:none;transition:transform .15s ease}.shared-cookbook-card:hover{text-decoration:none;transform:translateY(-2px)}.shared-cookbook-card__title{margin:0;font-size:20px;color:var(--ui-text)}.shared-cookbook-card__desc{margin:0;font-size:14px;color:var(--ui-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.shared-cookbook-card__count{align-self:flex-start;margin-top:auto;border-radius:999px;border:1px solid var(--ui-herb-soft-border);background:var(--ui-herb-soft);color:var(--ui-herb);padding:4px 10px;font-size:12px;font-weight:600}.shared-recipe-list{list-style:none;margin:var(--ui-space-4) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--ui-space-3)}.shared-recipe-card{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);padding:var(--ui-space-4);display:grid;grid-gap:var(--ui-space-3);gap:var(--ui-space-3)}.shared-recipe-card__title{margin:0;font-size:20px;line-height:1.3}.shared-recipe-card__title a{color:var(--ui-text);text-decoration:none}.shared-recipe-card__title a:hover{text-decoration:underline}.shared-recipe-card__meta{display:flex;flex-wrap:wrap;gap:var(--ui-space-3);font-size:14px;color:var(--ui-muted)}.shared-recipe-card__actions{display:flex;align-items:center;gap:var(--ui-space-2);flex-wrap:wrap}.save-to-vault-btn{min-width:140px}.save-to-vault-btn--saved,.save-to-vault-btn--saved:hover:not(:disabled){background:var(--ui-herb)}.save-to-vault-btn--duplicate{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-muted)}.save-to-vault-btn--duplicate:hover:not(:disabled){background:var(--ui-surface)}.shared-recipe-page{max-width:760px}.public-recipe-header{display:flex;align-items:center;gap:var(--ui-space-2);margin-bottom:var(--ui-space-2);color:var(--ui-herb)}.public-recipe-header svg{width:24px;height:24px}.public-recipe-header__name{font-size:15px;font-weight:600;color:var(--ui-text)}.shared-recipe-page__header{margin-bottom:var(--ui-space-4)}.shared-recipe-page__kicker{margin:0 0 var(--ui-space-1);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ui-muted)}.shared-recipe-page__footer{margin-top:var(--ui-space-6);padding-top:var(--ui-space-3);border-top:1px solid var(--ui-border);font-size:13px;color:var(--ui-muted);text-align:center}.public-recipe-cta{margin-top:var(--ui-space-5);padding:var(--ui-space-4);border:1px solid var(--ui-herb-soft-border);border-radius:var(--ui-radius-md);background:var(--ui-herb-soft);display:flex;flex-wrap:wrap;gap:var(--ui-space-2);align-items:center}.public-recipe-cta__text{margin:0;font-size:14px;color:var(--ui-text)}.public-recipe-cta__link{font-size:14px;font-weight:600;color:var(--ui-herb);text-decoration:none}.public-recipe-cta__link:hover{text-decoration:underline}.public-recipe-not-found{margin-top:var(--ui-space-6)}.public-recipe-not-found__link{display:inline-block;margin-top:var(--ui-space-3)}.demo-page__header,.demo-recipe-section{margin-bottom:var(--ui-space-4)}.demo-chat-section{margin-top:var(--ui-space-4)}.demo-chat-section h2{margin-bottom:var(--ui-space-3)}.demo-chat-limit-banner{padding:var(--ui-space-4);border-radius:var(--ui-radius);background:var(--color-surface-alt,#f7f5f0);text-align:center;margin-top:var(--ui-space-3)}.demo-chat-limit-banner p{margin-bottom:var(--ui-space-3)}.demo-messages-remaining{font-size:var(--font-size-sm,.875rem);align-self:center}.chat-typing,.demo-messages-remaining{color:var(--color-text-secondary,#7a7067)}.chat-typing{font-style:italic}.recipe-edit-body{padding:var(--ui-space-4) 0;display:flex;flex-direction:column;gap:var(--ui-space-3)}.recipe-edit-group-title{margin:0 0 2px;font-size:22px;color:var(--ui-text)}.recipe-edit-section h2{font-size:18px;margin:0 0 var(--ui-space-3)}.recipe-edit-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:var(--ui-space-3);gap:var(--ui-space-3);margin-bottom:var(--ui-space-3)}.recipe-edit-row label{display:flex;flex-direction:column;gap:var(--ui-space-1);font-size:13px;color:var(--ui-muted)}.recipe-edit-row input,.recipe-edit-row textarea{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:8px 10px;font-size:15px;font-family:inherit}.recipe-edit-ingredient-row{grid-template-columns:70px 70px 1fr 1fr 36px;grid-gap:var(--ui-space-2)}.recipe-edit-equipment-row,.recipe-edit-ingredient-row{display:grid;gap:var(--ui-space-2);align-items:center;margin-bottom:var(--ui-space-2)}.recipe-edit-equipment-row{grid-template-columns:1fr 160px 1fr 36px;grid-gap:var(--ui-space-2)}.recipe-edit-equipment-row input,.recipe-edit-ingredient-row input{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:8px 10px;font-size:15px;font-family:inherit}.recipe-edit-step-row{display:grid;grid-template-columns:28px 1fr 36px;grid-gap:var(--ui-space-2);gap:var(--ui-space-2);align-items:start;margin-bottom:var(--ui-space-2)}.recipe-edit-step-row .step-number{font-size:14px;font-weight:600;color:var(--ui-muted);padding-top:10px;text-align:center}.recipe-edit-step-row textarea{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:8px 10px;font-size:15px;font-family:inherit;resize:vertical;min-height:60px}.recipe-edit-subsection{margin-bottom:var(--ui-space-4)}.recipe-edit-subsection h3{font-size:15px;margin:0 0 var(--ui-space-2)}.recipe-edit-subsection .section-name-input{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:8px 10px;font-size:15px;font-family:inherit;width:100%;margin-bottom:var(--ui-space-3)}.recipe-edit-divider{border:none;border-top:1px solid var(--ui-border);margin:var(--ui-space-4) 0}.recipe-edit-actions{display:flex;gap:var(--ui-space-3);justify-content:flex-end;padding-top:var(--ui-space-4)}.recipe-block-edit-toggle{width:32px;height:32px;padding:6px}.recipe-meta--inline{padding:var(--ui-space-4) 0}.recipe-inline-edit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--ui-space-2)}.recipe-inline-edit-list--steps{margin-top:var(--ui-space-2);margin-bottom:var(--ui-space-3)}.recipe-inline-edit-item{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);padding:var(--ui-space-2)}.recipe-inline-edit-item--dragging{opacity:.5}.recipe-inline-edit-item__summary{display:grid;grid-template-columns:28px minmax(0,1fr) 32px;grid-gap:var(--ui-space-2);gap:var(--ui-space-2);align-items:center}.recipe-inline-edit-item__text{min-width:0;overflow-wrap:break-word;word-break:break-word}.recipe-inline-edit-item__text .step-number{color:var(--ui-muted);font-size:13px;font-weight:600;margin-right:var(--ui-space-2)}.recipe-drag-handle{width:28px;height:28px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);color:var(--ui-muted);font-size:17px;line-height:1;cursor:-webkit-grab;cursor:grab;touch-action:none}.recipe-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.recipe-inline-editor-pane{margin-top:var(--ui-space-2);border-top:1px dashed var(--ui-border);padding-top:var(--ui-space-2);display:flex;flex-direction:column;gap:var(--ui-space-2)}.recipe-inline-editor-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--ui-space-2);gap:var(--ui-space-2)}.recipe-inline-editor-grid input,.recipe-inline-editor-grid textarea{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:8px 10px;font-size:15px;font-family:inherit}.recipe-inline-editor-grid textarea{resize:vertical}.recipe-inline-editor-grid--equipment{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-inline-editor-grid--ingredient{grid-template-columns:80px 90px minmax(0,1fr) minmax(0,1fr)}.recipe-inline-editor-actions{display:flex;align-items:center;gap:var(--ui-space-2);justify-content:flex-end}.recipe-inline-action-delete{order:1;margin-right:auto}.recipe-inline-action-cancel{order:2}.recipe-inline-action-save{order:3}.recipe-inline-instruction-section{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);padding:var(--ui-space-3);margin-bottom:var(--ui-space-3)}.remove-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--ui-radius-md);background:transparent;color:var(--ui-error);cursor:pointer;font-size:18px}.remove-button:hover{background:rgba(185,28,28,.08)}.add-button{border:1px dashed var(--ui-border);background:transparent;border-radius:var(--ui-radius-md);padding:8px 14px;font-size:14px;color:var(--ui-muted);cursor:pointer;font-family:inherit;width:100%;text-align:center}.add-button:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.labels-manager-list{display:flex;flex-direction:column;gap:10px}@media (max-width:760px){.recipe-edit-equipment-row,.recipe-inline-editor-grid--equipment,.recipe-inline-editor-grid--ingredient{grid-template-columns:1fr}}.admin-layout{max-width:1200px;margin:0 auto;padding:var(--ui-space-6) 24px;display:grid;grid-template-columns:260px minmax(0,1fr);grid-gap:var(--ui-space-5);gap:var(--ui-space-5)}.admin-sidebar{position:-webkit-sticky;position:sticky;top:84px;align-self:start;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-surface);padding:var(--ui-space-4);box-shadow:0 10px 30px rgba(0,0,0,.06)}.admin-sidebar__header{margin-bottom:var(--ui-space-4)}.admin-sidebar__eyebrow{margin:0 0 var(--ui-space-1);font-size:12px;line-height:1;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ui-muted)}.admin-sidebar__title{margin:0;font-size:20px;line-height:1.2;color:var(--ui-text)}.admin-sidebar__meta{margin:var(--ui-space-2) 0 0;font-size:13px;color:var(--ui-muted);word-break:break-word}.admin-sidebar__nav{display:flex;flex-direction:column;gap:var(--ui-space-2)}.admin-sidebar__link{display:block;border:1px solid var(--ui-border);border-radius:10px;padding:10px 12px;color:var(--ui-text);font-weight:600;text-decoration:none;background:var(--ui-surface-muted)}.admin-sidebar__link:hover{text-decoration:none;border-color:var(--ui-border-strong)}.admin-sidebar__link--active{border-color:var(--ui-herb);background:var(--ui-herb-soft-strong);color:var(--ui-herb)}.admin-sidebar__footer{margin-top:var(--ui-space-4)}.admin-sidebar__back-link{width:100%;text-decoration:none}.admin-content{min-width:0}.admin-page-stack{display:flex;flex-direction:column;gap:var(--ui-space-5)}.admin-card{padding:var(--ui-space-4)}.admin-page-header{display:flex;gap:var(--ui-space-4);align-items:flex-start;justify-content:space-between;margin-bottom:var(--ui-space-4)}.admin-page-header__actions{display:flex;gap:var(--ui-space-2);flex-wrap:wrap;justify-content:flex-end}.admin-kicker{margin:0 0 var(--ui-space-1);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ui-muted)}.admin-section-title{margin:0;color:var(--ui-text)}.admin-muted-copy{margin:var(--ui-space-2) 0 0;font-size:14px;color:var(--ui-muted)}.admin-filter{display:grid;grid-gap:var(--ui-space-1);gap:var(--ui-space-1);min-width:160px}.admin-filter span{font-size:13px;color:var(--ui-muted)}.admin-filter select{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);color:var(--ui-text);padding:10px 12px;font:inherit}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table td,.admin-table th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--ui-border);vertical-align:middle}.admin-table th{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ui-muted)}.admin-table__empty{color:var(--ui-muted);text-align:center;padding:18px 12px}.admin-row-actions{display:flex;gap:var(--ui-space-2);flex-wrap:wrap}.admin-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--ui-border);padding:4px 8px;font-size:12px;font-weight:600;line-height:1;text-transform:lowercase}.admin-badge--pending{color:var(--ui-warning-text);background:var(--ui-warning-bg);border-color:var(--ui-warning-border)}.admin-badge--active{color:var(--ui-herb);background:var(--ui-herb-soft);border-color:var(--ui-herb-soft-border)}.admin-badge--suspended{color:var(--ui-error);background:var(--ui-error-soft);border-color:var(--ui-error-soft-border)}.admin-prompts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:var(--ui-space-4);gap:var(--ui-space-4)}.admin-prompt-card{border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface-muted);padding:var(--ui-space-4);display:grid;grid-gap:var(--ui-space-3);gap:var(--ui-space-3)}.admin-prompt-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--ui-space-3)}.admin-prompt-card__skill{margin:0;font-weight:600;color:var(--ui-text)}.admin-prompt-card__meta{margin:4px 0 0;font-size:13px;color:var(--ui-muted)}.admin-prompt-card__actions,.admin-version-strip{display:flex;gap:var(--ui-space-2);flex-wrap:wrap}.admin-version-strip--full{margin:0 0 var(--ui-space-4)}.admin-version-pill{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--ui-border);padding:6px 10px;font-size:12px;font-weight:600;color:var(--ui-text);text-decoration:none;background:var(--ui-surface)}.admin-version-pill:hover{text-decoration:none;border-color:var(--ui-border-strong)}.admin-version-pill--active{border-color:var(--ui-herb);color:var(--ui-herb);background:var(--ui-herb-soft-strong)}.admin-version-pill--selected{box-shadow:inset 0 0 0 2px var(--ui-focus-ring-strong)}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--ui-space-4);gap:var(--ui-space-4)}.admin-field{display:grid;grid-gap:var(--ui-space-1);gap:var(--ui-space-1);min-width:0}.admin-field--full{grid-column:1/-1}.admin-field span{font-size:13px;color:var(--ui-muted)}.admin-field textarea{width:100%;min-width:0;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);color:var(--ui-text);padding:10px 12px;font:14px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical}.admin-field textarea:focus,.admin-filter select:focus{outline:none;border-color:var(--ui-accent-secondary);box-shadow:0 0 0 3px var(--ui-focus-ring-soft)}.admin-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:var(--ui-space-2);flex-wrap:wrap}.admin-form-error{grid-column:1/-1}.admin-success{margin:0 0 var(--ui-space-4);color:var(--ui-success-text);font-size:14px;font-weight:600}.admin-prompt-panels{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-gap:var(--ui-space-4);gap:var(--ui-space-4)}.admin-prompt-panel{border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface-muted);padding:var(--ui-space-4);min-width:0}.admin-preview-panel__header h3{margin:0;color:var(--ui-text)}.admin-preview-panel__header .admin-muted-copy{margin-bottom:var(--ui-space-3)}.admin-preview-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--ui-space-3);gap:var(--ui-space-3);margin-bottom:var(--ui-space-4)}.admin-preview-controls>button{grid-column:1/-1;justify-self:start}.admin-preview-output{display:grid;grid-gap:var(--ui-space-3);gap:var(--ui-space-3)}.admin-callout{border:1px solid var(--ui-callout-warm-border);border-left:3px solid var(--ui-herb);background:var(--ui-callout-warm);border-radius:8px;padding:10px 12px}.admin-callout p{margin:0;font-size:14px}.admin-callout__title{font-weight:600;color:var(--ui-muted);margin-bottom:6px}.admin-note-list{margin:0;padding-left:18px;color:var(--ui-text)}.admin-note-list li{font-size:14px;margin:0 0 4px}.admin-preview-block{border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);overflow:hidden}.admin-preview-block__label{margin:0;padding:10px 12px;border-bottom:1px solid var(--ui-border);background:var(--ui-surface-warm);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ui-muted)}.admin-preview-block pre{margin:0;padding:12px;white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.45;overflow-x:auto}@media (max-width:980px){.admin-layout{grid-template-columns:1fr;gap:var(--ui-space-4)}.admin-sidebar{position:static}.admin-prompt-panels{grid-template-columns:1fr}}@media (max-width:640px){.admin-layout{padding:var(--ui-space-5) 16px}.admin-page-header{flex-direction:column}.admin-form-grid,.admin-preview-controls{grid-template-columns:1fr}.admin-row-actions{flex-direction:column}.admin-row-actions .secondary-button{width:100%}}.recipe-options-layer{position:fixed;inset:0;z-index:var(--ui-z-modal)}.recipe-options-backdrop{position:fixed;inset:0;border:0;padding:0;background:transparent}@keyframes recipe-options-pop-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.recipe-options-sheet{position:fixed;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-overlay);padding:12px 0 16px;overflow-y:auto;overscroll-behavior:contain;animation:recipe-options-pop-in .18s ease;transform-origin:top right}.recipe-options-sheet__title{margin:0;padding:0 20px 10px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ui-muted)}.recipe-options-item{display:flex;align-items:center;gap:14px;width:100%;border:none;background:transparent;color:var(--ui-text);padding:14px 20px;text-align:left;font-size:16px;cursor:pointer;transition:background .12s ease}.recipe-options-item:hover{background:var(--ui-surface-hover)}.recipe-options-item:disabled{opacity:.45;cursor:default}.recipe-options-item:disabled:hover{background:transparent}.recipe-options-item__icon{width:22px;height:22px;color:var(--ui-muted);flex-shrink:0}.recipe-options-item__text{flex:1 1}.recipe-options-item__sub{display:block;margin-top:2px;font-size:13px;line-height:1.4;color:var(--ui-muted)}.recipe-options-divider{height:1px;background:var(--ui-border);margin:6px 0}.recipe-plan-sheet{padding:0 20px 20px;animation:recipe-options-pop-in .18s ease}.recipe-plan-sheet__back{display:inline-flex;align-items:center;gap:var(--ui-space-1);border:none;background:transparent;color:var(--ui-muted);font-size:14px;cursor:pointer;padding:4px 0 16px}.recipe-plan-sheet__heading{margin:0 0 16px;font-size:16px;font-weight:600}.recipe-plan-sheet__label{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--ui-text)}.recipe-plan-sheet__note{margin:0;font-size:14px;color:var(--ui-muted)}.recipe-plan-sheet__empty{margin-bottom:20px}.recipe-plan-sheet__empty .recipe-plan-sheet__note,.recipe-plan-sheet__field{margin-bottom:16px}.recipe-plan-sheet__full-button{width:100%}.recipe-plan-sheet__list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.recipe-plan-row{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid var(--ui-border);border-radius:10px;background:transparent;color:var(--ui-text);padding:12px 14px;text-align:left;font-size:15px;cursor:pointer;transition:border-color .12s ease}.recipe-plan-row--selected,.recipe-plan-row:hover{border-color:var(--ui-herb)}.recipe-plan-row--selected{background:var(--ui-herb-soft-strong)}.recipe-plan-row__name{font-weight:500}.recipe-plan-row__meta{margin-top:2px;font-size:13px;color:var(--ui-muted)}.recipe-plan-slot-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.recipe-plan-slot{border:1px solid var(--ui-border);border-radius:999px;background:transparent;color:var(--ui-text);padding:7px 14px;font-size:14px;cursor:pointer;text-transform:capitalize;transition:border-color .12s ease,background .12s ease}.recipe-plan-slot--selected{border-color:var(--ui-herb);background:var(--ui-herb-soft-strong);font-weight:600}.recipe-plan-date-list{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;max-height:220px;overflow-y:auto}.recipe-plan-date-row{width:100%;border:1px solid var(--ui-border);border-radius:8px;background:transparent;color:var(--ui-text);padding:10px 14px;text-align:left;font-size:14px;cursor:pointer;transition:border-color .12s ease,background .12s ease}.recipe-plan-date-row--selected,.recipe-plan-date-row:hover{border-color:var(--ui-herb);background:var(--ui-herb-soft-strong)}.recipe-plan-sheet__error{margin:0 0 12px;color:var(--ui-error);font-size:14px}.recipe-plan-success{text-align:center;padding:24px 0 8px}.recipe-plan-success__icon{display:inline-flex;align-items:center;justify-content:center;color:var(--ui-herb);margin-bottom:8px}.recipe-plan-success__icon .ui-svg-icon{width:28px;height:28px}.recipe-plan-success__message{margin:0 0 4px;font-weight:600;font-size:16px}.recipe-plan-success__sub{margin:0;font-size:14px;color:var(--ui-muted)}.recipe-plan-success__actions{display:flex;gap:10px;padding:16px 0 0}.recipe-plan-success__action{flex:1 1;text-align:center}.recipe-plan-success__action.secondary-button:hover{text-decoration:none}.beta-inline-label{display:inline-block;margin-left:6px;vertical-align:middle;padding:1px 5px;border-radius:999px;background:var(--ui-accent);color:var(--ui-surface);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}@media (prefers-reduced-motion:reduce){.recipe-options-backdrop,.recipe-options-sheet,.recipe-plan-sheet{animation:none}}.meal-plans-page{max-width:720px;margin:0 auto;padding:var(--ui-space-5) var(--ui-space-4)}.beta-callout{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:var(--ui-callout-warm);border:1px solid var(--ui-callout-warm-border);border-radius:8px;margin-bottom:var(--ui-space-5);font-size:14px;color:var(--ui-muted)}.beta-callout__badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:var(--ui-terracotta);color:var(--ui-surface);white-space:nowrap;margin-top:1px;flex-shrink:0}.beta-callout__text{margin:0;font-size:14px}.meal-plan-list{gap:var(--ui-space-3);margin-bottom:var(--ui-space-6)}.meal-plan-card,.meal-plan-list{display:flex;flex-direction:column}.meal-plan-card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:14px 16px;gap:var(--ui-space-2)}.meal-plan-card__row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ui-space-3)}.meal-plan-card:hover{border-color:var(--ui-terracotta)}.meal-plan-card__link{flex:1 1;display:block;min-width:0;color:inherit;text-decoration:none}.meal-plan-card__link:hover{text-decoration:none}.meal-plan-card__name{font-weight:600;font-size:16px;margin:0 0 4px;color:var(--ui-text)}.meal-plan-card__meta{margin:0;font-size:13px;color:var(--ui-muted)}.meal-plan-card__actions{display:flex;align-items:center;flex-shrink:0}.meal-plan-card__delete-trigger,.meal-plan-entry__remove-trigger{padding:0;font-size:13px;font-weight:600;line-height:1.4;text-decoration:none;white-space:nowrap}.meal-plan-card__delete-trigger:hover,.meal-plan-entry__remove-trigger:hover{text-decoration:underline}.meal-plan-card__confirm{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:var(--ui-space-3);border-top:1px solid var(--ui-border);padding-top:var(--ui-space-2)}.meal-plan-card__confirm-text{margin:0;font-size:14px;color:var(--ui-muted)}.meal-plan-card__confirm-actions{display:flex;align-items:center;gap:var(--ui-space-2);flex-wrap:wrap}.meal-plan-day{margin-bottom:var(--ui-space-4)}.meal-plan-day__header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-2);padding:6px 0;border-bottom:1px solid var(--ui-border);margin-bottom:var(--ui-space-2)}.meal-plan-day__header{font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:var(--ui-muted)}.meal-plan-day__start-cooking{font-size:13px;padding:6px 12px;white-space:nowrap}.meal-plan-day__entries{display:flex;flex-direction:column;gap:6px}.meal-plan-entry{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:var(--ui-space-2);padding:10px 12px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:8px}.meal-plan-entry--confirming{gap:var(--ui-space-3)}.meal-plan-entry__main{display:flex;align-items:baseline;gap:var(--ui-space-3);flex:1 1;min-width:0}.meal-plan-entry__slot-control{position:relative;flex-shrink:0}.meal-plan-entry__slot-button{border:1px solid transparent;border-radius:999px;background:var(--ui-terracotta-tint);color:var(--ui-terracotta);cursor:pointer;font:inherit;font-size:12px;font-weight:600;letter-spacing:.04em;line-height:1;padding:7px 11px;text-transform:uppercase;transition:border-color .15s ease,background-color .15s ease;white-space:nowrap}.meal-plan-entry__slot-button--open,.meal-plan-entry__slot-button:hover{border-color:var(--ui-terracotta-tint-border);background:var(--ui-terracotta-tint-hover)}.meal-plan-entry__slot-button:disabled{cursor:default;opacity:.7}.meal-plan-entry__slot-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:var(--ui-z-overlay);min-width:140px;display:grid;grid-gap:4px;gap:4px;padding:8px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;box-shadow:var(--ui-shadow-overlay)}.meal-plan-entry__slot-option{border:none;border-radius:8px;background:transparent;color:var(--ui-text);cursor:pointer;font:inherit;font-size:14px;line-height:1.3;padding:8px 10px;text-align:left}.meal-plan-entry__slot-option:hover{background:var(--ui-surface-hover)}.meal-plan-entry__slot-option--active{background:var(--ui-callout-warm);color:var(--ui-terracotta);font-weight:600}.meal-plan-entry__slot-option:disabled{cursor:default;opacity:.7}.meal-plan-entry__title{flex:1 1;font-size:15px;font-weight:500;margin:0;min-width:0}.meal-plan-entry__actions{display:flex;align-items:center;flex-shrink:0}.meal-plan-entry__confirm{flex-basis:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ui-space-3);border-top:1px solid var(--ui-border);padding-top:var(--ui-space-2)}.meal-plan-entry__confirm-text{margin:0;font-size:13px;color:var(--ui-muted)}.meal-plan-entry__confirm-actions{display:flex;align-items:center;gap:var(--ui-space-2);flex-wrap:wrap}.meal-plan-day__empty{margin:0;font-size:14px;color:var(--ui-muted);font-style:italic;padding:6px 0}.meal-plan-day__error{margin:0 0 var(--ui-space-2)}.create-plan-form{display:flex;flex-direction:column;gap:var(--ui-space-4)}.create-plan-form__title{margin:0;font-size:18px}.create-plan-form__range-label{font-size:14px;font-weight:500;margin:0 0 var(--ui-space-2)}.create-plan-form__range-options{display:flex;flex-wrap:wrap;gap:var(--ui-space-2)}.create-plan-form__actions{display:flex;gap:10px;flex-wrap:wrap}.range-option{padding:8px 16px;border:1px solid var(--ui-border);border-radius:999px;background:transparent;color:var(--ui-text);font-size:14px;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.range-option:hover{border-color:var(--ui-border-strong)}.range-option--selected{border-color:var(--ui-terracotta);background:var(--ui-callout-warm);font-weight:600}.meal-plan-header-actions{display:flex;gap:10px;flex-wrap:wrap}.meal-plan-header-action{font-size:13px;padding:6px 12px;white-space:nowrap}.meal-plan-detail-header{overflow:visible}.meal-plans-back-link{font-size:14px}.meal-plans-empty-state{padding:var(--ui-space-4)}.meal-plans-error{color:var(--ui-error);font-size:14px;margin:0 0 var(--ui-space-4)}@media (max-width:640px){.meal-plan-detail-header{flex-wrap:wrap;row-gap:var(--ui-space-2)}.meal-plan-detail-header .ui-page-header__title{margin-right:0}.meal-plan-detail-header .ui-page-header__end{width:100%;margin-left:0}.meal-plan-header-actions{width:100%}.meal-plan-header-action{flex:1 1 180px;justify-content:center}.meal-plan-day__header-row{flex-direction:column;align-items:flex-start}.meal-plan-card__confirm,.meal-plan-entry__confirm{flex-direction:column}.meal-plan-entry__main{flex-direction:column;align-items:flex-start;gap:4px}}.prep-day-selector{display:flex;flex-wrap:wrap;gap:var(--ui-space-2);margin-bottom:var(--ui-space-4)}.prep-day-btn{border:1px solid var(--ui-border);border-radius:999px;background:var(--ui-surface);color:var(--ui-text);cursor:pointer;font:inherit;font-size:14px;line-height:1.4;padding:8px 14px}.prep-day-btn:hover{border-color:var(--ui-border-strong)}.prep-day-btn:focus-visible{outline:2px solid var(--ui-accent-secondary);outline-offset:2px}.prep-day-btn--selected{border-color:var(--ui-herb);background:var(--ui-herb-soft-strong);color:var(--ui-herb);font-weight:600}.prep-generate-bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ui-space-2);padding-top:var(--ui-space-2);margin-bottom:var(--ui-space-4)}.prep-generate-status{margin:0;font-size:14px;color:var(--ui-muted)}.prep-savings-banner{background:var(--ui-callout-warm);border:1px solid var(--ui-callout-warm-border);border-radius:var(--ui-radius-md);padding:var(--ui-space-3) var(--ui-space-4);margin-bottom:var(--ui-space-4);font-size:15px;font-weight:600}.prep-section{margin-bottom:var(--ui-space-5)}.prep-section__title{margin:0 0 var(--ui-space-2);padding-bottom:var(--ui-space-2);border-bottom:1px solid var(--ui-border);color:var(--ui-muted);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.prep-checklist{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);overflow:hidden}.prep-checklist-item{border:0;border-bottom:1px solid var(--ui-border);background:transparent}.prep-checklist-item:last-child{border-bottom:0}.prep-checklist-item__icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--ui-muted);margin-top:1px;flex-shrink:0}.prep-checklist-item__toggle{width:100%;display:flex;align-items:flex-start;gap:var(--ui-space-2);border:0;background:transparent;color:var(--ui-text);cursor:pointer;font:inherit;line-height:1.45;padding:var(--ui-space-3);text-align:left}.prep-checklist-item__toggle:hover:not(:disabled){background:var(--ui-surface-hover)}.prep-checklist-item__toggle:focus-visible{outline:2px solid var(--ui-accent-secondary);outline-offset:-2px}.prep-checklist-item__toggle:disabled{cursor:default;opacity:.7}.prep-checklist-item__summary{flex:1 1;min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:var(--ui-space-3)}.prep-checklist-item__label{flex:1 1;font-size:15px;font-weight:600}.prep-checklist-item__amount{flex-shrink:0;font-size:14px;color:var(--ui-muted)}.prep-checklist-item__details{padding:0 var(--ui-space-3) var(--ui-space-3) 42px;display:grid;grid-gap:var(--ui-space-3);gap:var(--ui-space-3)}.prep-checklist-item__method{display:grid;grid-gap:6px;gap:6px}.prep-checklist-item__method-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ui-space-3)}.prep-checklist-item__method-label{font-size:14px;font-weight:600;color:var(--ui-text)}.prep-checklist-item__method-amount{font-size:14px;color:var(--ui-muted)}.prep-checklist-item__recipe-list{margin:0;padding-left:18px;display:grid;grid-gap:6px;gap:6px}.prep-checklist-item__recipe-list li{display:grid;grid-gap:2px;gap:2px}.prep-checklist-item__recipe-detail,.prep-checklist-item__recipe-title{font-size:13px;color:var(--ui-muted)}.prep-checklist-item__recipe-title{font-weight:600}.prep-checklist-item--checked{color:var(--ui-muted)}.prep-checklist-item--checked .prep-checklist-item__icon{color:var(--ui-herb)}.prep-checklist-item--checked .prep-checklist-item__amount,.prep-checklist-item--checked .prep-checklist-item__label{text-decoration:line-through}.callout{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface-muted);padding:var(--ui-space-3) var(--ui-space-4)}.callout--caution{border-color:var(--ui-error);background:var(--ui-error-soft);color:var(--ui-text)}.callout--tip{border-color:var(--ui-herb-soft-border);background:var(--ui-herb-soft);color:var(--ui-text)}.callout__list{margin:0;padding-left:20px;display:grid;grid-gap:var(--ui-space-1);gap:var(--ui-space-1)}.callout__list li{font-size:14px;line-height:1.45}@media (max-width:640px){.prep-checklist-item__method-row,.prep-checklist-item__summary{flex-direction:column;align-items:flex-start;gap:4px}.prep-checklist-item__details{padding-left:var(--ui-space-3)}}.cooking-event-header .ui-page-header__end{overflow:visible}.cooking-event-header__actions{position:relative}.cooking-recipe-menu{position:fixed;z-index:var(--ui-z-overlay);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-overlay);padding:var(--ui-space-2)}.cooking-recipe-menu__title{margin:0;padding:6px 10px 8px;color:var(--ui-muted);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.cooking-recipe-menu__list{display:grid;grid-gap:4px;gap:4px}.cooking-recipe-menu__link{display:grid;grid-gap:2px;gap:2px;padding:10px;border-radius:10px;color:var(--ui-text);text-decoration:none}.cooking-recipe-menu__link:hover{background:var(--ui-surface-hover)}.cooking-recipe-menu__slot{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ui-terracotta)}.cooking-recipe-menu__recipe{font-size:14px;font-weight:600}.cooking-section{margin-bottom:var(--ui-space-5)}.cooking-section__header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ui-space-3)}.cooking-section__title{margin:0 0 var(--ui-space-2);padding-bottom:var(--ui-space-2);border-bottom:1px solid var(--ui-border);color:var(--ui-muted);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.cooking-recipe-panel-list{display:grid;grid-gap:var(--ui-space-3);gap:var(--ui-space-3)}.cooking-recipe-panel{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);overflow:hidden}.cooking-recipe-panel__toggle{width:100%;border:0;background:transparent;color:var(--ui-text);cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ui-space-3);padding:var(--ui-space-3) var(--ui-space-4);text-align:left}.cooking-recipe-panel__toggle:hover{background:var(--ui-surface-hover)}.cooking-recipe-panel__toggle:focus-visible{outline:2px solid var(--ui-accent-secondary);outline-offset:-2px}.cooking-recipe-panel__headline{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;min-width:0;line-height:1.35}.cooking-recipe-panel__slot{letter-spacing:.05em;text-transform:uppercase}.cooking-recipe-panel__separator,.cooking-recipe-panel__slot{color:var(--ui-terracotta);font-size:12px;font-weight:700;flex-shrink:0}.cooking-recipe-panel__title{min-width:0;color:var(--ui-text);font-size:14px;font-weight:600;text-transform:none;letter-spacing:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cooking-recipe-panel__indicator{color:var(--ui-muted);font-size:20px;line-height:1}.cooking-recipe-panel__body{display:grid;grid-gap:var(--ui-space-2);gap:var(--ui-space-2);padding:0 var(--ui-space-4) var(--ui-space-4)}.cooking-recipe-panel__section{border-top:1px solid var(--ui-border);padding-top:var(--ui-space-2)}.cooking-recipe-panel__subheading{margin:0 0 var(--ui-space-2);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ui-muted)}.cooking-recipe-panel__list{margin:0;padding-left:18px;display:grid;grid-gap:6px;gap:6px;color:var(--ui-muted);font-size:14px}.cooking-equipment-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:var(--ui-space-2);gap:var(--ui-space-2)}.cooking-equipment-chip{border:1px solid var(--ui-border);border-radius:10px;padding:8px 10px;display:grid;grid-gap:2px;gap:2px;font-size:14px;background:var(--ui-surface);color:var(--ui-text)}.cooking-equipment-chip__detail{font-size:13px;color:var(--ui-muted)}.cooking-ingredient-category-list{display:grid;grid-gap:var(--ui-space-3);gap:var(--ui-space-3)}.cooking-ingredient-category{margin-bottom:0}.cooking-ingredient-category__title{margin:0 0 var(--ui-space-2);color:var(--ui-terracotta);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.cooking-steps-banner{position:-webkit-sticky;position:sticky;top:calc(56px + var(--ui-space-2));z-index:90;margin-bottom:var(--ui-space-2);padding-bottom:var(--ui-space-2);background:var(--ui-bg);border-bottom:1px solid var(--ui-border)}.cooking-steps-banner__row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ui-space-2)}.cooking-steps-banner__slot{color:var(--ui-terracotta);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.cooking-section__title--inline{margin:0;padding:0;border:0;flex-shrink:0}.cooking-step-filters{display:none}.cooking-step-filter{border:1px solid var(--ui-border);border-radius:999px;background:var(--ui-surface);color:var(--ui-text);cursor:pointer;font:inherit;font-size:13px;padding:8px 14px;min-height:40px;max-width:240px;display:inline-flex;align-items:center;justify-content:flex-start;text-align:left;line-height:1.25;white-space:nowrap}.cooking-step-filter:hover{border-color:var(--ui-border-strong)}.cooking-step-filter--selected{border-color:var(--ui-terracotta);background:var(--ui-callout-warm);font-weight:600}.cooking-step-filter__label{display:block;overflow:hidden;text-overflow:ellipsis}.cooking-step-picker{margin-left:auto;position:relative;display:flex;align-items:center;gap:var(--ui-space-1);max-width:min(100%,420px)}.cooking-step-picker .cooking-step-filter{flex:1 1;min-width:0}.cooking-step-picker__trigger{width:36px;height:36px;flex-shrink:0}.cooking-step-picker__menu{position:absolute;top:calc(100% + 8px);right:0;width:min(420px,100vw - 32px);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-overlay);padding:var(--ui-space-2);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--ui-space-2);gap:var(--ui-space-2);z-index:var(--ui-z-overlay)}.cooking-step-picker__option{border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);color:var(--ui-text);cursor:pointer;display:grid;grid-gap:2px;gap:2px;padding:10px 12px;text-align:left}.cooking-step-picker__option:hover{border-color:var(--ui-border-strong)}.cooking-step-picker__option--selected{border-color:var(--ui-terracotta);background:var(--ui-callout-warm)}.cooking-step-picker__option-slot{color:var(--ui-terracotta);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.cooking-step-picker__option-title{font-size:14px;font-weight:600;line-height:1.3}.cooking-step-list{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);overflow:hidden}.cooking-step{display:flex;align-items:flex-start;gap:var(--ui-space-3);padding:var(--ui-space-3) var(--ui-space-4);border-bottom:1px solid var(--ui-border)}.cooking-step:last-child{border-bottom:0}.cooking-step__checkbox{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--ui-herb)}.cooking-step__content{flex:1 1;min-width:0;display:grid;grid-gap:4px;gap:4px}.cooking-step__header{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.cooking-step--checked .cooking-step__label{text-decoration:line-through;color:var(--ui-muted)}.cooking-step__label{display:block;font-weight:500}.cooking-step__section{border:1px solid var(--ui-border);border-radius:999px;padding:2px 8px;color:var(--ui-muted);font-size:12px;line-height:1.3}.cooking-step__detail{display:block;font-size:14px;color:var(--ui-muted)}.cooking-step__timing{align-self:flex-start;flex-shrink:0;border-radius:999px;padding:2px 8px;background:var(--ui-herb-soft-strong);color:var(--ui-herb);font-size:12px;font-weight:600;line-height:1.3}.cooking-complete-bar{margin-top:var(--ui-space-5);padding-top:var(--ui-space-4);border-top:1px solid var(--ui-border);display:flex;align-items:center;flex-wrap:wrap;gap:var(--ui-space-2)}.cooking-complete-confirm{display:flex;flex-direction:column;gap:var(--ui-space-3);width:100%}.cooking-complete-confirm__text{margin:0;font-size:14px;color:var(--ui-muted)}.cooking-complete-confirm__actions{display:flex;align-items:center;gap:var(--ui-space-2);flex-wrap:wrap}@media (max-width:640px){.cooking-recipe-panel__toggle{align-items:center}.cooking-equipment-list{grid-template-columns:1fr}.cooking-steps-banner__row{align-items:flex-start}.cooking-step-filters{display:none}.cooking-step-picker{width:100%;margin-left:0;max-width:none}.cooking-step-picker__menu{width:100%;grid-template-columns:1fr}.cooking-step{padding:var(--ui-space-3)}}.feedback-page{max-width:720px;margin:0 auto;padding:24px 16px}.feedback-messages{display:flex;flex-direction:column;gap:var(--ui-space-2);padding-bottom:84px;max-height:min(56vh,480px);overflow-y:auto}.feedback-message{max-width:75%;padding:10px 14px;border-radius:12px;font-size:15px;line-height:1.4}.feedback-message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.feedback-message--user{align-self:flex-end;background:var(--ui-herb);color:var(--ui-surface)}.feedback-message--assistant{align-self:flex-start;background:var(--ui-surface);border:1px solid var(--ui-border)}.feedback-message__time{display:block;margin-top:4px;font-size:12px;color:var(--ui-muted)}.feedback-message--user .feedback-message__time{text-align:right;color:var(--ui-herb-soft)}.feedback-message--assistant .feedback-message__time{text-align:left}.feedback-input-bar{position:-webkit-sticky;position:sticky;bottom:0;background:var(--ui-surface);border-top:1px solid var(--ui-border);padding:12px 16px;display:flex;align-items:flex-end;gap:var(--ui-space-2)}.feedback-input-bar__textarea{flex:1 1;resize:none}.feedback-variation-card{margin-top:var(--ui-space-3);margin-bottom:var(--ui-space-3);background:var(--ui-callout-warm);border:1px solid var(--ui-callout-warm-border);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:var(--ui-space-2)}.feedback-variation-card__text{margin:0;font-size:14px}.grocery-list-page{max-width:720px;margin:0 auto;padding:24px 16px}.grocery-back-link{font-size:14px}.grocery-category{margin-bottom:28px}.grocery-category__header{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ui-muted);padding-bottom:6px;margin-bottom:var(--ui-space-2)}.grocery-category__header,.grocery-item{border-bottom:1px solid var(--ui-border)}.grocery-item{display:flex;align-items:flex-start;gap:var(--ui-space-3);padding:10px 0;cursor:pointer}.grocery-item:last-child{border-bottom:none}.grocery-item__checkbox{width:20px;height:20px;margin-top:1px;flex-shrink:0;accent-color:var(--ui-herb);cursor:pointer}.grocery-item__label{flex:1 1;font-size:15px;line-height:1.4}.grocery-item__label--checked{text-decoration:line-through;color:var(--ui-muted)}.grocery-item__qty{font-size:14px;color:var(--ui-muted);white-space:nowrap;margin-top:1px}.grocery-item__notes{font-size:13px;color:var(--ui-muted);font-style:italic;display:block;margin-top:2px}.grocery-export-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-3);padding:var(--ui-space-4) 0 4px;border-top:1px solid var(--ui-border);margin-top:var(--ui-space-5);flex-wrap:wrap}.grocery-export-bar__summary{font-size:14px;color:var(--ui-muted);margin:0}.grocery-export-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ui-accent);color:var(--ui-surface);padding:10px 20px;border-radius:8px;font-size:14px;z-index:1000;pointer-events:none;animation:grocery-toast-in .2s ease}@keyframes grocery-toast-in{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.landing{color:var(--ui-text)}.landing-container{max-width:960px;margin:0 auto;padding:0 var(--ui-space-5)}.landing-container--narrow{max-width:720px}.landing-hero{text-align:center;padding:80px var(--ui-space-5) 64px}.landing-hero__headline{font-size:44px;font-weight:600;line-height:1.15;margin:0 auto var(--ui-space-4);max-width:700px}.landing-hero__sub{font-size:20px;line-height:1.5;color:var(--ui-muted);max-width:600px;margin:0 auto var(--ui-space-6)}.landing-hero__ctas{display:flex;gap:var(--ui-space-3);justify-content:center;flex-wrap:wrap}.landing-btn{display:inline-block;padding:14px 32px;border-radius:999px;font-size:16px;font-weight:600;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.landing-btn:hover{transform:translateY(-1px)}.landing-btn--primary{background:var(--ui-accent);color:var(--ui-surface)}.landing-btn--primary:hover{box-shadow:0 8px 24px rgba(0,0,0,.15);color:var(--ui-surface)}.landing-btn--secondary{background:transparent;border:2px solid var(--ui-border-strong);color:var(--ui-text)}.landing-btn--secondary:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.landing-section{padding:64px 0}.landing-section--alt{background:var(--ui-bg)}.landing-section__heading{font-size:32px;font-weight:600;line-height:1.25;margin:0 0 var(--ui-space-4)}.landing-section__heading--center{text-align:center}.landing-section p{font-size:18px;line-height:1.6;color:var(--ui-muted);margin:0 0 var(--ui-space-4)}.landing-section p:last-child{margin-bottom:0}.landing-section strong{color:var(--ui-text)}.landing-steps{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--ui-space-6);gap:var(--ui-space-6);margin-top:var(--ui-space-6)}.landing-step{text-align:center}.landing-step__number{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--ui-accent);color:var(--ui-surface);font-size:18px;font-weight:600;margin-bottom:var(--ui-space-3)}.landing-step__image{width:100%;height:auto;border-radius:var(--ui-radius-lg);border:1px solid var(--ui-border);margin-bottom:var(--ui-space-3)}.landing-step h3{font-size:20px;font-weight:600;color:var(--ui-text);margin:0 0 var(--ui-space-2)}.landing-step p{font-size:15px;line-height:1.5;color:var(--ui-muted);margin:0}.landing-feature{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--ui-space-6);gap:var(--ui-space-6);align-items:center}.landing-feature--reverse{direction:rtl}.landing-feature--reverse>*{direction:ltr}.landing-feature__text{display:flex;flex-direction:column;gap:0}.landing-feature__image{width:100%;height:auto;border-radius:var(--ui-radius-lg);border:1px solid var(--ui-border);box-shadow:0 12px 28px rgba(0,0,0,.06)}.landing-pricing{display:flex;gap:var(--ui-space-5);justify-content:center;margin:var(--ui-space-6) auto;max-width:700px}.landing-pricing__card{flex:1 1;background:var(--ui-surface);border:2px solid var(--ui-border);border-radius:var(--ui-radius-lg);padding:var(--ui-space-6) var(--ui-space-5);text-align:center;position:relative;display:flex;flex-direction:column}.landing-pricing__card h3{font-size:18px;font-weight:700;color:var(--ui-text);margin:0 0 var(--ui-space-2)}.landing-pricing__card--featured{border-color:var(--ui-accent)}.landing-pricing__card--premium{border-color:var(--ui-muted);opacity:.85}.landing-pricing__badge{position:absolute;top:calc(-1 * var(--ui-space-3));left:50%;transform:translateX(-50%);background:var(--ui-muted);color:var(--ui-surface);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:var(--ui-space-1) var(--ui-space-3);border-radius:var(--ui-radius-full,999px);white-space:nowrap}.landing-pricing__price{font-size:40px;font-weight:700;color:var(--ui-text)}.landing-pricing__price span{font-size:16px;font-weight:400;color:var(--ui-muted)}.landing-pricing__note{font-size:14px;font-weight:600;color:var(--ui-accent-secondary);margin:var(--ui-space-2) 0 0}.landing-pricing__card .landing-pricing__features{list-style:none;padding:0;margin:var(--ui-space-4) 0 0;text-align:left;flex:1 1}.landing-pricing__features{list-style:none;padding:0;margin:0 auto var(--ui-space-5);max-width:400px;text-align:left}.landing-pricing__features li{padding:6px 0;font-size:15px;color:var(--ui-text)}.landing-pricing__features li:before{content:"\2713";margin-right:var(--ui-space-2);color:var(--ui-herb);font-weight:600}.landing-pricing__disclaimer{font-size:14px;color:var(--ui-muted);margin-top:var(--ui-space-3)}.landing-footer-trust{display:flex;flex-wrap:wrap;gap:var(--ui-space-3);justify-content:center;align-items:center;padding:var(--ui-space-6) var(--ui-space-5);font-weight:600;font-size:15px}.landing-footer-trust__dot{color:var(--ui-muted)}@media (max-width:768px){.landing-hero{padding:48px var(--ui-space-4) 40px}.landing-hero__headline{font-size:32px}.landing-hero__sub{font-size:17px}.landing-section{padding:48px 0}.landing-section__heading{font-size:26px}.landing-steps{max-width:400px;margin:var(--ui-space-5) auto 0}.landing-feature,.landing-steps{grid-template-columns:1fr;gap:var(--ui-space-5)}.landing-feature--reverse{direction:ltr}.landing-feature__media{order:-1}.landing-pricing{flex-direction:column;max-width:320px}}.help-center{max-width:800px;margin:0 auto;padding:var(--ui-space-6) var(--ui-space-5)}.help-center h1{font-size:32px;font-weight:600;margin:0 0 var(--ui-space-2)}.help-center__subtitle{font-size:18px;color:var(--ui-muted);margin:0 0 var(--ui-space-6)}.help-article-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}.help-article-link{display:flex;align-items:center;justify-content:space-between;padding:var(--ui-space-4) 0;border-bottom:1px solid var(--ui-border);text-decoration:none;color:var(--ui-text);font-size:17px;transition:color .15s ease}.help-article-link:first-child{border-top:1px solid var(--ui-border)}.help-article-link:hover{color:var(--ui-accent-secondary)}.help-article-link__arrow{color:var(--ui-muted);font-size:14px;flex-shrink:0;margin-left:var(--ui-space-3)}.help-article{max-width:720px;margin:0 auto;padding:var(--ui-space-5) var(--ui-space-5) var(--ui-space-6)}.help-article__breadcrumb{font-size:14px;color:var(--ui-muted);margin-bottom:var(--ui-space-5)}.help-article__breadcrumb a{color:var(--ui-accent-secondary);text-decoration:none}.help-article h1{font-size:32px;font-weight:600;margin:0 0 var(--ui-space-5)}.help-article h3{font-size:20px;font-weight:600;color:var(--ui-text);margin:var(--ui-space-5) 0 var(--ui-space-3)}.help-article p{font-size:17px;line-height:1.6;color:var(--ui-muted);margin:0 0 var(--ui-space-4)}.help-article strong{color:var(--ui-text)}.help-article ol,.help-article ul{font-size:17px;line-height:1.6;color:var(--ui-muted);padding-left:var(--ui-space-5);margin:0 0 var(--ui-space-4)}.help-article li{margin-bottom:var(--ui-space-2)}.help-article__footer{border-top:1px solid var(--ui-border);margin-top:var(--ui-space-6);padding-top:var(--ui-space-4);font-size:14px;color:var(--ui-muted)}.help-article__footer a{color:var(--ui-accent-secondary);text-decoration:none}.subscribe-page{max-width:560px;margin:0 auto;text-align:center}.subscribe-page h1{margin-bottom:var(--ui-space-2)}.subscribe-page__sub{color:var(--ui-muted);margin-bottom:var(--ui-space-6)}.subscribe-plans{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--ui-space-4);gap:var(--ui-space-4);margin-bottom:var(--ui-space-5)}.subscribe-plan-card{position:relative;background:var(--ui-surface);border:2px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:var(--ui-space-5);cursor:pointer;text-align:center;transition:border-color .15s ease,box-shadow .15s ease}.subscribe-plan-card:hover{border-color:var(--ui-border-strong)}.subscribe-plan-card--selected{border-color:var(--ui-herb);box-shadow:0 0 0 1px var(--ui-herb)}.subscribe-plan-card h3{font-size:18px;font-weight:600;margin:0 0 var(--ui-space-2)}.subscribe-plan-card__price{font-size:32px;font-weight:700;color:var(--ui-text)}.subscribe-plan-card__price span{font-size:16px;font-weight:400;color:var(--ui-muted)}.subscribe-plan-card__note{font-size:13px;color:var(--ui-muted);margin-top:var(--ui-space-2)}.subscribe-plan-card__badge{position:absolute;top:-10px;right:var(--ui-space-3);background:var(--ui-herb);color:white;font-size:12px;font-weight:600;padding:2px 10px;border-radius:10px}.subscribe-features{list-style:none;padding:0;margin:0 0 var(--ui-space-5);text-align:left}.subscribe-features li{padding:var(--ui-space-2) 0;padding-left:var(--ui-space-5);position:relative;color:var(--ui-text);font-size:15px}.subscribe-features li:before{content:"\2713";position:absolute;left:0;color:var(--ui-herb);font-weight:600}.subscribe-cta{width:100%;margin-top:var(--ui-space-3)}@media (max-width:480px){.subscribe-plans{grid-template-columns:1fr}}.account-subscription{margin-bottom:var(--ui-space-5)}.account-subscription__row{display:flex;justify-content:space-between;align-items:center;padding:var(--ui-space-3) 0;border-bottom:1px solid var(--ui-border)}.account-subscription__label{font-weight:500;color:var(--ui-muted)}.account-subscription__status{font-weight:600}.account-subscription__status--active{color:var(--ui-herb)}.account-subscription__status--past_due{color:var(--ui-warning-text)}.account-subscription__status--canceled{color:var(--ui-error)}.account-subscription__status--free{color:var(--ui-muted)}