:root{--color-primary: #10b981;--color-primary-dark: #059669;--color-primary-light: #34d399;--color-primary-subtle: rgba(16, 185, 129, .08);--color-secondary: #6366f1;--color-secondary-dark: #4f46e5;--color-secondary-light: #818cf8;--color-accent: #f59e0b;--color-accent-light: #fbbf24;--color-under: #3b82f6;--color-aligned: #10b981;--color-over: #f97316;--color-bg-dark: #0f1117;--color-bg-darker: #0a0d12;--color-bg-card: #161b22;--color-bg-card-hover: #1c2128;--color-bg-input: #0d1117;--color-bg-overlay: rgba(15, 17, 23, .85);--color-text: #e6edf3;--color-text-secondary: #c9d1d9;--color-text-muted: #8b949e;--color-text-dim: #6e7681;--color-border: #30363d;--color-border-light: #3d444d;--color-border-focus: #10b981;--gradient-primary: linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(16, 185, 129, .12) 0%, rgba(5, 150, 105, .08) 100%);--gradient-card: linear-gradient(145deg, #161b22 0%, #0d1117 100%);--gradient-card-hover: linear-gradient(145deg, #1c2128 0%, #161b22 100%);--gradient-glow: radial-gradient(circle at 50% 50%, rgba(16, 185, 129, .15) 0%, transparent 70%);--gradient-secondary: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 24px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(16, 185, 129, .2);--shadow-glow-secondary: 0 0 20px rgba(99, 102, 241, .15);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--color-bg-dark);color:var(--color-text);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:.3px}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--color-text);letter-spacing:-.5px}h1{font-size:2.5rem;font-weight:700}h2{font-size:2rem;font-weight:700}h3{font-size:1.5rem;font-weight:600}h4{font-size:1.25rem;font-weight:600}h5{font-size:1.125rem;font-weight:600}h6{font-size:1rem;font-weight:600}p{color:var(--color-text-muted);line-height:1.7}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);font-size:.9375rem;font-weight:500;border-radius:var(--radius-lg);border:none;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;letter-spacing:.3px}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 12px #10b9814d;font-weight:600}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #10b98166}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:var(--color-bg-card);color:var(--color-text);border:1px solid var(--color-border-light)}.btn-secondary:hover{background-color:var(--color-bg-card-hover);border-color:var(--color-primary);color:var(--color-primary)}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover{background-color:#10b9811a;color:var(--color-text)}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:1rem;height:48px}.btn-sm{padding:var(--space-xs) var(--space-md);font-size:.875rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;margin-bottom:var(--space-sm);font-size:.875rem;font-weight:600;color:var(--color-text);letter-spacing:.3px}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem var(--space-md);font-size:1rem;font-family:inherit;background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);transition:all var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #10b9811a;background-color:var(--color-bg-card)}.form-input::placeholder{color:var(--color-text-dim)}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem;padding-right:2.5rem}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-lg);transition:all var(--transition-base);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card:hover{border-color:var(--color-border-light);box-shadow:var(--shadow-lg);background:var(--color-bg-card-hover)}.card-header{margin-bottom:var(--space-lg)}.card-title{font-size:1.25rem;font-weight:600;margin-bottom:var(--space-xs)}.card-description{color:var(--color-text-muted);font-size:.875rem}.status-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-size:.875rem;font-weight:600;letter-spacing:.3px}.status-under{background-color:#3b82f626;color:var(--color-under)}.status-aligned{background-color:#10b98126;color:var(--color-aligned)}.status-over{background-color:#f9731626;color:var(--color-over)}.disclaimer-banner{background:var(--gradient-primary-subtle);border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);font-size:.875rem;color:var(--color-text-secondary);text-align:center;font-weight:500;letter-spacing:.3px}.spinner{width:40px;height:40px;border:3px solid var(--color-bg-card);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.w-full{width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s ease forwards}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-dark)}::-webkit-scrollbar-thumb{background:var(--color-bg-card-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-dim)}.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-bg-dark)}.main-content{flex:1;max-width:900px;margin:0 auto;padding:var(--space-2xl) var(--space-lg);width:100%}.header{background:var(--color-bg-card);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#161b22f2;box-shadow:0 4px 12px #0003}.header-content{max-width:1400px;margin:0 auto;padding:var(--space-lg) var(--space-xl);display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:var(--space-md);cursor:pointer;transition:all var(--transition-fast);color:var(--color-primary)}.logo:hover{opacity:.9}.logo-mark{width:28px;height:28px;border-radius:8px;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.2),transparent 60%)}.logo-text{font-size:1.375rem;font-weight:700;color:var(--color-text);letter-spacing:-.5px}.nav{display:flex;gap:var(--space-xs);align-items:center}.nav-link{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:none;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);font-size:.9375rem;font-weight:500;letter-spacing:.3px}.nav-link:hover{background:var(--color-bg-card-hover);color:var(--color-text)}.nav-link.active{background:var(--gradient-primary-subtle);color:var(--color-primary);border:1px solid rgba(16,185,129,.3)}.nav-link.logout{color:#ff6b6b}.nav-link.logout:hover{background:#ff6b6b1a;color:#ff8787}.loading-screen,.loading-section{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);min-height:200px;color:var(--color-text-muted)}.loading-screen{min-height:100vh}.auth-view{display:flex;align-items:center;justify-content:center;min-height:70vh}.auth-card{width:100%;max-width:420px;background:var(--color-bg-card);border:1px solid var(--color-border);box-shadow:var(--shadow-xl);border-radius:var(--radius-xl)}.auth-header{text-align:center;margin-bottom:var(--space-2xl)}.auth-header h2{color:var(--color-text);margin-bottom:var(--space-sm);font-size:1.75rem}.auth-switch{margin-top:var(--space-xl);text-align:center}.error-message{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:#ff8787;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-lg);font-size:.875rem;font-weight:500}.success-message{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:var(--color-primary-light);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-lg);font-size:.875rem;text-align:center;font-weight:500}.home-view{display:flex;flex-direction:column;gap:var(--space-2xl)}.welcome-section{text-align:center;padding:var(--space-xl) 0}.welcome-section h1{margin-bottom:var(--space-sm);font-size:2.5rem}.welcome-section p{font-size:1.125rem;color:var(--color-text-muted)}.balance-card{background:var(--gradient-card);position:relative;overflow:hidden;border:1px solid var(--color-border);box-shadow:0 8px 24px #10b9811a}.balance-card:before{content:"";position:absolute;top:-50%;right:-50%;width:300px;height:300px;background:var(--gradient-glow);opacity:.2;border-radius:50%}.balance-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl);flex-wrap:wrap;gap:var(--space-md);position:relative;z-index:1}.balance-header h3{margin:0;font-size:1.25rem}.balance-stats{display:flex;gap:var(--space-2xl);margin-bottom:var(--space-xl);position:relative;z-index:1}.stat{display:flex;flex-direction:column;gap:var(--space-xs)}.stat-value{font-size:1.75rem;font-weight:700;color:var(--color-primary);letter-spacing:-.5px}.stat-label{font-size:.875rem;color:var(--color-text-muted);font-weight:500}.balance-reasoning{font-size:1rem;line-height:1.7;color:var(--color-text-secondary);position:relative;z-index:1}.action-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-lg)}.action-card{cursor:pointer;text-align:center;padding:var(--space-2xl) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-bg-card);transition:all var(--transition-base)}.action-card:hover{transform:translateY(-8px);border-color:var(--color-primary);box-shadow:0 12px 32px #10b98126;background:var(--color-bg-card-hover)}.action-icon{font-size:2.75rem;display:block;margin-bottom:var(--space-lg)}.action-card h4{margin-bottom:var(--space-sm);font-size:1.125rem}.action-card p{font-size:.875rem;color:var(--color-text-muted)}.analyze-view{max-width:700px;margin:0 auto}.analyze-view h2{text-align:center;margin-bottom:var(--space-2xl);font-size:2rem}.upload-section{display:flex;flex-direction:column;gap:var(--space-xl)}.image-upload{width:100%}.upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-3xl) var(--space-xl);border:2px dashed var(--color-border);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base);color:var(--color-text-muted);background:var(--color-bg-input)}.upload-area:hover{border-color:var(--color-primary);background:var(--gradient-primary-subtle);color:var(--color-primary)}.upload-area input{display:none}.upload-heading{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);color:var(--color-text);text-align:center;font-weight:600}.upload-hint{color:var(--color-text-muted);font-weight:500}.upload-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md);width:100%}.upload-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-card);cursor:pointer;color:var(--color-text);font-weight:700;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.upload-button-primary{background:var(--gradient-primary-subtle);border-color:#10b98159;color:var(--color-primary)}.upload-button:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.upload-button input{display:none}.upload-icon{font-size:3.5rem}.image-preview{position:relative;text-align:center}.image-preview img{max-width:100%;max-height:350px;border-radius:var(--radius-xl);object-fit:cover;box-shadow:var(--shadow-lg)}.image-preview button{margin-top:var(--space-lg)}.analysis-result{display:flex;flex-direction:column;gap:var(--space-xl)}.wellness-card{background:var(--gradient-primary);text-align:center;padding:var(--space-2xl) var(--space-xl);border-radius:var(--radius-xl);box-shadow:0 12px 32px #10b98140;border:1px solid rgba(16,185,129,.3)}.wellness-emoji{font-size:3.5rem;margin-bottom:var(--space-lg)}.wellness-message{font-size:1.25rem;color:#fff;margin-bottom:var(--space-lg);font-weight:600;line-height:1.6}.wellness-suggestions{list-style:none;text-align:left;max-width:450px;margin:0 auto}.wellness-suggestions li{color:#fffffff2;padding:var(--space-sm) 0;font-weight:500}.foods-list{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-lg)}.food-item{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) 0;border-bottom:1px solid var(--color-border)}.food-item:last-child{border-bottom:none}.food-name{flex:1;font-weight:600;color:var(--color-text)}.food-portion{color:var(--color-text-muted);font-size:.875rem}.confidence-badge{font-size:.75rem;padding:4px 10px;border-radius:var(--radius-full);text-transform:uppercase;font-weight:600;letter-spacing:.5px}.confidence-high{background:#10b98133;color:var(--color-primary)}.confidence-medium{background:#f59e0b33;color:var(--color-accent)}.confidence-low{background:#ff6b6b33;color:#ff8787}.nutrition-stats{margin-top:var(--space-lg)}.nutrition-stat{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) 0;border-bottom:1px solid var(--color-border)}.nutrition-stat:last-child{border-bottom:none}.stat-label{color:var(--color-text-muted);font-weight:500}.stat-value{font-weight:700;color:var(--color-primary);font-size:1.125rem}.macros-row{display:flex;justify-content:space-around;margin-top:var(--space-lg);padding:var(--space-lg) 0;border-top:1px solid var(--color-border)}.macro{text-align:center}.macro-label{display:block;font-size:.875rem;color:var(--color-text-muted);margin-bottom:var(--space-sm);font-weight:500}.macro-value{font-weight:700;color:var(--color-text);font-size:1.25rem}.feedback-card{text-align:center;border-top:1px solid var(--color-border);padding-top:var(--space-lg)}.feedback-card h4{margin-bottom:var(--space-lg)}.feedback-buttons{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center;margin-top:var(--space-lg)}.feedback-thanks{color:var(--color-primary);margin-top:var(--space-lg);font-weight:600}.profile-view{max-width:600px;margin:0 auto}.profile-header{margin-bottom:var(--space-2xl)}.profile-header h2{margin-bottom:var(--space-sm);color:var(--color-text);font-size:2rem}.profile-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.goal-input-wrapper{display:flex;flex-direction:column;gap:var(--space-sm)}.goal-input-wrapper .btn-sm{align-self:flex-start;padding:var(--space-xs) var(--space-md);font-size:.875rem}.history-view h2{margin-bottom:var(--space-2xl);font-size:2rem}.empty-state{text-align:center;padding:var(--space-3xl) var(--space-xl);border:2px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card)}.empty-icon{font-size:3.5rem;display:block;margin-bottom:var(--space-lg)}.empty-state p{font-size:1.125rem;color:var(--color-text-muted)}.meals-list{display:flex;flex-direction:column;gap:var(--space-lg)}.meal-card{cursor:pointer;border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-lg);background:var(--color-bg-card);transition:all var(--transition-base)}.meal-card:hover{border-color:var(--color-primary);box-shadow:0 8px 20px #10b98126;transform:translateY(-4px);background:var(--color-bg-card-hover)}.meal-header{display:flex;justify-content:space-between;margin-bottom:var(--space-md);align-items:center}.meal-context{font-weight:600;text-transform:capitalize;color:var(--color-text)}.meal-date{color:var(--color-text-muted);font-size:.875rem}.meal-foods{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.food-tag{background:var(--color-bg-card-hover);padding:4px 10px;border-radius:var(--radius-full);font-size:.8125rem;color:var(--color-text-muted);border:1px solid var(--color-border)}.meal-calories{font-weight:700;color:var(--color-primary);font-size:1.125rem}@media(max-width:768px){.main-content{padding:var(--space-lg) var(--space-md)}.header-content{flex-direction:column;gap:var(--space-md);padding:var(--space-md)}.nav{flex-wrap:wrap;justify-content:center;width:100%}.balance-stats{flex-direction:column;gap:var(--space-lg)}.action-cards{grid-template-columns:1fr}.feedback-buttons{flex-direction:column}.feedback-buttons .btn{width:100%}.macros-row{flex-direction:column;gap:var(--space-lg)}.meal-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}}.agent-insights-container,.metrics-dashboard{padding:2rem;max-width:1200px;margin:0 auto}.agent-insights-container h1,.metrics-dashboard h1{font-size:2.5rem;margin-bottom:.5rem;text-align:center;background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.subtitle{text-align:center;color:#8b949e;margin-bottom:2rem;font-size:1.1rem}.agents-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-bottom:3rem}.agent-card{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column}.agent-card:hover{border-color:#10b981;box-shadow:0 8px 24px #10b98126;transform:translateY(-4px);background:#1c2128}.agent-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.agent-emoji{font-size:2rem}.agent-header h3{margin:0;font-size:1.3rem;color:#e6edf3}.agent-description{color:#8b949e;margin-bottom:1rem;flex-grow:1}.agent-stats{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.stat{display:flex;justify-content:space-between;font-size:.9rem}.stat-label{color:#8b949e}.stat-value{font-weight:700;color:#10b981}.click-hint{color:#999;font-size:.85rem;text-align:right}.system-metrics{background:linear-gradient(135deg,#10b98114,#0596690f);border-radius:12px;padding:2rem;margin-bottom:3rem;border:1px solid rgba(16,185,129,.15)}.system-metrics h2{margin-top:0;margin-bottom:1.5rem;color:#e6edf3}.metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.metric-card{background:#161b22;border-radius:8px;padding:1.5rem;text-align:center;box-shadow:0 2px 8px #0003;border:1px solid #30363d}.metric-icon{font-size:2rem;margin-bottom:.5rem}.metric-label{color:#8b949e;font-size:.9rem;margin-bottom:.5rem}.metric-value{font-size:1.8rem;font-weight:700;color:#10b981}.metrics-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:1.5rem}.summary-card h3{margin:0 0 1rem;color:#e6edf3}.summary-metrics{display:flex;flex-direction:column;gap:.8rem}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #30363d}.summary-label{color:#8b949e;font-size:.95rem}.summary-value{font-weight:700;color:#10b981;font-size:1.1rem}.agent-performance-section h2,.experiments-section h2{color:#e6edf3;margin-bottom:1rem}.agent-performance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.agent-perf-card{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease}.agent-perf-card:hover{border-color:#10b981;box-shadow:0 6px 20px #10b9811f}.agent-perf-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.agent-perf-header .emoji{font-size:1.8rem}.agent-perf-header h4{margin:0;color:#e6edf3}.agent-perf-metrics{display:flex;flex-direction:column;gap:.6rem}.metric-row{display:flex;justify-content:space-between;font-size:.9rem;color:#8b949e}.metric-row .value{font-weight:700;color:#10b981}.experiments-section{background:#10b9810d;border-radius:12px;padding:2rem;margin-bottom:2rem;border:1px solid rgba(16,185,129,.1)}.experiments-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.experiment-card{background:#161b22;border:1px solid #30363d;border-radius:10px;padding:1.5rem}.experiment-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem}.experiment-header h4{margin:0;color:#e6edf3;flex:1}.experiment-status{padding:.3rem .8rem;border-radius:20px;color:#fff;font-size:.75rem;font-weight:700;background:#10b981}.experiment-details{display:flex;flex-direction:column;gap:.8rem}.detail-row{display:flex;justify-content:space-between;font-size:.9rem}.detail-row span:first-child{color:#8b949e}.detail-row strong,.detail-row span:last-child{color:#e6edf3;font-weight:500}.key-findings{background:linear-gradient(135deg,#10b98114,#0596690f);border-radius:12px;padding:2rem;margin-bottom:2rem;border:1px solid rgba(16,185,129,.15)}.key-findings h2{margin-top:0;color:#e6edf3}.key-findings ul{list-style:none;padding:0;margin:0}.key-findings li{padding:.8rem 0;color:#c9d1d9;border-bottom:1px solid rgba(16,185,129,.1)}.key-findings li:last-child{border-bottom:none}.key-findings strong{color:#10b981}.judges-note,.judges-section{background:linear-gradient(135deg,#10b98114,#0596690f);border:2px dashed rgba(16,185,129,.3);border-radius:12px;padding:2rem;margin-top:2rem}.judges-note h3,.judges-section h3{margin-top:0;color:#10b981}.judges-note p,.judges-section p{color:#c9d1d9;line-height:1.6}.view-traces-btn{display:inline-block;margin-top:1rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;text-decoration:none;border-radius:8px;transition:transform .2s ease}.view-traces-btn:hover{transform:scale(1.05)}.agent-detail-modal{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.agent-detail-content{background:#161b22;border-radius:16px;padding:2rem;max-width:600px;max-height:90vh;overflow-y:auto;position:relative;border:1px solid #30363d}.close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;color:#6e7681;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.close-btn:hover{color:#e6edf3}.agent-detail-content h2{margin-top:0;color:#e6edf3}.detail-description{color:#8b949e;font-size:1.1rem;margin-bottom:1.5rem}.detail-section{margin-bottom:2rem}.detail-section h3{color:#e6edf3;margin-bottom:1rem;font-size:1.1rem}.detail-section ul{list-style:none;padding:0}.detail-section li{padding:.5rem 0 .5rem 1.5rem;position:relative;color:#c9d1d9;line-height:1.6}.detail-section li:before{content:"✓";position:absolute;left:0;color:#10b981;font-weight:700}.recent-event{background:#0d1117;border-radius:8px;padding:1rem;border:1px solid #30363d}.event-item{padding:.5rem 0;color:#c9d1d9}.detail-footer{padding-top:1rem;border-top:1px solid #30363d;color:#8b949e;font-style:italic}.loading{text-align:center;padding:2rem;color:#999;font-size:1.1rem}@media(max-width:768px){.agents-grid,.agent-performance-grid,.metrics-summary{grid-template-columns:1fr}.agent-insights-container h1,.metrics-dashboard h1{font-size:2rem}.experiment-header{flex-direction:column;gap:.5rem}.experiment-status{align-self:flex-start}.agent-detail-content{max-width:90%;padding:1.5rem}}.macro-chart-container{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px;background:linear-gradient(135deg,#ff6b6b0d,#4ecdc40d);border-radius:12px;border:1px solid rgba(255,255,255,.1)}.macro-chart-canvas{max-width:100%;height:auto}.macro-chart-empty{padding:40px 20px;text-align:center;color:#999;font-size:14px}.macro-legend{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;width:100%}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px}.legend-color{width:16px;height:16px;border-radius:3px;flex-shrink:0}.legend-label{color:#ccc;min-width:60px}.legend-value{color:#fff;font-weight:600;min-width:40px;text-align:right}@media(max-width:768px){.macro-chart-container{padding:15px}.macro-legend{gap:15px}.legend-item{font-size:13px}}.history-view{display:flex;flex-direction:column;gap:20px}.history-header{display:flex;justify-content:space-between;align-items:center;gap:15px}.history-header h2{margin:0}.filter-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;padding:20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group .form-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#aaa}.filter-group .form-input,.filter-group .form-select{padding:10px 12px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:14px}.filter-group .form-input::placeholder{color:#666}.filter-group .form-input:focus,.filter-group .form-select:focus{outline:none;border-color:#4caf5080;background:#ffffff1f}.filter-actions{grid-column:1 / -1;display:flex;gap:10px;justify-content:flex-end}.active-filters{display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:#4caf501a;border-radius:6px;border:1px solid rgba(76,175,80,.3)}.filter-tag{display:inline-block;padding:4px 12px;background:#4caf5033;border:1px solid rgba(76,175,80,.4);border-radius:20px;font-size:12px;color:#4caf50}.meals-list{display:flex;flex-direction:column;gap:12px}.meal-card{padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff05;transition:all .2s ease}.meal-card:hover{background:#ffffff0d;border-color:#fff3}.meal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:10px}.meal-context{display:inline-block;padding:4px 10px;background:#4caf5026;border-radius:4px;font-size:12px;font-weight:600;color:#4caf50;text-transform:capitalize}.meal-date{font-size:12px;color:#999;white-space:nowrap}.meal-foods{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.food-tag{display:inline-block;padding:4px 10px;background:#6496ff26;border-radius:4px;font-size:12px;color:#64a6ff}.meal-nutrition{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;padding:12px;background:#ffffff08;border-radius:6px}.nutrition-item{display:flex;flex-direction:column;gap:4px}.nutrition-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#999}.nutrition-value{font-size:13px;font-weight:600;color:#fff}.meal-message{padding:10px 12px;background:#4caf501a;border-left:3px solid rgba(76,175,80,.5);border-radius:4px;font-size:13px;color:#ccc;line-height:1.4}.empty-state{text-align:center;padding:60px 20px}.empty-icon{font-size:48px;display:block;margin-bottom:15px}.empty-state p{color:#999;font-size:14px}@media(max-width:768px){.history-header{flex-direction:column;align-items:flex-start}.filter-panel,.meal-nutrition{grid-template-columns:1fr}.meal-header{flex-direction:column;align-items:flex-start}.meal-date{width:100%}}.macro-details{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:15px;padding-top:15px;border-top:1px solid rgba(255,255,255,.1)}.macro-detail-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;background:#ffffff08;border-radius:6px}.macro-detail-label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#999}.macro-detail-value{font-size:18px;font-weight:700;color:#fff}@media(max-width:768px){.macro-details{grid-template-columns:1fr}}.weekly-summary-container{display:flex;flex-direction:column;gap:20px;padding:20px;background:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:8px}.summary-header{display:flex;justify-content:space-between;align-items:center;gap:15px}.summary-header h3{margin:0;font-size:18px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.summary-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:15px;background:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:6px}.summary-label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#999}.summary-value{font-size:24px;font-weight:700;color:#fff}.summary-macros{padding:15px;background:#ffffff08;border-radius:6px}.summary-macros h4{margin:0 0 15px;font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:#aaa}.macro-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.macro-item{display:flex;flex-direction:column;gap:6px;padding:12px;background:#ffffff0d;border-radius:4px;text-align:center}.macro-name{font-size:12px;color:#999;text-transform:uppercase}.macro-value{font-size:18px;font-weight:700;color:#fff}.macro-pct{font-size:12px;color:#4caf50}.summary-insights{padding:15px;background:#4caf501a;border-left:3px solid rgba(76,175,80,.5);border-radius:4px}.summary-insights h4{margin:0 0 12px;font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:#aaa}.insights-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.insights-list li{font-size:13px;color:#ccc;line-height:1.4}.share-section{padding:15px;background:#6496ff1a;border:1px solid rgba(100,150,255,.3);border-radius:6px}.share-label{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#999}.share-link-container{display:flex;gap:10px;margin-bottom:10px}.share-link-input{flex:1;padding:10px 12px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff;font-size:12px;font-family:monospace}.share-note{margin:0;font-size:12px;color:#999;font-style:italic}.notification-settings{display:flex;flex-direction:column;gap:20px;padding:20px;background:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:8px}.notification-settings h3{margin:0;font-size:18px}.settings-section{display:flex;flex-direction:column;gap:20px}.setting-group{display:flex;flex-direction:column;gap:12px;padding:15px;background:#ffffff08;border-radius:6px}.setting-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:#fff}.setting-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.setting-input{display:flex;flex-direction:column;gap:6px;margin-left:28px}.setting-input label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#999}.setting-input input[type=time],.setting-input select{padding:8px 10px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff;font-size:13px}.setting-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-left:28px}.success-message{padding:12px;background:#4caf5033;border:1px solid rgba(76,175,80,.4);border-radius:4px;color:#4caf50;font-size:13px;text-align:center}@media(max-width:768px){.summary-grid{grid-template-columns:repeat(2,1fr)}.macro-breakdown{grid-template-columns:1fr}.share-link-container{flex-direction:column}.setting-inputs{grid-template-columns:1fr}}.onboarding-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0fdf4,#f0f9ff);padding:20px}.onboarding-card{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a;max-width:500px;width:100%;padding:40px;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.onboarding-header{text-align:center;margin-bottom:40px}.onboarding-header h2{font-size:28px;color:#1f2937;margin-bottom:8px;font-weight:600}.onboarding-header p{color:#6b7280;font-size:14px}.progress-bar{height:4px;background:#e5e7eb;border-radius:2px;margin-bottom:30px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#06b6d4);transition:width .3s ease}.options-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:30px}.option-button{display:flex;align-items:center;gap:16px;padding:16px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;font-size:16px;color:#374151;font-weight:500}.option-button:hover{border-color:#10b981;background:#f0fdf4;transform:translate(4px)}.option-button.selected{border-color:#10b981;background:#ecfdf5;color:#047857;box-shadow:0 0 0 3px #10b9811a}.option-icon{font-size:28px;min-width:40px;text-align:center}.option-text{flex:1}.option-label{font-size:14px;font-weight:600;color:#1f2937}.option-description{font-size:12px;color:#9ca3af;margin-top:2px}.custom-input-wrapper{margin-bottom:30px}.custom-input-wrapper input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;transition:border-color .2s ease}.custom-input-wrapper input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.onboarding-actions{display:flex;gap:12px;margin-top:30px}.btn-next{flex:1;padding:12px 24px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-next:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.btn-next:disabled{opacity:.5;cursor:not-allowed}.btn-back{padding:12px 24px;background:#fff;color:#6b7280;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-back:hover{border-color:#10b981;color:#10b981}.step-indicator{text-align:center;color:#9ca3af;font-size:14px;margin-top:20px}.step-indicator strong{color:#10b981}.two-column-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:480px){.onboarding-card{padding:24px}.onboarding-header h2{font-size:24px}.two-column-grid{grid-template-columns:1fr}.option-button{padding:12px}.option-icon{font-size:24px}}.landing-page{display:flex;flex-direction:column;gap:0}.hero-section{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);position:relative;overflow:hidden}.hero-logo-mark{position:absolute;right:8%;top:18%;width:320px;height:320px;background:url("data:image/svg+xml,%3csvg%20width='512'%20height='512'%20viewBox='0%200%20512%20512'%20xmlns='http://www.w3.org/2000/svg'%20role='img'%20aria-label='CalorieAI%20Lens%20logo'%3e%3cdefs%3e%3clinearGradient%20id='berry'%20x1='0%25'%20y1='0%25'%20x2='100%25'%20y2='100%25'%3e%3cstop%20offset='0%25'%20stop-color='%23ff4b8c'%20/%3e%3cstop%20offset='100%25'%20stop-color='%231e1b4b'%20/%3e%3c/linearGradient%3e%3clinearGradient%20id='leaf'%20x1='0%25'%20y1='0%25'%20x2='0%25'%20y2='100%25'%3e%3cstop%20offset='0%25'%20stop-color='%2322c55e'%20/%3e%3cstop%20offset='100%25'%20stop-color='%2316a34a'%20/%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20fill='none'%3e%3cpath%20d='M%20360%20128%20A%20200%20200%200%201%200%20360%20384'%20stroke='url(%23berry)'%20stroke-width='82'%20stroke-linecap='round'%20/%3e%3cpath%20d='M%20332%20164%20A%20160%20160%200%201%200%20332%20346'%20stroke='rgba(255,255,255,0.65)'%20stroke-width='42'%20stroke-linecap='round'%20/%3e%3cg%20fill='%23fff6d7'%3e%3ccircle%20cx='372'%20cy='180'%20r='12'%20/%3e%3ccircle%20cx='392'%20cy='256'%20r='12'%20/%3e%3ccircle%20cx='372'%20cy='332'%20r='12'%20/%3e%3c/g%3e%3cg%20fill='rgba(255,255,255,0.55)'%3e%3ccircle%20cx='180'%20cy='360'%20r='8'%20/%3e%3ccircle%20cx='200'%20cy='190'%20r='8'%20/%3e%3ccircle%20cx='260'%20cy='440'%20r='8'%20/%3e%3c/g%3e%3cpath%20d='M%20300%2096%20C%20340%2070%20400%2078%20420%20130%20C%20380%20140%20340%20150%20300%20128%20Z'%20fill='url(%23leaf)'%20/%3e%3cpath%20d='M%20320%20122%20L%20360%2096'%20stroke='%234338ca'%20stroke-width='10'%20stroke-linecap='round'%20/%3e%3c/g%3e%3c/svg%3e") center/contain no-repeat;opacity:.35;filter:drop-shadow(0 20px 40px rgba(16,185,129,.15));animation:floatLogo 8s ease-in-out infinite;pointer-events:none}.hero-logo-mark:after{content:"";position:absolute;inset:-16px;border-radius:50%;background:radial-gradient(circle,rgba(16,185,129,.12),transparent 70%);filter:blur(12px);z-index:-1}@keyframes floatLogo{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.02)}}.hero-section:before{content:"";position:absolute;top:-50%;right:-50%;width:600px;height:600px;background:radial-gradient(circle,rgba(16,185,129,.15) 0%,transparent 70%);border-radius:50%;pointer-events:none}.hero-section:after{content:"";position:absolute;bottom:-50%;left:-50%;width:600px;height:600px;background:radial-gradient(circle,rgba(6,182,212,.15) 0%,transparent 70%);border-radius:50%;pointer-events:none}.hero-badge{position:absolute;top:60px;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:24px;color:var(--color-primary);font-size:.875rem;font-weight:600;letter-spacing:.3px;animation:fadeInDown .6s ease forwards}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.hero-content{position:relative;z-index:1;max-width:800px;text-align:center;padding:var(--space-2xl);animation:fadeInUp .8s ease forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-headline{font-size:3.5rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-lg);line-height:1.2;letter-spacing:-1px}.hero-headline .highlight{background:linear-gradient(135deg,#10b981,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subheading{font-size:1.25rem;color:var(--color-text-secondary);margin-bottom:var(--space-2xl);line-height:1.6;font-weight:400}.hero-ctas{display:flex;gap:var(--space-lg);justify-content:center;flex-wrap:wrap}.hero-ctas .btn{min-width:200px}.hero-ctas .btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.features-section{padding:var(--space-3xl) var(--space-lg);background:var(--color-bg-dark)}.features-container{max-width:1200px;margin:0 auto}.section-title{font-size:2.5rem;font-weight:700;color:var(--color-text);text-align:center;margin-bottom:var(--space-3xl);letter-spacing:-.5px}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-2xl)}.feature-card{padding:var(--space-2xl);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);text-align:center;transition:all var(--transition-base);display:flex;flex-direction:column;align-items:center}.feature-card:hover{transform:translateY(-8px);border-color:var(--color-primary);box-shadow:0 12px 32px #10b98126;background:var(--color-bg-card-hover)}.feature-card:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.feature-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#10b9811a,#06b6d41a);border-radius:var(--radius-xl);margin-bottom:var(--space-lg);color:var(--color-primary)}.feature-title{font-size:1.25rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-md)}.feature-description{font-size:1rem;color:var(--color-text-secondary);line-height:1.6;margin:0}.how-it-works{padding:var(--space-3xl) var(--space-lg);background:linear-gradient(180deg,var(--color-bg-dark) 0%,#1a1f2e 100%)}.how-it-works-container{max-width:1200px;margin:0 auto}.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-2xl);margin-top:var(--space-2xl)}.step{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.step-number{width:60px;height:60px;background:linear-gradient(135deg,var(--color-primary),#06b6d4);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;color:#fff;margin-bottom:var(--space-lg)}.step-icon{font-size:3rem;margin-bottom:var(--space-lg);display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.step-title{font-size:1.25rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-md)}.step-description{font-size:1rem;color:var(--color-text-secondary);line-height:1.6;margin:0}@media(max-width:768px){.hero-headline{font-size:2.5rem}.hero-subheading{font-size:1.125rem}.hero-ctas{flex-direction:column}.hero-ctas .btn{width:100%;min-width:unset}.section-title{font-size:2rem}.features-grid,.steps-grid{grid-template-columns:1fr;gap:var(--space-lg)}.hero-content{padding:var(--space-lg)}.features-section,.how-it-works{padding:var(--space-2xl) var(--space-lg)}.hero-logo-mark{width:220px;height:220px;right:4%;top:12%;opacity:.25}}@media(max-width:480px){.hero-headline{font-size:2rem}.hero-subheading{font-size:1rem}.section-title{font-size:1.75rem}.feature-icon{width:56px;height:56px}.step-icon{font-size:2rem}.step-number{width:50px;height:50px;font-size:1.5rem}.hero-logo-mark{display:none}.hero-badge{font-size:.75rem;padding:6px 12px}}
