.search-progress-container{animation:fadeIn .3s ease-out;background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin:var(--space-6) 0;padding:var(--space-4)}.search-progress-bar{background:var(--bg-tertiary);height:8px;margin-bottom:var(--space-3);overflow:hidden;width:100%}.search-progress-bar,.search-progress-fill{border-radius:var(--radius-full);position:relative}.search-progress-fill{animation:shimmer 2s infinite;background:var(--primary-gradient);height:100%;transition:width .3s ease-out}.search-progress-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.search-progress-text{color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;margin:0;text-align:center}.profile-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;display:flex;height:100vh;justify-content:center;left:0;padding:var(--space-4);position:fixed;top:0;width:100vw;z-index:2000!important}.profile-container{animation:slideUp .3s ease-out;background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);max-height:90vh;max-width:600px;overflow-y:auto;padding:var(--space-8);position:relative;width:100%}.profile-header{margin-bottom:var(--space-6)}.profile-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;text-align:center}.profile-tabs{border-bottom:2px solid var(--border-light);display:flex;gap:var(--space-2);margin-bottom:var(--space-6)}.profile-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;flex:1 1;font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;padding:var(--space-4) var(--space-6);transition:all var(--transition-base)}.profile-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.profile-tab.active{border-bottom-color:var(--primary);color:var(--primary)}.profile-content{display:flex;flex-direction:column;gap:var(--space-6)}.profile-error{background:#ff6b6b1a;border:2px solid var(--primary);border-radius:var(--radius-lg);color:var(--primary)}.profile-error,.profile-success{font-size:var(--text-sm);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);text-align:center}.profile-success{background:#4ecdc41a;border:2px solid var(--secondary);border-radius:var(--radius-lg);color:var(--secondary)}.form-group input,.form-group select{background:var(--bg-primary);border:2px solid var(--border-medium);border-radius:var(--radius-lg);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);padding:var(--space-4);transition:all var(--transition-base)}.form-group input:disabled,.form-group select:disabled{cursor:not-allowed;opacity:.6}.form-hint{color:var(--text-tertiary);font-size:var(--text-xs);margin-top:calc(var(--space-1)*-1)}.profile-info{background:var(--bg-secondary);border-radius:var(--radius-lg);margin-top:var(--space-2);padding:var(--space-4)}.profile-info p{color:var(--text-primary);font-size:var(--text-sm);margin:0}.profile-subscription-status{background:var(--bg-secondary);border:2px solid var(--border-light);border-radius:var(--radius-lg);margin-top:var(--space-2);padding:var(--space-4)}.subscription-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-2);margin-top:0}.subscription-status{border-radius:var(--radius-md);display:inline-block;font-size:var(--text-base);font-weight:700;margin:var(--space-2) 0;padding:var(--space-2) var(--space-4)}.subscription-status.subscription-active{background:#10b9811a;border:2px solid #10b981;color:#10b981}.subscription-status.subscription-inactive{background:#ff6b6b1a;border:2px solid var(--primary);color:var(--primary)}.subscription-source{color:var(--text-tertiary);font-size:var(--text-xs);font-style:italic;margin-bottom:0;margin-top:var(--space-2)}.settings-section-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-6)}.settings-section{gap:var(--space-6)}.setting-item,.settings-section{display:flex;flex-direction:column}.setting-item{background:var(--bg-secondary);border:2px solid var(--border-light);border-radius:var(--radius-lg);gap:var(--space-4);padding:var(--space-6)}.setting-item-danger{background:#ff6b6b0d;border-color:var(--primary)}.setting-info{flex:1 1}.setting-info h4{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2)}.setting-info p{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.btn-full{margin-top:var(--space-4);width:100%}.btn-danger{background:var(--primary);border:none;color:var(--text-white)}.btn-danger:hover{background:var(--primary-dark);transform:translateY(-2px)}.btn-danger:disabled{cursor:not-allowed;opacity:.6;transform:none}.delete-confirm{display:flex;flex-direction:column;gap:var(--space-4);width:100%}.delete-warning{background:#ff6b6b1a;border:2px solid var(--primary);border-radius:var(--radius-lg);color:var(--primary);font-size:var(--text-sm);font-weight:600;padding:var(--space-4);text-align:center}.delete-actions{display:flex;gap:var(--space-4);justify-content:flex-end}.delete-actions .btn{min-width:120px}@media (max-width:640px){.profile-container{max-height:95vh;padding:var(--space-6)}.setting-item{padding:var(--space-4)}.delete-actions{flex-direction:column}.delete-actions .btn{width:100%}}.pantry-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;display:flex;height:100vh;justify-content:center;left:0;padding:var(--space-4);position:fixed;top:0;width:100vw;z-index:2000!important}.pantry-container{animation:slideUp .3s ease-out;background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);max-height:90vh;max-width:900px;overflow-y:auto;padding:var(--space-6);position:relative;width:100%}.pantry-header{margin-bottom:var(--space-6);text-align:center}.pantry-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-2)}.pantry-subtitle{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.pantry-error{background:#ff6b6b1a;border:2px solid var(--primary);border-radius:var(--radius-lg);color:var(--primary)}.pantry-error,.pantry-success{font-size:var(--text-sm);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);text-align:center}.pantry-success{background:#4ecdc41a;border:2px solid var(--secondary);border-radius:var(--radius-lg);color:var(--secondary)}.pantry-categories-tabs{border-bottom:2px solid var(--border-light);display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6);padding-bottom:var(--space-4)}.pantry-category-tab{align-items:center;background:#0000;border:solid #0000;border-radius:var(--radius-md);border-width:2px 2px 3px;color:var(--text-secondary);cursor:pointer;display:flex;font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;gap:var(--space-2);padding:var(--space-3) var(--space-4);transition:all var(--transition-base)}.pantry-category-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.pantry-category-tab.active{background:var(--bg-secondary);border-color:var(--primary);border-bottom-color:var(--primary);color:var(--primary)}.category-icon{font-size:var(--text-lg)}.category-name{white-space:nowrap}.category-count{font-size:var(--text-xs);opacity:.7}.pantry-content{display:flex;flex-direction:column;gap:var(--space-6)}.pantry-section{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-5)}.pantry-section .section-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-4)}.pantry-search{margin-bottom:var(--space-4)}.pantry-search-input{background:var(--bg-primary);border:2px solid var(--border-medium);border-radius:var(--radius-lg);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);padding:var(--space-4);transition:all var(--transition-base);width:100%}.pantry-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #ff6b6b1a;outline:none}.common-items-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-height:300px;overflow-y:auto;padding:var(--space-2)}.common-item-btn{background:var(--bg-primary);border:2px solid var(--border-medium);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;font-size:var(--text-sm);font-weight:600;overflow:hidden;padding:var(--space-3) var(--space-4);text-align:left;text-overflow:ellipsis;transition:all var(--transition-base);white-space:nowrap}.common-item-btn:hover:not(:disabled){background:#ff6b6b0d;border-color:var(--primary);transform:translateY(-2px)}.common-item-btn:disabled{cursor:not-allowed;opacity:.6}.common-item-btn.added,.common-item-btn:disabled{background:#4ecdc41a;border-color:var(--secondary);color:var(--secondary)}.manual-add-form{align-items:stretch;display:flex;gap:var(--space-3)}.manual-add-input{background:var(--bg-primary);border:2px solid var(--border-medium);border-radius:var(--radius-lg);color:var(--text-primary);flex:1 1;font-family:var(--font-body);font-size:var(--text-base);padding:var(--space-4);transition:all var(--transition-base)}.manual-add-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #ff6b6b1a;outline:none}.manual-add-form .btn{min-width:100px;white-space:nowrap}.empty-pantry-message{color:var(--text-secondary);font-style:italic;margin:0;padding:var(--space-8);text-align:center}.pantry-items-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:400px;overflow-y:auto}.pantry-item{align-items:center;background:var(--bg-primary);border:2px solid var(--border-light);border-radius:var(--radius-lg);display:flex;justify-content:space-between;padding:var(--space-4);transition:all var(--transition-base)}.pantry-item:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm)}.pantry-item-name{color:var(--text-primary);flex:1 1;font-size:var(--text-base);font-weight:600}.pantry-item-delete{align-items:center;background:#0000;border:none;border-radius:var(--radius-full);color:var(--primary);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;line-height:1;padding:0;transition:all var(--transition-base);width:32px}.pantry-item-delete:hover:not(:disabled){background:#ff6b6b1a;transform:scale(1.1)}.pantry-item-delete:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.pantry-container{max-height:95vh;padding:var(--space-4)}.pantry-categories-tabs{flex-direction:column;gap:var(--space-2)}.pantry-category-tab{justify-content:flex-start;width:100%}.common-items-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.manual-add-form{flex-direction:column}.manual-add-form .btn{width:100%}}.saved-recipes-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;display:flex;height:100vh;justify-content:center;left:0;padding:var(--space-4);position:fixed;top:0;width:100vw;z-index:2000!important}.saved-recipes-container{animation:slideUp .3s ease-out;background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);max-height:90vh;max-width:1200px;overflow-y:auto;padding:var(--space-6);position:relative;width:100%}.saved-recipes-header{margin-bottom:var(--space-6);text-align:center}.saved-recipes-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-2)}.saved-recipes-subtitle{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.saved-recipes-error{background:#ff6b6b1a;border:1px solid #ff6b6b4d;border-radius:var(--radius-lg);color:#ff6b6b;margin-bottom:var(--space-4);padding:var(--space-3);text-align:center}.saved-recipes-empty,.saved-recipes-loading{color:var(--text-secondary);padding:var(--space-8);text-align:center}.saved-recipes-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(350px,1fr));padding:var(--space-2)}.saved-recipe-card{background:var(--bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;transition:all var(--transition-base)}.saved-recipe-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.saved-recipe-image-container{height:200px;overflow:hidden;position:relative;width:100%}.saved-recipe-image{height:100%;object-fit:cover;width:100%}.saved-recipe-unsave-btn{align-items:center;background:#ffffffe6;border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;font-size:var(--text-xl);height:40px;justify-content:center;position:absolute;right:var(--space-2);top:var(--space-2);transition:all var(--transition-base);width:40px}.saved-recipe-unsave-btn:hover{background:#fff;transform:scale(1.1)}.saved-recipe-content{padding:var(--space-4)}.saved-recipe-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2)}.saved-recipe-meta{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-3)}.saved-recipe-section-title{color:var(--text-primary);font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-2);margin-top:var(--space-3)}.saved-recipe-ingredients-list{list-style:none;margin:0;padding:0}.saved-recipe-ingredients-list li{border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:var(--text-sm);padding:var(--space-1) 0}.saved-recipe-ingredients-list li:last-child{border-bottom:none}.saved-recipe-no-ingredients{color:var(--text-secondary);font-size:var(--text-sm);font-style:italic}.saved-recipe-missing-ingredients-warning{background:#ffa5001a;border:1px solid #ff9800;border-radius:var(--radius-lg);margin-top:var(--space-4);padding:var(--space-3)}.saved-recipe-missing-ingredients-title{color:#ff9800;font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-2)}.saved-recipe-missing-ingredients-list{list-style:none;margin:var(--space-2) 0;padding:0}.saved-recipe-missing-ingredients-list li{color:var(--text-primary);font-size:var(--text-sm);padding:var(--space-1) 0;padding-left:var(--space-4);position:relative}.saved-recipe-missing-ingredients-list li:before{color:#ff9800;content:"⚠";font-weight:700;left:0;position:absolute}.saved-recipe-missing-ingredient-clickable{cursor:pointer;transition:color var(--transition-fast)}.saved-recipe-missing-ingredient-clickable:hover{color:var(--primary);transform:translateX(2px)}.saved-recipe-missing-more{color:var(--text-secondary);font-style:italic}.saved-recipe-missing-ingredients-hint{color:var(--text-tertiary);font-size:var(--text-xs);font-style:italic;margin-bottom:0;margin-top:var(--space-2)}.saved-recipe-method-section,.saved-recipe-nutrition-section{margin-top:var(--space-4)}.saved-recipe-method{color:var(--text-secondary);font-size:var(--text-sm)}.saved-recipe-method-step{line-height:1.6;margin-bottom:var(--space-2)}.saved-recipe-nutrition{color:var(--text-secondary);font-size:var(--text-sm)}.saved-recipe-nutrition p{margin-bottom:var(--space-1)}.saved-recipe-subscribe-section{margin-top:var(--space-4);text-align:center}.btn-subscribe-prominent{background:linear-gradient(135deg,#ff1493,#ff69b4);border:none;border-radius:var(--radius-lg);color:#fff;font-size:var(--text-base);font-weight:600;padding:var(--space-3) var(--space-6)}.btn-subscribe-prominent:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}@media (max-width:480px){.saved-recipes-container{max-height:95vh;padding:var(--space-3)}.saved-recipes-grid{gap:var(--space-4);grid-template-columns:1fr;padding:var(--space-2)}.saved-recipe-card{border-radius:var(--radius-xl)}.saved-recipe-image-container{height:180px}.saved-recipe-content{padding:var(--space-3)}.saved-recipe-title{font-size:clamp(1rem,4vw,1.125rem);margin-bottom:var(--space-2)}.saved-recipe-meta{font-size:var(--text-xs);margin-bottom:var(--space-2)}.saved-recipe-actions{flex-direction:column;gap:var(--space-2)}.saved-recipe-actions .btn{font-size:var(--text-sm);min-height:44px;padding:var(--space-3);width:100%}.modal-close-btn{font-size:1.75rem;height:40px;right:var(--space-2);top:var(--space-2);width:40px}}@media (min-width:481px) and (max-width:768px){.saved-recipes-grid{gap:var(--space-5);grid-template-columns:repeat(2,1fr)}.saved-recipes-container{max-height:95vh;padding:var(--space-4)}.saved-recipe-image-container{height:200px}}@media (min-width:769px) and (max-width:1024px){.saved-recipes-grid{gap:var(--space-6);grid-template-columns:repeat(2,1fr)}.saved-recipe-image-container{height:220px}}@media (max-width:768px){.saved-recipes-grid{grid-template-columns:1fr}.saved-recipes-container{max-height:95vh;padding:var(--space-4)}}.shopping-list-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;display:flex;height:100vh;justify-content:center;left:0;padding:var(--space-4);position:fixed;top:0;width:100vw;z-index:2000!important}.shopping-list-container{animation:slideUp .3s ease-out;background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);max-height:90vh;max-width:600px;overflow-y:auto;padding:var(--space-6);position:relative;width:100%}.shopping-list-header{margin-bottom:var(--space-6);text-align:center}.shopping-list-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-2)}.shopping-list-subtitle{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.shopping-list-error{background:#ff6b6b1a;border:1px solid #ff6b6b4d;border-radius:var(--radius-lg);color:#ff6b6b}.shopping-list-error,.shopping-list-success{margin-bottom:var(--space-4);padding:var(--space-3);text-align:center}.shopping-list-success{background:#4caf501a;border:1px solid #4caf504d;border-radius:var(--radius-lg);color:#4caf50}.shopping-list-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-6)}.shopping-list-actions .btn{border:none;border-radius:var(--radius-lg);cursor:pointer;flex:1 1;font-size:var(--text-base);font-weight:600;min-width:140px;padding:var(--space-3) var(--space-4);transition:all var(--transition-base)}.shopping-list-actions .btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-secondary{background:var(--bg-secondary);border:2px solid var(--border-light);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);transform:translateY(-2px)}.btn-clear{background:#ff6b6b1a;border:1px solid #ff6b6b4d;color:#ff6b6b}.btn-clear:hover{background:#ff6b6b33;transform:translateY(-2px)}.shopping-list-empty,.shopping-list-loading{color:var(--text-secondary);padding:var(--space-8);text-align:center}.shopping-list-hint{color:var(--text-tertiary);font-size:var(--text-sm);font-style:italic;margin-top:var(--space-4)}.shopping-list-items{display:flex;flex-direction:column;gap:var(--space-2)}.shopping-list-item{align-items:center;background:var(--bg-secondary);border:2px solid #0000;border-radius:var(--radius-lg);display:flex;gap:var(--space-3);padding:var(--space-3);transition:all var(--transition-base)}.shopping-list-item:hover{background:var(--bg-tertiary);border-color:var(--border-light)}.shopping-list-item.checked{opacity:.6}.shopping-list-item.checked .shopping-list-item-name{color:var(--text-secondary);text-decoration:line-through}.shopping-list-checkbox{accent-color:var(--primary);cursor:pointer;height:20px;width:20px}.shopping-list-item-name{color:var(--text-primary);flex:1 1;font-size:var(--text-base)}.shopping-list-remove-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--text-2xl);height:32px;justify-content:center;line-height:1;padding:0;transition:all var(--transition-base);width:32px}.shopping-list-remove-btn:hover{background:#ff6b6b1a;color:#ff6b6b;transform:scale(1.1)}@media (max-width:480px){.shopping-list-container{border-radius:var(--radius-xl);max-height:95vh;padding:var(--space-3)}.shopping-list-title{font-size:clamp(1.25rem,5vw,1.5rem);margin-bottom:var(--space-3)}.shopping-list-item{gap:var(--space-2);padding:var(--space-3)}.shopping-list-item-content{gap:var(--space-2)}.shopping-list-item-text{font-size:var(--text-base)}.shopping-list-actions{flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.shopping-list-actions .btn{font-size:var(--text-base);min-height:48px;padding:var(--space-3);width:100%}.modal-close-btn{font-size:1.75rem;height:40px;right:var(--space-2);top:var(--space-2);width:40px}.shopping-list-checkbox{height:24px;min-width:24px;width:24px}}@media (min-width:481px) and (max-width:768px){.shopping-list-container{max-height:95vh;padding:var(--space-4)}.shopping-list-actions{flex-direction:row;gap:var(--space-3)}.shopping-list-actions .btn{flex:1 1;min-width:140px}}@media (max-width:768px){.shopping-list-container{max-height:95vh;padding:var(--space-4)}.shopping-list-actions{flex-direction:column}.shopping-list-actions .btn{width:100%}}.recipe-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;display:flex;height:100vh;justify-content:center;left:0;overflow-y:auto;padding:var(--space-4);position:fixed;top:0;width:100vw;z-index:2000!important}.recipe-modal-container{animation:slideUp .3s ease-out;background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);max-height:90vh;max-width:800px;overflow-y:auto;position:relative;width:100%}.recipe-modal-image-container{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;height:300px;overflow:hidden;position:relative;width:100%}.recipe-modal-image{height:100%;object-fit:cover;width:100%}.recipe-modal-heart-btn{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffe6;border:1px solid #0000001a;border-radius:var(--radius-full);box-shadow:var(--shadow-md);cursor:pointer;display:flex;font-size:var(--text-xl);height:45px;justify-content:center;left:var(--space-3);position:absolute;right:auto;top:var(--space-3);transition:all var(--transition-fast);width:45px;z-index:5}.recipe-modal-heart-btn:hover{box-shadow:var(--shadow-lg);transform:scale(1.1)}.recipe-modal-heart-btn.saved{background:#ff6b6b33;border-color:var(--primary);color:var(--primary)}.recipe-modal-content{padding:var(--space-6)}.recipe-modal-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-3)}.recipe-modal-meta{color:var(--text-secondary);font-size:var(--text-base);margin-bottom:var(--space-6)}.recipe-modal-section-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-3);margin-top:var(--space-6)}.recipe-modal-section-title:first-of-type{margin-top:0}.recipe-modal-ingredients-section{margin-bottom:var(--space-4)}.recipe-modal-ingredients-list{list-style:none;margin:0;padding:0}.recipe-modal-ingredients-list li{border-bottom:1px solid var(--border-light);color:var(--text-primary);font-size:var(--text-base);padding:var(--space-2) 0}.recipe-modal-no-ingredients{color:var(--text-secondary);font-style:italic}.recipe-modal-missing-ingredients-warning{background:#ffa5001a;border:1px solid #ff9800;border-radius:var(--radius-lg);margin-top:var(--space-4);padding:var(--space-4)}.recipe-modal-missing-ingredients-title{color:#ff9800;font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-2)}.recipe-modal-missing-ingredients-list{list-style:none;margin:var(--space-2) 0;padding:0}.recipe-modal-missing-ingredients-list li{border-bottom:none;color:var(--text-primary);cursor:pointer;font-size:var(--text-sm);padding:var(--space-1) 0;transition:color var(--transition-fast)}.recipe-modal-missing-ingredient-clickable:hover{color:var(--primary)}.recipe-modal-missing-ingredient-clickable:before{color:#ff9800;content:"⚠ ";font-weight:700}.recipe-modal-missing-more{color:var(--text-secondary);font-style:italic}.recipe-modal-missing-ingredients-hint{color:var(--text-tertiary);font-size:var(--text-xs);font-style:italic;margin-bottom:0;margin-top:var(--space-2)}.recipe-modal-method-section{margin-bottom:var(--space-4)}.recipe-modal-method{margin-top:var(--space-3)}.recipe-modal-method-step{background:var(--bg-secondary);border-radius:var(--radius-lg);color:var(--text-primary);line-height:1.6;margin-bottom:var(--space-2);padding:var(--space-3)}.recipe-modal-nutrition-section{margin-bottom:var(--space-4)}.recipe-modal-nutrition{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4)}.recipe-modal-nutrition p{color:var(--text-primary);margin:var(--space-2) 0}.recipe-modal-footer,.recipe-modal-subscribe-section{margin-top:var(--space-6);text-align:center}.recipe-modal-footer{color:var(--text-tertiary);font-size:var(--text-sm);padding-top:var(--space-4)}.recipe-modal-footer hr{border:none;border-top:1px solid var(--border-light);margin-bottom:var(--space-3)}.recipe-blurred{filter:blur(5px)}.recipe-blurred:after{background:#ffffff4d}@media (max-width:480px){.recipe-modal-overlay{padding:var(--space-2)}.recipe-modal-container{border-radius:var(--radius-xl);max-height:95vh;max-width:100%}.recipe-modal-image-container{height:200px}.recipe-modal-content{padding:var(--space-4)}.recipe-modal-title{font-size:clamp(1.25rem,5vw,1.5rem);margin-bottom:var(--space-2)}.recipe-modal-meta{font-size:var(--text-sm);margin-bottom:var(--space-4)}.recipe-modal-section-title{font-size:clamp(1rem,4vw,1.125rem);margin-bottom:var(--space-2);margin-top:var(--space-4)}.recipe-modal-heart-btn{height:44px;right:var(--space-2);top:var(--space-2);width:44px}.recipe-modal-ingredients-list li,.recipe-modal-method-step{font-size:var(--text-sm);padding:var(--space-2)}.recipe-modal-nutrition{padding:var(--space-3)}}@media (min-width:481px) and (max-width:1024px){.recipe-modal-overlay{padding:var(--space-3)}.recipe-modal-container{max-height:92vh;max-width:90%}.recipe-modal-image-container{height:250px}.recipe-modal-content{padding:var(--space-5)}.recipe-modal-title{font-size:clamp(1.5rem,4vw,1.75rem)}.recipe-modal-section-title{font-size:var(--text-lg)}}@media (min-width:1025px){.recipe-modal-container{max-width:800px}.recipe-modal-image-container{height:300px}}.search-page{background:var(--bg-secondary);max-width:100vw;min-height:100vh;overflow-x:hidden;padding:0;position:relative;width:100%}.watermark-container{grid-gap:0;background:#0000;display:grid;gap:0;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);height:100vh;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100%;z-index:0!important}.watermark-image{background-color:initial;background-position:50%;background-repeat:no-repeat;background-size:cover;filter:grayscale(50%) blur(.3px);height:100%;mix-blend-mode:multiply;opacity:.12;position:relative;transition:opacity .3s ease;width:100%}@media (max-width:768px){.watermark-container{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr)}}.search-page>:not(.watermark-container){position:relative;z-index:1}.header-buttons-container{align-items:center;display:flex;gap:var(--space-3);justify-content:center;margin:0 auto var(--space-6) auto;max-width:1200px;padding:0 var(--space-4);width:100%}@media (min-width:481px) and (max-width:1024px){.header-buttons-container{gap:var(--space-4);padding:0 var(--space-6)}.btn-header-green,.btn-header-red{min-height:48px;padding:var(--space-3) var(--space-5)}.welcome-message{padding:var(--space-6) var(--space-6) 0 var(--space-6)}}@media (max-width:480px){.header-buttons-container{flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-4);padding:0 var(--space-3)}.btn-header-green,.btn-header-red{font-size:.75rem;min-height:44px;min-width:90px;padding:var(--space-2) var(--space-4)}.welcome-message{margin-top:var(--space-4);padding:var(--space-4) var(--space-3) 0 var(--space-3)}}.btn-header-red{background:var(--primary-gradient);border:2px solid #0000;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:var(--text-white);cursor:pointer;font-size:var(--text-base);font-size:.875rem;font-weight:700;letter-spacing:.02em;min-height:52px;min-width:100px;padding:var(--space-3) var(--space-6);text-transform:uppercase;transition:all var(--transition-base)}.btn-header-red:hover{border-color:#ff1493cc;box-shadow:var(--shadow-lg),0 0 10px #ff149399,0 0 20px #ff149366,0 0 30px #ff14934d,0 0 0 2px #ff1493cc;transform:translateY(-2px)}.btn-header-green{background:linear-gradient(135deg,#4ecdc4,#44a08d);border:2px solid #0000;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:var(--text-white);cursor:pointer;font-size:var(--text-base);font-size:.875rem;font-weight:700;letter-spacing:.02em;min-height:52px;min-width:140px;padding:var(--space-3) var(--space-6);text-transform:uppercase;transition:all var(--transition-base)}.btn-header-green:hover{border-color:#4ecdc4cc;box-shadow:var(--shadow-lg),0 0 10px #4ecdc499,0 0 20px #4ecdc466,0 0 30px #4ecdc44d,0 0 0 2px #4ecdc4cc;transform:translateY(-2px)}.menu-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;display:flex;height:100vh;justify-content:center;left:0;padding:var(--space-4);position:fixed;top:0;width:100vw;z-index:2000!important}.menu-modal-container{animation:slideUp .3s ease-out;background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);max-height:90vh;max-width:400px;overflow-y:auto;padding:var(--space-6);position:relative;width:100%}.menu-modal-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-6);margin-top:var(--space-2);text-align:center}.menu-modal-items{display:flex;flex-direction:column;gap:var(--space-2)}.menu-modal-item{background:var(--bg-secondary);border:2px solid var(--border-light);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;display:block;font-family:inherit;font-size:var(--text-base);font-weight:600;padding:var(--space-4) var(--space-6);text-align:center;text-decoration:none;transition:all var(--transition-base);width:100%}.menu-modal-item:hover{background:var(--bg-tertiary);border-color:var(--primary);box-shadow:var(--shadow-md);color:var(--primary);transform:translateY(-2px)}.menu-modal-link{align-items:center;display:flex;justify-content:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.welcome-message{background:#0000;border:none;margin:var(--space-6) auto var(--space-4) auto;max-width:1200px;padding:var(--space-4) var(--space-4) 0 var(--space-4);text-align:center;width:100%}.welcome-message h2{background:#0000;color:var(--text-primary);font-family:var(--font-heading);font-size:clamp(1.25rem,4vw,1.75rem);font-weight:600;margin:0;text-shadow:none}.shopping-list-success-notification{animation:slideInRight .3s ease-out;background:linear-gradient(135deg,#4ecdc4,#44a08d);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);color:#fff;font-size:var(--text-base);font-weight:600;max-width:350px;padding:var(--space-4) var(--space-6);position:fixed;right:var(--space-4);text-align:center;top:80px;z-index:calc(var(--z-modal) + 5)}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:639px){.shopping-list-success-notification{font-size:var(--text-sm);left:var(--space-3);max-width:none;padding:var(--space-3) var(--space-4);right:var(--space-3);top:70px}}.search-page-content{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:1200px;padding:var(--space-6) var(--space-4);width:100%}@media (max-width:480px){.search-page-content{padding:var(--space-4) var(--space-3)}}@media (min-width:481px) and (max-width:1024px){.search-page-content{padding:var(--space-5) var(--space-5)}}.search-container-floating{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffc0cb26;border:1px solid #ffc0cb33;border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);margin-bottom:var(--space-6);max-width:800px;padding:var(--space-5) var(--space-5);width:100%}@media (max-width:480px){.search-container-floating{border-radius:var(--radius-xl);margin-bottom:var(--space-4);padding:var(--space-4) var(--space-3)}}@media (min-width:481px) and (max-width:1024px){.search-container-floating{max-width:700px;padding:var(--space-5) var(--space-4)}}.section-title{color:var(--text-primary);font-family:var(--font-heading);font-size:clamp(1rem,3vw,1.25rem);font-weight:600;margin-bottom:var(--space-3);margin-top:0}.section-title:first-of-type{margin-top:0}.quick-add-ingredients{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.quick-add-btn{background:var(--bg-primary);border:2px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:var(--text-xs);font-weight:500;min-height:32px;padding:var(--space-1) var(--space-3);transition:all var(--transition-base)}.quick-add-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quick-add-btn:disabled{background:var(--bg-tertiary);border-color:var(--border-medium);cursor:not-allowed;opacity:.5}.search-history-modal-overlay{align-items:center;animation:modalFadeIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-4);position:fixed;right:0;top:0;z-index:var(--z-modal)}.search-history-modal{background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);max-height:80vh;max-width:500px;overflow-y:auto;padding:var(--space-6);position:relative;width:100%}.search-history-modal-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-1);text-align:center}.search-history-modal-subtitle{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-5);text-align:center}.search-history-empty{color:var(--text-secondary);padding:var(--space-8) var(--space-4);text-align:center}.search-history-empty p{margin-bottom:var(--space-2)}.search-history-modal-list{display:flex;flex-direction:column;gap:var(--space-3)}.search-history-modal-item{align-items:flex-start;background:var(--bg-secondary);border:2px solid var(--border-light);border-radius:var(--radius-lg);display:flex;gap:var(--space-3);padding:var(--space-4);transition:all var(--transition-base)}.search-history-modal-item:hover{border-color:var(--primary);box-shadow:0 4px 12px #ff6b6b26}.search-history-modal-content{cursor:pointer;flex:1 1;min-width:0}.search-history-modal-ingredients{color:var(--text-primary);font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-2)}.search-history-modal-diet{color:var(--secondary);font-size:var(--text-sm);font-weight:500}.search-history-modal-diet,.search-history-modal-recipes{margin-bottom:var(--space-2)}.search-history-modal-recipes-label{color:var(--text-tertiary);font-size:var(--text-xs);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.search-history-modal-recipe-list{list-style:none;margin:var(--space-1) 0 0 0;padding:0}.search-history-modal-recipe-list li{border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:var(--text-sm);padding:var(--space-1) 0}.search-history-modal-recipe-list li:last-child{border-bottom:none}.search-history-modal-date{color:var(--text-tertiary);font-size:var(--text-xs);margin-top:var(--space-2)}.search-history-modal-delete{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;height:36px;justify-content:center;transition:all var(--transition-base);width:36px}.search-history-modal-delete:hover{background:#ff6b6b26}.ingredient-input-section{margin-bottom:var(--space-4)}.ingredient-input-wrapper{display:flex;flex-direction:column;gap:var(--space-2)}@media (min-width:640px){.ingredient-input-wrapper{flex-direction:row;gap:var(--space-2)}}.ingredient-input{background:var(--bg-primary);border:2px solid var(--border-light);border-radius:var(--radius-lg);color:var(--text-primary);flex:1 1;font-size:var(--text-sm);padding:var(--space-3) var(--space-4);transition:all var(--transition-base)}.ingredient-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #ff6b6b1a;outline:none}.spell-suggestion{align-items:center;background:var(--bg-tertiary);border-radius:var(--radius-md);color:var(--text-secondary);display:flex;font-size:var(--text-sm);gap:var(--space-2);padding:var(--space-2) var(--space-3)}.spell-suggestion strong{color:var(--primary)}.spell-accept-btn{background:var(--primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--text-xs);padding:var(--space-1) var(--space-3);transition:all var(--transition-fast)}.spell-accept-btn:hover{background:var(--primary-dark);transform:scale(1.05)}.btn-add-ingredient{background:var(--primary-gradient);border:2px solid #0000;border-radius:var(--radius-lg);color:var(--text-white);cursor:pointer;font-size:var(--text-sm);font-weight:600;min-height:40px;padding:var(--space-3) var(--space-4);transition:all var(--transition-base);white-space:nowrap}.btn-add-ingredient:hover:not(:disabled){border-color:#ff1493cc;box-shadow:var(--shadow-lg),0 0 10px #ff149399,0 0 20px #ff149366,0 0 30px #ff14934d,0 0 0 2px #ff1493cc;transform:translateY(-2px)}.btn-add-ingredient:disabled{cursor:not-allowed;opacity:.5}.ingredients-list-container{background:var(--bg-primary);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4);min-height:40px;padding:var(--space-2)}.ingredient-tag{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:var(--radius-full);color:var(--text-primary);display:inline-flex;font-size:var(--text-sm);font-weight:500;gap:var(--space-2);padding:var(--space-2) var(--space-4)}.ingredient-tag button{align-items:center;background:none;border:none;border-radius:var(--radius-full);color:var(--text-tertiary);cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;min-height:20px;min-width:20px;padding:0;transition:all var(--transition-fast)}.ingredient-tag button:hover{background:var(--bg-secondary);color:var(--primary)}.dietary-lifestyle-dropdown{-webkit-appearance:none;appearance:none;background:var(--bg-primary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%234A5568' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right var(--space-3) center;background-repeat:no-repeat;border:2px solid var(--border-light);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;font-size:var(--text-sm);margin-bottom:var(--space-4);min-height:40px;padding:var(--space-3) var(--space-4);padding-right:var(--space-8);transition:all var(--transition-base);width:100%}.dietary-lifestyle-dropdown:hover{border-color:var(--border-medium)}.dietary-lifestyle-dropdown:focus{border-color:var(--primary);box-shadow:0 0 0 4px #ff6b6b1a;outline:none}.diet-warning-modal{align-items:center;background:#00000080;display:flex;height:100vh;justify-content:center;left:0;padding:var(--space-4);position:fixed;top:0;width:100vw;z-index:var(--z-modal)}.diet-warning-content{animation:modalFadeIn .3s ease-out;background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);max-height:80vh;max-width:600px;overflow-y:auto;padding:var(--space-6);position:relative;width:100%}.modal-close-btn{font-size:2rem;height:32px;width:32px}.diet-warning-content h3{color:var(--primary);font-family:var(--font-heading);font-size:var(--text-xl);margin-bottom:var(--space-4);padding-right:var(--space-8)}.diet-warning-content p{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.7;margin-bottom:var(--space-6)}.diet-warning-buttons{display:flex;gap:var(--space-3)}.btn-warning-accept{background:var(--primary-gradient);border:none;border-radius:var(--radius-xl);color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:var(--space-3) var(--space-5);transition:all var(--transition-base)}.btn-warning-accept:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-warning-cancel{background:var(--bg-tertiary);border:2px solid var(--border-medium);border-radius:var(--radius-xl);color:var(--text-primary);cursor:pointer;flex:1 1;font-weight:600;padding:var(--space-3) var(--space-5);transition:all var(--transition-base)}.btn-warning-cancel:hover{background:var(--bg-secondary);border-color:var(--border-dark)}.search-actions{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-bottom:var(--space-4)}@media (max-width:480px){.search-actions{flex-direction:column;gap:var(--space-2)}.btn-clear-search,.btn-search-recipe{min-height:48px;min-width:0;min-width:auto;padding:var(--space-3) var(--space-4);width:100%}}@media (min-width:481px) and (max-width:639px){.search-actions{gap:var(--space-2)}.btn-clear-search,.btn-search-recipe{flex:1 1 auto;min-width:120px}}.btn-clear-search,.btn-search-recipe{border:2px solid #0000;border-radius:var(--radius-xl);cursor:pointer;flex:1 1 auto;font-size:var(--text-base);font-weight:600;min-height:52px;padding:var(--space-4) var(--space-6);transition:all var(--transition-base);white-space:nowrap}@media (max-width:639px){.btn-clear-search,.btn-search-recipe{flex:1 1 calc(50% - var(--space-1));font-size:var(--text-sm);min-width:140px;padding:var(--space-3) var(--space-4)}}.btn-search-recipe{background:var(--primary-gradient);box-shadow:var(--shadow-md);color:var(--text-white)}.btn-search-recipe:hover:not(:disabled){border-color:#ff1493cc;box-shadow:var(--shadow-lg),0 0 10px #ff149399,0 0 20px #ff149366,0 0 30px #ff14934d,0 0 0 2px #ff1493cc;transform:translateY(-2px)}.btn-clear-search{background:var(--bg-primary);border:2px solid var(--border-medium);color:var(--text-primary)}.btn-clear-search:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-dark);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-clear-search:disabled,.btn-search-recipe:disabled{cursor:not-allowed;opacity:.5}.recipe-grid-futuristic{display:flex;flex-direction:column;gap:var(--space-6);margin-left:auto;margin-right:auto;margin-top:var(--space-6);max-width:800px;padding:0 var(--space-2);width:100%}@media (max-width:480px){.recipe-grid-futuristic{gap:var(--space-3);margin-top:var(--space-3);padding:0 var(--space-2)}.recipe-card-simple{transform:scale(.98)}.recipe-card-image-container{height:clamp(160px,35vw,200px)}.recipe-card-title{font-size:clamp(.875rem,4vw,1rem);padding:var(--space-3)}.recipe-card-heart-btn{font-size:1rem;height:36px;right:var(--space-2);top:var(--space-2);width:36px}.recipe-card{border-radius:var(--radius-lg);margin-bottom:var(--space-3)}.card-content{gap:var(--space-2);padding:var(--space-3)}.card-title{font-size:clamp(1rem,4vw,1.125rem)}}@media (min-width:481px) and (max-width:639px){.recipe-grid-futuristic{gap:var(--space-5);margin-top:var(--space-5);padding:0 var(--space-3)}.recipe-card{border-radius:var(--radius-xl);margin-bottom:var(--space-4)}.card-content{gap:var(--space-3);padding:var(--space-4)}.card-title{font-size:var(--text-lg)}}@media (min-width:640px) and (max-width:1024px){.recipe-grid-futuristic{gap:var(--space-6);max-width:700px;padding:0 var(--space-4)}.recipe-card-image-container{height:clamp(220px,30vw,280px)}}@media (min-width:1024px){.recipe-grid-futuristic{gap:var(--space-8);max-width:900px}}.recipe-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;transition:all var(--transition-base);width:100%}.recipe-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-2xl);transform:translateY(-8px)}.recipe-image-container{overflow:hidden;position:relative;width:100%}.card-image{display:block;height:clamp(200px,35vw,280px);object-fit:cover;transition:transform var(--transition-slow);width:100%}.recipe-card:hover .card-image{transform:scale(1.05)}.recipe-heart-btn{align-items:center;background:#ffffffe6;border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-md);cursor:pointer;display:flex;font-size:var(--text-xl);height:44px;justify-content:center;position:absolute;right:var(--space-3);top:var(--space-3);transition:all var(--transition-base);width:44px;z-index:5}.recipe-heart-btn:hover{background:#fff;box-shadow:var(--shadow-lg);transform:scale(1.15)}.recipe-heart-btn.saved{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ff149326}.recipe-card-simple{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:all var(--transition-base)}.recipe-card-simple:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.recipe-card-image-container{height:250px;overflow:hidden;position:relative;width:100%}.recipe-card-image{height:100%;object-fit:cover;transition:transform var(--transition-base);width:100%}.recipe-card-simple:hover .recipe-card-image{transform:scale(1.05)}.recipe-card-heart-btn{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffe6;border:1px solid #0000001a;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;font-size:var(--text-xl);height:40px;justify-content:center;position:absolute;right:var(--space-3);top:var(--space-3);transition:all var(--transition-fast);width:40px;z-index:5}.recipe-card-heart-btn:hover{box-shadow:var(--shadow-md);transform:scale(1.1)}.recipe-card-heart-btn.saved{background:#ff6b6b33;border-color:var(--primary);color:var(--primary)}.recipe-card-title-container{padding:var(--space-4);text-align:center}.recipe-card-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;line-height:1.3;margin:0;overflow:hidden}.card-content{display:flex;flex:1 1;flex-direction:column;gap:var(--space-3);padding:var(--space-5)}.card-title{word-wrap:break-word;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;line-height:1.3;margin:0;overflow:hidden}.card-meta{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:var(--space-3);line-height:1.6;margin:0}.recipe-ingredients-list{list-style:none;margin:var(--space-2) 0;padding:0}.recipe-ingredients-list li{color:var(--text-secondary);font-size:var(--text-sm);padding:var(--space-1) 0;padding-left:var(--space-4);position:relative}.recipe-ingredients-list li:before{color:var(--primary);content:"•";font-weight:700;left:0;position:absolute}.recipe-no-ingredients{color:var(--text-secondary);font-size:var(--text-sm);font-style:italic;padding:var(--space-2) 0}.missing-ingredients-warning{background:#ffc1071a;border:2px solid #ffc107;border-radius:var(--radius-lg);margin-top:var(--space-4);padding:var(--space-4)}.missing-ingredients-title{color:#ff9800;font-size:var(--text-sm);font-weight:700;margin-bottom:var(--space-2);margin-top:0}.missing-ingredients-list{list-style:none;margin:var(--space-2) 0;padding:0}.missing-ingredients-list li{color:var(--text-primary);font-size:var(--text-sm);padding:var(--space-1) 0;padding-left:var(--space-4);position:relative}.missing-ingredients-list li:before{color:#ff9800;content:"⚠";font-weight:700;left:0;position:absolute}.missing-ingredient-clickable{border-radius:var(--radius-md);cursor:pointer;display:inline-block;margin:var(--space-1) 0!important;padding:var(--space-1) var(--space-2)!important;transition:all var(--transition-base);width:calc(100% - var(--space-4))}.missing-ingredient-clickable:hover{background:#4ecdc41a;color:#44a08d;font-weight:600;transform:translateX(4px)}.missing-more{color:var(--text-secondary);font-style:italic}.missing-ingredients-hint{color:var(--text-tertiary);font-size:var(--text-xs);font-style:italic;margin-bottom:0;margin-top:var(--space-2)}.recipe-section-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-3);margin-top:var(--space-4)}.ingredients-section,.method-section,.nutrition-section{margin-bottom:var(--space-4);transition:filter var(--transition-base)}.recipe-blurred{filter:blur(8px);pointer-events:none;position:relative;-webkit-user-select:none;user-select:none}.recipe-blurred:after{background:#ffffffb3;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.recipe-method{color:var(--text-secondary);line-height:1.6}.method-step{margin-bottom:var(--space-2);padding-left:var(--space-2)}.recipe-nutrition{color:var(--text-secondary);line-height:1.8}.recipe-nutrition p{margin-bottom:var(--space-1)}.recipe-subscribe-section{background:linear-gradient(135deg,#ff6b6b1a,#4ecdc41a);border:2px solid var(--primary);border-radius:var(--radius-xl);margin-bottom:var(--space-4);margin-top:var(--space-6);padding:var(--space-4)}.btn-subscribe-prominent{background:var(--primary-gradient);border:2px solid #0000;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);color:var(--text-white);cursor:pointer;font-size:var(--text-lg);font-weight:700;letter-spacing:.5px;min-height:56px;padding:var(--space-5) var(--space-6);text-transform:uppercase;transition:all var(--transition-base);width:100%}.btn-subscribe-prominent:hover{border-color:#ff1493cc;box-shadow:var(--shadow-2xl),0 0 15px #ff149399,0 0 25px #ff149366,0 0 35px #ff14934d,0 0 0 3px #ff1493cc;transform:translateY(-3px)}.card-actions{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-start;margin-top:var(--space-4)}.card-actions .btn{flex:0 1 auto;font-size:var(--text-sm);min-height:40px;padding:var(--space-3) var(--space-4)}.logout-confirm-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;display:flex;height:100vh;justify-content:center;left:0;padding:var(--space-4);position:fixed;top:0;width:100vw;z-index:2000!important}.logout-confirm-modal{animation:slideUp .3s ease-out;background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);max-width:400px;padding:var(--space-6);width:100%}.logout-confirm-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-4);text-align:center}.logout-confirm-message{color:var(--text-secondary);font-size:var(--text-base);margin-bottom:var(--space-6);text-align:center}.logout-confirm-buttons{display:flex;gap:var(--space-3)}.logout-confirm-buttons .btn{border:none;border-radius:var(--radius-lg);cursor:pointer;flex:1 1;font-size:var(--text-base);font-weight:600;padding:var(--space-3) var(--space-5);transition:all var(--transition-base)}.logout-confirm-buttons .btn-primary{background:var(--primary-gradient);color:#fff}.logout-confirm-buttons .btn-primary:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.logout-confirm-buttons .btn-secondary{background:var(--bg-secondary);border:2px solid var(--border-light);color:var(--text-primary)}.logout-confirm-buttons .btn-secondary:hover{background:var(--bg-tertiary);transform:translateY(-2px)}@media (max-width:639px){.card-actions{flex-wrap:wrap;gap:var(--space-2)}.card-actions .btn{flex:1 1 auto;min-width:120px}}.recipe-footer{border-top:1px solid var(--border-light);margin-top:var(--space-4);padding-top:var(--space-4);text-align:center}.recipe-footer p{color:var(--text-tertiary);font-size:var(--text-xs);font-style:italic;margin:0}@media (max-width:480px){.search-page-content{padding:var(--space-4) var(--space-3)}.search-container-floating{padding:var(--space-5) var(--space-4)}.header-buttons-container{gap:var(--space-2)}.btn-header-green,.btn-header-red{font-size:var(--text-xs);min-width:60px;padding:var(--space-2) var(--space-3)}.btn-header-green{min-width:100px}}.login-page{align-items:center;background:var(--bg-grey);display:flex;height:100vh;justify-content:center;left:0;min-height:100vh;padding:var(--space-4);position:fixed;top:0;width:100vw;z-index:calc(var(--z-modal) + 10)}.login-container,.login-page{animation:modalFadeIn .3s ease-out;overflow-x:hidden;overflow-y:auto}.login-container{-webkit-overflow-scrolling:touch;background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);max-height:90vh;max-width:450px;padding:var(--space-8);position:relative;scroll-behavior:smooth;width:100%}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.login-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-2);text-align:center}.login-subtitle{color:var(--text-secondary);font-size:var(--text-base);margin-bottom:var(--space-8);text-align:center}.login-form{gap:var(--space-5);margin-bottom:var(--space-6)}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:var(--space-2)}.form-group label{color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.form-group input{background:var(--bg-primary);border:2px solid var(--border-medium);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-base);padding:var(--space-4);transition:all var(--transition-base)}.form-group input:focus,.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #ff6b6b1a;outline:none}.form-group select{-webkit-appearance:none;appearance:none;background:var(--bg-primary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23666' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right var(--space-3) center;background-repeat:no-repeat;border:2px solid var(--border-medium);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;font-size:var(--text-base);padding:var(--space-4);padding-right:var(--space-10);transition:all var(--transition-base)}.form-group select:disabled{cursor:not-allowed;opacity:.6}.checkbox-group{margin-top:calc(var(--space-2)*-1)}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:var(--space-3);-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{accent-color:var(--primary);cursor:pointer;height:18px;width:18px}.checkbox-label span{color:var(--text-primary);font-size:var(--text-sm)}.forgot-password-link{margin-top:calc(var(--space-2)*-1);text-align:right}.forgot-password-link .link-button{color:var(--primary);font-size:var(--text-sm)}.login-error{background:#ff6b6b1a;border:2px solid var(--primary);border-radius:var(--radius-lg);color:var(--primary)}.login-error,.login-success{font-size:var(--text-sm);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);text-align:center}.login-success{background:#4ecdc41a;border:2px solid var(--secondary);border-radius:var(--radius-lg);color:var(--secondary)}.login-verification-message{background:#fffffff2;border:2px solid var(--secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-6);padding:var(--space-6);text-align:center}.login-verification-message h3{color:var(--text-primary);font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-4)}.login-verification-message p{color:var(--text-secondary);font-size:var(--text-base);line-height:1.6;margin-bottom:var(--space-3)}.login-verification-message p strong{color:var(--text-primary);font-weight:600}.verification-hint{color:var(--text-tertiary);font-size:var(--text-sm);font-style:italic;margin-top:var(--space-4)}.btn-login{margin-top:var(--space-2);padding:var(--space-4) var(--space-6);width:100%}.btn-login:disabled,.btn-subscribe:disabled,.link-button:disabled{cursor:not-allowed;opacity:.6}.login-toggle{margin-bottom:var(--space-6);text-align:center}.login-toggle p{color:var(--text-secondary);font-size:var(--text-sm)}.link-button{background:none;border:none;color:var(--primary);cursor:pointer;font-size:var(--text-sm);font-weight:600;padding:0;text-decoration:underline;transition:color var(--transition-base)}.link-button:hover{color:var(--primary-dark)}.login-divider{margin:var(--space-6) 0;position:relative;text-align:center}.login-divider:before{background:var(--border-light);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.login-divider span{background:var(--bg-primary);color:var(--text-secondary);font-size:var(--text-sm);padding:0 var(--space-4);position:relative}.btn-subscribe{padding:var(--space-4) var(--space-6);width:100%}@media (max-width:480px){.login-page{align-items:center;justify-content:center;padding:var(--space-2)}.login-container{margin:0;max-width:100%;padding:var(--space-4) var(--space-3);transform:scale(.95);width:calc(100% - var(--space-4))}.login-title{font-size:clamp(1.25rem,5vw,1.5rem)}.login-subtitle{font-size:clamp(.875rem,3vw,1rem)}.form-group input,.form-group select{font-size:16px;padding:var(--space-3)}.btn-login{font-size:var(--text-base);min-height:44px;padding:var(--space-3) var(--space-4)}.login-toggle{margin-top:var(--space-4)}.login-toggle p{font-size:var(--text-sm)}.modal-close-btn{font-size:1.75rem;height:40px;right:var(--space-3);top:var(--space-3);width:40px}}@media (min-width:481px) and (max-width:1024px){.login-container{max-width:500px;padding:var(--space-8) var(--space-6)}.login-title{font-size:clamp(1.5rem,4vw,1.75rem)}.form-group input,.form-group select{min-height:48px;padding:var(--space-4)}.btn-login,.btn-subscribe{min-height:52px;padding:var(--space-4) var(--space-6)}}@media (max-width:639px){.login-container{padding:var(--space-6)}.login-title{font-size:var(--text-xl)}}.subscribe-page{align-items:center;background:var(--bg-secondary);background-image:radial-gradient(circle at 20% 50%,#ff6b6b1a 0,#0000 50%),radial-gradient(circle at 80% 80%,#4ecdc41a 0,#0000 50%);display:flex;justify-content:center;max-width:100vw;min-height:100vh;overflow-x:hidden;padding:var(--space-6) var(--space-4);position:relative;width:100%}.subscribe-page:before{background:linear-gradient(135deg,#ff6b6b0d,#0000 50%),linear-gradient(225deg,#4ecdc40d,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.subscribe-container{animation:containerFadeIn .5s ease-out;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);margin:auto;max-width:650px;padding:var(--space-8) var(--space-6);position:relative;text-align:center;width:100%;z-index:1}.modal-close-btn{font-size:var(--text-3xl);height:40px;right:var(--space-4);top:var(--space-4);transition:all var(--transition-base);width:40px;z-index:10}.modal-close-btn:hover{background:#0000001a;transform:rotate(90deg)}@keyframes containerFadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.subscribe-container h1{-webkit-text-fill-color:#0000;background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;font-family:var(--font-heading);font-size:clamp(1.75rem,5vw,2.5rem);font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-bottom:var(--space-4)}.pricing-note{border-radius:var(--radius-lg);color:var(--text-secondary);display:inline-block;font-size:var(--text-base);font-style:italic;margin-bottom:var(--space-8);padding:var(--space-3) var(--space-4)}.benefits-list,.pricing-note{background:var(--bg-tertiary)}.benefits-list{border:1px solid var(--border-light);border-radius:var(--radius-xl);margin:var(--space-8) 0;padding:var(--space-6);text-align:left}.benefits-list h2{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-5);text-align:center}.benefits-list ul{grid-gap:var(--space-4);display:grid;gap:var(--space-4);list-style:none;padding:0}.benefits-list li{align-items:flex-start;background:var(--bg-primary);border:1px solid #0000;border-radius:var(--radius-lg);color:var(--text-primary);display:flex;font-size:var(--text-base);gap:var(--space-3);line-height:1.6;overflow:hidden;padding:var(--space-4);position:relative;transition:all var(--transition-base)}.benefits-list li:before{animation:checkmarkPop .3s ease-out;animation-delay:0s;animation-delay:calc(var(--index, 0)*.1s);content:"✅";flex-shrink:0;font-size:var(--text-xl)}@keyframes checkmarkPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.benefits-list li:hover{border-color:var(--primary-light);box-shadow:var(--shadow-md);transform:translateX(4px)}.subscribe-button{background:var(--primary-gradient);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);color:var(--text-white);font-size:var(--text-lg);font-weight:700;margin:var(--space-8) 0 var(--space-6);min-height:56px;overflow:hidden;padding:var(--space-5) var(--space-8);position:relative;touch-action:manipulation;transition:all var(--transition-base);width:100%}.subscribe-button:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.subscribe-button:hover{box-shadow:var(--shadow-2xl);transform:translateY(-3px)}.subscribe-button:active:before{height:400px;width:400px}.subscribe-button:active{transform:translateY(-1px)}.legal-links{border-top:1px solid var(--border-light);display:flex;flex-wrap:wrap;gap:var(--space-5);justify-content:center;margin-top:var(--space-6);padding-top:var(--space-6)}.legal-links a{border-radius:var(--radius-md);color:var(--text-tertiary);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);position:relative;text-decoration:none;transition:all var(--transition-fast)}.legal-links a:after{background:var(--primary);bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:all var(--transition-base);width:0}.legal-links a:hover{background:var(--bg-tertiary);color:var(--primary)}.legal-links a:hover:after{width:80%}@media (max-width:480px){.subscribe-page{align-items:flex-start;padding:var(--space-4) var(--space-3);padding-top:var(--space-6)}.subscribe-container{border-radius:var(--radius-xl);padding:var(--space-6) var(--space-4)}.subscribe-container h1{font-size:1.75rem}.benefits-list{margin:var(--space-6) 0;padding:var(--space-4)}.benefits-list h2{font-size:var(--text-xl);margin-bottom:var(--space-4)}.benefits-list li{font-size:var(--text-sm);padding:var(--space-3)}.subscribe-button{font-size:var(--text-base);min-height:52px;padding:var(--space-4) var(--space-6)}.legal-links{align-items:center;flex-direction:column;gap:var(--space-3)}.legal-links a{font-size:var(--text-xs)}}@media (min-width:481px) and (max-width:1024px){.subscribe-page{padding:var(--space-8) var(--space-6)}.subscribe-container{padding:var(--space-10) var(--space-8)}}@media (min-width:1025px){.subscribe-page{padding:var(--space-10) var(--space-8)}.subscribe-container{padding:var(--space-12) var(--space-10)}.benefits-list{padding:var(--space-8)}.subscribe-button{margin-left:auto;margin-right:auto;max-width:400px}}@media (prefers-color-scheme:dark){.subscribe-page{background:#0f172a;background-image:radial-gradient(circle at 20% 50%,#ff6b6b26 0,#0000 50%),radial-gradient(circle at 80% 80%,#4ecdc426 0,#0000 50%)}.subscribe-container{background:#1e293b;border-color:#334155}.benefits-list{background:#0f172a;border-color:#334155}.benefits-list li{background:#1e293b;border-color:#334155}}.welcome-screen-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;display:flex;height:100vh;justify-content:center;left:0;padding:var(--space-4);position:fixed;top:0;width:100vw;z-index:2000!important}.welcome-screen-login-container{align-items:center;animation:slideUp .3s ease-out;display:flex;justify-content:center;max-width:600px;width:100%}.welcome-screen-login-wrapper{-webkit-overflow-scrolling:touch;max-height:90vh;overflow-x:hidden;overflow-y:auto;position:relative;scroll-behavior:smooth;width:100%}.welcome-screen-login-wrapper .login-page{background:#0000;height:auto;min-height:auto;overflow:visible;position:relative}.welcome-screen-login-wrapper .login-container{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fffffff2;box-shadow:0 20px 60px #0000004d;max-height:none;overflow-y:visible}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.welcome-screen-overlay{padding:var(--space-2)}.welcome-screen-login-container{max-width:100%;width:100%}.welcome-screen-login-wrapper .login-container{max-width:calc(100vw - var(--space-4));padding:var(--space-4) var(--space-3)}}@media (min-width:481px) and (max-width:768px){.welcome-screen-login-container{max-width:500px}}.cookie-warning-overlay{animation:slideUpFadeIn .4s ease-out;bottom:var(--space-4);left:var(--space-4);margin:0 auto;max-width:500px;position:fixed;right:var(--space-4);z-index:var(--z-modal)}@keyframes slideUpFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cookie-warning-container{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);padding:var(--space-5);position:relative}.cookie-warning-content h3{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-lg);margin-bottom:var(--space-3)}.cookie-warning-content p{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6;margin-bottom:var(--space-4)}.cookie-warning-buttons{display:flex;gap:var(--space-3);justify-content:flex-end}.btn-cookie-accept{background:var(--primary-gradient);border:none;border-radius:var(--radius-xl);color:#fff;cursor:pointer;font-weight:600;min-height:44px;padding:var(--space-3) var(--space-5);transition:all var(--transition-base)}.btn-cookie-accept:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.modal-close-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:28px;justify-content:center;line-height:1;padding:0;position:absolute;right:var(--space-3);top:var(--space-3);transition:all var(--transition-fast);width:28px}.modal-close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:scale(1.1)}@media (max-width:480px){.cookie-warning-overlay{bottom:var(--space-2);left:var(--space-2);right:var(--space-2)}.cookie-warning-container{padding:var(--space-4)}}.intro-video-overlay{background:#000;height:100vh;overflow:hidden;pointer-events:none;position:fixed;width:100vw;z-index:3000}.intro-video-overlay,.intro-video-wait{align-items:center;display:flex;inset:0;justify-content:center}.intro-video-wait{color:#ffffffe6;flex-direction:column;font-family:var(--font-body);gap:14px;padding:24px;position:absolute;text-align:center}.intro-video-status{font-size:1rem;line-height:1.4;max-width:520px}.intro-video-spinner{animation:introSpin 1s linear infinite;border:4px solid #ffffff2e;border-radius:50%;border-top-color:#ffffffd9;height:44px;width:44px}@keyframes introSpin{to{transform:rotate(1turn)}}.intro-video-stage{align-items:center;display:flex;height:100%;justify-content:center;opacity:1;width:100%}.intro-video-stage.is-playing{opacity:1}.intro-video{background:#000;height:100%;object-fit:contain;opacity:0;transition:opacity .12s ease-out;width:100%}.intro-video-stage.is-playing .intro-video{opacity:1}@media (max-width:480px){.intro-video-status{font-size:.95rem}}.App{background:var(--bg-secondary);max-width:100vw;min-height:100vh;overflow-x:hidden;width:100%}:root{--primary:#ff6b6b;--primary-dark:#ee5a5a;--primary-light:#ff8787;--primary-gradient:linear-gradient(135deg,#ff6b6b,#ff8e8e);--secondary:#4ecdc4;--accent:#ffe66d;--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-tertiary:#f1f3f5;--bg-gradient:linear-gradient(135deg,#667eea,#764ba2);--bg-overlay:#00000080;--text-primary:#1a1a1a;--text-secondary:#4a5568;--text-tertiary:#718096;--text-light:#a0aec0;--text-white:#fff;--border-light:#e2e8f0;--border-medium:#cbd5e0;--border-dark:#a0aec0;--font-heading:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-mono:"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,"Courier New",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--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 #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-inner:inset 0 2px 4px 0 #0000000f;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1);--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}*{-webkit-tap-highlight-color:transparent;box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;font-size:16px;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f9fa;background:var(--bg-secondary);background-image:radial-gradient(at 0 0,#ff6b6b0d 0,#0000 50%),radial-gradient(at 100% 100%,#4ecdc40d 0,#0000 50%);color:#1a1a1a;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-body);line-height:1.6}#root,body{max-width:100vw;overflow-x:hidden;width:100%}#root{min-height:100vh}@media (max-width:480px){html{font-size:14px}}@media (min-width:481px) and (max-width:768px){html{font-size:15px}}@media (min-width:769px){html{font-size:16px}}a,button,input,select,textarea{font-family:inherit;min-height:44px;min-width:44px}button{border:none;cursor:pointer;outline:none;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base);-webkit-user-select:none;user-select:none}button:focus-visible{outline:2px solid #ff6b6b;outline:2px solid var(--primary);outline-offset:2px}a{color:#ff6b6b;color:var(--primary);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}a:hover{color:#ee5a5a;color:var(--primary-dark)}input,select,textarea{outline:none;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}input:focus,select:focus,textarea:focus{border-color:#ff6b6b;border-color:var(--primary);box-shadow:0 0 0 3px #ff6b6b1a}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/*# sourceMappingURL=main.b3f0a8c8.css.map*/