*{box-sizing:border-box}body{color:#3d3020;-webkit-font-smoothing:antialiased;background:#faf7f2;margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5}h1,h2,h3{color:#2d2013;margin:0 0 8px}#root{min-height:100vh}.app{max-width:1100px;margin:0 auto;padding:0 20px 80px}h1,h2,h3,.wfd-title{font-family:Playfair Display,Georgia,serif}.app-header{align-items:center;gap:16px;margin-bottom:16px;padding:12px 0;display:flex}.header-brand{color:#2d2013;white-space:nowrap;margin:0;font-family:Playfair Display,Georgia,serif;font-size:1.5rem}.header-nav{background:#f7f1e8;border:1px solid #eadfce;border-radius:12px;gap:4px;margin:0 auto;padding:3px;display:flex}.header-icons{align-items:center;gap:6px;margin-left:auto;display:flex}.header-icon-btn{cursor:pointer;background:0 0;border:1px solid #e8ddd0;border-radius:10px;padding:5px 9px;font-size:1.1rem;transition:background .15s;position:relative}.header-icon-btn:hover{background:#f5efe6}.header-icon-badge{color:#fff;background:#c44d4d;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:.6rem;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.header-icon-badge-done{background:#5b8c3e}.header-nav-tab{color:#755d45;cursor:pointer;text-align:center;white-space:nowrap;background:0 0;border:none;border-radius:9px;flex:1;padding:7px 12px;font-size:.85rem;font-weight:600;transition:background .18s,color .18s,box-shadow .18s;position:relative}.header-nav-tab:hover{color:#3d3020;background:#fffc}.header-nav-tab-active{color:#2d2013;background:#fff;box-shadow:0 2px 10px #2d201314}.header-nav-badge{color:#fff;background:#c44d4d;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:6px;padding:0 3px;font-size:.6rem;font-weight:700;display:inline-flex}.header-nav-badge-done{background:#5b8c3e}.bottom-tab-bar{padding:6px 0;padding-bottom:max(6px, env(safe-area-inset-bottom));z-index:100;background:#fff;border-top:1px solid #e8ddd0;justify-content:space-around;display:none;position:fixed;bottom:0;left:0;right:0}.bottom-tab{cursor:pointer;color:#8b7355;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:4px 12px;transition:color .15s;display:flex;position:relative}.bottom-tab-active{color:#d4763c}.bottom-tab-icon{font-size:1.3rem}.bottom-tab-label{font-size:.65rem;font-weight:600}.bottom-tab-badge{color:#fff;background:#c44d4d;border-radius:999px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 2px;font-size:.55rem;font-weight:700;display:flex;position:absolute;top:0;right:4px}.bottom-tab-badge-done{background:#5b8c3e}.header-menu-btn{cursor:pointer;color:#5a4a38;background:0 0;border:1px solid #d4c4a8;border-radius:8px;padding:6px 12px;font-size:1.4rem;display:none}.header-menu-dropdown{display:none}.header-menu-tabs{flex-direction:column;gap:8px;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;padding:10px 18px;font-size:.95rem;font-weight:600;transition:transform .1s,box-shadow .2s}.btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001f}.btn:active{transform:translateY(0)}.btn-primary{color:#fff;background:#d4763c}.btn-secondary{color:#5a4a38;background:#e8ddd0}.btn-danger{color:#fff;background:#c44d4d}.btn-chat{color:#fff;background:linear-gradient(135deg,#6b5ce7,#8b5cf6);font-size:1rem}.btn-favorite{color:#8b7355;background:#f0e6d3;border:1px solid #d4c4a8}.btn-favorite:hover,.btn-favorite-active{color:#c44d4d;background:#fce4ec;border-color:#e8a0a0}.category-nav{scrollbar-width:thin;gap:8px;padding:12px 0;display:flex;overflow-x:auto}.category-btn{cursor:pointer;white-space:nowrap;color:#5a4a38;background:#fff;border:2px solid #e8ddd0;border-radius:20px;padding:8px 16px;font-size:.9rem;transition:all .2s}.category-btn:hover{background:#fdf6f0;border-color:#d4763c}.category-btn.active{color:#fff;background:#d4763c;border-color:#d4763c}.category-icon{margin-right:4px}.category-btn-fav.active{color:#fff;background:#c44d4d;border-color:#c44d4d}.add-recipe-tabs{border-bottom:2px solid #f0e6d3;gap:0;margin-bottom:20px;display:flex}.add-recipe-error{color:#c44d4d}.add-recipe-hint{color:#8b7355}.add-recipe-link{color:#d4763c}.admin-muted-label{color:#888}.add-recipe-tab{color:#8b7355;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:10px 8px;font-size:.95rem;font-weight:600;transition:all .2s}.add-recipe-tab:hover{color:#d4763c}.add-recipe-tab.active{color:#d4763c;border-bottom-color:#d4763c}.recipe-detail-section-header{justify-content:space-between;align-items:center;display:flex}.recipe-detail-section-header h3{margin:16px 0 8px}.btn-edit-inline{color:#8b7355;cursor:pointer;background:0 0;border:1px solid #d4c4a8;border-radius:6px;padding:4px 12px;font-size:.8rem;transition:all .15s}.btn-edit-inline:hover{color:#5a4a38;background:#f0e6d3}.btn-sub-inline{color:#3d6b24;border-color:#c4e0b0}.btn-sub-inline:hover{color:#3d6b24;background:#f4faf0}.url-import-input{color:#2d2013;box-sizing:border-box;background:#fdf9f4;border:2px solid #d4c4a8;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-size:1rem;transition:border-color .2s}.url-import-input:focus{border-color:#2a6496}.url-import-url-display{color:#5a4a38;word-break:break-all;background:#f0e6d3;border-radius:8px;margin-bottom:16px;padding:8px 12px;font-size:.85rem}.games-placeholder-modal{text-align:center;background:#fff;border-radius:16px;width:90%;max-width:400px;padding:32px;position:relative}.games-placeholder-icon{margin-bottom:12px;font-size:3rem;display:block}.games-placeholder-content h2{color:#2d2013;margin:0 0 8px}.games-placeholder-content p{color:#5a4a38;margin:0 0 16px;font-size:.9rem}.games-placeholder-content ul{text-align:left;padding:0;list-style:none}.games-placeholder-content li{color:#3d3020;border-bottom:1px solid #f0e6d3;padding:8px 0;font-size:.9rem}.games-placeholder-content li:last-child{border-bottom:none}.btn-cart{cursor:pointer;background:0 0;border:1px solid #d4c4a8;border-radius:8px;padding:6px 10px;font-size:1.3rem;line-height:1;transition:transform .1s,box-shadow .2s;position:relative}.btn-cart:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001f}.cart-badge{color:#fff;background:#c44d4d;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.cart-badge-done{background:#5b8c3e}.btn-add-to-list{color:#fff;background:linear-gradient(135deg,#5b8c3e,#6fa04a)}.standalone-shopping-list{z-index:300;background:#fff;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.standalone-shopping-list-modal{border-radius:16px;max-width:700px;max-height:85vh;margin:auto;inset:40px;box-shadow:0 8px 40px #0003}.shopping-list-header{border-bottom:2px solid #f0e6d3;flex-shrink:0;align-items:center;gap:12px;padding:20px 24px 12px;display:flex}.shopping-list-header h2{flex:1;margin:0}.shopping-list-count{color:#8b7355;font-size:.9rem;font-weight:600}.shopping-list-loading{color:#8b7355;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.shopping-list-empty-state{text-align:center;color:#8b7355;padding:40px 24px}.shopping-list-empty-state p:first-child{color:#5a4a38;margin:0 0 8px;font-size:1.1rem;font-weight:600}.shopping-list-empty-hint{margin:0 0 24px;font-size:.9rem}.shopping-list-empty-state .shopping-list-add{border:none;justify-content:center;padding:0}.shopping-list-add{border-bottom:1px solid #f0e6d3;flex-wrap:wrap;flex-shrink:0;gap:8px;padding:12px 24px;display:flex}.shopping-list-add-name{border:1px solid #d4c4a8;border-radius:8px;outline:none;flex:1;min-width:0;padding:10px 12px;font-size:1rem}.shopping-list-add-name:focus{border-color:#d4763c}.shopping-list-add-amount{text-align:center;border:1px solid #d4c4a8;border-radius:8px;outline:none;width:70px;padding:10px 8px;font-size:1rem}.shopping-list-add-amount:focus{border-color:#d4763c}.shopping-list-add-btn{flex-shrink:0;padding:10px 16px}.shopping-list-body{-webkit-overflow-scrolling:touch;flex:1;padding:0 24px 24px;overflow-y:auto}.shopping-list-section{margin-top:16px}.shopping-list-section-header{justify-content:space-between;align-items:center;display:flex}.shopping-list-section-title{color:#8b7355;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;font-size:.95rem;font-weight:700}.shopping-list-recent-title{color:#d4763c}.shopping-list-recent-title span{color:#a09080;text-transform:none;letter-spacing:0;margin-left:4px;font-size:.72em;font-weight:600}.shopping-list-build-checked-section{border-top:1px solid #f0e6d3;margin-top:20px;padding-top:8px}.shopping-list-item{cursor:pointer;border-bottom:1px solid #f5f0e8;align-items:center;gap:10px;min-height:44px;padding:10px 4px;display:flex}.shopping-list-item input[type=checkbox]{accent-color:#5b8c3e;flex-shrink:0;width:20px;height:20px}.shopping-list-item-checked{opacity:.4}.shopping-list-item-checked .shopping-list-item-name{text-decoration:line-through}.shopping-list-item-name{color:#2d2013;flex:1}.shopping-list-item-note-display{color:#8b7355;margin-left:6px;font-size:.8rem;font-style:italic}.shopping-list-edit-note{color:#8b7355;border:1px solid #d4c4a8;border-radius:6px;outline:none;width:100px;padding:6px 8px;font-size:.85rem;font-style:italic}.shopping-list-edit-note:focus{border-color:#d4763c}.shopping-list-item-edit{color:#c4b8a8;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:1rem}.shopping-list-item-edit:hover{color:#d4763c}.shopping-list-edit-name{border:1px solid #d4763c;border-radius:6px;outline:none;flex:1;padding:6px 8px;font-size:.95rem}.shopping-list-edit-amount{text-align:center;border:1px solid #d4763c;border-radius:6px;outline:none;width:70px;padding:6px 8px;font-size:.95rem}.shopping-list-edit-save{color:#5b8c3e;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:1.1rem}.shopping-list-item-delete{color:#c4b8a8;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:1.2rem}.shopping-list-item-delete:hover{color:#c44d4d}.btn-got-the-goods{color:#fff;background:linear-gradient(135deg,#5b8c3e,#6fa04a);font-weight:700}.btn-ready-to-shop{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e8943c,#d4763c);border:none;border-radius:12px;width:100%;padding:14px 20px;font-size:1.05rem;font-weight:700;transition:transform .15s,box-shadow .15s}.btn-ready-to-shop:hover{transform:translateY(-1px);box-shadow:0 4px 14px #d4763c59}.btn-got-everything{color:#fff;cursor:pointer;background:linear-gradient(135deg,#5b8c3e,#6fa04a);border:none;border-radius:12px;width:100%;padding:14px 20px;font-size:1.05rem;font-weight:700;transition:transform .15s,box-shadow .15s}.btn-got-everything:hover{transform:translateY(-1px);box-shadow:0 4px 14px #5b8c3e59}.shopping-list-mode-link{color:#a09080;cursor:pointer;text-align:center;background:0 0;border:none;width:100%;padding:8px 0 0;font-size:.82rem}.shopping-list-mode-link:hover{color:#c8873a}.shopping-list-shop-banner{background:#f0ebe3;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin:0 16px 12px;padding:12px 14px;display:flex}.shopping-list-shop-banner-text{color:#6b5c4a;font-size:.82rem;line-height:1.4}.btn-share{color:#5a3e28;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d4a76a;border-radius:8px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:background .15s}.btn-share:hover{background:#f5e6d0}.shopping-list-item-shop{cursor:pointer;max-height:60px;padding:10px 16px;transition:max-height .3s,opacity .3s,padding .3s;overflow:hidden}.shopping-list-item-shop:active{background:#f0e6d3}.shopping-list-item-animating-out{opacity:0!important;max-height:0!important;padding-top:0!important;padding-bottom:0!important}.shopping-list-confetti{pointer-events:none;z-index:9999;position:fixed;inset:0;overflow:hidden}.confetti-piece{border-radius:2px;width:8px;height:8px;animation:1.4s ease-out forwards confettiFall;position:absolute}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(120vh)rotate(720deg)scale(.5)}}.shopping-list-checked-toggle{color:#8b7355;cursor:pointer;-webkit-user-select:none;user-select:none;border-top:1px solid #e8ddd0;align-items:center;gap:6px;padding:10px 16px;font-size:.85rem;display:flex}.shopping-list-checked-toggle:active{background:#f5efe6}.shopping-list-checked-arrow{font-size:.7rem;transition:transform .2s;display:inline-block}.shopping-list-checked-arrow.expanded{transform:rotate(90deg)}.shopping-list-checked-section{padding:0 8px 8px}.shopping-list-checked-section .shopping-list-section-title{color:#b0a090;margin:8px 8px 2px;font-size:.75rem}.shopping-list-checked-item{color:#b0a090;cursor:pointer;align-items:center;gap:10px;padding:6px 16px;font-size:.9rem;text-decoration:line-through;display:flex}.shopping-list-checked-item:active{background:#f5efe6}.shopping-list-checked-item .check-icon{color:#5b8c3e;flex-shrink:0;font-size:.85rem}.shopping-list-progress{text-align:center;width:100%}.shopping-list-progress-bar{background:#e8ddd0;border-radius:3px;height:6px;margin-bottom:6px;overflow:hidden}.shopping-list-progress-fill{background:linear-gradient(90deg,#5b8c3e,#6fa04a);border-radius:3px;height:100%;transition:width .3s}.shopping-list-progress-text{color:#8b7355;font-size:.8rem}.shopping-list-actions{border-top:1px solid #f0e6d3;flex-shrink:0;justify-content:flex-end;gap:10px;padding:12px 24px;display:flex}@media (width<=600px){.shopping-list-header{padding:16px 16px 10px}.shopping-list-add{padding:10px 16px}.shopping-list-body{padding:0 16px 16px}.shopping-list-actions{padding:10px 16px;padding-bottom:max(10px, env(safe-area-inset-bottom))}.shopping-list-add-amount{width:55px}}.manual-text-input{color:#2d2013;box-sizing:border-box;resize:vertical;background:#fdf9f4;border:2px solid #d4c4a8;border-radius:10px;outline:none;width:100%;min-height:180px;padding:12px 14px;font-family:inherit;font-size:.95rem;transition:border-color .2s}.manual-text-input:focus{border-color:#d4763c}.something-new-start{text-align:center;padding:20px 0}.something-new-go{padding:14px 32px;font-size:1.1rem}.something-new{gap:16px;min-height:400px;max-height:55vh;display:flex}.something-new-chat{flex-direction:column;flex:1;min-width:0;display:flex}.something-new-messages{flex-direction:column;flex:1;gap:8px;padding:8px 0;display:flex;overflow-y:auto}.something-new-suggestions{flex-direction:column;flex-shrink:0;gap:10px;width:280px;display:flex;overflow-y:auto}.suggestion-card-cta{color:#d4763c;margin-top:8px;font-size:.85rem;font-weight:600}@media (width<=600px){.something-new{flex-direction:column;max-height:65vh}.something-new-suggestions{width:100%;max-height:200px}.modal-content-wide{max-width:none}}.library-toolbar{justify-content:flex-end;padding:12px 0 0;display:flex}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding:20px 0;display:grid}.empty-state{text-align:center;color:#8b7355;grid-column:1/-1;padding:60px 20px;font-size:1.1rem}.recipe-card{cursor:pointer;background:#fff;border:1px solid #ede4d8;border-radius:12px;padding:20px;transition:transform .2s,box-shadow .2s}.recipe-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #00000014}.recipe-card-photo{object-fit:cover;width:100%;height:190px;margin:0 0 14px;display:block}.recipe-card-title{color:#2d2013;align-items:center;gap:6px;margin:0 0 8px;font-size:1.2rem;display:flex}.recipe-card-fav{color:#c44d4d;flex-shrink:0;font-size:.9rem}.recipe-card-desc{color:#6b5c4a;margin:0 0 12px;font-size:.9rem;line-height:1.4}.recipe-card-meta{color:#8b7355;gap:16px;margin-bottom:12px;font-size:.85rem;display:flex}.recipe-card-categories{flex-wrap:wrap;gap:6px;display:flex}.recipe-card-footer{border-top:1px solid #f0e6d3;margin-top:12px;padding-top:10px}.recipe-card-cta{color:#d4763c;font-size:.85rem;font-weight:600}.category-badge{color:#6b5c4a;background:#f5ede3;border-radius:12px;padding:3px 10px;font-size:.8rem;display:inline-block}.modal-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:85vh;padding:32px;position:relative;overflow-y:auto}.modal-content-wide{max-width:900px}.modal-close{cursor:pointer;color:#8b7355;background:0 0;border:none;font-size:1.8rem;line-height:1;position:absolute;top:12px;right:16px}.modal-header-share{cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:1.3rem;line-height:1;transition:background .15s,transform .1s;position:absolute;top:14px;right:52px}.modal-header-share:hover{background:#f4f2ee;transform:scale(1.08)}.modal-header-share:active{transform:scale(.96)}.share-modal{max-width:440px;padding:28px 24px}.share-modal-title{color:#3d2f1f;margin:0 0 20px;font-size:1.2rem}.share-modal-loading,.share-modal-error{color:#8b7355;text-align:center;padding:16px 0;font-size:.9rem}.share-modal-error{color:#c44d4d}.share-modal-primary,.share-modal-secondary{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:.95rem;font-weight:500;transition:all .15s;display:flex}.share-modal-primary{color:#fff;background:#c96f3e;border:1px solid #c96f3e;margin-bottom:14px}.share-modal-primary:hover:not(:disabled){background:#b25f33;border-color:#b25f33}.share-modal-primary:disabled{opacity:.5;cursor:default}.share-modal-url{color:#6b5a43;word-break:break-all;background:#faf5ec;border:1px solid #e8ddc7;border-radius:6px;margin-bottom:8px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}.share-modal-secondary{color:#5a4a38;background:#f4f2ee;border:1px solid #d8d2c4;margin-bottom:20px}.share-modal-secondary:hover:not(:disabled){background:#ebe7df}.share-modal-icon{font-size:1rem}.share-modal-social-label{color:#8b7355;margin-bottom:8px;font-size:.78rem}.share-modal-social-row{flex-wrap:wrap;gap:8px;display:flex}.share-modal-social{text-align:center;color:#5a4a38;background:#fff;border:1px solid #d8d2c4;border-radius:8px;flex:auto;min-width:100px;padding:8px 12px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .15s}.share-modal-social:hover{background:#f4f2ee;border-color:#c4b99a}.public-recipe{max-width:760px;margin:0 auto;padding:24px 20px 80px}.public-recipe-header{border-bottom:1px solid #e8ddc7;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:18px;display:flex}.public-recipe-header-actions{gap:8px;display:flex}.public-recipe-brand{color:#5a4a38;font-family:Georgia,serif;font-size:1.1rem;font-weight:600}.public-recipe-title{color:#2d1f0f;margin:0 0 8px;font-family:Georgia,serif;font-size:2rem}.public-recipe-desc{color:#5a4a38;margin:0 0 20px;font-size:1rem;line-height:1.5}.public-recipe-meta{color:#8b7355;flex-wrap:wrap;gap:20px;margin-bottom:28px;font-size:.9rem;display:flex}.public-recipe-image{object-fit:cover;border-radius:12px;width:100%;max-height:360px;margin-bottom:28px}.public-recipe-section-heading{color:#3d2f1f;margin:28px 0 12px;font-family:Georgia,serif;font-size:1.2rem}.public-recipe-ingredients{margin:0 0 8px;padding:0;list-style:none}.public-recipe-ingredients li{color:#3d2f1f;border-bottom:1px solid #f4ecde;padding:8px 0}.public-recipe-ingredients li:last-child{border-bottom:none}.public-recipe-ingredient-amount{color:#8b7355;margin-right:6px}.public-recipe-instructions{color:#3d2f1f;white-space:pre-wrap;font-size:1rem;line-height:1.65}.public-recipe-cta{color:#fff;cursor:pointer;background:#c96f3e;border:none;border-radius:10px;margin-top:32px;padding:14px 28px;font-size:1rem;font-weight:500;text-decoration:none;display:inline-block}.public-recipe-cta:hover{background:#b25f33}.public-recipe-footer{text-align:center;color:#8b7355;border-top:1px solid #e8ddc7;margin-top:60px;padding-top:20px;font-size:.8rem}.public-recipe-missing{text-align:center;color:#5a4a38;max-width:500px;margin:80px auto}.recipe-detail-desc{color:#6b5c4a;margin-bottom:16px;line-height:1.5}.recipe-detail-meta{color:#8b7355;gap:16px;margin-bottom:16px;font-size:.9rem;display:flex}.serving-scaler{align-items:center;gap:6px;display:inline-flex}.serving-scaler-label{margin-right:2px}.serving-scaler-btn{color:#5a4a38;cursor:pointer;background:#f0e6d3;border:1px solid #d4c4a8;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;padding:0;font-size:1rem;font-weight:700;line-height:1;transition:all .15s;display:flex}.serving-scaler-btn:hover:not(:disabled){color:#fff;background:#d4763c;border-color:#d4763c}.serving-scaler-btn:disabled{opacity:.35;cursor:default}.serving-scaler-value{text-align:center;min-width:24px;font-weight:700}.serving-scaled{color:#d4763c}.serving-scaler-reset{color:#8b7355;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:.75rem;text-decoration:underline}.serving-scaler-reset:hover{color:#d4763c}.ingredient-amount-scaled{background:#fff3e6;border-radius:3px;padding:0 3px}.recipe-detail-categories{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.recipe-ingredients{color:#3d3020;padding-left:20px;line-height:1.8}.ingredient-amount-label{color:#d4763c;margin-right:6px;font-weight:600}.sub-mode-banner{color:#3d6b24;background:#f4faf0;border:1px solid #c4e0b0;border-radius:8px;margin-bottom:8px;padding:10px 14px;font-size:.9rem;font-weight:600}.recipe-ingredients-sub-mode{background:#fcfef9;border:2px solid #c4e0b0;border-radius:10px;padding:8px}.recipe-ingredients-sub-mode li{list-style:none}.ingredient-selectable{cursor:pointer;border-radius:8px;margin:0 -10px;padding:6px 10px;transition:background .15s}.ingredient-selectable:hover{background:#fdf6f0}.ingredient-selected{background:#fff5ee;border:1px solid #e8ddd0}.ingredient-loading{color:#8b7355;margin-left:8px;font-size:.8rem;font-style:italic}.ingredient-substituted{flex-direction:column;gap:2px;display:flex}.ingredient-original{color:#b8a898;font-size:.85rem;text-decoration:line-through}.ingredient-replacement{color:#5b8c3e;font-weight:600}.ingredient-undo{color:#8b7355;cursor:pointer;background:0 0;border:none;margin-left:8px;font-size:.75rem;text-decoration:underline}.ingredient-undo:hover{color:#c44d4d}.sub-alternatives{flex-direction:column;gap:6px;margin-top:8px;display:flex}.sub-no-alternatives{color:#8b7355;margin:0;font-size:.85rem;font-style:italic}.sub-alternative-btn{cursor:pointer;text-align:left;background:#f4faf0;border:1px solid #d4e8c2;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:6px;padding:8px 12px;font-size:.88rem;transition:all .15s;display:flex}.sub-alternative-btn:hover{background:#eaf5e0;border-color:#5b8c3e;transform:translateY(-1px)}.sub-alt-amount{color:#5b8c3e;font-weight:700}.sub-alt-name{color:#2d2013}.sub-alt-note{color:#8b7355;width:100%;font-size:.78rem;font-style:italic}.recipe-instructions{color:#3d3020;line-height:1.6}.recipe-instructions-list{color:#3d3020;margin:8px 0;padding-left:24px;line-height:1.8}.recipe-instructions-list li{margin-bottom:8px}.recipe-detail-actions{border-top:1px solid #ede4d8;flex-wrap:wrap;gap:10px;margin-top:24px;padding-top:16px;display:flex}.recipe-detail-secondary-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.recipe-form-modal{max-width:550px}.recipe-form-modal form{flex-direction:column;gap:14px;display:flex}.recipe-form-modal label{color:#5a4a38;flex-direction:column;gap:4px;font-size:.9rem;font-weight:600;display:flex}.recipe-form-modal input,.recipe-form-modal textarea{border:1px solid #ddd3c5;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:.95rem}.recipe-form-modal input:focus,.recipe-form-modal textarea:focus{border-color:#d4763c;outline:none;box-shadow:0 0 0 3px #d4763c26}.form-row{gap:14px;display:flex}.form-row label{flex:1}fieldset{border:1px solid #ede4d8;border-radius:8px;padding:12px}legend{color:#5a4a38;font-size:.9rem;font-weight:600}.category-checkboxes{flex-wrap:wrap;gap:8px;display:flex}.checkbox-label{cursor:pointer;background:#f9f4ee;border-radius:6px;align-items:center;padding:4px 8px;flex-direction:row!important;gap:6px!important;font-weight:400!important}.form-actions{justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.form-error{color:#a73524;background:#fff5f2;border:1px solid #efb4a8;border-radius:8px;margin:0;padding:10px 12px;font-size:.9rem;font-weight:600}.ingredients-fieldset{padding:12px}.ingredient-rows{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.ingredient-row{align-items:center;gap:6px;display:flex}.ingredient-order-btns{flex-direction:column;gap:2px;display:flex}.ingredient-order-btns button{cursor:pointer;color:#8b7355;background:#f9f4ee;border:1px solid #ddd3c5;border-radius:3px;width:22px;height:18px;padding:0;font-size:.7rem;line-height:1}.ingredient-order-btns button:disabled{opacity:.3;cursor:default}.ingredient-amount{flex-shrink:0;width:90px}.ingredient-name{flex:1}.ingredient-remove{color:#8b7355;cursor:pointer;background:#f0e6d3;border:none;border-radius:50%;flex-shrink:0;width:28px;height:28px;padding:0;font-size:1.1rem;line-height:1}.ingredient-remove:hover:not(:disabled){color:#fff;background:#c44d4d}.ingredient-remove:disabled{opacity:.3;cursor:default}.ingredient-add{padding:6px 14px;font-size:.85rem}.recommend-step{flex-direction:column;gap:16px;padding:8px 0;display:flex}.step-label{color:#2d2013;margin:0;font-size:1.05rem;font-weight:600}.step-hint{color:#8b7355;margin:-8px 0 0;font-size:.9rem}.filter-chips{flex-wrap:wrap;gap:8px;display:flex}.filter-chip{cursor:pointer;color:#5a4a38;background:#fff;border:2px solid #e8ddd0;border-radius:20px;padding:8px 16px;font-size:.9rem;transition:all .2s}.filter-chip:hover{background:#fdf6f0;border-color:#d4763c}.filter-chip.active{color:#fff;background:#d4763c;border-color:#d4763c}.step-actions{justify-content:flex-end;gap:10px;display:flex}.mode-buttons{gap:12px;display:flex}.mode-btn{cursor:pointer;background:#fff;border:2px solid #e8ddd0;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:20px 16px;transition:all .2s;display:flex}.mode-btn:hover{background:#f8f5ff;border-color:#6b5ce7;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.mode-icon{font-size:2rem}.mode-title{color:#2d2013;font-size:1rem;font-weight:600}.mode-desc{color:#8b7355;font-size:.8rem}.step-back{align-self:flex-start;padding:6px 14px;font-size:.85rem}.chat-context-bar{color:#5a4a38;background:#f5ede3;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 12px;font-size:.85rem;display:flex}.btn-link{color:#6b5ce7;cursor:pointer;background:0 0;border:none;font-size:.85rem;text-decoration:underline}.chat-modal{flex-direction:column;max-width:500px;height:70vh;padding-bottom:16px;display:flex}.chat-modal-wide{flex-direction:column;max-width:900px;height:75vh;padding-bottom:16px;display:flex}.chat-with-suggestions{flex:1;gap:16px;min-height:0;display:flex}.chat-panel{flex-direction:column;flex:1;min-width:0;display:flex}.suggestions-panel{border-left:1px solid #ede4d8;flex-direction:column;flex-shrink:0;width:280px;padding-left:16px;display:flex;overflow-y:auto}.suggestions-title{color:#5a4a38;margin:0 0 12px;font-size:.95rem}.suggestions-empty{color:#a08d78;font-size:.85rem;font-style:italic}.suggestion-cards{flex-direction:column;gap:12px;display:flex}.suggestion-card{background:#fdf9f4;border:1px solid #ede4d8;border-radius:10px;padding:14px;position:relative}.suggestion-card-clickable{cursor:pointer;transition:all .2s}.suggestion-card-clickable:hover{border-color:#6b5ce7;transform:translateY(-1px);box-shadow:0 2px 8px #6b5ce726}.suggestion-card-loading{opacity:.6;pointer-events:none}.card-loading-overlay{color:#6b5ce7;background:#fdf9f4d9;border-radius:10px;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;display:flex;position:absolute;inset:0}.suggestion-card-title{color:#2d2013;margin:0 0 6px;font-size:1rem}.suggestion-card-desc{color:#6b5c4a;margin:0 0 8px;font-size:.8rem;line-height:1.4}.suggestion-card-meta{color:#8b7355;gap:12px;margin-bottom:8px;font-size:.8rem;display:flex}.suggestion-card-ingredients{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:8px;display:flex}.ingredient-label{color:#8b7355;margin-right:4px;font-size:.75rem;font-weight:600}.ingredient-chip{color:#5a4a38;background:#f0e6d3;border-radius:10px;padding:2px 8px;font-size:.75rem}.suggestion-card-cats{flex-wrap:wrap;gap:4px;display:flex}.suggestion-card-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.suggestion-new-badge{color:#fff;background:linear-gradient(135deg,#6b5ce7,#8b5cf6);border-radius:10px;padding:2px 8px;font-size:.7rem}.btn-more-like-this{color:#5a4a38;cursor:pointer;background:#fff;border:1px solid #d4c4b0;border-radius:12px;margin-left:auto;padding:4px 10px;font-size:.75rem;transition:all .15s}.btn-more-like-this:hover{color:#fff;background:#6b5ce7;border-color:#6b5ce7}.btn-more-like-this:disabled{opacity:.4;cursor:default}.chat-messages{flex-direction:column;flex:1;gap:10px;padding:12px 0;display:flex;overflow-y:auto}.chat-empty{color:#8b7355;text-align:center;padding:20px;font-size:.9rem}.chat-empty ul{margin-top:12px;padding:0;list-style:none}.chat-empty li{color:#a08d78;padding:6px 0;font-style:italic}.chat-msg{display:flex}.chat-msg-user{justify-content:flex-end}.chat-msg-bubble{border-radius:14px;max-width:80%;padding:10px 14px;font-size:.95rem;line-height:1.5}.chat-msg-user .chat-msg-bubble{color:#fff;background:#d4763c;border-bottom-right-radius:4px}.chat-msg-assistant .chat-msg-bubble{color:#3d3020;background:#f5ede3;border-bottom-left-radius:4px}.chat-typing{color:#8b7355;font-style:italic}.quick-replies{flex-wrap:wrap;gap:6px;padding:8px 0;display:flex}.quick-reply-btn{color:#5a4a38;cursor:pointer;background:#fff;border:1px solid #d4c4b0;border-radius:16px;padding:6px 14px;font-size:.82rem;transition:all .15s}.quick-reply-btn:hover{color:#fff;background:#6b5ce7;border-color:#6b5ce7}.chat-input-row{border-top:1px solid #ede4d8;gap:8px;padding-top:12px;display:flex}.chat-input-row input{border:1px solid #ddd3c5;border-radius:10px;flex:1;padding:10px 14px;font-size:.95rem}.chat-input-row input:focus{border-color:#6b5ce7;outline:none;box-shadow:0 0 0 3px #6b5ce726}.photo-capture-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.photo-capture-zone{text-align:center;cursor:pointer;border:2px dashed #d4c4b0;border-radius:12px;padding:28px 16px;transition:border-color .2s,background .2s}.photo-capture-zone:hover{background:#fdf8f2;border-color:#d4763c}.scan-preview{max-width:100%;display:inline-block;position:relative}.scan-preview img{border:1px solid #ede4d8;border-radius:10px;max-width:100%;max-height:300px}.scan-loading{color:#2d9a6f;background:#ffffffd9;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:.95rem;font-weight:600;display:flex;position:absolute;inset:0}.scan-spinner{border:3px solid #e8ddd0;border-top-color:#2d9a6f;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn-meal-plan{color:#fff;background:linear-gradient(135deg,#d4763c,#e8943c);font-size:1rem}.meal-plan-modal{max-width:600px}.planner-modal{max-width:1000px;max-height:85vh;padding:24px;overflow:hidden}.planner-layout{gap:20px;height:calc(85vh - 100px);min-height:400px;display:flex}.planner-left{flex-direction:column;flex-shrink:0;width:280px;display:flex}.planner-left-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.planner-slots{flex-direction:column;flex:1;gap:8px;display:flex;overflow-y:auto}.planner-slot{background:#fdf9f4;border:2px dashed #d4c4a8;border-radius:10px;align-items:center;gap:10px;min-height:44px;padding:10px 12px;display:flex}.planner-slot-filled{background:#fff;border-style:solid;border-color:#ede4d8}.planner-slot-number{color:#5a4a38;background:#f0e6d3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:700;display:flex}.planner-slot-filled .planner-slot-number{color:#fff;background:#d4763c}.planner-slot-info{flex:1;min-width:0}.planner-slot-title{color:#2d2013;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.planner-slot-meta{color:#8b7355;gap:8px;font-size:.75rem;display:flex}.planner-slot-remove{color:#c4b8a8;cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:1.1rem}.planner-slot-remove:hover{color:#c44d4d}.planner-slot-empty{color:#c4b8a8;flex:1;font-size:.85rem;font-style:italic}.planner-left-actions{gap:8px;margin-top:12px;display:flex}.planner-right{border-left:1px solid #f0e6d3;flex-direction:column;flex:1;min-width:0;padding-left:20px;display:flex}.planner-tabs{border-bottom:2px solid #f0e6d3;gap:0;margin-bottom:12px;display:flex}.planner-tab{color:#8b7355;cursor:pointer;text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:8px 4px;font-size:.85rem;font-weight:600;transition:all .2s}.planner-tab:hover{color:#d4763c}.planner-tab.active{color:#d4763c;border-bottom-color:#d4763c}.planner-cat-chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.planner-cat-chip{cursor:pointer;color:#5a4a38;background:#fff;border:1px solid #d4c4a8;border-radius:20px;padding:4px 10px;font-size:.75rem;transition:all .15s}.planner-cat-chip:hover{border-color:#d4763c}.planner-cat-chip.active{color:#fff;background:#d4763c;border-color:#d4763c}.planner-search{box-sizing:border-box;border:1px solid #d4c4a8;border-radius:8px;outline:none;width:100%;margin-bottom:10px;padding:8px 12px;font-size:.9rem}.planner-search:focus{border-color:#d4763c}.planner-browse-list{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:6px;display:flex;overflow-y:auto}.planner-browse-card{background:#fff;border:1px solid #ede4d8;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:border-color .15s;display:flex;position:relative}.planner-browse-card:hover{border-color:#d4a76a}.planner-suggestion-card{flex-direction:column;align-items:stretch}.planner-card-loading{opacity:.5;pointer-events:none}.planner-browse-card-info{flex:1;min-width:0}.planner-browse-card-title{color:#2d2013;font-size:.9rem;font-weight:600}.planner-browse-card-desc{color:#6b5c4a;margin:2px 0 4px;font-size:.8rem;line-height:1.3}.planner-browse-card-cats{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.planner-ingredient-chips{flex-wrap:wrap;gap:3px;margin-top:4px;display:flex}.planner-ingredient-chips .ingredient-chip{padding:1px 6px;font-size:.7rem}.planner-card-actions{gap:6px;margin-top:8px;display:flex}.planner-suggesting{color:#8b7355;align-items:center;gap:10px;padding:16px 0;font-style:italic;display:flex}.planner-empty{color:#8b7355;text-align:center;padding:24px 0;font-size:.9rem}.planner-new-controls{border-top:1px solid #f0e6d3;flex-shrink:0;margin-top:8px;padding-top:10px}.planner-quick-filters{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.planner-chat-input{gap:6px;display:flex}.planner-chat-input input{border:1px solid #d4c4a8;border-radius:8px;outline:none;flex:1;padding:7px 10px;font-size:.85rem}.planner-chat-input input:focus{border-color:#d4763c}@media (width<=768px){.planner-modal{border-radius:0;width:100%;max-width:none;height:100dvh;max-height:none}.planner-layout{flex-direction:column;height:auto;min-height:0}.planner-left{width:100%}.planner-slots{flex:none}.planner-right{border-top:1px solid #f0e6d3;border-left:none;min-height:300px;padding-top:12px;padding-left:0}}.meal-slots{flex-direction:column;gap:10px;display:flex}.meal-slot{background:#fdf9f4;border:2px dashed #d4c4a8;border-radius:12px;align-items:center;gap:12px;min-height:56px;padding:14px 16px;display:flex}.meal-slot-filled{background:#fff;border-style:solid;border-color:#ede4d8}.meal-slot-number{color:#5a4a38;background:#f0e6d3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:flex}.meal-slot-filled .meal-slot-number{color:#fff;background:#d4763c}.meal-slot-info{flex:1;min-width:0}.meal-slot-title{color:#2d2013;margin-bottom:2px;font-weight:600}.meal-slot-meta{color:#8b7355;gap:10px;font-size:.8rem;display:flex}.meal-slot-cats{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.meal-slot-remove{color:#c4b8a8;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:1.3rem}.meal-slot-remove:hover{color:#c44d4d}.meal-slot-empty-actions{flex:1;gap:8px;display:flex}.meal-slot-suggesting{color:#8b7355;flex:1;align-items:center;gap:10px;font-style:italic;display:flex}.meal-suggestions{background:#fdf9f4;border:1px solid #ede4d8;border-radius:12px;margin-top:16px;padding:16px}.meal-suggestions-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.meal-suggestion-cards{flex-direction:column;gap:8px;display:flex}.meal-suggestion-card{cursor:pointer;background:#fff;border:1px solid #ede4d8;border-radius:10px;padding:12px 14px;transition:border-color .15s,box-shadow .15s;position:relative}.meal-suggestion-card:hover{border-color:#d4763c;box-shadow:0 2px 8px #d4763c1f}.meal-suggestion-loading{opacity:.5;pointer-events:none}.meal-suggestion-title{color:#2d2013;margin-bottom:4px;font-weight:600}.meal-suggestion-desc{color:#6b5c4a;margin:0 0 4px;font-size:.85rem;line-height:1.4}.meal-suggestion-ingredients{flex-wrap:wrap;gap:4px;margin:6px 0;display:flex}.meal-suggestion-ingredients .ingredient-chip{color:#5a4a38;background:#f0e6d3;border-radius:4px;padding:2px 8px;font-size:.75rem}.meal-suggestion-actions{gap:6px;margin-top:8px;display:flex}.meal-quick-filters{border-top:1px solid #ede4d8;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:12px;display:flex}.meal-chat-input{gap:8px;margin-top:8px;display:flex}.meal-chat-input input{border:1px solid #d4c4a8;border-radius:8px;outline:none;flex:1;padding:8px 12px;font-size:.9rem}.meal-chat-input input:focus{border-color:#d4763c}.similar-recipes{background:#fdf9f4;border:1px solid #ede4d8;border-radius:12px;margin-top:16px;padding:16px}.similar-recipe-card{border-bottom:1px solid #f0e6d3;padding:10px 0}.similar-recipe-card:last-child{border-bottom:none}.similar-recipe-title{color:#2d2013;margin-bottom:4px;font-weight:600}.similar-recipe-desc{color:#6b5c4a;margin:0 0 8px;font-size:.85rem;line-height:1.4}.browse-picker-overlay{z-index:400;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.browse-picker{background:#fff;border-radius:16px;flex-direction:column;width:90%;max-width:500px;max-height:70vh;display:flex;box-shadow:0 8px 32px #00000026}.browse-picker-header{justify-content:space-between;align-items:center;padding:20px 24px 12px;display:flex}.browse-picker-search{border:1px solid #d4c4a8;border-radius:8px;outline:none;margin:0 24px 12px;padding:10px 12px;font-size:1rem}.browse-picker-search:focus{border-color:#d4763c}.browse-picker-list{flex:1;padding:0 24px 20px;overflow-y:auto}.browse-picker-item{cursor:pointer;border-bottom:1px solid #f0e6d3;padding:10px 0;transition:background .1s}.browse-picker-item:hover{background:#fdf9f4;border-radius:8px;margin:0 -12px;padding:10px 12px}.browse-picker-item:last-child{border-bottom:none}.browse-picker-item-title{color:#2d2013;margin-bottom:2px;font-weight:600}.browse-picker-item-meta{color:#8b7355;flex-wrap:wrap;gap:8px;font-size:.8rem;display:flex}.browse-picker-cat{font-size:.75rem}.meal-plan-wide{flex-direction:column;max-width:900px;height:75vh;display:flex}.plan-tally{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.tally-item{background:#eafaf1;border:1px solid #b2dfcc;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:.88rem;display:flex}.tally-item.tally-empty{background:#fdf8f2;border:1px dashed #d4c4b0}.tally-empty .tally-name{color:#a08d78;font-style:italic}.tally-number{color:#fff;background:#2d9a6f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:700;display:flex}.tally-empty .tally-number{background:#d4c4b0}.tally-name{color:#2d2013;font-weight:600}.pick-counter{color:#8b7355;margin:0 0 16px;font-size:.9rem}.recipe-pick-list{flex-direction:column;gap:8px;max-height:400px;padding-right:4px;display:flex;overflow-y:auto}.recipe-pick-item{cursor:pointer;border:2px solid #ede4d8;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.recipe-pick-item:hover{background:#fdf8f2;border-color:#d4c4b0}.recipe-pick-item.selected{background:#fff5ee;border-color:#d4763c}.pick-item-check{color:#fff;border:2px solid #d4c4b0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;transition:all .15s;display:flex}.recipe-pick-item.selected .pick-item-check{background:#d4763c;border-color:#d4763c}.pick-item-info{flex:1;min-width:0}.pick-item-title{color:#2d2013;font-size:1rem;font-weight:600}.pick-item-meta{color:#8b7355;gap:12px;margin-top:2px;font-size:.82rem;display:flex}.pick-item-cats{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.plan-recipe-list{flex-direction:column;gap:12px;display:flex}.plan-recipe-card{background:#fdf9f4;border:1px solid #ede4d8;border-radius:10px;align-items:center;gap:14px;padding:16px;display:flex}.plan-recipe-number{color:#fff;background:#d4763c;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.95rem;font-weight:700;display:flex}.plan-recipe-info{flex:1}.plan-recipe-title{color:#2d2013;font-size:1.05rem;font-weight:600}.shopping-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.shopping-actions-top{flex-shrink:0;align-items:center;gap:10px;display:flex}.shopping-list{flex-direction:column;gap:4px;max-height:400px;display:flex;overflow-y:auto}.shopping-item{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:background .1s;display:flex}.shopping-item:hover{background:#fdf8f2}.shopping-item input[type=checkbox]{accent-color:#d4763c;flex-shrink:0;width:18px;height:18px}.shopping-item-name{color:#2d2013;flex:1;font-size:.95rem}.shopping-item-amount{color:#8b7355;font-size:.85rem;font-weight:600}.shopping-category-group{margin-bottom:8px}.shopping-category-title{color:#d4763c;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #f0e6d3;margin:12px 0 4px;padding-bottom:4px;font-size:.85rem;font-weight:700}.shopping-category-group:first-child .shopping-category-title{margin-top:0}.shopping-item.checked .shopping-item-name,.shopping-item.checked .shopping-item-amount{color:#b8a898;text-decoration:line-through}.scan-steps{flex-direction:column;gap:12px;display:flex}.scan-step{border-radius:8px;align-items:center;gap:12px;padding:12px 16px;font-size:.9rem;transition:all .3s;display:flex}.scan-step-done{color:#217a4b;background:#eafaf1}.scan-step-active{color:#d4763c;background:#fdf6f0;font-weight:600}.scan-step-pending{color:#b8a898;background:#f9f6f2}.scan-step-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.scan-spinner-small{border:2px solid #f0e6d3;border-top-color:#d4763c;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.scan-pending-icon{border:2px solid #d4c4b0;border-radius:50%;width:12px;height:12px}.scan-step-label{flex:1}.scan-success-banner{color:#217a4b;background:#eafaf1;border:1px solid #b2dfcc;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-bottom:16px;padding:10px 16px;font-size:.9rem;font-weight:600;display:flex}.scan-success-icon{color:#fff;background:#2d9a6f;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:700;display:inline-flex}.recipe-detail-hero-actions{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.btn-lets-cook{color:#fff;cursor:pointer;letter-spacing:.5px;background:linear-gradient(135deg,#e8943c,#d4763c);border:none;border-radius:12px;flex:1;padding:14px 20px;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s}.btn-lets-cook:hover{transform:translateY(-1px);box-shadow:0 4px 14px #d4763c59}.btn-need-ingredients{color:#5a3e28;cursor:pointer;background:#fffaf3;border:2px solid #d4a76a;border-radius:12px;flex:1;padding:14px 20px;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s}.btn-need-ingredients:hover{background:#f5e6d0;transform:translateY(-1px);box-shadow:0 4px 14px #b48c5033}.recipe-detail-hero-actions .btn{min-width:150px}.btn-inspired-by{color:#8b7355;text-align:center;cursor:pointer;background:0 0;border:none;border-top:1px solid #f0e6d6;width:100%;margin-top:20px;padding:16px;font-size:.85rem;transition:color .15s;display:block}.btn-inspired-by:hover{color:#c8873a}.smart-cook-overlay{z-index:200;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.smart-cook-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:700px;height:90vh;display:flex;overflow:hidden}.smart-cook-header{border-bottom:1px solid #f0e6d3;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:20px 24px 12px;display:flex}.smart-cook-header .modal-close{flex-shrink:0;position:static}.smart-cook-font-controls{align-self:center;gap:4px;display:flex}.smart-cook-font-btn{color:#5a3e28;cursor:pointer;background:#fffaf3;border:1px solid #d4c4a8;border-radius:8px;width:36px;height:36px;font-size:.85rem;font-weight:700;transition:background .15s}.smart-cook-font-btn:hover:not(:disabled){background:#f5e6d0}.smart-cook-font-btn:disabled{opacity:.3;cursor:default}.smart-cook-title{color:#2d2013;margin:0 0 2px;font-size:1.3rem}.smart-cook-recipe-name{color:#8b7355;margin:0;font-size:.9rem}.smart-cook-loading{color:#d4763c;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;font-weight:600;display:flex}.smart-cook-error{text-align:center;color:#c44d4d;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:32px 20px;display:flex}.smart-cook-error p{margin:0 0 16px}.smart-cook-timer-bar{cursor:pointer;background:#eef6fb;border-bottom:1px solid #c5dff0;flex-shrink:0;align-items:center;gap:8px;padding:8px 24px;font-size:.85rem;display:flex}.smart-cook-timer-bar:active{background:#daedf8}.smart-cook-timer-bar-done{background:#eafaf1;border-color:#b2dfcc;animation:1s ease-in-out 3 timer-pulse}.smart-cook-timer-bar-time{color:#2a6496;font-variant-numeric:tabular-nums;font-weight:700}.smart-cook-timer-bar-label{color:#5a7a8a;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.smart-cook-card-container{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;flex:1;position:relative;overflow:hidden auto}.smart-cook-card{border-bottom:1px solid #f0e6d6;flex-direction:column;gap:16px;padding:24px;display:flex}.smart-cook-card:last-child{border-bottom:none}.smart-cook-card-prep{background:#fcfef9}.smart-cook-card-rating{text-align:center;justify-content:center;align-items:center;padding-top:32px;padding-bottom:32px}.smart-cook-card-label{text-align:center;color:#8b7355;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.smart-cook-card-prep .smart-cook-card-label{color:#3d6b24}.smart-cook-card-instruction{color:#2d2013;margin:0;font-size:1.05rem;line-height:1.7}.smart-cook-card-nav{z-index:10;color:#8b7355;cursor:pointer;background:#0000000f;border:none;justify-content:center;align-items:center;width:40px;height:60px;font-size:1.8rem;transition:background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.smart-cook-card-nav:active{background:#0000001f}.smart-cook-card-nav-prev{border-radius:0 8px 8px 0;left:0}.smart-cook-card-nav-next{border-radius:8px 0 0 8px;right:0}.smart-cook-dots{flex-shrink:0;justify-content:center;gap:6px;padding:8px 16px;display:flex}.smart-cook-dot{cursor:pointer;background:#ddd5c8;border-radius:50%;width:8px;height:8px;transition:all .2s}.smart-cook-dot-active{background:#d4763c;transform:scale(1.3)}.smart-cook-step-instruction{color:#3d3020;margin:0;font-size:.95rem;line-height:1.6}.smart-cook-step-ingredients{border-top:1px dashed #e8ddd0;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;display:flex}.smart-cook-ingredient-chip{color:#5a4a38;background:#f0e6d3;border-radius:12px;padding:4px 10px;font-size:.82rem}.smart-cook-ingredient-chip strong{color:#d4763c}.smart-cook-ingredient-chip-prep{color:#3d6b24;background:#e4f2d8}.smart-cook-ingredient-chip-prep strong{color:#2d5a16}.smart-cook-timer{background:#eef6fb;border:1px solid #c5dff0;border-radius:10px;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;font-size:.88rem;display:flex}.smart-cook-timer-done{background:#eafaf1;border-color:#b2dfcc;animation:1s ease-in-out 3 timer-pulse}@keyframes timer-pulse{0%,to{background:#eafaf1}50%{background:#c8f5db}}.smart-cook-timer-icon{flex-shrink:0;font-size:1.1rem}.smart-cook-timer-range{color:#2a6496;font-weight:700}.smart-cook-timer-display{font-variant-numeric:tabular-nums;color:#2a6496;min-width:48px;font-size:1.15rem;font-weight:700}.smart-cook-timer-flash{color:#2d9a6f;animation:.5s ease-in-out 3 timer-text-flash}@keyframes timer-text-flash{0%,to{opacity:1}50%{opacity:.3}}.smart-cook-timer-label{color:#5a7a8a;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.82rem;overflow:hidden}.smart-cook-timer-adj{color:#2a6496;cursor:pointer;background:#fff;border:1px solid #c5dff0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:.9rem;font-weight:700;transition:all .15s;display:flex}.smart-cook-timer-adj:hover:not(:disabled){color:#fff;background:#2a6496;border-color:#2a6496}.smart-cook-timer-adj:disabled{opacity:.3;cursor:default}.smart-cook-timer-btn{cursor:pointer;color:#2a6496;background:#fff;border:1px solid #c5dff0;border-radius:8px;flex-shrink:0;padding:4px 10px;font-size:.8rem;transition:all .15s}.smart-cook-timer-btn:hover,.smart-cook-timer-play{color:#fff;background:#2a6496;border-color:#2a6496}.smart-cook-timer-play:hover{background:#1e4f75}.smart-cook-prep-list{flex-direction:column;gap:2px;margin-top:12px;display:flex}.smart-cook-prep-item{border-bottom:1px solid #e4f2d8;padding:12px 4px}.smart-cook-prep-item:last-child{border-bottom:none}.smart-cook-prep-details{color:#5a4a38;margin:6px 0 2px 30px;padding:0;font-size:.85rem;line-height:1.6;list-style:none}.smart-cook-prep-details li:before{content:"· ";color:#8b7355;font-weight:700}.smart-cook-prep-item .smart-cook-step-ingredients{border-top-color:#d4ecc4}.smart-cook-actions{border-top:1px solid #ede4d8;flex-shrink:0;justify-content:flex-end;gap:10px;padding:12px 24px;display:flex}.smart-cook-rating{text-align:center;padding:16px 0}.smart-cook-rating-prompt{color:#2d2013;margin:0 0 12px;font-size:1.05rem;font-weight:600}.smart-cook-rating-buttons{justify-content:center;gap:12px;display:flex}.smart-cook-rating-btn{cursor:pointer;color:#5a4a38;background:#fff;border:2px solid #ede4d8;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:12px 24px;font-size:.9rem;font-weight:600;transition:border-color .15s,background .15s,transform .1s;display:flex}.smart-cook-rating-btn:hover{background:#fff8f2;border-color:#d4763c;transform:translateY(-2px)}.smart-cook-rating-emoji{font-size:1.8rem}.smart-cook-family-plates-banner{background:#fff5d8;border:1px solid #e8c97f;border-left-width:4px;border-radius:8px;flex-direction:column;gap:6px;margin:14px 14px 0;padding:14px 16px;display:flex}.smart-cook-family-plates-header{text-transform:uppercase;letter-spacing:.05em;color:#8a6a1f;align-items:center;gap:8px;font-size:.78rem;font-weight:600;display:flex}.smart-cook-family-plates-icon{font-size:1.1rem;line-height:1}.smart-cook-family-plates-title{letter-spacing:.04em}.smart-cook-family-plates-action{color:#2d2013;margin:0;font-size:1.05rem;font-weight:600;line-height:1.4}.smart-cook-family-plates-sub{color:#6b5a43;margin:0;font-size:.88rem;line-height:1.4}.smart-cook-family-plates-actions{gap:8px;margin-top:4px;display:flex}.smart-cook-family-plates-btn{cursor:pointer;border-radius:6px;padding:6px 14px;font-size:.85rem;font-weight:500;transition:background .15s,border-color .15s}.smart-cook-family-plates-btn-primary{color:#fff;background:#c9a84a;border:1px solid #c9a84a}.smart-cook-family-plates-btn-primary:hover{background:#b59440;border-color:#b59440}.smart-cook-family-plates-btn-skip{color:#6b5a43;background:#fff;border:1px solid #d8d2c4}.smart-cook-family-plates-btn-skip:hover{background:#faf5ec}.kid-friendly-badge{color:#8a6a1f;letter-spacing:.02em;white-space:nowrap;background:#fff5d8;border:1px solid #e8c97f;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.78rem;font-weight:600;display:inline-flex}.family-plates-breakdown{background:#fff5d8;border:1px solid #e8c97f;border-left-width:4px;border-radius:8px;flex-direction:column;gap:6px;margin:10px 0 0;padding:10px 12px;display:flex}.family-plates-breakdown__header{text-transform:uppercase;letter-spacing:.05em;color:#8a6a1f;align-items:center;gap:6px;font-size:.74rem;font-weight:600;display:flex}.family-plates-breakdown__list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.family-plates-breakdown__list li{color:#2d2013;align-items:baseline;gap:8px;font-size:.88rem;line-height:1.35;display:flex}.family-plates-breakdown__ingredient{flex:auto}.smart-cook-share-prompt{text-align:center;padding:16px 0}.smart-cook-share-headline{color:#2d2013;margin:0 0 6px;font-size:1.4rem;font-weight:700}.smart-cook-share-sub{color:#5a4a38;margin:0 0 20px;font-size:1rem}.smart-cook-share-actions{flex-direction:column;align-items:center;gap:10px;display:flex}.smart-cook-share-primary{color:#fff;cursor:pointer;background:#c96f3e;border:none;border-radius:10px;min-width:220px;padding:12px 28px;font-size:1rem;font-weight:600;transition:background .15s,transform .1s}.smart-cook-share-primary:hover{background:#b25f33;transform:translateY(-1px)}.smart-cook-share-done{color:#8b7355;cursor:pointer;background:0 0;border:none;padding:8px 16px;font-size:.9rem;text-decoration:underline}.smart-cook-share-done:hover{color:#5a4a38}@media (width<=600px){.smart-cook-overlay{padding:0}.smart-cook-modal{border-radius:0;width:100%;max-width:none;height:100dvh}.smart-cook-header{padding:16px 16px 10px}.smart-cook-title{font-size:1.15rem}.smart-cook-card{padding:16px}.smart-cook-timer-bar{padding:8px 16px}.smart-cook-actions{padding:10px 16px;padding-bottom:max(10px, env(safe-area-inset-bottom))}.header-nav,.header-icons{display:none}.bottom-tab-bar{display:flex}.header-menu-btn,.header-menu-dropdown{display:none}.recipe-grid{grid-template-columns:1fr}}.btn-icon{cursor:pointer;background:#fff;border:1px solid #d4c4b0;border-radius:8px;padding:8px 12px;font-size:1.1rem;line-height:1;transition:transform .1s,box-shadow .2s}.btn-icon:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001f}.settings-section{margin:8px 0 24px}.settings-section-title{color:#2d2013;margin:0 0 6px;font-size:1.05rem}.settings-section-desc{color:#8b7355;margin:0 0 16px;font-size:.9rem}.account-info{flex-direction:column;gap:10px;display:flex}.account-name-row{align-items:center;gap:10px;display:flex}.account-name{color:#2d2013;font-weight:600}.account-name-edit{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.account-name-input{border:1px solid #d4b896;border-radius:8px;flex:1;min-width:140px;padding:6px 10px;font-size:.95rem}.account-signout{align-self:flex-start}.account-signin{flex-direction:column;gap:12px;display:flex}.btn-link{color:#b07d3a;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;text-decoration:underline}.btn-sm{padding:4px 12px;font-size:.85rem}.allergy-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px;display:grid}.allergy-chip{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:2px solid #e8ddd0;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;transition:all .15s;display:flex}.allergy-chip input[type=checkbox]{display:none}.allergy-chip:hover{background:#fdf8f2;border-color:#c4a882}.allergy-chip.active{color:#c0392b;background:#fff0f0;border-color:#e85d5d}.allergy-icon{font-size:1.2rem;line-height:1}.allergy-label{font-size:.88rem;font-weight:600}.allergy-summary{color:#c0392b;background:#fff0f0;border:1px solid #f5c0c0;border-radius:8px;margin:14px 0 0;padding:10px 14px;font-size:.88rem}.settings-actions{border-top:1px solid #f0e6d3;justify-content:flex-end;gap:10px;padding-top:16px;display:flex}.toast{color:#fff;z-index:9999;pointer-events:none;background:#2d2013;border-radius:10px;padding:12px 24px;font-size:.95rem;font-weight:600;transition:opacity .4s,transform .4s;position:fixed;bottom:32px;left:50%;transform:translate(-50%)translateY(0);box-shadow:0 4px 20px #0003}.toast-visible{opacity:1;transform:translate(-50%)translateY(0)}.toast-hidden{opacity:0;transform:translate(-50%)translateY(10px)}.confirm-dialog{background:#fff;border-radius:16px;width:90%;max-width:400px;margin:auto;padding:28px;box-shadow:0 8px 32px #00000026}.confirm-dialog-title{color:#2d2013;margin:0 0 12px;font-size:1.2rem}.confirm-dialog-message{color:#6b5c4a;margin:0 0 24px;font-size:.95rem;line-height:1.5}.confirm-dialog-actions{justify-content:flex-end;gap:10px;display:flex}.whats-for-dinner{max-width:640px;margin:0 auto;padding:24px 16px 120px}.wfd-hero{text-align:center;margin-bottom:32px}.wfd-title{color:#5a3e28;margin:0 0 6px;font-family:Georgia,serif;font-size:2rem}.wfd-subtitle{color:#8b7355;margin:0;font-size:1rem}.wfd-entry-cards{flex-direction:column;gap:14px;display:flex}.wfd-entry-card{cursor:pointer;text-align:left;background:#fffaf3;border:2px solid #f0e6d6;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:20px 22px;transition:border-color .2s,box-shadow .2s,transform .15s;display:flex}.wfd-entry-card-primary{background:linear-gradient(135deg,#fff9ef,#fff1df);border-color:#e0b16f;padding:26px}.wfd-entry-card-primary .wfd-entry-label{font-size:1.35rem}.wfd-entry-card-primary .wfd-entry-icon{font-size:2rem}.wfd-entry-secondary-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.wfd-entry-card-secondary{padding:16px 18px}.wfd-entry-card-secondary .wfd-entry-icon{font-size:1.25rem}.wfd-entry-card-secondary .wfd-entry-label{font-size:.98rem}.wfd-entry-card-secondary .wfd-entry-hint{font-size:.78rem}@media (width<=560px){.wfd-entry-secondary-row{grid-template-columns:1fr}}.wfd-entry-card:hover{border-color:#d4a76a;transform:translateY(-2px);box-shadow:0 4px 16px #8b73551f}.wfd-entry-card:active{transform:translateY(0)}.wfd-entry-icon{margin-bottom:2px;font-size:1.6rem}.wfd-entry-label{color:#5a3e28;font-size:1.1rem;font-weight:600}.wfd-entry-hint{color:#8b7355;font-size:.85rem}.wfd-ready-card{text-align:center;background:linear-gradient(135deg,#fff8f0,#fef0e0);border:2px solid #e8c088;border-radius:16px;margin-bottom:24px;padding:20px}.wfd-ready-label{color:#b08040;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:.82rem;font-weight:600}.wfd-ready-title{color:#5a3e28;cursor:pointer;margin-bottom:4px;font-size:1.2rem;font-weight:700}.wfd-ready-title:hover{color:#c8873a}.wfd-ready-meta{color:#8b7355;margin-bottom:14px;font-size:.85rem}.wfd-ready-meta span{margin:0 6px}.wfd-ready-actions{justify-content:center;gap:10px;margin-bottom:10px;display:flex}.wfd-ready-dismiss{color:#a09080;cursor:pointer;background:0 0;border:none;padding:0;font-size:.82rem}.wfd-ready-dismiss:hover{color:#c8873a}.wfd-ready-recipes{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.wfd-ready-recipe-row{cursor:pointer;background:#fff9;border-radius:10px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.wfd-ready-recipe-row:hover{background:#ffffffe6}.wfd-ready-recipe-name{color:#5a3e28;font-size:.95rem;font-weight:600}.wfd-ready-recipe-meta{color:#8b7355;font-size:.8rem}.wfd-shopping-card{color:#fff;background:linear-gradient(135deg,#e8943c,#d4763c);border-radius:16px;margin-bottom:20px;padding:20px;box-shadow:0 4px 16px #d4763c4d}.wfd-shopping-card-empty{color:#5a3e28;background:#fffaf3;border:2px solid #e8c088;box-shadow:0 3px 14px #8b73551f}.wfd-shopping-card-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.wfd-shopping-card-icon{font-size:1.4rem}.wfd-shopping-card-label{font-size:1.1rem;font-weight:700}.wfd-shopping-card-count{opacity:.9;margin-left:auto;font-size:.9rem;font-weight:600}.wfd-shopping-card-hint{opacity:.85;margin-bottom:14px;font-size:.85rem}.wfd-shopping-card-actions{gap:10px;display:flex}.wfd-shopping-card-actions .btn{flex:1}.wfd-shopping-card-actions .btn-primary{color:#d4763c;background:#fff;border:none;font-weight:700}.wfd-shopping-card-actions .btn-primary:hover{background:#fff8f0}.wfd-shopping-card-actions .btn-secondary{color:#fff;background:#fff3;border:1px solid #fff6;font-weight:600}.wfd-shopping-card-actions .btn-secondary:hover{background:#ffffff4d}.wfd-shopping-card-empty .wfd-shopping-card-actions .btn-primary{color:#fff;background:#d4763c}.wfd-shopping-card-empty .wfd-shopping-card-actions .btn-primary:hover{background:#bd6530}.wfd-shopping-card-empty .wfd-shopping-card-actions .btn-secondary{color:#5a4a38;background:#f0e6d3;border-color:#d4c4a8}.wfd-shopping-card-empty .wfd-shopping-card-actions .btn-secondary:hover{background:#e6d7c0}.wfd-plan-recipe-card{background:linear-gradient(135deg,#fff8f0,#fef0e0);border:2px solid #e8c088;border-radius:14px;margin-bottom:12px;padding:16px}.wfd-plan-recipe-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.wfd-plan-recipe-name{color:#5a3e28;font-size:1.05rem;font-weight:700}.wfd-plan-recipe-remove{color:#a09080;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.3rem;line-height:1}.wfd-plan-recipe-remove:hover{color:#c44d4d}.wfd-plan-recipe-meta{color:#8b7355;gap:12px;margin-bottom:12px;font-size:.85rem;display:flex}.wfd-plan-recipe-actions{gap:10px;display:flex}.wfd-plan-recipe-actions .btn-lets-cook{flex:1}.wfd-add-dish{color:#8b7355;cursor:pointer;text-align:center;background:0 0;border:1px dashed #d4a76a;border-radius:12px;width:100%;margin-bottom:8px;padding:12px;font-size:.9rem;font-weight:600;transition:background .15s,color .15s;display:block}.wfd-add-dish:hover{color:#5a3e28;background:#f5e6d0}.wfd-change-plans{color:#a09080;cursor:pointer;text-align:center;background:0 0;border:none;width:100%;padding:16px 0 0;font-size:.85rem;display:block}.wfd-change-plans:hover{color:#c8873a}.wfd-flow-panel{animation:.25s ease-out wfd-slide-in}@keyframes wfd-slide-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.wfd-flow-back{color:#8b7355;cursor:pointer;background:0 0;border:none;margin-bottom:16px;padding:4px 0;font-size:.9rem}.wfd-flow-back:hover{color:#5a3e28}.wfd-search-input{box-sizing:border-box;background:#fffaf3;border:2px solid #e8ddd0;border-radius:10px;width:100%;padding:12px 16px;font-size:1rem}.wfd-search-input:focus{border-color:#d4a76a;outline:none}.wfd-know-shortcuts{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.wfd-search-results{flex-direction:column;gap:8px;max-height:400px;margin-top:12px;display:flex;overflow-y:auto}.wfd-search-card{background:#fffaf3;border:1px solid #f0e6d6;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.wfd-search-card-info{flex:1;min-width:0}.wfd-search-card-title{color:#5a3e28;font-size:.95rem;font-weight:600}.wfd-browse-all{color:#b08650;cursor:pointer;background:0 0;border:none;margin-top:16px;padding:0;font-size:.9rem;text-decoration:underline;display:block}.wfd-browse-all:hover{color:#5a3e28}.wfd-empty{text-align:center;color:#8b7355;padding:20px 0}.wfd-empty-hint{text-align:center;color:#a89680;padding:20px 0;font-size:.9rem}.wfd-error{color:#c44d4d;margin:8px 0;font-size:.85rem}.wfd-loading{color:#8b7355;justify-content:center;align-items:center;gap:10px;padding:20px 0;font-size:.95rem;display:flex}.wfd-suggestion-card{cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#fffaf3,#fef6ec);border:1px solid #f0e6d6;border-left:4px solid #d4763c;border-radius:12px;margin-bottom:12px;padding:16px;transition:border-color .15s,box-shadow .15s,transform .15s;position:relative;overflow:hidden}.wfd-card-deal{animation:.52s ease-out both cardDealIn}@keyframes cardDealIn{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.wfd-suggestion-card:hover{border-color:#c8873a;transform:translateY(-2px);box-shadow:0 4px 14px #b46e282e}.wfd-suggestion-card:active{transform:translateY(0);box-shadow:0 2px 6px #b46e281f}.wfd-suggestion-title{color:#5a3e28;margin-bottom:4px;font-size:1rem;font-weight:600}.wfd-suggestion-desc{color:#6b5c4a;margin:4px 0 8px;font-size:.85rem;line-height:1.4}.wfd-suggestion-meta{color:#8b7355;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;font-size:.82rem;display:flex}.wfd-suggestion-meta .kid-friendly-badge{padding:1px 7px;font-size:.72rem}.wfd-suggestion-thumb{object-fit:cover;width:calc(100% + 32px);height:140px;margin:-16px -16px 12px;display:block}.wfd-suggestion-info{margin-bottom:10px}.wfd-suggestion-actions{gap:8px;display:flex}.wfd-ingredient-match-section{margin-top:8px}.wfd-ingredient-match{border-radius:12px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-block}.wfd-match-good{color:#2e7d32;background:#e8f5e9}.wfd-match-partial{color:#e65100;background:#fff3e0}.wfd-missing-list{color:#8b7355;margin-top:4px;font-size:.78rem;font-style:italic}.wfd-suggestion-controls{border-top:1px solid #f0e6d6;flex-direction:column;align-items:center;gap:12px;margin-top:16px;padding-top:16px;display:flex}.btn-show-more{color:#5a4a38;cursor:pointer;background:#fff;border:1px solid #d4c5b0;border-radius:20px;padding:10px 28px;font-size:.9rem;font-weight:600;transition:all .15s}.btn-show-more:hover{color:#c8873a;background:#f5efe6;border-color:#c8873a}.btn-show-more:disabled{opacity:.4;cursor:default}.wfd-suggestion-controls .wfd-chat-input{width:100%}.wfd-chat-input-secondary{opacity:.82}.wfd-chat-input-secondary input,.wfd-chat-input-secondary button{font-size:.82rem}.wfd-quick-filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.wfd-chat-input{gap:8px;display:flex}.wfd-chat-input input{border:2px solid #e8ddd0;border-radius:8px;flex:1;padding:8px 12px;font-size:.9rem}.wfd-chat-input input:focus{border-color:#d4a76a;outline:none}.wfd-ingredient-input-row{gap:8px;margin-bottom:16px;display:flex}.wfd-ingredient-input{background:#fffaf3;border:2px solid #e8ddd0;border-radius:10px;flex:1;padding:12px 16px;font-size:1rem}.wfd-ingredient-input:focus{border-color:#d4a76a;outline:none}.pantry-flow{color:#2a1616;flex-direction:column;gap:20px;display:flex}.pantry-heading{color:#241313;font-family:Cormorant Garamond,Georgia,serif;font-size:34px;font-weight:300;line-height:1}.pantry-subheading{color:#a06862;margin-top:-12px;font-family:Cormorant Garamond,Georgia,serif;font-size:17px;font-style:italic}.pantry-token-field{background:#fffdfb;border:1.5px solid #a3302a;border-radius:10px;flex-wrap:wrap;align-items:center;gap:9px;padding:12px 14px;display:flex}.pantry-token{color:#fff;background:#a3302a;border-radius:999px;align-items:center;gap:8px;padding:8px 13px;font-size:13.5px;font-weight:600;display:inline-flex}.pantry-token-sm{padding:7px 12px;font-size:13px}.pantry-token-x{opacity:.7;cursor:pointer;font-weight:700}.pantry-token-x:hover{opacity:1}.pantry-token-input{color:#4a2f28;background:0 0;border:none;flex:1;min-width:140px;padding:6px 4px;font-size:15px}.pantry-token-input:focus{outline:none}.pantry-token-input::placeholder{color:#bda29d}.pantry-token-actions{gap:10px;margin-left:auto;display:flex}.pantry-btn-primary{color:#fff;cursor:pointer;background:#a3302a;border:none;border-radius:8px;padding:10px 20px;font-size:13px;font-weight:700}.pantry-btn-primary:disabled{opacity:.55;cursor:default}.pantry-label{letter-spacing:.16em;text-transform:uppercase;color:#b07872;font-size:11px;font-weight:600}.pantry-chip-row{flex-wrap:wrap;align-items:center;gap:7px;margin-top:9px;display:flex}.pantry-staples{background:#fffaf8;border:1px solid #f0dcd8;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;display:flex}.pantry-staple-chip{color:#6a4a42;background:#fff;border:1px solid #f0dcd8;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;display:inline-flex}.pantry-staple-input{color:#6a4a42;background:#fff;border:1px solid #f0dcd8;border-radius:999px;padding:6px 12px;font-size:12.5px}.pantry-staple-input:focus{border-color:#a3302a;outline:none}.pantry-edit-link{letter-spacing:.08em;text-transform:uppercase;color:#a3302a;cursor:pointer;border-bottom:1.5px solid #a3302a;flex-shrink:0;padding-bottom:2px;font-size:12px;font-weight:600}.pantry-quickadd-chip{color:#4a2f28;cursor:pointer;background:#faf4f2;border:1px solid #f0dcd8;border-radius:999px;padding:8px 15px;font-size:13px}.pantry-quickadd-chip:hover{color:#a3302a;border-color:#a3302a}.pantry-useup{border-top:1px solid #f0dcd8;justify-content:space-between;align-items:center;gap:20px;padding-top:20px;display:flex}.pantry-useup-title{font-family:Cormorant Garamond,Georgia,serif;font-size:22px}.pantry-useup-sub{color:#8a6c62;margin-top:3px;font-size:13px}.pantry-useup-flag{color:#a3302a;background:#faf4f2;border:1px solid #f0dcd8;border-radius:999px;align-items:center;gap:7px;margin-top:8px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.pantry-useup-btn{color:#a3302a;cursor:pointer;border:1px solid #f0dcd8;border-radius:8px;flex-shrink:0;padding:10px 16px;font-size:12.5px;font-weight:600}.pantry-token-bar{background:#fffdfb;border:1.5px solid #a3302a;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;display:flex}.pantry-staple-count{color:#b07872;padding:4px 6px;font-size:12px}.pantry-section-head{border-bottom:2px solid #a3302a;justify-content:space-between;align-items:baseline;margin-top:10px;padding-bottom:8px;display:flex}.pantry-section-title{color:#a3302a;font-family:Cormorant Garamond,Georgia,serif;font-size:26px}.pantry-section-note{letter-spacing:.1em;text-transform:uppercase;color:#c99a95;font-size:11.5px;font-weight:600}.pantry-addall{letter-spacing:.1em;text-transform:uppercase;color:#a3302a;cursor:pointer;font-size:11.5px;font-weight:600}.pantry-cook-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:6px;display:grid}.pantry-cook-card{cursor:pointer;background:#fff;border:1px solid #f0dcd8;border-radius:10px;overflow:hidden}.pantry-cook-card:hover{border-color:#a3302a}.pantry-cook-photo{height:140px;position:relative}.pantry-cook-photo img{object-fit:cover;width:100%;height:100%;display:block}.pantry-photo-empty{background:linear-gradient(135deg,#f4e6e2,#ecd7d4);width:100%;height:100%}.pantry-badge-have{letter-spacing:.1em;text-transform:uppercase;color:#fff;background:#4f6f4a;padding:5px 10px;font-size:10px;font-weight:700;position:absolute;top:10px;left:10px}.pantry-cook-body{padding:14px 16px 16px}.pantry-cook-title{color:#241313;font-family:Cormorant Garamond,Georgia,serif;font-size:22px;line-height:1.05}.pantry-cook-meta{letter-spacing:.12em;text-transform:uppercase;color:#c99a95;margin-top:6px;font-size:10.5px;font-weight:600}.pantry-match-row{align-items:center;gap:9px;margin-top:12px;display:flex}.pantry-match-bar{background:#eddbd8;border-radius:999px;flex:1;height:5px;overflow:hidden}.pantry-match-fill{background:#4f6f4a;height:100%;display:block}.pantry-match-count{white-space:nowrap;font-size:11px;font-weight:700}.pantry-match-good{color:#4f6f4a}.pantry-match-partial{color:#b07872}.pantry-stop-list{border-top:1px solid #f0dcd8;flex-direction:column;margin-top:6px;display:flex}.pantry-stop-row{cursor:pointer;border-bottom:1px solid #f0dcd8;align-items:center;gap:18px;padding:16px 0;display:flex}.pantry-stop-thumb{border:1px solid #f0dcd8;border-radius:6px;flex-shrink:0;width:76px;height:76px;overflow:hidden}.pantry-stop-thumb img{object-fit:cover;width:100%;height:100%;display:block}.pantry-stop-info{flex:1}.pantry-missing{color:#8a6c62;margin-top:6px;font-size:13px}.pantry-missing-item{color:#a3302a;font-weight:700}.pantry-stop-actions{flex-shrink:0;align-items:center;gap:14px;display:flex}.pantry-add-btn{letter-spacing:.06em;text-transform:uppercase;color:#a3302a;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #f0dcd8;border-radius:6px;padding:9px 14px;font-size:12px;font-weight:600}.pantry-add-btn:disabled{color:#4f6f4a;cursor:default;background:#f2f7f0;border-color:#cfe0cb}@media (width<=640px){.pantry-cook-grid{grid-template-columns:1fr}.pantry-token-actions{width:100%;margin-left:0}.pantry-btn-primary{width:100%}.pantry-staples,.pantry-useup,.pantry-section-head{flex-wrap:wrap}}.wfd-decision-overlay{max-width:640px;margin:0 auto;padding:24px 16px;animation:.25s ease-out wfd-slide-in}.wfd-decision-card{text-align:center;background:#fffaf3;border:2px solid #f0e6d6;border-radius:16px;padding:28px 24px}.wfd-decision-title{color:#5a3e28;margin:0 0 8px;font-family:Georgia,serif;font-size:1.5rem}.wfd-decision-desc{color:#6b5c4a;margin:0 0 12px;font-size:.9rem;line-height:1.5}.wfd-decision-meta{color:#8b7355;justify-content:center;gap:16px;margin-bottom:16px;font-size:.85rem;display:flex}.wfd-decision-ingredients{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:12px;display:flex}.wfd-decision-cats{justify-content:center;gap:6px;margin-bottom:16px;display:flex}.wfd-decision-actions{justify-content:center;gap:12px;margin:24px 0 16px;display:flex}.wfd-cook-btn,.wfd-shop-btn{flex:1;max-width:200px;padding:14px 24px!important;font-size:1.05rem!important}.wfd-decision-link{color:#b08650;cursor:pointer;text-align:center;background:0 0;border:none;width:100%;margin-bottom:8px;font-size:.85rem;display:block}.wfd-decision-link:hover{color:#5a3e28;text-decoration:underline}.wfd-decision-back{color:#8b7355;cursor:pointer;text-align:center;background:0 0;border:none;width:100%;margin-top:4px;font-size:.85rem;display:block}.wfd-decision-back:hover{color:#5a3e28}.wfd-tonight-tray{z-index:50;background:#fffaf3;border-top:2px solid #f0e6d6;padding:12px 16px 16px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #00000014}.wfd-tonight-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.wfd-tonight-label{color:#5a3e28;font-size:.9rem;font-weight:600}.wfd-tonight-count{color:#8b7355;font-size:.82rem}.wfd-tonight-chips{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.wfd-tonight-chip{color:#5a3e28;background:#f5e6d0;border-radius:16px;align-items:center;gap:6px;padding:5px 10px;font-size:.82rem;font-weight:500;display:flex}.wfd-tonight-chip-remove{color:#8b7355;cursor:pointer;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.wfd-tonight-chip-remove:hover{color:#c44d4d}.wfd-tonight-actions{gap:8px;display:flex}.wfd-chat-flow{flex-direction:column;height:100%;min-height:400px;display:flex}.wfd-chat-header{border-bottom:1px solid #ede4d8;justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 0;display:flex}.wfd-chat-badge{color:#fff;background:#d4763c;border-radius:12px;padding:4px 12px;font-size:.8rem;font-weight:600}.wfd-chat-thread{flex-direction:column;flex:1;gap:12px;padding:8px 0;display:flex;overflow-y:auto}.wfd-chat-bubble{border-radius:16px;max-width:85%;padding:10px 14px;font-size:.9rem;line-height:1.5}.wfd-chat-bubble p{margin:0}.wfd-chat-user{color:#fff;background:#d4763c;border-bottom-right-radius:4px;align-self:flex-end}.wfd-chat-assistant{color:#3d3020;background:#f5efe6;border-bottom-left-radius:4px;align-self:flex-start}.wfd-chat-recipes{flex-direction:column;gap:8px;margin-top:10px;display:flex}.wfd-chat-recipes .wfd-suggestion-card{margin-bottom:0}.wfd-chat-input-sticky{background:#fff;border-top:1px solid #ede4d8;padding-top:8px;position:sticky;bottom:0}.wfd-chat-typing{gap:4px;padding:4px 0;display:flex}.wfd-chat-typing span{background:#c4b8a8;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite chatTyping}.wfd-chat-typing span:nth-child(2){animation-delay:.2s}.wfd-chat-typing span:nth-child(3){animation-delay:.4s}@keyframes chatTyping{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.wfd-card-tap-hint{color:#9a8a73;text-align:right;pointer-events:none;margin-top:10px;font-size:.75rem;font-style:italic}.wfd-card-swap-hint{color:#a89a82;text-align:center;pointer-events:none;letter-spacing:.2px;border-top:1px solid #f0e6d6;margin-top:12px;padding-top:10px;font-size:.7rem}.wfd-card-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px;display:flex}.wfd-action-like,.wfd-action-maybe,.wfd-action-nope{cursor:pointer;border-radius:14px;align-items:center;gap:4px;padding:4px 12px;font-size:.75rem;font-weight:500;transition:all .2s;display:flex}.wfd-action-icon{font-size:.85rem}.wfd-action-like{color:#8a6a1f;background:#fff6d9;border:1px solid #e8ce7a}.wfd-action-like:hover{background:#ffeeb8;border-color:#c9a84a;transform:scale(1.03)}.wfd-action-like:active{background:#ffe69c;transform:scale(.95)}.wfd-action-maybe{color:#6b6558;background:#f4f2ee;border:1px solid #d8d2c4}.wfd-action-maybe:hover{background:#ebe7df;border-color:#b8b0a0;transform:scale(1.03)}.wfd-action-maybe:active{background:#ddd7c9;transform:scale(.95)}.wfd-action-nope{color:#c44d4d;background:#fef0f0;border:1px solid #f0c4c4}.wfd-action-nope:hover{background:#fde0e0;border-color:#e05555;transform:scale(1.03)}.wfd-action-nope:active{background:#f5c8c8;transform:scale(.95)}.wfd-card-wrapper{transition:all .4s}.wfd-card-wrapper .wfd-suggestion-card{animation:.4s ease-out both cardSlideUp}@keyframes cardSlideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.wfd-card-skipping{opacity:0;max-height:0;margin:0;padding:0;overflow:hidden;transform:translate(-100px)}.wfd-tinder-card{flex-direction:column;gap:12px;display:flex}.wfd-tinder-card .wfd-suggestion-card{animation:none}.wfd-tinder-actions{justify-content:center;gap:12px;display:flex}.wfd-tinder-btn{cursor:pointer;border-radius:24px;padding:12px 28px;font-size:.9rem;font-weight:600;transition:all .15s}.wfd-tinder-skip{color:#8b7355;background:#fff;border:2px solid #d4c5b0}.wfd-tinder-skip:hover{color:#c44d4d;border-color:#c44d4d}.wfd-tinder-like{color:#fff;background:#d4763c;border:2px solid #d4763c}.wfd-tinder-like:hover{background:#c06830}.wfd-tinder-progress{justify-content:center;gap:6px;padding:8px 0;display:flex}.wfd-tinder-dot{background:#ddd5c8;border-radius:50%;width:8px;height:8px}.wfd-tinder-dot.active{background:#d4763c;transform:scale(1.3)}.wfd-tinder-dot.done{background:#5b8c3e}.wfd-tinder-done{text-align:center;color:#8b7355;padding:24px}.wfd-shortlist{border-top:1px solid #ede4d8;margin-top:16px;padding-top:12px}.wfd-shortlist h4{color:#5a4a38;margin:0 0 8px;font-size:.85rem}.wfd-shortlist-item{cursor:pointer;background:#f5efe6;border-radius:8px;justify-content:space-between;margin-bottom:4px;padding:8px 12px;transition:background .15s;display:flex}.wfd-shortlist-item:hover{background:#ede4d8}.wfd-shortlist-title{color:#2d2013;font-weight:500}.wfd-shortlist-meta{color:#8b7355;font-size:.82rem}.admin-settings-bar{border-bottom:1px solid #ede4d8;align-items:center;gap:8px;margin-bottom:8px;padding:8px 0;display:flex}.admin-settings-label{color:#5a4a38;font-size:.82rem;font-weight:600}.admin-sort-bar{color:#5a4a38;align-items:center;gap:16px;padding:8px 0;font-size:.82rem;display:flex}.admin-sort-bar label{align-items:center;gap:4px;display:flex}.admin-sort-bar select{border:1px solid #d4c5b0;border-radius:4px;margin-left:4px;padding:3px 6px;font-size:.8rem}.admin-kid-filter{gap:4px;margin-left:auto;display:flex}.admin-kid-filter-btn{color:#5a4a38;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d4c5b0;border-radius:12px;padding:3px 10px;font-size:.75rem}.admin-kid-filter-btn:hover{background:#f5efe6}.admin-kid-filter-btn.active{color:#fff;background:#d4763c;border-color:#d4763c;font-weight:600}.admin-tag-stats{border-bottom:1px solid #ede4d8;flex-direction:column;gap:8px;margin-bottom:8px;padding:10px 0;display:flex}.admin-tag-group{align-items:flex-start;gap:8px;display:flex}.admin-tag-category{color:#8b7355;min-width:55px;padding-top:3px;font-size:.75rem;font-weight:700}.admin-tag-chips{flex-wrap:wrap;gap:4px;display:flex}.admin-tag-chip{color:#5a4a38;background:#f5efe6;border-radius:10px;padding:2px 8px;font-size:.7rem}.admin-tag-chip strong{color:#d4763c;margin-left:2px}.admin-settings-select{color:#2d2013;background:#fff;border:1px solid #d4c5b0;border-radius:6px;padding:4px 8px;font-size:.82rem}.admin-clickability-controls{flex-wrap:wrap}.admin-clickability-search{border:1px solid #d4c5b0;border-radius:6px;width:min(280px,48vw);padding:5px 8px;font-size:.82rem}.admin-clickability-empty{border-top:1px solid #ede4d8;padding:18px 0}.admin-clickability-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:14px;display:grid}.admin-clickability-grid-wrap{background:#fff;border:1px solid #eadfce;border-radius:8px;overflow:auto}.admin-clickability-grid{border-collapse:collapse;width:100%;min-width:780px;font-size:.78rem}.admin-clickability-grid th,.admin-clickability-grid td{text-align:left;vertical-align:top;border-bottom:1px solid #f0e6d8;padding:8px 10px}.admin-clickability-grid th{z-index:1;color:#5a4a38;background:#fbf7f0;font-weight:700;position:sticky;top:0}.admin-clickability-grid th button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.admin-clickability-grid tbody tr{cursor:pointer}.admin-clickability-grid tbody tr:hover,.admin-clickability-grid tbody tr.selected{background:#fff4e8}.admin-clickability-grid tbody tr.retired{opacity:.55}.admin-clickability-title{color:#2d2013;min-width:160px;font-weight:700}.admin-clickability-description{color:#5a4a38;max-width:260px}.admin-score-pill{border-radius:6px;justify-content:center;align-items:center;width:38px;height:26px;font-size:.82rem;font-weight:800;display:inline-flex}.admin-score-pill.score-low{color:#9f2f20;background:#fee2dd}.admin-score-pill.score-mid{color:#7a5200;background:#fff1c8}.admin-score-pill.score-high{color:#245f2c;background:#dff3df}.admin-clickability-detail{color:#2d2013;background:#fffdf9;border:1px solid #eadfce;border-radius:8px;padding:14px;position:sticky;top:12px}.admin-clickability-detail-header{border-bottom:1px solid #f0e6d8;align-items:flex-start;gap:10px;margin-bottom:10px;padding-bottom:10px;display:flex}.admin-clickability-detail h3{margin:0 0 4px;font-size:1rem;line-height:1.2}.admin-clickability-detail h4{text-transform:uppercase;letter-spacing:0;color:#8b7355;margin:12px 0 4px;font-size:.76rem}.admin-clickability-detail p{color:#5a4a38;margin:0;font-size:.84rem;line-height:1.45}.admin-clickability-rewrite label{color:#8b7355;margin:8px 0 3px;font-size:.74rem;font-weight:700;display:block}.admin-clickability-suggestion{color:#2d2013;background:#fff;border:1px solid #eadfce;border-radius:6px;padding:8px;font-size:.84rem;line-height:1.35}@media (width<=980px){.admin-clickability-layout{grid-template-columns:1fr}.admin-clickability-detail{position:static}}.admin-portal{max-width:1180px;margin:0 auto;padding:16px}.admin-login{text-align:center;flex-direction:column;gap:12px;max-width:300px;margin:100px auto;display:flex}.admin-login input{border:1px solid #d4c5b0;border-radius:8px;padding:10px;font-size:1rem}.admin-login button{color:#fff;cursor:pointer;background:#d4763c;border:none;border-radius:8px;padding:10px;font-size:1rem}.admin-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.admin-header h2{color:#2d2013;margin:0}.admin-logout{cursor:pointer;color:#8b7355;background:0 0;border:1px solid #d4c5b0;border-radius:6px;padding:4px 12px;font-size:.85rem}.admin-tabs{border-bottom:2px solid #ede4d8;gap:4px;margin-bottom:16px;padding-bottom:0;display:flex}.admin-tab{cursor:pointer;color:#8b7355;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 16px;font-size:.85rem;font-weight:600}.admin-tab-active{color:#d4763c;border-bottom-color:#d4763c}.admin-section{padding:8px 0}.admin-desc{color:#5a4a38;margin:0 0 12px;font-size:.9rem}.admin-error{color:#c53030;background:#fde8e8;border:1px solid #f5c2c2;border-radius:8px;margin-top:12px;padding:10px;font-size:.85rem}.admin-seed-results{margin-top:16px}.admin-seed-results h3{color:#2d2013;margin:0;font-size:.95rem;font-weight:600}.admin-seed-summary{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.admin-seed-counter{margin-left:4px;font-size:.85rem;font-weight:500}.admin-seed-counter-added{color:#2d6b24}.admin-seed-counter-near{color:#9a6a1f}.admin-seed-counter-dupe{color:#8b7355}.admin-seed-view-pool{color:#5a4a38;cursor:pointer;white-space:nowrap;background:#f4f2ee;border:1px solid #d8d2c4;border-radius:6px;padding:5px 12px;font-size:.8rem;font-weight:500;transition:all .15s}.admin-seed-view-pool:hover{background:#ebe7df;border-color:#c4b99a}.admin-seed-list{flex-direction:column;gap:2px;max-height:400px;display:flex;overflow-y:auto}.admin-seed-item{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:.85rem;display:flex}.admin-seed-item:hover{background:#f5efe6}.admin-seed-added{color:#2d6b24}.admin-seed-dupe{color:#8b7355;text-decoration:line-through}.admin-seed-error{color:#c53030}.admin-seed-status{text-align:center;width:16px;font-weight:700}.admin-seed-buttons{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.admin-seed-btn-openai{background:#2a8678;border-color:#2a8678}.admin-seed-btn-openai:hover:not(:disabled){background:#237166;border-color:#237166}.admin-seed-badge{text-align:center;border-radius:4px;width:18px;height:18px;margin-right:6px;font-size:.7rem;font-weight:700;line-height:18px;display:inline-block}.admin-seed-badge-anthropic{color:#6b4f1e;background:#ede0c8}.admin-seed-badge-openai{color:#1f5d54;background:#d6efe9}.admin-seed-btn-hydrate{background:#2a8678;border-color:#2a8678}.admin-seed-btn-hydrate:hover:not(:disabled){background:#237166;border-color:#237166}.admin-seed-prompt{background:#faf5ec;border:1px solid #e8ddc7;border-radius:6px;margin:12px 0;padding:8px 12px;font-size:.85rem}.admin-seed-prompt summary{cursor:pointer;color:#5a4a38;font-weight:500}.admin-seed-prompt pre{color:#3d2f1f;white-space:pre-wrap;word-break:break-word;background:#fff;border-radius:4px;max-height:320px;margin:8px 0 0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;overflow-y:auto}.admin-prompt-picker{margin:0 0 10px}.admin-seed-title-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-prompt-picker label{color:#5a4a38;align-items:center;gap:8px;font-size:.82rem;font-weight:600;display:inline-flex}.admin-prompt-picker select{color:#2d2013;background:#fff;border:1px solid #d9cfc2;border-radius:6px;padding:6px 8px}.admin-hydrate-controls{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:10px;display:flex}.admin-title-list{background:#fff;border:1px solid #e8ddc7;border-radius:6px;margin-top:14px;padding:8px 0}.admin-title-summary{color:#5a4a38;border-bottom:1px solid #f0e6d6;padding:8px 14px;font-size:.85rem}.admin-title-row{cursor:pointer;border-bottom:1px solid #f4ecde;align-items:flex-start;gap:10px;padding:10px 14px;transition:background .12s;display:flex}.admin-title-row:last-child{border-bottom:none}.admin-title-row:hover{background:#faf5ec}.admin-title-row-dupe{opacity:.55}.admin-title-row-near{background:#fffaf0}.admin-title-row input[type=checkbox]{flex-shrink:0;margin-top:3px}.admin-title-text{flex:1;min-width:0}.admin-title-name{color:#2d2013;font-size:.95rem;font-weight:500}.admin-title-dupe-tag{color:#8b6f3a;vertical-align:middle;background:#f4e8cf;border-radius:3px;margin-left:8px;padding:1px 6px;font-size:.7rem;font-weight:500;display:inline-block}.admin-title-near-tag{color:#8a5a16;background:#f7e6c2}.admin-title-desc{color:#6b5a43;margin-top:2px;font-size:.85rem;line-height:1.4}.admin-title-meta{color:#7a6850;opacity:.85;margin-top:2px;font-size:.78rem;font-style:italic}.admin-title-clickability{color:#3f3022;background:#fffbf5;border:1px solid #eadfce;border-radius:6px;margin-top:9px;padding:9px 10px}.admin-title-clickability-header{align-items:center;gap:8px;margin-bottom:7px;font-size:.82rem;display:flex}.admin-title-eval-grid{color:#5a4a38;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;font-size:.78rem;line-height:1.35;display:grid}.admin-title-eval-grid div{min-width:0}.admin-title-eval-grid span{color:#8b7355;text-transform:uppercase;letter-spacing:0;margin-bottom:1px;font-size:.68rem;font-weight:800;display:block}@media (width<=760px){.admin-title-eval-grid{grid-template-columns:1fr}}.admin-prompt-tuning-controls{flex-wrap:wrap;gap:12px}.admin-prompt-tuning-controls label{color:#6b5a43;flex-direction:column;gap:4px;font-size:.78rem;display:flex}.admin-prompt-tuning-controls select{background:#fff;border:1px solid #d4c5b0;border-radius:6px;min-width:180px;padding:6px 8px;font-size:.84rem}.admin-prompt-tuning-prompt{margin:12px 0}.admin-prompt-tuning-summary{grid-template-columns:repeat(8,minmax(78px,1fr));gap:8px;margin:14px 0;display:grid}.admin-prompt-tuning-summary div{background:#fffdf9;border:1px solid #eadfce;border-radius:6px;padding:10px}.admin-prompt-tuning-summary strong{color:#2d2013;font-size:1.08rem;display:block}.admin-prompt-tuning-summary span{color:#8b7355;text-transform:uppercase;margin-top:2px;font-size:.72rem;font-weight:700;display:block}.admin-prompt-tuning-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.admin-prompt-tuning-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0;display:grid}.admin-prompt-tuning-grid section,.admin-prompt-tuning-directions,.admin-prompt-tuning-analysis{background:#fffdf9;border:1px solid #eadfce;border-radius:8px;padding:12px}.admin-prompt-tuning-grid h3,.admin-prompt-tuning-directions h3,.admin-prompt-tuning-analysis h3{color:#2d2013;margin:0 0 8px;font-size:.95rem}.admin-prompt-tuning-example{border-top:1px solid #f0e6d8;align-items:flex-start;gap:9px;padding:9px 0;display:flex}.admin-prompt-tuning-example:first-of-type{border-top:0}.admin-prompt-tuning-example strong{color:#2d2013;font-size:.86rem;display:block}.admin-prompt-tuning-example p{color:#5a4a38;margin:3px 0 0;font-size:.78rem;line-height:1.35}.admin-prompt-tuning-directions{margin:12px 0}.admin-prompt-tuning-directions div{color:#5a4a38;border-top:1px solid #f0e6d8;gap:8px;padding:6px 0;font-size:.82rem;display:flex}.admin-prompt-tuning-directions div:first-of-type{border-top:0}.admin-prompt-tuning-analysis{margin:12px 0}.admin-prompt-tuning-analysis pre{white-space:pre-wrap;color:#2d2013;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.8rem;line-height:1.45}.admin-prompt-tuning-samples .admin-title-row{cursor:default}@media (width<=980px){.admin-prompt-tuning-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-prompt-tuning-grid{grid-template-columns:1fr}}@media (width<=620px){.admin-prompt-tuning-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-archetype-badge{vertical-align:middle;letter-spacing:.02em;text-transform:uppercase;border-radius:3px;margin-right:6px;padding:1px 7px;font-size:.68rem;font-weight:700;display:inline-block}.admin-archetype-titles-formula{color:#1a5296;background:#e3f0ff}.admin-archetype-titles-canon{color:#2e6b35;background:#e8f5e9}.admin-archetype-titles-passport{color:#8b1a3a;background:#fce4ec}.admin-archetype-titles-extremes{color:#8b5000;background:#fff3e0}.admin-prompt-kind-group-header{text-transform:uppercase;letter-spacing:.06em;color:#9a8878;border-top:1px solid #ede4d8;margin-top:4px;padding:6px 0 4px;font-size:.72rem;font-weight:700}.admin-prompt-kind-group-header:first-child{border-top:none;margin-top:0}.admin-prompt-kind-desc{color:#9a8878;margin:2px 0 6px;font-size:.78rem;font-style:italic}.admin-error-block{background:#fef0f0;border:1px solid #f0c4c4;border-radius:6px;margin:10px 0;padding:10px 12px}.admin-error-header{color:#8b3030;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.85rem;display:flex}.admin-error-copy{cursor:pointer;color:#5a4a38;background:#fff;border:1px solid #d8d2c4;border-radius:5px;padding:3px 12px;font-size:.75rem;font-weight:500}.admin-error-copy:hover{background:#f4f2ee}.admin-error-text{color:#6b3030;white-space:pre-wrap;word-break:break-word;background:#fff;border-radius:4px;max-height:320px;margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;overflow-y:auto}.admin-prompt-lab{grid-template-columns:minmax(260px,34%) 1fr;gap:16px;display:grid}.admin-prompt-list-panel,.admin-prompt-editor-panel{background:#fffdf8;border:1px solid #ede4d8;border-radius:8px;padding:12px}.admin-prompt-kind{margin-bottom:16px}.admin-prompt-kind-header,.admin-prompt-editor-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.admin-prompt-kind-header h3,.admin-prompt-editor-header h3{color:#2d2013;margin:0;font-size:.95rem}.admin-prompt-version-list{flex-direction:column;gap:6px;display:flex}.admin-prompt-version{text-align:left;color:#2d2013;cursor:pointer;background:#fff;border:1px solid #eadfce;border-radius:6px;grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.admin-prompt-version small,.admin-prompt-id{color:#8b7355;font-size:.68rem}.admin-prompt-id{margin:2px 0 0;font-weight:600}.admin-prompt-version.active{background:#fff5ed;border-color:#d4763c}.admin-prompt-version em{color:#2d6b24;font-size:.68rem;font-style:normal;font-weight:700}.admin-prompt-actions{gap:8px;display:flex}.admin-prompt-length-panel{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 14px;display:grid}.admin-prompt-length-panel div{background:#fffdf9;border:1px solid #eadfce;border-radius:6px;min-width:0;padding:8px 10px}.admin-prompt-length-panel span,.admin-prompt-length-panel small{color:#8b7355;text-transform:uppercase;font-size:.68rem;font-weight:700;display:block}.admin-prompt-length-panel strong{color:#2d2013;text-overflow:ellipsis;white-space:nowrap;margin:2px 0;font-size:.86rem;line-height:1.25;display:block;overflow:hidden}.admin-prompt-length-panel small{text-transform:none;font-weight:600}.admin-prompt-textarea{min-height:280px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}@media (width<=980px){.admin-prompt-length-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.admin-prompt-lab{grid-template-columns:1fr}}.admin-pool-header{color:#5a4a38;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.85rem;display:flex}.admin-pool-list{flex-direction:column;gap:2px;max-height:500px;display:flex;overflow-y:auto}.admin-pool-item{border-bottom:1px solid #f0e6d3;align-items:center;gap:8px;padding:6px 8px;font-size:.82rem;display:flex}.admin-pool-retired{opacity:.4;text-decoration:line-through}.admin-photo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-top:8px;display:grid}.admin-photo-card{cursor:pointer;background:#fff;border:1px solid #e0cfc4;border-radius:8px;transition:box-shadow .15s;overflow:hidden}.admin-photo-card:hover{box-shadow:0 4px 16px #0000001f}.admin-photo-card-img{aspect-ratio:1;background:#f0e8e0;width:100%;overflow:hidden}.admin-photo-card-img img{object-fit:cover;width:100%;height:100%;display:block}.admin-photo-card-placeholder{color:#b0a090;justify-content:center;align-items:center;width:100%;height:100%;font-size:.72rem;display:flex}.admin-photo-card-body{padding:8px 10px 10px}.admin-photo-card-title{color:#3a2a1a;margin-bottom:3px;font-size:.82rem;font-weight:600;line-height:1.3}.admin-photo-card-meta{color:#8a7060;margin-bottom:3px;font-size:.72rem}.admin-photo-card-stats{color:#a09080;font-size:.7rem}.admin-image-exp-controls{grid-template-columns:minmax(220px,1fr) 140px;align-items:end;gap:12px;margin-bottom:14px;display:grid}.admin-image-exp-presets,.admin-image-exp-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.admin-image-exp-presets label{color:#5a4a38;align-items:center;gap:6px;font-size:.82rem;display:inline-flex}.admin-image-exp-picker{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;display:grid}.admin-image-exp-pick{background:#fffaf2;border:1px solid #e0d9cf;border-radius:6px;grid-template-columns:auto 40px minmax(0,1fr);align-items:center;gap:8px;padding:8px;display:grid}.admin-image-exp-pick img,.admin-image-exp-recipe img{object-fit:cover;border-radius:4px;width:40px;height:40px}.admin-image-exp-pick span,.admin-image-exp-recipe{min-width:0}.admin-image-exp-pick strong,.admin-image-exp-recipe strong{text-overflow:ellipsis;white-space:nowrap;color:#2d2013;display:block;overflow:hidden}.admin-image-exp-pick small,.admin-image-exp-recipe small{text-overflow:ellipsis;white-space:nowrap;color:#8b7355;font-size:.75rem;display:block;overflow:hidden}.admin-image-exp-empty{background:#f0e8e0;border-radius:4px;width:40px;height:40px;display:inline-block}.admin-image-exp-table-wrap{overflow-x:auto}.admin-image-exp-table{border-collapse:collapse;width:100%;min-width:980px;font-size:.82rem}.admin-image-exp-table th,.admin-image-exp-table td{vertical-align:top;background:#fffaf2;border:1px solid #e0d9cf;padding:8px}.admin-image-exp-table th{z-index:1;text-align:left;background:#f5efe6;position:sticky;top:0}.admin-image-exp-recipe{width:190px}.admin-image-exp-candidate{flex-direction:column;gap:8px;min-width:210px;display:flex}.admin-image-exp-img,.admin-image-exp-placeholder{aspect-ratio:1;object-fit:cover;background:#f0e8e0;border-radius:6px;width:100%}.admin-image-exp-placeholder{color:#8b7355;place-items:center;display:grid}.admin-image-exp-status,.admin-image-exp-scores{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-image-exp-status strong{color:#2d6b24}.admin-image-exp-score{color:#5a4a38;align-items:center;gap:4px;font-size:.72rem;display:inline-flex}.admin-image-exp-score select{background:#fff;border:1px solid #d0b8b0;border-radius:4px;height:24px}.admin-image-exp-notes{resize:vertical;box-sizing:border-box;border:1px solid #d0b8b0;border-radius:4px;width:100%;min-height:48px;padding:6px;font-size:.78rem}.admin-image-exp-audit summary{cursor:pointer;color:#8b7355}.admin-image-exp-audit pre{white-space:pre-wrap;color:#fff7ec;background:#2b2118;border-radius:4px;max-height:160px;padding:8px;font-size:.72rem;overflow:auto}@media (width<=720px){.admin-image-exp-controls{grid-template-columns:1fr}.admin-image-exp-table{min-width:760px}}.admin-detail-bar{z-index:10500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border:1px solid #d0b8a8;border-radius:24px;align-items:center;gap:8px;padding:6px 14px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0000002e}.admin-regen-panel{z-index:10500;background:#fff;border-top:2px solid #d0b8a8;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #0000001f}.admin-regen-panel-inner{max-width:680px;margin:0 auto;padding:16px 20px 20px}.admin-regen-panel-header{align-items:center;margin-bottom:8px;font-size:.88rem;display:flex}.admin-regen-prompt-textarea{resize:vertical;box-sizing:border-box;border:1px solid #d0b8b0;border-radius:6px;width:100%;padding:8px 10px;font-family:monospace;font-size:.75rem;line-height:1.5}.admin-regen-compare{gap:16px;margin-top:4px;display:flex}.admin-regen-compare-col{flex:1;min-width:0}.admin-regen-compare-label{color:#7a6050;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.75rem;font-weight:600}.admin-regen-compare-img{aspect-ratio:1;object-fit:cover;border:1px solid #e0cfc4;border-radius:8px;width:100%;display:block}.admin-regen-compare-empty{aspect-ratio:1;color:#a09080;background:#f0e8e0;border:1px dashed #d0b8a8;border-radius:8px;justify-content:center;align-items:center;width:100%;font-size:.78rem;display:flex}.admin-version-bar{border-bottom:1px solid #ede4d8;flex-wrap:wrap;gap:6px;margin-bottom:12px;padding:8px 0;display:flex}.admin-version-chip{background:#f5efe6;border:1px solid #0000;border-radius:12px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;display:flex}.admin-version-chip.active{background:#fff8eb;border-color:#d4763c}.admin-version-clear{color:#7c6141;cursor:pointer;border:1px solid #d9c7ad}.admin-version-label{color:#d4763c;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.admin-version-count{color:#8b7355}.admin-version-clickability{color:#2d6b24;margin-left:2px;font-weight:700}.admin-version-retire{color:#c44d4d;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:.7rem;text-decoration:underline}.admin-version-retire:hover{color:#a03030}.admin-version-tag{color:#d4763c;text-align:center;background:#fef3e0;border-radius:4px;flex-shrink:0;min-width:24px;padding:1px 6px;font-size:.65rem;font-weight:700}.admin-pool-title{cursor:pointer;color:#2d2013;flex:1;font-weight:500}.admin-pool-title:hover{text-decoration:underline}.admin-pool-tags{color:#8b7355;min-width:120px;font-size:.75rem}.admin-pool-prompt{color:#8b7355;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.72rem;overflow:hidden}.admin-pool-stats{color:#5a4a38;text-align:right;justify-content:flex-end;align-items:center;gap:5px;min-width:92px;font-size:.75rem;display:inline-flex}.admin-clickability-pill{border-radius:6px;justify-content:center;align-items:center;min-width:26px;padding:2px 6px;font-size:.72rem;font-weight:800;display:inline-flex}.admin-clickability-pill.score-low{color:#9f2f20;background:#fee2dd}.admin-clickability-pill.score-mid{color:#7a5200;background:#fff1c8}.admin-clickability-pill.score-high{color:#245f2c;background:#dff3df}.admin-badge{border-radius:4px;padding:1px 6px;font-size:.65rem;font-weight:600;display:inline-block}.admin-badge-warn{color:#856404;background:#fef3cd}.admin-batch-list{flex-direction:column;gap:4px;display:flex}.admin-batch-item{border:1px solid #ede4d8;border-radius:8px;align-items:center;gap:12px;padding:8px 10px;font-size:.85rem;display:flex}.admin-batch-rolledback{opacity:.5}.admin-batch-version{color:#d4763c;min-width:30px;font-weight:700}.admin-batch-date{color:#8b7355;min-width:80px}.admin-batch-count{color:#5a4a38}.admin-batch-prompts{color:#8b7355;min-width:90px;font-size:.72rem}.admin-batch-status{text-align:right;flex:1;font-size:.75rem}.admin-batch-status-active{color:#2d6b24}.admin-batch-status-rolled-back{color:#c53030}.admin-coverage-table{border-collapse:collapse;font-size:.75rem}.admin-coverage-table th,.admin-coverage-table td{text-align:center;border:1px solid #ede4d8;padding:4px 8px}.admin-coverage-table th{color:#5a4a38;background:#f5efe6;font-weight:600}.admin-coverage-cuisine{color:#2d2013;font-weight:600;text-align:left!important}.admin-coverage-empty{color:#ccc;background:#fde8e8}.admin-coverage-low{color:#856404;background:#fef3cd}.admin-coverage-good{color:#155724;background:#d4edda}.admin-stats-summary{flex-direction:column;gap:4px;margin-bottom:16px;display:flex}.admin-stats-row{border-bottom:1px solid #f0e6d3;gap:16px;padding:4px 0;font-size:.82rem;display:flex}.admin-stats-name{color:#2d2013;min-width:120px;font-weight:600}.admin-stats-calls{flex-direction:column;gap:2px;display:flex}.admin-stats-call{color:#5a4a38;gap:12px;padding:3px 0;font-family:monospace;font-size:.75rem;display:flex}.admin-stats-endpoint{color:#2d2013;min-width:120px;font-weight:600}.admin-stats-time{color:#8b7355}.admin-preview-overlay{z-index:300;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.admin-preview{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:80vh;padding:20px;position:relative;overflow-y:auto}.admin-preview h3{color:#2d2013;margin:0 0 12px}.admin-preview-json{white-space:pre-wrap;word-break:break-word;background:#f5f0e8;border-radius:8px;padding:12px;font-size:.75rem;overflow-x:auto}.admin-pipeline-indicator{align-items:center;gap:3px;display:inline-flex}.admin-pipeline-dot{letter-spacing:0;border-radius:3px;padding:1px 4px;font-size:.6rem;font-weight:700}.admin-pipeline-dot.dot-done{color:#155724;background:#d4edda}.admin-pipeline-dot.dot-miss{color:#856404;background:#fef3cd}.admin-pipeline-list{flex-direction:column;gap:4px;max-height:400px;margin-top:8px;display:flex;overflow-y:auto}.admin-pipeline-row{background:#fafafa;border:1px solid #eee;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:.82rem;display:flex}.admin-pipeline-version{color:#d4763c;background:#fef3e0;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:.65rem;font-weight:700}.admin-pipeline-title{cursor:pointer;color:#2d2013;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.admin-pipeline-title:hover{text-decoration:underline}.admin-pipeline-error{color:#c44d4d;font-size:.75rem}.admin-stepper{flex-direction:column;gap:0;display:flex}.admin-step{border-left:3px solid #e0d9cf;margin-left:14px;padding:0 0 20px 20px;position:relative}.admin-step:last-child{padding-bottom:0}.admin-step-idle{border-left-color:#e0d9cf}.admin-step-active{border-left-color:#c8a96e}.admin-step-running{border-left-color:#4a7fa5}.admin-step-done{border-left-color:#4caf50}.admin-step-header{align-items:center;gap:10px;margin-bottom:10px;display:flex;position:relative}.admin-step-number{width:24px;height:24px;color:inherit;background:#fff;border:2px solid;border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex;position:absolute;left:-34px}.admin-step-idle .admin-step-number{color:#c0b8ae;border-color:#c0b8ae}.admin-step-active .admin-step-number{color:#c8a96e;border-color:#c8a96e}.admin-step-running .admin-step-number{color:#4a7fa5;background:#eaf2f8;border-color:#4a7fa5}.admin-step-done .admin-step-number{color:#fff;background:#4caf50;border-color:#4caf50;font-size:0}.admin-step-done .admin-step-number:before{content:"✓";font-size:.65rem}.admin-step-label{color:#2d2013;font-size:.95rem;font-weight:600}.admin-step-idle .admin-step-label{color:#aaa}.admin-step-status-pill{color:#666;margin-left:auto;font-size:.75rem}.admin-step-running .admin-step-status-pill{color:#4a7fa5}.admin-step-done .admin-step-status-pill{color:#4caf50}.admin-step-elapsed{font-variant-numeric:tabular-nums;color:#4a7fa5;font-size:.78rem;font-weight:600}.admin-step-body{flex-direction:column;gap:10px;display:flex}.admin-step-idle .admin-step-body{display:none}.admin-step-hint{color:#888;margin:0;font-size:.82rem}.admin-step-progress-track{background:#e8e2d8;border-radius:3px;max-width:400px;height:6px;overflow:hidden}.admin-step-progress-fill{background:#4a7fa5;border-radius:3px;min-width:4px;height:100%;transition:width .4s}.admin-badge-kid{color:#155724;background:#d4edda}.admin-badge-fork{color:#004085;background:#cce5ff}.admin-badge-unclassified{color:#6c757d;background:#e2e3e5}.admin-pool-editor{width:100%;max-width:720px}.admin-edit-title{color:#2d2013;margin:0 0 6px;font-size:1.1rem}.admin-edit-stats{color:#8b7355;border-bottom:1px solid #ede4d8;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding-bottom:12px;font-size:.75rem;display:flex}.admin-edit-hash{font-family:monospace}.admin-provenance-panel{background:#fbf7f0;border:1px solid #e7dccb;border-radius:8px;margin:-2px 0 16px;padding:10px 12px}.admin-provenance-header{text-transform:uppercase;letter-spacing:.05em;color:#8b7355;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:.7rem;font-weight:700;display:flex}.admin-provenance-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.admin-provenance-grid>div{min-width:0}.admin-provenance-label{color:#8b7355;margin-bottom:2px;font-size:.68rem;display:block}.admin-provenance-grid strong{text-overflow:ellipsis;white-space:nowrap;color:#2d2013;font-size:.78rem;display:block;overflow:hidden}.admin-provenance-grid small{color:#8b7355;margin-top:1px;font-size:.68rem;display:block}.admin-provenance-coords{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.admin-provenance-chip{color:#5a4a38;background:#fffaf3;border:1px solid #ded1bd;border-radius:999px;align-items:center;gap:4px;max-width:100%;padding:3px 7px;font-size:.72rem;display:inline-flex}.admin-provenance-chip b{color:#8b7355}.admin-provenance-empty{color:#8b7355;margin:8px 0 0;font-size:.72rem}@media (width<=720px){.admin-provenance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-edit-section{border-bottom:1px solid #f0e6d3;margin-bottom:14px;padding-bottom:14px}.admin-edit-section-label{text-transform:uppercase;letter-spacing:.05em;color:#8b7355;margin-bottom:8px;font-size:.7rem;font-weight:700}.admin-edit-field{flex-direction:column;flex:1;gap:3px;display:flex}.admin-edit-row{gap:10px;display:flex}.admin-edit-label{color:#5a4a38;font-size:.72rem;font-weight:600}.admin-edit-input{box-sizing:border-box;background:#fdfaf6;border:1px solid #ddd3c0;border-radius:6px;width:100%;padding:5px 8px;font-size:.82rem}.admin-edit-textarea{box-sizing:border-box;resize:vertical;background:#fdfaf6;border:1px solid #ddd3c0;border-radius:6px;width:100%;height:80px;padding:6px 8px;font-size:.82rem}.admin-edit-textarea-sm{height:56px}.admin-edit-textarea-lg{height:140px}.admin-edit-mono{font-family:monospace;font-size:.72rem}.admin-edit-kf-row{align-items:center;gap:16px;display:flex}.admin-edit-kf-option{cursor:pointer;align-items:center;gap:5px;font-size:.82rem;display:flex}.admin-edit-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px;display:flex}.admin-edit-tabs{flex-shrink:0;gap:2px;display:flex}.admin-edit-tab{color:#5a4a38;cursor:pointer;background:#fff;border:1px solid #d4c5b0;border-radius:6px;padding:4px 12px;font-size:.78rem}.admin-edit-tab:hover{background:#f5efe6}.admin-edit-tab.active{color:#fff;background:#d4763c;border-color:#d4763c;font-weight:600}.admin-card-preview-pane{padding:12px 0 4px}.admin-card-preview-label{text-transform:uppercase;letter-spacing:.05em;color:#8b7355;margin:0 0 10px;font-size:.7rem;font-weight:700}.admin-card-preview-frame{pointer-events:none;max-width:340px}.admin-edit-actions{border-top:1px solid #ede4d8;gap:10px;margin-top:16px;padding-top:12px;display:flex}.admin-edit-ing-header,.admin-edit-fork-header{text-transform:uppercase;letter-spacing:.04em;color:#8b7355;gap:6px;margin-bottom:4px;padding:0 2px;font-size:.65rem;font-weight:700;display:flex}.admin-edit-ing-row,.admin-edit-fork-row{align-items:center;gap:6px;margin-bottom:4px;display:flex}.admin-edit-amount{flex-shrink:0;width:90px}.admin-edit-step{text-align:center;flex-shrink:0;width:48px}.admin-edit-action{flex:2}.admin-edit-ing-row .admin-edit-input:not(.admin-edit-amount),.admin-edit-fork-row .admin-edit-input:not(.admin-edit-step):not(.admin-edit-action){flex:1}.admin-edit-remove{color:#c44d4d;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:1rem;line-height:1}.admin-edit-remove:hover{color:#8b0000}.admin-edit-add{color:#8b7355;cursor:pointer;background:0 0;border:1px dashed #c4a882;border-radius:6px;width:100%;margin-top:4px;padding:4px 10px;font-size:.75rem}.admin-edit-add:hover{color:#5a4a38;background:#faf5ed}.auth-sheet{z-index:1100;background:#fff;border-radius:16px 16px 0 0;width:100%;max-width:480px;margin:0 auto;padding:28px 24px 40px;animation:.22s slideUp;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #00000026}@keyframes slideUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}.auth-sheet-title{color:#3d2b1f;margin:0 0 6px;font-size:1.25rem;font-weight:700}.auth-sheet-subtitle{color:#7a6652;margin:0 0 20px;font-size:.9rem}.auth-sheet-form{flex-direction:column;gap:12px;display:flex}.auth-sheet-label{color:#5a4a38;font-size:.85rem;font-weight:600}.auth-sheet-input{box-sizing:border-box;border:1.5px solid #d4b896;border-radius:10px;width:100%;padding:12px 14px;font-size:1.1rem}.auth-sheet-input:focus{border-color:#8b4513;outline:none;box-shadow:0 0 0 2px #8b451326}.auth-sheet-consent{color:#7a6652;align-items:flex-start;gap:8px;font-size:.74rem;line-height:1.35;display:flex}.auth-sheet-consent input{flex:none;margin-top:2px}.auth-sheet-consent a{color:#8b4513;font-weight:600}.auth-sheet-code-input{letter-spacing:.3em;text-align:center;font-size:1.4rem}.auth-sheet-btn{width:100%;padding:14px;font-size:1rem}.auth-sheet-error{color:#c0392b;margin:0;font-size:.85rem}.auth-sheet-hint{color:#9e8c7c;text-align:center;margin:0;font-size:.8rem}.auth-sheet-sent{color:#5a4a38;margin:0;font-size:.85rem}.auth-sheet-resend,.auth-sheet-back{color:#8b4513;cursor:pointer;text-align:center;background:0 0;border:none;padding:0;font-size:.85rem}.auth-sheet-resend:disabled{color:#bbb;cursor:default}.notif-bell-wrap{display:inline-flex;position:relative}.notif-bell-btn{cursor:pointer;background:0 0;border:none;padding:6px;font-size:1.2rem;position:relative}.notif-bell-badge{color:#fff;text-align:center;background:#e74c3c;border-radius:50%;min-width:16px;height:16px;padding:0 3px;font-size:.65rem;font-weight:700;line-height:16px;position:absolute;top:1px;right:1px}.notif-dropdown{z-index:500;background:#fff;border:1px solid #e8d9c8;border-radius:12px;width:300px;max-height:400px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 4px 20px #0000001f}.notif-dropdown-header{color:#5a4a38;border-bottom:1px solid #f0e8da;padding:10px 14px;font-size:.85rem;font-weight:600}.notif-empty{color:#9e8c7c;margin:0;padding:14px;font-size:.85rem}.notif-list{margin:0;padding:0;list-style:none}.notif-item{border-bottom:1px solid #f5f0e8;align-items:flex-start;gap:8px;padding:10px 14px;display:flex}.notif-item-unread{background:#fdf8f2}.notif-icon{flex-shrink:0;font-size:1rem}.notif-text{color:#3d2b1f;flex:1;font-size:.85rem;line-height:1.4}.notif-date{color:#b09d8c;flex-shrink:0;font-size:.75rem}.share-picker-modal{background:#fff;border-radius:16px;flex-direction:column;width:94%;max-width:480px;max-height:80vh;padding:0;display:flex;overflow:hidden}.share-picker-header{border-bottom:1px solid #f0e8da;justify-content:space-between;align-items:center;padding:18px 20px 14px;display:flex}.share-picker-title{color:#3d2b1f;margin:0;font-size:1.1rem;font-weight:700}.share-picker-search{box-sizing:border-box;border:none;border-bottom:1px solid #f0e8da;width:100%;padding:12px 20px;font-size:1rem}.share-picker-search:focus{border-bottom-color:#8b4513;outline:none}.share-picker-empty{color:#9e8c7c;text-align:center;padding:20px;font-size:.9rem}.share-picker-list{margin:0;padding:0;list-style:none;overflow-y:auto}.share-picker-item{border-bottom:1px solid #faf5ed;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.share-picker-item:last-child{border-bottom:none}.share-picker-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.share-picker-recipe-title{color:#3d2b1f;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:500;overflow:hidden}.share-picker-recent{color:#8b4513;font-size:.75rem}.share-picker-btn{flex-shrink:0}.public-recipe-loading{color:#9e8c7c;text-align:center;padding:60px 20px}.public-recipe-save-cta{text-align:center;background:#fff;border:2px solid #8b4513;border-radius:12px;margin:0 0 24px;padding:16px 20px}.public-recipe-save-btn{width:100%;padding:14px 24px;font-size:1.05rem;display:block}.public-recipe-save-hint{color:#7a6652;margin:8px 0 0;font-size:.82rem}.public-recipe-secondary-cta{margin-top:12px}.public-recipe-saved-confirm{color:#27ae60;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:.95rem;font-weight:600;display:flex}.public-recipe-saved-check{font-size:1.2rem}.public-recipe-open-btn{margin-left:4px}.public-recipe-capture-prompt{text-align:center;background:#fdf8f2;border:1px solid #e8d9c8;border-radius:10px;margin:0 0 20px;padding:16px 20px}.public-recipe-capture-prompt p{color:#5a4a38;margin:0 0 14px}.public-recipe-capture-actions{justify-content:center;gap:10px;display:flex}.public-recipe-attribution{color:#9e8c7c;margin:4px 0 12px;font-size:.85rem}.public-recipe-save-footer{text-align:center;border-top:1px solid #f0e8da;margin-top:32px;padding-top:24px}.public-recipe-footer-link{color:#8b4513;font-size:.85rem;text-decoration:none}.public-recipe-secondary-btn{white-space:nowrap}.public-recipe-source{color:#7a6652;margin:-4px 0 14px;font-size:.9rem}.public-recipe-source a{color:inherit}.rescue-landing{padding-top:40px}.rescue-form{background:#fff;border:1px solid #e6d7c7;border-radius:12px;padding:18px}.rescue-input{width:100%;font:inherit;border:1px solid #d7c8b7;border-radius:10px;margin-bottom:12px;padding:14px 16px}.rescue-actions{flex-wrap:wrap;gap:10px;display:flex}.rescue-error{color:#9b3d2f;margin:12px 0 0}.cook-assist-recovery{border-top:1px solid #eadbcb;margin-top:18px;padding-top:18px}.cook-assist-recovery-actions{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.cook-assist-recovery-hint{color:#7a6652;margin:0 0 12px}.cook-assist-manual-input{min-height:180px;margin-bottom:12px}@media print{.public-recipe{color:#000;max-width:none;padding:0}.public-recipe-header,.public-recipe-save-cta,.public-recipe-save-footer,.public-recipe-capture-prompt,.public-recipe-footer,.public-recipe-header-actions,.public-recipe-source a{display:none!important}.public-recipe-title,.public-recipe-section-heading,.public-recipe-desc,.public-recipe-meta,.public-recipe-attribution,.public-recipe-source,.public-recipe-ingredients li,.recipe-instructions-list li,.public-smartcook-step{color:#000!important}.public-recipe-ingredients li,.recipe-instructions-list li,.public-smartcook-step{break-inside:avoid}}.public-smartcook-steps{counter-reset:step;margin:0;padding:0;list-style:none}.public-smartcook-step{counter-increment:step;border-bottom:1px solid #f0e8da;padding:14px 0 14px 36px;position:relative}.public-smartcook-step:before{color:#fff;content:counter(step);text-align:center;background:#8b4513;border-radius:50%;width:24px;height:24px;font-size:.75rem;font-weight:700;line-height:24px;position:absolute;top:16px;left:0}.public-smartcook-instruction{color:#3d2b1f;margin:0 0 8px;font-size:1rem;line-height:1.6}.public-smartcook-ingredients{margin:0;padding:0 0 0 4px;list-style:none}.public-smartcook-ingredients li{color:#7a6652;padding:2px 0;font-size:.85rem}.public-smartcook-amount{color:#5a4a38;margin-right:6px;font-weight:600}.header-share-btn{color:#fff;cursor:pointer;background:#8b4513;border:none;border-radius:8px;padding:6px 14px;font-size:.85rem;font-weight:600}.header-share-btn:hover{background:#6b3410}.voice-control-bar{align-items:center;gap:8px;display:flex}.voice-mic-btn{color:#5a3e28;cursor:pointer;background:#fffaf3;border:1px solid #d4c4a8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:background .15s,border-color .15s;display:flex}.voice-mic-btn:hover{background:#f5ede0}.voice-mic-btn-connecting{opacity:.7;background:#f5ede0;border-color:#c4a882}.voice-mic-btn-active{color:#2e7d32;background:#e8f5e9;border-color:#4caf50}.voice-mic-btn-speaking{color:#1565c0;background:#e3f2fd;border-color:#2196f3}.voice-mic-btn-open{color:#1b5e20;background:#d6f5d9;border-color:#2e7d32;box-shadow:0 0 0 3px #4caf5040}.voice-window-pill{background:#e6ddcd;border-radius:3px;width:72px;height:6px;display:inline-block;overflow:hidden}.voice-window-bar{transform-origin:0;background:#4caf50;border-radius:3px;width:100%;height:100%;display:block}.voice-pulse{background:#4caf50;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite voice-pulse-anim;display:inline-block}@keyframes voice-pulse-anim{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.5)}}.voice-transcript-flash{color:#7a5c3a;white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:.78rem;animation:.2s ease-out voice-flash-in;overflow:hidden}@keyframes voice-flash-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.voice-denied-msg{color:#c0392b;font-size:.75rem}.voice-hint{color:#999;font-size:.75rem;font-style:italic}.voice-current{outline-offset:4px;border-radius:8px;outline:2px solid #4caf50}.app-version{text-align:center;color:#bba898;letter-spacing:.02em;padding:12px 0 80px;font-size:.72rem}.app-version-link{color:inherit;text-underline-offset:2px;text-decoration:underline}.account-menu{display:inline-flex;position:relative}.account-menu-trigger{border:1.5px solid var(--cookbook-red,#a3302a);width:42px;height:42px;color:var(--cookbook-red,#a3302a);cursor:pointer;background:#fffcf7e6;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .15s,box-shadow .15s;display:inline-flex}.account-menu-trigger:hover{background:#fff;box-shadow:0 2px 8px #a3302a26}.account-menu-dropdown{border:1px solid var(--cookbook-border,#dcc3ba);z-index:600;text-align:left;background:#fffdfa;border-radius:14px;width:300px;max-width:calc(100vw - 24px);padding:18px 18px 8px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 34px #2f241d2e}.account-menu-identity{border-bottom:1px solid #efe4d8;flex-direction:column;gap:6px;padding-bottom:16px;display:flex}.account-menu-label{font-family:var(--cookbook-sans,system-ui, sans-serif);letter-spacing:.16em;text-transform:uppercase;color:#b58880;font-size:11px;font-weight:600}.account-menu-phone{font-family:var(--cookbook-serif,Georgia, serif);letter-spacing:.02em;color:var(--cookbook-ink,#2f241d);font-size:27px;font-weight:500;line-height:1.1}.account-menu-phone-muted{font-family:var(--cookbook-sans,system-ui, sans-serif);color:var(--cookbook-muted,#79675b);font-size:13px}.account-menu-addname{text-align:left;cursor:pointer;background:#f9ebe8;border:1px solid #efd7d2;border-radius:12px;flex-direction:column;gap:4px;width:100%;margin:14px 0 6px;padding:14px 16px;transition:background .15s;display:flex}.account-menu-addname:hover{background:#f6e2dd}.account-menu-addname-title{font-family:var(--cookbook-sans,system-ui, sans-serif);color:var(--cookbook-red,#a3302a);font-size:15px;font-weight:700}.account-menu-addname-sub{font-family:var(--cookbook-sans,system-ui, sans-serif);color:var(--cookbook-muted,#79675b);font-size:13px;line-height:1.35}.account-menu-name-row{cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;margin:14px 0 6px;padding:12px 4px;display:flex}.account-menu-name{font-family:var(--cookbook-serif,Georgia, serif);color:var(--cookbook-ink,#2f241d);font-size:20px}.account-menu-name-editlink{font-family:var(--cookbook-sans,system-ui, sans-serif);letter-spacing:.06em;text-transform:uppercase;color:var(--cookbook-red,#a3302a);font-size:12px;font-weight:600}.account-menu-name-edit{gap:8px;margin:14px 0 6px;display:flex}.account-menu-name-input{border:1px solid var(--cookbook-border,#dcc3ba);min-width:0;font-family:var(--cookbook-sans,system-ui, sans-serif);color:var(--cookbook-ink,#2f241d);background:#fff;border-radius:9px;flex:1;padding:9px 11px;font-size:14px}.account-menu-name-input:focus{border-color:var(--cookbook-red,#a3302a);outline:none}.account-menu-name-save{background:var(--cookbook-red,#a3302a);color:#fff;font-family:var(--cookbook-sans,system-ui, sans-serif);cursor:pointer;border:0;border-radius:9px;padding:0 14px;font-size:13px;font-weight:600}.account-menu-name-save:disabled{opacity:.5;cursor:default}.account-menu-divider{background:#efe4d8;height:1px;margin:8px 0}.account-menu-signout,.account-menu-signin{text-align:left;width:100%;font-family:var(--cookbook-sans,system-ui, sans-serif);color:var(--cookbook-red,#a3302a);cursor:pointer;background:0 0;border:0;padding:10px 4px 14px;font-size:15px;font-weight:600;display:block}.account-menu-signout:hover,.account-menu-signin:hover{color:var(--cookbook-red-dark,#7f241f)}:root{--cookbook-paper:#f8f2ea;--cookbook-shell:#f4ece2;--cookbook-card:#fffaf3;--cookbook-ink:#2f241d;--cookbook-muted:#79675b;--cookbook-border:#dcc3ba;--cookbook-red:#a3302a;--cookbook-red-dark:#7f241f;--cookbook-shadow:0 18px 45px #4f30211f;--cookbook-serif:"Cormorant Garamond", Georgia, serif;--cookbook-sans:"Hanken Grotesk", "Segoe UI", system-ui, sans-serif;--cookbook-mono:"Space Grotesk", ui-monospace, monospace}html[data-theme=cookbook] body{background:var(--cookbook-shell);color:var(--cookbook-ink);font-family:var(--cookbook-sans)}html[data-theme=cookbook] h1,html[data-theme=cookbook] h2,html[data-theme=cookbook] h3,html[data-theme=cookbook] .wfd-title{color:var(--cookbook-ink);font-family:var(--cookbook-serif);letter-spacing:0}.header-brand-block{align-items:center;min-width:max-content;display:flex}.header-eyebrow{display:none}.app-theme-cookbook{box-shadow:none;color:#2a1616;background:#fff;border:0;border-radius:0;width:100%;max-width:none;min-height:100vh;margin:0;padding:0;overflow:hidden}.app-theme-cookbook .app-header{border-bottom:2px solid var(--cookbook-red);background-color:#fff;background-image:linear-gradient(#a3302a12 50%,#0000 50%),linear-gradient(90deg,#a3302a12 50%,#0000 50%);background-size:44px 44px;flex-direction:column;margin:0;padding:0;display:flex}.app-theme-cookbook .header-top-row{justify-content:space-between;align-self:stretch;align-items:center;padding:22px 40px 0;display:flex}.app-theme-cookbook .header-col-left{align-items:center;gap:8px;width:120px;display:flex}.app-theme-cookbook .header-col-right{justify-content:flex-end;align-self:flex-end;align-items:center;width:120px;display:flex}.app-theme-cookbook .header-brand-block{flex-direction:column;align-items:center;gap:0}.app-theme-cookbook .header-eyebrow{color:var(--cookbook-red);font-family:var(--cookbook-sans);letter-spacing:.3em;text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:600;line-height:1;display:block}.app-theme-cookbook .header-brand{color:var(--cookbook-red);font-family:var(--cookbook-serif);letter-spacing:.04em;margin-top:6px;font-size:40px;font-weight:500;line-height:1}.app-theme-cookbook .header-nav{box-shadow:none;background:0 0;border:0;border-radius:0;justify-content:center;gap:48px;margin:0;padding:18px 40px 16px;display:flex}.app-theme-cookbook .header-nav-tab{color:#b58880;font-family:var(--cookbook-sans);letter-spacing:.16em;text-transform:uppercase;border-radius:0;padding:0 0 3px;font-size:12px;font-weight:600}.app-theme-cookbook .header-nav-tab-active{border-bottom:1.5px solid var(--cookbook-red);color:var(--cookbook-red);box-shadow:none;background:0 0}.app-theme-cookbook .header-col-left .header-icon-btn,.app-theme-cookbook .header-col-left .btn-icon{align-items:center;display:flex}.app-theme-cookbook .header-icon-btn,html[data-theme=cookbook] .btn-icon{border-color:var(--cookbook-border);color:var(--cookbook-ink);font-family:var(--cookbook-sans);background:#fffaf3db;border-radius:0;font-weight:800}.app-theme-cookbook .header-share-btn{letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--cookbook-red);cursor:pointer;border:none;border-radius:0;padding:9px 16px;font-size:12px;font-weight:600}.app-theme-cookbook .header-share-btn:hover{background:var(--cookbook-red-dark)}html[data-theme=cookbook] .btn-primary,html[data-theme=cookbook] .auth-sheet-btn{background:var(--cookbook-red);border-color:var(--cookbook-red);color:#fffaf3}html[data-theme=cookbook] .btn-primary:hover,html[data-theme=cookbook] .auth-sheet-btn:hover{background:var(--cookbook-red-dark);border-color:var(--cookbook-red-dark)}html[data-theme=cookbook] .btn{font-family:var(--cookbook-sans);border-radius:0;font-weight:800}html[data-theme=cookbook] .btn-secondary,html[data-theme=cookbook] .btn-ghost{border-color:var(--cookbook-border);color:var(--cookbook-red);background:#fffaf3db}.app-theme-cookbook .category-nav{background:0 0;border:0;border-radius:0;gap:28px;margin-top:22px;padding:0;display:flex}.cookbook-library-shell{display:contents}.cookbook-library-heading{display:none}.app-theme-cookbook .cookbook-library-shell{background:#faf8f5e6;padding:46px 48px 48px;display:block}.app-theme-cookbook .cookbook-library-heading{border-bottom:1px solid #d3b3aa;justify-content:space-between;align-items:flex-end;padding-bottom:22px;display:flex}.app-theme-cookbook .cookbook-kicker{color:#9a6a62;letter-spacing:.22em;text-transform:uppercase;font-size:12px;font-weight:600}.app-theme-cookbook .cookbook-library-heading h2{color:#331c19;font-family:var(--cookbook-serif);margin:10px 0 0;font-size:clamp(3.2rem,9vw,62px);font-weight:300;line-height:.9}.app-theme-cookbook .cookbook-add-btn{background:var(--cookbook-red);color:#fff;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;border:0;padding:12px 22px;font-size:13px;font-weight:600}.app-theme-cookbook .category-btn{color:#b58880;letter-spacing:.16em;text-transform:uppercase;background:0 0;border:0;border-bottom:1.5px solid #0000;border-radius:0;padding:0 0 3px;font-size:12px;font-weight:600}.app-theme-cookbook .category-btn:hover,.app-theme-cookbook .category-btn.active{border-bottom-color:var(--cookbook-red);color:var(--cookbook-red);background:0 0}.app-theme-cookbook .library-toolbar{display:none}.app-theme-cookbook .recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;padding:30px 0 0}.app-theme-cookbook .recipe-card{box-shadow:none;background:0 0;border:0;border-radius:0;min-height:0;padding:0;position:relative}.app-theme-cookbook .recipe-card:not(.has-photo):before{color:#b89890;content:"photo";font-family:var(--cookbook-mono);background:linear-gradient(#ffffffc2,#ffffffc2),linear-gradient(135deg,#a3302a1a,#b488802e);border:1px solid #e0c8c2;justify-content:center;align-items:center;height:190px;margin:0 0 14px;font-size:11px;display:flex}.app-theme-cookbook .recipe-card-photo{object-fit:cover;border:1px solid #e0c8c2;width:100%;height:190px;margin:0 0 14px;display:block}.app-theme-cookbook .recipe-card:hover{box-shadow:none;transform:none}.app-theme-cookbook .recipe-card-title{color:#331c19;font-family:var(--cookbook-serif);margin-top:0;font-size:28px;font-weight:500;line-height:1.1}.app-theme-cookbook .recipe-card-desc{color:#8a5c54;font-family:var(--cookbook-serif);font-size:18px;font-style:italic;line-height:1.35}.app-theme-cookbook .recipe-card-meta,.app-theme-cookbook .recipe-card-cta,.app-theme-cookbook .empty-state{color:var(--cookbook-muted);font-family:var(--cookbook-sans)}.app-theme-cookbook .recipe-card-meta{color:#b58880;letter-spacing:.14em;text-transform:uppercase;border-top:1px solid #d3b3aa;margin-top:12px;padding-top:10px;font-size:11px;font-weight:600}.app-theme-cookbook .recipe-card-categories,.app-theme-cookbook .recipe-card-footer{display:none}.app-theme-cookbook .recipe-card-footer{border-top-color:#dcc3bab8}html[data-theme=cookbook] .category-badge,html[data-theme=cookbook] .kid-friendly-badge{color:var(--cookbook-red);font-family:var(--cookbook-sans);background:#f2dfd5;border:1px solid #a3302a2e;border-radius:0;font-weight:800}html[data-theme=cookbook] .modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2f241d7a}html[data-theme=cookbook] .modal-content,html[data-theme=cookbook] .share-picker-modal,html[data-theme=cookbook] .games-placeholder-modal,html[data-theme=cookbook] .standalone-shopping-list,html[data-theme=cookbook] .admin-preview{background:var(--cookbook-card);border:1px solid var(--cookbook-border);box-shadow:var(--cookbook-shadow);border-radius:6px}html[data-theme=cookbook] .modal-content h2{font-family:var(--cookbook-serif);margin-right:60px;font-size:clamp(3rem,8vw,62px);font-weight:300;line-height:.92}html[data-theme=cookbook] .modal-close,html[data-theme=cookbook] .modal-header-share{color:var(--cookbook-red)}html[data-theme=cookbook] .recipe-detail-desc,html[data-theme=cookbook] .public-recipe-desc{color:var(--cookbook-muted);font-family:var(--cookbook-serif);font-size:21px;font-style:italic;line-height:1.35}html[data-theme=cookbook] .recipe-detail-meta,html[data-theme=cookbook] .public-recipe-meta{color:#b58880;font-family:var(--cookbook-sans);letter-spacing:.16em;text-transform:uppercase;background:0 0;border-top:1px solid #d3b3aa;border-bottom:1px solid #d3b3aa;border-radius:0;padding:16px 0;font-size:11px;font-weight:600}html[data-theme=cookbook] .recipe-detail-section-header{border-bottom:1px solid var(--cookbook-border);margin-top:24px}html[data-theme=cookbook] .recipe-detail-section-header h3,html[data-theme=cookbook] .public-recipe-section-heading{color:var(--cookbook-red);font-family:var(--cookbook-serif);letter-spacing:0;text-transform:none;font-size:28px;font-weight:400}html[data-theme=cookbook] .recipe-ingredients{background:0 0;border:0;border-radius:0;padding:0;list-style:none}html[data-theme=cookbook] .recipe-ingredients li{border-bottom:1px dotted #cba59d;justify-content:space-between;gap:12px;padding:11px 0;display:flex}html[data-theme=cookbook] .recipe-instructions-list{margin:16px 0 0;padding:0;list-style:none}html[data-theme=cookbook] .recipe-instructions-list li{color:#4a2f28;counter-increment:method-step;gap:16px;margin-bottom:22px;line-height:1.55;display:flex}html[data-theme=cookbook] .recipe-instructions-list{counter-reset:method-step}html[data-theme=cookbook] .recipe-instructions-list li:before{color:var(--cookbook-red);content:counter(method-step);font-family:var(--cookbook-serif);flex:0 0 30px;font-size:30px;line-height:1}html[data-theme=cookbook] .recipe-detail-actions{border-top:1px solid #d3b3aa;margin-top:28px;padding-top:18px}html[data-theme=cookbook] .recipe-ingredients li,html[data-theme=cookbook] .public-recipe-ingredients li{border-bottom-color:#dcc3ba8c}html[data-theme=cookbook] .ingredient-amount-label,html[data-theme=cookbook] .public-recipe-ingredient-amount,html[data-theme=cookbook] .serving-scaled{color:var(--cookbook-red)}html[data-theme=cookbook] .public-recipe,html[data-theme=cookbook] .reg-page{color:var(--cookbook-ink);font-family:var(--cookbook-sans)}html[data-theme=cookbook] .public-recipe{max-width:900px;padding-top:32px}html[data-theme=cookbook] .public-recipe-header,html[data-theme=cookbook] .reg-header{background:0 0;border-bottom-color:#a3302a3d}html[data-theme=cookbook] .public-recipe-brand,html[data-theme=cookbook] .reg-brand,html[data-theme=cookbook] .public-recipe-footer-link{color:var(--cookbook-red);font-family:var(--cookbook-serif);font-size:1.55rem;font-weight:700;text-decoration:none}html[data-theme=cookbook] .public-recipe-title,html[data-theme=cookbook] .reg-content h1{color:var(--cookbook-ink);font-family:var(--cookbook-serif);font-size:clamp(2.7rem,9vw,5rem);line-height:.93}html[data-theme=cookbook] .public-recipe-save-cta,html[data-theme=cookbook] .public-recipe-capture-prompt,html[data-theme=cookbook] .public-recipe-saved-confirm,html[data-theme=cookbook] .reg-content{background:#fffaf3b8;border:1px solid #dcc3bac7;border-radius:8px;box-shadow:0 8px 24px #4f30210f}html[data-theme=cookbook] .reg-page{background:0 0}html[data-theme=cookbook] .reg-content{margin-top:36px;padding:clamp(28px,5vw,46px)}html[data-theme=cookbook] .reg-content h2,html[data-theme=cookbook] .reg-nav a,html[data-theme=cookbook] .reg-content a{color:var(--cookbook-red)}.app-theme-cookbook .admin-portal{background:#fffaf3b8;border:1px solid #dcc3bac7;border-radius:8px;max-width:960px;box-shadow:0 8px 24px #4f30210f}.app-theme-cookbook .admin-tabs{border-bottom-color:#dcc3baeb}.app-theme-cookbook .admin-tab-active{border-bottom-color:var(--cookbook-red);color:var(--cookbook-red)}html[data-theme=cookbook] .auth-sheet{background:var(--cookbook-card);border:1px solid var(--cookbook-border);box-shadow:var(--cookbook-shadow);border-radius:8px}html[data-theme=cookbook] .auth-sheet-title{font-family:var(--cookbook-serif);font-size:2.5rem;line-height:.98}html[data-theme=cookbook] input,html[data-theme=cookbook] textarea,html[data-theme=cookbook] select,html[data-theme=cookbook] .auth-sheet-input{border-color:var(--cookbook-border);font-family:var(--cookbook-sans);border-radius:8px}html[data-theme=cookbook] input:focus,html[data-theme=cookbook] textarea:focus,html[data-theme=cookbook] select:focus,html[data-theme=cookbook] .auth-sheet-input:focus{border-color:var(--cookbook-red);outline:none;box-shadow:0 0 0 3px #a3302a24}.app-theme-cookbook .app-version{color:#79675bb8;font-family:var(--cookbook-sans)}.app-version-account-link{color:inherit;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.app-theme-cookbook .whats-for-dinner{max-width:none;margin:0;padding:0}.app-theme-cookbook .ladle-home{max-width:980px;margin:0 auto;padding:40px 40px 64px}.app-theme-cookbook .ladle-greeting{font-family:var(--cookbook-serif);color:#241313;font-size:48px;font-weight:300;line-height:1}.app-theme-cookbook .ladle-subtitle{font-family:var(--cookbook-serif);color:#a06862;margin-top:8px;font-size:20px;font-style:italic}.app-theme-cookbook .ladle-action-links{align-items:baseline;gap:24px;margin-top:18px;display:flex}.app-theme-cookbook .ladle-action-active,.app-theme-cookbook .ladle-action-muted{font-family:var(--cookbook-sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:0;font-size:12.5px;font-weight:600}.app-theme-cookbook .ladle-action-active{color:var(--cookbook-red);border-bottom:1.5px solid var(--cookbook-red);padding-bottom:3px}.app-theme-cookbook .ladle-action-muted{color:#c99a95}.app-theme-cookbook .ladle-action-muted:hover{color:var(--cookbook-red)}.app-theme-cookbook .ladle-hero-card{cursor:pointer;background:#fff;border:1px solid #f0dcd8;border-radius:12px;grid-template-columns:1.1fr 1fr;margin-top:30px;transition:box-shadow .2s;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 44px -28px #5a191466}.app-theme-cookbook .ladle-hero-card:hover{box-shadow:0 24px 52px -24px #5a191480}.app-theme-cookbook .ladle-hero-photo{background:linear-gradient(135deg,#f5e8e4,#f0dcd8);min-height:300px;position:relative;overflow:hidden}.app-theme-cookbook .ladle-hero-photo img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.app-theme-cookbook .ladle-hero-badge{letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--cookbook-red);padding:7px 13px;font-size:10.5px;font-weight:700;position:absolute;top:16px;left:16px}.app-theme-cookbook .ladle-hero-content{flex-direction:column;justify-content:center;padding:34px 36px;display:flex}.app-theme-cookbook .ladle-hero-category{letter-spacing:.2em;text-transform:uppercase;color:#b07872;font-size:11px;font-weight:600}.app-theme-cookbook .ladle-hero-title{font-family:var(--cookbook-serif);color:#241313;margin-top:8px;font-size:42px;line-height:1.02}.app-theme-cookbook .ladle-hero-desc{font-family:var(--cookbook-serif);color:#a06862;margin-top:10px;font-size:18px;font-style:italic;line-height:1.35}.app-theme-cookbook .ladle-hero-meta{letter-spacing:.12em;text-transform:uppercase;color:#c99a95;gap:12px;margin-top:16px;font-size:10.5px;font-weight:600;display:flex}.app-theme-cookbook .ladle-hero-actions{gap:12px;margin-top:20px;display:flex}.app-theme-cookbook .ladle-btn-primary{font-family:var(--cookbook-sans);color:#fff;background:var(--cookbook-red);cursor:pointer;border:none;border-radius:6px;padding:12px 20px;font-size:13.5px;font-weight:700}.app-theme-cookbook .ladle-btn-primary:hover{background:var(--cookbook-red-dark)}.app-theme-cookbook .ladle-btn-outline{font-family:var(--cookbook-sans);color:var(--cookbook-red);cursor:pointer;background:0 0;border:1px solid #f0dcd8;border-radius:6px;padding:11px 20px;font-size:13.5px;font-weight:600}.app-theme-cookbook .ladle-also{margin-top:40px}.app-theme-cookbook .ladle-also-header{border-bottom:2px solid var(--cookbook-red);justify-content:space-between;align-items:baseline;padding-bottom:8px;display:flex}.app-theme-cookbook .ladle-also-title{font-family:var(--cookbook-serif);color:var(--cookbook-red);font-size:28px}.app-theme-cookbook .ladle-also-see-all{font-family:var(--cookbook-sans);letter-spacing:.1em;text-transform:uppercase;color:#c99a95;cursor:pointer;background:0 0;border:none;padding:0;font-size:11.5px;font-weight:600}.app-theme-cookbook .ladle-also-see-all:hover{color:var(--cookbook-red)}.app-theme-cookbook .ladle-also-grid{grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:22px;display:grid}.app-theme-cookbook .ladle-small-card{cursor:pointer;position:relative}.app-theme-cookbook .ladle-small-photo{background:linear-gradient(135deg,#f5e8e4,#f0dcd8);border:1px solid #f0dcd8;border-radius:6px;height:150px;overflow:hidden}.app-theme-cookbook .ladle-small-photo img{object-fit:cover;width:100%;height:100%;display:block}.app-theme-cookbook .ladle-small-title{font-family:var(--cookbook-serif);color:#241313;margin-top:12px;font-size:22px;line-height:1.05}.app-theme-cookbook .ladle-small-meta{letter-spacing:.12em;text-transform:uppercase;color:#c99a95;gap:8px;margin-top:6px;font-size:10.5px;font-weight:600;display:flex}.app-theme-cookbook .ladle-loading{color:#b07872;align-items:center;gap:10px;margin-top:24px;font-size:14px;display:flex}@media (width<=780px){.app-theme-cookbook{min-height:100vh;margin:0}.app-theme-cookbook .app-header{margin-bottom:0;padding:0}.app-theme-cookbook .header-top-row{padding:18px 20px 0}.app-theme-cookbook .header-col-left,.app-theme-cookbook .header-col-right{width:80px}.app-theme-cookbook .header-brand-block{align-items:center}.app-theme-cookbook .header-brand{white-space:normal}.app-theme-cookbook .bottom-tab-bar{border-top-color:var(--cookbook-border);background:#fffaf3f5}.app-theme-cookbook .header-nav{gap:24px;padding:14px 20px;position:static;overflow-x:auto}.app-theme-cookbook .cookbook-library-shell{padding:32px 22px 42px}.app-theme-cookbook .cookbook-library-heading{flex-direction:column;align-items:flex-start;gap:16px}.app-theme-cookbook .recipe-grid{grid-template-columns:1fr}.app-theme-cookbook .ladle-home{padding:28px 20px 48px}.app-theme-cookbook .ladle-greeting{font-size:34px}.app-theme-cookbook .ladle-hero-card{grid-template-columns:1fr}.app-theme-cookbook .ladle-hero-photo{min-height:200px}.app-theme-cookbook .ladle-hero-content{padding:24px 22px}.app-theme-cookbook .ladle-hero-title{font-size:30px}.app-theme-cookbook .ladle-also-grid{grid-template-columns:1fr}}:root{--cb2-paper:#f8f2ea;--cb2-shell:#f4ece2;--cb2-card:#fffaf3;--cb2-ink:#331c19;--cb2-ink-soft:#4a2f28;--cb2-muted:#79675b;--cb2-muted-italic:#8a5c54;--cb2-faint:#b58880;--cb2-border:#dcc3ba;--cb2-line:#d3b3aa;--cb2-dot:#cba59d;--cb2-red:#a3302a;--cb2-red-dark:#7f241f;--cb2-shadow:0 18px 45px #4f30211f;--cb2-serif:"Cormorant Garamond", Georgia, serif;--cb2-sans:"Hanken Grotesk", "Segoe UI", system-ui, sans-serif;--cb2-mono:"Space Grotesk", ui-monospace, monospace}html[data-theme=cb2] body{color:var(--cb2-ink);font-family:var(--cb2-sans);background:#ddd0c4}html[data-theme=cb2] h1,html[data-theme=cb2] h2,html[data-theme=cb2] h3,html[data-theme=cb2] .wfd-title{color:var(--cb2-ink);font-family:var(--cb2-serif);letter-spacing:0}html[data-theme=cb2] a,html[data-theme=cb2] .btn-link{color:var(--cb2-red)}.app-theme-cb2{background-color:var(--cb2-shell);border:1px solid var(--cb2-border);color:var(--cb2-ink);background-image:linear-gradient(#a3302a1c 50%,#0000 50%),linear-gradient(90deg,#a3302a1c 50%,#0000 50%);background-size:44px 44px;border-radius:6px;max-width:900px;margin:40px auto 60px;padding:0;overflow:hidden;box-shadow:0 30px 70px -32px #5a191466}.app-theme-cb2 .app-header{border-bottom:2px solid var(--cb2-red);text-align:center;background:#f4ece2d1;margin:0;padding:30px 48px 20px;display:block;position:relative}.app-theme-cb2 .header-brand-block{flex-direction:column;align-items:center;gap:0}.app-theme-cb2 .header-eyebrow{color:var(--cb2-red);font-family:var(--cb2-sans);letter-spacing:.3em;text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:600;line-height:1;display:block}.app-theme-cb2 .header-brand{color:var(--cb2-red);font-family:var(--cb2-serif);letter-spacing:.04em;margin-top:6px;font-size:40px;font-weight:500;line-height:1}.app-theme-cb2 .header-nav{box-shadow:none;background:0 0;border:0;border-radius:0;justify-content:center;gap:28px;margin:18px auto 0;padding:0;display:flex}.app-theme-cb2 .header-nav-tab{color:var(--cb2-faint);font-family:var(--cb2-sans);letter-spacing:.16em;text-transform:uppercase;border-radius:0;padding:0 0 3px;font-size:12px;font-weight:600}.app-theme-cb2 .header-nav-tab-active{border-bottom:1.5px solid var(--cb2-red);color:var(--cb2-red);box-shadow:none;background:0 0}.app-theme-cb2 .header-nav-badge{background:var(--cb2-red);color:#fffaf3}.app-theme-cb2 .header-nav-badge-done{background:#8a5c54}.app-theme-cb2 .header-icons{align-items:center;gap:8px;display:flex;position:absolute;top:24px;right:24px}.app-theme-cb2 .header-icon-btn,html[data-theme=cb2] .btn-icon{border-color:var(--cb2-border);color:var(--cb2-ink);font-family:var(--cb2-sans);background:#fffaf3db;border-radius:0;font-weight:800}html[data-theme=cb2] .btn{font-family:var(--cb2-sans);border-radius:0;font-weight:800}.app-theme-cb2 .header-share-btn,html[data-theme=cb2] .btn-primary,html[data-theme=cb2] .auth-sheet-btn{background:var(--cb2-red);border-color:var(--cb2-red);color:#fffaf3}.app-theme-cb2 .header-share-btn:hover,html[data-theme=cb2] .btn-primary:hover,html[data-theme=cb2] .auth-sheet-btn:hover{background:var(--cb2-red-dark);border-color:var(--cb2-red-dark)}html[data-theme=cb2] .btn-secondary,html[data-theme=cb2] .btn-ghost{border-color:var(--cb2-border);color:var(--cb2-red);background:#fffaf3db}html[data-theme=cb2] .btn-danger{background:var(--cb2-red-dark);border-color:var(--cb2-red-dark);color:#fffaf3}html[data-theme=cb2] .btn-link{font-family:var(--cb2-sans);font-weight:700}html[data-theme=cb2] input,html[data-theme=cb2] textarea,html[data-theme=cb2] select,html[data-theme=cb2] .auth-sheet-input{border-color:var(--cb2-border);color:var(--cb2-ink);font-family:var(--cb2-sans);background:#fffdf9;border-radius:8px}html[data-theme=cb2] input:focus,html[data-theme=cb2] textarea:focus,html[data-theme=cb2] select:focus,html[data-theme=cb2] .auth-sheet-input:focus{border-color:var(--cb2-red);outline:none;box-shadow:0 0 0 3px #a3302a24}html[data-theme=cb2] .category-badge,html[data-theme=cb2] .kid-friendly-badge,html[data-theme=cb2] .ingredient-chip,html[data-theme=cb2] .filter-chip,html[data-theme=cb2] .allergy-chip{color:var(--cb2-red);font-family:var(--cb2-sans);background:#f2dfd5;border:1px solid #a3302a2e;border-radius:0;font-weight:800}html[data-theme=cb2] .filter-chip.selected,html[data-theme=cb2] .ingredient-chip.selected,html[data-theme=cb2] .allergy-chip.selected{background:var(--cb2-red);border-color:var(--cb2-red);color:#fffaf3}.app-theme-cb2 .category-nav{background:0 0;border:0;border-radius:0;gap:28px;margin-top:22px;padding:0;display:flex}.app-theme-cb2 .cookbook-library-shell,.app-theme-cb2 .whats-for-dinner{background:#f4ece2d1;padding:46px 48px 48px;display:block}.app-theme-cb2 .cookbook-library-heading{border-bottom:1px solid var(--cb2-line);justify-content:space-between;align-items:flex-end;padding-bottom:22px;display:flex}.app-theme-cb2 .cookbook-kicker{color:#9a6a62;letter-spacing:.22em;text-transform:uppercase;font-size:12px;font-weight:600}.app-theme-cb2 .cookbook-library-heading h2{color:var(--cb2-ink);font-family:var(--cb2-serif);margin:10px 0 0;font-size:clamp(3.2rem,9vw,62px);font-weight:300;line-height:.9}.app-theme-cb2 .cookbook-add-btn{background:var(--cb2-red);color:#fff;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;border:0;padding:12px 22px;font-size:13px;font-weight:600}.app-theme-cb2 .category-btn{color:var(--cb2-faint);letter-spacing:.16em;text-transform:uppercase;background:0 0;border:0;border-bottom:1.5px solid #0000;border-radius:0;padding:0 0 3px;font-size:12px;font-weight:600}.app-theme-cb2 .category-btn:hover,.app-theme-cb2 .category-btn.active{border-bottom-color:var(--cb2-red);color:var(--cb2-red);background:0 0}.app-theme-cb2 .library-toolbar{display:none}.app-theme-cb2 .recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;padding:30px 0 0}.app-theme-cb2 .recipe-card{box-shadow:none;background:0 0;border:0;border-radius:0;min-height:0;padding:0;position:relative}.app-theme-cb2 .recipe-card:not(.has-photo):before{color:#b89890;content:"photo";font-family:var(--cb2-mono);background:linear-gradient(#ffffffc2,#ffffffc2),linear-gradient(135deg,#a3302a1a,#b488802e);border:1px solid #e0c8c2;justify-content:center;align-items:center;height:190px;margin:0 0 14px;font-size:11px;display:flex}.app-theme-cb2 .recipe-card-photo{object-fit:cover;border:1px solid #e0c8c2;width:100%;height:190px;margin:0 0 14px;display:block}.app-theme-cb2 .recipe-card:hover{box-shadow:none;transform:none}.app-theme-cb2 .recipe-card-title{color:var(--cb2-ink);font-family:var(--cb2-serif);margin-top:0;font-size:28px;font-weight:500;line-height:1.1}.app-theme-cb2 .recipe-card-desc{color:var(--cb2-muted-italic);font-family:var(--cb2-serif);font-size:18px;font-style:italic;line-height:1.35}.app-theme-cb2 .recipe-card-meta,.app-theme-cb2 .recipe-card-cta,.app-theme-cb2 .empty-state{color:var(--cb2-muted);font-family:var(--cb2-sans)}.app-theme-cb2 .recipe-card-meta{border-top:1px solid var(--cb2-line);color:var(--cb2-faint);letter-spacing:.14em;text-transform:uppercase;margin-top:12px;padding-top:10px;font-size:11px;font-weight:600}.app-theme-cb2 .recipe-card-categories,.app-theme-cb2 .recipe-card-footer{display:none}.rd-cb2{background:var(--cb2-paper);z-index:100;-webkit-overflow-scrolling:touch;position:fixed;inset:0;overflow-y:auto}.rd-cb2-inner{max-width:680px;margin:0 auto;padding:0 24px 80px}.rd-cb2-topnav{border-bottom:1px solid var(--cb2-line);justify-content:space-between;align-items:center;margin-bottom:28px;padding:18px 0 14px;display:flex}.rd-cb2-back{cursor:pointer;font-family:var(--cb2-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--cb2-muted);background:0 0;border:none;padding:0;font-size:11px;font-weight:600}.rd-cb2-back:hover{color:var(--cb2-ink)}.rd-cb2-fav{cursor:pointer;font-family:var(--cb2-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--cb2-muted);background:0 0;border:none;align-items:center;gap:5px;padding:0;font-size:11px;font-weight:600;display:flex}.rd-cb2-fav-active,.rd-cb2-fav:hover{color:var(--cb2-red)}.rd-cb2-hero{margin-bottom:36px}.rd-cb2-categories{font-family:var(--cb2-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--cb2-muted);margin:0 0 12px;font-size:11px;font-weight:600}.rd-cb2-title{font-family:var(--cb2-serif);color:var(--cb2-ink);letter-spacing:-.01em;margin:0 0 16px;font-size:clamp(2.2rem,6vw,3.4rem);font-weight:400;line-height:1.06}.rd-cb2-desc{font-family:var(--cb2-serif);color:var(--cb2-muted-italic);margin:0 0 24px;font-size:18px;font-style:italic;line-height:1.45}.rd-cb2-photo-zone{border-radius:4px;width:100%;margin-bottom:0;overflow:hidden}.rd-cb2-photo-img{object-fit:cover;width:100%;height:320px;display:block}.rd-cb2-photo-placeholder{border:1.5px dashed var(--cb2-dot);background:var(--cb2-shell);height:280px;color:var(--cb2-faint);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.rd-cb2-photo-icon{width:32px;height:32px;color:var(--cb2-faint)}.rd-cb2-photo-label{font-family:var(--cb2-sans);color:var(--cb2-muted);font-size:13px}.rd-cb2-photo-sub{font-family:var(--cb2-sans);color:var(--cb2-faint);font-size:12px}.rd-cb2-photo-browse{color:var(--cb2-red);cursor:pointer;text-underline-offset:2px;text-decoration:underline}.rd-cb2-stats{border-top:1px solid var(--cb2-line);border-bottom:1px solid var(--cb2-line);margin:0 0 20px;display:flex}.rd-cb2-stat{flex-direction:column;flex:1;align-items:center;gap:4px;padding:14px 12px;display:flex}.rd-cb2-stat+.rd-cb2-stat{border-left:1px solid var(--cb2-line)}.rd-cb2-stat-label{font-family:var(--cb2-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--cb2-faint);font-size:10px;font-weight:600}.rd-cb2-stat-value{font-family:var(--cb2-sans);color:var(--cb2-ink);font-size:22px;font-weight:300}.rd-cb2-stat-scaler{align-items:center;gap:8px;display:flex}.rd-cb2-scaler-btn{border:1px solid var(--cb2-border);width:24px;height:24px;color:var(--cb2-ink-soft);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex}.rd-cb2-scaler-btn:hover:not(:disabled){border-color:var(--cb2-red);color:var(--cb2-red)}.rd-cb2-scaler-btn:disabled{opacity:.35;cursor:default}.rd-cb2-scaler-val{font-family:var(--cb2-sans);color:var(--cb2-ink);text-align:center;min-width:24px;font-size:22px;font-weight:300}.rd-cb2-scaler-scaled{color:var(--cb2-red)}.rd-cb2-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:36px;display:grid}.rd-cb2-btn-cook{background:var(--cb2-red-dark);color:#fff;cursor:pointer;font-family:var(--cb2-sans);letter-spacing:.02em;border:none;border-radius:3px;padding:16px 12px;font-size:15px;font-weight:600;transition:background .15s}.rd-cb2-btn-cook:hover{background:var(--cb2-red)}.rd-cb2-btn-ingredients{border:1.5px solid var(--cb2-red-dark);color:var(--cb2-red-dark);cursor:pointer;font-family:var(--cb2-sans);letter-spacing:.02em;background:0 0;border-radius:3px;padding:16px 12px;font-size:15px;font-weight:600;transition:background .15s,color .15s}.rd-cb2-btn-ingredients:hover{background:var(--cb2-red-dark);color:#fff}.rd-cb2-btn-favorite,.rd-cb2-btn-share{border:1px solid var(--cb2-border);color:var(--cb2-ink-soft);cursor:pointer;font-family:var(--cb2-sans);letter-spacing:.02em;background:0 0;border-radius:3px;padding:16px 12px;font-size:15px;font-weight:600;transition:border-color .15s,color .15s,background .15s}.rd-cb2-btn-favorite:hover,.rd-cb2-btn-share:hover,.rd-cb2-btn-favorite-active{border-color:var(--cb2-red);color:var(--cb2-red);background:var(--cb2-shell)}.rd-cb2-section{margin-bottom:32px}.rd-cb2-section-hd{border-bottom:1px solid var(--cb2-line);justify-content:space-between;align-items:baseline;margin-bottom:20px;padding-bottom:8px;display:flex}.rd-cb2-section-title{font-family:var(--cb2-serif);color:var(--cb2-red);letter-spacing:0;margin:0;font-size:2rem;font-weight:400}.rd-cb2-pill{border:1px solid var(--cb2-border);color:var(--cb2-muted);cursor:pointer;font-family:var(--cb2-sans);letter-spacing:.04em;white-space:nowrap;background:0 0;border-radius:20px;padding:5px 14px;font-size:12px;font-weight:500;transition:border-color .15s,color .15s}.rd-cb2-pill:hover{border-color:var(--cb2-red);color:var(--cb2-red)}.rd-cb2-sub-hint{font-family:var(--cb2-sans);color:var(--cb2-muted);margin:-12px 0 16px;font-size:12px;font-style:italic}.rd-cb2-ing-list{margin:0;padding:0;list-style:none}.rd-cb2-ing-row{border-bottom:1px dashed var(--cb2-border);grid-template-columns:100px 1fr;align-items:baseline;gap:16px;padding:10px 0;display:grid}.rd-cb2-ing-row:last-child{border-bottom:none}.rd-cb2-ing-selectable{cursor:pointer}.rd-cb2-ing-selectable:hover,.rd-cb2-ing-selected{background:var(--cb2-shell);border-radius:4px}.rd-cb2-ing-amount{font-family:var(--cb2-sans);color:var(--cb2-red);text-align:right;font-size:14px;font-weight:700}.rd-cb2-ing-scaled{color:var(--cb2-red-dark)}.rd-cb2-ing-strikethrough{opacity:.5;text-decoration:line-through}.rd-cb2-ing-name{font-family:var(--cb2-sans);color:var(--cb2-ink);font-size:14px;line-height:1.4}.rd-cb2-ing-loading{color:var(--cb2-faint);font-size:12px;font-style:italic}.rd-cb2-ing-subbed{flex-direction:column;grid-column:1/-1;gap:4px;display:flex}.rd-cb2-undo{cursor:pointer;color:var(--cb2-muted);background:0 0;border:none;margin-left:8px;padding:0;font-size:11px;text-decoration:underline}.rd-cb2-instructions{font-family:var(--cb2-sans);color:var(--cb2-ink-soft);font-size:15px;line-height:1.65}.rd-cb2-footer-actions{border-top:1px solid var(--cb2-line);flex-wrap:wrap;gap:10px;padding-top:16px;display:flex}.rd-cb2-footer-btn{border:1px solid var(--cb2-border);color:var(--cb2-ink-soft);cursor:pointer;font-family:var(--cb2-sans);background:0 0;border-radius:3px;padding:8px 16px;font-size:13px;font-weight:500;transition:border-color .15s,color .15s}.rd-cb2-footer-btn:hover{border-color:var(--cb2-red);color:var(--cb2-red)}.rd-cb2-footer-btn-danger:hover{color:#c0392b;border-color:#c0392b}@media (width<=480px){.rd-cb2-inner{padding:0 16px 64px}.rd-cb2-actions{grid-template-columns:1fr}.rd-cb2-ing-row{grid-template-columns:80px 1fr}}html[data-theme=cb2] .recipe-detail-desc,html[data-theme=cb2] .public-recipe-desc{color:var(--cb2-muted-italic);font-family:var(--cb2-serif);font-size:21px;font-style:italic;line-height:1.35}html[data-theme=cb2] .recipe-detail-meta,html[data-theme=cb2] .public-recipe-meta{border-bottom:1px solid var(--cb2-line);border-top:1px solid var(--cb2-line);color:var(--cb2-faint);font-family:var(--cb2-sans);letter-spacing:.16em;text-transform:uppercase;background:0 0;border-radius:0;padding:16px 0;font-size:11px;font-weight:600}html[data-theme=cb2] .recipe-detail-section-header{border-bottom:1px solid var(--cb2-border);margin-top:24px}html[data-theme=cb2] .recipe-detail-section-header h3,html[data-theme=cb2] .public-recipe-section-heading{color:var(--cb2-red);font-family:var(--cb2-serif);letter-spacing:0;text-transform:none;font-size:28px;font-weight:400}html[data-theme=cb2] .recipe-ingredients{background:0 0;border:0;border-radius:0;padding:0;list-style:none}html[data-theme=cb2] .recipe-ingredients li,html[data-theme=cb2] .public-recipe-ingredients li{border-bottom:1px dotted var(--cb2-dot);justify-content:space-between;gap:12px;padding:11px 0;display:flex}html[data-theme=cb2] .recipe-instructions-list{counter-reset:method-step;margin:16px 0 0;padding:0;list-style:none}html[data-theme=cb2] .recipe-instructions-list li{color:var(--cb2-ink-soft);counter-increment:method-step;gap:16px;margin-bottom:22px;line-height:1.55;display:flex}html[data-theme=cb2] .recipe-instructions-list li:before{color:var(--cb2-red);content:counter(method-step);font-family:var(--cb2-serif);flex:0 0 30px;font-size:30px;line-height:1}html[data-theme=cb2] .recipe-detail-actions{border-top:1px solid var(--cb2-line);margin-top:28px;padding-top:18px}html[data-theme=cb2] .ingredient-amount-label,html[data-theme=cb2] .ingredient-amount-scaled,html[data-theme=cb2] .public-recipe-ingredient-amount,html[data-theme=cb2] .serving-scaled,html[data-theme=cb2] .serving-scaler-value{color:var(--cb2-red);font-weight:600}html[data-theme=cb2] .serving-scaler,html[data-theme=cb2] .serving-scaler-btn{border-color:var(--cb2-border);color:var(--cb2-red)}html[data-theme=cb2] .sub-mode-banner{border:1px solid #a3302a3d;border-left:3px solid var(--cb2-red);color:var(--cb2-ink);background:#a3302a14;border-radius:0}html[data-theme=cb2] .ingredient-selectable:hover,html[data-theme=cb2] .ingredient-selected{background:#a3302a14}html[data-theme=cb2] .sub-alternatives{background:var(--cb2-card);border:1px solid var(--cb2-border)}html[data-theme=cb2] .sub-alternative-btn{border-color:var(--cb2-border);color:var(--cb2-ink);background:#fffdf9}html[data-theme=cb2] .sub-alternative-btn:hover{border-color:var(--cb2-red)}html[data-theme=cb2] .sub-alt-name,html[data-theme=cb2] .ingredient-replacement{color:var(--cb2-red)}html[data-theme=cb2] .ingredient-original{color:var(--cb2-muted)}html[data-theme=cb2] .ingredient-undo{color:var(--cb2-red)}html[data-theme=cb2] .similar-recipe-card{background:var(--cb2-card);border:1px solid var(--cb2-border);border-radius:6px}html[data-theme=cb2] .similar-recipe-title{color:var(--cb2-ink);font-family:var(--cb2-serif)}html[data-theme=cb2] .similar-recipe-desc{color:var(--cb2-muted-italic);font-family:var(--cb2-serif);font-style:italic}html[data-theme=cb2] .modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2f241d7a}html[data-theme=cb2] .modal-content,html[data-theme=cb2] .recipe-form-modal,html[data-theme=cb2] .share-picker-modal,html[data-theme=cb2] .share-modal,html[data-theme=cb2] .confirm-dialog,html[data-theme=cb2] .planner-modal,html[data-theme=cb2] .smart-cook-modal,html[data-theme=cb2] .games-placeholder-modal,html[data-theme=cb2] .standalone-shopping-list,html[data-theme=cb2] .admin-preview{background:var(--cb2-card);border:1px solid var(--cb2-border);box-shadow:var(--cb2-shadow);border-radius:6px}html[data-theme=cb2] .modal-content h2{font-family:var(--cb2-serif);font-weight:300;line-height:.98}html[data-theme=cb2] .modal-close,html[data-theme=cb2] .modal-header-share{color:var(--cb2-red)}html[data-theme=cb2] .auth-sheet{background:var(--cb2-card);border:1px solid var(--cb2-border);box-shadow:var(--cb2-shadow);border-radius:8px}html[data-theme=cb2] .auth-sheet-title{font-family:var(--cb2-serif);font-size:2.5rem;line-height:.98}html[data-theme=cb2] .form-error,html[data-theme=cb2] .add-recipe-error,html[data-theme=cb2] .share-modal-error{color:var(--cb2-red-dark)}html[data-theme=cb2] .ingredients-fieldset{border-color:var(--cb2-border);border-radius:6px}html[data-theme=cb2] .ingredients-fieldset legend,html[data-theme=cb2] .checkbox-label{color:var(--cb2-ink);font-family:var(--cb2-sans)}html[data-theme=cb2] .ingredient-add{color:var(--cb2-red)}html[data-theme=cb2] .add-recipe-tabs{border-bottom:1px solid var(--cb2-border)}html[data-theme=cb2] .add-recipe-tab{color:var(--cb2-faint);font-family:var(--cb2-sans);letter-spacing:.02em;font-weight:700}html[data-theme=cb2] .add-recipe-tab.active{border-bottom-color:var(--cb2-red);color:var(--cb2-red)}html[data-theme=cb2] .photo-capture-zone,html[data-theme=cb2] .scan-preview,html[data-theme=cb2] .url-import-url-display{border:1px solid var(--cb2-border);color:var(--cb2-ink);background:#fffaf3b3;border-radius:6px}html[data-theme=cb2] .photo-capture-zone:hover{border-color:var(--cb2-red)}html[data-theme=cb2] .scan-step-icon .scan-success-icon,html[data-theme=cb2] .scan-step-active .scan-step-label{color:var(--cb2-red)}html[data-theme=cb2] .add-recipe-hint{color:var(--cb2-muted)}html[data-theme=cb2] .add-recipe-link{color:var(--cb2-red);font-weight:600}html[data-theme=cb2] .settings-section{border-bottom:1px solid #dcc3ba99}html[data-theme=cb2] .settings-section-title{color:var(--cb2-ink);font-family:var(--cb2-serif);font-size:1.5rem}html[data-theme=cb2] .settings-section-desc,html[data-theme=cb2] .account-info,html[data-theme=cb2] .allergy-summary{color:var(--cb2-muted)}html[data-theme=cb2] .account-name{color:var(--cb2-ink);font-family:var(--cb2-serif)}html[data-theme=cb2] .allergy-chip.selected .allergy-label{color:#fffaf3}html[data-theme=cb2] .wfd-title,html[data-theme=cb2] .wfd-hero{color:var(--cb2-ink);font-family:var(--cb2-serif)}html[data-theme=cb2] .wfd-subtitle,html[data-theme=cb2] .wfd-entry-hint,html[data-theme=cb2] .wfd-empty-hint{color:var(--cb2-muted)}html[data-theme=cb2] .wfd-entry-card,html[data-theme=cb2] .wfd-suggestion-card,html[data-theme=cb2] .wfd-plan-recipe-card,html[data-theme=cb2] .wfd-shopping-card,html[data-theme=cb2] .wfd-shortlist-item,html[data-theme=cb2] .wfd-tinder-card,html[data-theme=cb2] .wfd-flow-panel,html[data-theme=cb2] .wfd-card-wrapper{background:var(--cb2-card);border:1px solid var(--cb2-border);border-radius:6px;box-shadow:0 8px 24px #4f30210f}html[data-theme=cb2] .wfd-entry-card:hover,html[data-theme=cb2] .wfd-suggestion-card:hover{border-color:var(--cb2-red)}html[data-theme=cb2] .wfd-entry-label,html[data-theme=cb2] .wfd-suggestion-title,html[data-theme=cb2] .wfd-plan-recipe-name,html[data-theme=cb2] .wfd-shortlist-title,html[data-theme=cb2] .wfd-shopping-card-label{color:var(--cb2-ink);font-family:var(--cb2-serif)}html[data-theme=cb2] .wfd-suggestion-desc{color:var(--cb2-muted-italic);font-family:var(--cb2-serif);font-style:italic}html[data-theme=cb2] .wfd-suggestion-meta,html[data-theme=cb2] .wfd-plan-recipe-meta,html[data-theme=cb2] .wfd-shortlist-meta,html[data-theme=cb2] .wfd-card-tap-hint,html[data-theme=cb2] .wfd-card-swap-hint{color:var(--cb2-faint);font-family:var(--cb2-sans)}html[data-theme=cb2] .wfd-entry-icon,html[data-theme=cb2] .wfd-shopping-card-icon{color:var(--cb2-red)}html[data-theme=cb2] .wfd-chat-header,html[data-theme=cb2] .wfd-chat-flow{color:var(--cb2-ink)}html[data-theme=cb2] .wfd-chat-bubble,html[data-theme=cb2] .wfd-chat-assistant{background:var(--cb2-card);border:1px solid var(--cb2-border);color:var(--cb2-ink)}html[data-theme=cb2] .wfd-chat-input,html[data-theme=cb2] .wfd-ingredient-input,html[data-theme=cb2] .wfd-search-input{border-color:var(--cb2-border);background:#fffdf9}html[data-theme=cb2] .wfd-chat-badge{background:var(--cb2-red);color:#fffaf3}html[data-theme=cb2] .wfd-tinder-btn,html[data-theme=cb2] .wfd-action-icon{border-color:var(--cb2-border)}html[data-theme=cb2] .wfd-tinder-like,html[data-theme=cb2] .wfd-action-like{color:var(--cb2-red)}html[data-theme=cb2] .wfd-tinder-progress .wfd-tinder-dot.done{background:var(--cb2-red)}html[data-theme=cb2] .something-new-start,html[data-theme=cb2] .something-new-suggestions{color:var(--cb2-ink)}html[data-theme=cb2] .suggestion-card{background:var(--cb2-card);border:1px solid var(--cb2-border);border-radius:6px;box-shadow:0 8px 24px #4f30210f}html[data-theme=cb2] .suggestion-card-clickable:hover{border-color:var(--cb2-red)}html[data-theme=cb2] .suggestion-card-title{color:var(--cb2-ink);font-family:var(--cb2-serif)}html[data-theme=cb2] .suggestion-card-desc{color:var(--cb2-muted-italic);font-family:var(--cb2-serif);font-style:italic}html[data-theme=cb2] .suggestion-card-meta,html[data-theme=cb2] .suggestion-card-ingredients{color:var(--cb2-faint);font-family:var(--cb2-sans)}html[data-theme=cb2] .suggestion-card-cta{color:var(--cb2-red)}html[data-theme=cb2] .chat-msg-bubble,html[data-theme=cb2] .chat-msg-assistant{background:var(--cb2-card);border:1px solid var(--cb2-border);color:var(--cb2-ink)}html[data-theme=cb2] .chat-input-row input{background:#fffdf9}html[data-theme=cb2] .quick-reply-btn{border-color:var(--cb2-border);color:var(--cb2-red);background:#fffaf3db}html[data-theme=cb2] .smart-cook-overlay{background:#2f241d8c}html[data-theme=cb2] .smart-cook-header,html[data-theme=cb2] .smart-cook-recipe-name{color:var(--cb2-ink);font-family:var(--cb2-serif)}html[data-theme=cb2] .smart-cook-card,html[data-theme=cb2] .smart-cook-card-container{background:var(--cb2-card);border:1px solid var(--cb2-border);border-radius:8px}html[data-theme=cb2] .smart-cook-card-label,html[data-theme=cb2] .smart-cook-card-prep{color:var(--cb2-faint);font-family:var(--cb2-sans);letter-spacing:.14em;text-transform:uppercase}html[data-theme=cb2] .smart-cook-card-instruction,html[data-theme=cb2] .smart-cook-step-instruction{color:var(--cb2-ink-soft)}html[data-theme=cb2] .smart-cook-ingredient-chip{color:var(--cb2-red);background:#f2dfd5;border:1px solid #a3302a2e}html[data-theme=cb2] .smart-cook-font-btn,html[data-theme=cb2] .smart-cook-timer-btn{border-color:var(--cb2-border);color:var(--cb2-red);background:#fffaf3db}html[data-theme=cb2] .smart-cook-timer-bar,html[data-theme=cb2] .smart-cook-timer-display{color:var(--cb2-red);background:#a3302a14}html[data-theme=cb2] .smart-cook-timer-bar-fill,html[data-theme=cb2] .smart-cook-timer-play{background:var(--cb2-red)}html[data-theme=cb2] .smart-cook-rating-btn{border-color:var(--cb2-border)}html[data-theme=cb2] .smart-cook-rating-btn.selected{border-color:var(--cb2-red);background:#a3302a1a}html[data-theme=cb2] .voice-control-bar{border-top:1px solid var(--cb2-border);background:#fffaf3f0}html[data-theme=cb2] .voice-mic-btn{background:var(--cb2-red);border-color:var(--cb2-red);color:#fffaf3}html[data-theme=cb2] .voice-mic-btn-active,html[data-theme=cb2] .voice-mic-btn-speaking{background:var(--cb2-red-dark);border-color:var(--cb2-red-dark)}html[data-theme=cb2] .voice-pulse{background:#a3302a4d}html[data-theme=cb2] .voice-hint,html[data-theme=cb2] .voice-transcript-flash{color:var(--cb2-muted)}html[data-theme=cb2] .shopping-list-header,html[data-theme=cb2] .shopping-list-recent-title,html[data-theme=cb2] .shopping-list-section-title{color:var(--cb2-ink);font-family:var(--cb2-serif)}html[data-theme=cb2] .shopping-list-section-header{border-bottom:1px solid var(--cb2-border)}html[data-theme=cb2] .shopping-list-item{border-bottom:1px dotted var(--cb2-dot)}html[data-theme=cb2] .shopping-list-item-name{color:var(--cb2-ink)}html[data-theme=cb2] .shopping-list-item-checked .shopping-list-item-name,html[data-theme=cb2] .shopping-list-checked-item{color:var(--cb2-muted)}html[data-theme=cb2] .shopping-list-item-shop,html[data-theme=cb2] .shopping-list-edit-amount,html[data-theme=cb2] .shopping-list-item-note-display{color:var(--cb2-muted-italic)}html[data-theme=cb2] .shopping-list-progress,html[data-theme=cb2] .shopping-list-progress-bar{background:#a3302a1a}html[data-theme=cb2] .shopping-list-progress-fill{background:var(--cb2-red)}html[data-theme=cb2] .shopping-list-progress-text{color:var(--cb2-faint)}html[data-theme=cb2] .shopping-list-mode-link,html[data-theme=cb2] .shopping-list-checked-toggle{color:var(--cb2-red)}html[data-theme=cb2] .confetti-piece{background:var(--cb2-red)}html[data-theme=cb2] .planner-left-header,html[data-theme=cb2] .planner-slot-title,html[data-theme=cb2] .planner-browse-card-title{color:var(--cb2-ink);font-family:var(--cb2-serif)}html[data-theme=cb2] .planner-tabs{border-bottom:1px solid var(--cb2-border)}html[data-theme=cb2] .planner-tab.active{border-bottom-color:var(--cb2-red);color:var(--cb2-red)}html[data-theme=cb2] .planner-slot,html[data-theme=cb2] .planner-slot-empty{border:1px dashed var(--cb2-border);background:#fffaf399;border-radius:6px}html[data-theme=cb2] .planner-slot-filled{background:var(--cb2-card);border:1px solid var(--cb2-border);border-style:solid}html[data-theme=cb2] .planner-slot-number{color:var(--cb2-red);font-family:var(--cb2-serif)}html[data-theme=cb2] .planner-slot-meta,html[data-theme=cb2] .planner-browse-card-info,html[data-theme=cb2] .planner-browse-card-desc{color:var(--cb2-muted)}html[data-theme=cb2] .planner-slot-remove{color:var(--cb2-red)}html[data-theme=cb2] .planner-browse-card{background:var(--cb2-card);border:1px solid var(--cb2-border);border-radius:6px}html[data-theme=cb2] .planner-browse-card:hover{border-color:var(--cb2-red)}html[data-theme=cb2] .planner-cat-chip,html[data-theme=cb2] .planner-quick-filters .filter-chip{color:var(--cb2-red);background:#f2dfd5;border:1px solid #a3302a2e}html[data-theme=cb2] .planner-search input,html[data-theme=cb2] .planner-chat-input{border-color:var(--cb2-border);background:#fffdf9}html[data-theme=cb2] .share-modal-title,html[data-theme=cb2] .share-picker-title,html[data-theme=cb2] .confirm-dialog-title{color:var(--cb2-ink);font-family:var(--cb2-serif)}html[data-theme=cb2] .share-modal-icon{color:var(--cb2-red)}html[data-theme=cb2] .share-modal-url{border:1px solid var(--cb2-border);color:var(--cb2-ink);background:#fffaf3b3}html[data-theme=cb2] .share-modal-social-label{color:var(--cb2-muted)}html[data-theme=cb2] .share-modal-primary{background:var(--cb2-red);border-color:var(--cb2-red);color:#fffaf3}html[data-theme=cb2] .share-modal-secondary,html[data-theme=cb2] .share-modal-social-row a{border-color:var(--cb2-border);color:var(--cb2-red);background:#fffaf3db}html[data-theme=cb2] .share-picker-header,html[data-theme=cb2] .share-picker-recent{color:var(--cb2-ink)}html[data-theme=cb2] .share-picker-item{border-bottom:1px dotted var(--cb2-dot)}html[data-theme=cb2] .share-picker-recipe-title{color:var(--cb2-ink);font-family:var(--cb2-serif)}html[data-theme=cb2] .share-picker-info{color:var(--cb2-muted)}html[data-theme=cb2] .share-picker-search{border-color:var(--cb2-border);background:#fffdf9}html[data-theme=cb2] .confirm-dialog-message{color:var(--cb2-muted)}html[data-theme=cb2] .toast{background:var(--cb2-ink);border:1px solid var(--cb2-red-dark);color:#fffaf3;font-family:var(--cb2-sans);border-radius:4px}html[data-theme=cb2] .notif-bell-badge{background:var(--cb2-red);color:#fffaf3}html[data-theme=cb2] .notif-dropdown{background:var(--cb2-card);border:1px solid var(--cb2-border);box-shadow:var(--cb2-shadow);border-radius:6px}html[data-theme=cb2] .notif-dropdown-header{border-bottom:1px solid var(--cb2-border);color:var(--cb2-ink);font-family:var(--cb2-serif)}html[data-theme=cb2] .notif-item{border-bottom:1px solid #dcc3ba80}html[data-theme=cb2] .notif-item-unread{background:#a3302a0f}html[data-theme=cb2] .notif-text{color:var(--cb2-ink)}html[data-theme=cb2] .notif-date,html[data-theme=cb2] .notif-empty{color:var(--cb2-muted)}html[data-theme=cb2] .public-recipe,html[data-theme=cb2] .reg-page{color:var(--cb2-ink);font-family:var(--cb2-sans)}html[data-theme=cb2] .public-recipe{max-width:900px;padding-top:32px}html[data-theme=cb2] .public-recipe-header,html[data-theme=cb2] .reg-header{background:0 0;border-bottom-color:#a3302a3d}html[data-theme=cb2] .public-recipe-brand,html[data-theme=cb2] .reg-brand,html[data-theme=cb2] .public-recipe-footer-link{color:var(--cb2-red);font-family:var(--cb2-serif);font-size:1.55rem;font-weight:700;text-decoration:none}html[data-theme=cb2] .public-recipe-title,html[data-theme=cb2] .reg-content h1{color:var(--cb2-ink);font-family:var(--cb2-serif);font-size:clamp(2.7rem,9vw,5rem);line-height:.93}html[data-theme=cb2] .public-recipe-save-cta,html[data-theme=cb2] .public-recipe-capture-prompt,html[data-theme=cb2] .public-recipe-saved-confirm,html[data-theme=cb2] .reg-content{background:#fffaf3b8;border:1px solid #dcc3bac7;border-radius:8px;box-shadow:0 8px 24px #4f30210f}html[data-theme=cb2] .reg-page{background:0 0}html[data-theme=cb2] .reg-content{margin-top:36px;padding:clamp(28px,5vw,46px)}html[data-theme=cb2] .reg-content h2,html[data-theme=cb2] .reg-nav a,html[data-theme=cb2] .reg-content a{color:var(--cb2-red)}.app-theme-cb2 .admin-portal{background:#fffaf3b8;border:1px solid #dcc3bac7;border-radius:8px;max-width:960px;box-shadow:0 8px 24px #4f30210f}.app-theme-cb2 .admin-header h2,.app-theme-cb2 .admin-login h2{color:var(--cb2-ink);font-family:var(--cb2-serif)}.app-theme-cb2 .admin-tabs{border-bottom-color:#dcc3baeb}.app-theme-cb2 .admin-tab{color:var(--cb2-muted);font-family:var(--cb2-sans)}.app-theme-cb2 .admin-tab-active{border-bottom-color:var(--cb2-red);color:var(--cb2-red)}.app-theme-cb2 .admin-section,.app-theme-cb2 .admin-prompt-list-panel,.app-theme-cb2 .admin-prompt-editor-panel,.app-theme-cb2 .admin-prompt-kind{border-color:var(--cb2-border);background:#fffaf399}.app-theme-cb2 .admin-prompt-kind-group-header,.app-theme-cb2 .admin-prompt-kind-header,.app-theme-cb2 .admin-prompt-editor-header{color:var(--cb2-ink);font-family:var(--cb2-serif)}.app-theme-cb2 .admin-prompt-kind-desc,.app-theme-cb2 .admin-step-hint,.app-theme-cb2 .admin-muted-label,.app-theme-cb2 .admin-settings-label{color:var(--cb2-muted)}.app-theme-cb2 .admin-prompt-version.active{border-color:var(--cb2-red);color:var(--cb2-red);background:#a3302a1a}.app-theme-cb2 .admin-login{background:var(--cb2-card);border:1px solid var(--cb2-border);box-shadow:var(--cb2-shadow);border-radius:8px}.app-theme-cb2 .admin-error,.app-theme-cb2 .admin-error-text{color:var(--cb2-red-dark)}.app-theme-cb2 .admin-logout,.app-theme-cb2 .admin-settings-select{border-color:var(--cb2-border);color:var(--cb2-red)}.app-theme-cb2 .admin-table th{color:var(--cb2-ink);font-family:var(--cb2-sans);background:#a3302a14}.app-theme-cb2 .admin-table td,.app-theme-cb2 .admin-table th{border-color:#dcc3ba99}.app-theme-cb2 .bottom-tab-bar{border-top-color:var(--cb2-border);background:#fffaf3f5}.app-theme-cb2 .bottom-tab-active{color:var(--cb2-red)}.app-theme-cb2 .bottom-tab-badge{background:var(--cb2-red);color:#fffaf3}.app-theme-cb2 .app-version{color:#79675bb8;font-family:var(--cb2-sans)}@media (width<=780px){.app-theme-cb2{min-height:100vh;margin:0}.app-theme-cb2 .app-header{text-align:center;margin-bottom:0;padding:26px 18px 18px}.app-theme-cb2 .header-brand-block{align-items:center}.app-theme-cb2 .header-brand{white-space:normal}.app-theme-cb2 .header-icons,.app-theme-cb2 .header-nav{position:static}.app-theme-cb2 .header-nav{gap:14px;overflow-x:auto}.app-theme-cb2 .cookbook-library-shell,.app-theme-cb2 .whats-for-dinner{padding:32px 22px 42px}.app-theme-cb2 .cookbook-library-heading{flex-direction:column;align-items:flex-start;gap:16px}.app-theme-cb2 .recipe-grid{grid-template-columns:1fr}}.evaluator-view{max-width:620px;margin:0 auto;padding:28px 18px 100px}.evaluator-progress{text-align:center;color:#806d5d;margin-bottom:14px}.evaluator-card{background:#fffaf3;border-radius:18px;padding:24px;box-shadow:0 8px 30px #6d51331c}.evaluator-card h2{margin-top:0;font-size:2rem}.evaluator-card li{margin:8px 0}.evaluator-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:28px;display:grid}.evaluator-button{cursor:pointer;border:0;border-radius:12px;padding:16px 8px;font-size:1rem;font-weight:700}.evaluator-great{background:#b9dcae}.evaluator-good{background:#dbe9b4}.evaluator-ok{background:#f0dca7}.evaluator-remove{background:#efb0a4}.evaluator-empty{text-align:center;max-width:620px;margin:80px auto;padding:24px}.reg-page{color:#2b2723;background:#fbfaf8;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.reg-header{background:#fffdf9;border-bottom:1px solid #e6ded4;justify-content:space-between;align-items:center;gap:24px;padding:24px clamp(20px,5vw,64px);display:flex}.reg-brand{color:#2b2723;font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:700;text-decoration:none}.reg-nav{flex-wrap:wrap;gap:16px;font-size:.95rem;display:flex}.reg-nav a,.reg-content a{color:#8b4513;text-underline-offset:3px}.reg-content{width:min(820px,100% - 40px);margin:0 auto;padding:48px 0 72px}.reg-content h1{color:#2b2118;margin:0 0 18px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,3rem);line-height:1.1}.reg-content h2{color:#3d3228;margin:32px 0 10px;font-size:1.15rem}.reg-content p,.reg-content li{font-size:1rem;line-height:1.65}.reg-content ol,.reg-content ul{padding-left:24px}.reg-primary-link{background:#8b4513;border-radius:6px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex;color:#fff!important}@media (width<=640px){.reg-header{flex-direction:column;align-items:flex-start}}
