.header{display:flex;justify-content:space-between;align-items:center;min-height:60px;padding:0 20px;font-family:var(--font-family);font-weight:700}.header__logo{display:flex;gap:20px;align-items:center}.header__logo-image{width:89px;height:40px;object-fit:contain}.header__nav,.header__dateTime{display:flex;gap:20px;align-items:center}.header__name{display:flex;color:#000;margin-right:10px}.header__button{border:none;background-color:#fff;font-family:var(--font-family);font-weight:700;font-size:16px;line-height:1.25;cursor:pointer;transition:opacity .3s ease}.header__button:hover{opacity:.6}.header__profile-link{display:flex;align-items:center;text-decoration:none}.header__avatar{width:40px;height:40px;border-radius:50%;object-fit:contain}.header__avatar-placeholder{width:40px;height:40px;border-radius:50%;background-color:#000;color:#fff;display:flex;justify-content:center;align-items:center;font-size:20px;font-weight:700}.footer{display:flex;justify-content:space-between;color:gray;margin-top:20px;padding:0 20px}.footer__content{display:flex;justify-content:space-between;align-items:flex-start}.footer__logo{width:116px;height:21px}.footer__social-heading{font-family:var(--font-family);font-style:normal;font-weight:700;font-size:16px;line-height:20px;margin:0;padding-bottom:20px}.footer__list{list-style:none;margin:0;padding-left:0}.footer__list-item{font-family:var(--font-family);font-style:normal;font-weight:400;font-size:16px;line-height:20px;padding-bottom:16px}.footer__list-item:last-child{padding:0}.footer__social-link{color:#fff;text-decoration:none;transition:1s;align-items:center;display:flex}.footer__social-icon{padding-right:10px}.footer__social-link:hover{color:#c1c1c1;animation-duration:.3s}.footer__copyright{font-size:16px;font-family:var(--font-family);font-style:normal;font-weight:400;margin:0;line-height:20px;padding-top:108px}.card__name{font-family:var(--font-family);font-weight:500;line-height:20px;background-color:var(--background-white);padding:2px 12px;max-height:24px;height:24px;box-sizing:border-box;border-radius:4px;display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80%}.card__image{width:100%;max-width:328px;height:auto;aspect-ratio:1 / 1;border-radius:10px;cursor:pointer;object-fit:cover;box-sizing:border-box}.card{position:relative}.recipe-card{background:var(--background-white);border-radius:12px;box-shadow:var(--shadow-light);overflow:hidden;transition:transform .2s,box-shadow .2s;max-width:320px;width:100%;box-sizing:border-box}@media (max-width: 320px){.recipe-card{max-width:100%;margin:0 auto}.card__image{max-width:100%}}.recipe-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium)}.card__image-container{position:relative;cursor:pointer}.recipe-card .card__image{width:100%;height:240px;object-fit:cover;border-radius:0}.card__difficulty{position:absolute;top:8px;right:8px;background:#000000b3;color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.card__difficulty--easy{background:var(--easy-color)}.card__difficulty--medium{background:var(--medium-color)}.card__difficulty--hard{background:var(--hard-color)}.card__content{padding:16px}.recipe-card .card__header{position:static;display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.card__title{font-family:var(--font-family);font-weight:600;font-size:16px;line-height:1.3;margin:0 8px 0 0;color:var(--text-primary);flex:1}.card__info{display:flex;gap:12px;margin-bottom:12px;font-size:14px;color:var(--text-secondary)}.card__time,.card__servings{display:flex;align-items:center;gap:4px}.card__tags{display:flex;gap:6px;flex-wrap:wrap}.card__tag{background:var(--background-light);color:var(--text-primary);padding:2px 6px;border-radius:8px;font-size:11px;font-weight:500}.card__tag--gf{background:#dbeafe;color:#1e40af}.card__tag--df{background:#fef3c7;color:#92400e}.card__tag--v{background:#d1fae5;color:#065f46}.card__tag--vg{background:#e0e7ff;color:#3730a3}.card__like-button{background:none;border:none;font-size:26px;color:#000;cursor:pointer;transition:transform .2s;padding:0;margin:0;opacity:.7}.card__like-button:hover{opacity:1;transform:scale(1.2)}.card__like-button_active{color:var(--primary-color);opacity:1}.card__error{color:red;font-family:var(--font-family);font-weight:500}.card__header{position:absolute;top:10%;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:8px}.main{padding:0 20px;font-family:var(--font-family);font-weight:700}.search{text-align:center;margin:40px 0}.search__title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:24px}.search__filters{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.search__filter-btn{background:var(--background-light);border:2px solid var(--border-light);color:var(--text-secondary);padding:12px 24px;border-radius:25px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.search__filter-btn:hover{background:var(--background-white);border-color:var(--border-medium);color:var(--text-primary)}.search__filter-btn--active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.search__filter-btn--active:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.cards{margin-top:20px}.cards__header{text-align:center;margin:32px 0 24px}.cards__title{font-size:1.8rem;font-weight:600;color:var(--text-primary);margin:0}.cards__list{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:20px}@media (max-width: 320px){.main{padding:0 10px}.search__title{font-size:1.8rem}.search__filter-btn{padding:8px 16px;font-size:14px}.cards__list{gap:10px}}.modal{font-family:var(--font-family);display:flex;position:fixed;inset:0;align-items:center;justify-content:center;width:100%;height:100%;background-color:#00000080;z-index:1000}.modal__content{background-color:#fff;max-width:498px;width:90%;border-radius:20px;position:relative;display:flex;flex-direction:column;overflow:hidden}.recipe-modal__content{max-width:600px;max-height:90vh;overflow-y:auto}.preview__close-button{border:none;width:20px;height:20px;position:absolute;top:20px;right:20px;cursor:pointer;background-color:transparent;background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M15.7023%201.70711C16.0929%201.31658%2016.0929%200.683417%2015.7023%200.292893C15.3118%20-0.0976311%2014.6787%20-0.0976311%2014.2881%200.292893L7.99805%206.58298L1.70796%200.292893C1.31744%20-0.0976311%200.684274%20-0.0976311%200.29375%200.292893C-0.096775%200.683417%20-0.096775%201.31658%200.29375%201.70711L6.58383%207.99719L0.292893%2014.2881C-0.0976311%2014.6787%20-0.0976311%2015.3118%200.292893%2015.7023C0.683417%2016.0929%201.31658%2016.0929%201.70711%2015.7023L7.99805%209.4114L14.289%2015.7023C14.6795%2016.0929%2015.3127%2016.0929%2015.7032%2015.7023C16.0937%2015.3118%2016.0937%2014.6787%2015.7032%2014.2881L9.41226%207.99719L15.7023%201.70711Z'%20fill='black'%20fill-opacity='0.3'/%3e%3c/svg%3e");background-size:contain;background-repeat:no-repeat;background-position:center;z-index:10}.preview__close-button:hover{opacity:.6}.modal__image-container{display:flex;justify-content:center;align-items:center;width:100%;height:400px;padding:20px 20px 0;box-sizing:border-box}.modal__image{width:100%;height:100%;object-fit:contain;border-radius:10px}.modal__footer{display:flex;justify-content:space-between;align-items:center;padding:20px 28px 28px;background-color:#fff}.modal__info{display:flex;flex-direction:column;gap:4px}.modal__item-name{font-family:var(--font-family);font-size:20px;font-weight:700;margin:0;color:#000;line-height:1.2}.modal__recipe-category{font-family:var(--font-family);font-size:16px;font-weight:500;margin:0;color:#666;line-height:1.2}.modal__delete-button{background:none;border:none;color:#ff4d00;font-family:var(--font-family);font-size:16px;font-weight:700;cursor:pointer;padding:8px 12px;border-radius:4px;transition:all .3s ease;white-space:nowrap}.modal__delete-button:hover{opacity:.7;background-color:#ff4d001a}.delete__button{background:none;border:none;color:#ff4d00;font-family:var(--font-family);font-size:16px;font-weight:700;cursor:pointer;padding:8px 12px;border-radius:4px;transition:all .3s ease;white-space:nowrap}.delete__button:hover{opacity:.7;background-color:#ff4d001a}.modal__image-container{position:relative}.recipe-modal__difficulty-badge{position:absolute;top:28px;left:28px;background:#000c;color:#fff;padding:6px 12px;border-radius:16px;font-size:14px;font-weight:600;text-transform:capitalize}.recipe-modal__difficulty--easy{background:var(--easy-color)}.recipe-modal__difficulty--medium{background:var(--medium-color)}.recipe-modal__difficulty--hard{background:var(--hard-color)}.recipe-modal__content-section{padding:20px 28px;flex:1}.recipe-modal__header{margin-bottom:20px}.recipe-modal__title{font-family:var(--font-family);font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 12px;line-height:1.3}.recipe-modal__meta{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px}.recipe-modal__time,.recipe-modal__servings,.recipe-modal__category{background:var(--background-light);color:var(--text-secondary);padding:6px 12px;border-radius:16px;font-size:14px;font-weight:500}.recipe-modal__description{margin-bottom:24px}.recipe-modal__description h3{font-family:var(--font-family);font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.recipe-modal__description p{font-family:var(--font-family);font-size:14px;line-height:1.6;color:var(--text-secondary);margin:0}.recipe-modal__ingredients{margin-bottom:24px}.recipe-modal__ingredients h3{font-family:var(--font-family);font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.recipe-modal__ingredients ul{list-style:none;padding:0;margin:0}.recipe-modal__ingredients li{font-family:var(--font-family);font-size:14px;color:var(--text-secondary);padding:6px 0;border-bottom:1px solid var(--border-light)}.recipe-modal__ingredients li:last-child{border-bottom:none}.recipe-modal__more-ingredients{font-style:italic;color:var(--text-muted)}.recipe-modal__tags{margin-bottom:24px}.recipe-modal__tags h4{font-family:var(--font-family);font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.recipe-modal__tag-list{display:flex;gap:8px;flex-wrap:wrap}.recipe-modal__tag{background:var(--accent-color);color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.recipe-modal__source{margin-bottom:24px}.recipe-modal__source-link{display:inline-flex;align-items:center;color:var(--primary-color);text-decoration:none;font-family:var(--font-family);font-size:16px;font-weight:600;transition:color .2s}.recipe-modal__source-link:hover{color:var(--primary-hover)}.recipe-modal__actions{display:flex;gap:12px;align-items:center;width:100%;justify-content:flex-end}.recipe-modal__save-button{background:var(--secondary-color);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-family:var(--font-family);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.recipe-modal__save-button:hover{background:var(--secondary-hover);transform:translateY(-1px)}@media (max-width: 640px){.recipe-modal__content{max-width:95vw;margin:20px}.recipe-modal__content-section{padding:16px 20px}.recipe-modal__meta{gap:8px}.recipe-modal__actions{flex-direction:column;gap:8px}.recipe-modal__save-button,.modal__delete-button{width:100%;text-align:center}}.modal{display:flex;inset:0;position:fixed;justify-content:center;align-items:center;background-color:#00000080;font-family:var(--font-family);font-weight:700}.modal__content{background-color:#fff;max-width:496px;width:100%;padding:34px 36px;border-radius:20px;position:relative}.modal__form{display:flex;flex-direction:column;gap:15px}.modal__close-button{border:none;width:20px;height:20px;position:absolute;top:24px;right:24px;cursor:pointer;display:flex;justify-content:center;align-items:center;background-color:transparent;background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M15.7023%201.70711C16.0929%201.31658%2016.0929%200.683417%2015.7023%200.292893C15.3118%20-0.0976311%2014.6787%20-0.0976311%2014.2881%200.292893L7.99805%206.58298L1.70796%200.292893C1.31744%20-0.0976311%200.684274%20-0.0976311%200.29375%200.292893C-0.096775%200.683417%20-0.096775%201.31658%200.29375%201.70711L6.58383%207.99719L0.292893%2014.2881C-0.0976311%2014.6787%20-0.0976311%2015.3118%200.292893%2015.7023C0.683417%2016.0929%201.31658%2016.0929%201.70711%2015.7023L7.99805%209.4114L14.289%2015.7023C14.6795%2016.0929%2015.3127%2016.0929%2015.7032%2015.7023C16.0937%2015.3118%2016.0937%2014.6787%2015.7032%2014.2881L9.41226%207.99719L15.7023%201.70711Z'%20fill='black'%20fill-opacity='0.3'/%3e%3c/svg%3e");background-size:contain;background-repeat:no-repeat;background-position:center}.modal__close-button:hover{cursor:pointer;opacity:.6}.submit__button{height:36px;width:124px;background-color:#000;color:#fff;border-radius:5px}.submit__button:hover{background-color:gray;cursor:pointer}.submit__button:disabled{background-color:#d3d3d3}.add-recipe-modal{font-family:var(--font-family);max-height:70vh;overflow-y:auto}.search-section{margin-bottom:20px}.search-input-container{display:flex;gap:8px;align-items:center}.search-input{flex:1}.search-button{background:var(--primary-color);color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:16px;transition:background .2s;min-width:40px;height:40px;display:flex;align-items:center;justify-content:center}.search-button:hover:not(:disabled){background:var(--primary-hover)}.search-button:disabled{background:#ccc;cursor:not-allowed}.category-section{margin-bottom:20px;padding:16px;background:var(--background-light);border-radius:8px}.category-label{font-weight:600;margin-bottom:12px;color:var(--text-primary)}.category-selector{display:flex;gap:16px;flex-wrap:wrap}.category-option{display:flex;align-items:center;gap:6px}.category-label-text{font-weight:500;color:var(--text-secondary);cursor:pointer;text-transform:capitalize}.input__button:checked+.category-label-text{color:var(--primary-color);font-weight:600}.error-message{background:#ffebee;color:#f44336;padding:12px;border-radius:6px;margin-bottom:16px;border:1px solid #ffcdd2;font-weight:500}.search-results{margin-bottom:20px}.search-results h4{margin:0 0 16px;color:var(--text-primary);font-size:16px;font-weight:600}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;max-height:300px;overflow-y:auto;padding:8px;border:1px solid var(--border-light);border-radius:8px;background:var(--background-white)}.recipe-card{border:2px solid var(--border-light);border-radius:8px;padding:12px;cursor:pointer;transition:all .2s;background:#fff;position:relative}.recipe-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-light)}.recipe-card.selected{border-color:var(--primary-color);background:#fff5f0;box-shadow:var(--shadow-medium)}.recipe-image{width:100%;height:120px;object-fit:cover;border-radius:6px;margin-bottom:8px}.recipe-info{text-align:left}.recipe-title{font-size:14px;font-weight:600;margin:0 0 8px;color:var(--text-primary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-meta{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.cooking-time,.difficulty,.servings{display:flex;align-items:center;gap:4px}.recipe-score{font-size:12px;color:var(--accent-color);font-weight:600}.selected-indicator{position:absolute;top:8px;right:8px;background:var(--primary-color);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:12px}.selected-recipe-preview{background:#e8f5e8;border:1px solid var(--secondary-color);border-radius:8px;padding:16px;margin-bottom:16px}.selected-recipe-preview h4{margin:0 0 12px;color:var(--secondary-color);font-size:16px;font-weight:600}.preview-card{display:flex;gap:12px;align-items:center}.preview-image{width:80px;height:60px;object-fit:cover;border-radius:6px;flex-shrink:0}.preview-info{flex:1}.preview-info h5{margin:0 0 6px;color:var(--text-primary);font-size:14px;font-weight:600}.preview-info p{margin:2px 0;font-size:12px;color:var(--text-secondary)}.preview-info strong{color:var(--text-primary)}.loading-state{text-align:center;padding:20px;color:var(--text-secondary)}.loading-spinner{font-size:24px;margin-bottom:8px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 640px){.recipe-grid{grid-template-columns:1fr;max-height:250px}.search-input-container{flex-direction:column;gap:8px}.search-button{width:100%}.category-selector{grid-template-columns:repeat(2,1fr)}.preview-card{flex-direction:column;text-align:center}.preview-image{width:100px;height:75px}}.register-modal{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;font-family:var(--font-family)}.register-modal__content{background-color:#fff;border-radius:20px;width:496px;height:456px;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;overflow:hidden}.register-modal__close-button{position:absolute;top:20px;right:20px;width:24px;height:24px;border:none;background:none;color:#9ca3af;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s ease;z-index:10}.register-modal__close-button:hover{color:#6b7280}.register-modal__body{padding:28px;height:100%;box-sizing:border-box;display:flex;flex-direction:column}.register-modal__title{font-size:16px;font-weight:700;color:#000;margin:0 0 24px;font-family:var(--font-family)}.register-modal__form{display:flex;flex-direction:column;flex:1}.register-modal__field{margin-bottom:20px}.register-modal__label{font-size:16px;font-weight:500;color:#000;font-family:var(--font-family);margin:0 0 8px;display:block}.register-modal__input{width:100%;padding:8px 0;border:none;border-bottom:1px solid rgba(0,0,0,.2);background:transparent;font-size:16px;font-family:var(--font-family);color:#000;outline:none;transition:border-color .2s ease;box-sizing:border-box}.register-modal__input::placeholder{color:#9ca3af;font-family:var(--font-family)}.register-modal__input:focus{border-bottom-color:#0009}.register-modal__button-container{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:20px}.register-modal__submit-button{width:65px;height:36px;background-color:#d1d5db;color:#000;border:none;border-radius:8px;font-size:14px;font-weight:500;font-family:var(--font-family);cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center}.register-modal__submit-button:hover:not(:disabled){background-color:#9ca3af}.register-modal__submit-button:disabled{opacity:.5;cursor:not-allowed}.register-modal__or{font-size:14px;color:#6b7280;font-family:var(--font-family);margin:0 4px}.register-modal__login-button{background:none;border:none;color:#2563eb;font-size:14px;font-weight:500;font-family:var(--font-family);cursor:pointer;transition:color .2s ease;text-decoration:underline}.register-modal__login-button:hover{color:#1d4ed8}@media (max-width: 540px){.register-modal__content{width:90vw;height:auto;margin:20px}.register-modal__body{padding:20px}}.login-modal{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;font-family:var(--font-family)}.login-modal__content{background-color:#fff;border-radius:20px;width:496px;min-height:304px;max-height:90vh;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;overflow:auto}.login-modal__close-button{position:absolute;top:20px;right:20px;width:24px;height:24px;border:none;background:none;color:#9ca3af;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s ease;z-index:10}.login-modal__close-button:hover{color:#6b7280}.login-modal__body{padding:28px;min-height:248px;box-sizing:border-box;display:flex;flex-direction:column}.login-modal__title{font-size:16px;font-weight:700;color:#000;margin:0 0 24px;font-family:var(--font-family)}.login-modal__form{display:flex;flex-direction:column;flex:1}.login-modal__field{margin-bottom:20px}.login-modal__label{font-size:16px;font-weight:500;color:#000;font-family:var(--font-family);margin:0 0 8px;display:block}.login-modal__input{width:100%;padding:8px 0;border:none;border-bottom:1px solid rgba(0,0,0,.2);background:transparent;font-size:16px;font-family:var(--font-family);color:#000;outline:none;transition:border-color .2s ease;box-sizing:border-box}.login-modal__input::placeholder{color:#9ca3af;font-family:var(--font-family)}.login-modal__input:focus{border-bottom-color:#0009}.login-modal__input--error{border-bottom-color:#ef4444}.login-modal__input--error:focus{border-bottom-color:#ef4444}.login-modal__error{color:#ef4444;font-size:14px;font-family:var(--font-family);margin:8px 0 16px}.login-modal__button-container{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:20px}.login-modal__submit-button{width:65px;height:36px;background-color:#d1d5db;color:#000;border:none;border-radius:8px;font-size:14px;font-weight:500;font-family:var(--font-family);cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center}.login-modal__submit-button--filled{background-color:#000;color:#fff}.login-modal__submit-button--filled:hover:not(:disabled){background-color:#374151}.login-modal__submit-button:hover:not(:disabled){background-color:#9ca3af}.login-modal__submit-button:disabled{opacity:.5;cursor:not-allowed}.login-modal__or{font-size:14px;color:#6b7280;font-family:var(--font-family);margin:0 4px}.login-modal__register-button{background:none;border:none;color:#2563eb;font-size:14px;font-weight:500;font-family:var(--font-family);cursor:pointer;transition:color .2s ease;text-decoration:underline}.login-modal__register-button:hover{color:#1d4ed8}@media (max-width: 540px){.login-modal__content{width:90vw;height:auto;margin:20px}.login-modal__body{padding:20px}}.confirm-modal{font-family:var(--font-family);display:flex;position:fixed;align-items:center;inset:0;justify-content:center;width:100%;height:100%;background-color:#00000080;z-index:1001}.confirm-modal__content{background-color:#fff;max-width:440px;width:90%;padding:40px 32px 32px;border-radius:20px;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}.confirm-modal__close-button{border:none;width:20px;height:20px;position:absolute;top:20px;right:20px;cursor:pointer;background-color:transparent;background-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M15.7023%201.70711C16.0929%201.31658%2016.0929%200.683417%2015.7023%200.292893C15.3118%20-0.0976311%2014.6787%20-0.0976311%2014.2881%200.292893L7.99805%206.58298L1.70796%200.292893C1.31744%20-0.0976311%200.684274%20-0.0976311%200.29375%200.292893C-0.096775%200.683417%20-0.096775%201.31658%200.29375%201.70711L6.58383%207.99719L0.292893%2014.2881C-0.0976311%2014.6787%20-0.0976311%2015.3118%200.292893%2015.7023C0.683417%2016.0929%201.31658%2016.0929%201.70711%2015.7023L7.99805%209.4114L14.289%2015.7023C14.6795%2016.0929%2015.3127%2016.0929%2015.7032%2015.7023C16.0937%2015.3118%2016.0937%2014.6787%2015.7032%2014.2881L9.41226%207.99719L15.7023%201.70711Z'%20fill='black'%20fill-opacity='0.3'/%3e%3c/svg%3e");background-size:contain;background-repeat:no-repeat;background-position:center}.confirm-modal__close-button:hover{opacity:.6}.confirm-modal__text{margin-bottom:32px}.confirm-modal__title{font-family:var(--font-family);font-size:20px;font-weight:700;color:#000;margin:0 0 12px;line-height:1.3}.confirm-modal__subtitle{font-family:var(--font-family);font-size:16px;font-weight:400;color:#666;margin:0;line-height:1.4}.confirm-modal__buttons{display:flex;flex-direction:column;gap:12px;width:100%;max-width:280px}.confirm-modal__confirm-button{background-color:#ff4d00;color:#fff;border:none;border-radius:8px;padding:14px 24px;font-family:var(--font-family);font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%}.confirm-modal__confirm-button:hover{background-color:#e63900;transform:translateY(-1px)}.confirm-modal__cancel-button{background-color:transparent;color:#000;border:1px solid #ddd;border-radius:8px;padding:14px 24px;font-family:var(--font-family);font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;width:100%}.confirm-modal__cancel-button:hover{background-color:#f5f5f5;border-color:#ccc}.sidebar{display:flex;flex-direction:column;min-height:100%;padding:20px;box-sizing:border-box}.sidebar__info{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.sidebar__user-info{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:100%}.sidebar__avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;margin-bottom:8px}.sidebar__avatar-placeholder{width:120px;height:120px;border-radius:50%;background-color:#000;color:#fff;display:flex;justify-content:center;align-items:center;font-size:48px;font-weight:700;margin-bottom:8px}.sidebar__name{font-family:var(--font-family);font-size:20px;font-weight:700;color:#000;margin:0 0 8px}.sidebar__edit-button{background:none;border:none;color:#000;font-family:var(--font-family);font-size:16px;font-weight:500;cursor:pointer;padding:0;text-align:left;transition:opacity .3s ease;text-decoration:none}.sidebar__edit-button:hover{opacity:.6}.sidebar__logout-button{background:none;border:none;color:#000;font-family:var(--font-family);font-size:16px;font-weight:500;cursor:pointer;padding:0;text-align:left;transition:opacity .3s ease;text-decoration:none}.sidebar__logout-button:hover{opacity:.6}.profile{display:flex;max-width:1440px}.modal__input-label{display:flex;flex-direction:column;font-family:var(--font-family);font-size:16px;margin-bottom:24px}.modal__input{border:none;border-bottom:1px solid rgba(0,0,0,.2);margin-top:8px;padding:8px 0;font-size:16px;font-family:var(--font-family)}.modal__input:focus{outline:none;border-bottom:1px solid rgba(0,0,0,.8)}.api-test{max-width:800px;margin:20px auto;padding:20px;font-family:var(--font-family);background:var(--background-white);border-radius:8px;box-shadow:var(--shadow-light)}.api-test h2{color:var(--text-primary);text-align:center;margin-bottom:24px}.test-buttons{display:flex;gap:12px;justify-content:center;margin-bottom:24px;flex-wrap:wrap}.test-buttons button{background:var(--primary-color);color:#fff;border:none;padding:12px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:var(--font-family)}.test-buttons button:last-child{background:var(--text-secondary)}.test-buttons button:last-child:hover:not(:disabled){background:var(--text-primary)}.results-summary{margin-bottom:20px}.recipe-summary{background:var(--background-white);border:1px solid var(--border-light);border-radius:6px;padding:12px;margin-bottom:12px}.recipe-summary h4{margin:0 0 8px;color:var(--text-primary);font-size:16px}.recipe-summary p{margin:4px 0;color:var(--text-secondary);font-size:14px}.recipe-summary img{border-radius:4px;margin-top:8px;box-shadow:var(--shadow-light)}.single-recipe{background:var(--background-white);border:1px solid var(--border-light);border-radius:6px;padding:16px}.single-recipe h4{margin:0 0 12px;color:var(--text-primary);font-size:18px}.single-recipe p{margin:6px 0;color:var(--text-secondary)}.single-recipe img{border-radius:6px;margin:12px 0;box-shadow:var(--shadow-light)}details pre{background:#f8f9fa;border:1px solid var(--border-light);border-radius:4px;padding:16px;overflow-x:auto;font-size:12px;color:var(--text-primary);max-height:400px;overflow-y:auto}.auth-test{max-width:900px;margin:20px auto;padding:20px;font-family:var(--font-family);background:var(--background-white);border-radius:8px;box-shadow:var(--shadow-light)}.auth-test h2{color:var(--text-primary);text-align:center;margin-bottom:24px}.current-user-info{background:#e8f5e8;border:1px solid var(--secondary-color);border-radius:6px;padding:16px;margin-bottom:20px}.current-user-info h3{color:var(--secondary-color);margin:0 0 12px;font-size:16px}.current-user-info p{margin:4px 0;color:var(--text-primary);font-size:14px}.test-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px}.test-buttons button{background:var(--primary-color);color:#fff;border:none;padding:12px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:var(--font-family)}.test-buttons button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.test-buttons button:disabled{background:var(--text-muted);cursor:not-allowed;transform:none}.test-buttons button:nth-last-child(2){background:var(--text-secondary)}.test-buttons button:nth-last-child(2):hover:not(:disabled){background:var(--text-primary)}.test-buttons button.danger{background:var(--hard-color)}.test-buttons button.danger:hover:not(:disabled){background:#d32f2f}.test-credentials{background:var(--background-light);border:1px solid var(--border-light);border-radius:6px;padding:16px;margin-bottom:24px}.test-credentials h4{margin:0 0 12px;color:var(--text-primary)}.test-credentials p{margin:6px 0;font-size:14px;color:var(--text-secondary);font-family:Monaco,Consolas,monospace}.test-status{padding:16px;border-radius:6px;margin-bottom:20px;font-weight:500;text-align:center}.test-status.loading{background:#e3f2fd;color:#1976d2;border:1px solid #bbdefb}.test-status.error{background:#ffebee;color:#d32f2f;border:1px solid #ffcdd2}.test-results{background:var(--background-light);border-radius:6px;padding:20px;border:1px solid var(--border-light)}.test-results h3{color:var(--text-primary);margin-top:0;margin-bottom:16px}.test-results h4{color:var(--text-primary);margin:16px 0 8px;font-size:16px}.test-results p{margin:6px 0;color:var(--text-secondary);font-size:14px}.test-results ul{margin:8px 0;padding-left:20px}.test-results li{margin:4px 0;color:var(--text-secondary);font-size:14px}details{margin-top:20px}details summary{cursor:pointer;font-weight:500;color:var(--text-primary);padding:8px;background:var(--background-light);border-radius:4px;border:1px solid var(--border-light)}details summary:hover{background:var(--border-light)}details pre{background:#f8f9fa;border:1px solid var(--border-light);border-radius:4px;padding:16px;overflow-x:auto;font-size:12px;color:var(--text-primary);max-height:400px;overflow-y:auto;font-family:Monaco,Consolas,monospace}@media (max-width: 600px){.test-buttons{grid-template-columns:1fr}.auth-test{margin:10px;padding:16px}}.mock-auth-demo{background:#f5f5f5;border:2px dashed #ff6b35;border-radius:8px;padding:20px;margin:20px 0;font-family:var(--font-family)}.mock-auth-demo h3{color:#ff6b35;margin:0 0 16px;font-size:18px}.test-user-info{background:#fff;border-radius:6px;padding:16px;margin-bottom:16px}.test-user-info h4{margin:0 0 12px;color:#2e2e2e;font-size:16px}.test-user-info ul{list-style:none;padding:0;margin:0}.test-user-info li{padding:4px 0;color:#555;display:flex;align-items:center;gap:8px}.test-user-info img{border-radius:50%;border:2px solid #ddd}.demo-buttons{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.demo-buttons button{background:#ff6b35;color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s}.demo-buttons button:hover:not(:disabled){background:#e55a2b}.demo-buttons button:disabled{background:#ccc;cursor:not-allowed}.error-display{background:#ffebee;border:1px solid #f44336;border-radius:6px;padding:16px;margin-bottom:16px}.error-display h4{color:#f44336;margin:0 0 8px}.response-display{background:#e8f5e8;border:1px solid #4caf50;border-radius:6px;padding:16px}.response-display h4{color:#4caf50;margin:0 0 8px}.response-display pre,.error-display pre{background:#0000000d;padding:12px;border-radius:4px;overflow-x:auto;font-size:14px;margin:0}.add-recipe-demo{background:#f8f9fa;border:2px dashed #ff6b35;border-radius:12px;padding:24px;margin:20px 0;font-family:var(--font-family)}.demo-header{text-align:center;margin-bottom:24px}.demo-header h3{color:#ff6b35;margin:0 0 8px;font-size:20px;font-weight:700}.demo-header p{color:#666;margin:0 0 16px;font-size:14px}.demo-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.open-modal-btn{background:linear-gradient(135deg,#ff6b35,#e55a2b);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;font-size:16px;transition:all .3s;box-shadow:0 2px 8px #ff6b354d}.open-modal-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b3566}.clear-btn{background:#f44336;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;transition:background .2s}.clear-btn:hover{background:#d32f2f}.added-recipes{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px #0000001a}.added-recipes h4{color:#2e7d32;margin:0 0 16px;font-size:16px;font-weight:600}.recipe-list{display:grid;gap:12px}.added-recipe-card{display:flex;gap:12px;padding:12px;background:#f5f5f5;border-radius:8px;border:1px solid #e0e0e0;transition:transform .2s}.added-recipe-card:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.recipe-thumb{width:80px;height:60px;object-fit:cover;border-radius:6px;flex-shrink:0}.recipe-details{flex:1}.recipe-details h5{margin:0 0 8px;color:#2e2e2e;font-size:14px;font-weight:600;line-height:1.3}.recipe-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}.category-badge,.time-badge,.difficulty-badge,.score-badge{font-size:11px;padding:2px 6px;border-radius:4px;font-weight:500}.category-badge{background:#e3f2fd;color:#1976d2;text-transform:capitalize}.time-badge{background:#f3e5f5;color:#7b1fa2}.difficulty-badge{background:#fff3e0;color:#f57c00;text-transform:capitalize}.score-badge{background:#e8f5e8;color:#2e7d32;margin-top:4px}.demo-instructions{background:#fff;border-radius:8px;padding:20px;border-left:4px solid #ff6b35}.demo-instructions h4{color:#ff6b35;margin:0 0 12px;font-size:16px;font-weight:600}.demo-instructions ol{margin:0 0 16px;padding-left:20px;color:#555}.demo-instructions li{margin-bottom:4px;line-height:1.4}.api-note{background:#e3f2fd;color:#1976d2;padding:12px;border-radius:6px;font-size:14px;border:1px solid #bbdefb}@media (max-width: 640px){.add-recipe-demo{padding:16px;margin:16px 0}.demo-actions{flex-direction:column;align-items:center}.open-modal-btn{width:100%;max-width:300px}.added-recipe-card{flex-direction:column;text-align:center}.recipe-thumb{width:100px;height:75px;align-self:center}}.test-dashboard{max-width:1200px;margin:0 auto;padding:20px;font-family:var(--font-family);background:var(--background-light);min-height:100vh}.dashboard-header{background:var(--background-white);padding:24px;border-radius:8px;box-shadow:var(--shadow-light);margin-bottom:24px;text-align:center}.dashboard-header h1{color:var(--text-primary);margin:0 0 8px;font-size:2.2rem}.dashboard-header p{color:var(--text-secondary);margin:0 0 24px;font-size:1.1rem}.console-info{background:#1a1a1a;color:#0f0;padding:16px;border-radius:6px;text-align:left;font-family:Monaco,Consolas,monospace}.console-info h3{color:#0f0;margin:0 0 12px;font-size:14px}.console-commands{font-size:12px;line-height:1.6}.console-commands code{background:#2d2d2d;padding:2px 6px;border-radius:3px;color:#ff0;font-weight:700}.tab-navigation{display:flex;gap:4px;margin-bottom:24px;background:var(--background-white);padding:4px;border-radius:8px;box-shadow:var(--shadow-light)}.tab-button{flex:1;padding:12px 20px;border:none;background:transparent;color:var(--text-secondary);font-family:var(--font-family);font-size:16px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s}.tab-button:hover{background:var(--background-light);color:var(--text-primary)}.tab-button.active{background:var(--primary-color);color:#fff;box-shadow:var(--shadow-light)}.tab-content{background:var(--background-white);border-radius:8px;box-shadow:var(--shadow-light);overflow:hidden}.dashboard-footer{background:var(--background-white);padding:24px;border-radius:8px;box-shadow:var(--shadow-light);margin-top:24px}.dashboard-footer h3,.dashboard-footer h4{color:var(--text-primary);margin:0 0 12px}.dashboard-footer ul{list-style:none;padding:0;margin:0 0 24px}.dashboard-footer li{margin:8px 0}.dashboard-footer a{color:var(--primary-color);text-decoration:none;font-weight:500;transition:color .2s}.dashboard-footer a:hover{color:var(--primary-hover);text-decoration:underline}.api-status{background:var(--background-light);padding:16px;border-radius:6px;border:1px solid var(--border-light)}.api-status p{margin:6px 0;color:var(--text-secondary);font-size:14px}@media (max-width: 768px){.test-dashboard{padding:16px}.dashboard-header h1{font-size:1.8rem}.tab-navigation{flex-direction:column}.tab-button{text-align:center}.console-commands{font-size:10px}}@media (prefers-color-scheme: dark){.console-info{background:#0d1117;border:1px solid #30363d}}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@font-face{font-family:Cabinet Grotesk;font-weight:900;src:url(/stage_1_forkloop_frontend/assets/CabinetGrotesk-Bold-CLAvwUWO.woff) format("woff")}@font-face{font-family:Cabinet Grotesk;font-weight:700;src:url(/stage_1_forkloop_frontend/assets/CabinetGrotesk-Black-7EqWO_U0.woff) format("woff")}@font-face{font-family:Cabinet Grotesk;font-weight:500;src:url(/stage_1_forkloop_frontend/assets/CabinetGrotesk-Medium-B0QoDuRO.woff) format("woff")}.modal__input-label{display:flex;flex-direction:column;gap:15px}.modal__input{padding-top:5px;padding-bottom:5px;border:none;border-bottom:1px solid black}.modal__buttons{justify-content:space-between}.input__button{margin-right:10px;margin-top:8px}:root{--font-family: "Cabinet Grotesk", sans-serif;--primary-color: #ff6b35;--primary-hover: #e55a2b;--secondary-color: #2e7d32;--secondary-hover: #1b5e20;--accent-color: #ffc107;--accent-hover: #ffb300;--breakfast-color: #ffeb3b;--lunch-color: #4caf50;--dinner-color: #ff5722;--snack-color: #9c27b0;--easy-color: #4caf50;--medium-color: #ff9800;--hard-color: #f44336;--background-light: #fafafa;--background-white: #ffffff;--text-primary: #2e2e2e;--text-secondary: #757575;--text-muted: #9e9e9e;--border-light: #e0e0e0;--border-medium: #bdbdbd;--shadow-light: 0 2px 4px rgba(0, 0, 0, .1);--shadow-medium: 0 4px 8px rgba(0, 0, 0, .15);--shadow-heavy: 0 8px 16px rgba(0, 0, 0, .2)}
