:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;--primary-color: #667eea;--secondary-color: #764ba2;--success-color: #2ed573;--error-color: #ff4757;--warning-color: #ffa502;--info-color: #3742fa;--text-primary: #2c3e50;--text-secondary: #7f8c8d;--text-light: #bdc3c7;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--border-color: #dee2e6;--border-radius: 8px;--box-shadow: 0 2px 10px rgba(0, 0, 0, .1);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;padding:0;height:100%;overflow-x:hidden;background:var(--bg-secondary);color:var(--text-primary);font-size:16px}body{min-height:100vh;overflow-y:auto}#root{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin:0 0 1rem;line-height:1.6}a{color:var(--primary-color);text-decoration:none;transition:color .2s ease}a:hover{color:var(--secondary-color)}button{border:none;border-radius:var(--border-radius);padding:.75rem 1.5rem;font-size:1rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;background:var(--primary-color);color:#fff}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00000026}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.6;cursor:not-allowed;transform:none}input,textarea,select{border:1px solid var(--border-color);border-radius:var(--border-radius);padding:.75rem;font-size:1rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;background:var(--bg-primary);color:var(--text-primary)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.p-0{padding:0}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}.d-flex{display:flex}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-none{display:none}.flex-column{flex-direction:column}.flex-row{flex-direction:row}.align-items-center{align-items:center}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.w-100{width:100%}.h-100{height:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--text-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@media (max-width: 768px){:root{font-size:14px}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}button{padding:.625rem 1.25rem;font-size:.9rem}}@media (max-width: 480px){:root{font-size:13px}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#fff,#f8f9fa,#e9ecef);color:#1a1a1a;min-height:100vh;overflow-y:auto;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app{min-height:100vh;background:linear-gradient(135deg,#fff,#f8f9fa,#e9ecef);overflow-y:auto;overflow-x:hidden}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:12px;font-weight:600;text-decoration:none;transition:all .3s ease;border:none;cursor:pointer;font-size:1rem}.btn-primary{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;box-shadow:0 4px 16px #4caf504d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #4caf5066}.btn-secondary{background:#ffffffe6;color:#1a1a1a;border:1px solid rgba(76,175,80,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:#4caf501a;transform:translateY(-2px)}.btn-outline{background:transparent;color:#1a1a1a;border:2px solid rgba(76,175,80,.3)}.btn-outline:hover{background:#4caf501a;border-color:#4caf5080}.btn-large{padding:20px 40px;font-size:1.1rem}input,textarea,select{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:none}.fade-in{animation:fadeIn .5s ease-out}.slide-up{animation:slideUp .5s ease-out}.slide-down{animation:slideDown .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}@media (max-width: 768px){.hide-mobile{display:none!important}}@media (min-width: 769px){.hide-desktop{display:none!important}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#4caf501a}::-webkit-scrollbar-thumb{background:#4caf5080;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#4caf50b3}*:focus{outline:2px solid rgba(76,175,80,.5);outline-offset:2px}::selection{background:#4caf504d;color:#1a1a1a}::-moz-selection{background:#4caf504d;color:#1a1a1a}.app-header{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem 0;text-align:center;border-bottom:1px solid rgba(255,255,255,.2)}.header-content{max-width:1200px;margin:0 auto;padding:0 2rem}.logo{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.5rem}.logo-icon{color:#fff}.app-header h1{color:#fff;font-size:2.5rem;font-weight:700;margin:0}.tagline{color:#fffc;font-size:1.1rem;margin:0}.tab-navigation{display:flex;justify-content:center;gap:1rem;padding:1rem 2rem;background:#ffffff0d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.tab-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fffc;cursor:pointer;transition:all .3s ease;font-size:.9rem;font-weight:500}.tab-button:hover:not(:disabled){background:#fff3;color:#fff;transform:translateY(-2px)}.tab-button.active{background:#ffffffe6;color:#667eea;border-color:#ffffff80}.tab-button:disabled{opacity:.5;cursor:not-allowed}.main-content{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.tab-content{background:#fffffff2;border-radius:16px;padding:2rem;box-shadow:0 20px 40px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.image-upload{display:flex;flex-direction:column;gap:2rem}.upload-section h2{color:#333;margin-bottom:.5rem}.upload-section p{color:#666;margin-bottom:1.5rem}.upload-area{border:2px dashed #ddd;border-radius:12px;padding:3rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#fafafa}.upload-area:hover{border-color:#667eea;background:#f0f4ff}.upload-area.drag-active{border-color:#667eea;background:#e8f2ff;transform:scale(1.02)}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#666}.upload-placeholder svg{color:#999}.upload-placeholder h3{margin:0;font-size:1.2rem}.file-types{font-size:.9rem;color:#999}.preview-container{position:relative;display:inline-block}.preview-image{max-width:100%;max-height:300px;border-radius:8px;box-shadow:0 4px 12px #0000001a}.clear-button{position:absolute;top:-10px;right:-10px;background:#ff4757;color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0003}.context-section h3{color:#333;margin-bottom:1rem}.context-input{width:100%;padding:1rem;border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:.9rem;resize:vertical;min-height:100px}.context-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.action-section{display:flex;justify-content:center}.analyze-button{display:flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.analyze-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea4d}.analyze-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.analysis-results{max-width:1200px;margin:0 auto;padding:20px}.results-header{text-align:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px}.results-header h2{margin:10px 0;font-size:2rem;font-weight:700}.results-header p{font-size:1.1rem;opacity:.9}.results-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}.result-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000001a;border:1px solid #e5e7eb}.result-card h3{display:flex;align-items:center;gap:8px;margin:0 0 20px;font-size:1.25rem;font-weight:600;color:#1f2937}.nutrition-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.stat-item{text-align:center;padding:16px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:4px}.stat-label{font-size:.875rem;color:#6b7280;font-weight:500}.food-list{max-height:400px;overflow-y:auto}.food-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f1f5f9}.food-item:last-child{border-bottom:none}.food-info{flex:1}.food-name{display:block;font-weight:600;color:#1f2937;margin-bottom:4px}.confidence{font-size:.75rem;color:#6b7280;background:#f3f4f6;padding:2px 6px;border-radius:4px}.food-nutrition{display:flex;gap:12px;font-size:.875rem;color:#6b7280}.analysis-content{background:#f8fafc;border-radius:8px;padding:16px;border:1px solid #e2e8f0}.analysis-content pre{margin:0;white-space:pre-wrap;font-family:inherit;line-height:1.6;color:#374151}.no-items{text-align:center;padding:40px 20px;color:#6b7280}.confidence-info,.processing-info{margin-top:20px}.confidence-info h3,.processing-info h3{margin:0 0 12px;font-size:1.1rem;font-weight:600;color:#1f2937}.confidence-info p,.processing-info p{margin:8px 0;color:#6b7280}.analysis-results.error{text-align:center;padding:40px 20px}.error-card{background:#fff;border-radius:12px;padding:40px;box-shadow:0 4px 6px #0000001a;border:1px solid #fecaca;max-width:500px;margin:0 auto}.error-icon{color:#ef4444;margin-bottom:16px}.error-card h2{color:#dc2626;margin:16px 0;font-size:1.5rem}.error-card p{color:#6b7280;margin:8px 0}.error-description{font-size:.875rem;color:#9ca3af}.nutrition-charts{display:flex;flex-direction:column;gap:2rem}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.chart-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000001a}.chart-card h3{margin-bottom:1rem;color:#333;text-align:center}.macro-legend{display:flex;justify-content:center;gap:1rem;margin-top:1rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.legend-color{width:12px;height:12px;border-radius:2px}.chart-tooltip{background:#fff;border:1px solid #ddd;border-radius:4px;padding:.5rem;box-shadow:0 2px 8px #0000001a}.tooltip-label{font-weight:600;margin-bottom:.25rem}.history-view{display:flex;flex-direction:column;gap:2rem}.history-view.empty{justify-content:center;align-items:center;min-height:400px}.empty-state{text-align:center;color:#666}.empty-icon{color:#ccc;margin-bottom:1rem}.history-header h2{display:flex;align-items:center;gap:.5rem;color:#333;margin-bottom:.5rem}.history-list{display:flex;flex-direction:column;gap:1rem}.history-item{display:flex;background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000001a;border:1px solid #eee}.history-content{display:flex;gap:1rem;flex:1}.history-image{flex-shrink:0}.history-image img{width:80px;height:80px;object-fit:cover;border-radius:8px}.history-details{flex:1}.history-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.timestamp{font-size:.9rem;color:#666}.status{padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600}.status.success{background:#d4edda;color:#155724}.status.error{background:#f8d7da;color:#721c24}.description{margin:0 0 1rem;color:#333;font-size:1rem}.nutrition-summary{display:flex;gap:1rem;margin-bottom:.5rem}.nutrition-item{display:flex;gap:.25rem;font-size:.9rem}.nutrition-item .label{color:#666}.nutrition-item .value{font-weight:600;color:#333}.context{font-size:.9rem;color:#666}.context-label{font-weight:600}.history-actions{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.action-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-size:.9rem;transition:all .2s ease}.action-button:hover{background:#f8f9fa}.action-button.view{color:#667eea;border-color:#667eea}.action-button.view:hover{background:#f0f4ff}.app-footer{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 2rem;text-align:center;border-top:1px solid rgba(255,255,255,.2);color:#fffc;font-size:.9rem}.status-container{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1200px;margin:0 auto;padding:20px}.status-info{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.status-info h3{margin:0 0 16px;font-size:1.25rem;font-weight:600;color:#1f2937}.status-info p{margin:0 0 20px;color:#6b7280;line-height:1.6}.features-list h4{margin:0 0 12px;font-size:1rem;font-weight:600;color:#374151}.features-list ul{margin:0;padding-left:20px;color:#6b7280}.features-list li{margin-bottom:8px;line-height:1.5}.backend-status{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000001a}.status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.status-content>div{margin-bottom:16px}.status-content>div:last-child{margin-bottom:0}.health-info>div{margin-bottom:4px}.health-info>div:last-child{margin-bottom:0}.models-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.model-item{display:flex;flex-direction:column;gap:2px;padding:8px;background:#f9fafb;border-radius:4px}.status-loading{text-align:center;padding:20px;color:#6b7280}@media (max-width: 768px){.main-content{padding:1rem}.tab-navigation{flex-wrap:wrap;gap:.5rem}.tab-button{padding:.5rem 1rem;font-size:.8rem}.results-grid,.charts-grid,.nutrition-stats{grid-template-columns:1fr}.history-content{flex-direction:column}.history-image img{width:100%;height:200px}.status-container{grid-template-columns:1fr;gap:16px;padding:16px}.models-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}}.trends-view{display:flex;flex-direction:column;gap:2rem}.trends-header h2{display:flex;align-items:center;gap:.5rem;color:#333;margin-bottom:.5rem}.trends-header p{color:#666;margin:0}.period-selector{display:flex;gap:.5rem;justify-content:center;margin-bottom:1rem}.period-button{padding:.5rem 1rem;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:.9rem}.period-button:hover{background:#f8f9fa;border-color:#667eea}.period-button.active{background:#667eea;color:#fff;border-color:#667eea}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{display:flex;align-items:center;gap:1rem;background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 12px #0000001a;border:1px solid #eee}.stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff}.stat-value{font-size:1.5rem;font-weight:700;color:#333;line-height:1}.stat-label{font-size:.9rem;color:#666;margin-top:.25rem}.charts-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.no-data{text-align:center;padding:4rem 2rem;color:#666}.no-data-icon{color:#ccc;margin-bottom:1rem}.no-data h3{margin-bottom:.5rem;color:#333}.no-data p{margin:0;font-size:1rem}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{padding:1rem;gap:.75rem}.stat-icon{width:40px;height:40px}.stat-value{font-size:1.25rem}.charts-container{grid-template-columns:1fr}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.period-selector{flex-direction:column;align-items:center}.period-button{width:100%;max-width:200px}}.expert-details{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:30px}.processing-details{display:grid;gap:12px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.detail-label{font-weight:600;color:#374151;font-size:.875rem}.detail-value{color:#6b7280;font-size:.875rem;font-family:Courier New,monospace}.session-id{font-size:.75rem;color:#9ca3af}.insights-list{display:flex;flex-direction:column;gap:8px}.insight-item{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;background:#f0f9ff;border-radius:6px;border-left:3px solid #0ea5e9}.insight-bullet{color:#0ea5e9;font-weight:700;font-size:1.2rem;line-height:1;margin-top:2px}.insight-text{color:#0c4a6e;font-size:.875rem;line-height:1.4}.detected-foods-list{display:flex;flex-wrap:wrap;gap:8px}.detected-food-tag{display:inline-block;padding:4px 8px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:12px;font-size:.75rem;color:#374151;font-weight:500}.processing-info{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #cbd5e1}.processing-info h3{color:#1e293b}.insights{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd}.insights h3{color:#0c4a6e}.detected-foods{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24}.detected-foods h3{color:#92400e}.detected-food-tag{background:#fffc;border:1px solid #f59e0b;color:#92400e}@media (max-width: 768px){.expert-details{grid-template-columns:1fr;gap:16px}.detail-item{flex-direction:column;align-items:flex-start;gap:4px}.detected-foods-list{justify-content:flex-start}.insight-item{padding:12px}}.landing-page{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:#1a1a1a;overflow-x:hidden;overflow-y:auto;opacity:0;transform:translateY(20px);transition:all .8s ease}.landing-page.visible{opacity:1;transform:translateY(0)}.hero-section{min-height:100vh;position:relative;display:flex;align-items:center;background:linear-gradient(135deg,#fff,#fafafa,#f8f9fa);overflow-x:hidden;overflow-y:auto}.hero-background{position:absolute;inset:0;z-index:1}.animated-background{position:relative;width:100%;height:100%}.floating-shapes{position:absolute;width:100%;height:100%}.shape{position:absolute;border-radius:50%;background:linear-gradient(135deg,#4caf501a,#4caf500d);animation:float 20s ease-in-out infinite}.shape-1{width:120px;height:120px;top:10%;left:10%;animation-delay:0s}.shape-2{width:80px;height:80px;top:20%;right:15%;animation-delay:2s}.shape-3{width:100px;height:100px;bottom:20%;left:20%;animation-delay:4s}.shape-4{width:60px;height:60px;bottom:30%;right:10%;animation-delay:6s}.shape-5{width:90px;height:90px;top:50%;left:50%;animation-delay:8s}@keyframes float{0%,to{transform:translateY(0) rotate(0);opacity:.3}50%{transform:translateY(-30px) rotate(180deg);opacity:.6}}.gradient-overlay{position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(76,175,80,.03) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(76,175,80,.02) 0%,transparent 50%);pointer-events:none}.hero-content{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;min-height:100vh}.hero-text{animation:slideInLeft 1s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#4caf501a,#4caf500d);color:#4caf50;padding:8px 16px;border-radius:50px;font-size:.9rem;font-weight:600;margin-bottom:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(76,175,80,.2);animation:fadeInUp 1s ease-out .2s both}.hero-title{font-size:4rem;font-weight:800;line-height:1.1;margin-bottom:24px;letter-spacing:-1px;animation:fadeInUp 1s ease-out .4s both}.gradient-text{background:linear-gradient(135deg,#4caf50,#66bb6a,#81c784);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.3rem;color:#666;line-height:1.6;margin-bottom:40px;animation:fadeInUp 1s ease-out .6s both}.hero-stats{display:flex;gap:32px;margin-bottom:40px;animation:fadeInUp 1s ease-out .8s both}.stat-item{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#ffffffe6;border-radius:16px;border:1px solid rgba(76,175,80,.1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all .3s ease}.stat-item:hover{transform:translateY(-4px);box-shadow:0 12px 32px #4caf5026;border-color:#4caf5033}.stat-icon{width:40px;height:40px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:1.2rem;font-weight:700;color:#1a1a1a}.stat-label{font-size:.9rem;color:#666;font-weight:500}.hero-buttons{display:flex;gap:16px;margin-bottom:40px;animation:fadeInUp 1s ease-out 1s both}.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 32px;border:none;border-radius:16px;font-weight:600;font-size:1.1rem;cursor:pointer;transition:all .3s ease;text-decoration:none;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;box-shadow:0 8px 32px #4caf504d}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 40px #4caf5066}.btn-secondary{background:#ffffffe6;color:#1a1a1a;border:2px solid rgba(76,175,80,.2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.btn-secondary:hover{background:#fff;border-color:#4caf50;transform:translateY(-3px);box-shadow:0 12px 32px #4caf5026}.btn-large{padding:18px 36px;font-size:1.2rem}.hero-trust{animation:fadeInUp 1s ease-out 1.2s both}.trust-badges{display:flex;gap:16px;flex-wrap:wrap}.badge{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fffc;border-radius:20px;font-size:.9rem;color:#666;border:1px solid rgba(76,175,80,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.badge:hover{background:#4caf500d;color:#4caf50;transform:translateY(-2px)}.hero-visual{animation:slideInRight 1s ease-out .5s both}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.app-showcase{position:relative;display:flex;justify-content:center;align-items:center}.phone-mockup{position:relative;width:300px;height:600px;background:linear-gradient(135deg,#1a1a1a,#333);border-radius:40px;padding:8px;box-shadow:0 20px 60px #0000004d,0 8px 32px #4caf5033;animation:float 6s ease-in-out infinite}.phone-screen{width:100%;height:100%;background:#fff;border-radius:32px;overflow:hidden;position:relative}.app-preview{height:100%;display:flex;flex-direction:column}.preview-header{display:flex;align-items:center;gap:12px;padding:20px;background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.preview-logo{width:40px;height:40px;background:#fff3;border-radius:12px;display:flex;align-items:center;justify-content:center}.preview-content{flex:1;padding:20px;display:flex;flex-direction:column;gap:20px}.preview-image{height:200px;background:linear-gradient(135deg,#f0f0f0,#e0e0e0);border-radius:16px;position:relative;overflow:hidden}.food-overlay{position:absolute;top:16px;right:16px;background:#4caf50e6;color:#fff;padding:8px 12px;border-radius:20px;display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:600}.preview-results{display:flex;flex-direction:column;gap:12px}.result-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#4caf500d;border-radius:12px;border:1px solid rgba(76,175,80,.1)}.floating-cards{position:absolute;width:100%;height:100%;pointer-events:none}.floating-card{position:absolute;background:#fffffff2;border-radius:16px;padding:16px;box-shadow:0 12px 32px #0000001a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(76,175,80,.1);animation:float 8s ease-in-out infinite}.card-1{top:10%;left:-20%;animation-delay:0s}.card-2{top:30%;right:-15%;animation-delay:2s}.card-3{bottom:20%;left:-10%;animation-delay:4s}.card-icon{width:32px;height:32px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:8px}.card-content{text-align:center}.card-value{font-size:1.2rem;font-weight:700;color:#1a1a1a}.card-label{font-size:.8rem;color:#666}.container{max-width:1400px;margin:0 auto;padding:0 20px}.section-header{text-align:center;margin-bottom:80px}.section-header h2{font-size:3rem;font-weight:700;color:#1a1a1a;margin-bottom:16px;letter-spacing:-1px}.features-section{padding:120px 0;background:#ffffff80}.feature-card{background:#fffffffa;border:1px solid rgba(76,175,80,.08);border-radius:24px;padding:40px 32px;text-align:center;transition:all .4s ease;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 12px 40px #00000008,0 4px 20px #4caf5008;position:relative;overflow:hidden;transform:translateY(0)}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--feature-color);border-radius:24px 24px 0 0}.feature-card:hover,.feature-card.active{transform:translateY(-8px);box-shadow:0 20px 50px #0000000f,0 8px 24px #4caf500f;border-color:#4caf5026}.feature-icon-wrapper{width:80px;height:80px;border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#fff;box-shadow:0 12px 32px #00000026;transition:all .3s ease;position:relative}.feature-card:hover .feature-icon-wrapper{transform:scale(1.1) rotate(3deg);box-shadow:0 16px 40px #0003}.feature-icon{width:48px;height:48px;color:#fff}.feature-card h3{font-size:1.4rem;font-weight:600;color:#1a1a1a;margin-bottom:16px;transition:all .3s ease;letter-spacing:-.3px}.feature-card:hover h3{color:var(--feature-color)}.feature-indicator{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--feature-color);transform:scaleX(0);transition:transform .3s ease}.feature-card.active .feature-indicator{transform:scaleX(1)}.stats-section{padding:120px 0;background:linear-gradient(135deg,#fff,#fafafa,#f8f9fa)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px}.stat-card{background:#fffffffa;border:1px solid rgba(76,175,80,.08);border-radius:20px;padding:32px 24px;text-align:center;transition:all .3s ease;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 8px 32px #00000008,0 4px 16px #4caf5008;position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px #0000000f,0 8px 24px #4caf500f;border-color:#4caf5026}.stat-icon{width:60px;height:60px;background:var(--stat-color);border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff;box-shadow:0 8px 24px #00000026;transition:all .3s ease}.stat-label{font-size:1rem;color:#666;font-weight:500}.how-it-works-section{padding:120px 0;background:#ffffff80}.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px}.step-card{background:#fffffffa;border:1px solid rgba(76,175,80,.08);border-radius:24px;padding:40px 32px;text-align:center;transition:all .4s ease;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 12px 40px #00000008,0 4px 20px #4caf5008;position:relative;overflow:hidden}.step-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:24px 24px 0 0}.step-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px #0000000f,0 8px 24px #4caf500f;border-color:#4caf5026}.step-number{position:absolute;top:20px;right:20px;width:40px;height:40px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.1rem}.step-icon{width:80px;height:80px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#fff;box-shadow:0 12px 32px #4caf504d;transition:all .3s ease}.step-card:hover .step-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 16px 40px #4caf5066}.step-card h3{font-size:1.4rem;font-weight:600;color:#1a1a1a;margin-bottom:16px;letter-spacing:-.3px}.step-card p{color:#666;line-height:1.6;font-size:1rem;font-weight:400}.testimonials-section{padding:120px 0;background:#ffffff80}.testimonials-container{position:relative;max-width:800px;margin:0 auto}.testimonials-track{position:relative;height:400px}.testimonial-card{position:absolute;top:0;left:0;right:0;background:#fffffffa;border:1px solid rgba(76,175,80,.08);border-radius:24px;padding:40px;box-shadow:0 20px 60px #0000000d,0 8px 32px #4caf500d;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);opacity:0;transform:translate(50px);transition:all .5s ease}.testimonial-card.active{opacity:1;transform:translate(0)}.testimonial-content{margin-bottom:32px}.testimonial-quote{color:#4caf50;margin-bottom:20px}.testimonial-content p{font-size:1.2rem;line-height:1.6;color:#1a1a1a;font-style:italic}.testimonial-author{display:flex;align-items:center;gap:16px}.author-avatar{width:60px;height:60px;border-radius:50%;overflow:hidden;border:3px solid rgba(76,175,80,.2)}.author-avatar img{width:100%;height:100%;object-fit:cover}.author-info h4{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin-bottom:4px}.author-info p{font-size:.9rem;color:#666;margin-bottom:8px}.author-rating{display:flex;gap:4px;color:#ffc107}.testimonials-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:40px}.control-btn{width:48px;height:48px;border:none;background:#ffffffe6;border:1px solid rgba(76,175,80,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#4caf50;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.control-btn:hover{background:#fff;border-color:#4caf50;transform:scale(1.1);box-shadow:0 8px 24px #4caf5033}.testimonial-dots{display:flex;gap:8px}.dot{width:12px;height:12px;border:none;background:#4caf5033;border-radius:50%;cursor:pointer;transition:all .3s ease}.dot.active{background:#4caf50;transform:scale(1.2)}.benefits-section{padding:120px 0;background:linear-gradient(135deg,#fff,#fafafa,#f8f9fa)}.benefits-content{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.benefits-text h2{font-size:2.5rem;font-weight:700;color:#1a1a1a;margin-bottom:24px;letter-spacing:-.8px}.benefits-text p{font-size:1.2rem;color:#666;line-height:1.6;margin-bottom:40px}.benefits-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:40px}.benefit-item{display:flex;align-items:flex-start;gap:16px;padding:20px;background:#fffc;border:1px solid rgba(76,175,80,.08);border-radius:16px;transition:all .3s ease}.benefit-item:hover{background:#4caf5008;border-color:#4caf5033;transform:translateY(-2px);box-shadow:0 8px 24px #4caf501a}.benefit-icon{width:48px;height:48px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;transition:all .3s ease}.benefit-item:hover .benefit-icon{transform:scale(1.1) rotate(5deg)}.benefit-content h4{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin-bottom:8px}.benefit-content p{font-size:.95rem;color:#666;line-height:1.5;margin:0}.benefits-visual{position:relative}.dashboard-preview{background:#fffffffa;border:1px solid rgba(76,175,80,.08);border-radius:24px;padding:32px;box-shadow:0 20px 60px #0000000d,0 8px 32px #4caf500d;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);position:relative;overflow:hidden}.dashboard-preview:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:24px 24px 0 0}.preview-header{margin-bottom:24px}.preview-tabs{display:flex;gap:8px;background:#4caf500d;border-radius:12px;padding:4px}.tab{flex:1;padding:8px 16px;border-radius:8px;font-size:.9rem;font-weight:500;color:#666;cursor:pointer;transition:all .3s ease}.tab.active{background:#fff;color:#4caf50;box-shadow:0 2px 8px #4caf5033}.preview-chart{margin-bottom:24px}.chart-container{position:relative;height:200px;background:linear-gradient(135deg,#4caf500d,#4caf5005);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#4caf50}.chart-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.chart-metric{display:flex;flex-direction:column;gap:4px}.chart-metric span:first-child{font-size:.9rem;color:#666;font-weight:500}.chart-metric span:last-child{font-size:1.5rem;font-weight:700;color:#1a1a1a}.preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-preview{display:flex;align-items:center;gap:12px;padding:16px;background:#fffc;border:1px solid rgba(76,175,80,.08);border-radius:12px;transition:all .3s ease}.stat-preview:hover{background:#4caf5008;border-color:#4caf5033;transform:translateY(-2px)}.stat-preview .stat-icon{width:32px;height:32px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.stat-preview .stat-content{display:flex;flex-direction:column;gap:2px}.stat-preview .stat-content span:first-child{font-size:.8rem;color:#666;font-weight:500}.stat-preview .stat-content span:last-child{font-size:1rem;font-weight:600;color:#1a1a1a}.platforms-section{padding:120px 0;background:linear-gradient(135deg,#fff,#fafafa,#f8f9fa)}.platforms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px}.platform-card{background:#fffffffa;border:1px solid rgba(76,175,80,.08);border-radius:20px;padding:32px 24px;text-align:center;transition:all .3s ease;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 8px 32px #00000008,0 4px 16px #4caf5008;position:relative;overflow:hidden}.platform-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--platform-color);border-radius:20px 20px 0 0}.platform-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px #0000000f,0 8px 24px #4caf500f;border-color:#4caf5026}.platform-icon{width:64px;height:64px;background:var(--platform-color);border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff;box-shadow:0 8px 24px #00000026;transition:all .3s ease}.platform-card:hover .platform-icon{transform:scale(1.1);box-shadow:0 12px 32px #0003}.platform-card h3{font-size:1.2rem;font-weight:600;color:#1a1a1a;margin-bottom:12px}.platform-status{margin-top:16px}.status{display:inline-block;padding:6px 16px;border-radius:20px;font-size:.9rem;font-weight:500}.status.available{background:#4caf501a;color:#4caf50;border:1px solid rgba(76,175,80,.2)}.status.coming-soon{background:#ff98001a;color:#ff9800;border:1px solid rgba(255,152,0,.2)}.cta-section{padding:120px 0;background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;text-align:center}.cta-badge{display:inline-flex;align-items:center;gap:8px;background:#fff3;color:#fff;padding:8px 16px;border-radius:50px;font-size:.9rem;font-weight:600;margin-bottom:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3)}.cta-content h2{font-size:3rem;font-weight:700;margin-bottom:24px;letter-spacing:-1px}.cta-content p{font-size:1.3rem;margin-bottom:40px;opacity:.9;max-width:600px;margin-left:auto;margin-right:auto}.cta-buttons{display:flex;gap:16px;justify-content:center;margin-bottom:40px}.btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.3)}.btn-outline:hover{background:#ffffff1a;border-color:#fff}.cta-trust{display:flex;gap:32px;justify-content:center;flex-wrap:wrap}.trust-item{display:flex;align-items:center;gap:8px;font-size:.95rem;opacity:.9}.landing-footer{background:#1a1a1a;color:#fff;padding:80px 0 40px}.footer-content{display:grid;grid-template-columns:2fr 3fr;gap:80px;margin-bottom:60px}.footer-brand{max-width:400px}.footer-logo{display:flex;align-items:center;gap:12px;margin-bottom:24px;font-size:1.5rem;font-weight:700;color:#4caf50}.footer-brand p{color:#999;line-height:1.6;margin-bottom:32px}.footer-social{display:flex;gap:16px}.social-link{width:48px;height:48px;background:#ffffff1a;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#999;transition:all .3s ease}.social-link:hover{background:#4caf50;color:#fff;transform:translateY(-2px)}.footer-links{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}.footer-section h4{font-size:1.1rem;font-weight:600;margin-bottom:20px;color:#fff}.footer-section a{display:block;color:#999;text-decoration:none;margin-bottom:12px;transition:all .3s ease}.footer-section a:hover{color:#4caf50;transform:translate(4px)}.footer-bottom{border-top:1px solid #333333;padding-top:40px}.footer-bottom-content{display:flex;justify-content:space-between;align-items:center;color:#999;font-size:.9rem}.footer-bottom-links{display:flex;gap:24px}.footer-bottom-links a{color:#999;text-decoration:none;transition:color .3s ease}.footer-bottom-links a:hover{color:#4caf50}.footer-developer{margin-top:20px;text-align:center;color:#999;font-size:.9rem;border-top:1px solid #333333;padding-top:20px}.footer-developer p{margin:0;line-height:1.6}.footer-developer a{color:#4caf50;text-decoration:none;transition:color .3s ease;font-weight:600}.footer-developer a:hover{color:#45a049;text-decoration:underline}.floating-health-cards{position:absolute;inset:0;pointer-events:none}.health-card{position:absolute;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(76,175,80,.2);border-radius:16px;padding:16px;color:#1a1a1a;min-width:140px;animation:float 8s ease-in-out infinite;box-shadow:0 8px 32px #4caf501a}.health-card.pulse-card{top:10%;right:-20px;background:#4caf501a;border-color:#4caf504d;animation-delay:1s}.health-card.sleep-card{bottom:20%;right:-40px;background:#4caf501a;border-color:#4caf504d;animation-delay:3s}.health-card.activity-card{bottom:40%;left:-30px;background:#4caf501a;border-color:#4caf504d;animation-delay:5s}.card-header{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:.8rem;font-weight:600;color:#1a1a1a}.card-value{font-size:1.5rem;font-weight:700;margin-bottom:4px;color:#1a1a1a}.card-status{display:flex;align-items:center;gap:4px;font-size:.7rem;color:#666;margin-bottom:4px}.card-details{font-size:.7rem;color:#666}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@media (max-width: 1024px){.hero-content{grid-template-columns:1fr;gap:60px;text-align:center}.hero-title{font-size:3rem}.hero-stats,.trust-badges{justify-content:center}.benefits-content,.footer-content{grid-template-columns:1fr;gap:60px}.footer-links{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.hero-buttons{justify-content:center}.phone-mockup{width:250px;height:500px}.floating-cards{display:none}.features-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.steps-grid,.benefits-grid{grid-template-columns:1fr}.platforms-grid{grid-template-columns:repeat(2,1fr)}.cta-content h2{font-size:2.5rem}.cta-buttons{flex-direction:column}.cta-trust{flex-direction:column;gap:16px}.footer-bottom-content{flex-direction:column;gap:20px;text-align:center}}@media (max-width: 480px){.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.btn{padding:12px 24px;font-size:.9rem}.stats-grid,.platforms-grid{grid-template-columns:1fr}.cta-content h2{font-size:2rem}.footer-links{grid-template-columns:1fr}}.navigation{position:fixed;top:0;left:0;right:0;z-index:1000;background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(76,175,80,.2);transition:all .3s ease}.navigation.scrolled{background:#fffffff2;box-shadow:0 4px 20px #4caf501a}.nav-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:70px}.nav-logo{display:flex;align-items:center;gap:12px;font-size:1.5rem;font-weight:700;color:#1a1a1a;text-decoration:none;transition:all .3s ease}.nav-logo:hover{transform:scale(1.05)}.nav-logo svg{color:#4caf50}.nav-menu{display:flex;align-items:center;gap:8px}.nav-item{display:flex;align-items:center;gap:8px;padding:12px 20px;color:#666;text-decoration:none;border-radius:12px;transition:all .3s ease;font-weight:500;position:relative}.nav-item:hover{background:#4caf501a;color:#4caf50;transform:translateY(-2px)}.nav-item.active{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;box-shadow:0 4px 16px #4caf504d}.nav-item.active:hover{transform:translateY(-2px);box-shadow:0 8px 24px #4caf5066}.nav-actions{display:flex;align-items:center;gap:16px}.nav-profile{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.nav-profile:hover{transform:scale(1.1);box-shadow:0 4px 16px #4caf504d}.nav-toggle{display:none;background:none;border:none;color:#1a1a1a;cursor:pointer;padding:8px;border-radius:8px;transition:all .3s ease}.nav-toggle:hover{background:#4caf501a;color:#4caf50}@media (max-width: 768px){.nav-menu{position:fixed;top:70px;left:0;right:0;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;padding:20px;gap:16px;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease;border-bottom:1px solid rgba(76,175,80,.2)}.nav-menu.open{transform:translateY(0);opacity:1;visibility:visible}.nav-item{width:100%;justify-content:center;padding:16px 24px}.nav-toggle{display:flex;align-items:center;justify-content:center}}.dashboard-page{min-height:100vh;background:linear-gradient(135deg,#fff,#fafafa,#f8f9fa);color:#1a1a1a;padding-top:90px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.dashboard-content{max-width:1400px;margin:0 auto;padding:40px 20px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:24px}.loading-spinner{width:48px;height:48px;border:4px solid rgba(76,175,80,.1);border-left:4px solid #4caf50;border-radius:50%;animation:spin 1s linear infinite}.loading-container p{color:#666;font-size:1.1rem;font-weight:500}.dashboard-header{margin-bottom:60px}.welcome-section{text-align:center}.welcome-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#4caf501a,#4caf500d);color:#4caf50;padding:8px 16px;border-radius:50px;font-size:.9rem;font-weight:600;margin-bottom:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(76,175,80,.2);animation:fadeInUp 1s ease-out}.welcome-title{font-size:3rem;font-weight:800;color:#1a1a1a;margin-bottom:16px;letter-spacing:-1px;animation:fadeInUp 1s ease-out .2s both}.welcome-subtitle{font-size:1.3rem;color:#666;line-height:1.6;animation:fadeInUp 1s ease-out .4s both}.section-header{text-align:center;margin-bottom:48px}.section-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#4caf501a,#4caf500d);color:#4caf50;padding:8px 16px;border-radius:50px;font-size:.9rem;font-weight:600;margin-bottom:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(76,175,80,.2)}.section-header h2{font-size:2.5rem;font-weight:700;color:#1a1a1a;margin-bottom:16px;letter-spacing:-.8px}.section-header p{font-size:1.2rem;color:#666;max-width:600px;margin:0 auto;line-height:1.6}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:60px}.stat-card{background:#fffffffa;border:1px solid rgba(76,175,80,.08);border-radius:20px;padding:32px 24px;text-align:center;transition:all .4s ease;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 8px 32px #00000008,0 4px 16px #4caf5008;position:relative;overflow:hidden;animation:fadeInUp 1s ease-out .6s both}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--stat-color);border-radius:20px 20px 0 0}.stat-card:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(76,175,80,.02),transparent);transform:rotate(45deg);transition:all .8s ease;opacity:0}.stat-card:hover:after{opacity:1;transform:rotate(45deg) translate(50%,50%)}.stat-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px #0000000f,0 8px 24px #4caf500f;border-color:#4caf5026}.stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.stat-icon{width:48px;height:48px;background:var(--stat-color);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 24px #00000026;transition:all .3s ease}.stat-card:hover .stat-icon{transform:scale(1.1);box-shadow:0 12px 32px #0003}.stat-trend{display:flex;align-items:center;gap:4px;font-size:.85rem;font-weight:600;color:#4caf50;background:#4caf501a;padding:4px 8px;border-radius:12px}.stat-number{font-size:2.5rem;font-weight:800;color:#1a1a1a;margin-bottom:8px;letter-spacing:-1px}.stat-label{font-size:1rem;color:#666;font-weight:500;margin-bottom:8px}.stat-subtitle{font-size:.85rem;color:#999;font-weight:400}.progress-ring{position:relative;display:inline-block;margin-top:16px}.progress-ring svg{transform:rotate(-90deg)}.progress-ring circle{transition:stroke-dasharray .5s ease}.quick-actions{margin-bottom:60px}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.action-card{background:#fffffffa;border:1px solid rgba(76,175,80,.08);border-radius:20px;padding:32px 24px;text-decoration:none;color:#1a1a1a;transition:all .4s ease;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 8px 32px #00000008,0 4px 16px #4caf5008;position:relative;overflow:hidden;display:flex;align-items:center;gap:20px}.action-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:20px 20px 0 0}.action-card:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(76,175,80,.02),transparent);transform:rotate(45deg);transition:all .8s ease;opacity:0}.action-card:hover:after{opacity:1;transform:rotate(45deg) translate(50%,50%)}.action-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px #0000000f,0 8px 24px #4caf500f;border-color:#4caf5026;color:#1a1a1a}.action-card.primary{background:linear-gradient(135deg,#4caf500d,#4caf5005);border-color:#4caf5033}.action-icon{width:56px;height:56px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 24px #4caf5040;transition:all .3s ease;flex-shrink:0}.action-card:hover .action-icon{transform:scale(1.1) rotate(3deg);box-shadow:0 12px 32px #4caf5059}.action-content{flex:1}.action-content h3{font-size:1.2rem;font-weight:600;margin-bottom:8px;color:#1a1a1a}.action-content p{color:#666;font-size:.95rem;line-height:1.5;margin:0}.action-card svg:last-child{color:#999;transition:all .3s ease}.action-card:hover svg:last-child{color:#4caf50;transform:translate(4px)}.insights-section{margin-bottom:60px}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.insight-card{background:#fffffffa;border:1px solid rgba(76,175,80,.08);border-radius:20px;padding:24px;transition:all .4s ease;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 8px 32px #00000008,0 4px 16px #4caf5008;position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:16px}.insight-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:20px 20px 0 0}.insight-card.positive:before{background:linear-gradient(90deg,#4caf50,#66bb6a)}.insight-card.warning:before{background:linear-gradient(90deg,#ff9800,#ffb74d)}.insight-card.info:before{background:linear-gradient(90deg,#2196f3,#42a5f5)}.insight-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0000000f,0 8px 24px #4caf500f;border-color:#4caf5026}.insight-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s ease}.insight-card.positive .insight-icon{background:#4caf501a;color:#4caf50}.insight-card.warning .insight-icon{background:#ff98001a;color:#ff9800}.insight-card.info .insight-icon{background:#2196f31a;color:#2196f3}.insight-card:hover .insight-icon{transform:scale(1.1)}.insight-content h3{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin-bottom:8px}.insight-content p{color:#666;font-size:.95rem;line-height:1.5;margin:0}.achievements-section{margin-bottom:60px}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.achievement-card{background:#fffffffa;border:1px solid rgba(76,175,80,.08);border-radius:20px;padding:24px;transition:all .4s ease;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 8px 32px #00000008,0 4px 16px #4caf5008;position:relative;overflow:hidden;display:flex;align-items:center;gap:16px}.achievement-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:20px 20px 0 0}.achievement-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0000000f,0 8px 24px #4caf500f;border-color:#4caf5026}.achievement-card.locked{opacity:.6;filter:grayscale(.5)}.achievement-icon{width:48px;height:48px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;transition:all .3s ease}.achievement-card:hover .achievement-icon{transform:scale(1.1) rotate(5deg)}.achievement-content{flex:1}.achievement-content h3{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin-bottom:4px}.achievement-content p{color:#666;font-size:.9rem;line-height:1.4;margin:0}.achievement-badge{position:absolute;top:16px;right:16px;width:24px;height:24px;background:#4caf50;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.analytics-section{margin-bottom:60px}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:32px}.chart-container{background:#fffffffa;border:1px solid rgba(76,175,80,.08);border-radius:20px;padding:32px;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 8px 32px #00000008,0 4px 16px #4caf5008;transition:all .3s ease}.chart-container:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0000000f,0 8px 24px #4caf500f;border-color:#4caf5026}.chart-container h3{font-size:1.3rem;font-weight:600;color:#1a1a1a;margin-bottom:24px;letter-spacing:-.3px}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.chart-controls{display:flex;gap:8px}.period-btn{padding:8px 16px;border:1px solid rgba(76,175,80,.2);border-radius:12px;background:#fffc;color:#666;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.period-btn.active{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;border-color:#4caf50;box-shadow:0 4px 12px #4caf5040}.period-btn:hover:not(.active){background:#4caf500d;border-color:#4caf504d}.chart-content{height:240px;display:flex;align-items:end}.chart-bars{display:flex;align-items:end;justify-content:space-between;width:100%;height:100%;gap:12px}.chart-bar-container{display:flex;flex-direction:column;align-items:center;flex:1;height:100%}.chart-bar{width:100%;background:linear-gradient(to top,#4caf50,#66bb6a);border-radius:6px 6px 0 0;position:relative;transition:all .3s ease;min-height:20px}.chart-bar.today{background:linear-gradient(to top,#66bb6a,#81c784);box-shadow:0 4px 12px #4caf504d}.chart-bar:hover{transform:scaleY(1.05);box-shadow:0 6px 16px #4caf5066}.bar-value{position:absolute;top:-30px;left:50%;transform:translate(-50%);font-size:.8rem;font-weight:600;color:#1a1a1a;background:#fffffff2;padding:4px 8px;border-radius:6px;white-space:nowrap;box-shadow:0 2px 8px #0000001a}.bar-label{margin-top:12px;font-size:.9rem;color:#666;font-weight:500}.nutrition-chart{display:flex;align-items:center;gap:32px}.pie-chart{position:relative;width:140px;height:140px;border-radius:50%;background:conic-gradient(#4caf50 0deg 90deg,#66bb6a 90deg 234deg,#81c784 234deg 360deg);box-shadow:0 8px 24px #0000001a}.pie-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000001a}.total-percentage{font-size:1rem;font-weight:700;color:#1a1a1a}.nutrition-legend{flex:1}.legend-item{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:8px 12px;background:#fffc;border-radius:8px;transition:all .3s ease}.legend-item:hover{background:#4caf500d;transform:translate(4px)}.legend-color{width:16px;height:16px;border-radius:4px}.legend-color.protein{background:#4caf50}.legend-color.carbs{background:#66bb6a}.legend-color.fats{background:#81c784}.foods-chart{display:flex;flex-direction:column;gap:20px}.food-item{display:flex;align-items:center;gap:16px;padding:16px;background:#fffc;border:1px solid rgba(76,175,80,.08);border-radius:12px;transition:all .3s ease}.food-item:hover{background:#4caf5008;border-color:#4caf5033;transform:translate(4px)}.food-info{flex:1;min-width:0}.food-name{display:block;font-weight:600;color:#1a1a1a;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.food-calories{font-size:.9rem;color:#666}.food-bar{flex:1;height:8px;background:#4caf501a;border-radius:4px;overflow:hidden;min-width:100px}.food-bar-fill{height:100%;background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:4px;transition:width .3s ease}.food-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.food-frequency{font-size:.85rem;color:#666;font-weight:500}.food-trend{display:flex;align-items:center;gap:2px;font-size:.8rem;font-weight:500}.food-trend.up{color:#4caf50}.food-trend.down{color:#f44336}.food-trend.stable{color:#666}.recent-analyses{margin-bottom:60px}.analyses-list{background:#fffffffa;border:1px solid rgba(76,175,80,.08);border-radius:20px;overflow:hidden;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 8px 32px #00000008,0 4px 16px #4caf5008}.analysis-item{display:flex;align-items:center;gap:20px;padding:24px;border-bottom:1px solid rgba(76,175,80,.08);transition:all .3s ease}.analysis-item:last-child{border-bottom:none}.analysis-item:hover{background:#4caf5005}.analysis-icon{width:48px;height:48px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 6px 16px #4caf5040}.analysis-content{flex:1}.analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.analysis-title{font-weight:600;color:#1a1a1a;font-size:1.1rem}.analysis-accuracy{display:flex;align-items:center;gap:4px;color:#ffc107;font-size:.85rem;font-weight:500}.analysis-details{display:flex;gap:16px;margin-bottom:12px}.analysis-calories{font-weight:600;color:#4caf50;font-size:1rem}.analysis-time{color:#666;font-size:.9rem}.analysis-nutrition{display:flex;gap:12px}.nutrition-item{font-size:.85rem;color:#666;background:#4caf5014;padding:4px 8px;border-radius:6px;font-weight:500}.analysis-actions{display:flex;gap:8px;flex-shrink:0}.action-btn{width:40px;height:40px;border:1px solid rgba(76,175,80,.2);border-radius:10px;background:#fffc;color:#666;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.action-btn:hover{background:#4caf501a;color:#4caf50;border-color:#4caf50;transform:scale(1.05)}@media (max-width: 1024px){.analytics-grid{grid-template-columns:1fr}.nutrition-chart{flex-direction:column;text-align:center}.section-header h2{font-size:2rem}}@media (max-width: 768px){.dashboard-content{padding:20px}.welcome-title{font-size:2.5rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.actions-grid,.insights-grid{grid-template-columns:1fr}.achievements-grid{grid-template-columns:repeat(2,1fr)}.analysis-item{flex-direction:column;text-align:center;gap:16px}.analysis-header,.analysis-details{flex-direction:column;gap:8px}.analysis-nutrition,.analysis-actions{justify-content:center}.chart-bars{gap:8px}.bar-value{font-size:.7rem;padding:2px 6px}.bar-label{font-size:.8rem}.pie-chart{width:120px;height:120px}.pie-center{width:60px;height:60px}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.welcome-title{font-size:2rem}.achievements-grid{grid-template-columns:1fr}.chart-container{padding:20px}.chart-content{height:200px}.pie-chart{width:100px;height:100px}.pie-center{width:50px;height:50px}}.image-upload-container{max-width:700px;margin:0 auto;animation:slideInUp .8s ease-out;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.upload-frame{background:#fffffffa;border:2px dashed rgba(76,175,80,.15);border-radius:24px;padding:36px;margin-bottom:28px;transition:all .4s ease;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);position:relative;overflow:hidden;box-shadow:0 16px 48px #00000008,0 8px 24px #4caf5008}.upload-frame:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(76,175,80,.015) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(76,175,80,.015) 0%,transparent 50%);pointer-events:none}.upload-frame:hover{border-color:#4caf504d;box-shadow:0 20px 56px #0000000d,0 10px 28px #4caf500d;transform:translateY(-3px)}.upload-header-section{text-align:center;margin-bottom:28px;position:relative;z-index:1}.upload-icon-wrapper{width:70px;height:70px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:18px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:#fff;box-shadow:0 12px 24px #4caf5040,0 6px 12px #00000014;animation:float 4s ease-in-out infinite;position:relative}.upload-icon-wrapper:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,#4caf50,#66bb6a,#81c784);border-radius:20px;z-index:-1;opacity:.2;animation:float 4s ease-in-out infinite reverse}.upload-header-section h3{font-size:1.4rem;font-weight:600;color:#1a1a1a;margin-bottom:8px;letter-spacing:-.3px}.upload-header-section p{color:#666;font-size:1rem;font-weight:400}.upload-area{border:2px dashed rgba(76,175,80,.2);border-radius:18px;padding:44px 24px;text-align:center;cursor:pointer;transition:all .4s ease;background:#ffffffb3;position:relative;overflow:hidden;box-shadow:inset 0 2px 6px #00000008}.upload-area:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent,rgba(76,175,80,.02),transparent);transform:translate(-100%);transition:transform .8s ease}.upload-area:hover:before{transform:translate(100%)}.upload-area:hover{border-color:#4caf5066;background:#ffffffe6;transform:translateY(-2px);box-shadow:inset 0 2px 6px #00000008,0 6px 24px #4caf5014}.upload-area.drag-active{border-color:#4caf50;background:#4caf5008;transform:scale(1.01);animation:pulse .6s ease-in-out;box-shadow:inset 0 2px 6px #00000008,0 8px 32px #4caf501f}@keyframes pulse{0%,to{transform:scale(1.01)}50%{transform:scale(1.03)}}.upload-area.has-file{border-style:solid;border-color:#4caf50;background:#4caf5005;box-shadow:inset 0 2px 6px #00000008,0 6px 24px #4caf5014}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:18px}.upload-icon-large{width:90px;height:90px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:22px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 16px 32px #4caf5040,0 6px 12px #00000014;transition:all .4s ease;animation:bounce 3s ease-in-out infinite;position:relative}.upload-icon-large:before{content:"";position:absolute;inset:-3px;background:linear-gradient(135deg,#4caf50,#66bb6a,#81c784);border-radius:25px;z-index:-1;opacity:.15;animation:bounce 3s ease-in-out infinite reverse}@keyframes bounce{0%,20%,50%,80%,to{transform:scale(1)}40%{transform:scale(1.05)}60%{transform:scale(1.02)}}.upload-area:hover .upload-icon-large{transform:scale(1.08) rotate(3deg);box-shadow:0 20px 40px #4caf5059,0 8px 16px #0000001f}.upload-placeholder h4{font-size:1.2rem;font-weight:600;color:#1a1a1a;margin:0;transition:all .3s ease;letter-spacing:-.3px}.upload-area:hover .upload-placeholder h4{color:#4caf50}.upload-placeholder p{color:#666;font-size:1rem;margin:0;font-weight:400}.file-types{background:#4caf500f;color:#4caf50;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:500;transition:all .3s ease;border:1px solid rgba(76,175,80,.08)}.upload-area:hover .file-types{background:#4caf501a;transform:scale(1.03);border-color:#4caf5026}.upload-tips{display:flex;flex-direction:column;gap:10px;margin-top:18px}.tip{display:flex;align-items:center;gap:8px;color:#666;font-size:.9rem;transition:all .3s ease;padding:6px 10px;border-radius:10px;background:#fff9}.upload-area:hover .tip{color:#4caf50;transform:translate(4px);background:#4caf5008}.tip svg{color:#4caf50;transition:all .3s ease;font-size:1rem}.upload-area:hover .tip svg{transform:scale(1.1)}.preview-container{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #0000000f,0 4px 12px #4caf500f;transition:all .4s ease}.preview-container:hover{transform:scale(1.02);box-shadow:0 12px 32px #0000001a,0 6px 16px #4caf501a}.preview-image{width:100%;height:auto;display:block;border-radius:14px}.preview-overlay{position:absolute;inset:0;background:#00000026;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease}.preview-container:hover .preview-overlay{opacity:1}.clear-button{position:absolute;top:12px;right:12px;width:40px;height:40px;background:#fffffff2;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:#666;box-shadow:0 6px 20px #0000001f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.clear-button:hover{background:#fff;color:#f5576c;transform:scale(1.08) rotate(90deg);box-shadow:0 8px 24px #f5576c40}.preview-badge{position:absolute;bottom:12px;left:12px;background:#4caf50f2;color:#fff;padding:8px 12px;border-radius:20px;display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:slideInLeft .5s ease-out;box-shadow:0 6px 20px #4caf5040}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.context-section{background:#fffffff2;border-radius:18px;padding:28px;margin-bottom:28px;border:1px solid rgba(76,175,80,.08);transition:all .4s ease;position:relative;overflow:hidden;box-shadow:0 8px 32px #00000008,0 4px 16px #4caf5008}.context-section:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:18px 18px 0 0}.context-section:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0000000d,0 6px 20px #4caf500d;border-color:#4caf5026}.context-header{margin-bottom:18px}.context-header h4{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin-bottom:6px;letter-spacing:-.3px}.context-header p{color:#666;font-size:.95rem;margin:0;font-weight:400}.context-input{width:100%;padding:18px;border:2px solid rgba(76,175,80,.12);border-radius:14px;font-size:1rem;font-family:inherit;resize:vertical;transition:all .3s ease;background:#fffc;box-shadow:inset 0 2px 6px #00000008}.context-input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf5014,inset 0 2px 6px #00000008;background:#fff;transform:translateY(-1px)}.context-input::placeholder{color:#999;font-weight:400}.action-section{text-align:center}.analyze-button{display:inline-flex;align-items:center;gap:12px;padding:16px 32px;background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;border:none;border-radius:14px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .4s ease;box-shadow:0 8px 24px #4caf5040,0 3px 12px #00000014;min-width:200px;position:relative;overflow:hidden;letter-spacing:.3px}.analyze-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s ease}.analyze-button:hover:before{left:100%}.analyze-button:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 12px 32px #4caf5059,0 6px 16px #0000001f}.analyze-button.disabled{background:#ccc;cursor:not-allowed;box-shadow:none}.analyze-button.analyzing{background:linear-gradient(135deg,#4caf50,#66bb6a);animation:pulse 1.5s ease-in-out infinite}.spinner{animation:spin 1s linear infinite}.file-info{margin-top:18px;padding:14px 18px;background:#4caf500f;border-radius:10px;border:1px solid rgba(76,175,80,.12);transition:all .3s ease;animation:slideInUp .5s ease-out;box-shadow:0 4px 12px #4caf5014}.file-info:hover{background:#4caf501a;transform:translateY(-1px);box-shadow:0 6px 20px #4caf501f}.file-details{display:flex;justify-content:space-between;align-items:center;font-size:.95rem}.file-name{color:#1a1a1a;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.file-size{color:#666;font-size:.85rem;font-weight:400}@media (max-width: 768px){.upload-frame{padding:28px 20px}.upload-area{padding:36px 20px}.upload-icon-large{width:70px;height:70px}.upload-placeholder h4{font-size:1.1rem}.analyze-button{width:100%;justify-content:center;min-width:auto}.file-details{flex-direction:column;gap:4px;text-align:center}.file-name{max-width:none}.context-section{padding:24px 20px}}.groq-analysis{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:24px;margin:20px 0;color:#fff;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.1)}.groq-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.groq-title{display:flex;align-items:center;gap:12px}.groq-title h3{margin:0;font-size:1.5rem;font-weight:600;color:#fff}.groq-icon{color:#fbbf24}.health-score-section{margin-bottom:24px}.health-score-card{background:#ffffff1a;border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.score-display{display:flex;align-items:center;gap:20px}.section-header{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-weight:500}.section-header h4{margin:0;font-size:1.1rem;color:#fff}.summary-section,.recommendations-section,.dietary-section{margin-bottom:24px}.summary-content{background:#ffffff1a;border-radius:8px;padding:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.summary-content p{margin:0;line-height:1.6;color:#ffffffe6}.recommendations-list,.dietary-list{display:flex;flex-direction:column;gap:12px}.recommendation-item,.dietary-item{display:flex;align-items:flex-start;gap:12px;background:#ffffff1a;border-radius:8px;padding:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);transition:all .2s ease}.recommendation-item:hover,.dietary-item:hover{background:#ffffff26;transform:translate(4px)}.recommendation-icon,.dietary-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#fff3;flex-shrink:0}.recommendation-icon{color:#fbbf24}.dietary-icon{color:#f87171}.recommendation-item span,.dietary-item span{line-height:1.5;color:#ffffffe6}.detailed-analysis-section{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.2)}.detailed-content{background:#ffffff1a;border-radius:8px;padding:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);max-height:400px;overflow-y:auto}.analysis-text{margin:0;white-space:pre-wrap;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;line-height:1.6;color:#ffffffe6}@media (max-width: 768px){.groq-analysis{padding:16px;margin:16px 0}.groq-title h3{font-size:1.25rem}.score-display{flex-direction:column;gap:16px;text-align:center}.recommendation-item,.dietary-item{padding:10px}.detailed-content{max-height:300px}}.detailed-content::-webkit-scrollbar{width:6px}.detailed-content::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.detailed-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.detailed-content::-webkit-scrollbar-thumb:hover{background:#ffffff80}.groq-summary{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:24px;margin:20px 0;color:#fff;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.1)}.summary-header{margin-bottom:20px}.summary-title{display:flex;align-items:center;gap:12px}.summary-title h3{margin:0;font-size:1.5rem;font-weight:600;color:#fff}.summary-icon{color:#fbbf24}.groq-badge{display:flex;align-items:center;gap:4px;background:#fff3;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.summary-content{display:flex;flex-direction:column;gap:20px}.summary-main{background:#ffffff1a;border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.summary-text{display:flex;align-items:flex-start;gap:12px}.insight-icon{color:#fbbf24;flex-shrink:0;margin-top:2px}.summary-text p{margin:0;line-height:1.6;color:#ffffffe6;font-size:1.1rem}.summary-details{display:grid;grid-template-columns:1fr 1fr;gap:20px}.health-score-section{background:#ffffff1a;border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.score-header{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-weight:500}.score-display{display:flex;align-items:center;gap:16px}.score-circle{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;background:#e5e7eb}.score-inner{width:60px;height:60px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:2}.score-number{font-size:1.5rem;font-weight:700;color:#1f2937;line-height:1}.score-max{font-size:.75rem;color:#6b7280;line-height:1}.score-label{display:flex;flex-direction:column}.score-text{font-size:1.25rem;font-weight:600;color:#fff}.detected-foods-section{background:#ffffff1a;border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.detected-foods-section h4{margin:0 0 16px;font-size:1.1rem;color:#fff}.food-tags{display:flex;flex-wrap:wrap;gap:8px}.food-tag{background:#fff3;color:#fff;padding:6px 12px;border-radius:20px;font-size:.875rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);transition:all .2s ease}.food-tag:hover{background:#ffffff4d;transform:translateY(-1px)}@media (max-width: 768px){.groq-summary{padding:16px;margin:16px 0}.summary-title h3{font-size:1.25rem}.summary-details{grid-template-columns:1fr;gap:16px}.score-display{flex-direction:column;gap:12px;text-align:center}.summary-text p{font-size:1rem}.food-tags{gap:6px}.food-tag{font-size:.8rem;padding:4px 10px}}.groq-summary{animation:fadeInUp .6s ease-out}.groq-summary:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026;transition:all .3s ease}.daily-meal-plan{background:linear-gradient(135deg,#10b981,#059669);border-radius:16px;padding:24px;margin:20px 0;color:#fff;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.1)}.meal-plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.meal-plan-title{display:flex;align-items:center;gap:12px}.meal-plan-title h3{margin:0;font-size:1.5rem;font-weight:600;color:#fff}.meal-plan-icon{color:#fbbf24}.meal-plan-badge{display:flex;align-items:center;gap:4px;background:#fff3;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.expand-button{background:#fff3;border:none;border-radius:8px;padding:8px;color:#fff;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.expand-button:hover{background:#ffffff4d;transform:scale(1.05)}.meal-plan-summary{background:#ffffff1a;border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.calories-overview{display:flex;align-items:center;gap:20px}.calories-circle{width:80px;height:80px;border-radius:50%;background:#fff3;display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px solid rgba(255,255,255,.3)}.calories-number{font-size:1.5rem;font-weight:700;color:#fff;line-height:1}.calories-label{font-size:.75rem;color:#fffc;line-height:1}.calories-info h4{margin:0 0 8px;font-size:1.1rem;color:#fff}.calories-info p{margin:0;color:#fffc;font-size:.9rem}.meal-plan-details{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2)}.meal-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.meal-section{background:#ffffff1a;border-radius:12px;padding:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.section-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.2)}.section-header h4{margin:0;font-size:1rem;color:#fff;flex-grow:1}.meal-time{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#ffffffb3}.meal-items{display:flex;flex-direction:column;gap:8px}.meal-item{display:flex;align-items:flex-start;gap:8px;padding:4px 0}.item-bullet{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:6px}.meal-item span{font-size:.9rem;color:#ffffffe6;line-height:1.4}.meal-plan-notes{margin-top:20px;padding:16px;background:#ffffff1a;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.meal-plan-notes h4{margin:0 0 8px;font-size:1rem;color:#fff}.meal-plan-notes p{margin:0;color:#fffc;font-size:.9rem;line-height:1.5}@media (max-width: 768px){.daily-meal-plan{padding:16px;margin:16px 0}.meal-plan-title h3{font-size:1.25rem}.calories-overview{flex-direction:column;gap:16px;text-align:center}.meal-sections{grid-template-columns:1fr;gap:16px}.meal-section{padding:12px}.section-header{flex-wrap:wrap}.meal-time{font-size:.7rem}.meal-item span{font-size:.85rem}}.daily-meal-plan{animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.daily-meal-plan:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026;transition:all .3s ease}.meal-section:hover{background:#ffffff26;transform:translateY(-1px);transition:all .2s ease}.food-item-reports{margin:2rem 0;padding:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 20px 40px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.reports-header{text-align:center;margin-bottom:2rem;color:#fff}.reports-header h3{font-size:1.8rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.reports-header p{font-size:1rem;opacity:.9;margin:0}.reports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.food-report-card{background:#fffffff2;border-radius:15px;overflow:hidden;box-shadow:0 10px 30px #00000026;transition:all .3s ease;border:1px solid rgba(255,255,255,.3)}.food-report-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #0003}.report-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;cursor:pointer;transition:all .3s ease}.report-header:hover{background:linear-gradient(135deg,#f5576c,#f093fb)}.food-info{display:flex;align-items:center;gap:1rem}.food-icon{font-size:2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.food-info h4{font-size:1.3rem;font-weight:600;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.3)}.expand-icon{font-size:1.2rem;font-weight:700;transition:transform .3s ease;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.expand-icon.expanded{transform:rotate(180deg)}.report-content{padding:1.5rem;background:#fff;animation:slideDown .3s ease-out}.report-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #f0f0f0}.report-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.report-section h5{font-size:1.1rem;font-weight:600;color:#333;margin-bottom:.8rem;display:flex;align-items:center;gap:.5rem}.report-section p{font-size:.95rem;line-height:1.6;color:#555;margin:0;text-align:justify}@media (max-width: 768px){.food-item-reports{margin:1rem 0;padding:1rem}.reports-header h3{font-size:1.5rem}.reports-grid{grid-template-columns:1fr;gap:1rem}.food-report-card{margin-bottom:1rem}.report-header{padding:1rem}.food-info h4{font-size:1.1rem}.food-icon{font-size:1.5rem}.report-content{padding:1rem}.report-section h5{font-size:1rem}.report-section p{font-size:.9rem}}@media (max-width: 480px){.food-item-reports{padding:.8rem}.reports-header h3{font-size:1.3rem}.reports-header p{font-size:.9rem}.report-header{padding:.8rem}.food-info{gap:.8rem}.food-icon{font-size:1.3rem}.food-info h4{font-size:1rem}.report-content{padding:.8rem}}.food-item-reports.loading{position:relative;overflow:hidden}.food-item-reports.loading:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:loading 1.5s infinite}@keyframes loading{0%{left:-100%}to{left:100%}}@media print{.food-item-reports{background:#fff;box-shadow:none;border:1px solid #ccc}.report-header{background:#f0f0f0;color:#333}.food-report-card{break-inside:avoid;margin-bottom:1rem}}.auto-diet-chat{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 8px 32px #0000001a;margin:24px 0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;transition:all .3s ease}.auto-diet-chat:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.auto-chat-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px;cursor:pointer;transition:all .3s ease;display:flex;justify-content:space-between;align-items:center}.auto-chat-header:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190)}.header-content{display:flex;align-items:center;gap:16px;flex:1}.header-icon{font-size:2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.header-text h3{margin:0 0 4px;font-size:1.5rem;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2)}.header-text p{margin:0;font-size:1rem;opacity:.9;font-weight:400}.confidence-badge{display:flex;flex-direction:column;align-items:center;padding:8px 16px;border-radius:12px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);font-weight:600}.confidence-badge.high{background:#4caf5033;border-color:#4caf5066}.confidence-badge.medium{background:#ff980033;border-color:#ff980066}.confidence-badge.low{background:#f4433633;border-color:#f4433666}.confidence-text{font-size:.75rem;margin-bottom:2px;text-transform:uppercase;letter-spacing:.05em}.confidence-score{font-size:1rem;font-weight:700}.expand-button{background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;font-size:1.2rem;font-weight:700;cursor:pointer;padding:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.expand-button:hover{background:#ffffff4d;transform:scale(1.1)}.expand-button.expanded{transform:rotate(180deg)}.auto-chat-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out;background:#fff}.auto-chat-content.expanded{max-height:2000px;transition:max-height .5s ease-in}.ai-response{padding:24px;border-bottom:1px solid #f0f0f0;background:#fff}.suggestions-section,.topics-section{padding:24px;border-bottom:1px solid #f0f0f0;background:#fff}.suggestions-section:last-child,.topics-section:last-child{border-bottom:none}.suggestions-section h6,.topics-section h6{margin:0 0 16px;font-size:1.1rem;font-weight:600;color:#333;display:flex;align-items:center;gap:8px}.suggestion-item{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f8f9fa;border-radius:12px;border-left:4px solid #667eea;transition:all .2s ease}.suggestion-item:hover{background:#f0f0f0;transform:translate(4px)}.topic-tag{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:500;transition:all .2s ease;box-shadow:0 2px 4px #0000001a;cursor:pointer}.auto-chat-footer{background:#f8f9fa;padding:20px 24px;border-top:1px solid #f0f0f0}.footer-info{display:flex;align-items:center;gap:8px;color:#666;font-size:.85rem;font-weight:500}.info-icon{font-size:1rem;color:#667eea}@media (max-width: 768px){.auto-diet-chat{margin:20px 0}.auto-chat-header{padding:20px}.header-content{gap:12px}.header-icon{font-size:1.5rem}.header-text h3{font-size:1.25rem}.header-text p{font-size:.9rem}.ai-response,.suggestions-section,.topics-section{padding:20px}.response-text{font-size:.95rem}.suggestion-item{padding:12px;gap:10px}.suggestion-text{font-size:.9rem}.topic-tag{font-size:.8rem;padding:6px 12px}.auto-chat-footer{padding:16px 20px}.footer-info{font-size:.8rem}}@media (max-width: 480px){.auto-diet-chat{margin:16px 0}.auto-chat-header{padding:16px}.header-content{gap:10px}.header-icon{font-size:1.3rem}.header-text h3{font-size:1.1rem}.header-text p{font-size:.85rem}.confidence-badge{padding:6px 12px}.confidence-text{font-size:.7rem}.confidence-score{font-size:.9rem}.expand-button{width:36px;height:36px;font-size:1rem}.ai-response,.suggestions-section,.topics-section{padding:16px}.response-text{font-size:.9rem}.suggestion-item{padding:10px;gap:8px}.suggestion-text{font-size:.85rem}.topic-tag{font-size:.75rem;padding:5px 10px}.auto-chat-footer{padding:12px 16px}.footer-info{font-size:.75rem}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.auto-chat-content.expanded{animation:slideDown .3s ease-out}.generate-diet-plan-container{margin:20px 0;display:flex;flex-direction:column;align-items:center;gap:12px}.generate-diet-plan-btn{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 32px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:16px;color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 32px #667eea4d;min-width:280px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.generate-diet-plan-btn:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 12px 40px #667eea66;background:linear-gradient(135deg,#5a6fd8,#6a4190)}.generate-diet-plan-btn:active:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #667eea4d}.generate-diet-plan-btn.generating{background:linear-gradient(135deg,#4caf50,#45a049);cursor:not-allowed}.generate-diet-plan-btn.disabled{background:linear-gradient(135deg,#9e9e9e,#757575);cursor:not-allowed;opacity:.6}.generate-diet-plan-btn:disabled{cursor:not-allowed;opacity:.6}.btn-content{display:flex;align-items:center;gap:12px;font-size:1.1rem;font-weight:600}.btn-subtitle{display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:400;opacity:.9}.spinning{animation:spin 1s linear infinite}.error-message{background:#f443361a;color:#f44336;padding:12px 16px;border-radius:8px;border:1px solid rgba(244,67,54,.2);font-size:.9rem;text-align:center;max-width:400px}.info-message{background:#2196f31a;color:#2196f3;padding:12px 16px;border-radius:8px;border:1px solid rgba(33,150,243,.2);font-size:.9rem;text-align:center;max-width:400px}.generate-diet-plan-btn.generating:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 1.5s infinite;border-radius:16px}@media (max-width: 768px){.generate-diet-plan-btn{min-width:240px;padding:16px 24px}.btn-content{font-size:1rem;gap:10px}.btn-subtitle{font-size:.85rem}.error-message,.info-message{font-size:.85rem;padding:10px 14px}}@media (max-width: 480px){.generate-diet-plan-btn{min-width:200px;padding:14px 20px}.btn-content{font-size:.95rem;gap:8px}.btn-subtitle{font-size:.8rem}.error-message,.info-message{font-size:.8rem;padding:8px 12px}}.analysis-results{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;gap:16px}.status-indicator{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 4px 16px #00000014}.status-indicator.success{background:#4caf501a;color:#4caf50;border:1px solid rgba(76,175,80,.2)}.status-indicator.error{background:#f443361a;color:#f44336;border:1px solid rgba(244,67,54,.2)}.status-indicator.processing{background:#2196f31a;color:#2196f3;border:1px solid rgba(33,150,243,.2)}.re-analyze-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffffe6;border:1px solid rgba(76,175,80,.2);border-radius:12px;color:#4caf50;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 4px 16px #00000014}.re-analyze-btn:hover:not(:disabled){background:#4caf501a;border-color:#4caf50;transform:translateY(-2px);box-shadow:0 8px 24px #4caf5033}.re-analyze-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.re-analyze-btn .spinning{animation:spin 1s linear infinite}.results-actions{display:flex;gap:12px;align-items:center}.food-nutrition-details{background:#fffffff2;border-radius:20px;padding:24px;margin:20px 0;box-shadow:0 8px 32px #0000001a,0 4px 16px #0000000d,inset 0 1px #fffc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);animation:slideInUp .6s ease-out}.food-nutrition-details h3{color:#1a1a1a;font-size:1.4rem;font-weight:600;margin-bottom:20px;text-align:center;letter-spacing:-.02em}.food-nutrition-list{display:flex;flex-direction:column;gap:16px}.food-nutrition-item{background:linear-gradient(135deg,#ffffffe6,#ffffffb3);border-radius:16px;padding:20px;box-shadow:0 4px 16px #00000014,0 2px 8px #0000000a;border:1px solid rgba(255,255,255,.3);transition:all .3s ease}.food-nutrition-item:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f,0 4px 12px #0000000f}.food-name{color:#1a1a1a;font-size:1.1rem;font-weight:600;margin-bottom:12px;text-transform:capitalize;letter-spacing:-.01em}.food-nutrition-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.nutrition-value{display:flex;align-items:center;gap:8px;color:#4a5568;font-size:.9rem;font-weight:500;padding:8px 12px;background:#fff9;border-radius:8px;border:1px solid rgba(0,0,0,.05)}.nutrition-value svg{color:#22c55e;flex-shrink:0}.nutrition-summary{background:linear-gradient(135deg,#fffffff2,#ffffffd9);border-radius:24px;padding:28px;margin:24px 0;box-shadow:0 12px 40px #0000001a,0 6px 20px #0000000d,inset 0 1px #ffffffe6;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.3);animation:slideInUp .5s ease-out}.nutrition-summary h3{color:#1a1a1a;font-size:1.5rem;font-weight:700;margin-bottom:24px;text-align:center;letter-spacing:-.02em}.nutrition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px}.nutrition-item{background:linear-gradient(135deg,#ffffffe6,#ffffffb3);border-radius:16px;padding:20px;text-align:center;box-shadow:0 6px 20px #00000014,0 3px 10px #0000000a;border:1px solid rgba(255,255,255,.4);transition:all .3s ease;position:relative;overflow:hidden}.nutrition-item:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#22c55e,#16a34a);opacity:.8}.nutrition-item:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001f,0 6px 16px #0000000f}.nutrition-item svg{color:#22c55e;margin-bottom:12px;filter:drop-shadow(0 2px 4px rgba(34,197,94,.2))}.nutrition-content{display:flex;flex-direction:column;gap:4px}.nutrition-content .value{color:#1a1a1a;font-size:1.4rem;font-weight:700;letter-spacing:-.02em}.nutrition-content .label{color:#6b7280;font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.no-nutrition-data{text-align:center;padding:20px;background:#fffc;border-radius:12px;border:1px solid rgba(255,255,255,.4)}.no-nutrition-data p{color:#6b7280;font-size:.95rem;margin:8px 0;line-height:1.5}.no-nutrition-data p:first-child{color:#374151;font-weight:500;margin-bottom:12px}.detected-foods{background:#fffffff2;border:1px solid rgba(76,175,80,.08);border-radius:18px;padding:24px;margin-bottom:24px;box-shadow:0 8px 32px #00000008;transition:all .3s ease}.detected-foods:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0000000f;border-color:#4caf5026}.detected-foods h3{font-size:1.3rem;font-weight:600;color:#1a1a1a;margin-bottom:20px;letter-spacing:-.3px}.food-tags{display:flex;flex-wrap:wrap;gap:12px}.detected-food-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#4caf501a;color:#4caf50;border-radius:20px;font-size:.9rem;font-weight:500;border:1px solid rgba(76,175,80,.2);transition:all .3s ease}.detected-food-tag:hover{background:#4caf5026;transform:translateY(-2px);box-shadow:0 4px 12px #4caf5033}.detected-food-tag svg{font-size:.8rem}.expert-details{background:#fffffff2;border:1px solid rgba(76,175,80,.08);border-radius:18px;padding:24px;margin-bottom:24px;box-shadow:0 8px 32px #00000008;transition:all .3s ease}.expert-details:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0000000f;border-color:#4caf5026}.expert-details h3{font-size:1.3rem;font-weight:600;color:#1a1a1a;margin-bottom:20px;letter-spacing:-.3px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(76,175,80,.08);transition:all .3s ease}.detail-item:hover{background:#4caf5005;padding:12px 16px;border-radius:8px;margin:0 -16px}.detail-item:last-child{border-bottom:none}.detail-item svg{color:#4caf50;margin-right:8px}.label{font-size:.95rem;color:#666;font-weight:500}.value{font-size:.95rem;color:#1a1a1a;font-weight:600}.session-id{font-family:Monaco,Menlo,monospace;font-size:.85rem;color:#999;background:#0000000d;padding:4px 8px;border-radius:6px}.insights-section{background:#fffffff2;border:1px solid rgba(76,175,80,.08);border-radius:18px;padding:24px;margin-bottom:24px;box-shadow:0 8px 32px #00000008;transition:all .3s ease}.insights-section:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0000000f;border-color:#4caf5026}.insights-section h3{font-size:1.3rem;font-weight:600;color:#1a1a1a;margin-bottom:20px;letter-spacing:-.3px}.insights-list{list-style:none;padding:0;margin:0}.insight-item{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fffc;border:1px solid rgba(76,175,80,.08);border-radius:12px;margin-bottom:12px;transition:all .3s ease}.insight-item:last-child{margin-bottom:0}.insight-item:hover{background:#4caf5008;border-color:#4caf5033;transform:translateY(-2px)}.insight-item svg{color:#4caf50;font-size:1rem;margin-top:2px;flex-shrink:0}.content{flex:1}.title{font-size:1rem;font-weight:600;color:#1a1a1a;margin-bottom:4px}.description{font-size:.9rem;color:#666;line-height:1.5}.detailed-analysis{background:#fffffff2;border:1px solid rgba(76,175,80,.08);border-radius:18px;padding:24px;margin-bottom:24px;box-shadow:0 8px 32px #00000008;transition:all .3s ease}.detailed-analysis:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0000000f;border-color:#4caf5026}.detailed-analysis h3{font-size:1.3rem;font-weight:600;color:#1a1a1a;margin-bottom:20px;letter-spacing:-.3px}.analysis-text p{color:#666;line-height:1.6;margin-bottom:16px}.analysis-text p:last-child{margin-bottom:0}.error-message{text-align:center;padding:32px}.error-message h3{font-size:1.5rem;font-weight:600;color:#1a1a1a;margin-bottom:16px}.error-message p{color:#666;line-height:1.6;margin-bottom:24px}.suggestions{text-align:left;background:#fffc;border:1px solid rgba(76,175,80,.08);border-radius:12px;padding:20px;margin-bottom:24px}.suggestions h4{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin-bottom:16px}.suggestions ul{list-style:none;padding:0;margin:0}.suggestions li{color:#666;line-height:1.6;margin-bottom:8px;padding-left:20px;position:relative}.suggestions li:before{content:"•";color:#4caf50;font-weight:700;position:absolute;left:0}.model-breakdown{margin-bottom:24px}.model-breakdown h4{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin-bottom:16px;display:flex;align-items:center;gap:8px}.model-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.model-item{background:#fffc;border:1px solid rgba(76,175,80,.08);border-radius:12px;padding:16px;transition:all .3s ease;display:flex;justify-content:space-between;align-items:center}.model-item.success{border-color:#4caf5033;background:#4caf5008}.model-item.failed{border-color:#f4433633;background:#f4433608}.model-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.model-name{font-size:.9rem;font-weight:600;color:#1a1a1a}.model-stats{display:flex;align-items:center;gap:8px}.detection-count{font-size:1.1rem;font-weight:700;color:#4caf50}.status-icon{border-radius:50%;padding:2px}.status-icon.success{color:#4caf50;background:#4caf501a}.status-icon.failed{color:#f44336;background:#f443361a}.detailed-food-analysis{margin-bottom:24px}.detailed-food-analysis h4{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin-bottom:16px;display:flex;align-items:center;gap:8px}.food-detection-list{background:#fffc;border:1px solid rgba(76,175,80,.08);border-radius:12px;overflow:hidden}.food-detection-item{display:grid;grid-template-columns:40px 1fr 120px 80px;gap:16px;padding:12px 16px;border-bottom:1px solid rgba(76,175,80,.08);transition:all .3s ease;align-items:center}.food-detection-item:last-child{border-bottom:none}.food-detection-item:hover{background:#4caf5008}.food-number{font-size:.9rem;font-weight:600;color:#4caf50;text-align:center}.food-name{font-size:.95rem;font-weight:500;color:#1a1a1a}.food-methods{font-size:.85rem;color:#666;font-weight:500}.food-confidence{font-size:.9rem;font-weight:600;color:#4caf50;text-align:right}.nutrition-breakdown{background:linear-gradient(135deg,#fffffff2,#ffffffd9);border-radius:24px;padding:28px;margin:24px 0;box-shadow:0 12px 40px #0000001a,0 6px 20px #0000000d,inset 0 1px #ffffffe6;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.3);animation:slideInUp .6s ease-out}.nutrition-breakdown h3{color:#1a1a1a;font-size:1.4rem;font-weight:600;margin-bottom:24px;text-align:center;letter-spacing:-.02em}.macro-distribution{display:flex;flex-direction:column;gap:20px;margin-bottom:20px}.macro-item{display:flex;align-items:center;gap:16px;padding:16px;background:#ffffffb3;border-radius:12px;border:1px solid rgba(255,255,255,.4)}.macro-label{min-width:80px;color:#1a1a1a;font-weight:600;font-size:1rem;text-transform:capitalize}.macro-bar{flex:1;height:12px;background:#0000001a;border-radius:6px;overflow:hidden;position:relative}.macro-fill{height:100%;border-radius:6px;transition:width 1s ease-out;box-shadow:0 2px 4px #0003}.macro-percentage{min-width:60px;color:#1a1a1a;font-weight:600;font-size:.9rem;text-align:right}.nutrition-notes{background:#fffc;border-radius:12px;padding:16px;border:1px solid rgba(255,255,255,.4)}.nutrition-notes p{color:#4a5568;font-size:.9rem;margin:4px 0;font-weight:500}.nutrition-notes p:first-child{margin-top:0}.nutrition-notes p:last-child{margin-bottom:0}@media (max-width: 768px){.results-header{flex-direction:column;align-items:flex-start;gap:16px}.results-actions{width:100%;justify-content:space-between}.nutrition-grid{grid-template-columns:repeat(2,1fr)}.food-tags{justify-content:center}.detail-item{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width: 480px){.nutrition-grid{grid-template-columns:1fr}.results-actions{flex-direction:column;gap:12px}.re-analyze-btn{width:100%;justify-content:center}}@media (max-width: 768px){.performance-grid{grid-template-columns:1fr}.model-list{grid-template-columns:repeat(2,1fr)}.food-detection-item{grid-template-columns:30px 1fr 100px 60px;gap:12px;padding:10px 12px}.food-methods{font-size:.8rem}}@media (max-width: 480px){.model-list{grid-template-columns:1fr}.food-detection-item{grid-template-columns:25px 1fr 80px 50px;gap:8px;padding:8px 10px}.food-name{font-size:.9rem}.food-methods{font-size:.75rem}.food-confidence{font-size:.85rem}}.model-detection-report{background:linear-gradient(135deg,#fffffffa,#fffffff2);border-radius:24px;padding:32px;margin:24px 0;box-shadow:0 16px 48px #00000014,0 8px 24px #0000000a,inset 0 1px #ffffffe6;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.3);animation:slideInUp .6s ease-out}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid rgba(34,197,94,.1)}.report-title{display:flex;align-items:center;gap:12px}.report-title h3{color:#1a1a1a;font-size:1.6rem;font-weight:700;margin:0;letter-spacing:-.02em}.report-title svg{color:#22c55e;filter:drop-shadow(0 2px 4px rgba(34,197,94,.2))}.report-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.report-date,.report-time{color:#6b7280;font-size:.85rem;font-weight:500}.executive-summary{margin-bottom:32px}.executive-summary h4{color:#1a1a1a;font-size:1.3rem;font-weight:600;margin-bottom:20px;letter-spacing:-.01em}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.summary-card{background:linear-gradient(135deg,#ffffffe6,#ffffffb3);border-radius:16px;padding:24px;text-align:center;box-shadow:0 8px 24px #0000000f,0 4px 12px #00000008;border:1px solid rgba(255,255,255,.4);transition:all .3s ease;position:relative;overflow:hidden}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#22c55e,#16a34a);opacity:.8}.summary-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #0000001a,0 8px 16px #0000000d}.summary-icon{margin-bottom:16px}.summary-icon svg{color:#22c55e;filter:drop-shadow(0 2px 4px rgba(34,197,94,.2))}.summary-content{display:flex;flex-direction:column;gap:8px}.summary-value{color:#1a1a1a;font-size:1.8rem;font-weight:700;letter-spacing:-.02em}.summary-label{color:#6b7280;font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.model-performance-section{margin-bottom:32px}.model-performance-section h4{color:#1a1a1a;font-size:1.3rem;font-weight:600;margin-bottom:20px;letter-spacing:-.01em}.performance-table{background:#fffc;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px #0000000f,0 4px 12px #00000008;border:1px solid rgba(255,255,255,.4)}.table-header{display:grid;grid-template-columns:2fr 1fr 1fr 2fr;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.header-cell{padding:16px 20px;border-right:1px solid rgba(255,255,255,.2)}.header-cell:last-child{border-right:none}.table-row{display:grid;grid-template-columns:2fr 1fr 1fr 2fr;border-bottom:1px solid rgba(0,0,0,.05);transition:background-color .2s ease}.table-row:hover{background:#22c55e0d}.table-row.success{border-left:4px solid #22c55e}.table-row.failed{border-left:4px solid #ef4444;opacity:.7}.table-cell{padding:16px 20px;display:flex;align-items:center;border-right:1px solid rgba(0,0,0,.05)}.table-cell:last-child{border-right:none}.model-label{color:#1a1a1a;font-weight:600;font-size:.9rem;letter-spacing:.05em}.status-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge.success{background:#22c55e1a;color:#16a34a}.status-badge.failed{background:#ef44441a;color:#dc2626}.detection-count{color:#1a1a1a;font-weight:600;font-size:1rem}.performance-indicator{width:100%;height:8px;background:#0000001a;border-radius:4px;overflow:hidden}.performance-fill{height:100%;border-radius:4px;transition:width 1s ease-out}.food-analysis-section{margin-bottom:32px}.food-analysis-section h4{color:#1a1a1a;font-size:1.3rem;font-weight:600;margin-bottom:20px;letter-spacing:-.01em}.food-detection-table{background:#fffc;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px #0000000f,0 4px 12px #00000008;border:1px solid rgba(255,255,255,.4)}.food-detection-table .table-header,.food-detection-table .table-row{grid-template-columns:2fr 1fr 2fr 1fr}.food-label{color:#1a1a1a;font-weight:600;font-size:.95rem;text-transform:capitalize}.count-badge{background:#22c55e1a;color:#16a34a;padding:4px 12px;border-radius:12px;font-weight:600;font-size:.85rem}.model-tags{display:flex;flex-wrap:wrap;gap:4px}.model-tag{background:#3b82f61a;color:#2563eb;padding:2px 8px;border-radius:8px;font-size:.75rem;font-weight:600;letter-spacing:.05em}.confidence-value{color:#1a1a1a;font-weight:600;font-size:.9rem}.table-footer{padding:16px 20px;background:#00000005;color:#6b7280;font-size:.85rem;text-align:center;border-top:1px solid rgba(0,0,0,.05)}.technical-notes{background:#fffc;border-radius:16px;padding:24px;border:1px solid rgba(255,255,255,.4)}.technical-notes h4{color:#1a1a1a;font-size:1.2rem;font-weight:600;margin-bottom:16px;letter-spacing:-.01em}.notes-content p{color:#4a5568;font-size:.9rem;line-height:1.6;margin-bottom:12px}.notes-content p:last-child{margin-bottom:0}.notes-content strong{color:#1a1a1a;font-weight:600}.nutrition-visualizations{background:linear-gradient(135deg,#fffffffa,#fffffff2);border-radius:24px;padding:32px;margin:24px 0;box-shadow:0 16px 48px #00000014,0 8px 24px #0000000a,inset 0 1px #ffffffe6;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.3);animation:slideInUp .7s ease-out}.nutrition-visualizations h3{color:#1a1a1a;font-size:1.5rem;font-weight:700;margin-bottom:28px;text-align:center;letter-spacing:-.02em}.chart-section{margin-bottom:32px;background:#fffc;border-radius:16px;padding:24px;border:1px solid rgba(255,255,255,.4);box-shadow:0 4px 16px #0000000f}.chart-section h4{color:#1a1a1a;font-size:1.2rem;font-weight:600;margin-bottom:20px;display:flex;align-items:center;gap:8px;letter-spacing:-.01em}.chart-section h4 svg{color:#22c55e}.bar-chart-container{height:300px;display:flex;align-items:flex-end;justify-content:center;padding:20px 0}.bar-chart{display:flex;align-items:flex-end;gap:40px;height:100%;width:100%;max-width:400px}.bar-item{display:flex;flex-direction:column;align-items:center;gap:12px;flex:1}.bar-label{color:#1a1a1a;font-weight:600;font-size:.9rem;text-align:center;text-transform:uppercase;letter-spacing:.05em}.bar-wrapper{width:100%;height:200px;background:#0000000d;border-radius:8px;position:relative;overflow:hidden}.bar-fill{position:absolute;bottom:0;width:100%;border-radius:8px 8px 0 0;transition:height 1s ease-out;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;min-height:20px}.protein-bar{background:linear-gradient(180deg,#22c55e,#16a34a);box-shadow:0 4px 12px #22c55e4d}.carbs-bar{background:linear-gradient(180deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f64d}.fats-bar{background:linear-gradient(180deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b4d}.bar-value{color:#fff;font-weight:700;font-size:.85rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}.radar-chart-container{display:flex;justify-content:center;align-items:center;padding:20px;height:300px}.radar-chart{width:200px;height:200px;position:relative}.radar-svg{width:100%;height:100%;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.radar-svg circle{transition:all .3s ease}.radar-svg text{font-family:Inter,sans-serif}.stacked-area-container{height:300px;display:flex;align-items:flex-end;justify-content:center;padding:20px 0}.stacked-area-chart{display:flex;align-items:flex-end;gap:20px;height:100%;width:100%;max-width:400px}.area-item{display:flex;flex-direction:column;align-items:center;gap:12px;flex:1}.area-label{color:#1a1a1a;font-weight:600;font-size:.85rem;text-align:center;text-transform:uppercase;letter-spacing:.05em}.area-fill{width:100%;border-radius:8px 8px 0 0;transition:height 1s ease-out;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;min-height:20px;position:relative;box-shadow:0 4px 12px #0003}.area-value{color:#fff;font-weight:700;font-size:.8rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}.nutrition-insights{margin-top:32px}.nutrition-insights h4{color:#1a1a1a;font-size:1.2rem;font-weight:600;margin-bottom:20px;display:flex;align-items:center;gap:8px;letter-spacing:-.01em}.nutrition-insights h4 svg{color:#22c55e}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.insight-card{background:linear-gradient(135deg,#ffffffe6,#ffffffb3);border-radius:16px;padding:20px;box-shadow:0 8px 24px #0000000f,0 4px 12px #00000008;border:1px solid rgba(255,255,255,.4);transition:all .3s ease;position:relative;overflow:hidden}.insight-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#22c55e,#16a34a);opacity:.8}.insight-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #0000001a,0 8px 16px #0000000d}.insight-icon{margin-bottom:12px}.insight-icon svg{color:#22c55e;filter:drop-shadow(0 2px 4px rgba(34,197,94,.2))}.insight-content h5{color:#1a1a1a;font-size:1rem;font-weight:600;margin-bottom:8px;letter-spacing:-.01em}.insight-content p{color:#4a5568;font-size:.9rem;line-height:1.5;margin:0}@media (max-width: 768px){.nutrition-visualizations{padding:20px}.chart-section{padding:16px}.bar-chart{gap:20px}.stacked-area-chart{gap:12px}.insights-grid{grid-template-columns:1fr}.bar-wrapper{height:150px}.radar-chart{width:150px;height:150px}}@media (max-width: 480px){.bar-chart{gap:12px}.stacked-area-chart{gap:8px}.bar-label,.area-label{font-size:.8rem}.bar-value,.area-value{font-size:.75rem}}.basic-summary{background:linear-gradient(135deg,#6b7280,#4b5563);border-radius:16px;padding:24px;margin:20px 0;color:#fff;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.1)}.basic-summary .summary-header{margin-bottom:20px}.basic-summary .summary-title{display:flex;align-items:center;gap:12px}.basic-summary .summary-title h3{margin:0;font-size:1.5rem;font-weight:600;color:#fff}.basic-summary .summary-icon{color:#fbbf24}.basic-summary .summary-content{display:flex;flex-direction:column;gap:20px}.basic-summary .summary-main{background:#ffffff1a;border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.basic-summary .summary-text{display:flex;align-items:flex-start;gap:12px}.basic-summary .insight-icon{color:#fbbf24;flex-shrink:0;margin-top:2px}.basic-summary .summary-text p{margin:0;line-height:1.6;color:#ffffffe6;font-size:1.1rem}.basic-summary .detected-foods-section{background:#ffffff1a;border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.basic-summary .detected-foods-section h4{margin:0 0 16px;font-size:1.1rem;color:#fff}.basic-summary .food-tags{display:flex;flex-wrap:wrap;gap:8px}.basic-summary .food-tag{background:#fff3;color:#fff;padding:6px 12px;border-radius:20px;font-size:.875rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);transition:all .2s ease}.basic-summary .food-tag:hover{background:#ffffff4d;transform:translateY(-1px)}@media (max-width: 768px){.basic-summary{padding:16px;margin:16px 0}.basic-summary .summary-title h3{font-size:1.25rem}.basic-summary .summary-text p{font-size:1rem}.basic-summary .food-tags{gap:6px}.basic-summary .food-tag{font-size:.8rem;padding:4px 10px}}.diet-chat-section{margin-top:32px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px #00000026}.diet-chat-section h4{margin:0;padding:20px 24px;background:#ffffff1a;color:#fff;font-size:1.25rem;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.2)}.diet-chat-content{padding:24px;background:#fffffff2}.chat-summary{display:flex;flex-direction:column;gap:20px}.summary-header{display:flex;align-items:center;gap:16px;padding:16px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;border:1px solid #dee2e6}.ai-icon{font-size:2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.summary-info h5{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:#333}.confidence-indicator{display:flex;align-items:center;gap:8px}.confidence-label{font-size:.9rem;color:#666;font-weight:500}.confidence-value{font-size:1rem;font-weight:700;padding:4px 8px;border-radius:6px;background:#fffc}.ai-response{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:20px;position:relative}.ai-response:before{content:"";position:absolute;top:-8px;left:20px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid white}.response-text{line-height:1.6;color:#333;font-size:1rem;margin:0}.suggestions-section,.topics-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:20px}.suggestions-section h6,.topics-section h6{margin:0 0 16px;font-size:1rem;font-weight:600;color:#333}.suggestions-list{display:flex;flex-direction:column;gap:12px}.suggestion-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea}.suggestion-icon{color:#667eea;font-weight:700;font-size:1.2rem;flex-shrink:0;margin-top:2px}.suggestion-text{font-size:.95rem;line-height:1.5;color:#555;margin:0}.topics-list{display:flex;flex-wrap:wrap;gap:8px}.topic-tag{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px 12px;border-radius:16px;font-size:.85rem;font-weight:500;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.topic-tag:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}@media (max-width: 768px){.diet-chat-section{margin-top:24px}.diet-chat-section h4{padding:16px 20px;font-size:1.1rem}.diet-chat-content{padding:20px}.summary-header{padding:12px;gap:12px}.ai-icon{font-size:1.5rem}.summary-info h5{font-size:1rem}.ai-response,.suggestions-section,.topics-section{padding:16px}.response-text{font-size:.95rem}.suggestion-item{padding:10px;gap:10px}.suggestion-text{font-size:.9rem}.topic-tag{font-size:.8rem;padding:5px 10px}}@media (max-width: 480px){.diet-chat-section h4{padding:14px 16px;font-size:1rem}.diet-chat-content{padding:16px}.summary-header{padding:10px;gap:10px}.ai-icon{font-size:1.3rem}.summary-info h5{font-size:.95rem}.confidence-indicator{flex-direction:column;align-items:flex-start;gap:4px}.ai-response,.suggestions-section,.topics-section{padding:12px}.response-text{font-size:.9rem}.suggestion-item{padding:8px;gap:8px}.suggestion-text{font-size:.85rem}.topic-tag{font-size:.75rem;padding:4px 8px}}.analysis-page{min-height:100vh;background:linear-gradient(135deg,#fff,#fafafa,#f8f9fa);color:#1a1a1a;padding-top:90px;position:relative;overflow-x:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.analysis-page:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 25%,rgba(76,175,80,.02) 0%,transparent 50%),radial-gradient(circle at 85% 75%,rgba(76,175,80,.015) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(76,175,80,.01) 0%,transparent 50%);pointer-events:none}.analysis-content{max-width:1400px;margin:0 auto;padding:40px 20px;position:relative;z-index:1}.analysis-header{margin-bottom:60px;text-align:center;position:relative}.back-button{display:inline-flex;align-items:center;gap:8px;color:#666;text-decoration:none;font-weight:500;margin-bottom:32px;transition:all .3s ease;background:#fffffff2;padding:12px 20px;border-radius:50px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(76,175,80,.15);box-shadow:0 4px 20px #0000000d;font-size:.9rem}.back-button:hover{color:#4caf50;background:#fff;transform:translate(-4px);border-color:#4caf50;box-shadow:0 8px 30px #4caf5026}.header-badge{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#4caf5014,#4caf500a);color:#4caf50;padding:12px 24px;border-radius:50px;font-size:.9rem;font-weight:600;margin-bottom:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(76,175,80,.2);box-shadow:0 8px 32px #4caf5014;animation:float 4s ease-in-out infinite;letter-spacing:.5px}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(.5deg)}}.header-content h1{font-size:3.5rem;font-weight:800;color:#1a1a1a;margin-bottom:20px;text-shadow:0 2px 4px rgba(0,0,0,.03);animation:slideInDown 1s ease-out;letter-spacing:-1px;line-height:1.1}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.header-content p{font-size:1.3rem;color:#666;max-width:700px;margin:0 auto;line-height:1.6;animation:slideInUp 1s ease-out .3s both;font-weight:400}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.analysis-main{margin-bottom:80px;animation:fadeIn 1s ease-out .3s both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.upload-section,.analyzing-section,.results-section{background:#fffffffa;border:1px solid rgba(76,175,80,.08);border-radius:24px;padding:50px;text-align:center;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 20px 60px #00000008,0 8px 32px #4caf5008,inset 0 1px #ffffffe6;position:relative;overflow:hidden;transition:all .4s ease}.upload-section:before,.analyzing-section:before,.results-section:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4caf50,#66bb6a,#81c784);border-radius:24px 24px 0 0}.upload-section:after,.analyzing-section:after,.results-section:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(76,175,80,.015) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(76,175,80,.015) 0%,transparent 50%);pointer-events:none}.upload-header{margin-bottom:40px;position:relative;z-index:1}.upload-icon{width:90px;height:90px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:24px;display:flex;align-items:center;justify-content:center;margin:0 auto 28px;color:#fff;box-shadow:0 16px 32px #4caf5040,0 6px 12px #00000014;animation:pulse 3s ease-in-out infinite;position:relative}.upload-icon:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,#4caf50,#66bb6a,#81c784);border-radius:26px;z-index:-1;opacity:.2;animation:pulse 3s ease-in-out infinite reverse}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 16px 32px #4caf5040,0 6px 12px #00000014}50%{transform:scale(1.03);box-shadow:0 24px 48px #4caf5059,0 10px 20px #0000001f}}.upload-header h2{font-size:2.2rem;font-weight:700;color:#1a1a1a;margin-bottom:16px;letter-spacing:-.5px}.upload-header p{color:#666;font-size:1.1rem;margin-bottom:40px;font-weight:400}.analyzing-content{max-width:600px;margin:0 auto;position:relative;z-index:1}.analyzing-icon{width:110px;height:110px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:28px;display:flex;align-items:center;justify-content:center;margin:0 auto 36px;animation:pulse 2s ease-in-out infinite;box-shadow:0 20px 40px #4caf504d,0 8px 16px #00000014;position:relative}.analyzing-icon:before{content:"";position:absolute;inset:-3px;background:linear-gradient(135deg,#4caf50,#66bb6a,#81c784);border-radius:31px;z-index:-1;opacity:.15;animation:pulse 2s ease-in-out infinite reverse}.analyzing-icon svg{color:#fff;font-size:2.5rem;animation:spin 4s linear infinite}.analyzing-content h2{font-size:2.2rem;font-weight:700;color:#1a1a1a;margin-bottom:20px;letter-spacing:-.5px}.analyzing-content p{color:#666;font-size:1.1rem;margin-bottom:40px;line-height:1.6;font-weight:400}.analyzing-progress{margin-bottom:40px}.progress-bar{width:100%;height:12px;background:#4caf5014;border-radius:6px;overflow:hidden;margin-bottom:20px;position:relative;box-shadow:inset 0 2px 4px #0000000d}.progress-bar:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#66bb6a,#81c784);border-radius:6px;animation:progress 3s ease-in-out infinite;position:relative;box-shadow:0 2px 6px #4caf5040}@keyframes progress{0%{width:0%}50%{width:75%}to{width:100%}}.analyzing-progress span{color:#666;font-weight:600;font-size:1rem;letter-spacing:.5px}.analyzing-steps{display:flex;justify-content:space-between;max-width:500px;margin:0 auto;gap:20px}.step{display:flex;flex-direction:column;align-items:center;gap:10px;color:#666;font-size:.95rem;font-weight:500;transition:all .3s ease;padding:14px;border-radius:14px;background:#fff9;border:1px solid rgba(76,175,80,.08)}.step svg{color:#4caf50;transition:all .3s ease;font-size:1.3rem}.step:hover{color:#4caf50;transform:translateY(-3px);background:#4caf500a;border-color:#4caf5033;box-shadow:0 6px 20px #4caf501a}.step:hover svg{transform:scale(1.1)}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;padding-bottom:28px;border-bottom:2px solid rgba(76,175,80,.08);position:relative;z-index:1}.results-title{display:flex;align-items:center;gap:14px}.results-title svg{color:#4caf50;animation:bounce 2s ease-in-out infinite;font-size:1.8rem}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}.results-title h2{font-size:2.2rem;font-weight:700;color:#1a1a1a;margin:0;letter-spacing:-.5px}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border:none;border-radius:14px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;text-decoration:none;letter-spacing:.3px}.btn-secondary{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;box-shadow:0 8px 24px #4caf5040,0 3px 12px #00000014;position:relative;overflow:hidden}.btn-secondary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s ease}.btn-secondary:hover:before{left:100%}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 12px 32px #4caf5059,0 6px 16px #0000001f}.results-layout{display:grid;grid-template-columns:1fr 2fr;gap:36px;align-items:start;position:relative;z-index:1}.image-display-section{background:#ffffffe6;border-radius:20px;padding:28px;border:1px solid rgba(76,175,80,.08);transition:all .3s ease;box-shadow:0 8px 32px #00000008,0 4px 16px #4caf5008}.image-display-section:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000000f,0 6px 20px #4caf500f;border-color:#4caf5026}.image-display-section h3{font-size:1.2rem;font-weight:600;color:#1a1a1a;margin-bottom:18px;text-align:center;letter-spacing:-.3px}.image-container{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #00000014;transition:all .3s ease}.image-container:hover{transform:scale(1.02);box-shadow:0 12px 32px #0000001f}.analyzed-image{width:100%;height:auto;display:block;border-radius:14px}.image-overlay{position:absolute;top:12px;right:12px;background:#4caf50f2;color:#fff;padding:8px 14px;border-radius:20px;display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:slideInRight .5s ease-out;box-shadow:0 6px 20px #4caf5040}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.results-content-section{background:#ffffffe6;border-radius:20px;padding:28px;border:1px solid rgba(76,175,80,.08);transition:all .3s ease;box-shadow:0 8px 32px #00000008,0 4px 16px #4caf5008}.results-content-section:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000000f,0 6px 20px #4caf500f;border-color:#4caf5026}.features-section{margin-bottom:80px;animation:fadeIn 1s ease-out .9s both}.features-header{text-align:center;margin-bottom:60px;position:relative;z-index:1}.features-header h2{font-size:2.5rem;font-weight:700;color:#1a1a1a;margin-bottom:16px;letter-spacing:-.8px}.features-header p{color:#666;font-size:1.2rem;max-width:700px;margin:0 auto;line-height:1.6;font-weight:400}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:28px}.feature-card{background:#fffffffa;border:1px solid rgba(76,175,80,.08);border-radius:24px;padding:36px 28px;text-align:center;transition:all .4s ease;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 12px 40px #00000008,0 4px 20px #4caf5008;position:relative;overflow:hidden;transform:translateY(0)}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:24px 24px 0 0}.feature-card:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(76,175,80,.03),transparent);transform:rotate(45deg);transition:all .8s ease;opacity:0}.feature-card:hover:after{opacity:1;transform:rotate(45deg) translate(50%,50%)}.feature-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px #0000000f,0 8px 24px #4caf500f;border-color:#4caf5026}.feature-icon{width:70px;height:70px;border-radius:18px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff;box-shadow:0 10px 24px #0000001f;transition:all .3s ease;background:linear-gradient(135deg,#4caf50,#66bb6a)!important;position:relative}.feature-icon:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,#4caf50,#66bb6a,#81c784);border-radius:20px;z-index:-1;opacity:.2}.feature-card:hover .feature-icon{transform:scale(1.08) rotate(3deg);box-shadow:0 12px 28px #00000026}.feature-card h3{font-size:1.3rem;font-weight:600;color:#1a1a1a;margin-bottom:14px;transition:all .3s ease;letter-spacing:-.3px}.feature-card:hover h3{color:#4caf50}.feature-card p{color:#666;line-height:1.6;font-size:1rem;font-weight:400}.tips-section{background:#fffffffa;border:1px solid rgba(76,175,80,.08);border-radius:24px;padding:50px;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 20px 60px #00000008,0 8px 32px #4caf5008;position:relative;overflow:hidden;animation:fadeIn 1s ease-out 1.2s both}.tips-section:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4caf50,#66bb6a,#81c784);border-radius:24px 24px 0 0}.tips-section:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(76,175,80,.015) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(76,175,80,.015) 0%,transparent 50%);pointer-events:none}.tips-header{text-align:center;margin-bottom:50px;position:relative;z-index:1}.tips-header h2{font-size:2.5rem;font-weight:700;color:#1a1a1a;margin-bottom:16px;letter-spacing:-.8px}.tips-header p{color:#666;font-size:1.2rem;font-weight:400}.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;position:relative;z-index:1}.tip-card{text-align:center;padding:36px 28px;background:#ffffffe6;border:1px solid rgba(76,175,80,.08);border-radius:20px;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 8px 32px #00000008}.tip-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4caf50,#66bb6a)}.tip-card:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(76,175,80,.02),transparent);transform:rotate(45deg);transition:all .8s ease;opacity:0}.tip-card:hover:after{opacity:1;transform:rotate(45deg) translate(50%,50%)}.tip-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px #0000000f,0 6px 20px #4caf500f;border-color:#4caf5026}.tip-icon{font-size:3rem;margin-bottom:20px;transition:all .3s ease;color:#4caf50}.tip-card:hover .tip-icon{transform:scale(1.1) rotate(3deg)}.tip-card h3{font-size:1.3rem;font-weight:600;color:#1a1a1a;margin-bottom:14px;transition:all .3s ease;letter-spacing:-.3px}.tip-card:hover h3{color:#4caf50}.tip-card p{color:#666;line-height:1.6;font-size:1rem;font-weight:400}@media (max-width: 1200px){.analysis-content{max-width:1200px}.features-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}@media (max-width: 1024px){.results-layout{grid-template-columns:1fr;gap:28px}.image-display-section{order:2}.results-content-section{order:1}.features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width: 768px){.analysis-content{padding:20px}.header-content h1{font-size:2.8rem}.features-header h2,.tips-header h2{font-size:2.2rem}.upload-section,.analyzing-section,.results-section,.tips-section{padding:36px 24px}.features-grid,.tips-grid{grid-template-columns:1fr}.analyzing-steps{flex-direction:column;gap:16px}.results-header{flex-direction:column;gap:18px;text-align:center}.results-title{justify-content:center}.upload-header h2,.analyzing-content h2,.results-title h2{font-size:1.8rem}}@media (max-width: 480px){.header-content h1{font-size:2.2rem}.upload-section,.analyzing-section,.results-section,.tips-section{padding:28px 20px}.upload-header h2,.analyzing-content h2,.results-title h2{font-size:1.6rem}.features-header h2,.tips-header h2{font-size:1.8rem}}.history-page{min-height:100vh;background:linear-gradient(135deg,#fff,#f8f9fa,#e9ecef);color:#1a1a1a;padding-top:90px;position:relative}.history-page:before{content:"";position:absolute;top:0;left:0;right:0;height:200px;background:linear-gradient(135deg,#4caf500d,#4caf5005);z-index:0}.history-content{max-width:1800px;margin:0 auto;padding:40px 24px;display:grid;grid-template-columns:1fr 2.5fr 1fr;gap:32px;align-items:start;position:relative;z-index:1}.history-header{grid-column:1 / -1;margin-bottom:40px;background:#fffffff2;border-radius:20px;padding:32px;box-shadow:0 8px 32px #00000014,0 4px 16px #4caf501a;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.back-button{display:inline-flex;align-items:center;gap:10px;color:#666;text-decoration:none;font-weight:600;margin-bottom:24px;transition:all .3s ease;padding:12px 20px;border-radius:12px;background:#fffc;border:1px solid rgba(76,175,80,.2);box-shadow:0 2px 8px #0000000f}.back-button:hover{color:#4caf50;transform:translate(-6px);background:#4caf501a;border-color:#4caf50;box-shadow:0 4px 16px #4caf5033}.header-content h1{font-size:3rem;font-weight:800;color:#1a1a1a;margin-bottom:16px;line-height:1.1;background:linear-gradient(135deg,#1a1a1a,#4caf50);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-content p{font-size:1.2rem;color:#666;max-width:700px;line-height:1.6;font-weight:500}.history-stats{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:40px}.stat-card{background:linear-gradient(135deg,#fffffff2,#ffffffe6);border:2px solid rgba(76,175,80,.15);border-radius:20px;padding:32px 28px;display:flex;align-items:center;gap:20px;transition:all .4s ease;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #00000014,0 4px 16px #4caf501a;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#4caf50,#66bb6a,#81c784)}.stat-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 60px #0000001f,0 8px 24px #4caf5033;border-color:#4caf5066}.stat-icon{width:64px;height:64px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 8px 24px #4caf504d,0 4px 12px #4caf5033;position:relative}.stat-icon:after{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,#4caf50,#66bb6a,#81c784);border-radius:18px;z-index:-1;opacity:.3}.stat-content h3{font-size:2.4rem;font-weight:800;color:#1a1a1a;margin-bottom:6px;line-height:1;background:linear-gradient(135deg,#1a1a1a,#4caf50);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-content p{font-size:1rem;color:#666;margin:0;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.filters-section{grid-column:1 / -1;background:linear-gradient(135deg,#fffffff2,#ffffffe6);border-radius:20px;padding:32px;margin-bottom:32px;border:2px solid rgba(76,175,80,.15);box-shadow:0 8px 32px #00000014,0 4px 16px #4caf501a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;overflow:hidden}.filters-section:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4caf50,#66bb6a,#81c784)}.search-box{position:relative;margin-bottom:24px}.search-box svg{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:#666;z-index:1}.search-box input{width:100%;padding:16px 20px 16px 56px;border:2px solid rgba(76,175,80,.2);border-radius:16px;font-size:1.1rem;background:#ffffffe6;transition:all .3s ease;font-weight:500;box-shadow:0 2px 8px #0000000f}.search-box input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 4px #4caf501a,0 4px 16px #4caf5026;background:#fff}.search-box input::placeholder{color:#999;font-weight:400}.filter-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.filter-buttons{display:flex;gap:12px;flex-wrap:wrap}.filter-btn{padding:12px 20px;border:2px solid rgba(76,175,80,.2);background:#ffffffe6;color:#666;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem;box-shadow:0 2px 8px #0000000f;position:relative;overflow:hidden}.filter-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(76,175,80,.1),transparent);transition:left .5s ease}.filter-btn:hover:before{left:100%}.filter-btn:hover{border-color:#4caf50;color:#4caf50;transform:translateY(-2px);box-shadow:0 4px 16px #4caf5026}.filter-btn.active{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;border-color:#4caf50;box-shadow:0 4px 16px #4caf504d,0 2px 8px #4caf5033;transform:translateY(-2px)}.sort-controls{display:flex;align-items:center;gap:12px}.sort-select{padding:12px 16px;border:2px solid rgba(76,175,80,.2);border-radius:12px;background:#ffffffe6;color:#1a1a1a;font-weight:600;cursor:pointer;font-size:.95rem;box-shadow:0 2px 8px #0000000f;transition:all .3s ease}.sort-select:focus{outline:none;border-color:#4caf50;box-shadow:0 4px 16px #4caf5026}.sort-order-btn{padding:12px 16px;border:2px solid rgba(76,175,80,.2);background:#ffffffe6;color:#666;border-radius:12px;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:1.1rem;box-shadow:0 2px 8px #0000000f}.sort-order-btn:hover{border-color:#4caf50;color:#4caf50;transform:translateY(-2px);box-shadow:0 4px 16px #4caf5026}.bulk-actions{grid-column:1 / -1;background:linear-gradient(135deg,#4caf501a,#4caf500d);border:2px solid rgba(76,175,80,.3);border-radius:16px;padding:20px 32px;margin-bottom:32px;display:flex;justify-content:space-between;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #4caf5026,0 2px 8px #4caf501a}.bulk-info{font-weight:700;color:#1a1a1a;font-size:1.1rem;display:flex;align-items:center;gap:8px}.bulk-info:before{content:"✓";width:24px;height:24px;background:#4caf50;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}.bulk-buttons{display:flex;gap:16px}.bulk-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:.95rem;box-shadow:0 4px 16px #0000001a;position:relative;overflow:hidden}.bulk-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.bulk-btn:hover:before{left:100%}.bulk-btn.export{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.bulk-btn.export:hover{background:linear-gradient(135deg,#45a049,#5cb85c);transform:translateY(-3px);box-shadow:0 8px 24px #4caf504d}.bulk-btn.delete{background:linear-gradient(135deg,#f44336,#e53935);color:#fff}.bulk-btn.delete:hover{background:linear-gradient(135deg,#d32f2f,#c62828);transform:translateY(-3px);box-shadow:0 8px 24px #f443364d}.history-list{grid-column:1 / 3;display:flex;flex-direction:column;gap:20px;max-height:none;overflow-y:visible;padding-right:20px;padding-bottom:20px}.history-list::-webkit-scrollbar{width:8px}.history-list::-webkit-scrollbar-track{background:#4caf501a;border-radius:10px}.history-list::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:10px}.history-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#45a049,#5cb85c)}.history-item{background:linear-gradient(135deg,#fffffff2,#ffffffe6);border:2px solid rgba(76,175,80,.15);border-radius:20px;padding:24px;display:grid;grid-template-columns:auto auto 1fr auto;gap:20px;align-items:start;transition:all .4s ease;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #00000014,0 4px 16px #4caf501a;position:relative;overflow:visible;min-height:120px}.history-item:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4caf50,#66bb6a,#81c784);opacity:0;transition:opacity .3s ease}.history-item:hover:before{opacity:1}.history-item:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 16px 48px #0000001f,0 8px 24px #4caf5033;border-color:#4caf5066}.item-checkbox{display:flex;align-items:center;padding-top:8px;min-width:24px}.item-checkbox input[type=checkbox]{width:20px;height:20px;accent-color:#4caf50;cursor:pointer;border-radius:6px;border:2px solid rgba(76,175,80,.3);flex-shrink:0}.item-image{width:90px;height:90px;flex-shrink:0;min-width:90px}.placeholder-image{width:100%;height:100%;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 24px #4caf504d,0 4px 12px #4caf5033;position:relative;overflow:hidden}.placeholder-image:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.item-content{display:flex;flex-direction:column;gap:16px;min-width:0;flex:1;overflow:visible}.item-header h3{font-size:1.3rem;font-weight:700;color:#1a1a1a;margin:0 0 12px;line-height:1.3;background:linear-gradient(135deg,#1a1a1a,#4caf50);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;word-wrap:break-word;overflow-wrap:break-word}.item-meta{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-bottom:8px}.item-meta span{display:flex;align-items:center;gap:6px;font-size:.9rem;color:#666;font-weight:600;padding:6px 12px;background:#4caf501a;border-radius:8px;border:1px solid rgba(76,175,80,.2);white-space:nowrap;flex-shrink:0}.item-details{display:flex;flex-direction:column;gap:16px;width:100%}.nutrition-breakdown{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.nutrition-item{display:flex;align-items:center;gap:6px;font-size:.9rem;color:#1a1a1a;font-weight:600;padding:8px 12px;background:linear-gradient(135deg,#4caf501a,#4caf500d);border-radius:10px;border:1px solid rgba(76,175,80,.2);box-shadow:0 2px 8px #0000000f;white-space:nowrap;flex-shrink:0}.food-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.food-tag{padding:6px 12px;background:linear-gradient(135deg,#4caf5026,#4caf501a);color:#1a1a1a;border-radius:10px;font-size:.85rem;font-weight:600;border:1px solid rgba(76,175,80,.2);transition:all .3s ease;white-space:nowrap;flex-shrink:0}.food-tag:hover{background:linear-gradient(135deg,#4caf5040,#4caf5033);transform:translateY(-2px);box-shadow:0 4px 12px #4caf5033}.food-tag.more{background:linear-gradient(135deg,#4caf5040,#4caf5033);color:#4caf50;font-weight:700}.item-footer{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#999;margin-top:12px;padding-top:12px;border-top:1px solid rgba(76,175,80,.1);width:100%}.item-footer span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.item-actions{display:flex;flex-direction:column;gap:10px;align-items:center;min-width:42px;flex-shrink:0}.action-btn{width:42px;height:42px;border:none;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:#666;box-shadow:0 2px 8px #0000001a;position:relative;overflow:hidden;flex-shrink:0}.action-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.action-btn:hover:before{left:100%}.action-btn.view{background:linear-gradient(135deg,#4caf501a,#4caf500d);border:1px solid rgba(76,175,80,.2)}.action-btn.view:hover{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;transform:scale(1.1);box-shadow:0 6px 20px #4caf504d}.action-btn.export{background:linear-gradient(135deg,#2196f31a,#2196f30d);border:1px solid rgba(33,150,243,.2)}.action-btn.export:hover{background:linear-gradient(135deg,#2196f3,#42a5f5);color:#fff;transform:scale(1.1);box-shadow:0 6px 20px #2196f34d}.action-btn.delete{background:linear-gradient(135deg,#f443361a,#f443360d);border:1px solid rgba(244,67,54,.2)}.action-btn.delete:hover{background:linear-gradient(135deg,#f44336,#ef5350);color:#fff;transform:scale(1.1);box-shadow:0 6px 20px #f443364d}.selected-analysis{grid-column:3;background:linear-gradient(135deg,#fffffff2,#ffffffe6);border:2px solid rgba(76,175,80,.2);border-radius:20px;padding:32px;position:sticky;top:140px;max-height:calc(100vh - 240px);overflow-y:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 12px 40px #0000001f,0 6px 20px #4caf5026;position:relative;overflow:hidden}.selected-analysis:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#4caf50,#66bb6a,#81c784)}.selected-analysis::-webkit-scrollbar{width:6px}.selected-analysis::-webkit-scrollbar-track{background:#4caf501a;border-radius:8px}.selected-analysis::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:8px}.selected-analysis h3{font-size:1.4rem;font-weight:700;color:#1a1a1a;margin-bottom:20px;line-height:1.3;background:linear-gradient(135deg,#1a1a1a,#4caf50);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.selected-analysis .analysis-meta{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.selected-analysis .meta-item{display:flex;align-items:center;gap:10px;font-size:.95rem;color:#666;font-weight:600;padding:8px 12px;background:#4caf501a;border-radius:10px;border:1px solid rgba(76,175,80,.2)}.selected-analysis .nutrition-summary{background:linear-gradient(135deg,#4caf501a,#4caf500d);border-radius:16px;padding:20px;margin-bottom:24px;border:1px solid rgba(76,175,80,.2);box-shadow:0 4px 16px #4caf501a}.selected-analysis .nutrition-item{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-weight:600;font-size:1rem;color:#1a1a1a}.selected-analysis .nutrition-item:last-child{margin-bottom:0}.selected-analysis .food-tags{display:flex;flex-wrap:wrap;gap:8px}.selected-analysis .food-tag{padding:8px 14px;background:linear-gradient(135deg,#4caf5033,#4caf5026);color:#1a1a1a;border-radius:12px;font-size:.9rem;font-weight:600;border:1px solid rgba(76,175,80,.3);transition:all .3s ease}.selected-analysis .food-tag:hover{background:linear-gradient(135deg,#4caf504d,#4caf5040);transform:translateY(-2px);box-shadow:0 4px 12px #4caf5033}.empty-state{grid-column:1 / -1;text-align:center;padding:80px 40px;background:linear-gradient(135deg,#ffffffe6,#fffc);border-radius:20px;border:2px dashed rgba(76,175,80,.3);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #00000014}.empty-icon{width:100px;height:100px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;margin:0 auto 32px;box-shadow:0 12px 40px #4caf504d,0 6px 20px #4caf5033;position:relative;overflow:hidden}.empty-icon:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 3s infinite}.empty-state h2{font-size:1.8rem;font-weight:700;color:#1a1a1a;margin-bottom:16px;background:linear-gradient(135deg,#1a1a1a,#4caf50);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.empty-state p{color:#666;margin-bottom:32px;max-width:500px;margin-left:auto;margin-right:auto;font-size:1.1rem;line-height:1.6;font-weight:500}.results-summary{grid-column:1 / -1;background:linear-gradient(135deg,#fffffff2,#ffffffe6);border-radius:16px;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;border:2px solid rgba(76,175,80,.15);margin-top:32px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #00000014,0 4px 16px #4caf501a;position:relative;overflow:hidden}.results-summary:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4caf50,#66bb6a,#81c784)}.summary-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 20px}.summary-label{font-size:.9rem;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:1.2rem;color:#1a1a1a;font-weight:700;background:linear-gradient(135deg,#1a1a1a,#4caf50);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width: 1400px){.history-content{grid-template-columns:1fr 2fr 1fr;gap:24px;padding:32px 20px}}@media (max-width: 1200px){.history-content{grid-template-columns:1fr;gap:24px}.history-list{grid-column:1;max-height:none;overflow-y:visible}.selected-analysis{grid-column:1;position:static;max-height:none}}@media (max-width: 768px){.history-content{padding:24px 16px}.header-content h1{font-size:2.2rem}.history-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.stat-card{padding:24px 20px}.filter-controls{flex-direction:column;align-items:stretch;gap:16px}.history-item{grid-template-columns:1fr;gap:16px;padding:20px;min-height:auto}.item-image{width:70px;height:70px;justify-self:center;min-width:70px}.item-content{width:100%;overflow:visible}.item-header h3{font-size:1.2rem;word-wrap:break-word;overflow-wrap:break-word}.item-meta{justify-content:center;gap:12px}.item-meta span{font-size:.8rem;padding:4px 8px;white-space:nowrap}.nutrition-breakdown{justify-content:center;gap:8px}.nutrition-item{font-size:.8rem;padding:6px 10px;white-space:nowrap}.food-tags{justify-content:center;gap:6px}.food-tag{font-size:.8rem;padding:4px 8px;white-space:nowrap}.item-footer{flex-direction:column;gap:8px;text-align:center}.item-footer span{max-width:none;text-align:center}.item-actions{flex-direction:row;justify-content:center;gap:12px;width:100%;min-width:auto}.action-btn{width:40px;height:40px}.bulk-actions{flex-direction:column;gap:16px;text-align:center;padding:16px 24px}.results-summary{flex-direction:column;gap:16px;text-align:center;padding:20px 24px}}@media (max-width: 480px){.history-stats{grid-template-columns:1fr}.filter-buttons,.sort-controls{justify-content:center}.stat-card{padding:20px 16px}.stat-icon{width:56px;height:56px}.stat-content h3{font-size:2rem}.header-content h1{font-size:1.8rem}.header-content p{font-size:1rem}.history-item{padding:16px;gap:12px}.item-image{width:60px;height:60px;min-width:60px}.item-header h3{font-size:1.1rem;text-align:center}.item-meta{flex-direction:column;gap:8px;align-items:center}.nutrition-breakdown{flex-direction:column;align-items:center;gap:6px}.nutrition-item{width:100%;justify-content:center;text-align:center}.food-tags{justify-content:center;flex-direction:column;align-items:center;gap:4px}.food-tag{width:100%;text-align:center;justify-content:center}.item-actions{width:100%;justify-content:space-around}.action-btn{width:36px;height:36px}}.settings-page{min-height:100vh;background:linear-gradient(135deg,#fff,#f8f9fa,#e9ecef);color:#1a1a1a;padding-top:90px}.settings-content{max-width:800px;margin:0 auto;padding:40px 20px}.settings-header{margin-bottom:48px}.back-button{display:inline-flex;align-items:center;gap:8px;color:#666;text-decoration:none;font-weight:500;margin-bottom:24px;transition:all .3s ease}.back-button:hover{color:#4caf50;transform:translate(-4px)}.header-content h1{font-size:3rem;font-weight:700;color:#1a1a1a;margin-bottom:16px}.header-content p{font-size:1.2rem;color:#666;max-width:600px}.settings-grid{display:grid;gap:32px}.settings-section{background:#fffc;border:1px solid rgba(76,175,80,.2);border-radius:20px;padding:32px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #4caf501a}.section-header{display:flex;align-items:center;gap:16px;margin-bottom:32px}.section-header svg{color:#4caf50}.section-header h2{font-size:1.8rem;font-weight:600;color:#1a1a1a}.settings-form{display:grid;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#1a1a1a;font-size:1rem}.form-group input{padding:12px 16px;border:1px solid rgba(76,175,80,.2);border-radius:12px;background:#fffc;color:#1a1a1a;font-size:1rem;transition:all .3s ease}.form-group input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.form-group input::placeholder{color:#666}.password-input{position:relative}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#666;cursor:pointer;padding:4px;border-radius:4px;transition:all .3s ease}.password-toggle:hover{color:#4caf50;background:#4caf501a}.settings-options{display:grid;gap:20px}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#fffc;border:1px solid rgba(76,175,80,.2);border-radius:12px;transition:all .3s ease}.setting-item:hover{background:#ffffffe6;border-color:#4caf5066}.setting-info{flex:1}.setting-info h3{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin-bottom:4px}.setting-info p{color:#666;font-size:.9rem}.toggle{position:relative;display:inline-block;width:50px;height:24px}.toggle input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background:#4caf5033;transition:.3s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}input:checked+.slider{background:linear-gradient(135deg,#4caf50,#66bb6a)}input:checked+.slider:before{transform:translate(26px)}.settings-actions{display:flex;justify-content:center;margin-top:48px}.save-button{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #4caf504d}.save-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #4caf5066}@media (max-width: 768px){.settings-content{padding:20px}.header-content h1{font-size:2.5rem}.settings-section{padding:24px}.setting-item{flex-direction:column;gap:16px;text-align:center}.setting-info{text-align:center}}@media (max-width: 480px){.header-content h1{font-size:2rem}.settings-section{padding:20px}.save-button{width:100%;justify-content:center}}.about-page{min-height:100vh;background:linear-gradient(135deg,#fff,#f8f9fa,#e9ecef);color:#1a1a1a;padding-top:90px}.about-content{max-width:1200px;margin:0 auto;padding:40px 20px}.about-header{text-align:center;margin-bottom:80px}.about-header h1{font-size:3.5rem;font-weight:700;color:#1a1a1a;margin-bottom:16px}.about-header p{font-size:1.3rem;color:#666;max-width:600px;margin:0 auto}.mission-section{background:#fffc;border:1px solid rgba(76,175,80,.2);border-radius:24px;padding:48px;margin-bottom:80px;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #4caf501a}.mission-section h2{font-size:2.5rem;font-weight:600;color:#1a1a1a;margin-bottom:24px}.mission-section p{font-size:1.2rem;color:#666;line-height:1.7;max-width:800px;margin:0 auto}.features-section{margin-bottom:80px}.section-title{text-align:center;margin-bottom:48px}.section-title h2{font-size:2.5rem;font-weight:600;color:#1a1a1a;margin-bottom:16px}.section-title p{font-size:1.2rem;color:#666;max-width:600px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px}.feature-card{background:#fffc;border:1px solid rgba(76,175,80,.2);border-radius:20px;padding:32px;text-align:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #4caf501a}.feature-card:hover{transform:translateY(-8px);box-shadow:0 16px 48px #4caf5033}.feature-icon{width:64px;height:64px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#fff;font-size:1.5rem}.feature-card h3{font-size:1.4rem;font-weight:600;color:#1a1a1a;margin-bottom:16px}.feature-card p{color:#666;line-height:1.6}.tech-stack-section{margin-bottom:80px}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.tech-card{background:#fffc;border:1px solid rgba(76,175,80,.2);border-radius:16px;padding:24px;text-align:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #4caf501a}.tech-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #4caf5033}.tech-icon{width:48px;height:48px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#fff}.tech-card h3{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin-bottom:8px}.tech-card p{color:#666;font-size:.9rem}.ai-models-section{margin-bottom:80px}.models-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px}.model-card{background:#fffc;border:1px solid rgba(76,175,80,.2);border-radius:20px;padding:32px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #4caf501a}.model-card:hover{transform:translateY(-8px);box-shadow:0 16px 48px #4caf5033}.model-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.model-icon{width:48px;height:48px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.model-card h3{font-size:1.3rem;font-weight:600;color:#1a1a1a;margin-bottom:8px}.model-card .model-type{color:#4caf50;font-size:.9rem;font-weight:500}.model-description{color:#666;line-height:1.6;margin-bottom:16px}.model-features{list-style:none;padding:0;margin:0}.model-features li{display:flex;align-items:center;gap:8px;color:#666;margin-bottom:8px;font-size:.9rem}.model-features li:before{content:"✓";color:#4caf50;font-weight:700}.contact-section{background:#fffc;border:1px solid rgba(76,175,80,.2);border-radius:24px;padding:48px;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #4caf501a}.contact-section h2{font-size:2.5rem;font-weight:600;color:#1a1a1a;margin-bottom:24px}.contact-section p{font-size:1.2rem;color:#666;margin-bottom:32px;max-width:600px;margin-left:auto;margin-right:auto}.contact-info{display:flex;justify-content:center;gap:32px;flex-wrap:wrap}.contact-item{display:flex;align-items:center;gap:12px;color:#666;font-size:1.1rem}.contact-item svg{color:#4caf50}.contact-item a{color:#4caf50;text-decoration:none;transition:all .3s ease}.contact-item a:hover{color:#66bb6a;text-decoration:underline}.about-footer{text-align:center;margin-top:80px;padding:32px;background:#fffc;border:1px solid rgba(76,175,80,.2);border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #4caf501a}.about-footer p{color:#666;font-size:1rem}.about-footer a{color:#4caf50;text-decoration:none;font-weight:600;transition:all .3s ease}.about-footer a:hover{color:#66bb6a;text-decoration:underline}.about-footer .footer-info p:last-child{margin-top:12px;font-size:.95rem;color:#4caf50;font-weight:500}.about-footer .footer-info a{color:#4caf50;text-decoration:none;font-weight:600;transition:all .3s ease;margin:0 4px}.about-footer .footer-info a:hover{color:#45a049;text-decoration:underline}@media (max-width: 768px){.about-content{padding:20px}.about-header h1{font-size:2.5rem}.mission-section,.contact-section{padding:32px 24px}.features-grid,.tech-grid,.models-grid{grid-template-columns:1fr}.contact-info{flex-direction:column;gap:16px}}@media (max-width: 480px){.about-header h1{font-size:2rem}.mission-section,.contact-section{padding:24px 16px}.feature-card,.tech-card,.model-card{padding:24px}}.diet-chat{width:100vw;height:100vh;margin:0;padding:0;display:flex;flex-direction:column;background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;box-sizing:border-box;overflow-y:auto;overflow-x:hidden}.chat-header{text-align:center;color:#fff;margin:0;padding:1rem 2rem;background:linear-gradient(135deg,#4caf50,#45a049);box-shadow:0 4px 16px #4caf5033;flex-shrink:0;z-index:10}.chat-header h2{margin:0 0 .5rem;font-size:1.6rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.2)}.chat-header p{margin:0 0 .75rem;opacity:.95;font-size:.95rem;font-weight:500}.connection-status{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:.5rem}.status-indicator{font-size:.8rem;font-weight:600;padding:.4rem .8rem;border-radius:16px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.status-indicator.connected{background:#4caf5033;border-color:#4caf5066}.status-indicator.connecting{background:#ff980033;border-color:#ff980066}.status-indicator.disconnected{background:#f4433633;border-color:#f4433666}.retry-button{background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:16px;color:#fff;font-size:.75rem;font-weight:600;padding:.4rem .8rem;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.retry-button:hover{background:#ffffff4d;transform:translateY(-1px)}.chat-container{flex:1;display:flex;flex-direction:column;background:#fff;overflow-y:auto;overflow-x:hidden;min-height:0}.messages-container{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;background:#fff;min-height:300px;max-height:60vh;border:2px solid #e9ecef;margin:.5rem;border-radius:12px}.welcome-message{text-align:center;padding:2rem 1.5rem;color:#333;background:#f8f9fa;border-radius:16px;border:1px solid #e9ecef;margin:.5rem 0}.welcome-icon{font-size:3rem;margin-bottom:1rem}.welcome-message h3{margin:0 0 1rem;color:#1a1a1a;font-weight:600;font-size:1.4rem}.welcome-message p{margin:0 0 1rem;line-height:1.6;color:#555;font-size:1rem}.connection-warning{background:#ff98001a;border:1px solid rgba(255,152,0,.3);border-radius:12px;padding:1rem;margin-top:1rem}.connection-warning p{margin:0 0 .75rem;color:#e65100;font-weight:500;font-size:.9rem}.connection-warning .retry-button{background:#ff9800;border:none;color:#fff;font-size:.8rem;padding:.5rem 1rem}.connection-warning .retry-button:hover{background:#f57c00}.message{display:flex;margin-bottom:1rem;width:100%;align-items:flex-start}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message.system{justify-content:center}.message-content{max-width:75%;padding:1rem;border-radius:16px;position:relative;box-shadow:0 2px 8px #00000014;word-wrap:break-word;display:flex;flex-direction:column}.message.user .message-content{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border-bottom-right-radius:6px}.message.assistant .message-content{background:#fff;color:#1a1a1a;border:1px solid #e9ecef;border-bottom-left-radius:6px}.message.system .message-content{background:#f0f8ff;color:#1565c0;border:1px solid #bbdefb;border-left:4px solid #2196f3;max-width:90%}.message-text{margin-bottom:.5rem;line-height:1.5;font-size:.95rem;white-space:pre-line}.message-text ul{margin:.5rem 0;padding-left:1.5rem}.message-text li{margin-bottom:.5rem;line-height:1.5}.message-text:not(:empty):before{content:none}.message-time{font-size:.75rem;opacity:.7;text-align:right;font-weight:500}.message-details{margin-top:1rem;padding-top:1rem;border-top:1px solid #e9ecef}.confidence-indicator{font-size:.85rem;margin-bottom:.5rem;color:#555;font-weight:500}.confidence-score{font-weight:700;color:#4caf50}.suggestions h4,.related-topics h4{margin:.5rem 0;font-size:.9rem;color:#1a1a1a;font-weight:600}.suggestions ul{margin:.5rem 0;padding-left:1.25rem}.suggestions li{margin-bottom:.25rem;font-size:.85rem;color:#555;line-height:1.4}.topic-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.topic-tag{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:.4rem .8rem;border-radius:16px;font-size:.8rem;cursor:pointer;transition:all .2s ease;border:none;font-weight:500;box-shadow:0 2px 4px #4caf5033}.topic-tag:hover{transform:translateY(-1px);box-shadow:0 4px 8px #4caf504d;background:linear-gradient(135deg,#45a049,#3d8b40)}.loading-indicator{display:flex;align-items:center;gap:.5rem;color:#555;font-weight:500}.typing-dots{display:flex;gap:.2rem}.typing-dots span{width:8px;height:8px;background:#4caf50;border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-dots span:nth-child(1){animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.quick-actions{padding:.75rem;background:#f8f9fa;border-top:1px solid #e9ecef;flex-shrink:0}.quick-actions h4{margin:0 0 .5rem;color:#1a1a1a;font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.action-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:.375rem;align-items:stretch}.action-buttons button{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:8px;padding:.4rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #4caf5033;min-height:28px;display:flex;align-items:center;justify-content:center;text-align:center}.action-buttons button:hover{transform:translateY(-1px);box-shadow:0 4px 8px #4caf504d;background:linear-gradient(135deg,#45a049,#3d8b40)}.sample-questions{padding:.75rem;background:#fff;border-top:1px solid #e9ecef;flex-shrink:0;max-height:20vh;overflow-y:auto;overflow-x:hidden}.sample-questions h4{margin:0 0 .5rem;color:#1a1a1a;font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.5rem;position:sticky;top:0;background:#fff;padding:.25rem 0;z-index:5}.question-grid{display:flex;flex-direction:column;gap:.25rem;max-width:100%;align-items:stretch}.sample-question{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:.5rem;text-align:left;cursor:pointer;transition:all .2s ease;font-size:.75rem;line-height:1.2;color:#1a1a1a;font-weight:500;box-shadow:0 1px 2px #0000000d;min-height:32px;display:flex;align-items:center;width:100%;word-wrap:break-word;white-space:normal;justify-content:flex-start}.sample-question:hover:not(:disabled){background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;transform:translateY(-1px);box-shadow:0 3px 6px #4caf5033;border-color:#4caf50}.sample-question:disabled{opacity:.5;cursor:not-allowed;transform:none;background:#f5f5f5;color:#999}.input-container{display:flex;gap:.5rem;padding:.75rem;background:#fff;border-top:1px solid #e9ecef;flex-shrink:0}.message-input{flex:1;padding:.625rem .875rem;border:2px solid #e9ecef;border-radius:16px;font-size:.85rem;outline:none;transition:all .2s ease;color:#1a1a1a;font-weight:500;min-height:35px}.message-input:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.message-input:disabled{background:#f8f9fa;cursor:not-allowed;color:#999}.message-input::placeholder{color:#999;font-weight:400}.send-button{width:35px;height:35px;border:none;border-radius:50%;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;font-size:.9rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #4caf5033;flex-shrink:0}.send-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 8px #4caf504d;background:linear-gradient(135deg,#45a049,#3d8b40)}.send-button:disabled{opacity:.5;cursor:not-allowed;transform:none;background:#ccc}@media (max-width: 768px){.diet-chat{height:100vh}.messages-container{min-height:250px;padding:1rem;margin:.25rem}.chat-header{padding:.75rem 1rem}.chat-header h2{font-size:1.4rem}.chat-header p{font-size:.85rem}.connection-status{flex-direction:column;gap:.5rem}.message-content{max-width:85%;padding:.875rem}.quick-actions{padding:.5rem}.action-buttons{grid-template-columns:repeat(2,1fr);gap:.25rem}.action-buttons button{padding:.375rem;font-size:.7rem;min-height:24px}.sample-questions{padding:.5rem;max-height:15vh}.question-grid{gap:.2rem}.sample-question{padding:.375rem;min-height:28px;font-size:.7rem}.input-container{padding:.5rem;gap:.375rem}.message-input{font-size:.8rem;padding:.5rem .75rem;min-height:32px}.send-button{width:32px;height:32px;font-size:.8rem}}@media (max-width: 480px){.messages-container{min-height:200px;padding:.75rem;margin:.25rem}.chat-header{padding:.5rem .75rem}.chat-header h2{font-size:1.2rem}.message-content{max-width:90%;padding:.75rem}.quick-actions{padding:.375rem}.action-buttons{grid-template-columns:1fr}.sample-questions{padding:.375rem;max-height:12vh}.sample-question{padding:.25rem;min-height:24px;font-size:.65rem}.topic-tags{gap:.25rem}.topic-tag{font-size:.65rem;padding:.2rem .4rem}.input-container{padding:.375rem}.message-input{font-size:.75rem;padding:.375rem .625rem}.send-button{width:28px;height:28px;font-size:.75rem}}.messages-container::-webkit-scrollbar,.sample-questions::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track,.sample-questions::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.messages-container::-webkit-scrollbar-thumb,.sample-questions::-webkit-scrollbar-thumb{background:#4caf50;border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover,.sample-questions::-webkit-scrollbar-thumb:hover{background:#45a049}*{box-sizing:border-box}body{margin:0;padding:0;overflow:hidden}#root{height:100vh;display:flex;flex-direction:column}.loading-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff,#f8f9fa,#e9ecef);color:#1a1a1a}.loading-content{text-align:center;max-width:400px;padding:40px}.loading-logo{width:80px;height:80px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;animation:pulse 2s ease-in-out infinite;box-shadow:0 8px 32px #4caf504d}.loading-logo svg{color:#fff;font-size:2rem}.loading-text{font-size:1.5rem;font-weight:600;color:#1a1a1a;margin-bottom:32px}.loading-spinner{position:relative;width:120px;height:120px;margin:0 auto 32px}.spinner-ring{position:absolute;width:100%;height:100%;border:3px solid transparent;border-top:3px solid #4caf50;border-radius:50%;animation:spin 1.5s linear infinite}.spinner-ring:nth-child(1){animation-delay:0s}.spinner-ring:nth-child(2){width:80%;height:80%;top:10%;left:10%;border-top-color:#66bb6a;animation-delay:.2s}.spinner-ring:nth-child(3){width:60%;height:60%;top:20%;left:20%;border-top-color:#81c784;animation-delay:.4s}.progress-bar{width:200px;height:4px;background:#4caf5033;border-radius:2px;margin:0 auto;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:2px;animation:progress 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes progress{0%{width:0%}50%{width:70%}to{width:100%}}
