@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f4f4f6;--bg-card: #ffffff;--bg-soft: #ebebf0;--bg-input: #ffffff;--ink: #1d1d1f;--ink-2: #3a3a3c;--ink-3: #6e6e73;--ink-4: #8e8e93;--rule: rgba(60, 60, 67, .1);--rule-strong: rgba(60, 60, 67, .2);--accent-100: #ffe0d1;--accent: #ec5122;--accent-strong: #cf491a;--accent-glow: rgba(236, 81, 34, .16);--progress-1: var(--bad);--progress-2: #ff8d28;--progress-3: #34c759;--progress-4: #00c0e8;--progress-5: #0088ff;--progress-complete: var(--gold);--bad: #ff383c;--good: #2fb24d;--good-100: #dcf3e2;--warn: #ff9500;--warn-ink: #c47600;--gold: #e0a90e;--gold-glow: 0 0 10px color-mix(in srgb, var(--gold) 55%, transparent);--on-gold: #2a1d00;--health-measurement: #b02fc2;--nutrition-calorie: #40c95a;--nutrition-protein: #38b6ff;--on-color: #fff;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-3xs: 9px;--text-2xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 28px;--text-4xl: 34px;--text-display: 46px;--leading-snug: 1.2;--leading-body: 1.5;--metric-xl: var(--text-4xl);--metric-lg: var(--text-3xl);--metric-sm: var(--text-2xl);--metric-md: var(--text-xl);--metric-unit: var(--text-base);--metric-delta: var(--text-sm);--metric-caption: var(--text-sm);--role-page-title-size: var(--text-2xl);--role-page-title-weight: 700;--role-page-title-color: var(--ink);--role-card-title-size: var(--text-lg);--role-card-title-weight: 700;--role-card-title-color: var(--ink);--role-card-headline-size: var(--text-base);--role-card-headline-weight: 700;--role-card-headline-color: var(--ink);--role-rec-headline-size: var(--text-2xl);--role-rec-headline-weight: 700;--role-rec-headline-color: var(--ink);--role-eyebrow-size: var(--text-2xs);--role-eyebrow-weight: 700;--role-eyebrow-color: var(--ink-3);--role-eyebrow-spacing: .06em;--role-section-title-size: var(--text-sm);--role-section-title-weight: 700;--role-section-title-color: var(--ink-3);--role-section-title-spacing: .04em;--role-secondary-size: var(--text-sm);--role-secondary-weight: 400;--role-secondary-color: var(--ink-3);--role-caption-size: var(--text-2xs);--role-caption-weight: 500;--role-caption-color: var(--ink-4);--role-field-label-size: var(--text-sm);--role-field-label-weight: 600;--role-field-label-color: var(--ink-3);--role-field-label-spacing: .06em;--role-microlabel-spacing: .04em;--role-nanocaption-spacing: .08em;--role-action-size: var(--text-sm);--role-action-weight: 600;--role-action-color: var(--ink-2);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--vr-hairline: 2px;--vr-tight: var(--space-1);--vr-snug: 6px;--vr-loose: var(--space-2);--vr-block: var(--space-3);--vr-section: var(--space-4);--radius: 18px;--radius-card: 14px;--radius-sm: 10px;--radius-pill: 999px;--shadow-sm: 0 1px 1px rgba(17, 24, 39, .04), 0 4px 10px -2px rgba(17, 24, 39, .05), 0 12px 28px -8px rgba(17, 24, 39, .07), 0 28px 60px -32px rgba(17, 24, 39, .09), inset 0 1px 0 rgba(255, 255, 255, .92);--shadow-md: 0 12px 30px rgba(28, 36, 60, .08), inset 0 1px 0 rgba(255, 255, 255, .9);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .22);--card-blur: blur(22px);--glass-bg: rgba(244, 244, 246, .42);--glass-blur: saturate(200%) blur(22px);--glass-highlight: rgba(255, 255, 255, .72);--glass-shadow: rgba(17, 24, 39, .16);--glass-edge: rgba(255, 255, 255, .8);--glass-lens-bg: rgba(120, 120, 128, .22);--tabbar-active: #ff6b3d;--scrim-bg: rgba(0, 0, 0, .34);--scrim-blur: blur(16px);--z-raised: 10;--z-nav: 20;--z-dropdown: 30;--z-scrim: 40;--z-modal: 41;--z-celebrate: 95;--z-splash: 100;--z-toast: 200;--dur-press: .12s;--dur-exit: .2s;--dur-move: .28s;--dur-slide: .32s;--dur-enter: .4s;--dur-pop: .44s;--dur-countup: .6s;--dur-draw: .8s;--dur-celebrate: .9s;--dur-sheen: 1s;--dur-shimmer: 1.6s;--dur-ambient: 3s;--ease-press: cubic-bezier(.2, .8, .2, 1);--ease-enter: cubic-bezier(.16, 1, .3, 1);--ease-move: cubic-bezier(.4, 0, .2, 1);--ease-pop: cubic-bezier(.34, 1.56, .64, 1);--ease-snap: cubic-bezier(.22, 1, .36, 1);--enter-wait: .1s;--stagger-step: 50ms;--enter-rise: 12px;--slide-near: 40%;--pop-peak: 1.08;--tap-scale: .97;--tabbar-h: 56px;--content-max: 560px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--app-height: 100dvh;--dock-bottom-clearance: calc(var(--tabbar-h) + var(--safe-bottom) + var(--space-6))}@media(display-mode:standalone){:root{--app-height: 100vh}}:root[data-theme=dark]{--bg: #1a1a1a;--bg-card: rgba(30, 30, 33, .82);--bg-soft: #2c2c2e;--bg-input: rgba(30, 30, 33, .88);--ink: #f5f5f7;--ink-2: #c7c7cc;--ink-3: #98989d;--ink-4: #8e8e93;--rule: rgba(235, 235, 245, .14);--rule-strong: rgba(235, 235, 245, .26);--accent-100: #3a1f12;--accent: #ff7a45;--accent-strong: #e85f28;--accent-glow: rgba(255, 122, 69, .26);--progress-1: var(--bad);--progress-2: #ff9230;--progress-3: #30d158;--progress-4: #3cd3fe;--progress-5: #0091ff;--progress-complete: var(--gold);--good: #4ad968;--good-100: #13331d;--bad: #ff4245;--warn: #ff9f0a;--warn-ink: #ffbe5c;--gold: #ffd970;--health-measurement: #db34f2;--card-blur: blur(22px);--glass-bg: rgba(26, 26, 26, .42);--glass-highlight: rgba(255, 255, 255, .22);--glass-shadow: rgba(0, 0, 0, .55);--glass-edge: rgba(255, 255, 255, .24);--glass-lens-bg: rgba(255, 255, 255, .13);--shadow-sm: 0 1px 1px rgba(0, 0, 0, .4), 0 8px 22px -6px rgba(0, 0, 0, .42), 0 22px 50px -18px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .05);--shadow-md: 0 18px 42px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .04);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .55)}@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){:root{--card-blur: none;--glass-blur: none;--scrim-blur: none;--glass-bg: rgba(244, 244, 246, .96)}:root[data-theme=dark]{--glass-bg: rgba(26, 26, 26, .96)}}@media(prefers-contrast:more){:root{--glass-edge: var(--rule-strong)}}.metric-val{font-family:var(--font-mono);font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.035em;line-height:1;display:inline-flex;align-items:baseline;gap:var(--space-1)}.metric-val--xl{font-size:var(--metric-xl)}.metric-val--lg{font-size:var(--metric-lg)}.metric-val--sm{font-size:var(--metric-sm)}.metric-val--md{font-size:var(--metric-md)}.metric-unit{font-family:var(--font-ui);font-size:var(--metric-unit);font-weight:600;color:var(--ink-3);letter-spacing:0;white-space:nowrap}.metric-delta{font-family:var(--font-mono);font-size:var(--metric-delta);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap}.metric-delta--good{color:var(--good)}.metric-delta--bad{color:var(--bad)}.metric-caption{font-size:var(--metric-caption);font-weight:500;color:var(--ink-4)}.mono{font-family:var(--font-mono)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}html{scroll-behavior:smooth;transition:background-color var(--dur-move) var(--ease-move)}html,body{margin:0;width:100%;overflow-x:clip;font-family:var(--font-ui);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}html[data-theme=light],html[data-theme=light] body{background:radial-gradient(circle at 50% -180px,rgba(0,122,255,.12),transparent 360px),linear-gradient(180deg,var(--bg-card) 0,var(--bg) 320px),var(--bg)}html[data-theme=dark],html[data-theme=dark] body{background:var(--bg)}button{font-family:inherit;cursor:pointer}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-reduced-motion:no-preference){html.is-theme-easing,html.is-theme-easing *,html.is-theme-easing *:before,html.is-theme-easing *:after{transition:background var(--dur-move) var(--ease-move),color var(--dur-move) var(--ease-move),border-color var(--dur-move) var(--ease-move),box-shadow var(--dur-move) var(--ease-move),fill var(--dur-move) var(--ease-move),stroke var(--dur-move) var(--ease-move)!important}}#root{min-height:var(--app-height)}.toast-tray{position:fixed;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + var(--space-1));left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:var(--vr-loose);z-index:var(--z-toast);pointer-events:none;align-items:center;width:max-content;max-width:calc(100vw - var(--space-8))}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;pointer-events:all;cursor:pointer;animation:toast-in var(--dur-enter) var(--ease-enter) both;white-space:nowrap;background:var(--bg-card);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:1px solid var(--rule);color:var(--ink)}.toast-exit{animation:toast-out var(--dur-exit) var(--ease-move) both}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:none}}@keyframes toast-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(6px) scale(.95)}}@keyframes rise-in{0%{opacity:0;transform:translateY(var(--enter-rise, 12px))}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes row-saved{0%{background:color-mix(in srgb,var(--accent-100) 90%,transparent)}to{background:transparent}}@keyframes set-check-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes set-check-draw{to{stroke-dashoffset:0}}@keyframes set-check-life{0%{opacity:0}12%{opacity:1}70%{opacity:1}to{opacity:0}}@keyframes skel-fade{0%,to{opacity:1}50%{opacity:.4}}.press-settle{transition:transform var(--dur-pop) var(--ease-pop)}.press-settle:not(:disabled):active{transform:scale(var(--tap-scale));transition:transform var(--dur-press) var(--ease-press)}.toast-icon{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.toast-success .toast-icon{background:color-mix(in srgb,var(--good) 18%,transparent);color:var(--good)}.toast-info .toast-icon{background:var(--bg-soft);color:var(--ink-3)}.toast-error .toast-icon{background:color-mix(in srgb,var(--bad) 18%,transparent);color:var(--bad)}.toast-msg{flex:1}.toast-action{position:relative;background:none;border:none;border-radius:var(--radius-pill);padding:3px 10px;color:var(--accent);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:opacity var(--dur-press) var(--ease-press)}.toast-action:active{opacity:.55}.toast-action:before{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px}.save-celebration{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-celebrate);pointer-events:none;display:flex;align-items:center;justify-content:center}.celeb-card{position:relative;z-index:1;background:color-mix(in srgb,var(--bg-card) 95%,transparent);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-lg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);padding:var(--space-5) var(--space-6);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--vr-tight);animation:celeb-card-in var(--dur-enter) var(--ease-enter) both}@keyframes celeb-card-out{to{opacity:0;transform:scale(.92) translateY(6px)}}.save-celebration.is-closing .celeb-card{animation:celeb-card-out var(--dur-exit) var(--ease-move) both}@keyframes celeb-card-in{0%{opacity:0;transform:scale(.78) translateY(16px) rotate(-1.5deg)}44%{opacity:1;transform:scale(1.06) translateY(-2px) rotate(1deg)}to{opacity:1;transform:scale(1) translateY(0) rotate(0)}}.celeb-badge{position:relative;width:54px;height:54px;margin-bottom:var(--vr-block)}.celeb-disc{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:color-mix(in srgb,var(--tone) 16%,transparent);animation:celeb-badge-pop .52s cubic-bezier(.2,1.15,.3,1) both}.celeb-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid color-mix(in srgb,var(--tone) 42%,transparent);animation:celeb-badge-ring var(--dur-celebrate) ease-out both}.celeb-ring.r2{animation-delay:.14s}.celeb-badge svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}@keyframes celeb-badge-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes celeb-badge-ring{0%{opacity:.55;transform:scale(.78)}to{opacity:0;transform:scale(1.55)}}.celeb-glyph-check{fill:none;stroke:var(--tone);stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:42;stroke-dashoffset:42;animation:celeb-draw .46s .22s cubic-bezier(.6,0,.3,1) forwards}@keyframes celeb-draw{to{stroke-dashoffset:0}}.celeb-glyph-fill{fill:var(--tone);transform-origin:33px 34px;transform:scale(0) rotate(-24deg);animation:celeb-glyph-pop .56s .12s cubic-bezier(.2,1.25,.35,1) forwards}@keyframes celeb-glyph-pop{to{transform:scale(1) rotate(0)}}.celeb-dot{transform-origin:33px 33px;transform:scale(0);animation:celeb-glyph-pop .42s .36s cubic-bezier(.2,1.4,.35,1) forwards}.celeb-shine{fill:#fff;opacity:0;mix-blend-mode:overlay;animation:celeb-shine .7s .36s ease-out forwards}@keyframes celeb-shine{0%{opacity:0;transform:translate(-14px)}40%{opacity:.8}to{opacity:0;transform:translate(14px)}}.celeb-card strong{font-size:var(--text-xl);font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1}.celeb-sub{font-size:var(--text-sm);color:var(--ink-3)}.save-celebration.is-gold .celeb-card{border-color:color-mix(in srgb,var(--gold) 40%,var(--rule))}.save-celebration.is-gold strong{color:var(--gold);text-shadow:var(--gold-glow)}.celeb-confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.celeb-confetti span{position:absolute;top:50%;left:50%;will-change:transform,opacity;animation:celeb-confetti-arc 1.15s cubic-bezier(.15,.6,.4,1) both;transform-origin:center center}@keyframes celeb-confetti-arc{0%{transform:translate(0) rotate(0);opacity:0}8%{opacity:var(--op, 1)}42%{transform:translate(var(--px),var(--py)) rotate(calc(var(--rot) * .4));opacity:var(--op, 1)}to{transform:translate(var(--ex),var(--ey)) rotate(var(--rot));opacity:0}}.save-celebration.is-sticky{pointer-events:auto;background:color-mix(in srgb,var(--bg) 62%,transparent);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);transition:background var(--dur-exit) var(--ease-move)}@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.save-celebration.is-sticky{backdrop-filter:none;-webkit-backdrop-filter:none}}.save-celebration.is-sticky.is-closing{background:transparent}.save-celebration.v-milestone .celeb-badge{width:72px;height:72px;margin-bottom:var(--vr-block)}.save-celebration.v-milestone .celeb-card strong{font-size:var(--text-2xl)}.celeb-rays{position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;pointer-events:none;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--gold) 26%,transparent) 0deg 5deg,transparent 5deg 16deg);-webkit-mask:radial-gradient(circle,#000 18%,transparent 62%);mask:radial-gradient(circle,#000 18%,transparent 62%);animation:celeb-rays-spin 9s linear infinite,celeb-rays-in var(--dur-enter) ease-out both}@keyframes celeb-rays-spin{to{transform:rotate(360deg)}}@keyframes celeb-rays-in{0%{opacity:0}to{opacity:1}}.celeb-rain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.celeb-rain span{position:absolute;top:-8%;will-change:transform,opacity;animation-name:celeb-rain-fall;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes celeb-rain-fall{0%{transform:translateY(-10vh) rotate(0);opacity:0}8%{opacity:var(--op, 1)}92%{opacity:var(--op, 1)}to{transform:translateY(112vh) rotate(var(--rot));opacity:0}}.celeb-confirm{margin-top:var(--vr-loose);padding:10px var(--space-5);border:none;border-radius:var(--radius-pill);background:var(--gold);color:var(--on-gold);font-family:var(--font-ui);font-size:var(--text-base);font-weight:700;cursor:pointer;pointer-events:auto;transition:transform var(--dur-press) var(--ease-press)}.celeb-confirm:active{transform:scale(var(--tap-scale))}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.auth-gate{min-height:var(--app-height);display:grid;place-items:center;padding:var(--space-6)}.auth-card{width:100%;max-width:360px;text-align:center;background:var(--bg-card);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-md);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);padding:var(--space-8) var(--space-6)}.auth-logo{width:76px;height:76px;display:block;margin:0 auto var(--space-3)}.auth-brand{font-size:var(--text-4xl);font-weight:800;letter-spacing:-.03em}.auth-tagline{margin:var(--space-2) 0 var(--space-6);font-size:var(--text-sm);color:var(--ink-3);letter-spacing:.02em}.auth-google{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--ink);font-size:var(--text-base);font-weight:600;transition:transform var(--dur-press) var(--ease-press)}.auth-google:active{transform:scale(var(--tap-scale))}.auth-google:disabled{opacity:.6}.auth-error{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--bad);user-select:text;-webkit-user-select:text}.app-error-retry{margin-top:var(--space-5);width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--ink);font-size:var(--text-base);font-weight:600;transition:transform var(--dur-press) var(--ease-press)}.app-error-retry:active{transform:scale(var(--tap-scale))}.freshness-tag{font-size:var(--role-secondary-size);font-weight:var(--role-secondary-weight);color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}.freshness-tag.is-clock{font-family:var(--font-mono)}.freshness-tag.is-stale{color:var(--warn)}.status-text{font-size:var(--role-card-headline-size);font-weight:var(--role-card-headline-weight);font-variant-numeric:tabular-nums;letter-spacing:0;line-height:1;white-space:nowrap}.status-text--gold{color:var(--gold);text-shadow:var(--gold-glow)}.status-text--pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 8px;border-radius:var(--radius-pill);background:var(--bg-soft);font-size:var(--text-sm);font-weight:600}.status-text-dot{width:6px;height:6px;border-radius:50%;background:var(--ink-4)}.status-text-mark{font-weight:800;line-height:1}.status-text--gold.status-text--pill{background:color-mix(in srgb,var(--gold) 16%,transparent)}.status-text--gold.status-text--pill .status-text-dot{background:var(--gold)}.status-text--good.status-text--pill{background:color-mix(in srgb,var(--good) 16%,transparent)}.status-text--good.status-text--pill .status-text-dot{background:var(--good)}.status-text--bad.status-text--pill{background:color-mix(in srgb,var(--bad) 16%,transparent)}.status-text--bad.status-text--pill .status-text-dot{background:var(--bad)}.status-text--warn.status-text--pill{background:color-mix(in srgb,var(--warn) 16%,transparent)}.status-text--warn.status-text--pill .status-text-dot{background:var(--warn)}.status-text--neutral.status-text--pill{color:var(--ink-2);font-weight:600}.status-text--good{color:var(--good)}.status-text--bad{color:var(--bad)}.status-text--warn{color:var(--warn)}.status-text--neutral{color:var(--ink-4);font-weight:400}.error-state{text-align:center}.error-state-msg{margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--bad);user-select:text;-webkit-user-select:text}.error-state-retry{padding:var(--space-2) var(--space-4);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--ink);font-size:var(--text-sm);font-weight:600;transition:transform var(--dur-press) var(--ease-press)}.error-state-retry:active{transform:scale(var(--tap-scale))}.ov-training-health{display:flex;flex-direction:column;gap:0;scroll-margin-top:var(--space-4);--th-steady-ink: rgba(142, 142, 147, .55);--th-bad-bg: color-mix(in srgb, var(--bad) 7%, transparent);--th-bad-bd: color-mix(in srgb, var(--bad) 55%, transparent);--th-warn-bg: color-mix(in srgb, var(--warn) 6%, transparent);--th-warn-bd: color-mix(in srgb, var(--warn) 50%, transparent);--th-good-bg: color-mix(in srgb, var(--good) 5%, transparent);--th-good-bd: color-mix(in srgb, var(--good) 45%, transparent);--th-gold-bg: color-mix(in srgb, var(--gold) 5%, transparent);--th-gold-bd: color-mix(in srgb, var(--gold) 50%, transparent);--th-steady-bg: color-mix(in srgb, var(--ink) 3%, transparent);--th-steady-bd: var(--rule)}.ov-training-health--nav{gap:var(--space-3);cursor:pointer;text-align:left;width:100%;-webkit-tap-highlight-color:transparent;transition:transform var(--dur-press) var(--ease-press),box-shadow var(--dur-press) var(--ease-press)}@media(hover:hover){.ov-training-health--nav:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.ov-training-health--nav:hover .ov-th-chevron{color:var(--ink-2)}}.ov-training-health--nav:active{transform:scale(var(--tap-scale));box-shadow:var(--shadow-sm);transition-duration:var(--dur-press)}.ov-th-top{display:flex;align-items:center;justify-content:space-between}.ov-th-label{font-size:var(--role-eyebrow-size);font-weight:var(--role-eyebrow-weight);letter-spacing:var(--role-eyebrow-spacing);text-transform:uppercase;color:var(--role-eyebrow-color)}.ov-th-chevron{color:var(--ink-4);flex-shrink:0;transition:color var(--dur-press)}.ov-th-empty{font-size:var(--text-sm);color:var(--ink-4);text-align:left;margin:0}.ov-th-ret-hero{display:flex;flex-direction:column;gap:var(--vr-snug);margin-top:var(--vr-block)}.ov-training-health--nav .ov-th-ret-hero{margin-top:0}.ov-th-hero-row{display:flex;align-items:baseline;gap:var(--space-2)}.ov-th-ret-count{font-size:var(--text-sm);font-weight:500;color:var(--ink-3)}.ov-th-avg-retention{font-size:calc(var(--role-eyebrow-size) - 2px);font-weight:var(--role-eyebrow-weight);letter-spacing:var(--role-nanocaption-spacing);text-transform:uppercase;color:var(--ink-3)}.ov-th-trend{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.ov-th-trend--up{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}.ov-th-trend--down{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}.ov-th-bar{display:flex;gap:3px;margin-top:var(--vr-section)}.ov-th-ret-hero+.ov-th-bar{margin-top:var(--vr-block)}.ov-th-bar+.ov-th-ret-count{display:block;margin-top:var(--vr-loose)}.ov-th-bar-seg{flex:1;height:6px;border-radius:var(--radius-pill);background:var(--rule-strong);position:relative}@keyframes th-seg-in{to{opacity:1}}.ov-th-bar-seg.is-good:before,.ov-th-bar-seg.is-watch:before,.ov-th-bar-seg.is-declining:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;opacity:0;animation:th-seg-in 1ms linear both;animation-delay:inherit}.ov-th-bar-seg.is-good:before{background:var(--good)}.ov-th-bar-seg.is-watch:before{background:color-mix(in srgb,var(--warn) 62%,transparent)}.ov-th-bar-seg.is-declining:before{background:color-mix(in srgb,var(--bad) 65%,transparent)}.loading-card .ov-th-bar-seg:before{display:none}.status-declining{color:var(--bad)}.status-stalled{color:var(--warn)}.status-rebounding{color:var(--good)}.status-steady{color:var(--th-steady-ink)}.status-pr{color:var(--gold);text-shadow:var(--gold-glow)}.tone-bad{background:var(--th-bad-bg);border-color:var(--th-bad-bd)}.tone-warn{background:var(--th-warn-bg);border-color:var(--th-warn-bd)}.tone-good{background:var(--th-good-bg);border-color:var(--th-good-bd)}.tone-gold{background:var(--th-gold-bg);border-color:var(--th-gold-bd)}.tone-steady{background:var(--th-steady-bg);border-color:var(--th-steady-bd)}.ov-th-flagged-list{margin-top:var(--vr-section);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.ov-th-flagged-row{display:flex;align-items:center;gap:10px;padding:10px 0}.ov-th-flagged-row+.ov-th-flagged-row{border-top:1px solid var(--rule)}.ov-th-flagged-dot{font-size:var(--text-sm);font-weight:700;flex-shrink:0}.ov-th-flagged-mid{display:flex;flex-direction:column;gap:var(--vr-hairline);flex:1;min-width:0}.ov-th-flagged-name{font-size:var(--text-base);font-weight:600;color:var(--ink)}.ov-th-flagged-detail{font-size:var(--text-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-th-flagged-detail.status-stalled{color:var(--warn-ink)}.ov-th-flagged-pct{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;flex-shrink:0}.ov-th-steady-summary{margin-top:10px;font-size:var(--text-sm);color:var(--ink-3)}.ov-th-below-best{margin-left:var(--space-3)}.ov-th-pr-clause{margin-left:var(--space-3);color:var(--gold);text-shadow:var(--gold-glow)}.ov-th-pr-nowrap{white-space:nowrap}.ov-thg-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-2);margin-top:var(--space-5)}.ov-thg-cell{grid-column:span 3;min-height:72px;display:flex;flex-direction:column;justify-content:space-between;gap:var(--vr-tight);padding:10px var(--space-3);border-radius:var(--radius-sm);border:1px solid transparent;min-width:0;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:box-shadow var(--dur-press) var(--ease-press),border-color var(--dur-press)}.ov-thg-cell.is-hero{grid-column:1 / -1;min-height:88px}.ov-thg-cell.is-selected{box-shadow:0 0 0 1.5px color-mix(in srgb,var(--ink) 45%,transparent)}.ov-thg-cell.tone-warn.is-selected{box-shadow:0 0 0 1.5px var(--accent)}.ov-thg-cell-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.ov-thg-cell-head-left{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.ov-thg-cell-muscle-icon{flex-shrink:0}.ov-thg-cell-name{font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-thg-cell-name-count{text-transform:none;font-weight:500;letter-spacing:normal;color:var(--ink-4)}.ov-thg-cell-metric{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.ov-thg-cell-icon.status-pr{color:var(--gold);filter:drop-shadow(var(--gold-glow))}.ov-thg-hero-halo{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;flex-shrink:0}.ov-thg-hero-halo.status-declining{background:var(--th-bad-bg)}.ov-thg-hero-halo.status-stalled{background:var(--th-warn-bg)}.ov-thg-hero-halo.status-rebounding{background:var(--th-good-bg)}.ov-thg-hero-halo.status-pr{background:var(--th-gold-bg)}.ov-thg-hero-halo.status-steady{background:var(--th-steady-bg)}.ov-thg-cell-pct{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.ov-thg-cell-insight{font-size:var(--text-2xs);font-weight:500;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-thg-cell-foot{display:flex;align-items:center;gap:6px}.ov-thg-hero-marks-words{font-size:var(--text-2xs);font-weight:500;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-thg-cell.is-hero .ov-thg-cell-name{font-size:var(--text-sm)}.ov-thg-cell.is-hero .ov-thg-cell-pct{font-size:var(--text-xl)}.ov-thg-drill{display:flex;flex-direction:column;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--rule)}.ov-thg-drill-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--vr-loose)}.ov-thg-drill-title{font-size:var(--text-sm);font-weight:700;letter-spacing:var(--role-section-title-spacing);text-transform:uppercase;color:var(--ink)}.ov-thg-drill-count{font-size:var(--text-sm);font-weight:500;color:var(--ink-4)}.ov-thg-drill-fatigue{display:flex;flex-direction:column;gap:var(--vr-hairline);padding:var(--space-3);margin-bottom:var(--space-3);background:var(--bg-soft);border-radius:var(--radius-sm)}.ov-thg-drill-fatigue-verdict{font-size:var(--text-sm);font-weight:600}.ov-thg-drill-fatigue-step{font-size:var(--text-sm);font-weight:500;color:var(--ink-2)}.ov-thg-drill-row{display:grid;grid-template-columns:72px 1fr auto;align-items:center;column-gap:var(--space-3);padding:10px 0;border-bottom:1px solid var(--rule)}.ov-thg-drill-row:last-child{border-bottom:none}.ov-thg-drill-row--tap{width:100%;background:none;border-top:none;border-left:none;border-right:none;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.ov-thg-drill-row--tap:active{opacity:.55}.ov-thg-spark{display:block}.ov-thg-spark--empty{width:72px;height:24px}.ov-thg-drill-lift{display:flex;flex-direction:column;gap:var(--vr-hairline);min-width:0}.ov-thg-drill-name{font-size:var(--text-base);font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-thg-drill-action{font-size:var(--text-sm);font-weight:600;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-thg-drill-note{font-size:var(--text-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-thg-drill-note.status-stalled{color:var(--warn-ink)}.ov-thg-drill-best{font-size:var(--text-2xs);font-weight:500;color:var(--ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-thg-drill-pct{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}@media(min-width:1180px){.ov-th-mgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:0}.ov-training-health--nav .ov-th-ret-hero+.ov-th-bar{margin-top:var(--space-1)}.ov-th-mgrid-cell{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--space-2);padding:6px var(--space-3);border:1px solid transparent;border-radius:var(--radius-sm)}.ov-th-mgrid-icon{flex:none;color:var(--ink-3)}.ov-th-mgrid-name{min-width:0;font-size:var(--text-sm);font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ov-th-mgrid-count{color:var(--ink-4);font-weight:400}.ov-th-mgrid-glyph{font-size:var(--text-sm);line-height:1}.ov-th-mgrid-pct{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}}.activity-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.activity-ring.is-complete{border-radius:50%;box-shadow:0 0 10px color-mix(in srgb,var(--ring-glow, var(--good)) 30%,transparent)}:root[data-theme=dark] .activity-ring.is-complete{box-shadow:0 0 10px color-mix(in srgb,var(--ring-glow, var(--good)) 55%,transparent)}.activity-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.page-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-1)}.page-topbar-title-row{display:flex;align-items:baseline;gap:var(--space-2)}.page-topbar-title{font-size:var(--role-page-title-size);font-weight:var(--role-page-title-weight);letter-spacing:-.02em;color:var(--role-page-title-color);margin:0}.page-topbar-title.is-tappable{cursor:pointer;-webkit-tap-highlight-color:transparent}.page-topbar-title.is-tappable:active{opacity:.6}.page-topbar-eyebrow,.page-topbar-title{opacity:1;transform:translate(0);transition:opacity var(--dur-press) var(--ease-press),transform var(--dur-press) var(--ease-press)}.page-topbar-eyebrow.is-fading,.page-topbar-title.is-fading{opacity:0;transform:translate(10px)}.page-topbar-note{opacity:1;transition:opacity var(--dur-press) var(--ease-press) 40ms;animation:fade-in var(--dur-enter) var(--ease-enter)}.page-topbar-note.is-fading{opacity:0;transition:opacity var(--dur-press) var(--ease-press)}.page-topbar-sync-note{font-size:var(--text-sm);color:var(--ink-3)}.page-topbar-actions{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2)}.page-topbar-viewonly{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--bg-soft);border-radius:var(--radius-pill);color:var(--ink-3);font-size:var(--text-2xs);font-weight:600;line-height:1;white-space:nowrap}.copy-phase-header-btn{flex-shrink:0;display:grid;place-items:center;position:relative;width:30px;height:30px;border:none;border-radius:var(--radius-sm);background:none;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--dur-press) var(--ease-press),background var(--dur-press) var(--ease-press)}.copy-all-data-btn{color:var(--ink-3)}@media(hover:hover){.copy-all-data-btn:hover{color:var(--ink-2)}}.copy-phase-header-btn:active{transform:scale(var(--tap-scale))}.copy-phase-header-btn:before{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px}.copy-phase-header-btn .copy-icon,.copy-phase-header-btn .check-icon{grid-area:1 / 1;width:13px;height:13px}.copy-phase-header-btn .copy-icon{transition:opacity var(--dur-exit) var(--ease-press),transform var(--dur-exit) var(--ease-press)}.copy-phase-header-btn .check-icon polyline{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset var(--dur-move) var(--ease-move)}.copy-phase-header-btn.copied .copy-icon{opacity:0;transform:scale(.75)}.copy-phase-header-btn.copied .check-icon polyline{stroke-dashoffset:0}.copy-phase-header-btn.copied{color:var(--good)}.page-topbar-search-btn{color:var(--ink-3)}@media(hover:hover){.page-topbar-search-btn:hover{color:var(--ink-2)}}.page-topbar-search-btn.is-open{color:var(--ink)}.page-topbar-search-btn svg{width:17px;height:17px}.page-topbar-bell-btn{color:var(--ink-3)}@media(hover:hover){.page-topbar-bell-btn:hover{color:var(--ink-2)}}.page-topbar-bell-btn.is-open{color:var(--ink)}.page-topbar-bell-btn svg{width:17px;height:17px}.page-topbar-bell-badge{position:absolute;top:3px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--bg);pointer-events:none}.copy-all-wrap{position:relative;display:inline-flex;align-items:center}.copy-copied-pill{position:absolute;right:100%;margin-right:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--good-100);color:var(--good);font-size:var(--text-2xs);font-weight:700;line-height:1;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(8px) scale(.9);transition:opacity var(--dur-exit) var(--ease-press),transform var(--dur-exit) var(--ease-press)}.copy-copied-pill.is-shown{opacity:1;transform:translate(0) scale(1);transition:opacity var(--dur-move) var(--ease-pop),transform var(--dur-move) var(--ease-pop)}button.copy-all-data-btn{width:32px;height:32px}.copy-all-data-btn .copy-icon,.copy-all-data-btn .check-icon{width:16px;height:16px}.page-topbar-avatar-btn{position:relative;flex-shrink:0;border:none;padding:0;background:transparent;cursor:pointer;display:grid;place-items:center;transition:transform var(--dur-press) var(--ease-press);-webkit-tap-highlight-color:transparent}.page-topbar-avatar-btn:before{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px}.page-topbar-avatar-btn:active{transform:scale(var(--tap-scale))}.page-topbar-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--accent)}.page-topbar-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.page-topbar-avatar-fallback{color:var(--on-color);font-weight:700;font-size:var(--text-base)}.ov-active-target,.page-card.goal,.ov-system-banner,.ov-weight{transition:transform var(--dur-press) var(--ease-press),box-shadow var(--dur-press) var(--ease-press)}@media(hover:hover){.ov-weight:hover,.ov-active-target:has(.ov-active-target-navblock:hover),.page-card.goal:has(.goal-navblock:hover),.ov-system-banner:has(.ov-system-main:hover){transform:translateY(-2px);box-shadow:var(--shadow-md)}}.ov-weight:active,.ov-active-target:has(.ov-active-target-navblock:active),.page-card.goal:has(.goal-navblock:active),.ov-system-banner:has(.ov-system-main:active){transform:scale(var(--tap-scale));box-shadow:var(--shadow-sm)}.ov-active-target{display:block;width:100%;text-align:left;touch-action:pan-y;user-select:none;-webkit-user-select:none}@keyframes ov-slide-from-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes ov-slide-from-left{0%{transform:translate(-100%)}to{transform:translate(0)}}.ov-active-target.week-nav-forward{animation:ov-slide-from-right var(--dur-move) var(--ease-move) both}.ov-active-target.week-nav-backward{animation:ov-slide-from-left var(--dur-move) var(--ease-move) both}.ov-active-target-weeklabel{font-size:var(--role-caption-size);font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}.ov-active-target-navblock{display:block;width:100%;border:none;background:transparent;padding:0;margin:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.ov-active-target-head{display:flex;align-items:center;justify-content:space-between}.ov-active-target-head-right{display:inline-flex;align-items:center;gap:6px}.ov-active-target-goal{align-self:auto;display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;padding:0;font-size:var(--text-sm);font-weight:600;color:var(--ink-3)}.ov-active-target-chevron{font-size:var(--text-xl);color:var(--ink-4);line-height:1}.ov-active-target-goal svg{opacity:.6}.ov-active-target-setup{position:relative;display:block;width:100%;text-align:left;margin-top:var(--vr-snug);border:none;background:transparent;padding:0;font-size:var(--text-sm);color:var(--accent);cursor:pointer;line-height:var(--leading-body)}.ov-active-target-setup:before{content:"";position:absolute;top:-11px;right:0;bottom:-11px;left:0}.ov-active-target-ring-row{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--vr-loose)}.ov-active-target-ring-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:var(--vr-tight)}.ov-active-target-ring-center{display:flex;flex-direction:column;align-items:center;line-height:1.15}.ov-active-target-ring-num{font-family:var(--font-mono);font-size:var(--text-lg);letter-spacing:-.02em;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.ov-active-target-ring-num.is-over{color:var(--good)}.ov-active-target-ring-of{font-size:var(--text-2xs);color:var(--ink-3)}.ov-active-target-status{font-size:var(--role-card-headline-size);font-weight:var(--role-card-headline-weight);color:var(--role-card-headline-color)}.ov-active-target-status .is-behind{color:var(--warn)}.ov-active-target-status .is-ahead,.ov-active-target-status .is-on,.ov-active-target-status .is-closed{color:var(--good)}.ov-active-target-detail{font-size:var(--role-secondary-size);color:var(--role-secondary-color);line-height:var(--leading-body);min-height:calc(var(--role-secondary-size) * var(--leading-body))}.ov-active-target-mono{font-family:var(--font-mono)}.ov-active-target-num{font-family:var(--font-mono);font-weight:600;color:var(--ink-2)}.ov-active-target-week{display:flex;gap:4px;margin-top:var(--vr-block)}.ov-active-target-week-cell{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:44px;border:none;background:transparent;padding:0;cursor:pointer}.ov-active-target-week-cell:disabled{cursor:default}.ov-active-target-week-bar{height:5px;border-radius:var(--radius-pill);background:var(--rule-strong);position:relative;overflow:hidden;transition:height var(--dur-move) var(--ease-move),margin-top var(--dur-move) var(--ease-move),box-shadow var(--dur-move) var(--ease-move)}.ov-active-target-week-bar.is-selected{height:7px;margin-top:-2px;box-shadow:0 0 6px color-mix(in srgb,var(--week-glow, var(--good)) 70%,transparent)}.ov-active-target-week-fill{position:absolute;inset:0 auto 0 0;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--good) 45%,transparent)}.ov-active-target-week-day{text-align:center;font-size:var(--text-3xs);font-weight:600;color:var(--ink-4)}.ov-active-target-week-day.is-today{color:var(--ink);font-weight:700}.ov-active-target-week-day.is-future{opacity:.65}.ov-active-target-week-day.is-selected{color:var(--ink);font-weight:700}.ov-active-target-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--vr-block)}.ov-active-target-banked{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-2xs);font-weight:600;color:var(--ink-3)}.ov-active-target-banked.is-good{color:var(--good)}.ov-active-target-banked.is-warn{color:var(--warn)}.ov-active-target-banked-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.ov-no-entry{font-size:var(--text-sm);color:var(--ink-4);text-align:center;padding:var(--space-2) 0}.ov-weight{display:flex;flex-direction:column;gap:var(--vr-loose);width:100%;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.ov-weight-head{display:flex;align-items:center;justify-content:space-between}.ov-weight-head-right{display:inline-flex;align-items:center;gap:6px}.ov-weight-hero{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.ov-weight-stat{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}.ov-weight-legend{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.ov-weight-legend-swatch{width:var(--space-4);border-top:1.5px dashed color-mix(in srgb,var(--ink-4) 70%,transparent)}.ov-weight-legend-text{font-size:var(--text-2xs);font-weight:500;color:var(--ink-4)}.ov-weight-legend-text b{font-family:var(--font-mono);font-weight:600;color:var(--ink-3)}.ov-weight-window{font-size:var(--text-2xs);font-weight:500;color:var(--ink-4);white-space:nowrap}.ov-weight-footer{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.ov-weight-now{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}.ov-weight-now b{color:var(--ink-2);font-weight:600}.ov-weight-label{font-size:var(--role-eyebrow-size);font-weight:var(--role-eyebrow-weight);letter-spacing:var(--role-eyebrow-spacing);text-transform:uppercase;color:var(--role-eyebrow-color)}.ov-weight-chevron{font-size:var(--text-xl);color:var(--ink-4);line-height:1}.ov-weight-direction{font-size:var(--text-sm);font-weight:600;color:var(--ink-3)}.ov-weight-accel-chip{display:inline-flex;align-items:center;gap:4px;padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:600;line-height:1}.ov-weight-accel-chip.is-good{color:var(--good);background:color-mix(in srgb,var(--good) 14%,transparent)}.ov-weight-accel-chip.is-warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}.ov-weight-accel-chip.is-bad{color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,transparent)}.ov-weight-spark-wrap{position:relative}.ov-weight-spark{display:block;width:100%;height:96px;margin-top:var(--vr-block)}.ov-weight-spark--draw{clip-path:inset(0 100% 0 0);animation:ov-spark-wipe var(--dur-enter) var(--ease-enter) forwards;animation-delay:var(--enter-wait)}@keyframes ov-spark-wipe{to{clip-path:inset(0 0 0 0)}}.ov-weight-spark-latest-dot{position:absolute;width:11px;height:11px;transform:translate(-50%,-50%);border-radius:50%;background:var(--dot-core, var(--ink));border:2px solid var(--bg-card);box-shadow:0 0 0 1px var(--dot-core, var(--ink)),0 0 8px color-mix(in srgb,var(--dot-core, var(--ink)) 55%,transparent);pointer-events:none}.ov-system-collapse{display:grid;grid-template-rows:1fr;margin-top:var(--vr-loose);transition:grid-template-rows var(--dur-exit) var(--ease-move),opacity var(--dur-exit) var(--ease-move),margin-top var(--dur-exit) var(--ease-move)}.ov-system-collapse>.ov-system-banner{min-height:0}.ov-system-collapse.is-closing{grid-template-rows:0fr;opacity:0;margin-top:calc(-1 * var(--vr-block))}.page-card.ov-system-banner{display:flex;align-items:stretch;width:100%;padding:0;-webkit-tap-highlight-color:transparent;overflow:hidden}.ov-system-main{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-3);text-align:left;background:none;border:none;padding:var(--space-5);cursor:pointer;-webkit-tap-highlight-color:transparent}.ov-system-main:focus,.ov-system-main:focus-visible{outline:none}.ov-system-banner:focus-within{box-shadow:var(--shadow-sm),inset 0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent)}.ov-system-dismiss{flex:none;align-self:stretch;padding:0 var(--space-4);font-size:var(--text-sm);color:var(--ink-4);background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--dur-press) var(--ease-press),color var(--dur-press)}.ov-system-dismiss:active{transform:scale(var(--tap-scale));color:var(--ink-3);transition-duration:var(--dur-press)}.ov-system-dot{flex:none;width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,transparent);align-self:center;display:flex;align-items:center;justify-content:center}.ov-system-dot:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 55%,transparent)}.ov-system-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--vr-tight)}.ov-system-title{font-size:var(--role-card-headline-size);font-weight:var(--role-card-headline-weight);color:var(--role-card-headline-color)}.ov-system-sub{font-size:var(--role-secondary-size);font-weight:var(--role-secondary-weight);line-height:var(--leading-body);color:var(--role-secondary-color)}.ov-system-chevron{flex:none;align-self:center;font-size:var(--text-xl);color:var(--ink-4);line-height:1}.metric-val.tone-accent{color:var(--accent)}.goal{padding:var(--space-5);text-align:left}.goal-label{font-size:var(--role-eyebrow-size);font-weight:var(--role-eyebrow-weight);letter-spacing:var(--role-eyebrow-spacing);text-transform:uppercase;color:var(--role-eyebrow-color)}.goal-head{display:flex;align-items:center;justify-content:space-between}.goal-head-right{display:inline-flex;align-items:center;gap:6px}.goal-chevron{font-size:var(--text-xl);color:var(--ink-4);line-height:1;transform:translateY(-1px)}.goal-day{color:var(--ink-3)}.goal-day b{color:var(--ink-2);font-weight:inherit}.goal-pct{font-family:var(--font-mono);font-weight:700;font-size:var(--metric-xl);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1;min-height:1em}.goal-hero{display:flex;align-items:flex-end;justify-content:space-between;margin-top:var(--vr-loose)}.goal-hero-left{display:flex;flex-direction:column;align-items:flex-start}.goal-hero-right{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.goal-complete{font-size:var(--text-3xs);font-weight:var(--role-eyebrow-weight);letter-spacing:var(--role-nanocaption-spacing);text-transform:uppercase;color:var(--ink-3);margin-top:var(--vr-snug)}.goal-track{position:relative;display:flex;flex-direction:column;margin-top:var(--vr-block)}.goal-today{position:absolute;top:0;left:30px;transform:translate(-50%);font-size:var(--text-3xs);font-weight:var(--role-eyebrow-weight);letter-spacing:var(--role-eyebrow-spacing);text-transform:uppercase;color:var(--ink-2);opacity:.85;line-height:1;white-space:nowrap}.goal-path{position:relative;margin-top:var(--vr-section)}.goal-bar{height:6px;border-radius:var(--radius-pill);background:repeating-linear-gradient(to right,color-mix(in srgb,var(--rule-strong) 55%,transparent) 0 6px,transparent 6px 12px);overflow:hidden}.goal-bar-fill{height:100%;border-radius:var(--radius-pill);transition:width var(--dur-enter) var(--ease-enter)}.goal-dot{position:absolute;top:50%;left:0;width:15px;height:15px;border-radius:50%;transform:translate(-50%,-50%);background:var(--progress-1);border:2px solid var(--bg-card);box-shadow:0 0 0 1.5px color-mix(in srgb,var(--ink) 55%,transparent),0 0 12px color-mix(in srgb,var(--dot-core, var(--progress-1)) 60%,transparent)}.goal-sub.goal-lost{white-space:normal;overflow:visible;text-align:right}.goal-lost b{color:var(--ink-2);font-weight:600}.goal-lost-stale{opacity:.75}.goal-signposts{display:flex;justify-content:space-between;margin-top:var(--vr-loose)}.goal-signpost{font-size:var(--text-3xs);font-weight:var(--role-eyebrow-weight);letter-spacing:var(--role-eyebrow-spacing);text-transform:uppercase;color:var(--ink-4)}.goal-signpost b{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;color:var(--ink-3)}.goal-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--vr-block)}.goal-sub{font-size:var(--text-2xs);color:var(--ink-3);margin-top:var(--vr-hairline);min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.goal.is-complete .goal-label,.goal.is-complete .goal-pct{color:var(--progress-complete);text-shadow:var(--gold-glow)}.goal.is-complete .goal-bar-fill,.goal.is-complete .goal-dot{background:var(--progress-complete)!important;box-shadow:var(--gold-glow)}.goal.is-complete .goal-today{color:var(--progress-complete)}.goal.is-celebrating .goal-pct{animation:goal-pct-pop var(--dur-pop) var(--ease-pop)}.goal.is-celebrating .goal-bar{position:relative;overflow:hidden;animation:goal-bar-glow var(--dur-celebrate) var(--ease-move)}.goal.is-celebrating .goal-bar-fill{position:relative}.goal.is-celebrating .goal-bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,var(--goal-sheen-alpha, .55)) 50%,transparent 80%);animation:goal-sheen var(--dur-sheen) var(--ease-move)}:root[data-theme=dark] .goal.is-celebrating .goal-bar-fill:after{--goal-sheen-alpha: .85}@keyframes goal-pct-pop{0%{transform:scale(1)}30%{transform:scale(1.14)}60%{transform:scale(.98)}to{transform:scale(1)}}@keyframes goal-bar-glow{0%{box-shadow:0 0 0 0 transparent}35%{box-shadow:0 0 16px 2px color-mix(in srgb,var(--progress-complete) 28%,transparent)}to{box-shadow:0 0 0 0 transparent}}@keyframes goal-sheen{0%{transform:translate(-120%)}to{transform:translate(120%)}}@media(prefers-reduced-motion:reduce){.goal.is-celebrating *{animation:none!important}}.goal-navblock{display:block;width:100%;border:none;background:transparent;padding:0;margin:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.goal-plan{margin-top:var(--vr-section);border-top:1px solid var(--rule);padding-top:var(--space-3)}.goal-plan-head{position:relative;display:flex;align-items:center;gap:var(--space-2);width:100%;border:none;background:transparent;padding:6px 0;margin:0;cursor:pointer;font:inherit;color:inherit;text-align:left;transition:opacity var(--dur-press) var(--ease-press)}.goal-plan-head:active{opacity:.7}.goal-plan-head:before{content:"";position:absolute;top:-8px;right:0;bottom:-8px;left:0}.goal-plan-heading{display:flex;align-items:baseline;gap:var(--space-2);min-width:0}.goal-plan-title{font-size:var(--text-sm);font-weight:600;color:var(--ink-3)}.goal-plan-subtitle{font-size:var(--text-2xs);color:var(--ink-4)}.goal-plan-flag{margin-left:auto;font-size:var(--text-2xs);color:var(--warn)}.goal-plan-chevron{margin-left:auto;display:inline-flex;color:var(--ink-4);transition:transform var(--dur-press) var(--ease-press)}.goal-plan-flag+.goal-plan-chevron{margin-left:0}.goal-plan-chevron.open{transform:rotate(180deg)}.goal-plan-reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-exit) var(--ease-move)}.goal-plan-reveal.open{grid-template-rows:1fr;transition:grid-template-rows var(--dur-enter) var(--ease-enter)}.goal-plan-body{overflow:hidden;min-height:0;display:flex;flex-direction:column;gap:var(--vr-block)}.goal-plan-stages{list-style:none;display:flex;flex-direction:column;gap:var(--vr-loose);padding:var(--space-3) 0 0;margin:0;font-size:var(--text-2xs);color:var(--ink-3)}.goal-plan-step{display:flex;align-items:center;gap:var(--space-2)}.goal-plan-step.is-current{color:var(--ink-1);font-weight:600}.goal-plan-step.is-done{color:var(--ink-4)}.goal-plan-step-sub{font-size:var(--text-2xs);color:var(--ink-4);font-weight:400}.goal-plan-step-dot{flex:none;width:8px;height:8px;border-radius:50%;background:transparent;box-shadow:inset 0 0 0 1.5px var(--rule-strong)}.goal-plan-step.is-current .goal-plan-step-dot{background:var(--accent);box-shadow:none}.goal-plan-step.is-done .goal-plan-step-dot{background:var(--ink-4);box-shadow:none}.goal-plan-note{margin:0;font-size:var(--text-2xs);color:var(--ink-3)}.goal-plan-note.is-go{color:var(--good)}.goal-plan-note.is-consider{color:var(--warn)}.goal-plan-triggers{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0}.goal-plan-chip{display:flex;align-items:center;gap:6px;background:var(--bg-soft);border-radius:var(--radius-pill);padding:var(--space-1) 10px;font-size:var(--text-2xs);color:var(--ink-2)}.goal-plan-dot{flex:none;width:8px;height:8px;border-radius:50%}.goal-plan-chip[data-state=firing] .goal-plan-dot{background:var(--warn)}.goal-plan-chip[data-state=ok] .goal-plan-dot{background:var(--good)}.goal-plan-chip[data-state=unknown] .goal-plan-dot{background:transparent;box-shadow:inset 0 0 0 1.5px var(--rule-strong)}.goal-plan-reports{margin-top:var(--vr-block);display:flex;flex-direction:column;gap:var(--vr-snug)}.goal-plan-reports-caption{font-size:var(--role-field-label-size);font-weight:var(--role-field-label-weight);color:var(--role-field-label-color);letter-spacing:var(--role-field-label-spacing);text-transform:uppercase}.goal-plan-report{display:flex;align-items:baseline;gap:var(--space-2);width:100%;background:var(--bg-soft);border-radius:var(--radius-sm);padding:10px var(--space-3);font-size:var(--text-sm);text-align:left}.goal-plan-report:active{opacity:.7}.goal-plan-report-kind{font-weight:600;color:var(--ink)}.goal-plan-report-span{flex:1;color:var(--ink-3)}.goal-plan-report-delta{font-variant-numeric:tabular-nums;color:var(--ink-2)}.phase-report-body{display:flex;flex-direction:column;gap:var(--vr-block)}.phase-report-window{font-size:var(--text-sm);color:var(--ink-4)}.phase-report-hero{display:flex;flex-direction:column;gap:var(--vr-hairline)}.phase-report-hero-delta{font-family:var(--font-mono);font-size:var(--text-3xl);font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.phase-report-hero-u{font-size:var(--text-base);font-weight:600;color:var(--ink-4)}.phase-report-hero-sub{font-size:var(--text-sm);color:var(--ink-3)}.phase-report-rows{display:flex;flex-direction:column}.phase-report-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:10px 0;border-bottom:1px solid var(--rule)}.phase-report-row:last-child{border-bottom:0}.phase-report-row--bar{flex-wrap:wrap;row-gap:6px}.phase-report-bar{flex:0 0 100%;height:4px;border-radius:var(--radius-pill);background:var(--rule-strong);overflow:hidden}.phase-report-bar>span{display:block;height:100%;border-radius:inherit;background:var(--ink-3)}.phase-report-k{font-size:var(--text-sm);color:var(--ink-3)}.phase-report-v{font-size:var(--text-sm);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.goal-init{display:flex;flex-direction:column}.goal-init-lede{margin:var(--vr-block) 0 0;font-size:var(--text-sm);color:var(--ink-3);line-height:var(--leading-body)}.goal-init-field{display:flex;flex-direction:column;gap:var(--vr-tight);margin-top:var(--vr-section);font-size:var(--role-field-label-size);font-weight:var(--role-field-label-weight);color:var(--role-field-label-color);text-transform:uppercase;letter-spacing:var(--role-field-label-spacing)}.goal-init-field input{font-family:var(--font-ui);font-size:var(--text-lg);font-weight:700;text-transform:none;letter-spacing:normal;padding:var(--space-3);border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--ink)}.goal-init-preview{margin:var(--vr-loose) 0 0;font-size:var(--text-2xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.goal-init-save{margin-top:var(--vr-section);padding:var(--space-4);border:none;border-radius:var(--radius-sm);background:var(--accent-strong);color:var(--on-color);font-size:var(--text-base);font-weight:700;transition:transform var(--dur-press) var(--ease-press),opacity var(--dur-press)}.goal-init-save:not(:disabled):active{transform:scale(var(--tap-scale))}.goal-init-save:disabled{opacity:.55}.loading-card .metric-val,.loading-card .metric-caption,.loading-card .ov-th-ret-count,.loading-card .ov-active-target-status,.loading-card .ov-active-target-detail,.loading-card .ov-active-target-banked,.loading-card .ov-active-target-goal,.loading-card .goal-pct,.loading-card .goal-day,.loading-card .goal-today,.loading-card .goal-signpost,.loading-card .goal-lost,.loading-card .ov-weight-now{color:transparent!important;-webkit-text-fill-color:transparent!important;background:linear-gradient(90deg,color-mix(in srgb,var(--ink-4) 10%,transparent),color-mix(in srgb,var(--ink-4) 19%,transparent),color-mix(in srgb,var(--ink-4) 10%,transparent))!important;background-size:300% 100%!important;border-radius:.3em!important;animation:skel-fade var(--dur-shimmer) ease-in-out infinite!important}.loading-card .ov-th-bar-seg{background:color-mix(in srgb,var(--ink-4) 12%,transparent)}.loading-card .ov-weight-spark{border-radius:var(--radius-sm);background:linear-gradient(90deg,color-mix(in srgb,var(--ink-4) 10%,transparent),color-mix(in srgb,var(--ink-4) 19%,transparent),color-mix(in srgb,var(--ink-4) 10%,transparent));background-size:300% 100%;animation:skel-fade var(--dur-shimmer) ease-in-out infinite}.loading-card .ov-weight-spark>*{visibility:hidden}.loading-card .metric-val .metric-unit{color:transparent!important;-webkit-text-fill-color:transparent!important;background:transparent!important}@media(min-width:1180px){.tab-panel[data-tab=overview]{padding-left:var(--space-8);padding-right:var(--space-8);padding-bottom:var(--space-5)}[data-tab=overview] .page{max-width:1100px;margin-inline:auto;gap:var(--space-4)}[data-tab=overview] .shell-header{max-width:none;margin:0;padding:calc(var(--safe-top) + var(--space-4)) 0 var(--space-2)}.ov-desktop-cols{display:flex;align-items:flex-start;gap:var(--space-4)}.ov-desktop-col{min-width:0;display:flex;flex-direction:column;gap:var(--space-4)}.ov-desktop-col--main{flex:1}.ov-desktop-col--side{width:380px;flex:none}:root[data-theme=dark] .tab-panel[data-tab=overview]{background:#141414}:root[data-theme=dark] [data-tab=overview] .page-card{background:#1e1e21;backdrop-filter:none;-webkit-backdrop-filter:none}}@media(min-width:1180px){.ov-weight-chart{display:grid;grid-template-columns:38px 1fr;grid-template-rows:192px auto;column-gap:var(--space-2);margin:var(--space-1) 0 0}.ov-weight-chart--empty{grid-template-columns:1fr;grid-template-rows:192px}.ov-weight-chart-yaxis{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:var(--space-2) 0}.ov-weight-chart-ytick{font-size:var(--text-3xs);color:var(--ink-4);line-height:1;font-variant-numeric:tabular-nums}.ov-weight-chart-plot{grid-column:2;grid-row:1;position:relative}.ov-weight-chart--empty .ov-weight-chart-plot{grid-column:1}.ov-weight-chart-svg{width:100%;height:100%;display:block}.ov-weight-chart-dot{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--dot-core);border:2px solid var(--bg-card);transform:translate(-50%,-50%);pointer-events:none}.ov-weight-chart-tip{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:1px;padding:var(--space-1) var(--space-2);background:var(--bg-soft);border-radius:var(--radius-sm);pointer-events:none;white-space:nowrap}.ov-weight-chart-tip-val{font-size:var(--text-sm);color:var(--ink);font-variant-numeric:tabular-nums}.ov-weight-chart-tip-delta,.ov-weight-chart-tip-wk{font-size:var(--text-3xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.ov-weight-chart-xaxis{grid-column:2;grid-row:2;display:flex;justify-content:space-between;margin-top:var(--space-1)}.ov-weight-chart-xtick{font-size:var(--text-3xs);color:var(--ink-4);font-variant-numeric:tabular-nums}.ov-weight-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-3);margin-top:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--rule)}.ov-weight-stat-tile{display:flex;flex-direction:column;gap:2px}.ov-weight-stat-cap{font-size:var(--text-3xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.ov-weight-stat-val{font-size:var(--text-lg);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.ov-weight-stat-val i{font-style:normal;font-size:var(--text-2xs);font-weight:500;color:var(--ink-3);margin-left:2px}}@media(min-width:1180px){.ov-active-target-ring-num{font-size:var(--text-2xl)}.ov-active-target-ring-of{font-size:var(--text-sm)}.ov-at-weeknav{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-3)}.ov-at-weeknav-label{font-size:var(--text-sm);font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums}.ov-at-weeknav-btn{display:grid;place-items:center;width:28px;height:28px;border:none;background:none;border-radius:var(--radius-sm);color:var(--ink-3);font-size:var(--text-xl);line-height:1;cursor:pointer;transition:background var(--dur-press) var(--ease-press),color var(--dur-press)}.ov-at-weeknav-btn:hover:not(:disabled){background:var(--bg-soft);color:var(--ink)}.ov-at-weeknav-btn:disabled{color:var(--ink-4);opacity:.4;cursor:default}.ov-at-weeklist{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-1)}.ov-at-weekrow{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-1) var(--space-2);border:none;background:none;border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:background var(--dur-press) var(--ease-press)}.ov-at-weekrow:hover:not(:disabled),.ov-at-weekrow.is-selected{background:var(--bg-soft)}.ov-at-weekrow:disabled{cursor:default}.ov-at-weekrow-day{font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.ov-at-weekrow-day.is-future{color:var(--ink-4)}.ov-at-weekrow-track{position:relative;height:8px;border-radius:var(--radius-pill);background:var(--rule-strong);overflow:hidden}.ov-at-weekrow-fill{position:absolute;inset:0 auto 0 0;height:100%;border-radius:var(--radius-pill)}.ov-at-weekrow-kcal{font-size:var(--text-sm);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;min-width:42px;text-align:right}.ov-at-weekrow-kcal.is-future{color:var(--ink-4)}}@media(min-width:1180px){.goal-pct{font-size:var(--text-display)}.goal-bar{height:8px}.goal-dot{width:17px;height:17px}.goal-plan-reveal{grid-template-rows:1fr}.goal-plan-head{pointer-events:none;padding:0}.goal-plan-chevron,.goal-plan-flag{display:none}.goal-plan{margin-top:var(--vr-block)}.goal-plan-stages{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:var(--space-2);padding-top:var(--space-3)}.goal-plan-step{flex:1;flex-direction:column;align-items:center;text-align:center;gap:var(--space-1);position:relative;min-width:0}.goal-plan-step:not(:last-child):before{content:"";position:absolute;top:4px;left:calc(50% + var(--space-2));width:calc(100% - var(--space-2));height:2px;background:var(--rule-strong)}.goal-plan-step-dot{position:relative;z-index:1}.goal-plan-step-sub{display:block}.goal-plan-chip-detail{margin-left:var(--space-1);font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}}.seg{position:relative;display:flex;gap:2px;padding:4px;background:var(--bg-soft);border-radius:var(--radius-pill);margin-bottom:var(--space-3)}.seg-thumb{position:absolute;top:50%;left:4px;height:calc(100% - 8px);width:calc((100% - 8px - (var(--seg-n, 3) - 1) * 2px) / var(--seg-n, 3));background:var(--bg-card);border-radius:var(--radius-pill);pointer-events:none;transform:translateY(-50%) translate(calc(var(--seg-idx, 0) * (100% + 2px)));transition:transform var(--dur-move) var(--ease-move);z-index:0}.seg-item{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;border:none;background:none;padding:10px var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:600;color:var(--ink-3);transition:color var(--dur-press)}.seg-item.is-active{color:var(--ink)}.seg-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.seg-item:active{transform:scale(var(--tap-scale));transition-duration:var(--dur-press)}.seg-check{margin-right:var(--space-1);font-size:var(--text-2xs);font-weight:700;color:var(--good);line-height:1}.seg-count{margin-left:var(--space-1);font-size:var(--text-2xs);font-weight:600;color:inherit;opacity:.7;line-height:1}.sidebar{display:none;flex:none;width:240px;height:100%;flex-direction:column;padding:var(--space-6) var(--space-4) var(--space-6);border-right:1px solid var(--rule)}.sidebar-brand{font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em;color:var(--ink);padding:0 var(--space-3) var(--space-6)}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:10px var(--space-3);border:none;background:none;border-radius:var(--radius-sm);color:var(--ink-3);font-size:var(--text-sm);font-weight:500;transition:background var(--dur-press) var(--ease-press),color var(--dur-press) var(--ease-press)}.sidebar-nav-item:hover{color:var(--ink);background:var(--bg-soft)}.sidebar-nav-item.is-active{background:var(--glass-lens-bg);color:var(--tabbar-active)}.sidebar-nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sidebar-nav-icon svg{width:22px;height:22px;display:block}.sidebar-nav-label{flex:1;text-align:left;color:inherit}.sidebar-nav-kbd{font-size:var(--text-3xs);font-weight:600;color:var(--ink-3);background:var(--bg-soft);border-radius:var(--radius-sm);padding:2px 6px;font-family:inherit}.sidebar-nav-item.is-active .sidebar-nav-kbd{color:var(--ink-3)}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;padding-top:var(--space-4)}.notif-body{gap:var(--space-3)}.notif-pop{position:fixed;z-index:var(--z-dropdown);width:340px;max-width:calc(100vw - var(--space-8));display:flex;flex-direction:column;overflow:hidden;background:var(--bg-card);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:1px solid var(--rule);border-radius:var(--radius-card);box-shadow:var(--shadow-md);transform-origin:top right;animation:notif-pop-in var(--dur-press) var(--ease-press) both}.notif-pop.is-closing{animation:notif-pop-out var(--dur-exit) var(--ease-move) both}@keyframes notif-pop-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes notif-pop-out{to{opacity:0;transform:scale(.97) translateY(-4px)}}.notif-pop-header{flex:none;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--rule)}.notif-pop-title{font-size:var(--role-eyebrow-size);font-weight:var(--role-eyebrow-weight);letter-spacing:var(--role-eyebrow-spacing);text-transform:uppercase;color:var(--role-eyebrow-color)}.notif-pop-body{overflow-y:auto;overscroll-behavior:contain;padding:var(--space-3)}.notif-empty{margin:0;font-size:var(--role-secondary-size);font-weight:var(--role-secondary-weight);line-height:var(--leading-body);color:var(--role-secondary-color)}.notif-list{display:flex;flex-direction:column;gap:var(--space-2)}.notif-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:var(--bg-soft);border-radius:var(--radius-sm)}.notif-dot{flex:none;width:8px;height:8px;margin-top:4px;border-radius:50%;background:transparent;box-shadow:inset 0 0 0 1.5px var(--rule-strong)}.notif-row.is-new .notif-dot{background:var(--accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 55%,transparent)}.notif-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--vr-tight)}.notif-meta{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.notif-source{font-size:var(--role-eyebrow-size);font-weight:var(--role-eyebrow-weight);letter-spacing:var(--role-eyebrow-spacing);text-transform:uppercase;color:var(--role-eyebrow-color)}.notif-time{flex:none;font-size:var(--text-2xs);color:var(--ink-3)}.notif-title{font-size:var(--role-card-headline-size);font-weight:var(--role-card-headline-weight);color:var(--role-card-headline-color)}.notif-sub{font-size:var(--role-secondary-size);font-weight:var(--role-secondary-weight);line-height:var(--leading-body);color:var(--role-secondary-color)}.shell{position:relative;height:var(--app-height);display:flex;flex-direction:column;overflow:hidden}@media(min-width:460px)and (max-width:1179.98px){.dev-phone-frame body{background:#17181c}.dev-phone-frame .shell{width:402px;margin:0 auto;min-height:100dvh;background:var(--bg);box-shadow:0 0 0 1px var(--rule),0 12px 48px #0000002e;overflow:hidden}.dev-phone-frame .settings-sheet,.dev-phone-frame .settings-backdrop{left:50%;right:auto;width:402px;margin-left:-201px}.dev-phone-frame .tabbar{width:calc(402px - var(--space-5) * 2)}}.shell-header{width:100%;max-width:var(--content-max);margin:0 auto;padding:calc(var(--safe-top) + var(--space-5)) 0 var(--space-3)}.top-tap-zone{position:absolute;top:0;left:0;right:0;height:calc(var(--safe-top) + var(--space-5));z-index:1}.shell-content{flex:1;min-height:0;width:100%;display:flex;flex-direction:column}.tab-viewport{flex:1;min-height:0;position:relative;overflow:hidden}.tab-panel{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 max(var(--space-4),(100% - var(--content-max)) / 2) var(--dock-bottom-clearance);scrollbar-width:none}.tab-panel::-webkit-scrollbar{display:none}.shell-content.is-sliding{touch-action:pan-y}.shell-content.is-sliding .tab-panel{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform}@media(min-width:1180px){.shell{flex-direction:row}.sidebar{display:flex}.shell .tabbar,.shell .top-tap-zone{display:none}.tab-panel{padding-bottom:var(--space-8)}}.pull-refresh{flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:height var(--dur-exit) var(--ease-snap)}.pull-refresh-spinner{width:var(--space-5);height:var(--space-5);border-radius:50%;border:2px solid var(--rule);border-top-color:var(--ink-4);opacity:.6;transition:opacity var(--dur-press),border-top-color var(--dur-press)}.pull-refresh.is-armed .pull-refresh-spinner{opacity:1;border-top-color:var(--accent)}.pull-refresh.is-refreshing .pull-refresh-spinner{opacity:1;border-top-color:var(--accent);animation:pull-refresh-spin .7s linear infinite}@media(prefers-reduced-motion:reduce){.pull-refresh.is-refreshing .pull-refresh-spinner{animation:none}}@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}html.kb-open .tabbar{display:none}.tabbar{position:fixed;z-index:var(--z-nav);left:50%;bottom:calc(var(--safe-bottom) + var(--space-1));transform:translate(-50%);width:min(100vw - var(--space-5) * 2,var(--content-max));display:flex;padding:var(--space-1);border-radius:var(--radius-pill);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px 0 var(--glass-highlight),inset 0 0 0 .5px var(--glass-edge),inset 0 -1px 2px var(--glass-shadow),0 8px 28px -8px var(--glass-shadow),0 0 0 .5px var(--glass-edge)}.tabbar-thumb{position:absolute;top:5px;bottom:5px;left:var(--space-1);width:calc((100% - var(--space-1) * 2) / 4);transform:translate(calc(var(--tab-idx, 0) * 100%));transition:transform var(--dur-move) var(--ease-pop);pointer-events:none;z-index:0}.tabbar-thumb-fill{display:block;width:calc(100% - 2px);height:100%;margin:0 auto;border-radius:var(--radius-pill);background:var(--glass-lens-bg)}.tabbar-thumb.is-morphing .tabbar-thumb-fill{animation:tab-lozenge-squash var(--dur-move) var(--ease-pop)}@keyframes tab-lozenge-squash{0%{transform:scaleX(1) scaleY(1)}40%{transform:scaleX(1.14) scaleY(.86)}to{transform:scaleX(1) scaleY(1)}}.tabbar-item{position:relative;z-index:1;flex:1;border:none;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 0;color:var(--ink-3);transition:color var(--dur-press) var(--ease-press),opacity var(--dur-press) var(--ease-press)}.tabbar-item:active{opacity:.5}.tabbar-item.is-active{color:var(--tabbar-active)}.tabbar-icon svg{width:24px;height:24px;display:block}.tabbar-label{font-size:var(--text-2xs);font-weight:500;color:inherit}.page{display:flex;flex-direction:column;gap:var(--vr-block)}.page>*{animation:rise-in var(--dur-enter) var(--ease-enter) backwards;animation-delay:var(--enter-wait);transition:opacity var(--dur-move) var(--ease-move),transform var(--dur-move) var(--ease-move),filter var(--dur-move) var(--ease-move)}.page>*:nth-last-child(1){--enter-tier: 0}.page>*:nth-last-child(2){--enter-tier: 1}.page>*:nth-last-child(3){--enter-tier: 2}.page>*:nth-last-child(4){--enter-tier: 3}.page>*:nth-last-child(5){--enter-tier: 4}.page>*:nth-last-child(6){--enter-tier: 5}.page>*:nth-last-child(7){--enter-tier: 6}.page>*:nth-last-child(n+8){--enter-tier: 7}.page-card{background:var(--bg-card);border:1px solid var(--rule);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);padding:var(--space-5)}@keyframes ov-arrive-lift{0%{transform:translateY(0) scale(1);box-shadow:var(--shadow-sm)}22%{transform:translateY(-6px) scale(1.024);box-shadow:var(--shadow-sm),0 18px 44px #0f111642}62%{transform:translateY(-6px) scale(1.024);box-shadow:var(--shadow-sm),0 18px 44px #0f111642}to{transform:translateY(0) scale(1);box-shadow:var(--shadow-sm)}}.page-card[data-arrived]{position:relative;z-index:var(--z-raised);animation:rise-in var(--dur-enter) var(--ease-enter) both,ov-arrive-lift 1.8s var(--ease-enter) both;animation-delay:var(--enter-wait),0ms;will-change:transform}.page.is-arriving>*:not([data-arrived]):not(:has([data-arrived])){opacity:.3!important;transform:scale(.985)!important;filter:grayscale(1) blur(2px)}.page-eyebrow{font-size:var(--role-eyebrow-size);font-weight:var(--role-eyebrow-weight);letter-spacing:var(--role-eyebrow-spacing);text-transform:uppercase;color:var(--role-eyebrow-color);margin:0 0 var(--vr-tight)}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--vr-block)}.section-head h2{font-size:var(--role-section-title-size);font-weight:var(--role-section-title-weight);color:var(--role-section-title-color);text-transform:uppercase;letter-spacing:var(--role-section-title-spacing);margin:0}.section-head button{position:relative;padding:4px 10px;border:1px solid var(--rule);border-radius:var(--radius-pill);background:transparent;color:var(--ink-3);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background var(--dur-press),color var(--dur-press)}.section-head button:before{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px}.section-head button:hover{background:var(--bg-soft);color:var(--ink)}.section-head button:active{transform:scale(var(--tap-scale));transition-duration:var(--dur-press)}.page-note{font-size:var(--text-sm);color:var(--ink-3);margin:0;line-height:var(--leading-body)}.settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-scrim);background:var(--scrim-bg);backdrop-filter:var(--scrim-blur);-webkit-backdrop-filter:var(--scrim-blur);animation:fade-in var(--dur-enter) var(--ease-enter) both;touch-action:none}.settings-backdrop.is-closing{animation:fade-out var(--dur-exit) var(--ease-move) both}.settings-sheet{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-modal);max-height:88dvh;display:flex;flex-direction:column;border-radius:var(--radius) var(--radius) 0 0;border-top:1px solid var(--rule-strong);box-shadow:0 -8px 40px #0003;animation:sheet-in var(--dur-move) var(--ease-move) both;will-change:transform}.settings-sheet:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(30px) saturate(1.6);-webkit-backdrop-filter:blur(30px) saturate(1.6)}@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.settings-sheet:before{background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:none;-webkit-backdrop-filter:none}}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.settings-sheet.is-closing{animation:sheet-out var(--dur-exit) var(--ease-move) both}@keyframes sheet-out{to{transform:translateY(100%)}}.settings-sheet.is-dragging{animation:none!important}.settings-sheet-grabber{padding:var(--space-3) 0 var(--space-1);flex-shrink:0;touch-action:none}.settings-sheet-grabber:before{content:"";display:block;width:36px;height:4px;margin:0 auto;border-radius:var(--radius-pill);background:var(--rule-strong)}.settings-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-5) 0;flex-shrink:0;touch-action:none}.settings-sheet-title{font-size:var(--role-card-title-size);font-weight:var(--role-card-title-weight);letter-spacing:-.01em;color:var(--role-card-title-color)}.settings-sheet-header-actions{display:flex;align-items:center;gap:var(--space-2)}.settings-appearance-seg{display:flex;align-items:center;gap:6px}.settings-appearance-btn{position:relative;width:26px;height:26px;border:none;border-radius:50%;background:none;color:var(--ink);opacity:.32;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity var(--dur-enter) var(--ease-enter),color var(--dur-enter) var(--ease-enter);-webkit-tap-highlight-color:transparent}.settings-appearance-btn:before{content:"";position:absolute;top:-9px;right:-3px;bottom:-9px;left:-3px}.settings-appearance-btn svg{width:16px;height:16px}.settings-appearance-btn.is-active{opacity:1;color:var(--accent)}.settings-sheet-close{position:relative;border:none;background:none;padding:6px;margin:-6px;color:var(--ink-3);cursor:pointer;border-radius:50%;display:grid;place-items:center;transition:color var(--dur-press) var(--ease-press);-webkit-tap-highlight-color:transparent}.settings-sheet-close:before{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px}.settings-sheet-close:active{color:var(--ink)}.settings-sheet-body{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:none;padding:var(--space-4) var(--space-5) calc(env(safe-area-inset-bottom,0px) + var(--space-4));display:flex;flex-direction:column;gap:var(--vr-block);min-height:0;-webkit-transform:translate3d(0,0,0);transform:translateZ(0);-webkit-mask-image:linear-gradient(to bottom,transparent,black var(--space-4));mask-image:linear-gradient(to bottom,transparent,black var(--space-4))}.settings-sheet-body.is-scrollable{touch-action:pan-y}.settings-section-label{font-size:var(--role-eyebrow-size);font-weight:var(--role-eyebrow-weight);letter-spacing:var(--role-eyebrow-spacing);text-transform:uppercase;color:var(--role-eyebrow-color);margin:0}.settings-section-label--spaced{margin-top:var(--vr-section)}.settings-group{background:var(--bg-card);border:1px solid var(--rule);border-radius:var(--radius-card);overflow:hidden;flex-shrink:0}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);min-height:52px}.settings-row+.settings-row{border-top:1px solid var(--rule)}.settings-row-label{font-size:var(--text-base);color:var(--ink-2);font-weight:500}.settings-row-val-btn{display:flex;border:none;background:none;padding:0;cursor:pointer;font-family:inherit}.settings-row-val{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-base);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.settings-row-val .u{font-family:var(--font-ui);font-size:var(--text-2xs);font-weight:600;color:var(--ink-3)}.settings-row-val .chev{color:var(--ink-4);font-size:var(--text-base)}.settings-row-val.placeholder{color:var(--ink-4);font-family:var(--font-ui);font-weight:500}.settings-sheet.is-readonly .settings-row-val-btn{pointer-events:none;cursor:default}.settings-sheet.is-readonly .settings-row-val .chev{display:none}.settings-row.is-editing{background:color-mix(in srgb,var(--accent) 8%,transparent)}.settings-sex-toggle{display:flex;gap:var(--space-1);background:var(--bg-soft);border-radius:var(--radius-pill);padding:2px}.settings-sex-opt{border:none;background:none;cursor:pointer;font-family:inherit;font-size:var(--text-sm);font-weight:600;color:var(--ink-3);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill)}.settings-sex-opt.is-on{background:var(--bg-input);color:var(--ink);box-shadow:var(--shadow-sm)}.settings-sex-opt:disabled{cursor:default}.settings-row-input{font-family:var(--font-mono);font-size:var(--text-base);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--bg-input);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:6px 10px;text-align:right;width:130px}.settings-stepper{display:flex;align-items:center;gap:2px;background:var(--bg-soft);border-radius:var(--radius-pill);padding:3px}.settings-stepper button{position:relative;width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:var(--ink-2);font-size:var(--text-lg);font-weight:600;cursor:pointer}.settings-stepper button:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.settings-stepper .num{min-width:52px;text-align:center;font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.settings-phase{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin-top:10px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 9%,transparent)}.settings-phase-l{display:flex;align-items:baseline;white-space:nowrap}.settings-phase-l .k{font-size:var(--role-eyebrow-size);font-weight:var(--role-eyebrow-weight);letter-spacing:var(--role-eyebrow-spacing);text-transform:uppercase;color:var(--role-eyebrow-color);margin-right:var(--space-2)}.settings-phase-l .v{font-size:var(--text-base);font-weight:700;color:var(--accent)}.settings-phase-def{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-3);white-space:nowrap}.settings-hint{font-size:var(--text-2xs);color:var(--ink-3);margin:var(--space-2) 0 0 var(--space-1)}.settings-sign-out{margin-top:var(--vr-loose);padding:var(--space-3);border:1px solid var(--rule);border-radius:var(--radius-sm);background:none;color:var(--bad);font-size:var(--text-base);font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--dur-press)}@media(hover:hover){.settings-sign-out:hover{background:color-mix(in srgb,var(--bad) 8%,transparent)}}.settings-sign-out:active{transform:scale(var(--tap-scale))}.splash{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);background:var(--bg)}.splash--overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-splash);touch-action:none}.splash--static{min-height:var(--app-height)}.splash.is-leaving{animation:fade-out var(--dur-exit) var(--ease-move) forwards}.splash:after{content:"";position:absolute;left:50%;top:42%;width:340px;height:340px;transform:translate(-50%,-50%);background:radial-gradient(circle,var(--accent-glow),transparent 62%);filter:blur(8px);opacity:.5}.splash-trace{z-index:1}.splash-trace-path{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:700}.splash-word{font-size:var(--text-3xl);font-weight:800;letter-spacing:-.02em;color:var(--ink);z-index:1;animation:word-in var(--dur-enter) var(--ease-enter) both;animation-delay:calc(90ms + var(--splash-sync, 0ms))}.splash-word b{color:var(--accent)}.splash-tag{font-size:var(--text-2xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);z-index:1;animation:word-in var(--dur-enter) var(--ease-enter) both;animation-delay:calc(.18s + var(--splash-sync, 0ms))}@keyframes word-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:no-preference){.splash-trace-path{animation:trace-draw var(--dur-ambient) var(--ease-move) both;animation-delay:var(--splash-sync, 0ms)}}@media(prefers-reduced-motion:reduce){.splash-trace-path{animation:none;stroke-dashoffset:0;opacity:1}}@keyframes trace-draw{0%{stroke-dashoffset:700;opacity:0}6%{opacity:1}to{stroke-dashoffset:0;opacity:1}}.settings-about{margin-top:var(--vr-section);padding-top:var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--vr-snug)}.settings-about-mark{width:26px;height:26px;object-fit:contain;opacity:.9}.settings-about-name{font-size:var(--text-sm);font-weight:700;color:var(--ink-2);letter-spacing:-.01em}.settings-about-ver{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--ink-3)}
