:root{--linear-ease: linear( 0, .068, .19 2.7%, .804 8.1%, 1.037, 1.199 13.2%, 1.245, 1.27 15.8%, 1.274, 1.272 17.4%, 1.249 19.1%, .996 28%, .949, .928 33.3%, .926, .933 36.8%, 1.001 45.6%, 1.013, 1.019 50.8%, 1.018 54.4%, 1 63.1%, .995 68%, 1.001 85%, 1 )}.gooey-nav-container{position:relative}.gooey-nav-container nav{display:flex;position:relative;transform:translateZ(.01px)}.gooey-nav-container nav ul{display:flex;gap:2em;list-style:none;padding:0 1em;margin:0;position:relative;z-index:3;color:#fff;text-shadow:0 1px 1px hsl(205deg 30% 10% / .2)}.gooey-nav-container nav ul li{border-radius:100vw;position:relative;cursor:pointer;transition:background-color .3s ease,color .3s ease,box-shadow .3s ease;box-shadow:0 0 .5px 1.5px transparent;color:#fff;background:transparent!important}.gooey-nav-container nav ul li:hover,.gooey-nav-container nav ul li:focus,.gooey-nav-container nav ul li:active{background:transparent!important}.gooey-nav-container nav ul li a{display:inline-block;padding:.6em 1em;color:inherit;text-decoration:none;font-weight:600;letter-spacing:.02em;background:transparent!important;border:none;border-radius:100vw}.gooey-nav-container nav ul li a:active,.gooey-nav-container nav ul li a:focus,.gooey-nav-container nav ul li a:hover{background:transparent!important;outline:none}.gooey-nav-container nav ul li.active a{background:#fff!important;color:#000!important;outline:none;border:2px solid white}.gooey-nav-container nav ul li:focus-within:has(:focus-visible){box-shadow:0 0 .5px 1.5px transparent}.gooey-nav-container nav ul li:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;background:transparent;opacity:0;transform:scale(0);transition:all .3s ease;z-index:-1}.gooey-nav-container nav ul li.active{color:#000;text-shadow:none;background:transparent!important}.gooey-nav-container nav ul li.active:after{opacity:0;transform:scale(0)}.gooey-nav-container .effect{position:absolute;left:0;top:0;width:0;height:0;opacity:1;pointer-events:none;display:grid;place-items:center;z-index:1}.gooey-nav-container .effect.text{color:#fff;transition:color .3s ease;font-weight:600;letter-spacing:.02em}.gooey-nav-container .effect.text.active{color:#000}.gooey-nav-container .effect.filter{filter:blur(7px) contrast(100) blur(0);mix-blend-mode:lighten}.gooey-nav-container .effect.filter:before{content:"";position:absolute;top:-75px;right:-75px;bottom:-75px;left:-75px;z-index:-2;background:transparent}.gooey-nav-container .effect.filter:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;transform:scale(0);opacity:0;z-index:-1;border-radius:100vw}.gooey-nav-container .effect.active:after{animation:pill .3s ease both}@keyframes pill{to{transform:scale(1);opacity:1}}@media (max-width: 768px){.gooey-nav-container nav ul{gap:0;padding:0;flex-direction:column}.gooey-nav-container nav ul li{width:100%;border-radius:0}.gooey-nav-container nav ul li a{width:100%;padding:14px 20px;display:block;border:none;border-radius:8px}.gooey-nav-container nav ul li.active a{border:2px solid white;background:#fff!important;color:#000!important}}.interactive-identification{padding:32px;border-radius:var(--radius-lg);background:var(--surface-gradient);border:var(--glass-border-strong);-webkit-backdrop-filter:var(--blur-strong);backdrop-filter:var(--blur-strong);box-shadow:var(--shadow-2),inset 0 1px #ffffff1a;animation:slideInUp .4s var(--transition-snap)}.interactive-identification__header{text-align:center;margin-bottom:32px}.interactive-identification__header h3{margin:0 0 8px;font-size:1.5rem;font-weight:600;color:var(--color-text);background:linear-gradient(135deg,var(--color-text),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.interactive-identification__header p{margin:0;color:var(--color-text-muted);font-size:.95rem}.interactive-identification__step{display:grid;gap:24px}.interactive-identification__question{display:grid;gap:12px}.interactive-identification__question h4{margin:0;font-size:1.2rem;font-weight:600;color:var(--color-text)}.interactive-identification__question p{margin:0;color:var(--color-text-muted);line-height:1.6}.interactive-identification__hint{font-size:.9rem;color:var(--color-text-muted);font-style:italic}.interactive-identification__textarea{width:100%;padding:14px 18px;border-radius:var(--radius-sm);border:var(--glass-border);background:var(--color-surface);color:var(--color-text);font-family:var(--font-base);font-size:.95rem;resize:vertical;min-height:100px;transition:all .3s var(--transition-smooth);-webkit-backdrop-filter:var(--blur-light);backdrop-filter:var(--blur-light)}.interactive-identification__textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-light),var(--shadow-3);background:var(--color-surface-strong)}.interactive-identification__textarea::-moz-placeholder{color:var(--color-text-muted);opacity:.7}.interactive-identification__textarea::placeholder{color:var(--color-text-muted);opacity:.7}.interactive-identification__ingredients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:16px 0}.interactive-identification__ingredient-chip{padding:10px 16px;border-radius:var(--radius-sm);border:var(--glass-border);background:var(--color-surface);color:var(--color-text);font-family:var(--font-base);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s var(--transition-smooth);-webkit-backdrop-filter:var(--blur-light);backdrop-filter:var(--blur-light)}.interactive-identification__ingredient-chip:hover{border-color:var(--color-accent);background:var(--color-surface-strong);transform:translateY(-2px);box-shadow:var(--shadow-3)}.interactive-identification__ingredient-chip.is-selected{background:var(--button-gradient);border-color:transparent;color:#fff;box-shadow:0 4px 16px #7b6ef666;transform:translateY(-2px)}.interactive-identification__processing{text-align:center;padding:20px;color:var(--color-text-muted);font-style:italic}.interactive-identification__error{padding:12px 16px;border-radius:var(--radius-sm);background:#ff6b7a1a;border:1px solid rgba(255,107,122,.3);color:var(--color-danger);font-size:.9rem}.interactive-identification__actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.interactive-identification__guess{display:grid;gap:20px;padding:24px;border-radius:var(--radius-md);background:var(--color-surface-strong);border:var(--glass-border)}.interactive-identification__guess h4{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text)}.interactive-identification__guess-content{display:grid;gap:16px}.interactive-identification__guess-content h3{margin:0;font-size:1.4rem;font-weight:600;color:var(--color-text);background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.interactive-identification__summary{margin:0;color:var(--color-text-muted);line-height:1.6}.interactive-identification__ingredients-list{display:grid;gap:10px}.interactive-identification__ingredients-list h5{margin:0;font-size:1rem;font-weight:600;color:var(--color-text)}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.interactive-identification{padding:24px 16px}.interactive-identification__ingredients-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.interactive-identification__actions{flex-direction:column}.interactive-identification__actions .button{width:100%}}.food-items-tabs{display:grid;gap:24px}.food-items-tabs__header{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--overlay-strong) transparent}.food-items-tabs__header::-webkit-scrollbar{height:6px}.food-items-tabs__header::-webkit-scrollbar-track{background:transparent}.food-items-tabs__header::-webkit-scrollbar-thumb{background:var(--overlay-strong);border-radius:999px}.food-items-tabs__tabs-list{display:flex;gap:8px;padding:4px;background:var(--color-surface);border-radius:var(--radius-md);border:var(--glass-border);-webkit-backdrop-filter:var(--blur-light);backdrop-filter:var(--blur-light);min-width:-moz-max-content;min-width:max-content}.food-items-tabs__tab{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 20px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-base);font-size:.9rem;cursor:pointer;transition:all .3s var(--transition-smooth);white-space:nowrap;min-width:120px;position:relative}.food-items-tabs__tab:before{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%) scaleX(0);width:80%;height:2px;background:var(--button-gradient);border-radius:999px;transition:transform .3s var(--transition-smooth)}.food-items-tabs__tab:hover{background:var(--overlay-soft);color:var(--color-text)}.food-items-tabs__tab.is-active{background:var(--color-surface-strong);color:var(--color-text);box-shadow:var(--shadow-3)}.food-items-tabs__tab.is-active:before{transform:translate(-50%) scaleX(1)}.food-items-tabs__tab-label{font-weight:600;font-size:.95rem}.food-items-tabs__tab-type{font-size:.75rem;font-weight:500;opacity:.7;text-transform:uppercase;letter-spacing:.05em}.food-items-tabs__content{animation:fadeIn .3s var(--transition-snap)}.food-items-tabs__item-type{display:inline-block;padding:4px 10px;margin-left:8px;border-radius:999px;background:var(--overlay-soft);color:var(--color-accent);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.food-items-tabs__actions{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:var(--glass-border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.food-items-tabs{gap:16px}.food-items-tabs__header{margin:-18px -18px 0;padding:12px 18px;background:var(--color-surface);border-bottom:var(--glass-border);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--overlay-strong) transparent;position:sticky;top:0;z-index:10}.food-items-tabs__header::-webkit-scrollbar{height:4px}.food-items-tabs__header::-webkit-scrollbar-track{background:transparent}.food-items-tabs__header::-webkit-scrollbar-thumb{background:var(--overlay-strong);border-radius:999px}.food-items-tabs__tabs-list{gap:6px;padding:4px;min-width:-moz-max-content;min-width:max-content}.food-items-tabs__tab{padding:10px 14px;min-width:110px;font-size:.85rem;flex-shrink:0}.food-items-tabs__tab-label{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.food-items-tabs__tab-type{font-size:.65rem;white-space:nowrap}.food-items-tabs__content{margin:0 -18px;padding:0;overflow-x:hidden}.food-items-tabs__content .ai-scanner__card{padding:16px 18px;margin:0}.food-items-tabs__content .ai-scanner__card header{flex-direction:column;gap:12px;align-items:flex-start}.food-items-tabs__content .ai-scanner__card header>div:first-child{width:100%}.food-items-tabs__content .ai-scanner__card header>div:first-child h3{font-size:1.1rem;word-wrap:break-word}.food-items-tabs__content .ai-scanner__feedback{width:100%;justify-content:space-between}.food-items-tabs__content .ai-scanner__section{margin-bottom:16px}.food-items-tabs__content .ai-scanner__section h4{font-size:.9rem;margin-bottom:8px}.food-items-tabs__content .ai-scanner__section p{font-size:.9rem;line-height:1.6}.food-items-tabs__content .ai-scanner__chips{gap:6px}.food-items-tabs__content .ai-scanner__chips span{padding:6px 12px;font-size:.85rem}.food-items-tabs__content .ai-scanner__section ol,.food-items-tabs__content .ai-scanner__section ul{padding-left:20px;font-size:.9rem}.food-items-tabs__item-type{font-size:.7rem;padding:3px 8px;margin-left:6px}.food-items-tabs__actions{flex-direction:column;align-items:stretch;margin:0 -18px;padding:16px 18px}.food-items-tabs__actions .button{width:100%}}.image-source-modal__backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;display:grid;place-items:center;padding:20px;animation:backdropFadeIn .3s var(--transition-snap)}.image-source-modal{background:var(--surface-gradient);border:var(--glass-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-2),inset 0 1px #ffffff1a;-webkit-backdrop-filter:var(--blur-strong);backdrop-filter:var(--blur-strong);max-width:480px;width:100%;display:grid;gap:0;overflow:hidden;animation:modalSlideUp .4s var(--transition-snap);transform-origin:center}.image-source-modal__header{padding:28px 32px 20px;border-bottom:var(--glass-border);display:flex;align-items:center;justify-content:space-between;gap:16px}.image-source-modal__header h3{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text);background:linear-gradient(135deg,var(--color-text),var(--color-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.image-source-modal__close{border:none;background:#ffffff14;color:var(--color-text);border-radius:999px;width:36px;height:36px;font-size:1.5rem;cursor:pointer;transition:background .2s ease,transform .2s var(--transition-snap);display:flex;align-items:center;justify-content:center;line-height:1;padding:0;flex-shrink:0}.image-source-modal__close:hover{background:#ffffff26;transform:scale(1.05)}.image-source-modal__close:active{transform:scale(.95)}.image-source-modal__body{padding:24px 32px 32px}.image-source-modal__options{display:flex;flex-direction:column;gap:12px}.image-source-modal__option{display:flex;align-items:center;gap:16px;padding:20px;background:#ffffff0d;border:var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all .3s var(--transition-snap);text-align:left;width:100%}.image-source-modal__option:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 8px 24px #0003}.image-source-modal__option:active{transform:translateY(0);box-shadow:0 4px 12px #00000026}.image-source-modal__option-icon{font-size:2.5rem;flex-shrink:0;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border-radius:var(--radius-md)}.image-source-modal__option-content{flex:1}.image-source-modal__option-content h4{margin:0 0 4px;font-size:1.1rem;font-weight:600;color:var(--color-text)}.image-source-modal__option-content p{margin:0;font-size:.9rem;color:var(--color-text-muted);line-height:1.4}@media (max-width: 768px){.image-source-modal__backdrop{padding:0;align-items:flex-end}.image-source-modal{max-width:100%;width:100%;margin:0;border-radius:24px 24px 0 0;animation:modalSlideUpMobile .3s var(--transition-snap)}@keyframes modalSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.image-source-modal__header{padding:24px 20px 16px}.image-source-modal__header h3{font-size:clamp(1.3rem,5vw,1.5rem)}.image-source-modal__body{padding:20px}.image-source-modal__option{padding:16px}.image-source-modal__option-icon{width:50px;height:50px;font-size:2rem}.image-source-modal__option-content h4{font-size:clamp(1rem,4vw,1.1rem)}.image-source-modal__option-content p{font-size:clamp(.85rem,3vw,.9rem)}}@media (max-width: 480px){.image-source-modal{border-radius:20px 20px 0 0}.image-source-modal__header{padding:20px 16px 12px}.image-source-modal__body{padding:16px}.image-source-modal__option{padding:14px;gap:12px}.image-source-modal__option-icon{width:48px;height:48px;font-size:1.8rem}}#infinite-grid-menu-canvas{width:100%;height:100%;display:block;cursor:grab;background:transparent}#infinite-grid-menu-canvas:active{cursor:grabbing}.face-title{position:absolute;bottom:120px;left:50%;transform:translate(-50%);font-size:2rem;font-weight:700;color:var(--color-text, #f8f9ff);text-align:center;pointer-events:none;transition:opacity .3s ease,transform .3s ease;z-index:10;text-shadow:0 2px 8px rgba(0,0,0,.5);max-width:80%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.face-title.active{opacity:1;transform:translate(-50%) translateY(0)}.face-title.inactive{opacity:0;transform:translate(-50%) translateY(10px)}.face-description{position:absolute;bottom:80px;left:50%;transform:translate(-50%);font-size:1rem;color:var(--color-text-muted, rgba(235, 239, 255, .75));text-align:center;pointer-events:none;transition:opacity .3s ease,transform .3s ease;z-index:10;text-shadow:0 2px 6px rgba(0,0,0,.5);max-width:80%;padding:0 20px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.face-description.active{opacity:1;transform:translate(-50%) translateY(0)}.face-description.inactive{opacity:0;transform:translate(-50%) translateY(10px)}.action-button{position:absolute;bottom:20px;left:50%;transform:translate(-50%);width:60px;height:60px;border-radius:50%;background:var(--color-primary, #7b6ef6);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:10;box-shadow:0 4px 12px #7b6ef666;pointer-events:auto}.action-button:hover{background:var(--color-primary-strong, #a29bfe);transform:translate(-50%) scale(1.1);box-shadow:0 6px 20px #7b6ef699}.action-button.active{opacity:1;transform:translate(-50%) scale(1)}.action-button.inactive{opacity:0;transform:translate(-50%) scale(.8);pointer-events:none}.action-button-icon{font-size:1.5rem;color:#fff;margin:0;line-height:1}.confirm-modal__backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;display:grid;place-items:center;padding:20px;animation:backdropFadeIn .3s var(--transition-snap)}.confirm-modal{background:var(--surface-gradient);border:var(--glass-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-2),inset 0 1px #ffffff1a;-webkit-backdrop-filter:var(--blur-strong);backdrop-filter:var(--blur-strong);max-width:480px;width:100%;display:grid;gap:0;overflow:hidden;animation:modalSlideUp .4s var(--transition-snap);transform-origin:center}.confirm-modal__header{padding:28px 32px 20px;border-bottom:var(--glass-border)}.confirm-modal__header h3{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text);background:linear-gradient(135deg,var(--color-text),var(--color-danger));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.confirm-modal__body{padding:24px 32px}.confirm-modal__body p{margin:0;font-size:1rem;line-height:1.6;color:var(--color-text-muted)}.confirm-modal__footer{padding:20px 32px 28px;display:flex;gap:12px;justify-content:flex-end;border-top:var(--glass-border)}.confirm-modal__footer .button{min-width:120px}.button--danger{background:linear-gradient(135deg,#ff6b7a,#ff5252);box-shadow:0 8px 32px #ff6b7a66,inset 0 1px #fff3;color:#fff!important;font-weight:600;font-size:1rem}.button--danger:hover{box-shadow:0 12px 40px #ff6b7a80,inset 0 1px #ffffff4d;transform:translateY(-4px) scale(1.02)}.button--danger:active{box-shadow:0 6px 24px #ff6b7a66,inset 0 1px #fff3;transform:translateY(-2px) scale(1)}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.confirm-modal__backdrop{padding:0;align-items:flex-end}.confirm-modal{max-width:100%;width:100%;margin:0;border-radius:24px 24px 0 0;animation:modalSlideUpMobile .3s var(--transition-snap)}@keyframes modalSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.confirm-modal__header,.confirm-modal__body,.confirm-modal__footer{padding-left:20px;padding-right:20px}.confirm-modal__header{padding-top:24px;padding-bottom:16px}.confirm-modal__header h3{font-size:clamp(1.3rem,5vw,1.5rem)}.confirm-modal__body{padding-top:20px;padding-bottom:20px}.confirm-modal__body p{font-size:clamp(.95rem,3vw,1rem)}.confirm-modal__footer{flex-direction:column-reverse;gap:10px;padding-top:16px;padding-bottom:24px}.confirm-modal__footer .button{width:100%;min-height:48px;padding:14px 24px}}@media (max-width: 480px){.confirm-modal{border-radius:20px 20px 0 0}.confirm-modal__header,.confirm-modal__body,.confirm-modal__footer{padding-left:16px;padding-right:16px}.confirm-modal__header{padding-top:20px}.confirm-modal__body{padding-top:16px;padding-bottom:16px}.confirm-modal__footer{padding-top:12px;padding-bottom:20px}}.library-detail-modal__backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}.library-detail-modal{background:var(--color-surface, rgba(28, 30, 58, .85));border-radius:var(--radius-lg, 32px);max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-1, 0 20px 60px rgba(4, 8, 38, .25));border:var(--glass-border, 1px solid rgba(255, 255, 255, .15));animation:slideUp .3s ease-out;overflow:hidden}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.library-detail-modal__header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:var(--glass-border, 1px solid rgba(255, 255, 255, .15))}.library-detail-modal__header h2{margin:0;font-size:1.75rem;color:var(--color-text, #f8f9ff);font-weight:700}.library-detail-modal__close{background:transparent;border:none;color:var(--color-text-muted, rgba(235, 239, 255, .75));font-size:2rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--radius-xs, 8px);transition:all .2s ease;line-height:1;padding:0}.library-detail-modal__close:hover{background:var(--overlay-soft, rgba(255, 255, 255, .1));color:var(--color-text, #f8f9ff)}.library-detail-modal__body{flex:1;overflow-y:auto;padding:32px;display:flex;flex-direction:column;gap:24px}.library-detail-modal__image{width:100%;border-radius:var(--radius-md, 20px);overflow:hidden;aspect-ratio:16 / 9;background:var(--color-bg-secondary, rgba(20, 22, 45, .92))}.library-detail-modal__image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.library-detail-modal__content{display:flex;flex-direction:column;gap:24px}.library-detail-modal__confidence{padding:8px 16px;background:var(--color-primary-light, rgba(123, 110, 246, .15));border-radius:var(--radius-sm, 12px);color:var(--color-primary, #7b6ef6);font-size:.875rem;font-weight:500;display:inline-block;width:-moz-fit-content;width:fit-content}.library-detail-modal__section{display:flex;flex-direction:column;gap:12px}.library-detail-modal__section h3{margin:0;font-size:1.25rem;color:var(--color-text, #f8f9ff);font-weight:600}.library-detail-modal__section p{margin:0;color:var(--color-text-muted, rgba(235, 239, 255, .75));line-height:1.6}.library-detail-modal__ingredients{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.library-detail-modal__ingredients li{padding:8px 16px;background:var(--color-surface-strong, rgba(35, 38, 72, .95));border-radius:var(--radius-sm, 12px);color:var(--color-text, #f8f9ff);font-size:.875rem;border:var(--glass-border, 1px solid rgba(255, 255, 255, .15))}.library-detail-modal__instructions{list-style:none;padding:0;margin:0;counter-reset:step-counter;display:flex;flex-direction:column;gap:16px}.library-detail-modal__instructions li{counter-increment:step-counter;background:var(--color-surface-strong, rgba(35, 38, 72, .95));border-radius:var(--radius-sm, 12px);color:var(--color-text, #f8f9ff);line-height:1.6;border:var(--glass-border, 1px solid rgba(255, 255, 255, .15));position:relative;padding:16px 16px 16px 48px}.library-detail-modal__instructions li:before{content:counter(step-counter);position:absolute;left:16px;top:16px;width:24px;height:24px;background:var(--color-primary, #7b6ef6);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff}.library-detail-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:24px 32px;border-top:var(--glass-border, 1px solid rgba(255, 255, 255, .15))}@media (max-width: 768px){.library-detail-modal__backdrop{padding:0;align-items:flex-end}.library-detail-modal{max-height:95vh;max-width:100%;width:100%;border-radius:24px 24px 0 0;margin:0;animation:slideUpMobile .3s ease-out}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.library-detail-modal__header{padding:20px}.library-detail-modal__header h2{font-size:clamp(1.3rem,5vw,1.5rem)}.library-detail-modal__close{width:36px;height:36px;font-size:1.5rem}.library-detail-modal__body{padding:20px;gap:20px;max-height:calc(95vh - 140px)}.library-detail-modal__image{border-radius:16px}.library-detail-modal__section h3{font-size:clamp(1.1rem,4vw,1.25rem)}.library-detail-modal__section p{font-size:clamp(.9rem,3vw,1rem)}.library-detail-modal__ingredients{gap:6px}.library-detail-modal__ingredients li{padding:8px 14px;font-size:.8rem}.library-detail-modal__instructions{gap:12px}.library-detail-modal__instructions li{padding:14px 14px 14px 44px;font-size:clamp(.9rem,3vw,1rem)}.library-detail-modal__instructions li:before{width:28px;height:28px;left:12px;top:12px;font-size:.85rem}.library-detail-modal__footer{padding:16px 20px;flex-direction:column-reverse;gap:10px}.library-detail-modal__footer .button{width:100%;min-height:48px;padding:14px 24px;font-size:1rem!important;font-weight:600!important;color:#fff!important;text-align:center;display:flex!important;align-items:center!important;justify-content:center!important}.library-detail-modal__footer .button--danger{color:#fff!important;background:linear-gradient(135deg,#ff6b7a,#ff5252)!important;-webkit-text-fill-color:#ffffff!important}}@media (max-width: 480px){.library-detail-modal{border-radius:20px 20px 0 0}.library-detail-modal__header{padding:16px}.library-detail-modal__body{padding:16px;gap:16px}.library-detail-modal__footer{padding:16px}.library-detail-modal__footer .button{font-size:.95rem!important}.library-detail-modal__footer .button--danger{color:#fff!important;-webkit-text-fill-color:#ffffff!important;background:linear-gradient(135deg,#ff6b7a,#ff5252)!important}}.magic-bento-background{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;overflow:hidden;background:transparent;transform-style:preserve-3d}.global-spotlight{position:fixed;width:1000px;height:1000px;border-radius:50%;pointer-events:none;z-index:-1;opacity:0;transform:translate(-50%,-50%);mix-blend-mode:screen;filter:brightness(1.2)}.particle{position:absolute;width:4px;height:4px;border-radius:50%;pointer-events:none;z-index:100}.magic-bento-ripple{position:absolute;border-radius:50%;pointer-events:none;z-index:1}.aurora-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;pointer-events:none;overflow:hidden;background:transparent}.aurora-container canvas{width:100%;height:100%;display:block}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Poppins,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;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}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--blur-strong: blur(24px);--blur-light: blur(8px);--blur-subtle: blur(4px);--radius-lg: 32px;--radius-md: 20px;--radius-sm: 12px;--radius-xs: 8px;--transition-snap: cubic-bezier(.16, 1, .3, 1);--transition-smooth: cubic-bezier(.4, 0, .2, 1);--transition-bounce: cubic-bezier(.68, -.55, .265, 1.55);--shadow-1: 0 20px 60px rgba(4, 8, 38, .25);--shadow-2: 0 12px 40px rgba(10, 12, 28, .3);--shadow-3: 0 8px 24px rgba(0, 0, 0, .15);--shadow-glow: 0 0 40px rgba(108, 92, 231, .4);--shadow-glow-accent: 0 0 40px rgba(0, 212, 255, .4);--font-base: "Poppins", sans-serif}.theme-dark{--color-bg: #0a0a1a;--color-bg-secondary: rgba(20, 22, 45, .92);--color-surface: rgba(28, 30, 58, .85);--color-surface-strong: rgba(35, 38, 72, .95);--color-primary: #7b6ef6;--color-primary-strong: #a29bfe;--color-primary-light: rgba(123, 110, 246, .15);--color-accent: #00d9ff;--color-accent-light: rgba(0, 217, 255, .15);--color-danger: #ff6b7a;--color-success: #00e8a4;--color-text: #f8f9ff;--color-text-muted: rgba(235, 239, 255, .75);--glass-border: 1px solid rgba(255, 255, 255, .15);--glass-border-strong: 1px solid rgba(255, 255, 255, .2);--overlay-soft: rgba(255, 255, 255, .1);--overlay-strong: rgba(255, 255, 255, .2);--overlay-hover: rgba(123, 110, 246, .2);--gradient-bg: linear-gradient(135deg, #0a0a1a 0%, #12122a 50%, #0d0d20 100%);--glow-primary: radial-gradient(circle, rgba(123, 110, 246, .75) 0%, rgba(123, 110, 246, 0) 75%);--glow-accent: radial-gradient(circle, rgba(0, 217, 255, .7) 0%, rgba(0, 217, 255, 0) 75%);--surface-gradient: linear-gradient(135deg, rgba(20, 22, 45, .95), rgba(15, 17, 38, .85));--card-surface: rgba(20, 22, 45, .95);--card-hover-shadow: 0 32px 80px rgba(7, 10, 35, .6);--button-gradient: linear-gradient(135deg, #7b6ef6 0%, #00d9ff 100%);--button-hover-shadow: 0 8px 32px rgba(123, 110, 246, .5);--color-1: rgba(123, 110, 246, .8);--color-2: rgba(0, 212, 255, .8);--color-3: rgba(124, 255, 103, .8);--color-4: rgba(162, 155, 254, .8)}.theme-light{--color-bg: #f8f9fc;--color-bg-secondary: rgba(255, 255, 255, .88);--color-surface: rgba(255, 255, 255, .85);--color-surface-strong: rgba(252, 253, 255, .98);--color-primary: #6b5ef7;--color-primary-strong: #5748e8;--color-primary-light: rgba(107, 94, 247, .12);--color-accent: #00b8d9;--color-accent-light: rgba(0, 184, 217, .12);--color-danger: #ff6b7a;--color-success: #00d99a;--color-text: #0f1220;--color-text-muted: rgba(15, 18, 32, .68);--glass-border: 1px solid rgba(15, 18, 32, .1);--glass-border-strong: 1px solid rgba(15, 18, 32, .15);--overlay-soft: rgba(15, 18, 32, .06);--overlay-strong: rgba(15, 18, 32, .12);--overlay-hover: rgba(107, 94, 247, .15);--gradient-bg: linear-gradient(135deg, #f8f9fc 0%, #f0f4ff 50%, #fafbff 100%);--glow-primary: radial-gradient(circle, rgba(107, 94, 247, .3) 0%, rgba(107, 94, 247, 0) 75%);--glow-accent: radial-gradient(circle, rgba(0, 184, 217, .28) 0%, rgba(0, 184, 217, 0) 75%);--surface-gradient: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(248, 250, 255, .95));--card-surface: rgba(255, 255, 255, .98);--card-hover-shadow: 0 24px 64px rgba(80, 90, 140, .28);--button-gradient: linear-gradient(135deg, #6b5ef7 0%, #00b8d9 100%);--button-hover-shadow: 0 8px 32px rgba(107, 94, 247, .4)}*,*:before,*:after{box-sizing:border-box}*,*:before,*:after{transition-property:background-color,border-color,box-shadow;transition-duration:1.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition:background-color 1.2s cubic-bezier(.4,0,.2,1),border-color 1.2s cubic-bezier(.4,0,.2,1),box-shadow 1.2s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.custom-select__dropdown,.custom-select__dropdown *{transition-property:background-color,border-color,color,transform!important;transition-duration:.18s!important}button,a,input,select,textarea{transition-duration:.3s}html{height:100%;background:var(--gradient-bg);font-family:var(--font-base)}body{margin:0;min-height:100vh;height:auto;font-family:var(--font-base);font-weight:600;background:transparent;color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background 1.2s var(--transition-smooth),color .15s cubic-bezier(.4,0,.2,1);position:relative;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:rgba(0,0,0,.1);-webkit-touch-callout:none;touch-action:pan-y;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}#root{min-height:100vh;position:relative;z-index:0;background:transparent}.motion-off *,.motion-off *:before,.motion-off *:after{transition-duration:0ms!important;animation-duration:0ms!important;animation-iteration-count:1!important}a{color:inherit;text-decoration:none}h1,h2,h3{pointer-events:none}h1:hover,h2:hover,h3:hover{transform:none!important;color:inherit!important}img{max-width:100%;display:block}.app-container{min-height:100vh;display:grid;grid-template-rows:1fr auto;gap:32px;padding:32px clamp(24px,6vw,72px) 48px;padding-top:112px;position:relative;overflow:visible;background:var(--gradient-bg);transition:background 1.2s cubic-bezier(.4,0,.2,1);z-index:1}.app-container--auth{gap:48px;padding-top:128px}.app-container:before,.app-container:after{content:"";position:absolute;width:520px;height:520px;filter:blur(120px);opacity:.22;z-index:0;transition:opacity 1.2s cubic-bezier(.4,0,.2,1),background 1.2s cubic-bezier(.4,0,.2,1)}.app-container:before{top:-180px;left:-200px;background:var(--glow-primary)}.app-container:after{bottom:-220px;right:-200px;background:var(--glow-accent)}.app-content{position:relative;z-index:2;margin-top:0;width:100%;max-width:100%}.app-container--auth .app-content{margin-top:0;width:100%;max-width:100%}.app-container--public{display:grid;grid-template-rows:auto 1fr auto;align-items:start;justify-items:center;padding:clamp(32px,6vw,96px) clamp(24px,8vw,96px);min-height:100vh;gap:32px}.app-content--public{width:min(980px,100%);display:flex;justify-content:center;align-self:stretch;flex-direction:column}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(22px,4vw,40px);border-radius:0;border-bottom:1px solid rgba(255,255,255,.18);border-left:none;border-right:none;border-top:none;background:#14162d66;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);box-shadow:var(--shadow-1);animation:navReveal .68s var(--transition-snap) both;transition:background 1.2s cubic-bezier(.4,0,.2,1),border-color 1.2s cubic-bezier(.4,0,.2,1),color .8s cubic-bezier(.4,0,.2,1)}.navbar__brand{display:flex;align-items:center;gap:14px}.navbar__logo{height:clamp(36px,4.6vw,58px);width:auto;display:block}.navbar__links-wrapper{display:flex;align-items:center}.navbar__links-wrapper--desktop{display:flex}.navbar__mobile-overlay,.navbar__mobile-menu,.navbar__mobile-menu-header,.navbar__mobile-nav,.navbar__mobile-footer{display:none}@media (max-width: 768px){.navbar__links{display:none!important}.navbar__links-wrapper{display:none}.navbar__links-wrapper.is-open{display:block!important}}.navbar__links{display:flex;gap:clamp(14px,2.8vw,28px);align-items:center}@media (max-width: 1024px){.navbar__links,.navbar__links-wrapper--desktop,.navbar__actions--desktop{display:none!important}.navbar__mobile-toggle{display:flex!important}}@media (min-width: 1025px){.navbar__mobile-toggle,.navbar__mobile-overlay,.navbar__mobile-menu,.navbar__mobile-menu-header,.navbar__mobile-nav,.navbar__mobile-footer{display:none!important}.navbar__links-wrapper--desktop,.navbar__actions--desktop{display:flex!important}}.navbar__links a{position:relative;font-weight:600;letter-spacing:.02em;color:var(--color-text-muted);transition:color .22s ease,transform .22s ease}.navbar__links a:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:2px;background:linear-gradient(90deg,var(--color-accent),var(--color-primary));border-radius:999px;transform-origin:left;transform:scaleX(0);transition:transform .22s var(--transition-snap)}.navbar__links a:hover{transform:translateY(-2px);color:var(--color-text)!important}.navbar__links a.active,.navbar__links a[class*=active],.navbar__links a.active:hover,header.navbar .navbar__links a.active,.navbar--auth .navbar__links a.active{color:var(--color-text)!important;font-weight:600}.navbar__links a.active:after,.navbar__links a:hover:after{transform:scaleX(1)}.navbar__actions{display:flex;align-items:center;gap:clamp(14px,3vw,22px)}.navbar button,.navbar button:focus,.navbar button:active,.navbar button:focus-visible{outline:none!important}.navbar__mobile-toggle{display:none;background:transparent;border:none;padding:0;cursor:pointer;z-index:1001;position:relative;outline:none;min-width:44px;min-height:44px;border-radius:8px;transition:background .2s ease;-webkit-tap-highlight-color:rgba(0,0,0,.1)}@media (max-width: 1024px){.navbar__mobile-toggle{display:flex!important;visibility:visible!important;opacity:1!important;align-items:center;justify-content:center;position:relative!important;z-index:1002!important}.navbar__links{display:none!important}header.navbar .navbar__mobile-toggle,.navbar--auth .navbar__mobile-toggle{display:flex!important;visibility:visible!important;opacity:1!important}}.navbar__mobile-toggle:hover,.navbar__mobile-toggle:focus{outline:none;background:#ffffff1a}.navbar__mobile-toggle:active{background:#ffffff26}.navbar__hamburger{display:flex;flex-direction:column;gap:5px;width:24px;height:18px;position:relative;justify-content:center;align-items:center}.navbar__hamburger span{display:block;width:100%;height:3px;background:var(--color-text);border-radius:2px;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center;box-shadow:0 1px 2px #0000001a}.navbar__hamburger.is-open span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}.navbar__hamburger.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}.navbar__hamburger.is-open span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.theme-toggle{position:relative;display:inline-flex;align-items:center;gap:10px;padding:6px;border:none;background:#ffffff14;border-radius:999px;cursor:pointer;transition:background .66s cubic-bezier(.16,1,.3,1),transform .2s var(--transition-snap)}.theme-toggle:hover{transform:translateY(-2px)}.theme-toggle__track{width:44px;height:22px;border-radius:999px;background:#ffffff2e;position:relative;transition:background .66s cubic-bezier(.16,1,.3,1)}.theme-toggle__thumb{position:absolute;top:3px;left:4px;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));transition:transform .24s var(--transition-snap),background .66s cubic-bezier(.16,1,.3,1)}.theme-toggle.light .theme-toggle__thumb{transform:translate(20px);background:linear-gradient(135deg,#ffd66b,#ff9f1c)}.theme-toggle.light .theme-toggle__track{background:#0000001f;transition:background .66s cubic-bezier(.16,1,.3,1)}.theme-toggle__icon{font-size:.95rem;line-height:1;transition:opacity .42s cubic-bezier(.16,1,.3,1)}.theme-toggle.light{background:#11132b14;transition:background .66s cubic-bezier(.16,1,.3,1)}.navbar__profile{position:relative;display:flex;align-items:center;justify-content:center}.profile-chip{display:inline-flex;align-items:center;gap:12px;padding:10px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#1c1e3a66;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);color:var(--color-text);font-weight:600;cursor:pointer;outline:none;transition:transform .16s var(--transition-snap),border .18s ease,background .18s ease}.profile-chip:hover,.profile-chip:focus{transform:translateY(-2px);border-color:var(--overlay-strong);background:var(--color-surface-strong);outline:none}.profile-chip__avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:var(--color-text);font-weight:700;letter-spacing:.04em}.profile-chip__details{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}.profile-chip__name{font-size:.94rem}.profile-chip__role{font-size:.72rem;color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase}.profile-menu{position:absolute;top:calc(100% + 12px);right:0;display:grid;gap:4px;padding:16px;border-radius:var(--radius-md);background:#23264880;backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-2);min-width:220px;z-index:10006}.profile-menu button{display:flex;width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-text);font-weight:600;letter-spacing:.01em;cursor:pointer;outline:none;transition:background .16s ease,transform .16s var(--transition-snap)}.profile-menu button:hover,.profile-menu button:focus{background:#00d4ff1a;transform:translateY(-1px);outline:none}.profile-menu hr{height:1px;border:none;background:#ffffff14;margin:6px 0}.profile-menu__logout{color:var(--color-danger)}.page{position:relative;display:grid;gap:clamp(32px,4vw,48px);padding:clamp(32px,4vw,52px);border-radius:var(--radius-lg);background:#1c1e3a4d;backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-2),inset 0 1px #ffffff1f;animation:floatIn .68s var(--transition-snap) both;transition:all 1.2s var(--transition-smooth)}.page:hover{transform:none!important;box-shadow:var(--shadow-2),inset 0 1px #ffffff14!important;border-color:var(--glass-border-strong)!important}.page-auth{transition:background-color 1.2s var(--transition-smooth),border-color 1.2s var(--transition-smooth)!important}.page-auth:hover{transform:none!important;box-shadow:var(--shadow-2),inset 0 1px #ffffff1f!important;border-color:#fff3!important}.page-ai-scanner,.page-library,.page-recipes,.page-pantry-tracker{transition:background-color 1.2s var(--transition-smooth),border-color 1.2s var(--transition-smooth)!important}.page-ai-scanner:hover,.page-library:hover,.page-recipes:hover,.page-pantry-tracker:hover{transform:none!important;box-shadow:var(--shadow-2),inset 0 1px #ffffff1f!important;border-color:#fff3!important}.page h1,.page h2{margin:0;font-size:clamp(2rem,5vw,2.8rem);letter-spacing:-.02em;color:var(--color-text);pointer-events:none}.page h1:hover,.page h2:hover{transform:none!important;color:var(--color-text)!important}.page p{margin:0;line-height:1.65;color:var(--color-text-muted);max-width:720px}.page-home__actions{display:flex;flex-wrap:wrap;gap:16px}.home-page{width:100%;min-height:100vh;display:flex;flex-direction:column}.home-hero{position:relative;width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(60px,8vw,120px) clamp(24px,4vw,48px);overflow:hidden}.home-hero__content{position:relative;z-index:2;max-width:1200px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px;animation:fadeInUp .8s ease-out}.home-hero__badge{display:inline-flex;align-items:center;padding:8px 16px;border-radius:999px;background:#5227ff26;border:1px solid rgba(82,39,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.875rem;font-weight:500;color:var(--color-text);margin-bottom:8px;animation:fadeIn .6s ease-out .2s both}.home-hero__title{margin:0;font-size:clamp(3rem,8vw,6rem);font-weight:800;line-height:1.1;letter-spacing:-.04em;color:var(--color-text);display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;width:100%}.home-hero__title>span{display:block}.home-hero__title .split-parent{color:var(--color-text)!important;width:100%;max-width:100%;display:block!important;visibility:visible!important;opacity:1!important;overflow:visible!important}.home-hero__title .split-char{color:var(--color-text)!important;visibility:visible!important;opacity:1!important;display:inline-block!important;position:relative!important;transform:translateZ(0)!important}@media (max-width: 768px){.home-hero__title .split-parent,.home-hero__title .split-char{-webkit-text-fill-color:var(--color-text)!important;background:none!important;background-clip:unset!important;-webkit-background-clip:unset!important;color:var(--color-text)!important}}.home-hero__title-brand{background:linear-gradient(135deg,var(--color-primary-strong),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block}.home-hero__description{max-width:680px;margin:0;font-size:clamp(1rem,2vw,1.25rem);line-height:1.6;color:var(--color-text-muted);animation:fadeIn .6s ease-out .4s both}.home-hero__cta{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:16px;animation:fadeIn .6s ease-out .6s both}.home-hero__button{padding:16px 32px;font-size:1rem;font-weight:600;border-radius:12px;border:none;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);background:linear-gradient(135deg,var(--color-primary-strong),var(--color-accent));color:#fff;box-shadow:0 4px 20px #5227ff4d}.home-hero__button:hover{transform:translateY(-2px);box-shadow:0 8px 30px #5227ff66}.home-hero__button--secondary{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);color:var(--color-text);box-shadow:none}.home-hero__button--secondary:hover{background:#ffffff26;border-color:#ffffff4d;box-shadow:0 4px 20px #0000001a}.home-stats{position:relative;width:100%;padding:clamp(60px,8vw,100px) clamp(24px,4vw,48px)}.home-stats__container{width:100%;margin:0 auto}.home-stats__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:48px;align-items:center;width:100%;max-width:800px;margin:0 auto}@media (max-width: 768px){.home-stats__grid{grid-template-columns:1fr;gap:32px}}.home-stat-card{text-align:center;padding:32px 24px;border-radius:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.16,1,.3,1)}.home-stat-card:hover{transform:translateY(-4px);background:#ffffff0d;border-color:#5227ff4d;box-shadow:0 8px 32px #5227ff1a}.home-stat-card__number{display:flex;align-items:baseline;justify-content:center;gap:4px;margin-bottom:12px;font-size:clamp(2.5rem,6vw,4rem);font-weight:800;line-height:1;background:linear-gradient(135deg,var(--color-primary-strong),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-stat-card__plus{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:800;background:linear-gradient(135deg,var(--color-primary-strong),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-stat-card__label{margin:0 0 8px;font-size:clamp(1rem,2vw,1.25rem);font-weight:600;color:var(--color-text);text-transform:none;letter-spacing:normal}.home-stat-card__description{margin:0;font-size:clamp(.875rem,1.5vw,1rem);line-height:1.5;color:var(--color-text-muted);max-width:100%}.home-features{position:relative;width:100%;padding:clamp(80px,10vw,120px) clamp(24px,4vw,48px)}.home-features__container{max-width:1200px;margin:0 auto;text-align:center}.home-features__title{margin:0 0 16px;font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--color-text);letter-spacing:-.02em}.home-features__subtitle{font-size:clamp(1rem,2vw,1.125rem);color:var(--color-text-muted);max-width:600px;margin:0 auto 64px}.home-features__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:48px;width:100%;max-width:1000px;margin-left:auto;margin-right:auto}.home-feature-card{padding:32px 28px;border-radius:24px;background:#1c1e3a66;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #0003,inset 0 1px #ffffff1a;transition:all .5s cubic-bezier(.16,1,.3,1);text-align:left;position:relative;overflow:hidden;cursor:pointer;min-height:120px;display:flex;flex-direction:column;justify-content:center}.home-feature-card:before{display:none}.home-feature-card:hover:not(.is-expanded){transform:translateY(-4px);background:#23264880;border-color:#5227ff4d;box-shadow:0 12px 40px #5227ff26,inset 0 1px #ffffff1f}.home-feature-card.is-expanded{grid-column:1 / -1;min-height:auto;padding:48px 40px;background:#23264899;border-color:#5227ff80;box-shadow:0 20px 60px #5227ff40,0 12px 32px #00d4ff33,inset 0 1px #fff3;z-index:10;transform:scale(1.02)}.home-feature-card__icon{font-size:3rem;margin-bottom:16px;display:block}.home-feature-card__title{margin:0;font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:700;color:var(--color-text);line-height:1.3;letter-spacing:-.01em;transition:margin .5s cubic-bezier(.16,1,.3,1)}.home-feature-card.is-expanded .home-feature-card__title{margin-bottom:20px;font-size:clamp(1.5rem,3vw,2rem)}.home-feature-card__description-wrapper{max-height:0;overflow:hidden;opacity:0;transition:max-height .5s cubic-bezier(.16,1,.3,1),opacity .5s cubic-bezier(.16,1,.3,1),margin .5s cubic-bezier(.16,1,.3,1);margin-top:0}.home-feature-card.is-expanded .home-feature-card__description-wrapper{max-height:1000px;opacity:1;margin-top:0}.home-feature-card__description{margin:0;font-size:clamp(.95rem,1.5vw,1.1rem);line-height:1.7;color:var(--color-text-muted);word-wrap:break-word;overflow-wrap:break-word}.home-cta{position:relative;width:100%;padding:clamp(80px,10vw,120px) clamp(24px,4vw,48px);text-align:center}.home-cta__container{max-width:800px;margin:0 auto}.home-cta__title{margin:0 0 16px;font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--color-text);letter-spacing:-.02em}.home-cta__description{margin:0 0 32px;font-size:clamp(1rem,2vw,1.125rem);color:var(--color-text-muted)}.home-cta__button{padding:16px 40px;font-size:1.125rem;font-weight:600;border-radius:12px;border:none;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);background:linear-gradient(135deg,var(--color-primary-strong),var(--color-accent));color:#fff;box-shadow:0 4px 20px #5227ff4d}.home-cta__button:hover{transform:translateY(-2px);box-shadow:0 8px 30px #5227ff66}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.landing{position:relative;width:min(1040px,100%);padding:clamp(42px,6vw,72px);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.2);background:#1c1e3a4d;backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);box-shadow:0 45px 120px #070c202e;overflow:hidden;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(28px,6vw,64px);animation:floatIn .72s var(--transition-snap) both;transition:background .72s cubic-bezier(.16,1,.3,1),border-color .72s cubic-bezier(.16,1,.3,1),box-shadow .72s cubic-bezier(.16,1,.3,1)}.landing__glow{position:absolute;width:clamp(240px,30vw,420px);height:clamp(240px,30vw,420px);filter:blur(120px);opacity:.4;z-index:0;pointer-events:none;transition:transform .86s cubic-bezier(.16,1,.3,1),opacity .86s cubic-bezier(.16,1,.3,1),background .86s cubic-bezier(.16,1,.3,1)}.landing__glow--primary{top:-120px;left:-80px;background:var(--glow-primary)}.landing__glow--accent{bottom:-160px;right:-120px;background:var(--glow-accent)}.landing--expanded .landing__glow--primary{transform:translate3d(20px,10px,0);opacity:.55}.landing--expanded .landing__glow--accent{transform:translate3d(-30px,-20px,0);opacity:.6}.landing__content{position:relative;z-index:2;display:grid;gap:18px}.landing__eyebrow{margin:0;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--color-text-muted);display:flex;justify-content:center;align-items:center;width:100%}.landing h1{margin:0;font-size:clamp(2.8rem,6vw,4rem);letter-spacing:-.03em;color:var(--color-text);pointer-events:none}.landing h1:hover{transform:none!important;color:var(--color-text)!important}.landing h1 span{display:block;background:linear-gradient(90deg,var(--color-primary-strong),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;pointer-events:none}.landing h1 span .split-char{background:linear-gradient(90deg,var(--color-primary-strong),var(--color-accent))!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;color:transparent!important}.landing h1 span:hover{transform:none!important}.landing__subtext{margin:0;font-size:1.1rem;line-height:1.78;color:var(--color-text-muted)}.decrypted-text--encrypted{color:#00d4ff80;font-family:Poppins,sans-serif;opacity:.7;transition:color .15s ease,opacity .15s ease}.landing__eyebrow .decrypted-text--encrypted,.landing__subtext .decrypted-text--encrypted{color:#00d4ff80}.landing__cta{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.landing__cta-button{padding:16px 38px;font-size:1.02rem;background:#1c1e3a66;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);box-shadow:var(--shadow-3),inset 0 1px #ffffff1f;border:var(--glass-border);color:var(--color-text)}.landing__cta-button:before{display:none}.landing__cta-button:hover{background:#23264899;border-color:#7b6ef680;box-shadow:var(--shadow-2),inset 0 1px #ffffff26;transform:translateY(-3px) scale(1.01)}.landing__cta-button:active{background:#1c1e3a80;transform:translateY(-1px) scale(1);box-shadow:var(--shadow-3),inset 0 1px #ffffff1a}.landing__hint{font-size:.85rem;color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase}.landing__onboarding{position:relative;z-index:2;display:grid;gap:18px;padding:clamp(24px,3vw,36px);border-radius:var(--radius-md);background:var(--color-surface-strong);border:var(--glass-border);-webkit-backdrop-filter:var(--blur-strong);backdrop-filter:var(--blur-strong);box-shadow:var(--shadow-2);transform:translateY(18px);opacity:0;pointer-events:none;transition:opacity .32s var(--transition-snap),transform .32s var(--transition-snap)}.landing__onboarding.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.landing__onboarding h3{margin:0;font-size:clamp(1.6rem,4vw,2rem);color:var(--color-text)}.landing__onboarding p{margin:0;color:var(--color-text-muted)}.landing__actions{display:grid;gap:14px}.landing__close{position:absolute;top:16px;right:16px;padding:8px 12px;border-radius:999px;border:var(--glass-border);background:var(--color-surface);color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;cursor:pointer;transition:background .16s ease,color .16s ease}.landing__close:hover{background:var(--overlay-strong);color:var(--color-text);border-color:var(--color-accent)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 32px;border-radius:var(--radius-sm);border:none;font-family:var(--font-base);font-weight:600;font-size:1rem;letter-spacing:.02em;color:#fff;background:var(--button-gradient);box-shadow:var(--button-hover-shadow),inset 0 1px #fff3;cursor:pointer;position:relative;overflow:hidden;transition:all .3s var(--transition-smooth)}.button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease}.button:hover:before{left:100%}.button:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 40px #7b6ef680,inset 0 1px #ffffff4d}.button:active{transform:translateY(-2px) scale(1);box-shadow:0 6px 24px #7b6ef666,inset 0 1px #fff3;transition:all .15s ease}.button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.button--secondary{background:#1c1e3a66;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);box-shadow:var(--shadow-3);border:1px solid rgba(255,255,255,.18);color:var(--color-text)}.button--secondary:before{display:none}.button--secondary:hover{background:#1c1e3a80;border-color:#00d4ff66;box-shadow:var(--shadow-2);transform:translateY(-3px) scale(1.01)}.button--primary{background:#1c1e3a66;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);box-shadow:var(--shadow-3),inset 0 1px #ffffff1f;border:var(--glass-border);color:var(--color-text)}.button--primary:before{display:none}.button--primary:hover{background:#23264899;border-color:#7b6ef680;box-shadow:var(--shadow-2),inset 0 1px #ffffff26;transform:translateY(-3px) scale(1.01)}.button--primary:active{background:#1c1e3a80;transform:translateY(-1px) scale(1);box-shadow:var(--shadow-3),inset 0 1px #ffffff1a}.page-auth{max-width:520px;margin:0 auto;width:100%;align-self:center;position:relative}.page-auth:hover{transform:none!important;box-shadow:var(--shadow-3)!important;border-color:#fff3!important}.auth-back-button{position:absolute;top:-50px;left:0;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#1c1e3a66;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-sm);color:var(--color-text);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s var(--transition-smooth);text-decoration:none;font-family:var(--font-base)}.auth-back-button:hover{background:#23264899;border-color:#7b6ef680;transform:translate(-4px);color:var(--color-text)}.auth-back-button:active{transform:translate(-2px)}.auth-form{display:grid;gap:18px}.auth-form label{font-size:.95rem;color:var(--color-text);font-weight:600}.auth-form input,.pantry-form input,.pantry-form select,.recipes-control-card select{padding:14px 18px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.18);background:#1c1e3a66;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);color:var(--color-text);font-family:var(--font-base);font-size:.95rem;transition:all .3s var(--transition-smooth);appearance:none;-webkit-appearance:none;-moz-appearance:none;position:relative}.auth-form input:hover,.pantry-form input:hover{border-color:var(--glass-border-strong);background:var(--color-surface-strong);transform:translateY(-1px)}.auth-form input:focus,.pantry-form input:focus,.pantry-form select:focus,.recipes-control-card select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-light),var(--shadow-3);background:var(--color-surface-strong);transform:translateY(-1px)}.select-wrapper{position:relative;width:100%;display:inline-flex}.select-wrapper select{width:100%;padding-right:44px;background:var(--color-surface);border:1px solid var(--overlay-strong);border-radius:var(--radius-sm);color:var(--color-text);transition:border .22s ease,box-shadow .22s ease,background .22s ease;position:relative;z-index:1}.select-wrapper:after{content:"⌄";position:absolute;top:50%;right:16px;transform:translateY(-50%);pointer-events:none;color:var(--color-text-muted);font-size:.95rem;transition:transform .22s ease,color .22s ease;z-index:2}.select-wrapper:has(.custom-select):after{display:none}.select-wrapper:focus-within:after{transform:translateY(-50%) rotate(180deg);color:var(--color-accent)}.select-wrapper:focus-within select{border-color:#00d4ff8c;box-shadow:0 0 0 4px #00d4ff29}.select-wrapper select:hover{border-color:var(--color-accent);background:var(--color-surface-strong)}.custom-select{position:relative;width:100%;z-index:1}.custom-select.is-open{z-index:20000}.custom-select.is-disabled{opacity:.6;pointer-events:none}.custom-select__trigger{width:100%;padding:14px 48px 14px 18px;background:#1c1e3a66;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-base);font-size:.95rem;font-weight:600;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:all .3s var(--transition-smooth);position:relative;z-index:1;outline:none}.custom-select__trigger:hover{border-color:var(--color-accent);background:var(--color-surface-strong);box-shadow:var(--shadow-3);transform:translateY(-1px)}.custom-select.is-open .custom-select__trigger{border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-light),var(--shadow-3);background:var(--color-surface-strong);z-index:20000;transform:translateY(-1px)}.custom-select__value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select__arrow{position:absolute;right:16px;color:var(--color-text-muted);font-size:1.1rem;transition:transform .35s cubic-bezier(.16,1,.3,1),color .22s ease;pointer-events:none;transform-origin:center}.custom-select.is-open .custom-select__arrow{transform:rotate(180deg);color:var(--color-accent)}.custom-select__dropdown{position:fixed!important;background:#23264880!important;backdrop-filter:blur(32px) saturate(180%)!important;-webkit-backdrop-filter:blur(32px) saturate(180%)!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:var(--radius-md);box-shadow:var(--shadow-2),inset 0 1px #ffffff1f!important;max-height:300px;overflow-y:auto;overflow-x:hidden;z-index:99999!important;opacity:0;visibility:visible!important;display:grid!important;transform:translateY(-8px) scale(.98);transform-origin:top center;animation:dropdownSlideDown .35s var(--transition-snap) forwards!important;padding:10px;gap:6px;min-width:var(--dropdown-width, 200px);pointer-events:auto!important}@keyframes dropdownSlideDown{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.custom-select__option{width:100%;padding:12px 16px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-base);font-size:.95rem;text-align:left;cursor:pointer;transition:background .18s ease,transform .18s cubic-bezier(.16,1,.3,1),color .18s ease;opacity:0;transform:translate(-8px);animation:optionSlideIn .3s cubic-bezier(.16,1,.3,1) forwards;position:relative;overflow:hidden}.custom-select__option:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));transform:scaleY(0);transition:transform .25s cubic-bezier(.16,1,.3,1)}@keyframes optionSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.custom-select__option:hover,.custom-select__option.is-highlighted{background:#00d4ff1a;transform:translate(4px)}.custom-select__option:hover:before,.custom-select__option.is-highlighted:before{transform:scaleY(1)}.custom-select__option.is-selected{background:#00d4ff1f;color:var(--color-accent);font-weight:600}.custom-select__option.is-selected:before{transform:scaleY(1)}.custom-select__dropdown::-webkit-scrollbar{width:6px}.custom-select__dropdown::-webkit-scrollbar-track{background:transparent}.custom-select__dropdown::-webkit-scrollbar-thumb{background:var(--overlay-strong);border-radius:999px}.custom-select__dropdown::-webkit-scrollbar-thumb:hover{background:var(--color-accent);opacity:.5}@media (max-width: 768px){.custom-select__trigger{padding:14px 48px 14px 18px;font-size:1rem;min-height:48px}.custom-select__arrow{right:18px;font-size:1.2rem}.custom-select__dropdown{max-height:min(300px,calc(100vh - 120px));padding:6px;gap:3px;border-radius:var(--radius-sm)}.custom-select__option{padding:14px 16px;font-size:1rem;min-height:48px;display:flex;align-items:center}.recipes-control-card .custom-select__dropdown{max-width:calc(100vw - 32px)}.recipes-control-card{padding:16px;gap:12px}.select-wrapper{width:100%}.recipes-layout{gap:20px}.page-recipes{padding:20px 16px;gap:20px}.page-recipes__header{flex-direction:column;align-items:flex-start;gap:8px}.page-recipes__header h2{font-size:1.6rem}.page-recipes__header p{font-size:.9rem}.recipes-detail--desktop{display:none!important}.recipes-detail__mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#060d24d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;animation:fadeIn .2s ease}.recipes-detail__mobile-modal{position:fixed;top:20px;left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:500px;max-height:calc(100vh - 40px);background:#1c1e3af2;backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);border-radius:24px;border:1px solid rgba(255,255,255,.2);box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff1a;z-index:1001;display:flex;flex-direction:column;animation:modalFadeInTop .3s cubic-bezier(.16,1,.3,1);overflow:hidden}@keyframes modalFadeInTop{0%{opacity:0;transform:translate(-50%) translateY(-20px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.recipes-detail__mobile-header{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.recipes-detail__mobile-header h3{margin:0;font-size:1.3rem;color:var(--color-text);flex:1}.recipes-detail__mobile-close{width:40px;height:40px;border-radius:50%;border:none;background:#ffffff1a;color:var(--color-text);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,transform .2s ease;flex-shrink:0;min-width:40px;min-height:40px}.recipes-detail__mobile-close:active{background:#fff3;transform:scale(.95)}.recipes-detail__mobile-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px;-webkit-overflow-scrolling:touch;min-height:0}.recipes-detail__mobile-content .recipes-detail__card{gap:16px}.recipes-detail__mobile-content .recipes-detail__header h3{font-size:1.25rem}.recipes-detail__mobile-content .recipes-detail__header p{font-size:.9rem}.recipes-detail__mobile-content .recipes-detail__card img{border-radius:16px;max-height:250px;-o-object-fit:cover;object-fit:cover}.recipes-controls{order:2}.recipes-results{order:1}.recipes-control-card{padding:18px;gap:16px}.recipes-control-card h3{font-size:1.1rem}.recipes-control-card p{font-size:.9rem}.recipes-control-card label{font-size:.9rem;margin-bottom:8px}.recipes-tags{gap:8px}.recipes-tag{padding:10px 16px;font-size:.9rem;min-height:44px;min-width:44px}.recipes-ingredient-row{grid-template-columns:1fr;gap:12px;padding:14px}.recipes-ingredient-row__remove{width:40px;height:40px;min-width:40px;min-height:40px;align-self:center;justify-self:center}.recipes-add-ingredient-button{padding:14px 20px;font-size:.95rem;min-height:48px}.recipes-grid{grid-template-columns:1fr!important;gap:16px}.recipes-grid--compact{grid-template-columns:1fr!important}.recipes-pagination{gap:6px;margin-top:24px;padding:16px 0}.recipes-pagination__button{min-height:48px;min-width:90px;padding:12px 16px;font-size:.95rem}.recipes-pagination__number{min-width:48px;min-height:48px;font-size:1rem}.recipes-pagination__numbers{gap:6px}.recipes-pagination__ellipsis{min-width:32px;font-size:1rem}.recipe-card{padding:18px;border-radius:16px;min-height:auto}.recipe-card header{margin-bottom:12px}.recipe-card header h3{font-size:1.1rem;line-height:1.4}.recipe-card header span{font-size:.85rem}.recipe-card__image--preview{height:180px;margin:12px 0;border-radius:12px;overflow:hidden}.recipe-card p{font-size:.9rem;line-height:1.6}.recipes-section-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:16px}.recipes-section-header h3{font-size:1.2rem}.recipes-section-header span{font-size:.85rem}}.auth-form__error{margin:4px 0 0;color:var(--color-danger);font-size:.9rem}.auth-form__footer{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.auth-form__footer-text{color:var(--color-text-muted);font-size:.95rem}.auth-form__link-button{background:none;border:none;color:var(--color-accent);font-size:.95rem;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:all .2s ease;font-family:var(--font-base);text-decoration:underline;text-underline-offset:4px}.auth-form__link-button:hover{color:var(--color-primary-strong);background:#5227ff1a;text-decoration:none}.auth-form__link-button:active{transform:scale(.98)}.auth-loading-container{display:grid;place-items:center;text-align:center;padding:64px 36px;border-radius:var(--radius-lg);background:var(--surface-gradient);border:var(--glass-border-strong);-webkit-backdrop-filter:var(--blur-strong);backdrop-filter:var(--blur-strong);box-shadow:var(--shadow-2),inset 0 1px #ffffff1a;min-height:300px;position:relative;overflow:hidden}.auth-loading-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(123,110,246,.1) 0%,transparent 70%);animation:rotateGlow 8s linear infinite;pointer-events:none}.auth-loading-content{position:relative;z-index:1;display:grid;place-items:center;gap:32px;width:100%}.auth-loading__spinner-wrapper{position:relative;width:100px;height:100px;display:grid;place-items:center}.auth-loading__spinner{position:relative;width:80px;height:80px}.auth-loading__spinner-ring{position:absolute;width:100%;height:100%;border-radius:50%;border:3px solid transparent;border-top-color:var(--color-accent);animation:spinRing 1.2s cubic-bezier(.68,-.55,.265,1.55) infinite}.auth-loading__spinner-ring:nth-child(1){animation-delay:0s;border-top-color:var(--color-accent)}.auth-loading__spinner-ring:nth-child(2){animation-delay:-.4s;border-top-color:var(--color-primary);width:70%;height:70%;top:15%;left:15%}.auth-loading__spinner-ring:nth-child(3){animation-delay:-.8s;border-top-color:var(--color-accent);width:40%;height:40%;top:30%;left:30%}.auth-loading__spinner-glow{position:absolute;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(0,217,255,.4) 0%,transparent 70%);animation:pulseGlow 2s ease-in-out infinite;filter:blur(20px)}.auth-loading__message{display:flex;align-items:center;gap:12px;justify-content:center}.auth-loading__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--color-accent);animation:iconBounce 1.5s ease-in-out infinite}.auth-loading__icon-path{stroke-dasharray:50;stroke-dashoffset:50;animation:iconDraw 2s ease-in-out infinite}.auth-loading__message p{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text);background:linear-gradient(135deg,var(--color-text),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes pulseGlow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes iconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes iconDraw{0%{stroke-dashoffset:50}50%{stroke-dashoffset:0}to{stroke-dashoffset:-50}}.page-dashboard{display:grid;gap:28px;min-height:320px}.page-ai-scanner{display:grid;gap:clamp(24px,4vw,36px)}.ai-scanner__header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:4px}.ai-scanner__header h2{margin:0;font-size:clamp(1.8rem,4vw,2.4rem);background:linear-gradient(135deg,var(--color-text),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;pointer-events:none}.ai-scanner__header h2:hover{transform:none!important}.ai-scanner__header p{max-width:620px;margin:8px 0 0;color:var(--color-text-muted);line-height:1.6;font-size:1rem}.ai-scanner__grid{display:grid;grid-template-columns:minmax(320px,420px) minmax(320px,1fr);gap:clamp(24px,4vw,36px);align-items:start}.ai-scanner__input{display:grid;gap:18px}.ai-scanner__dropzone{position:relative;display:block;border-radius:var(--radius-lg);border:2px dashed rgba(255,255,255,.2);background:linear-gradient(135deg,#ffffff08,#ffffff03);min-height:380px;overflow:hidden;cursor:pointer;transition:all .36s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #00000026,inset 0 1px #ffffff1a;-webkit-backdrop-filter:var(--blur-strong);backdrop-filter:var(--blur-strong)}.ai-scanner__dropzone:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-lg);padding:2px;background:linear-gradient(135deg,#00d4ff4d,#6c5ce74d);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .36s cubic-bezier(.4,0,.2,1);pointer-events:none}.ai-scanner__dropzone:hover{border-color:#00d4ff80;transform:translateY(-4px);box-shadow:0 8px 32px #00d4ff40,inset 0 1px #ffffff26;background:linear-gradient(135deg,#ffffff0d,#ffffff05)}.ai-scanner__dropzone:hover:before{opacity:1}.ai-scanner__dropzone.is-dragging{border-color:var(--color-accent);border-style:solid;border-width:3px;background:linear-gradient(135deg,#00d4ff1a,#6c5ce714);transform:scale(1.02);box-shadow:0 12px 48px #00d4ff66,inset 0 0 60px #00d4ff1a}.ai-scanner__dropzone.is-dragging:before{opacity:1}.ai-scanner__dropzone.has-image{border-style:solid;border-color:#ffffff26;min-height:380px}.ai-scanner__dropzone.has-image:hover{border-color:#00d4ff66}.ai-scanner__image-container{position:relative;width:100%;height:380px;overflow:hidden;border-radius:var(--radius-lg)}.ai-scanner__dropzone img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .48s cubic-bezier(.4,0,.2,1)}.ai-scanner__dropzone:hover img{transform:scale(1.05)}.ai-scanner__image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#00000080;opacity:0;transition:opacity .28s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ai-scanner__dropzone:hover .ai-scanner__image-overlay{opacity:1}.ai-scanner__replace-btn{padding:12px 28px;border-radius:999px;border:2px solid rgba(255,255,255,.9);background:#ffffff26;color:#fffffff2;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .22s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px #0000004d}.ai-scanner__replace-btn:hover{background:#00d4ff33;border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 6px 20px #00d4ff66}.ai-scanner__dropzone-placeholder{display:grid;place-items:center;gap:16px;text-align:center;padding:48px 32px;color:#e1e5ffcc;min-height:380px}.ai-scanner__icon-wrapper{width:80px;height:80px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#00d4ff26,#6c5ce71f);border:2px solid rgba(0,212,255,.2);transition:all .32s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 24px #00d4ff33}.ai-scanner__dropzone:hover .ai-scanner__icon-wrapper{transform:scale(1.1) rotate(5deg);background:linear-gradient(135deg,#00d4ff40,#6c5ce733);border-color:#00d4ff66;box-shadow:0 12px 32px #00d4ff4d}.ai-scanner__icon{font-size:2.8rem;filter:drop-shadow(0 2px 8px rgba(0,212,255,.3));transition:transform .32s cubic-bezier(.4,0,.2,1)}.ai-scanner__dropzone:hover .ai-scanner__icon{transform:scale(1.15)}.ai-scanner__dropzone-placeholder h3{margin:0;font-size:1.3rem;font-weight:600;color:var(--color-text);background:linear-gradient(135deg,var(--color-text),rgba(0,212,255,.9));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ai-scanner__dropzone-placeholder p{margin:0;font-size:.95rem;color:var(--color-text-muted);line-height:1.6;max-width:280px}.ai-scanner__drag-hint{display:inline-block;margin-top:8px;padding:8px 16px;border-radius:999px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.2);color:var(--color-accent);font-size:.85rem;font-weight:600;letter-spacing:.02em;transition:all .24s cubic-bezier(.4,0,.2,1)}.ai-scanner__dropzone:hover .ai-scanner__drag-hint{background:#00d4ff26;border-color:#00d4ff4d;transform:translateY(-2px)}.ai-scanner__tips{padding:24px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#ffffff0a,#ffffff05);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:var(--blur-strong);backdrop-filter:var(--blur-strong);box-shadow:0 4px 20px #0000001a,inset 0 1px #ffffff14;transition:all .32s cubic-bezier(.4,0,.2,1)}.ai-scanner__tips:hover{border-color:#00d4ff4d;background:linear-gradient(135deg,#ffffff0f,#ffffff08);box-shadow:0 6px 28px #00d4ff26,inset 0 1px #ffffff1f;transform:translateY(-2px)}.ai-scanner__tips h4{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:8px}.ai-scanner__tips h4:before{content:"💡";font-size:1.1rem;filter:drop-shadow(0 2px 4px rgba(255,193,7,.3))}.ai-scanner__tips ul{margin:0;padding-left:20px;color:var(--color-text-muted);display:grid;gap:10px;font-size:.92rem;line-height:1.6}.ai-scanner__tips li{position:relative;transition:all .2s ease;padding-left:4px}.ai-scanner__tips li::marker{color:#00d4ff99}.ai-scanner__tips li:hover{color:var(--color-text);transform:translate(4px)}.ai-scanner__result{min-height:100%;display:grid}.ai-scanner__empty,.ai-scanner__error,.ai-scanner__loading-container{display:grid;place-items:center;text-align:center;padding:64px 36px;border-radius:var(--radius-lg);background:var(--surface-gradient);border:var(--glass-border-strong);-webkit-backdrop-filter:var(--blur-strong);backdrop-filter:var(--blur-strong);box-shadow:var(--shadow-2),inset 0 1px #ffffff1a;min-height:450px;position:relative;overflow:hidden}.ai-scanner__loading-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(123,110,246,.1) 0%,transparent 70%);animation:rotateGlow 8s linear infinite;pointer-events:none}.ai-scanner__loading-content{position:relative;z-index:1;display:grid;place-items:center;gap:32px;width:100%}.ai-scanner__spinner-wrapper{position:relative;width:100px;height:100px;display:grid;place-items:center}.ai-scanner__spinner{position:relative;width:80px;height:80px}.ai-scanner__spinner-ring{position:absolute;width:100%;height:100%;border-radius:50%;border:3px solid transparent;border-top-color:var(--color-accent);animation:spinRing 1.2s cubic-bezier(.68,-.55,.265,1.55) infinite}.ai-scanner__spinner-ring:nth-child(1){animation-delay:0s;border-top-color:var(--color-accent)}.ai-scanner__spinner-ring:nth-child(2){animation-delay:-.4s;border-top-color:var(--color-primary);width:70%;height:70%;top:15%;left:15%}.ai-scanner__spinner-ring:nth-child(3){animation-delay:-.8s;border-top-color:var(--color-accent);width:40%;height:40%;top:30%;left:30%}.ai-scanner__spinner-glow{position:absolute;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(0,217,255,.4) 0%,transparent 70%);animation:pulseGlow 2s ease-in-out infinite;filter:blur(20px)}.ai-scanner__loading-messages{min-height:60px;display:flex;align-items:center;justify-content:center;position:relative}.ai-scanner__loading-message{display:flex;align-items:center;gap:12px;opacity:0;transform:translateY(10px);transition:opacity .3s var(--transition-snap),transform .3s var(--transition-snap)}.ai-scanner__loading-message.is-visible{opacity:1;transform:translateY(0)}.ai-scanner__loading-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--color-accent);animation:iconBounce 1.5s ease-in-out infinite}.ai-scanner__loading-icon-path{stroke-dasharray:50;stroke-dashoffset:50;animation:iconDraw 2s ease-in-out infinite}.ai-scanner__loading-message p{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text);background:linear-gradient(135deg,var(--color-text),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ai-scanner__loading-dots{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:8px}.ai-scanner__loading-dot{width:8px;height:8px;border-radius:50%;background:var(--overlay-soft);border:1px solid var(--glass-border);transition:all .4s var(--transition-snap);position:relative}.ai-scanner__loading-dot.is-active{width:32px;border-radius:999px;background:var(--button-gradient);border-color:transparent;box-shadow:0 0 16px #7b6ef699;animation:dotPulse 1.5s ease-in-out infinite}.ai-scanner__loading-dot.is-completed{background:var(--color-success);border-color:var(--color-success);box-shadow:0 0 12px #00e8a466}@keyframes rotateGlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinRing{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulseGlow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes iconBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.1)}}@keyframes iconDraw{0%{stroke-dashoffset:50}50%{stroke-dashoffset:0}to{stroke-dashoffset:50}}@keyframes dotPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.ai-scanner__empty h3,.ai-scanner__error h3{margin:0;font-size:1.4rem;font-weight:600;color:var(--color-text);background:linear-gradient(135deg,var(--color-text),rgba(0,212,255,.8));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ai-scanner__empty p,.ai-scanner__error p{margin:0;font-size:.95rem;line-height:1.6;max-width:320px}.ai-scanner__loading{display:grid;place-items:center;text-align:center;gap:16px;padding:48px 36px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#ffffff0a,#ffffff05);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:var(--blur-strong);backdrop-filter:var(--blur-strong);box-shadow:0 4px 20px #0000001a,inset 0 1px #ffffff14;color:var(--color-text-muted);min-height:380px}.ai-scanner__card{display:grid;gap:24px;padding:clamp(28px,3vw,36px);border-radius:var(--radius-lg);background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:var(--blur-strong);backdrop-filter:var(--blur-strong);box-shadow:0 8px 32px #0003,inset 0 1px #ffffff1a;animation:slideInRight .48s cubic-bezier(.4,0,.2,1)}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.ai-scanner__card header{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.ai-scanner__card h3{margin:0;font-size:1.4rem}.ai-scanner__confidence{display:inline-flex;align-items:center;padding:8px 16px;border-radius:999px;background:linear-gradient(135deg,#00d4ff33,#6c5ce726);border:1px solid rgba(0,212,255,.3);color:var(--color-accent);font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 2px 12px #00d4ff33;transition:all .24s cubic-bezier(.4,0,.2,1)}.ai-scanner__confidence:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00d4ff4d}.ai-scanner__feedback{display:flex;align-items:center;gap:10px;color:var(--color-text-muted);font-size:.85rem}.ai-scanner__feedback-buttons{display:flex;gap:8px}.ai-scanner__feedback-buttons button{width:42px;height:42px;border-radius:50%;border:2px solid rgba(255,255,255,.15);background:linear-gradient(135deg,#ffffff14,#ffffff0a);color:var(--color-text);font-size:1.1rem;cursor:pointer;transition:all .24s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000001a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ai-scanner__feedback-buttons button:hover{transform:translateY(-2px) scale(1.05);border-color:#00d4ff66;box-shadow:0 4px 16px #00d4ff33}.ai-scanner__feedback-buttons button.active{border-color:var(--color-accent);background:linear-gradient(135deg,#00d4ff33,#6c5ce726);box-shadow:0 4px 16px #00d4ff4d;transform:scale(1.1)}.ai-scanner__section{display:grid;gap:10px}.ai-scanner__section h4{margin:0;font-size:1.05rem;font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}.ai-scanner__section h4:before{content:"";width:4px;height:18px;border-radius:2px;background:linear-gradient(135deg,var(--color-accent),var(--color-primary))}.ai-scanner__section ol{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--color-text-muted);line-height:1.6}.ai-scanner__chips{display:flex;flex-wrap:wrap;gap:8px}.ai-scanner__chips span{padding:8px 16px;border-radius:999px;background:linear-gradient(135deg,#00d4ff1f,#6c5ce71a);border:1px solid rgba(0,212,255,.25);font-size:.85rem;color:var(--color-text);font-weight:600;transition:all .22s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #00d4ff1a}.ai-scanner__chips span:hover{transform:translateY(-2px);background:linear-gradient(135deg,#00d4ff2e,#6c5ce726);border-color:#00d4ff66;box-shadow:0 4px 12px #00d4ff33}.ai-scanner__section ul{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--color-text-muted)}.ai-scanner__section li button{padding:8px 12px;border-radius:var(--radius-sm);border:none;background:var(--overlay-soft);color:var(--color-text);cursor:pointer;transition:transform .16s var(--transition-snap),background .16s ease}.ai-scanner__section li button:hover{transform:translateY(-2px);background:#00d4ff24}.ai-scanner__section--instructions{margin-top:8px}.ai-scanner__section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.ai-scanner__section-icon{font-size:1.5rem;filter:drop-shadow(0 2px 4px rgba(255,193,7,.3));animation:bounce 2s ease-in-out infinite}.ai-scanner__instructions{display:grid;gap:16px;margin:0;padding:0;list-style:none}.ai-scanner__instruction-step{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:var(--radius-md);background:linear-gradient(135deg,#ffffff0a,#ffffff05);border:1px solid rgba(255,255,255,.1);transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.ai-scanner__instruction-step:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--color-accent),var(--color-primary));opacity:0;transition:opacity .3s ease}.ai-scanner__instruction-step:hover{transform:translate(4px);background:linear-gradient(135deg,#ffffff0f,#ffffff08);border-color:#00d4ff4d;box-shadow:0 4px 16px #00d4ff26}.ai-scanner__instruction-step:hover:before{opacity:1}.ai-scanner__instruction-number{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-accent),var(--color-primary));color:#fff;font-weight:700;font-size:1.1rem;box-shadow:0 4px 12px #00d4ff4d;position:relative;z-index:1;transition:all .3s cubic-bezier(.16,1,.3,1)}.ai-scanner__instruction-step:hover .ai-scanner__instruction-number{transform:scale(1.1) rotate(5deg);box-shadow:0 6px 20px #00d4ff66}.ai-scanner__instruction-number span{position:relative;z-index:1}.ai-scanner__instruction-content{flex:1;padding-top:2px}.ai-scanner__instruction-content p{margin:0;color:var(--color-text);line-height:1.7;font-size:.95rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.ai-scanner__nutrition{margin-bottom:24px}.ai-scanner__nutrition-card{border-radius:var(--radius-lg);background:linear-gradient(135deg,#ff6b001f,#ff9f4014);border:1px solid rgba(255,107,0,.25);padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.ai-scanner__nutrition-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,107,0,.1) 0%,transparent 70%);animation:rotate 20s linear infinite;pointer-events:none}.ai-scanner__nutrition-card:hover{transform:translateY(-2px);border-color:#ff6b0066;box-shadow:0 8px 32px #ff6b0033,inset 0 1px #ffffff26;background:linear-gradient(135deg,#ff6b0026,#ff9f401a)}.ai-scanner__nutrition-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;position:relative;z-index:1}.ai-scanner__nutrition-icon{font-size:1.8rem;filter:drop-shadow(0 2px 8px rgba(255,107,0,.4));animation:pulse 2s ease-in-out infinite}.ai-scanner__nutrition-header h4{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text);background:linear-gradient(135deg,var(--color-text),rgba(255,107,0,.9));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ai-scanner__nutrition-content{display:grid;gap:20px;position:relative;z-index:1}.ai-scanner__nutrition-main{display:flex;justify-content:center;align-items:center;padding:20px;background:linear-gradient(135deg,#ff6b0026,#ff9f401a);border-radius:var(--radius-md);border:1px solid rgba(255,107,0,.2)}.ai-scanner__calories{display:flex;flex-direction:column;align-items:center;gap:8px}.ai-scanner__calories-value{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;line-height:1;background:linear-gradient(135deg,#ff6b00,#ff9f40);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 30px rgba(255,107,0,.3);animation:glow 2s ease-in-out infinite alternate}.ai-scanner__calories-unit{font-size:1rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.ai-scanner__nutrition-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:16px;padding-top:16px;border-top:1px solid rgba(255,107,0,.15)}.ai-scanner__nutrition-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;border-radius:var(--radius-sm);background:#ffffff08;border:1px solid rgba(255,255,255,.08);transition:all .2s ease}.ai-scanner__nutrition-item:hover{background:#ff6b0014;border-color:#ff6b0040;transform:translateY(-2px)}.ai-scanner__nutrition-label{font-size:.85rem;color:var(--color-text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.ai-scanner__nutrition-value{font-size:1.2rem;font-weight:700;color:var(--color-text);background:linear-gradient(135deg,var(--color-text),rgba(255,107,0,.8));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes glow{0%{filter:drop-shadow(0 0 10px rgba(255,107,0,.3))}to{filter:drop-shadow(0 0 20px rgba(255,107,0,.5))}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-scanner__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.ai-scanner__actions button{padding:14px 28px;border-radius:999px;border:none;font-weight:600;font-size:.95rem;color:#fffffffa;background:linear-gradient(135deg,#6c5ce7f2,#00d4ffe6);cursor:pointer;transition:all .28s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 24px #00d4ff59,inset 0 1px #fff3;position:relative;overflow:hidden}.ai-scanner__actions button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent);opacity:0;transition:opacity .28s ease}.ai-scanner__actions button:hover:before{opacity:1}.ai-scanner__actions button:disabled{cursor:default;opacity:.6;box-shadow:none;transform:none}.ai-scanner__actions button:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 12px 36px #00d4ff73,inset 0 1px #ffffff4d}.ai-scanner__actions button:not(:disabled):active{transform:translateY(-1px)}.ai-scanner__status{font-size:.85rem;letter-spacing:.04em;text-transform:uppercase}.ai-scanner__status--success{color:#00e9aad9}.ai-scanner__status--error{color:var(--color-danger)}.image-uploader{display:grid;place-items:center;padding:30px;border-radius:var(--radius-md);background:var(--color-surface-strong);border:var(--glass-border);-webkit-backdrop-filter:var(--blur-light);backdrop-filter:var(--blur-light);transition:transform .22s var(--transition-snap),box-shadow .22s ease}.image-uploader button{padding:16px 32px;border-radius:14px;border:none;font-weight:600;color:var(--color-text);background:linear-gradient(120deg,#00d4ffd9,#008effc2);cursor:pointer;box-shadow:0 18px 40px #007aff52;transition:transform .16s var(--transition-snap),box-shadow .22s ease}.image-uploader button:hover{transform:translateY(-3px);box-shadow:0 22px 45px #007aff73}.page-library{display:grid;gap:clamp(24px,4vw,36px)}.page-library__header{display:flex;flex-direction:column;gap:24px}.page-library__header>div:first-child{display:flex;flex-direction:column;gap:8px}.page-library__header p{max-width:720px}.library-search{display:flex;flex-direction:column;gap:12px;animation:slideDownFadeIn .5s var(--transition-snap) both}@keyframes slideDownFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.library-search__wrapper{position:relative;display:flex;align-items:center;max-width:500px;animation:slideInFromRight .6s var(--transition-snap) .1s both}@keyframes slideInFromRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.library-search__icon{position:absolute;left:18px;color:var(--color-text-muted);pointer-events:none;z-index:1;transition:color .22s ease,transform .3s var(--transition-smooth);animation:iconSlideIn .5s var(--transition-snap) .2s both}@keyframes iconSlideIn{0%{opacity:0;transform:translate(-10px) scale(.8)}to{opacity:1;transform:translate(0) scale(1)}}.library-search__wrapper:focus-within .library-search__icon{transform:scale(1.1);animation:iconPulse 1s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1.1)}50%{transform:scale(1.15)}}.library-search__input{width:100%;padding:14px 50px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.18);background:#1c1e3a66;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);color:var(--color-text);font-family:var(--font-base);font-size:.95rem;transition:all .3s var(--transition-smooth);appearance:none;-webkit-appearance:none;-moz-appearance:none;transform-origin:center}.library-search__input:focus{animation:searchPulse .6s ease-out}@keyframes searchPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.library-search__input::-moz-placeholder{color:var(--color-text-muted)}.library-search__input::placeholder{color:var(--color-text-muted)}.library-search__input:hover{border-color:var(--glass-border-strong);background:var(--color-surface-strong);transform:translateY(-1px)}.library-search__input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-light),var(--shadow-3);background:var(--color-surface-strong);transform:translateY(-1px);animation:searchPulse .6s ease-out}.library-search__wrapper:focus-within .library-search__icon{color:var(--color-accent)}.library-search__clear{position:absolute;right:12px;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);transition:all .2s ease;z-index:2;width:28px;height:28px;animation:fadeInScale .3s var(--transition-snap) both}@keyframes fadeInScale{0%{opacity:0;transform:scale(.5) rotate(-90deg)}to{opacity:1;transform:scale(1) rotate(0)}}.library-search__clear:hover{color:var(--color-text);background:var(--overlay-soft);animation:clearButtonSpin .4s ease}@keyframes clearButtonSpin{0%{transform:rotate(0) scale(1.1)}50%{transform:rotate(180deg) scale(1.2)}to{transform:rotate(360deg) scale(1.1)}}.library-search__results{margin:0;font-size:.875rem;color:var(--color-text-muted);padding-left:4px;animation:fadeInUp .4s var(--transition-smooth) both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.page-library__header{gap:20px}.library-search__wrapper{max-width:100%}}.library-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.library-infinite-menu{width:100%;height:calc(100vh - 200px);min-height:600px;position:relative;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg);animation:fadeInScale .6s var(--transition-snap) both;transition:opacity .4s var(--transition-smooth),transform .4s var(--transition-smooth)}.library-infinite-menu[data-updating=true]{opacity:.7;transform:scale(.98)}.library-navigation{position:absolute;bottom:40px;left:50%;transform:translate(-50%);display:flex;gap:16px;z-index:10;pointer-events:none}.library-nav-button{pointer-events:all;position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#1c1e3a99;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);color:var(--color-text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 20px #0003;z-index:10}.library-nav-button--prev{left:24px}.library-nav-button--next{right:24px}.library-nav-button:hover:not(:disabled){transform:translateY(-50%) translateY(-2px) scale(1.05);background:#1c1e3acc;border-color:#ffffff4d;box-shadow:0 8px 32px #6b5ef74d}.library-nav-button:active:not(:disabled){transform:translateY(-50%) scale(.98)}.library-nav-button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.library-nav-button svg{width:24px;height:24px;stroke-width:2.5;color:var(--color-text);stroke:currentColor;flex-shrink:0;display:block;opacity:1;visibility:visible}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.library-card{display:grid;grid-template-rows:auto 1fr auto;border-radius:var(--radius-md);background:#14162d66;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.18);overflow:hidden;box-shadow:var(--shadow-1);transition:transform .2s var(--transition-snap),box-shadow .22s ease,background .22s ease}.library-card:hover{transform:translateY(-6px);box-shadow:var(--card-hover-shadow)}.library-card__image{position:relative;overflow:hidden;height:200px;background:linear-gradient(120deg,#080c1859,#080c181a)}.library-card__image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1.04);transition:transform .32s var(--transition-snap)}.library-card:hover .library-card__image img{transform:scale(1.08)}.library-card__body{display:grid;gap:16px;padding:22px}.library-card__body header{display:flex;flex-direction:column;gap:8px}.library-card__body h3{margin:0;font-size:1.25rem;color:var(--color-text)}.library-card__confidence{align-self:flex-start;padding:6px 12px;border-radius:999px;background:#00d4ff24;color:var(--color-accent);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.library-card__summary{margin:0;color:var(--color-text-muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.library-card.is-expanded .library-card__summary{-webkit-line-clamp:unset;overflow:visible}.library-card__details,.library-card__tabs-container{display:grid;gap:16px;margin-top:4px;overflow:hidden;transition:max-height .36s var(--transition-snap),opacity .26s ease;opacity:0;max-height:0}.library-card__tabs-container{margin-top:0}.library-card.is-expanded .library-card__details,.library-card.is-expanded .library-card__tabs-container{opacity:1;max-height:5000px}.library-card__details .library-card__section{opacity:0;transform:translateY(-6px);transition:opacity .26s ease,transform .26s ease}.library-card.is-expanded .library-card__details .library-card__section{opacity:1;transform:translateY(0);transition-delay:80ms}.library-card__section{display:grid;gap:10px}.library-card__section h4{margin:0;font-size:.95rem;color:var(--color-text);text-transform:uppercase;letter-spacing:.08em}.library-card__section ul,.library-card__section ol{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--color-text-muted);font-size:.9rem}.library-card__footer{padding:18px 22px;border-top:1px solid var(--overlay-soft);display:flex;justify-content:space-between;gap:12px}.library-card__footer button{padding:10px 18px;border-radius:999px;border:none;font-weight:600;cursor:pointer;color:var(--color-text);background:var(--overlay-soft);transition:transform .16s var(--transition-snap),background .18s ease}.library-card__footer button:hover:enabled{transform:translateY(-2px);background:#00d4ff26}.library-card__toggle{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;background:var(--overlay-soft)}.library-card__toggle-icon{font-size:1.1rem;display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center}.page-empty--library{display:grid;gap:12px;padding:32px;border-radius:var(--radius-md);background:var(--color-surface-strong);border:var(--glass-border);text-align:center}.page-recipes__header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.recipes-layout{display:grid;grid-template-columns:minmax(260px,320px) 1fr minmax(260px,320px);gap:clamp(18px,3vw,28px);align-items:start}@media (max-width: 1200px){.recipes-layout{grid-template-columns:minmax(240px,300px) 1fr}}@media (max-width: 1024px) and (min-width: 769px){.app-container{padding:24px clamp(20px,4vw,48px) 32px}.navbar__links{gap:20px;font-size:.9rem}.ai-scanner__grid{grid-template-columns:1fr;gap:24px}.library-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.recipes-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width: 960px){.recipes-layout{grid-template-columns:1fr}.recipes-detail--desktop{display:none!important}}@media (min-width: 961px){.recipes-detail--desktop{display:grid!important}}.recipes-controls{display:grid;gap:18px}.recipes-control-card{display:grid;gap:18px;padding:24px;border-radius:var(--radius-md);background:#1c1e3a4d;backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-2),inset 0 1px #ffffff1f;transition:all .4s var(--transition-smooth);position:relative;overflow:visible}.recipes-control-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--button-gradient);opacity:0;transition:opacity .4s var(--transition-smooth)}.recipes-control-card:hover{box-shadow:var(--shadow-2),inset 0 1px #ffffff1f!important;transform:none!important;border-color:#fff3!important}.recipes-control-card:hover:before{opacity:0!important}.recipes-control-card h3,.recipes-control-card h4{margin:0;color:var(--color-text)}.recipes-control-card p{margin:0;color:var(--color-text-muted);font-size:.92rem}.recipes-control-card select{width:100%}.recipes-tags{display:flex;flex-wrap:wrap;gap:10px}.recipes-tag{padding:8px 16px;border-radius:999px;border:1px solid var(--overlay-strong);background:var(--overlay-soft);color:var(--color-text);font-weight:600;cursor:pointer;transition:transform .16s var(--transition-snap),border .16s ease,background .16s ease}.recipes-tag:hover{transform:none!important;border-color:var(--overlay-strong)!important;background:var(--overlay-soft)!important}.recipes-ingredient-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;padding:16px;border-radius:var(--radius-sm);background:#14162d33;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,255,255,.1);margin-top:12px}.recipes-ingredient-row__selects{display:grid;gap:12px}.recipes-ingredient-row__remove{width:32px;height:32px;min-width:32px;min-height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:var(--color-text);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;padding:0;line-height:1}.recipes-ingredient-row__remove:hover{background:#ff646433;border-color:#ff646466;transform:scale(1.1)}.recipes-ingredient-row__remove:active{transform:scale(.95)}.recipes-add-ingredient-button{width:100%;padding:12px 20px;margin-top:16px;border-radius:var(--radius-sm);border:1px dashed rgba(255,255,255,.3);background:#1c1e3a4d;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);color:var(--color-text);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s var(--transition-smooth);font-family:var(--font-base);display:flex;align-items:center;justify-content:center;gap:8px}.recipes-add-ingredient-button:hover{background:#23264880;border-color:#5227ff66;border-style:solid;transform:translateY(-2px);box-shadow:0 4px 12px #5227ff26}.recipes-add-ingredient-button:active{transform:translateY(0)}.recipes-results{display:grid;gap:28px}.recipes-section-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.recipes-section-header h3{margin:0;color:var(--color-text)}.recipes-section-header span{color:var(--color-primary-strong);font-size:.9rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}.recipes-grid--three{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.recipes-grid--compact{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.recipes-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:32px;padding:20px 0;flex-wrap:wrap}.recipes-pagination__button{padding:12px 20px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.18);background:#1c1e3a66;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);color:var(--color-text);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s var(--transition-smooth);font-family:var(--font-base);min-height:44px;min-width:80px}.recipes-pagination__button:hover:not(:disabled){background:#23264899;border-color:#5227ff66;transform:translateY(-2px);box-shadow:0 4px 12px #5227ff33}.recipes-pagination__button:active:not(:disabled){transform:translateY(0)}.recipes-pagination__button:disabled{opacity:.4;cursor:not-allowed;transform:none}.recipes-pagination__numbers{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}.recipes-pagination__number{min-width:44px;min-height:44px;padding:0 8px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.18);background:#1c1e3a66;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);color:var(--color-text);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s var(--transition-smooth);font-family:var(--font-base);display:flex;align-items:center;justify-content:center}.recipes-pagination__number:hover{background:#23264899;border-color:#5227ff66;transform:translateY(-2px);box-shadow:0 4px 12px #5227ff33}.recipes-pagination__number.is-active{background:linear-gradient(135deg,#5227ff4d,#00d4ff4d);border-color:#5227ff80;color:var(--color-text);box-shadow:0 4px 16px #5227ff4d;transform:scale(1.05)}.recipes-pagination__number.is-active:hover{transform:scale(1.05) translateY(-2px)}.recipes-pagination__ellipsis{padding:0 8px;color:var(--color-text-muted);font-size:1rem;font-weight:600;min-width:32px;display:flex;align-items:center;justify-content:center}.settings-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#060d24a6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:floatIn .32s var(--transition-snap) both}.settings-modal{width:min(540px,92vw);background:#23264880;backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-2);display:grid;grid-template-rows:auto 1fr auto;max-height:90vh;overflow:hidden}.settings-modal__header,.settings-modal__footer{padding:24px clamp(20px,4vw,32px);display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-modal__header h3{margin:0;font-size:1.4rem;color:var(--color-text)}.settings-modal__header p{margin:4px 0 0;color:var(--color-text-muted)}.settings-modal__close{border:none;background:#ffffff14;color:var(--color-text);border-radius:999px;width:36px;height:36px;font-size:1.4rem;cursor:pointer;transition:background .2s ease,transform .2s var(--transition-snap)}.settings-modal__close:hover{background:#00d4ff26;transform:translateY(-2px)}.settings-modal__body{padding:0 clamp(20px,4vw,32px) 24px;overflow-y:auto;display:grid;gap:24px}.settings-section{display:grid;gap:16px;padding:18px clamp(18px,4vw,26px);border-radius:var(--radius-md);background:#1c1e3a4d;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,255,255,.18)}.settings-section h4{margin:0;font-size:1.05rem;color:var(--color-text)}.settings-form{display:grid;gap:12px}.settings-form input{padding:12px 16px;border-radius:var(--radius-sm);border:1px solid var(--overlay-strong);background:var(--color-surface-strong);color:var(--color-text);transition:border .2s ease,box-shadow .2s ease}.settings-form input:focus{outline:none;border-color:#00d4ff8c;box-shadow:0 0 0 4px #00d4ff29}.settings-save{justify-self:flex-start}.settings-status{margin:0;font-size:.85rem}.settings-status--success{color:#00e9aad9}.settings-status--error{color:var(--color-danger)}.settings-options{display:flex;gap:12px;flex-wrap:wrap}.settings-radio{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid var(--overlay-strong);background:var(--overlay-soft);cursor:pointer;transition:border .2s ease,background .2s ease}.settings-radio input{accent-color:var(--color-accent)}.settings-radio:hover{border-color:var(--color-accent);background:#00d4ff24}.settings-toggle{display:inline-flex;align-items:center;gap:12px;cursor:pointer}.settings-toggle input{display:none}.settings-toggle__track{position:relative;width:48px;height:26px;border-radius:999px;background:var(--overlay-soft);transition:background .22s ease}.settings-toggle__thumb{position:absolute;top:3px;left:4px;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));transition:transform .22s var(--transition-snap),background .22s ease}.settings-toggle input:checked+.settings-toggle__track .settings-toggle__thumb{transform:translate(20px);background:linear-gradient(135deg,#00eaaa,#00d4ff)}.settings-toggle input:checked+.settings-toggle__track{background:#00d4ff2e}.settings-toggle__label{font-size:.95rem;color:var(--color-text-muted)}.language-switch-container{display:flex;align-items:center;gap:12px}.language-switch{display:inline-flex;flex-direction:column;align-items:center;gap:10px;padding:0;border:none;background:transparent;cursor:pointer;transition:transform .2s ease}.language-switch:hover{transform:translateY(-2px)}.language-switch__track{position:relative;width:200px;height:40px;border-radius:999px;background:var(--overlay-soft);border:1px solid var(--overlay-strong);overflow:hidden;display:flex;transition:background 1.2s cubic-bezier(.4,0,.2,1),border-color 1.2s cubic-bezier(.4,0,.2,1)}.language-switch__indicator{position:absolute;top:2px;left:2px;width:calc(25% - 4px);height:calc(100% - 4px);border-radius:999px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));transition:left .3s cubic-bezier(.4,0,.2,1),background 1.2s cubic-bezier(.4,0,.2,1);z-index:1}.language-switch__option{position:absolute;top:0;width:25%;height:100%;display:flex;align-items:center;justify-content:center;z-index:2;transition:color .15s cubic-bezier(.4,0,.2,1);pointer-events:none}.language-switch__code{font-size:.8rem;font-weight:700;letter-spacing:.05em;color:var(--color-text);opacity:.6;transition:color .15s cubic-bezier(.4,0,.2,1),opacity .3s ease}.language-switch__option.is-active .language-switch__code{color:#fff;opacity:1;text-shadow:0 1px 2px rgba(0,0,0,.2)}.language-switch__label{font-size:.95rem;font-weight:600;color:var(--color-text);transition:color .15s cubic-bezier(.4,0,.2,1)}.theme-light .language-switch__track{background:#11132b14;border-color:#11132b1f}.theme-light .language-switch__indicator{background:linear-gradient(135deg,#5a4be7,#009fce)}.theme-light .settings-modal__backdrop{background:#f2f5ffbf}.theme-light .settings-section{background:var(--color-surface-strong);border:1px solid rgba(17,19,43,.08)}.theme-light .settings-form input{background:#fffffff2;border:1px solid rgba(17,19,43,.12)}.theme-light .settings-radio{background:#11132b14}.theme-light .settings-toggle__track{background:#11132b1f}.theme-light .select-wrapper select{background:var(--color-surface)}.theme-light .settings-modal__close{background:#11132b14}.theme-light .settings-modal__close:hover{background:#11132b1f}.recipes-detail{position:sticky;top:100px;display:grid;align-content:start;gap:18px;padding:24px;border-radius:var(--radius-md);background:#23264866;backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-2);opacity:0;transform:translateY(10px);transition:opacity .24s var(--transition-snap),transform .24s var(--transition-snap);max-height:calc(100vh - 120px);overflow-y:auto;overflow-x:hidden}.theme-light .recipes-detail{background:#ffffffdb;border:1px solid rgba(17,19,43,.04);box-shadow:0 28px 60px #4f64a02e}.recipes-detail.is-visible{opacity:1;transform:translateY(0)}.recipes-detail__card{display:grid;gap:18px}.recipes-detail__header h3{margin:0;font-size:1.45rem;color:var(--color-text)}.recipes-detail__header p{margin:0;color:var(--color-text-muted);font-weight:600}.recipes-detail__card img{width:100%;border-radius:var(--radius-md);border:none;box-shadow:0 18px 40px #0f132d38}.theme-light .recipes-detail__card img{box-shadow:0 18px 35px #6074c833}.recipes-detail__body{display:grid;gap:16px}.recipes-detail__ingredients h4,.recipes-detail__instructions h4{margin:0;font-size:1rem;color:var(--color-text)}.recipes-detail__instructions ol{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--color-text-muted);line-height:1.6}.recipes-detail__ingredients ul{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--color-text-muted)}.recipes-detail__empty{text-align:center;color:var(--color-text-muted)}.recipes-detail__empty h3{margin-bottom:8px;color:var(--color-text)}.recipes-detail::-webkit-scrollbar{width:6px}.recipes-detail::-webkit-scrollbar-track{background:transparent}.recipes-detail::-webkit-scrollbar-thumb{background:#fff3;border-radius:999px;-webkit-transition:background .2s ease;transition:background .2s ease}.recipes-detail::-webkit-scrollbar-thumb:hover{background:#00d4ff66}.page-status,.page-empty{margin:0;color:var(--color-text-muted);font-size:.97rem}.page-empty{padding:18px;border-radius:var(--radius-md);background:var(--color-surface);border:var(--glass-border);color:var(--color-text)}.page-error{margin:0;padding:14px 18px;border-radius:var(--radius-sm);background:#ff76751f;color:var(--color-danger);border:1px solid rgba(255,118,117,.22)}.recipe-card{position:relative;padding:22px;border-radius:var(--radius-md);background:#14162d66;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow-1);cursor:pointer;transition:transform .22s var(--transition-snap),box-shadow .22s ease,background .22s ease}.recipe-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px #0f132d8c}.recipe-card__detail,.recipe-card__loading,.recipe-card--collapsed,.recipe-card--expanded{display:none}.recipe-card header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.recipe-card h3{margin:0;font-size:1.15rem;color:var(--color-text)}.recipe-card span{padding:6px 12px;border-radius:999px;background:var(--overlay-soft);color:var(--color-accent);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}.recipe-card__image{margin:16px 0 12px;border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 14px 24px #0f132d2e}.recipe-card__image img{width:100%;height:170px;-o-object-fit:cover;object-fit:cover;display:block}.recipe-card p{margin:0;color:var(--color-text-muted);font-size:.96rem}.recipe-card:hover{transform:translateY(-3px);box-shadow:0 24px 50px #5a52e366}.recipe-card--collapsed:hover{transform:translateY(0) scale(1);opacity:.9}.recipe-card--expanded:hover{transform:translateY(0) scale(1.01)}.recipe-card__image,.recipe-card p{display:none}.recipe-card--expanded .recipe-card__image,.recipe-card--expanded p{display:block;animation:fadeSlideIn .32s var(--transition-snap) both}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes floatIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes navReveal{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;flex-direction:row;gap:8px;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:0;border-left:none;border-right:none;border-top:none;box-shadow:0 4px 20px #00000026,inset 0 -1px #ffffff1a}.app-container{padding:86px 0 24px;gap:20px;width:100%;max-width:100%;margin:0}.app-container--auth{padding-top:90px}.app-container--public{padding:90px 0 24px;align-items:stretch;justify-items:stretch;min-height:100vh;gap:24px;width:100%;max-width:100%;margin:0}.app-content--public{width:100%;max-width:100%;padding:0 16px;align-self:stretch;min-height:0}.app-footer{width:100%;max-width:100%;padding:20px 0}.navbar__mobile-toggle{display:flex!important;visibility:visible!important;opacity:1!important;align-items:center;justify-content:center;margin-left:auto;order:2;padding:10px;min-width:44px;min-height:44px;width:44px;height:44px;background:linear-gradient(135deg,#ffffff4d,#fff3)!important;border:2px solid rgba(255,255,255,.6)!important;border-radius:10px;box-shadow:0 2px 12px #0000004d,inset 0 1px 2px #fff6;transition:all .2s ease;position:relative;z-index:1002!important;cursor:pointer;flex-shrink:0;pointer-events:auto!important;transform:none!important;margin-right:0}.navbar__mobile-toggle:hover{background:#ffffff4d!important;border-color:#ffffff80!important;box-shadow:0 6px 16px #0000004d}.navbar__mobile-toggle:active{background:#fff6!important;transform:scale(.95);box-shadow:0 2px 10px #0000004d,0 0 0 3px #5227ff66,inset 0 1px 2px #fff9}.navbar__mobile-toggle.is-active,.navbar__mobile-toggle[aria-expanded=true]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}.navbar__mobile-toggle:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:14px;background:linear-gradient(135deg,#5227ff33,#00d4ff33);z-index:-1;opacity:.5}.navbar__hamburger{width:28px!important;height:22px!important;display:flex!important;visibility:visible!important;opacity:1!important;flex-direction:column!important;gap:5px!important;justify-content:center!important;align-items:center!important;position:relative;z-index:1}.navbar__hamburger span{height:4px!important;width:100%!important;min-width:28px!important;background:#fff!important;box-shadow:0 2px 6px #00000080,0 0 10px #ffffff80,inset 0 1px #fffc;display:block!important;visibility:visible!important;opacity:1!important;border-radius:3px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.navbar__brand{order:0;flex-shrink:0;margin-right:auto}.navbar__actions{order:3;gap:8px;display:none!important}.navbar__mobile-toggle{order:1;margin-left:8px;margin-right:0}.navbar__links-wrapper{position:absolute;top:100%;left:0;right:0;background:#14162d80;backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);border:1px solid rgba(255,255,255,.2);border-top:none;border-left:none;border-right:none;border-radius:0;z-index:999;max-height:0;overflow:hidden;opacity:0;transform:translateY(-10px);transition:max-height .35s var(--transition-smooth),opacity .35s var(--transition-smooth),transform .35s var(--transition-smooth);pointer-events:none;box-shadow:0 8px 32px #0003,inset 0 -1px #ffffff14}.navbar__links-wrapper.is-open{max-height:400px;opacity:1;transform:translateY(0);pointer-events:all;overflow:visible;padding:16px 0}.navbar__links-wrapper .gooey-nav-container{width:100%}.navbar__links-wrapper .gooey-nav-container ul{flex-direction:column;align-items:stretch;gap:0}.navbar__links-wrapper .gooey-nav-container a{width:100%;padding:14px 20px;font-size:.95rem;border-bottom:1px solid rgba(255,255,255,.1);display:block;border-radius:0;transition:background .2s ease,color .2s ease}.navbar__links-wrapper .gooey-nav-container a:last-child{border-bottom:none}.navbar__links-wrapper .gooey-nav-container a:hover{background:#00d4ff1a;color:var(--color-text)!important}.navbar__links-wrapper .gooey-nav-container li.active a,.navbar__links-wrapper .gooey-nav-container a.active{background:#fff!important;color:#000!important;font-weight:600;border:2px solid white}.navbar__links-wrapper .gooey-nav-container .effect.filter,.navbar__links-wrapper .gooey-nav-container .effect.text,.profile-chip__details{display:none}.navbar__links-wrapper--desktop,.navbar__actions--desktop{display:none!important}.navbar__mobile-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1001;animation:fadeIn .3s ease}.navbar__mobile-menu{display:flex;flex-direction:column;position:fixed;top:0;right:0;width:85%;max-width:400px;height:100vh;background:linear-gradient(135deg,#14162dfa,#0f1126fa);backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);border-left:1px solid rgba(255,255,255,.2);box-shadow:-4px 0 32px #00000080;z-index:1002;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto}.navbar__mobile-menu.is-open{transform:translate(0)}.navbar__mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid rgba(255,255,255,.1)}.navbar__mobile-menu-header h3{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text);text-transform:uppercase;letter-spacing:.05em}.navbar__mobile-close{width:40px;height:40px;border:none;background:#ffffff1a;border-radius:10px;color:var(--color-text);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.navbar__mobile-close:hover{background:#fff3;transform:scale(1.1)}.navbar__mobile-nav{display:flex;flex-direction:column;padding:20px 0;flex:1}.navbar__mobile-link{display:block;padding:18px 20px;color:var(--color-text-muted);text-decoration:none;font-size:1.1rem;font-weight:600;transition:all .2s ease;border-left:3px solid transparent}.navbar__mobile-link:hover{background:#ffffff0d;color:var(--color-text);border-left-color:var(--color-primary);padding-left:24px}.navbar__mobile-link:active{background:#ffffff1a}.navbar__mobile-footer{display:flex;flex-direction:column;padding:20px;border-top:1px solid rgba(255,255,255,.1);gap:20px}.navbar__mobile-profile{display:flex;align-items:center;gap:12px;padding:16px;background:#ffffff0d;border-radius:12px}.navbar__mobile-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;color:#fff;flex-shrink:0}.navbar__mobile-name{font-size:1rem;font-weight:600;color:var(--color-text);margin-bottom:4px}.navbar__mobile-role{font-size:.85rem;color:var(--color-text-muted)}.navbar__mobile-actions{display:flex;flex-direction:column;gap:10px}.navbar__mobile-action-btn{padding:14px 20px;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:#ffffff1a;color:var(--color-text);border:1px solid rgba(255,255,255,.2)}.navbar__mobile-action-btn:hover{background:#ffffff26;transform:translateY(-2px)}.navbar__mobile-action-btn--logout{background:#ff6b7a33;border-color:#ff6b7a4d;color:var(--color-danger)}.navbar__mobile-action-btn--logout:hover{background:#ff6b7a4d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.profile-chip{padding:6px;min-width:36px;min-height:36px}.profile-chip__avatar{width:28px;height:28px;font-size:.75rem}.page{padding:20px 16px;width:100%!important;max-width:100%!important;margin:0!important;box-sizing:border-box;border-radius:0}.app-container,.app-content,.page,.page>*,section.page{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}.app-container{justify-content:stretch!important;align-items:stretch!important;padding-left:0!important;padding-right:0!important}.ai-scanner__grid,.pantry-tracker__grid,.library-infinite-menu,.recipes-layout,.page-ai-scanner,.page-pantry-tracker,.page-library,.page-recipes{width:100%!important;max-width:100%!important;margin:0!important}body,#root,.app-container,.app-content{width:100vw!important;max-width:100vw!important;overflow-x:hidden}button,.button,a.button{min-height:44px;min-width:44px}.pantry-tracker__header{margin-bottom:24px}.pantry-tracker__header h2{font-size:1.5rem}.page-pantry-tracker{padding:24px 16px;min-height:auto}.page-home__actions{flex-direction:column;align-items:stretch}.pantry-item{flex-direction:column;align-items:flex-start}.pantry-item__actions{width:100%}.pantry-item__actions button{flex:1}.recipes-layout{grid-template-columns:1fr}.recipes-detail{position:relative;top:0;opacity:1;transform:none}.recipes-section-header{flex-direction:column;align-items:flex-start;gap:6px}.recipes-tags{justify-content:flex-start}.recipes-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.ai-scanner__grid{grid-template-columns:1fr;gap:20px}.ai-scanner__dropzone{min-height:280px;padding:24px 16px}.ai-scanner__dropzone-placeholder h3{font-size:1.1rem}.ai-scanner__dropzone-placeholder p{font-size:.9rem}.ai-scanner__icon{font-size:2.2rem}.ai-scanner__card{padding:20px}.ai-scanner__card h3{font-size:1.2rem}.ai-scanner__confidence{font-size:.75rem;padding:6px 12px}.ai-scanner__actions{flex-direction:column}.ai-scanner__actions button{width:100%}.ai-scanner__tips{padding:20px}.ai-scanner__tips h4{font-size:.95rem}.ai-scanner__tips ul{font-size:.85rem}.library-grid{grid-template-columns:1fr;gap:16px}.library-card{padding:0}.library-card__body{padding:18px}.library-card__tabs-container{max-height:0!important;opacity:0!important;overflow:hidden!important;display:grid!important}.library-card.is-expanded .library-card__tabs-container{max-height:5000px!important;opacity:1!important;overflow:visible}.library-card__tabs-container .food-items-tabs__header{position:sticky;top:0;z-index:10;background:var(--color-surface)}.library-card__footer{padding:14px 18px;flex-wrap:wrap}.library-card__toggle{padding:10px 16px;font-size:.9rem}.settings-modal{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;margin:0}.settings-modal__content{padding:20px 16px;max-height:calc(100vh - 80px);overflow-y:auto}.form-group{margin-bottom:20px}.form-group label{font-size:.9rem;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{font-size:1rem;padding:12px 16px}.recipe-card{padding:16px}.recipe-card__image{height:180px}.recipe-card__title{font-size:1.1rem}.pantry-item{padding:16px}.pantry-item__info{gap:8px}.pantry-item__name{font-size:1rem}.pantry-item__meta{font-size:.85rem}.landing{grid-template-columns:1fr;padding:24px 20px;width:100%;gap:24px}.landing__content{gap:16px}.landing__eyebrow{font-size:.7rem;letter-spacing:.2em}.landing h1{font-size:clamp(2rem,8vw,2.5rem);line-height:1.2}.landing h1 span{margin-top:4px}.landing__subtext{font-size:.95rem;line-height:1.6}.landing__cta{width:100%;align-items:stretch}.landing__cta-button{width:100%;padding:14px 24px;font-size:.95rem}.landing__hint{font-size:.75rem;text-align:center;width:100%}.landing__onboarding{padding:24px 20px;gap:16px}.landing__onboarding h3{font-size:1.4rem}.landing__onboarding p{font-size:.9rem;line-height:1.5}.landing__actions{grid-template-columns:1fr;gap:12px}.landing__actions .button{width:100%;padding:14px 24px}.landing__close{top:12px;right:12px;padding:6px 10px;font-size:.65rem}.landing__glow{width:200px;height:200px;filter:blur(80px)}.landing__glow--primary{top:-80px;left:-60px}.landing__glow--accent{bottom:-100px;right:-80px}.navbar__links{justify-content:flex-start}.profile-chip{width:100%}.ai-scanner__header{flex-direction:column;align-items:flex-start}.ai-scanner__grid{grid-template-columns:1fr}.ai-scanner__dropzone{min-height:240px}}.recipe-card__detail{margin-top:18px;display:grid;gap:18px}.recipe-card__detail-section h4{margin:0 0 8px;font-size:.95rem;color:var(--color-text)}.recipe-card__detail-section p{margin:0;color:var(--color-text-muted);line-height:1.6}.recipe-card__detail-section ol,.recipe-card__detail-section ul{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--color-text-muted);line-height:1.6}.recipe-card__loading{margin:0;color:var(--color-accent);font-weight:600}.recipes-detail__card,.recipes-detail__loading,.recipe-card__detail,.recipe-card__loading,.recipe-card--collapsed,.recipe-card--expanded{display:block}.recipe-card__image--preview{height:140px}.recipe-card__image--preview img{height:100%}.page-pantry-tracker{padding:48px clamp(32px,6vw,64px);max-width:1600px;margin:0 auto;width:100%;min-height:600px}.pantry-tracker__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:40px;gap:24px}.pantry-tracker__header h2{margin:0 0 8px;font-size:2rem;font-weight:700;color:var(--color-text);pointer-events:none}.pantry-tracker__header h2:hover{transform:none!important;color:var(--color-text)!important}.pantry-tracker__header p{margin:0;color:var(--color-text-muted);font-size:.95rem}.pantry-tracker__alerts{display:grid;gap:16px;margin-bottom:32px}.pantry-alert{display:flex;align-items:flex-start;gap:16px;padding:20px;border-radius:var(--radius-md);background:var(--color-surface);border:var(--glass-border);-webkit-backdrop-filter:var(--blur-light);backdrop-filter:var(--blur-light)}.pantry-alert--expired{background:#ff767526;border-color:#ff76754d}.pantry-alert--warning{background:#ffa72626;border-color:#ffa7264d}.pantry-alert__icon{font-size:1.5rem;flex-shrink:0}.pantry-alert h4{margin:0 0 6px;font-size:1rem;font-weight:600;color:var(--color-text)}.pantry-alert p{margin:0;font-size:.9rem;color:var(--color-text-muted)}.pantry-tracker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.pantry-card{background:var(--color-surface);border:var(--glass-border);border-radius:var(--radius-md);padding:20px;-webkit-backdrop-filter:var(--blur-light);backdrop-filter:var(--blur-light);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.pantry-card:hover{transform:translateY(-2px);box-shadow:var(--card-hover-shadow);border-color:var(--color-accent)}.pantry-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:12px}.pantry-card__header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text);flex:1}.pantry-card__category{font-size:.75rem;padding:4px 8px;background:var(--overlay-soft);border-radius:var(--radius-sm);color:var(--color-text-muted);white-space:nowrap}.pantry-card__body{display:grid;gap:12px}.pantry-card__info{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.pantry-card__label{color:var(--color-text-muted);font-weight:600}.pantry-card__status{margin-top:8px;font-size:.85rem;font-weight:600;text-align:center;padding:8px;background:var(--overlay-soft);border-radius:var(--radius-sm)}.pantry-card__footer{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:var(--glass-border)}.pantry-card__action{flex:1;padding:10px 16px;font-size:.85rem;font-weight:600;border:var(--glass-border);border-radius:var(--radius-sm);background:var(--color-surface-strong);color:var(--color-text);cursor:pointer;transition:all .22s ease}.pantry-card__action:hover:enabled{background:var(--color-accent);color:#fff;border-color:var(--color-accent);transform:translateY(-1px)}.pantry-card__action:disabled{opacity:.5;cursor:not-allowed}.pantry-card__action--danger:hover:enabled{background:var(--color-danger);border-color:var(--color-danger)}.pantry-card__notification-toggle{margin-top:12px;padding-top:12px;border-top:var(--glass-border)}.pantry-notification-toggle{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pantry-notification-toggle input{display:none}.pantry-notification-toggle__track{position:relative;width:44px;height:22px;border-radius:999px;background:#ffffff2e;transition:background .66s cubic-bezier(.16,1,.3,1);flex-shrink:0}.pantry-notification-toggle__thumb{position:absolute;top:3px;left:4px;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));transition:transform .24s var(--transition-snap),background .66s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 4px #0003}.pantry-notification-toggle input:checked+.pantry-notification-toggle__track{background:#00d4ff4d}.pantry-notification-toggle input:checked+.pantry-notification-toggle__track .pantry-notification-toggle__thumb{transform:translate(20px);background:linear-gradient(135deg,#00eaaa,#00d4ff)}.pantry-notification-toggle__label{font-size:.9rem;font-weight:600;color:var(--color-text);transition:color .22s ease}.pantry-notification-toggle:hover .pantry-notification-toggle__label{color:var(--color-accent)}.theme-light .pantry-notification-toggle__track{background:#11132b1f}.theme-light .pantry-notification-toggle input:checked+.pantry-notification-toggle__track{background:#009fce33}.pantry-tracker__form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);display:flex;align-items:flex-start;justify-content:center;z-index:10003;padding:60px 20px 20px;animation:fadeIn .22s ease;pointer-events:auto;overflow-y:auto}.pantry-tracker__form-card{background:var(--color-surface-strong);border:var(--glass-border);border-radius:var(--radius-lg);padding:48px;max-width:900px;width:100%;-webkit-backdrop-filter:var(--blur-strong);backdrop-filter:var(--blur-strong);box-shadow:var(--shadow-2);animation:slideUp .3s ease;position:relative;z-index:10004;pointer-events:auto;margin-top:40px}.pantry-tracker__form-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.pantry-tracker__form-card h3{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text)}.pantry-tracker__close{background:none;border:none;font-size:2rem;color:var(--color-text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .22s ease}.pantry-tracker__close:hover{background:var(--overlay-soft);color:var(--color-text)}.pantry-tracker__form-card form{display:grid;gap:24px}.pantry-tracker__form-card label{display:block;font-size:1rem;font-weight:600;color:var(--color-text);margin-bottom:10px}.pantry-tracker__form-card input[type=text],.pantry-tracker__form-card input[type=date]{width:100%;padding:14px 18px;background:var(--color-surface-input);border:var(--glass-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:1rem;transition:all .22s ease;position:relative;z-index:1;pointer-events:auto}.pantry-tracker__form-card input[type=text]:focus,.pantry-tracker__form-card input[type=date]:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-focus);background:var(--color-surface-input-hover)}.pantry-tracker__form-row{display:grid;grid-template-columns:2fr 1fr;gap:20px}.pantry-tracker__form-actions{display:flex;gap:12px;margin-top:8px}.page-empty--pantry{grid-column:1 / -1;text-align:center;padding:120px 40px;background:var(--color-surface);border:var(--glass-border);-webkit-backdrop-filter:var(--blur-light);backdrop-filter:var(--blur-light);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:600px;border-radius:var(--radius-lg)}.page-empty--pantry h3{margin:0 0 16px;font-size:2rem;font-weight:700;color:var(--color-text);text-align:center;width:100%}.page-empty--pantry p{margin:0;font-size:1.1rem;color:var(--color-text-muted);text-align:center;width:100%;max-width:600px;line-height:1.6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.app-footer{position:relative;z-index:2;padding:24px 0;border-top:var(--glass-border);margin-top:auto;width:100%;max-width:min(980px,100%);justify-self:center}.app-footer__content{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.app-footer__copyright,.app-footer__credit{margin:0;font-size:.85rem;color:var(--color-text-muted)}.app-footer__name{color:var(--color-accent);font-weight:600}.barcode-scanner__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);display:flex;align-items:center;justify-content:center;z-index:10001;padding:20px;animation:fadeIn .22s ease}.barcode-scanner__container{background:var(--color-surface-strong);border:var(--glass-border);border-radius:var(--radius-lg);padding:0;max-width:600px;width:100%;min-height:80vh;max-height:90vh;-webkit-backdrop-filter:var(--blur-strong);backdrop-filter:var(--blur-strong);box-shadow:var(--shadow-2);animation:slideUp .3s ease;overflow:hidden;display:flex;flex-direction:column;position:relative;z-index:10002}.barcode-scanner__header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 24px 16px;background:var(--color-surface);border-bottom:var(--glass-border);flex-shrink:0}.barcode-scanner__header-content{flex:1}.barcode-scanner__header h3{margin:0 0 6px;font-size:1.5rem;font-weight:800;color:var(--color-text);letter-spacing:.02em}.barcode-scanner__header-subtitle{margin:0;font-size:.85rem;color:var(--color-text-muted);font-weight:600}.barcode-scanner__divider{height:1px;background:var(--glass-border);margin:0}.barcode-scanner__close{background:none;border:none;font-size:2rem;color:var(--color-text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .22s ease}.barcode-scanner__close:hover{background:var(--overlay-soft);color:var(--color-text)}.barcode-scanner__content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:32px 24px;flex:1;min-height:0}.barcode-scanner__viewfinder-wrapper{position:relative;width:100%;max-width:500px;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface-input);border:3px solid var(--color-accent);box-shadow:0 0 0 4px #00d4ff1a,0 8px 32px #00d4ff33,0 0 60px #00d4ff26;transition:box-shadow .3s ease}.barcode-scanner__viewfinder{width:100%;height:100%;position:relative}.barcode-scanner__placeholder{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--color-surface-input);z-index:1}.barcode-scanner__camera-icon{font-size:4rem;opacity:.6;animation:none}.barcode-scanner__camera-icon--pulse{animation:pulse 1.5s ease-in-out infinite}.barcode-scanner__placeholder p{margin:0;font-size:.95rem;color:var(--color-text);font-weight:600;text-align:center;padding:0 20px}.barcode-scanner__scanning-line{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);animation:scanLine 2s linear infinite;z-index:2;pointer-events:none}@keyframes scanLine{0%{top:0;opacity:1}50%{opacity:1}to{top:100%;opacity:0}}@keyframes pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.barcode-scanner__instructions{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:500px;flex-shrink:0}.barcode-scanner__sample-barcode{display:flex;align-items:center;justify-content:center;padding:12px 20px;background:var(--color-surface);border:var(--glass-border);border-radius:var(--radius-sm);width:100%}.barcode-scanner__barcode-lines{display:flex;gap:4px;align-items:center;justify-content:center}.barcode-line{height:60px;width:4px;background:var(--color-text);border-radius:2px}.barcode-line:nth-child(1){height:40px}.barcode-line:nth-child(2){height:70px}.barcode-line:nth-child(3){height:50px;width:6px}.barcode-line:nth-child(4){height:65px}.barcode-line:nth-child(5){height:45px}.barcode-scanner__hint{margin:0;font-size:1rem;color:var(--color-text);text-align:center;font-weight:600;line-height:1.5;padding:0 12px}.barcode-scanner__actions{display:flex;gap:12px;width:100%;max-width:500px;flex-shrink:0;margin-top:auto;padding-top:8px}.barcode-scanner__action-button{flex:1;padding:14px 24px;border-radius:var(--radius-sm);border:none;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .22s ease;text-align:center}.barcode-scanner__action-button--secondary{background:var(--color-surface);border:var(--glass-border);color:var(--color-text)}.barcode-scanner__action-button--secondary:hover{background:#00d4ff26;border-color:var(--color-accent)}.barcode-scanner__action-button--primary{background:linear-gradient(120deg,var(--color-primary),var(--color-accent));color:#fff;border:none}.barcode-scanner__action-button--primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00d4ff4d}.barcode-scanner__error{margin:0;padding:12px 16px;background:#ff767526;border:1px solid rgba(255,118,117,.3);border-radius:var(--radius-sm);color:var(--color-danger);font-size:.95rem;text-align:center;font-weight:600;width:100%;max-width:500px}.barcode-scanner__retry-button{margin-top:16px;padding:10px 20px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .22s ease}.barcode-scanner__retry-button:hover{background:var(--color-primary);transform:translateY(-1px);box-shadow:0 4px 12px #00d4ff4d}.pantry-tracker__toggle{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:.9rem;color:var(--color-text)}.pantry-tracker__toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-accent)}@media (max-width: 768px){.app-footer__content{flex-direction:column;text-align:center;gap:8px}.pantry-tracker__header{flex-direction:column;align-items:flex-start}.pantry-tracker__grid{grid-template-columns:1fr}.pantry-tracker__form-card{padding:24px 20px;max-width:100%;margin-top:20px}.pantry-tracker__form-overlay{padding:40px 12px 12px}.page-empty--pantry{padding:80px 24px;min-height:300px}.page-empty--pantry h3{font-size:1.5rem}.page-empty--pantry p{font-size:1rem}.pantry-tracker__form-row{grid-template-columns:1fr}.barcode-scanner__container{min-height:85vh;max-height:95vh}.barcode-scanner__header{padding:20px 20px 12px}.barcode-scanner__content{padding:24px 20px;gap:20px}.barcode-scanner__viewfinder-wrapper{max-width:100%}.barcode-scanner__instructions{gap:12px}.barcode-scanner__actions{flex-direction:column;margin-top:16px}.barcode-scanner__action-button{width:100%}}.install-prompt{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:10005;max-width:400px;width:calc(100% - 32px);animation:slideUp .3s ease}.install-prompt__content{background:var(--color-surface-strong);border:var(--glass-border);border-radius:var(--radius-lg);padding:20px;-webkit-backdrop-filter:var(--blur-strong);backdrop-filter:var(--blur-strong);box-shadow:var(--shadow-3);display:flex;align-items:center;gap:16px}.install-prompt__icon{font-size:2rem;flex-shrink:0}.install-prompt__text{flex:1}.install-prompt__text h4{margin:0 0 4px;font-size:1rem;font-weight:700;color:var(--color-text)}.install-prompt__text p{margin:0;font-size:.85rem;color:var(--color-text-muted)}.install-prompt__actions{display:flex;gap:8px;flex-shrink:0}.install-prompt__button{padding:8px 16px;border-radius:var(--radius-sm);border:none;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .22s ease}.install-prompt__button--primary{background:linear-gradient(120deg,var(--color-primary),var(--color-accent));color:#fff}.install-prompt__button--primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00d4ff4d}.install-prompt__button--secondary{background:var(--color-surface);border:var(--glass-border);color:var(--color-text)}.install-prompt__button--secondary:hover{background:#00d4ff26}@media (max-width: 480px){.landing{padding:20px 16px;gap:20px;border-radius:var(--radius-md)}.landing__content{gap:14px}.landing__eyebrow{font-size:.65rem;letter-spacing:.18em}.landing h1{font-size:1.8rem;line-height:1.15}.landing__subtext{font-size:.9rem;line-height:1.5}.landing__cta-button{padding:12px 20px;font-size:.9rem}.landing__hint{font-size:.7rem}.landing__onboarding{padding:20px 16px;gap:14px}.landing__onboarding h3{font-size:1.3rem}.landing__onboarding p{font-size:.85rem}.landing__actions .button{padding:12px 20px;font-size:.9rem}.landing__close{top:10px;right:10px;padding:5px 8px;font-size:.6rem}.landing__glow{width:150px;height:150px;filter:blur(60px)}.app-container--public{padding:16px 12px 20px;gap:20px}.app-content--public{min-height:0}.app-footer{padding:20px 0;margin-top:auto;width:100%;max-width:100%}.install-prompt{bottom:16px;width:calc(100% - 24px)}.install-prompt__content{flex-direction:column;align-items:flex-start;gap:12px}.install-prompt__actions{width:100%;flex-direction:column}.install-prompt__button{width:100%}.ai-scanner__grid{grid-template-columns:1fr}.ai-scanner__dropzone{min-height:240px}.ai-scanner__image-container{max-height:300px}.library-grid,.recipes-grid{grid-template-columns:1fr}.recipe-card{max-width:100%}.page-library__header h2,.page-recipes__header h2,.page-pantry-tracker__header h2{font-size:1.5rem}.page-library__header p,.page-recipes__header p{font-size:.9rem}.modal-overlay{padding:0}.modal{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;margin:0}.modal__header{padding:16px}.modal__body{padding:16px;max-height:calc(100vh - 120px);overflow-y:auto}.modal__footer{padding:16px;flex-direction:column;gap:12px}.modal__footer button{width:100%}.profile-menu{right:0;left:auto;min-width:200px}h1,h2,h3{pointer-events:none}h1:hover,h2:hover,h3:hover{transform:none!important;color:inherit!important}h1{font-size:clamp(1.8rem,6vw,2.5rem)}h2{font-size:clamp(1.5rem,5vw,2rem)}h3{font-size:clamp(1.2rem,4vw,1.5rem)}h4{font-size:clamp(1rem,3vw,1.2rem)}p{font-size:clamp(.9rem,2.5vw,1rem)}a,button,input[type=button],input[type=submit]{min-height:44px;min-width:44px;-webkit-tap-highlight-color:rgba(0,0,0,.1);touch-action:manipulation}body{overflow-x:hidden;-webkit-overflow-scrolling:touch}.page,.app-container,.modal__body,.library-detail-modal__body,.pantry-tracker__form-card{-webkit-overflow-scrolling:touch}*{max-width:100%}img,video,iframe{max-width:100%;height:auto}button,a,input,select{-webkit-user-select:none;-moz-user-select:none;user-select:none}p,h1,h2,h3,h4,h5,h6,.ai-scanner__card,.library-card__body,.recipe-card p{-webkit-user-select:text;-moz-user-select:text;user-select:text}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:12px}input:focus,textarea:focus,select:focus{outline:2px solid var(--color-primary);outline-offset:2px}@supports (-webkit-touch-callout: none){input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],textarea,select{font-size:16px!important}}}@media (max-width: 768px){.home-hero{min-height:auto;padding:60px 20px 40px}.home-hero__content{padding:0;gap:20px;width:100%;max-width:100%}.home-hero__badge{font-size:.75rem;padding:6px 12px;margin-bottom:8px;color:var(--color-text)!important;visibility:visible!important;opacity:1!important}.home-hero__badge span{color:var(--color-text)!important;visibility:visible!important;opacity:1!important}.home-hero__title{font-size:clamp(2.5rem,12vw,4rem);margin-bottom:20px;word-wrap:break-word;overflow-wrap:break-word;line-height:1.2;letter-spacing:-.02em;padding:0 8px;width:100%;max-width:100%}.home-hero__title .split-parent{width:100%!important;max-width:100%!important;display:block!important;color:var(--color-text)!important;visibility:visible!important;opacity:1!important;overflow:visible!important}.home-hero__title .split-char{color:var(--color-text)!important;visibility:visible!important;opacity:1!important;display:inline-block!important;-webkit-text-fill-color:var(--color-text)!important;background:none!important;background-clip:unset!important;-webkit-background-clip:unset!important;position:relative!important;transform:none!important}.home-hero__description{font-size:clamp(.95rem,3vw,1.1rem);margin:0 auto 28px;padding:0 16px;word-wrap:break-word;overflow-wrap:break-word;line-height:1.65;max-width:100%}.home-hero__cta{flex-direction:column;gap:12px;width:100%;padding:0 12px;max-width:100%;margin-top:8px}.home-hero__button,.home-hero__button--secondary{width:100%;max-width:100%;padding:14px 24px;font-size:.95rem;box-sizing:border-box;font-weight:600;letter-spacing:.01em}.home-stats{padding:40px 20px}.home-stats__grid{grid-template-columns:1fr;gap:24px}.home-stat-card{padding:24px 20px}.home-stat-card__number{font-size:clamp(2rem,8vw,3rem);margin-bottom:16px}.home-stat-card__label{font-size:clamp(1rem,3vw,1.1rem);margin-top:12px;margin-bottom:10px;font-weight:600;line-height:1.3}.home-stat-card__description{font-size:clamp(.875rem,2.5vw,.95rem);margin-top:8px;line-height:1.6;color:var(--color-text-muted)}.home-features{padding:60px 20px}.home-features__grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:32px}.home-feature-card{padding:24px 20px;min-height:100px}.home-feature-card.is-expanded{grid-column:1 / -1;padding:32px 24px;transform:scale(1)}.home-feature-card__title{font-size:clamp(1.1rem,3.5vw,1.3rem)}.home-feature-card.is-expanded .home-feature-card__title{font-size:clamp(1.3rem,4vw,1.6rem);margin-bottom:16px}.home-feature-card__description{font-size:clamp(.9rem,3vw,1rem);line-height:1.65}.home-cta{padding:60px 20px}.home-cta__title{font-size:clamp(1.75rem,6vw,2.5rem);margin-bottom:16px;line-height:1.2}.home-cta__description{font-size:clamp(.95rem,3vw,1.1rem);margin-bottom:28px;line-height:1.6;padding:0 8px}.home-cta__button{width:100%;max-width:100%;padding:14px 32px;font-size:1rem}.page-auth{padding:24px 20px;max-width:100%}.auth-back-button{position:relative;top:0;left:0;margin-bottom:20px;width:100%;justify-content:center}.auth-form{width:100%;max-width:100%}.auth-form label{font-size:.95rem;margin-bottom:8px}.auth-form input{font-size:1rem;padding:14px 16px;width:100%;min-height:48px}.auth-form button{width:100%;padding:14px 24px;font-size:1rem;margin-top:8px}.auth-form__error{font-size:.9rem;padding:12px;margin-top:12px}.auth-form__footer{margin-top:20px;padding-top:20px;flex-direction:column;gap:12px}.auth-form__link-button{font-size:1rem;padding:8px 16px;min-height:44px;width:100%}.auth-loading-container{padding:48px 24px;min-height:250px}.auth-loading__spinner-wrapper{width:80px;height:80px}.auth-loading__spinner{width:60px;height:60px}.auth-loading__spinner-glow{width:80px;height:80px}.auth-loading__message p{font-size:1rem}.pantry-tracker__header{flex-direction:column;align-items:stretch;gap:16px}.pantry-tracker__header button{width:100%;padding:14px 20px}.pantry-tracker__alerts{flex-direction:column;gap:12px}.pantry-alert{padding:16px;flex-direction:row;align-items:flex-start;gap:12px}.pantry-alert__icon{font-size:1.5rem;flex-shrink:0}.pantry-card{padding:20px}.pantry-card__header{flex-direction:column;align-items:flex-start;gap:8px}.pantry-card__footer{flex-direction:column;gap:10px}.pantry-card__action{width:100%;padding:12px 20px}.pantry-tracker__form-overlay{padding:20px 12px;align-items:flex-start;overflow-y:auto}.pantry-tracker__form-card{margin:0;max-height:calc(100vh - 40px);overflow-y:auto}.pantry-tracker__form-card header{position:sticky;top:0;background:var(--color-surface-strong);z-index:10;padding-bottom:16px;margin-bottom:20px}.page-library__header{flex-direction:column;align-items:stretch;gap:16px}.library-search,.library-search__wrapper{width:100%}.library-search__input{font-size:1rem;padding:12px 16px 12px 44px}.library-infinite-menu{padding:0}.library-navigation{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;gap:12px;z-index:100;background:var(--color-surface-strong);padding:8px;border-radius:24px;box-shadow:0 4px 20px #0000004d}.library-nav-button{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;position:absolute;top:50%;transform:translateY(-50%);background:#1c1e3acc!important;border:2px solid rgba(255,255,255,.3)!important;box-shadow:0 4px 16px #0006!important}.library-nav-button--prev{left:12px}.library-nav-button--next{right:12px}.library-nav-button svg{width:32px!important;height:32px!important;stroke-width:3.5!important;color:#fff!important;stroke:#fff!important;fill:none!important;opacity:1!important;visibility:visible!important;display:block!important;position:relative!important;z-index:1!important}.library-nav-button svg path{stroke:#fff!important;stroke-width:3.5!important;fill:none!important}.library-nav-button:hover:not(:disabled){transform:translateY(-50%) translateY(-2px) scale(1.05);background:#232648e6!important;border-color:#7b6ef680!important}.library-nav-button:active:not(:disabled){transform:translateY(-50%) scale(.98)}.page-recipes__header{margin-bottom:24px}.recipes-layout{grid-template-columns:1fr;gap:24px}.recipes-controls{order:2}.recipes-results{order:1}.recipes-detail{order:3;position:relative;top:0;max-height:none}.recipes-detail.is-visible{position:relative}.recipes-control-card{padding:20px;margin-bottom:20px}.recipes-tags{flex-wrap:wrap;gap:8px}.recipes-tag{padding:10px 16px;font-size:.9rem}.recipes-grid{grid-template-columns:1fr;gap:16px}.recipes-pagination{gap:4px;margin-top:20px;padding:12px 0}.recipes-pagination__button{min-height:44px;min-width:70px;padding:10px 12px;font-size:.9rem}.recipes-pagination__number{min-width:44px;min-height:44px;font-size:.95rem}.recipes-pagination__numbers{gap:4px}.recipes-detail__card{padding:20px}.recipes-detail__card img{width:100%;height:auto;max-height:300px;-o-object-fit:cover;object-fit:cover}.ai-scanner__header{flex-direction:column;align-items:stretch;gap:16px}.ai-scanner__header button{width:100%}.ai-scanner__dropzone{min-height:300px;border-radius:16px}.ai-scanner__dropzone-placeholder{padding:40px 20px}.ai-scanner__image-container{max-height:400px;overflow:hidden;border-radius:12px}.ai-scanner__image-container img{width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.ai-scanner__card{padding:20px;gap:20px}.ai-scanner__card header{flex-direction:column;align-items:flex-start;gap:16px}.ai-scanner__card h3{font-size:clamp(1.2rem,5vw,1.4rem);line-height:1.3;word-wrap:break-word;overflow-wrap:break-word}.ai-scanner__confidence{font-size:.75rem;padding:6px 12px;align-self:flex-start}.ai-scanner__feedback{width:100%;flex-direction:column;gap:12px;align-items:flex-start}.ai-scanner__feedback span{font-size:.9rem}.ai-scanner__feedback-buttons{width:100%;justify-content:space-between;gap:12px}.ai-scanner__feedback-buttons button{flex:1;min-width:48px;min-height:48px;padding:12px;font-size:1.3rem;border-radius:50%}.ai-scanner__section{padding:16px 0;gap:12px}.ai-scanner__section h4{font-size:clamp(1rem,4vw,1.05rem);padding-bottom:10px}.ai-scanner__section p{font-size:clamp(.9rem,3vw,.95rem);line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}.ai-scanner__chips{flex-wrap:wrap;gap:8px}.ai-scanner__chips span{padding:8px 14px;font-size:clamp(.8rem,2.5vw,.85rem);word-wrap:break-word;overflow-wrap:break-word}.ai-scanner__instructions{gap:14px}.ai-scanner__instruction-step{flex-direction:row;gap:12px;padding:16px;align-items:flex-start}.ai-scanner__instruction-number{min-width:36px;width:36px;height:36px;font-size:1rem;flex-shrink:0}.ai-scanner__instruction-content p{font-size:clamp(.9rem,3vw,.95rem);line-height:1.7;word-wrap:break-word;overflow-wrap:break-word}.ai-scanner__section-header{gap:10px;margin-bottom:16px}.ai-scanner__section-icon{font-size:1.3rem}.ai-scanner__tips{padding:20px;margin-top:20px}.ai-scanner__tips ul{padding-left:20px}.ai-scanner__tips li{margin-bottom:8px;font-size:.9rem}.food-items-tabs__item-type{font-size:clamp(.75rem,2vw,.8rem)!important;padding:4px 10px!important;display:inline-block;margin-bottom:8px}.ai-scanner__card header>div:first-child{width:100%;display:flex;flex-direction:column;gap:8px}.ai-scanner__card h3{font-size:clamp(1.2rem,5vw,1.4rem)!important;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word;margin-bottom:4px}.ai-scanner__section p{font-size:clamp(.9rem,3vw,.95rem)!important;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}.ai-scanner__instruction-content{flex:1;min-width:0}.ai-scanner__instruction-content p{font-size:clamp(.9rem,3vw,.95rem)!important;word-wrap:break-word;overflow-wrap:break-word}.pantry-card,.library-card,.recipe-card{border-radius:16px}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],textarea,select{font-size:16px!important;padding:14px 16px!important;min-height:48px;border-radius:12px}.button,button{min-height:48px;padding:14px 24px;font-size:1rem;border-radius:12px;-webkit-tap-highlight-color:rgba(0,0,0,.1)}.page h2{font-size:clamp(1.5rem,6vw,2rem);margin-bottom:8px}.page p{font-size:clamp(.9rem,3vw,1rem)}.page-empty{padding:60px 24px;text-align:center}.page-empty h3{font-size:clamp(1.3rem,5vw,1.8rem);margin-bottom:12px}.page-empty p{font-size:clamp(.95rem,3vw,1.1rem)}.app-footer{padding:24px 16px;text-align:center}.app-footer__content{flex-direction:column;gap:12px}.app-footer__copyright,.app-footer__credit{font-size:.85rem}}@media (max-width: 480px){.app-container{padding:82px 8px 20px}.app-container--public{padding:86px 12px 20px}.page{padding:16px 12px}.home-hero{padding:40px 16px 32px;min-height:auto}.home-hero__content{gap:16px}.home-hero__title{font-size:clamp(2rem,14vw,3rem);line-height:1.15;letter-spacing:-.02em;padding:0 4px;width:100%;max-width:100%}.home-hero__title-brand{display:inline}.home-hero__title .split-parent{width:100%!important;max-width:100%!important;display:block!important;color:var(--color-text)!important;visibility:visible!important;opacity:1!important;overflow:visible!important;white-space:normal!important}.home-hero__title .split-char{color:var(--color-text)!important;visibility:visible!important;opacity:1!important;display:inline-block!important;-webkit-text-fill-color:var(--color-text)!important;background:none!important;background-clip:unset!important;-webkit-background-clip:unset!important;position:relative!important;transform:translateZ(0)!important;will-change:auto!important}.home-hero__description{font-size:clamp(.9rem,4vw,1.05rem);line-height:1.65;padding:0 12px;color:var(--color-text-muted)!important;visibility:visible!important;opacity:1!important}.home-hero__badge{font-size:.7rem;padding:5px 10px;color:var(--color-text)!important;visibility:visible!important;opacity:1!important}.home-hero__badge span{color:var(--color-text)!important;visibility:visible!important}.home-stats,.home-features,.home-cta{padding:40px 16px}.home-features__grid{grid-template-columns:repeat(2,1fr);gap:10px}.home-feature-card{padding:18px 14px;min-height:85px}.home-feature-card.is-expanded{grid-column:1 / -1;padding:24px 18px}.home-feature-card__title{font-size:clamp(.95rem,3.5vw,1.15rem)}.home-feature-card.is-expanded .home-feature-card__title{font-size:clamp(1.15rem,4vw,1.4rem);margin-bottom:12px}.home-feature-card__description{font-size:clamp(.8rem,2.5vw,.9rem)}.home-features__grid{grid-template-columns:repeat(2,1fr);gap:12px;max-width:100%}.home-feature-card{padding:20px 16px;min-height:90px}.home-feature-card.is-expanded{grid-column:1 / -1;padding:28px 20px;transform:scale(1)}.home-feature-card__title{font-size:clamp(1rem,3.5vw,1.2rem);line-height:1.2}.home-feature-card.is-expanded .home-feature-card__title{font-size:clamp(1.2rem,4vw,1.5rem);margin-bottom:14px}.home-feature-card__description{font-size:clamp(.85rem,2.5vw,.95rem);line-height:1.6}.home-stat-card{padding:20px 16px}.home-stat-card__label{font-size:clamp(.95rem,4vw,1.05rem);line-height:1.3}.home-stat-card__description{font-size:clamp(.85rem,3vw,.95rem);line-height:1.6}.home-cta__title{font-size:clamp(1.5rem,8vw,2rem);line-height:1.2}.home-cta__description{font-size:clamp(.9rem,4vw,1rem);line-height:1.6}.pantry-card,.library-card,.recipe-card{padding:16px}.recipes-detail__mobile-modal{top:12px;width:calc(100% - 24px);max-height:calc(100vh - 24px);border-radius:20px}.recipes-detail__mobile-header{padding:16px 16px 12px}.recipes-detail__mobile-header h3{font-size:1.15rem}.recipes-detail__mobile-content{padding:16px}.recipes-detail__mobile-content .recipes-detail__card img{max-height:200px}.pantry-tracker__form-card{padding:20px 16px}.food-items-tabs__item-type{font-size:clamp(.65rem,2.5vw,.7rem)!important;padding:3px 8px!important;margin-left:0!important;margin-top:4px}.ai-scanner__dropzone{min-height:260px;padding:20px 12px}.ai-scanner__card{padding:16px;gap:14px}.ai-scanner__card header{gap:12px}.ai-scanner__card header>div:first-child{gap:6px}.ai-scanner__card h3{font-size:clamp(1.1rem,6vw,1.3rem)!important;line-height:1.3}.ai-scanner__confidence{font-size:.7rem;padding:5px 10px}.ai-scanner__feedback{gap:10px}.ai-scanner__feedback span{font-size:.85rem}.ai-scanner__feedback-buttons{gap:10px}.ai-scanner__feedback-buttons button{min-width:44px;min-height:44px;font-size:1.2rem;padding:10px}.ai-scanner__section{padding:12px 0;gap:10px}.ai-scanner__section h4{font-size:clamp(.95rem,4vw,1rem);padding-bottom:8px}.ai-scanner__section p{font-size:clamp(.85rem,3vw,.9rem)!important;line-height:1.6}.ai-scanner__chips span{padding:6px 12px;font-size:clamp(.75rem,2.5vw,.8rem)}.ai-scanner__instructions{gap:12px}.ai-scanner__instruction-step{padding:14px;gap:10px}.ai-scanner__instruction-number{min-width:32px;width:32px;height:32px;font-size:.95rem}.ai-scanner__instruction-content p{font-size:clamp(.85rem,3vw,.9rem)!important;line-height:1.6}.ai-scanner__section-header{gap:8px;margin-bottom:12px}.ai-scanner__section-icon{font-size:1.2rem}.recipes-control-card{padding:16px}.navbar{padding:12px}.navbar__logo{height:32px}.profile-chip{min-width:32px;min-height:32px;padding:4px}.profile-chip__avatar{width:24px;height:24px;font-size:.7rem}.library-nav-button,.pantry-tracker__close,.ai-scanner__replace-btn{min-width:40px;min-height:40px}}@media (max-width: 768px) and (orientation: landscape){.home-hero{min-height:auto;padding:40px 20px}.app-container{padding-top:76px}.navbar{padding:10px 16px}}
