:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0a0e24;--color-bg-glow:#2a1d6b;--color-surface:#121735;--color-surface-2:#1b2147;--color-surface-3:#252c5c;--color-elevated:#171d44;--color-scrim:#0305128c;--color-text:#eef0ff;--color-text-2:#b6bbdf;--color-text-3:#9399c9;--color-text-on-accent:#fff;--color-text-on-gold:#1d1606;--color-separator:#272e5c;--color-border:#6670b4;--color-accent:#6a46e0;--color-accent-hi:#7b5af0;--color-accent-text:#b39dfc;--color-accent-soft:#261f5e;--color-gold:#e6c47a;--color-gold-fill:#e6c47a;--color-gold-soft:#3a3220;--color-focus:#b39dfc;--color-success:#7fd18f;--color-success-soft:#18352a;--color-warning:#f0b45e;--color-warning-soft:#36291a;--color-warning-fill:#f0b45e;--color-danger:#ff8a7a;--color-danger-fill:#c94141;--color-danger-soft:#3a1f2c;--color-info:#7aa2f7;--color-info-soft:#1b2a4d;--score-excellent:#e6c47a;--score-tresbon:#a78bfa;--score-bon:#7aa2f7;--score-correct:#5ec4b6;--score-encourageant:#9bd17a;--score-ralenti:#f0a35e;--score-mediocre:#d0566b;--score-start:#9399c9;--viz-1:#3987e5;--viz-2:#d95926;--viz-3:#199e70;--viz-4:#9085e9;--viz-5:#008300;--viz-6:#d55181;--viz-savings:#a88334;--viz-neutral:#7f86b5;--viz-empty:#3a416e;--viz-grid:#272e5c;--person-fayssal:#a78bfa;--person-celia:#e6c47a;--person-ami:#5ec4b6;--day-travail:#263461;--day-travail-ink:#b9c8f5;--day-repos:#145c4a;--day-repos-ink:#a9ecd5;--day-vtc:#8a3a1c;--day-vtc-ink:#ffd2bd;--day-conge:#4a419c;--day-conge-ink:#e0dbff;--day-love:#f08cab;--today-fill:radial-gradient(circle at 35% 30%, #fffdf3, #f6d77e 72%);--today-ring:#f6d77e;--today-glow:#ffd66ecc;--today-ink:#1d1606;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", Roboto, sans-serif;--font-rounded:ui-rounded, "SF Pro Rounded", -apple-system, system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-caption2:.6471rem;--text-caption:.7059rem;--text-footnote:.7647rem;--text-subhead:.8824rem;--text-callout:.9412rem;--text-body:1rem;--text-title3:1.1765rem;--text-title2:1.2941rem;--text-title1:1.6471rem;--text-large:2rem;--text-display:3rem;--weight-regular:400;--weight-medium:510;--weight-semibold:600;--weight-bold:700;--leading-tight:1.15;--leading-snug:1.3;--leading:1.45;--tracking-tight:-.02em;--tracking-caps:.06em;--space-0-5:2px;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:999px;--shadow-1:0 1px 0 #ffffff08 inset, 0 8px 24px #00000038;--shadow-2:0 12px 40px #00000061;--shadow-accent:0 8px 22px #6a46e061;--shadow-knob:0 2px 6px #00000040;--glass-bg:#1e24528c;--glass-bg-opaque:#1a2048;--glass-border:#ffffff24;--glass-highlight:#ffffff38;--glass-blur:22px;--glass-saturate:180%;--dur-instant:90ms;--dur-fast:.14s;--dur:.22s;--dur-slow:.36s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:linear(0, .064, .212, .392, .569, .724, .847, .937, .998, 1.033, 1.05, 1.054, 1.05, 1.042, 1.032, 1.023, 1.014, 1.008, 1.003, 1, .998, .997, .997, .997, .998, .998, .999, .999, 1);--tap-min:44px;--content-max:560px;--gutter:16px;--tabbar-height:64px;--tabbar-label-size:10px;--tabbar-fab:60px;--tabbar-inset:12px;--tabbar-gap:12px;--z-header:10;--z-tabbar:20;--z-sheet:40;--z-toast:60;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--keyboard:0px}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f4f3fa;--color-bg-glow:#ddd5ff;--color-surface:#fff;--color-surface-2:#ecebf6;--color-surface-3:#e1dff0;--color-elevated:#fff;--color-scrim:#14172f52;--color-text:#14172f;--color-text-2:#3d4266;--color-text-3:#5d6287;--color-text-on-gold:#1d1606;--color-separator:#dddbec;--color-border:#7a7ea4;--color-accent:#5b3fd6;--color-accent-hi:#6a4ee6;--color-accent-text:#5236c9;--color-accent-soft:#e7e0ff;--color-gold:#7d5f12;--color-gold-fill:#e3bd66;--color-gold-soft:#f6edd5;--color-focus:#5236c9;--color-success:#2b7a3a;--color-success-soft:#dff3e3;--color-warning:#8f5a0b;--color-warning-soft:#f8ecd7;--color-warning-fill:#f0a94b;--color-danger:#b8352a;--color-danger-fill:#c03a3a;--color-danger-soft:#fbe6e1;--color-info:#2f5bb8;--color-info-soft:#e3ebfb;--score-excellent:#846518;--score-tresbon:#704ddd;--score-bon:#2e62d5;--score-correct:#147569;--score-encourageant:#357723;--score-ralenti:#a3550d;--score-mediocre:#bc3852;--score-start:#5d6287;--viz-neutral:#8589ae;--viz-empty:#d6d4e8;--viz-grid:#e4e2f0;--person-fayssal:#7c5ce0;--person-celia:#a07a1d;--person-ami:#1f7a6e;--day-travail:#e9edf7;--day-travail-ink:#2c4a8c;--day-repos:#a9dcc6;--day-repos-ink:#0f5c46;--day-vtc:#f4bb9c;--day-vtc-ink:#7f2f0c;--day-conge:#c4b9f5;--day-conge-ink:#3e33a0;--day-love:#c23b6a;--today-fill:radial-gradient(circle at 35% 30%, #fff8dd, #efc24d 72%);--today-ring:#d9a52c;--today-glow:#e2a8208c;--shadow-1:0 1px 2px #14172f0f, 0 8px 24px #14172f0f;--shadow-2:0 12px 40px #14172f29;--shadow-accent:0 8px 22px #5b3fd647;--glass-bg:#ffffff9e;--glass-bg-opaque:#fff;--glass-border:#14172f14;--glass-highlight:#ffffffe6}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f4f3fa;--color-bg-glow:#ddd5ff;--color-surface:#fff;--color-surface-2:#ecebf6;--color-surface-3:#e1dff0;--color-elevated:#fff;--color-scrim:#14172f52;--color-text:#14172f;--color-text-2:#3d4266;--color-text-3:#5d6287;--color-text-on-gold:#1d1606;--color-separator:#dddbec;--color-border:#7a7ea4;--color-accent:#5b3fd6;--color-accent-hi:#6a4ee6;--color-accent-text:#5236c9;--color-accent-soft:#e7e0ff;--color-gold:#7d5f12;--color-gold-fill:#e3bd66;--color-gold-soft:#f6edd5;--color-focus:#5236c9;--color-success:#2b7a3a;--color-success-soft:#dff3e3;--color-warning:#8f5a0b;--color-warning-soft:#f8ecd7;--color-warning-fill:#f0a94b;--color-danger:#b8352a;--color-danger-fill:#c03a3a;--color-danger-soft:#fbe6e1;--color-info:#2f5bb8;--color-info-soft:#e3ebfb;--score-excellent:#846518;--score-tresbon:#704ddd;--score-bon:#2e62d5;--score-correct:#147569;--score-encourageant:#357723;--score-ralenti:#a3550d;--score-mediocre:#bc3852;--score-start:#5d6287;--viz-neutral:#8589ae;--viz-empty:#d6d4e8;--viz-grid:#e4e2f0;--person-fayssal:#7c5ce0;--person-celia:#a07a1d;--person-ami:#1f7a6e;--day-travail:#e9edf7;--day-travail-ink:#2c4a8c;--day-repos:#a9dcc6;--day-repos-ink:#0f5c46;--day-vtc:#f4bb9c;--day-vtc-ink:#7f2f0c;--day-conge:#c4b9f5;--day-conge-ink:#3e33a0;--day-love:#c23b6a;--today-fill:radial-gradient(circle at 35% 30%, #fff8dd, #efc24d 72%);--today-ring:#d9a52c;--today-glow:#e2a8208c;--shadow-1:0 1px 2px #14172f0f, 0 8px 24px #14172f0f;--shadow-2:0 12px 40px #14172f29;--shadow-accent:0 8px 22px #5b3fd647;--glass-bg:#ffffff9e;--glass-bg-opaque:#fff;--glass-border:#14172f14;--glass-highlight:#ffffffe6}@media (prefers-reduced-motion:reduce){:root{--dur-instant:0s;--dur-fast:0s;--dur:0s;--dur-slow:0s;--ease-spring:linear}}@media (prefers-reduced-transparency:reduce){:root{--glass-bg:var(--glass-bg-opaque);--glass-blur:0px}}@media (prefers-contrast:more){:root{--glass-bg:var(--glass-bg-opaque);--glass-blur:0px;--color-separator:var(--color-border);--color-text-3:var(--color-text-2)}}*,:before,:after{box-sizing:border-box}html{font:100% / var(--leading) var(--font-sans);font:-apple-system-body;font-family:var(--font-sans);line-height:var(--leading);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:var(--color-bg);color:var(--color-text)}body{min-height:100dvh;font-size:var(--text-body);color:var(--color-text);background:radial-gradient(120% 60% at 50% -10%, var(--color-bg-glow) 0%, transparent 60%) no-repeat, var(--color-bg);overscroll-behavior-y:none;margin:0}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{font-size:max(var(--text-body), 16px)}button{cursor:pointer}img,svg{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3{text-wrap:balance}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}::selection{background:var(--color-accent-soft)}[hidden]{display:none!important}.ds-num{font-variant-numeric:tabular-nums}.ds-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.ds-page{max-width:var(--content-max);padding:calc(var(--safe-top) + var(--space-2)) var(--gutter) calc(var(--safe-bottom) + var(--tabbar-height) + var(--tabbar-gap) + var(--space-8));gap:var(--space-4);grid-template-columns:minmax(0,1fr);align-content:start;margin:0 auto;display:grid}.ds-stack{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}.ds-row{align-items:center;gap:var(--space-2);display:flex}.ds-row--wrap{flex-wrap:wrap}.ds-row--between{justify-content:space-between}.ds-text-2{color:var(--color-text-2)}.ds-text-3{color:var(--color-text-3)}.ds-footnote{font-size:var(--text-footnote);line-height:var(--leading-snug)}.ds-subhead{font-size:var(--text-subhead);line-height:var(--leading-snug)}.ds-caption{font-size:var(--text-caption);line-height:var(--leading-snug)}.ds-headline{font-size:var(--text-body);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}.ds-title3{font-size:var(--text-title3);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.ds-title2{font-size:var(--text-title2);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.ds-title1{font-size:var(--text-title1);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.ds-display{font-size:var(--text-display);font-weight:var(--weight-bold);letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}.ds-positive{color:var(--color-success)}.ds-negative{color:var(--color-danger)}.ds-gold{color:var(--color-gold)}.ds-icon{flex-shrink:0}.ds-spinner{border-radius:var(--radius-full);border:2px solid;border-right-color:#0000;flex-shrink:0;width:1.1em;height:1.1em;animation:.8s linear infinite ds-spin}@keyframes ds-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ds-spinner{animation-duration:2.4s}}.ds-button{--btn-bg:var(--color-accent);--btn-fg:var(--color-text-on-accent);justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--btn-bg);color:var(--btn-fg);font-size:var(--text-body);font-weight:var(--weight-semibold);line-height:var(--leading-tight);text-align:center;-webkit-user-select:none;user-select:none;transition:transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);border:0;text-decoration:none;display:inline-flex;position:relative}.ds-button:active:not(:disabled):not(.is-disabled){transform:scale(.97)}.ds-button:disabled,.ds-button.is-disabled,.ds-button[aria-disabled=true]{opacity:.45;cursor:default}.ds-button.is-loading{cursor:progress}.ds-button--primary{background:linear-gradient(135deg, var(--color-accent-hi), var(--color-accent));box-shadow:var(--shadow-accent)}.ds-button--secondary{--btn-bg:var(--color-surface-2);--btn-fg:var(--color-text)}.ds-button--tertiary{--btn-bg:transparent;--btn-fg:var(--color-accent-text)}.ds-button--destructive{--btn-bg:var(--color-danger-fill);--btn-fg:var(--color-text-on-accent)}.ds-button--gold{--btn-bg:var(--color-gold-fill);--btn-fg:var(--color-text-on-gold)}.ds-button--sm{padding:var(--space-1-5) var(--space-3);font-size:var(--text-subhead);border-radius:var(--radius-sm)}.ds-button--lg{min-height:52px;font-size:var(--text-body);border-radius:var(--radius-lg)}.ds-button--block{width:100%;display:flex}.ds-button__label{min-width:0}.ds-icon-button{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-full);color:var(--color-text);font-size:var(--text-title3);transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);background:0 0;border:0;flex-shrink:0;place-items:center;text-decoration:none;display:inline-grid}.ds-icon-button:active:not(:disabled){transform:scale(.92)}.ds-icon-button:disabled{opacity:.35}.ds-icon-button--sm{width:32px;height:32px;font-size:var(--text-callout);position:relative}.ds-icon-button--sm:before{content:"";inset:calc((32px - var(--tap-min)) / 2);position:absolute}.ds-icon-button--filled{background:var(--color-surface-2)}.ds-icon-button--glass{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate))}.ds-card{border:1px solid var(--color-separator);border-radius:var(--radius-lg);background:var(--color-surface);width:100%;color:inherit;text-align:left;box-shadow:var(--shadow-1);text-decoration:none;display:block}.ds-card--pad-sm{padding:var(--space-3)}.ds-card--pad-md{padding:var(--space-4)}.ds-card--pad-none{padding:0;overflow:hidden}.ds-card--inset{background:var(--color-surface-2);box-shadow:none;border-color:#0000}.ds-card--accent{background:var(--color-accent-soft);border-color:var(--color-accent)}.ds-card--gold{background:var(--color-gold-soft);border-color:var(--color-gold)}.ds-card--warning{background:var(--color-warning-soft);border-color:var(--color-warning)}.ds-card--danger{background:var(--color-danger-soft);border-color:var(--color-danger)}.ds-card--interactive{cursor:pointer;transition:transform var(--dur-fast) var(--ease-out)}.ds-card--interactive:active{transform:scale(.985)}.ds-section{gap:var(--space-2);grid-template-columns:minmax(0,1fr);display:grid}.ds-section__header{align-items:baseline;gap:var(--space-2);min-height:var(--space-8);padding-inline:var(--space-1);flex-wrap:wrap;display:flex}.ds-section__title{min-width:0;font-size:var(--text-title3);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);flex:auto}.ds-section__aside{color:var(--color-text-3);font-size:var(--text-subhead);font-variant-numeric:tabular-nums}.ds-section__more{align-items:center;gap:var(--space-0-5);min-height:var(--tap-min);margin-block:calc(-1 * var(--space-3));color:var(--color-accent-text);font-size:var(--text-subhead);font-weight:var(--weight-medium);background:0 0;border:0;padding:0;text-decoration:none;display:inline-flex}.ds-field{gap:var(--space-1-5);min-width:0;display:grid}.ds-field__label{font-size:var(--text-footnote);font-weight:var(--weight-medium);color:var(--color-text-2)}.ds-field__hint{font-size:var(--text-footnote);color:var(--color-text-3);line-height:var(--leading-snug)}.ds-field__error{font-size:var(--text-footnote);color:var(--color-danger)}.ds-input{min-height:var(--tap-min);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);align-items:center;display:flex;position:relative}.ds-input:focus-within{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-accent-soft)}.has-error .ds-input{border-color:var(--color-danger)}.ds-input input,.ds-input textarea,.ds-input select{width:100%;min-width:0;padding:var(--space-2) var(--space-3);color:var(--color-text);appearance:none;background:0 0;border:0;outline:none;flex:1}.ds-input input::placeholder,.ds-input textarea::placeholder{color:var(--color-text-3)}.ds-input textarea{resize:vertical;min-height:5.5em;line-height:var(--leading)}.ds-input--lg input{font-size:max(var(--text-title1), 16px);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}.ds-input__unit{padding-right:var(--space-3);color:var(--color-text-3);font-weight:var(--weight-medium)}.ds-input--select:after{content:"";right:var(--space-4);width:var(--space-2);height:var(--space-2);border-right:2px solid var(--color-text-3);border-bottom:2px solid var(--color-text-3);pointer-events:none;position:absolute;transform:translateY(-25%)rotate(45deg)}.ds-input--select select{padding-right:var(--space-10)}.ds-input input[type=date],.ds-input input[type=time],.ds-input input[type=month]{min-height:calc(var(--tap-min) - 2px);text-align:left}.ds-segmented{grid-template-columns:repeat(var(--count), minmax(0, 1fr));padding:var(--space-0-5);border-radius:var(--radius-md);background:var(--color-surface-2);isolation:isolate;display:inline-grid;position:relative}.ds-segmented--block{width:100%;display:grid}.ds-segmented__thumb{z-index:-1;top:var(--space-0-5);bottom:var(--space-0-5);left:var(--space-0-5);width:calc((100% - 2 * var(--space-0-5)) / var(--count));border-radius:calc(var(--radius-md) - var(--space-0-5));background:var(--color-surface-3);box-shadow:var(--shadow-1);transform:translateX(calc(100% * var(--index)));transition:transform var(--dur) var(--ease-spring);position:absolute}.ds-segmented__option{min-height:calc(var(--tap-min) - 4px);padding:var(--space-1) var(--space-2);border-radius:calc(var(--radius-md) - var(--space-0-5));color:var(--color-text-2);font-size:var(--text-subhead);font-weight:var(--weight-medium);text-align:center;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;place-items:center;text-decoration:none;display:grid;overflow:hidden}.ds-segmented__option.is-on{color:var(--color-text);font-weight:var(--weight-semibold)}.ds-list-group{gap:var(--space-1-5);grid-template-columns:minmax(0,1fr);display:grid}.ds-list-group__header{padding-inline:var(--space-4);color:var(--color-text-3);font-size:var(--text-footnote);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.ds-list-group__footer{padding-inline:var(--space-4);color:var(--color-text-3);font-size:var(--text-footnote);line-height:var(--leading-snug)}.ds-list{margin:0;padding:0;list-style:none;container-type:inline-size}.ds-list--inset{border:1px solid var(--color-separator);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.ds-list__item+.ds-list__item .ds-list-row{box-shadow:inset 0 1px 0 var(--color-separator)}.ds-list--inset .ds-list__item+.ds-list__item .ds-list-row{box-shadow:none;position:relative}.ds-list--inset .ds-list__item+.ds-list__item .ds-list-row:before{content:"";top:0;left:var(--space-4);background:var(--color-separator);height:1px;position:absolute;right:0}.ds-list-row{align-items:center;gap:var(--space-3);width:100%;min-height:calc(var(--tap-min) + var(--space-1));padding:var(--space-2) var(--space-4);color:inherit;font:inherit;text-align:left;background:0 0;border:0;text-decoration:none;display:flex}.ds-list-row--interactive{cursor:pointer}.ds-list-row--interactive:active{background:var(--color-surface-2)}.ds-list-row--destructive .ds-list-row__title{color:var(--color-danger)}.ds-list-row__icon{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-text-on-accent);background:var(--color-accent);font-size:var(--text-body);flex-shrink:0;place-items:center;display:grid}.ds-list-row__icon.is-gold{background:var(--color-gold-fill);color:var(--color-text-on-gold)}.ds-list-row__icon.is-success{background:var(--color-success-soft);color:var(--color-success)}.ds-list-row__icon.is-warning{background:var(--color-warning-soft);color:var(--color-warning)}.ds-list-row__icon.is-danger{background:var(--color-danger-soft);color:var(--color-danger)}.ds-list-row__icon.is-info{background:var(--color-info-soft);color:var(--color-info)}.ds-list-row__icon.is-neutral{background:var(--color-surface-3);color:var(--color-text)}.ds-list-row__text{gap:var(--space-0-5);flex:1;min-width:0;display:grid}.ds-list-row__title{line-height:var(--leading-snug);overflow-wrap:break-word}.ds-list-row__subtitle{color:var(--color-text-3);font-size:var(--text-footnote);line-height:var(--leading-snug)}.ds-list-row__value{color:var(--color-text-2);font-variant-numeric:tabular-nums;text-align:right}.ds-list-row__chevron{color:var(--color-text-3)}@container (width<=18em){.ds-list-row:has(.ds-list-row__value){row-gap:var(--space-0-5);flex-wrap:wrap}.ds-list-row__value{overflow-wrap:break-word;text-align:left;flex:1 0 100%;order:1;min-width:0}.ds-list-row__icon~.ds-list-row__value{padding-inline-start:calc(30px + var(--space-3))}}.ds-switch{width:51px;height:31px;margin:calc((var(--tap-min) - 31px) / 2) 0;border-radius:var(--radius-full);background:var(--color-surface-3);box-shadow:inset 0 0 0 1px var(--color-border);transition:background-color var(--dur) var(--ease-out);border:0;flex-shrink:0;padding:0;position:relative}.ds-switch:before{content:"";inset:calc((31px - var(--tap-min)) / 2) 0;position:absolute}.ds-switch.is-on{background:var(--color-success);box-shadow:none}.ds-switch__knob{border-radius:var(--radius-full);background:var(--color-text-on-accent);width:27px;height:27px;box-shadow:var(--shadow-knob);transition:transform var(--dur) var(--ease-spring);position:absolute;top:2px;left:2px}.ds-switch.is-on .ds-switch__knob{transform:translate(20px)}.ds-switch:disabled{opacity:.45}.ds-check{width:var(--tap-min);height:var(--tap-min);margin:calc(-1 * var(--space-2));color:var(--color-text-on-accent);background:0 0;border:0;flex-shrink:0;place-items:center;padding:0;display:inline-grid}.ds-check__box{border-radius:var(--radius-full);border:2px solid var(--color-border);width:28px;height:28px;font-size:var(--text-callout);transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur) var(--ease-spring);place-items:center;display:grid}.ds-check.is-on .ds-check__box{background:var(--color-accent);border-color:var(--color-accent);transform:scale(1.04)}.ds-check--warning.is-on .ds-check__box{background:var(--color-warning);border-color:var(--color-warning);color:var(--color-bg)}.ds-check--success.is-on .ds-check__box{background:var(--color-success);border-color:var(--color-success);color:var(--color-bg)}.ds-check.is-busy{opacity:.6}.ds-check:disabled:not(.is-busy){opacity:.45}.ds-tag{align-items:center;gap:var(--space-1);padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-2);color:var(--color-text-2);font-size:var(--text-caption);font-weight:var(--weight-semibold);line-height:var(--leading-snug);white-space:nowrap;display:inline-flex}.ds-tag--accent{background:var(--color-accent-soft);color:var(--color-accent-text)}.ds-tag--gold{background:var(--color-gold-soft);color:var(--color-gold)}.ds-tag--success{background:var(--color-success-soft);color:var(--color-success)}.ds-tag--warning{background:var(--color-warning-soft);color:var(--color-warning)}.ds-tag--danger{background:var(--color-danger-soft);color:var(--color-danger)}.ds-tag--info{background:var(--color-info-soft);color:var(--color-info)}.ds-chip-group{gap:var(--space-2);border:0;flex-wrap:wrap;min-width:0;margin:0;padding:0;display:flex}.ds-chip{align-items:center;gap:var(--space-1-5);min-height:36px;margin-block:calc((36px - var(--tap-min)) / 2 + var(--space-1));padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text);font-size:var(--text-subhead);font-weight:var(--weight-medium);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;display:inline-flex;position:relative}.ds-chip:before{content:"";inset:calc((36px - var(--tap-min)) / 2) 0;position:absolute}.ds-chip.is-on{border-color:var(--color-text);background:var(--color-text);color:var(--color-bg)}.ds-chip:disabled{opacity:.45}.ds-empty{justify-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;display:grid}.ds-empty--compact{padding:var(--space-4) var(--space-2)}.ds-empty__icon{width:56px;height:56px;margin-bottom:var(--space-1);border-radius:var(--radius-full);background:var(--color-accent-soft);color:var(--color-accent-text);font-size:var(--text-title1);place-items:center;display:grid}.ds-empty--compact .ds-empty__icon{width:44px;height:44px;font-size:var(--text-title3)}.ds-empty__title{font-size:var(--text-body);font-weight:var(--weight-semibold)}.ds-empty__text{max-width:34ch;color:var(--color-text-2);font-size:var(--text-subhead);line-height:var(--leading-snug)}.ds-empty__action{margin-top:var(--space-2)}.ds-skeleton{width:var(--w,100%);height:var(--h,.9em);border-radius:var(--radius-xs);background:linear-gradient(90deg, var(--color-surface-2) 0%, var(--color-surface-3) 50%, var(--color-surface-2) 100%) 0 0 / 200% 100%;animation:1.4s ease-in-out infinite ds-shimmer;display:block}.ds-skeleton--block{height:var(--h,120px);border-radius:var(--radius-md)}.ds-skeleton--circle{width:var(--w,44px);height:var(--h,var(--w,44px));border-radius:var(--radius-full)}.ds-skeleton-text{gap:var(--space-2);display:grid}.ds-skeleton-card{gap:var(--space-3);display:grid}@keyframes ds-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.ds-skeleton{animation:none}}.ds-banner{--banner-fg:var(--color-info);--banner-bg:var(--color-info-soft);gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--banner-bg);color:var(--color-text);align-items:flex-start;display:flex}.ds-banner--success{--banner-fg:var(--color-success);--banner-bg:var(--color-success-soft)}.ds-banner--warning{--banner-fg:var(--color-warning);--banner-bg:var(--color-warning-soft)}.ds-banner--danger{--banner-fg:var(--color-danger);--banner-bg:var(--color-danger-soft)}.ds-banner--offline{--banner-fg:var(--color-text-2);--banner-bg:var(--color-surface-2)}.ds-banner--accent{--banner-fg:var(--color-accent-text);--banner-bg:var(--color-accent-soft)}.ds-banner__icon{color:var(--banner-fg);font-size:var(--text-title3);margin-top:.1em}.ds-banner__body{gap:var(--space-1);min-width:0;font-size:var(--text-subhead);line-height:var(--leading-snug);flex:1;display:grid}.ds-banner__title{font-weight:var(--weight-semibold)}.ds-banner__text{color:var(--color-text-2)}.ds-banner__action{margin-top:var(--space-1)}.ds-banner__close{width:var(--tap-min);height:var(--tap-min);margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-3)) 0 0;color:var(--color-text-3);background:0 0;border:0;place-items:center;display:grid}.ds-toasts{z-index:var(--z-toast);left:var(--gutter);right:var(--gutter);bottom:calc(var(--safe-bottom) + var(--tabbar-height) + var(--tabbar-gap) + var(--space-4));pointer-events:none;justify-items:center;display:grid;position:fixed}.ds-toast{align-items:center;gap:var(--space-2);max-width:var(--content-max);min-height:var(--tap-min);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius-lg);background:var(--color-text);color:var(--color-bg);box-shadow:var(--shadow-2);font-size:var(--text-subhead);font-weight:var(--weight-medium);pointer-events:auto;animation:ds-toast-in var(--dur-slow) var(--ease-spring);display:flex}.ds-toast__icon{flex-shrink:0}.ds-toast__message{padding-block:var(--space-1);padding-right:var(--space-2);flex:1}.ds-toast__action{min-height:36px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-weight:var(--weight-semibold);white-space:nowrap;border:0}@keyframes ds-toast-in{0%{opacity:0;transform:translateY(16px)scale(.96)}}.ds-sheet-layer{z-index:var(--z-sheet);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.ds-sheet-scrim{background:var(--color-scrim);animation:ds-fade-in var(--dur) var(--ease-out);transition:opacity var(--dur) var(--ease-out);position:absolute;inset:0}.ds-sheet{--drag:0px;width:100%;max-width:var(--content-max);max-height:calc(100dvh - var(--safe-top) - var(--space-3) - var(--keyboard));border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-elevated);box-shadow:var(--shadow-2);transform:translateY(calc(var(--drag) - var(--keyboard)));animation:ds-sheet-in var(--dur-slow) var(--ease-spring);transition:transform var(--dur) var(--ease-out);outline:none;flex-direction:column;display:flex;position:relative}.ds-sheet.is-dragging{transition:none}.ds-sheet--large{height:calc(100dvh - var(--safe-top) - var(--space-3) - var(--keyboard))}.is-closing .ds-sheet{transition:transform var(--dur) var(--ease-in-out);transform:translateY(110%)}.is-closing .ds-sheet-scrim{opacity:0}.ds-sheet__head{padding:var(--space-2) var(--space-4) var(--space-2);touch-action:none;cursor:grab}.ds-sheet__grabber{width:36px;height:5px;margin:0 auto var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-3);display:block}.ds-sheet__titlebar{align-items:center;gap:var(--space-2);min-height:var(--tap-min);display:flex}.ds-sheet__title{min-width:0;font-size:var(--text-title3);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);flex:1}.ds-sheet__close{width:32px;height:32px;margin:calc((32px - var(--tap-min)) / 2) 0;border-radius:var(--radius-full);background:var(--color-surface-2);color:var(--color-text-2);font-size:var(--text-callout);border:0;flex-shrink:0;place-items:center;display:grid;position:relative}.ds-sheet__close:before{content:"";inset:calc((32px - var(--tap-min)) / 2);position:absolute}.ds-sheet__description{margin-top:var(--space-1);color:var(--color-text-2);font-size:var(--text-subhead);line-height:var(--leading-snug)}.ds-sheet__body{gap:var(--space-4);padding:var(--space-2) var(--space-4) calc(var(--space-6) + var(--safe-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;grid-template-columns:minmax(0,1fr);align-content:start;display:grid;overflow-y:auto}.ds-sheet__footer{gap:var(--space-2);padding:var(--space-3) var(--space-4) calc(var(--space-3) + var(--safe-bottom));border-top:1px solid var(--color-separator);background:var(--color-elevated);display:grid}:is(.ds-sheet__footer+.ds-sheet__body,.ds-sheet:has(.ds-sheet__footer) .ds-sheet__body){padding-bottom:var(--space-4)}.has-keyboard .ds-sheet__footer,.has-keyboard .ds-sheet__body{padding-bottom:var(--space-3)}.ds-action-sheet__list{gap:var(--space-2);display:grid}@keyframes ds-sheet-in{0%{transform:translateY(100%)}}@keyframes ds-fade-in{0%{opacity:0}}.ds-ring{width:var(--size);height:var(--size);flex-shrink:0;place-items:center;display:inline-grid;position:relative}.ds-ring>svg{position:absolute;inset:0;overflow:visible}.ds-ring__track{stroke:var(--color-surface-2)}.ds-ring__value{stroke:var(--ring-color);transition:stroke-dashoffset var(--dur-slow) var(--ease-out), stroke var(--dur) var(--ease-out)}.ds-ring__center{text-align:center;line-height:var(--leading-tight);justify-items:center;display:grid;position:relative}.ds-meter{--meter-color:var(--color-accent-text);border-radius:var(--radius-full);background:var(--color-surface-2);width:100%;height:8px;position:relative;overflow:hidden}.ds-meter--sm{height:6px}.ds-meter__fill{width:var(--pct);border-radius:var(--radius-full);background:var(--meter-color);height:100%;transition:width var(--dur-slow) var(--ease-out);display:block}.ds-meter--gold{--meter-color:var(--viz-savings)}.ds-meter--success,.ds-meter--accent.is-full{--meter-color:var(--color-success)}.ds-meter--warning{--meter-color:var(--color-warning)}.ds-meter--danger{--meter-color:var(--color-danger)}.ds-meter--neutral{--meter-color:var(--color-text-3)}.ds-tip{gap:var(--space-3);padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4);border:1px solid var(--color-accent);border-radius:var(--radius-lg);background:var(--color-accent-soft);animation:ds-tip-in var(--dur-slow) var(--ease-spring);align-items:flex-start;display:flex}.ds-tip__icon{color:var(--color-gold);font-size:var(--text-title3);margin-top:.1em}.ds-tip__body{gap:var(--space-1);flex:1;min-width:0;display:grid}.ds-tip__title{font-weight:var(--weight-semibold)}.ds-tip__text{color:var(--color-text-2);font-size:var(--text-subhead);line-height:var(--leading-snug)}.ds-tip__action{min-height:var(--tap-min);margin-block:calc(-1 * var(--space-2));color:var(--color-accent-text);font-weight:var(--weight-semibold);background:0 0;border:0;justify-self:start;padding:0}.ds-tip__close{width:var(--tap-min);height:var(--tap-min);margin:calc(-1 * var(--space-2)) 0;color:var(--color-text-3);background:0 0;border:0;place-items:center;display:grid}@keyframes ds-tip-in{0%{opacity:0;transform:translateY(-6px)}}.ds-avatar{--person:var(--color-accent-text);border-radius:var(--radius-full);background:var(--person);width:36px;height:36px;color:var(--color-bg);font-weight:var(--weight-bold);font-size:var(--text-callout);flex-shrink:0;place-items:center;display:inline-grid;position:relative}.ds-avatar.is-fayssal{--person:var(--person-fayssal)}.ds-avatar.is-celia{--person:var(--person-celia)}.ds-avatar.is-ami{--person:var(--person-ami)}.ds-avatar--sm{width:28px;height:28px;font-size:var(--text-footnote)}.ds-avatar--lg{width:52px;height:52px;font-size:var(--text-title3)}.ds-avatar__badge{min-width:22px;padding:0 var(--space-1);border:2px solid var(--color-bg);border-radius:var(--radius-full);background:var(--color-surface-3);color:var(--color-text);font-size:var(--text-caption2);text-align:center;line-height:18px;position:absolute;bottom:-6px;right:-12px}.ds-page-header{align-items:flex-end;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-1) 0;flex-wrap:wrap;display:flex}.ds-page-header__text{flex:999 auto;min-width:0}.ds-page-header__eyebrow{color:var(--color-text-3);font-size:var(--text-footnote);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.ds-page-header__title{overflow-wrap:anywhere;font-size:var(--text-large);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.ds-page-header__subtitle{color:var(--color-text-2);font-size:var(--text-subhead)}.ds-page-header__trailing{justify-content:flex-end;align-items:center;gap:var(--space-1);padding-bottom:var(--space-0-5);flex:1 0 auto;display:flex}.ds-nav-header{z-index:var(--z-header);align-items:center;gap:var(--space-2);margin:calc(-1 * var(--space-2)) calc(-1 * var(--gutter)) 0;padding:calc(var(--safe-top) + var(--space-1)) var(--space-2) var(--space-1);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-bottom:1px solid var(--glass-border);grid-template-columns:1fr auto 1fr;display:grid;position:sticky;top:0}.ds-page:has(>.ds-nav-header){padding-top:var(--space-2)}.ds-nav-header__back{align-items:center;gap:var(--space-0-5);min-height:var(--tap-min);max-width:100%;padding:0 var(--space-2) 0 0;color:var(--color-accent-text);font-size:var(--text-body);white-space:nowrap;background:0 0;border:0;justify-self:start;text-decoration:none;display:inline-flex;overflow:hidden}.ds-nav-header__back span{text-overflow:ellipsis;overflow:hidden}.ds-nav-header__title{font-size:var(--text-body);font-weight:var(--weight-semibold);text-align:center;white-space:nowrap}.ds-nav-header__trailing{justify-content:flex-end;display:flex}.ds-stat{gap:var(--space-0-5);min-width:0;display:grid}.ds-stat__label{color:var(--color-text-3);font-size:var(--text-footnote)}.ds-stat__value{font-size:var(--text-title2);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.ds-stat--lg .ds-stat__value{font-size:var(--text-large)}.ds-stat__unit{margin-left:var(--space-1);color:var(--color-text-3);font-size:var(--text-subhead);font-weight:var(--weight-medium);letter-spacing:0}.ds-stat__hint{color:var(--color-text-3);font-size:var(--text-footnote)}.ds-stat--positive .ds-stat__value{color:var(--color-success)}.ds-stat--negative .ds-stat__value{color:var(--color-danger)}.ds-stat--gold .ds-stat__value{color:var(--color-gold)}.ds-glass{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight), var(--shadow-2);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate))}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.ds-glass,.ds-nav-header,.ds-icon-button--glass{background:var(--glass-bg-opaque)}}.ds-tabbar-dock{z-index:var(--z-tabbar);left:0;right:0;bottom:calc(var(--safe-bottom) + var(--space-2));justify-content:center;align-items:center;gap:var(--space-1-5);padding-inline:var(--tabbar-inset);pointer-events:none;display:flex;position:fixed}.ds-tabbar-dock:before,.ds-tabbar-dock:after{content:"";z-index:-1;position:absolute;left:0;right:0}.ds-tabbar-dock:before{top:0;bottom:calc(-1 * (var(--safe-bottom) + var(--space-2)));background:var(--color-bg);pointer-events:auto}.ds-tabbar-dock:after{height:var(--space-6);background:linear-gradient(to bottom, transparent, var(--color-bg));pointer-events:none;bottom:100%}.ds-tabbar{max-width:calc(var(--content-max) - var(--tabbar-fab) - var(--space-1-5));height:var(--tabbar-height);padding:var(--space-0-5);border-radius:var(--radius-full);pointer-events:auto;flex:1;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.ds-tabbar__item{align-content:center;justify-items:center;gap:var(--space-0-5);border-radius:var(--radius-full);min-width:0;color:var(--color-text-2);transition:background-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out);text-decoration:none;display:grid}.ds-tabbar__item:active{transform:scale(.94)}.ds-tabbar__item.is-active{background:var(--color-accent-soft);color:var(--color-accent-text)}.ds-tabbar__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:var(--tabbar-label-size);font-weight:var(--weight-semibold);letter-spacing:-.01em;line-height:1;overflow:hidden}.ds-fab{width:var(--tabbar-fab);height:var(--tabbar-fab);border-radius:var(--radius-full);color:var(--color-text);pointer-events:auto;transition:transform var(--dur) var(--ease-spring);flex-shrink:0;place-items:center;display:grid}.ds-fab:active{transform:scale(.9)}.ds-toolbar{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.ds-toolbar>.ds-segmented{flex:none;min-width:9rem}.ds-period-nav{align-items:center;gap:var(--space-1);flex:11rem;min-width:0;display:flex}.ds-period-nav__label{text-align:center;flex:1;min-width:0;display:grid}.ds-period-nav__caption{color:var(--color-text-3);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.ds-period-nav__title{font-size:var(--text-callout);font-weight:var(--weight-semibold)}.ds-period-nav__title:first-letter{text-transform:uppercase}.launch{place-content:center;justify-items:center;gap:var(--space-6);min-height:100dvh;padding:var(--safe-top) var(--gutter) var(--safe-bottom);color:var(--color-text-2);display:grid}.launch__logo{border-radius:var(--radius-xl);width:96px;height:96px;box-shadow:var(--shadow-accent)}.shell-offline{z-index:var(--z-header);max-width:var(--content-max);padding:calc(var(--safe-top) + var(--space-2)) var(--gutter) 0;margin:0 auto;position:sticky;top:0}.legacy .ds-nav-header{margin:calc(-1 * var(--safe-top) - 12px) -16px var(--space-3)}.legacy-block>.card{margin-bottom:0}.login{gap:var(--space-6);max-width:420px;min-height:100dvh;padding:calc(var(--safe-top) + var(--space-8)) var(--gutter) calc(var(--safe-bottom) + var(--space-6));grid-template-rows:1fr auto auto;margin:0 auto;display:grid}.login__brand{align-content:center;justify-items:center;gap:var(--space-2);text-align:center;display:grid}.login__logo{width:112px;height:112px;margin-bottom:var(--space-2)}.login__name{font-size:var(--text-large);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight)}.login__tagline{color:var(--color-text-2)}.login__actions{gap:var(--space-3);display:grid}.login__privacy{text-align:center}.meal-pick,.meal-analyzing,.meal-result{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.meal-pick__buttons{gap:var(--space-2);display:grid}.meal-photo{object-fit:cover;border-radius:var(--radius-lg);width:100%;max-height:260px}.meal-scan{border-radius:var(--radius-lg);background:var(--color-surface-2);position:relative;overflow:hidden}.meal-scan img{object-fit:cover;filter:saturate(.85);width:100%;max-height:300px}.meal-scan__beam{background:linear-gradient(180deg, transparent 0%, var(--color-accent-soft) 45%, var(--color-accent-text) 50%, var(--color-accent-soft) 55%, transparent 100%);mix-blend-mode:screen;opacity:.6;animation:meal-scan 2.2s var(--ease-in-out) infinite;background-size:100% 220%;position:absolute;inset:0}@keyframes meal-scan{0%{background-position:0 120%}to{background-position:0 -20%}}@media (prefers-reduced-motion:reduce){.meal-scan__beam{opacity:.25;animation:none}}.meal-analyzing__text{align-items:center;gap:var(--space-2);display:flex}.meal-analyzing__icon{color:var(--color-gold);font-size:var(--text-title3)}.meal-result__head{align-items:flex-start;gap:var(--space-3);display:flex}.meal-result__thumb{border-radius:var(--radius-md);object-fit:cover;flex-shrink:0;width:72px;height:72px}.meal-result__title{gap:var(--space-2);flex:1;justify-items:start;min-width:0;display:grid}.meal-result__title .ds-field{width:100%}.meal-answer{align-items:center;gap:var(--space-2);display:flex}.meal-answer .ds-field{flex:1}.meal-items,.meal-favs{border-radius:var(--radius-lg);background:var(--color-surface);margin:0;padding:0;list-style:none;display:grid}.meal-item,.meal-fav{align-items:center;gap:var(--space-3);min-height:60px;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);display:flex}.meal-item+.meal-item,.meal-fav+.meal-fav{border-top:1px solid var(--color-separator)}.meal-item__text,.meal-fav__text{gap:var(--space-0-5);flex:1;min-width:0;display:grid}.meal-item__name,.meal-fav__name{font-weight:var(--weight-semibold)}.meal-item__macros,.meal-fav__macros{color:var(--color-text-3);font-size:var(--text-footnote)}.meal-item__grams{flex-shrink:0;width:6.5em}.meal-item__grams input{text-align:right}.meal-details{border-radius:var(--radius-md);background:var(--color-surface-2);padding:var(--space-3) var(--space-4);color:var(--color-text-2);font-size:var(--text-subhead)}.meal-details summary{min-height:var(--space-6);color:var(--color-text);font-weight:var(--weight-medium);cursor:pointer}.meal-details ul{margin:var(--space-2) 0 0;padding-left:var(--space-5);gap:var(--space-1);display:grid}.meal-research{margin-top:var(--space-2);white-space:pre-wrap}.meal-options{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);display:grid}.meal-option{gap:var(--space-2);display:grid}.meal-option__row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.meal-option__row small{color:var(--color-text-3);font-size:var(--text-footnote);display:block}.meal-footer{gap:var(--space-2);display:grid}.meal-footer__totals{color:var(--color-text-2);font-size:var(--text-subhead);text-align:center}.meal-footer__totals b{color:var(--color-text)}.meal-macros-form,.meal-edit-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.meal-row-buttons{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.meal-delete{--btn-fg:var(--color-danger)}.log-progress{top:calc(-1 * var(--space-2));z-index:1;gap:var(--space-2);margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-4)) 0;padding:var(--space-2) var(--space-4) var(--space-3);background:var(--color-elevated);border-bottom:1px solid var(--color-separator);display:grid;position:sticky}.log-progress__text{color:var(--color-text-2);font-size:var(--text-subhead)}.log-progress__text b{color:var(--color-text)}.log-ex{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:minmax(0,1fr);display:grid}.log-circuit{margin:0 0 var(--space-1);color:var(--color-gold);font-size:var(--text-footnote);font-weight:var(--weight-semibold)}.log-ex__head{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.log-ex__name{font-size:var(--text-body);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}.log-ex__rx{color:var(--color-text-2);font-size:var(--text-subhead);font-variant-numeric:tabular-nums;white-space:nowrap}.log-ex__note,.log-ex__last{color:var(--color-text-3);font-size:var(--text-footnote);line-height:var(--leading-snug)}.log-ex__up{color:var(--color-success);font-weight:var(--weight-semibold)}.log-ex>.ds-button--tertiary{margin-left:calc(-1 * var(--space-3));justify-self:start}.log-sets{gap:var(--space-2);margin:var(--space-1) 0 0;padding:0;list-style:none;display:grid}.log-set{grid-template-columns:4.2em minmax(0, 1fr) minmax(0, 1fr) var(--tap-min);align-items:center;gap:var(--space-2);display:grid}.log-set--timed,.log-set--read{grid-template-columns:4.2em minmax(0, 1fr) var(--tap-min)}.log-set__n{color:var(--color-text-3);font-size:var(--text-footnote)}.log-set__field input{text-align:right;font-variant-numeric:tabular-nums}.log-set__timed{font-variant-numeric:tabular-nums}.log-set__read.is-planned{color:var(--color-text-3)}.log-set.is-done .ds-input{border-color:var(--color-success)}.log-set .ds-check{margin:0}.log-howto{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-2);display:grid}.log-howto__photos{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.log-howto__photos figure{gap:var(--space-1);margin:0;display:grid}.log-howto__photos img{aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-sm);background:var(--color-surface-3);width:100%}.log-howto__photos figcaption{color:var(--color-text-3);font-size:var(--text-caption);text-align:center}.log-howto__cues{gap:var(--space-1-5);padding-left:var(--space-5);color:var(--color-text-2);font-size:var(--text-subhead);line-height:var(--leading-snug);margin:0;display:grid}.log-footer{gap:var(--space-2);display:grid}.log-rest{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--color-gold-soft);animation:ds-tip-in var(--dur-slow) var(--ease-spring);display:flex}.log-rest .ds-ring{color:var(--color-gold)}.log-rest__time{font-size:var(--text-title3);font-weight:var(--weight-bold);flex:1}.log-rest.is-over .log-rest__time{color:var(--color-gold)}.move-week{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-separator);margin:0;padding:0;list-style:none;display:grid}.move-week__day{align-items:center;gap:var(--space-2);min-height:52px;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-4);transition:background-color var(--dur-fast) var(--ease-out);grid-template-columns:3.4em minmax(0,1fr) auto auto;display:grid;position:relative}.move-week__day+.move-week__day{border-top:1px solid var(--color-separator)}.move-week__name{color:var(--color-text-3);font-size:var(--text-footnote);font-weight:var(--weight-semibold);text-transform:capitalize}.move-week__session{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.move-week__day.is-rest .move-week__session{color:var(--color-text-3)}.move-week__day.is-today{background:var(--color-accent-soft)}.move-week__day:has(.move-week__handle-space){padding-right:var(--space-4)}.move-week__handle{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-sm);color:var(--color-text-3);cursor:grab;touch-action:none;background:0 0;border:0;place-items:center;padding:0;display:grid}.move-week__handle .ds-icon{width:20px;height:20px}.move-week__handle:active{color:var(--color-text);cursor:grabbing}.move-week.is-dragging{-webkit-user-select:none;user-select:none}.move-week-wrap{gap:var(--space-2);display:grid;position:relative}.move-week__day.is-source{opacity:.4}.move-week__ghost{right:var(--space-2);z-index:3;align-items:center;gap:var(--space-1);padding:var(--space-1-5) var(--space-3) var(--space-1-5) var(--space-2);border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-text-on-accent);font-size:var(--text-footnote);font-weight:var(--weight-semibold);box-shadow:var(--shadow-accent);pointer-events:none;display:inline-flex;position:absolute;translate:0 -50%}.move-week__ghost .ds-icon{width:16px;height:16px}.move-week__day.is-target{background:var(--color-accent-soft);box-shadow:inset 0 0 0 2px var(--color-accent-text)}.move-week__day.is-target .move-week__session{color:var(--color-accent-text);font-weight:var(--weight-semibold)}.move-steps{gap:var(--space-3);display:grid}.move-steps__row{align-items:center;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.move-steps__who{gap:var(--space-1);display:grid}.move-steps__value{font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.move-progress{margin:0;padding:0;list-style:none;display:grid}.move-progress__row{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) 0;display:flex}.move-progress__row+.move-progress__row{border-top:1px solid var(--color-separator)}.move-progress__text{flex:1;min-width:0;display:grid}.move-progress__name{font-weight:var(--weight-medium)}.move-progress__detail{color:var(--color-text-3);font-size:var(--text-footnote);font-variant-numeric:tabular-nums}.install-steps{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.install-steps li{align-items:center;gap:var(--space-3);color:var(--color-text);font-size:var(--text-subhead);line-height:var(--leading-snug);display:flex}.install-steps__n{border-radius:var(--radius-full);background:var(--color-accent-soft);width:28px;height:28px;color:var(--color-accent-text);font-size:var(--text-footnote);font-weight:var(--weight-bold);flex:none;place-items:center;display:grid}.install-steps__icon{color:var(--color-text-2);font-size:var(--text-title3);flex:none}.today-avatar{width:var(--tap-min);height:var(--tap-min);place-items:center;text-decoration:none;display:grid}.today-daynav{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:inline-flex}.today-daynav__date{min-width:0}.today-readonly{justify-content:center;display:flex}.today-hint{padding-inline:var(--space-1);color:var(--color-text-3);font-size:var(--text-footnote)}.today-religion-link{justify-self:start}.today-link{min-height:var(--tap-min);color:var(--color-accent-text);font-weight:var(--weight-semibold);background:0 0;border:0;padding:0}.today-score,.today-next,.today-meals,.today-session,.today-water,.today-pause,.today-tile{grid-template-columns:minmax(0,1fr)}.today-session__head .ds-tag{white-space:normal}.today-score{gap:var(--space-4);display:grid}.today-score__top{align-items:center;gap:var(--space-4);display:flex}.today-score__total{font-size:var(--text-title1);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight)}.today-score__max{color:var(--color-text-3);font-size:var(--text-caption)}.today-score__text{gap:var(--space-1);min-width:0;display:grid}.today-score__grade{color:var(--grade);font-size:var(--text-title2);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.today-score__sentence{font-size:var(--text-subhead);line-height:var(--leading-snug)}.today-score__meta{color:var(--color-text-3);font-size:var(--text-footnote)}.today-score__toggle{align-items:center;gap:var(--space-3);min-height:var(--tap-min);margin:calc(-1 * var(--space-2)) 0;color:var(--color-text-2);font-size:var(--text-subhead);text-align:left;background:0 0;border:0;padding:0;display:flex}.today-score__bars{gap:var(--space-1);flex:1;grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.today-score__bar{border-radius:var(--radius-full);background:linear-gradient(90deg, var(--color-accent-text) var(--pct), var(--color-surface-2) var(--pct));height:6px}.today-score__caret{color:var(--color-text-3);transition:transform var(--dur) var(--ease-out)}.today-score__toggle.is-open .today-score__caret{transform:rotate(180deg)}.today-parts{gap:var(--space-3) var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.today-part{gap:var(--space-1);min-width:0;display:grid}.today-part__head{align-items:center;gap:var(--space-1);min-width:0;color:var(--color-text-2);font-size:var(--text-caption);display:flex}.today-part__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.today-part__value{font-size:var(--text-callout);font-weight:var(--weight-semibold)}.today-part__value small{color:var(--color-text-3);font-size:var(--text-caption);font-weight:var(--weight-regular)}.today-goal{align-items:center;gap:var(--space-3);min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-2);color:inherit;text-decoration:none;display:flex}.today-goal>.ds-icon:first-child{color:var(--color-gold);font-size:var(--text-title3)}.today-goal__text{flex:1;min-width:0;display:grid}.today-goal__title{font-size:var(--text-footnote);color:var(--color-text-2)}.today-goal__status{color:var(--status);font-size:var(--text-subhead);font-weight:var(--weight-semibold)}.today-score__more{align-items:center;gap:var(--space-0-5);min-height:var(--tap-min);margin:calc(-1 * var(--space-2)) 0;color:var(--color-accent-text);font-size:var(--text-subhead);font-weight:var(--weight-medium);justify-self:start;text-decoration:none;display:inline-flex}.today-next{gap:var(--space-2);display:grid}.today-next__eyebrow{color:var(--color-accent-text);font-size:var(--text-caption);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.today-next__main{align-items:center;gap:var(--space-3);display:flex}.today-next__icon{border-radius:var(--radius-full);background:var(--color-accent);width:44px;height:44px;color:var(--color-text-on-accent);font-size:var(--text-title3);flex-shrink:0;place-items:center;display:grid}.today-next__text{flex:1;min-width:0}.today-next__title{font-weight:var(--weight-semibold);line-height:var(--leading-snug)}.today-next__detail{color:var(--color-text-2);font-size:var(--text-footnote);line-height:var(--leading-snug)}.today-next__later{padding:var(--space-1) 0 0;border-top:1px solid var(--color-separator);margin:0;list-style:none;display:grid}.today-next__row{column-gap:var(--space-2);width:100%;min-height:var(--tap-min);padding:var(--space-1-5) 0;color:var(--color-text);text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.today-next__row>.ds-icon:first-child{color:var(--color-accent-text);grid-area:1/1/span 2}.today-next__row-title{font-size:var(--text-subhead);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;grid-area:1/2;overflow:hidden}.today-next__row-detail{color:var(--color-text-3);font-size:var(--text-footnote);text-overflow:ellipsis;white-space:nowrap;grid-area:2/2;overflow:hidden}.today-next__row>.ds-icon:last-child{color:var(--color-text-3);grid-area:1/3/span 2}.today-next--done{align-items:center;gap:var(--space-3);display:flex}.today-next__done-icon{color:var(--color-success);font-size:var(--text-title1)}.today-prayers{gap:var(--space-1-5);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.today-prayer{justify-items:center;gap:var(--space-0-5);width:100%;min-height:88px;padding:var(--space-2) var(--space-0-5);border:1px solid var(--color-separator);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur) var(--ease-out);display:grid}.today-prayer:active:not(:disabled){transform:scale(.95)}.today-prayer:disabled{cursor:default}.today-prayer__name{font-size:var(--text-footnote);font-weight:var(--weight-semibold)}.today-prayer__time{color:var(--color-text-3);font-size:var(--text-caption)}.today-prayer__mark{color:var(--color-border);font-size:var(--text-title3);line-height:1}.today-prayer__state{min-height:1.2em;color:var(--color-text-3);font-size:var(--text-caption2);font-weight:var(--weight-medium)}.today-prayer.is-next,.today-prayer.is-now{border-color:var(--color-accent-text);box-shadow:0 0 0 1px var(--color-accent-text)}.today-prayer.is-ontime{background:var(--color-accent-soft);box-shadow:none;border-color:#0000}.today-prayer.is-ontime .today-prayer__mark,.today-prayer.is-ontime .today-prayer__state{color:var(--color-accent-text)}.today-prayer.is-late{background:var(--color-warning-soft);box-shadow:none;border-color:#0000}.today-prayer.is-late .today-prayer__mark,.today-prayer.is-late .today-prayer__state{color:var(--color-warning)}.today-pause{gap:var(--space-3);display:grid}.today-acts{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.today-act{align-items:center;gap:var(--space-3);min-height:var(--tap-min);display:flex}.today-act-add{align-items:flex-end;gap:var(--space-2);display:flex}.today-act-add .ds-field{flex:1}.today-meals{gap:var(--space-4);display:grid}.today-kcal{gap:var(--space-2);display:grid}.today-kcal__value{font-size:var(--text-title2);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight)}.today-kcal__value small{color:var(--color-text-3);font-size:var(--text-subhead);font-weight:var(--weight-medium);letter-spacing:0}.today-kcal__left{color:var(--color-text-2)}.today-macros{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.today-macro{gap:var(--space-1);min-width:0;display:grid}.today-macro__label{color:var(--color-text-3);font-size:var(--text-caption)}.today-macro__value{font-weight:var(--weight-semibold)}.today-macro__value small{color:var(--color-text-3);font-size:var(--text-caption);font-weight:var(--weight-regular)}.today-logged{margin:0;padding:0;list-style:none;display:grid}.today-logged__item+.today-logged__item{border-top:1px solid var(--color-separator)}.today-logged__item{align-items:center;gap:var(--space-1);display:flex}.today-logged__row{align-items:center;gap:var(--space-3);min-width:0;min-height:60px;padding:var(--space-2) 0;color:inherit;text-align:left;background:0 0;border:0;flex:1;display:flex}.today-logged__photo{border-radius:var(--radius-sm);object-fit:cover;background:var(--color-surface-2);flex-shrink:0;width:48px;height:48px}.today-logged__photo--empty{color:var(--color-text-3);font-size:var(--text-title3);place-items:center;display:grid}.today-logged__text{gap:var(--space-0-5);min-width:0;display:grid}.today-logged__name{font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.today-logged__meta{color:var(--color-text-3);font-size:var(--text-footnote)}.today-session{gap:var(--space-4);display:grid}.today-week{gap:var(--space-1);grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.today-week__day{justify-items:center;gap:var(--space-0-5);min-width:0;padding:var(--space-1-5) var(--space-0-5);border-radius:var(--radius-sm);background:var(--color-surface-2);display:grid;position:relative}.today-week__letter{color:var(--color-text-3);font-size:var(--text-caption2);font-weight:var(--weight-semibold)}.today-week__name{max-width:100%;font-size:var(--text-caption);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.today-week__day.is-rest .today-week__name{color:var(--color-text-3)}.today-week__day.is-today{box-shadow:inset 0 0 0 1px var(--color-accent-text)}.today-week__day.is-on{background:var(--color-accent-soft)}.today-week__check{top:var(--space-0-5);right:var(--space-0-5);color:var(--color-success);font-size:var(--text-caption);position:absolute}.today-session__head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.today-session__name{min-width:12ch;font-size:var(--text-title3);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);flex:1}.today-water{gap:var(--space-3);display:grid}.today-water__head{align-items:center;gap:var(--space-2);display:flex}.today-water__icon{color:var(--color-info);font-size:var(--text-title2)}.today-water__value{font-size:var(--text-title2);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight)}.today-water__value small{color:var(--color-text-3);font-size:var(--text-subhead);font-weight:var(--weight-medium);letter-spacing:0}.today-supps{gap:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--color-separator);display:grid}.today-supps ul{margin:0;padding:0;list-style:none;display:grid}.today-supps__title{font-weight:var(--weight-semibold)}.today-supp{align-items:center;gap:var(--space-3);min-height:52px;padding-left:var(--space-2);display:flex}.today-supp__text{flex:1;min-width:0;display:grid}.today-supp__note,.today-supp__time{color:var(--color-text-3);font-size:var(--text-footnote)}.today-activity{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.today-tile{gap:var(--space-1-5);align-content:start;display:grid}.today-tile__label{align-items:center;gap:var(--space-1);color:var(--color-text-2);font-size:var(--text-footnote);display:flex}.today-tile__value{font-size:var(--text-title2);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight)}.today-tile__hint{color:var(--color-text-3);font-size:var(--text-caption)}.today-workouts{padding:0 var(--space-2) 0 var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);margin:0;list-style:none;display:grid}.today-workout{align-items:center;gap:var(--space-3);min-height:52px;display:flex}.today-workout+.today-workout{border-top:1px solid var(--color-separator)}.today-workout__name{flex:1}.today-workout__min{color:var(--color-text-2)}.today-activity__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.today-partner{align-items:center;gap:var(--space-3);display:flex}.today-partner__text{gap:var(--space-0-5);flex:1;min-width:0;display:grid}.today-partner__name{font-weight:var(--weight-semibold)}.today-partner__grade{color:var(--grade);font-weight:var(--weight-medium)}.today-partner__facts{color:var(--color-text-2);font-size:var(--text-footnote)}.today-partner__training{align-items:center;gap:var(--space-1);font-size:var(--text-footnote);display:flex}.today-partner__score{font-size:var(--text-footnote);font-weight:var(--weight-bold)}@media (width<=380px){.today-parts,.today-macros{grid-template-columns:repeat(2,minmax(0,1fr))}}.today-meal-actions{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));display:grid}.today-meal-actions>:first-child{grid-column:1/-1}
