@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--strength-plane: #9585ff;--swim-plane: #2ec5e5;--ride-plane: #b8e62e;--run-plane: #ff6a3d;--fuel-plane: #ffb81c;--health-plane: #ff6b9e;--golf-plane: #3dd68c;--tennis-plane: #6e9bff;--rest-plane: #d9d9de;--on-plane: #000000;--on-plane-muted: rgba(0, 0, 0, .66);--on-plane-line: rgba(0, 0, 0, .14);--on-plane-fill: rgba(0, 0, 0, .1);--strength: #5a43e0;--swim: #007896;--ride: #4a7300;--run: #c73a0b;--fuel: #9a6200;--health: #cc1a60;--golf: #0e7845;--tennis: #2d5bd8;--strength-bg: rgba(149, 133, 255, .18);--swim-bg: rgba(46, 197, 229, .18);--ride-bg: rgba(184, 230, 46, .26);--run-bg: rgba(255, 106, 61, .16);--fuel-bg: rgba(255, 184, 28, .2);--health-bg: rgba(255, 107, 158, .16);--golf-bg: rgba(61, 214, 140, .18);--tennis-bg: rgba(110, 155, 255, .18);--success: var(--golf);--success-bg: var(--golf-bg);--danger: #d1281b;--danger-bg: rgba(225, 45, 30, .1);--protein: var(--strength);--protein-bg: var(--strength-bg);--carbs: var(--fuel);--carbs-bg: var(--fuel-bg);--fat: var(--swim);--fat-bg: var(--swim-bg);--bg: #ffffff;--surface: #f1f1f3;--surface-2: #ffffff;--surface-3: #e3e3e8;--surface-raised: #ffffff;--border: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .16);--separator: rgba(0, 0, 0, .09);--text: #000000;--text-muted: #5e5e66;--text-dim: #6e6e76;--primary: #000000;--primary-hover: #2a2a2e;--primary-bg: rgba(0, 0, 0, .06);--primary-dim: rgba(0, 0, 0, .08);--primary-glow: rgba(0, 0, 0, .16);--on-primary: #ffffff;--ring: #000000;--section-today: var(--primary);--section-plan: var(--strength-plane);--section-fuel: var(--fuel-plane);--section-you: var(--swim-plane);--blue: var(--strength);--blue-bg: var(--strength-bg);--indigo: var(--swim);--indigo-bg: var(--swim-bg);--cyan: var(--ride);--cyan-bg: var(--ride-bg);--amber: var(--run);--amber-bg: var(--run-bg);--green: var(--success);--green-bg: var(--success-bg);--violet: var(--tennis);--violet-bg: var(--tennis-bg);--rose: var(--danger);--rose-bg: var(--danger-bg);--font-display: "Archivo Variable", "Archivo", system-ui, -apple-system, sans-serif;--font-body: "Archivo Variable", "Archivo", system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--wide: 125%;--semi-wide: 112%;--normal: 100%;--fs-micro: 12px;--fs-caption: 13px;--fs-small: 15px;--fs-body: 17px;--fs-lead: 20px;--fs-title-3: 24px;--fs-title-2: 30px;--fs-title-1: 40px;--fs-figure: 56px;--fs-hero: 88px;--header-h: env(safe-area-inset-top, 0px);--side-nav-w: 248px;--touch-target: 44px;--radius-xs: 8px;--radius-sm: 12px;--radius: 16px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 28px;--radius-full: 9999px;--glass-blur: blur(20px) saturate(160%);--liquid-glass: blur(20px) saturate(160%);--liquid-glass-bg: rgba(255, 255, 255, .88);--tab-glass-bg: rgba(255, 255, 255, .92);--card-shadow: none;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06), 0 2px 8px rgba(0, 0, 0, .05);--shadow-md: 0 2px 6px rgba(0, 0, 0, .06), 0 12px 32px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .08), 0 24px 64px rgba(0, 0, 0, .16);--sheet-shadow: 0 -8px 40px rgba(0, 0, 0, .14);--ease-spring: cubic-bezier(.16, 1, .3, 1);--ease-sheet: cubic-bezier(.32, .72, 0, 1);--dur-fast: .14s;--dur: .22s;--dur-slow: .42s}[data-theme=dark]{color-scheme:dark;--strength: #a99cff;--swim: #4fd3ef;--ride: #c4ee4a;--run: #ff8460;--fuel: #ffc437;--health: #ff82ae;--golf: #52e09c;--tennis: #86abff;--strength-bg: rgba(149, 133, 255, .2);--swim-bg: rgba(46, 197, 229, .18);--ride-bg: rgba(184, 230, 46, .16);--run-bg: rgba(255, 106, 61, .18);--fuel-bg: rgba(255, 184, 28, .16);--health-bg: rgba(255, 107, 158, .18);--golf-bg: rgba(61, 214, 140, .16);--tennis-bg: rgba(110, 155, 255, .2);--danger: #ff6b5e;--danger-bg: rgba(255, 107, 94, .16);--bg: #000000;--surface: #151517;--surface-2: #202023;--surface-3: #2c2c30;--surface-raised: #202023;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .18);--separator: rgba(255, 255, 255, .1);--text: #ffffff;--text-muted: #a3a3ab;--text-dim: #8c8c94;--primary: #ffffff;--primary-hover: #e6e6ea;--primary-bg: rgba(255, 255, 255, .1);--primary-dim: rgba(255, 255, 255, .12);--primary-glow: rgba(255, 255, 255, .2);--on-primary: #000000;--ring: #ffffff;--liquid-glass-bg: rgba(0, 0, 0, .82);--tab-glass-bg: rgba(0, 0, 0, .88);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .5);--shadow-md: 0 12px 32px rgba(0, 0, 0, .6);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .7);--sheet-shadow: 0 -8px 40px rgba(0, 0, 0, .6)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;touch-action:manipulation}html,body{background:var(--bg);color:var(--text)}[id]{scroll-margin-top:calc(var(--header-h) + 16px)}:root{--train-bar-h: 113px}.train-bar~main [id],.panel[id^=day-] [id]{scroll-margin-top:calc(var(--header-h) + var(--train-bar-h) + 8px)}a.week-day,a.nav-item,a.side-item,a.brand,a.side-brand{text-decoration:none;color:inherit;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}body{font-family:var(--font-body);font-size:16px;line-height:1.5;letter-spacing:-.006em;font-feature-settings:"ss01" 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;padding-bottom:calc(72px + env(safe-area-inset-bottom));overflow-x:hidden;min-height:100dvh;background:var(--bg)}.day-title,.gate-title,.modal-title,.big-card h3,.center-card h3,.notice h3{font-family:var(--font-display);font-stretch:var(--semi-wide)}.stat-value,.log-stat-value{font-family:var(--font-display);font-stretch:var(--wide)}button,input,select,textarea{font-family:inherit}.stat-value,.log-stat-value,.card-sets,.ex-sets,.api-url{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.container{max-width:680px;margin:0 auto;padding:0 16px}.nowrap{white-space:nowrap}.chip-blue{background:var(--blue-bg);color:var(--blue)}.chip-indigo{background:var(--indigo-bg);color:var(--indigo)}.chip-cyan{background:var(--cyan-bg);color:var(--cyan)}.chip-amber{background:var(--amber-bg);color:var(--amber)}.chip-violet{background:var(--violet-bg);color:var(--violet)}.chip-green{background:var(--green-bg);color:var(--green)}.chip-dim{background:var(--surface);color:var(--text-muted)}.panel{display:none}.panel.active{display:block}main[data-swipe=next] .panel.active{animation:daySlideNext .22s cubic-bezier(.16,1,.3,1)}main[data-swipe=prev] .panel.active{animation:daySlidePrev .22s cubic-bezier(.16,1,.3,1)}@keyframes daySlideNext{0%{opacity:0;transform:translate(28px)}}@keyframes daySlidePrev{0%{opacity:0;transform:translate(-28px)}}.day-header{padding:22px 0 14px}.day-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:var(--fs-caption);font-weight:500;color:var(--text-muted);margin-bottom:10px}.day-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--primary)}.day-title{font-size:36px;font-weight:800;line-height:1.02;text-wrap:balance;letter-spacing:-.035em;color:var(--text);margin-bottom:10px}.day-sub{font-size:var(--fs-small);color:var(--text-muted);line-height:1.5;max-width:52ch;text-wrap:pretty}.day-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;margin-bottom:8px}.day-tag{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-caption);font-weight:600;padding:5px 12px;border-radius:var(--radius-full);background:var(--surface);color:var(--text)}.session-section .day-tag,.card .day-tag{background:var(--surface-2)}.day-tag .tag-dot{width:6px;height:6px;border-radius:50%;background:var(--primary)}.day-blue .day-eyebrow .dot,.day-blue .picker-dot{background:var(--blue);color:var(--blue)}.day-indigo .day-eyebrow .dot{background:var(--indigo);color:var(--indigo)}.day-cyan .day-eyebrow .dot{background:var(--cyan);color:var(--cyan)}.day-amber .day-eyebrow .dot{background:var(--amber);color:var(--amber)}.day-violet .day-eyebrow .dot{background:var(--violet);color:var(--violet)}.day-green .day-eyebrow .dot{background:var(--green);color:var(--green)}.card,.super-series-card{background:var(--surface);border-radius:var(--radius-lg);margin-top:14px;overflow:hidden;transition:transform .12s var(--ease-spring),border-color .15s,box-shadow .15s}.card:active{transform:scale(.985)}.card{padding:18px 20px}.card-cell{padding:18px 20px;transition:background .12s}.card-cell:active{background:var(--surface-2)}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px}.card-name{font-weight:700;font-size:17px;color:var(--text);line-height:1.3;letter-spacing:-.015em}.card-sets{font-family:var(--font-display);font-stretch:var(--semi-wide);font-size:var(--fs-caption);font-weight:800;color:var(--text);background:var(--primary-bg);padding:4px 9px;border-radius:var(--radius-full);white-space:nowrap;letter-spacing:-.01em;font-variant-numeric:tabular-nums;flex-shrink:0}.card-note{font-size:var(--fs-small);color:var(--text-muted);margin-top:8px;line-height:1.5}.card-video{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:var(--fs-caption);font-weight:600;color:var(--text);text-decoration:none;padding:6px 12px;background:var(--primary-bg);border-radius:var(--radius-full);transition:background .15s,color .15s,transform .1s}.card-video:hover{background:var(--primary-dim);color:var(--text)}.card-video:active{transform:scale(.95);background:var(--surface-3);color:var(--text)}.card-video svg{width:12px;height:12px;fill:currentColor}.exercise-rotation{margin-top:14px;background:var(--surface-2);border:.5px solid var(--border);border-radius:var(--radius);overflow:hidden}.exercise-rotation-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;padding:8px 12px;background:var(--surface-3);border-bottom:.5px solid var(--border)}.exercise-rotation-title{font-size:var(--fs-caption);font-weight:700;color:var(--text)}.exercise-rotation-current{font-size:12px;color:var(--text-muted);white-space:nowrap}.exercise-rotation-current strong{color:var(--primary);font-weight:700}.exercise-rotation-rows{display:flex;flex-direction:column}.exercise-rotation-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:.5px solid var(--border);transition:background .15s ease}.exercise-rotation-row:last-child{border-bottom:none}.exercise-rotation-row.is-active{background:var(--primary-bg)}.exercise-rotation-tag{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-full);background:var(--surface-3);color:var(--text-muted);font-size:11px;font-weight:700;flex-shrink:0;transition:all .15s ease}.exercise-rotation-tag.is-active{background:var(--primary);color:var(--on-primary)}.exercise-rotation-details{flex:1;font-size:13px;line-height:1.4;color:var(--text)}.exercise-rotation-name{display:block;font-weight:600;color:var(--text)}.exercise-rotation-desc{display:block;color:var(--text-muted);font-size:12.5px}.super-series-header{display:flex;align-items:center;flex-wrap:wrap;gap:6px 0;padding:12px 20px;background:var(--surface-2);border-bottom:.5px solid var(--border)}.super-series-tag{display:inline-flex;align-items:center;font-family:var(--font-display);font-stretch:var(--semi-wide);font-size:var(--fs-small);font-weight:800;letter-spacing:-.015em;color:var(--text);white-space:nowrap}.super-series-rule{flex-basis:100%;font-size:var(--fs-caption);font-weight:500;color:var(--text-muted)}.super-series-body,.super-series-row{display:flex;flex-direction:column}.super-series-divider{display:flex;align-items:center;padding:7px 20px;background:var(--surface-2);border-top:.5px solid var(--border);border-bottom:.5px solid var(--border)}.super-series-divider-cue{font-size:var(--fs-micro);font-weight:600;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-label{display:inline-flex;align-items:center;justify-content:center;min-width:28px;margin-right:8px;padding:3px 6px;border-radius:var(--radius-xs);background:var(--primary);color:var(--on-primary);font-family:var(--font-display);font-stretch:var(--wide);font-size:11px;font-weight:800;letter-spacing:-.02em;vertical-align:2px}.card-rest{font-size:12.5px;font-weight:600;color:var(--text-dim);font-variant-numeric:tabular-nums}.big-card{background:var(--surface);border-radius:var(--radius-lg);padding:22px 20px;margin-top:14px}.big-card-pill{display:inline-block;font-size:10px;font-weight:700;letter-spacing:0;padding:4px 10px;border-radius:var(--radius-full);white-space:nowrap}.pill-outdoor{background:var(--green-bg);color:var(--green);border:.5px solid transparent}.pill-indoor{background:var(--violet-bg);color:var(--violet);border:.5px solid transparent}.pill-fallback{background:var(--surface-2);color:var(--text-muted);border:.5px solid var(--border)}.big-card h3{font-size:18px;font-weight:700;color:var(--text);margin-bottom:6px;letter-spacing:-.01em}.big-card p{font-size:14px;color:var(--text-muted);line-height:1.6}.center-card{background:var(--surface);border-radius:var(--radius-lg);padding:32px 24px;margin-top:16px;text-align:center}.center-card .icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:var(--violet-bg);color:var(--violet)}.center-card .icon svg{width:26px;height:26px}.center-card h3{font-size:18px;font-weight:700;color:var(--text);margin-bottom:8px}.center-card p{font-size:14px;color:var(--text-muted);line-height:1.6}.accordion{margin-top:14px;background:var(--surface);border-radius:var(--radius-lg);overflow:hidden}.accordion-toggle{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:48px;background:transparent;border:none;padding:16px 18px;font-size:15px;font-weight:600;color:var(--text);cursor:pointer;text-align:left;font-family:inherit;transition:background .15s}.accordion-toggle:hover{background:var(--surface-2)}.accordion-toggle .chev{width:16px;height:16px;color:var(--text-muted);transition:transform .2s cubic-bezier(.16,1,.3,1)}.accordion-toggle.open .chev{transform:rotate(180deg)}.accordion-body{display:none;padding:0 18px 18px}.accordion-body.open{display:block}.accordion-item{padding:14px 0;border-top:.5px solid var(--separator)}.accordion-item:first-child{border-top:none;padding-top:6px}.accordion-item h4{font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px}.accordion-item p{font-size:13px;color:var(--text-muted);line-height:1.6}.section-title,.today-section-label{font-family:var(--font-display);font-size:var(--fs-lead);font-weight:750;font-stretch:var(--semi-wide);letter-spacing:-.025em;color:var(--text);margin:36px 0 12px}.section-header-wrap{display:flex;align-items:center;justify-content:space-between;gap:8px}.section-header-wrap.section-title{font-family:var(--font-display);font-size:var(--fs-lead);font-weight:750;font-stretch:var(--semi-wide);letter-spacing:-.025em;color:var(--text);margin:36px 0 12px}.section-header-wrap.today-section-label{margin:36px 0 12px}.section-header-wrap.api-card-head{font-size:16px;font-weight:700;color:var(--text);margin-bottom:8px}.section-header-text{flex:1}.day-title-row,.session-title-row,.today-heading-row,.today-card-title-row,.today-section-head-row,.big-card-top-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.big-card-top-row{margin-bottom:12px}.section-anchor-btn,.item-anchor-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-dim);cursor:pointer;opacity:.35;transition:opacity .15s,background .15s,color .15s,transform .12s var(--ease-spring);flex-shrink:0}.section-anchor-btn:hover,.item-anchor-btn:hover{opacity:1;color:var(--primary);background:var(--surface-2)}.section-anchor-btn:active,.item-anchor-btn:active{transform:scale(.9)}.section-anchor-btn{position:relative}.section-anchor-btn:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.section-anchor-icon{width:14px;height:14px}.item-anchor-btn{width:22px;height:22px;margin-left:6px;vertical-align:middle}.item-anchor-icon{width:12px;height:12px}.accordion-toggle-row{display:flex;align-items:stretch;width:100%}.accordion-toggle-row .accordion-toggle{flex:1}.accordion-anchor-btn{width:44px;border-radius:0;border-left:.5px solid var(--border);opacity:.4}.accordion-anchor-btn:hover{opacity:1;background:var(--surface-2)}.prose{font-size:14.5px;color:var(--text-muted);line-height:1.65;margin-bottom:12px}.prose b{color:var(--text);font-weight:700}.week-row{display:flex;gap:14px;padding:12px 14px;background:var(--surface);border-radius:var(--radius-md);margin-top:6px;align-items:center}.week-row-day{font-weight:700;font-size:11px;letter-spacing:0;color:var(--text-muted);min-width:36px;flex-shrink:0}.week-row-desc{font-size:14px;color:var(--text);flex:1}.week-row-desc b{color:var(--text);font-weight:600}.stat{background:var(--surface);border-radius:var(--radius-lg);padding:18px;margin-top:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 16px}.stat-label{font-size:13px;color:var(--text-muted);font-weight:500}.stat-label{grid-column:1 / -1}.stat-value{font-size:22px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.04em;white-space:nowrap}.stat-value.muted{color:var(--text-muted)}.auth-btn{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:.5px solid var(--separator);border-radius:var(--radius-full);padding:0 16px;height:44px;color:var(--text);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .12s cubic-bezier(.16,1,.3,1)}.auth-btn:hover{border-color:var(--border-strong);background:var(--surface-2)}.auth-btn:active{transform:scale(.97);background:var(--surface-2)}.auth-btn svg{width:18px;height:18px;flex-shrink:0}.auth-btn .auth-btn-text{white-space:nowrap}@media (max-width: 460px){.auth-btn .auth-btn-text{display:none}.auth-btn{padding:0 12px}}.auth-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:none;align-items:center;justify-content:center;padding:24px;background:#000;color:#fff}body.auth-loading .auth-gate,body.signed-out .auth-gate{display:flex}body.signed-in .auth-gate{display:none}body.auth-loading .side-nav,body.signed-out .side-nav,body.auth-loading .bottom-nav,body.signed-out .bottom-nav,body.auth-loading .train-bar,body.signed-out .train-bar,body.auth-loading main,body.signed-out main{visibility:hidden}.auth-gate-inner{width:100%;max-width:360px;text-align:left}.brand-mark.gate-mark{width:88px;height:88px;margin:0 0 24px -17px}.gate-mark .brand-mark-tile{fill:transparent}.gate-mark>path{animation:markIn .5s var(--ease-spring) both;transform-origin:50% 56%}.gate-mark>path:nth-of-type(2){animation-delay:.12s}.gate-mark>path:nth-of-type(3){animation-delay:.24s}.gate-mark>path:nth-of-type(n+4){animation:fuseIn .4s ease .5s both}@keyframes markIn{0%{opacity:0;transform:scale(.82) rotate(-6deg)}}@keyframes fuseIn{0%{opacity:0}}.gate-title{font-size:64px;font-weight:800;font-stretch:var(--wide);letter-spacing:-.045em;line-height:.95;color:#fff;margin-bottom:14px;animation:gateIn .5s var(--ease-spring) .2s both}.gate-tagline{font-size:17px;color:#ffffffb8;line-height:1.5;margin-bottom:40px;max-width:30ch;text-wrap:pretty;animation:gateIn .5s var(--ease-spring) .28s both}@keyframes gateIn{0%{opacity:0;transform:translateY(8px)}}.gate-signin{display:none;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;background:#fff;border:none;border-radius:var(--radius-full);padding:0 24px;color:#000;font-family:inherit;font-size:16px;font-weight:650;cursor:pointer;transition:transform .12s var(--ease-spring),background .15s;animation:gateIn .5s var(--ease-spring) .36s both}body.signed-out .gate-signin{display:flex}.gate-signin:hover{background:#ececef}.gate-signin:active{transform:scale(.98)}.gate-signin:focus-visible{outline-color:#fff}.gate-signin svg{width:20px;height:20px}.gate-fine{font-size:13px;color:#ffffff80;line-height:1.5;margin-top:16px}body.signed-out .gate-fine{display:block}body.auth-loading .gate-fine{display:none}.gate-spinner{display:none;width:28px;height:28px;margin:8px 0 0;border:2.5px solid rgba(255,255,255,.18);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}body.auth-loading .gate-spinner{display:block}@keyframes spin{to{transform:rotate(360deg)}}.api-card{background:var(--surface);border-radius:var(--radius-lg);padding:16px 16px 18px;margin-top:22px}.api-card-head{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:0;color:var(--text-dim);margin-bottom:6px}.api-card p{font-size:13px;color:var(--text-muted);line-height:1.55;margin-bottom:12px}.api-url-row{display:flex;gap:8px;align-items:stretch}.api-url{flex:1;min-width:0;background:var(--bg);border:.5px solid var(--border-strong);border-radius:var(--radius-sm);padding:11px 12px;color:var(--cyan);font-family:var(--font-mono);font-size:12px;white-space:nowrap;overflow-x:auto}.api-copy{flex-shrink:0;min-height:40px;background:var(--primary);border:none;border-radius:var(--radius-full);padding:0 16px;color:var(--on-primary);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s,transform .12s cubic-bezier(.16,1,.3,1)}.api-copy:hover{background:var(--primary-hover)}.api-copy:disabled{opacity:.5}.api-copy:active{transform:scale(.96)}.api-hint{margin-top:12px;font-size:12.5px;color:var(--text-dim);line-height:1.55}.api-hint b{color:var(--text-muted);font-weight:600}.log-cta{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:16px;background:var(--primary);border:none;border-radius:var(--radius-full);min-height:52px;padding:14px 20px;color:var(--on-primary);font-family:inherit;font-size:16px;font-weight:700;letter-spacing:-.01em;cursor:pointer;transition:filter .15s,transform .15s cubic-bezier(.16,1,.3,1)}.log-cta:hover{background:var(--primary-hover)}.log-cta:active{transform:scale(.975)}.log-cta svg{width:18px;height:18px;stroke:currentColor;flex-shrink:0}.log-cta span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log-cta.done{background:var(--plane, var(--success-bg));border:none;color:#000}.log-cta.done:hover{background:var(--plane, var(--success-bg));filter:brightness(.96)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:200;opacity:0;pointer-events:none;transition:opacity .24s ease;display:flex;align-items:flex-end;justify-content:center}.modal-backdrop.open{opacity:1;pointer-events:auto}.modal{width:100%;max-width:540px;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border:none;border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);padding:12px 20px calc(24px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .32s var(--ease-sheet);box-shadow:var(--sheet-shadow)}.modal-backdrop.open .modal{transform:translateY(0)}@media (min-width: 560px){.modal-backdrop{align-items:center}.modal{border-radius:var(--radius-xl);transform:translateY(20px) scale(.96);padding:20px 24px calc(24px + env(safe-area-inset-bottom))}.modal-backdrop.open .modal{transform:translateY(0) scale(1)}}.sheet-grabber{width:36px;height:5px;border-radius:var(--radius-full);background:var(--border-strong);margin:0 auto 12px;flex-shrink:0}.sheet-nav-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:6px;border-bottom:.5px solid var(--separator)}.sheet-nav-btn{background:none;border:none;font-family:inherit;font-size:16px;font-weight:500;cursor:pointer;padding:8px 6px;min-height:44px;display:inline-flex;align-items:center;border-radius:var(--radius-sm);transition:opacity .15s}.sheet-nav-btn.cancel{color:var(--text-muted)}.sheet-nav-btn.cancel:active{color:var(--text)}.sheet-nav-btn.done{color:var(--primary);font-weight:700}.sheet-nav-btn.done:active{opacity:.7}.sheet-nav-btn:disabled{opacity:.4;cursor:default}.modal-title{font-size:18px;font-weight:750;color:var(--text);letter-spacing:-.025em;text-align:center}.modal-sub{font-size:13px;color:var(--text-muted);margin-bottom:16px;line-height:1.4}.field{margin-bottom:14px}.field-label{display:block;font-size:var(--fs-caption);font-weight:600;color:var(--text-muted);margin-bottom:6px}.field select,.field input,.field textarea{width:100%;background:var(--surface-2);border:1px solid transparent;border-radius:var(--radius);padding:12px 14px;color:var(--text);font-family:inherit;font-size:16px;min-height:48px;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .15s,background .15s}.field textarea{resize:vertical;min-height:64px;line-height:1.45}.field select:hover,.field input:hover,.field textarea:hover{border-color:var(--border-strong)}.field select:focus,.field input:focus,.field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.field input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer}.modal-actions{display:flex;gap:12px;margin-top:20px}.modal-btn{flex:1;border-radius:var(--radius-full);padding:14px;font-family:inherit;font-size:16px;font-weight:700;min-height:52px;cursor:pointer;border:none;transition:transform .12s var(--ease-spring),opacity .15s}.modal-btn:active{transform:scale(.98)}.modal-btn.secondary{background:var(--surface-2);color:var(--text)}.modal-btn.secondary:active{background:var(--surface-3)}.modal-btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.modal-btn.primary:hover{background:var(--primary-hover)}.modal-btn.secondary:hover{background:var(--surface-3)}.modal-btn:disabled{opacity:.5;cursor:default}.toast-wrap{position:fixed;left:0;right:0;top:calc(14px + env(safe-area-inset-top));bottom:auto;z-index:300;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;padding:0 16px}.toast{display:inline-flex;align-items:center;gap:8px;background:var(--text);border:none;border-radius:20px;padding:11px 20px;font-size:var(--fs-small);font-weight:600;line-height:1.35;text-align:center;color:var(--bg);box-shadow:var(--shadow-md);max-width:90vw;opacity:0;transform:translateY(-16px) scale(.94);transition:opacity .25s var(--ease-spring),transform .25s var(--ease-spring)}.toast.show{opacity:1;transform:translateY(0) scale(1)}.toast.success:before{content:"";flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--ride-plane)}.toast.error{background:#d1281b;color:#fff}.toast.has-action{pointer-events:auto;padding-right:10px}.toast-action{flex-shrink:0;min-height:32px;margin:-6px 0 -6px 4px;padding:0 12px;border:0;border-radius:var(--radius-full);background:transparent;color:inherit;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:background .15s ease}.toast-action:hover,.toast-action:active{background:color-mix(in srgb,currentColor 14%,transparent)}.notice{background:var(--surface);border-radius:var(--radius-lg);padding:24px 20px;margin-top:14px;text-align:center}.notice h3{font-size:17px;font-weight:700;color:var(--text);margin-bottom:8px}.notice p{font-size:14px;color:var(--text-muted);line-height:1.6}.notice code{background:var(--primary-bg);padding:2px 6px;border-radius:5px;font-size:12.5px;color:var(--text)}.notice .auth-btn{margin:16px auto 0}.log-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.log-stat{background:var(--surface);border-radius:var(--radius-lg);padding:16px 14px 14px;text-align:left;min-width:0}.log-summary.on-plane{--plane: var(--swim-plane);gap:0;padding:18px 6px 16px;border-radius:var(--radius-xl)}.log-summary.on-plane .log-stat{background:none;border-radius:0;padding:0 14px}.log-summary.on-plane .log-stat+.log-stat{border-left:1px solid var(--separator)}.log-stat-value{white-space:nowrap;font-family:var(--font-display);font-size:32px;font-weight:800;line-height:1;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.045em}.log-stat-unit{font-size:15px;font-weight:700;color:var(--text-muted);letter-spacing:0}.log-stat-label{font-size:var(--fs-micro);font-weight:600;white-space:nowrap;color:var(--text-muted);margin-top:6px}.log-date-group{margin-top:22px}.log-date-head{font-size:var(--fs-caption);font-weight:700;letter-spacing:0;color:var(--text-muted);margin-bottom:8px;display:flex;align-items:center;gap:8px}.log-entry{background:var(--surface);border-radius:var(--radius-lg);margin-top:8px;overflow:hidden}.log-entry-row{display:flex;align-items:center;gap:10px;padding:14px 14px 14px 16px}.log-entry.expandable .log-entry-row{cursor:pointer}.log-entry.expandable .log-entry-row:hover{background:var(--surface-2)}.log-entry-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;box-shadow:0 0 10px currentColor}.log-entry-name{flex:1;min-width:0;font-size:15px;font-weight:600;color:var(--text)}.log-entry-type{flex-shrink:0;white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:0;color:var(--text-dim)}.log-entry-chev{width:16px;height:16px;flex-shrink:0;color:var(--text-muted);transition:transform .2s}.log-entry.open .log-entry-chev{transform:rotate(180deg)}.log-entry-del{flex-shrink:0;width:36px;height:36px;position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:transparent;border:.5px solid var(--border);color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.log-entry-del:before{content:"";position:absolute;top:-6px;left:-6px;right:-6px;bottom:-6px}.log-entry-del:hover{background:var(--rose-bg);border-color:#e12d1e66;color:var(--rose)}.log-entry-del:active{background:#e12d1e40;color:var(--rose);transform:scale(.92)}.log-entry-detail{display:none;padding:4px 16px 14px}.log-entry.open .log-entry-detail{display:block}.log-sheet-body.is-loading{opacity:.5;pointer-events:none}.session-picker-trigger,.session-picker-row{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 14px;background:var(--surface-2);border:none;color:var(--text);font-family:inherit;text-align:left;cursor:pointer;transition:background .15s}.session-picker-trigger{border:.5px solid var(--border);border-radius:var(--radius)}.session-picker-trigger:hover,.session-picker-row:hover,.session-picker-trigger:active,.session-picker-row:active{background:var(--surface-3)}.session-dot{width:10px;height:10px;flex-shrink:0;border-radius:50%}.session-dot.is-empty{background:transparent;border:1.5px solid var(--text-dim)}.session-picker-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.session-picker-name{font-size:15px;font-weight:500;line-height:1.3;color:var(--text)}.session-picker-row[aria-checked=true] .session-picker-name{font-weight:600}.session-picker-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12px;line-height:1.3;color:var(--text-muted)}.session-picker-change{flex-shrink:0;font-size:14px;font-weight:500;color:var(--primary)}.session-picker-chev{flex-shrink:0;width:14px;height:14px;margin-left:-6px;color:var(--text-dim)}.session-picker-check{flex-shrink:0;display:inline-flex;color:var(--primary)}.session-picker-check svg{width:18px;height:18px}.session-picker-group+.session-picker-group{margin-top:14px}.session-picker-head{padding:0 4px 6px;font-size:12px;font-weight:600;letter-spacing:0;color:var(--text-dim)}.session-picker-rows{overflow:hidden;border:.5px solid var(--border);border-radius:var(--radius)}.session-picker-row+.session-picker-row{border-top:.5px solid var(--separator)}.activity-seg.log-extra-seg{gap:2px;padding:3px}.activity-seg.log-extra-seg button{flex-direction:column;gap:3px;min-width:0;padding:8px 0;font-size:10.5px;letter-spacing:-.01em}.activity-seg.log-extra-seg button svg{width:18px;height:18px}.log-extra-seg-glyph{display:flex;align-items:center;justify-content:center;height:18px;font-size:11px;letter-spacing:1px;line-height:1}.log-week-hint{margin-top:6px;font-size:12px;color:var(--text-muted)}.log-delete-btn,.log-entry-action.is-danger{color:var(--danger)}[data-theme=dark] .log-delete-btn,[data-theme=dark] .log-entry-action.is-danger{color:var(--rose)}.log-delete-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:var(--touch-target);margin-top:12px;padding:12px;background:var(--rose-bg);border:.5px solid rgba(225,45,30,.3);border-radius:var(--radius);font-family:inherit;font-size:16px;font-weight:600;cursor:pointer;transition:transform .12s var(--ease-spring)}.log-delete-btn:active{transform:scale(.98)}.log-delete-btn svg{width:18px;height:18px}.log-entry-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.log-entry-action{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--touch-target);padding:10px 14px;background:var(--surface-2);border:.5px solid var(--border-strong);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,transform .12s var(--ease-spring)}.log-entry-action:hover{background:var(--surface-3)}.log-entry-action:active{transform:scale(.98)}.log-entry-action.is-danger{background:var(--rose-bg);border-color:#e12d1e4d}.log-entry-action.is-danger:hover{background:#e12d1e33}.log-entry-action svg{width:16px;height:16px}.ex-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--border)}.ex-name{font-size:14px;color:var(--text)}.ex-sets{font-size:13px;font-weight:700;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.empty-state{text-align:center;padding:40px 20px;color:var(--text-muted)}.empty-state .icon{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;margin:0 auto 14px;border-radius:50%;background:var(--primary-bg);color:var(--primary)}.empty-state .icon svg{width:28px;height:28px}.empty-state p{font-size:14px;line-height:1.6}body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.brand{display:inline-flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:6px 4px 6px 0;min-height:var(--touch-target);font-family:inherit}.brand-lockup{display:inline-flex;align-items:center;gap:9px}.brand-mark{display:block;width:30px;height:30px;flex-shrink:0}.brand-mark-tile{fill:#000}[data-theme=dark] .brand-lockup .brand-mark-tile{stroke:#ffffff29;stroke-width:2}.brand-word{font-family:var(--font-display);font-size:23px;font-weight:800;font-stretch:var(--wide);letter-spacing:-.05em;line-height:1;color:var(--text);transform:translateY(-1px)}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.week-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:56px;padding:4px 0;background:transparent;border:none;border-radius:var(--radius);cursor:pointer;font-family:inherit;transition:transform .12s var(--ease-spring)}.week-day:active{transform:scale(.92)}.week-day-name{font-size:var(--fs-micro);font-weight:600;color:var(--text-muted)}.week-day.today .week-day-name,.week-day.active .week-day-name{color:var(--text);font-weight:800}.week-day-mark{position:relative;width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;background:var(--surface-2);transition:background-color var(--dur) var(--ease-spring),box-shadow var(--dur) var(--ease-spring)}.week-day.is-done .week-day-mark{background:var(--day-plane)}.week-day.today .week-day-mark{box-shadow:inset 0 0 0 2px var(--text)}.week-day.active .week-day-mark{background:var(--primary);box-shadow:none}.week-day-dot{width:9px;height:9px;border-radius:var(--radius-full);background:var(--day-plane)}.week-day-check{display:flex;width:16px;height:16px;color:#000}.week-day-check svg{width:100%;height:100%}.week-day.active .week-day-check{color:var(--on-primary)}.week-day-ring{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:var(--radius-full);background:conic-gradient(var(--text) calc(var(--progress, 0) * 1turn),var(--surface-3) 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 0)}.week-day.active .week-day-ring{background:conic-gradient(var(--on-primary) calc(var(--progress, 0) * 1turn),color-mix(in srgb,var(--on-primary) 30%,transparent) 0)}.week-day-dash{width:12px;height:2.5px;border-radius:var(--radius-full);background:var(--text-muted)}.week-day.active .week-day-dash{background:var(--on-primary)}.week-day-moved{width:18px;height:18px;border-radius:var(--radius-full);border:1.5px dashed var(--text-muted);box-sizing:border-box}.week-day.active .week-day-moved{border-color:var(--on-primary)}.week-day-miss{width:9px;height:9px;border-radius:var(--radius-full);background:var(--danger)}.week-day.active .week-day-miss{box-shadow:0 0 0 2px var(--on-primary)}.slot-status-row{display:flex;margin:0 0 10px}.slot-status-row:empty{display:none}.slot-status{--slot-status-fg: var(--text-muted);--slot-status-bg: var(--surface-2);display:inline-flex;align-items:center;max-width:100%;padding:3px 10px;border-radius:var(--radius-full);background:var(--slot-status-bg);color:var(--slot-status-fg);font-size:12px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.slot-status.is-skipped{--slot-status-bg: var(--surface-3)}[data-theme=dark] .slot-status.is-skipped{--slot-status-fg: rgba(235, 235, 245, .78)}.slot-status.is-done{--slot-status-fg: var(--success);--slot-status-bg: var(--green-bg)}.slot-status.is-moved{--slot-status-fg: var(--run);--slot-status-bg: var(--amber-bg)}.slot-status.is-missed{--slot-status-fg: var(--danger);--slot-status-bg: var(--rose-bg)}[data-theme=dark] .slot-status.is-done{--slot-status-fg: var(--green)}[data-theme=dark] .slot-status.is-moved{--slot-status-fg: var(--amber)}[data-theme=dark] .slot-status.is-missed{--slot-status-fg: var(--rose)}.train-bar{position:sticky;top:var(--header-h);z-index:40;background:var(--liquid-glass-bg);backdrop-filter:var(--liquid-glass);-webkit-backdrop-filter:var(--liquid-glass);border-bottom:.5px solid var(--separator);padding:8px 16px}.train-bar-inner{max-width:680px;margin:0 auto}.tab-today{--tab-color: var(--section-today);--tab-ink: var(--on-primary)}.tab-plan{--tab-color: var(--section-plan)}.tab-fuel{--tab-color: var(--section-fuel)}.tab-you{--tab-color: var(--section-you)}.nav-capture{flex:1;display:flex;align-items:flex-start;justify-content:center;padding-top:1px;background:none;border:none;cursor:pointer;font-family:inherit}.nav-capture-btn{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--primary);color:var(--on-primary);transition:transform .12s var(--ease-spring)}.nav-capture-btn svg{width:22px;height:22px}.nav-capture:active .nav-capture-btn{transform:scale(.9)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;height:calc(62px + env(safe-area-inset-bottom));background:var(--tab-glass-bg);backdrop-filter:var(--liquid-glass);-webkit-backdrop-filter:var(--liquid-glass);border-top:.5px solid var(--separator);padding:5px 4px env(safe-area-inset-bottom)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;min-height:var(--touch-target);padding:2px 0;background:none;border:none;color:var(--text-muted);font-family:inherit;cursor:pointer;transition:color .15s}.nav-item-pill{display:flex;align-items:center;justify-content:center;width:52px;height:30px;border-radius:var(--radius-full);transition:background-color var(--dur) var(--ease-spring),transform .12s var(--ease-spring)}.nav-item:active .nav-item-pill{transform:scale(.9)}.nav-item:hover,.nav-item.active,.nav-item.active:hover{color:var(--text)}.nav-item.active .nav-item-pill{background:var(--tab-color);color:var(--tab-ink, var(--on-plane))}.nav-item-icon{width:21px;height:21px}.nav-item-label{font-size:11px;font-weight:550;letter-spacing:0}.nav-item.active .nav-item-label{font-weight:700}.side-nav{display:none}.plane-blue{--plane: var(--strength-plane)}.plane-indigo{--plane: var(--swim-plane)}.plane-cyan{--plane: var(--ride-plane)}.plane-amber{--plane: var(--run-plane)}.plane-violet{--plane: var(--tennis-plane)}.plane-green{--plane: var(--golf-plane)}.plane-dim{--plane: var(--rest-plane)}.on-plane{background:var(--plane, var(--rest-plane));color:#000;color-scheme:light;--text: #000;--text-muted: rgba(0, 0, 0, .7);--text-dim: rgba(0, 0, 0, .62);--surface: rgba(255, 255, 255, .4);--surface-2: rgba(255, 255, 255, .55);--surface-3: rgba(0, 0, 0, .1);--border: rgba(0, 0, 0, .1);--border-strong: rgba(0, 0, 0, .22);--separator: rgba(0, 0, 0, .14);--primary: #000;--primary-hover: #222;--primary-bg: rgba(0, 0, 0, .08);--primary-dim: rgba(0, 0, 0, .1);--primary-glow: rgba(0, 0, 0, .18);--on-primary: #fff;--ring: #000;--strength: #000;--swim: #000;--ride: #000;--run: #000;--golf: #000;--tennis: #000;--success: #000;--success-bg: rgba(255, 255, 255, .55)}.today-featured-card{border-radius:var(--radius-xl);padding:20px 20px 18px}.today-featured-card.is-pending{background:var(--surface)}.today-pending{display:flex;flex-direction:column;min-height:170px}.today-pending-bar{display:block;height:12px;border-radius:var(--radius-full);background:var(--surface-3)}.today-pending-bar.is-badge{width:34%;height:16px}.today-pending-bar.is-title{width:58%;height:32px;margin:26px 0 14px;border-radius:10px}.today-pending-bar.is-sub{width:88%;margin-top:8px}.today-pending-bar.is-short{width:52%}.today-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.today-badge{display:inline-flex;align-items:center;gap:8px;min-width:0;white-space:nowrap;font-size:var(--fs-small);font-weight:700;color:var(--text)}.today-badge-icon{width:20px;height:20px;flex-shrink:0;color:var(--text)}.today-badge>span{overflow:hidden;text-overflow:ellipsis}.today-badge-meta{font-weight:500;color:var(--text-muted)}.today-done-badge{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;background:var(--primary);color:var(--on-primary);padding:5px 11px 5px 9px;border-radius:var(--radius-full);font-size:var(--fs-caption);font-weight:700}.today-done-badge svg{width:13px;height:13px}.today-from-chip{flex-shrink:0;padding:5px 11px;border-radius:var(--radius-full);background:var(--on-plane-fill);color:var(--on-plane);font-size:var(--fs-caption);font-weight:700}.today-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.today-card-title{text-wrap:balance;font-family:var(--font-display);font-size:34px;font-weight:800;font-stretch:var(--semi-wide);letter-spacing:-.035em;line-height:1.02;color:var(--text);margin-bottom:10px}.today-card-sub{font-size:var(--fs-small);color:var(--text-muted);line-height:1.45;max-width:46ch;text-wrap:pretty}.today-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px;margin-bottom:4px}.today-tag{font-size:var(--fs-caption);font-weight:600;padding:5px 11px;background:var(--primary-bg);border-radius:var(--radius-full);color:var(--text)}.today-open-row{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:50px;margin-top:14px;padding:0 20px;border:none;border-radius:var(--radius-full);background:var(--primary);cursor:pointer;color:var(--on-primary);font-family:inherit;font-size:var(--fs-small);font-weight:700;transition:transform .12s var(--ease-spring),background .15s}.today-open-row:hover{background:var(--primary-hover)}.today-open-row:active{transform:scale(.98)}.today-open-arrow{width:16px;height:16px;transition:transform .15s var(--ease-spring)}.today-open-row:hover .today-open-arrow{transform:translate(2px)}.today-alt-row{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;margin-top:8px;padding:0 20px;border:none;border-radius:var(--radius-full);background:var(--on-plane-fill);color:var(--on-plane);font-family:inherit;font-size:var(--fs-small);font-weight:700;cursor:pointer}.today-alt-row:hover{background:#00000029}.today-alt-row:active{transform:scale(.98)}.today-alt-icon{width:16px;height:16px}.today-section{margin-top:36px}.today-section-head-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.today-section-head{font-family:var(--font-display);font-size:var(--fs-lead);font-weight:750;font-stretch:var(--semi-wide);letter-spacing:-.025em;color:var(--text)}.today-week-card{background:var(--surface);border-radius:var(--radius-lg);padding:14px 8px}.race-hero{position:relative;overflow:hidden;background:#000;color:#fff;border-radius:var(--radius-xl);padding:20px 20px 18px;color-scheme:dark;--text: #fff;--text-muted: rgba(255, 255, 255, .68);--text-dim: rgba(255, 255, 255, .55);--surface: rgba(255, 255, 255, .08);--surface-2: rgba(255, 255, 255, .1);--surface-3: rgba(255, 255, 255, .18);--separator: rgba(255, 255, 255, .14);--border: rgba(255, 255, 255, .12);--primary: #fff;--on-primary: #000;--primary-bg: rgba(255, 255, 255, .12)}[data-theme=dark] .race-hero{background:var(--surface-raised);box-shadow:inset 0 0 0 .5px #ffffff1a}.race-hero .today-card-header{margin-bottom:14px}.race-hero .today-badge{font-size:var(--fs-caption);font-weight:600;color:var(--text-muted)}.race-hero .today-badge-icon{width:16px;height:16px;color:var(--text-muted)}.race-hero-name{text-wrap:balance;font-family:var(--font-display);font-size:var(--fs-title-3);font-weight:800;font-stretch:var(--semi-wide);letter-spacing:-.03em;line-height:1.1;color:var(--text)}.race-hero-meta{margin-top:6px;font-size:var(--fs-caption);color:var(--text-muted);line-height:1.4}.race-hero-count{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 12px;margin-top:26px}.race-hero-days{font-family:var(--font-display);font-size:var(--fs-hero);font-weight:800;font-stretch:var(--wide);letter-spacing:-.055em;line-height:.82;color:var(--text);font-variant-numeric:tabular-nums}.race-hero-days.is-word{font-size:var(--fs-figure)}.race-hero-unit{font-size:var(--fs-body);font-weight:700;color:var(--text)}.race-hero-sub{margin-top:10px;font-size:var(--fs-caption);color:var(--text-muted)}.race-hero.is-race-day .race-hero-days{color:var(--ride-plane)}.race-track{margin-top:24px}.race-track-bar{position:relative;height:6px;margin:0 9px}.race-track-phases{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-full);overflow:hidden}.race-track-phase{position:absolute;top:0;bottom:0;box-shadow:inset -2px 0 #000;background:var(--surface-3);overflow:hidden}[data-theme=dark] .race-track-phase{box-shadow:inset -2px 0 0 var(--surface-raised)}.race-track-phase:last-child{box-shadow:none}.race-track-fill{display:block;height:100%;background:#fff}.race-track-marker{position:absolute;top:50%;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;transform:translate(-50%,-50%);border-radius:var(--radius-full);background:#ffffff80;color:#000;font-size:9px;font-weight:800;line-height:1}.race-track-marker svg{width:11px;height:11px}.race-track-marker.is-a{width:24px;height:24px;background:#fff;color:#000}.race-track-marker.is-b{background:#ffffffd1}.race-track-today{position:absolute;top:50%;width:14px;height:14px;transform:translate(-50%,-50%);border-radius:var(--radius-full);background:var(--ride-plane);box-shadow:0 0 0 3px #000}[data-theme=dark] .race-track-today{box-shadow:0 0 0 3px var(--surface-raised)}.race-track-labels{display:flex;justify-content:space-between;margin-top:12px;font-size:var(--fs-micro);font-weight:600;color:var(--text-dim)}.race-hero-phase{margin-top:4px;font-size:var(--fs-caption);color:var(--text-muted)}.race-hero-phase b{color:var(--text);font-weight:700}.race-legs{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px;margin-top:20px;list-style:none}.race-leg{display:flex;flex-direction:column;gap:2px;min-width:0;padding:12px 12px 11px;background:var(--rest-plane);color:#000;border-radius:var(--radius)}.race-leg.leg-swim{background:var(--swim-plane)}.race-leg.leg-ride{background:var(--ride-plane)}.race-leg.leg-run{background:var(--run-plane)}.race-leg-label{display:inline-flex;align-items:center;gap:5px;margin-bottom:8px;font-size:var(--fs-micro);font-weight:700;color:#000}.race-leg-icon{width:15px;height:15px;color:#000}.race-leg-km{font-family:var(--font-display);font-size:clamp(16px,4.8vw,20px);font-weight:800;font-stretch:var(--semi-wide);letter-spacing:-.04em;line-height:1;color:#000;font-variant-numeric:tabular-nums;white-space:nowrap}.race-leg-mi{font-size:var(--fs-micro);color:#000000a8;font-variant-numeric:tabular-nums;white-space:nowrap}.race-list{margin-top:8px;background:var(--surface);border-radius:var(--radius-lg);list-style:none;overflow:hidden}.race-row{display:flex;align-items:center;gap:14px;padding:14px 16px}.race-row+.race-row{border-top:.5px solid var(--separator)}.race-row-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--rest-plane);color:#000}.race-row-icon svg{width:20px;height:20px}.race-row-icon.sport-swim{background:var(--swim-plane)}.race-row-icon.sport-ride{background:var(--ride-plane)}.race-row-icon.sport-run{background:var(--run-plane)}.race-row-main{flex:1;min-width:0}.race-row-name{font-size:var(--fs-small);font-weight:700;color:var(--text);line-height:1.3}.race-row-meta{text-wrap:pretty;margin-top:2px;font-size:var(--fs-micro);color:var(--text-muted);line-height:1.4}.race-priority{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;margin-right:6px;padding:0 4px;vertical-align:1px;border-radius:var(--radius-full);background:var(--surface-3);color:var(--text);font-size:10px;font-weight:800}.race-priority.is-a{background:var(--primary);color:var(--on-primary)}.race-row-count{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;text-align:right}.race-row-days{font-family:var(--font-display);font-size:var(--fs-title-3);font-weight:800;font-stretch:var(--wide);letter-spacing:-.045em;line-height:1;color:var(--text);font-variant-numeric:tabular-nums}.race-row-unit{margin-top:4px;font-size:var(--fs-micro);font-weight:500;color:var(--text-muted)}.race-row-soon{font-size:var(--fs-caption);font-weight:700;color:var(--success)}@media (max-width: 390px){.race-hero{padding:18px 16px 16px}.race-hero-days{font-size:76px}.race-row{padding:12px 14px}.race-leg{padding:10px}.race-leg-km{font-size:16px}}.today-about-card,.today-about{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:36px;padding:16px 18px;background:var(--surface);border:none;border-radius:var(--radius-lg);color:var(--text);font-family:inherit;cursor:pointer;text-align:left;transition:background .15s,transform .15s var(--ease-spring)}.today-about-card:hover,.today-about:hover{background:var(--surface-3)}.today-about-card:active,.today-about:active{transform:scale(.985)}.today-about-info,.today-about-text{display:flex;flex-direction:column;gap:2px;min-width:0}.today-about-title{font-size:var(--fs-small);font-weight:700;color:var(--text)}.today-about-desc,.today-about-sub{font-size:var(--fs-caption);color:var(--text-muted)}.today-about-arrow,.today-about-chev{width:18px;height:18px;color:var(--text-muted);flex-shrink:0}@media (min-width: 1024px){body{padding-left:var(--side-nav-w);padding-bottom:0}.bottom-nav{display:none}.side-capture{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0 0 18px;border:none;border-radius:var(--radius-full);background:var(--primary);color:var(--on-primary);font-family:inherit;font-size:15px;font-weight:700;cursor:pointer}.side-capture svg{width:18px;height:18px}.side-nav{display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;width:var(--side-nav-w);padding:20px 14px;border-right:.5px solid var(--separator);background:var(--bg);z-index:60}.side-brand{display:flex;align-items:center;gap:10px;margin-bottom:28px;padding:8px 10px;background:none;border:none;cursor:pointer;font-family:inherit}.side-items{display:flex;flex-direction:column;gap:4px;flex:1}.side-item{display:flex;align-items:center;gap:12px;padding:6px 10px 6px 6px;background:none;border:none;border-radius:var(--radius-full);color:var(--text-muted);font-family:inherit;font-size:15px;font-weight:550;text-align:left;cursor:pointer;transition:background .15s,color .15s}.side-item:hover{background:var(--surface);color:var(--text)}.side-item.active{background:var(--surface);color:var(--text);font-weight:700}.side-item-tile{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;flex-shrink:0;transition:background-color var(--dur) var(--ease-spring)}.side-item.active .side-item-tile{background:var(--tab-color);color:var(--tab-ink, var(--on-plane))}.side-item-icon{width:19px;height:19px;flex-shrink:0}.train-bar{top:0}.container,.train-bar-inner{max-width:760px}}.detail-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin:2px 0 4px;padding:11px 0;background:none;border:none;border-top:1px solid var(--border);color:var(--text-muted);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:color .15s}.detail-toggle:hover{color:var(--text)}.detail-chev{width:16px;height:16px;transition:transform .2s}.detail-toggle.open .detail-chev{transform:rotate(180deg)}.detail-fields{padding-top:6px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-hint{font-weight:600;color:var(--text-dim);letter-spacing:0;text-transform:none}.field-textarea{font-size:16px}.field input[type=number]::-webkit-outer-spin-button,.field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.input-unit{display:flex;gap:8px}.input-unit input{flex:1;min-width:0}.unit-toggle{display:flex;flex-shrink:0;background:var(--surface-2);border:.5px solid var(--separator);border-radius:var(--radius-sm);padding:2px;overflow:hidden}.unit-toggle button{padding:0 14px;min-height:38px;background:transparent;border:none;border-radius:6px;color:var(--text-muted);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s cubic-bezier(.16,1,.3,1),color .15s}.unit-toggle button.active{background:var(--primary);color:var(--on-primary)}.activity-seg{display:flex;gap:2px;background:var(--surface);padding:3px;border-radius:var(--radius-full)}.modal .activity-seg,.card .activity-seg{background:var(--surface-3)}.activity-seg button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;min-height:44px;background:transparent;border:none;border-radius:var(--radius-full);color:var(--text-muted);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background var(--dur) var(--ease-spring),color .15s}.activity-seg button svg{width:17px;height:17px}.activity-seg button:hover{color:var(--text)}.activity-seg button.active{background:var(--primary);color:var(--on-primary);font-weight:700}.activity-seg button.active:hover{color:var(--on-primary)}.progress{margin-top:26px}.progress-card{background:var(--surface);border-radius:var(--radius-lg);padding:16px 16px 18px;margin-top:12px}.progress-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.progress-card-title{font-size:11px;font-weight:700;letter-spacing:0;color:var(--text-dim)}.progress-card-meta{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.heatmap{display:flex;gap:4px;overflow-x:auto;padding-bottom:2px}.heatmap-week{display:grid;grid-template-rows:repeat(7,1fr);gap:4px}.heatmap-cell{width:15px;height:15px;border-radius:4px;background:var(--surface-3)}.heatmap-cell.lv1{background:var(--primary);opacity:.45}.heatmap-cell.lv2{background:var(--primary)}.heatmap-cell.today{outline:1.5px solid var(--text);outline-offset:1px}.heatmap-legend{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:11px;color:var(--text-dim)}.heatmap-legend .heatmap-cell{width:12px;height:12px}.weekbars{display:flex;align-items:flex-end;gap:8px;height:96px}.weekbar{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.weekbar-track{width:100%;display:flex;align-items:flex-end;justify-content:center;flex:1}.weekbar-fill{width:70%;max-width:28px;min-height:3px;background:var(--primary);border-radius:5px 5px 0 0;transition:height .3s var(--ease-out)}.weekbar.empty .weekbar-fill{background:var(--surface-3)}.weekbar-count{font-size:11px;font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums}.weekbar-label{font-size:10px;font-weight:600;color:var(--text-dim);white-space:nowrap}.split-row{display:flex;align-items:center;gap:10px;padding:7px 0}.split-label{width:64px;flex-shrink:0;font-size:12px;font-weight:600;color:var(--text-muted)}.split-track{flex:1;height:10px;background:var(--surface-3);border-radius:999px;overflow:hidden}.split-fill{height:100%;border-radius:999px;background:var(--split-color);min-width:4px;transition:width .3s var(--ease-out)}.split-value{width:26px;flex-shrink:0;text-align:right;font-size:12px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.log-metrics{display:flex;flex-wrap:wrap;gap:6px;padding:10px 0 2px}.metric-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-full);background:var(--surface-2);border:.5px solid var(--border);font-size:12px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.metric-chip b{font-weight:600}.log-note{padding:8px 0 2px;font-size:13px;line-height:1.55;color:var(--text-muted);font-style:italic}.double-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:var(--radius-full);background:var(--primary);color:var(--on-primary);font-size:var(--fs-micro);font-weight:700;white-space:nowrap}.session-section{background:var(--surface);border-radius:var(--radius-lg);padding:22px 20px;margin-top:20px;transition:border-color .2s}.session-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.session-slot-pill{flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 10px;border-radius:var(--radius-full);background:var(--plane, var(--surface-2));font-size:var(--fs-caption);font-weight:700;color:#000;font-variant-numeric:tabular-nums}.session-slot-pill .session-type-icon{width:16px;height:16px;color:#000}.session-eyebrow{min-width:0;text-align:right;font-size:var(--fs-caption);font-weight:500;color:var(--text-muted)}.session-title{font-family:var(--font-display);font-size:26px;font-weight:800;font-stretch:var(--semi-wide);letter-spacing:-.03em;color:var(--text);margin:0 0 8px;line-height:1.08;text-wrap:balance}.session-sub{font-size:14px;color:var(--text-muted);line-height:1.5;margin:0 0 12px}.session-tags{margin-top:4px;margin-bottom:18px}.session-log-btn{width:100%;margin-bottom:18px}@media (max-width: 460px){.session-section{padding:20px 14px}.session-section .card,.session-section .card-cell{padding:16px}.session-section .super-series-header,.session-section .super-series-divider{padding-left:16px;padding-right:16px}.session-section .big-card{padding:20px 16px}}.cues-card{margin-top:14px;padding:16px}.cues-title{font-size:13px;font-weight:700;letter-spacing:0;color:var(--text-dim);margin-bottom:10px}.cues-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.cue-item{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.5;color:var(--text)}.cue-bullet{width:6px;height:6px;border-radius:50%;background:var(--primary);margin-top:7px;flex-shrink:0}.due-banner{--plane: var(--health-plane);display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px;padding:20px 20px 18px;border-radius:var(--radius-xl)}.due-banner-main{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}.due-banner-label{font-family:var(--font-display);font-size:30px;font-weight:800;font-stretch:var(--semi-wide);letter-spacing:-.035em;line-height:1.05;color:var(--text)}.due-banner.due .due-banner-label,.due-banner.overdue .due-banner-label{align-self:flex-start;padding:2px 12px 4px;border-radius:var(--radius-sm);background:#000;color:var(--plane)}.due-banner-meta{margin-top:6px;font-size:var(--fs-caption);font-weight:500;color:var(--text-muted);font-variant-numeric:tabular-nums}.due-banner-next{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;text-align:right}@media (max-width: 460px){.due-banner-next{align-items:flex-start;margin-left:0;text-align:left}}.due-banner-next-label{font-size:var(--fs-micro);font-weight:600;color:var(--text-muted)}.due-banner-next-site{font-size:var(--fs-small);font-weight:700;color:var(--text)}.rotation-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.rotation-site{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius-full);background:var(--surface);font-size:13px;font-weight:600;color:var(--text-muted)}.rotation-site.next{background:var(--health-bg);border-color:var(--health);color:var(--text)}.rotation-site-tag{padding:2px 7px;border-radius:var(--radius-full);background:var(--health);color:#000;font-size:10px;font-weight:700;letter-spacing:0}.rotation-empty{font-size:13px;line-height:1.6;color:var(--text-muted)}.placement-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.placement-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-md);background:var(--surface-2);border:.5px solid var(--border);min-height:48px}.placement-row.retired{opacity:.55}.placement-move{display:flex;align-items:center;gap:2px}.placement-move button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:4px;background:none;border:none;color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);transition:color .15s,background .15s}.placement-move button:hover:not(:disabled){color:var(--text);background:var(--surface-3)}.placement-move button:disabled{opacity:.2;cursor:default}.placement-move svg{width:14px;height:14px}.placement-move-up{transform:rotate(180deg)}.placement-label{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;padding:6px 4px;background:none;border:none;color:var(--text);font-family:inherit;font-size:15px;font-weight:600;letter-spacing:-.01em;text-align:left;cursor:pointer}.placement-label:disabled{cursor:default}.placement-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.placement-count{font-size:12px;font-weight:500;color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap}.placement-input{flex:1;min-width:0;padding:8px 12px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--primary);color:var(--text);font-family:inherit;font-size:16px;font-weight:600;outline:none}.placement-retire{padding:6px 12px;border-radius:var(--radius-full);background:var(--surface-3);border:.5px solid var(--border);color:var(--text-muted);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.placement-retire:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.placement-add{display:flex;gap:8px}.placement-add input{flex:1;min-width:0}.placement-add .modal-btn{flex:0 0 auto;width:auto;padding:0 18px}.export-btn{display:inline-flex;align-items:center;gap:8px;margin-top:4px;padding:10px 16px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.export-btn:hover:not(:disabled){background:var(--surface-3)}.export-btn:disabled{opacity:.6;cursor:default}.export-btn svg{width:17px;height:17px}.crop-cover-frame{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;container-type:size}.crop-cover{position:absolute;left:50%;top:50%;width:max(100cqw,100cqh * var(--crop-ratio));aspect-ratio:var(--crop-ratio);transform:translate(-50%,-50%);overflow:hidden}.crop-cover img{position:absolute;max-width:none;max-height:none;object-fit:fill;display:block}.curated-feed-container{padding-bottom:48px}.curated-empty-cta{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;padding:0 20px;white-space:nowrap}.curated-empty-cta svg{width:18px;height:18px;flex-shrink:0}.curated-add-cta-btn{flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;background:var(--primary);color:var(--on-primary);border:none;border-radius:var(--radius-md);padding:10px 16px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm);transition:background .15s,transform .1s}.curated-add-cta-btn:hover{background:var(--primary-hover)}.curated-add-cta-btn:active{transform:scale(.98)}.curated-add-cta-btn svg{width:16px;height:16px}.curated-controls-bar{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.curated-search-wrap{position:relative;width:100%}.curated-search-input{width:100%;background:var(--surface);border:1px solid transparent;border-radius:var(--radius-full);padding:12px 36px 12px 14px;font-family:inherit;font-size:16px;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.curated-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.curated-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-dim);font-size:13px;cursor:pointer;padding:4px}.curated-filter-pills{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.curated-filter-pills::-webkit-scrollbar{display:none}.filter-pill{flex-shrink:0;background:var(--surface);border:none;border-radius:999px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .15s}.filter-pill:hover{color:var(--text)}.filter-pill.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:600}.filter-pill .pill-count{font-size:11px;opacity:.85;margin-left:3px}.filter-pill-dot{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;vertical-align:1px}.clip-sort-card{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:14px 16px;border-radius:var(--radius-lg);background:var(--surface)}.clip-sort-text{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.clip-sort-title{font-size:var(--fs-small);font-weight:700}.clip-sort-sub{font-size:var(--fs-caption);color:var(--text-muted)}.clip-sort-btn{flex-shrink:0;min-height:40px;padding:0 16px;border:none;border-radius:var(--radius-full);background:var(--primary);color:var(--on-primary);font-family:inherit;font-size:var(--fs-caption);font-weight:700;cursor:pointer}.clip-sort-btn:disabled{opacity:.6;cursor:default}.curated-stream-list{display:flex;flex-direction:column;gap:24px;max-width:600px;margin:0 auto}.curated-card{background:var(--surface);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .15s}.curated-card:hover{border-color:var(--border-strong)}.curated-card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:.5px solid var(--separator)}.curated-author-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.curated-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;background:var(--surface-2)}.curated-avatar-fallback{width:38px;height:38px;border-radius:50%;background:var(--primary-bg);color:var(--primary);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:15px}.curated-author-meta{display:flex;flex-direction:column}.curated-handle{font-size:14px;font-weight:700;color:var(--text);line-height:1.2}.curated-display-name{font-size:12px;color:var(--text-muted);line-height:1.2;margin-top:2px}.curated-header-actions{display:flex;align-items:center;gap:8px}.curated-slide-badge{display:inline-flex;align-items:center;gap:5px;background:var(--surface-2);border:.5px solid var(--border);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600;color:var(--text-muted)}.curated-badge-icon{width:12px;height:12px;color:var(--primary)}.curated-ig-btn{display:inline-flex;align-items:center;gap:5px;background:var(--surface-2);border:.5px solid var(--border);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--text);text-decoration:none;transition:background .15s}.curated-ig-btn:hover{background:var(--surface-3);color:var(--primary)}.curated-ig-icon{width:13px;height:13px}.curated-delete-btn{background:transparent;border:none;color:var(--text-dim);padding:6px;cursor:pointer;border-radius:var(--radius-xs);display:flex;align-items:center;transition:color .15s}.curated-delete-btn:hover{color:var(--rose)}.curated-delete-btn:disabled{opacity:.45;cursor:wait}.curated-delete-btn svg{width:14px;height:14px}.curated-media-canvas{position:relative;width:100%;background:#000;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:aspect-ratio .18s ease}.curated-media-canvas.is-video{cursor:pointer}.curated-media-canvas.is-image{cursor:default}.curated-media-image{width:100%;height:auto;display:block}.curated-media-video{width:100%;height:100%;object-fit:contain;display:block}.curated-media-canvas.is-cropped .curated-media-image,.curated-media-canvas.is-cropped .curated-media-video{position:absolute;max-width:none;max-height:none;object-fit:fill}.curated-sound-btn{position:absolute;bottom:12px;right:12px;width:34px;height:34px;border-radius:50%;background:#000000a6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:.5px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:transform .12s}.curated-sound-btn:hover{transform:scale(1.08)}.curated-sound-btn svg{width:16px;height:16px}.curated-play-indicator{position:absolute;width:48px;height:48px;border-radius:50%;background:#0009;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;pointer-events:none}.curated-card-body{padding:16px;display:flex;flex-direction:column;gap:12px}.curated-category-chip{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;min-height:32px;padding:0 12px;border:none;border-radius:var(--radius-full);background:var(--primary-bg);color:var(--text);font-family:inherit;font-size:var(--fs-caption);font-weight:600;cursor:pointer}.curated-category-chip i{width:8px;height:8px;border-radius:50%}.curated-category-chip.is-unsorted{color:var(--text-muted);box-shadow:inset 0 0 0 1px var(--border-strong);background:transparent}.clip-viewer .curated-card{background:transparent;border-radius:0}.clip-viewer .curated-card-body{padding-left:0;padding-right:0}.clip-viewer .curated-media-canvas{border-radius:var(--radius-lg);overflow:hidden}.clip-viewer-section{margin-top:16px}.clip-category-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.clip-category-chip{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border:none;border-radius:var(--radius-full);background:var(--surface-2);color:var(--text);font-family:inherit;font-size:var(--fs-small);font-weight:600;cursor:pointer}.clip-category-chip i{width:10px;height:10px;border-radius:50%}.clip-category-chip.is-selected{background:var(--primary);color:var(--on-primary)}.clip-category-chip:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.clip-viewer-actions{display:flex;gap:10px;margin-top:20px}.clip-viewer-actions>*{flex:1;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.curated-cue-callout{background:var(--primary-bg);border-left:3px solid var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:10px 14px}.curated-cue-label{display:block;font-size:11px;font-weight:700;letter-spacing:0;color:var(--primary);margin-bottom:2px}.curated-cue-text{font-size:14px;font-weight:500;line-height:1.45;color:var(--text);margin:0}.curated-tags-row{display:flex;flex-wrap:wrap;gap:6px}.curated-tag-pill{background:var(--surface-2);border:.5px solid var(--border);border-radius:999px;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .12s}.curated-tag-pill:hover{background:var(--primary-bg);border-color:var(--primary);color:var(--primary)}.curated-caption-wrap{font-size:13px;line-height:1.5;color:var(--text-muted)}.curated-caption{margin:0}.curated-caption.clamped{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.curated-caption.expanded{display:block}.curated-expand-btn{background:transparent;border:none;color:var(--text-dim);font-size:12px;font-weight:600;padding:2px 0;margin-top:2px;cursor:pointer}.curated-expand-btn:hover{color:var(--text)}.curated-empty-state{text-align:center;padding:48px 24px;background:var(--surface);border-radius:var(--radius-lg)}.empty-icon-wrap{width:52px;height:52px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.empty-icon{width:24px;height:24px;color:var(--text-muted)}.empty-title{font-size:16px;font-weight:700;color:var(--text);margin:0 0 6px}.empty-sub{font-size:13px;color:var(--text-muted);margin:0 0 16px}.curator-modal{max-width:540px}.curator-form{display:flex;flex-direction:column}.curator-kind-seg{margin-bottom:14px}.field-half{min-width:0}.curator-parsed-pill>span{min-width:0;overflow-wrap:anywhere}.curator-parsed-pill{display:flex;align-items:center;gap:6px;margin-top:6px;padding:6px 10px;background:var(--primary-bg);border-radius:var(--radius-xs);font-size:12px;color:var(--primary)}.parsed-icon{width:14px;height:14px}.field-help{display:block;font-size:12px;color:var(--text-dim);margin-top:4px}.field-help code{background:var(--surface-2);padding:2px 4px;border-radius:4px}.curator-stepper{display:flex;align-items:center;border:.5px solid var(--border);border-radius:var(--radius);background:var(--surface-2);overflow:hidden}.stepper-btn{background:transparent;border:none;font-size:18px;font-weight:600;color:var(--text);padding:8px 14px;cursor:pointer;transition:background .12s}.stepper-btn:hover{background:var(--surface-3)}.stepper-val{flex:1;text-align:center;border:none!important;background:transparent!important;min-height:auto!important;font-weight:700!important;font-size:16px!important}.curator-media-options{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.curator-upload-btn{display:inline-flex;align-items:center;gap:8px;background:var(--surface-2);border:.5px solid var(--border-strong);border-radius:var(--radius);padding:10px 14px;font-family:inherit;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;transition:background .12s}.curator-upload-btn:hover{background:var(--surface-3)}.upload-btn-icon{width:16px;height:16px}.curator-aspect-toggle{display:flex;align-items:center;gap:6px}.aspect-label{font-size:12px;color:var(--text-muted)}.aspect-btn{background:var(--surface-2);border:.5px solid var(--border);border-radius:var(--radius-xs);padding:6px 10px;font-size:11px;font-weight:600;color:var(--text-muted);cursor:pointer}.aspect-btn.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.curator-preview-thumb-wrap{margin-top:10px;display:flex;align-items:center;gap:12px}.curator-preview-thumb{width:72px;height:90px;border-radius:var(--radius-sm);object-fit:cover;background:#000}.curator-remove-media{background:transparent;border:none;color:var(--rose);font-size:13px;cursor:pointer;padding:4px 8px}.curator-crop-btn{background:transparent;border:none;color:var(--primary);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:4px 8px}.curator-preview-crop{position:relative;flex-shrink:0;width:72px;max-height:128px;overflow:hidden;border-radius:var(--radius-sm);background:#000}.curator-preview-crop img,.curator-preview-crop video{position:absolute;max-width:none;max-height:none;object-fit:fill;display:block}.crop-editor{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;flex-direction:column;background:#000;color:#fff;outline:none}.crop-editor-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:calc(6px + env(safe-area-inset-top)) 8px 6px}.crop-editor-title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.crop-bar-btn{justify-self:start;min-height:var(--touch-target);padding:0 12px;background:transparent;border:none;color:#fff;font-family:inherit;font-size:16px;cursor:pointer}.crop-bar-btn.primary{justify-self:end;font-weight:700;color:var(--fuel-plane)}.crop-bar-btn:disabled{opacity:.4;cursor:default}.crop-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}.crop-status{position:absolute;margin:0;padding:0 24px;text-align:center;font-size:14px;color:#ffffffb3}.crop-stage>.curator-spinner{position:absolute;border-color:#ffffff40;border-top-color:#fff}.crop-media-box{position:relative;flex-shrink:0;user-select:none;-webkit-user-select:none}.crop-media-box.measuring{width:1px;height:1px;overflow:hidden;opacity:0}.crop-media{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;object-fit:fill;display:block;pointer-events:none;-webkit-user-drag:none}.crop-shade{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.crop-hole{position:absolute;box-shadow:0 0 0 9999px #0009}.crop-rect{position:absolute;box-shadow:inset 0 0 0 1px #ffffffe6;cursor:move;touch-action:none;outline:none}.crop-rect:focus-visible{box-shadow:inset 0 0 0 1px #ffffffe6,0 0 0 3px var(--fuel-plane)}.crop-rect:before,.crop-rect:after{content:"";position:absolute;pointer-events:none;border-color:#ffffff59;border-style:solid;border-width:0;transition:border-color .15s}.crop-rect:before{top:0;bottom:0;left:33.333%;right:33.333%;border-left-width:1px;border-right-width:1px}.crop-rect:after{left:0;right:0;top:33.333%;bottom:33.333%;border-top-width:1px;border-bottom-width:1px}.crop-rect.dragging:before,.crop-rect.dragging:after{border-color:#ffffffb3}.crop-handle{position:absolute;width:var(--touch-target);height:var(--touch-target);touch-action:none}.crop-handle:before{content:"";position:absolute;border:0 solid #fff}.crop-handle-nw,.crop-handle-ne,.crop-handle-sw,.crop-handle-se{z-index:1}.crop-handle-nw{left:-22px;top:-22px;cursor:nwse-resize}.crop-handle-ne{right:-22px;top:-22px;cursor:nesw-resize}.crop-handle-sw{left:-22px;bottom:-22px;cursor:nesw-resize}.crop-handle-se{right:-22px;bottom:-22px;cursor:nwse-resize}.crop-handle-nw:before,.crop-handle-ne:before,.crop-handle-sw:before,.crop-handle-se:before{width:20px;height:20px}.crop-handle-nw:before{left:19px;top:19px;border-left-width:3px;border-top-width:3px}.crop-handle-ne:before{right:19px;top:19px;border-right-width:3px;border-top-width:3px}.crop-handle-sw:before{left:19px;bottom:19px;border-left-width:3px;border-bottom-width:3px}.crop-handle-se:before{right:19px;bottom:19px;border-right-width:3px;border-bottom-width:3px}.crop-handle-n,.crop-handle-s{left:50%;margin-left:-22px;cursor:ns-resize}.crop-handle-n{top:-22px}.crop-handle-s{bottom:-22px}.crop-handle-e,.crop-handle-w{top:50%;margin-top:-22px;cursor:ew-resize}.crop-handle-e{right:-22px}.crop-handle-w{left:-22px}.crop-handle-n:before,.crop-handle-s:before{left:10px;width:24px;height:0;border-top-width:3px}.crop-handle-n:before{top:19px}.crop-handle-s:before{bottom:19px}.crop-handle-e:before,.crop-handle-w:before{top:10px;width:0;height:24px;border-left-width:3px}.crop-handle-e:before{right:19px}.crop-handle-w:before{left:19px}.crop-ratios{display:flex;justify-content:safe center;gap:6px;padding:10px 12px calc(14px + env(safe-area-inset-bottom));overflow-x:auto;scrollbar-width:none}.crop-ratios::-webkit-scrollbar{display:none}.crop-ratio-chip{flex-shrink:0;min-height:36px;padding:0 12px;border:none;border-radius:var(--radius-full);background:#ffffff1f;color:#fffc;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}.crop-ratio-chip.active{background:#fff;color:#000}.crop-ratio-chip:disabled{opacity:.4;cursor:default}.crop-reset-btn{min-height:var(--touch-target);padding:0 12px;background:transparent;border:none;color:var(--fuel-plane);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}.crop-reset-btn:disabled{color:#ffffff59;cursor:default}.curator-tags-selector{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.curator-tag-chip{display:inline-flex;align-items:center;gap:5px;background:var(--surface-2);border:.5px solid var(--border);border-radius:999px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .12s}.curator-tag-chip svg{width:12px;height:12px}.curator-tag-chip.active{background:var(--primary-bg);border-color:var(--primary);color:var(--primary);font-weight:600}.curator-custom-tag-row{display:flex;gap:8px}.curator-custom-tag-row input{flex:1}.curator-add-tag-btn{background:var(--surface-2);border:.5px solid var(--border-strong);border-radius:var(--radius);padding:0 14px;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center}.curator-add-tag-btn svg{width:18px;height:18px}.curator-refetch-btn{flex-shrink:0;white-space:nowrap;margin-left:auto;background:var(--surface);border:.5px solid var(--border-strong);border-radius:var(--radius-xs);padding:3px 8px;font-family:inherit;font-size:11px;font-weight:600;color:var(--primary);cursor:pointer;transition:all .12s}.curator-refetch-btn:hover:not(:disabled){background:var(--primary-bg)}.curator-refetch-btn:disabled{opacity:.6;cursor:wait}.curator-media-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 16px;background:var(--surface-2);border:1px dashed var(--primary);border-radius:var(--radius-md);margin-top:8px;text-align:center;gap:8px}.curator-spinner{width:24px;height:24px;border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:curator-spin .75s linear infinite}@keyframes curator-spin{to{transform:rotate(360deg)}}.curator-media-loading .loading-text{font-size:13px;font-weight:600;color:var(--text)}.curator-media-loading .loading-sub{font-size:11px;color:var(--text-muted)}.curator-media-error{margin-top:8px;padding:12px 14px;background:var(--rose-bg);border:.5px solid var(--rose);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:4px}.curator-media-error .error-title{font-size:12px;font-weight:700;color:var(--rose)}.curator-media-error .error-msg{font-size:12px;color:var(--text);line-height:1.35}.curator-media-error .error-request-id{font-size:11px;color:var(--text-muted)}.curator-media-error .error-request-id code{-webkit-user-select:all;user-select:all}.curator-media-error .error-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.curator-media-error .retry-btn{background:var(--surface);border:.5px solid var(--border-strong);border-radius:var(--radius-xs);padding:5px 10px;font-family:inherit;font-size:11px;font-weight:600;color:var(--text);cursor:pointer}.curator-media-error .retry-btn:hover{background:var(--surface-2)}.curator-media-success{display:flex;flex-direction:column;gap:4px}.curator-media-success .success-badge{font-size:12px;font-weight:600;color:var(--green)}.curator-media-success .success-details{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text-muted)}.pull-to-refresh-root{position:relative;width:100%}.pull-to-refresh-indicator{position:fixed;left:50%;top:calc(var(--header-h) + env(safe-area-inset-top,0px) + 20px);z-index:45;display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 14px;border-radius:var(--radius-full);background:var(--liquid-glass-bg);backdrop-filter:var(--liquid-glass);-webkit-backdrop-filter:var(--liquid-glass);border:.5px solid var(--separator);box-shadow:var(--shadow-sm);pointer-events:none;opacity:0;transform:translate(-50%,-16px) scale(.85);transition:opacity .22s ease,transform .22s var(--ease-spring)}@media (min-width: 1024px){.pull-to-refresh-indicator{top:24px;left:calc(var(--side-nav-w) + (100% - var(--side-nav-w)) / 2)}}.pull-to-refresh-indicator.visible{opacity:1}.pull-to-refresh-indicator.armed{border-color:var(--primary-dim);box-shadow:0 2px 12px var(--primary-glow)}.pull-to-refresh-indicator-text{font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-muted);letter-spacing:-.01em;white-space:nowrap}.pull-to-refresh-spinner{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--text-dim);flex-shrink:0}.pull-to-refresh-spinner svg{width:100%;height:100%;display:block}.pull-to-refresh-spinner.spinning svg{animation:ptr-spin .75s linear infinite;color:var(--primary)}.pull-to-refresh-spinner.success{color:var(--green)}@keyframes ptr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pull-to-refresh-content{will-change:transform}.fuel-hero-card{--plane: var(--fuel-plane);border-radius:var(--radius-xl);padding:20px 20px 18px;margin-bottom:24px}.on-plane .macro-tile .macro-tile-bar-fill{background:#000}.fuel-hero-head{margin-bottom:18px}.fuel-hero-eyebrow-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.fuel-hero-eyebrow{font-size:12px;font-weight:700;letter-spacing:0;color:var(--text)}.fuel-hero-day-context{margin-top:4px;font-size:13px;font-weight:500;color:var(--text-muted)}.fuel-hero-target-pill{font-size:var(--fs-caption);font-weight:600;padding:5px 11px;border-radius:var(--radius-full);background:var(--primary-bg);color:var(--text)}.fuel-hero-main-stat{display:flex;align-items:baseline;gap:8px}.fuel-hero-cal-num{font-family:var(--font-display);font-size:var(--fs-figure);font-weight:800;font-stretch:var(--wide);line-height:.9;color:var(--text);letter-spacing:-.05em;font-variant-numeric:tabular-nums}.fuel-hero-cal-unit{font-size:15px;font-weight:600;color:var(--text-muted)}.fuel-macro-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media (min-width: 640px){.fuel-macro-tiles{grid-template-columns:repeat(4,1fr)}}.macro-tile{background:var(--surface-2);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column}.macro-tile-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:4px}.macro-tile-name{font-size:var(--fs-micro);font-weight:600;color:var(--text-muted)}.macro-tile-pct{font-size:11px;font-weight:600;color:var(--text-dim)}.macro-tile-stat{display:flex;align-items:baseline;gap:4px;margin-bottom:8px}.macro-tile-val{font-family:var(--font-display);font-size:24px;font-weight:800;font-stretch:var(--wide);letter-spacing:-.04em;line-height:1;color:var(--text);font-variant-numeric:tabular-nums}.macro-tile-target{white-space:nowrap;font-size:12px;font-weight:500;color:var(--text-dim)}.macro-tile-bar-bg{height:5px;background:var(--surface-3);border-radius:var(--radius-full);overflow:hidden}.macro-tile-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .4s cubic-bezier(.16,1,.3,1)}.tile-kcal .macro-tile-bar-fill{background:var(--text)}.tile-protein .macro-tile-bar-fill{background:var(--strength-plane)}.tile-carbs .macro-tile-bar-fill{background:var(--fuel-plane)}.tile-fat .macro-tile-bar-fill{background:var(--swim-plane)}.fuel-snap-action-btn{width:100%;margin-top:18px;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--primary);color:var(--on-primary);font-size:16px;font-weight:700;border-radius:var(--radius-full);border:none;cursor:pointer;transition:transform .15s ease,filter .15s ease}.fuel-snap-action-btn:active{transform:scale(.98);filter:brightness(.92)}.fuel-snap-action-btn svg{flex-shrink:0}.fuel-empty-card{background:var(--surface);border-radius:var(--radius-lg);padding:34px 24px;text-align:center;margin-bottom:24px}.fuel-empty-icon-wrap{width:52px;height:52px;border-radius:50%;background:var(--fuel-plane);color:#000;margin:0 auto 14px;display:flex;align-items:center;justify-content:center}.fuel-empty-title{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text);margin:0 0 6px}.fuel-empty-desc{font-size:14px;color:var(--text-muted);line-height:1.45;max-width:320px;margin:0 auto 18px}.fuel-empty-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--radius-full);background:var(--surface-2);border:.5px solid var(--border-strong);color:var(--text);font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s ease,background .15s ease}.fuel-empty-btn:active{transform:scale(.97);background:var(--surface-3)}.fuel-history-stack{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.fuel-day-block{display:flex;flex-direction:column;gap:8px}.fuel-day-meta-row{display:flex;justify-content:space-between;align-items:baseline;padding:0 4px}.fuel-day-title{font-size:13px;font-weight:700;color:var(--text);letter-spacing:0}.fuel-day-totals{font-size:12px;font-weight:600;color:var(--text-muted)}.fuel-day-cards{display:flex;flex-direction:column;gap:8px}.fuel-meal-item{background:var(--surface);border-radius:var(--radius-lg);overflow:hidden}.fuel-meal-row{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;-webkit-tap-highlight-color:transparent}.fuel-meal-thumb-wrap{width:52px;height:52px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background:var(--surface-2);border:.5px solid var(--border);display:flex;align-items:center;justify-content:center}.fuel-meal-thumb{width:100%;height:100%;object-fit:cover}.fuel-meal-thumb-wrap.placeholder{color:var(--text-dim)}.fuel-meal-details{flex:1;min-width:0}.fuel-meal-title-line{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.fuel-meal-name{font-size:15px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fuel-meal-time{font-size:12px;font-weight:500;color:var(--text-dim);flex-shrink:0}.fuel-meal-chips{display:flex;flex-wrap:wrap;gap:5px}.macro-chip{display:inline-flex;align-items:center;white-space:nowrap;padding:2px 7px;border-radius:6px;font-size:11px;font-weight:600}@media (max-width: 460px){.fuel-meal-row{gap:10px;padding:12px}.fuel-meal-thumb-wrap{width:44px;height:44px}.fuel-meal-chips{gap:4px}.macro-chip{padding:2px 5px}.fuel-toggle-btn,.fuel-delete-btn{width:28px}}.macro-chip.cal{background:var(--primary-bg);color:var(--text)}.macro-chip.p{background:var(--protein-bg);color:var(--protein)}.macro-chip.c{background:var(--carbs-bg);color:var(--carbs)}.macro-chip.f{background:var(--fat-bg);color:var(--fat)}.fuel-meal-controls{display:flex;align-items:center;flex-shrink:0}.fuel-toggle-btn,.fuel-delete-btn{background:transparent;border:none;color:var(--text-dim);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:transform .2s ease,color .15s ease}.fuel-toggle-btn.rotated{transform:rotate(180deg)}.fuel-delete-btn:hover{color:var(--rose)}.fuel-toggle-btn svg,.fuel-delete-btn svg{width:18px;height:18px}.fuel-meal-breakdown{border-top:.5px solid var(--border);background:var(--surface-2);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.breakdown-eyebrow{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:0;color:var(--fuel)}.sparkle-tint{color:var(--fuel)}.breakdown-list{display:flex;flex-direction:column;gap:6px}.breakdown-item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font-size:13px}.item-title{flex:1;min-width:0;color:var(--text);font-weight:500}.item-portion{display:block;font-size:12px;color:var(--text-dim)}.item-macros{flex-shrink:0;white-space:nowrap;color:var(--text-muted);font-size:12px;font-variant-numeric:tabular-nums}.breakdown-note{margin-top:4px;padding-top:6px;border-top:.5px dashed var(--separator);color:var(--text-muted);font-size:12px;font-style:italic}.fuel-reestimate{display:flex;flex-direction:column;gap:6px;margin-top:4px;padding-top:8px;border-top:.5px dashed var(--separator)}.fuel-reestimate textarea{border-radius:var(--radius-md)!important;background:var(--surface)!important;border:.5px solid var(--border)!important;padding:8px 10px!important;font-size:16px!important;color:var(--text)!important}.fab-snap-icon{width:24px;height:24px;flex-shrink:0}.snap-sheet{max-width:500px!important;max-height:88vh;overflow-y:auto}.snap-capture-stage{display:flex;flex-direction:column;gap:18px;padding:8px 0 16px}.snap-finder-card{position:relative;background:var(--surface-2);border:.5px solid var(--border-strong);border-radius:var(--radius-lg);padding:44px 20px;text-align:center;cursor:pointer;transition:background .15s ease,border-color .15s ease;-webkit-user-select:none;user-select:none}.snap-finder-card:hover{background:var(--surface-3)}.finder-corner{position:absolute;width:16px;height:16px;border:2.5px solid var(--fuel-plane)}.finder-corner.tl{top:14px;left:14px;border-right:none;border-bottom:none;border-top-left-radius:4px}.finder-corner.tr{top:14px;right:14px;border-left:none;border-bottom:none;border-top-right-radius:4px}.finder-corner.bl{bottom:14px;left:14px;border-right:none;border-top:none;border-bottom-left-radius:4px}.finder-corner.br{bottom:14px;right:14px;border-left:none;border-top:none;border-bottom-right-radius:4px}.finder-badge{width:60px;height:60px;border-radius:50%;background:var(--fuel-plane);color:#000;margin:0 auto 14px;display:flex;align-items:center;justify-content:center}.finder-camera-icon{width:32px;height:32px;flex-shrink:0}.finder-title{font-family:var(--font-display);font-size:19px;font-weight:700;color:var(--text);margin:0 0 6px}.finder-desc{font-size:13px;color:var(--text-muted);line-height:1.45;max-width:290px;margin:0 auto}.snap-button-group{display:flex;flex-direction:column;gap:10px}.btn-primary{width:100%;min-height:52px;border-radius:var(--radius-full);background:var(--primary);color:var(--on-primary);font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;transition:transform .15s ease,filter .15s ease}.btn-primary:active{transform:scale(.98);filter:brightness(.92)}.btn-primary svg{flex-shrink:0;width:20px;height:20px}.btn-secondary{width:100%;min-height:48px;border-radius:var(--radius-full);background:var(--surface-2);border:none;color:var(--text);font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:transform .15s ease,background .15s ease}.btn-secondary:active{transform:scale(.98);background:var(--surface-3)}.btn-secondary svg{flex-shrink:0;width:20px;height:20px;color:var(--text-muted)}.snap-compose-stage{display:flex;flex-direction:column;gap:16px;padding:12px 0 24px}.snap-analyzing-stage{display:flex;flex-direction:column;align-items:center;gap:20px;padding:12px 0 24px}.snap-photo-frame{position:relative;width:100%;max-height:240px;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-2);border:.5px solid var(--border)}.snap-photo-img{width:100%;height:240px;object-fit:cover;display:block}.snap-radar-sweep{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.35) 50%,transparent 100%);animation:radar-sweep 1.8s infinite}@keyframes radar-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.snap-loading-pill{display:flex;align-items:center;gap:12px;padding:12px 20px;border-radius:var(--radius-full);background:var(--surface-2);border:.5px solid var(--border)}.snap-sparkle-spin{color:var(--fuel);animation:sparkle-spin 3s linear infinite;flex-shrink:0}@keyframes sparkle-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.snap-loading-copy{display:flex;flex-direction:column;text-align:left}.snap-loading-copy b{font-size:14px;color:var(--text)}.snap-loading-copy span{font-size:12px;color:var(--text-muted)}.snap-review-stage{display:flex;flex-direction:column;gap:16px;padding:8px 0 20px}.snap-review-hero{display:flex;gap:14px;align-items:center;background:var(--surface-2);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:12px 14px}.snap-hero-thumb{width:60px;height:60px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0;border:.5px solid var(--border)}.snap-hero-thumb img{width:100%;height:100%;object-fit:cover}.snap-hero-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.snap-hero-input{border:none!important;background:transparent!important;padding:0!important;font-family:var(--font-display)!important;font-size:18px!important;font-weight:700!important;color:var(--text)!important;min-height:unset!important;border-radius:0!important}.snap-hero-input:focus{outline:none}.snap-badge-row{display:flex}.snap-confidence-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-full)}.chip-dot{width:6px;height:6px;border-radius:50%}.snap-confidence-chip.high{background:var(--green-bg);color:var(--green)}.snap-confidence-chip.high .chip-dot{background:var(--green)}.snap-confidence-chip.medium{background:var(--amber-bg);color:var(--amber)}.snap-confidence-chip.medium .chip-dot{background:var(--amber)}.snap-confidence-chip.low{background:var(--rose-bg);color:var(--rose)}.snap-confidence-chip.low .chip-dot{background:var(--rose)}.snap-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}@media (max-width: 480px){.snap-metrics-grid{grid-template-columns:repeat(2,1fr)}}.snap-metric-tile{background:var(--surface-2);border:.5px solid var(--border);border-radius:var(--radius-md);padding:10px 8px;display:flex;flex-direction:column;text-align:center}.metric-tile-label{font-size:11px;font-weight:700;color:var(--text-muted);margin-bottom:4px}.metric-tile-val-row{display:flex;align-items:baseline;justify-content:center;gap:2px}.metric-tile-input{width:56px;text-align:right;border:none!important;background:transparent!important;padding:0!important;font-family:var(--font-display)!important;font-size:18px!important;font-weight:800!important;color:var(--text)!important;min-height:unset!important;border-radius:0!important}.metric-tile-input:focus{outline:none}.metric-tile-unit{font-size:11px;font-weight:600;color:var(--text-dim)}.snap-inset-group{background:var(--surface-2);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:12px 14px}.snap-inset-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:0;color:var(--text-muted);margin-bottom:10px}.sparkle-gold{color:var(--amber)}.snap-inset-rows{display:flex;flex-direction:column;gap:8px}.snap-item-cell{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;padding-bottom:6px;border-bottom:.5px solid var(--border)}.snap-item-cell:last-child{border-bottom:none;padding-bottom:0}.item-cell-left{display:flex;flex-direction:column;flex:1;min-width:0}.item-cell-name{font-weight:600;color:var(--text)}.item-cell-portion{font-size:11px;color:var(--text-muted)}.item-cell-macros{display:flex;gap:4px;flex-shrink:0}.m-chip{white-space:nowrap;font-size:10.5px;font-weight:700;padding:2px 5px;border-radius:4px}.m-chip.cal{background:var(--primary-bg);color:var(--text)}.m-chip.p{background:var(--protein-bg);color:var(--protein)}.m-chip.c{background:var(--carbs-bg);color:var(--carbs)}.m-chip.f{background:var(--fat-bg);color:var(--fat)}.snap-datetime-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.datetime-field{display:flex;flex-direction:column;gap:4px}.datetime-label{font-size:12px;font-weight:600;color:var(--text-muted)}.datetime-field input{min-height:40px!important;border-radius:var(--radius-md)!important;background:var(--surface-2)!important;border:.5px solid var(--border)!important;padding:6px 10px!important;font-size:16px!important;color:var(--text)!important}.snap-note-wrap{display:flex;flex-direction:column;gap:4px}.snap-note-wrap textarea{border-radius:var(--radius-md)!important;background:var(--surface-2)!important;border:.5px solid var(--border)!important;padding:8px 10px!important;font-size:16px!important;color:var(--text)!important}.snap-hint-wrap{display:flex;flex-direction:column;gap:6px}.snap-hint-wrap textarea{border-radius:var(--radius-md)!important;background:var(--surface-2)!important;border:.5px solid var(--border)!important;padding:8px 10px!important;font-size:16px!important;color:var(--text)!important}.snap-hint-btn:disabled{opacity:.5;cursor:default}.save-cta{margin-top:8px}.train-bar{min-height:var(--train-bar-h);box-sizing:border-box}.train-week-head{display:flex;align-items:center;justify-content:space-between;gap:12px;height:32px;margin-bottom:6px}.activity-seg.activity-seg-compact{flex:0 1 auto;gap:2px;padding:2px;border-radius:var(--radius-full)}.activity-seg.activity-seg-compact button{min-height:28px;padding:0 14px;font-size:13px;white-space:nowrap;position:relative}.activity-seg.activity-seg-compact button:after{content:"";position:absolute;top:-8px;right:0;bottom:-8px;left:0}.train-bar .week-day{min-height:0;padding:3px 2px;gap:3px}.train-bar .week-day-mark{width:32px;height:32px}.train-week-range{font-size:13px;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.title-actions{display:flex;align-items:center;flex-shrink:0}.title-actions .slot-menu-btn{margin:-8px 0 -8px -10px}.slot-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;margin-left:auto;border:none;border-radius:var(--radius-full);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,transform .12s var(--ease-spring)}.slot-menu-btn:hover{background:var(--surface-2);color:var(--text)}.slot-menu-btn:active{transform:scale(.92);background:var(--surface-3)}.slot-menu-btn:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.moved-here-card{display:flex;align-items:center;gap:4px;margin:16px 0 4px;padding:10px 4px 10px 14px;background:var(--amber-bg);border:.5px solid var(--border);border-radius:var(--radius-md)}.moved-here-main{flex:1;min-width:0}.moved-here-title{display:flex;flex-direction:column;gap:1px}.moved-here-eyebrow{font-size:11px;font-weight:700;letter-spacing:0;color:var(--run)}[data-theme=dark] .moved-here-eyebrow{color:var(--amber)}.moved-here-name{font-size:15px;font-weight:600;color:var(--text);overflow-wrap:anywhere}.moved-here-from{font-weight:500;color:var(--text-muted)}.moved-here-card .slot-status-row{margin:6px 0 0}.moved-here-open{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:var(--primary);font-size:15px;font-weight:600;text-decoration:none;border-radius:var(--radius-sm)}.moved-here-open:active{background:var(--surface-3)}.session-sheet-backdrop,.log-modal-backdrop,.capture-backdrop{visibility:hidden;transition:opacity .24s ease,visibility 0s linear .32s}.session-sheet-backdrop.open,.log-modal-backdrop.open,.capture-backdrop.open{visibility:visible;transition:opacity .24s ease,visibility 0s}.session-sheet,.log-modal{outline:none}.session-sheet-nav{display:grid;grid-template-columns:1fr auto 1fr}.session-sheet-nav>:last-child{justify-self:end}.session-sheet-nav-title{font-size:16px;font-weight:600;color:var(--text);text-align:center}.session-sheet-back{color:var(--primary);justify-self:start}.session-sheet-head{margin-bottom:16px}.session-sheet-title{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.25;color:var(--text)}.session-sheet-sub{margin:2px 0 0;font-size:14px;color:var(--text-muted)}.session-sheet-head .slot-status-row{margin:8px 0 0}.session-sheet-names{margin:6px 0 0;padding:0;list-style:none;font-size:14px;color:var(--text-muted)}.session-sheet-group{margin-bottom:12px;background:var(--surface-2);border:.5px solid var(--separator);border-radius:var(--radius-md);overflow:hidden}.session-sheet-row{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:0 16px;background:transparent;border:none;color:var(--text);font-family:inherit;font-size:17px;text-align:left;cursor:pointer}.session-sheet-row+.session-sheet-row{border-top:.5px solid var(--separator)}.session-sheet-row:active:not(:disabled){background:var(--surface-3)}.session-sheet-row:disabled{opacity:.4;cursor:default}.session-sheet-row.is-primary{color:var(--primary);font-weight:600}.session-sheet-row.is-cancel{justify-content:center;font-weight:600}.session-swap-row{justify-content:flex-start;gap:12px;min-height:60px;padding-top:10px;padding-bottom:10px}.session-swap-dot{flex:none;width:10px;height:10px;border-radius:50%}.session-swap-text{display:flex;flex-direction:column;gap:2px;min-width:0}.session-swap-title{font-size:var(--fs-body);line-height:1.25}.session-swap-meta{font-size:var(--fs-caption);font-weight:400;color:var(--text-muted)}.session-sheet-row-chevron{width:16px;height:16px;color:var(--text-dim);transform:rotate(-90deg)}.session-sheet-row:focus-visible,.session-chip:focus-visible,.session-day-chip:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.session-chip-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}@media (max-width: 339px){.session-chip-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.session-chip{min-height:44px;padding:0 4px;background:var(--surface-2);border:.5px solid var(--separator);border-radius:var(--radius-full);color:var(--text);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.session-chip.is-selected,.session-day-chip.is-selected{background:var(--primary-bg);border-color:var(--primary);color:var(--primary)}.session-sheet-count{float:right;font-variant-numeric:tabular-nums}.session-sheet-buttons{display:flex;gap:10px}.session-sheet-buttons .modal-btn{flex:1}.session-day-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}.session-day-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:62px;padding:6px 4px;background:var(--surface-2);border:.5px solid var(--separator);border-radius:var(--radius-md);color:var(--text);font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.session-day-chip:active:not(.is-disabled){background:var(--surface-3)}.session-day-name{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.session-day-cap{min-height:12px;font-size:11px;font-weight:600;line-height:12px;color:var(--text-muted)}.session-day-chip.is-selected .session-day-cap{color:inherit}.session-day-dots{display:flex;gap:3px;min-height:6px}.session-day-dots i{width:6px;height:6px;border-radius:var(--radius-full)}.session-day-chip.is-disabled{opacity:.4;cursor:not-allowed}.slot-list{list-style:none;margin:16px 0 0;padding:0;background:var(--surface-2);border:.5px solid var(--separator);border-radius:var(--radius-md);overflow:hidden}.slot-list.is-card{margin:0;background:var(--surface);border-color:var(--border);border-radius:var(--radius-lg)}.slot-row{--slot-color: var(--text-muted);display:flex;align-items:center;gap:12px;min-height:60px;padding:6px 4px 6px 14px}.slot-row+.slot-row{border-top:.5px solid var(--separator)}.slot-row-icon{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-full);background:var(--surface-3);background:color-mix(in srgb,var(--slot-color) 15%,transparent);color:var(--slot-color)}.slot-row-icon svg{width:18px;height:18px}.slot-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.slot-row-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;font-size:15px;font-weight:600;line-height:1.3;letter-spacing:-.01em;color:var(--text)}.slot-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0;font-size:12px;line-height:1.3;color:var(--text-muted);font-variant-numeric:tabular-nums}.slot-row.is-skipped .slot-row-title{color:var(--text-muted)}.slot-row.is-skipped .slot-row-icon{background:var(--surface-3);color:var(--text-muted)}.slot-row-actions{display:flex;align-items:center;flex-shrink:0}.slot-row-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:52px;min-height:32px;padding:0 14px;border:none;border-radius:var(--radius-full);background:transparent;font-family:inherit;font-size:15px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s,transform .12s var(--ease-spring)}.slot-row-btn:after{content:"";position:absolute;top:-6px;right:0;bottom:-6px;left:0}.slot-row-btn:active{transform:scale(.96)}.slot-row-btn svg{width:14px;height:14px;flex-shrink:0}.slot-row-btn.is-log{background:var(--primary-bg);color:var(--primary)}.slot-row-btn.is-logged{background:var(--green-bg);color:var(--success)}[data-theme=dark] .slot-row-btn.is-logged{color:var(--green)}.slot-row-btn.is-text{padding:0 10px;color:var(--primary)}.slot-row-btn.is-text:active{background:var(--surface-3)}.today-actions{display:flex;flex-wrap:wrap;column-gap:20px;margin-top:8px}.today-also{margin-top:16px}.today-also-head{margin-bottom:6px;font-size:12px;font-weight:700;letter-spacing:0;color:var(--text-muted)}.today-also-list{list-style:none}.today-also-list li{display:flex;align-items:flex-start;gap:8px;padding:3px 0;font-size:14px;line-height:1.35;color:var(--text-muted)}.today-also-check{display:inline-flex;flex-shrink:0;margin-top:2px;color:var(--success)}[data-theme=dark] .today-also-check{color:var(--green)}.today-also-check svg{width:13px;height:13px}.today-also-text{min-width:0;overflow-wrap:anywhere}.log-entry.log-skip{background:transparent;border:.5px dashed var(--border-strong)}.log-skip-row{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 4px 8px 16px}.log-skip-dot{width:9px;height:9px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--text-muted);background:transparent}.log-skip-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.log-skip-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;font-size:15px;font-weight:500;line-height:1.3;color:var(--text-muted)}.log-skip-detail{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}.log-skip-chip{padding:2px 9px;border-radius:var(--radius-full);background:var(--surface-3);font-size:12px;font-weight:600;line-height:1.3;color:var(--text-muted)}.log-skip-note{min-width:0;overflow-wrap:anywhere;font-size:13px;line-height:1.35;color:var(--text-muted)}.log-skip-undo{flex-shrink:0;min-width:var(--touch-target);min-height:var(--touch-target);padding:0 12px;background:none;border:none;border-radius:var(--radius-sm);color:var(--primary);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer}.log-skip-undo:active{background:var(--surface-3)}@media (max-width: 390px){.today-featured-card{padding:20px 16px}.slot-row{gap:10px;padding-left:12px}.slot-row-icon{width:28px;height:28px}.slot-row-icon svg{width:16px;height:16px}.slot-row-btn{padding:0 10px;min-width:44px}.slot-row-btn.is-logged{padding:0 8px;gap:3px;font-size:14px}}.sheet-nav-btn{min-height:var(--touch-target);min-width:var(--touch-target)}.toast-action{position:relative}.toast-action:after{content:"";position:absolute;top:-6px;right:0;bottom:-6px;left:0}.session-picker-head,.log-entry-type{color:var(--text-muted)}.sheet-nav-bar{position:sticky;top:-12px;z-index:5;margin-top:-12px;padding-top:12px;background:var(--surface)}@media (min-width: 560px){.sheet-nav-bar{top:-20px;margin-top:-20px;padding-top:20px}}.capture-title{font-size:var(--fs-title-3);font-weight:800;font-stretch:var(--semi-wide);letter-spacing:-.03em;margin:2px 2px 14px}.capture-list{list-style:none;display:flex;flex-direction:column;gap:6px}.capture-row{display:flex;align-items:center;gap:14px;width:100%;min-height:60px;padding:10px 14px 10px 10px;background:var(--surface-2);border:none;border-radius:var(--radius);color:var(--text);font-family:inherit;text-align:left;cursor:pointer;transition:transform .12s var(--ease-spring),background .15s}.capture-row:active{transform:scale(.985)}.capture-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;color:#000}.capture-icon svg{width:20px;height:20px}.capture-text{display:flex;flex-direction:column;min-width:0}.capture-row-title{font-size:var(--fs-body);font-weight:700;letter-spacing:-.01em}.capture-row-detail{font-size:var(--fs-caption);color:var(--text-muted)}.capture-cancel{width:100%;margin-top:12px}.page-header{padding:22px 0 18px}.page-back{display:inline-flex;align-items:center;gap:2px;min-height:var(--touch-target);margin:-10px 0 0 -6px;padding-right:8px;color:var(--text-muted);font-size:var(--fs-small);font-weight:600;text-decoration:none}.page-back:hover{color:var(--text)}.page-back-icon{width:20px;height:20px}.page-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.page-title{font-family:var(--font-display);font-size:var(--fs-title-1);font-weight:800;font-stretch:var(--semi-wide);letter-spacing:-.035em;line-height:1;text-wrap:balance;color:var(--text)}.page-meta{margin-top:8px;font-size:var(--fs-small);font-weight:500;color:var(--text-muted)}.fuel-guide{margin-top:36px;border-radius:var(--radius-lg);background:var(--surface);padding:4px 18px 18px}.fuel-guide summary{display:flex;flex-direction:column;gap:2px;padding:14px 28px 10px 0;cursor:pointer;list-style:none;position:relative}.fuel-guide summary::-webkit-details-marker{display:none}.fuel-guide summary:after{content:"";position:absolute;right:4px;top:22px;width:9px;height:9px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(45deg);transition:transform var(--dur) var(--ease-spring)}.fuel-guide[open] summary:after{transform:rotate(-135deg);top:26px}.fuel-guide-title{font-size:var(--fs-body);font-weight:700}.fuel-guide-sub{font-size:var(--fs-caption);color:var(--text-muted)}.fuel-guide-lede{margin-top:8px;font-size:var(--fs-small);color:var(--text-muted);line-height:1.5}.fuel-guide .section-title{margin-top:24px}.fuel-guide .week-row,.fuel-guide .card{background:var(--surface-2)}body{padding-top:env(safe-area-inset-top,0px)}.row-links,.plan-links{display:flex;flex-direction:column;gap:1px;margin-top:24px;border-radius:var(--radius-lg);overflow:hidden}.row-link{display:flex;align-items:center;gap:14px;min-height:64px;padding:10px 14px;background:var(--surface);color:var(--text);text-decoration:none;transition:background .15s}.row-link:hover{background:var(--surface-3)}.row-link-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;border-radius:50%;background:var(--surface-3);color:var(--text)}.row-link-icon svg{width:19px;height:19px}.row-link-text{display:flex;flex-direction:column;flex:1;min-width:0}.row-link-title{font-size:var(--fs-body);font-weight:700;letter-spacing:-.01em}.row-link-sub{font-size:var(--fs-caption);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-link-chev{width:18px;height:18px;flex-shrink:0;color:var(--text-muted)}.plan-days{list-style:none;display:flex;flex-direction:column;gap:1px;border-radius:var(--radius-lg);overflow:hidden}.plan-day{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;min-height:68px;padding:10px 14px 10px 12px;background:var(--surface);color:var(--text);text-decoration:none;transition:background .15s}.plan-day:hover{background:var(--surface-3)}.plan-day-date{display:flex;flex-direction:column;align-items:center;font-size:var(--fs-micro);font-weight:600;color:var(--text-muted);line-height:1.1}.plan-day-date b{font-family:var(--font-display);font-stretch:var(--wide);font-size:22px;font-weight:800;letter-spacing:-.04em;color:var(--text)}.plan-day.is-today .plan-day-date b{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-top:2px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-size:17px}.plan-day-main{display:flex;flex-direction:column;gap:4px;min-width:0}.plan-day-title{font-size:var(--fs-small);font-weight:700;line-height:1.25}.plan-day-from{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:var(--radius-full);background:var(--primary-bg);color:var(--text-muted);font-size:var(--fs-micro);font-weight:600;vertical-align:1px}.plan-day-sessions{display:flex;flex-wrap:wrap;gap:4px 10px}.plan-day-session{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-caption);color:var(--text-muted)}.plan-day-session i{width:8px;height:8px;border-radius:50%;flex-shrink:0}.plan-day-session.is-done{color:var(--text)}.plan-day-session.is-skipped{text-decoration:line-through;opacity:.7}.plan-day-session.is-muted{color:var(--text-dim)}.plan-day-session.is-optional i{background:transparent!important;box-shadow:inset 0 0 0 1.5px var(--text-muted)}.plan-day-done{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--primary);color:var(--on-primary)}.plan-day-done svg{width:14px;height:14px}.plan-day-today{font-size:var(--fs-micro);font-weight:700}.plan-day-missed{font-size:var(--fs-micro);font-weight:700;color:var(--danger)}.plan-day-chev{width:18px;height:18px;color:var(--text-muted)}.page-title-row .activity-seg-compact{margin-bottom:2px}.you-figures{margin-top:0}.settings-account{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--radius-lg);background:var(--surface)}.settings-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--surface-3);font-weight:800}.settings-avatar img{width:100%;height:100%;object-fit:cover}.settings-account-text{display:flex;flex-direction:column;flex:1;min-width:0}.settings-account-text span{font-size:var(--fs-caption);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis}.settings-signout{flex-shrink:0;min-height:40px;padding:0 16px;border:none;border-radius:var(--radius-full);background:var(--surface-2);color:var(--danger);font-family:inherit;font-weight:700;cursor:pointer}.settings-stack{display:flex;flex-direction:column;gap:12px}.settings-stack .api-card{margin-top:0}.season-races{margin-top:4px}.today-clip{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:10px;padding:8px 14px 8px 8px;border:none;border-radius:var(--radius-lg);background:var(--surface);color:var(--text);font-family:inherit;text-align:left;cursor:pointer}.today-clip-thumb{position:relative;flex-shrink:0;width:52px;height:52px;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-3)}.today-clip-thumb img,.today-clip-thumb video{width:100%;height:100%;object-fit:cover}.clip-thumb-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--surface-3);color:var(--on-plane)}.clip-thumb-fallback svg{width:22px;height:22px}.today-clip-text{display:flex;flex-direction:column;flex:1;min-width:0}.today-clip-kicker{font-size:var(--fs-micro);font-weight:600;color:var(--text-muted)}.today-clip-title{font-size:var(--fs-small);font-weight:650;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.today-clip-chev{width:18px;height:18px;flex-shrink:0;color:var(--text-muted)}.outline{margin-top:14px}.outline-list{list-style:none;display:flex;flex-direction:column;gap:1px;border-radius:var(--radius);overflow:hidden}.outline-list li{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px;padding:9px 12px;background:#ffffff73;font-size:var(--fs-small)}.outline-tag{font-family:var(--font-display);font-stretch:var(--wide);font-size:11px;font-weight:800;padding:2px 6px;border-radius:var(--radius-xs);background:#000;color:#fff}.outline-list li:not(:has(.outline-tag)){grid-template-columns:1fr auto}.outline-name{font-weight:600;min-width:0}.outline-sets{font-family:var(--font-display);font-stretch:var(--semi-wide);font-weight:800;white-space:nowrap}.outline-cues{display:flex;flex-direction:column;gap:6px;padding-left:18px;font-size:var(--fs-small);line-height:1.45}.outline-targets{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.outline-target{padding:5px 11px;border-radius:var(--radius-full);background:#0000001a;font-size:var(--fs-caption)}.outline-target b{font-family:var(--font-display);font-stretch:var(--semi-wide);font-weight:800}.outline-fuel{flex-basis:100%;font-size:var(--fs-caption);color:#000000b3}.readiness{margin-top:14px;padding:12px;border-radius:var(--radius);background:#00000012}.readiness-chips{display:flex;flex-wrap:wrap;gap:6px}.readiness-chip{min-height:36px;padding:0 12px;border:1.5px solid rgba(0,0,0,.35);border-radius:var(--radius-full);background:transparent;color:#000;font-family:inherit;font-size:var(--fs-caption);font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.readiness-chip.is-on{border-color:#000;background:#000;color:#fff}.readiness-verdict{margin-top:10px;font-size:var(--fs-caption);font-weight:600;color:#000}.readiness-bail{padding:0;border:none;background:none;color:#000;font-family:inherit;font-size:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.today-note{display:flex;align-items:center;gap:12px;margin-top:10px;padding:12px 12px 12px 16px;border-radius:var(--radius-lg);background:var(--fuel-plane);color:#000;font-size:var(--fs-small);line-height:1.4}.today-note span{flex:1}.today-note-btn,.today-row-action{flex-shrink:0;min-height:36px;padding:0 14px;border:none;border-radius:var(--radius-full);background:#000;color:#fff;font-family:inherit;font-size:var(--fs-caption);font-weight:700;cursor:pointer}.today-rows{display:flex;flex-direction:column;gap:8px;margin-top:10px}.today-row{display:flex;align-items:center;gap:8px;border-radius:var(--radius-lg);background:var(--surface)}.today-row>.today-row-main,button.today-row{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:12px 6px 12px 12px;border:none;background:none;color:var(--text);font-family:inherit;text-align:left;cursor:pointer}button.today-row{width:100%;padding-right:14px;background:var(--surface)}.today-row .today-row-action{margin-right:12px}.today-row.is-due{background:var(--health-plane);color:#000}.today-row-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;border-radius:50%;color:#000}.today-row-icon svg{width:18px;height:18px}.today-row-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.today-row-title{font-size:var(--fs-small);font-weight:700}.today-row-figure{font-family:var(--font-display);font-stretch:var(--wide);font-weight:800;letter-spacing:-.03em}.today-row-sub{font-size:var(--fs-caption);color:var(--text-muted)}.today-row.is-due .today-row-sub{color:#000000b3}.today-row-bar{height:4px;margin-top:4px;border-radius:var(--radius-full);background:var(--surface-3);overflow:hidden}.today-row-bar i{display:block;height:100%;border-radius:var(--radius-full);background:var(--text)}.today-row-chev{width:18px;height:18px;flex-shrink:0;opacity:.6}.today-section-meta{font-size:var(--fs-caption);font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.today-missed{margin-top:8px}.race-widget{display:flex;flex-direction:column;gap:0;width:100%;margin-bottom:10px;padding:16px 18px 14px;border:none;border-radius:var(--radius-lg);font-family:inherit;text-align:left;cursor:pointer}.race-widget-top{display:flex;align-items:center;gap:14px}.race-widget-count{display:flex;flex-direction:column;flex-shrink:0}.race-widget-days{font-family:var(--font-display);font-size:var(--fs-figure);font-weight:800;font-stretch:var(--wide);letter-spacing:-.055em;line-height:.85;color:var(--text);font-variant-numeric:tabular-nums}.race-widget-days.is-word{font-size:var(--fs-title-2)}.race-widget-unit{margin-top:4px;font-size:var(--fs-micro);font-weight:600;color:var(--text-muted)}.race-widget-race{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.race-widget-name{font-family:var(--font-display);font-stretch:var(--semi-wide);font-size:var(--fs-body);font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--text)}.race-widget-date{font-size:var(--fs-caption);color:var(--text-muted)}.race-widget-legs{display:flex;gap:4px;margin-top:4px}.race-widget-legs i{width:18px;height:5px;border-radius:var(--radius-full);background:var(--rest-plane)}.race-widget-legs i.leg-swim{background:var(--swim-plane)}.race-widget-legs i.leg-ride{background:var(--ride-plane)}.race-widget-legs i.leg-run{background:var(--run-plane)}.race-widget-chev{width:18px;height:18px;flex-shrink:0;align-self:flex-start;color:var(--text-muted)}.race-widget .race-track{margin-top:16px}.race-widget .race-track-labels{display:none}.race-widget-phase{margin-top:10px;font-size:var(--fs-caption);color:var(--text-muted)}.race-widget-phase b{color:var(--text)}.race-widget-next{display:flex;align-items:baseline;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--separator);font-size:var(--fs-caption);font-weight:600;color:var(--text)}.race-widget-next-label{font-weight:500;color:var(--text-muted)}.slot-list.is-card.today-missed{margin-top:10px}.week-stepper{display:flex;align-items:center;gap:2px;padding:3px;border-radius:var(--radius-full);background:var(--surface)}.week-stepper-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:50%;background:transparent;color:var(--text);cursor:pointer}.week-stepper-btn svg{width:18px;height:18px}.week-stepper-btn:hover:not(:disabled){background:var(--surface-3)}.week-stepper-btn:disabled{opacity:.3;cursor:default}.week-stepper-name{min-width:84px;text-align:center;font-size:var(--fs-caption);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.week-stepper-today{min-height:30px;margin-left:2px;padding:0 12px;border:none;border-radius:var(--radius-full);background:var(--primary);color:var(--on-primary);font-family:inherit;font-size:var(--fs-micro);font-weight:700;cursor:pointer}.week-stepper.is-compact{padding:1px}.week-stepper.is-compact .week-stepper-btn{width:30px;height:30px}.week-stepper.is-compact .week-stepper-today{min-height:26px}.plan-note{margin:-6px 0 14px;padding:10px 14px;border-radius:var(--radius);background:var(--surface);font-size:var(--fs-caption);color:var(--text-muted)}.sm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:var(--bg);color:var(--text);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.sm:focus{outline:none}.sm-inner{display:flex;flex-direction:column;gap:12px;min-height:100%;max-width:560px;margin:0 auto;padding:calc(8px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px))}.sm button{font-family:inherit;-webkit-user-select:none;user-select:none}.sm-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sm-bar{display:flex;align-items:center;gap:14px;min-height:52px}.sm-bar-text{display:flex;flex:1;flex-direction:column;min-width:0}.sm-title{overflow:hidden;font-family:var(--font-display);font-size:var(--fs-body);font-weight:750;font-stretch:var(--semi-wide);letter-spacing:-.02em;line-height:1.2;white-space:nowrap;text-overflow:ellipsis}.sm-bar-sub{font-size:var(--fs-caption);font-weight:500;color:var(--text-muted);font-variant-numeric:tabular-nums}.sm-elapsed{font-family:var(--font-display);font-size:var(--fs-lead);font-weight:800;font-stretch:var(--wide);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.sm-end{flex-shrink:0;min-height:var(--touch-target);padding:0 18px;border:none;border-radius:var(--radius-full);background:var(--surface);color:var(--text);font-size:var(--fs-small);font-weight:650;cursor:pointer}.sm-end:hover{background:var(--surface-3)}.sm-progress{height:4px;overflow:hidden;border-radius:var(--radius-full);background:var(--surface-3)}.sm-progress-fill{height:100%;border-radius:inherit;background:var(--primary)}.sm-stage{display:flex;flex:1;flex-direction:column;gap:12px;touch-action:pan-y}.sm-plane{display:flex;flex:1;flex-direction:column;gap:18px;min-height:340px;padding:20px 20px 22px;border-radius:var(--radius-xl)}.sm-plane-center{justify-content:center}.sm-plane-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.sm-label{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:34px;padding:0 12px;border-radius:var(--radius-full);background:var(--primary);color:var(--on-primary);font-family:var(--font-display);font-size:var(--fs-small);font-weight:800;font-stretch:var(--wide);letter-spacing:-.01em}.sm-count{font-size:var(--fs-small);font-weight:650;color:var(--text);font-variant-numeric:tabular-nums}.sm-chip{padding:4px 10px;border-radius:var(--radius-full);background:var(--primary-bg);font-size:var(--fs-caption);font-weight:650}.sm-plane-main{display:flex;flex-direction:column;gap:14px;margin-top:auto}.sm-name{font-family:var(--font-display);font-size:var(--fs-title-2);font-weight:800;font-stretch:var(--semi-wide);letter-spacing:-.03em;line-height:1.04;text-wrap:balance;overflow-wrap:anywhere}.sm-reps{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:12px;row-gap:2px}.sm-reps-figure{font-family:var(--font-display);font-size:var(--fs-figure);font-weight:800;font-stretch:var(--wide);letter-spacing:-.04em;line-height:.95;font-variant-numeric:tabular-nums}.sm-reps-figure.is-big{font-size:min(var(--fs-hero),22vw);letter-spacing:-.045em}.sm-reps-unit{font-size:var(--fs-body);font-weight:600;color:var(--text-muted)}.sm-cue{max-width:44ch;font-size:var(--fs-body);line-height:1.45;color:var(--text);text-wrap:pretty}.sm-cue-variation{font-weight:650}.sm-plane-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;margin-top:auto}.sm-dots{display:flex;gap:10px;list-style:none}.sm-dot{width:14px;height:14px;border-radius:50%;background:var(--on-plane-fill)}.sm-dot.is-done{background:var(--on-plane)}.sm-dot.is-current{outline:2px solid var(--on-plane);outline-offset:3px}.sm-meta{font-size:var(--fs-caption);font-weight:600;color:var(--text-muted)}.sm-timer{font-family:var(--font-display);font-size:min(var(--fs-hero),24vw);font-weight:800;font-stretch:var(--wide);letter-spacing:-.045em;line-height:.92;font-variant-numeric:tabular-nums}.sm-timer-total{font-size:min(var(--fs-hero),18vw)}.sm-chip-btn{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;min-height:var(--touch-target);padding:0 18px;border:none;border-radius:var(--radius-full);background:var(--on-plane-fill);color:var(--on-plane);font-family:var(--font-display);font-size:var(--fs-small);font-weight:750;font-stretch:var(--wide);cursor:pointer}.sm-chip-btn:hover{background:var(--on-plane-line)}.sm-chip-btn svg{width:16px;height:16px}.sm-empty{font-size:var(--fs-lead);font-weight:650}.sm-stat{display:flex;flex-direction:column;gap:6px}.sm-stat-figure{font-family:var(--font-display);font-size:var(--fs-figure);font-weight:800;font-stretch:var(--wide);letter-spacing:-.04em;line-height:.95;font-variant-numeric:tabular-nums}.sm-stat-of{font-size:var(--fs-title-3);letter-spacing:-.02em;color:var(--on-plane-muted)}.sm-stat-label{font-size:var(--fs-small);font-weight:600;color:var(--text-muted)}.sm-next{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:var(--radius-lg);background:var(--surface)}.sm-next-caption{font-size:var(--fs-caption);font-weight:600;color:var(--text-muted)}.sm-next-row{display:flex;align-items:center;gap:10px;min-width:0}.sm-next-label{flex-shrink:0;padding:3px 9px;border-radius:var(--radius-full);background:var(--primary-bg);font-family:var(--font-display);font-size:var(--fs-caption);font-weight:800;font-stretch:var(--wide)}.sm-next-name{flex:1;min-width:0;overflow:hidden;font-size:var(--fs-body);font-weight:700;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis}.sm-next-reps{flex-shrink:0;font-family:var(--font-display);font-size:var(--fs-small);font-weight:750;font-stretch:var(--wide);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.sm-controls{display:grid;grid-template-columns:56px 1fr 56px;align-items:center;gap:10px}.sm-nav{display:grid;place-items:center;width:56px;height:56px;border:none;border-radius:var(--radius-full);background:var(--surface);color:var(--text);cursor:pointer}.sm-nav:hover:not(:disabled){background:var(--surface-3)}.sm-nav:disabled{color:var(--text-dim);opacity:.45;cursor:default}.sm-nav svg{width:24px;height:24px}.sm-nav-prev svg{transform:rotate(180deg)}.sm-primary{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:64px;padding:0 20px;border:none;border-radius:var(--radius-full);background:var(--primary);color:var(--on-primary);font-size:var(--fs-lead);font-weight:750;letter-spacing:-.015em;cursor:pointer}.sm-primary:hover{background:var(--primary-hover)}.sm-primary svg{flex-shrink:0;width:22px;height:22px}.sm-primary span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sm-confirm{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:var(--radius-lg);background:var(--surface)}.sm-confirm-title{font-family:var(--font-display);font-size:var(--fs-lead);font-weight:750;font-stretch:var(--semi-wide);letter-spacing:-.02em}.sm-confirm-sub{font-size:var(--fs-small);color:var(--text-muted)}.sm-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.sm-btn{min-height:52px;padding:0 16px;border:none;border-radius:var(--radius-full);font-size:var(--fs-small);font-weight:700;cursor:pointer}.sm-btn-primary{background:var(--primary);color:var(--on-primary)}.sm-btn-primary:hover{background:var(--primary-hover)}.sm-btn-secondary{background:var(--surface-2);color:var(--text)}.sm-start{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin-top:10px;padding:12px 20px;border:none;border-radius:var(--radius-full);background:var(--surface);color:var(--text);font-family:inherit;font-size:var(--fs-small);font-weight:700;cursor:pointer}.sm-start:hover{background:var(--surface-3)}.sm-start-icon{width:18px;height:18px;flex-shrink:0}.session-section .sm-start{margin:-8px 0 18px;background:var(--surface-2)}@media (prefers-reduced-motion: no-preference){.sm{animation:sm-in var(--dur) var(--ease-sheet)}.sm-plane{animation:sm-step var(--dur) var(--ease-spring)}.sm-progress-fill{transition:width var(--dur) var(--ease-spring)}.sm-primary,.sm-nav,.sm-btn,.sm-start,.sm-chip-btn{transition:transform var(--dur-fast) var(--ease-spring),background var(--dur-fast)}.sm-primary:active,.sm-nav:active:not(:disabled),.sm-btn:active,.sm-start:active,.sm-chip-btn:active{transform:scale(.97)}}@keyframes sm-in{0%{opacity:0;transform:translateY(16px)}}@keyframes sm-step{0%{opacity:.35;transform:translateY(8px)}}@media (min-width: 520px){.sm-name{font-size:var(--fs-title-1)}.sm-inner{padding-top:calc(16px + env(safe-area-inset-top,0px))}}.on-plane .sm-start{margin-top:14px;background:#000;color:#fff}.on-plane .sm-start:hover{background:#222}.strava{background:var(--surface);border-radius:var(--radius-lg);padding:20px 18px 18px;color:var(--text)}.strava-title{font-family:var(--font-display);font-stretch:var(--semi-wide);font-size:var(--fs-lead);font-weight:700;line-height:1.2;letter-spacing:-.01em;margin-bottom:10px}.strava-lead{font-size:var(--fs-small);line-height:1.5}.strava-muted{font-size:var(--fs-caption);line-height:1.5;color:var(--text-muted);margin-top:8px}.strava-who{font-size:var(--fs-body);line-height:1.35}.strava-who strong{font-weight:700}.strava-dot{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--success);vertical-align:.12em}.strava-muted.strava-synced{margin-top:2px;padding-left:16px}.strava-muted.strava-note{margin-top:16px}.strava-steps{list-style:none;counter-reset:strava-step;display:grid;gap:22px;margin-top:20px}.strava-steps>li{counter-increment:strava-step;display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:8px;align-items:baseline}.strava-steps>li:before{content:counter(strava-step);grid-column:1;grid-row:1;font-family:var(--font-display);font-stretch:var(--wide);font-size:var(--fs-lead);font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.strava-steps>li>*{grid-column:1 / -1;min-width:0}.strava-steps>li>.strava-step-title{grid-column:2;grid-row:1}.strava-step-title{font-size:var(--fs-small);font-weight:650;line-height:1.35}.strava-step-text{font-size:var(--fs-caption);line-height:1.45;color:var(--text-muted);margin-top:8px}.strava-copy-row{display:flex;align-items:stretch;gap:8px;margin-top:10px}.strava-code{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;align-content:center;min-height:var(--touch-target);padding:10px 12px;border-radius:var(--radius);background:var(--surface-2);font-family:var(--font-mono);font-size:var(--fs-caption);line-height:1.35;-webkit-user-select:all;user-select:all}.strava-code>span{white-space:nowrap}.strava-field{display:block;margin-top:10px}.strava-field>span{display:block;font-size:var(--fs-caption);font-weight:600;color:var(--text-muted);margin-bottom:6px}.strava-field input{width:100%;min-height:48px;padding:12px 14px;border:1px solid transparent;border-radius:var(--radius);background:var(--surface-2);color:var(--text);font-family:var(--font-mono);font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color var(--dur-fast)}.strava-field input::placeholder{color:var(--text-dim)}.strava-field input:hover{border-color:var(--border-strong)}.strava-field input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 1px var(--ring)}.strava-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border:none;border-radius:var(--radius-full);font-family:inherit;font-size:var(--fs-small);font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:transform var(--dur-fast) var(--ease-spring),background var(--dur-fast)}.strava-pill:focus-visible{border-radius:var(--radius-full)}.strava-pill:active:not(:disabled){transform:scale(.97)}.strava-pill:disabled{opacity:.5;cursor:default}.strava-pill-primary{background:var(--primary);color:var(--on-primary)}.strava-pill-primary:hover:not(:disabled){background:var(--primary-hover)}.strava-pill-secondary{background:var(--surface-2);color:var(--text)}.strava-pill-secondary:hover:not(:disabled){background:var(--surface-3)}.strava-pill-danger{background:var(--danger-bg);color:var(--danger)}.strava-pill-small{min-height:var(--touch-target);padding:0 18px;font-size:var(--fs-caption);flex-shrink:0}.strava-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.strava-actions>.strava-pill{flex:1 1 130px}.strava-submit{width:100%;margin-top:22px}.strava-link{display:inline-flex;align-items:center;min-height:var(--touch-target);margin-top:6px;padding:0;border:none;background:none;color:var(--text);font-family:inherit;font-size:var(--fs-caption);font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.strava-result{font-size:var(--fs-small);font-weight:600;line-height:1.4;margin-top:12px}.strava-result:empty{display:none}.strava-result.is-error,.strava-error{color:var(--danger)}.strava-error{font-size:var(--fs-caption);line-height:1.45;margin-top:14px}.strava-fine{font-size:var(--fs-caption);line-height:1.45;color:var(--text-dim);margin-top:10px;text-align:center}.strava-confirm{margin-top:16px}.strava-confirm-text{font-size:var(--fs-small);font-weight:600;line-height:1.45}.plan-check{margin-top:10px;padding:12px 14px 4px;border-radius:var(--radius);background:var(--surface-2)}.plan-check-title{display:block;font-size:var(--fs-caption);font-weight:600;color:var(--text-muted)}.plan-check-rows{margin:4px 0 0}.plan-check-row{display:grid;grid-template-columns:84px minmax(0,1fr) auto;align-items:baseline;gap:2px 10px;padding:9px 0;border-top:1px solid var(--border)}.plan-check-row:first-child{border-top:none}.plan-check-label{font-size:var(--fs-small);font-weight:600;color:var(--text-muted)}.plan-check-actual{min-width:0;margin:0;font-size:var(--fs-body);font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.plan-check-planned{grid-column:2 / -1;margin:0;font-size:var(--fs-micro);color:var(--text-muted);font-variant-numeric:tabular-nums}.plan-check-verdict{margin:0;font-size:var(--fs-micro);font-weight:700;color:var(--text);white-space:nowrap}.plan-check-verdict.is-on{color:var(--green)}.laps{margin-top:10px}.laps-summary{display:inline-flex;align-items:center;min-height:var(--touch-target);font-size:var(--fs-small);font-weight:700;color:var(--text);cursor:pointer}.laps-list{margin:0;padding:0;list-style:none}.laps-row{display:grid;grid-template-columns:22px 52px minmax(0,1fr);align-items:baseline;gap:8px;padding:7px 0;border-top:1px solid var(--border);font-size:var(--fs-small);font-variant-numeric:tabular-nums}.laps-n{color:var(--text-dim)}.laps-time{font-weight:700;color:var(--text)}.laps-figures{color:var(--text-muted)}.strava-view{display:inline-flex;align-items:center;min-height:var(--touch-target);margin-top:4px;font-size:var(--fs-small);font-weight:700;color:var(--text);text-decoration:underline;text-underline-offset:3px}.weight-trend{background:var(--surface);border-radius:var(--radius-lg);padding:20px 18px 18px;margin-top:14px}.weight-loading{min-height:460px}.weight-caption{font-size:var(--fs-caption);font-weight:600;color:var(--text-muted)}.weight-figure{display:flex;align-items:baseline;gap:6px;margin-top:4px}.weight-figure-num{font-family:var(--font-display);font-stretch:var(--wide);font-size:var(--fs-figure);font-weight:800;line-height:1;letter-spacing:-.045em;font-variant-numeric:tabular-nums;color:var(--text)}.weight-figure-unit{font-family:var(--font-display);font-stretch:var(--semi-wide);font-size:var(--fs-lead);font-weight:700;color:var(--text-muted)}.weight-status{display:flex;flex-direction:column;gap:6px;margin-top:14px}.weight-line{display:flex;align-items:flex-start;gap:9px;font-size:var(--fs-body);font-weight:650;line-height:1.35;color:var(--text)}.weight-dot{flex:none;width:10px;height:10px;margin-top:6px;border-radius:var(--radius-full);background:var(--text-dim)}.tone-good .weight-dot{background:var(--success)}.tone-warn .weight-dot{background:var(--fuel)}.tone-alert .weight-dot{background:var(--danger)}.weight-basis{display:block;margin-top:2px;font-size:var(--fs-caption);font-weight:500;color:var(--text-muted)}.weight-outlook{margin-top:10px;font-size:var(--fs-small);line-height:1.45;color:var(--text-muted)}.weight-chart{margin-top:18px}.weight-range{display:flex;gap:2px;margin-bottom:12px;padding:3px;border-radius:var(--radius-full);background:var(--surface-2)}.weight-range-option{flex:1;min-height:34px;padding:0 10px;border:none;border-radius:var(--radius-full);background:none;font-family:inherit;font-size:var(--fs-caption);font-weight:650;color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast)}.weight-range-option[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.weight-chart-box{width:100%;overflow:hidden}.weight-chart svg{display:block}.chart-grid{stroke:var(--separator);stroke-width:1}.chart-tick{stroke:var(--border-strong);stroke-width:1}.chart-label{fill:var(--text-dim);font-size:var(--fs-micro);font-weight:600;font-variant-numeric:tabular-nums}.chart-band{fill:var(--success-bg)}.chart-band-label,.chart-target-label{font-size:var(--fs-micro);font-weight:700;paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.chart-band-label{fill:var(--success)}.chart-target-label{fill:var(--text-muted)}.chart-target{stroke:var(--text-muted);stroke-width:1;stroke-dasharray:2 3}.chart-now{stroke:var(--border-strong);stroke-width:1;stroke-dasharray:2 3}.chart-dot{fill:var(--text-dim);opacity:.6}.chart-avg{fill:none;stroke:var(--text);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart-projection{fill:none;stroke:var(--text-muted);stroke-width:2;stroke-dasharray:4 4;stroke-linecap:round}.chart-now-dot{fill:var(--text);stroke:var(--surface);stroke-width:2.5}.weight-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:var(--fs-micro);font-weight:600;color:var(--text-muted)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--text-dim);opacity:.6}.legend-line{width:16px;height:3px;border-radius:var(--radius-full);background:var(--text)}.legend-dash{width:16px;border-top:2px dashed var(--text-muted)}.legend-band{width:14px;height:10px;border-radius:3px;background:var(--success-bg)}.weight-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:8px;margin-top:18px}.weight-fact{display:flex;flex-direction:column;gap:2px;min-width:0;padding:12px 14px 13px;border-radius:var(--radius);background:var(--surface-2)}.weight-fact-label{font-size:var(--fs-caption);font-weight:600;color:var(--text-muted)}.weight-fact-value{font-family:var(--font-display);font-stretch:var(--wide);font-size:var(--fs-title-3);font-weight:800;line-height:1.2;letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text)}.weight-fact-unit{font-size:var(--fs-small);font-weight:700;letter-spacing:0;color:var(--text-muted)}.weight-fact-note{font-size:var(--fs-micro);line-height:1.4;color:var(--text-muted)}.weight-footnote{margin-top:12px;font-size:var(--fs-micro);line-height:1.5;color:var(--text-dim)}.weight-empty{padding:24px 20px 22px}.weight-empty-art{display:block;width:160px;height:64px;margin-bottom:18px}.weight-empty-title{font-family:var(--font-display);font-stretch:var(--semi-wide);font-size:var(--fs-lead);font-weight:750;letter-spacing:-.025em;color:var(--text)}.weight-empty-steps{list-style:none;counter-reset:step;display:flex;flex-direction:column;gap:10px;margin-top:14px}.weight-empty-steps li{counter-increment:step;display:flex;gap:12px;font-size:var(--fs-small);line-height:1.45;color:var(--text)}.weight-empty-steps li:before{content:counter(step);flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:-1px;border-radius:var(--radius-full);background:var(--surface-2);font-family:var(--font-display);font-stretch:var(--wide);font-size:var(--fs-caption);font-weight:800}.weight-empty-note{margin-top:16px;font-size:var(--fs-caption);line-height:1.5;color:var(--text-muted)}.weighin-import{margin-top:12px}.body-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--touch-target);padding:0 20px;border:none;border-radius:var(--radius-full);font-family:inherit;font-size:var(--fs-small);font-weight:700;cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring),background var(--dur-fast)}.body-btn svg{flex:none;width:18px;height:18px}.body-btn:active:not(:disabled){transform:scale(.97)}.body-btn:disabled{opacity:.55;cursor:default}.body-btn-primary{background:var(--primary);color:var(--on-primary)}.body-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.body-btn-secondary{background:var(--surface);color:var(--text)}.body-btn-secondary:hover:not(:disabled){background:var(--surface-3)}.weighin-import>.body-btn{width:100%;min-height:52px;font-size:var(--fs-body)}.weighin-preview{padding:16px 18px 18px;border-radius:var(--radius-lg);background:var(--surface)}.weighin-preview-title{font-family:var(--font-display);font-stretch:var(--semi-wide);font-size:var(--fs-body);font-weight:750;line-height:1.35;letter-spacing:-.015em;color:var(--text)}.weighin-preview-meta{margin-top:4px;font-size:var(--fs-caption);line-height:1.45;overflow-wrap:anywhere;color:var(--text-muted)}.weighin-preview-file{color:var(--text-dim)}.weighin-preview-actions{display:flex;gap:8px;margin-top:14px}.weighin-preview-actions .body-btn{flex:1}.weighin-preview .body-btn-secondary{background:var(--surface-2)}.weighin-error{margin-top:10px;padding:12px 14px;border-radius:var(--radius);background:var(--danger-bg);font-size:var(--fs-small);font-weight:600;line-height:1.45;color:var(--danger)}.body-checks{overflow:hidden;border-radius:var(--radius-lg);background:var(--surface)}.body-check{padding:14px 18px 15px}.body-check+.body-check{border-top:1px solid var(--separator)}.body-check-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.body-check-name{font-size:var(--fs-small);font-weight:700;color:var(--text)}.body-check-sets{flex:none;padding:3px 9px;border-radius:var(--radius-full);background:var(--primary-bg);font-family:var(--font-display);font-stretch:var(--semi-wide);font-size:var(--fs-micro);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text)}.body-check-note{margin-top:4px;font-size:var(--fs-caption);line-height:1.5;color:var(--text-muted)}.weight-due-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-top:12px;padding:10px 10px 10px 16px;border-radius:var(--radius);background:var(--surface);font-size:var(--fs-small);color:var(--text-muted)}.weight-due-link{min-height:36px;padding:0 14px;border:none;border-radius:var(--radius-full);background:var(--primary);color:var(--on-primary);font:inherit;font-size:var(--fs-caption);font-weight:700;cursor:pointer}.weight-due-link:active{transform:scale(.97)}.weight-pace-note{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:13px 12px 13px 16px;border-radius:var(--radius);background:var(--surface);color:var(--text);text-decoration:none;transition:background .15s}.weight-pace-note:hover{background:var(--surface-3)}.weight-pace-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.weight-pace-line{font-size:var(--fs-small);font-weight:650;line-height:1.35}.weight-pace-sub{font-size:var(--fs-caption);color:var(--text-muted)}.weight-pace-chev{flex:none;align-self:center;width:18px;height:18px;color:var(--text-muted)}.insight{background:var(--surface);border-radius:var(--radius-lg);padding:20px 18px 18px}.insight-loading{min-height:220px}.insight-caption{display:block;font-size:var(--fs-caption);font-weight:600;color:var(--text-muted)}.insight-figure{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px;margin-top:4px}.insight-figure-num{font-family:var(--font-display);font-stretch:var(--wide);font-size:var(--fs-figure);font-weight:800;line-height:1;letter-spacing:-.045em;color:var(--text)}.insight-figure-unit{font-family:var(--font-display);font-stretch:var(--semi-wide);font-size:var(--fs-lead);font-weight:700;color:var(--text-muted)}.insight-line{display:flex;align-items:flex-start;gap:9px;margin-top:14px;font-size:var(--fs-body);font-weight:650;line-height:1.35;color:var(--text)}.insight-dot{flex:none;width:10px;height:10px;margin-top:6px;border-radius:var(--radius-full);background:var(--text-dim)}.tone-good .insight-dot{background:var(--success)}.tone-warn .insight-dot{background:var(--fuel)}.tone-alert .insight-dot{background:var(--danger)}.insight-basis{display:block;margin-top:2px;font-size:var(--fs-caption);font-weight:500;color:var(--text-muted)}.insight-sub{margin-top:10px;font-size:var(--fs-small);line-height:1.45;color:var(--text-muted)}.insight-sub-lines{display:flex;flex-direction:column;gap:2px}.insight-need{margin-top:8px;font-size:var(--fs-body);font-weight:650;line-height:1.35;color:var(--text)}.insight-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin-top:18px}.insight-fact{display:flex;flex-direction:column;gap:2px;min-width:0;padding:12px 12px 13px;border-radius:var(--radius);background:var(--surface-2)}.insight-fact-wide{grid-column:1 / -1;padding:12px 14px 13px}.insight-fact-label{font-size:var(--fs-caption);font-weight:600;color:var(--text-muted)}.insight-fact-value{font-family:var(--font-display);font-stretch:var(--wide);font-size:var(--fs-title-3);font-weight:800;line-height:1.2;letter-spacing:-.035em;white-space:nowrap;color:var(--text)}.insight-facts-pairs{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-fact-unit{font-size:var(--fs-small);font-weight:700;letter-spacing:0;color:var(--text-muted)}.insight-fact-note{font-size:var(--fs-micro);line-height:1.4;color:var(--text-muted)}.insight-footnote{margin-top:12px;font-size:var(--fs-micro);line-height:1.5;color:var(--text-dim)}.insight-link{padding:0;border:none;background:none;font:inherit;font-weight:700;color:var(--text);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.insight-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:var(--fs-micro);font-weight:600;color:var(--text-muted)}.volume-chart{margin-top:16px}.volume-chart-box,.ride-chart-box{width:100%;overflow:hidden}.volume-chart svg,.ride-chart svg{display:block}.volume-week{cursor:pointer;outline:none}.volume-picked{fill:var(--surface-2)}.volume-week-hit{fill:transparent;transition:fill var(--dur-fast)}.volume-week:focus-visible .volume-week-hit{stroke:var(--ring);stroke-width:2}@media (hover: hover){.volume-week:not(.is-selected):hover .volume-week-hit{fill:var(--primary-bg)}}.volume-empty{fill:var(--surface-3)}.volume-baseline{stroke:var(--border-strong);stroke-width:1}.volume-week.is-selected .volume-week-label{fill:var(--text);font-weight:700}.volume-rows{list-style:none;margin-top:12px;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;gap:1px}.volume-row{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px;background:var(--surface-2);font-size:var(--fs-small)}.volume-key{flex:none;width:12px;height:12px;border-radius:4px}.volume-name{font-weight:650;color:var(--text)}.volume-detail{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;color:var(--text-muted)}.ride-chart{margin-top:16px}.ride-dot{fill:var(--trend-color, var(--ride));stroke:var(--surface);stroke-width:2}.ride-dot-hard{fill:var(--surface);stroke:var(--text-dim);stroke-width:1.5}.ride-key{width:10px;height:10px;border-radius:var(--radius-full);background:var(--trend-color, var(--ride))}.ride-key-hard{background:none;box-shadow:inset 0 0 0 1.5px var(--text-dim)}.dexa-table{width:100%;margin-top:16px;border-collapse:separate;border-spacing:0;border-radius:var(--radius);overflow:hidden;background:var(--surface-2);font-size:var(--fs-caption);font-variant-numeric:tabular-nums}.dexa-table th,.dexa-table td{padding:10px 6px;text-align:right;white-space:nowrap}.dexa-table th:first-child{padding-left:14px;text-align:left}.dexa-table th:last-child,.dexa-table td:last-child{padding-right:14px}.dexa-table thead th{font-weight:600;color:var(--text-muted)}.dexa-table tbody th{font-weight:650;color:var(--text)}.dexa-table tbody td{font-weight:600;color:var(--text)}.dexa-table tbody tr>*{border-top:1px solid var(--surface)}.lab-rows{list-style:none;margin-top:16px;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;gap:1px}.lab-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"dot name value" ". standing standing" ". why spark";column-gap:10px;row-gap:2px;align-items:baseline;padding:12px 14px;background:var(--surface-2)}.lab-row .insight-dot{grid-area:dot;align-self:center;margin-top:0}.lab-name{grid-area:name;font-size:var(--fs-small);font-weight:700;color:var(--text)}.lab-value{grid-area:value;white-space:nowrap;text-align:right}.lab-value-num{font-family:var(--font-display);font-stretch:var(--wide);font-size:var(--fs-body);font-weight:800;letter-spacing:-.03em;color:var(--text)}.lab-value-unit{font-size:var(--fs-micro);color:var(--text-muted)}.lab-standing{grid-area:standing;font-size:var(--fs-caption);font-weight:600;line-height:1.35;color:var(--text)}.lab-why{grid-area:why;align-self:start;font-size:var(--fs-micro);line-height:1.4;color:var(--text-muted)}.lab-spark{grid-area:spark;align-self:center}.lab-spark-line{fill:none;stroke:var(--text-muted);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.lab-spark-limit{stroke:var(--border-strong);stroke-width:1}.lab-spark-dot{fill:var(--text);stroke:var(--surface-2);stroke-width:1.5}.lab-all{margin-top:8px;border-radius:var(--radius);background:var(--surface-2)}.lab-all summary{display:flex;align-items:center;min-height:44px;padding:0 14px;font-size:var(--fs-small);font-weight:650;color:var(--text);cursor:pointer;list-style:none}.lab-all summary::-webkit-details-marker{display:none}.lab-all summary:after{content:"";width:8px;height:8px;margin-left:auto;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(45deg) translate(-2px,-2px)}.lab-all[open] summary:after{transform:rotate(225deg) translate(-2px,-2px)}.lab-all-rows{list-style:none;padding:0 14px 8px}.lab-all-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--surface);font-size:var(--fs-caption)}.lab-all-name{min-width:0;color:var(--text)}.lab-all-value{flex:none;font-weight:650;font-variant-numeric:tabular-nums;text-align:right;color:var(--text)}.lab-all-flag{margin-left:6px;padding:1px 7px;border-radius:var(--radius-full);background:var(--fuel-bg);font-size:var(--fs-micro);font-weight:700;color:var(--text)}.lab-all-range{display:block;font-size:var(--fs-micro);font-weight:500;color:var(--text-muted)}.insights .weighin-import{margin-top:8px}.log-insights-link{display:flex;align-items:center;gap:12px;min-height:52px;margin-top:16px;padding:10px 14px;border-radius:var(--radius);background:var(--surface);font-size:var(--fs-small);font-weight:650;color:var(--text);text-decoration:none;transition:background .15s}.log-insights-link:hover{background:var(--surface-3)}.log-insights-link span{flex:1;min-width:0}.log-insights-icon,.log-insights-chev{flex:none;width:18px;height:18px;color:var(--text-muted)}
