@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-sans-3-latin.7a19a702.woff2) format("woff2");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}@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-sans-3-latin-italic.3c230c03.woff2) format("woff2");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}@font-face{font-family:"Source Sans 3 Fallback";font-style:normal;font-weight:200 900;src:local("Arial"),local("Helvetica Neue"),local("Liberation Sans"),local("Arimo");size-adjust:90.05%;ascent-override:113.71%;descent-override:44.42%;line-gap-override:0%}:root,:root[data-theme=light]{color-scheme:light;--paper: #f7f5f0;--surface: #ffffff;--sunken: #efece4;--line: #e6e2d8;--line-strong: #8a8497;--ink: #1a1726;--ink-dim: #5d586b;--link: #5330d6;--primary: #5330d6;--primary-hover: #4526b8;--primary-press: #3a1f9e;--on-primary: #ffffff;--primary-soft: #efeaff;--train: #7c5cff;--train-ink: #5330d6;--train-soft: #efeaff;--eat: #0ca678;--eat-bright: #38d9a9;--eat-ink: #087f5b;--eat-soft: #edf8f3;--eat-line: #099268;--dot: #f76707;--dot-ink: #c2410c;--gold: #f59f00;--gold-ink: #8a5a00;--gold-soft: #fff4d6;--track: #e3def0;--focus: #1a1726;--ok: #0a7d5b;--ok-soft: #edf8f3;--warn: #9a5a00;--warn-soft: #fff4e0;--danger: #c92a2a;--danger-soft: #fdecec;--info: #1668b4;--info-soft: #e8f1fb;--brand-ink: var(--ink);--brand-v: #6741f0;--brand-g: #0ca678;--brand-dot: #f76707;--shadow-float: 0 1px 2px rgb(26 23 38 / .06), 0 12px 32px rgb(26 23 38 / .08);--shadow-modal: 0 24px 64px rgb(26 23 38 / .18);--scrim: rgb(26 23 38 / .4);--z1: #868e96;--z2: #12b886;--z3: #1c7ed6;--z4: #f59f00;--z5: #7048e8;--z6: #e03131;--z7: #ae3ec9;--z1-ink: #6b737b;--z2-ink: #0a7d5b;--z3-ink: #1668b4;--z4-ink: #966100;--z5-ink: #5f3dc4;--z6-ink: #c92a2a;--z7-ink: #a038ba;--tsb-fresh: #15aabf;--tsb-optimal: #12b886;--tsb-fatigue: #f08c00;--tsb-risk: #e03131;--tsb-fresh-ink: #0f7885;--tsb-optimal-ink: #0a7d5b;--tsb-fatigue-ink: #9a5a00;--tsb-risk-ink: #c92a2a;--phase-base: #0ca678;--phase-build: #1c7ed6;--phase-peak: #f59f00;--phase-taper: #ae3ec9;--phase-recovery: #12b886;--phase-base-ink: #0a7d5b;--phase-build-ink: #1668b4;--phase-peak-ink: #966100;--phase-taper-ink: #a038ba;--phase-recovery-ink: #0a7d5b;--sync-ok: #12b886;--sync-pending: #f08c00;--sync-error: #e03131;--sync-idle: #868e96;--sync-ok-ink: #0a7d5b;--sync-pending-ink: #9a5a00;--sync-error-ink: #c92a2a;--sync-idle-ink: #6b737b}:root[data-theme=dark]{color-scheme:dark;--paper: #121118;--surface: #1b1924;--sunken: #0d0c12;--line: #2c2939;--line-strong: #6b6580;--ink: #efedf5;--ink-dim: #aaa5b8;--link: #b3a1ff;--primary: #9d85ff;--primary-hover: #b3a1ff;--primary-press: #8a6ff5;--on-primary: #121118;--primary-soft: #231d45;--train: #9d85ff;--train-ink: #b3a1ff;--train-soft: #231d45;--eat: #38d9a9;--eat-bright: #38d9a9;--eat-ink: #38d9a9;--eat-soft: #122a2e;--eat-line: #38d9a9;--dot: #ff922b;--dot-ink: #ff922b;--gold: #ffd43b;--gold-ink: #ffd43b;--gold-soft: #2e2716;--track: #2c2842;--focus: #efedf5;--ok: #38d9a9;--ok-soft: #122a2e;--warn: #ffc034;--warn-soft: #2e2410;--danger: #ff8787;--danger-soft: #2e1618;--info: #74c0fc;--info-soft: #132433;--brand-v: #9d85ff;--brand-g: #38d9a9;--brand-dot: #ff922b;--shadow-float: 0 1px 2px rgb(0 0 0 / .3), 0 12px 32px rgb(0 0 0 / .35);--shadow-modal: 0 24px 64px rgb(0 0 0 / .5);--scrim: rgb(0 0 0 / .55);--z1: #9aa1a9;--z2: #38d9a9;--z3: #4dabf7;--z4: #ffc034;--z5: #9775fa;--z6: #ff6b6b;--z7: #da77f2;--z1-ink: #b4bac1;--z2-ink: #38d9a9;--z3-ink: #74c0fc;--z4-ink: #ffc034;--z5-ink: #b197fc;--z6-ink: #ff8787;--z7-ink: #e599f7;--tsb-fresh: #3bc9db;--tsb-optimal: #38d9a9;--tsb-fatigue: #ffa94d;--tsb-risk: #ff6b6b;--tsb-fresh-ink: #66d9e8;--tsb-optimal-ink: #38d9a9;--tsb-fatigue-ink: #ffc034;--tsb-risk-ink: #ff8787;--phase-base: #38d9a9;--phase-build: #4dabf7;--phase-peak: #ffc034;--phase-taper: #da77f2;--phase-recovery: #63e6be;--phase-base-ink: #38d9a9;--phase-build-ink: #74c0fc;--phase-peak-ink: #ffc034;--phase-taper-ink: #e599f7;--phase-recovery-ink: #63e6be;--sync-ok: #38d9a9;--sync-pending: #ffa94d;--sync-error: #ff6b6b;--sync-idle: #9aa1a9;--sync-ok-ink: #38d9a9;--sync-pending-ink: #ffc034;--sync-error-ink: #ff8787;--sync-idle-ink: #b4bac1}:root{--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-12: 48px;--s-16: 64px;--r-chip: 6px;--r-control: 10px;--r-card: 16px;--font: "Source Sans 3", "Source Sans 3 Fallback", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--fs-label: .75rem;--fs-meta: .9375rem;--fs-body: 1.0625rem;--fs-h3: 1.1875rem;--fs-h2: 1.4375rem;--fs-h1: 1.75rem;--fs-num: 2rem;--fw-body: 400;--fw-ui: 600;--fw-strong: 700;--measure: 66ch;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-inout: cubic-bezier(.4, 0, .2, 1);--ease-ring: cubic-bezier(.55, 0, .1, 1);--d-press: 70ms;--d-fast: .14s;--d-base: .2s;--d-panel: .26s;--d-exit: .17s;--d-sign: .72s;--ease-spring: linear(0, .133 6%, .411 12%, .7 19%, .925 25%, 1.063 31%, 1.12 38%, 1.122 44%, 1.093 50%, 1.056 56%, 1.023 62%, 1 69%, .987 75%, .984 81%, .986 88%, .99 94%, 1);--ease-spring-soft: linear(0, .173 8%, .488 17%, .764 25%, .942 33%, 1.029 42%, 1.054 50%, 1.048 58%, 1.031 67%, 1.015 75%, 1.004 83%, .999 92%, 1);--d-spring: .42s;--d-pop: .28s;--d-celebrate: 1.1s;--px: 2px;--c-bg: var(--paper);--c-surface: var(--surface);--c-surface-2: var(--sunken);--c-surface-3: var(--line);--c-border: var(--line);--c-border-strong: var(--line-strong);--c-text: var(--ink);--c-text-dim: var(--ink-dim);--c-primary: var(--primary);--c-primary-bright: var(--train);--c-primary-dark: var(--train-ink);--c-primary-soft: var(--primary-soft);--c-primary-bright-ink: var(--train-ink);--c-accent: var(--train);--c-accent-bright: var(--train);--c-accent-ink: var(--train-ink);--c-accent-bright-ink: var(--train-ink);--c-health: var(--eat);--c-health-dark: var(--eat-ink);--c-health-ink: var(--eat-ink);--c-health-soft: var(--eat-soft);--c-health-border: var(--eat-line);--c-danger: var(--danger);--c-danger-ink: var(--danger);--c-warn: var(--z4);--c-warn-ink: var(--warn);--c-info: var(--z3);--c-info-ink: var(--info);--radius: var(--r-card);--radius-sm: var(--r-control);--shadow-sm: none;--shadow: none;--shadow-lg: var(--shadow-modal);--shadow-hover: none;--grad-primary: var(--primary);--grad-accent: var(--primary);--grad-brand: var(--surface);--grad-surface: none;--grad-text: none;--glow-primary: none;--glow-accent: none;--glow-focus: none;--t-fast: var(--d-fast) var(--ease-inout);--t-base: var(--d-base) var(--ease-inout);--step--2: var(--fs-label);--step--1: var(--fs-meta);--step-0: var(--fs-body);--step-1: var(--fs-h3);--step-2: var(--fs-h2);--step-3: var(--fs-h1);--step-4: 2.25rem;--space-1: var(--s-1);--space-2: var(--s-2);--space-3: var(--s-3);--space-4: var(--s-4);--space-5: var(--s-6);--space-6: var(--s-8);--focus-ring: 0 0 0 2px var(--surface), 0 0 0 4px var(--focus);interpolate-size:allow-keywords}.num,.metric-value,.kpi-value,.kpi-strip .kpi-n,.day-kcal,.meal-kcal,.session-stats,.day-macros,.macro,.snapshot-row strong,.feas-pct,.stat-value,.big-num,td.num,th.num,time,data,output,progress+.val{font-variant-numeric:tabular-nums slashed-zero}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--paper);scroll-padding-top:80px}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}body{font-family:var(--font);background:var(--paper);color:var(--ink);font-size:var(--fs-body);line-height:1.55;font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button{line-height:normal}::selection{background:var(--primary-soft);color:var(--ink)}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}*::-webkit-scrollbar{width:11px;height:11px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--line-strong);border:3px solid transparent;background-clip:padding-box;border-radius:6px}.boot-splash{display:flex;align-items:center;justify-content:center;height:100vh;height:100dvh;color:var(--ink-dim)}a{color:var(--link);text-decoration:none;text-underline-offset:.2em;text-decoration-thickness:1px}@media (hover: hover){a:hover{text-decoration:underline}}p a,li a,dd a,td a{text-decoration:underline}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1,h2,h3{margin:0 0 var(--s-2);color:var(--ink);text-wrap:balance}h1{font-size:var(--fs-h1);font-weight:700;letter-spacing:-.02em;line-height:1.12}@media (min-width: 900px){.content h1{font-size:2.25rem}}h2{font-size:var(--fs-h2);font-weight:700;letter-spacing:-.015em;line-height:1.2}h3{font-size:var(--fs-h3);font-weight:600;letter-spacing:-.005em;line-height:1.3}p{margin:0 0 var(--s-3);text-wrap:pretty}strong,b{font-weight:600}.page-lead{color:var(--ink-dim);font-size:var(--fs-body);line-height:1.55;max-width:var(--measure);margin:0 0 var(--s-5);text-wrap:pretty}.eyebrow{display:inline-flex;align-items:center;gap:var(--s-2);margin:0 0 var(--s-1);font-size:var(--fs-meta);font-weight:600;line-height:1.3;letter-spacing:0;text-transform:none;color:var(--ink-dim)}.eyebrow.is-train{color:var(--train-ink)}.eyebrow.is-eat{color:var(--eat-ink)}.eyebrow.is-today{color:var(--ink)}.eyebrow.is-today:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--dot);flex:none}.eyebrow-accent{color:var(--train-ink)}.eyebrow-dim{color:var(--ink-dim)}.label-caps,.kpi-l{font-size:var(--fs-label);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim)}.prose{max-width:var(--measure);text-wrap:pretty}.kpi-value{font-size:var(--fs-num);font-weight:700;letter-spacing:-.02em;line-height:1.1}.btn{--btn-h: 44px;--btn-px: var(--s-5);--btn-fs: 1rem;--btn-bg: var(--sunken);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--btn-h);padding:0 var(--btn-px);border:2px solid transparent;border-radius:var(--r-control);font:var(--fw-ui) var(--btn-fs) / 1.2 var(--font);letter-spacing:.005em;color:var(--ink);background:var(--btn-bg);text-align:center;text-decoration:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;transition:background-color var(--d-fast) var(--ease-inout),color var(--d-fast) var(--ease-inout),border-color var(--d-fast) var(--ease-inout),transform var(--d-press) var(--ease-out)}@media (hover: hover){.btn:hover:not(:disabled){--btn-bg: var(--line);text-decoration:none}}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;color:var(--ink-dim);transform:none}.btn[aria-busy=true]{cursor:progress}.btn-sm{--btn-h: 36px;--btn-px: var(--s-3);--btn-fs: var(--fs-meta)}.btn-sm:after{content:"";position:absolute;inset:-4px -2px}.btn-lg{--btn-h: 52px;--btn-px: var(--s-6);--btn-fs: 1.125rem}.btn-block{display:flex;width:100%}.btn-primary,.btn-accent{color:var(--on-primary);background:var(--primary);box-shadow:inset 0 -3px #0000002e}@media (hover: hover){.btn-primary:hover:not(:disabled),.btn-accent:hover:not(:disabled){background:var(--primary-hover)}}.btn-primary:active:not(:disabled),.btn-accent:active:not(:disabled){background:var(--primary-press);box-shadow:inset 0 -1px #0000002e}.btn-primary:disabled,.btn-accent:disabled,.btn-primary[aria-disabled=true]{background:var(--line);color:var(--ink-dim);box-shadow:none}.btn-ring,.btn-ghost,.btn-secondary,.btn-chip{--cut: 4px;--btn-bg: var(--paper);color:var(--ink);background:linear-gradient(var(--btn-bg),var(--btn-bg)) padding-box,linear-gradient(90deg,var(--train-ink) 0 calc(50% - var(--cut)),transparent calc(50% - var(--cut)) calc(50% + var(--cut)),var(--eat-line) calc(50% + var(--cut)) 100%) border-box}:is(.card,.surface,dialog,.sheet) :is(.btn-ring,.btn-ghost,.btn-secondary,.btn-chip){--btn-bg: var(--surface)}.sunken :is(.btn-ring,.btn-ghost,.btn-secondary,.btn-chip){--btn-bg: var(--sunken)}@media (hover: hover){:is(.btn-ring,.btn-ghost,.btn-secondary,.btn-chip):hover:not(:disabled){--btn-bg: var(--sunken)}}:is(.btn-ring,.btn-ghost,.btn-secondary,.btn-chip):disabled{color:var(--ink-dim);background:linear-gradient(var(--btn-bg),var(--btn-bg)) padding-box,linear-gradient(var(--line),var(--line)) border-box}.btn-chip[aria-pressed=true],.btn-chip.active,.btn-chip.is-active{color:var(--train-ink);background:linear-gradient(var(--primary-soft),var(--primary-soft)) padding-box,linear-gradient(var(--train-ink),var(--train-ink)) border-box}.btn-link{--btn-px: var(--s-1);--btn-bg: transparent;color:var(--ink);background:none;box-shadow:none;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.3em;text-decoration-color:var(--eat-line);transition:text-decoration-color var(--d-fast) var(--ease-inout),transform var(--d-press) var(--ease-out)}@media (hover: hover){.btn-link:hover:not(:disabled){--btn-bg: transparent;text-decoration:underline;text-decoration-color:var(--train)}}.btn-link:disabled{text-decoration-color:var(--line)}.btn-icon,.icon-btn{--btn-h: 44px;--btn-px: 0;--btn-bg: transparent;min-width:44px;min-height:44px;padding:0;display:inline-grid;place-items:center;border:2px solid transparent;border-radius:var(--r-control);background:var(--btn-bg);color:var(--ink);cursor:pointer;transition:background-color var(--d-fast) var(--ease-inout),transform var(--d-press) var(--ease-out)}@media (hover: hover){.btn-icon:hover:not(:disabled),.icon-btn:hover:not(:disabled){background:var(--sunken)}}.icon-btn:active:not(:disabled){transform:translateY(1px)}.btn-icon.is-bordered,.icon-btn.is-bordered{border:1px solid var(--line);background:var(--surface)}.btn-danger{color:#fff;background:var(--danger)}:root[data-theme=dark] .btn-danger{color:#121118}@media (hover: hover){.btn-danger:hover:not(:disabled){background:var(--danger);box-shadow:inset 0 0 0 100px #0000001a}}@media (hover: none){input,select,textarea{font-size:max(16px,1em)}}a,button,[role=button],label,summary,input,select,textarea,.nav-link,.hamburger,.chip,.seg-btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,[role=button],.nav-link,.hamburger,.chip,.seg-btn{user-select:none;-webkit-user-select:none}@media (hover: none){button:not(.btn):not(.icon-btn):not(:disabled):active,[role=button]:not(.btn):active{opacity:.72}}label{display:block;font-size:var(--fs-meta);font-weight:600;color:var(--ink);margin-bottom:var(--s-1)}input,select,textarea{width:100%;min-height:44px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-control);color:var(--ink);padding:var(--s-2) var(--s-3);font-size:1rem;font-family:inherit;transition:border-color var(--d-fast) var(--ease-inout),box-shadow var(--d-fast) var(--ease-inout)}textarea{padding:var(--s-3)}input[type=checkbox],input[type=radio],input[type=range],input[type=color]{min-height:0}input::placeholder,textarea::placeholder{color:var(--ink-dim);opacity:.85}@media (hover: hover){input:hover:not(:focus):not(:disabled),select:hover:not(:focus):not(:disabled),textarea:hover:not(:focus):not(:disabled){border-color:var(--ink-dim)}}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--train-ink);box-shadow:0 0 0 3px var(--primary-soft)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}input:disabled,select:disabled,textarea:disabled{background:var(--sunken);color:var(--ink-dim);cursor:not-allowed}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true],input.ng-invalid.ng-touched{border-color:var(--danger)}.field{margin-bottom:var(--s-4)}.field-error{color:var(--danger);font-size:var(--fs-meta);margin-top:var(--s-1)}.field-hint{color:var(--ink-dim);font-size:var(--fs-meta);margin-top:var(--s-1)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}@media (max-width: 560px){.grid-2{grid-template-columns:1fr}}.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--s-5)}@media (min-width: 900px){.card{padding:var(--s-6)}}.card-pad-tight{padding:var(--s-4)}.card+.card{margin-top:var(--s-4)}.card-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}.card-link{transition:border-color var(--d-fast) var(--ease-inout)}@media (hover: hover){.card-link:hover{border-color:var(--line-strong);text-decoration:none}}.surface{background:var(--surface)}.sunken{background:var(--sunken);border-radius:var(--r-control);padding:var(--s-3) var(--s-4)}.list-rows{margin:0;padding:0;list-style:none}.list-rows>*{padding:var(--s-3) 0}.list-rows>*+*{border-top:1px solid var(--line)}.alert{display:block;border:0;border-radius:var(--r-control);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-4);background:var(--sunken);color:var(--ink);font-size:var(--fs-meta);line-height:1.5}.alert:has(>app-icon:first-child){display:flex;gap:var(--s-3);align-items:flex-start}.alert>app-icon:first-child{margin-top:2px}.alert-info{background:var(--info-soft)}.alert-info>app-icon:first-child{color:var(--info)}.alert-success{background:var(--ok-soft)}.alert-success>app-icon:first-child{color:var(--ok)}.alert-warn{background:var(--warn-soft)}.alert-warn>app-icon:first-child{color:var(--warn)}.alert-danger{background:var(--danger-soft)}.alert-danger>app-icon:first-child{color:var(--danger)}.alert-safety{background:var(--eat-soft)}.alert-safety>app-icon:first-child{color:var(--eat-ink)}.alert strong{font-weight:600}.health-banner{display:flex;gap:var(--s-3);align-items:flex-start;border:0;background:var(--eat-soft);border-radius:var(--r-control);padding:var(--s-3) var(--s-4);margin:var(--s-3) 0}.health-banner .hb-icon{flex:none;display:inline-flex;color:var(--eat-ink);margin-top:2px;line-height:0}.health-banner .hb-body{font-size:var(--fs-meta);line-height:1.5;color:var(--ink)}.health-banner .hb-title{display:block;font-weight:700;margin-bottom:2px;color:var(--eat-ink)}.health-banner .hb-note{margin:var(--s-2) 0 0;font-size:var(--fs-meta);color:var(--ink-dim)}.health-banner.health-soft{background:transparent;box-shadow:inset 0 0 0 1px var(--line);padding:var(--s-2) var(--s-3)}.badge{display:inline-flex;align-items:center;gap:var(--s-1);padding:2px var(--s-2);border-radius:var(--r-chip);font-size:var(--fs-meta);font-weight:600;line-height:1.35;letter-spacing:0;text-transform:none;white-space:nowrap;box-shadow:none;background:var(--sunken);color:var(--ink)}.badge-train,.badge-realistic,.badge-easy{background:var(--train-soft);color:var(--train-ink)}.badge-eat{background:var(--eat-soft);color:var(--eat-ink)}.badge-ok,.badge-done,.badge-verified,.badge-sync-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn,.badge-stretch,.badge-sync-pending,.badge-unverified{background:var(--warn-soft);color:var(--warn)}.badge-danger,.badge-hard,.badge-unrealistic,.badge-sync-error{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-sync-idle{background:var(--sunken);color:var(--ink-dim)}.badge-current{background:var(--sunken);color:var(--ink)}.badge-current:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--dot)}.badge-phase{background:var(--sunken);color:var(--ink)}.badge-phase .phase-dot{width:8px;height:8px;border-radius:50%;background:var(--ink-dim)}:where(button.chip,a.chip,label.chip,.chip[role=radio],.chip[aria-pressed]){display:inline-flex;align-items:center;gap:var(--s-2);min-height:40px;margin:0;padding:0 var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-control);background:var(--surface);color:var(--ink);font:var(--fw-ui) var(--fs-meta) / 1.2 var(--font);cursor:pointer;text-decoration:none;transition:background-color var(--d-fast) var(--ease-inout),border-color var(--d-fast) var(--ease-inout),color var(--d-fast) var(--ease-inout),transform var(--d-press) var(--ease-out)}@media (hover: hover){:where(button.chip,a.chip,label.chip):hover{border-color:var(--ink-dim)}}:where(.chip)[aria-pressed=true],:where(.chip)[aria-checked=true],:where(.chip).is-active,:where(label.chip):has(input:checked){background:var(--primary-soft);border-color:var(--train-ink);color:var(--train-ink);box-shadow:inset 0 0 0 1px var(--train-ink)}:where(button.chip,a.chip,label.chip):active{transform:translateY(1px)}:where(.chip.is-eat)[aria-pressed=true],:where(.chip.is-eat).is-active,:where(label.chip.is-eat):has(input:checked){background:var(--eat-soft);border-color:var(--eat-ink);color:var(--eat-ink);box-shadow:inset 0 0 0 1px var(--eat-ink)}@media (hover: none){:where(button.chip,a.chip,label.chip){min-height:44px}}.segmented{display:flex;align-items:stretch;gap:var(--s-1);max-width:100%;padding:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;overflow-x:auto;scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}@supports (animation-timeline: scroll()){.segmented,.section-tabs{animation:tabs-edge linear both;animation-timeline:scroll(self inline)}}@keyframes tabs-edge{0%,49%{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent)}50%,to{-webkit-mask-image:linear-gradient(90deg,transparent,#000 32px);mask-image:linear-gradient(90deg,transparent,#000 32px)}}.seg-btn{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-3);border:0;border-radius:0;background:none;color:var(--ink-dim);font:var(--fw-ui) var(--fs-meta) / 1.2 var(--font);white-space:nowrap;cursor:pointer;text-decoration:none;transition:color var(--d-fast) var(--ease-inout)}.seg-btn:after{content:"";position:absolute;left:var(--s-3);right:var(--s-3);bottom:0;height:3px;border-radius:2px 2px 0 0;background:linear-gradient(90deg,var(--train) 0 calc(50% - 2px),transparent 0 calc(50% + 2px),var(--eat) 0);transform:scaleX(0);transition:transform var(--d-base) var(--ease-out)}@media (hover: hover){.seg-btn:hover:not(.is-active):not(.active){color:var(--ink);text-decoration:none}}.seg-btn.is-active,.seg-btn.active,.seg-btn[aria-selected=true]{color:var(--ink);background:none;box-shadow:none}.seg-btn.is-active:after,.seg-btn.active:after,.seg-btn[aria-selected=true]:after{transform:scaleX(1)}.seg-btn:focus-visible{outline-offset:-2px}.has-ink>.seg-btn:after,.has-ink .section-tab:after{display:none}.tab-ink{position:absolute;left:0;bottom:0;width:100px;height:3px;border-radius:2px 2px 0 0;background:var(--train);transform-origin:0 50%;pointer-events:none;transition:transform .24s var(--ease-out)}.tab-ink.is-eat{background:var(--eat);transition-delay:40ms}.tab-ink.no-anim{transition:none}.segmented.is-full{width:100%;gap:2px;padding:3px;background:var(--sunken);border:0;border-radius:var(--r-control);animation:none}.segmented.is-full .seg-btn{flex:1 1 0;min-width:0;min-height:40px;white-space:normal;text-align:center;border-radius:7px}.segmented.is-full .seg-btn:after{display:none}.segmented.is-full .seg-btn.is-active,.segmented.is-full .seg-btn.active,.segmented.is-full .seg-btn[aria-selected=true]{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-control);overflow:hidden}.kpi-strip>*{background:var(--surface);padding:var(--s-3) var(--s-4)}.kpi-strip .kpi-n{display:block;font-size:var(--fs-num);font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--ink)}.kpi-strip .kpi-l{display:block;margin-top:var(--s-2)}.card-deck{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:var(--s-4)}.card-deck>.card+.card{margin-top:0}.skeleton{background:linear-gradient(90deg,var(--sunken) 25%,var(--surface) 50%,var(--sunken) 75%);background-size:220% 100%;animation:shimmer 1.6s linear infinite;border-radius:var(--r-control)}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.skel-line{height:.8rem;margin-bottom:var(--s-2)}.skel-kpi{height:1.6rem;width:60%;margin-top:var(--s-1)}.skel-chart{height:220px;width:100%}.empty-state{text-align:center;padding:var(--s-8) var(--s-4);color:var(--ink-dim)}.empty-state .empty-icon{display:block;margin:0 auto var(--s-3);line-height:0}.empty-state .empty-title{color:var(--ink);font-weight:600;margin-bottom:var(--s-1)}.empty-state .row{justify-content:center;margin-top:var(--s-4)}.text-dim{color:var(--ink-dim)}.text-center{text-align:center}.muted-sm{font-size:var(--fs-meta);color:var(--ink-dim)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.stack>*+*{margin-top:var(--s-3)}.row{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap}.spacer{flex:1}.spinner{--spin-a: var(--train);--spin-b: var(--eat);display:inline-block;flex:none;width:18px;height:18px;border-radius:50%;background:conic-gradient(var(--spin-a) 0 44%,transparent 0 50%,var(--spin-b) 0 94%,transparent 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));animation:spin .9s linear infinite;vertical-align:middle}:is(.btn-primary,.btn-accent,.btn-danger) .spinner{--spin-a: currentColor;--spin-b: currentColor;opacity:.85}@keyframes spin{to{transform:rotate(360deg)}}.bar{position:relative;height:8px;background:var(--track);border-radius:4px;overflow:hidden}.bar>.bar-fill,.bar>.fill{height:100%;border-radius:inherit;background:var(--train);transition:width var(--d-base) var(--ease-inout)}.bar.is-eat>.bar-fill,.bar.is-eat>.fill{background:var(--eat)}::view-transition-old(root){animation:vt-out .12s var(--ease-in) both}::view-transition-new(root){animation:vt-in var(--d-base) var(--ease-out) both}::view-transition-old(shell-side),::view-transition-new(shell-side),::view-transition-old(shell-top),::view-transition-new(shell-top),::view-transition-old(shell-bottom),::view-transition-new(shell-bottom){animation:none}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0}}details::details-content{block-size:0;overflow:clip;transition:block-size var(--d-base) var(--ease-inout),content-visibility var(--d-base) allow-discrete}details[open]::details-content{block-size:auto}.chev{display:inline-flex;transition:transform var(--d-base) var(--ease-inout)}details[open]>summary .chev,[aria-expanded=true]>.chev,[aria-expanded=true] .chev{transform:rotate(180deg)}.enter{animation:enter var(--d-base) var(--ease-out) both}.leave{animation:leave var(--d-exit) var(--ease-in) both}@keyframes enter{0%{opacity:0;transform:translateY(6px)}}@keyframes leave{to{opacity:0;transform:translateY(6px)}}.slide-up{animation:none}.sheet{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-modal);transition:transform var(--d-panel) var(--ease-out),opacity var(--d-panel) var(--ease-out)}@starting-style{.sheet{transform:translateY(16px);opacity:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.btn:active:not(:disabled),.icon-btn:active:not(:disabled),.chip:active{transform:none}.skeleton,.spinner{animation:none!important}details::details-content{transition:none}}input[type=checkbox],input[type=radio]{width:1.2rem;height:1.2rem;min-width:1.2rem;cursor:pointer;accent-color:var(--c-primary, #4a78d6);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.check{display:flex;align-items:center;gap:.55rem;cursor:pointer;min-height:40px;padding:.3rem 0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.check input[type=checkbox],.check input[type=radio]{flex:none}@media (hover: none) and (pointer: coarse){.toast-close,.aw-icon-btn,.tour-x,.rb-close,.evb-close,.ld-close,.ii-close,.cc-close,.wt-close,.share-close,.rc-del,.update-close{min-width:44px;min-height:44px}.check{min-height:44px}}img.px-emoji{display:inline-block;width:16px;height:16px;vertical-align:-3px;image-rendering:crisp-edges;image-rendering:pixelated;-ms-interpolation-mode:nearest-neighbor}@media (max-width: 820px){body:has(.bottom-nav) .ck-banner{bottom:calc(60px + var(--s-3) + env(safe-area-inset-bottom))}}@media (max-width: 640px){body:has(.bottom-nav){--ck-bottom: calc(60px + env(safe-area-inset-bottom)) ;--ck-safe: 0px}body:has(.bottom-nav) .ck-banner{bottom:var(--ck-bottom)}}
