.auth-modal-backdrop{align-items:center;background-color:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.auth-modal-content{background-color:#fff;border:2px solid #6def10;border-radius:12px;box-shadow:0 6px 20px #0003;max-width:360px;padding:1.5rem;position:relative;width:100%;z-index:10000}.close-button{background:none;border:none;color:red;cursor:pointer;font-size:35px!important;position:absolute;right:3px!important;top:-6px!important;transition:transform .2s ease}.close-button:hover{transform:scale(1.3)}.delete-modal-text{align-items:center;color:#333;display:flex;flex-direction:column;font-size:1rem;font-weight:700;letter-spacing:.5px;line-height:1.4;margin-bottom:1rem;text-align:center;text-transform:uppercase}.delete-modal-buttons{display:flex;gap:1rem;justify-content:center}.delete-button{background-color:#f44336;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:.5rem 1rem}.delete-modal-text svg{background-color:#ffeaea;border-radius:50%;margin-bottom:.75rem;padding:.5rem}.delete-button:disabled{cursor:not-allowed;opacity:.6}.confirm-button{background-color:#f44336;color:#fff}.cancel-button,.confirm-button{border:none;border-radius:6px;cursor:pointer;padding:.5rem 1rem}.cancel-button{background-color:#ccc;color:#000}.error-text{margin-top:.5rem}.auth-modal-exit{animation:zoomOutFade .3s ease-in forwards}#root,body,html{background-color:#232323;color:#000;font-family:system-ui,sans-serif;height:100%;margin:0}*{scrollbar-width:none}::-webkit-scrollbar{display:none}.main-container{display:flex;flex-direction:column;height:100vh;margin:0 auto;max-width:700px;overflow-x:hidden;overflow-y:visible;width:100%}.page-content{flex-grow:1;overflow-y:auto;padding-left:.5rem;padding-right:.5rem}.info-page{background:#0000;color:#fff;font-family:Inter,sans-serif;font-size:16px;line-height:1.7;margin:0 auto;max-width:700px;padding:40px 20px 5.5rem}.info-logo{display:block;margin:0 auto 1rem;max-height:45px}.info-content h2{color:#a5f865;font-size:24px;margin-bottom:16px;text-align:center}.info-content p{margin-bottom:18px}.info-content h3{color:#a5f865;font-size:20px;margin:24px 0 12px;text-align:center}.info-steps{display:flex;flex-direction:column;gap:12px}.info-step{background:#a5f865;border-radius:6px;color:#000;font-size:15px;font-weight:600;padding:10px 14px;text-align:center}.meal-search{align-items:center;display:flex;flex-direction:column;left:0;padding:.5rem;position:fixed;right:0;top:0;z-index:10}.meal-search>*{height:100%;max-width:100%;max-width:700px;width:100%}.meal-search-blur{backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);background:#0000;height:150px;left:0;mask-image:linear-gradient(180deg,#000,#0000);-webkit-mask-image:linear-gradient(180deg,#000,#0000);pointer-events:none;position:absolute;right:0;top:0;z-index:-2}.meal-type-select{font-size:16px;padding-bottom:.5rem;text-align:left}.meal-buttons{display:flex;gap:12px}.ai-button.loading{animation:glow 1.5s infinite alternate;background:#70eeff!important;border:2px solid #06d1ff}.button-content{align-items:center;display:flex;justify-content:center;position:relative}.button-text{opacity:1;transition:opacity .3s ease}.ai-button.loading .button-text,.search-button.loading .button-text{opacity:0}@keyframes glow{0%{box-shadow:0 0 5px rgba(1,235,252,.975)}50%{box-shadow:0 0 15px #65f3fdcc}to{box-shadow:0 0 5px #65f3fd}}.ai-button:disabled{cursor:not-allowed}.ai-button,.search-button{align-items:center;background-color:#424242eb;border:none;border-radius:5px;color:#a5f865;cursor:pointer;display:flex;flex:1 1;font-family:Inter,sans-serif;font-weight:600;height:40px;justify-content:center;letter-spacing:.15rem;position:relative;transition:background .3s ease,color .3s ease}.search-button:active{background-color:#ecffde;transform:scale(.95)}.spinner-container{align-items:center;display:flex;height:20px;justify-content:center;position:relative}.spinner{animation:spin 1s linear infinite;border:6px solid #02c7f9;border-radius:50%;border-top-color:#1142f6;display:inline-block;height:15px;width:15px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.floating-warning{animation:fadeWarning .4s ease-out,hideWarning .4s ease-in 3s forwards;background:#e4cc47;border-radius:8px;box-shadow:0 4px 10px #0000004d;color:#000;font-size:18px;padding:14px 24px;position:fixed;top:5rem;z-index:2000}@keyframes fadeWarning{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@keyframes hideWarning{to{opacity:0}}.meal-type-and-filter{align-items:center;display:flex;position:relative}.meal-type-select-wrapper{align-items:center;display:flex;gap:10px;justify-content:space-between;width:100%}.meal-type-select{flex:1 1;min-width:0}.diet-filter-button{align-items:center;background-color:#424242eb;border:none;border-radius:5px;color:#a5f865;cursor:pointer;display:flex;font-size:22px;height:40px;justify-content:center;margin-bottom:8px;position:relative;width:42px}.diet-filter-popup{animation:fadeSlideUp .75s ease-out;background:#424242eb;border-radius:10px;display:flex;flex-direction:column;left:50%;padding:10px 16px;position:fixed;top:50%;transform:translate(-50%,-50%);width:200px;z-index:9999}.diet-filter-option{align-items:center;border-bottom:1px solid #ffffff1a;color:#a5f865;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:12px;justify-content:flex-start;padding:10px 0;text-transform:uppercase}.diet-filter-option input{margin:0;transform:scale(1)}.diet-filter-close{background:none;border:none;color:#a5f865;cursor:pointer;font-size:18px;font-weight:700;line-height:1;padding:0;position:absolute;right:8px;top:8px;z-index:1}.diet-filter-option:last-child{border-bottom:none}.diet-filter-option input{accent-color:#a5f865;margin-left:12px;transform:scale(1.1)}.diet-filter-indicator{background-color:#a5f865;border:2px solid #424242;border-radius:50%;bottom:4px;color:#1b1b1b;font-size:11px;font-weight:700;height:14px;position:absolute;right:2px;width:14px}.diet-filter-actions,.diet-filter-indicator{align-items:center;display:flex;justify-content:center}.diet-filter-actions{gap:8px;margin-top:10px}.diet-filter-apply{background-color:#424242eb;border:1px solid #a5f865;border-radius:8px;color:#a5f865;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.05rem;margin-top:10px;padding:10px;text-transform:uppercase;transition:background .2s ease-in-out,color .2s ease-in-out;width:100%}.diet-filter-apply:active{background-color:#a5f865;color:#1a1a1a}.diet-filter-clear{align-items:center;background:none;border:none;border-radius:6px;color:#a5f865;cursor:pointer;display:flex;font-size:20px;justify-content:center;margin-top:7px;transition:background .2s ease-in-out}.diet-filter-clear:active{background:#ffffff1a}.recipe-list{display:flex;flex-direction:column;gap:1.5rem;margin-top:110px}.recipe-list-item:last-child{margin-bottom:5rem}.recipe-card{background-color:#fffffff2;background-image:url(/static/media/card-texture.73af4efbb61e3930b799.jpg);background-repeat:repeat;background-size:auto;border-radius:11px;flex:0 0 auto;overflow:hidden;padding:0;position:relative;text-align:center}.recipe-card h3{font-size:18px;margin-bottom:25px;margin-top:15px;text-align:center}.recipe-provider{background-color:#ffffffbf;border-radius:4px;bottom:8px;color:#333;font-size:12px;padding:4px 8px;position:absolute;right:8px}.recipe-image{border:none;display:block;object-fit:cover}.recipe-image,.recipe-image-wrapper{height:100%;margin:0;padding:0;width:100%}.recipe-image-wrapper{overflow:hidden;position:relative}.recipe-ingredients{align-items:stretch;display:flex;flex-direction:column;margin:0 auto;max-width:300px;padding-left:2.5rem;width:100%}.recipe-ingredients li{align-items:center;border-bottom:1px solid #bebaba;color:#000;display:flex;font-family:Special Elite,monospace;font-size:16px;justify-content:space-between;padding:6px 12px}.ingredient-label{color:#000}.in-storage-icon{color:#68b453;font-size:18px;font-weight:700}.not-in-storage-icon{color:#c62828;font-size:18px;font-weight:700}.recipe-link{background:#03acb2;border-radius:6px;color:#fff;display:inline-block;font-size:.9rem;margin-bottom:2rem;margin-top:1.5rem;padding:.5rem 1.2rem;text-align:center;text-decoration:none;text-transform:lowercase;transition:background .3s ease,color .3s ease}.recipe-link:hover{background:#6cf105;border:1px solid #7ecc66;color:#000}.recipe-placeholder-logo{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:1}.recipe-logo{display:block;height:auto;margin:0 auto;max-width:250px;width:100%}.recipe-tags{display:flex;flex-wrap:wrap;gap:6px;left:8px;position:absolute;top:8px;z-index:2}.recipe-tag{background-color:#ffffffbf;border-radius:16px;color:#333;font-size:14px;font-weight:500;padding:6px 10px;white-space:nowrap}.tag-time{background-color:#a5f865bf;border:1.5px solid #1b1b1b33}.tag-diet,.tag-time{color:#1b1b1b;font-weight:600}.tag-diet{background-color:#cce4ffbf;border:1.5px solid #0363}.add-to-shoppinglist-button{align-items:center;background:#424242eb;border:none;border-radius:.6rem 0 0 .6rem;color:#a5f865;cursor:pointer;font-size:1.3rem;height:-webkit-fit-content;height:fit-content;margin-bottom:5px;padding:.6rem}.add-to-shoppinglist-button,.ingredients-row{display:flex;justify-content:center;position:relative}.ingredients-row{align-items:flex-start;gap:.5rem}.item-count-badge{align-items:center;background-color:#a5f865;border:2px solid #424242;border-radius:50%;bottom:4px;color:#1b1b1b;display:flex;font-size:11px;font-weight:700;height:14px;justify-content:center;position:absolute;right:2px;width:14px}.notification{animation:fadeInOut 1.5s ease-in-out;background-color:#4caf50;border-radius:8px;color:#fff;font-size:1rem;left:50%;padding:.75rem 1.5rem;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:999}.ai-recipe-card{align-self:stretch;background:linear-gradient(180deg,#212121,#fff);border:2px solid #18c2e8;border-radius:12px;flex-grow:1;font-family:Inter,sans-serif;font-size:15px;line-height:1.2;overflow-y:auto;text-align:left}.ai-recipe-card h3{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#00e5ff,#00ff94);background-clip:text;-webkit-background-clip:text;font-size:20px;font-weight:700;text-align:center;text-transform:uppercase}.ai-recipe-card ul{font-size:16px;list-style-type:disc;padding-left:1.6rem}.ai-recipe-card ol{font-size:15px;line-height:1.6;padding-left:1.4rem}.ai-recipe-content{align-items:flex-start;display:flex;flex-direction:column}.ai-recipe-text{padding-bottom:35px;padding-left:35px;padding-right:35px;text-align:left}.ai-recipe-image{display:block;height:auto;object-fit:cover;width:100%}.ai-image-wrapper{aspect-ratio:16/9;border-top-left-radius:11px;border-top-right-radius:11px;overflow:hidden;position:relative;width:100%}.ai-image-label{background-color:#21212199;border-radius:6px;color:#fff;font-family:Inter,sans-serif;line-height:1.1;padding:4px 8px;position:absolute;right:8px;text-align:left;top:10px}.ai-image-label .ai{display:block;font-size:14px;font-weight:700;letter-spacing:.5px}.ai-image-label .resepti{display:block;font-size:12px;letter-spacing:1px}.ai-recipe-content ol{list-style-type:decimal;margin-bottom:1rem;margin-top:.5rem;padding-left:1.9rem}.ai-recipe-content ol li{line-height:1.5;margin-bottom:.4rem}.save-recipe-wrapper{align-items:center;display:flex;justify-content:center;width:100%}.save-recipe-button{background-color:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;margin-bottom:2rem;padding:.5rem 1.2rem}.save-recipe-button:hover{background-color:#388e3c}.food-storage-wrapper{align-items:center;display:flex;flex-direction:column;overflow:hidden}.food-storage-container{display:flex;flex:1 1;flex-direction:column;overflow:hidden;width:100%}.ingredient-section{display:flex;flex-direction:column;flex-shrink:0;gap:25px;padding-bottom:6rem}.ingredient-search-container{background:#232323;display:flex;justify-content:center;left:0;padding-left:.5rem;padding-right:.5rem;padding-top:.5rem;position:fixed;right:0;top:0;z-index:10}.ingredient-search-container>*{max-width:700px;width:100%}.floating-warning{animation:fadeInOut 3s ease-in-out forwards;background-color:#fce4ec;border-radius:6px;box-shadow:0 2px 6px #00000026;color:#c62828;font-family:Inter,sans-serif;font-weight:600;left:50%;padding:.5rem 1.2rem;position:absolute;text-align:center;top:30%;transform:translateX(-50%);z-index:20}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-10px)}10%{opacity:1;transform:translate(-50%)}90%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}.selected-ingredients{gap:1.5rem;margin-top:4rem;padding-bottom:1px;width:100%}.ingredient-category,.selected-ingredients{display:flex;flex-direction:column}.category-title{border-radius:3px;color:#fff;font-family:Inter,sans-serif;font-size:16px;font-weight:700;letter-spacing:1.5px;margin-bottom:5px;padding-left:5px;text-align:left;text-transform:uppercase}.ingredient-list{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;width:100%}.ingredient-tag{align-items:center;animation:fadeIn .3s ease-in-out;background-color:#f5f5f5;border:2px solid;border-radius:20px;color:#000;display:inline-flex;font-family:Inter,sans-serif;font-size:13px;font-weight:500;padding:4px 10px;text-transform:uppercase;transition:background-color .2s ease,transform .2s ease}button.remove-ingredient{all:unset;align-items:center;color:#f97c86;cursor:pointer;display:flex;font-size:16px;font-weight:700;margin-left:8px}.sorting-button-overlay{align-items:flex-end;bottom:6.5rem;display:flex;flex-direction:column;gap:.75rem;position:fixed;right:1rem;z-index:20}.sort-icon{background-color:#424141bf;border-radius:50%;color:#a5f865;cursor:pointer;font-size:24px;padding:10px;transition:background-color .2s ease}.clear-confirm-modal{background-color:#2e2e2e;border-radius:8px;bottom:9rem;box-shadow:0 0 10px #0000004d;color:#a5f865;font-family:Inter,sans-serif;left:50%;max-width:360px;padding:.5rem 1.5rem 1.5rem;position:fixed;text-align:center;transform:translateX(-50%);width:250px;z-index:9999}.modal-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.modal-buttons button{border:none;border-radius:6px;cursor:pointer;font-family:Inter,sans-serif;font-weight:600;padding:.5rem 1.2rem;transition:background .2s ease,color .2s ease}.modal-buttons .confirm{background-color:#f44336;color:#fff}.modal-buttons .cancel{background-color:#a5f865;color:#000}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hedelmät{border-color:#b2cd37}.makeutusaineet{border-color:#37c1cd}.juurekset{border-color:#b7a330}.juustot{border-color:#fedd26}.vihannekset{border-color:#6bc033}.maitotuotteet{border-color:#37c1cd}.marjat{border-color:#da3f10cc}.kastikkeet-ja-mausteet{border-color:#b7a330}.muu{border-color:#d6d6d6}.leivonta-ja-makeiset{border-color:#bb4926cc}.liha-ja-siipikarja{border-color:#c03333}.kasvikset{border-color:#70cd37}.kasvisproteiinit{border-color:#37cd7f}.kala-ja-äyriäiset{border-color:#3385c0}.viljatuotteet{border-color:#ab7967cc}.palkokasvit{border-color:#ff9800cc}.sienet{border-color:#c15d00}.säilykeet{border-color:#bcc9fd}.yrtit-ja-mausteet,.öljyt-ja-rasvat{border-color:#ae5dd0cc}.shopping-tag{background-color:#ffe082;color:#333}.floating-label{color:#a5f865;font-size:1rem;font-weight:700;margin-bottom:.5rem;text-align:right}.footer-nav{position:fixed;z-index:1000}.footer-blur-background,.footer-nav{bottom:0;left:0;pointer-events:none;right:0}.footer-blur-background{backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);background:#0000;height:100px;mask-image:linear-gradient(0deg,#000,#0000);-webkit-mask-image:linear-gradient(0deg,#000,#0000);position:absolute}.footer-content{justify-content:space-around;padding:.75rem 1rem}.footer-content,.nav-center{display:flex;pointer-events:auto;position:relative}.nav-center{flex:1 1;gap:2rem}.nav-center,.nav-item{justify-content:center}.nav-item{align-items:center;background:#424242eb;border-radius:50%;cursor:pointer;display:flex;height:48px;width:48px}.nav-icon{color:#a5f865;font-size:20px}.nav-right{margin-left:auto;padding-right:30px}.nav-text{color:#a5f865;font-size:1rem;font-weight:500;margin-right:8px}.nav-item.active{border:2px solid #a5f865;height:46px;width:46px}.menu-popup{background:#424242eb;border-radius:12px;bottom:85px;display:flex;flex-direction:column;left:50%;padding:10px 16px;position:fixed;transform:translateX(-50%);width:180px;z-index:9999}.menu-item{align-items:center;color:#a5f865;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:10px;text-transform:uppercase;transition:background .2s ease-in-out}.menu-item:not(:last-child){border-bottom:1px solid #ffffff1a}.menu-popup button{background:none;border:none;border-bottom:1px solid #fff3;color:#a5f865;cursor:pointer;font-family:Inter,sans-serif;font-size:16px;font-weight:600;letter-spacing:1px;padding:8px 0;text-align:center;text-transform:uppercase}.menu-popup button:last-child{border-bottom:none}.menu-popup button:hover{color:#d0ff9c}.menu-popup{animation:fadeSlideUp .25s ease-out}.profile-container{background-color:#232323;color:#fafafa;min-height:calc(100vh - 50px);padding:20px}.edit-icon-button{background:none;border:none;cursor:pointer;margin-left:.5em;padding:0;vertical-align:middle}.edit-icon-button svg{color:#18c2e8;transition:color .2s ease}.edit-icon-button:hover svg{color:#a5f865}.name-input{background-color:#232323;border:1px solid #4caf50;border-radius:6px;color:#fafafa;margin-right:.5em;padding:.2em .4em}.save-button{background-color:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:.3em .8em}.save-button:hover{background-color:#45a049}.signed-out-container{align-items:center;background-color:#1f1f1f;color:#fff;display:flex;flex-direction:column;font-family:Inter,sans-serif;justify-content:center;min-height:100vh;padding:2rem;text-align:center}.signed-out-container h2{color:#a5f865;font-size:24px;margin-bottom:1rem}.signed-out-container p{font-size:16px;margin-bottom:2rem}.signed-out-buttons{display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem;justify-content:center}.signed-out-buttons a{border-radius:8px;font-size:15px;font-weight:600;padding:.6rem 1.2rem;text-decoration:none;transition:background-color .2s ease}.signed-out-buttons a:first-child{background-color:#007bff;color:#fff}.signed-out-buttons a:last-child{background-color:#a5f865;color:#000}.signed-out-buttons a:hover{opacity:.9}.signed-out-buttons a{word-wrap:break-word;box-sizing:border-box;margin:0 auto;max-width:320px;text-align:center;width:100%}.signedout-logo{display:block;margin:1.5rem auto 1rem;opacity:.9;width:180px}.choose-profile-content{animation:slideFadeIn .4s ease-out}@keyframes slideFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.choose-profile-backdrop{animation:fadeInBackdrop .3s ease-out}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}.choose-profile-backdrop{align-items:center;background-color:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.choose-profile-content{background-color:#f9f5f5;border:2px solid #6def10;border-radius:12px;box-shadow:0 8px 24px #0003;max-width:420px;padding:32px;position:relative;text-align:center;width:100%}.choose-profile-content h2{font-size:1.5rem;margin-bottom:16px}.choose-profile-content input{border:1px solid #ccc;border-radius:8px;font-size:1rem;margin-bottom:16px;padding:10px;width:80%}.choose-profile-save-button{background-color:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 20px;transition:background-color .3s}.choose-profile-save-button:disabled{background-color:#a5d6a7;cursor:not-allowed}.choose-profile-close-button{background:none;border:none;color:#ec5151;cursor:pointer;font-size:2rem;position:absolute;right:12px;top:8px}.error-text{color:red;margin-top:12px}.choose-profile-exit{animation:zoomOutFade .3s ease-in forwards}@keyframes zoomOutFade{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.saved-recipes-wrapper{align-items:center;color:#000;display:flex;flex:1 1;flex-direction:column;height:100dvh;width:100%}.saved-recipes-title{color:#6fc9f9;font-size:1.5rem;font-weight:600;letter-spacing:.07em;margin-bottom:.2rem;margin-top:1.1rem;padding-bottom:1rem;text-align:center;text-transform:uppercase}.saved-recipe-list{align-items:stretch;display:flex;flex:1 1;flex-direction:column;gap:1.5rem;overflow-y:auto;width:100%}.ai-recipe-card,.recipe-list-item{display:block;width:100%}.ai-recipe-card{box-sizing:border-box}.ai-recipe-card,.ai-recipe-card details{height:auto;max-height:none;overflow:visible}.full-width-card{box-sizing:border-box;display:block;min-width:100%}.recipe-card-title-wrapper{display:flex;justify-content:center;width:100%}.recipe-card-title{color:#aaf0d1;display:block;font-size:1.1rem;font-weight:600;margin:.8rem 0 0;text-align:center;width:100%;word-break:break-word}.saved-recipe-image{max-width:100%}.saved-recipe-instructions{margin-top:.8rem;text-align:left}.ai-recipe-text details summary{cursor:pointer;font-weight:600;margin-top:.5rem}.delete-recipe-wrapper{align-items:center;display:flex;justify-content:center;width:100%}.delete-recipe-button{background-color:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:2rem;padding:.5rem 1.2rem}.delete-recipe-button:hover{background-color:#d32f2f}
/*# sourceMappingURL=main.8139cc7f.css.map*/