:root,:root[data-theme=light]{color-scheme:light;--accent-800-rgb:67,70,75;--accent-700-rgb:86,89,97;--accent-600-rgb:104,109,118;--accent-500-rgb:138,142,151;--accent-400-rgb:155,158,166;--accent-300-rgb:180,183,188;--color-bg-page:#f3f4f5;--color-bg-header:#ffffff;--color-bg-surface:#ffffff;--color-bg-surface-raised:#edeeef;--color-bg-surface-hover:#e4e6e8;--color-bg-inset:#edeeef;--color-border-subtle:#e3e5e7;--color-border-default:#d2d5d8;--color-border-strong:#b6bac0;--color-text-primary:#15171a;--color-text-secondary:#494d53;--color-text-muted:#62666c;--color-text-disabled:#9a9ea5;--color-accent:rgb(var(--accent-text-rgb, var(--accent-600-rgb)));--color-accent-bg:rgba(var(--accent-600-rgb),.12);--color-accent-fill:rgb(var(--accent-600-rgb));--color-accent-line:rgb(var(--accent-600-rgb));--color-accent-contrast:#ffffff;--color-success:rgb(24,110,68);--color-success-bg:rgba(24,110,68,.1);--color-warning:rgb(130,88,10);--color-warning-bg:rgba(130,88,10,.1);--color-critical:rgb(176,46,38);--color-critical-bg:rgba(176,46,38,.1);--color-scrim:rgba(8,8,7,.66);--focus-ring-color:rgba(var(--accent-600-rgb),.85);--hi:inset 0 1px 0 var(--glass-sheen);--edge:var(--hi);--hairline:rgba(21,23,26,.07);--wash-rgb:150,138,122;--wash-a:.22;--light-mul:1;--ring-a:rgb(var(--accent-500-rgb));--ring-b:rgb(var(--accent-700-rgb));--track:#e6e8ea;--r-xs:8px;--r-sm:12px;--r-md:16px;--r-lg:22px;--r-xl:28px;--r-pill:999px;--radius:var(--r-lg);--radius-pill:999px;--radius-btn:var(--r-pill);--ease-snappy:cubic-bezier(.2,.9,.3,1);--dur-snappy:.26s;--ease-soft:cubic-bezier(.2,.8,.2,1);--dur-soft:.52s;--ease-bouncy:cubic-bezier(.2,1.25,.35,1);--dur-bouncy:.9s;--ease-pop:cubic-bezier(.2,1.4,.4,1);--dur-pop:.42s;--ease-out:cubic-bezier(.2,.7,.2,1);--ease-exit:cubic-bezier(.4,0,.6,1);--font-family-base:"DM Sans",-apple-system,"Segoe UI",Roboto,sans-serif;--bw:1px;--stack:var(--space-3);--elev-0:var(--edge);--elev-1:var(--hi),0 0 0 1px var(--hairline),0 1px 2px rgba(21,23,26,.04),0 8px 24px -12px rgba(21,23,26,.16);--elev-2:var(--hi),0 0 0 1px var(--hairline),0 2px 4px rgba(21,23,26,.05),0 18px 40px -16px rgba(21,23,26,.24);--elev-3:var(--hi),0 0 0 1px var(--hairline),0 4px 10px rgba(21,23,26,.06),0 32px 64px -20px rgba(21,23,26,.34);--elev-pressed:var(--hi),0 0 0 1px var(--hairline),0 1px 2px rgba(21,23,26,.05),0 2px 8px -4px rgba(21,23,26,.12);--elev-bar:var(--hi),0 -10px 24px -16px rgba(21,23,26,.3);--accent-shadow:0 10px 22px -10px rgba(var(--accent-700-rgb),.75);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--text-xs:.75rem;--text-sm:.82rem;--text-base:.9rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2.1rem;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--glass-a-bar:80%;--glass-a-dock:99%;--glass-a-head:97%;--glass-a-pop:88%;--glass-a-card:80%;--glass-a-pill:94%;--glass-blur-bar:blur(18px) saturate(150%);--glass-blur-pop:blur(22px) saturate(150%);--glass-muted:#4b4f55;--glass-secondary:#494d53;--glass-sheen:rgba(255,255,255,.95);--header-h:48px;--row-h:56px;--panel-head-h:44px;--tap:48px}:root[data-theme=dark]{color-scheme:dark;--color-bg-page:#0b0c0e;--color-bg-header:#111316;--color-bg-surface:#15181b;--color-bg-surface-raised:#1a1d21;--color-bg-surface-hover:#202327;--color-bg-inset:#111316;--color-border-subtle:#272b30;--color-border-default:#30343a;--color-border-strong:#40454c;--color-text-primary:#f4f5f6;--color-text-secondary:#9a9ea5;--color-text-muted:#878b92;--color-text-disabled:#52565d;--color-accent:rgb(var(--accent-text-dark-rgb, var(--accent-500-rgb)));--color-accent-bg:rgba(var(--accent-500-rgb),.14);--color-accent-line:rgb(var(--accent-500-rgb));--color-accent-fill:rgb(var(--accent-600-rgb));--color-accent-contrast:#ffffff;--color-success:rgb(63,166,107);--color-success-bg:rgba(63,166,107,.14);--color-warning:rgb(209,146,46);--color-warning-bg:rgba(209,146,46,.14);--color-critical:rgb(230,98,88);--color-critical-bg:rgba(230,98,88,.14);--focus-ring-color:rgba(var(--accent-500-rgb),.75);--hairline:rgba(255,255,255,.07);--elev-1:var(--hi),0 0 0 1px var(--hairline),0 1px 2px rgba(0,0,0,.4),0 10px 28px -12px rgba(0,0,0,.6);--elev-2:var(--hi),0 0 0 1px var(--hairline),0 2px 4px rgba(0,0,0,.45),0 18px 44px -16px rgba(0,0,0,.7);--elev-3:var(--hi),0 0 0 1px var(--hairline),0 4px 10px rgba(0,0,0,.5),0 36px 70px -20px rgba(0,0,0,.8);--elev-pressed:var(--hi),0 0 0 1px var(--hairline),0 1px 2px rgba(0,0,0,.4);--elev-bar:var(--hi),0 -10px 24px -14px rgba(0,0,0,.6);--glass-a-bar:78%;--glass-a-pop:90%;--glass-muted:#b4b8be;--glass-secondary:#c0c4ca;--glass-sheen:rgba(255,255,255,.07);--glass-a-card:100%;--wash-rgb:176,160,140;--wash-a:.11;--light-mul:.6;--ring-a:rgb(var(--accent-600-rgb));--ring-b:rgb(var(--accent-400-rgb));--track:#1f2328}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--color-bg-page);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--text-base);line-height:1.35;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-variant-numeric:tabular-nums}button,input,select{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.panel :focus-visible,.meal-btn:focus-visible,.row:focus-visible,.choice-btn:focus-visible,.dock :focus-visible{outline-offset:-2px}.button-primary:focus-visible,.call-start:focus-visible,.send:focus-visible,.talk:focus-visible,.dock .talk:focus-visible{outline:2px solid var(--color-accent-contrast);outline-offset:-4px}:root{--glass-head-bg:var(--color-bg-page);--glass-bar-bg:var(--color-bg-header);--glass-dock-bg:var(--color-bg-header);--glass-pop-bg:var(--color-bg-surface);--glass-card-bg:var(--color-bg-surface);--glass-pill-a:rgb(var(--accent-600-rgb));--glass-pill-b:rgb(var(--accent-700-rgb))}@supports (background:color-mix(in srgb,red 50%,transparent)){:root{--glass-head-bg:color-mix(in srgb,var(--color-bg-page) var(--glass-a-head),transparent);--glass-bar-bg:color-mix(in srgb,var(--color-bg-header) var(--glass-a-bar),transparent);--glass-dock-bg:color-mix(in srgb,var(--color-bg-header) var(--glass-a-dock),transparent);--glass-pop-bg:color-mix(in srgb,var(--color-bg-surface) var(--glass-a-pop),transparent);--glass-card-bg:color-mix(in srgb,var(--color-bg-surface) var(--glass-a-card),transparent);--glass-pill-a:color-mix(in srgb,rgb(var(--accent-600-rgb)) var(--glass-a-pill),transparent);--glass-pill-b:color-mix(in srgb,rgb(var(--accent-700-rgb)) var(--glass-a-pill),transparent)}}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root{--glass-bar-bg:var(--color-bg-header);--glass-dock-bg:var(--color-bg-header);--glass-head-bg:var(--color-bg-page);--glass-pop-bg:var(--color-bg-surface);--glass-pill-a:rgb(var(--accent-600-rgb));--glass-pill-b:rgb(var(--accent-700-rgb))}}@media (prefers-reduced-transparency:reduce){:root{--glass-bar-bg:var(--color-bg-header);--glass-dock-bg:var(--color-bg-header);--glass-head-bg:var(--color-bg-page);--glass-pop-bg:var(--color-bg-surface);--glass-card-bg:var(--color-bg-surface);--glass-pill-a:rgb(var(--accent-600-rgb));--glass-pill-b:rgb(var(--accent-700-rgb));--glass-blur-bar:none;--glass-blur-pop:none;--glass-sheen:transparent}}.tabbar,.dock,.coach-card,.talk{position:relative;isolation:isolate}.tabbar,.dock{--color-text-muted:var(--glass-muted);--color-text-secondary:var(--glass-secondary)}.coach-card{--color-text-muted:var(--glass-muted)}:root[data-theme=dark] .tabbar,:root[data-theme=dark] .dock,:root[data-theme=dark] .coach-card{--color-accent:rgb(var(--accent-text-dark-rgb, var(--accent-400-rgb)))}.tabbar:before,.dock:before,.coach-card:before,.talk:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;pointer-events:none;-webkit-backdrop-filter:var(--glass-blur-bar);backdrop-filter:var(--glass-blur-bar)}.coach-card:before{-webkit-backdrop-filter:var(--glass-blur-pop);backdrop-filter:var(--glass-blur-pop)}.tabbar{flex:none;display:grid;grid-template-columns:repeat(var(--tab-count,3),minmax(0,1fr));gap:var(--space-1);padding:var(--space-1) var(--space-2) calc(var(--space-1) + env(safe-area-inset-bottom));background:var(--color-bg-header);background:var(--glass-bar-bg);border-top:var(--bw) solid var(--color-border-subtle);box-shadow:var(--edge)}.tab{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);min-width:0;min-height:52px;color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;background:transparent;border:0;border-radius:var(--r-md)}.tab-pill{position:absolute;z-index:0;top:var(--space-1);left:var(--space-2);width:calc((100% - 2 * var(--space-2) - (var(--tab-count,3) - 1) * var(--space-1)) / var(--tab-count,3));height:52px;border-radius:var(--r-md);background:var(--color-accent-bg);pointer-events:none;transition:transform var(--dur-soft) var(--ease-soft)}.tab .icon{height:20px;color:var(--color-text-muted);opacity:.85;transition:color .2s}.tab:active{background:transparent}.tab.bump .icon{animation:bump var(--dur-pop) var(--ease-pop)}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.22)}to{transform:scale(1)}}.tab.active{color:var(--color-text-primary);font-weight:var(--weight-bold)}.tab.active .icon{color:var(--color-accent);opacity:1;stroke-width:2.2}svg.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}svg.icon.sm{width:16px;height:16px}svg.icon.lg{width:28px;height:28px}.title-xl{margin:0;font-size:var(--text-xl);line-height:1.2;font-weight:var(--weight-bold);text-wrap:balance}.title-lg{margin:0;font-size:var(--text-lg);line-height:1.25;font-weight:var(--weight-bold);text-wrap:balance}.lede{margin:0;font-size:var(--text-lg);line-height:1.3;font-weight:var(--weight-medium);text-wrap:balance}.text-sub{font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.num{font-variant-numeric:tabular-nums}.big-num{font-size:var(--text-2xl);line-height:1;font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.note{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}.note.center{text-align:center}.gp-line{margin:0;font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.panel{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--color-bg-surface);border-radius:var(--r-lg);box-shadow:var(--elev-1)}.card{background:var(--color-bg-surface);border-radius:var(--r-lg);box-shadow:var(--elev-1);padding:var(--space-4)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--panel-head-h);padding:var(--space-3) var(--space-3) var(--space-2) var(--space-4)}.panel-title{display:inline-flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--text-base);font-weight:var(--weight-bold)}.panel-title .icon{color:var(--color-text-secondary)}.panel-body{padding:0 var(--space-4) var(--space-3)}.panel-body+.panel-note{padding-top:0}.panel-note{padding:var(--space-2) var(--space-4) var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.rows{list-style:none;margin:0;padding:0}.rows>li{border-top:1px solid var(--color-border-subtle)}.rows.bare>li:first-child{border-top:0}.row{min-height:var(--row-h);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);color:inherit;text-align:left;width:100%;border:0;background:transparent}.row.has-chev{grid-template-columns:minmax(0,1fr) auto auto}.row.has-lead{grid-template-columns:auto minmax(0,1fr) auto}.row.has-lead.has-chev{grid-template-columns:auto minmax(0,1fr) auto auto}.row-main{min-width:0;display:flex;flex-direction:column;gap:1px}.row-title{font-weight:var(--weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-sub{font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-end{display:flex;flex-direction:column;align-items:flex-end;gap:1px;text-align:right}.row-value{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.row-lead{display:grid;place-items:center;width:24px;color:var(--color-text-muted)}.row.selected{background:var(--color-accent-bg)}.chev{display:inline-flex;color:var(--color-text-disabled)}.chev .icon{width:16px;height:16px}.flat-rows>li{padding:var(--space-3) 0;border-top:1px solid var(--color-border-subtle)}.flat-rows .row{min-height:0;padding:0}.panel .panel{box-shadow:var(--elev-0),0 0 0 1px var(--color-border-default);border-radius:var(--r-md)}.status{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap}.status.strong{color:var(--color-text-primary);font-weight:var(--weight-semibold)}.dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--color-text-disabled)}.dot.ok{background:var(--color-success)}.dot.warn{background:var(--color-warning)}.dot.crit{background:var(--color-critical)}.dot.accent{background:var(--color-accent-line)}.dot.hollow{background:transparent;border:1.5px solid var(--color-text-disabled)}.meter{position:relative;height:4px;border-radius:2px;background:var(--color-bg-surface-hover)}.meter>span{border-radius:inherit}.meter>span{position:absolute;top:0;bottom:0;left:0;background:var(--color-accent-line)}.meter.ink>span{background:var(--color-text-primary)}.meter.tall{height:8px}.meter .mark{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--color-text-primary)}.kv{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}.kv b{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.stat{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-value{font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}.stat-label{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.tag{border-radius:var(--r-pill);display:inline-flex;align-items:center;gap:var(--space-1);padding:1px var(--space-2);border:1px solid var(--color-border-default);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-secondary);white-space:nowrap}.tag.accent{border-color:var(--color-accent-line);color:var(--color-accent)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-5);border:1px solid transparent;border-radius:var(--r-pill);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:1;white-space:nowrap;color:var(--color-text-primary);background:transparent}.button-primary{background:linear-gradient(180deg,rgb(var(--accent-600-rgb)),rgb(var(--accent-700-rgb)));border-color:transparent;color:var(--color-accent-contrast);box-shadow:inset 0 1px #ffffff38,var(--accent-shadow)}.button-secondary{background:var(--color-bg-surface);background:var(--glass-card-bg);border-color:transparent;box-shadow:var(--elev-1)}.button-ghost{color:var(--color-accent);padding:0 var(--space-2)}.button-sm{min-height:44px;padding:0 var(--space-3);font-size:var(--text-sm)}.button-block{width:100%}.button-row{display:flex;gap:var(--space-3)}.button-row>.button{flex:1;min-width:0}.button-critical{color:var(--color-critical)}.button-primary:disabled{background:var(--color-bg-surface-hover);border-color:var(--color-border-default);box-shadow:none;color:var(--color-text-muted)}.button-secondary:disabled{background:var(--color-bg-inset);border-color:var(--color-border-default);box-shadow:none;color:var(--color-text-muted)}.field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.field-label{margin:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.field-input{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-3);background:var(--color-bg-inset);border:1px solid var(--color-border-default);border-radius:var(--r-pill);font-size:var(--text-md);font-variant-numeric:tabular-nums}.field-input .unit{color:var(--color-text-muted);font-size:var(--text-sm)}.field-input.empty{color:var(--color-text-muted)}.field-input.focus{border-color:var(--color-accent-line);box-shadow:inset 0 0 0 1px var(--color-accent-line);background:var(--color-bg-surface)}.field-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.stepper{display:inline-grid;grid-template-columns:var(--tap) minmax(56px,auto) var(--tap);align-items:stretch;overflow:hidden;border:1px solid var(--color-border-strong);border-radius:var(--r-pill);background:var(--color-bg-surface)}.stepper button{display:grid;place-items:center;min-height:var(--tap);border:0;background:transparent;color:var(--color-text-primary)}.stepper .stepper-value{display:grid;place-items:center;padding:0 var(--space-2);border-left:1px solid var(--color-border-default);border-right:1px solid var(--color-border-default);font-size:var(--text-md);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.choice{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-3);min-height:60px;padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border-subtle);color:var(--color-text-primary)}.choice-radio{flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--color-border-strong);background:var(--color-bg-surface);display:grid;place-items:center}.choice.selected{background:var(--color-accent-bg)}.choice.selected .choice-radio{border-color:var(--color-accent-line)}.choice.selected .choice-radio:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--color-accent-line)}[role=checkbox] .choice-radio{border-radius:6px}[role=checkbox][aria-checked=true] .choice-radio{background:var(--color-accent-fill);border-color:var(--color-accent-fill)}[role=checkbox].selected .choice-radio:after,[role=checkbox][aria-checked=true] .choice-radio:after{width:12px;height:12px;border-radius:0;background:var(--color-accent-contrast);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat}.choice.selected .choice-title{color:var(--color-text-primary)}.choice-main{min-width:0;display:flex;flex-direction:column;gap:2px}.choice-title{margin:0;font-weight:var(--weight-semibold)}.choice-sub{font-size:var(--text-sm);color:var(--color-text-muted)}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--space-2)}.segment{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-2);border:1px solid var(--color-border-default);border-radius:var(--r-pill);background:var(--color-bg-surface-raised);color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--weight-medium);white-space:nowrap}.segment[aria-pressed=true]{background:var(--color-accent-bg);border-color:var(--color-accent-line);box-shadow:inset 0 0 0 1px var(--color-accent-line);font-weight:var(--weight-bold)}.option-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--r-md);color:var(--color-text-primary);text-align:center}.option-card[aria-pressed=true]{background:var(--color-accent-bg);border-color:var(--color-accent-line);box-shadow:inset 0 0 0 1px var(--color-accent-line)}.option-card .option-title{font-weight:var(--weight-semibold);font-size:var(--text-sm)}.option-card[aria-pressed=true] .option-title{color:var(--color-text-primary);font-weight:var(--weight-bold)}.steps{display:flex;gap:var(--space-2)}.steps i{display:block;flex:1;height:3px;border-radius:2px;background:var(--color-border-default)}.steps i.done{background:var(--color-accent-line)}.chat{display:flex;flex-direction:column;gap:var(--space-3)}.bubble{max-width:82%;padding:10px var(--space-3);font-size:var(--text-base);line-height:1.35;border-radius:var(--r-md)}.bubble-coach{align-self:flex-start;background:var(--color-bg-surface);box-shadow:var(--elev-1)}.bubble-user{align-self:flex-end;background:var(--color-accent-fill);color:var(--color-accent-contrast)}.bubble-meta{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.bubble-user+.bubble-meta{align-self:flex-end}.wave{display:flex;align-items:center;gap:3px;height:28px}.wave i{display:block;width:3px;background:var(--color-accent-line)}.cursor{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--color-accent-line)}.banner{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap);padding:var(--space-2) var(--space-4);background:var(--color-bg-surface);border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle);font-size:var(--text-sm)}.banner .icon{color:var(--color-text-muted)}.divider{height:1px;background:var(--color-border-subtle)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@font-face{font-family:DM Sans;src:url(/assets/DMSans-var-Xz1IZZA0.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root[data-corners=square]{--r-xs:3px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:10px;--r-pill:8px}.choice-btn,.banner{border-radius:var(--r-md)}:root[data-accent=warm]{--accent-800-rgb:118,36,24;--accent-700-rgb:148,49,34;--accent-600-rgb:178,62,44;--accent-500-rgb:226,84,63;--accent-400-rgb:234,107,87;--accent-300-rgb:242,143,126}:root[data-accent=blue]{--accent-800-rgb:24,65,154;--accent-700-rgb:30,81,193;--accent-600-rgb:37,99,235;--accent-500-rgb:96,165,250;--accent-400-rgb:147,197,253;--accent-300-rgb:191,219,254}:root[data-accent=pink]{--accent-text-rgb:208,35,112;--accent-800-rgb:144,26,78;--accent-700-rgb:180,32,98;--accent-600-rgb:219,39,119;--accent-500-rgb:236,72,153;--accent-400-rgb:244,114,182;--accent-300-rgb:249,168,212}:root[data-accent=neutral]{--accent-800-rgb:67,70,75;--accent-700-rgb:86,89,97;--accent-600-rgb:104,109,118;--accent-500-rgb:138,142,151;--accent-400-rgb:155,158,166;--accent-300-rgb:180,183,188}:root[data-accent=red]{--accent-text-rgb:213,34,34;--accent-800-rgb:153,27,27;--accent-700-rgb:185,28,28;--accent-600-rgb:220,38,38;--accent-500-rgb:239,68,68;--accent-400-rgb:248,113,113;--accent-300-rgb:252,165,165}:root[data-accent=orange]{--accent-800-rgb:124,45,18;--accent-700-rgb:154,52,18;--accent-600-rgb:194,65,12;--accent-500-rgb:249,115,22;--accent-400-rgb:251,146,60;--accent-300-rgb:253,186,116}:root[data-accent=green]{--accent-text-rgb:22,101,52;--accent-800-rgb:20,83,45;--accent-700-rgb:22,101,52;--accent-600-rgb:21,128,61;--accent-500-rgb:34,197,94;--accent-400-rgb:74,222,128;--accent-300-rgb:134,239,172}:root[data-accent=teal]{--accent-800-rgb:19,78,74;--accent-700-rgb:17,94,89;--accent-600-rgb:15,118,110;--accent-500-rgb:20,184,166;--accent-400-rgb:45,212,191;--accent-300-rgb:94,234,212}:root[data-accent=amber]{--accent-text-rgb:146,64,14;--accent-800-rgb:120,53,15;--accent-700-rgb:146,64,14;--accent-600-rgb:180,83,9;--accent-500-rgb:245,158,11;--accent-400-rgb:251,191,36;--accent-300-rgb:252,211,77}:root[data-accent=purple]{--accent-800-rgb:88,28,135;--accent-700-rgb:107,33,168;--accent-600-rgb:126,34,206;--accent-500-rgb:168,85,247;--accent-400-rgb:192,132,252;--accent-300-rgb:216,180,254}:root:not([data-accent]),:root[data-accent=neutral]{--accent-text-rgb:67,70,75;--accent-text-dark-rgb:180,183,188}.coach-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.coach-msg{max-width:88%;padding:var(--space-2) var(--space-3);border-radius:var(--r-md);font-size:var(--text-md);overflow-wrap:anywhere}.coach-me{align-self:flex-end;background:var(--color-accent-fill);color:var(--color-accent-contrast)}.coach-them{align-self:flex-start;background:var(--color-bg-surface);box-shadow:var(--elev-1)}.coach-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border-radius:var(--r-lg);background:var(--color-bg-surface);background:linear-gradient(180deg,var(--color-accent-bg),transparent 55%),var(--glass-pop-bg);box-shadow:var(--elev-2)}.hand-edit{border-top:1px solid var(--color-border-subtle);padding-top:var(--space-3)}.hand-edit>summary{min-height:var(--tap);display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;font-weight:var(--weight-semibold)}.hand-edit>summary::-webkit-details-marker{display:none}.hand-edit>summary:after{content:"";flex:none;width:10px;height:10px;margin-right:var(--space-1);border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);transform:translateY(-2px) rotate(45deg);transition:transform .15s}.hand-edit[open]>summary:after{transform:translateY(2px) rotate(-135deg)}.hand-edit[open]>summary{margin-bottom:var(--space-3)}.tip-card{padding:var(--space-3) var(--space-4);border-radius:var(--r-lg);background:var(--color-bg-surface);box-shadow:var(--elev-1)}html,body,#root{height:100%;height:100dvh}.app{position:relative;display:flex;flex-direction:column;height:100%;max-width:560px;margin:0 auto;--daypart-k:.55;background:linear-gradient(180deg,rgba(var(--wash-rgb),calc(var(--wash-a) * var(--daypart-k))) 0,rgba(var(--wash-rgb),0) 340px),var(--color-bg-page)}.app[data-daypart=morning]{--daypart-k:1}.app[data-daypart=evening]{--daypart-k:.85}.app[data-daypart=night]{--daypart-k:.25}.app{--light-rgb:168,182,204;--light-a:.14}.app[data-daypart=morning] .app-bg{--light-rgb:242,178,122;--light-a:.22}.app[data-daypart=day] .app-bg{--light-rgb:168,182,204;--light-a:.14}.app[data-daypart=evening] .app-bg{--light-rgb:236,152,112;--light-a:.2}.app[data-daypart=night] .app-bg{--light-rgb:108,120,176;--light-a:.16}.app-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.app-bg .light{position:absolute;top:-40%;left:-20%;width:140%;height:90%;border-radius:50%;background:radial-gradient(closest-side,rgba(var(--light-rgb),calc(var(--light-a) * var(--light-mul))),rgba(var(--light-rgb),0));transform:translateZ(0);animation:drift 26s ease-in-out infinite alternate;will-change:transform}@keyframes drift{to{transform:translate3d(14%,10%,0) scale(1.08)}}.fx{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;overflow:hidden;pointer-events:none}.app-header{position:sticky;top:calc(-1 * var(--space-4));z-index:2;flex:none;display:flex;align-items:center;isolation:isolate;min-height:calc(var(--header-h) + env(safe-area-inset-top));margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) var(--space-4);padding:env(safe-area-inset-top) var(--space-4) 0;background:var(--color-bg-page);background:var(--glass-head-bg);border-bottom:var(--bw) solid transparent;transition:border-color .15s}.app-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;-webkit-backdrop-filter:var(--glass-blur-bar);backdrop-filter:var(--glass-blur-bar)}.app-main[data-scrolled] .app-header{border-bottom-color:var(--color-border-subtle)}.app-title{font-size:var(--text-md);font-weight:var(--weight-bold);letter-spacing:.01em}.app-main{position:relative;z-index:1;flex:1;min-height:0;overscroll-behavior:none;overflow-y:auto;padding:var(--space-4) var(--space-4) 0;display:flex;flex-direction:column}.settings,.week,.detail,.today-msg{padding-bottom:var(--space-4)}.app-version{text-align:center}.tab{cursor:pointer}.offline-banner{flex:none;display:flex;align-items:center;gap:var(--space-2);padding:calc(var(--space-2) + env(safe-area-inset-top)) var(--space-4) var(--space-2);background:var(--color-warning-bg);border-bottom:1px solid var(--color-border-default);font-size:var(--text-sm);line-height:1.3}.offline-banner .icon{color:var(--color-warning)}.offline-banner+.app-main .app-header{min-height:var(--header-h);padding-top:0}.today{flex:1;display:flex;flex-direction:column;gap:var(--stack)}.greet-date{margin-top:2px}.today>*{min-width:0}.daystrip{display:flex;flex-direction:column;gap:var(--space-2);margin-top:calc(-1 * var(--space-1))}.ds-track{position:relative;height:12px;margin:0 var(--space-2)}.ds-track:before{content:"";position:absolute;left:calc(-1 * var(--space-2));right:calc(-1 * var(--space-2));top:4px;height:4px;border-radius:2px;background:var(--color-bg-surface-hover)}.ds-done{position:absolute;left:calc(-1 * var(--space-2));top:4px;height:4px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(var(--accent-500-rgb),.55));transform-origin:left;animation:strip-grow var(--dur-soft) var(--ease-soft) backwards .1s}.ds-meal{position:absolute;top:1px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--color-text-primary);box-shadow:0 0 0 2px var(--color-bg-page);animation:pop var(--dur-pop) var(--ease-pop) backwards .45s}.ds-now{position:absolute;top:-3px;width:3px;height:18px;margin-left:-1.5px;border-radius:2px;background:var(--color-accent)}.ds-next{position:absolute;top:0;width:12px;height:12px;margin-left:-6px;border-radius:50%;border:2px solid var(--color-text-secondary);background:var(--color-bg-page)}.ds-labels{position:relative;display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--color-text-muted);min-height:1.2em}.ds-now-label{position:absolute;transform:translate(-50%);color:var(--color-accent);font-weight:var(--weight-bold)}@property --p{syntax:"<number>";inherits:true;initial-value:0}.ring-wrap{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-1) 0}.ring{position:relative;display:flex;justify-content:center;width:100%;isolation:isolate}.ring svg{width:min(212px,27vh);height:auto}.page[data-ring-landing=big] [data-ring=big] .ring-dial,.page[data-ring-landing=big] [data-ring=big] .ring-text,.page[data-ring-landing=mini] [data-ring=mini] .ring-dial{visibility:hidden;animation-play-state:paused}.ring-dial{--t:15px;position:relative;isolation:isolate;width:min(212px,27vh);aspect-ratio:1;border-radius:50%;transition:--p var(--dur-bouncy) var(--ease-bouncy);animation:sweep var(--dur-bouncy) var(--ease-bouncy) backwards}@keyframes sweep{0%{--p:0}}.ring-dial:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--track);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--t)),#000 calc(100% - var(--t) + 1px));mask:radial-gradient(farthest-side,transparent calc(100% - var(--t)),#000 calc(100% - var(--t) + 1px))}.ring-dial:after{content:"";position:absolute;inset:var(--t);border-radius:50%;background-color:var(--color-bg-surface);background-color:var(--glass-card-bg);background-image:radial-gradient(120% 90% at 50% 0%,var(--glass-sheen),transparent 55%);box-shadow:var(--elev-2)}.ring-arc{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 0deg,var(--ring-a),var(--ring-b) calc(var(--p) * 360deg),transparent calc(var(--p) * 360deg));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--t)),#000 calc(100% - var(--t) + 1px));mask:radial-gradient(farthest-side,transparent calc(100% - var(--t)),#000 calc(100% - var(--t) + 1px))}.ring-dial[data-over] .ring-arc{background:var(--color-warning)}.ring-end,.ring-notch{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.ring-end{transform:rotate(calc(var(--p) * 360deg))}.ring-end:before{content:"";position:absolute;left:50%;top:calc(var(--t) / 2);transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;background:var(--color-bg-surface);border:3.5px solid var(--ring-b);box-shadow:0 2px 6px #0000004d,0 0 0 4px rgba(var(--accent-500-rgb),.18)}.ring-dial[data-over] .ring-end:before{border-color:var(--color-warning)}.ring-dial[data-empty] .ring-end{display:none}.ring-notch:before{content:"";position:absolute;left:50%;top:-2px;width:3px;height:calc(var(--t) + 4px);margin-left:-1.5px;border-radius:2px;background:var(--color-text-secondary);box-shadow:0 0 0 1.5px var(--color-bg-page)}.ring-text{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;animation:pop var(--dur-pop) var(--ease-pop) backwards .25s}.ring-gap{margin-top:var(--space-1)}.ring-text .text-sub+.text-sub{margin-top:2px}.ring-legend{margin:0;font-size:var(--text-xs);color:var(--color-text-muted)}.big-num[data-over],.text-sub[data-over]{color:var(--color-warning)}.mini-ring{flex:none;width:56px;height:56px}.mini-ring .ring-dial{--t:7px;width:56px}.mini-ring .ring-end:before{width:9px;height:9px;border-width:2.5px;box-shadow:0 1px 3px #0000004d}.mini-ring .ring-dial:after{box-shadow:var(--elev-1)}.protein{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.blocks{display:flex;gap:3px}.blk{flex:1;min-width:0;height:16px;border-radius:5px;background:var(--color-bg-surface-hover);transform-origin:center bottom}.blk.on{background:linear-gradient(90deg,var(--color-text-primary) calc(var(--f) * 100%),var(--color-bg-surface-hover) calc(var(--f) * 100%))}.blk.in{animation:blk-in var(--dur-pop) var(--ease-pop) backwards;animation-delay:calc(.3s + var(--d,0) * 55ms)}@keyframes blk-in{0%{transform:scale(.5);opacity:.3}}.meal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--stack)}.meal{background:var(--color-bg-surface);border-radius:var(--r-lg);box-shadow:var(--elev-1);animation:land var(--dur-soft) var(--ease-soft) backwards;animation-delay:calc(.15s + var(--i,0) * 70ms)}.meal:active{box-shadow:var(--elev-pressed)}.meal-btn{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:var(--space-3);row-gap:1px;width:100%;min-height:var(--row-h);padding:var(--space-3) var(--space-4);background:transparent;border:0;border-radius:inherit;color:inherit;text-align:left;font:inherit;cursor:pointer}.meal-btn .row-main,.meal-btn .row-end{display:contents}.meal-btn .row-title{grid-column:1;grid-row:1}.meal-btn .row-sub{grid-column:1;grid-row:2}.meal-btn .row-value{grid-column:2;grid-row:1;text-align:right}.meal-btn .status{grid-column:2;grid-row:2;justify-self:end}.meal .row-value{font-size:var(--text-lg);line-height:1.1}.meals-empty{padding:var(--space-3) 0;text-align:center}@keyframes land{0%{opacity:0;transform:translateY(14px) scale(.98)}}@keyframes pop{0%{opacity:0;transform:scale(.6)}}@keyframes strip-grow{0%{transform:scaleX(0)}}.next-wrap{display:flex;flex-direction:column;gap:var(--space-2)}.next{display:flex;align-items:center;gap:var(--space-3)}.next-text{flex:1;min-width:0}.next-title{font-size:var(--text-sm)}.talk{gap:var(--space-3);padding:0 var(--space-5) 0 var(--space-1);min-height:var(--tap);border-radius:var(--r-pill);cursor:pointer;background:linear-gradient(180deg,rgb(var(--accent-600-rgb)),rgb(var(--accent-700-rgb)));background:linear-gradient(180deg,var(--glass-pill-a),var(--glass-pill-b));box-shadow:inset 0 1px #ffffff38,var(--accent-shadow)}.talk:not(:disabled):active{box-shadow:inset 0 1px #fff3}.talk:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;border:2px solid rgba(var(--accent-500-rgb),.45);pointer-events:none;animation:halo 3.2s ease-out infinite}@keyframes halo{0%{transform:scale(1);opacity:.7}60%,to{transform:scale(1.22,1.5);opacity:0}}.talk-mic{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-btn);background:#ffffff29;animation:breathe-soft 3.2s ease-in-out infinite}@keyframes breathe-soft{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.button{cursor:pointer}.button:disabled{cursor:default}.dock{position:sticky;bottom:0;z-index:2;margin:auto calc(-1 * var(--space-4)) 0;padding:var(--space-2) var(--space-4) var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-bg-header);background:var(--glass-dock-bg);border-top:var(--bw) solid var(--color-border-subtle);box-shadow:var(--elev-bar)}.logbox{display:flex;gap:var(--space-2)}@media (max-height:740px){.ring svg,.ring-dial{width:min(208px,24vh)}}.input{min-height:var(--tap);padding:0 var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--r-pill);box-shadow:var(--elev-0);color:var(--color-text-primary);font-size:var(--text-md);min-width:0}.input:focus{border-color:var(--color-accent-line);outline:none;box-shadow:inset 0 0 0 1px var(--color-accent-line)}.input:focus-visible{box-shadow:none}.slot-select{flex:none;width:auto;max-width:45%;font-size:var(--text-md);padding:0 var(--space-2)}.log-input{flex:1}.send{flex:none;width:var(--tap);min-height:var(--tap);padding:0;border-radius:50%}:root[data-corners=square] .send{border-radius:var(--r-pill)}.send[aria-busy=true]:disabled{background:var(--color-accent-fill);border-color:var(--color-accent-fill);color:var(--color-accent-contrast)}.spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.reply{position:relative;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-5);background:var(--color-bg-surface);border-radius:var(--r-lg);box-shadow:var(--elev-1);animation:land var(--dur-soft) var(--ease-soft) backwards;white-space:pre-wrap;overflow-wrap:anywhere;scroll-margin-bottom:200px}.reply:before{content:"";position:absolute;left:var(--space-2);top:var(--space-3);bottom:var(--space-3);width:3px;border-radius:2px;background:var(--color-accent-line)}.reply-error:before{background:var(--color-critical)}.today-msg{display:flex;flex-direction:column;align-items:stretch;text-align:center;gap:var(--space-3);padding-top:var(--space-8)}.detail{display:flex;flex-direction:column;gap:var(--stack)}.back{display:inline-flex;align-items:center;gap:var(--space-1);align-self:flex-start;min-height:var(--tap);padding:0;margin-left:calc(-1 * var(--space-1));background:transparent;border:0;color:var(--color-accent);font-weight:var(--weight-semibold);font-size:var(--text-md);cursor:pointer}.detail-said{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.item-list{list-style:none;margin:0;padding:0}.item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--row-h);padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border-subtle)}.item-name{font-weight:var(--weight-semibold)}.item-total{background:var(--color-bg-inset)}.week{display:flex;flex-direction:column;gap:var(--stack)}.big-avg{font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:1.15}.week-none{margin:var(--space-1) 0}.plot{position:relative;height:170px}.bars{list-style:none;margin:0;padding:0;height:100%;display:flex;gap:var(--space-3);align-items:flex-end}.bar-col{position:relative;flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center}.bar{display:block;width:100%;max-width:30px;background:var(--color-border-strong);border-radius:var(--r-sm) var(--r-sm) 0 0;transform-origin:bottom;animation:grow var(--dur-bouncy) var(--ease-bouncy) backwards;animation-delay:calc(var(--i,0) * 55ms);transition:height var(--dur-soft) var(--ease-soft)}.bar.today{background:linear-gradient(180deg,rgb(var(--accent-600-rgb)),rgb(var(--accent-700-rgb)));box-shadow:var(--accent-shadow)}@keyframes grow{0%{transform:scaleY(0)}}.bar.over{background:var(--color-warning)}.day-tick{position:absolute;left:15%;right:15%;border-top:2px solid var(--color-text-muted);pointer-events:none}.target-line{position:absolute;left:0;right:0;border-top:1px dashed var(--color-text-muted)}.bar-labels{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.bar-labels span{flex:1;text-align:center;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted)}.bar-labels .now{color:var(--color-text-primary);font-weight:var(--weight-bold)}.week-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);min-height:var(--row-h)}.week .card{padding:var(--space-4)}.week-avg{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.big-avg{font-variant-numeric:tabular-nums}.settings{display:flex;flex-direction:column;gap:var(--stack)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.input-unit{position:relative;display:flex;align-items:center}.input-unit .input{flex:1;padding-right:calc(var(--space-3) + 3em)}.unit{position:absolute;right:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);pointer-events:none}.field-problem{color:var(--color-critical)}.save-ok{color:var(--color-success)}.swatches{display:grid;grid-template-columns:repeat(5,44px);justify-content:space-between;gap:var(--space-3)}.swatch{position:relative;width:44px;height:44px;padding:0;border:3px solid var(--color-bg-surface);outline:1px solid var(--color-border-strong);border-radius:50%;cursor:pointer}.swatch[aria-pressed=true]{outline:2px solid var(--color-accent-line);outline-offset:2px}.swatch:focus-visible{outline:1px solid var(--color-border-strong);box-shadow:0 0 0 3px var(--color-bg-page),0 0 0 5px var(--color-text-primary)}.swatch-custom{flex:none;background-image:conic-gradient(#dc2626,#f59e0b,#22c55e,#2563eb,#a855f7,#dc2626)}.swatch-custom:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:50%;background:var(--dot,#6b7280);border:2px solid var(--color-bg-surface)}.accent-group{display:flex;flex-direction:column;gap:var(--space-3)}.custom-line{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle)}.custom-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.custom-line input[type=color]{flex:none;width:56px;height:44px;padding:0;border:1px solid var(--color-border-default);border-radius:var(--r-pill);background:transparent}.segment{cursor:pointer}.choice-btn{width:100%;text-align:left;border:0;border-top:1px solid var(--color-border-subtle);background:transparent;cursor:pointer}.choice-btn.selected{background:var(--color-accent-bg)}.welcome,.auth,.onb{background:linear-gradient(180deg,rgba(var(--wash-rgb),calc(var(--wash-a) * .55)) 0,rgba(var(--wash-rgb),0) 340px),var(--color-bg-page)}.welcome{min-height:100%;max-width:560px;margin:0 auto;display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-6);padding:calc(var(--space-6) + env(safe-area-inset-top)) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom))}.welcome-body{display:flex;flex-direction:column;gap:var(--space-5);padding-top:6vh}.welcome-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.steps-list{margin:0;padding-left:calc(var(--space-4) * 2);padding-bottom:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.auth{display:flex;flex-direction:column;gap:var(--space-4);justify-content:flex-start;min-height:100%;max-width:420px;margin:0 auto;padding:max(15vh,calc(var(--space-4) + env(safe-area-inset-top))) var(--space-4) var(--space-4)}.auth-head{display:flex;flex-direction:column;gap:var(--space-2)}.auth-purpose{font-size:var(--text-base)}.auth-panel{padding:var(--space-4);gap:var(--space-4)}.code-form{display:flex;flex-direction:column;gap:var(--space-3)}.code-input{font-size:var(--text-xl);text-align:center;letter-spacing:.3em;font-variant-numeric:tabular-nums}.auth-error{margin:0;color:var(--color-critical);font-size:var(--text-sm);text-wrap:balance}.onb{min-height:100%;max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4);padding:calc(var(--space-4) + env(safe-area-inset-top)) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom))}.onb-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.onb-progress-wrap{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-2)}.onb-progress{height:6px;border-radius:3px;box-shadow:inset 0 1px 1px #0000002e;background:var(--color-bg-surface-hover);overflow:hidden}.onb-progress span{display:block;height:100%;background:linear-gradient(90deg,rgb(var(--accent-600-rgb)),rgb(var(--accent-500-rgb)));border-radius:inherit;transition:width .35s cubic-bezier(.2,.7,.2,1)}.onb-body{flex:1;display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-3)}.onb-foot{position:sticky;bottom:0;padding-top:var(--space-2);background:var(--color-bg-page)}.onb .panel .choice-btn:first-child{border-top:0}.chip-add{display:flex;gap:var(--space-2)}.chip-add .input{flex:1;min-width:0}.chip-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-bg-surface);font-size:var(--text-sm)}.chip-x{display:grid;place-items:center;border:0;background:transparent;color:var(--color-text-muted);min-width:44px;min-height:44px;margin:calc(-1 * var(--space-2));border-radius:50%;cursor:pointer}.day-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}.day-row>.day+.day{margin-left:calc(-1 * var(--bw))}.day-row .day{border-radius:0}.day-row .day:first-child{border-radius:var(--radius) 0 0 var(--radius)}.day-row .day:last-child{border-radius:0 var(--radius) var(--radius) 0}.day-row .day[aria-pressed=true]{position:relative;z-index:1}.day{padding:0;min-height:var(--tap);cursor:pointer}.time-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border-subtle)}.time-row:first-child{border-top:0}.time-input{width:auto;min-width:7.5em}.skip input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--color-accent-fill)}.skip{display:flex;align-items:center;gap:var(--space-2);min-height:44px;font-size:var(--text-sm);color:var(--color-text-secondary)}.body-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.body-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2);text-align:center;color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--r-lg);box-shadow:var(--elev-1);cursor:pointer}.body-card:active{box-shadow:var(--elev-pressed)}.body-card.selected{background:var(--color-accent-bg);border-color:var(--color-accent-line)}.body-card .choice-sub{font-size:var(--text-xs)}.body-drawing{width:64px;height:90px}.button-secondary[aria-pressed=true],.button.picked{background:var(--color-accent-bg);border-color:var(--color-accent-line);box-shadow:inset 0 0 0 1px var(--color-accent-line)}.why-list{margin:0;padding-left:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm)}.finish-setup{margin-bottom:var(--space-3)}@media (max-width:380px){.body-grid{grid-template-columns:1fr}.body-card{flex-direction:row;text-align:left}}.push-banner{margin-bottom:var(--space-3)}.call{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.call-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(var(--wash-rgb),calc(var(--wash-a) * .8)) 0,rgba(var(--wash-rgb),0) 360px),var(--color-bg-page)}.call-morph{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:0;background:linear-gradient(180deg,rgb(var(--accent-600-rgb)),rgb(var(--accent-700-rgb)));will-change:clip-path,opacity}.call-body{flex:1;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:var(--space-4);max-width:420px;width:100%;margin:0 auto;padding:calc(var(--space-6) + env(safe-area-inset-top)) var(--space-4) var(--space-4);text-align:center}.call-foot{display:flex;flex-direction:column;gap:var(--space-3);max-width:420px;width:100%;margin:0 auto;padding:var(--space-3) var(--space-4) max(var(--space-4),env(safe-area-inset-bottom))}.call-start{display:flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:96px;border:1px solid transparent;border-radius:var(--r-pill);background:linear-gradient(180deg,rgb(var(--accent-600-rgb)),rgb(var(--accent-700-rgb)));color:var(--color-accent-contrast);font:inherit;font-size:var(--text-xl);font-weight:var(--weight-bold);cursor:pointer;box-shadow:inset 0 1px #ffffff38,var(--accent-shadow)}.call-start:active{box-shadow:inset 0 1px #fff3}.call-start .icon{width:32px;height:32px}.call .app-bg{z-index:0}.call-body{position:relative;z-index:2}.call-foot{position:relative;z-index:3;isolation:isolate}.call-foot:before{content:"";position:absolute;top:0;right:-100vmax;bottom:0;left:-100vmax;z-index:-1;background:var(--color-bg-page)}.call-orb{position:relative;align-self:center;display:grid;place-items:center;width:132px;height:132px;margin:calc(var(--space-8) + var(--space-6)) 0;border-radius:50%;background:linear-gradient(180deg,rgb(var(--accent-500-rgb)),rgb(var(--accent-700-rgb)));color:var(--color-accent-contrast);box-shadow:inset 0 1px #ffffff40,0 18px 36px -14px rgba(var(--accent-700-rgb),.8);transform:scale(calc(1 + var(--lvl,0) * .12));animation:orb-in var(--dur-bouncy) var(--ease-bouncy) backwards;will-change:transform}.call-orb .icon{width:48px;height:48px}.call-orb:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid rgba(var(--accent-500-rgb),.5);opacity:var(--halo-o,.2);transform:scale(var(--halo,1));pointer-events:none}.call-ripple{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid rgba(var(--accent-500-rgb),.5);opacity:0;pointer-events:none}.call-speaking{box-shadow:0 0 0 10px var(--color-accent-bg),0 18px 36px -14px rgba(var(--accent-700-rgb),.8)}.call-connecting{opacity:.7}@keyframes orb-in{0%{transform:scale(.6);opacity:0}}.call-level{display:flex;align-items:center;justify-content:center;gap:var(--space-1);height:32px}.call-level i{display:block;width:5px;height:var(--h);border-radius:3px;background:var(--color-accent-line);transform-origin:center;transform:scaleY(.18)}@media (prefers-reduced-motion:reduce){.call-orb{transform:none!important;animation:none}.call-level[data-on] i{transform:scaleY(.5)}.call-ripple{display:none}}.call .panel{text-align:left}.call-end{min-height:64px;background:var(--color-bg-surface);border:var(--bw) solid var(--color-critical);color:var(--color-critical);box-shadow:var(--elev-1);font-size:var(--text-lg);font-weight:var(--weight-bold);border-radius:var(--r-pill)}.call-meals{list-style:none;margin:0;padding:0;text-align:left;display:flex;flex-direction:column;gap:var(--space-2)}.voice-picker{display:flex;flex-direction:column;gap:var(--stack)}.voice-row{display:flex;align-items:stretch}.voice-row+.voice-row{border-top:var(--bw) solid var(--color-border-subtle)}.voice-row .choice-btn{flex:1;border-top:0}.voice-play svg.icon,.voice-play .icon{fill:currentColor}.voice-play{flex:none;width:var(--tap);display:grid;place-items:center;background:transparent;border:0;color:var(--color-accent);cursor:pointer}.coach-card .button-row{flex-wrap:wrap}.coach-card .button-row>.button{flex:1 1 9.5em;white-space:normal;line-height:1.2;padding-top:var(--space-2);padding-bottom:var(--space-2)}.card,.panel,.meal,.tip-card,.reply,.coach-them,.bubble-coach,.body-card{background-color:var(--color-bg-surface);background-color:var(--glass-card-bg);background-image:linear-gradient(180deg,var(--glass-sheen),transparent 42%)}.button,.meal,.tab,.row,.choice-btn,.segment,.option-card,.body-card,.talk,.call-start,.call-end,.send,.swatch,.back,.voice-play{transition:transform var(--dur-snappy) var(--ease-snappy),box-shadow var(--dur-snappy) var(--ease-snappy),background-color .2s}.pressed{transform:scale(.97)}.button.pressed,.meal.pressed,.talk.pressed,.call-start.pressed,.call-end.pressed,.body-card.pressed,.option-card.pressed{box-shadow:var(--elev-pressed)}.button-primary.pressed,.talk.pressed,.call-start.pressed{box-shadow:inset 0 1px #fff3}.row:not(:disabled):active,.choice-btn:not(.selected):active,.hand-edit>summary:active,.voice-play:active,.back:active{background:var(--color-bg-surface-hover)}.segment:not([aria-pressed=true]):active,.option-card:not([aria-pressed=true]):active,.stepper button:active{background:var(--color-bg-surface-hover)}.button-secondary:not(:disabled):active,.call-end:active{background:var(--color-bg-surface-hover)}.button:not(:disabled):active{box-shadow:var(--elev-pressed)}.button-primary:not(:disabled):active{filter:brightness(.92);box-shadow:inset 0 1px #fff3}.button-ghost:not(:disabled):active{background:var(--color-accent-bg)}.chip-x:active,.swatch:active{background:var(--color-bg-surface-hover)}.input:focus-visible,.log-input:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:1px}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.16s!important;transition-delay:0s!important;transition-timing-function:ease-out!important;scroll-behavior:auto!important}.ring-dial{transition:none!important}.pressed{transform:none!important}.app-bg .light{animation:none!important}.talk:after{display:none}}.rise{animation:rise var(--dur-soft) var(--ease-soft) backwards;animation-delay:calc(var(--d,0) * 60ms)}.welcome .button.rise{animation-delay:240ms}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}.skel{position:relative;overflow:hidden;color:transparent!important;background:var(--color-bg-surface-hover);border-radius:var(--r-sm)}.skel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:shimmer 1.3s ease-in-out infinite}:root[data-theme=dark] .skel:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}@keyframes shimmer{to{transform:translate(100%)}}.skel-line{display:block;height:1em;min-width:40%}.skel-ring{animation:none;overflow:hidden;transition:none;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--t)),#000 calc(100% - var(--t) + 1px));mask:radial-gradient(farthest-side,transparent calc(100% - var(--t)),#000 calc(100% - var(--t) + 1px))}.skel-ring:after{top:0;right:0;bottom:0;left:0;border-radius:0;box-shadow:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:translate(-100%);animation:shimmer 1.3s ease-in-out infinite}:root[data-theme=dark] .skel-ring:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}.fx .ghost{position:absolute;margin:0;list-style:none;pointer-events:none;will-change:transform,opacity}.fx .ghost,.fx .ghost *{animation:none!important}.fx .ghost .talk:after{display:none}.button-danger{background:var(--color-bg-surface);border:var(--bw) solid var(--color-critical);color:var(--color-critical);font-weight:var(--weight-bold)}.button-danger:not(:disabled):active{background:var(--color-critical-bg)}.privacy .welcome-body{gap:var(--space-4)}.kicker{margin:0;font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary)}.privacy-lede{margin:0;font-size:var(--text-md);line-height:1.35;color:var(--color-text-secondary);text-wrap:pretty}.privacy-panel{margin-top:var(--space-2)}.privacy-row{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--space-3);align-items:start;padding:var(--space-3) var(--space-4)}.privacy-row .row-lead{padding-top:2px}.privacy-row p{margin:0;font-size:var(--text-md);line-height:1.35;text-wrap:pretty}.week-legend{margin:var(--space-2) 0 0}.legend-dot{display:inline-block;width:.7em;height:.7em;margin:0 .25em 0 .1em;border-radius:2px;vertical-align:baseline;background:var(--color-text-muted)}.legend-dot.over{background:var(--color-warning)}@media (max-height:700px){.dock{gap:var(--space-1);padding-top:var(--space-1);padding-bottom:var(--space-1)}.next-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-3);row-gap:0;align-items:center}.next{display:contents}.next-text{grid-column:1;grid-row:1;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:var(--space-2)}.gp-line{grid-column:1;grid-row:2;text-align:left}.next-wrap .talk{grid-column:2;grid-row:1 / span 2;padding-right:var(--space-4)}.talk-mic{width:32px;height:32px}.talk-note{grid-column:1 / -1}}.settings-group{display:flex;flex-direction:column;gap:var(--stack)}.group-title{margin:var(--space-4) 0 0;padding:0 var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary)}.settings-group:first-child .group-title{margin-top:0}.button-danger:disabled{opacity:.55}.page{flex:1;display:flex;flex-direction:column;min-width:0}.dock .input,.dock .send{background-color:var(--color-bg-surface)}.dock .send.button-primary{background:linear-gradient(180deg,rgb(var(--accent-600-rgb)),rgb(var(--accent-700-rgb)))}.sheet-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.sheet-back{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0c0e61;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.sheet{position:relative;width:100%;max-width:560px;max-height:88dvh;display:flex;flex-direction:column;border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--color-bg-surface);background:var(--glass-pop-bg);background-image:linear-gradient(180deg,var(--glass-sheen),transparent 30%);box-shadow:var(--elev-3);will-change:transform;outline:none;isolation:isolate}.sheet:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;pointer-events:none;-webkit-backdrop-filter:var(--glass-blur-pop);backdrop-filter:var(--glass-blur-pop)}.sheet-grip{flex:none;display:grid;place-items:center;height:var(--space-6);touch-action:none;cursor:grab}.sheet-grip i{display:block;width:40px;height:5px;border-radius:3px;background:var(--color-border-strong)}.sheet-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom))}.you{gap:var(--stack)}.you-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--r-lg);background-color:var(--color-bg-surface);background-color:var(--glass-card-bg);background-image:linear-gradient(180deg,var(--glass-sheen),transparent 42%);box-shadow:var(--elev-1)}.you-avatar{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:linear-gradient(180deg,rgb(var(--accent-500-rgb)),rgb(var(--accent-700-rgb)));color:var(--color-accent-contrast);font-size:var(--text-xl);font-weight:var(--weight-bold);box-shadow:inset 0 1px #ffffff40,var(--accent-shadow)}.you-id{min-width:0;display:flex;flex-direction:column;gap:2px}.you-name{font-size:var(--text-lg);font-weight:var(--weight-bold)}.you-mail{font-size:var(--text-sm);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.you .rows .row{cursor:pointer;min-height:var(--row-h)}.you .rows .row:not(:disabled):active{background:var(--color-bg-surface-hover)}.you .rows .chev{color:var(--color-text-muted);width:18px;height:18px}.row-critical .row-title{color:var(--color-critical)}.row .row-sub{white-space:normal}.push-host{position:absolute;left:0;right:0;top:0;bottom:0;z-index:4;pointer-events:none;overflow:hidden}.push-page{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;pointer-events:auto;background:linear-gradient(180deg,rgba(var(--wash-rgb),calc(var(--wash-a) * var(--daypart-k,.55))) 0,rgba(var(--wash-rgb),0) 340px),var(--color-bg-page);box-shadow:-18px 0 40px -18px #00000059;will-change:transform}.push-bar{position:relative;flex:none;display:flex;align-items:center;min-height:calc(var(--header-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--space-4) 0;border-bottom:var(--bw) solid var(--color-border-subtle);background:var(--color-bg-page);background:var(--glass-head-bg)}.push-title{position:absolute;left:calc(var(--tap) * 2);right:calc(var(--tap) * 2);top:env(safe-area-inset-top);bottom:0;display:grid;place-items:center;font-size:var(--text-md);font-weight:var(--weight-bold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.push-body .settings>.panel:only-child .panel-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.push-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-4)}.push-body .settings{padding-bottom:var(--space-4)}.push-edge{position:absolute;left:0;top:0;bottom:0;z-index:2;touch-action:pan-y}.toast-host{position:absolute;left:0;right:0;top:calc(var(--space-2) + env(safe-area-inset-top));z-index:7;display:flex;justify-content:center;pointer-events:none}.toast{max-width:calc(100% - 2 * var(--space-6));padding:var(--space-2) var(--space-4);border-radius:var(--r-pill);background:var(--color-bg-surface);background:var(--glass-pop-bg);box-shadow:var(--elev-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-align:center}.fly-dot{position:absolute;display:block;width:10px;height:10px;border-radius:50%;background:var(--color-text-primary);box-shadow:0 0 0 2px var(--color-bg-page)}.stack-tight{display:flex;flex-direction:column;gap:var(--space-2)}
