:root{--bg: #fff8ef;--surface: #fbf3e4;--surface-2: #f5edde;--surface-3: #efe7d9;--surface-high: #e9e2d3;--border: #e1bfb4;--border-strong: #8d7167;--primary: #973100;--primary-hover: #c04000;--primary-light: #ffdbcf;--on-primary: #ffffff;--secondary: #54651e;--secondary-dim: rgba(84, 101, 30, .12);--tertiary: #8a6600;--tertiary-light: #ffdea0;--tertiary-mid: #f1bf52;--gold: #973100;--gold-hover: #c04000;--gold-dim: rgba(151, 49, 0, .1);--gold-glow: rgba(151, 49, 0, .22);--text: #1e1b13;--text-muted: #594139;--text-dim: #8d7167;--danger: #ba1a1a;--danger-dim: rgba(186, 26, 26, .1);--success: #54651e;--success-dim: rgba(84, 101, 30, .12);--easy: #54651e;--medium: #8a6600;--hard: #ba1a1a;--font-headline: "Epilogue", sans-serif;--font-body: "Newsreader", serif;--font-label: "Space Grotesk", sans-serif;--radius: 4px;--radius-sm: 2px;--radius-lg: 8px;--shadow: 3px 3px 0 rgba(89, 65, 57, .18);--shadow-lg: 6px 6px 0 rgba(89, 65, 57, .18);--nav-height: 80px;--transition: .3s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);direction:rtl;min-height:100dvh;line-height:1.6;-webkit-font-smoothing:antialiased;overscroll-behavior:none;background-image:radial-gradient(circle,rgba(89,65,57,.04) 1px,transparent 1px);background-size:24px 24px}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:999;opacity:1;background-image:repeating-linear-gradient(0deg,transparent 0px,transparent 3px,rgba(89,65,57,.012) 3px,rgba(89,65,57,.012) 4px);background-size:100% 4px}a{color:inherit;text-decoration:none}button{font-family:var(--font-label);cursor:pointer;border:none;outline:none;background:none}input,textarea,select{font-family:var(--font-body);direction:rtl}img{max-width:100%;display:block}ul,ol{list-style:none}#root{min-height:100dvh}.app{min-height:100dvh;display:flex;flex-direction:column}.page{flex:1;padding-bottom:calc(var(--nav-height) + 24px);min-height:100dvh}.page-content{max-width:900px;margin:0 auto;padding:0 16px}.page-header{padding:20px 16px 0;max-width:900px;margin:0 auto}.page-title{font-family:var(--font-headline);font-size:1.9rem;font-weight:800;color:var(--primary);margin-bottom:4px}.page-subtitle{font-family:var(--font-label);font-size:.9rem;color:var(--text-muted)}.app-header{position:sticky;top:0;z-index:50;background:#fff8efeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1.5px solid var(--border);padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.app-header-brand{display:flex;align-items:center;gap:10px}.app-header-title{font-family:var(--font-headline);font-size:1.3rem;font-weight:800;font-style:italic;color:var(--primary);line-height:1.2}.app-header-avatar{width:40px;height:40px;border-radius:50%;border:2.5px solid var(--primary);background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.forgotten-banner{display:block;cursor:pointer;max-width:868px;margin:20px auto 0;width:calc(100% - 32px);position:relative;clip-path:polygon(0% 2%,5% 0%,10% 3%,15% 1%,20% 4%,25% 0%,30% 2%,35% 1%,40% 5%,45% 2%,50% 4%,55% 1%,60% 3%,65% 0%,70% 2%,75% 1%,80% 4%,85% 2%,90% 5%,95% 1%,100% 3%,100% 97%,95% 100%,90% 97%,85% 99%,80% 96%,75% 100%,70% 98%,65% 100%,60% 97%,55% 99%,50% 96%,45% 100%,40% 98%,35% 100%,30% 97%,25% 99%,20% 96%,15% 100%,10% 98%,5% 100%,0% 97%);background:var(--tertiary-light);color:var(--tertiary);padding:20px;filter:drop-shadow(4px 4px 8px rgba(89,65,57,.22));transition:transform var(--transition),filter var(--transition);transform:rotate(.5deg)}.forgotten-banner:before{content:"📌";position:absolute;top:-16px;right:20px;font-size:1.6rem;z-index:2;transform:rotate(-30deg)}.forgotten-banner:hover{transform:rotate(0) scale(1.01);filter:drop-shadow(6px 6px 12px rgba(89,65,57,.28))}.forgotten-newspaper-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1.5px solid rgba(138,102,0,.25);padding-bottom:10px;margin-bottom:14px}.forgotten-newspaper-date{font-family:var(--font-label);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tertiary);opacity:.7}.forgotten-badge{display:inline-flex;align-items:center;gap:5px;background:var(--tertiary);color:#fff8ef;font-family:var(--font-label);font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:4px 10px;border:1.5px solid var(--tertiary)}.forgotten-content{display:flex;align-items:center;gap:14px}.forgotten-text{flex:1}.forgotten-recipe-name{font-family:var(--font-headline);font-size:1.6rem;font-weight:800;color:#261a00;line-height:1.15;margin-bottom:6px;letter-spacing:-.02em}.forgotten-recipe-meta{font-family:var(--font-body);font-style:italic;font-size:.95rem;color:var(--tertiary);opacity:.85;line-height:1.4}.forgotten-recipe-thumb{width:80px;height:80px;border-radius:4px;object-fit:cover;transform:rotate(3deg);border:3px solid var(--bg);box-shadow:var(--shadow);flex-shrink:0}.search-section{padding:20px 16px 12px;max-width:900px;margin:0 auto}.search-input-wrap{position:relative;margin-bottom:14px;border:2px dashed rgba(151,49,0,.3);border-radius:var(--radius-lg);background:var(--bg);display:flex;align-items:center;gap:10px;padding:10px 14px;transition:border-color var(--transition),box-shadow var(--transition)}.search-input-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--gold-dim)}.search-input-wrap svg{color:var(--text-dim);flex-shrink:0}.search-input{flex:1;background:transparent;border:none;color:var(--text);font-family:var(--font-label);font-size:1rem;outline:none}.search-input::placeholder{color:var(--text-dim)}.filter-row{display:flex;gap:10px;flex-wrap:wrap;padding-bottom:4px}.filter-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;font-family:var(--font-label);font-size:.82rem;font-weight:600;border:1.5px solid var(--border);background:var(--surface-2);color:var(--text-muted);white-space:nowrap;cursor:pointer;border-radius:var(--radius-sm);box-shadow:2px 2px #59413924;transition:transform var(--transition),background var(--transition),color var(--transition),box-shadow var(--transition);transform:rotate(-1deg)}.filter-chip:nth-child(2n){transform:rotate(1deg)}.filter-chip:nth-child(3n){transform:rotate(-.5deg)}.filter-chip:nth-child(4n){transform:rotate(1.5deg)}.filter-chip:hover{transform:rotate(0);border-color:var(--primary);color:var(--primary);box-shadow:3px 3px #9731002e}.filter-chip.active{background:var(--primary);border-color:var(--primary-hover);color:var(--on-primary);transform:rotate(0);box-shadow:2px 2px #97310059}.filter-chip .chip-x{font-size:.7rem;opacity:.7;margin-right:-2px}.recipe-count{font-family:var(--font-label);font-size:.82rem;color:var(--text-muted);padding:0 16px 10px;max-width:900px;margin:0 auto}.recipe-grid{padding:8px 16px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;max-width:900px;margin:0 auto}.recipe-card{background:var(--surface);overflow:hidden;border:1.5px solid var(--border);cursor:pointer;position:relative;box-shadow:var(--shadow);transition:transform var(--transition),box-shadow var(--transition);transform:rotate(-1.2deg);border-radius:var(--radius-sm)}.recipe-grid .recipe-card:nth-child(4n+1){transform:rotate(-1.2deg)}.recipe-grid .recipe-card:nth-child(4n+2){transform:rotate(1.5deg)}.recipe-grid .recipe-card:nth-child(4n+3){transform:rotate(-.7deg)}.recipe-grid .recipe-card:nth-child(4n+4){transform:rotate(1.2deg)}.recipe-card:hover{transform:rotate(0) translateY(-3px);box-shadow:var(--shadow-lg),0 0 0 2px var(--primary-light);border-color:var(--primary);z-index:2}.recipe-card:active{transform:rotate(0) translateY(-1px)}.recipe-card-image-wrap{position:relative;width:100%;aspect-ratio:1 / 1;overflow:hidden;background:var(--surface-3)}.recipe-card-image{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.recipe-card:hover .recipe-card-image{transform:scale(1.04)}.recipe-card-image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--surface-2),var(--surface-3));display:flex;align-items:center;justify-content:center;font-size:3.5rem}.recipe-card-category-badge{position:absolute;top:10px;right:10px;background:var(--primary);color:var(--on-primary);font-family:var(--font-label);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:999px;pointer-events:none}.recipe-card-body{padding:14px}.recipe-card-name{font-family:var(--font-headline);font-size:1.2rem;font-weight:700;color:var(--primary);margin-bottom:10px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-family:var(--font-label);font-size:.75rem;font-weight:600}.badge-time{background:var(--surface-3);color:var(--text-muted)}.badge-video{background:#7832b41f;color:#9a4fcf;border:1px solid rgba(120,50,180,.2)}.badge-easy{background:#54651e1f;color:var(--easy)}.badge-medium{background:#8a66001f;color:var(--medium)}.badge-hard{background:var(--danger-dim);color:var(--danger)}.recipe-card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.tag{font-family:var(--font-label);font-size:.72rem;font-weight:500;padding:3px 9px;border-radius:999px;background:var(--surface-3);color:var(--text-muted)}.tag-gold{background:#9731001a;color:var(--primary)}.recipe-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid var(--border);font-size:.75rem;color:var(--text-dim)}.source-badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-label);font-size:.72rem;color:var(--text-dim)}.empty-state{text-align:center;padding:60px 24px;color:var(--text-muted)}.empty-state-emoji{font-size:4rem;margin-bottom:16px;display:block}.empty-state-title{font-family:var(--font-headline);font-size:1.35rem;font-weight:700;color:var(--text);margin-bottom:8px}.empty-state-text{font-family:var(--font-label);font-size:.9rem;max-width:280px;margin:0 auto;line-height:1.5;color:var(--text-muted)}.recipe-hero{position:relative;width:100%;aspect-ratio:4/3;max-height:320px;overflow:hidden}.recipe-hero img{width:100%;height:100%;object-fit:cover}.recipe-hero-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--surface-2),var(--surface-3));display:flex;align-items:center;justify-content:center;font-size:5rem;min-height:200px}.recipe-hero-gradient{position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(to top,var(--bg),transparent)}.back-btn{position:absolute;top:16px;right:16px;background:#fff8efd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1.5px solid var(--border);border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;color:var(--primary);transition:background var(--transition);cursor:pointer;box-shadow:var(--shadow)}.back-btn:hover{background:#fff8ef}.recipe-detail-content{padding:16px;max-width:700px;margin:0 auto}.recipe-detail-name{font-family:var(--font-headline);font-size:2rem;font-weight:800;line-height:1.15;color:var(--primary);margin-bottom:14px;letter-spacing:-.02em}.recipe-detail-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.recipe-description{font-family:var(--font-body);font-style:italic;color:var(--text-muted);font-size:1rem;line-height:1.75;margin-bottom:20px;padding:16px;background:var(--surface);border-right:3px solid var(--primary);border-radius:0 var(--radius) var(--radius) 0}.section-title{font-family:var(--font-headline);font-size:1.25rem;font-weight:800;margin-bottom:14px;display:flex;align-items:center;gap:8px;color:var(--primary)}.ingredients-list{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}.ingredient-item{display:grid;grid-template-columns:22px 1fr;grid-template-rows:auto auto;column-gap:10px;row-gap:2px;padding:11px 14px;background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition),opacity var(--transition);border:1.5px solid var(--border)}.ingredient-item.checked{opacity:.45;text-decoration:line-through}.ingredient-item:hover{background:var(--surface-2)}.ingredient-checkbox{grid-column:1;grid-row:1;width:22px;height:22px;border-radius:50%;border:2px solid var(--border-strong);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition);margin-top:2px}.ingredient-item.checked .ingredient-checkbox{background:var(--primary);border-color:var(--primary)}.ingredient-amount{grid-column:2;grid-row:2;font-family:var(--font-label);color:var(--primary);font-weight:700;font-size:.8rem;line-height:1.35;overflow-wrap:anywhere}.ingredient-name{grid-column:2;grid-row:1;font-size:1rem;line-height:1.45;overflow-wrap:anywhere;word-break:break-word}.steps-list{display:flex;flex-direction:column;gap:14px;margin-bottom:28px}.step-item{display:flex;gap:14px;cursor:pointer;transition:opacity var(--transition)}.step-item.done{opacity:.4}.step-number{width:34px;height:34px;border-radius:50%;background:var(--gold-dim);color:var(--primary);font-family:var(--font-label);font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;border:1.5px solid rgba(151,49,0,.2);transition:background var(--transition)}.step-item.done .step-number{background:var(--surface-3);color:var(--text-dim);border-color:var(--border)}.step-text{font-size:1rem;line-height:1.75;padding-top:6px}.recipe-actions{display:flex;flex-direction:column;gap:10px;margin-top:24px;padding-top:20px;border-top:1.5px solid var(--border)}.recipe-source-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-family:var(--font-label);font-size:.85rem;text-decoration:underline;text-underline-offset:3px;margin-bottom:12px}.recipe-source-link:hover{color:var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;font-family:var(--font-label);font-size:.95rem;font-weight:600;cursor:pointer;border:none;width:100%;transition:all var(--transition);border-radius:var(--radius);letter-spacing:.01em}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:var(--on-primary);border:2px solid var(--primary-hover);box-shadow:var(--shadow)}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-lg)}.btn-secondary{background:var(--surface-2);color:var(--text);border:1.5px solid var(--border);box-shadow:var(--shadow)}.btn-secondary:hover{background:var(--surface-3);border-color:var(--primary);color:var(--primary)}.btn-danger{background:var(--danger-dim);color:var(--danger);border:1.5px solid transparent}.btn-danger:hover{background:var(--danger);color:#fff}.btn-whatsapp{background:#25d3661f;color:#1a8c43;border:1.5px solid rgba(37,211,102,.35)}.btn-whatsapp:hover{background:#25d366;color:#fff}.btn-sm{padding:8px 14px;font-size:.85rem;width:auto}.btn-icon{width:40px;height:40px;padding:0;border-radius:50%;min-width:40px}.add-page{padding:20px 16px;max-width:700px;margin:0 auto}.method-toggle{display:flex;gap:8px;margin-bottom:24px;background:var(--surface);padding:5px;border-radius:var(--radius);border:1.5px solid var(--border)}.method-btn{flex:1;padding:10px;border-radius:var(--radius-sm);font-family:var(--font-label);font-size:.9rem;font-weight:500;color:var(--text-muted);transition:all var(--transition)}.method-btn.active{background:var(--gold-dim);color:var(--primary);font-weight:700}.form-group{margin-bottom:18px}.form-label{display:block;font-family:var(--font-label);font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:7px;text-transform:uppercase;letter-spacing:.04em}.form-input{width:100%;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;color:var(--text);font-family:var(--font-body);font-size:1rem;transition:border-color var(--transition),box-shadow var(--transition)}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--gold-dim)}.form-input::placeholder{color:var(--text-dim)}textarea.form-input{min-height:100px;resize:vertical;line-height:1.6}.form-input-row{display:flex;gap:10px}.form-select{width:100%;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;color:var(--text);font-family:var(--font-label);font-size:.95rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select:focus{outline:none;border-color:var(--primary)}.url-extract-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:20px;margin-bottom:20px;box-shadow:var(--shadow)}.extract-loading{display:flex;align-items:center;gap:12px;padding:20px;color:var(--text-muted);justify-content:center;font-size:.95rem}.file-preview{margin-bottom:14px;border-radius:var(--radius);overflow:hidden;border:1.5px solid var(--border)}.file-preview-img{width:100%;max-height:240px;object-fit:cover;display:block}.file-preview-name{padding:8px 12px;font-size:.8rem;color:var(--text-muted);background:var(--surface);border-top:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-section{display:flex;flex-direction:column;gap:8px}.image-section-preview{width:100%;max-height:180px;object-fit:cover;border-radius:var(--radius);border:1.5px solid var(--border)}.image-section-row{display:flex;gap:8px;align-items:center}.image-section-row .form-input{flex:1}.btn-image-upload{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:.875rem;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}.btn-image-upload:hover{border-color:var(--primary);color:var(--primary)}.paywall-hint{background:#fff3cd;border:1.5px solid #ffc107;border-radius:var(--radius);padding:14px 16px;font-size:.875rem;color:#6b4900;line-height:1.6;margin-bottom:14px}.paywall-hint strong{display:block;margin-bottom:4px}.ingredients-editor{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.ingredient-row{display:flex;gap:8px;align-items:center}.ingredient-row .form-input:first-child{flex:1}.ingredient-row .form-input:last-of-type{width:100px;flex-shrink:0}.steps-editor{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.step-row{display:flex;gap:8px;align-items:flex-start}.step-row-num{width:30px;height:30px;background:var(--gold-dim);color:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-label);font-size:.8rem;font-weight:700;flex-shrink:0;margin-top:10px;border:1.5px solid rgba(151,49,0,.2)}.btn-add-row{display:flex;align-items:center;gap:6px;font-family:var(--font-label);color:var(--primary);font-size:.88rem;font-weight:600;padding:6px 0}.btn-add-row:hover{opacity:.75}.btn-remove{color:var(--text-dim);padding:6px;transition:color var(--transition);flex-shrink:0}.btn-remove:hover{color:var(--danger)}.meal-planner-page{padding:0 0 20px}.meal-plans-list{padding:8px 16px 0;display:flex;flex-direction:column;gap:14px;max-width:900px;margin:0 auto}.meal-plan-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color var(--transition),box-shadow var(--transition);box-shadow:var(--shadow)}.meal-plan-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg)}.meal-plan-header{padding:16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.meal-plan-name{font-family:var(--font-headline);font-size:1.2rem;font-weight:700;color:var(--primary)}.meal-plan-meta{font-family:var(--font-label);font-size:.8rem;color:var(--text-muted);margin-top:3px}.meal-plan-body{padding:0 16px 16px;border-top:1.5px solid var(--border)}.meal-plan-recipes-list{display:flex;flex-direction:column;gap:8px;padding-top:14px;margin-bottom:14px}.meal-plan-recipe-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--surface-2);border-radius:var(--radius-sm);border:1px solid var(--border)}.meal-plan-recipe-name{font-size:.95rem;font-weight:500}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1b1399;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:0;animation:fadeIn .15s ease}.modal{background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1.5px solid var(--border);border-bottom:none;padding:24px 20px;width:100%;max-width:600px;max-height:85dvh;overflow-y:auto;animation:slideUp .2s ease;box-shadow:0 -6px 24px #59413926}.modal-title{font-family:var(--font-headline);font-size:1.35rem;font-weight:800;color:var(--primary);margin-bottom:20px;display:flex;align-items:center;justify-content:space-between}.modal-close{font-family:var(--font-label);color:var(--text-muted);padding:4px 8px;transition:color var(--transition);border-radius:50%}.modal-close:hover{color:var(--primary)}.cart-hint{font-family:var(--font-label);font-size:.82rem;color:var(--text-muted);margin-bottom:14px;line-height:1.4}.cart-items-list{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;max-height:45dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}.cart-item{display:flex;align-items:flex-start;gap:12px;padding:13px 12px;background:var(--surface-2);border-radius:var(--radius-sm);border:1.5px solid var(--border);cursor:pointer;transition:background .15s ease,border-color .15s ease;min-height:48px}.cart-item.selected{background:var(--gold-dim);border-color:var(--primary)}.cart-item-check{width:22px;height:22px;min-width:22px;border-radius:50%;border:2px solid var(--border-strong);background:transparent;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:var(--on-primary);transition:all .15s ease;margin-top:1px}.cart-item.selected .cart-item-check{background:var(--primary);border-color:var(--primary)}.cart-item-name{flex:1;font-size:1rem;line-height:1.45;word-break:break-word;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.cart-actions{display:flex;gap:8px;align-items:center;flex-wrap:nowrap}.cart-actions .btn-sm{flex-shrink:0;white-space:nowrap}.home-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 16px 12px}.fridge-btn,.discover-btn{display:flex;align-items:center;gap:8px;padding:13px 14px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-label);font-size:.85rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow);transition:all var(--transition);text-align:right;white-space:nowrap;overflow:hidden}.fridge-btn:hover,.discover-btn:hover{background:var(--surface-2);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.fridge-btn span,.discover-btn span{flex:1;overflow:hidden;text-overflow:ellipsis}.fridge-btn{color:var(--secondary);border-top:3px solid var(--secondary)}.discover-btn{color:var(--primary);border-top:3px solid var(--primary)}.fridge-modal{max-height:85vh;overflow-y:auto;display:flex;flex-direction:column;gap:0}.fridge-hint{font-size:.875rem;color:var(--text-muted);margin:4px 0 12px;line-height:1.6}.fridge-textarea{width:100%;min-height:110px;padding:12px 14px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);font-size:1rem;line-height:1.6;resize:vertical;direction:rtl;box-sizing:border-box}.fridge-textarea:focus{outline:none;border-color:var(--primary)}.fridge-textarea::placeholder{color:var(--text-muted);opacity:.7}.fridge-search-btn{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px;font-size:1rem}.fridge-results{margin-top:16px;display:flex;flex-direction:column;gap:10px}.fridge-results-header{font-family:var(--font-label);font-size:.8rem;color:var(--text-muted);text-align:center;padding:4px 0 2px}.fridge-result-card{width:100%;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;cursor:pointer;text-align:right;transition:background var(--transition),transform var(--transition);display:block}.fridge-result-card:hover{background:var(--surface-2);transform:translate(-2px)}.fridge-result-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.fridge-result-name{font-family:var(--font-headline);font-size:1rem;font-weight:700;color:var(--text);flex:1}.fridge-result-pct{font-family:var(--font-label);font-size:1.1rem;font-weight:800;flex-shrink:0}.fridge-result-bar-wrap{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:6px}.fridge-result-bar{height:100%;border-radius:2px;transition:width .6s ease}.fridge-result-detail{font-size:.78rem;color:var(--text-muted);line-height:1.4}.fridge-result-matched{color:var(--text)}.discovery-body{padding:12px 16px 100px;display:flex;flex-direction:column;gap:16px}.discovery-hint{font-size:.9rem;color:var(--text-muted);line-height:1.6;margin:0}.discovery-tags{display:flex;flex-wrap:wrap;gap:8px}.discovery-tag{padding:8px 14px;background:var(--surface);border:2px solid var(--border);border-radius:50px;font-family:var(--font-label);font-size:.875rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all var(--transition)}.discovery-tag:hover{border-color:#7060c0;color:#9080d8}.discovery-tag.selected{background:linear-gradient(135deg,#3a2a6a,#2a1a5a);border-color:#6050b0;color:#c0b0f0}.discovery-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;font-size:1.05rem}.discovery-loading-msg{text-align:center;font-size:.875rem;color:var(--text-muted);padding:8px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.discovery-results{display:flex;flex-direction:column;gap:14px}.discovery-results-header{text-align:center;font-family:var(--font-label);font-size:.8rem;color:var(--text-muted);letter-spacing:.04em}.discovery-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px}.discovery-card-top{display:flex;gap:12px;align-items:flex-start}.discovery-card-emoji{font-size:2rem;line-height:1;flex-shrink:0}.discovery-card-info{flex:1;display:flex;flex-direction:column;gap:3px}.discovery-card-name{font-family:var(--font-headline);font-size:1.05rem;font-weight:800;color:var(--text);line-height:1.3}.discovery-card-meta{font-family:var(--font-label);font-size:.78rem;color:var(--text-muted);display:flex;gap:4px;flex-wrap:wrap}.discovery-card-why{font-size:.8rem;color:#9080d8;line-height:1.4;margin-top:2px}.discovery-card-desc{font-size:.9rem;color:var(--text-muted);line-height:1.6;margin:0}.discovery-card-tags{display:flex;flex-wrap:wrap;gap:6px}.discovery-expand-btn{background:none;border:none;font-size:.78rem;font-family:var(--font-label);color:var(--text-muted);cursor:pointer;text-align:right;padding:2px 0;transition:color var(--transition)}.discovery-expand-btn:hover{color:var(--text)}.discovery-details{display:flex;flex-direction:column;gap:12px;padding:10px 0 0;border-top:1px solid var(--border)}.discovery-details-section{display:flex;flex-direction:column;gap:5px}.discovery-details-title{font-family:var(--font-label);font-size:.78rem;font-weight:700;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:2px}.discovery-ingredient{display:flex;gap:8px;font-size:.875rem;color:var(--text);line-height:1.5}.discovery-ing-amount{color:var(--primary);font-weight:700;font-family:var(--font-label);min-width:50px;flex-shrink:0}.discovery-step{display:flex;gap:10px;font-size:.875rem;color:var(--text);line-height:1.55;align-items:flex-start}.discovery-step-num{background:var(--primary);color:var(--on-primary, #fff8ef);border-radius:50%;width:20px;height:20px;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.discovery-card-actions{display:flex;gap:8px;margin-top:2px}.discovery-saved-btn{flex:1;background:#2d7a3a1a!important;border-color:#2d7a3a4d!important;color:#2d7a3a!important}.back-btn-header{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;flex-shrink:0}.meal-gen-body{padding:16px 16px 100px;display:flex;flex-direction:column;gap:20px}.meal-gen-section{display:flex;flex-direction:column;gap:10px}.meal-gen-label{font-family:var(--font-headline);font-size:1rem;font-weight:700;color:var(--text)}.meal-gen-chips{display:flex;flex-wrap:wrap;gap:8px}.meal-gen-chip{padding:8px 16px;background:var(--surface);border:2px solid var(--border);border-radius:50px;font-family:var(--font-label);font-size:.9rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all var(--transition)}.meal-gen-chip:hover{border-color:var(--primary);color:var(--primary)}.meal-gen-chip.selected{background:var(--primary);border-color:var(--primary);color:var(--on-primary, #fff8ef)}.meal-gen-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;font-size:1.05rem}.meal-gen-result{display:flex;flex-direction:column;gap:12px}.meal-gen-result-title{font-family:var(--font-headline);font-size:1.1rem;font-weight:800;color:var(--text);text-align:center;padding:4px 0}.meal-gen-course{display:flex;flex-direction:column;gap:6px}.meal-gen-course-label{font-family:var(--font-label);font-size:.78rem;font-weight:700;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.meal-gen-recipe-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:right;transition:background var(--transition),transform var(--transition);width:100%}.meal-gen-recipe-card:hover{background:var(--surface-2);transform:translate(-2px)}.meal-gen-recipe-img{width:52px;height:52px;border-radius:8px;object-fit:cover;flex-shrink:0}.meal-gen-recipe-info{flex:1;display:flex;flex-direction:column;gap:3px}.meal-gen-recipe-name{font-family:var(--font-headline);font-size:.95rem;font-weight:700;color:var(--text);line-height:1.3}.meal-gen-recipe-meta{font-family:var(--font-label);font-size:.78rem;color:var(--text-muted)}.meal-gen-arrow{color:var(--text-muted);flex-shrink:0}.meal-gen-no-dessert{font-size:.85rem;color:var(--text-muted);text-align:center;padding:8px;background:var(--surface);border-radius:var(--radius-sm);border:1px dashed var(--border)}.meal-gen-shopping-list{display:flex;flex-direction:column;gap:16px;max-height:50vh;overflow-y:auto;padding:4px 0}.meal-gen-shopping-section{display:flex;flex-direction:column;gap:4px}.meal-gen-shopping-recipe{font-family:var(--font-headline);font-size:.9rem;font-weight:700;color:var(--primary);padding-bottom:4px;border-bottom:1px solid var(--border);margin-bottom:4px}.meal-gen-shopping-item{display:flex;gap:8px;font-size:.875rem;color:var(--text);line-height:1.5}.meal-gen-shopping-amount{color:var(--primary);font-weight:600;font-family:var(--font-label);min-width:50px;flex-shrink:0}.btn-cook{background:linear-gradient(135deg,#973100,#c04a00);color:#fff8ef;font-size:1.05rem;font-weight:700;letter-spacing:.01em;box-shadow:0 4px 16px #97310059}.btn-cook:hover{box-shadow:0 6px 20px #97310080;transform:translateY(-2px)}.cook-mode-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0d0d0d;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:none}.cook-mode-topbar{display:flex;align-items:center;gap:12px;padding:14px 16px 10px;background:#141414;border-bottom:1px solid #222}.cook-mode-close,.cook-mode-ing-btn{background:none;border:none;color:#aaa;cursor:pointer;padding:4px;display:flex;align-items:center;flex-shrink:0}.cook-mode-close:hover,.cook-mode-ing-btn:hover{color:#fff}.cook-mode-recipe-name{flex:1;font-family:var(--font-headline);font-size:.95rem;font-weight:700;color:#eee;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cook-mode-progress-wrap{height:3px;background:#222}.cook-mode-progress-bar{height:100%;background:#c04a00;transition:width .4s ease}.cook-mode-step-counter{font-family:var(--font-label);font-size:.8rem;color:#777;text-align:center;padding:10px 0 4px;letter-spacing:.05em}.cook-mode-step-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 28px;cursor:pointer;position:relative;transition:background .3s;user-select:none;-webkit-user-select:none}.cook-mode-step-area.done{background:#2d7a3a14}.cook-mode-done-badge{color:#2d7a3a;margin-bottom:16px;animation:pop .3s ease}@keyframes pop{0%{transform:scale(.5);opacity:0}80%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.cook-mode-step-text{font-family:var(--font-body);font-size:clamp(1.3rem,5vw,2rem);font-weight:500;color:#f0f0f0;line-height:1.55;text-align:center;direction:rtl}.cook-mode-tap-hint{margin-top:20px;font-family:var(--font-label);font-size:.75rem;color:#444;letter-spacing:.04em}.cook-mode-nav{display:flex;gap:12px;padding:12px 20px 8px;background:#141414;border-top:1px solid #222}.cook-mode-nav-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:13px;background:#1e1e1e;border:1.5px solid #333;border-radius:var(--radius-sm);color:#ccc;font-family:var(--font-label);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition)}.cook-mode-nav-btn:disabled{opacity:.3;cursor:default}.cook-mode-nav-btn:not(:disabled):hover{background:#2a2a2a;color:#fff}.cook-mode-nav-next{background:#1e1e1e;border-color:#c04a00;color:#f07030}.cook-mode-nav-next:hover{background:#2a1a0a!important}.cook-mode-nav-finish{border-color:#333;color:#888}.cook-mode-nav-finish.ready{background:linear-gradient(135deg,#1a3a2a,#0d2a1a);border-color:#2a5a3a;color:#7ecea0;font-size:1rem}.cook-mode-dots{display:flex;justify-content:center;gap:6px;padding:10px 16px 16px;background:#141414;flex-wrap:wrap}.cook-mode-dot{width:8px;height:8px;border-radius:50%;background:#333;border:none;cursor:pointer;transition:all var(--transition);padding:0}.cook-mode-dot.active{background:#c04a00;transform:scale(1.4)}.cook-mode-dot.done{background:#2d7a3a}.cook-mode-ing-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:#00000080}.cook-mode-ing-panel{position:absolute;bottom:0;left:0;right:0;z-index:11;background:#1a1a1a;border-top:2px solid #333;border-radius:20px 20px 0 0;padding:0 20px 32px;max-height:60vh;overflow-y:auto;transform:translateY(100%);transition:transform .35s cubic-bezier(.32,.72,0,1)}.cook-mode-ing-panel.open{transform:translateY(0)}.cook-mode-ing-handle{width:40px;height:4px;background:#444;border-radius:2px;margin:12px auto 16px;cursor:pointer}.cook-mode-ing-title{font-family:var(--font-headline);font-size:1.1rem;font-weight:700;color:#f0f0f0;margin-bottom:14px;text-align:right}.cook-mode-ing-list{display:flex;flex-direction:column;gap:8px}.cook-mode-ing-item{display:flex;gap:12px;align-items:baseline;border-bottom:1px solid #2a2a2a;padding-bottom:8px}.cook-mode-ing-amount{font-family:var(--font-label);font-size:.85rem;color:#c04a00;font-weight:700;min-width:70px;flex-shrink:0;text-align:left}.cook-mode-ing-name{font-size:.95rem;color:#ccc;flex:1}.navbar{position:fixed;bottom:0;left:0;right:0;background:#fff8eff5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1.5px solid var(--border);display:flex;flex-direction:column;align-items:center;padding-bottom:env(safe-area-inset-bottom);z-index:50;overflow:visible;box-shadow:0 -4px 20px #59413914}.nav-fab{position:relative;top:-22px;width:60px;height:60px;border-radius:50%;background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;border:4px solid var(--bg);box-shadow:0 4px 16px #97310066;transition:transform var(--transition),box-shadow var(--transition);text-decoration:none;flex-shrink:0;margin-bottom:-22px}.nav-fab:hover{transform:scale(1.1);box-shadow:0 6px 24px #97310080}.nav-fab.active{background:var(--primary-hover)}.nav-fab:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:2px solid rgba(151,49,0,.18);animation:pulse-ring 2.5s ease infinite}.navbar-items{display:flex;width:100%;height:58px;align-items:center;justify-content:space-around;padding:0 8px}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:var(--radius);color:var(--text-dim);font-family:var(--font-label);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;transition:all var(--transition);cursor:pointer;text-decoration:none}.nav-item:hover{color:var(--text-muted)}.nav-item.active{color:var(--primary);background:#97310012;border-radius:var(--radius)}.toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;pointer-events:none;width:calc(100% - 32px);max-width:400px}.toast{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:12px 18px;font-family:var(--font-label);font-size:.9rem;font-weight:600;text-align:center;box-shadow:var(--shadow-lg);animation:toastIn .25s ease,toastOut .25s ease 2.75s forwards}.toast-success{border-color:var(--success);color:var(--success);background:var(--success-dim)}.toast-error{border-color:var(--danger);color:var(--danger);background:var(--danger-dim)}.toast-info{border-color:var(--primary);color:var(--primary);background:var(--gold-dim)}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow)}.skeleton-image{width:100%;aspect-ratio:1 / 1}.skeleton-body{padding:14px;display:flex;flex-direction:column;gap:10px}.skeleton-line{height:16px}.skeleton-line-short{height:14px;width:60%}.spinner{width:20px;height:20px;border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.section-divider{height:1.5px;background:var(--border);margin:8px 0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translateY(-8px)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bounce-in{0%{transform:scale(.88) rotate(-1deg);opacity:0}60%{transform:scale(1.04) rotate(.5deg)}to{transform:scale(1) rotate(0);opacity:1}}.animate-bounce-in{animation:bounce-in .35s ease forwards}@keyframes pulse-ring{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.15;transform:scale(1.15)}}@media (max-width: 480px){.recipe-grid{grid-template-columns:1fr;gap:20px}.recipe-detail-name{font-size:1.7rem}.page-title{font-size:1.6rem}.app-header-title{font-size:1.1rem}}@media (min-width: 768px){.navbar{max-width:600px;left:50%;transform:translate(-50%);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-left:1.5px solid var(--border);border-right:1.5px solid var(--border)}}
