@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0a0a0a;color:#ffffff;line-height:1.5;overflow-x:hidden;font-size:14px}.app{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#0a0a0a,#1a1a1a)}.install-banner-top{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,#00d4ff,#0099cc);color:white;z-index:1001;animation:slideDown .3s ease;transition:transform .3s ease,opacity .3s ease}.install-banner-top.slide-up{transform:translateY(-100%);opacity:0}@media (min-width:1025px){.install-banner-top{display:none!important}}@media (max-width:1024px){.install-banner-top{display:block!important}}.install-content{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;font-size:13px;font-weight:500;gap:12px}.install-actions{display:flex;align-items:center;gap:8px}.install-actions button{background:white;color:#00d4ff;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;font-weight:500;font-size:11px;transition:all .2s ease}.install-actions button:hover{background:#f0f0f0;transform:translateY(-1px)}.close-install{background:rgba(255,255,255,.2)!important;color:white!important;padding:4px!important;border-radius:50%!important;width:24px!important;height:24px!important;display:flex!important;align-items:center!important;justify-content:center!important}.close-install:hover{background:rgba(255,255,255,.3)!important}.header{position:fixed;top:0;left:0;right:0;background:rgba(10,10,10,.95);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;z-index:1000;height:60px}@media (max-width:1024px){.header{top:40px;transition:top .3s ease}.header.banner-dismissed{top:0}}@media (min-width:1025px){.header{top:0}}.header-left{gap:8px;flex:1}.burger-btn,.header-left{display:flex;align-items:center}.burger-btn{background:none;border:none;color:#ffffff;cursor:pointer;padding:8px;border-radius:8px;transition:background-color .2s ease;justify-content:center}.burger-btn:hover{background:rgba(255,255,255,.1)}.new-chat-header-btn{background:none;border:none;color:#ffffff;cursor:pointer;padding:6px;border-radius:6px;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center}.new-chat-header-btn:hover{background:rgba(255,255,255,.1)}.logo{display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:#00d4ff;position:absolute;left:50%;transform:translateX(-50%)}.language-select{background:rgba(255,255,255,.05);color:#ffffff;border:1px solid rgba(255,255,255,.1);padding:6px 12px;border-radius:8px;font-size:13px;cursor:pointer;transition:all .2s ease}.language-select:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}.auth-btn{background:linear-gradient(135deg,#00d4ff,#0099cc);color:white;border:none;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;display:flex;align-items:center;gap:6px;transition:all .2s ease}.auth-btn:hover{background:linear-gradient(135deg,#0099cc,#007aa3);transform:translateY(-1px)}.side-nav{position:fixed;top:60px;left:-280px;width:280px;height:calc(100vh - 60px);background:rgba(10,10,10,.95);backdrop-filter:blur(20px);border-right:1px solid rgba(255,255,255,.1);transition:left .3s ease;z-index:999;display:flex;flex-direction:column;padding-top:0}.side-nav.open{left:0}.nav-header{padding:20px;border-bottom:1px solid rgba(255,255,255,.1);justify-content:space-between}.nav-header,.new-chat-btn{display:flex;align-items:center}.new-chat-btn{background:linear-gradient(135deg,#00d4ff,#0099cc);color:white;border:none;padding:10px 16px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;gap:8px;transition:all .2s ease;flex:1;justify-content:center}.new-chat-btn:hover{background:linear-gradient(135deg,#0099cc,#007aa3);transform:translateY(-1px)}.close-nav{background:none;border:none;color:#ffffff;cursor:pointer;padding:8px;border-radius:6px;transition:background-color .2s ease;margin-left:12px}.close-nav:hover{background:rgba(255,255,255,.1)}.nav-content{flex:1;padding:20px;overflow-y:auto}.recent-chats h3{font-size:13px;font-weight:600;color:#888;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.chat-list{display:flex;flex-direction:column;gap:4px}.chat-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.chat-item:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.chat-item.active{background:rgba(0,212,255,.1);border-color:rgba(0,212,255,.3)}.chat-info{display:flex;flex-direction:column;gap:2px;flex:1}.chat-title{font-size:13px;font-weight:500;color:#ffffff}.chat-time{font-size:11px;color:#888}.nav-footer{padding:20px;border-top:1px solid rgba(255,255,255,.1)}.user-info{gap:12px;margin-bottom:16px}.user-avatar,.user-info{display:flex;align-items:center}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#00d4ff,#0099cc);justify-content:center;color:white}.user-details{display:flex;flex-direction:column;gap:2px}.username{font-size:13px;font-weight:500;color:#ffffff}.tokens{font-size:11px;color:#888}.faq-btn{background:none;border:1px solid rgba(255,255,255,.1);color:#ffffff;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:12px;display:flex;align-items:center;gap:6px;transition:all .2s ease;width:100%;margin-bottom:12px}.faq-btn:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.2)}.copyright{font-size:10px;color:#666;text-align:center;margin-top:8px}.chat-container{flex:1;margin-top:60px;margin-left:0;display:flex;flex-direction:column;height:calc(100vh - 60px);transition:all .3s ease}@media (max-width:1024px){.chat-container{margin-top:100px;height:calc(100vh - 100px)}}@media (min-width:1025px){.chat-container{margin-top:60px;height:calc(100vh - 60px)}}.chat-window{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:20px}.message{display:flex;gap:12px;max-width:80%;animation:fadeIn .3s ease}.message.user{align-self:flex-end;flex-direction:row-reverse}.message.user .message-image{order:-1;margin-bottom:8px;display:flex;justify-content:flex-end}.message.user .message-image img{max-width:180px;border-radius:12px;border:2px solid rgba(0,212,255,.3);box-shadow:0 4px 12px rgba(0,212,255,.2);transition:transform .2s ease,box-shadow .2s ease}.message.user .message-image img:hover{transform:scale(1.02);box-shadow:0 6px 16px rgba(0,212,255,.3)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.analysis-loading{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border-radius:12px;border:1px solid #333;margin:8px 0}.analysis-loading .loading-dots{display:flex;gap:4px}.analysis-loading .loading-dot{width:8px;height:8px;border-radius:50%;background:#00d4ff;animation:loadingPulse 1.4s ease-in-out infinite both}.analysis-loading .loading-dot:first-child{animation-delay:-.32s}.analysis-loading .loading-dot:nth-child(2){animation-delay:-.16s}.analysis-loading .loading-dot:nth-child(3){animation-delay:0s}@keyframes loadingPulse{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.message.ai{align-self:flex-start}.message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.message.user .message-avatar{background:linear-gradient(135deg,#00d4ff,#0099cc);color:white}.message.ai .message-avatar{background:linear-gradient(135deg,#666,#888);color:white}.message-content{display:flex;flex-direction:column;gap:8px;flex:1}.message-text{background:rgba(255,255,255,.05);padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.5;border:1px solid rgba(255,255,255,.1)}.message-text h1{font-size:18px}.message-text h2{font-size:16px}.message-text h3{font-size:15px}.message-text h4{font-size:14px}.message-text strong{font-weight:600;color:#ffffff}.message-text code{background:rgba(0,212,255,.1);padding:2px 4px;border-radius:4px;font-family:Courier New,monospace;font-size:13px}.message-text pre{background:rgba(0,0,0,.3);padding:12px;border-radius:8px;overflow-x:auto;margin:8px 0}.message-text blockquote{border-left:3px solid #00d4ff;padding-left:12px;margin:8px 0;color:#ccc}.message-text{white-space:pre-wrap;line-height:1.3}.message-text p{margin:2px 0}.message-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.message-text h1,.message-text h2,.message-text h3,.message-text h4,.message-text h5,.message-text h6{margin:4px 0 2px;font-weight:600;color:#00d4ff}.message-text ol,.message-text ul{margin:2px 0;padding-left:20px}.message-text li{margin:1px 0}.message-text p:first-child{margin-bottom:1px}.message-text p{margin:1px 0}.message-text p+p{margin-top:1px}.message.user .message-text{background:linear-gradient(135deg,#00d4ff,#0099cc);color:white;border:none}.message-image{margin-bottom:8px}.message-image img{max-width:200px;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.message-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.message-time{font-size:11px;color:#888}.message-share-btn{background:rgba(255,255,255,.1);color:#ffffff;border:1px solid rgba(255,255,255,.1);padding:4px 8px;border-radius:6px;cursor:pointer;font-size:11px;display:flex;align-items:center;gap:4px;transition:all .2s ease}.message-share-btn:hover{background:rgba(0,212,255,.1);color:#00d4ff;border-color:rgba(0,212,255,.3)}.message-share-btn svg{width:12px;height:12px}.typing-indicator{display:flex;gap:4px;padding:12px 16px}.typing-indicator span{width:6px;height:6px;border-radius:50%;background:#00d4ff;animation:typing 1.4s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}.input-container{padding:20px;border-top:1px solid rgba(255,255,255,.1);background:rgba(10,10,10,.95);backdrop-filter:blur(20px);position:sticky;bottom:0;z-index:100}.allergy-input-wrapper{margin-bottom:12px}.allergy-input{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 12px;color:#ffffff;font-size:14px;outline:none;transition:all .2s ease}.allergy-input:focus{border-color:rgba(0,212,255,.5);background:rgba(255,255,255,.08)}.allergy-input::placeholder{color:#888}.input-wrapper{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:8px;transition:all .2s ease}.input-wrapper:focus-within{border-color:rgba(0,212,255,.5);background:rgba(255,255,255,.08)}.file-input{display:none}.camera-btn,.upload-btn{background:none;border:none;color:#888;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.camera-btn:hover,.upload-btn:hover{background:rgba(255,255,255,.1);color:#ffffff}.camera-btn:disabled{opacity:.6;cursor:not-allowed}.camera-btn.camera-unavailable{opacity:.4;cursor:not-allowed;position:relative}.camera-btn.camera-unavailable:after{transform:translate(-50%,-50%) rotate(45deg)}.camera-btn.camera-unavailable:after,.camera-btn.camera-unavailable:before{content:"";position:absolute;top:50%;left:50%;width:2px;height:20px;background:#ff4444;border-radius:1px}.camera-btn.camera-unavailable:before{transform:translate(-50%,-50%) rotate(-45deg)}.camera-loading{display:flex;gap:2px;align-items:center;justify-content:center}.camera-loading span{width:4px;height:4px;border-radius:50%;background:#00d4ff;animation:cameraLoading 1.4s ease-in-out infinite}.camera-loading span:nth-child(2){animation-delay:.2s}.camera-loading span:nth-child(3){animation-delay:.4s}@keyframes cameraLoading{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.text-input-wrapper{flex:1;display:flex;align-items:center;gap:8px;position:relative}.text-input{flex:1;background:none;border:none;color:#ffffff;font-size:14px;padding:8px 12px;outline:none}.text-input::placeholder{color:#888}.send-btn{background:none;color:#888;padding:8px;border-radius:6px;justify-content:center;position:relative;z-index:10}.send-btn:hover:not(:disabled){background:rgba(255,255,255,.1);color:#ffffff}.send-btn:disabled{opacity:.5;cursor:not-allowed}.install-banner{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,#00d4ff,#0099cc);color:white;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;z-index:1001;animation:slideUp .3s ease}.install-banner button{background:white;color:#00d4ff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-weight:500;font-size:12px;transition:all .2s ease}.install-banner button:hover{background:#f0f0f0;transform:translateY(-1px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}.modal-content{background:rgba(10,10,10,.95);backdrop-filter:blur(20px);color:#ffffff;border-radius:12px;padding:24px;max-width:500px;width:90%;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 40px rgba(0,0,0,.5);animation:slideIn .3s ease}.modal-content h2{margin-bottom:16px;color:#00d4ff;font-size:18px;font-weight:600}.modal-content ul{list-style:none;margin-bottom:20px}.modal-content li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:13px;line-height:1.5}.modal-content button{background:linear-gradient(135deg,#00d4ff,#0099cc);color:white;border:none;padding:10px 16px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;margin:4px;transition:all .2s ease}.modal-content button:hover{background:linear-gradient(135deg,#0099cc,#007aa3);transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}@media (min-width:769px){.side-nav{left:0;top:60px;height:calc(100vh - 60px);padding-top:0}.chat-container{margin-left:280px;margin-top:60px}.burger-btn,.close-nav{display:none}}@media (max-width:768px){.header{padding:12px 16px}.logo{font-size:17px}.language-select{font-size:12px;padding:3px 6px;min-width:35px;max-width:50px}.auth-btn{font-size:13px;padding:6px 12px}.side-nav{width:100%;left:-100%;top:60px;height:calc(100vh - 60px);padding-top:0}.side-nav.open{left:0}.close-nav{display:flex}.chat-container{margin-left:0;margin-top:100px;height:calc(100vh - 100px);padding:0}.chat-window{padding-bottom:120px}.message{max-width:90%}.message-text{font-size:15px;padding:12px 16px}.input-container{padding:12px 16px;position:fixed;bottom:0;left:0;right:0;border-radius:0}.input-wrapper{gap:6px}.text-input{font-size:15px;padding:12px 14px}.camera-btn,.send-btn,.upload-btn{min-width:36px;height:36px;padding:6px}.text-input-wrapper{gap:4px}.send-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-width:32px;height:32px;padding:4px;border-radius:50%}.text-input{padding-right:38px}.install-content{padding:6px 16px;font-size:12px}.install-actions button{font-size:10px;padding:3px 6px}}@media (max-width:480px){.header{padding:10px 12px;height:56px}.logo{font-size:15px}.header-right{gap:8px}.language-select{font-size:11px;padding:2px 4px;min-width:30px;max-width:45px}.auth-btn{font-size:12px;padding:5px 10px}.chat-container{margin-top:56px;height:calc(100vh - 56px)}.chat-window{padding-bottom:100px}.message-text{font-size:14px;padding:10px 14px}.input-container{padding:8px 12px;position:fixed;bottom:0;left:0;right:0}.input-wrapper{gap:4px}.text-input{font-size:14px;padding:10px 12px}.camera-btn,.send-btn,.upload-btn{min-width:32px;height:32px;padding:4px}.send-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-width:28px;height:28px;padding:2px;border-radius:50%}.text-input{padding-right:32px}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:rgba(255,255,255,.05)}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.3)}button:focus,input:focus,select:focus{outline:2px solid #00d4ff;outline-offset:2px}.loading{opacity:.6;pointer-events:none}.capture-btn{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,#00d4ff,#0099cc);border:4px solid rgba(255,255,255,.3);color:white;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 4px 20px rgba(0,212,255,.3)}.capture-btn:hover{background:linear-gradient(135deg,#0099cc,#007aa3);transform:scale(1.05);box-shadow:0 6px 25px rgba(0,212,255,.4)}.captured-image{width:100%;height:100%;object-fit:cover;border-radius:8px}.retake-btn{padding:12px 20px;background:#666;border:none;color:white;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;transition:all .2s ease}.retake-btn:hover{background:#777}.send-btn{padding:12px 20px;background:#00d4ff;border:none;color:white;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;transition:all .2s ease}.send-btn:hover{background:#00b8e6}.capture-btn:active{transform:scale(.95)}@media (max-width:768px){.camera-modal-content{max-width:100vw;max-height:100vh;border-radius:0;width:100%;height:100%}.camera-header{padding:12px 16px}.camera-header h3{font-size:16px}.camera-controls{padding:16px}.capture-btn{width:60px;height:60px}}@media (max-width:480px){.camera-header{padding:10px 12px}.camera-header h3{font-size:14px}.camera-controls{padding:12px}.capture-btn{width:50px;height:50px}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8d697b304b401681-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba015fad6dcf6784-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4cf2300e9c8272f7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_188709{font-family:Geist,Geist Fallback;font-style:normal}.__variable_188709{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/747892c23ea88013-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/93f479601ee12b01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9a8899{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_9a8899{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}