:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media(prefers-color-scheme:dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{max-width:640px;margin:0 auto;padding:0rem;font-weight:400}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media(hover:hover){a:hover{background-color:#00bd7e33}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh}.login-container[data-v-01f84afd]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card[data-v-01f84afd]{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:40px;width:100%;max-width:420px}.login-title[data-v-01f84afd]{font-size:28px;font-weight:700;color:#333;margin:0 0 8px;text-align:center}.login-subtitle[data-v-01f84afd]{font-size:14px;color:#666;margin:0 0 32px;text-align:center}.login-form[data-v-01f84afd]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-01f84afd]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-01f84afd]{font-size:14px;font-weight:500;color:#333}.form-group input[data-v-01f84afd]{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:all .3s}.form-group input[data-v-01f84afd]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input[data-v-01f84afd]:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message[data-v-01f84afd]{padding:12px;background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;text-align:center}.login-button[data-v-01f84afd]{padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;margin-top:8px}.login-button[data-v-01f84afd]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.login-button[data-v-01f84afd]:active:not(:disabled){transform:translateY(0)}.login-button[data-v-01f84afd]:disabled{opacity:.6;cursor:not-allowed}.login-hint[data-v-01f84afd]{margin-top:24px;padding-top:24px;border-top:1px solid #e0e0e0;text-align:center}.login-hint p[data-v-01f84afd]{font-size:13px;color:#999;margin:0}.image-upload[data-v-f94cf835]{display:flex;flex-direction:column;gap:16px}.upload-area[data-v-f94cf835]{border:2px dashed #d8d8d8;border-radius:8px;text-align:center;cursor:pointer;transition:all .3s;background:#fff;height:400px;display:flex;align-items:center;justify-content:center;overflow:hidden}.upload-area[data-v-f94cf835]:hover{border-color:#999;background:#fafafa}.upload-area.drag-over[data-v-f94cf835]{border-color:#667eea;background:#f5f7ff}.upload-area.has-image[data-v-f94cf835]{padding:0;border:2px dashed #d8d8d8;background:#f5f5f5}.upload-placeholder[data-v-f94cf835]{display:flex;flex-direction:column;align-items:center;gap:16px}.upload-icon[data-v-f94cf835]{font-size:72px;opacity:.5;filter:grayscale(100%)}.upload-text[data-v-f94cf835]{font-size:15px;color:#666;margin:0;font-weight:400}.upload-hint[data-v-f94cf835]{font-size:13px;color:#999;margin:0}.preview-container[data-v-f94cf835]{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.preview-image[data-v-f94cf835]{max-width:100%;max-height:100%;object-fit:contain;display:block}.preview-overlay[data-v-f94cf835]{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.preview-container:hover .preview-overlay[data-v-f94cf835]{opacity:1}.remove-btn[data-v-f94cf835]{padding:10px 20px;background:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s}.remove-btn[data-v-f94cf835]:hover:not(:disabled){background:#c82333;transform:scale(1.05)}.remove-btn[data-v-f94cf835]:disabled{opacity:.6;cursor:not-allowed}.analyze-btn[data-v-f94cf835]{padding:14px 32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;align-self:center}.analyze-btn[data-v-f94cf835]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.analyze-btn[data-v-f94cf835]:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.analyze-btn[data-v-f94cf835]:disabled .upload-area[data-v-f94cf835]{height:300px}.analyze-btn[data-v-f94cf835]:disabled .upload-icon[data-v-f94cf835]{font-size:56px}.analyze-btn[data-v-f94cf835]:disabled .upload-text[data-v-f94cf835]{font-size:14px}.analyze-btn[data-v-f94cf835]:disabled .upload-hint[data-v-f94cf835]{font-size:12px}.analyze-btn[data-v-f94cf835]:disabled .analyze-btn[data-v-f94cf835]{width:100%;padding:12px 24px;font-size:15px}}.nutrition-result[data-v-0f43891c]{display:flex;flex-direction:column;gap:32px}.result-title[data-v-0f43891c]{font-size:20px;color:#333;margin:0;padding-bottom:12px;border-bottom:2px solid #667eea;font-weight:600}.food-info-card[data-v-0f43891c]{background:#fff;padding:20px;border-radius:8px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e5e5}.food-name-row[data-v-0f43891c]{display:flex;align-items:baseline;gap:8px;margin-bottom:20px;flex-wrap:wrap}.food-label[data-v-0f43891c]{font-size:14px;color:#666;font-weight:400;flex-shrink:0}.food-name[data-v-0f43891c]{font-size:16px;color:#333;font-weight:500;flex:1;min-width:0}.health-rating-row[data-v-0f43891c]{display:flex;flex-direction:column;gap:8px}.rating-label-container[data-v-0f43891c]{display:flex;align-items:baseline;gap:8px}.rating-label[data-v-0f43891c]{font-size:14px;color:#666;font-weight:400}.rating-stars[data-v-0f43891c]{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.star[data-v-0f43891c]{font-size:18px;color:#e0e0e0;transition:all .2s;line-height:1;flex-shrink:0}.star.active[data-v-0f43891c]{color:gold}.rating-value[data-v-0f43891c]{font-size:15px;font-weight:500;color:#667eea;padding:2px 0;white-space:nowrap;flex-shrink:0}.nutrition-section[data-v-0f43891c]{display:flex;flex-direction:column;gap:20px}.section-title[data-v-0f43891c]{font-size:18px;color:#333;margin:0;font-weight:600}.serving-selector[data-v-0f43891c]{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;border:1px solid #e8e8e8}.serving-label[data-v-0f43891c]{font-size:14px;font-weight:600;color:#333;flex-shrink:0}.serving-select[data-v-0f43891c]{flex:1;padding:10px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;background:#fff;cursor:pointer;transition:all .3s;font-weight:500;color:#333}.serving-select[data-v-0f43891c]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.nutrition-grid[data-v-0f43891c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.nutrition-card[data-v-0f43891c]{display:flex;align-items:center;gap:16px;padding:20px;border-radius:12px;transition:all .3s;cursor:default}.nutrition-card[data-v-0f43891c]:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a}.nutrition-card.calories[data-v-0f43891c]{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff}.nutrition-card.carbs[data-v-0f43891c]{background:linear-gradient(135deg,#f9ca24,#f0932b);color:#fff}.nutrition-card.fat[data-v-0f43891c]{background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff}.nutrition-card.protein[data-v-0f43891c]{background:linear-gradient(135deg,#00b894,#00cec9);color:#fff}.card-icon[data-v-0f43891c]{font-size:36px;opacity:.9}.card-content[data-v-0f43891c]{flex:1;display:flex;flex-direction:column;gap:4px}.card-label[data-v-0f43891c]{font-size:13px;opacity:.9;font-weight:500}.card-value[data-v-0f43891c]{font-size:24px;font-weight:700}.unit[data-v-0f43891c]{font-size:14px;font-weight:400;opacity:.8}.ingredients-section[data-v-0f43891c]{display:flex;flex-direction:column;gap:16px}.ingredients-list[data-v-0f43891c]{display:flex;flex-direction:column;gap:12px}.ingredient-item[data-v-0f43891c]{background:#f8f9fa;padding:16px;border-radius:8px;border-left:4px solid #667eea}.ingredient-header[data-v-0f43891c]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.ingredient-name[data-v-0f43891c]{font-size:15px;font-weight:600;color:#333}.added-tag[data-v-0f43891c]{padding:2px 8px;background:#ff6b6b;color:#fff;font-size:12px;border-radius:4px;font-weight:500}.ingredient-nutrition[data-v-0f43891c]{display:flex;flex-wrap:wrap;gap:12px}.nutrition-item[data-v-0f43891c]{font-size:13px;color:#666;padding:4px 8px;background:#fff;border-radius:4px}.advice-section[data-v-0f43891c]{display:flex;flex-direction:column;gap:16px}.advice-content[data-v-0f43891c]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px;border-radius:12px;display:flex;flex-direction:column;gap:16px}.advice-item[data-v-0f43891c]{display:flex;gap:12px;align-items:flex-start}.advice-number[data-v-0f43891c]{flex-shrink:0;width:24px;height:24px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.advice-item p[data-v-0f43891c]{margin:0;font-size:15px;line-height:1.6;flex:1}@media(max-width:768px){.result-title[data-v-0f43891c]{font-size:17px;padding-bottom:10px}.food-info-card[data-v-0f43891c]{padding:16px}.food-name[data-v-0f43891c]{font-size:15px}.food-label[data-v-0f43891c],.rating-label[data-v-0f43891c]{font-size:13px}.rating-stars[data-v-0f43891c]{gap:1px}.star[data-v-0f43891c]{font-size:16px}.rating-value[data-v-0f43891c]{font-size:14px}.nutrition-grid[data-v-0f43891c]{grid-template-columns:1fr 1fr;gap:10px}.nutrition-card[data-v-0f43891c]{padding:14px;gap:10px}.card-icon[data-v-0f43891c]{font-size:26px}.card-value[data-v-0f43891c]{font-size:18px}.card-label[data-v-0f43891c]{font-size:11px}.unit[data-v-0f43891c]{font-size:12px}.serving-selector[data-v-0f43891c]{padding:12px;gap:10px}.serving-label[data-v-0f43891c]{font-size:13px}.serving-select[data-v-0f43891c]{font-size:14px;padding:8px 12px}.ingredient-item[data-v-0f43891c]{padding:12px}.ingredient-name[data-v-0f43891c]{font-size:14px}.ingredient-nutrition[data-v-0f43891c]{gap:8px}.nutrition-item[data-v-0f43891c]{font-size:12px}.section-title[data-v-0f43891c]{font-size:16px}.advice-content[data-v-0f43891c]{padding:20px;gap:14px}.advice-item p[data-v-0f43891c]{font-size:14px}}@media(max-width:480px){.nutrition-grid[data-v-0f43891c]{grid-template-columns:1fr}.food-info-card[data-v-0f43891c]{padding:14px}.food-name-row[data-v-0f43891c]{margin-bottom:16px}.rating-stars[data-v-0f43891c]{gap:0}.star[data-v-0f43891c]{font-size:15px}.rating-value[data-v-0f43891c]{font-size:13px}.nutrition-card[data-v-0f43891c]{padding:12px}.card-icon[data-v-0f43891c]{font-size:24px}.card-value[data-v-0f43891c]{font-size:16px}}.analyze-container[data-v-2325de10]{min-height:100vh;background:#fff}.header[data-v-2325de10]{background:#fff;box-shadow:0 1px 3px #0000001a;padding:16px 24px;display:flex;justify-content:space-between;align-items:center}.header h1[data-v-2325de10]{margin:0;font-size:20px;color:#333;font-weight:600}.user-info[data-v-2325de10]{display:flex;align-items:center;gap:12px}.user-info span[data-v-2325de10]{color:#666;font-size:14px}.logout-btn[data-v-2325de10]{padding:8px 20px;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.logout-btn[data-v-2325de10]:hover{background:#c0392b}.main-content[data-v-2325de10]{max-width:420px;margin:0 auto;padding:0}.upload-section[data-v-2325de10]{background:#fff;padding:24px;margin:0}.upload-section h2[data-v-2325de10]{margin:0 0 20px;font-size:18px;color:#000;font-weight:600}.analyzing-status[data-v-2325de10]{background:#fff;padding:48px 24px;text-align:center}.spinner[data-v-2325de10]{width:48px;height:48px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin-2325de10 1s linear infinite;margin:0 auto 16px}@keyframes spin-2325de10{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.analyzing-status p[data-v-2325de10]{color:#666;font-size:16px;margin:0}.result-section[data-v-2325de10]{background:#fff;padding:24px}.error-section[data-v-2325de10]{background:#fff;padding:32px 24px;text-align:center}.error-text[data-v-2325de10]{color:#dc3545;font-size:16px;margin:0 0 16px}.retry-btn[data-v-2325de10]{padding:10px 24px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s}.retry-btn[data-v-2325de10]:hover{background:#5568d3;transform:translateY(-1px)}@media(max-width:768px){.retry-btn[data-v-2325de10]:hover .header[data-v-2325de10]{padding:12px 16px}.retry-btn[data-v-2325de10]:hover .header h1[data-v-2325de10]{font-size:18px}.retry-btn[data-v-2325de10]:hover .user-info[data-v-2325de10]{gap:8px}.retry-btn[data-v-2325de10]:hover .user-info span[data-v-2325de10]{font-size:13px}.retry-btn[data-v-2325de10]:hover .logout-btn[data-v-2325de10]{padding:6px 14px;font-size:13px}.retry-btn[data-v-2325de10]:hover .upload-section[data-v-2325de10]{padding:16px}.retry-btn[data-v-2325de10]:hover .upload-section h2[data-v-2325de10]{font-size:16px;margin-bottom:16px}.retry-btn[data-v-2325de10]:hover .analyzing-status[data-v-2325de10]{padding:32px 16px}.retry-btn[data-v-2325de10]:hover .result-section[data-v-2325de10]{padding:16px}.retry-btn[data-v-2325de10]:hover .error-section[data-v-2325de10]{padding:24px 16px}}
