:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#050d0a;--forest:#2c4f3b;--lime:#c2ef2f;--canvas:#f0f0f0;--white:#fff;--hairline:#e4e4e4;--text-grey:#626262;--soft-grey:#a6a6a6;--lavender:#bcbccf;--color-bg:var(--canvas);--color-surface:var(--white);--color-surface-2:var(--canvas);--color-track:var(--hairline);--color-divider:var(--hairline);--color-marker:var(--lavender);--line:var(--hairline);--text-num:var(--ink);--text-primary:var(--ink);--text-secondary:var(--text-grey);--text-muted:var(--text-grey);--text-faint:var(--text-grey);--color-primary:var(--ink);--color-primary-text:var(--white);--selected-bg:var(--ink);--selected-fg:var(--white);--selected-fg-muted:#ffffffb8;--highlight:var(--lime);--on-highlight:var(--ink);--danger:#b3261e;--warning:#8a5a00;--nav-bg:var(--white);--tray-bg:var(--white);--scrim:#050d0a80;--focus-ring:var(--ink);--card-bg:var(--color-surface);--card-fg:var(--ink);--card-muted:var(--text-grey);--card-surface-2:var(--canvas);--card-line:var(--hairline);--card-hover:#f7f7f7;--track-bg:var(--hairline);--track-fill:var(--ink);--arrow-bg:var(--ink);--arrow-fg:var(--white);--spark-bar:var(--lavender);--spark-now:var(--ink);--ring-track:var(--hairline);--ring-fill:var(--ink);--chart-line:var(--lime);--chart-fill:#c2ef2f38;--chart-grid:#ffffff1a;--chart-tick:var(--soft-grey);--chart-ref:#ffffff80;--safe-top:calc(var(--tg-safe-area-inset-top,env(safe-area-inset-top,0px)) + var(--tg-content-safe-area-inset-top,0px));--safe-bottom:var(--tg-safe-area-inset-bottom,env(safe-area-inset-bottom,0px))}html[data-tone=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:var(--ink);--color-surface:var(--forest);--color-surface-2:#ffffff1a;--color-track:#ffffff2e;--color-divider:#ffffff1f;--color-marker:#ffffff73;--line:#ffffff24;--text-num:#fff;--text-primary:#fff;--text-secondary:#fffc;--text-muted:#ffffffb8;--text-faint:#ffffffb8;--color-primary:var(--lime);--color-primary-text:var(--ink);--selected-bg:var(--lime);--selected-fg:var(--ink);--selected-fg-muted:#050d0ab3;--danger:#ffa39c;--warning:#fcb953;--nav-bg:var(--ink);--tray-bg:var(--forest);--scrim:#0009;--focus-ring:var(--lime);--card-bg:var(--forest);--card-fg:#fff;--card-muted:#ffffffb8;--card-surface-2:#ffffff1a;--card-line:#ffffff24;--card-hover:#35593f;--track-bg:#050d0a4d;--track-fill:#fff;--arrow-bg:#fff;--arrow-fg:var(--ink);--spark-bar:#ffffff47;--spark-now:var(--lime);--ring-track:#ffffff2e;--ring-fill:var(--lime)}.card--white{--card-bg:#fff;--card-fg:var(--ink);--card-muted:var(--text-grey);--card-surface-2:var(--canvas);--card-line:var(--hairline);--track-bg:var(--hairline);--track-fill:var(--ink);--arrow-bg:var(--ink);--arrow-fg:#fff;--spark-bar:var(--lavender);--spark-now:var(--ink);--ring-track:var(--hairline);--ring-fill:var(--ink)}.card--ink{--card-bg:var(--ink);--card-fg:#fff;--card-muted:var(--soft-grey);--card-surface-2:#ffffff14;--card-line:#ffffff1f;--track-bg:#ffffff2e;--track-fill:var(--lime);--arrow-bg:#fff;--arrow-fg:var(--ink);--spark-bar:#ffffff47;--spark-now:var(--lime);--ring-track:#ffffff2e;--ring-fill:var(--lime);--selected-bg:#fff;--selected-fg:var(--ink)}.card--forest{--card-bg:var(--forest);--card-fg:#fff;--card-muted:#ffffffb8;--card-surface-2:#ffffff1a;--card-line:#ffffff24;--track-bg:#050d0a4d;--track-fill:#fff;--arrow-bg:#fff;--arrow-fg:var(--ink);--spark-bar:#ffffff47;--spark-now:var(--lime);--ring-track:#ffffff2e;--ring-fill:var(--lime)}.card--lime{--card-bg:var(--lime);--card-fg:var(--ink);--card-muted:#050d0ab3;--card-surface-2:#050d0a14;--card-line:#050d0a1f;--track-bg:var(--ink);--track-fill:#fff;--arrow-bg:var(--ink);--arrow-fg:#fff;--spark-bar:#050d0a40;--spark-now:var(--ink);--ring-track:#050d0a2e;--ring-fill:var(--ink)}.card--ink,.card--forest{--text-primary:#fff;--text-num:#fff;--text-secondary:#fffc;--text-muted:#ffffffb8;--text-faint:#ffffffb8;--color-track:#ffffff2e;--color-divider:#ffffff1f;--color-marker:#ffffff73;--line:#ffffff24;--focus-ring:var(--lime)}.card--white{--text-primary:var(--ink);--text-num:var(--ink);--text-secondary:var(--text-grey);--text-muted:var(--text-grey);--text-faint:var(--text-grey);--color-track:var(--hairline);--color-divider:var(--hairline);--color-marker:var(--lavender);--line:var(--hairline);--focus-ring:var(--ink)}.card--lime{--text-primary:var(--ink);--text-num:var(--ink);--text-secondary:#050d0ab3;--text-muted:#050d0ab3;--text-faint:#050d0ab3;--color-track:#050d0a2e;--color-divider:#050d0a1f;--color-marker:#050d0a59;--line:#050d0a1f;--focus-ring:var(--ink)}.card{background:var(--card-bg);color:var(--card-fg);border-radius:var(--r-card);padding:var(--sp-6)}.card-title{color:var(--card-fg)}.card-meta,.card .tl-meta,.card .note{color:var(--card-muted)}.card--ink .btn-primary{background:var(--lime);color:var(--ink)}:root{--sp-1:2px;--sp-2:4px;--sp-3:8px;--sp-4:12px;--sp-5:16px;--sp-6:20px;--sp-7:24px;--sp-8:32px;--sp-9:40px;--sp-10:56px;--r-1:8px;--r-2:12px;--r-3:16px;--r-4:20px;--r-5:32px;--r-pill:999px;--r-card:28px;--r-card-sm:24px;--font:"Inter Tight", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-bold:600;--fs-display:42px;--lh-display:1;--ls-display:-.035em;--fs-hero:56px;--fs-num:28px;--ls-num:-.02em;--fs-h2:20px;--fs-lg:17px;--fs-title:16px;--fs-body:15px;--fs-label:13px;--fs-micro:12px;--tap-min:44px;--circle-btn:40px;--arrow:36px;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--lh-h2:1.2;--ls-h2:-.016em;--lh-lg:1.3;--ls-lg:-.01em;--lh-body:1.45;--ls-micro:0;--ease:cubic-bezier(.2, 0, 0, 1);--dur-fast:.12s;--dur:.18s;--motion-feedback:.15s;--motion-transition:.25s;--motion-ease:cubic-bezier(.215, .61, .355, 1);--app-max:520px;--nav-h:69px;--nav-fg:#454a47}.weekday-picker{gap:var(--sp-2);margin-top:var(--sp-4);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday-chip{min-width:0;min-height:var(--tap-min);padding:0 var(--sp-1);border-radius:var(--r-pill);background:var(--color-surface-2);color:var(--text-muted);font:inherit;font-size:var(--fs-micro);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;border:0;overflow:hidden}.plan-editor{padding-bottom:calc(var(--sp-8) + var(--safe-bottom))}.plan-editor-intro{margin:0 var(--sp-2) var(--sp-6)}.plan-editor-day{margin-top:var(--sp-4)}.plan-editor-day-head{align-items:end;gap:var(--sp-3);display:flex}.plan-editor-day-head .btn{flex:none}.plan-editor-exercise{padding:var(--sp-5) 0;border-bottom:1px solid var(--color-divider)}.plan-editor-exercise:last-child{border-bottom:0}.plan-editor-exercise .fields{margin-top:var(--sp-4)}.plan-editor-empty{padding:var(--sp-6) 0 var(--sp-3)}.plan-editor-add,.plan-editor-add-day{margin-top:var(--sp-5)}.plan-editor-validation{margin:var(--sp-5) var(--sp-2) 0}.plan-editor-actions{bottom:calc(var(--sp-3) + var(--safe-bottom));z-index:5;margin-top:var(--sp-4);padding:var(--sp-2);border-radius:var(--r-pill);background:var(--nav-bg);box-shadow:inset 0 0 0 1px var(--line);display:grid;position:sticky}.btn-text{min-height:var(--tap-min);padding:0 var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--text-secondary);background:0 0}.btn-text:disabled{color:var(--text-faint)}.btn-text--danger{color:var(--danger)}.plan-editor-day-head .btn-text{flex:none;align-self:flex-end}.plan-editor-regenerate{margin:var(--sp-5) auto 0;display:block}.meal-item{margin-top:var(--sp-5);padding:var(--sp-5);border-radius:var(--r-4);background:var(--color-surface-2)}.meal-item,.exercise-picker{--card-surface-2:var(--color-surface)}.meal-item .card-head{align-items:center}.exercise-picker{margin-top:var(--sp-5);padding:var(--sp-5);border-radius:var(--r-4);background:var(--color-surface-2)}.exercise-picker>.field-input{margin-top:var(--sp-4);background:var(--color-track)}.body-part-grid{gap:var(--sp-3);margin-top:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.body-part-card{justify-content:space-between;align-items:center;gap:var(--sp-3);min-height:56px;padding:0 var(--sp-4);border-radius:var(--r-3);background:var(--color-track);color:var(--text-primary);text-align:left;transition:background var(--motion-feedback) var(--motion-ease), color var(--motion-feedback) var(--motion-ease), transform var(--motion-feedback) var(--motion-ease);display:flex}.body-part-card:active{transform:scale(.97)}.body-part-card.is-selected{background:var(--selected-bg);color:var(--selected-fg)}.body-part-card.is-selected .card-meta{color:var(--selected-fg-muted)}.body-part-name{font-size:var(--fs-label);font-weight:var(--fw-bold)}.exercise-picker-list{max-height:280px;margin:var(--sp-3) 0;overflow-y:auto}.exercise-picker-row{justify-content:space-between;align-items:center;gap:var(--sp-4);width:100%;min-height:var(--tap-min);padding:var(--sp-3) var(--sp-2);text-align:left;border-bottom:1px solid var(--color-divider);display:flex}.exercise-picker-row:disabled{color:var(--text-faint);cursor:default}@media (width<=380px){.plan-editor-day-head{flex-direction:column;align-items:stretch}.plan-editor-day-head .btn{width:100%}.body-part-grid{grid-template-columns:1fr}}.skip-link{left:var(--sp-5);top:var(--sp-5);z-index:100;padding:var(--sp-4) var(--sp-5);border-radius:var(--r-2);background:var(--color-primary);color:var(--color-primary-text);font-weight:var(--fw-bold);position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}@keyframes route-in{0%{opacity:0;transform:translateY(8px)scale(.995)}to{opacity:1;transform:none}}@keyframes pushed-route-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}@keyframes scrim-in{0%{opacity:0}}@keyframes tray-in{0%{opacity:.8;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes scrim-out{to{opacity:0}}@keyframes tray-out{to{opacity:.8;transform:translateY(20px)}}@keyframes selection-pop{0%{transform:scale(.88)}70%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes content-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}*{box-sizing:border-box}html,body,#root{height:100%}html,body{overscroll-behavior:none;margin:0;padding:0;overflow:hidden}#root{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-y:auto}body{background:var(--color-bg);color:var(--text-primary);font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh-body);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,p,figure{margin:0}button{font:inherit;color:inherit;cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;padding:0}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}svg{display:block}::-webkit-scrollbar{width:0;height:0}.app{max-width:var(--app-max);padding:0 var(--sp-5) var(--sp-8);margin:0 auto}.appbar{justify-content:space-between;align-items:center;gap:var(--sp-4);z-index:5;margin-inline:calc(-1 * var(--sp-5));padding:calc(var(--sp-7) + var(--safe-top)) var(--sp-5) var(--sp-5);transition:background var(--dur-fast) var(--ease);background:0 0;display:flex;position:relative}.shell-scroll.is-scrolled .appbar{background:var(--color-bg)}.appbar-title{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:var(--fw-light);color:var(--text-primary)}.appbar-sub{font-size:var(--fs-label);color:var(--text-muted);margin-top:var(--sp-2)}.appbar--back{grid-template-columns:var(--circle-btn) minmax(0, 1fr) var(--circle-btn);align-items:center;gap:var(--sp-3);text-align:center;display:grid;position:sticky;top:0}.appbar--back .icon-btn{width:var(--circle-btn);height:var(--circle-btn)}.appbar--back .appbar-title{font-size:var(--fs-title);letter-spacing:0;line-height:1.3;font-weight:var(--fw-medium);overflow-wrap:anywhere}.appbar--back .appbar-sub{font-size:var(--fs-micro);margin-top:0}.icon-btn{width:var(--tap-min);height:var(--tap-min);border-radius:var(--r-pill);background:var(--color-surface);color:var(--text-primary);transition:background var(--motion-feedback) var(--motion-ease), color var(--motion-feedback) var(--motion-ease), transform var(--motion-feedback) var(--motion-ease);flex:none;place-items:center;display:grid;position:relative}.icon-btn:hover{background:var(--card-hover)}.icon-btn:active{transform:scale(.91)}.card-head .tl-pill,.card-head .timer,.card-head .btn{align-self:center}.card-head .grow .card-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.datestrip{gap:var(--sp-3);scrollbar-width:none;padding-bottom:var(--sp-1);display:flex;overflow-x:auto}.day{width:46px;min-height:var(--tap-min);border-radius:var(--r-pill);background:var(--color-surface);padding:var(--sp-3) 0;transition:background var(--motion-feedback) var(--motion-ease), transform var(--motion-feedback) var(--motion-ease);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:3px;display:flex}.day:active{transform:scale(.92)}.day-dow{font-size:var(--fs-micro);letter-spacing:var(--ls-micro);color:var(--text-faint)}.day-num{font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--text-secondary)}.day-mark{border-radius:var(--r-pill);background:var(--color-marker);width:4px;height:4px}.day-mark.is-blank,.day.is-future{background:0 0}.day.is-future .day-num{color:var(--text-faint);font-weight:var(--fw-regular)}.day.is-selected{background:var(--selected-bg)}.day.is-selected .day-dow{color:var(--selected-fg-muted)}.day.is-selected .day-num{color:var(--selected-fg);font-weight:var(--fw-bold)}.day.is-selected .day-mark{background:var(--selected-fg-muted)}.section{margin-top:var(--sp-8)}.section-head{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:0 var(--sp-2) var(--sp-4);display:flex}.section-name{font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--text-muted)}.timer{align-items:center;gap:var(--sp-3);background:var(--card-surface-2);border-radius:var(--r-pill);padding:7px var(--sp-4) 7px 10px;display:inline-flex}.timer-dot{border-radius:var(--r-pill);background:var(--text-num);width:7px;height:7px;animation:breathe 2.4s var(--ease) infinite}.timer-val{font-size:var(--fs-label);font-weight:var(--fw-bold);color:var(--text-num)}@keyframes breathe{0%,to{opacity:1}50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.timer-dot{animation:none}}.timer.is-paused .timer-dot{background:var(--soft-grey);animation:none}.timer.is-paused .timer-val{color:var(--text-muted)}.session-ctl{gap:var(--sp-3);margin-top:var(--sp-5);animation:ctl-in var(--dur) var(--ease);display:flex}.session-ctl .btn{flex:1 1 0}.session-ended{margin-top:var(--sp-5)}@keyframes ctl-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.session-ctl{animation:none}}.card{transition:background var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--motion-feedback) var(--motion-ease)}.card+.card{margin-top:var(--sp-4)}.card--tap{text-align:left;width:100%;display:block}.card--tap:hover{background:var(--card-hover)}.card--tap:active{transform:scale(.985)}.card-head{justify-content:space-between;align-items:baseline;gap:var(--sp-4);display:flex}.card-title{font-size:var(--fs-body);line-height:1.3;font-weight:var(--fw-medium);color:var(--card-fg)}.card-meta{font-size:var(--fs-micro);letter-spacing:var(--ls-micro);color:var(--card-muted);white-space:nowrap}.card--sm{border-radius:var(--r-card-sm);padding:var(--sp-5)}.grid-2{gap:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.card+.grid-2,.grid-2+.card,.grid-2+.grid-2{margin-top:var(--sp-4)}.grid-2>.card+.card{margin-top:0}.trend{justify-content:space-between;align-items:center;gap:var(--sp-4);background:var(--color-surface-2);border-radius:var(--r-3);padding:10px var(--sp-4);margin-top:var(--sp-5);display:flex}.card>.trend:first-child{margin-top:0}.trend-label{font-size:var(--fs-micro);letter-spacing:var(--ls-micro);color:var(--text-muted);min-width:0}.trend>.spark,.trend>.trend-val{flex:none}.trend-val{font-size:var(--fs-label);font-weight:var(--fw-bold);color:var(--text-num);white-space:nowrap}.spark{align-items:flex-end;gap:3px;height:24px;display:flex}.spark-bar{background:var(--spark-bar);border-radius:3px;width:6px}.spark-bar.is-now{background:var(--spark-now)}.chips{margin-top:var(--sp-5);flex-wrap:wrap;justify-content:space-between;gap:6px;display:flex}.chips:not(.chips--pick):not(.chips--wrap){grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.chips:not(.chips--pick):not(.chips--wrap)>.chip{text-align:center;flex-direction:column;justify-content:center;gap:0;min-width:0;padding:6px 4px;overflow:hidden}.chips:not(.chips--pick):not(.chips--wrap) .chip-label{white-space:normal;line-height:1.2}@media (width<=359px){.chips:not(.chips--pick):not(.chips--wrap) .chip-target{display:none}}.chip{background:var(--card-surface-2);min-height:36px;color:var(--card-fg);border-radius:var(--r-pill);white-space:nowrap;transition:background var(--dur-fast) var(--ease), transform var(--motion-feedback) var(--motion-ease);flex:none;align-items:center;gap:4px;padding:8px 9px;display:inline-flex}.chip--action:active{transform:scale(.94)}.chip--action{min-height:var(--tap-min);padding-left:var(--sp-5);padding-right:var(--sp-5);gap:6px}.chip-label{font-size:var(--fs-micro);font-weight:var(--fw-medium);color:var(--card-muted)}.chip--action .chip-label{font-size:var(--fs-label);color:inherit}.chip-val{font-size:var(--fs-label);font-weight:var(--fw-bold);color:var(--card-fg)}.chip-target{font-size:var(--fs-micro);font-weight:var(--fw-regular);color:var(--card-muted)}.chip--on-base{background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--line)}.chip.is-selected{background:var(--selected-bg);color:var(--selected-fg);box-shadow:none}.chip.is-selected .chip-label{color:var(--selected-fg-muted)}.chip.is-selected .chip-val{color:var(--selected-fg)}.chip.is-selected .chip-target{color:var(--selected-fg-muted)}.chip--action.is-selected .chip-label{color:var(--selected-fg)}.chip.is-met{background:var(--color-track)}.chip.is-over .chip-val{color:var(--danger)}.chip.is-empty .chip-val{color:var(--text-faint);font-weight:var(--fw-medium)}.tl{margin-top:var(--sp-5);position:relative}.tl:before{content:"";background:var(--color-track);width:2px;position:absolute;top:26px;bottom:26px;left:8px;transform:translate(-1px)}.tl-row{align-items:center;column-gap:var(--sp-3);min-height:var(--tap-min);grid-template-columns:16px 40px minmax(0,1fr) auto;padding:6px 0;display:grid}.tl-mark{justify-content:center;align-self:stretch;align-items:center;display:flex;position:relative}.tl-dot{border-radius:var(--r-pill);background:var(--text-muted);z-index:1;width:8px;height:8px;position:relative}.tl-time{font-size:var(--fs-micro);letter-spacing:var(--ls-micro);color:var(--text-faint)}.tl-name{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tl-meta{font-size:var(--fs-micro);letter-spacing:var(--ls-micro);color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;overflow:hidden}.tl-pill{background:var(--color-surface-2);border-radius:var(--r-pill);padding:6px var(--sp-4);font-size:var(--fs-label);font-weight:var(--fw-bold);color:var(--text-num);white-space:nowrap}.tl-pill--ghost{border:1px dashed var(--color-marker);color:var(--text-faint);font-weight:var(--fw-medium);background:0 0;padding:5px 11px}.tl-item{grid-template-rows:1fr;display:grid}.tl-item-clip{min-height:0;overflow:hidden}@keyframes tl-item-in{0%{opacity:0;grid-template-rows:0fr}}.tl-item.is-entering{animation:tl-item-in var(--motion-transition) var(--motion-ease)}@media (prefers-reduced-motion:reduce){.tl-item.is-entering{animation:none}}.tl-item-clip :focus-visible{outline-offset:-2px}.kcal{justify-content:space-between;align-items:baseline;gap:var(--sp-4);display:flex}.kcal-num{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:var(--fw-bold);color:var(--text-num)}.kcal-of{font-size:var(--fs-label);color:var(--text-muted);font-weight:var(--fw-regular);margin-left:6px}.kcal-left{font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--text-secondary);white-space:nowrap}.kcal--stack{justify-content:center;align-items:center;gap:var(--sp-1);text-align:center;flex-direction:column}.kcal--stack .kcal-of{margin-left:0}.kcal.is-over .kcal-num,.kcal.is-over .kcal-left{color:var(--danger)}.btn{justify-content:center;align-items:center;gap:var(--sp-3);width:100%;min-height:52px;padding:0 var(--sp-6);border-radius:var(--r-pill);font-size:var(--fs-body);font-weight:var(--fw-medium);transition:background var(--motion-feedback) var(--motion-ease), opacity var(--motion-feedback) var(--motion-ease), transform var(--motion-feedback) var(--motion-ease);display:flex}.btn:active{transform:scale(.985)}.btn-primary{background:var(--color-primary);color:var(--color-primary-text)}.btn-primary:hover{opacity:.88}.btn-quiet{background:var(--card-surface-2);color:var(--card-fg)}.btn-quiet:hover{background:var(--card-line)}.btn-quiet.is-on-base{background:var(--color-surface)}.btn-white{background:var(--white);color:var(--ink)}.btn-white:hover{opacity:.9}.card--white .btn-white{background:var(--ink);color:var(--white)}.btn.is-disabled{background:var(--color-track);color:var(--text-muted);pointer-events:none}.btn-sm{min-height:var(--tap-min);font-size:var(--fs-label);width:auto;padding:0 var(--sp-6)}.auth-card{width:min(100%,420px)}.auth-card .eyebrow{color:var(--text-muted);font-size:var(--fs-label);font-weight:var(--fw-bold)}.auth-actions{gap:var(--sp-3);margin-top:var(--sp-7);display:grid}.auth-actions+.err,.auth-actions+.note{margin-top:var(--sp-5)}.legal-links a{color:var(--text-primary);text-underline-offset:3px;padding-block:6px;text-decoration:underline;display:inline-block}.btn-row{margin-top:var(--sp-5)}.btn-row--pair{align-items:center;gap:var(--sp-3);flex-direction:column;display:flex}.btn-row--pair+.note{margin-top:var(--sp-6)}.navbar-wrap{z-index:10;padding:0 var(--sp-4) calc(var(--sp-4) + var(--safe-bottom));pointer-events:none;position:absolute;bottom:0;left:0;right:0;container-type:inline-size}.navbar{pointer-events:auto;padding:10px var(--sp-3) var(--sp-3);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);background:#ffffffb8;border:1px solid #ffffffbf;border-radius:30px;justify-content:space-between;display:flex;box-shadow:inset 0 1px #ffffffe6,0 0 0 1px #050d0a0f,0 14px 40px #050d0a29}.nav-item{min-width:var(--tap-min);min-height:var(--tap-min);color:var(--nav-fg);border-radius:var(--r-3);transition:color var(--motion-feedback) var(--motion-ease), transform var(--motion-feedback) var(--motion-ease);flex-direction:column;flex:0 auto;align-items:center;gap:5px;display:flex}.nav-item:active{transform:scale(.92)}.nav-ind{place-items:center;height:26px;display:grid}.nav-label{font-size:var(--fs-micro);font-weight:var(--fw-medium);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.nav-item.is-active{color:var(--ink);--icon-detail:var(--white);--icon-detail-fill:var(--white)}.nav-item.is-active .nav-label{font-weight:var(--fw-bold)}.nav-item.is-active svg{fill:currentColor}.nav-item.is-active .nav-ind{animation:selection-pop .32s var(--motion-ease)}@container (width<=340px){.navbar{padding-left:6px;padding-right:6px}.nav-label{font-size:11px}}@media (width<=364px){.navbar{padding-left:6px;padding-right:6px}.nav-label{font-size:11px}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.navbar{background:var(--white)}}@media (prefers-reduced-transparency:reduce){.navbar{background:var(--white);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){.navbar{background:var(--white);border-color:var(--ink)}}:where(button,input,select,a,[tabindex]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.seg{background:var(--card-surface-2);border-radius:var(--r-pill);gap:3px;padding:3px;display:flex}.seg-item{min-height:var(--tap-min);padding:0 var(--sp-4);border-radius:var(--r-pill);font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--card-muted);white-space:nowrap;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--motion-feedback) var(--motion-ease);flex:1 1 0;justify-content:center;align-items:center;display:flex}.seg-item:active{transform:scale(.96)}.seg-item:hover{color:var(--card-fg)}.seg-item.is-on{background:var(--selected-bg);color:var(--selected-fg);font-weight:var(--fw-bold)}.switch{width:52px;min-height:var(--tap-min);flex:none;place-items:center;display:grid}.switch-track{border-radius:var(--r-pill);background:var(--color-track);width:52px;height:32px;transition:background var(--dur) var(--ease);position:relative}.switch-knob{border-radius:var(--r-pill);background:var(--text-muted);width:24px;height:24px;transition:left var(--dur) var(--ease), background var(--dur) var(--ease);position:absolute;top:4px;left:4px}.switch.is-on .switch-track{background:var(--highlight)}.switch.is-on .switch-knob{background:var(--on-highlight);left:24px}@media (prefers-reduced-motion:reduce){.switch-knob{transition:none}}.fields{gap:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field--full{grid-column:1/-1}.field-label{font-size:var(--fs-micro);letter-spacing:var(--ls-micro);color:var(--card-muted)}.field-input{width:100%;min-height:var(--tap-min);padding:0 var(--sp-5);background:var(--card-surface-2);border-radius:var(--r-3);color:var(--card-fg);font-family:var(--font);font-size:var(--fs-lg);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;transition:background var(--motion-feedback) var(--motion-ease), box-shadow var(--motion-feedback) var(--motion-ease);border:0}.field-input--on-base{background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--line)}.field-input:focus{box-shadow:inset 0 0 0 1.5px var(--card-fg)}.field-input::placeholder{color:var(--card-muted);font-weight:var(--fw-regular)}.field-input--pill{border-radius:var(--r-pill);font-size:var(--fs-body);font-weight:var(--fw-medium)}.field-select{appearance:none;padding-right:var(--sp-9);background-image:none}.field-wrap{position:relative}.field-wrap .field-chev{right:var(--sp-5);color:var(--text-muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.field-range-head{justify-content:space-between;align-items:baseline;gap:var(--sp-4);display:flex}.field-range-val{font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--card-fg);font-variant-numeric:tabular-nums;white-space:nowrap}.field-range{appearance:none;width:100%;height:var(--tap-min);border-radius:var(--r-pill);cursor:pointer;background:0 0;margin:0;padding:0;display:block}.field-range::-webkit-slider-runnable-track{border-radius:var(--r-pill);background:var(--card-surface-2);height:8px}.field-range::-moz-range-track{border-radius:var(--r-pill);background:var(--card-surface-2);height:8px}.field-range::-moz-range-progress{border-radius:var(--r-pill);background:var(--card-fg);height:8px}.field-range::-webkit-slider-thumb{appearance:none;box-sizing:content-box;background:var(--card-fg);background-clip:padding-box;border:8px solid #0000;border-radius:50%;width:28px;height:28px;margin-top:-18px}.field-range::-moz-range-thumb{box-sizing:content-box;background:var(--card-fg);background-clip:padding-box;border:8px solid #0000;border-radius:50%;width:28px;height:28px}.note{font-size:var(--fs-micro);color:var(--text-faint);margin-top:var(--sp-4);line-height:1.6}.pref-block+.pref-block{margin-top:var(--sp-5);padding-top:var(--sp-5);border-top:1px solid var(--color-divider)}.pref-row{justify-content:space-between;align-items:center;gap:var(--sp-5);min-height:var(--tap-min);display:flex}.pref-name{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text-primary)}.pref-sub{font-size:var(--fs-micro);color:var(--text-faint);margin-top:3px;line-height:1.55}.pref-val{font-size:var(--fs-label);font-weight:var(--fw-bold);color:var(--text-num);white-space:nowrap}.pref-label{font-size:var(--fs-micro);letter-spacing:var(--ls-micro);color:var(--text-muted);margin-bottom:var(--sp-3)}.status{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.status-dot{border-radius:var(--r-pill);background:var(--text-muted);flex:none;width:8px;height:8px}.status-text{font-size:var(--fs-label);color:var(--text-secondary)}.status.is-live .status-dot{background:var(--text-num);animation:breathe 2.4s var(--ease) infinite}.status.is-warn .status-dot{background:var(--warning)}.status.is-warn .status-text{color:var(--warning);font-weight:var(--fw-medium)}.status.is-error .status-dot{background:var(--danger)}.status.is-error .status-text{color:var(--danger);font-weight:var(--fw-medium)}@media (prefers-reduced-motion:reduce){.status.is-live .status-dot{animation:none}}.status--tap{text-align:left;width:100%;min-height:var(--tap-min);margin-left:calc(var(--sp-3) * -1);margin-right:calc(var(--sp-3) * -1);padding:6px var(--sp-3);border-radius:var(--r-3);transition:background var(--dur-fast) var(--ease)}.status--tap:hover{background:var(--color-surface-2)}.tl--plain:before{display:none}.tl--plain .tl-row{column-gap:var(--sp-4);grid-template-columns:minmax(0,1fr) auto auto}.tl-row--tap{text-align:left;border-radius:var(--r-3);width:100%;margin:0 calc(var(--sp-3) * -1);padding:6px var(--sp-3);transition:background var(--dur-fast) var(--ease)}.tl-row--tap:hover{background:var(--color-surface-2)}.tl-row--tap:hover .tl-meta,.tl-row--tap:hover .tl-time{color:var(--text-muted)}.tl-chev{color:var(--text-faint);flex:none}.tl-raw{font-family:var(--font-mono);font-size:var(--fs-label)}.chips--pick{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.chips--wrap{flex-wrap:wrap;justify-content:flex-start;overflow:visible}.chips--wrap .chip--action{min-width:var(--tap-min);padding-left:var(--sp-4);padding-right:var(--sp-4);justify-content:center}.chips--pick .chip--action{padding-left:var(--sp-4);padding-right:var(--sp-4)}.chips--pick .chip--icon{padding-left:10px;padding-right:10px}.chart{margin-top:var(--sp-5)}.chart svg{width:100%;height:auto;overflow:visible}.chart-grid{stroke:var(--chart-grid);stroke-width:1px}.chart-area{fill:var(--chart-fill);stroke:none}.chart-line{fill:none;stroke:var(--chart-line);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.chart-line--ghost{fill:none;stroke:var(--chart-tick);stroke-width:2px;stroke-dasharray:2 6;stroke-linecap:round}.chart-dot{fill:var(--chart-line)}.chart-halo{fill:var(--card-bg)}.chart-dot--now{fill:var(--chart-line)}.chart-dot--pending{fill:var(--card-bg);stroke:var(--chart-tick);stroke-width:2px}.chart-tick{fill:var(--chart-tick);font-family:var(--font);letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:11px}.chart-tick--y{text-anchor:end}.chart-tick--mid{text-anchor:middle}.chart-tick--end{text-anchor:end}.chart-target{stroke:var(--chart-ref);stroke-width:1.5px;stroke-dasharray:3 5}.chart-hit{fill:#0000;pointer-events:all;cursor:pointer}.chart-hit:hover{fill:var(--card-surface-2)}.chart-hit:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px;fill:var(--card-line)}.logbar{align-items:center;gap:var(--sp-3);margin-top:var(--sp-4);background:var(--card-surface-2);border-radius:var(--r-pill);padding:6px;display:flex}.step{width:var(--tap-min);height:var(--tap-min);border-radius:var(--r-pill);background:var(--card-line);color:var(--card-fg);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);flex:none;place-items:center;display:grid}.step:hover{background:var(--color-track)}.step:disabled{color:var(--color-marker);pointer-events:none}.logbar-val{white-space:nowrap;flex:auto;justify-content:center;align-items:baseline;min-width:0;display:flex}.logbar-input{border-radius:var(--r-1);width:100%;min-width:0;max-width:5.5ch;color:var(--text-num);font:inherit;font-size:var(--fs-h2);line-height:1;font-weight:var(--fw-bold);text-align:right;appearance:textfield;background:0 0;border:0;padding:0}.logbar-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.logbar-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.logbar-input:focus-visible{outline-offset:4px}.logbar-unit{font-size:var(--fs-label);font-weight:var(--fw-regular);color:var(--text-muted);margin-left:3px}.monthbar{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-2) 0 var(--sp-6);display:flex}.monthbar-title{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);font-weight:var(--fw-medium);color:var(--text-primary)}.icon-btn.is-disabled{color:var(--color-marker);pointer-events:none;background:0 0}.cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.cal-dow{font-size:var(--fs-micro);letter-spacing:var(--ls-micro);color:var(--text-faint);text-align:center;padding-bottom:var(--sp-2)}.cal-cell{aspect-ratio:1;border-radius:var(--r-pill);background:var(--color-surface);min-width:0;transition:background var(--dur-fast) var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.cal-num{font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--text-secondary)}.cal-mark{box-sizing:border-box;border-radius:var(--r-pill);background:0 0;width:6px;height:6px}.cal-cell.is-rest .cal-mark{background:var(--lavender)}.cal-cell.is-done .cal-num{color:var(--text-num);font-weight:var(--fw-bold)}.cal-cell.is-done .cal-mark{background:var(--text-primary)}.cal-cell.is-missed .cal-mark,.cal-cell.is-planned .cal-mark{border:2px solid var(--lavender);width:8px;height:8px}.cal-cell.is-blank{pointer-events:none;background:0 0}.cal-cell.is-untracked,.cal-cell.is-future{background:0 0}.cal-cell.is-untracked .cal-num,.cal-cell.is-future .cal-num{color:var(--text-faint);font-weight:var(--fw-regular)}.cal-cell.is-today{background:var(--highlight)}.cal-cell.is-today .cal-num{color:var(--on-highlight);font-weight:var(--fw-bold)}.cal-cell.is-today .cal-mark{background:#050d0a73;border-color:#050d0a73}.legend{gap:var(--sp-4) var(--sp-6);margin-top:var(--sp-6);flex-wrap:wrap;display:flex}.legend-item{font-size:var(--fs-micro);letter-spacing:var(--ls-micro);color:var(--text-muted);align-items:center;gap:7px;display:inline-flex}.legend-dot--done{background:var(--text-primary)}.legend-dot--rest{background:var(--lavender)}.legend-dot--planned{border:2px solid var(--lavender);width:8px;height:8px}.scrim{z-index:40;background:var(--scrim);animation:scrim-in var(--motion-feedback) var(--motion-ease) backwards;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.tray{width:100%;max-width:var(--app-max);background:var(--tray-bg);color:var(--text-primary);border-radius:var(--r-5) var(--r-5) 0 0;padding:var(--sp-4) var(--sp-6) calc(var(--sp-6) + var(--safe-bottom));max-height:88%;animation:tray-in var(--motion-transition) var(--motion-ease) both;overflow-y:auto}.scrim.is-closing{pointer-events:none;animation:scrim-out var(--motion-feedback) var(--motion-ease) both}.scrim.is-closing .tray{animation:tray-out var(--motion-feedback) var(--motion-ease) both}.tray-grab{border-radius:var(--r-pill);background:var(--color-marker);width:40px;height:4px;margin:0 auto var(--sp-6)}.tray-title{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);font-weight:var(--fw-medium);color:var(--text-primary)}.tray-sub{font-size:var(--fs-label);color:var(--text-muted);margin-top:var(--sp-3)}.tray .icon-btn{background:var(--card-surface-2)}.tray-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);display:flex}.opt{align-items:center;gap:var(--sp-4);width:100%;min-height:56px;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-3);text-align:left;transition:background var(--dur-fast) var(--ease), transform var(--motion-feedback) var(--motion-ease);display:flex}.opt:active{transform:scale(.985)}.opt:hover{background:var(--color-surface-2)}.opt-body{flex:auto;min-width:0}.opt-name{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.opt-meta{font-size:var(--fs-micro);letter-spacing:var(--ls-micro);color:var(--text-faint);margin-top:2px}.opt-check{box-sizing:border-box;border-radius:var(--r-pill);border:2px solid var(--color-marker);color:#0000;flex:none;place-items:center;width:24px;height:24px;display:grid}.opt.is-on{background:var(--color-surface-2)}.opt.is-on .opt-check{background:var(--selected-bg);border-color:var(--selected-bg);color:var(--selected-fg);animation:selection-pop .3s var(--motion-ease)}.opt.is-on .opt-meta{color:var(--text-muted)}.opt.is-on .tl-pill{background:var(--color-surface)}.btn-danger{background:var(--card-surface-2);color:var(--danger)}.btn-danger:hover{background:var(--card-line)}.footnote{text-align:center;font-size:var(--fs-micro);letter-spacing:var(--ls-micro);color:var(--text-faint);margin-top:var(--sp-8)}.empty{font-size:var(--fs-label);color:var(--text-faint);padding:var(--sp-5) 0}.shell{height:100dvh;max-width:var(--app-max);flex-direction:column;margin:0 auto;display:flex;position:relative}.shell-scroll{overscroll-behavior:contain;flex:auto;overflow-y:auto}.shell:not(.shell--pushed) .shell-scroll{padding-bottom:calc(var(--nav-h) + var(--sp-4) + var(--safe-bottom))}.route-motion{min-height:100%;animation:route-in var(--motion-transition) var(--motion-ease) backwards}.route-motion--pushed{animation-name:pushed-route-in}.shell--pushed .app{padding-bottom:calc(var(--sp-8) + var(--safe-bottom))}.chip.is-on{background:var(--selected-bg);color:var(--selected-fg);box-shadow:none}.chip.is-on .chip-val{color:var(--selected-fg)}.chip.is-on .chip-label,.chip.is-on .chip-target{color:var(--selected-fg-muted)}.chip--action.is-on .chip-label{color:var(--selected-fg)}button.tl-row{text-align:left;width:100%}.guide-summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:var(--sp-2);min-height:var(--tap-min);list-style:none;display:inline-flex}.guide-summary::-webkit-details-marker{display:none}.guide-summary svg{transition:transform var(--dur-fast) var(--ease)}.guide[open] .guide-summary svg{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.guide-summary svg{transition:none}}.ex-list{flex-direction:column;display:flex}.ex-row{align-items:center;gap:var(--sp-4);min-height:var(--tap-min);padding:var(--sp-4) 0;border-top:1px solid var(--color-divider);color:var(--text-primary);display:flex}.ex-row:first-child{border-top:none}.ex-row .grow{min-width:0}.ex-row .tl-name:first-letter,.ex-row .tl-meta:first-letter{text-transform:uppercase}.ex-row .tl-chev{color:var(--text-faint);flex:none}.ex-media{border-radius:var(--r-4);background:var(--card-surface-2);object-fit:contain;width:100%;max-width:100%;height:auto;display:block}.ex-media-pair{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.btn:disabled{background:var(--color-track);color:var(--text-muted);cursor:default;opacity:1}.btn-primary:disabled{background:var(--color-track);color:var(--text-muted)}.icon-btn:disabled{color:var(--color-marker);cursor:default;background:0 0}.seg-item:disabled,.chip:disabled{cursor:default}.field-input:disabled{color:var(--text-faint)}.stack{gap:var(--sp-4);flex-direction:column;display:flex}.grow{flex:auto;min-width:0}.centered{min-height:100dvh;max-width:var(--app-max);padding:calc(var(--sp-6) + var(--safe-top)) var(--sp-6) calc(var(--sp-6) + var(--safe-bottom));justify-content:center;align-items:flex-start;margin:0 auto;display:flex}.centered>*{width:100%;margin-top:auto;margin-bottom:auto}.stepbar{gap:var(--sp-2);margin-bottom:var(--sp-6);display:flex}.stepbar-seg{border-radius:var(--r-pill);background:var(--color-track);height:4px;transition:background var(--dur) var(--ease);flex:1 1 0}.onboarding-step{animation:content-rise var(--motion-transition) var(--motion-ease) both}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.route-motion,.route-motion--pushed,.onboarding-step,.scrim,.tray,.ring-fill,.nav-item.is-active .nav-ind,.opt.is-on .opt-check{animation:none!important}.scan-line,.log-check{display:none}.summary-card.is-revealing .summary-stats>div,.log.is-revealing>li,.log.is-revealing .log-n--pr,.scan-stage{animation:none!important}.field-input:focus{transform:none}.stepbar-seg{transition:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-page{padding-bottom:calc(var(--sp-8) + var(--safe-bottom))}.admin-denied{text-align:center;margin:auto}.admin-metrics{margin-top:var(--sp-4);border-radius:var(--r-card);background:var(--color-bg);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.admin-metric{min-width:0;padding:var(--sp-4);background:var(--color-surface)}.admin-metric span{color:var(--text-faint);font-size:var(--fs-micro);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.admin-metric strong{margin-top:var(--sp-2);color:var(--text-num);font-size:var(--fs-h2);letter-spacing:var(--ls-h2);display:block}.admin-search{margin-bottom:var(--sp-4);display:block}.admin-search input{width:100%;min-height:48px;padding:0 var(--sp-5);border-radius:var(--r-pill);background:var(--color-surface);color:var(--text-primary);font:inherit;border:0;outline:0}.admin-search input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.admin-user-list{gap:var(--sp-3);display:grid}.admin-user{padding:var(--sp-5);border-radius:var(--r-card);background:var(--color-surface)}.admin-user.is-suspended{box-shadow:inset 0 0 0 1px var(--line)}.admin-user-main{align-items:center;gap:var(--sp-3);display:flex}.admin-avatar{border-radius:var(--r-3);background:var(--color-track);width:40px;height:40px;color:var(--text-num);font-weight:var(--fw-bold);flex:none;place-items:center;display:grid}.admin-user-copy{flex:1;min-width:0}.admin-user-copy strong,.admin-user-copy span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-user-copy strong{color:var(--text-primary);font-size:var(--fs-label)}.admin-user-copy span{color:var(--text-faint);font-size:var(--fs-micro);margin-top:2px}.status-chip{height:26px;padding:0 var(--sp-4);border-radius:var(--r-pill);background:var(--highlight);color:var(--on-highlight);font-size:var(--fs-micro);font-weight:var(--fw-medium);white-space:nowrap;align-self:flex-start;align-items:center;display:inline-flex}.status-chip--ink{background:var(--ink);color:var(--white)}.status-chip.is-danger{background:var(--card-surface-2);color:var(--danger)}.admin-user-meta{gap:var(--sp-2) var(--sp-4);margin:var(--sp-4) 0;color:var(--text-faint);font-size:var(--fs-micro);flex-wrap:wrap;display:flex}.admin-user .btn{width:100%}@media (width<=359px){.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.lede{font-size:var(--fs-body);color:var(--text-muted);margin-top:var(--sp-3)}.err{font-size:var(--fs-label);color:var(--danger);margin-top:var(--sp-4)}.avatar{border-radius:var(--r-pill);background:var(--color-surface-2);width:72px;height:72px;color:var(--text-num);font-size:var(--fs-h2);font-weight:var(--fw-bold);margin:0 auto var(--sp-5);place-items:center;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.ex-more summary{min-height:var(--tap-min);font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;align-items:center;display:inline-flex}.ex-more[open] summary{display:none}.field-select.is-unset{color:var(--text-muted);font-weight:var(--fw-regular)}.profile-btn{align-items:center;gap:var(--sp-3);min-height:var(--tap-min);border-radius:var(--r-pill);min-width:0;color:inherit;transition:background var(--motion-feedback) var(--motion-ease);margin-left:-4px;padding:4px 10px 4px 4px;text-decoration:none;display:flex}.profile-btn:active{background:#050d0a0f}.avatar--sm{background:var(--forest);width:36px;height:36px;color:var(--white);font-size:var(--fs-label);font-weight:var(--fw-bold);border-radius:50%;flex:none;place-items:center;display:grid;overflow:hidden}.avatar--sm img{object-fit:cover;width:100%;height:100%}.greet{flex-direction:column;min-width:0;line-height:1.25;display:flex}.greet small{font-size:var(--fs-micro);color:var(--text-muted)}.greet b{font-size:var(--fs-body);font-weight:var(--fw-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.date-pill{height:28px;padding:0 var(--sp-4);border-radius:var(--r-pill);background:var(--ink);color:var(--white);font-size:var(--fs-micro);font-weight:var(--fw-medium);white-space:nowrap;align-self:flex-start;align-items:center;display:inline-flex}.arrow-btn{width:var(--arrow);height:var(--arrow);background:var(--arrow-bg);color:var(--arrow-fg);border-radius:50%;flex:none;place-items:center;display:grid}.row-link{align-items:center;gap:var(--sp-4);width:100%;min-height:56px;padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-5);border-radius:var(--r-pill);background:var(--white);color:var(--ink);font-size:var(--fs-body);font-weight:var(--fw-medium);text-align:left;transition:transform var(--motion-feedback) var(--motion-ease);display:flex}.row-link:active{transform:scale(.985)}.row-link .arrow-btn{--arrow-bg:var(--ink);--arrow-fg:var(--white);width:var(--tap-min);height:var(--tap-min);margin-left:auto}.pg-weekday{text-align:right;font-size:var(--fs-label);color:var(--text-muted)}.pg-weekday:first-letter{text-transform:uppercase}.progress .display{margin-top:var(--sp-2);font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:var(--fw-light);white-space:pre-line}.hero-cols{justify-content:space-between;align-items:flex-end;gap:var(--sp-4);margin:var(--sp-7) 0 var(--sp-6);display:flex}.hero-cols p{min-width:0}.hero-cols small{font-size:var(--fs-micro);color:var(--text-muted);display:block}.hero-cols b{font-size:var(--fs-body);font-weight:var(--fw-bold);overflow-wrap:anywhere;display:block}.hero-vol{text-align:right;flex:none}.hero-num{font-size:var(--fs-hero);font-weight:var(--fw-regular);letter-spacing:-.03em;white-space:nowrap;line-height:.95}.hero-num small{font-size:14px;font-weight:var(--fw-medium);letter-spacing:0;color:var(--text-primary);display:inline}.progress .card--tap{gap:var(--sp-4);flex-direction:column;display:flex}.progress .card--tap .card-head{align-items:flex-start}.progress .num{font-size:var(--fs-num);font-weight:var(--fw-medium);letter-spacing:var(--ls-num);white-space:nowrap;color:var(--card-fg);line-height:1}.progress .num small{letter-spacing:0;margin-left:2px;font-size:14px}.icon-chip{width:var(--arrow);height:var(--arrow);background:var(--card-surface-2);color:var(--card-fg);border-radius:50%;flex:none;place-items:center;display:grid}.icon-chip svg{width:20px;height:20px}.pg-cards .card--sm{min-width:0}.pg-trend{margin-top:var(--sp-4)}.pg-trend-row{justify-content:space-between;align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap;display:flex}.pg-trend-row>span:first-child{gap:var(--sp-2);flex-direction:column;display:flex}.progress .pg-trend-num{font-size:32px}.blob-wrap{gap:var(--sp-3);flex-direction:column;display:flex}.blob{display:block;position:relative}.blob svg{width:100%;height:110px}.blob-area{fill:var(--chart-line)}.blob-mark{background:var(--white);border:3px solid var(--card-bg);border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%)}.ticks{height:16px;font-size:var(--fs-micro);color:var(--chart-tick);display:block;position:relative}.ticks>span{white-space:nowrap;position:absolute;top:0;transform:translate(-100%)}.pg-body{scroll-margin-top:calc(var(--sp-7) + var(--circle-btn) + var(--sp-5) + var(--safe-top))}.card--ink .trend{background:var(--card-surface-2)}@media (width<=359px){.logbar{border-radius:var(--r-card-sm);flex-wrap:wrap}.logbar .btn{flex:100%}}.month-card .trend{flex-wrap:wrap}.month-card .trend-label{flex:9em}.month-card .trend-val{margin-left:auto}.ring{flex:none;position:relative}.ring svg{width:100%;height:100%;display:block}.ring circle{fill:none;stroke-width:6px;stroke-linecap:round}.ring-track{stroke:var(--ring-track)}.ring-fill{stroke:var(--ring-fill)}.ring-fill--over{stroke:var(--danger)}.ring--md{width:104px;height:104px}.ring--lg{width:188px;height:188px;margin:var(--sp-2) auto 0}.ring--lg circle{stroke-width:6.5px}.ring-readout{text-align:center;padding:0 var(--sp-5);place-content:center;display:grid;position:absolute;inset:0}.ring-pct{font-size:22px;font-weight:var(--fw-medium);letter-spacing:-.02em;color:var(--card-fg)}.home{gap:var(--sp-5);flex-direction:column;display:flex}.home>*{flex-shrink:0}.home>.appbar{padding-bottom:0}.home>.card+.card{margin-top:0}.date-pill--btn{cursor:pointer;position:relative}.date-pill--btn:after{content:"";position:absolute;inset:-8px -4px}.home-headline{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:var(--fw-light);white-space:pre-line;margin-top:calc(-1 * var(--sp-2))}.week-row{align-items:center;gap:var(--sp-3);display:flex}.week-dots{display:flex}.week-dot{background:var(--highlight);width:30px;height:30px;color:var(--on-highlight);border:2px solid var(--color-bg);letter-spacing:-.02em;font-size:9px;font-weight:var(--fw-bold);box-sizing:content-box;border-radius:50%;place-items:center;margin-left:-4px;display:grid}.week-dot:first-child{margin-left:0}.dot-add{width:var(--tap-min);height:var(--tap-min);border:1.5px dashed var(--text-primary);color:var(--text-primary);transition:transform var(--motion-feedback) var(--motion-ease);border-radius:50%;flex:none;place-items:center;display:grid}.dot-add:active{transform:scale(.92)}.week-label{font-size:var(--fs-micro);color:var(--text-muted);min-width:0;line-height:1.3}.week-label b{font-size:var(--fs-body);font-weight:var(--fw-bold);color:var(--text-primary);display:block}.week-card{align-items:center;gap:var(--sp-4);display:flex}.week-card-text{flex-direction:column;flex:auto;gap:6px;min-width:0;display:flex}.week-card-val{font-size:var(--fs-lg);font-weight:var(--fw-medium);color:var(--card-fg)}.home-filter{margin:0 calc(-1 * var(--sp-5));padding:0 var(--sp-5);gap:var(--sp-3)}.home-filter .chip-label{color:inherit}.hscroll{gap:var(--sp-4);scrollbar-width:none;margin:0 calc(-1 * var(--sp-5));padding:0 var(--sp-5);scroll-snap-type:x mandatory;scroll-padding-inline:var(--sp-5);display:flex;overflow-x:auto}.hscroll>.card+.card{margin-top:0}.act{gap:var(--sp-3);scroll-snap-align:start;flex-direction:column;flex:0 0 164px;padding:14px;display:flex}.act .card-head{align-items:flex-start;gap:var(--sp-2)}.act-title{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.act-meta{white-space:normal}.act .status-chip{margin-top:calc(-1 * var(--sp-1))}.num{font-size:var(--fs-num);font-weight:var(--fw-medium);letter-spacing:var(--ls-num);white-space:nowrap;color:var(--card-fg);line-height:1}.num small{font-size:14px;font-weight:var(--fw-medium);letter-spacing:0;margin-left:2px}.bar{border-radius:var(--r-pill);background-color:var(--track-bg);height:8px;position:relative;overflow:hidden}.bar>span{border-radius:inherit;background:var(--track-fill);transition:transform var(--motion-transition) var(--motion-ease);position:absolute;inset:0;transform:translate(-100%)}.bar>span.is-driven{transition:none}.hatch{background-image:repeating-linear-gradient(135deg,#ffffff59 0 2px,#0000 2px 6px)}.act-foot{justify-content:space-between;align-items:center;gap:var(--sp-2);height:var(--tap-min);flex-wrap:wrap;margin-top:auto;display:flex;overflow:hidden}.act .btn-sm{padding:0 var(--sp-4);font-size:var(--fs-micro);flex:none}.mini-stack{display:flex}.mini-stack>i{width:24px;height:24px;font-size:10px;font-style:normal;font-weight:var(--fw-bold);background:var(--arrow-bg);color:var(--arrow-fg);border:2px solid var(--card-bg);box-sizing:content-box;border-radius:50%;place-items:center;margin-left:-8px;display:grid}.mini-stack>i:first-child{margin-left:0}.arrow-btn--tap{transition:transform var(--motion-feedback) var(--motion-ease);position:relative}.arrow-btn--tap:after{content:"";position:absolute;inset:-4px}.arrow-btn--tap:active{transform:scale(.92)}.home-status:empty{margin-top:calc(-1 * var(--sp-5))}.day-opts{margin-top:var(--sp-5);gap:var(--sp-2);display:grid}.day-opts .opt{background:var(--color-surface-2)}.tray .datestrip{margin-top:var(--sp-6)}.tray .day:not(.is-selected):not(.is-future){background:var(--color-surface-2)}.calories-hero .kcal--stack .kcal-num{font-size:40px}.calories-hero .kcal--stack .kcal-of{font-size:var(--fs-micro)}.calories-hero .kcal--stack .kcal-left{font-size:var(--fs-micro);margin-top:var(--sp-1)}.calories-footer{margin-top:var(--sp-6)}.macro-trends .trend{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label label""spark val";align-items:end;row-gap:6px;display:grid}.macro-trends .trend-label{grid-area:label}.macro-trends .spark{grid-area:spark}.macro-trends .trend-val{grid-area:val}.day-opts .opt-name,.day-opts .opt-meta{display:block}.btn-hairline{background:var(--white);color:var(--ink);box-shadow:inset 0 0 0 1px var(--hairline)}.btn-hairline:hover{background:var(--card-hover)}.weekday-chip.is-selected{background:var(--selected-bg);color:var(--selected-fg)}.stepbar-seg.is-done{background:var(--selected-bg)}.gate-title{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:var(--fw-light);color:var(--text-primary)}.gate-actions{margin-top:var(--sp-7)}.gate-status{text-align:center}.gate-card .card-title,.onboarding .card-title{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2)}.gate-raw{overflow-wrap:anywhere}.stepbar-count{font-size:var(--fs-micro);color:var(--card-muted);margin-bottom:var(--sp-3)}.profile-id-section{margin-top:var(--sp-4)}.profile-id{align-items:center;gap:var(--sp-5);display:flex}.avatar--md{width:56px;height:56px;font-size:var(--fs-title);flex:none;margin:0}.profile-name{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);font-weight:var(--fw-medium);color:var(--card-fg);overflow-wrap:anywhere}.profile-plans{margin-top:var(--sp-4)}.profile-targets{scroll-margin-top:calc(var(--safe-top) + 96px)}.profile-targets .kcal-num{font-size:var(--fs-num);letter-spacing:var(--ls-num);font-weight:var(--fw-medium)}.card.is-focused{box-shadow:inset 0 0 0 2px var(--focus-ring)}.row-link .grow{align-items:flex-start;gap:var(--sp-3);flex-direction:column;display:flex}.row-link--stack{border-radius:var(--r-card-sm);padding-top:var(--sp-4);padding-bottom:var(--sp-4)}.settings-tz{min-height:var(--tap-min);padding:0 var(--sp-4) 0 var(--sp-5);justify-content:space-between;gap:var(--sp-2);font-size:var(--fs-label)}.settings-tz span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.settings-tz svg{flex:none}.settings-admin,.plans-current{margin-top:var(--sp-4)}.plans-current .card-head{align-items:flex-start}.plans-name{margin-top:var(--sp-1);font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);font-weight:var(--fw-medium);color:var(--card-fg)}.plans-schedule{gap:var(--sp-1);margin-top:var(--sp-5);font-size:var(--fs-label);color:var(--card-muted);flex-direction:column;display:flex}.plans-schedule span:last-child{color:var(--card-fg);font-weight:var(--fw-medium)}.arrow-btn--link{width:var(--tap-min);height:var(--tap-min)}.plans-template .card-meta{margin-top:var(--sp-1)}.plan-editor-actions{background:var(--white);box-shadow:inset 0 0 0 1px var(--hairline), 0 8px 24px #050d0a1a}.map-raw{color:var(--text-num)}.map-search{margin-top:var(--sp-6)}.map-candidates{margin-top:var(--sp-5)}.map-note{text-align:center}.map-secondary{justify-content:center;gap:var(--sp-4);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.opt.is-on .chip{background:var(--white)}.admin-page .admin-metrics{margin-top:0}.an-hero{margin-top:var(--sp-4);font-size:var(--fs-hero);letter-spacing:var(--ls-display);line-height:1;font-weight:var(--fw-regular);color:var(--card-fg)}.an-hero span{font-size:var(--fs-h2);font-weight:var(--fw-medium);margin-left:2px}.an-hero--sm{font-size:40px}.an-track{height:8px;margin-top:var(--sp-3);border-radius:var(--r-pill);background:var(--track-bg);overflow:hidden}.an-track>span{border-radius:inherit;background:var(--track-fill);height:100%;display:block}.an-funnel{margin:var(--sp-5) 0 0;gap:var(--sp-4);padding:0;list-style:none;display:grid}.an-row{justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-label);color:var(--card-muted);display:flex}.an-row span:first-child{color:var(--card-fg);font-weight:var(--fw-medium)}.an-row b{color:var(--card-fg);font-weight:var(--fw-bold)}.an-table{width:100%;margin-top:var(--sp-4);border-collapse:separate;border-spacing:3px;table-layout:fixed;font-size:var(--fs-label)}.an-table th,.an-table td{border-radius:var(--r-1);text-align:center;padding:8px 2px}.an-table thead th{font-size:var(--fs-micro);font-weight:var(--fw-medium);color:var(--card-muted);padding-bottom:2px}.an-table thead th:first-child{width:28%}.an-table tbody th{text-align:left;font-weight:var(--fw-medium);color:var(--card-fg);white-space:nowrap}.an-table td{color:var(--card-fg)}.an-table td.is-pct{font-weight:var(--fw-bold)}.an-table td.is-empty{color:var(--card-muted)}.session-bar .icon-btn{width:var(--circle-btn);height:var(--circle-btn)}.session .timer-dot{background:var(--highlight)}.session .timer.is-paused .timer-dot{background:var(--text-faint)}.session-title{margin-top:var(--sp-2);white-space:pre-line;overflow-wrap:anywhere;font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:var(--fw-light);color:var(--text-primary)}.session-meta{margin-top:var(--sp-3);font-size:var(--fs-label);color:var(--text-muted)}.session-start{margin-top:var(--sp-6)}.session-warn{margin-top:var(--sp-5)}.session-chips{margin:var(--sp-6) calc(-1 * var(--sp-5)) 0;padding:0 var(--sp-5)}.session-chips .chip{background:var(--color-surface);color:var(--text-primary)}.session-chips .chip.is-selected{background:var(--selected-bg);color:var(--selected-fg)}.session-chips .chip--icon{min-width:var(--tap-min);justify-content:center}.logger{margin-top:var(--sp-5);gap:var(--sp-4);flex-direction:column;display:flex}.logger .card-head{align-items:center}.logger .card-meta{text-overflow:ellipsis;overflow:hidden}.logger .guide .note{margin-top:var(--sp-2)}.logger .guide-summary{color:var(--card-muted)}.timer--rest{min-height:var(--tap-min);background:var(--highlight);color:var(--on-highlight);flex:none}.timer--rest .timer-dot{background:var(--on-highlight)}.timer--rest .timer-val{color:inherit}.timer--rest.is-done{animation:selection-pop .32s var(--motion-ease)}.timer--rest.is-done .timer-dot{animation:none}.stepper{gap:var(--sp-3);min-width:0;padding:var(--sp-4);border-radius:var(--r-4);background:var(--card-surface-2);flex-direction:column;display:flex;container-type:inline-size}.stepper-head{justify-content:space-between;align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.stepper-label{font-size:var(--fs-micro);color:var(--card-muted)}.stepper-row{grid-template-columns:var(--tap-min) 1fr var(--tap-min);align-items:center;gap:var(--sp-2);grid-template-areas:"val val val""dec.inc";display:grid}.stepper-row>:first-child{grid-area:dec}.stepper-row>:last-child{grid-area:inc}@container (width>=190px){.stepper-row{grid-template-areas:"dec val inc"}}.step-btn{width:var(--tap-min);height:var(--tap-min);background:var(--card-line);color:var(--card-fg);transition:transform var(--motion-feedback) var(--motion-ease);border-radius:50%;place-items:center;display:grid}.step-btn:active{transform:scale(.9)}.step-val{border-radius:var(--r-1);width:100%;min-width:0;color:var(--card-fg);font-family:var(--font);font-size:32px;font-weight:var(--fw-medium);letter-spacing:-.02em;text-align:center;font-variant-numeric:tabular-nums;appearance:textfield;background:0 0;border:0;grid-area:val;padding:0;line-height:1.15}.step-val::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.step-val::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.step-val:focus{box-shadow:inset 0 0 0 1.5px var(--card-fg);outline:none}.suggest-chip{border-radius:var(--r-pill);height:20px;box-shadow:inset 0 0 0 1px var(--highlight);color:var(--highlight);font-size:var(--fs-micro);font-weight:var(--fw-bold);align-items:center;padding:0 6px;display:inline-flex}.session-log{margin-top:var(--sp-7)}.log-h{margin-bottom:var(--sp-3);font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--text-muted)}.log{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.log-row{align-items:center;gap:var(--sp-4);width:100%;min-height:52px;padding:var(--sp-2) var(--sp-4) var(--sp-2) var(--sp-2);border-radius:var(--r-pill);background:var(--color-surface-2);color:var(--text-primary);text-align:left;display:flex}button.log-row{transition:transform var(--motion-feedback) var(--motion-ease)}button.log-row:active{transform:scale(.985)}.log-n{background:var(--color-surface);width:36px;height:36px;font-size:var(--fs-label);font-weight:var(--fw-bold);border-radius:50%;flex:none;place-items:center;display:grid}.log-row.is-newest .log-n,.log-n--pr{background:var(--highlight);color:var(--on-highlight)}.log-n--pr{font-size:var(--fs-micro)}.log-name{min-width:0;font-size:var(--fs-label);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.log-val{font-size:var(--fs-body);font-weight:var(--fw-bold);white-space:nowrap;font-variant-numeric:tabular-nums}.log-row.is-ghost{box-shadow:inset 0 0 0 1px var(--line);background:0 0}.log-row.is-ghost .log-n{box-shadow:inset 0 0 0 1px var(--color-marker);color:var(--text-muted);background:0 0}.log-row.is-ghost .log-name,.log-row.is-ghost .log-val{color:var(--text-muted);font-weight:var(--fw-regular)}.log-n>*{grid-area:1/1}.log-n.is-confirmed .log-n-val{animation:log-n-swap .75s var(--motion-ease)}.log-check{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;animation:log-check-out .1s var(--motion-ease) .6s forwards}.log-check path{stroke-dasharray:1;animation:log-check-draw var(--motion-transition) var(--motion-ease) .1s backwards}@keyframes log-n-swap{0%{opacity:1;transform:none}13%,80%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}@keyframes log-check-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes log-check-out{to{opacity:0;transform:scale(.9)}}.btn-morph{place-items:center;display:grid}.btn-morph>*{grid-area:1/1}.btn-morph-label{transition:opacity var(--motion-feedback) var(--motion-ease), transform var(--motion-feedback) var(--motion-ease)}.btn-check{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;opacity:0;width:22px;height:22px;transition:opacity var(--motion-feedback) var(--motion-ease)}.btn-check path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset var(--motion-feedback) var(--motion-ease)}.btn-morph.is-done .btn-morph-label{opacity:0;transform:scale(.96)}.btn-morph.is-done .btn-check{opacity:1}.btn-morph.is-done .btn-check path{stroke-dashoffset:0;transition-delay:60ms}.log-pending{background:var(--warning);width:8px;height:8px;animation:breathe 2.4s var(--ease) infinite;border-radius:50%;flex:none}.summary-card{margin-top:var(--sp-6)}.summary-stats{gap:var(--sp-5) var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.summary-stats>div{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.summary-stats>:last-child{grid-column:1/-1}.summary-num{font-size:var(--fs-num);font-weight:var(--fw-medium);letter-spacing:var(--ls-num);color:var(--card-fg);white-space:nowrap;line-height:1}.summary-actions{gap:var(--sp-3);margin-top:var(--sp-7);flex-direction:column;display:flex}.summary-card.is-revealing .summary-stats>div,.log.is-revealing>li{animation:content-rise var(--motion-transition) var(--motion-ease) backwards}.summary-card.is-revealing .summary-stats>:nth-child(2){animation-delay:60ms}.summary-card.is-revealing .summary-stats>:nth-child(3){animation-delay:.12s}.log.is-revealing>li:first-child{animation-delay:.24s}.log.is-revealing>li:nth-child(2){animation-delay:.3s}.log.is-revealing>li:nth-child(n+3){animation-delay:.36s}.log.is-revealing .log-n--pr{animation:selection-pop .32s var(--motion-ease) .42s backwards}.scan-wrap{margin-top:var(--sp-6);gap:var(--sp-4);display:grid}.scan{aspect-ratio:4/3;border-radius:var(--r-4);background:var(--color-surface-2);position:relative;overflow:hidden}.scan-photo{object-fit:cover;width:100%;height:100%;animation:scrim-in var(--motion-transition) var(--motion-ease);display:block}.scan-line{border-top:2px solid var(--highlight);will-change:transform;animation:1.6s ease-in-out infinite alternate scan-sweep;position:absolute;inset:0}@keyframes scan-sweep{0%{transform:translateY(0)}to{transform:translateY(calc(100% - 2px))}}.scan-status{min-height:1.4em;margin:0}.scan-stage{animation:ctl-in var(--motion-transition) var(--motion-ease)}.skel{border-radius:var(--r-pill);background:var(--color-track);display:block}.skel,.skel-group{animation:scrim-in var(--motion-transition) var(--motion-ease) .2s backwards, skel-pulse 1.6s ease-in-out .45s infinite}@keyframes skel-pulse{50%{opacity:.5}}.skel--num{border-radius:var(--r-1);vertical-align:baseline;width:1.6em;height:.72em;display:inline-block}.skel--line{width:70%;height:10px;margin:3px 0}.skel--short{width:40%}.skel--dot{width:8px;height:8px;margin-left:4px}.skel--pill{width:64px;height:28px}.skel--btn{width:92px;height:var(--tap-min)}.logbar-val .skel--num{font-size:var(--fs-h2);align-self:center}.skel--badge{border-radius:50%;flex:none;width:36px;height:36px}.skel--grow{flex:1}.skel--chip{width:96px;height:26px;margin-top:calc(-1 * var(--sp-1))}.skel-row{min-height:52px}.skel--chart{aspect-ratio:320/168;border-radius:var(--r-3)}.cal-cell.is-skel{background:var(--color-surface)}
