.resize-observer[data-v-b329ee4c]{z-index:-1;pointer-events:none;opacity:0;background-color:#0000;border:none;width:100%;height:100%;display:block;position:absolute;top:0;left:0;overflow:hidden}.resize-observer[data-v-b329ee4c] object{pointer-events:none;z-index:-1;width:100%;height:100%;display:block;position:absolute;top:0;left:0;overflow:hidden}.v-popper__popper{z-index:10000;outline:none;top:0;left:0}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;pointer-events:none;transition:opacity .15s,visibility .15s}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{width:100%;height:100%;display:none;position:absolute;top:0;left:0}.v-popper__inner{box-sizing:border-box;position:relative;overflow-y:auto}.v-popper__inner>div{z-index:1;max-width:inherit;max-height:inherit;position:relative}.v-popper__arrow-container{width:10px;height:10px;position:absolute}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;width:0;height:0;position:absolute;top:0;left:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-bottom-color:#0000!important;border-left-color:#0000!important;border-right-color:#0000!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-top-color:#0000!important;border-left-color:#0000!important;border-right-color:#0000!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-top-color:#0000!important;border-bottom-color:#0000!important;border-left-color:#0000!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:#0000!important;border-bottom-color:#0000!important;border-right-color:#0000!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{color:#fff;background:#000c;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-dropdown .v-popper__inner{color:#000;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.onboarding-banner[data-v-1064dbc2]{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--primary-soft,var(--surface));border-bottom:1px solid var(--primary,var(--border));color:var(--text);font-size:var(--font-size-s);display:flex}.ob-text[data-v-1064dbc2]{flex:1;min-width:0}.ob-cta[data-v-1064dbc2]{background:var(--primary);color:var(--text-on-primary);border-radius:var(--radius-small);padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;border:none;flex:none}.ob-cta[data-v-1064dbc2]:hover{background:var(--primary-hover)}.ob-dismiss[data-v-1064dbc2]{color:var(--text-secondary);font-size:var(--font-size-l);padding:0 var(--space-1);cursor:pointer;background:0 0;border:none;line-height:1}.ob-dismiss[data-v-1064dbc2]:hover{color:var(--text)}@media (width<=520px){.onboarding-banner[data-v-1064dbc2]{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-3);gap:var(--space-1)}.ob-cta[data-v-1064dbc2]{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2)}}.install-instructions[data-v-17c645c1]{font-size:var(--font-size-s);color:var(--text)}.lead[data-v-17c645c1]{margin:0 0 var(--space-2)}.note[data-v-17c645c1]{margin:var(--space-2) 0 0;font-size:var(--font-size-xs);color:var(--text-secondary)}.state[data-v-17c645c1]{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-medium);padding:var(--space-3) var(--space-4)}.state.ok[data-v-17c645c1]{background:var(--success-soft,var(--bg));border-color:var(--success,var(--border));color:var(--success,var(--text))}.state.warn[data-v-17c645c1]{border-color:var(--warning,var(--border));color:var(--warning,var(--text))}.state p[data-v-17c645c1]{margin:0 0 var(--space-1)}.state p[data-v-17c645c1]:last-child{margin-bottom:0}.check[data-v-17c645c1]{font-weight:var(--font-weight-bold);margin-right:var(--space-1)}.install-steps[data-v-17c645c1]{padding-left:var(--space-5);gap:var(--space-2);color:var(--text);flex-direction:column;margin:0;display:flex}.install-steps li[data-v-17c645c1]{line-height:1.4}.step-icon[data-v-17c645c1]{vertical-align:-5px;color:var(--primary);margin-right:var(--space-1);align-items:center;display:inline-flex}.step-text[data-v-17c645c1] strong{color:var(--text);font-weight:var(--font-weight-bold)}.onboarding-card[data-v-d1981b31]{background:linear-gradient(180deg, var(--primary-soft,var(--surface)) 0%, var(--surface) 40%);border:1px solid var(--primary,var(--border));border-radius:var(--radius-medium);padding:var(--space-4) var(--space-4) var(--space-3);margin-bottom:var(--space-4);box-shadow:var(--shadow-s)}.oc-header[data-v-d1981b31]{margin-bottom:var(--space-2)}.oc-header h3[data-v-d1981b31]{font-size:var(--font-size-m);color:var(--text);font-weight:var(--font-weight-bold);margin:0}.oc-progress-track[data-v-d1981b31]{background:var(--border);border-radius:var(--radius-small);height:4px;margin-bottom:var(--space-3);overflow:hidden}.oc-progress-fill[data-v-d1981b31]{background:var(--primary);height:100%;transition:width .35s}.oc-steps[data-v-d1981b31]{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.oc-step[data-v-d1981b31]{border:1px solid var(--border);border-radius:var(--radius-medium);background:var(--bg);transition:border-color var(--transition-fast);overflow:hidden}.oc-step.done[data-v-d1981b31]{opacity:.82}.oc-step.expanded[data-v-d1981b31]{border-color:var(--primary)}.oc-step.blocked .oc-step-title[data-v-d1981b31]{color:var(--text-secondary)}.oc-step-head[data-v-d1981b31]{gap:0 var(--space-2);width:100%;padding:var(--space-2) var(--space-3);cursor:pointer;text-align:left;color:var(--text);background:0 0;border:none;grid-template:"check title chevron""check summary chevron"/28px minmax(0,1fr) auto;align-items:center;display:grid}.oc-step-check[data-v-d1981b31]{border-radius:var(--radius-pill);background:var(--surface);border:2px solid var(--border);width:24px;height:24px;color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);grid-area:check;justify-content:center;align-items:center;display:flex}.oc-step-check.done[data-v-d1981b31]{background:var(--success,var(--primary));border-color:var(--success,var(--primary));color:var(--text-on-primary)}.oc-step-title[data-v-d1981b31]{font-weight:var(--font-weight-medium);font-size:var(--font-size-s);grid-area:title}.oc-step-summary[data-v-d1981b31]{font-size:var(--font-size-xs);color:var(--text-secondary);grid-area:summary;line-height:1.3}.oc-step-chevron[data-v-d1981b31]{color:var(--text-secondary);transition:transform var(--transition-base);font-size:var(--font-size-m);grid-area:chevron;align-self:center}.oc-step-chevron.open[data-v-d1981b31]{transform:rotate(180deg)}.oc-step-body[data-v-d1981b31]{padding:0 var(--space-3) var(--space-3);border-top:1px solid var(--border);padding-top:var(--space-2);background:var(--bg)}.oc-lead[data-v-d1981b31]{margin:0 0 var(--space-2);font-size:var(--font-size-s);color:var(--text)}.oc-actions[data-v-d1981b31]{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.oc-skip[data-v-d1981b31]{font-size:var(--font-size-xs);color:var(--text-secondary);text-decoration:none}.oc-skip[data-v-d1981b31]:hover{color:var(--text);text-decoration:underline}.oc-note[data-v-d1981b31]{margin:var(--space-1) 0 0;font-size:var(--font-size-xs);color:var(--text-secondary)}.oc-note.warn[data-v-d1981b31]{color:var(--warning,var(--text-secondary))}.oc-note.ok[data-v-d1981b31]{color:var(--success,var(--text-secondary))}.oc-allset[data-v-d1981b31]{margin:var(--space-2) 0 var(--space-1);font-size:var(--font-size-s);color:var(--success,var(--text-secondary));text-align:center}.banner.full[data-v-44bdcf62]{z-index:90;background:var(--primary-soft,#fef3c7);border-bottom:1px solid var(--primary,#f59e0b);color:var(--text);padding:var(--space-3,12px) var(--space-6,24px);position:sticky;top:0}.banner-inner[data-v-44bdcf62]{justify-content:space-between;align-items:center;gap:var(--space-4,16px);flex-wrap:wrap;max-width:1200px;margin:0 auto;display:flex}.banner-text[data-v-44bdcf62]{flex-direction:column;gap:2px;display:flex}.banner-text strong[data-v-44bdcf62]{font-size:var(--font-size-s,14px)}.meta[data-v-44bdcf62]{font-size:var(--font-size-xs,12px);color:var(--text-secondary,#6b7280)}.caveat[data-v-44bdcf62]{font-style:italic}.banner-ctas[data-v-44bdcf62]{gap:var(--space-2,8px);display:flex}.badge[data-v-44bdcf62]{bottom:var(--space-4,16px);left:var(--space-4,16px);z-index:60;align-items:center;gap:var(--space-2,8px);background:var(--surface,#fff);border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-pill,9999px);padding:var(--space-2,8px) var(--space-3,12px);font-size:var(--font-size-xs,12px);color:var(--text);cursor:pointer;display:inline-flex;position:fixed;box-shadow:0 2px 8px #00000014}.badge.anon[data-v-44bdcf62]{background:var(--primary-soft,#fef3c7);border-color:var(--primary,#f59e0b)}.badge-label[data-v-44bdcf62]{font-weight:var(--font-weight-medium,500)}.badge-cta[data-v-44bdcf62]{color:var(--primary,#d97706)}.badge-expand[data-v-44bdcf62]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px}.badge-btn[data-v-44bdcf62]{cursor:pointer;color:var(--primary,#d97706);font:inherit;background:0 0;border:none;padding:0}.btn[data-v-44bdcf62]{border-radius:var(--radius-small,6px);padding:var(--space-2,8px) var(--space-3,12px);cursor:pointer;font-size:var(--font-size-s,14px);border:1px solid #0000}.btn[disabled][data-v-44bdcf62]{opacity:.55;cursor:not-allowed}.btn.primary[data-v-44bdcf62]{background:var(--primary,#f59e0b);color:var(--text-on-primary,#fff)}.btn.secondary[data-v-44bdcf62]{color:var(--text);border-color:var(--border);background:0 0}@media (width<=768px){.banner.full[data-v-44bdcf62]{padding:var(--space-2,8px) var(--space-3,12px)}.banner-ctas[data-v-44bdcf62]{width:100%}.badge[data-v-44bdcf62]{bottom:calc(56px + env(safe-area-inset-bottom,0) + var(--space-3,12px))}}.profile-modal-backdrop[data-v-8c8ec77f]{z-index:110;padding:var(--space-4,16px);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.profile-modal[data-v-8c8ec77f]{background:var(--surface);border-radius:var(--radius-medium,10px);padding:var(--space-6,24px);width:100%;max-width:380px}h3[data-v-8c8ec77f]{margin:0 0 var(--space-2,8px);font-size:18px}.hint[data-v-8c8ec77f]{color:var(--text-secondary);font-size:var(--font-size-xs,12px);margin:0 0 var(--space-4,16px)}.field[data-v-8c8ec77f]{margin-bottom:var(--space-3,12px)}.field label[data-v-8c8ec77f]{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:4px;display:block}.field input[data-v-8c8ec77f],.field select[data-v-8c8ec77f]{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-small,6px);background:var(--bg);color:var(--text);font:inherit}.error[data-v-8c8ec77f]{background:var(--danger-soft,#fee2e2);color:var(--danger,#b91c1c);padding:var(--space-2) var(--space-3);border-radius:var(--radius-small);font-size:var(--font-size-xs);margin:var(--space-3) 0}.actions[data-v-8c8ec77f]{justify-content:space-between;gap:var(--space-3,12px);margin-top:var(--space-4,16px);display:flex}.btn-skip[data-v-8c8ec77f],.btn-save[data-v-8c8ec77f]{padding:var(--space-3);border-radius:var(--radius-small);cursor:pointer;font:inherit;font-size:var(--font-size-s,14px);border:none;flex:1}.btn-skip[data-v-8c8ec77f]{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-skip[data-v-8c8ec77f]:hover{color:var(--text)}.btn-save[data-v-8c8ec77f]{background:var(--primary);color:var(--text-on-primary,#fff);font-weight:var(--font-weight-medium)}.btn-save[disabled][data-v-8c8ec77f],.btn-skip[disabled][data-v-8c8ec77f]{opacity:.5;cursor:not-allowed}.brand-icon[data-v-0403064e]{vertical-align:middle;flex-shrink:0;display:inline-block}.brand-wordmark[data-v-0a3d6adf]{font-family:var(--font-mono,"JetBrains Mono", ui-monospace, monospace);align-items:baseline;line-height:1;display:inline-flex}.wm-name[data-v-0a3d6adf]{letter-spacing:-.02em;font-weight:700;line-height:1}.wm-lab[data-v-0a3d6adf]{letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;border:1px solid;align-self:center;font-weight:600;line-height:1}.brand-lockup[data-v-b419896d]{align-items:center;line-height:1;display:inline-flex}.bug-fab[data-v-9b880f00]{bottom:var(--space-6);left:var(--space-6);border-radius:var(--radius-pill,999px);background:var(--bg);color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;z-index:70;transition:background var(--transition-base), border-color var(--transition-base), transform var(--transition-base);align-items:center;gap:8px;padding:10px 14px 10px 12px;font-size:13px;font-weight:500;display:inline-flex;position:fixed;box-shadow:0 4px 16px #0000001f}.bug-fab[data-v-9b880f00]:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.bug-fab.is-open[data-v-9b880f00]{display:none}.bug-icon[data-v-9b880f00]{flex:none;width:18px;height:18px}.br-overlay[data-v-9b880f00]{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.br-card[data-v-9b880f00]{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-small,6px);width:100%;max-width:520px;max-height:calc(100vh - 48px);padding:24px 24px 20px;overflow-y:auto}.br-head[data-v-9b880f00]{justify-content:space-between;align-items:center;gap:12px;display:flex}.br-title[data-v-9b880f00]{font-family:var(--font-display,inherit);letter-spacing:-.01em;margin:0;font-size:20px}.br-close[data-v-9b880f00]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:24px;line-height:1}.br-close[data-v-9b880f00]:hover{color:var(--text)}.br-sub[data-v-9b880f00]{color:var(--text-secondary);margin:6px 0 16px;font-size:13px;line-height:1.5}.br-form[data-v-9b880f00]{flex-direction:column;gap:14px;display:flex}.br-field[data-v-9b880f00]{flex-direction:column;gap:4px;display:flex}.br-label[data-v-9b880f00]{font-family:var(--font-display,inherit);font-size:13px;font-weight:var(--font-weight-bold,600);color:var(--text);text-transform:uppercase;letter-spacing:.06em}.br-optional[data-v-9b880f00]{color:var(--text-secondary);text-transform:none;letter-spacing:0;font-weight:400}.br-field textarea[data-v-9b880f00],.br-field input[type=text][data-v-9b880f00]{background:var(--bg);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:var(--radius-small,6px);padding:10px 12px;font-size:14px}.br-field textarea[data-v-9b880f00]{resize:vertical;min-height:64px}.br-field textarea[data-v-9b880f00]:focus,.br-field input[type=text][data-v-9b880f00]:focus{border-color:var(--primary);outline:none}.br-error[data-v-9b880f00]{color:var(--danger,#d9534f);margin:0;font-size:13px}.br-actions[data-v-9b880f00]{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.br-btn[data-v-9b880f00]{border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:var(--radius-small,6px);background:0 0;padding:10px 16px;font-family:inherit;font-size:13px}.br-btn[data-v-9b880f00]:disabled{opacity:.5;cursor:not-allowed}.br-btn-primary[data-v-9b880f00]{background:var(--primary);color:var(--text-on-primary,var(--bg));border-color:var(--primary)}.br-btn-primary[data-v-9b880f00]:hover:not(:disabled){filter:brightness(1.05)}.br-btn-secondary[data-v-9b880f00]:hover:not(:disabled){border-color:var(--border-strong,var(--text-secondary))}.br-hint[data-v-9b880f00]{color:var(--text-secondary);text-align:right;margin:0;font-size:12px}@media (width<=768px){.bug-fab[data-v-9b880f00]{bottom:calc(56px + env(safe-area-inset-bottom,0) + var(--space-3));left:var(--space-3);padding:8px 12px 8px 10px;font-size:12px}.bug-icon[data-v-9b880f00]{width:16px;height:16px}.br-card[data-v-9b880f00]{padding:18px 18px 16px}}.nav-link-log[data-v-2e2628a5]{cursor:pointer;font:inherit;color:var(--text-secondary);font-size:var(--font-size-s);padding:var(--space-1) var(--space-3);transition:background var(--transition-base), color var(--transition-base);background:0 0;border:none;text-decoration:none}.nav-link-log[data-v-2e2628a5]:hover{background:var(--bg);color:var(--text)}.nav-link-log.is-active[data-v-2e2628a5]{color:var(--primary);background:var(--primary-soft);font-weight:var(--font-weight-medium)}.nav-link-log .nav-icon[data-v-2e2628a5]{display:none}@media (width<=768px){.nav-link-log[data-v-2e2628a5]{text-align:center;letter-spacing:.03em;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:8px 4px;font-size:10px;display:flex}.nav-link-log .nav-icon[data-v-2e2628a5]{width:22px;height:22px;display:block}.nav-link-log .nav-label[data-v-2e2628a5]{line-height:1;display:block}.nav-link-log.is-active[data-v-2e2628a5]{background:var(--surface);color:var(--primary);box-shadow:inset 0 2px 0 var(--primary)}}.quick-log-popper-wrap .v-popper__inner,.quick-log-popper-wrap .v-popper__wrapper{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.quick-log-popper-wrap .v-popper__arrow-container{display:none}.quick-log-popper{min-width:200px;padding:var(--space-1);background:var(--bg);box-shadow:var(--shadow-m);color:var(--text);flex-direction:column;gap:1px;display:flex}@media (width<=768px){.quick-log-popper{flex-direction:column-reverse}}.quick-log-popper .ql-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:var(--surface);color:var(--text);font:inherit;font-size:var(--font-size-s);text-align:left;cursor:pointer;transition:background var(--transition-base), color var(--transition-base);border:none;display:flex}.quick-log-popper .ql-item:hover,.quick-log-popper .ql-item:focus-visible{background:var(--primary-soft);color:var(--primary);outline:none}.quick-log-popper .ql-item:active{background:var(--primary-soft-strong)}.quick-log-popper .ql-label{flex:1}.quick-log-popper .ql-arrow{color:var(--text-secondary);font-size:18px;line-height:1}.quick-log-popper .ql-back{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);color:var(--text-secondary);font:inherit;font-size:var(--font-size-s);text-align:left;cursor:pointer;transition:background var(--transition-base), color var(--transition-base);background:0 0;border:none;display:flex}.quick-log-popper .ql-back:hover,.quick-log-popper .ql-back:focus-visible{color:var(--text);background:var(--surface);outline:none}.app-layout[data-v-0dc23f5d]{touch-action:manipulation;-webkit-tap-highlight-color:transparent;flex-direction:column;height:100vh;display:flex;overflow:hidden}.offline-banner[data-v-0dc23f5d]{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-warning-bg,#4a3a14);color:var(--color-warning-text,#ffd789);font-size:var(--font-size-s);border-bottom:1px solid var(--color-warning,#b18a2e);flex:none;display:flex}.offline-icon[data-v-0dc23f5d]{flex:none;width:16px;height:16px}.top-nav[data-v-0dc23f5d]{padding:0 var(--space-6);padding-top:env(safe-area-inset-top,0);height:calc(56px + env(safe-area-inset-top,0));background:var(--surface);border-bottom:1px solid var(--border);font-family:var(--font-display);text-transform:capitalize;font-weight:var(--font-weight-bold);flex:none;justify-content:space-between;align-items:center;display:flex}.brand[data-v-0dc23f5d]{color:var(--text);align-items:center;text-decoration:none;display:inline-flex}.brand-desktop[data-v-0dc23f5d]{display:inline-flex}.nav-links[data-v-0dc23f5d]{align-items:center;gap:var(--space-1);display:flex}.nav-links a[data-v-0dc23f5d]{color:var(--text-secondary);font-size:var(--font-size-s);padding:var(--space-1) var(--space-3);border-radius:var(--radius-small);transition:background var(--transition-base), color var(--transition-base);text-decoration:none}.nav-icon[data-v-0dc23f5d]{display:none}.nav-links a[data-v-0dc23f5d]:hover{background:var(--bg);color:var(--text)}.nav-links a.router-link-exact-active[data-v-0dc23f5d]{color:var(--primary);background:var(--primary-soft);font-weight:var(--font-weight-medium)}.nav-links a.admin-link[data-v-0dc23f5d]{color:var(--primary);border:1px solid var(--border);margin-left:var(--space-1)}.theme-toggle[data-v-0dc23f5d]{width:28px;height:28px;margin-left:var(--space-2);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.theme-toggle:hover .theme-icon[data-v-0dc23f5d]{color:var(--text)}.theme-icon[data-v-0dc23f5d]{width:16px;height:16px;color:var(--text-secondary);transition:color var(--transition-fast)}.main-area[data-v-0dc23f5d]{flex:1;display:flex;overflow:hidden}.content[data-v-0dc23f5d]{min-width:0;padding:var(--space-6) var(--space-6) calc(var(--space-6) + 70px);flex:1;overflow-y:auto}.content[data-v-0dc23f5d]>*{max-width:720px;margin-left:auto;margin-right:auto}.chat-panel[data-v-0dc23f5d]{border-left:1px solid var(--border);flex:none;width:50%}.chat-fab[data-v-0dc23f5d]{bottom:var(--space-6);right:var(--space-6);height:52px;padding:0 var(--space-4) 0 var(--space-3);gap:var(--space-2);border-radius:var(--radius-pill);background:var(--primary);color:var(--text-on-primary);font-family:var(--font-display);font-size:var(--font-size-s);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-wide);cursor:pointer;box-shadow:0 4px 16px var(--primary-ring);z-index:70;transition:background var(--transition-base), transform var(--transition-base);border:none;justify-content:center;align-items:center;display:flex;position:fixed}.chat-fab[data-v-0dc23f5d]:hover{background:var(--primary-hover);transform:scale(1.05)}.chat-fab-icon[data-v-0dc23f5d]{flex:none;width:26px;height:26px}.chat-fab-label[data-v-0dc23f5d]{white-space:nowrap}@media (width<=768px){.app-layout[data-v-0dc23f5d]{height:auto;min-height:100dvh;padding-bottom:calc(56px + env(safe-area-inset-bottom,0) + 70px);overflow:visible}.main-area[data-v-0dc23f5d]{padding-bottom:0;overflow:visible}.content[data-v-0dc23f5d]{overflow:visible}.top-nav .theme-toggle[data-v-0dc23f5d],.top-nav .brand-desktop[data-v-0dc23f5d]{display:none}.top-nav[data-v-0dc23f5d]{z-index:80;background:var(--bg);border-top:1px solid var(--border);height:auto;padding:0;padding-bottom:env(safe-area-inset-bottom,0);border-bottom:none;position:fixed;inset:auto 0 0}.nav-links[data-v-0dc23f5d]{flex:1;justify-content:space-around;gap:0}.nav-links>a[data-v-0dc23f5d],.nav-links>.v-popper[data-v-0dc23f5d]{text-align:center;letter-spacing:.03em;border-radius:0;flex:1;padding:0;font-size:10px;display:flex}.nav-links>a[data-v-0dc23f5d]{padding:8px 4px}.nav-link[data-v-0dc23f5d]{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.nav-icon[data-v-0dc23f5d]{width:22px;height:22px;display:block}.nav-label[data-v-0dc23f5d]{line-height:1;display:block}.nav-links a.router-link-exact-active[data-v-0dc23f5d]{background:var(--surface);color:var(--primary);box-shadow:inset 0 2px 0 var(--primary)}.nav-links a.admin-link[data-v-0dc23f5d]{border:none;margin-left:0}.theme-toggle[data-v-0dc23f5d]{flex:none;width:auto;height:auto;margin-left:0;padding:12px 14px}.content[data-v-0dc23f5d]{padding:0}.content[data-v-0dc23f5d]>*{max-width:none}.chat-panel[data-v-0dc23f5d]{z-index:90;width:100%;padding-bottom:env(safe-area-inset-bottom,0);border-left:none;position:fixed;inset:0}.chat-fab[data-v-0dc23f5d]{bottom:calc(56px + env(safe-area-inset-bottom,0) + var(--space-3));right:var(--space-3);height:40px;padding:0 var(--space-3) 0 var(--space-2);gap:var(--space-1);font-size:var(--font-size-xs)}.chat-fab-icon[data-v-0dc23f5d]{width:20px;height:20px}}.ug-overlay[data-v-7edd0cef]{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ug-card[data-v-7edd0cef]{background:var(--surface);color:var(--text);border:1px solid var(--border);width:100%;max-width:440px;padding:28px 28px 22px}.ug-title[data-v-7edd0cef]{font-family:var(--font-display,inherit);letter-spacing:-.01em;margin:0 0 8px;font-size:22px}.ug-sub[data-v-7edd0cef]{color:var(--text-secondary);margin:0 0 18px;font-size:14px;line-height:1.5}.ug-feats[data-v-7edd0cef]{color:var(--text-secondary);margin:0 0 22px;padding:0;font-size:13px;list-style:none}.ug-feats li[data-v-7edd0cef]{padding:4px 0 4px 18px;position:relative}.ug-feats li[data-v-7edd0cef]:before{content:"";background:var(--primary);border-radius:50%;width:6px;height:6px;position:absolute;top:12px;left:0}.ug-actions[data-v-7edd0cef]{justify-content:flex-end;gap:10px;display:flex}.ug-btn-secondary[data-v-7edd0cef],.ug-btn-primary[data-v-7edd0cef]{letter-spacing:.06em;border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;padding:10px 18px;font-family:inherit;font-size:13px}.ug-btn-primary[data-v-7edd0cef]{background:var(--primary);color:var(--bg);border-color:var(--primary)}.ug-btn-secondary[data-v-7edd0cef]:hover{border-color:var(--border-strong)}.ug-btn-primary[data-v-7edd0cef]:hover{filter:brightness(1.05)}.force-update-overlay[data-v-8f261367]{padding:var(--space-4);z-index:9999;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.force-update-card[data-v-8f261367]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-large,16px);padding:var(--space-6);text-align:center;width:100%;max-width:400px}.force-update-title[data-v-8f261367]{margin:0 0 var(--space-3);font-size:var(--font-size-l);color:var(--text)}.force-update-body[data-v-8f261367]{margin:0 0 var(--space-5);font-size:var(--font-size-s);color:var(--text-secondary);line-height:1.5}.force-update-cta[data-v-8f261367]{background:var(--primary);color:#fff;border-radius:var(--radius-medium);padding:var(--space-3) var(--space-5);font-size:var(--font-size-m);font-weight:var(--font-weight-medium);cursor:pointer;border:none;width:100%}.force-update-cta[data-v-8f261367]:hover{opacity:.9}:root{--palette-white:#fff;--palette-black:#000;--palette-gray-50:#fafafa;--palette-gray-100:#f5f5f5;--palette-gray-200:#e5e5e5;--palette-gray-300:#d4d4d4;--palette-gray-400:#a3a3a3;--palette-gray-500:#737373;--palette-gray-600:#525252;--palette-gray-700:#404040;--palette-gray-800:#262626;--palette-gray-900:#171717;--palette-gray-950:#0a0a0a;--palette-indigo-300:#a5b4fc;--palette-indigo-400:#818cf8;--palette-indigo-500:#6366f1;--palette-indigo-600:#4f46e5;--palette-indigo-700:#4338ca;--palette-blue-300:#93c5fd;--palette-blue-400:#60a5fa;--palette-blue-500:#4ea3ff;--palette-blue-600:#2563eb;--palette-blue-700:#1d4ed8;--palette-green-300:#86fbad;--palette-green-400:#5bf591;--palette-green-500:#3fb26a;--palette-green-600:#2d8a51;--palette-green-700:#1f6b3e;--palette-amber-300:#f3d08a;--palette-amber-400:#eac574;--palette-amber-500:#e6b855;--palette-amber-600:#c49840;--palette-orange-500:#f97316;--palette-red-300:#ffb3b3;--palette-red-400:#ff8a8a;--palette-red-500:#ff5a5a;--palette-red-600:#e04545;--palette-red-700:#b91c1c;--palette-aqua-300:#a7fbf8;--palette-aqua-400:#62f9f4;--palette-aqua-500:#2dd4cf;--palette-aqua-600:#1ba8a3;--palette-slate-950:#05080a;--palette-slate-900:#0a0f12;--palette-slate-850:#0d1318;--palette-slate-800:#111a20;--palette-slate-700:#1a2630;--palette-slate-600:#24333e;--palette-slate-500:#2e3a43;--palette-slate-400:#355046;--palette-slate-300:#4f7266;--palette-slate-200:#9ab9a8;--palette-slate-100:#d8f5de;--palette-sky-500:#0ea5e9;--palette-violet-500:#8b5cf6;--palette-pink-500:#ec4899;--palette-teal-500:#14b8a6;--palette-lime-500:#84cc16;--palette-rose-500:#e11d48;--palette-cyan-500:#06b6d4;--palette-sev-0:#22c55e;--palette-sev-1:#fde047;--palette-sev-2:#fcd34d;--palette-sev-3:#fbbf24;--palette-sev-4:#f59e0b;--palette-sev-5:#fb923c;--palette-sev-6:#f97316;--palette-sev-7:#ea580c;--palette-sev-8:#f87171;--palette-sev-9:#ef4444;--palette-sev-10:#dc2626;--font-display:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-body:"System", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-weight-light:400;--font-weight-medium:500;--font-weight-bold:700;--font-size-xs:.72rem;--font-size-s:.85rem;--font-size-m:.95rem;--font-size-l:1.15rem;--font-size-xl:1.5rem;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.03em;--tracking-wider:.08em;--tracking-widest:.14em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--transition-fast:.1s;--transition-base:.15s;--transition-slow:.25s;--control-height-sm:28px;--control-height-md:36px;--control-height-lg:44px;--control-pad-x-sm:.5rem;--control-pad-x-md:.75rem;--radius-small:0px;--radius-medium:0px;--radius-large:0px;--radius-pill:0px;--color-cal:var(--text);--color-cal-strong:var(--text);--color-protein:var(--palette-green-400);--color-fat:var(--palette-amber-500);--color-carbs:var(--palette-aqua-400);--color-carbs-strong:var(--palette-aqua-500);--color-waist:var(--palette-blue-400);--color-score:var(--palette-green-400);--color-dose:var(--palette-amber-500);--color-weight:var(--palette-green-400);--color-symptom-1:var(--palette-green-400);--color-symptom-2:var(--palette-amber-500);--color-symptom-3:var(--palette-blue-500);--color-symptom-4:var(--palette-red-500);--color-symptom-5:var(--palette-violet-500);--color-symptom-6:var(--palette-lime-500);--color-symptom-7:var(--palette-pink-500);--color-symptom-8:var(--palette-teal-500);--bg:#f5f8f5;--surface:#fff;--surface-alt:#eef3ee;--surface-raised:#e4ecdf;--border:transparent;--border-strong:#b6c8b3;--border-soft:#e0ebdd;--text:#0f1a12;--text-primary:#0f1a12;--text-secondary:#4f7266;--text-tertiary:#7a9a8a;--text-on-primary:#05080a;--text-disabled:#b6c8b3;--text-max-contrast:#000;--primary:var(--palette-green-500);--primary-hover:var(--palette-green-600);--primary-dim:var(--palette-green-600);--primary-soft:#3fb26a1f;--primary-soft-strong:#3fb26a33;--primary-ring:#3fb26a4d;--primary-focus:#3fb26a2e;--success:var(--palette-green-500);--danger:var(--palette-red-500);--danger-soft:#ff5a5a1a;--warning:var(--palette-amber-500);--overlay:#05080a73;--shadow-s:0 1px 4px #0f1a121a;--shadow-m:0 8px 24px #0f1a121f;--shadow-l:0 20px 60px #0f1a122e;--chart-grid:#dfe8dd;--chart-axis:#7a9a8a;--tint-carbs-soft:#62f9f41a;--tint-carbs-softer:#62f9f40d;--tint-carbs-softest:#62f9f406;--tint-carbs-border:#62f9f44d;--track-target-line:#fffc;--track-target-halo:#0f1a1240}html[data-theme=dark]{--bg:var(--palette-slate-950);--surface:var(--palette-slate-850);--surface-alt:var(--palette-slate-800);--surface-raised:var(--palette-slate-700);--border:transparent;--border-strong:var(--palette-slate-600);--border-soft:#0f1920;--text:var(--palette-slate-100);--text-primary:var(--palette-slate-100);--text-secondary:var(--palette-slate-200);--text-tertiary:var(--palette-slate-300);--text-on-primary:var(--palette-slate-950);--text-disabled:var(--palette-slate-400);--text-max-contrast:#fff;--primary:var(--palette-green-400);--primary-hover:var(--palette-green-300);--primary-dim:var(--palette-green-500);--primary-soft:#5bf5911a;--primary-soft-strong:#5bf5912e;--primary-ring:#5bf59159;--primary-focus:#5bf59138;--success:var(--palette-green-400);--danger:var(--palette-red-500);--danger-soft:#ff5a5a1a;--warning:var(--palette-amber-500);--overlay:#000000a6;--shadow-s:0 1px 4px #00000080;--shadow-m:0 8px 24px #00000080;--shadow-l:0 40px 80px #00000080, 0 0 60px #5bf5910f;--chart-grid:var(--palette-slate-700);--chart-axis:var(--palette-slate-300);--tint-carbs-soft:#62f9f429;--tint-carbs-softer:#62f9f417;--tint-carbs-softest:#62f9f40a;--tint-carbs-border:#62f9f459;--track-target-line:#d8f5de99;--track-target-halo:#0009;--color-cal:var(--text);--color-protein:var(--palette-green-400);--color-fat:var(--palette-amber-500);--color-carbs:var(--palette-aqua-400);--color-waist:var(--palette-blue-500);--color-score:var(--palette-green-400);--color-weight:var(--palette-green-400)}input[type=text],input[type=number],input[type=email],input[type=password],input[type=search],input[type=time],input[type=date],input[type=url],input[type=tel],textarea,select{color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-small);transition:border-color var(--transition-base), box-shadow var(--transition-base);font-family:inherit}input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,input[type=time]:focus,input[type=date]:focus,input[type=url]:focus,input[type=tel]:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-focus);outline:none}button{border-radius:var(--radius-small);font-family:inherit}button:focus-visible{outline:2px solid var(--primary-ring);outline-offset:2px}.btn-primary,.btn-secondary,.btn-text{font-family:inherit;font-size:var(--font-size-s);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;padding:0 var(--space-4);border-radius:var(--radius-small);cursor:pointer;transition:background var(--transition-base), color var(--transition-base), border-color var(--transition-base);justify-content:center;align-items:center;gap:var(--space-2);white-space:nowrap;display:inline-flex}.btn-primary{background:var(--primary);color:var(--text-on-primary);border:1px solid var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{color:var(--text);border:1px solid var(--border-strong);background:0 0}.btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-text{color:var(--text-secondary);text-transform:none;letter-spacing:var(--tracking-normal);font-weight:var(--font-weight-light);padding:0 var(--space-2);background:0 0;border:1px solid #0000}.btn-text:hover:not(:disabled){color:var(--text)}.btn-primary:disabled,.btn-secondary:disabled,.btn-text:disabled{opacity:.55;cursor:not-allowed}.btn-primary.sm,.btn-secondary.sm,.btn-text.sm{height:var(--control-height-sm);font-size:var(--font-size-xs);padding:0 var(--space-3)}.eyebrow{font-family:var(--font-display);font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-widest);align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);display:inline-flex}.eyebrow:before{content:"";opacity:.6;background:currentColor;width:20px;height:1px}.field{margin-bottom:var(--space-3)}.field>label{margin-bottom:var(--space-1);font-size:var(--font-size-s);font-weight:var(--font-weight-medium);color:var(--text-secondary);display:block}.field-hint{margin:var(--space-1) 0 0;font-size:var(--font-size-xs);color:var(--text-secondary)}.error{color:var(--danger);font-size:var(--font-size-s);margin:0}.success{color:var(--success);font-size:var(--font-size-s);margin:0}@media (width<=768px){.card,.meal-card,.price-card,.timeline-card,.weekly-budget,.weekly-upsell{padding:var(--space-5) var(--space-5)!important;border-left:none!important;border-right:none!important;border-radius:0!important;margin:2px 0!important}.weekly-budget{padding:0!important}.weekly-wrap{margin:2px 0!important}.card+.card,.card+.meal-card,.card+.timeline-card,.meal-card+.card,.meal-card+.meal-card,.meal-card+.timeline-card,.timeline-card+.card,.timeline-card+.meal-card,.timeline-card+.timeline-card,.weekly-wrap+.meal-card,.meal-card+.weekly-wrap,.weekly-wrap>.weekly-budget,.weekly-wrap>.weekly-upsell{border-top:none!important}.page-title{display:none!important}}.auth-card,.auth-card label,.auth-card button,.auth-card a,.auth-card .switch,.auth-card .divider,.auth-card .subtitle,.auth-card .hint,.auth-card .error,.auth-card h1{font-family:var(--font-display)}.auth-card input,.auth-card textarea,.auth-card select{font-family:var(--font-body)}.auth-card{max-width:440px!important}.auth-card .btn-primary[type=submit]{padding:var(--space-3) var(--space-4)!important;font-weight:var(--font-weight-bold)!important}.auth-brand-link{color:inherit;justify-content:center;text-decoration:none;display:flex}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-body);font-size:var(--font-size-m);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-weight-bold);letter-spacing:-.01em;margin:0 0 .5rem;line-height:1.25}p{margin:0}input,select,button,textarea{font-family:inherit;font-size:inherit}a{color:var(--primary);text-decoration:none}#app{min-height:100vh}input[type=number],.stat-value,.logged-value,.macro-values,.total-cal,.alloc-input,.alloc-computed,.alloc-detail,.alloc-unit,.wb-value,.wb-day-value,.wb-adj-values,.wb-adj-values>*,.meal-table td.col-num,.meal-table th.col-num,.meal-table td.col-srv,.meal-table th.col-srv,.meal-table tfoot td.col-num,.items-table td.col-num,.items-table th.col-num,.items-table td.col-srv,.items-table th.col-srv,.items-table td.col-srv input,.log-table td.lt-num,.log-table th.lt-num,.servings,.edit-input,.dot,.count,.day-cell,.month-label,.score-pill{font-family:var(--font-mono)}.v-popper--theme-tooltip .v-popper__inner{background:var(--surface-raised);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-small);font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-wide);padding:.35rem .55rem;box-shadow:0 2px 6px #0000001f}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:var(--border)}.v-popper--theme-tooltip .v-popper__arrow-inner{border-color:var(--surface-raised)}.v-popper--theme-dropdown .v-popper__inner{box-shadow:none;background:0 0;border:none;padding:0}.v-popper--theme-dropdown .v-popper__arrow-container{display:none}
