html{-ms-text-size-adjust:100%;height:100svh;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);touch-action:pan-y}#root,body{min-height:100svh;overflow-x:hidden}#root{width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.home-container{align-items:center;background:linear-gradient(135deg,#f9f9fc,#f0f4ff);box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;max-width:100vw;min-height:100dvh;overflow-x:hidden;padding:calc(90px + env(safe-area-inset-top)) 20px calc(100px + env(safe-area-inset-bottom));position:relative;text-align:center;width:100%}.home-container.has-searched{padding-top:calc(110px + env(safe-area-inset-top))}.logo-container{animation:fadeInDown .8s ease-out;margin-bottom:30px;max-width:200px;width:100%}.app-logo{height:auto;max-width:100%;transition:transform .3s ease;width:150px}.app-logo:hover{transform:scale(1.05)}.home-title{-webkit-text-fill-color:#0000;word-wrap:break-word;animation:fadeInUp .8s ease-out .2s both;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;margin-bottom:30px;max-width:100%;overflow-wrap:break-word;width:100%}#google-places-autocomplete,.search-input{-webkit-tap-highlight-color:rgba(176,139,212,.2);-webkit-appearance:none;appearance:none;background:#fff;border:2px solid #e8f0ff;border-radius:12px;box-sizing:border-box;color:#333;flex:1 1;font-size:1.1rem;font-weight:500;max-width:none;min-width:0;outline:none;padding:16px 20px;touch-action:manipulation;transition:all .3s ease;width:100%}#google-places-autocomplete:focus,.search-input:focus{border-color:#b08bd4;box-shadow:0 0 0 3px #b08bd41a;transform:translateY(-1px)}#google-places-autocomplete:hover,.search-input:hover{border-color:#d0d7de}#google-places-autocomplete::placeholder,.search-input::placeholder{color:#999;font-weight:400}.search-form{align-items:center;animation:fadeInUp .8s ease-out .4s both;background:#fff;border-radius:16px;box-shadow:0 8px 32px #b08bd426;box-sizing:border-box;display:flex;gap:8px;justify-content:center;margin-bottom:40px;max-width:min(600px,90vw);padding:8px;position:relative;transition:all .3s ease;width:100%}.search-form>div{display:flex;flex:1 1;width:100%}.search-form>div>div{width:100%}.search-form:hover{box-shadow:0 12px 40px #b08bd440;transform:translateY(-2px)}.search-button{align-items:center;background:linear-gradient(135deg,#b08bd4,#9562d4);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;font-weight:600;height:auto;justify-content:center;margin-left:.5vw;min-width:120px;padding:16px 20px;transition:all .3s ease;width:120px}.search-button:hover{background:linear-gradient(135deg,#9562d4,#8449c7);box-shadow:0 6px 20px #b08bd466;transform:translateY(-2px)}.suggestions-list{animation:slideDown .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;left:8px;list-style:none;margin:8px 0 0;max-height:200px;overflow-y:auto;padding:8px 0;position:absolute;right:8px;top:100%;z-index:1000}.suggestions-list li{cursor:pointer;font-weight:500;padding:12px 20px;transition:background-color .2s ease}.suggestions-list li:hover{background:linear-gradient(135deg,#f0f4ff,#f9f9fc)}.filter-section{animation:fadeInUp .8s ease-out .6s both;box-sizing:border-box;gap:16px;margin-bottom:40px;max-width:100%;width:100%}.filter-button{background:#fff;border:2px solid #b08bd4;border-radius:25px;box-sizing:border-box;color:#b08bd4;cursor:pointer;font-size:1rem;font-weight:600;overflow:hidden;padding:12px 32px;position:relative;transition:all .3s ease;white-space:nowrap}.filter-button:before{background:linear-gradient(135deg,#b08bd4,#9562d4);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease;width:100%;z-index:-1}.filter-button.active:before,.filter-button:hover:before{left:0}.filter-button.active,.filter-button:hover{border-color:#9562d4;box-shadow:0 6px 20px #b08bd44d;color:#fff;transform:translateY(-2px)}.results-section{animation:fadeInUp .8s ease-out .8s both;margin:0 auto calc(60px + env(safe-area-inset-bottom));max-width:min(1200px,100vw);padding:0 clamp(10px,3vw,20px) 20px}.result-item{cursor:pointer}.food-name,.restaurant-name{color:#2c3e50;flex:1 1;font-size:1.6rem;font-weight:700;line-height:1.3;margin:0;transition:color .3s ease}.result-item:hover .food-name,.result-item:hover .restaurant-name{color:#b08bd4}.cuisine-info{align-items:center;background:linear-gradient(135deg,#f0f4ff,#f8f9ff);border-radius:8px;display:flex;gap:8px;padding:8px 12px}.cuisine-label{color:#6c5ce7;font-size:.9rem;font-weight:600;min-width:60px}.cuisine-types{color:#b08bd4;font-size:1rem;font-weight:500}.address-info{align-items:center;background:linear-gradient(135deg,#f0f4ff,#f8f9ff);border-radius:8px;display:flex;gap:8px;padding:8px 12px}.address-label{font-size:1.1rem;min-width:20px}.address-text{color:#5a52d5;font-size:.95rem;font-style:italic;font-weight:500}.restaurant-info{background:linear-gradient(135deg,#f3f0ff,#f8f5ff);border-radius:8px;gap:8px;padding:8px 12px;transition:all .3s ease}.restaurant-info.clickable{cursor:pointer}.restaurant-info.clickable:hover{background:linear-gradient(135deg,#f8f5ff,#f3f0ff);transform:translateX(4px)}.restaurant-label{color:#6c5ce7;font-size:.9rem;font-weight:600;min-width:90px}.restaurant-name-link{color:#b08bd4;font-size:1rem;font-weight:600;text-decoration:underline;text-decoration-color:#0000;transition:text-decoration-color .3s ease}.restaurant-info.clickable:hover .restaurant-name-link{text-decoration-color:#b08bd4}@media (max-width:768px){.home-container{padding-bottom:calc(120px + env(safe-area-inset-bottom));padding-top:calc(85px + env(safe-area-inset-top))}.home-container.has-searched{padding-top:calc(125px + env(safe-area-inset-top))}.logo-container{margin-bottom:40px;margin-top:20px}.home-title{font-size:2rem;line-height:1.2;margin-bottom:20px;padding:0 10px}.filter-section{align-items:center;flex-direction:column;gap:12px;padding:0 15px;width:100%}.filter-button{max-width:300px;padding:12px 20px;width:80%}.results-section{padding:0 5vw;width:100%}.result-item{box-sizing:border-box;margin:0 auto 16px;max-width:100%;padding:20px;width:100%}.result-header{flex-direction:column;gap:12px;text-align:center}.rank-number{font-size:1rem;height:40px;width:40px}.food-name,.restaurant-name{font-size:1.4rem}.overall-score{font-size:1.1rem;height:50px;width:50px}.scores-section{flex-direction:column;gap:8px}.score-item{flex-direction:row;justify-content:space-between;padding:10px 14px}.make-review-btn,.reset-button{display:block;font-size:.95rem;margin:6px auto;max-width:80vw;min-width:160px;padding:12px 24px}.search-form{margin-bottom:50px}.home-container.has-searched .search-form{margin-bottom:40px}.home-container.has-searched .filter-section{margin-top:20px}}@media (max-width:480px){.home-container{padding-bottom:calc(140px + env(safe-area-inset-bottom));padding-top:calc(90px + env(safe-area-inset-top))}.home-container.has-searched{padding-top:calc(130px + env(safe-area-inset-top))}.logo-container{margin-bottom:50px;margin-top:30px}.home-title{font-size:1.7rem;margin-bottom:15px;padding:0 5px}.filter-section{padding:0 10px;width:100%}.filter-button{font-size:.9rem;max-width:280px;padding:10px 16px;width:90%}.results-section{padding:0 3vw;width:100%}.result-item{margin-bottom:12px;padding:16px}.food-name,.restaurant-name{word-wrap:break-word;font-size:1.2rem;max-width:100%;overflow-wrap:break-word}.address-info,.cuisine-info,.restaurant-info{align-items:flex-start;flex-direction:column;gap:4px}.cuisine-label,.restaurant-label{min-width:auto}.make-review-btn,.reset-button{font-size:.9rem;margin:4px auto;max-width:85vw;min-width:140px;padding:10px 20px}.address-text,.cuisine-types,.restaurant-name-link{word-wrap:break-word;max-width:100%;overflow-wrap:break-word}.search-form{margin-bottom:60px}}.no-results-container{align-items:center;animation:fadeInUp .6s ease-out;background:#fff;border-radius:20px;box-shadow:0 10px 40px #b08bd426;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;margin:20px auto calc(60px + env(safe-area-inset-bottom));max-width:calc(100vw - 40px);padding:60px 40px 20px;text-align:center;width:100%}.no-results-message{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;color:#333;font-size:1.4rem;font-weight:600;margin:0 0 16px}.no-results-suggestion{color:#666;font-size:1.1rem;font-weight:500;margin:0 0 30px}.make-review-btn-inline{background:linear-gradient(135deg,#b08bd4,#9562d4);border:none;border-radius:25px;box-shadow:0 4px 15px #b08bd44d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;overflow:hidden;padding:16px 32px;position:relative;transition:all .3s ease}.make-review-btn-inline:before{background:linear-gradient(135deg,#9562d4,#8449c7);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease;width:100%;z-index:-1}.make-review-btn-inline:hover:before{left:0}.make-review-btn-inline:hover{box-shadow:0 8px 25px #b08bd480;transform:translateY(-3px)}.make-review-btn,.reset-button{border:none;border-radius:12px;box-sizing:border-box;cursor:pointer;font-size:1rem;font-weight:600;margin:8px;max-width:calc(100vw - 40px);min-width:180px;overflow:hidden;padding:14px 28px;position:relative;text-align:center;transition:all .3s ease;white-space:nowrap}.reset-button{animation:fadeInUp .8s ease-out 1s both;background:linear-gradient(135deg,#b08bd4,#9562d4);box-shadow:0 4px 15px #b08bd44d;color:#fff}.reset-button:before{background:linear-gradient(135deg,#9562d4,#8449c7);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease;width:100%;z-index:-1}.reset-button:hover:before{left:0}.reset-button:hover{box-shadow:0 6px 20px #b08bd466;transform:translateY(-2px)}.make-review-btn{animation:fadeInUp .8s ease-out 1.2s both;background:linear-gradient(135deg,#b08bd4,#9562d4);box-shadow:0 4px 15px #b08bd44d;color:#fff}.make-review-btn:before{background:linear-gradient(135deg,#9562d4,#8449c7);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease;width:100%;z-index:-1}.make-review-btn:hover:before{left:0}.make-review-btn:hover{box-shadow:0 6px 20px #b08bd466;transform:translateY(-2px)}.review-form-container{animation:slideInUp .6s ease-out;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;box-sizing:border-box;margin-top:30px;max-width:500px;padding:24px;width:100%}.review-form input,.review-form textarea{border:2px solid #eee;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:1rem;margin-bottom:16px;padding:12px 16px;transition:border-color .3s ease;width:calc(100% - 32px)}.review-form input:focus,.review-form textarea:focus{border-color:#b08bd4;outline:none}.review-form button{background:linear-gradient(135deg,#b08bd4,#9562d4);border:none;border-radius:8px;box-sizing:border-box;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px;transition:all .3s ease;width:100%}.review-form button:hover{background:linear-gradient(135deg,#9562d4,#8449c7);box-shadow:0 6px 20px #b08bd466;transform:translateY(-2px)}@media (max-width:768px){.search-form{align-items:center;flex-direction:column;gap:12px;padding:16px;width:100%}#google-places-autocomplete,.search-input{border-radius:12px;box-sizing:border-box;flex:none!important;max-width:500px;min-width:0;width:100%!important}.search-button{box-sizing:border-box;min-width:120px}.search-button,.search-form>div{max-width:500px;width:100%}}@media (max-width:480px){.search-form{gap:10px;margin:0 auto;max-width:min(400px,95vw);padding:12px;width:100%}#google-places-autocomplete,.search-input{font-size:.95rem;padding:12px 16px;width:100%}.search-button{font-size:.9rem;padding:12px 16px}.suggestions-list{left:12px;right:12px;width:calc(100% - 24px)}.no-results-container{margin:15px auto;max-width:calc(100vw - 30px);padding:40px 20px}.no-results-message{word-wrap:break-word;font-size:1.2rem}.no-results-suggestion{word-wrap:break-word;font-size:1rem}}@media (max-width:375px) and (max-height:667px){.logo-container{margin-bottom:15px}}@media screen and (min-width:1024px){.home-container{padding-top:calc(100px + env(safe-area-inset-top))}.home-container.has-searched{padding-top:calc(120px + env(safe-area-inset-top))}.logo-container{margin-bottom:40px;margin-top:20px}}@media screen and (min-width:1366px){.home-container{padding-top:calc(110px + env(safe-area-inset-top))}.home-container.has-searched{padding-top:calc(130px + env(safe-area-inset-top))}.logo-container{margin-bottom:50px;margin-top:30px}}.restaurant-page-container{align-items:center;animation:fadeInUp .8s ease-out;background:linear-gradient(135deg,#f9f9fc,#f0f4ff);box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;min-height:100vh;overflow-x:hidden;padding:100px 20px 20px;position:relative;width:100%}.restaurant-header{animation:fadeInDown .8s ease-out;margin-bottom:40px;max-width:1000px;text-align:center;width:100%}.restaurant-page-title{-webkit-text-fill-color:#0000;word-wrap:break-word;animation:fadeInUp .8s ease-out .2s both;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;margin-bottom:20px;overflow-wrap:break-word}.restaurant-info{align-items:center;display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.restaurant-type{background:linear-gradient(135deg,#b08bd4,#9562d4);border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase}.cuisine-tags{gap:8px;justify-content:center}.cuisine-tag{background:#f0f4ff;border:1px solid #e0e7ff;border-radius:16px;font-size:.8rem;padding:6px 12px}.restaurant-address{color:#666;font-size:1.1rem;font-weight:500;margin:0}.food-items-section{animation:fadeInUp .8s ease-out .4s both;box-sizing:border-box;max-width:1200px;overflow-x:hidden;width:100%}.section-title{font-size:1.8rem;margin-bottom:40px}.results-section{overflow-x:hidden;padding:0 20px}.result-item,.results-section{box-sizing:border-box;width:100%}.result-item{animation:slideInUp .7s ease-out both;background:#fff;border:1px solid #b08bd414;border-radius:16px;box-shadow:0 4px 20px #b08bd41f;margin-bottom:20px;max-width:100%;overflow:hidden;padding:20px;position:relative;transition:all .3s cubic-bezier(.25,.8,.25,1)}.result-item:hover{border-color:#b08bd426;box-shadow:0 12px 40px #b08bd433;transform:translateY(-8px)}.result-header{border-bottom:2px solid #f8f9fa;gap:16px;margin-bottom:16px;padding-bottom:12px}.rank-number,.result-header{align-items:center;display:flex}.rank-number{background:linear-gradient(135deg,#b08bd4,#9562d4);border-radius:50%;box-shadow:0 4px 15px #b08bd44d;color:#fff;flex-shrink:0;font-size:1.1rem;font-weight:800;height:48px;justify-content:center;width:48px}.food-name{word-wrap:break-word;color:#2c3e50;flex:1 1;font-size:1.6rem;font-weight:700;line-height:1.3;margin:0;overflow-wrap:break-word;transition:color .3s ease}.result-item:hover .food-name{color:#b08bd4}.overall-score{align-items:center;background:linear-gradient(135deg,#27ae60,#2ecc71);border-radius:50%;box-shadow:0 4px 15px #27ae604d;color:#fff;display:flex;flex-shrink:0;font-size:1.3rem;font-weight:900;height:60px;justify-content:center;position:relative;width:60px}.overall-score:after{bottom:-20px;color:#7f8c8d;content:"/100";font-size:.7rem;font-weight:500;position:absolute}.result-content{display:flex;flex-direction:column;gap:10px}.food-info{align-items:center;background:linear-gradient(135deg,#f0f4ff,#f8f9ff);border-radius:8px;display:flex;gap:8px;padding:8px 12px}.food-label{color:#6c5ce7;font-size:.9rem;font-weight:600;min-width:90px}.food-details{color:#b08bd4;font-size:1rem;font-weight:500}.food-details.price{color:#27ae60;font-size:1.1rem;font-weight:700}.scores-section{display:flex;gap:10px;margin-top:6px}.score-item{align-items:center;background:linear-gradient(135deg,#f8f9fa,#fff);border:2px solid #e9ecef;border-radius:8px;display:flex;flex:1 1;flex-direction:column;padding:8px 12px;transition:all .3s ease}.score-item:hover{background:linear-gradient(135deg,#fff,#f8f9fa);border-color:#b08bd4;transform:translateY(-2px)}.score-label{color:#6c757d;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:2px;text-transform:uppercase}.score-value{color:#2c3e50;font-size:1.2rem;font-weight:800}.loading-container{align-items:center;animation:fadeInUp .8s ease-out;display:flex;flex-direction:column;justify-content:center;min-height:200px}.loading-spinner{height:40px;margin-bottom:15px;width:40px}.no-items{color:#666;font-size:1.1rem;padding:40px 20px;text-align:center}.back-button{animation:fadeInUp .8s ease-out .6s both;background:linear-gradient(135deg,#b08bd4,#9562d4);border:none;border-radius:12px;box-shadow:0 4px 15px #b08bd44d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:30px;overflow:hidden;padding:14px 28px;position:relative;transition:all .3s ease}.back-button:before{background:linear-gradient(135deg,#9562d4,#8449c7);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease;width:100%;z-index:-1}.back-button:hover:before{left:0}.back-button:hover{box-shadow:0 6px 20px #b08bd466;transform:translateY(-2px)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.restaurant-page-container{padding:80px 5vw 20px}.restaurant-page-title{font-size:2rem;padding:0 10px}.restaurant-info{align-items:center}.cuisine-tags{justify-content:center}.results-section{padding:0 5vw}.result-item{margin-bottom:16px;padding:20px}.result-header{flex-direction:column;gap:12px;text-align:center}.rank-number{font-size:1rem;height:40px;width:40px}.food-name{font-size:1.4rem}.overall-score{font-size:1.1rem;height:50px;width:50px}.scores-section{flex-direction:column;gap:8px}.score-item{flex-direction:row;justify-content:space-between;padding:10px 14px}}@media (max-width:480px){.restaurant-page-container{padding:70px 3vw 20px}.restaurant-page-title{font-size:1.7rem;padding:0 5px}.results-section{padding:0 3vw}.result-item{margin-bottom:12px;padding:16px}.food-name{font-size:1.2rem}.food-info{align-items:flex-start;flex-direction:column;gap:4px}.food-label{min-width:auto}.food-details,.food-name{word-wrap:break-word;max-width:100%;overflow-wrap:break-word}}.notification{animation:slideInRight .4s ease-out;max-width:500px;min-width:300px;position:fixed;right:20px;top:20px;z-index:1100}.notification-content{align-items:center;background:#fff;border-left:4px solid;border-radius:12px;box-shadow:0 8px 32px #00000026;display:flex;gap:12px;padding:16px 20px}.notification-success .notification-content{background:linear-gradient(135deg,#f8fff9,#f0fff1);border-left-color:#28a745}.notification-error .notification-content{background:linear-gradient(135deg,#fff8f8,#fff0f0);border-left-color:#dc3545}.notification-info .notification-content{background:linear-gradient(135deg,#fafbff,#f9f9fc);border-left-color:#b08bd4}.notification-icon{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:700;height:24px;justify-content:center;width:24px}.notification-success .notification-icon{background:#28a745}.notification-error .notification-icon{background:#dc3545}.notification-info .notification-icon{background:#b08bd4}.notification-message{color:#333;flex:1 1;font-size:.9rem;font-weight:500;line-height:1.4}.notification-close{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:20px;justify-content:center;padding:0;transition:all .3s ease;width:20px}.notification-close:hover{background:#0000001a;color:#666}@media (max-width:768px){.notification{left:10px;min-width:auto;right:10px;top:10px}.notification-content{padding:14px 16px}.notification-message{font-size:.85rem}}.login-page{align-items:center;animation:fadeInUp .8s ease-out;background:linear-gradient(135deg,#f9f9fc,#f0f4ff);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px;text-align:center}.login-page h2{-webkit-text-fill-color:#0000;animation:fadeInUp .8s ease-out .2s both;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;margin-bottom:30px}.login-form{animation:slideInUp .8s ease-out .4s both;border-radius:20px;box-shadow:0 10px 40px #b08bd426;max-width:500px;padding:40px}.login-form,.login-input{background:#fff;width:100%}.login-input{border:2px solid #eee;border-radius:12px;box-sizing:border-box;color:#333;font-family:inherit;font-size:1rem;margin-bottom:20px;padding:16px 20px;transition:all .3s ease}.login-input:focus{border-color:#b08bd4;box-shadow:0 0 0 3px #b08bd41a;outline:none;transform:translateY(-2px)}.login-btn{background:linear-gradient(135deg,#b08bd4,#9562d4);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:10px;padding:16px 20px;transition:all .3s ease;width:100%}.login-btn:hover{background:linear-gradient(135deg,#9562d4,#8449c7);box-shadow:0 6px 20px #b08bd466;transform:translateY(-2px)}.login-page a{color:#b08bd4;font-weight:500;text-decoration:none;transition:color .3s ease}.login-page a:hover{color:#9562d4}.login-page p{animation:fadeInUp .8s ease-out .6s both;color:#666;margin-top:20px}.password-input-container{position:relative;width:100%}.password-toggle{align-items:center;border-radius:4px;display:flex;height:36px;justify-content:center;padding:5px;right:8px;transition:all .3s ease;width:36px}.password-toggle:hover{background:#b08bd41a;transform:translateY(-50%) scale(1.1)}.password-toggle:focus{background:#b08bd426;box-shadow:0 0 0 2px #b08bd44d;color:#9562d4;outline:none}.checkbox-group{align-items:center;display:flex;gap:12px;margin-bottom:20px;position:relative}.login-checkbox{cursor:pointer;height:20px;opacity:0;position:absolute;width:20px}.checkbox-group:before{background:#fff;border:2px solid #ddd;border-radius:4px;content:"";cursor:pointer;display:inline-block;flex-shrink:0;height:20px;position:relative;transition:all .3s ease;width:20px}.checkbox-group:hover:before{border-color:#b08bd4;box-shadow:0 0 0 2px #b08bd41a;transform:scale(1.05)}.checkbox-group:has(.login-checkbox:checked):before,.login-checkbox:checked+.checkbox-label:before{background:linear-gradient(135deg,#b08bd4,#9562d4);border-color:#b08bd4;box-shadow:0 2px 8px #b08bd44d}.checkbox-group:has(.login-checkbox:checked):after,.login-checkbox:checked+.checkbox-label:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:6px;pointer-events:none;position:absolute;top:1px}.checkbox-group:has(.login-checkbox:focus):before,.login-checkbox:focus+.checkbox-label:before{outline:2px solid #b08bd4;outline-offset:2px}.checkbox-label{color:#333;cursor:pointer;font-size:.95rem;font-weight:500;margin-left:8px;position:relative;transition:color .3s ease;-webkit-user-select:none;user-select:none}.checkbox-label:hover{color:#b08bd4}@supports not selector(:has(*)){.checkbox-group{position:relative}.checkbox-group .login-checkbox{cursor:pointer;opacity:0;position:absolute;z-index:1}.checkbox-group .checkbox-custom{background:#fff;border:2px solid #ddd;border-radius:4px;cursor:pointer;display:inline-block;flex-shrink:0;height:20px;margin-right:8px;position:relative;transition:all .3s ease;width:20px}.checkbox-group:hover .checkbox-custom{border-color:#b08bd4;box-shadow:0 0 0 2px #b08bd41a;transform:scale(1.05)}.checkbox-group .login-checkbox:checked+.checkbox-custom{background:linear-gradient(135deg,#b08bd4,#9562d4);border-color:#b08bd4;box-shadow:0 2px 8px #b08bd44d}.checkbox-group .login-checkbox:checked+.checkbox-custom:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:3px;position:absolute;top:-1px}.checkbox-group .login-checkbox:focus+.checkbox-custom{outline:2px solid #b08bd4;outline-offset:2px}}@media (max-width:768px){.login-page{padding:40px}.login-form{margin:0;padding:30px}.login-page h2{font-size:2rem}.password-toggle{font-size:1.1rem;height:28px;width:28px}.password-input{padding-right:45px}}@media (max-width:480px){.login-page{padding:35px}.login-form{margin:0;padding:30px 25px}.login-page h2{font-size:1.8rem;margin-bottom:25px}.login-btn,.login-input{font-size:.95rem;padding:14px 18px}.password-toggle{height:40px;right:6px;width:40px}.password-input{padding-right:46px}}.login-input.error{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.login-input.error:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc354533}.login-btn.loading{cursor:not-allowed;opacity:.7;transform:none}.login-btn.loading:hover{box-shadow:0 4px 15px #b08bd44d;transform:none}.login-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.login-btn:disabled:hover{box-shadow:0 4px 15px #b08bd44d;transform:none}.success-text{animation:fadeInUp .3s ease-out;background:linear-gradient(135deg,#f8fff9,#f0fff1);border:1px solid #28a745;border-radius:8px;color:#28a745;display:block;font-size:.9rem;font-weight:500;margin-bottom:15px}.error-text,.success-text{padding:12px;text-align:center}.error-text{background:linear-gradient(135deg,#fff8f8,#fff0f0);border:1px solid #dc3545;border-radius:8px}.login-input:disabled{background:#f8f9fa;cursor:not-allowed;opacity:.6}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.login-checkbox:disabled{cursor:not-allowed;opacity:.6}.checkbox-group .login-checkbox:disabled+.checkbox-custom,.checkbox-group:has(.login-checkbox:disabled):before{background:#f8f9fa;border-color:#e9ecef;cursor:not-allowed;opacity:.6}.checkbox-group:has(.login-checkbox:disabled):hover:before,.checkbox-group:hover .login-checkbox:disabled+.checkbox-custom{border-color:#e9ecef;box-shadow:none;transform:none}.checkbox-group .login-checkbox:disabled~.checkbox-label,.checkbox-group:has(.login-checkbox:disabled) .checkbox-label{cursor:not-allowed;opacity:.6}@media (max-width:480px){.checkbox-group{gap:10px}.checkbox-group .checkbox-custom,.checkbox-group:before{height:18px;width:18px}.checkbox-group:has(.login-checkbox:checked):after{font-size:11px;left:5px}.checkbox-group .login-checkbox:checked+.checkbox-custom:after{font-size:11px;left:2px}.checkbox-label{font-size:.9rem;margin-left:6px}}.forgot-password-form{animation:slideInUp .8s ease-out .4s both;background:#fff;border-radius:20px;box-shadow:0 10px 40px #b08bd426;max-width:500px;padding:40px;width:100%}.login-link{color:#b08bd4!important;font-weight:500;text-decoration:none;transition:color .3s ease}.login-link:hover{color:#9562d4!important}.register-page{align-items:center;animation:fadeInUp .8s ease-out;background:linear-gradient(135deg,#f9f9fc,#f0f4ff);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px;text-align:center}.register-page h2{-webkit-text-fill-color:#0000;animation:fadeInUp .8s ease-out .2s both;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;margin-bottom:30px}.password-container{position:relative;width:100%}.password-toggle{background:none;border:none;color:#b08bd4;cursor:pointer;font-size:1.2rem;position:absolute;right:20px;top:50%;transform:translateY(-50%);transition:color .3s ease;z-index:10}.password-toggle:hover{color:#9562d4}.password-toggle i{pointer-events:none}.password-input{padding-right:50px}.register-form{animation:slideInUp .8s ease-out .4s both;background:#fff;border-radius:20px;box-shadow:0 10px 40px #b08bd426;max-width:500px;padding:40px;width:100%}.register-input{background:#fff;border:2px solid #eee;border-radius:12px;box-sizing:border-box;color:#333;font-family:inherit;font-size:1rem;padding:16px 20px;transition:all .3s ease}.input-group,.register-input{margin-bottom:20px;width:100%}.input-label{color:#555;display:block;font-size:.95rem;font-weight:600;margin-bottom:8px;text-align:left;transition:color .3s ease}.input-group .register-input{margin-bottom:0}.register-input:focus{border-color:#b08bd4;box-shadow:0 0 0 3px #b08bd41a;outline:none;transform:translateY(-2px)}.register-btn{background:linear-gradient(135deg,#b08bd4,#9562d4);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:10px;padding:16px 20px;transition:all .3s ease;width:100%}.register-btn:hover{background:linear-gradient(135deg,#9562d4,#8449c7);box-shadow:0 6px 20px #b08bd466;transform:translateY(-2px)}.submit-btn{background:linear-gradient(135deg,#4caf50,#45a049)}.submit-btn:hover{background:linear-gradient(135deg,#45a049,#3d8b40);box-shadow:0 6px 20px #4caf5066;transform:translateY(-2px)}.error-text{animation:fadeInUp .3s ease-out;color:#dc3545;display:block;font-size:.9rem;font-weight:500;margin-bottom:15px;margin-top:-10px;text-align:left}.register-page a{color:#b08bd4;font-weight:500;text-decoration:none;transition:color .3s ease}.register-page a:hover{color:#9562d4}.register-page p{animation:fadeInUp .8s ease-out .6s both;color:#666;margin-top:20px}@media (max-width:768px){.register-page{padding:40px}.register-form{margin:0;padding:30px}.register-page h2{font-size:2rem}.forgot-password-form{margin:0 40px;padding:30px}}@media (max-width:480px){.register-page{padding:35px}.register-form{margin:0;padding:25px}.forgot-password-form{margin:0 35px;padding:25px}}.register-form .search-input{background:#fff;border:2px solid #e8f0ff;border-radius:12px;box-sizing:border-box;color:#333;font-family:inherit;font-size:1rem;margin-bottom:20px;padding:16px 20px;transition:all .3s ease;width:100%}.register-form .search-input:focus{border-color:#b08bd4;box-shadow:0 0 0 3px #b08bd41a;outline:none;transform:translateY(-1px)}.register-form .search-input:hover{border-color:#d0d7de}.register-form .search-input::placeholder{color:#999;font-weight:400}.profile-container{align-items:center;background:linear-gradient(135deg,#f9f9fc,#f0f4ff);display:flex;flex-direction:column;min-height:100vh;padding:120px 20px 20px;position:relative}.logout-button{background:linear-gradient(135deg,#ff4757,#ff3838);border:none;border-radius:25px;box-shadow:0 4px 15px #ff47574d;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;position:absolute;right:20px;top:90px;transition:all .3s ease;z-index:100}.logout-button:hover{box-shadow:0 6px 20px #ff475766;transform:translateY(-2px)}.user-info{background:#fff;border:1px solid #f0f0f0;border-radius:20px;box-shadow:0 10px 40px #b08bd426;margin-bottom:40px;max-width:500px;padding:40px 30px;transition:all .3s ease;width:100%}.user-info:hover{box-shadow:0 15px 50px #b08bd433;transform:translateY(-5px)}.user-info img.profile-picture{border:4px solid #f8f9fa;border-radius:50%;box-shadow:0 4px 15px #0000001a;height:120px;margin-bottom:20px;object-fit:cover;width:120px}.user-info h2{color:#333;font-size:1.8rem;font-weight:700;letter-spacing:-.5px;margin-bottom:8px}.user-info p{color:#666;font-size:1rem;line-height:1.5;margin-bottom:8px}.followers-section,.following-section,.user-reviews{display:none}.user-reviews-section{margin-top:20px;max-width:1000px;width:100%}.user-reviews-section h3{color:#333;font-size:1.8rem;font-weight:700;letter-spacing:-.5px;margin-bottom:30px;text-align:center}.reviews-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:20px;width:100%}.review-card{background:#fff;border:1px solid #f0f0f0;border-radius:15px;box-shadow:0 6px 25px #00000014;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.review-card:before{background:linear-gradient(135deg,#b08bd4,#9562d4);content:"";height:3px;left:0;position:absolute;top:0;width:100%}.review-card.clickable{cursor:pointer}.review-card:hover{border-color:#e8e0ff;box-shadow:0 12px 35px #b08bd426;transform:translateY(-5px)}.review-card.clickable:hover{box-shadow:0 15px 40px #b08bd433;transform:translateY(-8px)}.review-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.review-header h4{color:#333;flex:1 1;font-size:1.2rem;font-weight:700;letter-spacing:-.3px;line-height:1.3;margin:0}.review-score{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#32cd32,#228b22);-webkit-background-clip:text;background-clip:text;font-size:1.4rem;font-weight:700;margin-left:15px;min-width:40px;text-align:right}.restaurant-info{margin-bottom:16px}.restaurant-info p{color:#555;font-size:.95rem;line-height:1.4;margin:6px 0}.restaurant-info .cuisine{background:#f8f9fa;border-radius:6px;color:#777;display:inline-block;font-size:.9rem;font-style:italic;margin-top:4px;padding:4px 8px}.review-comment{background:linear-gradient(135deg,#f8f9ff,#f0f4ff);border-left:4px solid #b08bd4;border-radius:10px;color:#666;font-size:.95rem;font-style:italic;line-height:1.5;margin:16px 0;padding:16px}.review-details{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.review-details .category{background:linear-gradient(135deg,#e8e0ff,#f0e8ff);border:1px solid #d8c7ff;border-radius:20px;color:#6b46c1;font-size:.8rem;font-weight:500;padding:6px 12px}.review-details .price{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #a3d9a5;border-radius:20px;color:#155724;font-size:.8rem;font-weight:600;padding:6px 12px}.review-date{border-top:1px solid #f5f5f5;color:#999;font-size:.85rem;margin-top:16px;padding-top:12px;text-align:right}@media (max-width:768px){.profile-container{padding:130px 20px 20px}.logout-button{font-size:.8rem;padding:6px 12px;right:20px;top:85px}.user-info{margin-bottom:30px;padding:30px 20px}.user-info img.profile-picture{height:100px;width:100px}.user-info h2{font-size:1.5rem}.user-reviews-section h3{font-size:1.5rem;margin-bottom:25px}.reviews-grid{gap:15px;grid-template-columns:1fr}.review-card{padding:20px}.review-header h4{font-size:1.1rem}.review-score{font-size:1.2rem;margin-left:10px}.review-comment{font-size:.9rem;padding:12px}.review-details{gap:8px}.review-details .category,.review-details .price{font-size:.75rem;padding:4px 8px}}@media (max-width:480px){.profile-container{padding:140px 25px 25px}.logout-button{right:25px;top:85px}.user-info{padding:25px 15px}.user-info img.profile-picture{height:80px;width:80px}.user-info h2{font-size:1.3rem}.user-info p{font-size:.9rem}.reviews-grid{gap:12px}.review-card{padding:16px}.review-header{flex-direction:column;gap:8px}.review-score{align-self:flex-end;margin-left:0}}.feed-container{margin:0 auto;max-width:800px;padding:20px}.sort-options{display:flex;justify-content:flex-end;margin-bottom:20px}.sort-options select{font-size:14px;padding:5px}.followed-reviews,.local-reviews{margin-top:20px}.followed-reviews h3,.local-reviews h3{margin-bottom:15px}.review-item{border-bottom:1px solid #ddd;padding:15px 0}.review-item h4{margin-bottom:10px}.review-item p{margin:5px 0}.review-item small{color:#666}.review-item button{cursor:pointer;font-size:14px;margin-right:10px;padding:5px 10px}.leaderboards-page{animation:fadeInUp .8s ease-out;background:linear-gradient(135deg,#f9f9fc,#f0f4ff);min-height:105vh;padding:20px 20px 100px}.leaderboards-header{animation:slideInDown .8s ease-out;margin-bottom:40px;margin-top:10vh;text-align:center}@keyframes slideInDown{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.page-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:700;margin-bottom:10px;text-shadow:0 2px 4px #0000001a}.page-subtitle{color:#666;font-size:1.2rem;margin-bottom:0}.search-section{animation:slideInUp .8s ease-out .2s both;margin:0 auto 40px;max-width:800px}.city-search-container{background:#fff;border-radius:20px;box-shadow:0 10px 40px #b08bd426;margin-bottom:20px;padding:30px;position:relative}.search-label{color:#333;display:block;font-size:1.1rem;font-weight:600;margin-bottom:15px;text-align:center}.reset-city-button{align-items:center;background:linear-gradient(135deg,#b08bd4,#9562d4);border:none;border-radius:25px;box-shadow:0 4px 15px #b08bd44d;color:#fff;cursor:pointer;display:flex;font-size:.75rem;font-weight:600;gap:8px;margin:18px auto 6px;overflow:hidden;padding:5px 10px;position:static;position:relative;transition:all .3s ease}.reset-city-button:before{background:linear-gradient(135deg,#9562d4,#8449c7);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease;width:100%;z-index:-1}.reset-city-button:hover:before{left:0}.reset-city-button:hover{box-shadow:0 6px 20px #b08bd466;transform:translateY(-2px)}.current-city{animation:bounceIn .6s ease-out;text-align:center}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.city-badge{background:linear-gradient(135deg,#90ee90,#32cd32);border-radius:25px;box-shadow:0 4px 15px #32cd324d;color:#fff;display:inline-block;font-size:1rem;font-weight:600;padding:12px 24px}.city-search-container .search-input{background:#fff;border:2px solid #e8f0ff;border-radius:12px;box-sizing:border-box;color:#333;font-size:1.1rem;font-weight:500;margin-bottom:0;outline:none;padding:16px 20px;transition:all .3s ease;width:100%}.city-search-container .search-input:focus{border-color:#b08bd4;box-shadow:0 0 0 3px #b08bd41a;transform:translateY(-1px)}.city-search-container .search-input:hover{border-color:#d0d7de}.city-search-container .search-input::placeholder{color:#999;font-weight:400}.filter-search-input{background:#fff;border:2px solid #e8f0ff;border-radius:10px;box-sizing:border-box;color:#333;font-size:1rem;padding:12px 40px 12px 15px;transition:all .3s ease;width:100%}.filter-search-input:focus{border-color:#b08bd4;box-shadow:0 0 0 3px #b08bd41a;outline:none;transform:translateY(-1px)}.filter-search-input:hover{border-color:#d0d7de}.category-section{animation:slideInUp .8s ease-out .4s both;margin:0 auto 40px;max-width:800px}.section-title{font-weight:600;margin-bottom:25px;text-align:center}.category-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 auto;max-width:500px}.category-tab{align-items:center;background:#fff;border:2px solid #eee;border-radius:15px;box-shadow:0 4px 15px #0000001a;cursor:pointer;display:flex;flex:1 1;flex-direction:column;max-width:120px;min-width:0;padding:12px 15px;transition:all .3s ease}.category-tab:hover{border-color:#b08bd4;box-shadow:0 8px 25px #b08bd433;transform:translateY(-5px)}.category-tab.active{background:linear-gradient(135deg,#b08bd4,#9562d4);border-color:#b08bd4;box-shadow:0 8px 25px #b08bd466;color:#fff;transform:translateY(-3px)}.category-icon{font-size:2rem;margin-bottom:8px}.category-label{font-size:.95rem;font-weight:600}.filter-section{animation:slideInUp .8s ease-out .6s both;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin:0 auto 40px;max-width:1000px}.filter-group{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;flex:none;min-width:200px;padding:20px;width:280px}.filter-label{color:#333;display:block;font-size:.95rem;font-weight:600;margin-bottom:10px}.filter-select{border:2px solid #eee;border-radius:10px;box-sizing:border-box;cursor:pointer;font-size:1rem;padding:12px 15px;transition:all .3s ease;width:100%}.filter-select:focus{border-color:#b08bd4;box-shadow:0 0 0 3px #b08bd41a;outline:none}.search-icon{color:#999;font-size:1rem;position:absolute;right:15px;top:50%;transform:translateY(-50%)}.results-section{animation:slideInUp .8s ease-out .8s both;margin:0 auto;max-width:1200px}.results-title{color:#333;font-size:2rem;font-weight:600;margin-bottom:30px;text-align:center}.loading-container{padding:60px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-top-color:#b08bd4;height:50px;margin:0 auto 20px;width:50px}.category-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:20px}.mini-spinner{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#b08bd4;height:24px;margin-bottom:8px;width:24px}.global-leaderboards{animation:slideInUp .8s ease-out}.global-intro{background:#fff;border-radius:20px;box-shadow:0 6px 20px #0000001a;margin-bottom:40px;padding:40px 25px;text-align:center}.prompt-icon{font-size:3rem;margin-bottom:20px}.global-intro h3{color:#333;font-size:1.6rem;font-weight:600;margin-bottom:12px}.global-intro p{color:#666;font-size:1rem;line-height:1.5;margin:0 auto;max-width:600px}.global-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:30px}.global-category-card{animation:cardSlideIn .6s ease-out;background:#fff;border:1px solid #f0f0f0;border-radius:20px;box-shadow:0 6px 20px #0000001a;padding:20px;transition:all .3s ease}.global-category-card:hover{border-color:#e0e0e0;box-shadow:0 12px 30px #b08bd433;transform:translateY(-5px)}.global-category-title{border-bottom:2px solid #f5f5f5;color:#333;font-size:1.2rem;font-weight:700;letter-spacing:-.3px;margin-bottom:18px;padding-bottom:15px;text-align:center}.global-items-list{display:flex;flex-direction:column;gap:10px}.global-item{align-items:flex-start;background:#fafbfc;border:1px solid #f0f0f0;border-radius:10px;display:flex;gap:10px;padding:12px;transition:all .3s ease}.global-item:hover{background:#f0f4ff;border-color:#e0e6ff;box-shadow:0 2px 8px #b08bd41a;transform:translateX(3px)}.global-rank{background:#fff;border-radius:6px;box-shadow:0 2px 6px #0000001a;color:#b08bd4;flex-shrink:0;font-size:1rem;font-weight:700;min-width:26px;padding:4px 6px;text-align:center}.global-item-info{display:flex;flex-direction:column;gap:4px;min-width:0;width:100%}.global-item-header{align-items:center;display:flex;gap:10px;justify-content:space-between;width:100%}.global-item-header.cities-layout{align-items:flex-start;flex-direction:column;gap:4px}.global-item-name{word-wrap:break-word;color:#333;flex:1 1;font-size:.9rem;font-weight:700;line-height:1.2;margin-bottom:0;min-width:0}.cities-layout .global-item-name{flex:none;width:100%}.global-item-details{display:flex;flex-direction:column;gap:3px}.global-item-score{background:#f0fff0;border:1px solid #e6ffe6;border-radius:6px;color:#32cd32;flex-shrink:0;font-size:.8rem;font-weight:700;padding:3px 8px}.cities-layout .global-item-score{align-self:flex-start}.global-extra-info{align-items:center;display:flex;gap:6px;justify-content:space-between;padding-right:1.5vw}.global-address-row{align-items:center;display:flex;margin-top:2px}.global-address,.global-price,.global-restaurant{color:#666;font-size:.8rem;line-height:1.3}.global-restaurant{color:#555;font-weight:500}.global-address{color:#777;font-size:.75rem}.global-price{color:#b08bd4;font-weight:600}.no-global-items{color:#999;font-size:.85rem;font-style:italic;padding:20px;text-align:center}.leaderboard-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));padding:20px 0}.leaderboard-card{animation:cardSlideIn .6s ease-out;background:#fff;border:1px solid #f0f0f0;border-radius:20px;box-shadow:0 6px 20px #0000001a;overflow:hidden;padding:18px;position:relative;transition:all .3s ease}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.leaderboard-card:hover{border-color:#e0e0e0;box-shadow:0 12px 30px #b08bd433;transform:translateY(-8px)}.leaderboard-card.top-three{border:1px solid #f0f0f0;box-shadow:0 6px 20px #0000001a}.leaderboard-card.top-three:hover{border-color:#e0e0e0;box-shadow:0 12px 30px #b08bd433}.rank-badge{align-items:center;background:linear-gradient(135deg,#b08bd4,#9562d4);border-radius:50%;box-shadow:0 4px 15px #b08bd466;display:flex;height:50px;justify-content:center;position:absolute;right:-8px;top:-8px;width:50px}.rank-icon{color:#fff;font-size:1.2rem;font-weight:700}.card-content{display:flex;flex-direction:column;gap:10px;padding-right:35px}.item-name{color:#333;font-size:1.1rem;font-weight:700;letter-spacing:-.2px}.item-name,.restaurant-name{line-height:1.3;margin-bottom:0}.restaurant-name{color:#777;font-size:.8rem;font-style:italic;font-weight:500}.cuisine-tags{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.cuisine-tag{background:linear-gradient(135deg,#e8e0ff,#f0e8ff);border:1px solid #d8c7ff;border-radius:15px;color:#6b46c1;font-size:.75rem;font-weight:500;padding:4px 10px}.score-container{border-top:1px solid #f5f5f5;justify-content:space-between;margin:8px 0;padding:12px 0}.score-circle,.score-container{align-items:center;display:flex}.score-circle{background:linear-gradient(135deg,#32cd32,#228b22);border-radius:50%;box-shadow:0 4px 15px #32cd324d;color:#fff;flex-direction:column;flex-shrink:0;height:60px;justify-content:center;width:60px}.score-number{font-size:1.1rem;font-weight:700;line-height:1}.score-label{color:#000;font-size:.65rem;margin-top:2px;opacity:.9}.price-info{align-items:flex-end;display:flex;flex-direction:column;gap:3px}.price-label{color:#666;font-size:.8rem;font-weight:500}.price-value{color:#b08bd4;font-size:1.1rem;font-weight:700}.address-info{border-top:1px solid #f5f5f5;color:#666;font-size:.8rem;line-height:1.4;margin-top:0;padding-top:10px}.no-results,.select-city-prompt{background:#fff;border-radius:20px;box-shadow:0 6px 20px #0000001a;margin:20px 0;padding:60px 20px;text-align:center}.no-results-icon,.prompt-icon{font-size:4rem;margin-bottom:20px}.no-results h3,.select-city-prompt h3{color:#333;font-size:1.8rem;margin-bottom:10px}.no-results p,.select-city-prompt p{color:#666;font-size:1.1rem}.stats-section{animation:slideInUp .8s ease-out 1s both;margin-top:50px}.stats-title{color:#333;font-size:1.8rem;font-weight:600;margin-bottom:30px;text-align:center}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 auto;max-width:800px}.stat-card{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:30px;text-align:center;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 25px #b08bd433;transform:translateY(-5px)}.stat-number{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;margin-bottom:8px}.stat-label{color:#666;font-size:1rem;font-weight:500}@media (max-width:768px){.leaderboards-page{padding:12px 12px 100px}.leaderboards-header{margin-bottom:30px;margin-top:12vh}.page-title{font-size:2.2rem}.page-subtitle{font-size:1rem}.city-search-container{padding-left:25px!important;padding-right:25px!important}.city-search-container .search-input{margin-left:0!important;margin-right:0!important;width:100%!important}.global-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:25px}.global-intro{margin-bottom:35px;padding:35px 20px}.global-intro h3{font-size:1.4rem;margin-bottom:10px}.global-intro p{font-size:.9rem}.prompt-icon{font-size:2.5rem;margin-bottom:18px}.global-category-card{padding:16px}.global-category-title{font-size:1.1rem;margin-bottom:15px;padding-bottom:12px}.global-items-list{gap:8px}.global-item{gap:8px;padding:10px}.global-rank{font-size:.9rem;min-width:24px;padding:3px 5px}.global-item-name{font-size:.8rem}.global-item-score{font-size:.75rem;padding:2px 6px}.global-price,.global-restaurant{font-size:.75rem}.global-address{font-size:.7rem}.global-extra-info{gap:6px;padding-right:1.5vw}.leaderboard-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.leaderboard-card{padding:16px}.rank-badge{height:45px;right:-7px;top:-7px;width:45px}.rank-icon{font-size:1.1rem}.card-content{gap:6px;padding-right:30px}.item-name{font-size:1.1rem}.restaurant-name{font-size:.8rem}.cuisine-tag{font-size:.7rem;padding:2px 6px}.score-circle{height:55px;width:55px}.price-value,.score-number{font-size:1rem}.address-info{font-size:.75rem;padding-top:6px}.city-search-container{padding:20px}.category-tabs{gap:10px}.category-tab{min-width:100px;padding:15px 20px}.category-icon{font-size:1.5rem}.filter-section{align-items:center;flex-direction:column;gap:15px}.filter-group{max-width:300px;padding:16px;width:85%}.results-title{font-size:1.5rem}.stats-grid{gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{padding:20px}.stat-number{font-size:2rem}}@media (max-width:480px){.leaderboards-page{padding:10px 10px 100px}.leaderboards-header{margin-bottom:25px;margin-top:15vh}.page-title{font-size:1.8rem}.city-search-container{padding-left:20px!important;padding-right:20px!important}.city-search-container .search-input{margin-left:0!important;margin-right:0!important;width:100%!important}.global-grid{gap:15px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.global-intro{margin-bottom:25px;padding:25px 15px}.global-intro h3{font-size:1.2rem}.global-intro p{font-size:.85rem}.prompt-icon{font-size:2rem;margin-bottom:15px}.global-category-card{padding:12px}.global-category-title{font-size:1rem;margin-bottom:12px;padding-bottom:10px}.global-item{gap:6px;padding:8px}.global-rank{font-size:.85rem;min-width:22px;padding:2px 4px}.global-item-name{font-size:.75rem}.global-item-score{font-size:.7rem;padding:2px 5px}.global-price,.global-restaurant{font-size:.7rem}.global-address{font-size:.65rem}.global-extra-info{gap:6px;padding-right:1.5vw}.leaderboard-grid{gap:15px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.leaderboard-card{padding:12px}.rank-badge{height:40px;right:-6px;top:-6px;width:40px}.rank-icon{font-size:1rem}.card-content{gap:5px;padding-right:25px}.item-name{font-size:1rem}.restaurant-name{font-size:.75rem}.cuisine-tag{font-size:.65rem;padding:2px 5px}.score-circle{height:50px;width:50px}.score-number{font-size:.9rem}.score-label{font-size:.6rem}.price-value{font-size:.9rem}.address-info{font-size:.7rem}.city-search-container{padding:15px}.category-tab{flex:1 1;max-width:120px;min-width:0;padding:12px 15px}.category-icon{font-size:1.2rem}.category-label{font-size:.8rem}.filter-section{align-items:center;flex-direction:column;gap:12px}.filter-group{max-width:280px;padding:12px;width:90%}.results-title{font-size:1.3rem}.stats-grid{gap:12px;grid-template-columns:1fr}.stat-card{padding:15px}.stat-number{font-size:1.8rem}}.navbar{animation:slideDown .6s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border-bottom:1px solid #b08bd41a;box-sizing:border-box;left:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);position:fixed;right:0;top:0;transition:all .3s ease;width:100%;z-index:1000}.navbar.scrolled{background:#fffffffa;border-bottom:1px solid #b08bd433;box-shadow:0 4px 20px #b08bd426}.nav-container{height:70px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.brand-link,.nav-brand,.nav-container{align-items:center;display:flex}.brand-link{gap:12px;text-decoration:none;transition:transform .3s ease}.brand-link:hover{transform:scale(1.05)}.nav-logo{border-radius:50%;height:40px;object-fit:cover;transition:transform .3s ease;width:40px}.brand-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;font-size:1.6rem;font-weight:700;text-shadow:0 2px 4px #0000001a}.nav-menu{display:flex;gap:8px;list-style:none;margin:0;padding:0}.nav-item,.nav-link{position:relative}.nav-link{align-items:center;border-radius:12px;color:#333;display:flex;font-size:1rem;font-weight:600;gap:8px;overflow:hidden;padding:12px 20px;text-decoration:none;transition:all .3s ease}.nav-link:before{background:linear-gradient(135deg,#b08bd4,#9562d4);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease;width:100%;z-index:-1}.nav-link:hover:before{left:0}.nav-link:hover{box-shadow:0 6px 20px #b08bd44d;color:#fff;transform:translateY(-2px)}.nav-link.active{background:linear-gradient(135deg,#b08bd4,#9562d4);box-shadow:0 4px 15px #b08bd466;color:#fff}.nav-link.active:before{left:0}.nav-icon{font-size:1.1rem;transition:transform .3s ease}.nav-link:hover .nav-icon{transform:scale(1.2)}.hamburger{border-radius:8px;cursor:pointer;display:none;flex-direction:column;padding:8px;transition:all .3s ease}.hamburger:hover{background:#b08bd41a}.bar{background:linear-gradient(135deg,#b08bd4,#9562d4);border-radius:2px;height:3px;margin:3px 0;transition:all .3s ease;width:25px}.hamburger.active .bar:first-child{transform:rotate(-45deg) translate(-5px,6px)}.hamburger.active .bar:nth-child(2){opacity:0}.hamburger.active .bar:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}.nav-overlay{animation:fadeIn .3s ease-out;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:70px;z-index:999}@media (max-width:768px){.nav-container{height:60px;padding:0 16px}.nav-logo{height:35px;width:35px}.brand-text{font-size:1.4rem}.hamburger{display:flex}.nav-menu{background:#fff;box-shadow:-4px 0 20px #0000001a;box-sizing:border-box;flex-direction:column;gap:0;height:calc(100dvh - 60px);overflow-x:hidden;overflow-y:auto;padding:20px 0;position:fixed;right:-100%;top:60px;transition:right .3s ease;width:min(280px,80vw);z-index:1000}.nav-menu.active{right:0}.nav-item{margin:0}.nav-link{border-radius:0;font-size:1.1rem;justify-content:flex-start;padding:16px 24px;width:100%}.nav-link:hover{box-shadow:none;transform:translateX(8px)}.nav-icon{font-size:1.2rem}.nav-overlay{top:60px}}@media (max-width:480px){.nav-container{padding:0 12px}.nav-logo{height:32px;width:32px}.brand-text{font-size:1.2rem}.nav-menu{width:min(250px,85vw)}.nav-link{font-size:1rem;padding:14px 20px}}@media (max-width:768px){.nav-item{animation:slideInRight .3s ease-out both}.nav-item:first-child{animation-delay:.1s}.nav-item:nth-child(2){animation-delay:.2s}.nav-item:nth-child(3){animation-delay:.3s}}.info-tooltip-container{display:inline-block;position:relative;z-index:2147483648}.info-trigger{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:inline-flex;height:20px;justify-content:center;margin-left:6px;padding:2px;transition:all .3s ease;vertical-align:middle;width:20px}.info-trigger:hover{background:#b08bd41a;color:#b08bd4;transform:scale(1.1)}.info-trigger:focus{outline:2px solid #b08bd4;outline-offset:2px}.info-trigger svg{height:14px;transition:color .3s ease;width:14px}.info-tooltip-backdrop{animation:backdropFadeIn .3s ease-out;background:#00000080;bottom:0;height:100dvh;left:0;min-height:100vh;position:fixed;right:0;top:0;width:100vw;z-index:2147483648}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.info-tooltip{animation:tooltipFadeIn .4s ease-out;background:#fff;border:3px solid #b08bd4;border-radius:16px;box-shadow:0 20px 60px #0000004d;font-size:1rem;line-height:1.5;max-height:80vh;max-width:90vw;overflow-y:auto;position:fixed;width:500px;z-index:2147483649}@keyframes tooltipFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.tooltip-header{align-items:center;background:linear-gradient(135deg,#f9f9fc,#f0f4ff);border-bottom:2px solid #f0f4ff;border-radius:13px 13px 0 0;display:flex;justify-content:space-between;padding:20px 24px 16px}.tooltip-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;color:#333;font-size:1.3rem;font-weight:700;margin:0}.tooltip-close{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:1.8rem;height:32px;justify-content:center;padding:0;transition:all .3s ease;width:32px}.tooltip-close:hover{background:#b08bd41a;color:#b08bd4;transform:scale(1.1)}.tooltip-content{padding:20px 24px 24px}.tooltip-section{margin-bottom:16px}.tooltip-section:last-child{margin-bottom:0}.tooltip-description{color:#333;font-size:1.1rem;font-weight:500;margin:0}.tooltip-label{color:#5a52d5;display:block;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.tooltip-examples{color:#666;font-size:1rem;font-style:italic;margin:0}.tooltip-characteristics{margin-top:8px}.characteristic-item{color:#666;margin:4px 0;padding-left:12px;position:relative}.characteristic-item:before{color:#b08bd4;content:"•";font-weight:700;left:0;position:absolute}.characteristic-item:empty{display:none}@media (max-width:768px){.info-tooltip{bottom:auto!important;left:50%!important;margin:20px auto;max-height:85vh;max-width:95vw;right:auto!important;top:50%!important;transform:translate(-50%,-50%)!important;width:95vw}.tooltip-header{padding:16px 20px 12px}.tooltip-content{padding:16px 20px 20px}.tooltip-title{font-size:1.2rem}.tooltip-close{font-size:1.5rem;height:28px;width:28px}.tooltip-description{font-size:1rem}.characteristic-item,.tooltip-examples{font-size:.9rem}}@media (max-width:480px){.info-tooltip{max-height:90vh;width:98vw}.tooltip-header{padding:12px 16px 10px}.tooltip-content{padding:12px 16px 16px}}@media (prefers-contrast:high){.info-trigger{border:1px solid}.info-tooltip{border-width:4px}.info-tooltip-backdrop{background:#0009}}@media (prefers-reduced-motion:reduce){.info-tooltip,.info-tooltip-backdrop{animation:none}.info-trigger,.tooltip-close{transition:none}}.standardized-dropdown{margin-bottom:20px;position:relative;width:100%}.dropdown-label{align-items:center;color:#333;display:flex;font-size:.9rem;font-weight:600;margin-bottom:8px}.required{color:#dc3545;margin-left:2px}.dropdown-container,.dropdown-input-container{position:relative;width:100%}.dropdown-input-container{align-items:center;background:#fff;border:2px solid #eee;border-radius:12px;cursor:pointer;display:flex;min-height:52px;transition:all .3s ease}.dropdown-input-container:hover{border-color:#d0d7de}.dropdown-input-container.open{border-color:#b08bd4;box-shadow:0 0 0 3px #b08bd41a}.dropdown-input-container.disabled{background:#f5f5f5;border-color:#e0e0e0;color:#999;cursor:not-allowed}.dropdown-input{background:#0000;border:none;color:#333;cursor:pointer;font-family:inherit;font-size:1rem;outline:none;padding:14px 40px 14px 16px;width:100%}.dropdown-input:disabled{color:#999;cursor:not-allowed}.dropdown-input::placeholder{color:#999}.dropdown-arrow{color:#666;font-size:.8rem;pointer-events:none;position:absolute;right:16px;top:50%;transform:translateY(-50%);transition:transform .3s ease}.dropdown-arrow.open{color:#b08bd4;transform:translateY(-50%) rotate(180deg)}.tag-container{display:flex;flex-wrap:wrap;min-height:36px;padding:8px 40px 8px 12px;width:100%}.tag,.tag-container{align-items:center;gap:6px}.tag{animation:tagSlideIn .3s ease-out;background:linear-gradient(135deg,#b08bd4,#9562d4);border-radius:16px;color:#fff;display:inline-flex;font-size:.8rem;font-weight:500;padding:4px 8px}@keyframes tagSlideIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.tag-remove{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;height:16px;justify-content:center;padding:0;transition:background .2s ease;width:16px}.tag-remove:hover{background:#fff3}.tag-input{background:#0000;border:none;color:#333;flex:1 1;font-size:1rem;min-width:120px;outline:none;padding:4px}.tag-input::placeholder{color:#999}.dropdown-options{animation:dropdownSlideDown .3s ease-out;background:#fff;border:2px solid #b08bd4;border-radius:0 0 12px 12px;border-top:none;box-shadow:0 4px 12px #0000001a;left:0;overflow-y:auto;position:absolute;right:0;top:100%;z-index:2147483650}@keyframes dropdownSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-option{align-items:center;border-bottom:1px solid #f0f0f0;color:#333;cursor:pointer;display:flex;font-size:.95rem;gap:8px;justify-content:space-between;padding:12px 16px;transition:all .2s ease}.dropdown-option:last-child{border-bottom:none}.dropdown-option.active,.dropdown-option:hover{background:linear-gradient(135deg,#f0f4ff,#e8f0ff);color:#5a52d5}.dropdown-option.selected{background:linear-gradient(135deg,#b08bd4,#9562d4);color:#fff}.dropdown-option.selected:hover{background:linear-gradient(135deg,#9562d4,#8449c7)}.dropdown-option.disabled{cursor:not-allowed}.dropdown-option.disabled,.dropdown-option.disabled:hover{background:#f9f9f9;color:#999}.option-checkmark{color:#fff;font-size:.9rem;font-weight:700;margin-right:6px}.option-text{flex:1 1;text-align:left}.dropdown-option .info-tooltip-container{flex-shrink:0;margin-left:auto}.dropdown-option .info-trigger{margin-left:4px;opacity:.7;transition:opacity .3s ease}.dropdown-option.active .info-trigger,.dropdown-option:hover .info-trigger{opacity:1}.dropdown-option.selected .info-trigger{color:#fff;opacity:.9}.dropdown-option.selected .info-trigger:hover{background:#fff3;color:#fff;opacity:1}@media (max-width:768px){.dropdown-options{max-height:150px}.tag-container{padding:6px 36px 6px 10px}.tag{font-size:.7rem;padding:3px 6px}.tag-input{font-size:.9rem;min-width:100px}.dropdown-option{font-size:.9rem;padding:10px 14px}.dropdown-option .info-trigger{height:18px;width:18px}.dropdown-option .info-trigger svg{height:12px;width:12px}}.custom-input-container{background:#f9f9f9;border-bottom:1px solid #f0f0f0;padding:12px}.custom-input{border:2px solid #ddd;border-radius:8px;font-size:.9rem;margin-bottom:8px;outline:none;padding:8px 12px;transition:border-color .3s ease;width:100%}.custom-input:focus{border-color:#b08bd4;box-shadow:0 0 0 2px #b08bd41a}.custom-input-buttons{display:flex;gap:8px;justify-content:flex-end}.custom-submit-btn{background:linear-gradient(135deg,#b08bd4,#9562d4);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 16px;transition:all .3s ease}.custom-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#9562d4,#8449c7);transform:translateY(-1px)}.custom-submit-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.custom-cancel-btn{background:#0000;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 16px;transition:all .3s ease}.custom-cancel-btn:hover{background:#f5f5f5;border-color:#999}.dropdown-option.add-option{background:linear-gradient(135deg,#f0f4ff,#e8f0ff);border:2px dashed #b08bd4;border-radius:8px;color:#5a52d5;font-weight:600;margin:4px}.dropdown-option.add-option:hover{background:linear-gradient(135deg,#e8f0ff,#d8e8ff);border-color:#9562d4;transform:translateY(-1px)}.add-icon{align-items:center;background:linear-gradient(135deg,#b08bd4,#9562d4);border-radius:50%;color:#fff;display:inline-flex;font-size:.9rem;font-weight:700;height:20px;justify-content:center;margin-right:8px;width:20px}@media (max-width:768px){.custom-input-container{padding:10px}.custom-input{font-size:.85rem;padding:6px 10px}.custom-input-buttons{gap:6px}.custom-cancel-btn,.custom-submit-btn{font-size:.75rem;padding:5px 12px}.add-icon{font-size:.8rem;height:18px;margin-right:6px;width:18px}}.edit-modal{animation:slideInUp .4s ease-out;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;margin-top:20px;max-height:calc(100vh - 120px);max-width:600px;overflow-y:auto;position:relative;width:90%}.modal-header{align-items:center;background:linear-gradient(135deg,#f9f9fc,#f0f4ff);border-radius:20px 20px 0 0;display:flex;justify-content:space-between;padding:25px 30px}.modal-header h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;color:#333;font-size:1.8rem;font-weight:700;margin:0}.close-btn{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:color .3s ease;width:32px}.close-btn:hover{color:#b08bd4}.modal-content{padding:30px}.modal-footer{background:#fafbff;border-radius:0 0 20px 20px;border-top:2px solid #f0f4ff;display:flex;gap:15px;justify-content:flex-end;padding:25px 30px}.btn-primary,.btn-secondary{border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;min-width:120px;padding:12px 24px;transition:all .3s ease}.btn-primary:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.btn-secondary{border:2px solid #e9ecef;color:#666}.btn-secondary:hover:not(:disabled){color:#333}.btn-secondary:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.modal-overlay{align-items:flex-start;padding-top:calc(80px + env(safe-area-inset-top, 20px))}.edit-modal{margin:20px 10px;max-height:calc(100vh - 160px);max-width:none;overflow-x:hidden;width:95%}.modal-content,.modal-footer,.modal-header{padding:15px}.modal-content{padding:20px 15px}.modal-header h3{font-size:1.5rem}.modal-footer{flex-direction:column;gap:10px}.btn-primary,.btn-secondary{min-width:auto;width:100%}.edit-modal *{box-sizing:border-box}.edit-modal .form-group{margin-bottom:15px}.edit-modal .form-input{font-size:16px;padding:12px 16px}}@media (max-width:480px){.modal-overlay{padding-top:calc(100px + env(safe-area-inset-top, 20px))}.edit-modal{margin:10px 5px;max-height:calc(100vh - 180px);width:98%}}.success-overlay{align-items:center;animation:fadeIn .4s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.success-content{animation:celebrationBounce .8s ease-out;background:#fff;border-radius:24px;box-shadow:0 25px 70px #b08bd44d;max-width:500px;padding:60px 40px;text-align:center;width:90%}@keyframes celebrationBounce{0%{opacity:0;transform:scale(.3) translateY(100px)}50%{opacity:1;transform:scale(1.05) translateY(-10px)}70%{transform:scale(.95) translateY(5px)}to{opacity:1;transform:scale(1) translateY(0)}}.success-animation{position:relative;z-index:2}.checkmark-circle{align-items:center;animation:checkmarkGrow .6s ease-out .2s both;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:50%;box-shadow:0 8px 32px #4caf504d;display:flex;height:120px;justify-content:center;margin:0 auto 30px;position:relative;width:120px}@keyframes checkmarkGrow{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.checkmark{animation:checkmarkPop .4s ease-out .6s both;font-size:3rem}.success-text h2{-webkit-text-fill-color:#0000;animation:textSlideUp .6s ease-out .8s both;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:700;margin-bottom:12px}.success-text p{animation:textSlideUp .6s ease-out 1s both;color:#666;font-size:1.1rem;font-weight:500;margin-bottom:8px}.success-subtitle{animation:textSlideUp .6s ease-out 1.2s both!important;color:#999!important;font-size:.9rem!important;font-weight:400!important}@keyframes textSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.particle{animation:particleFloat 2s ease-out infinite}.particle-1{top:20%}.particle-2{animation-delay:.2s;top:30%}.particle-3{animation-delay:.4s;top:25%}.particle-4{animation-delay:.6s;top:15%}.particle-5{animation-delay:.8s}.particle-6{animation-delay:1s}.particle-7{animation-delay:1.2s}.particle-8{animation-delay:1.4s}.particle-9{animation-delay:.3s}.particle-10{animation-delay:.7s}.particle-11{animation-delay:1.1s}.particle-12{animation-delay:1.3s}@media (max-width:768px){.success-content{margin:20px;padding:40px 30px}.checkmark-circle{height:100px;width:100px}.checkmark{font-size:2.5rem}.success-text h2{font-size:1.5rem}.success-text p{font-size:1rem}}.food-item-form{align-items:center;animation:fadeInUp .8s ease-out;background:linear-gradient(135deg,#f9f9fc,#f0f4ff);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px}.form-step .food-item-form{animation:none;background:none;justify-content:flex-start;min-height:auto;padding:0}.form-step .food-item-form-container{animation:none;background:none;border-radius:0;box-shadow:none;max-width:none;padding:0;width:100%}.form-step .create-food-section,.form-step .food-items-list{margin-left:0;margin-right:0;width:100%}.form-step .food-items-list ul{margin:0;padding:0;width:100%}.form-step .food-items-list li{box-sizing:border-box;margin-left:0;margin-right:0;width:100%}.food-item-form-container{animation:slideInUp .8s ease-out .2s both;background:#fff;border-radius:20px;box-shadow:0 10px 40px #b08bd426;max-width:600px;padding:40px;width:100%}.form-title{-webkit-text-fill-color:#0000;animation:fadeInUp .8s ease-out .4s both;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;font-size:2.2rem;font-weight:700;margin-bottom:10px;text-align:center}.form-subtitle{animation:fadeInUp .8s ease-out .5s both;color:#666;font-size:1rem;margin-bottom:30px;text-align:center}.food-search-input-container{margin-bottom:20px;position:relative;width:100%}.create-food-section{animation:fadeInUp .8s ease-out .6s both;background:#fff;border:2px solid #f0f4ff;border-radius:16px;margin-top:30px;overflow:hidden}.section-header{align-items:center;background:linear-gradient(135deg,#f0f4ff,#e8f0ff);border-bottom:1px solid #e8f0ff;cursor:pointer;display:flex;justify-content:space-between;padding:20px;transition:all .3s ease}.section-header:hover{background:linear-gradient(135deg,#e8f0ff,#d8e8ff)}.collapse-icon{color:#b08bd4;font-size:16px;font-weight:700;transition:transform .3s ease}.collapse-icon.expanded{transform:rotate(180deg)}.section-content{overflow:hidden;transition:all .3s ease}.section-content.collapsed{max-height:0;opacity:0;padding:0 20px}.section-content.expanded{max-height:1000px;opacity:1;padding:20px}.section-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;color:#333;font-size:1.5rem;font-weight:700;margin-bottom:8px}.section-subtitle{color:#666;font-size:.9rem;margin-bottom:20px}.add-food-item-btn{background:linear-gradient(135deg,#b08bd4,#9562d4);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:10px;padding:16px 20px;transition:all .3s ease;width:100%}.add-food-item-btn:hover{background:linear-gradient(135deg,#9562d4,#8449c7);box-shadow:0 6px 20px #b08bd466;transform:translateY(-2px)}.food-items-list{animation:fadeInUp .8s ease-out .6s both;margin-top:30px}.food-items-list h3{color:#333;font-size:1.5rem;font-weight:700;margin-bottom:20px;text-align:center}.no-items-message{color:#666;font-style:italic;padding:20px;text-align:center}.food-items-list li{align-items:center;animation:slideInUp .6s ease-out;background:#fff;border-radius:12px;box-shadow:0 4px 16px #00000014;display:flex;justify-content:space-between;list-style-type:none;margin-bottom:15px;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.food-items-list li:before{background:linear-gradient(135deg,#b08bd4,#9562d4);content:"";height:100%;left:0;position:absolute;top:0;transform:scaleY(0);transition:transform .3s ease;width:4px}.food-items-list li:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.food-items-list li:hover:before{transform:scaleY(1)}.food-item-info{flex:1 1}.food-item-actions{align-items:center;display:flex;gap:10px}.edit-btn,.remove-btn{border:none;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600;padding:8px 16px;transition:all .3s ease}.edit-btn{background:linear-gradient(135deg,#6c63ff,#5a52d5);color:#fff}.edit-btn:hover{background:linear-gradient(135deg,#5a52d5,#4c46b6);box-shadow:0 4px 12px #6c63ff66;transform:translateY(-2px)}.remove-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff}.remove-btn:hover{background:linear-gradient(135deg,#ee5a6f,#e74c3c);box-shadow:0 4px 12px #ee5a6f66;transform:translateY(-2px)}.saved-indicator{color:#28a745;font-size:.8rem;font-weight:600;margin-left:10px}@media (max-width:768px){.food-item-form-container{margin:10px;padding:20px}.form-title{font-size:1.8rem}.create-food-section{padding:20px}.food-items-list li{align-items:flex-start;flex-direction:column;gap:10px}.remove-btn{align-self:flex-end}.form-step .food-item-form-container{margin:0;padding:0}.form-step .create-food-section{margin:30px 0 0;padding:0;width:100%}}.rating-scale-container{align-items:center;animation:slideInUp .6s ease-out;background:#fff;border-radius:20px;box-shadow:0 10px 40px #b08bd426;display:flex;flex-direction:column;justify-content:center;margin:20px auto;max-width:500px;padding:30px;transition:all .3s ease}.rating-scale-container:hover{box-shadow:0 15px 50px #b08bd440;transform:translateY(-2px)}.rating-header{align-items:center;display:flex;gap:15px;margin-bottom:25px}.rating-header h3{-webkit-text-fill-color:#0000;animation:fadeInUp .8s ease-out .2s both;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;font-size:1.4rem;font-weight:700;margin:0}.info-button{align-items:center;background:linear-gradient(135deg,#b08bd4,#9562d4);border:none;border-radius:50%;box-shadow:0 4px 12px #b08bd44d;color:#fff;cursor:pointer;display:flex;font-size:16px;height:35px;justify-content:center;transition:all .3s ease;width:35px}.info-button:hover{background:linear-gradient(135deg,#9562d4,#8449c7);box-shadow:0 6px 20px #b08bd466;transform:translateY(-2px)}.info-box{animation:slideDown .3s ease-out;background:linear-gradient(135deg,#fafbff,#f9f9fc);border:2px solid #f0f4ff;border-radius:16px;box-shadow:0 8px 32px #b08bd41a;margin-bottom:25px;max-width:450px;padding:20px;width:100%}.info-box h4{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;color:#333;font-size:1.2rem;font-weight:700;margin:0 0 20px;text-align:center}.info-content{display:flex;flex-direction:column;gap:12px}.info-item{align-items:center;border-radius:8px;display:flex;font-size:.9rem;gap:15px;padding:8px;transition:background-color .2s ease}.info-item:hover{background:#b08bd40d}.score-range{border-radius:8px;box-shadow:0 2px 8px #0003;color:#fff;display:inline-block;font-size:.8rem;font-weight:700;min-width:60px;padding:6px 12px;text-align:center}.gradient-container{animation:fadeInUp .8s ease-out .4s both;position:relative;width:100%}.gradient-bar{background:linear-gradient(135deg,#fafbff,#f9f9fc);border-radius:12px;margin-bottom:15px;padding:10px;position:relative}.rating-slider{-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,red,red 10%,#ff8c00 0,#ff8c00 30%,gold 0,gold 50%,#90ee90 0,#90ee90 65%,#32cd32 0,#32cd32 75%,#228b22 0,#228b22 85%,#00ff7f 0,#00ff7f 95%,#d4af37 0,#d4af37);border-radius:12px;box-shadow:0 4px 16px #0000001a;cursor:pointer;height:24px;outline:none;touch-action:pan-y;transition:all .3s ease;width:100%}.rating-slider:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-1px)}.rating-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border:3px solid #b08bd4;border-radius:50%;box-shadow:0 4px 16px #b08bd466;cursor:pointer;height:30px;-webkit-transition:all .3s ease;transition:all .3s ease;width:30px}.rating-slider::-webkit-slider-thumb:hover{border-color:#9562d4;box-shadow:0 6px 20px #b08bd480;transform:scale(1.1)}.rating-slider::-moz-range-thumb{background:#fff;border:3px solid #b08bd4;border-radius:50%;box-shadow:0 4px 16px #b08bd466;cursor:pointer;height:30px;-moz-transition:all .3s ease;transition:all .3s ease;width:30px}.rating-slider::-moz-range-thumb:hover{border-color:#9562d4;box-shadow:0 6px 20px #b08bd480;transform:scale(1.1)}.scale-labels{color:#666;display:flex;font-size:.7rem;justify-content:space-between;margin-top:15px;padding:0 15px}.label-item{font-size:.65rem;font-weight:600;line-height:1.2;text-align:center;transition:color .3s ease}.label-item:hover{color:#b08bd4}.rating-display{align-items:center;animation:fadeInUp .8s ease-out .6s both;background:linear-gradient(135deg,#fafbff,#f9f9fc);border:2px solid #f0f4ff;border-radius:16px;display:flex;flex-direction:column;gap:8px;margin-top:25px;padding:20px}.rating-value{animation:pulse 2s ease-in-out infinite;font-size:2.5rem;margin:0}.rating-label,.rating-value{font-weight:700;text-shadow:0 2px 8px #0000001a}.rating-label{font-size:1.2rem;letter-spacing:2px;text-transform:uppercase}@media (max-width:768px){.rating-scale-container{margin:10px;overflow-x:hidden;padding:20px;touch-action:pan-y}.scale-labels{font-size:.6rem;margin-top:20px;padding:0 5px}.label-item{align-items:center;display:flex;font-size:.55rem;height:25px;justify-content:center;line-height:1.1;transform:rotate(-45deg);transform-origin:center center;width:30px}.info-item{font-size:.8rem;gap:10px}.rating-header h3{font-size:1.2rem}.rating-value{font-size:2rem}.rating-label{font-size:1rem;letter-spacing:1px}.gradient-bar{overflow-x:hidden;padding:8px;touch-action:pan-y}.rating-slider{-webkit-appearance:none;-moz-appearance:none;touch-action:pan-y}.rating-slider::-webkit-slider-thumb{height:25px;width:25px}.rating-slider::-moz-range-thumb{height:25px;width:25px}}.modal-overlay{align-items:flex-start;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0009;bottom:0;box-sizing:border-box;display:flex;height:100dvh;justify-content:center;left:0;min-height:100vh;overflow-y:auto;padding:env(
    safe-area-inset-top,60px
  ) env(safe-area-inset-right,10px) env(safe-area-inset-bottom,20px) env(safe-area-inset-left,10px);position:fixed;right:0;top:0;width:100vw;z-index:2147483647}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideInUp .4s ease-out;background:#fff;border-radius:20px;box-shadow:0 20px 60px #b08bd44d;margin-top:20px;max-height:calc(100vh - 120px);max-width:500px;overflow-y:auto;position:relative;width:90%}.modal-header{border-bottom:2px solid #f0f4ff;padding:30px 30px 20px;position:relative}.modal-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:700;margin:0 0 8px}.modal-subtitle{color:#666;font-size:.9rem;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;padding:0;position:absolute;right:20px;top:20px;transition:all .3s ease;width:40px}.modal-close:hover{background:#f0f4ff;color:#b08bd4;transform:scale(1.1)}.modal-form{padding:20px 30px 30px}.form-group{margin-bottom:20px}.form-label{font-size:.9rem}.form-input{padding:14px 16px}.form-input:focus{transform:translateY(-1px)}.form-input:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.form-error{display:block;font-size:.8rem;margin-top:6px}.modal-actions{border-top:2px solid #f0f4ff;display:flex;gap:12px;justify-content:flex-end;margin-top:30px;padding-top:20px}.modal-button{border:none;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;min-width:100px;padding:12px 24px;transition:all .3s ease}.modal-button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.modal-button.btn-secondary{background:#f8f9fa;border:2px solid #e9ecef;color:#666}.modal-button.btn-secondary:hover:not(:disabled){background:#e9ecef;color:#495057;transform:translateY(-1px)}.modal-button.btn-primary{background:linear-gradient(135deg,#b08bd4,#9562d4);box-shadow:0 4px 12px #b08bd44d;color:#fff}.modal-button.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#9562d4,#8449c7);box-shadow:0 6px 20px #b08bd466;transform:translateY(-2px)}@media (max-width:768px){.modal-overlay{align-items:flex-start;padding-top:calc(80px + env(safe-area-inset-top, 20px))}.modal-content{margin:20px 10px;max-height:calc(100vh - 160px);width:95%}.modal-header{padding:20px 20px 15px}.modal-title{font-size:1.5rem}.modal-form{padding:15px 20px 20px}.modal-actions{flex-direction:column;gap:8px}.modal-button{width:100%}.modal-close{font-size:1.5rem;height:35px;right:15px;top:15px;width:35px}}@media (max-width:480px){.modal-overlay{padding-top:calc(100px + env(safe-area-inset-top, 20px))}.modal-content{margin:10px 5px;max-height:calc(100vh - 180px);width:98%}}.submission-container{animation:fadeInUp .8s ease-out;background:linear-gradient(135deg,#f9f9fc,#f0f4ff);min-height:100vh;padding:100px 20px 20px}.form-section{animation:slideInUp .8s ease-out .2s both;background:#fff;border-radius:20px;box-shadow:0 10px 40px #b08bd426;margin:0 auto;max-width:900px;overflow:hidden}.form-header{background:#9562d4;color:#fff;overflow:hidden;padding:30px 40px;position:relative;text-align:center}.form-heading{font-size:2.2rem;font-weight:700;margin-bottom:10px;position:relative;z-index:1}.form-subtitle{color:#fff;font-size:1.1rem;font-weight:500;position:relative;z-index:1}.step-indicator{flex-wrap:wrap;gap:10px;margin:30px 0;position:relative;z-index:1}.step,.step-indicator{display:flex;justify-content:center}.step{align-items:center;color:#fff9;font-weight:600;margin:0 15px;min-width:120px;transition:all .3s ease}.step.active{color:#fff;transform:scale(1.1)}.step.completed{color:#4caf50}.step-number{align-items:center;background:#fff3;border-radius:50%;display:flex;flex-shrink:0;font-weight:700;height:32px;justify-content:center;margin-right:8px;transition:all .3s ease;width:32px}.step.active .step-number{background:#fff;box-shadow:0 4px 12px #ffffff4d;color:#b08bd4}.step.completed .step-number{background:#4caf50;color:#fff}.mobile-step-indicator{display:none;justify-content:center;margin:20px 0;padding:0 10px;position:relative;z-index:1}.mobile-step-indicator,.mobile-step-track{align-items:center;box-sizing:border-box;width:100%}.mobile-step-track{background:#fff3;border-radius:20px;display:flex;gap:6px;max-width:280px;overflow:hidden;padding:6px 12px}.mobile-step-number{align-items:center;background:#ffffff4d;border-radius:50%;color:#ffffffb3;display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:22px;justify-content:center;transition:all .3s ease;width:22px}.mobile-step-number.active{background:#fff;color:#b08bd4;transform:scale(1.1)}.mobile-step-number.completed{background:#4caf50;color:#fff}.mobile-step-divider{background:#ffffff4d;border-radius:1px;flex-shrink:0;height:2px;width:12px}.mobile-step-divider.completed{background:#4caf50}.mobile-step-text{box-sizing:border-box;color:#ffffffe6;font-size:.85rem;font-weight:500;margin-top:8px;padding:0 10px;text-align:center;width:100%}.form-content{padding:40px}.form-step{display:none;opacity:0;transform:translateX(30px);transition:all .4s ease}.form-step.active{animation:slideInRight .6s ease-out;display:block;opacity:1;transform:translateX(0)}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.form-group{margin-bottom:30px;position:relative}.search-input-container{position:relative;width:100%}.form-label{color:#333;display:block;font-size:1.1rem;font-weight:600;margin-bottom:8px}.form-input{background:#fff;border:2px solid #eee;border-radius:12px;box-sizing:border-box;color:#333;font-family:inherit;font-size:1rem;padding:16px 20px;transition:all .3s ease;width:100%}.form-input:focus{border-color:#b08bd4;box-shadow:0 0 0 3px #b08bd41a;outline:none;transform:translateY(-2px)}.form-textarea{background:#fff;border:2px solid #eee;border-radius:12px;box-sizing:border-box;color:#333;font-family:inherit;font-size:1rem;min-height:120px;padding:16px 20px;resize:vertical;transition:all .3s ease;width:100%}.form-textarea:focus{border-color:#b08bd4;box-shadow:0 0 0 3px #b08bd41a;outline:none;transform:translateY(-2px)}.form-select{background:#fff;border:2px solid #eee;border-radius:12px;box-sizing:border-box;color:#333;cursor:pointer;font-family:inherit;font-size:1rem;padding:16px 20px;transition:all .3s ease;width:100%}.form-select:focus{border-color:#b08bd4;box-shadow:0 0 0 3px #b08bd41a;outline:none}.suggestions-dropdown{animation:slideDown .3s ease-out;background:#fff;border:1px solid #eee;border-radius:12px;border-top:none;border-top-left-radius:0;border-top-right-radius:0;box-shadow:0 8px 32px #00000026;left:0;list-style:none;margin:0;max-height:300px;overflow-y:auto;padding:8px 0;position:absolute;right:0;top:100%;z-index:1001}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.suggestions-dropdown::-webkit-scrollbar{width:6px}.suggestions-dropdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.suggestions-dropdown::-webkit-scrollbar-thumb{background:#b08bd4;border-radius:3px}.suggestions-dropdown::-webkit-scrollbar-thumb:hover{background:#9562d4}.suggestion-item{border-radius:8px;cursor:pointer;font-weight:500;margin:2px 8px;padding:12px 20px;transition:background-color .2s ease}.suggestion-item.active,.suggestion-item:hover{background:linear-gradient(135deg,#f0f4ff,#f9f9fc)}.suggestion-item.active{border:1px solid #b08bd4}.rating-input{display:flex;gap:8px;margin-top:8px}.star{color:#ddd;cursor:pointer;font-size:2rem;transition:all .2s ease;-webkit-user-select:none;user-select:none}.star.filled,.star:hover{color:#d4af37;transform:scale(1.1)}.form-navigation{display:flex;gap:16px;justify-content:space-between;margin-top:40px}.nav-button{border:none;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;min-width:120px;padding:16px 32px;transition:all .3s ease}.nav-button:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.btn-secondary{background:#f8f9fa;border:2px solid #dee2e6;color:#6c757d}.btn-secondary:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd;box-shadow:0 4px 12px #6c757d33;transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,#b08bd4,#9562d4);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#9562d4,#8449c7);box-shadow:0 6px 20px #b08bd466;transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#3d8b40);box-shadow:0 6px 20px #4caf5066;transform:translateY(-2px)}.form-error{animation:fadeInUp .3s ease-out;color:#dc3545;font-size:.9rem;font-weight:500;margin-top:8px}.form-input.error{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.loading-spinner{animation:spin 1s ease-in-out infinite;border:2px solid #fff;border-radius:50%;border-top-color:#0000;display:inline-block;height:20px;margin-right:8px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.progress-bar{background:#eee;border-radius:2px;height:4px;margin-bottom:30px;overflow:hidden}.progress-fill{animation:progressShine 2s ease-in-out infinite;background:linear-gradient(135deg,#b08bd4,#9562d4);border-radius:2px;height:100%;transition:width .4s ease}@keyframes progressShine{0%,to{opacity:1}50%{opacity:.8}}@media (max-width:768px){.submission-container{padding:80px 15px 20px}.form-content{padding:30px 15px}.form-heading{font-size:1.8rem}.form-header{padding:25px 15px}.step-indicator{gap:8px;margin:25px 0}.step{font-size:.9rem;margin:0 8px;min-width:90px}.step-number{font-size:.9rem;height:28px;margin-right:6px;width:28px}.form-navigation{flex-direction:column;gap:15px}.nav-button{padding:16px;width:100%}.rating-input{gap:5px}.star{font-size:2rem}}@media (max-width:480px){.submission-container{padding:80px 10px 20px}.form-section{border-radius:16px;margin:0 5px}.form-content{padding:25px 10px}.form-header{padding:25px 15px}.form-heading{font-size:1.6rem}.form-subtitle{font-size:1rem}.step-indicator{display:none}.mobile-step-indicator{display:flex;flex-direction:column}}.restaurant-options{margin-top:20px;text-align:center}.add-restaurant-btn{align-items:center;background:linear-gradient(135deg,#f0f4ff,#e8f0ff);border:2px dashed #b08bd4;border-radius:12px;color:#b08bd4;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;padding:16px 24px;transition:all .3s ease;width:100%}.add-restaurant-btn:hover{background:linear-gradient(135deg,#e8f0ff,#d8e8ff);border-color:#9562d4;box-shadow:0 6px 20px #b08bd433;color:#9562d4;transform:translateY(-2px)}.add-restaurant-btn span{font-size:1.2rem;font-weight:700}.suggestion-item.add-restaurant-option{background:linear-gradient(135deg,#f9f9fc,#f0f4ff);border-radius:8px;margin:4px 8px;transition:all .3s ease}.suggestion-item.add-restaurant-option:hover{background:linear-gradient(135deg,#e8f0ff,#d8e8ff);transform:translateX(4px)}.photo-upload-container{margin-top:10px;position:relative}.coming-soon-message{animation:pulse 2s ease-in-out infinite alternate;background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:2px dashed #b08bd4;border-radius:12px;color:#7b1fa2;font-size:1.1rem;font-weight:600;margin-bottom:15px;padding:20px;text-align:center}@keyframes pulse{0%{opacity:.8;transform:scale(1)}to{opacity:1;transform:scale(1.02)}}.photo-upload-disabled{opacity:.5;pointer-events:none;position:relative}.photo-input-disabled{background-color:#f5f5f5!important;border-color:#ddd!important;color:#999!important;cursor:not-allowed!important}.disabled-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fffc;border-radius:12px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.coming-soon-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;font-size:1rem;font-weight:700;text-shadow:0 2px 4px #b08bd433}@media (max-width:768px){.coming-soon-message{font-size:1rem;padding:15px}.coming-soon-text{font-size:.9rem}}.form-group .search-input{background:#fff;border:2px solid #e8f0ff;border-radius:12px;box-sizing:border-box;color:#333;font-family:inherit;font-size:1rem;padding:16px 20px;transition:all .3s ease;width:100%}.form-group .search-input:focus{border-color:#b08bd4;box-shadow:0 0 0 3px #b08bd41a;outline:none;transform:translateY(-1px)}.form-group .search-input:hover{border-color:#d0d7de}.form-group .search-input::placeholder{color:#999;font-weight:400}.summary-item{animation:slideInUp .6s ease-out;background:linear-gradient(135deg,#fafbff,#f9f9fc);border:2px solid #f0f4ff;border-radius:16px;box-shadow:0 4px 16px #b08bd414;margin-bottom:20px;padding:20px;transition:all .3s ease}.summary-item:hover{border-color:#e8f0ff;box-shadow:0 8px 24px #b08bd41f;transform:translateY(-2px)}.summary-item strong{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;color:#b08bd4;display:block;font-size:1.1rem;font-weight:700;margin-bottom:8px}.summary-item ul{list-style:none;margin:12px 0 0;padding:0}.summary-item li{background:#fff;border:1px solid #e8f0ff;border-radius:12px;box-shadow:0 2px 8px #b08bd40d;margin-bottom:12px;overflow:hidden;padding:16px;position:relative;transition:all .3s ease}.summary-item li:before{background:linear-gradient(135deg,#b08bd4,#9562d4);content:"";height:100%;left:0;position:absolute;top:0;transform:scaleY(0);transition:transform .3s ease;width:4px}.summary-item li:hover{border-color:#b08bd4;box-shadow:0 4px 16px #b08bd426;transform:translateX(4px)}.summary-item li:hover:before{transform:scaleY(1)}.summary-item li strong{-webkit-text-fill-color:unset;background:none;-webkit-background-clip:unset;background-clip:initial;color:#228b22;display:inline;font-size:1rem;margin:0}@media (max-width:768px){.summary-item{margin-bottom:15px;padding:15px}.summary-item strong{font-size:1rem}.summary-item li{margin-bottom:10px;padding:12px}}.success-page-container{align-items:center;background:linear-gradient(135deg,#f9f9fc,#f0f4ff);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px;text-align:center}.success-content{animation:slideInUp .6s ease-out;background-color:#fff;border-radius:20px;box-shadow:0 10px 40px #b08bd426;max-width:600px;overflow:hidden;padding:40px;position:relative}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.success-icon{margin-bottom:30px;position:relative;z-index:2}.checkmark{align-items:center;animation:checkmarkPop .8s ease-out .3s both;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:50%;box-shadow:0 8px 32px #4caf504d;color:#fff;display:flex;font-size:40px;font-weight:700;height:80px;justify-content:center;margin:0 auto;width:80px}@keyframes checkmarkPop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.success-title{-webkit-text-fill-color:#0000;animation:fadeInUp .6s ease-out .5s both;background:linear-gradient(135deg,#b08bd4,#9562d4);-webkit-background-clip:text;background-clip:text;font-size:2.2rem;font-weight:700;margin-bottom:20px;position:relative;z-index:2}.success-message{animation:fadeInUp .6s ease-out .7s both;color:#666;font-size:1.1rem;line-height:1.6;margin-bottom:40px;position:relative;z-index:2}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.success-actions{animation:fadeInUp .6s ease-out .9s both;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:30px;position:relative;z-index:2}.success-button{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;min-width:160px;padding:14px 28px;transition:all .3s ease}.success-button.primary{background:linear-gradient(135deg,#b08bd4,#9562d4);color:#fff}.success-button.primary:hover{background:linear-gradient(135deg,#9562d4,#8449c7);box-shadow:0 6px 16px #b08bd466;transform:translateY(-2px)}.success-button.secondary{background:#0000;border:2px solid #b08bd4;color:#b08bd4}.success-button.secondary:hover{background:#b08bd4;box-shadow:0 6px 16px #b08bd44d;color:#fff;transform:translateY(-2px)}.success-stats{animation:fadeInUp .6s ease-out 1.1s both;border-top:1px solid #eee;padding-top:20px;position:relative;z-index:2}.success-stats p{color:#888;font-size:1rem;margin:0}@media (max-width:600px){.success-content{margin:0 10px;padding:30px 20px}.success-title{font-size:1.8rem}.success-actions{align-items:center;flex-direction:column}.success-button{max-width:250px;width:100%}}.celebration-particles{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.particle{animation:particleFloat 3s ease-out infinite;background:linear-gradient(135deg,#b08bd4,#9562d4);border-radius:50%;height:8px;position:absolute;width:8px}.particle-1{animation-delay:0s;left:10%;top:15%}.particle-2{animation-delay:.3s;left:20%;top:25%}.particle-3{animation-delay:.6s;left:80%;top:20%}.particle-4{animation-delay:.9s;left:85%;top:10%}.particle-5{animation-delay:1.2s;left:15%;top:60%}.particle-6{animation-delay:1.5s;left:25%;top:70%}.particle-7{animation-delay:1.8s;left:75%;top:65%}.particle-8{animation-delay:2.1s;left:85%;top:75%}.particle-9{animation-delay:.4s;left:5%;top:40%}.particle-10{animation-delay:.8s;left:90%;top:50%}.particle-11{animation-delay:1.4s;left:10%;top:80%}.particle-12{animation-delay:1.7s;left:80%;top:85%}.particle-13{animation-delay:.2s;left:50%;top:30%}.particle-14{animation-delay:1s;left:30%;top:45%}.particle-15{animation-delay:1.6s;left:70%;top:55%}.particle-16{animation-delay:2s;left:60%;top:35%}@keyframes particleFloat{0%,to{opacity:0;transform:translateY(0) scale(0) rotate(0deg)}20%{opacity:1;transform:translateY(-15px) scale(1) rotate(90deg)}50%{opacity:.8;transform:translateY(-30px) scale(1.2) rotate(180deg)}80%{opacity:.6;transform:translateY(-20px) scale(.8) rotate(270deg)}}*{max-width:100%}@supports (container-type:inline-size){.responsive-container{container-type:inline-size}}.btn,.button,.touch-friendly,button{-webkit-tap-highlight-color:rgba(176,139,212,.2);touch-action:manipulation}.btn,.button,button{min-height:44px;min-width:44px}input,select,textarea{-webkit-appearance:none;appearance:none;border-radius:8px;touch-action:manipulation}button:focus,input:focus,select:focus,textarea:focus{outline:2px solid #b08bd4;outline-offset:2px}@media screen and (max-width:768px){input[type=email],input[type=password],input[type=search],input[type=text],select,textarea{font-size:16px!important}}.smooth-scroll{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.readable-text{word-wrap:break-word;font-size:clamp(1rem,2.5vw,1.25rem);-webkit-hyphens:auto;hyphens:auto;line-height:1.5;overflow-wrap:break-word}iframe,img,video{height:auto!important;max-width:100%!important;object-fit:cover}.mobile-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;box-sizing:border-box;margin:.5rem;padding:1rem;width:calc(100% - 1rem)}.responsive-grid{grid-gap:1rem;box-sizing:border-box;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));width:100%}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}.safe-area-all{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.full-height{height:100dvh}.min-full-height{min-height:100dvh}.full-width{width:100dvw}@container (max-width: 600px){.container-responsive{font-size:.9rem;padding:.5rem}}@container (min-width: 601px){.container-responsive{font-size:1rem;padding:1rem}}@media (orientation:landscape) and (max-height:500px){.landscape-adjustments{padding-bottom:.5rem;padding-top:.5rem}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.high-dpi{font-weight:400}}@media (prefers-color-scheme:dark){.dark-mode-ready{color-scheme:dark}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.focus-visible{outline:none}.focus-visible:focus-visible{outline:2px solid #b08bd4;outline-offset:2px}::selection{background-color:#b08bd44d;color:inherit}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#b08bd4;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9562d4}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}#root,body,html{max-width:100vw!important;overflow-x:hidden!important}body{-webkit-overflow-scrolling:touch;-webkit-touch-callout:none;overscroll-behavior-x:none;position:relative;touch-action:pan-y pinch-zoom;-webkit-user-select:none;width:100%}a,button,input,select,textarea{touch-action:manipulation}.filter-button,.nav-item,.result-item,.touch-area{-webkit-tap-highlight-color:rgba(176,139,212,.2);touch-action:manipulation}*{box-sizing:border-box;max-width:100vw}canvas,iframe,img,svg,video{height:auto!important;max-width:100%!important}table{max-width:100%;table-layout:fixed;width:100%}code,pre{word-wrap:break-word;max-width:100%;overflow-wrap:break-word;overflow-x:auto;white-space:pre-wrap}.no-overflow{box-sizing:border-box!important;max-width:100%!important;overflow-x:hidden!important}.responsive-table{-webkit-overflow-scrolling:touch;overflow-x:auto;width:100%}.responsive-table table{min-width:600px}.skeleton-loading{animation:loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (display-mode:standalone){.pwa-specific{-webkit-user-select:none;user-select:none}.pwa-navbar{top:env(safe-area-inset-top)}.pwa-content{padding-top:calc(70px + env(safe-area-inset-top))}}@media (max-width:320px){.ultra-small-screen{font-size:.875rem;padding:.25rem}.ultra-small-screen .button{font-size:.8rem;padding:.5rem .75rem}}@media (min-width:1200px){.large-screen-container{margin:0 auto;max-width:1200px;padding:0 2rem}}:root{--brand-gradient:linear-gradient(135deg,#b08bd4,#9562d4);--brand-gradient-strong:linear-gradient(135deg,#9562d4,#8449c7);--surface:#fff;--text-primary:#1f2937;--text-secondary:#4b5563;--border-color:#e5e7eb;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 6px 20px #00000014;--shadow-lg:0 10px 30px #0000001f;--radius-sm:10px;--radius-md:12px;--radius-lg:16px;--transition-fast:150ms ease;--transition:240ms cubic-bezier(0.22,1,0.36,1)}body{color:#1f2937;color:var(--text-primary);letter-spacing:.01em;line-height:1.5}h1,h2,h3,h4,h5,h6{letter-spacing:-.01em}:focus-visible{border-radius:6px;outline:3px solid #9562d459;outline-offset:2px}.city-search-container,.food-items-section,.modal,.notification,.restaurant-header,.result-item,.results-section .result-item,.search-form,.success-banner{background:#fff;background:var(--surface);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 6px 20px #00000014;box-shadow:var(--shadow-md)}.search-form:hover{box-shadow:0 10px 30px #0000001f;box-shadow:var(--shadow-lg)}#google-places-autocomplete,.filter-search-input,.filter-select,.login-input,.search-input,input[type=email],input[type=password],input[type=text],select,textarea{border:1.5px solid #e8eaf5;border-radius:12px;border-radius:var(--radius-md);transition:border-color .24s cubic-bezier(.22,1,.36,1),box-shadow .24s cubic-bezier(.22,1,.36,1),transform .15s ease;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition-fast)}#google-places-autocomplete:focus,.filter-search-input:focus,.filter-select:focus,.login-input:focus,.search-input:focus,input[type=email]:focus,input[type=password]:focus,input[type=text]:focus,select:focus,textarea:focus{border-color:#b08bd4;box-shadow:0 0 0 3px #b08bd41f}.login-btn,.reset-city-button,.search-button,button.primary,button[type=submit]{background:linear-gradient(135deg,#b08bd4,#9562d4);background:var(--brand-gradient);border:none;border-radius:12px;border-radius:var(--radius-md);box-shadow:0 6px 20px #00000014;box-shadow:var(--shadow-md);color:#fff;transition:transform .15s ease,box-shadow .24s cubic-bezier(.22,1,.36,1);transition:transform var(--transition-fast),box-shadow var(--transition)}.login-btn:hover,.reset-city-button:hover,.search-button:hover,button.primary:hover,button[type=submit]:hover{background:linear-gradient(135deg,#9562d4,#8449c7);background:var(--brand-gradient-strong);box-shadow:0 10px 30px #0000001f;box-shadow:var(--shadow-lg);transform:translateY(-1px)}.login-btn:active,.reset-city-button:active,.search-button:active,button.primary:active,button[type=submit]:active{transform:translateY(0)}.navbar{border-bottom:1px solid #b08bd41f;box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm)}.navbar.scrolled{box-shadow:0 6px 20px #00000014;box-shadow:var(--shadow-md)}.nav-link{color:#1f2937;color:var(--text-primary)}.nav-link.active,.nav-link:hover{color:#fff}.result-item{transition:box-shadow .24s cubic-bezier(.22,1,.36,1),transform .15s ease,border-color .24s cubic-bezier(.22,1,.36,1);transition:box-shadow var(--transition),transform var(--transition-fast),border-color var(--transition)}.result-item:hover{border-color:#9562d440;box-shadow:0 10px 30px #0000001f;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.result-header .overall-score,.score-item .score-value{background:#fff;border:1px solid #eef0f7;border-radius:999px;box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm);min-width:40px;padding:6px 10px;text-align:center}@media (prefers-reduced-motion:no-preference){.category-tabs .category-tab,.home-title,.leaderboards-header,.logo-container,.result-item,.search-form{animation-duration:.48s}}.filter-select{background:#fff;border:1px solid #e8eaf5}.category-tab.active,.city-badge,.cuisine-tag{box-shadow:0 2px 8px #0000000f;box-shadow:var(--shadow-sm)}.text-muted{color:#4b5563;color:var(--text-secondary)}.small{font-size:.875rem}.semi{font-weight:600}
/*# sourceMappingURL=main.bd3f5046.css.map*/