@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--font-display:"Outfit", "Inter", sans-serif;--font-body:"Inter", sans-serif;--bg-color:#070913;--bg-color-rgb:7, 9, 19;--surface-color:#0e1326;--surface-color-rgb:14, 19, 38;--surface-card:#141b35;--surface-card-rgb:20, 27, 53;--primary-color:#10b981;--primary-color-rgb:16, 185, 129;--accent-color:#3b82f6;--accent-color-rgb:59, 130, 246;--text-primary:#fff;--text-secondary:#94a3b8;--text-muted:#64748b;--border-color:#ffffff14;--border-focus:#10b98166;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000004d, 0 4px 6px -2px #0000000d;--shadow-glow:0 0 20px rgba(var(--primary-color-rgb), .15);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-color);color:var(--text-primary);min-height:100vh;min-height:-webkit-fill-available;line-height:1.5;overflow-x:hidden}html{height:-webkit-fill-available}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--surface-card);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.app-container{background-color:var(--bg-color);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);max-width:480px;min-height:100vh;padding-bottom:calc(100px + var(--safe-bottom));flex-direction:column;margin:0 auto;display:flex;position:relative;box-shadow:0 0 40px #000c}.glowing-bg{background:radial-gradient(circle, rgba(var(--primary-color-rgb), .25) 0%, rgba(var(--bg-color-rgb), 0) 70%);z-index:0;pointer-events:none;filter:blur(40px);border-radius:50%;width:250px;height:250px;transition:background .8s;position:absolute;top:10%;left:50%;transform:translate(-50%,-50%)}.dynamic-theme{--primary-color:var(--theme-color,#10b981);--primary-color-rgb:var(--theme-color-rgb,16, 185, 129)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.025em;font-weight:700}.auth-wrapper{z-index:10;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px;display:flex;position:relative}.auth-card{background:rgba(var(--surface-color-rgb), .75);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);width:100%;box-shadow:var(--shadow-lg), var(--shadow-glow);z-index:5;border-radius:24px;flex-direction:column;gap:24px;padding:32px 24px;transition:transform .6s cubic-bezier(.4,0,.2,1);display:flex}.auth-header{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.auth-logo{width:72px;height:72px;box-shadow:0 8px 16px rgba(var(--primary-color-rgb), .3);border-radius:18px}.auth-title{background:linear-gradient(135deg,#fff 30%,#ffffffb3 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:28px}.auth-subtitle{color:var(--text-secondary);font-size:14px;line-height:1.4}.auth-tabs{background:#ffffff0d;border:1px solid #ffffff08;border-radius:12px;padding:4px;display:flex}.auth-tab-btn{color:var(--text-secondary);font-family:var(--font-display);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:10px;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1)}.auth-tab-btn.active{background:var(--primary-color);color:var(--bg-color);box-shadow:0 4px 12px rgba(var(--primary-color-rgb), .25)}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.form-input-wrapper{align-items:center;display:flex;position:relative}.form-input{border:1px solid var(--border-color);width:100%;color:var(--text-primary);font-family:var(--font-body);background:#00000040;border-radius:12px;outline:none;padding:12px 16px;font-size:15px;transition:all .3s}.form-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb), .15)}.auth-btn{background:var(--primary-color);color:var(--bg-color);font-family:var(--font-display);cursor:pointer;box-shadow:0 4px 12px rgba(var(--primary-color-rgb), .2);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:16px;font-weight:700;transition:all .3s;display:flex}.auth-btn:hover{box-shadow:0 6px 16px rgba(var(--primary-color-rgb), .3);transform:translateY(-1px)}.auth-btn:active{transform:translateY(1px)}.auth-footer-text{color:var(--text-muted);text-align:center;margin-top:8px;font-size:13px}.auth-link{color:var(--primary-color);cursor:pointer;font-weight:600;text-decoration:none}.app-header{z-index:50;background:rgba(var(--bg-color-rgb), .8);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);padding:calc(16px + var(--safe-top)) 20px 16px;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-title{background:linear-gradient(135deg,#fff 60%,#fff9 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:center;gap:8px;font-size:22px;display:flex}.app-logo-small{border-radius:8px;width:32px;height:32px}.header-actions{gap:12px;display:flex}.icon-btn{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:#ffffff0d;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.icon-btn:hover{background:#ffffff1a;border-color:#fff3}.content-pane{z-index:10;flex-direction:column;flex:1;gap:20px;padding:20px;display:flex;position:relative}.nav-bar{background:rgba(var(--surface-color-rgb), .85);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-color);width:100%;max-width:480px;padding:10px 12px calc(10px + var(--safe-bottom));z-index:90;justify-content:space-around;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 24px #0000004d}.nav-item{color:var(--text-muted);font-family:var(--font-display);cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:6px 8px;font-size:11px;font-weight:500;transition:all .2s;display:flex;position:relative}.nav-item.active{color:var(--primary-color)}.nav-item.active:after{content:"";background:var(--primary-color);width:12px;height:2px;box-shadow:0 0 8px var(--primary-color);border-radius:2px;position:absolute;top:0}.nav-icon{font-size:20px}.search-wrapper{gap:10px;display:flex;position:relative}.search-input-wrapper{flex:1;position:relative}.search-input{background:rgba(var(--surface-card-rgb), .6);border:1px solid var(--border-color);width:100%;color:var(--text-primary);font-family:var(--font-body);border-radius:14px;outline:none;padding:14px 16px 14px 44px;font-size:15px;transition:all .3s}.search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb), .15)}.search-icon-svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.category-list{scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.category-list::-webkit-scrollbar{display:none}.category-chip{border:1px solid var(--border-color);font-family:var(--font-display);color:var(--text-secondary);white-space:nowrap;cursor:pointer;background:#ffffff08;border-radius:20px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s}.category-chip:hover{background:#ffffff0f}.category-chip.active{background:rgba(var(--primary-color-rgb), .15);border-color:var(--primary-color);color:var(--primary-color);box-shadow:var(--shadow-glow)}.recipes-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=360px){.recipes-grid{grid-template-columns:1fr}}.recipe-card{background:rgba(var(--surface-card-rgb), .55);border:1px solid var(--border-color);cursor:pointer;border-radius:20px;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.recipe-card:hover{border-color:rgba(var(--theme-color-rgb,var(--primary-color-rgb)), .3);box-shadow:0 12px 24px -10px #00000080, 0 0 15px rgba(var(--theme-color-rgb,var(--primary-color-rgb)), .1);transform:translateY(-4px)}.recipe-img-wrapper{aspect-ratio:4/5;background-color:#0003;width:100%;position:relative;overflow:hidden}.recipe-img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.recipe-card:hover .recipe-img{transform:scale(1.05)}.recipe-overlay{z-index:10;position:absolute;top:10px;right:10px}.favorite-btn{background:rgba(var(--bg-color-rgb), .6);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-color);width:32px;height:32px;color:var(--text-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.favorite-btn:hover{background:rgba(var(--bg-color-rgb), .8);transform:scale(1.1)}.favorite-btn.active{color:#ef4444;border-color:#ef44444d}.recipe-info{flex-direction:column;flex:1;gap:4px;padding:12px 14px;display:flex}.recipe-number{text-transform:uppercase;letter-spacing:.05em;color:var(--primary-color);font-size:11px;font-weight:700}.recipe-title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;height:40px;font-size:16px;line-height:1.25;display:-webkit-box;overflow:hidden}.recipe-desc-short{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;height:32px;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.recipe-stats{border-top:1px solid #ffffff08;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;display:flex}.recipe-stat-item{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:flex}.detail-modal-overlay{-webkit-backdrop-filter:blur(12px);z-index:100;background:#000000d9;justify-content:center;align-items:flex-end;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.detail-modal-container{background:var(--bg-color);border:1px solid var(--border-color);width:100%;max-width:480px;height:92vh;padding-bottom:var(--safe-bottom);border-bottom:none;border-top-left-radius:32px;border-top-right-radius:32px;flex-direction:column;animation:.4s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:hidden;box-shadow:0 -12px 30px #00000080}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.detail-modal-header{aspect-ratio:4/5;background-color:#0003;width:100%;position:relative}.detail-modal-img{object-fit:cover;width:100%;height:100%}.detail-header-overlay{background:linear-gradient(to bottom, #0006 0%, #0000 30%, rgba(var(--bg-color-rgb), .95) 92%, var(--bg-color) 100%);width:100%;height:100%;position:absolute;top:0;left:0}.detail-modal-close{-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;z-index:10;background:#00000080;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex;position:absolute;top:20px;left:20px}.detail-modal-fav{-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;z-index:10;background:#00000080;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex;position:absolute;top:20px;right:20px}.detail-modal-fav.active{color:#ef4444}.detail-modal-content{z-index:2;flex-direction:column;flex:1;gap:24px;margin-top:-60px;padding:0 24px 24px;display:flex;position:relative;overflow-y:auto}.detail-title-section{flex-direction:column;gap:8px;display:flex}.detail-title{font-size:32px;line-height:1.15}.detail-desc{color:var(--text-secondary);border-left:3px solid var(--primary-color);padding-left:12px;font-size:15px;font-style:italic;line-height:1.5}.detail-section-title{justify-content:space-between;align-items:center;margin-bottom:12px;font-size:20px;display:flex}.detail-section-btn{color:var(--primary-color);font-family:var(--font-display);cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:600}.ingredient-item{border:1px solid var(--border-color);cursor:pointer;background:#ffffff05;border-radius:14px;align-items:flex-start;gap:12px;margin-bottom:8px;padding:12px 16px;transition:all .2s;display:flex}.ingredient-item:hover{background:#ffffff0a}.ingredient-item.checked{border-color:rgba(var(--primary-color-rgb), .3);background:rgba(var(--primary-color-rgb), .03)}.ingredient-checkbox{border:2px solid var(--border-color);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;transition:all .2s;display:flex}.ingredient-item.checked .ingredient-checkbox{background:var(--primary-color);border-color:var(--primary-color)}.ingredient-checkbox-inner{background:var(--bg-color);border-radius:2px;width:8px;height:8px;transition:transform .2s;transform:scale(0)}.ingredient-item.checked .ingredient-checkbox-inner{transform:scale(1)}.ingredient-text{color:var(--text-primary);font-size:15px;transition:all .2s}.ingredient-item.checked .ingredient-text{color:var(--text-muted);text-decoration:line-through}.nutrition-item{border-bottom:1px solid #ffffff0a;justify-content:space-between;padding:10px 0;font-size:14px;display:flex}.nutrition-key{color:var(--text-secondary);font-weight:500}.nutrition-val{color:var(--text-primary);text-align:right;max-width:65%;font-weight:600}.calorie-badge-img{border:1px solid var(--border-color);background:#ffffff0d;border-radius:6px;width:130px;height:auto;padding:4px 8px}.blender-wrapper{flex-direction:column;align-items:center;gap:20px;display:flex}.blender-container{width:140px;height:180px;margin:20px 0;position:relative}.blender-jar{background:#ffffff08;border:5px solid #64748b;border-radius:10px 10px 20px 20px;width:100%;height:100%;position:relative;overflow:hidden}.blender-base{background:linear-gradient(#475569,#1e293b);border-radius:12px;justify-content:center;align-items:center;width:160px;height:50px;display:flex;position:absolute;bottom:-45px;left:50%;transform:translate(-50%);box-shadow:0 8px 16px #0006}.blender-btn{cursor:pointer;background:#ef4444;border:2px solid #991b1b;border-radius:50%;width:18px;height:18px;transition:all .2s}.blender-btn.active{background:#22c55e;border-color:#166534;box-shadow:0 0 10px #22c55e}.blender-liquid{background:linear-gradient(to top, rgba(var(--primary-color-rgb), .8), rgba(var(--primary-color-rgb), .5));width:100%;height:0%;transition:height 1.5s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0;left:0}@keyframes shake{0%{transform:translate(1px,1px)rotate(0)}10%{transform:translate(-1px,-2px)rotate(-1deg)}20%{transform:translate(-3px)rotate(1deg)}30%{transform:translateY(2px)rotate(0)}40%{transform:translate(1px,-1px)rotate(1deg)}50%{transform:translate(-1px,2px)rotate(-1deg)}60%{transform:translate(-3px,1px)rotate(0)}70%{transform:translate(2px,1px)rotate(-1deg)}80%{transform:translate(-1px,-1px)rotate(1deg)}90%{transform:translate(2px,2px)rotate(0)}to{transform:translate(1px,-2px)rotate(-1deg)}}.shaking{animation:.15s infinite shake}.blender-ingredients-select{border:1px solid var(--border-color);background:#ffffff03;border-radius:16px;flex-wrap:wrap;justify-content:center;gap:8px;width:100%;max-height:200px;padding:10px;display:flex;overflow-y:auto}.blender-action-btn{background:var(--primary-color);color:var(--bg-color);font-family:var(--font-display);cursor:pointer;box-shadow:0 4px 14px rgba(var(--primary-color-rgb), .3);border:none;border-radius:14px;align-items:center;gap:10px;margin-top:10px;padding:14px 28px;font-size:16px;font-weight:700;transition:all .3s;display:flex}.blender-action-btn:disabled{background:var(--text-muted);color:var(--surface-color);box-shadow:none;cursor:not-allowed}.profile-card{background:rgba(var(--surface-card-rgb), .5);border:1px solid var(--border-color);text-align:center;border-radius:24px;flex-direction:column;align-items:center;gap:16px;padding:24px;display:flex;position:relative;overflow:hidden}.profile-avatar{background:linear-gradient(135deg, var(--primary-color), var(--accent-color));width:80px;height:80px;font-family:var(--font-display);color:var(--bg-color);box-shadow:0 8px 20px rgba(var(--primary-color-rgb), .3);border-radius:50%;justify-content:center;align-items:center;font-size:32px;font-weight:700;display:flex}.profile-name{font-size:22px}.profile-email{color:var(--text-secondary);margin-top:-10px;font-size:14px}.profile-stats-row{border-top:1px solid #ffffff0d;justify-content:space-around;width:100%;margin-top:12px;padding-top:16px;display:flex}.profile-stat-box{flex-direction:column;align-items:center;gap:4px;display:flex}.profile-stat-num{font-size:20px;font-family:var(--font-display);color:var(--primary-color);font-weight:700}.profile-stat-lbl{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:600}.logout-btn{color:#ef4444;font-family:var(--font-display);cursor:pointer;background:#ef44441a;border:1px solid #ef444433;border-radius:12px;width:100%;padding:12px;font-size:14px;font-weight:600;transition:all .2s}.logout-btn:hover{background:#ef444433}.shopping-list{flex-direction:column;gap:10px;display:flex}.shopping-item{border:1px solid var(--border-color);background:#ffffff05;border-radius:16px;justify-content:space-between;align-items:center;padding:14px 18px;transition:all .2s;display:flex}.shopping-item.checked{background:#ffffff03;border-color:#ffffff08}.shopping-item-left{cursor:pointer;align-items:center;gap:12px;display:flex}.shopping-item.checked .shopping-text{color:var(--text-muted);text-decoration:line-through}.shopping-delete-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;transition:color .2s}.shopping-delete-btn:hover{color:#ef4444}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 20px;display:flex}.empty-icon{color:var(--border-color);font-size:48px}.star-rating-container{align-items:center;gap:8px;margin-top:4px;display:flex}.star-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px;font-size:26px;transition:transform .2s,color .2s}.star-btn.active{color:#fbbf24;filter:drop-shadow(0 0 4px #fbbf2466)}.star-btn:hover{transform:scale(1.2)}.notes-textarea{border:1px solid var(--border-color);width:100%;min-height:80px;color:var(--text-primary);font-family:var(--font-body);resize:vertical;background:#00000040;border-radius:12px;outline:none;padding:12px;font-size:14px;transition:border-color .3s}.notes-textarea:focus{border-color:var(--primary-color)}.quiz-container{background:rgba(var(--surface-card-rgb), .5);border:1px solid var(--border-color);border-radius:24px;flex-direction:column;gap:20px;padding:24px;display:flex}.quiz-option-grid{grid-template-columns:1fr;gap:10px;display:grid}.quiz-card{border:1.5px solid var(--border-color);cursor:pointer;background:#ffffff05;border-radius:14px;justify-content:space-between;align-items:center;padding:14px 18px;transition:all .2s;display:flex}.quiz-card:hover{background:#ffffff0a;border-color:#ffffff26}.quiz-card.active{background:rgba(var(--primary-color-rgb), .08);border-color:var(--primary-color)}.quiz-card-title{color:var(--text-primary);font-size:15px;font-weight:600}.quiz-card-desc{color:var(--text-secondary);margin-top:2px;font-size:12px}.planner-container{flex-direction:column;gap:16px;width:100%;display:flex}.planner-day-row{border:1px solid var(--border-color);background:#ffffff05;border-radius:16px;justify-content:space-between;align-items:center;padding:12px 16px;transition:all .2s;display:flex}.planner-day-row:hover{background:#ffffff0a}.planner-day-lbl{font-family:var(--font-display);color:var(--text-secondary);text-transform:uppercase;width:90px;font-size:14px;font-weight:700}.planner-slot-select{border:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-body);cursor:pointer;text-overflow:ellipsis;background:#0000004d;border-radius:10px;outline:none;flex:1;max-width:200px;padding:8px 12px;font-size:14px}.planner-slot-select:focus{border-color:var(--primary-color)}.recommendations-header-badge{color:#000;text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);border-radius:8px;margin-left:8px;padding:3px 8px;font-size:10px;font-weight:800;display:inline-block}.intake-dashboard{background:rgba(var(--surface-color-rgb), .7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:24px;flex-direction:column;gap:16px;padding:20px;display:flex;position:relative;overflow:hidden}.intake-header{justify-content:space-between;align-items:center;display:flex}.intake-progress-summary{grid-template-columns:1fr 1fr;align-items:center;gap:14px;display:grid}.macro-progress-grid{flex-direction:column;flex:1;gap:10px;display:flex}.macro-bar-container{flex-direction:column;gap:4px;display:flex}.macro-bar-info{color:var(--text-secondary);justify-content:space-between;font-size:11px;font-weight:600;display:flex}.macro-bar-label{align-items:center;gap:4px;display:flex}.macro-bar-track{background:#ffffff0d;border-radius:3px;height:6px;position:relative;overflow:hidden}.macro-bar-fill{background:var(--macro-color,var(--primary-color));border-radius:3px;width:0%;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.water-logger-card{background:linear-gradient(135deg,#3b82f614 0%,#06b6d408 100%);border:1px solid #3b82f626;border-radius:20px;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.water-glass-display{background:#ffffff05;border:4px solid #ffffff26;border-top:none;border-bottom-right-radius:16px;border-bottom-left-radius:16px;width:65px;height:80px;position:relative;overflow:hidden;box-shadow:inset 0 0 10px #ffffff0d}.water-liquid-fill{background:linear-gradient(#06b6d499,#3b82f6cc);width:100%;transition:height .6s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0;left:0;overflow:hidden}.water-liquid-fill:before{content:"";background:#3b82f6e6;border-radius:40%;width:200%;height:20px;animation:4s linear infinite waveMotion;position:absolute;top:-10px;left:-50%}.water-liquid-fill:after{content:"";background:#06b6d4b3;border-radius:38%;width:200%;height:20px;animation:6s linear infinite reverse waveMotion;position:absolute;top:-12px;left:-40%}@keyframes waveMotion{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.water-controls-panel{flex-direction:column;flex:1;gap:8px;display:flex}.water-buttons-row{gap:8px;display:flex}.water-log-btn{color:#60a5fa;font-family:var(--font-display);cursor:pointer;background:#3b82f626;border:1px solid #3b82f64d;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s}.water-log-btn:hover{color:#070913;background:#3b82f6;box-shadow:0 0 10px #3b82f666}.pantry-grid{flex-wrap:wrap;gap:8px;width:100%;display:flex}.pantry-card-wrapper{border:1px solid var(--border-color);background:#ffffff03;border-radius:20px;width:100%;padding:16px}.smart-cart-category{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.smart-cart-header{font-family:var(--font-display);text-transform:uppercase;color:var(--category-color,var(--primary-color));letter-spacing:.05em;border-bottom:1px solid #ffffff0a;align-items:center;gap:6px;padding-bottom:4px;font-size:13px;font-weight:700;display:flex}.gold-glow-border{background:linear-gradient(135deg,#fbbf240d 0%,#f59e0b03 100%)!important;border:1px solid #fbbf2459!important;box-shadow:0 0 15px #fbbf241a!important}.gold-badge{color:#000;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:800;display:inline-flex}.blender-ingredient-particle{color:#000;width:24px;height:24px;font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;font-size:8px;font-weight:800;animation:2s cubic-bezier(.25,1,.5,1) forwards dropAndSwirl;display:flex;position:absolute;top:-30px;left:calc(50% - 12px);box-shadow:0 4px 6px #0000004d}@keyframes dropAndSwirl{0%{opacity:1;top:-30px;transform:translate(0)scale(1)}30%{transform:translateX(calc(15px * sin(var(--particle-angle)))) scale(1.1);opacity:1;top:100px}70%{transform:translate(calc(cos(calc(var(--particle-angle) + 720deg)) * 25px), calc(sin(calc(var(--particle-angle) + 720deg)) * 8px)) scale(.9);opacity:.8;top:130px}to{opacity:0;top:155px;transform:translate(0)scale(0)}}.blender-vortex{pointer-events:none;border:2px dashed #ffffff40;border-top-color:#0000;border-radius:50%;width:70%;height:20%;animation:.8s linear infinite rotateVortex;position:absolute;top:45%;left:15%}@keyframes rotateVortex{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.achievement-badge-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.achievement-badge-card.unlocked{animation:1.2s unlockPulse}@keyframes unlockPulse{0%{transform:scale(1);box-shadow:0 0 #fbbf2466}50%{transform:scale(1.05);box-shadow:0 0 20px 4px #fbbf2433}to{transform:scale(1);box-shadow:0 0 #fbbf2400}}.book-pane{flex-direction:column;gap:16px;padding-bottom:40px;display:flex}.book-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;gap:12px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex}.book-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.book-card-header h3{font-family:var(--font-display);color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:16px;font-weight:700;display:flex}.book-card-body p{color:var(--text-secondary);margin:0 0 12px;font-size:13px;line-height:1.6}.book-card-body p:last-child{margin-bottom:0}.book-note{background:rgba(var(--primary-color-rgb), .05);border-left:3px solid var(--primary-color);border-radius:4px;padding:10px 12px;font-weight:600;color:var(--primary-color)!important;margin-top:16px!important;font-size:12px!important}.thank-quote{color:var(--text-secondary);background:#ffffff05;border-left:3px solid #f43f5e;border-radius:8px;padding:16px;font-family:Georgia,serif;font-size:14px!important;line-height:1.7!important}.author-link-btn:hover{transform:translateY(-1px);background:#ffffff1a!important}.buy-book-btn:hover{transform:translateY(-1px);background:#fcd34d!important;box-shadow:0 6px 16px #fbbf2466!important}.faq-container{flex-direction:column;gap:12px;margin-top:8px;display:flex}.faq-item{border-bottom:1px solid #ffffff0d;padding-bottom:12px;transition:all .3s}.faq-item:last-child{border-bottom:none;padding-bottom:0}.faq-item[open]{border-bottom-color:rgba(var(--primary-color-rgb), .2)}.faq-question{font-family:var(--font-display);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:14px;font-weight:600;list-style:none;display:flex}.faq-question::-webkit-details-marker{display:none}.faq-question::marker{display:none}.faq-question-text{text-align:left;flex:1;line-height:1.4;transition:color .2s}.faq-question:hover .faq-question-text{color:var(--primary-color)}.faq-icon-wrapper{width:24px;height:24px;color:var(--text-secondary);background:#ffffff08;border:1px solid #ffffff0d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.faq-question:hover .faq-icon-wrapper{background:rgba(var(--primary-color-rgb), .1);border-color:rgba(var(--primary-color-rgb), .2);color:var(--primary-color)}.faq-item[open] .faq-question-text{color:var(--primary-color)}.faq-item[open] .faq-icon-wrapper{background:var(--primary-color);border-color:var(--primary-color);color:var(--bg-color);transform:rotate(45deg)}.faq-answer{color:var(--text-secondary);padding:4px 8px 8px;font-size:13px;line-height:1.55;animation:.25s cubic-bezier(.4,0,.2,1) faqSlideDown}.faq-answer p{margin:0 0 10px!important}.faq-answer p:last-child{margin-bottom:0!important}.faq-answer strong{color:var(--text-primary)}@keyframes faqSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.toast-notification{-webkit-backdrop-filter:blur(10px);color:var(--text-primary);box-shadow:0 8px 32px #0000004d, 0 0 15px rgba(var(--primary-color-rgb), .1);z-index:9999;background:#000000d9;border:1px solid #ffffff1a;border-radius:50px;align-items:center;gap:8px;padding:12px 24px;font-size:13px;font-weight:600;animation:.3s cubic-bezier(.4,0,.2,1) toastFadeIn;display:flex;position:fixed;bottom:90px;left:50%;transform:translate(-50%)}@keyframes toastFadeIn{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.recommendations-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}@media (width<=768px){.recommendations-grid{scrollbar-width:none;margin:0 -4px;padding:2px 2px 6px;gap:10px!important;display:flex!important;overflow-x:auto!important}.recommendations-grid::-webkit-scrollbar{display:none}.recommendations-grid .recipe-card{flex:0 0 110px!important;min-width:110px!important;box-shadow:0 4px 12px #0003!important}}.paywall-container{box-sizing:border-box;justify-content:center;align-items:center;width:100%;padding:12px;display:flex}.paywall-card{background:rgba(var(--surface-card-rgb), .5);border:1px solid var(--border-color);text-align:center;width:100%;max-width:440px;box-shadow:var(--shadow-glow);border-radius:24px;padding:24px;position:relative;overflow:hidden}.paywall-badge{color:#000;letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(135deg,#fbbf24 0%,#d97706 100%);border-radius:50px;margin-bottom:12px;padding:4px 12px;font-size:10px;font-weight:800;display:inline-block}.paywall-icon{margin-bottom:8px;font-size:48px;animation:3s ease-in-out infinite float;display:block}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}.paywall-title{font-size:20px;font-weight:800;font-family:var(--font-display);margin-bottom:4px}.paywall-features-box{text-align:left;border:1px solid var(--border-color);background:#ffffff05;border-radius:16px;flex-direction:column;gap:16px;margin:16px 0;padding:16px;display:flex}.paywall-feature-item{align-items:flex-start;gap:12px;display:flex}.paywall-feature-bullet{flex-shrink:0;margin-top:2px;font-size:20px}.paywall-feature-item strong{color:var(--text-primary);font-size:13px;display:block}.paywall-feature-item p{color:var(--text-secondary);margin:2px 0 0;font-size:11px;line-height:1.4}.paywall-btn-premium{color:#000!important;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%)!important;border:none!important;box-shadow:0 4px 16px #f59e0b4d!important}.paywall-btn-premium:active{transform:scale(.98)}
