:root{--plate-veg-primary: #2D6A4F;--plate-veg-secondary: #40916C;--plate-veg-bg: rgba(45, 106, 79, .1);--plate-veg-border: rgba(45, 106, 79, .25);--plate-protein-primary: #E07A5F;--plate-protein-secondary: #D97736;--plate-protein-bg: rgba(224, 122, 95, .1);--plate-protein-border: rgba(224, 122, 95, .25);--plate-carbs-primary: #E9B44C;--plate-carbs-secondary: #D4A373;--plate-carbs-bg: rgba(233, 180, 76, .12);--plate-carbs-border: rgba(233, 180, 76, .25);--plate-fats-primary: #606C38;--plate-fats-bg: rgba(96, 108, 56, .1);--plate-fats-border: rgba(96, 108, 56, .25);--bg-app: #F8F9F5;--bg-surface-card: #FFFFFF;--bg-surface-glass: rgba(255, 255, 255, .88);--bg-surface-elevated: #F0F3EC;--bg-surface-hover: #E8EDE3;--border-subtle: rgba(45, 106, 79, .09);--border-focus: rgba(45, 106, 79, .45);--border-glass: rgba(255, 255, 255, .6);--text-primary: #1E293B;--text-secondary: #64748B;--text-muted: #94A3B8;--text-inverse: #FFFFFF;--accent-primary: #2D6A4F;--accent-primary-hover: #1B4332;--accent-soft: #D8F3DC;--accent-glow: rgba(45, 106, 79, .18);--status-warning: #F59E0B;--status-warning-bg: rgba(245, 158, 11, .12);--status-info: #0284C7;--status-info-bg: rgba(2, 132, 199, .1);--font-display: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 30px;--radius-full: 9999px;--shadow-sm: 0 2px 6px rgba(45, 106, 79, .04), 0 1px 3px rgba(0, 0, 0, .03);--shadow-card: 0 10px 25px -4px rgba(45, 106, 79, .07), 0 4px 10px -2px rgba(0, 0, 0, .03);--shadow-ceramic: 0 16px 36px -6px rgba(45, 106, 79, .1), 0 6px 14px -3px rgba(0, 0, 0, .04);--shadow-glow: 0 0 24px rgba(45, 106, 79, .16);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-spring: .4s cubic-bezier(.175, .885, .32, 1.275)}[data-theme=dark],.dark{--bg-app: #0F151B;--bg-surface-card: #18222B;--bg-surface-glass: rgba(24, 34, 43, .88);--bg-surface-elevated: #202D39;--bg-surface-hover: #293847;--border-subtle: rgba(255, 255, 255, .08);--border-focus: rgba(45, 106, 79, .6);--border-glass: rgba(255, 255, 255, .12);--text-primary: #F1F5F9;--text-secondary: #94A3B8;--text-muted: #64748B;--text-inverse: #0F151B;--accent-primary: #52B788;--accent-primary-hover: #74C69D;--accent-soft: rgba(82, 183, 136, .16);--accent-glow: rgba(82, 183, 136, .25);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-card: 0 10px 25px -4px rgba(0, 0, 0, .45);--shadow-ceramic: 0 16px 36px -6px rgba(0, 0, 0, .55)}@keyframes pulseGlow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}@keyframes scanLine{0%{top:5%;opacity:0}15%{opacity:1}85%{opacity:1}to{top:92%;opacity:0}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes rotateSector{0%{stroke-dashoffset:280}to{stroke-dashoffset:0}}.anim-fade-in{animation:fadeInScale var(--transition-normal) forwards}.anim-slide-up{animation:slideUp var(--transition-spring) forwards}.anim-pulse{animation:pulseGlow 2.4s ease-in-out infinite}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{font-size:16px;background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-body);height:100%;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100%;display:flex;flex-direction:column;background-color:var(--bg-app);color:var(--text-primary);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);-webkit-user-select:none;user-select:none}#app{width:100%;max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;position:relative;background-color:var(--bg-app)}h1,h2,h3,h4,.font-display{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}h1{font-size:1.625rem;line-height:1.25}h2{font-size:1.25rem;line-height:1.3}h3{font-size:1.05rem;line-height:1.35}p,span,label{font-size:.925rem;line-height:1.5;color:var(--text-secondary)}button{font-family:var(--font-display);font-size:.95rem;font-weight:600;border:none;background:none;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}button:active{transform:scale(.97)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#2d6a4f26;border-radius:4px}.language-selector-root[data-v-7f9d9e5f]{position:relative;display:inline-block}.lang-trigger-btn[data-v-7f9d9e5f]{display:flex;align-items:center;gap:5px;height:32px;padding:0 9px;border-radius:var(--radius-full);background:#ffffff0f;border:1px solid var(--border-subtle);color:var(--text-primary);font-size:.76rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.lang-trigger-btn[data-v-7f9d9e5f]:hover,.lang-trigger-btn.open[data-v-7f9d9e5f]{background:#ffffff1f;border-color:#fff3}.flag-icon[data-v-7f9d9e5f]{font-size:.95rem;line-height:1}.lang-code[data-v-7f9d9e5f]{font-family:var(--font-display);letter-spacing:.04em}.chevron-icon[data-v-7f9d9e5f]{color:var(--text-muted);transition:transform var(--transition-fast)}.chevron-icon.rotated[data-v-7f9d9e5f]{transform:rotate(180deg)}.lang-dropdown-menu[data-v-7f9d9e5f]{position:absolute;top:calc(100% + 6px);right:0;z-index:100;min-width:140px;background:var(--bg-surface-elevated);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:6px;box-shadow:0 10px 30px #00000080,0 0 1px #ffffff26;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;flex-direction:column;gap:3px}.lang-option-btn[data-v-7f9d9e5f]{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;text-align:left;transition:all var(--transition-fast)}.lang-option-btn[data-v-7f9d9e5f]:hover{background:#ffffff14;color:var(--text-primary)}.lang-option-btn.active[data-v-7f9d9e5f]{background:#10b9811f;border-color:#10b98140;color:var(--accent-primary);font-weight:600}.option-flag[data-v-7f9d9e5f]{font-size:1rem;line-height:1}.option-label[data-v-7f9d9e5f]{flex:1}.option-badge[data-v-7f9d9e5f]{font-size:.65rem;padding:1px 5px;border-radius:var(--radius-sm);background:#ffffff0f;color:var(--text-muted);font-family:var(--font-display)}.lang-option-btn.active .option-badge[data-v-7f9d9e5f]{background:#10b98133;color:var(--accent-primary)}.dropdown-anim-enter-active[data-v-7f9d9e5f],.dropdown-anim-leave-active[data-v-7f9d9e5f]{transition:opacity .15s ease,transform .15s ease}.dropdown-anim-enter-from[data-v-7f9d9e5f],.dropdown-anim-leave-to[data-v-7f9d9e5f]{opacity:0;transform:translateY(-4px) scale(.96)}.app-header[data-v-4beb089e]{position:sticky;top:0;z-index:50;width:100%;background:var(--bg-surface-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);padding:10px 14px}.header-content[data-v-4beb089e]{display:flex;align-items:center;justify-content:space-between;max-width:520px;margin:0 auto}.logo-area[data-v-4beb089e]{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.logo-plate[data-v-4beb089e]{width:34px;height:34px;border-radius:50%;box-shadow:0 4px 12px #2d6a4f29;transition:transform var(--transition-normal);flex-shrink:0;display:block}.logo-area:hover .logo-plate[data-v-4beb089e]{transform:rotate(15deg) scale(1.05)}.logo-text[data-v-4beb089e]{display:flex;flex-direction:column}.brand-title[data-v-4beb089e]{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--text-primary);letter-spacing:-.02em}.brand-sub[data-v-4beb089e]{font-size:.7rem;color:var(--plate-veg-secondary);font-weight:600}.header-actions[data-v-4beb089e]{display:flex;align-items:center;gap:6px}.status-pill[data-v-4beb089e]{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-full);font-size:.72rem;font-weight:700;cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.status-pill.free-pill[data-v-4beb089e]{background:var(--bg-surface-elevated);color:var(--text-secondary);border-color:var(--border-subtle)}.status-pill.free-pill[data-v-4beb089e]:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.status-pill.pro-pill[data-v-4beb089e]{background:#f59e0b1f;color:#b45309;border-color:#f59e0b4d}.icon-button[data-v-4beb089e]{width:32px;height:32px;border-radius:var(--radius-full);background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.icon-button[data-v-4beb089e]:hover{background:var(--bg-surface-hover);color:var(--text-primary);transform:translateY(-1px)}.camera-viewfinder[data-v-7aa1ca74]{display:flex;flex-direction:column;align-items:center;justify-content:space-between;flex:1;padding:20px 16px 32px;width:100%;position:relative;transition:background-color var(--transition-fast)}.camera-viewfinder.is-dragging[data-v-7aa1ca74]{background-color:var(--accent-soft)}.hidden-input[data-v-7aa1ca74]{display:none}.viewfinder-circle-wrap[data-v-7aa1ca74]{display:flex;flex-direction:column;align-items:center;margin-top:12px;cursor:pointer}.plate-target-ring[data-v-7aa1ca74]{width:270px;height:270px;border-radius:50%;border:2px dashed var(--plate-veg-border);display:flex;align-items:center;justify-content:center;position:relative;background:var(--bg-surface-card);box-shadow:var(--shadow-ceramic);transition:all var(--transition-normal)}.plate-target-ring[data-v-7aa1ca74]:hover{border-color:var(--accent-primary);box-shadow:0 16px 36px -6px #2d6a4f2e;transform:scale(1.02)}.reticle-corner[data-v-7aa1ca74]{position:absolute;width:16px;height:16px;border-color:var(--accent-primary);border-style:solid}.reticle-corner.top-left[data-v-7aa1ca74]{top:-3px;left:-3px;border-width:3px 0 0 3px;border-top-left-radius:6px}.reticle-corner.top-right[data-v-7aa1ca74]{top:-3px;right:-3px;border-width:3px 3px 0 0;border-top-right-radius:6px}.reticle-corner.bottom-left[data-v-7aa1ca74]{bottom:-3px;left:-3px;border-width:0 0 3px 3px;border-bottom-left-radius:6px}.reticle-corner.bottom-right[data-v-7aa1ca74]{bottom:-3px;right:-3px;border-width:0 3px 3px 0;border-bottom-right-radius:6px}.inner-guide[data-v-7aa1ca74]{width:82%;height:82%;border-radius:50%;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-subtle);opacity:.9}.guide-sector[data-v-7aa1ca74]{display:flex;align-items:center;justify-content:center;font-size:.76rem;font-weight:700;letter-spacing:.01em}.veg-sector[data-v-7aa1ca74]{flex:1;background:var(--plate-veg-bg);color:var(--plate-veg-primary);border-bottom:1.5px dashed var(--plate-veg-border)}.guide-quadrants[data-v-7aa1ca74]{flex:1;display:flex}.prot-sector[data-v-7aa1ca74]{flex:1;background:var(--plate-protein-bg);color:var(--plate-protein-primary);border-right:1.5px dashed var(--plate-protein-border)}.carb-sector[data-v-7aa1ca74]{flex:1;background:var(--plate-carbs-bg);color:var(--plate-carbs-primary)}.guide-label[data-v-7aa1ca74]{margin-top:14px;font-size:.88rem;color:var(--text-secondary);font-weight:600;text-align:center}.value-prop-card[data-v-7aa1ca74]{width:100%;max-width:360px;background:var(--bg-surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:12px 16px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-card);margin:16px 0}.sparkle-icon[data-v-7aa1ca74]{width:34px;height:34px;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.value-text[data-v-7aa1ca74]{display:flex;flex-direction:column}.value-text strong[data-v-7aa1ca74]{font-size:.88rem;color:var(--text-primary)}.value-text span[data-v-7aa1ca74]{font-size:.78rem;color:var(--text-muted)}.actions-dock[data-v-7aa1ca74]{width:100%;max-width:360px;display:flex;align-items:center;justify-content:space-around;padding:10px 16px;background:var(--bg-surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.gallery-button[data-v-7aa1ca74],.drag-hint-button[data-v-7aa1ca74]{flex-direction:column;gap:4px;color:var(--text-secondary);font-size:.76rem;font-weight:600;padding:8px 12px;border-radius:var(--radius-md);transition:all var(--transition-fast)}.gallery-button[data-v-7aa1ca74]:hover,.drag-hint-button[data-v-7aa1ca74]:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.shutter-button[data-v-7aa1ca74]{width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,#2d6a4f,#1b4332);padding:4px;box-shadow:0 6px 20px #2d6a4f52;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.shutter-button[data-v-7aa1ca74]:hover{transform:scale(1.05);box-shadow:0 8px 24px #2d6a4f6b}.shutter-button[data-v-7aa1ca74]:active{transform:scale(.95)}.shutter-inner[data-v-7aa1ca74]{width:100%;height:100%;border-radius:50%;border:2px solid rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;color:#fff}.analyzing-view[data-v-af87564e]{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:32px 16px;width:100%}.preview-container[data-v-af87564e]{width:270px;height:270px;border-radius:50%;position:relative;overflow:hidden;box-shadow:0 16px 36px -6px #2d6a4f38,0 0 0 3px var(--border-focus)}.preview-img[data-v-af87564e]{width:100%;height:100%;object-fit:cover;filter:brightness(.92)}.preview-placeholder[data-v-af87564e]{width:100%;height:100%;background:var(--bg-surface-elevated)}.laser-scanner[data-v-af87564e]{position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#2D6A4F,#52B788,#2D6A4F,transparent);box-shadow:0 0 16px #52b788,0 0 28px #2d6a4f66;animation:scanLine 2.2s ease-in-out infinite alternate}.scanner-glow-circle[data-v-af87564e]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:#2d6a4f38;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;border:1px solid rgba(45,106,79,.45);box-shadow:0 0 24px #2d6a4f59}.sparkle-pulse[data-v-af87564e]{color:#fff;animation:pulseGlow 1.4s ease-in-out infinite}.status-card[data-v-af87564e]{margin-top:36px;display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--bg-surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:16px 24px;max-width:360px;width:100%;box-shadow:var(--shadow-card)}.status-header[data-v-af87564e]{display:flex;align-items:center;gap:12px}.spinner-ring[data-v-af87564e]{width:18px;height:18px;border:2px solid rgba(45,106,79,.2);border-top-color:var(--accent-primary);border-radius:50%;animation:spin-af87564e .8s linear infinite;flex-shrink:0}@keyframes spin-af87564e{to{transform:rotate(360deg)}}.status-text[data-v-af87564e]{font-family:var(--font-display);font-weight:700;font-size:.92rem;color:var(--text-primary);text-align:center}.diagnostics-row[data-v-af87564e]{display:flex;gap:8px}.diag-chip[data-v-af87564e]{font-size:.72rem;font-weight:600;background:var(--bg-surface-elevated);padding:3px 8px;border-radius:var(--radius-sm);color:var(--text-muted)}.plate-chart-container[data-v-d1410b74]{display:flex;flex-direction:column;align-items:center;width:100%}.svg-wrap[data-v-d1410b74]{width:220px;height:220px;position:relative;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 12px 28px rgba(45,106,79,.12))}.donut-svg[data-v-d1410b74]{width:100%;height:100%;transform:rotate(-90deg)}.donut-slice[data-v-d1410b74]{cursor:pointer;transition:all var(--transition-fast);opacity:.95}.donut-slice[data-v-d1410b74]:hover{opacity:1;filter:brightness(1.1)}.donut-slice.active[data-v-d1410b74]{opacity:1;filter:drop-shadow(0 0 8px currentColor)}.donut-slice.dimmed[data-v-d1410b74]{opacity:.35}.center-score-hub[data-v-d1410b74]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center;width:96px}.score-number[data-v-d1410b74]{font-family:var(--font-display);font-size:1.45rem;font-weight:800;color:var(--text-primary);line-height:1.1;letter-spacing:-.02em}.score-label[data-v-d1410b74]{font-size:.65rem;font-weight:700;letter-spacing:.02em;color:var(--plate-veg-primary);margin-top:2px}.plate-legend-grid[data-v-d1410b74]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin-top:18px}.legend-item[data-v-d1410b74]{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 8px;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:all var(--transition-fast)}.legend-item[data-v-d1410b74]:hover{border-color:var(--border-focus);background:var(--bg-surface-hover)}.legend-item.active[data-v-d1410b74]{border-color:var(--accent-primary);background:var(--accent-soft)}.legend-header[data-v-d1410b74]{display:flex;align-items:center;gap:6px}.legend-dot[data-v-d1410b74]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.legend-title[data-v-d1410b74]{font-size:.74rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-values[data-v-d1410b74]{display:flex;align-items:baseline;gap:4px}.actual-pct[data-v-d1410b74]{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary)}.target-pct[data-v-d1410b74]{font-size:.68rem;color:var(--text-muted)}.nutrition-summary-card[data-v-bdef1119]{background:var(--bg-surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:18px 20px;width:100%;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:14px}.dish-header[data-v-bdef1119]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dish-name[data-v-bdef1119]{font-size:1.15rem;font-weight:700;line-height:1.25;color:var(--text-primary)}.cuisine-tag[data-v-bdef1119]{font-size:.74rem;color:var(--plate-veg-secondary);font-weight:600;display:inline-block;margin-top:3px}.calories-pill[data-v-bdef1119]{display:flex;align-items:center;gap:5px;background:var(--plate-protein-bg);border:1px solid var(--plate-protein-border);padding:6px 12px;border-radius:var(--radius-full);color:var(--plate-protein-primary);flex-shrink:0}.flame-icon[data-v-bdef1119]{color:var(--plate-protein-primary)}.cal-number[data-v-bdef1119]{font-family:var(--font-display);font-weight:800;font-size:.95rem;color:var(--text-primary)}.cal-unit[data-v-bdef1119]{font-size:.72rem;color:var(--text-secondary)}.feedback-banner[data-v-bdef1119]{display:flex;align-items:flex-start;gap:10px;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 14px}.feedback-banner.high-balance[data-v-bdef1119]{background:var(--accent-soft);border-color:var(--plate-veg-border)}.feedback-icon-col[data-v-bdef1119]{margin-top:2px;color:var(--accent-primary);flex-shrink:0}.feedback-content[data-v-bdef1119]{display:flex;flex-direction:column;gap:2px}.coach-label[data-v-bdef1119]{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-primary)}.feedback-text[data-v-bdef1119]{font-size:.84rem;line-height:1.45;color:var(--text-primary)}.accordion-toggle-btn[data-v-bdef1119]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;border-radius:var(--radius-md);background:var(--bg-surface-elevated);font-size:.8rem;font-weight:600;color:var(--text-secondary);border:1px solid var(--border-subtle);transition:all var(--transition-fast)}.accordion-toggle-btn[data-v-bdef1119]:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.macros-wrap[data-v-bdef1119]{display:flex;flex-direction:column;gap:12px;padding-top:4px}.macro-bar-stack[data-v-bdef1119]{height:8px;width:100%;background:var(--bg-surface-elevated);border-radius:var(--radius-full);overflow:hidden;display:flex}.macro-segment.protein[data-v-bdef1119]{background:var(--plate-protein-primary)}.macro-segment.fat[data-v-bdef1119]{background:var(--plate-fats-primary)}.macro-segment.carbs[data-v-bdef1119]{background:var(--plate-carbs-primary)}.macros-grid[data-v-bdef1119]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.macro-item[data-v-bdef1119]{display:flex;flex-direction:column}.macro-label[data-v-bdef1119]{font-size:.7rem;color:var(--text-muted)}.macro-value[data-v-bdef1119]{font-family:var(--font-display);font-size:.88rem;font-weight:700;color:var(--text-primary);margin-top:1px}.protein-val[data-v-bdef1119]{color:var(--plate-protein-primary)}.fat-val[data-v-bdef1119]{color:var(--plate-fats-primary)}.carbs-val[data-v-bdef1119]{color:var(--plate-carbs-secondary)}.fiber-val[data-v-bdef1119]{color:var(--plate-veg-primary)}.expand-enter-active[data-v-bdef1119],.expand-leave-active[data-v-bdef1119]{transition:all .25s ease-out}.expand-enter-from[data-v-bdef1119],.expand-leave-to[data-v-bdef1119]{opacity:0;transform:translateY(-6px)}.food-list-container[data-v-613739b5]{display:flex;flex-direction:column;gap:12px;width:100%}.list-header[data-v-613739b5]{display:flex;align-items:center;justify-content:space-between;padding:0 4px}.header-title[data-v-613739b5]{display:flex;align-items:center;gap:8px}.header-title h3[data-v-613739b5]{font-size:1.05rem;color:var(--text-primary)}.count-badge[data-v-613739b5]{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:var(--radius-full);color:var(--text-muted)}.add-item-btn[data-v-613739b5]{font-size:.8rem;font-weight:700;color:var(--accent-primary);background:var(--accent-soft);padding:6px 12px;border-radius:var(--radius-full);border:1px solid var(--plate-veg-border);transition:all var(--transition-fast)}.add-item-btn[data-v-613739b5]:hover{background:var(--plate-veg-bg);transform:translateY(-1px)}.items-stack[data-v-613739b5]{display:flex;flex-direction:column;gap:8px}.ingredient-card[data-v-613739b5]{background:var(--bg-surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.ingredient-card[data-v-613739b5]:hover{border-color:var(--border-focus);background:var(--bg-surface-hover);transform:translateY(-1px)}.ingredient-card.user-modified[data-v-613739b5]{border-left:3px solid var(--accent-primary)}.card-left[data-v-613739b5]{display:flex;flex-direction:column;gap:4px}.name-row[data-v-613739b5]{display:flex;align-items:center;gap:6px}.item-name[data-v-613739b5]{font-family:var(--font-display);font-weight:700;font-size:.92rem;color:var(--text-primary)}.modified-chip[data-v-613739b5]{color:var(--accent-primary);display:inline-flex}.meta-row[data-v-613739b5]{display:flex;align-items:center;gap:8px}.category-chip[data-v-613739b5]{font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:var(--radius-sm)}.cat-veg[data-v-613739b5]{background:var(--plate-veg-bg);color:var(--plate-veg-primary)}.cat-prot[data-v-613739b5]{background:var(--plate-protein-bg);color:var(--plate-protein-primary)}.cat-carb[data-v-613739b5]{background:var(--plate-carbs-bg);color:var(--plate-carbs-primary)}.cat-fat[data-v-613739b5]{background:var(--plate-fats-bg);color:var(--plate-fats-primary)}.cat-other[data-v-613739b5]{background:var(--bg-surface-elevated);color:var(--text-muted)}.weight-label[data-v-613739b5]{font-size:.78rem;color:var(--text-secondary)}.weight-range[data-v-613739b5]{font-size:.7rem;color:var(--text-muted)}.card-right[data-v-613739b5]{display:flex;align-items:center;gap:12px}.item-calories[data-v-613739b5]{display:flex;flex-direction:column;align-items:flex-end}.cals-val[data-v-613739b5]{font-family:var(--font-display);font-weight:800;font-size:.95rem;color:var(--text-primary)}.cals-lbl[data-v-613739b5]{font-size:.65rem;color:var(--text-muted);line-height:1}.edit-btn[data-v-613739b5]{width:28px;height:28px;border-radius:50%;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.edit-btn[data-v-613739b5]:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.modal-backdrop[data-v-ba182e78]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center}.modal-sheet[data-v-ba182e78]{background:var(--bg-surface-elevated);border-top:1px solid var(--border-glass);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding:20px 20px 32px;display:flex;flex-direction:column;gap:16px;box-shadow:0 -10px 40px #0009}.sheet-header[data-v-ba182e78]{display:flex;align-items:flex-start;justify-content:space-between}.sheet-title-box[data-v-ba182e78]{display:flex;flex-direction:column}.sheet-subtitle[data-v-ba182e78]{font-size:.72rem;color:var(--accent-primary);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.sheet-title[data-v-ba182e78]{font-size:1.15rem;color:var(--text-primary)}.close-btn[data-v-ba182e78]{width:32px;height:32px;border-radius:50%;background:#ffffff14;color:var(--text-secondary)}.section-box[data-v-ba182e78]{background:var(--bg-surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:14px;display:flex;flex-direction:column;gap:10px}.section-top[data-v-ba182e78]{display:flex;align-items:center;justify-content:space-between}.section-label[data-v-ba182e78]{display:flex;align-items:center;gap:6px;font-size:.84rem;font-weight:600;color:var(--text-secondary)}.section-label-simple[data-v-ba182e78]{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.current-grams-pill[data-v-ba182e78]{font-family:var(--font-display);font-weight:800;font-size:1rem;color:var(--accent-primary);background:#10b9811f;padding:3px 10px;border-radius:var(--radius-full)}.grams-slider[data-v-ba182e78]{width:100%;accent-color:var(--accent-primary);cursor:pointer}.quick-adjust-chips[data-v-ba182e78]{display:flex;gap:8px;justify-content:space-between}.chip-btn[data-v-ba182e78]{flex:1;background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:6px 0;font-size:.78rem;color:var(--text-secondary)}.chip-btn[data-v-ba182e78]:hover{background:#ffffff1a;color:var(--text-primary)}.presets-scroll[data-v-ba182e78]{display:flex;flex-direction:column;gap:6px;max-height:140px;overflow-y:auto}.preset-item-btn[data-v-ba182e78]{display:flex;align-items:center;justify-content:space-between;background:#ffffff08;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:8px 12px;text-align:left}.preset-item-btn[data-v-ba182e78]:hover{background:#ffffff14}.preset-item-btn.active[data-v-ba182e78]{border-color:var(--accent-primary);background:#10b9811f}.preset-name[data-v-ba182e78]{font-size:.84rem;color:var(--text-primary)}.preset-meta[data-v-ba182e78]{font-size:.72rem;color:var(--text-muted)}.category-toggle-grid[data-v-ba182e78]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.cat-toggle-btn[data-v-ba182e78]{font-size:.72rem;padding:8px 4px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#ffffff0a;color:var(--text-secondary)}.cat-toggle-btn.veg.active[data-v-ba182e78]{background:var(--plate-veg-bg);border-color:var(--plate-veg-primary);color:var(--plate-veg-primary)}.cat-toggle-btn.prot.active[data-v-ba182e78]{background:var(--plate-protein-bg);border-color:var(--plate-protein-primary);color:var(--plate-protein-primary)}.cat-toggle-btn.carb.active[data-v-ba182e78]{background:var(--plate-carbs-bg);border-color:var(--plate-carbs-primary);color:var(--plate-carbs-primary)}.cat-toggle-btn.fat.active[data-v-ba182e78]{background:var(--plate-fats-primary);border-color:#a78bfa;color:#c4b5fd}.modal-footer-actions[data-v-ba182e78]{display:flex;gap:10px;margin-top:4px}.delete-item-btn[data-v-ba182e78]{width:48px;height:48px;border-radius:var(--radius-md);background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#ef4444}.delete-item-btn[data-v-ba182e78]:hover{background:#ef444438}.save-item-btn[data-v-ba182e78]{flex:1;height:48px;background:linear-gradient(135deg,#10b981,#059669);border-radius:var(--radius-md);color:#fff;font-size:.95rem;box-shadow:0 4px 16px var(--accent-glow)}.save-item-btn[data-v-ba182e78]:hover{filter:brightness(1.05)}.modal-backdrop[data-v-9f3d70d1]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center}.modal-sheet[data-v-9f3d70d1]{background:var(--bg-surface-elevated);border-top:1px solid var(--border-glass);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;padding:20px 20px 32px;display:flex;flex-direction:column;gap:14px}.sheet-header[data-v-9f3d70d1]{display:flex;align-items:center;justify-content:space-between}.sheet-header h3[data-v-9f3d70d1]{font-size:1.15rem;color:var(--text-primary)}.close-btn[data-v-9f3d70d1]{width:32px;height:32px;border-radius:50%;background:#ffffff14;color:var(--text-secondary)}.search-wrap[data-v-9f3d70d1]{position:relative;display:flex;align-items:center}.search-icon[data-v-9f3d70d1]{position:absolute;left:12px;color:var(--text-muted)}.search-input[data-v-9f3d70d1]{width:100%;background:var(--bg-surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:10px 14px 10px 38px;color:var(--text-primary);font-size:.9rem;outline:none}.search-input[data-v-9f3d70d1]:focus{border-color:var(--accent-primary)}.cat-tabs[data-v-9f3d70d1]{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.cat-tab-btn[data-v-9f3d70d1]{padding:6px 12px;border-radius:var(--radius-full);font-size:.76rem;background:#ffffff0a;border:1px solid var(--border-subtle);color:var(--text-secondary);white-space:nowrap}.cat-tab-btn.active[data-v-9f3d70d1]{background:#10b98126;border-color:var(--accent-primary);color:var(--accent-primary)}.presets-list[data-v-9f3d70d1]{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.preset-card[data-v-9f3d70d1]{background:var(--bg-surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all var(--transition-fast)}.preset-card[data-v-9f3d70d1]:hover{border-color:#ffffff2e;background:var(--bg-surface-hover)}.preset-info[data-v-9f3d70d1]{display:flex;flex-direction:column;gap:2px}.preset-title[data-v-9f3d70d1]{font-size:.88rem;font-weight:600;color:var(--text-primary)}.preset-sub[data-v-9f3d70d1]{font-size:.72rem;color:var(--text-muted)}.add-icon-btn[data-v-9f3d70d1]{width:30px;height:30px;border-radius:50%;background:#10b98126;color:var(--accent-primary)}.drawer-backdrop[data-v-f297f009]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center}.drawer-sheet[data-v-f297f009]{background:var(--bg-surface-elevated);border-top:1px solid var(--border-glass);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:480px;max-height:88vh;display:flex;flex-direction:column;padding:20px 16px 32px;box-shadow:0 -10px 40px #0009}.drawer-header[data-v-f297f009]{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px}.header-titles h3[data-v-f297f009]{font-size:1.2rem;color:var(--text-primary)}.drawer-sub[data-v-f297f009]{font-size:.7rem;color:var(--accent-primary);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.close-btn[data-v-f297f009]{width:32px;height:32px;border-radius:50%;background:#ffffff14;color:var(--text-secondary)}.today-stats-card[data-v-f297f009]{background:var(--bg-surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:12px 14px;display:flex;align-items:center;justify-content:space-around;margin-bottom:14px}.stats-col[data-v-f297f009]{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-lbl[data-v-f297f009]{font-size:.68rem;color:var(--text-muted)}.stat-val-row[data-v-f297f009]{display:flex;align-items:center;gap:4px}.flame-icon[data-v-f297f009]{color:var(--plate-protein-primary)}.stat-val[data-v-f297f009]{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--text-primary)}.stat-unit[data-v-f297f009]{font-size:.7rem;color:var(--text-secondary)}.score-val[data-v-f297f009]{color:var(--accent-primary)}.stats-divider[data-v-f297f009]{width:1px;height:28px;background:var(--border-subtle)}.meals-scroll-area[data-v-f297f009]{flex:1;overflow-y:auto;display:flex;flex-direction:column}.loading-state[data-v-f297f009]{padding:40px 0;text-align:center;color:var(--text-muted)}.error-history-box[data-v-f297f009]{padding:32px 16px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.error-msg[data-v-f297f009]{color:#f87171;font-size:.88rem;max-width:280px}.error-history-box .retry-btn[data-v-f297f009]{padding:8px 18px;background:var(--bg-surface-2);border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-primary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.error-history-box .retry-btn[data-v-f297f009]:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.empty-history-box[data-v-f297f009]{padding:36px 16px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.empty-icon-circle[data-v-f297f009]{width:56px;height:56px;border-radius:50%;background:#ffffff0d;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.empty-history-box h4[data-v-f297f009]{color:var(--text-primary);font-size:1.05rem}.empty-history-box p[data-v-f297f009]{font-size:.82rem;color:var(--text-muted);max-width:280px}.meals-list[data-v-f297f009]{display:flex;flex-direction:column;gap:10px}.meal-history-item[data-v-f297f009]{background:var(--bg-surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:10px 12px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all var(--transition-fast)}.meal-history-item[data-v-f297f009]:hover{border-color:#ffffff2e;background:var(--bg-surface-hover)}.meal-thumb-wrapper[data-v-f297f009]{width:52px;height:52px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0;background:#ffffff0a;border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center}.meal-thumb-img[data-v-f297f009]{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-fast)}.meal-history-item:hover .meal-thumb-img[data-v-f297f009]{transform:scale(1.06)}.meal-thumb-placeholder[data-v-f297f009]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-muted);background:#ffffff05}.meal-left[data-v-f297f009]{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.meal-date-badge[data-v-f297f009]{font-size:.7rem;color:var(--text-muted)}.meal-title[data-v-f297f009]{font-size:.94rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:8px}.mini-plate-bar[data-v-f297f009]{height:4px;width:85%;background:#ffffff14;border-radius:var(--radius-full);overflow:hidden;display:flex;margin:3px 0 2px}.mini-slice.veg[data-v-f297f009]{background:var(--plate-veg-primary)}.mini-slice.prot[data-v-f297f009]{background:var(--plate-protein-primary)}.mini-slice.carb[data-v-f297f009]{background:var(--plate-carbs-primary)}.meal-breakdown-sub[data-v-f297f009]{font-size:.68rem;color:var(--text-muted)}.meal-right[data-v-f297f009]{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.meal-cals-pill[data-v-f297f009]{display:flex;align-items:baseline;gap:2px}.meal-cals-num[data-v-f297f009]{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--text-primary)}.meal-cals-unit[data-v-f297f009]{font-size:.65rem;color:var(--text-muted)}.meal-balance-chip[data-v-f297f009]{font-size:.72rem;font-weight:600;background:#10b9811f;color:var(--accent-primary);padding:2px 7px;border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:4px}.item-actions[data-v-f297f009]{display:flex;gap:6px}.action-icon-btn[data-v-f297f009]{width:26px;height:26px;border-radius:50%;background:#ffffff0d;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.action-icon-btn[data-v-f297f009]:hover{background:#ffffff1f;color:var(--text-primary)}.action-icon-btn.delete[data-v-f297f009]:hover{background:#ef444426;color:#ef4444}.settings-backdrop[data-v-7e385f61]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:#000000c7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:flex-end;justify-content:center}.settings-sheet[data-v-7e385f61]{background:var(--bg-surface-elevated);border-top:1px solid var(--border-glass);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:480px;max-height:88vh;display:flex;flex-direction:column;padding:20px 18px 28px;box-shadow:0 -12px 40px #000000b3}.sheet-header[data-v-7e385f61]{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--border-subtle)}.header-titles h3[data-v-7e385f61]{font-size:1.2rem;color:var(--text-primary)}.sheet-sub[data-v-7e385f61]{font-size:.7rem;color:var(--accent-primary);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.close-btn[data-v-7e385f61]{width:32px;height:32px;border-radius:50%;background:#ffffff14;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.close-btn[data-v-7e385f61]:hover{background:#ffffff29;color:var(--text-primary)}.settings-body[data-v-7e385f61]{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:16px 2px}.settings-section[data-v-7e385f61]{background:var(--bg-surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:14px;display:flex;flex-direction:column;gap:12px}.section-title-row[data-v-7e385f61]{display:flex;align-items:flex-start;gap:10px}.section-title-row h4[data-v-7e385f61]{font-size:.95rem;color:var(--text-primary)}.section-sub[data-v-7e385f61]{font-size:.75rem;color:var(--text-muted);margin-top:2px;line-height:1.35}.icon-bubble[data-v-7e385f61]{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.lang-bubble[data-v-7e385f61]{background:#10b98126;color:var(--accent-primary)}.profile-bubble[data-v-7e385f61]{background:#10b9812e;color:#10b981}.profile-email[data-v-7e385f61]{font-size:.82rem;font-weight:600;color:#10b981;margin-top:2px;word-break:break-all}.profile-actions[data-v-7e385f61]{margin-top:4px}.signout-btn[data-v-7e385f61]{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#ef44441f;border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-md);color:#fca5a5;font-size:.82rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.signout-btn[data-v-7e385f61]:hover{background:#ef444433;border-color:#ef444466}.signin-btn-compact[data-v-7e385f61]{display:flex;align-items:center;gap:8px;padding:8px 14px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:var(--radius-md);color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px var(--accent-glow);transition:all var(--transition-fast)}.signin-btn-compact[data-v-7e385f61]:hover{transform:translateY(-1px)}.mode-bubble[data-v-7e385f61]{background:#f9731626;color:var(--plate-protein-primary)}.db-bubble[data-v-7e385f61]{background:#3b82f626;color:#60a5fa}.about-bubble[data-v-7e385f61]{background:#a855f726;color:#c084fc}.lang-grid[data-v-7e385f61]{display:flex;flex-direction:column;gap:8px}.lang-tile[data-v-7e385f61]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:var(--radius-md);background:#ffffff08;border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-fast)}.lang-tile[data-v-7e385f61]:hover{background:#ffffff14;border-color:#ffffff26}.lang-tile.active[data-v-7e385f61]{background:#10b9811f;border-color:#10b98166}.lang-tile-left[data-v-7e385f61]{display:flex;align-items:center;gap:12px}.lang-tile-flag[data-v-7e385f61]{font-size:1.3rem;line-height:1}.lang-tile-names[data-v-7e385f61]{display:flex;align-items:center;gap:8px}.lang-native[data-v-7e385f61]{font-size:.9rem;font-weight:600;color:var(--text-primary)}.lang-code-pill[data-v-7e385f61]{font-size:.68rem;font-weight:700;padding:1px 6px;border-radius:var(--radius-sm);background:#ffffff0f;color:var(--text-muted);font-family:var(--font-display)}.lang-tile.active .lang-code-pill[data-v-7e385f61]{background:#10b98133;color:var(--accent-primary)}.check-circle[data-v-7e385f61]{width:22px;height:22px;border-radius:50%;background:var(--accent-primary);color:#fff;display:flex;align-items:center;justify-content:center}.mode-toggle-card[data-v-7e385f61]{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:var(--radius-md);background:#ffffff08;border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-fast)}.mode-toggle-card[data-v-7e385f61]:hover{background:#ffffff0f}.mode-info[data-v-7e385f61]{flex:1;padding-right:12px}.mode-badge[data-v-7e385f61]{display:inline-block;font-size:.76rem;font-weight:700;padding:2px 8px;border-radius:var(--radius-full);margin-bottom:4px}.mode-badge.mock[data-v-7e385f61]{background:#10b98126;color:var(--accent-primary);border:1px solid rgba(16,185,129,.3)}.mode-badge.live[data-v-7e385f61]{background:#f9731626;color:var(--plate-protein-primary);border:1px solid rgba(249,115,22,.3)}.mode-desc[data-v-7e385f61]{font-size:.74rem;color:var(--text-muted);line-height:1.35}.toggle-switch[data-v-7e385f61]{width:44px;height:24px;border-radius:var(--radius-full);background:#ffffff26;padding:2px;transition:all var(--transition-fast);flex-shrink:0}.toggle-switch.active[data-v-7e385f61]{background:var(--accent-primary)}.switch-thumb[data-v-7e385f61]{width:20px;height:20px;border-radius:50%;background:#fff;transition:transform var(--transition-fast)}.toggle-switch.active .switch-thumb[data-v-7e385f61]{transform:translate(20px)}.version-tag[data-v-7e385f61]{display:inline-block;font-size:.7rem;color:var(--text-muted);margin-top:2px}.about-desc[data-v-7e385f61]{font-size:.78rem;color:var(--text-secondary);line-height:1.45}.settings-footer[data-v-7e385f61]{margin-top:8px}.done-btn[data-v-7e385f61]{width:100%;height:44px;background:#ffffff14;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-weight:600;font-size:.9rem;transition:all var(--transition-fast)}.done-btn[data-v-7e385f61]:hover{background:#ffffff24}.auth-modal-backdrop[data-v-9b155f74]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000b8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px}.auth-modal-card[data-v-9b155f74]{background:var(--bg-surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);box-shadow:var(--shadow-card);width:100%;max-width:420px;padding:24px 20px;display:flex;flex-direction:column;gap:16px;max-height:90vh;overflow-y:auto}.modal-header[data-v-9b155f74]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.header-titles[data-v-9b155f74]{display:flex;gap:12px;align-items:flex-start}.badge-icon[data-v-9b155f74]{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#10b98133,#0596691a);border:1px solid rgba(16,185,129,.3);display:flex;align-items:center;justify-content:center;color:#10b981;flex-shrink:0}.modal-title[data-v-9b155f74]{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--text-primary);line-height:1.2}.modal-subtitle[data-v-9b155f74]{font-size:.8rem;color:var(--text-muted);margin-top:4px;line-height:1.35}.close-btn[data-v-9b155f74]{background:#ffffff0f;border:1px solid var(--border-subtle);border-radius:var(--radius-full);width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}.close-btn[data-v-9b155f74]:hover{background:#ffffff1f;color:var(--text-primary)}.demo-pill[data-v-9b155f74]{display:flex;align-items:center;gap:8px;font-size:.75rem;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);color:#fbbf24;padding:6px 12px;border-radius:var(--radius-full)}.demo-dot[data-v-9b155f74]{width:6px;height:6px;border-radius:50%;background:#fbbf24;box-shadow:0 0 6px #fbbf24}.tab-switcher[data-v-9b155f74]{display:flex;background:var(--bg-surface-elevated);padding:4px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);gap:4px}.tab-btn[data-v-9b155f74]{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;font-size:.85rem;font-weight:600;color:var(--text-secondary);border-radius:var(--radius-md);border:none;background:transparent;cursor:pointer;transition:all var(--transition-fast)}.tab-btn.active[data-v-9b155f74]{background:var(--bg-surface-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.feedback-msg[data-v-9b155f74]{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-md);font-size:.82rem;line-height:1.3}.error-msg[data-v-9b155f74]{background:#ef44441f;border:1px solid rgba(239,68,68,.25);color:#dc2626}.success-msg[data-v-9b155f74]{background:var(--accent-soft);border:1px solid var(--plate-veg-border);color:var(--plate-veg-primary)}.auth-form[data-v-9b155f74]{display:flex;flex-direction:column;gap:14px}.form-group[data-v-9b155f74]{display:flex;flex-direction:column;gap:6px}.input-label[data-v-9b155f74]{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.input-wrapper[data-v-9b155f74]{position:relative;display:flex;align-items:center}.input-icon[data-v-9b155f74]{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.form-input[data-v-9b155f74]{width:100%;height:44px;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:0 40px 0 38px;color:var(--text-primary);font-size:.9rem;transition:border-color var(--transition-fast)}.form-input[data-v-9b155f74]:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.pw-toggle-btn[data-v-9b155f74]{position:absolute;right:10px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.pw-toggle-btn[data-v-9b155f74]:hover{color:var(--text-primary)}.submit-btn[data-v-9b155f74]{height:46px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:var(--radius-xl);color:#fff;font-size:.92rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 14px var(--accent-glow);transition:all var(--transition-fast);margin-top:4px}.submit-btn[data-v-9b155f74]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px var(--accent-glow)}.submit-btn[data-v-9b155f74]:disabled{opacity:.6;cursor:not-allowed}.btn-spinner[data-v-9b155f74]{animation:spin-9b155f74 1s linear infinite}@keyframes spin-9b155f74{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.divider[data-v-9b155f74]{display:flex;align-items:center;gap:12px;margin:4px 0}.divider-line[data-v-9b155f74]{flex:1;height:1px;background:var(--border-subtle)}.divider-text[data-v-9b155f74]{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.secondary-actions[data-v-9b155f74]{display:flex;flex-direction:column;gap:10px}.google-btn[data-v-9b155f74]{height:44px;background:#ffffff14;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);color:var(--text-primary);font-size:.88rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:all var(--transition-fast)}.google-btn[data-v-9b155f74]:hover:not(:disabled){background:#ffffff24}.magic-link-toggle[data-v-9b155f74]{background:none;border:none;color:var(--text-secondary);font-size:.8rem;text-align:center;cursor:pointer;padding:4px;text-decoration:underline;text-underline-offset:3px}.magic-link-toggle[data-v-9b155f74]:hover{color:var(--text-primary)}.modal-footer[data-v-9b155f74]{text-align:center;font-size:.82rem;color:var(--text-muted);border-top:1px solid var(--border-subtle);padding-top:12px}.inline-link[data-v-9b155f74]{background:none;border:none;color:#10b981;font-weight:600;cursor:pointer;padding:0 4px;font-size:.82rem}.inline-link[data-v-9b155f74]:hover{text-decoration:underline}.onboarding-overlay[data-v-ba9950de]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.onboarding-container[data-v-ba9950de]{width:100%;max-width:440px;background:var(--bg-surface-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-ceramic);border:1px solid var(--border-subtle);overflow:hidden;display:flex;flex-direction:column;min-height:520px;position:relative}.onboarding-top-bar[data-v-ba9950de]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 8px}.step-indicators[data-v-ba9950de]{display:flex;gap:8px}.indicator-dot[data-v-ba9950de]{width:24px;height:5px;border-radius:999px;background:#2d6a4f26;transition:all var(--transition-normal)}.indicator-dot.active[data-v-ba9950de]{background:var(--accent-primary);width:36px}.indicator-dot.passed[data-v-ba9950de]{background:var(--plate-veg-secondary)}.skip-btn[data-v-ba9950de]{font-size:.875rem;color:var(--text-muted);padding:4px 8px;border-radius:var(--radius-sm);transition:color var(--transition-fast)}.skip-btn[data-v-ba9950de]:hover{color:var(--text-primary)}.onboarding-body[data-v-ba9950de]{flex:1;padding:16px 24px;display:flex;flex-direction:column;justify-content:center}.slide-content[data-v-ba9950de]{display:flex;flex-direction:column;align-items:center;text-align:center;animation:slideIn-ba9950de .3s cubic-bezier(.16,1,.3,1)}@keyframes slideIn-ba9950de{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.visual-badge[data-v-ba9950de]{margin-bottom:24px;width:100%;display:flex;justify-content:center}.plate-mini-preview[data-v-ba9950de]{width:160px;height:160px;border-radius:50%;background:#fff;border:6px solid #ECEEE7;box-shadow:0 12px 28px -6px #2d6a4f24;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.mini-half.veg[data-v-ba9950de]{grid-column:1 / 2;grid-row:1 / 3;background:var(--plate-veg-bg);border-right:2px dashed var(--plate-veg-primary);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:var(--plate-veg-primary)}.mini-quarter.prot[data-v-ba9950de]{grid-column:2 / 3;grid-row:1 / 2;background:var(--plate-protein-bg);border-bottom:2px dashed var(--plate-protein-primary);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:var(--plate-protein-primary)}.mini-quarter.carbs[data-v-ba9950de]{grid-column:2 / 3;grid-row:2 / 3;background:var(--plate-carbs-bg);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:var(--plate-carbs-primary)}.ceramic-circle[data-v-ba9950de]{width:100%;max-width:280px;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:10px}.sector-tag[data-v-ba9950de]{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;background:var(--bg-surface-card);text-align:left}.sector-tag .dot[data-v-ba9950de]{width:10px;height:10px;border-radius:50%}.sector-tag .dot.veg[data-v-ba9950de]{background:var(--plate-veg-primary)}.sector-tag .dot.prot[data-v-ba9950de]{background:var(--plate-protein-primary)}.sector-tag .dot.carb[data-v-ba9950de]{background:var(--plate-carbs-primary)}.coach-quote-card[data-v-ba9950de]{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:16px;max-width:320px;text-align:left}.quote-header[data-v-ba9950de]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.avatar-icon[data-v-ba9950de]{font-size:1.25rem}.coach-name[data-v-ba9950de]{font-size:.85rem;font-weight:700;color:var(--accent-primary)}.quote-text[data-v-ba9950de]{font-size:.875rem;line-height:1.45;color:var(--text-primary);font-style:italic}.slide-title[data-v-ba9950de]{font-size:1.35rem;font-weight:800;color:var(--text-primary);margin-bottom:8px}.slide-desc[data-v-ba9950de]{font-size:.925rem;color:var(--text-secondary);line-height:1.5;max-width:340px}.quiz-slide[data-v-ba9950de]{text-align:left;align-items:stretch}.quiz-slide .slide-title[data-v-ba9950de]{text-align:center}.quiz-slide .slide-desc[data-v-ba9950de]{text-align:center;margin:0 auto 16px}.goals-grid[data-v-ba9950de]{display:flex;flex-direction:column;gap:10px;width:100%}.goal-card[data-v-ba9950de]{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:left;position:relative}.goal-card[data-v-ba9950de]:hover{background:var(--bg-surface-hover);border-color:var(--border-focus)}.goal-card.selected[data-v-ba9950de]{background:var(--accent-soft);border-color:var(--accent-primary)}.goal-icon-wrap[data-v-ba9950de]{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--bg-surface-card);display:flex;align-items:center;justify-content:center;color:var(--accent-primary)}.goal-label[data-v-ba9950de]{font-size:.925rem;font-weight:600;color:var(--text-primary);flex:1}.check-mark[data-v-ba9950de]{color:var(--accent-primary);display:flex;align-items:center;justify-content:center}.onboarding-footer[data-v-ba9950de]{padding:16px 24px 24px}.cta-primary-btn[data-v-ba9950de]{width:100%;padding:14px 20px;background:var(--accent-primary);color:var(--text-inverse);border-radius:var(--radius-full);font-size:1rem;font-weight:700;box-shadow:0 4px 16px #2d6a4f47;display:flex;align-items:center;justify-content:center;gap:10px}.cta-primary-btn[data-v-ba9950de]:hover{background:var(--accent-primary-hover);transform:translateY(-1px)}.fade-enter-active[data-v-ba9950de],.fade-leave-active[data-v-ba9950de]{transition:opacity .25s ease}.fade-enter-from[data-v-ba9950de],.fade-leave-to[data-v-ba9950de]{opacity:0}.paywall-overlay[data-v-6af35c34]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1100;display:flex;align-items:center;justify-content:center;padding:16px}.paywall-container[data-v-6af35c34]{width:100%;max-width:440px;background:var(--bg-surface-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-ceramic);border:1px solid var(--border-subtle);position:relative;overflow:hidden;padding:24px}.close-btn[data-v-6af35c34]{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:var(--bg-surface-elevated);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.close-btn[data-v-6af35c34]:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.paywall-header[data-v-6af35c34]{text-align:center;margin-bottom:20px;display:flex;flex-direction:column;align-items:center}.crown-badge[data-v-6af35c34]{width:52px;height:52px;border-radius:50%;background:#f59e0b1f;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.paywall-title[data-v-6af35c34]{font-size:1.45rem;font-weight:800;color:var(--text-primary);margin-bottom:6px}.paywall-subtitle[data-v-6af35c34]{font-size:.9rem;color:var(--text-secondary);max-width:320px}.limit-banner[data-v-6af35c34]{margin-top:14px;background:var(--status-warning-bg);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);padding:10px 14px;display:flex;gap:10px;text-align:left;align-items:flex-start}.limit-text strong[data-v-6af35c34]{display:block;font-size:.85rem;color:#b45309}.limit-text p[data-v-6af35c34]{font-size:.8rem;color:var(--text-primary);margin:2px 0 0;line-height:1.35}.features-list[data-v-6af35c34]{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;background:var(--bg-surface-elevated);border-radius:var(--radius-lg);padding:14px 16px}.feature-item[data-v-6af35c34]{display:flex;align-items:center;gap:12px;font-size:.875rem;font-weight:600;color:var(--text-primary)}.check-circle[data-v-6af35c34]{width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:var(--accent-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.plans-grid[data-v-6af35c34]{display:flex;gap:10px;margin-bottom:20px}.plan-card[data-v-6af35c34]{flex:1;padding:14px 12px;background:var(--bg-surface-card);border:2px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:left;display:flex;flex-direction:column;position:relative}.plan-card[data-v-6af35c34]:hover{border-color:var(--border-focus)}.plan-card.active[data-v-6af35c34]{border-color:var(--accent-primary);background:var(--accent-soft)}.save-tag[data-v-6af35c34]{position:absolute;top:-9px;right:10px;background:#e07a5f;color:#fff;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px;letter-spacing:.02em}.plan-header[data-v-6af35c34]{display:flex;flex-direction:column;margin-bottom:4px}.plan-name[data-v-6af35c34]{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.plan-price[data-v-6af35c34]{font-size:1.05rem;font-weight:800;color:var(--text-primary)}.plan-sub[data-v-6af35c34]{font-size:.75rem;color:var(--text-muted)}.paywall-footer[data-v-6af35c34]{display:flex;flex-direction:column;gap:10px;align-items:center}.cta-subscribe-btn[data-v-6af35c34]{width:100%;padding:14px;background:var(--accent-primary);color:var(--text-inverse);border-radius:var(--radius-full);font-size:1rem;font-weight:700;box-shadow:0 4px 16px #2d6a4f47;display:flex;align-items:center;justify-content:center;gap:8px}.cta-subscribe-btn[data-v-6af35c34]:hover{background:var(--accent-primary-hover);transform:translateY(-1px)}.guarantee-note[data-v-6af35c34]{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-muted)}.fade-enter-active[data-v-6af35c34],.fade-leave-active[data-v-6af35c34]{transition:opacity .25s ease}.fade-enter-from[data-v-6af35c34],.fade-leave-to[data-v-6af35c34]{opacity:0}.plate-app-root[data-v-e74dbed7]{display:flex;flex-direction:column;min-height:100vh;width:100%;position:relative}.main-content[data-v-e74dbed7]{display:flex;flex-direction:column;flex:1;width:100%}.result-scroll-container[data-v-e74dbed7]{display:flex;flex-direction:column;gap:16px;padding:16px 16px 80px;width:100%}.section-plate-card[data-v-e74dbed7]{background:var(--bg-surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:20px 16px;box-shadow:var(--shadow-card)}.bottom-action-sticky[data-v-e74dbed7]{position:sticky;bottom:16px;z-index:40;width:100%;margin-top:12px}.new-scan-btn[data-v-e74dbed7]{width:100%;height:52px;background:linear-gradient(135deg,#2d6a4f,#1b4332);border-radius:var(--radius-xl);color:#fff;font-size:.95rem;font-weight:700;box-shadow:0 6px 20px #2d6a4f52;transition:transform var(--transition-fast)}.new-scan-btn[data-v-e74dbed7]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #2d6a4f6b}.error-view[data-v-e74dbed7]{display:flex;align-items:center;justify-content:center;flex:1;padding:24px}.error-card[data-v-e74dbed7]{background:var(--bg-surface-card);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-xl);padding:32px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;max-width:320px;box-shadow:var(--shadow-card)}.error-icon[data-v-e74dbed7]{color:#ef4444}.error-card h3[data-v-e74dbed7]{font-size:1.15rem;color:var(--text-primary)}.error-card p[data-v-e74dbed7]{font-size:.85rem;color:var(--text-muted)}.retry-btn[data-v-e74dbed7]{margin-top:8px;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);padding:10px 20px;border-radius:var(--radius-full);color:var(--text-primary);font-size:.85rem;font-weight:600}.retry-btn[data-v-e74dbed7]:hover{background:var(--bg-surface-hover)}
