:root{--bg:#f4f5f7;--surface:#fff;--surface-2:#eef0f3;--text:#14171c;--text-muted:#5d6573;--text-dim:#676d75;--border:#e3e6eb;--accent:#cc4d0a;--accent-text:#fff;--accent-ink:color-mix(in srgb, var(--accent) 55%, var(--text));--ok-ink:color-mix(in srgb, var(--ok) 55%, var(--text));--ko-ink:color-mix(in srgb, var(--ko) 55%, var(--text));--warn-ink:color-mix(in srgb, var(--warn) 55%, var(--text));--plan-proposed-ink:color-mix(in srgb, var(--plan-proposed) 55%, var(--text));--ok:#1f9d55;--ko:#d64545;--warn:#b7791f;--radius:18px;--radius-sm:12px;--topbar:#f4f5f7d1;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#4a3aa7;--series-8:#e34948;--series-other:#a7adb7;--route:#ea580c;--zone-1:#5b84d9;--zone-2:#2fa37a;--zone-3:#c99a12;--zone-4:#e8742a;--zone-5:#d9363e;--effort-1:var(--zone-1);--effort-2:var(--zone-2);--effort-3:var(--zone-3);--effort-4:var(--zone-4);--effort-5:var(--zone-5);--power-1:#8a919c;--power-2:var(--zone-1);--power-3:var(--zone-2);--power-4:var(--zone-3);--power-5:var(--zone-4);--power-6:var(--zone-5);--power-7:#8b5cf6;--form-overload:var(--zone-5);--form-training:var(--zone-4);--form-balanced:var(--zone-2);--form-fresh:var(--zone-1);--form-very-fresh:#2f4cb3;--on-form-overload:var(--surface);--on-form-training:var(--text);--on-form-balanced:var(--text);--on-form-fresh:var(--text);--on-form-very-fresh:var(--surface);--trace-1:#b5de2b;--trace-2:#35b779;--trace-3:#21918c;--trace-4:#31688e;--trace-5:#440154;--grade-down-2:#1c5cab;--grade-down-1:#6da7ec;--grade-flat:#8b919b;--grade-up-1:#ec7f7e;--grade-up-2:#c43b3b;--trace-none:#d5d8de;--viz-bar:#878b90;--plan-proposed:#7c5cd6;--medal-1:#b08000;--medal-2:#848d99;--medal-3:#a35f2a;--on-medal-1:#14171c;--on-medal-2:#14171c;--on-medal-3:#fff;--medal-ribbon:#2a78d6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;accent-color:var(--accent);caret-color:var(--accent)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}::selection{background:color-mix(in srgb, var(--accent) 25%, transparent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b0d10;--surface:#14171c;--surface-2:#1b1f26;--text:#eef1f5;--text-muted:#8b93a1;--text-dim:#818791;--border:#262b33;--accent:#f08a3c;--accent-text:#1a0f05;--warn:#e3c34a;--topbar:#0b0d10d1;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767;--series-other:#5b6270;--route:#f08a3c;--zone-1:#6b8fd6;--zone-2:#3fb68b;--zone-3:#e3c34a;--zone-4:#f08a3c;--zone-5:#e5484d;--form-very-fresh:#a5b8f5;--on-form-training:var(--surface);--on-form-balanced:var(--surface);--on-form-fresh:var(--surface);--trace-1:#2a788e;--trace-2:#22a884;--trace-3:#7ad151;--trace-4:#bddf26;--trace-5:#fde725;--grade-down-2:#6da7ec;--grade-down-1:#256abf;--grade-flat:#737a86;--grade-up-1:#a84545;--grade-up-2:#e66767;--trace-none:#343a45;--viz-bar:#656b73;--plan-proposed:#a78bfa;--medal-1:#e6b53c;--medal-2:#b9c1cc;--medal-3:#d98c50;--on-medal-3:#14171c;--medal-ribbon:#3987e5}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d10;--surface:#14171c;--surface-2:#1b1f26;--text:#eef1f5;--text-muted:#8b93a1;--text-dim:#818791;--border:#262b33;--accent:#f08a3c;--accent-text:#1a0f05;--warn:#e3c34a;--topbar:#0b0d10d1;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767;--series-other:#5b6270;--route:#f08a3c;--zone-1:#6b8fd6;--zone-2:#3fb68b;--zone-3:#e3c34a;--zone-4:#f08a3c;--zone-5:#e5484d;--form-very-fresh:#a5b8f5;--on-form-training:var(--surface);--on-form-balanced:var(--surface);--on-form-fresh:var(--surface);--trace-1:#2a788e;--trace-2:#22a884;--trace-3:#7ad151;--trace-4:#bddf26;--trace-5:#fde725;--grade-down-2:#6da7ec;--grade-down-1:#256abf;--grade-flat:#737a86;--grade-up-1:#a84545;--grade-up-2:#e66767;--trace-none:#343a45;--viz-bar:#656b73;--plan-proposed:#a78bfa;--medal-1:#e6b53c;--medal-2:#b9c1cc;--medal-3:#d98c50;--on-medal-3:#14171c;--medal-ribbon:#3987e5}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}html{min-height:calc(100% + env(safe-area-inset-top))}main{max-width:960px;padding:calc(env(safe-area-inset-top) + 24px) 16px calc(env(safe-area-inset-bottom) + 32px);margin:0 auto}.header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.brand{letter-spacing:-.01em;font-size:20px;font-weight:700}h1{letter-spacing:-.02em;margin:0 0 4px;font-size:28px}.muted{color:var(--text-muted)}.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:24px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card h2{margin:0 0 6px;font-size:16px}.card p{margin:0;font-size:14px}.button{appearance:none;font:inherit;cursor:pointer;background:var(--accent);color:var(--accent-text);border:0;border-radius:999px;padding:12px 20px;font-weight:600}.button.ghost{color:var(--text-muted);border:1px solid var(--border);background:0 0;padding:8px 14px;font-size:14px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:1px}.nav a:focus-visible,.nav-more>summary:focus-visible{outline-offset:-2px}.button,.nav a,.nav-more>summary,.pill,.account-menu>summary,input,select,textarea{transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out,transform .1s ease-out}@media (hover:hover){.button:not(.ghost):not(:disabled):hover{background:color-mix(in srgb, var(--accent) 88%, black)}.button.ghost:not(:disabled):hover{background:color-mix(in srgb, var(--text) 6%, transparent)}.nav a:hover,.nav-more>summary:hover,.account-menu>summary:hover{color:var(--text)}.pill:hover{color:var(--text);border-color:var(--text-muted)}}.button:not(:disabled):active{transform:scale(.97)}.button:disabled,button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}button[aria-busy=true]:disabled{cursor:progress}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.button:not(:disabled):active{transform:none}}.status{align-items:center;gap:6px;font-size:13px;display:inline-flex}.dot{border-radius:50%;width:8px;height:8px}.dot.ok{background:var(--ok)}.dot.ko{background:var(--ko)}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:70dvh;display:flex}a{color:inherit}.header .brand{text-decoration:none}.nav{flex:1;gap:4px;min-width:0;margin-left:12px;display:flex;position:relative}.nav-measure{visibility:hidden;pointer-events:none;position:absolute;inset:0;overflow:hidden}.nav-measure>div{gap:4px;width:max-content;display:flex}.nav-more{flex-shrink:0;position:relative}.nav-more>summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.nav-more>summary::-webkit-details-marker{display:none}.nav-more>summary:after,.nav-measure span:last-child:after{content:" ▾"}.nav a,.nav-measure span,.nav-more>summary{color:var(--text-muted);white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:6px 12px;font-size:14px;text-decoration:none}.nav a.active,.nav-measure span.active,.nav-more>summary.active,.nav-more[open]>summary{color:var(--text);background:var(--surface);border-color:var(--border)}.account-menu{flex-shrink:0;position:relative}.account-menu>summary{color:var(--text-muted);border:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:999px;padding:6px 12px;font-size:14px;list-style:none}.account-menu>summary::-webkit-details-marker{display:none}.account-menu>summary:after{content:" ▾"}.account-menu>summary.active,.account-menu[open]>summary{color:var(--text);background:var(--surface)}.account-menu-list{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:2px;min-width:180px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0000001f}.account-menu-list a,.account-menu-list .button{text-align:left;width:100%;color:var(--text);border-radius:8px;padding:8px 12px;font-size:14px;text-decoration:none;display:block}.account-menu-list a:hover,.account-menu-list a.active{background:var(--bg)}.account-menu-list form{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.section{margin-top:28px}.section h2,.section-head h2{margin:0 0 8px;font-size:17px}.section-head{justify-content:space-between;align-items:baseline;display:flex}.section-head a{color:var(--accent-ink);font-size:14px;text-decoration:none}.activities{gap:10px;margin:0;padding:0;list-style:none;display:grid}.activity-head{align-items:center;gap:10px;margin-bottom:10px;font-size:14px;display:flex}.sport{font-size:15px;font-weight:650}.badge{color:var(--text-muted);border:1px solid var(--border);border-radius:999px;margin-left:auto;padding:2px 8px;font-size:12px}.stats{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;margin:0;display:grid}.stats dt{color:var(--text-muted);font-size:12px}.stats dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:16px;font-weight:600}.upload{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.upload input{font:inherit;color:var(--text);max-width:100%}.upload input[name=name]{border:1px solid var(--border);background:var(--bg);border-radius:999px;padding:10px 14px}.upload p{flex-basis:100%;margin:4px 0 0}.list{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.list li{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;font-size:14px;display:flex}.error{color:var(--ko-ink)}code{background:var(--bg);border:1px solid var(--border);word-break:break-all;border-radius:6px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.8}.token{margin-top:12px}.secret{-webkit-user-select:all;user-select:all;padding:10px;display:block}.activity-link{color:inherit;text-decoration:none;display:block}.activity:hover{border-color:var(--text-muted)}.back{color:var(--text-muted);margin-bottom:8px;font-size:14px;text-decoration:none;display:inline-block}.subtitle{text-transform:none;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 20px;display:flex}.subtitle .badge{margin-left:0}.badge.secondary{opacity:.7}.tiles{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.tile-label{color:var(--text-muted);font-size:12px}.tile-value{letter-spacing:-.01em;font-size:22px;font-weight:650}.tile-hint{font-size:12px}.tile-unit{color:var(--text-muted);font-size:13px;font-weight:500}.sparkline{color:var(--series-1);width:100%;height:36px;margin:4px 0 2px;overflow:visible}.sparkline polyline{fill:none;stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.spark-current{stroke:currentColor}.spark-end{stroke:currentColor;stroke-width:5px;stroke-linecap:round;vector-effect:non-scaling-stroke}.spark-older{stroke:var(--text-muted);opacity:.5}.recovery{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.recovery-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.recovery-nav .filters{flex-wrap:wrap;align-items:center;margin:0}.recovery-jump{align-items:center;gap:6px;display:inline-flex}.recovery-jump input{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:3px 8px;font-size:13px}.recovery-jump button{cursor:pointer;background:0 0}.activity-view{gap:12px;margin-top:16px;display:grid}.route-map{border-radius:var(--radius);border:1px solid var(--border);height:340px;overflow:hidden}.trace{gap:8px;display:grid}.trace-choice{justify-self:start;max-width:100%;overflow-x:auto}.trace-legend{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:.85rem;display:flex}.trace-legend-title{color:var(--text)}.trace-legend-scale{flex:180px;max-width:320px}.trace-legend-bar{border-radius:4px;height:8px;position:relative}.trace-legend-mark{background:var(--text);width:4px;height:14px;box-shadow:0 0 0 2px var(--surface);border-radius:2px;margin-left:-2px;position:absolute;top:-3px}.trace-legend-ticks{font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:4px;display:flex}.trace-legend-gap{align-items:center;gap:6px;display:inline-flex}.trace-legend-swatch{border-radius:4px;width:14px;height:8px}.readout{top:var(--header-h,0px);z-index:2;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:0;padding:10px 14px;display:grid;position:sticky}.readout dt{color:var(--text-muted);font-size:12px}.readout dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.charts{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:4px;padding:12px 8px 8px 4px;display:grid}.chart{margin:0}.chart figcaption{padding-left:12px;font-size:13px;font-weight:600}.chart .u-over{cursor:crosshair;touch-action:pan-y}.zones{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.zones li{grid-template-columns:minmax(130px,1.2fr) minmax(80px,.8fr) 3fr minmax(90px,.8fr);align-items:center;gap:10px;font-size:14px;display:grid}.zone-track{background:var(--bg);border-radius:4px;height:14px;overflow:hidden}.zone-bar{border-radius:0 4px 4px 0;height:100%;display:block}.zone-bar.z1{background:var(--zone-1)}.zone-bar.z2{background:var(--zone-2)}.zone-bar.z3{background:var(--zone-3)}.zone-bar.z4{background:var(--zone-4)}.zone-bar.z5{background:var(--zone-5)}.zone-time{text-align:right;font-variant-numeric:tabular-nums}.table-wrap{margin-top:8px;overflow-x:auto}.table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.table th{text-align:right;color:var(--text-muted);border-bottom:1px solid var(--border);padding:6px 8px;font-size:12px;font-weight:500}.table td{text-align:right;border-bottom:1px solid var(--border);padding:6px 8px}.table th:first-child,.table td:first-child{text-align:left}@media (max-width:560px){.zones li{grid-template-columns:1fr auto}.zone-track{grid-column:1/-1}.route-map{height:260px}}.readout.idle:after{content:"Survole ou touche les courbes pour lire les valeurs";background:var(--surface);border-radius:var(--radius);color:var(--text-muted);align-items:center;padding:0 14px;font-size:12px;display:flex;position:absolute;inset:0}@media (max-width:640px){.header{flex-wrap:wrap}.nav{flex-basis:100%;order:3;margin-left:0}.readout{grid-template-columns:repeat(4,1fr);gap:6px;padding:8px 10px}.readout dt{font-size:11px}.readout dd{font-size:13px}.tile-value{font-size:19px}}.structure-tag{color:color-mix(in srgb, var(--series-1) 55%, var(--text));white-space:nowrap;font-size:12px;font-weight:600}.section-link{margin:12px 0 0;font-size:14px}.section-link a,.table td a{color:color-mix(in srgb, var(--series-1) 55%, var(--text));text-decoration:none}.filters{gap:8px;margin-bottom:12px;display:flex}.pill{color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:4px 12px;font-size:13px;text-decoration:none}.pill.active{color:var(--text);border-color:var(--text-muted);background:var(--surface)}.lead{margin:0 0 12px;font-size:16px}.hint{margin:8px 0 0;font-size:12px}.table tr.current td{font-weight:650}.table tr.best td:first-child:after{content:" ★";color:color-mix(in srgb, var(--series-2) 55%, var(--text))}.table td.best-part{color:color-mix(in srgb, var(--series-2) 55%, var(--text));font-weight:700}.table .input-short{width:5.5em}form>.table-wrap+.form-actions{margin-top:12px}.compare-table th,.compare-table td{white-space:nowrap}.compare-link{margin-top:12px;display:inline-block}.tabs{border-bottom:1px solid var(--border);gap:4px;margin:12px 0 4px;display:flex;overflow-x:auto}.tab{font:inherit;color:var(--text-muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 10px;font-size:14px}.tab.active{color:var(--text);border-bottom-color:var(--series-1);font-weight:600}.rename{gap:8px;margin:-4px 0 16px;display:flex}.rename input{min-width:0;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;flex:1;padding:6px 10px;font-size:14px}.form-state{margin:0 0 8px;font-size:15px}.gauge{padding:4px 0 22px}.gauge-track{background:var(--bg);border-radius:999px;height:10px;position:relative}.gauge-zone{border-left:2px solid var(--surface);position:absolute;top:0;bottom:0}.gauge-zone:first-child{border-left:0}.gauge-label{color:var(--text-muted);white-space:nowrap;font-size:11px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.gauge-marker{background:var(--series-1);border:3px solid var(--surface);width:18px;height:18px;box-shadow:0 0 0 1px var(--border);border-radius:50%;margin-left:-9px;position:absolute;top:-4px}.fitness-chart figcaption{gap:16px;font-weight:500;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.hypnogram{margin:0 0 16px}.hypnogram svg{width:100%;height:88px;display:block}.hypno-grid{stroke:var(--border);stroke-dasharray:2 4;vector-effect:non-scaling-stroke}.hypnogram figcaption{gap:6px;margin-top:6px;display:grid}.hypno-times{justify-content:space-between;display:flex}.hypnogram .legend{flex-wrap:wrap;justify-content:center;gap:6px 12px;display:flex}.hrv-chart{margin:12px 0 0}.hrv-chart svg{width:100%;height:160px;display:block}.hrv-chart figcaption{gap:6px;margin-top:6px;display:grid}.hrv-chart .legend{flex-wrap:wrap;justify-content:center;gap:6px 12px;display:flex}.hrv-band{fill:var(--series-7);opacity:.08}.hrv-ref{stroke:var(--border);stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.hrv-alpha,.hrv-hr{fill:none;stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.hrv-alpha{stroke:var(--series-7)}.hrv-hr{stroke:var(--series-8);opacity:.6}.dist{margin-top:16px}.dist-title{margin:0 0 4px;font-size:15px}@media (min-width:561px){.dist-bands li{grid-template-columns:minmax(110px,1fr) 3fr minmax(90px,.8fr)}}@media (max-width:560px){.dist-bands .zone-track{order:1}}.dist-bar{background:var(--series-1)}.dist~.hint{margin-top:16px}.fit-summary .feel{margin:0 0 12px}.fit-summary>.hint{margin-top:12px}.te-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:12px;display:grid}.te{gap:4px;display:grid}.te-head{justify-content:space-between;gap:8px;display:flex}.te-track{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.te-fill{background:var(--series-3);height:100%;display:block}.table.nowrap td{white-space:nowrap}.steps-chart{align-items:flex-end;gap:1px;height:120px;display:flex;position:relative}.steps-bar{background:var(--series-1);opacity:.55;border-radius:1px 1px 0 0;flex:1;min-width:0}.steps-bar.goal{opacity:1}.steps-goal,.steps-avg{border-top:1px dashed var(--border);pointer-events:none;position:absolute;left:0;right:0}.steps-goal>span{background:var(--surface);border-radius:3px;padding:0 4px;position:absolute;bottom:2px;right:0}.steps-avg{border-top:2px solid var(--series-2)}.steps-axis{justify-content:space-between;gap:12px;margin:6px 0 16px;display:flex}.weekday-bars{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;height:140px;margin-bottom:16px;display:grid}.weekday-bar{flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.weekday-fill{background:var(--series-1);border-radius:3px 3px 0 0;width:100%;max-width:36px}.sleep-bars{gap:4px;height:120px;margin-bottom:16px;display:flex}.sleep-bar{flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;display:flex}.sleep-bar-stack{border-radius:3px;flex-direction:column-reverse;flex:1;width:100%;max-width:28px;display:flex;overflow:hidden}.swatch{border-radius:2px;width:14px;height:3px;display:inline-block}.chart-readout{font-variant-numeric:tabular-nums;margin:6px 0 0 12px;font-size:13px}.fitness-chart .u-over{touch-action:pan-y}.week-bar-cell{width:30%}.week-bar{background:var(--series-1);border-radius:0 4px 4px 0;height:8px;display:block}@media (max-width:560px){.gauge-label{font-size:10px}}.gauge-zone:first-child .gauge-label{left:0;transform:none}.gauge-zone:last-child .gauge-label{left:auto;right:0;transform:none}.gauge-zone.form-overload,.form-pill.form-overload{background:var(--form-overload);color:var(--on-form-overload)}.gauge-zone.form-training,.form-pill.form-training{background:var(--form-training);color:var(--on-form-training)}.gauge-zone.form-balanced,.form-pill.form-balanced{background:var(--form-balanced);color:var(--on-form-balanced)}.gauge-zone.form-fresh,.form-pill.form-fresh{background:var(--form-fresh);color:var(--on-form-fresh)}.gauge-zone.form-very_fresh,.form-pill.form-very_fresh{background:var(--form-very-fresh);color:var(--on-form-very-fresh)}.form-pill.form-insufficient{background:var(--surface-2);color:var(--text-muted)}.gauge-zone:first-child{border-radius:999px 0 0 999px}.gauge-zone:last-child{border-radius:0 999px 999px 0}.form-pill{border-radius:999px;margin-right:4px;padding:2px 10px;font-size:13px;font-weight:650;display:inline-block}.gauge-marker{background:var(--surface);border:4px solid var(--text);box-shadow:0 0 0 2px var(--surface)}.profile-form{gap:16px;display:grid}.field{gap:4px;display:grid}.field-label{font-size:14px;font-weight:600}.field-input{align-items:center;gap:8px;display:flex}.field-input input{width:110px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:6px 10px}.field-hint{font-size:12px}.form-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}:where(details,.card,section,main)>:where(form,.form-grid,.form-actions)+:where(form,.form-actions,.row-actions),.activity-view+.form-actions{margin-top:12px}.notice{border:1px solid var(--border);border-radius:10px;margin:12px 0;padding:8px 12px;font-size:14px}.notice.ok{border-color:var(--ok)}.notice.ko{border-color:var(--ko)}.card p.notice{margin:12px 0}.stack-form{gap:16px;margin-top:12px;display:grid}.form-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));align-items:end;gap:12px;display:grid}.form-grid .wide{grid-column:1/-1}.form-grid input:not([type=checkbox]),.form-grid select,.form-grid textarea{width:100%;min-width:0;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:15px}.form-grid input:not([type=checkbox]),.form-grid select{min-height:40px}.field.check{align-items:center;gap:8px;padding-bottom:8px;font-size:14px;display:flex}.inline-form,.feedback{margin-top:16px}.form-grid.field-and-button{flex-wrap:wrap;display:flex}.form-grid.field-and-button .field{flex:170px}.form-grid.field-and-button .button{white-space:nowrap}details>summary{cursor:pointer}.add-card{margin-top:12px}.add-card[open]>summary,details.card[open]>summary{margin-bottom:8px}.row-actions{white-space:nowrap}.row-actions details{text-align:left;font-size:14px}.row-actions summary{color:color-mix(in srgb, var(--series-1) 55%, var(--text));text-align:right}.row-actions details[open]{z-index:3;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);white-space:normal;margin-top:6px;padding:16px;position:absolute;left:0;right:0;box-shadow:0 8px 24px #0000001f}.row-actions details[open]>summary{margin-bottom:12px}.table-wrap{position:relative}.table-wrap:has(details[open]:not(.user-delete)){overflow:visible}.small{font-size:12px}.ko-text{color:var(--ko-ink)}.danger-zone{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;padding-top:16px;display:flex}.race-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.race-card{gap:4px;text-decoration:none;display:grid}.race-card:hover{border-color:var(--text-muted)}.race-card-head{justify-content:space-between;align-items:center;display:flex}.race-name{font-size:18px}.race-stats{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 14px;font-size:14px;display:flex}.priority{border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:650}.priority.major{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.countdown{font-variant-numeric:tabular-nums;font-weight:700}.countdown.past{color:var(--text-muted);font-weight:500}.gpx-upload label.button{display:inline-block}.map-legend{color:var(--text-muted);flex-wrap:wrap;gap:14px;margin:0;font-size:13px;display:flex}.swatch.round{border-radius:50%;width:10px;height:10px}.readout .wide{grid-column:span 2}.station-num{min-width:20px;height:20px;color:var(--surface);border-radius:999px;place-items:center;font-size:11px;font-weight:700;display:inline-grid}.table.plan td,.table.stations td{vertical-align:top}.night{color:var(--text-muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;margin-left:4px;padding:0 6px;font-size:11px;font-weight:600}.carry{min-width:170px;text-align:left!important}.table.plan td:not(:first-child):not(.carry),.table.stations td:not(:first-child){white-space:nowrap}.plan-cards{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:none}.plan-cards li{gap:4px;padding:12px 14px;display:grid}.plan-cards p{margin:0}.plan-card-head{justify-content:space-between;gap:8px;display:flex}.plan-card-time{font-variant-numeric:tabular-nums;font-size:17px;font-weight:650}.plan-cards .ko-text br{display:none}@media (max-width:640px){.plan-wrap{display:none}.plan-cards{display:grid}}.tabbar{display:none}@media (max-width:640px){.nav .primary-link{display:none}.tabbar{z-index:20;padding:6px 4px calc(env(safe-area-inset-bottom) + 6px);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--text-muted);-webkit-tap-highlight-color:transparent;justify-items:center;gap:2px;padding:4px 0;font-size:11px;text-decoration:none;display:grid}.tabbar svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.tabbar a.active{color:var(--accent-ink);font-weight:600}main{padding-bottom:calc(env(safe-area-inset-bottom) + 84px)}}.offline-banner{top:env(safe-area-inset-top);z-index:30;background:var(--text);color:var(--bg);white-space:nowrap;border-radius:999px;margin-top:8px;padding:6px 14px;font-size:13px;position:fixed;left:50%;transform:translate(-50%)}.offline-ready{color:var(--ok-ink);white-space:nowrap;font-size:12px}.garmin .status{margin:0 0 12px;font-size:14px}.chart-tip{pointer-events:none;font-variant-numeric:tabular-nums;white-space:nowrap;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:2px 6px;font-size:12px;font-weight:600;position:absolute;box-shadow:0 2px 6px #00000014}.activity-card{min-width:0;display:grid}.activity-card .track-preview{width:100%;height:120px;margin:2px 0 4px}.activity-card .track-preview.empty{height:48px}.activity-figures{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 24px;margin:6px 0 2px;font-size:22px;font-weight:650;display:flex}.activity-figures .unit{color:var(--text-muted);margin-left:3px;font-size:13px;font-weight:400}.track-preview{background:var(--bg);width:64px;height:64px;color:var(--text-muted);border-radius:10px;place-items:center;display:grid}svg.track-preview path{fill:none;stroke:var(--route);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.activity-card .activity-head{gap:8px;margin-bottom:0}.activity-head .sport{color:var(--text-muted);display:inline-flex}.activity-title{text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.activity-meta{flex-wrap:wrap;align-items:center;gap:4px 10px;margin:2px 0 6px;font-size:13px;display:flex}.session-tag{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.activity-h1{align-items:center;gap:10px;display:flex}.activity-h1 .sport-icon{color:var(--text-muted);flex:none}.activity-description{white-space:pre-line;margin:8px 0}.activity-info{margin:12px 0}.type-filters{scrollbar-width:none;overscroll-behavior-x:contain;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.type-filters::-webkit-scrollbar{display:none}.type-filters>*{white-space:nowrap;flex:none}.weeks{gap:18px;display:grid}.week-head{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin:0 2px 8px;font-size:13px;display:flex}.week-head h2{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:12px;font-weight:650}.week .activities{margin:0}@media (max-width:640px){.activity-card .track-preview{height:96px}.activity-figures{gap:2px 16px;font-size:18px}}details>summary .saved{color:var(--ok-ink);font-weight:600}.suggestion{margin:12px 0}.suggestion h3{margin:0 0 2px;font-size:16px}.suggestion .tiles{margin:10px 0}.suggestion .tile-value{font-size:19px}.why{margin-bottom:10px}.why ul{gap:4px;margin:8px 0;padding-left:20px;display:grid}#sudation{margin-top:16px}.more-charts{text-align:left;width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 8px;padding:10px 14px;font-weight:600;display:block;overflow:hidden}.more-charts .muted{font-weight:400}.tile-alert{border-color:var(--ko)}.tile-alert .tile-value{color:var(--ko-ink)}.chart-title{margin:16px 0 4px;font-size:13px;font-weight:600}.mini-bars{width:100%;height:64px;display:block}.mini-bars .bar{fill:var(--series-1);opacity:.75}.mini-bars .bar-alert{fill:var(--ko)}.mono{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.admin-errors li{flex-direction:column;gap:2px;display:flex}.admin-errors .error,td.error{color:var(--ko-ink);overflow-wrap:anywhere}.mini-chart{margin:0}.mini-axis{justify-content:space-between;font-size:11px;display:flex}.admin-errors li{text-align:left;align-items:flex-start}.more-users{margin-top:8px}.section .tiles+.chart-title{margin-top:20px}.admin-nav{scrollbar-width:none;flex-wrap:nowrap;margin-bottom:12px;overflow-x:auto}.admin-nav .pill{flex:none}.admin-status.ok h2{color:var(--ok-ink)}.admin-status.warn h2{color:var(--warn-ink)}.split-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:8px 24px;display:grid}.share-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.share-list li{grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;font-size:14px;display:grid}.share-bar{background:var(--surface-2);border-radius:3px;grid-column:1/-1;height:6px;overflow:hidden}.share-bar span{background:var(--series-1);height:100%;display:block}.vital{font-variant-numeric:tabular-nums}.vital-good{color:var(--ok-ink)}.vital-fair{color:var(--warn-ink);font-weight:600}.vital-poor{color:var(--ko-ink);font-weight:700}.error-message{overflow-wrap:anywhere}td.mono{min-width:9rem}@media (max-width:600px){.hide-sm{display:none}}.chat-examples{margin:12px 0}.chat-examples .pill{background:var(--surface);font:inherit;cursor:pointer;flex:none;font-size:13px}.chat-empty{margin:0 0 12px}.chat-log{gap:10px;margin:0 0 12px;padding:0;list-style:none;display:grid}.chat-msg{background:var(--surface-2);overflow-wrap:anywhere;border-radius:16px 16px 16px 5px;justify-self:start;max-width:min(100%,640px);padding:11px 14px;font-size:14px;line-height:1.5}.chat-msg.user{background:var(--accent);max-width:86%;color:var(--accent-text);border-radius:16px 16px 5px;justify-self:end}.chat-msg.pending{color:var(--text-muted)}.chat-msg.error{background:color-mix(in srgb, var(--ko) 10%, var(--surface));color:var(--ko-ink)}.chat-note{color:var(--text-muted);margin:6px 0 0;font-size:12px}.chat-proposed{border:1.5px dashed var(--plan-proposed);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--plan-proposed) 6%, var(--surface));color:var(--plan-proposed-ink);flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:10px;padding:10px 12px;font-size:13px;display:flex}.chat-proposed span{flex:200px}.chat-proposed .button{padding:6px 12px;font-size:13px}.quota{background:var(--surface-2);border-radius:3px;height:6px;margin:10px 0 6px;overflow:hidden}.quota i{background:var(--accent);border-radius:3px;height:100%;display:block}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;display:flex}.page-head h1{margin-bottom:4px}.page-head-links{gap:8px;margin:6px 0 8px;display:flex}.chat-msg p{margin:0 0 6px}.answer p,.answer ul{margin:0 0 8px}.answer ul{padding-left:20px}.chat-form{align-items:flex-end;gap:8px;display:flex}.chat-form textarea{min-width:0;font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);resize:vertical;flex:1;padding:10px 12px}.consent .check,fieldset.domains .check{align-items:center;gap:6px;margin-right:14px;display:inline-flex}.club-page form>label.check,.club-join>label.check,.signup .signin-form>label.check{align-items:baseline;gap:8px;margin:8px 0;display:flex}.signup .signin-form>label.check{text-align:left;margin:0;font-size:14px;line-height:1.45}.signup .signin-form>label.check input{flex:none;width:auto}fieldset.domains{border:0;margin:0;padding:0}.snippet{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border-radius:8px;padding:8px 10px;font-size:12px}code.token{overflow-wrap:anywhere}.journal li p{margin:0 0 4px}.page-assistant{margin:16px 0}.page-assistant>summary{list-style:none}.page-assistant>summary::-webkit-details-marker{display:none}.page-assistant>summary:before{content:"✦ ";color:var(--accent-ink)}.page-assistant-title{color:var(--text);font-weight:600}.page-assistant[open]>summary{margin-bottom:12px}.priority.considered{color:var(--text-muted);border-style:dashed}.add-race{gap:8px;margin-top:8px;display:grid}.add-way>summary{padding:6px 0;font-weight:600}.ical-list li .check,.discover-list li{align-items:center;gap:10px;display:flex}.discover-list li{flex-wrap:wrap;justify-content:space-between}.discover-list li>div:first-child{flex:260px;min-width:0}.shared-list{gap:12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.shared-card .shared-head{margin-bottom:12px}.shared-card .shared-foot{margin-top:12px}.shared-head,.shared-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.shared-foot-detail{margin-top:12px}.kudos-count{cursor:default}.shared-owner{font-weight:600}.shared-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:6px 0 0;font-size:14px;display:-webkit-box;overflow:hidden}.button.kudos.given{border-color:var(--accent);color:var(--accent-ink)}.shared-detail{justify-items:center;gap:16px;display:grid}.shared-detail .stats,.shared-detail .shared-map{width:100%}.track-preview.large{aspect-ratio:1;width:100%;max-width:320px;height:auto}.comment-list{gap:10px;margin:0 0 12px;padding:0;list-style:none;display:grid}.comment-list li{border-bottom:1px solid var(--border);padding-bottom:8px}.comment-list p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0}.comment-form,.search-row{align-items:flex-end;gap:8px;display:flex}.comment-form textarea,.search-row input{min-width:0;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);resize:vertical;border-radius:10px;flex:1;padding:8px 10px;font-size:15px}.comment-form{align-items:center}.link-button{color:var(--text-muted);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.link-button.small{font-size:13px}.block-head .badge{border-color:var(--accent);color:var(--accent-ink);margin-left:0}.list li.unread{font-weight:600}.person-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.card>p+form{margin-top:12px}.card>h3{margin:24px 0 8px;font-size:16px}.list.compact li{border-left:3px solid #0000;padding:6px 0 6px 10px;font-size:14px}.list.compact li.unread{border-left-color:var(--accent);font-weight:600}.notifications .form-actions{margin-top:10px}.oauth-page{max-width:560px;margin:0 auto;padding-top:32px}.oauth-page>.brand{margin-bottom:16px}.oauth-facts{gap:6px;margin:12px 0;display:grid}.oauth-facts>div{flex-wrap:wrap;gap:8px;display:flex}.oauth-facts dt{color:var(--text-muted);min-width:96px}.oauth-facts dd{overflow-wrap:anywhere;margin:0}.oauth-form .domains{border:0;gap:10px;margin:12px 0;padding:0;display:grid}.oauth-domain{align-items:flex-start;gap:8px;display:flex}.oauth-domain input{margin-top:4px}.plan-nav{flex-wrap:wrap;justify-content:space-between;gap:12px;margin:16px 0 4px;font-size:14px;display:flex}.plan-week.current{border-color:var(--accent)}.plan-days{margin:8px 0 0;padding:0;list-style:none;display:grid}.plan-day{border-top:1px solid var(--border);grid-template-columns:96px 1fr;align-items:start;gap:8px 12px;padding:10px 0;display:grid}.plan-day.today .plan-day-label{color:var(--accent-ink);font-weight:600}.plan-day.past .plan-day-label{color:var(--text-muted)}.plan-day-label{padding-top:2px;font-size:14px}.plan-sessions{grid-template-columns:minmax(0,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.plan-proposals .button,.plan-detail .row-actions .button,.discover-list .row-actions .button{border:1px solid #0000;padding:8px 14px;font-size:14px;text-decoration:none}.plan-proposals .button.ghost,.plan-detail .row-actions .button.ghost,.discover-list .row-actions .button.ghost{border-color:var(--border)}.plan-detail .row-actions,.discover-list .row-actions{flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.row-actions:has(>form+form){flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.plan-state{border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:999px;margin-left:4px;padding:1px 8px;font-size:12px}.plan-state.state-done{border-color:var(--ok);color:var(--ok-ink)}.plan-state.state-missed{border-color:var(--ko);color:var(--ko-ink)}.plan-state.state-proposed{border-color:var(--plan-proposed);color:var(--plan-proposed-ink);border-style:dashed}.plan-description{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0;font-size:14px}.plan-proposals{border-color:var(--plan-proposed);flex-wrap:wrap;align-items:center;gap:12px 14px;display:flex}.plan-proposals-icon{width:40px;height:40px;color:var(--plan-proposed-ink);background:color-mix(in srgb, var(--plan-proposed) 15%, transparent);border-radius:12px;flex:none;place-items:center;display:inline-grid}.plan-proposals-text{flex:260px;min-width:0}.plan-proposals-text h2{margin:0 0 2px;font-size:16px}.plan-proposals-actions{gap:8px;display:flex}.plan-note{white-space:pre-wrap}@media (max-width:560px){.plan-day{grid-template-columns:1fr}}.unread-badge{background:var(--accent);min-width:18px;color:var(--accent-text);text-align:center;vertical-align:middle;border-radius:999px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:600;line-height:18px;display:inline-block}.toasts{left:50%;bottom:calc(env(safe-area-inset-bottom) + 16px);z-index:50;gap:8px;width:min(420px,100vw - 32px);display:grid;position:fixed;transform:translate(-50%)}.toast{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);align-items:center;gap:10px;padding:10px 14px;font-size:14px;text-decoration:none;display:flex;position:relative;box-shadow:0 6px 20px #0000002e}.toast-icon{background:var(--accent);width:20px;height:20px;color:var(--accent-text);box-shadow:0 0 0 2px var(--surface);border-radius:50%;place-items:center;display:grid;position:absolute;top:30px;left:34px}@media (max-width:640px){.toasts{bottom:calc(env(safe-area-inset-bottom) + 84px)}}.signin{text-align:left;gap:12px;width:min(360px,100%);margin:16px auto 0;display:grid}.signin-form{gap:10px;display:grid}.signin-form input{width:100%;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:8px 10px;font-size:15px}.signin-or{text-align:center;margin:0}.signin-credit{text-align:center;margin-top:32px}.totp-qr{background:#fff;border-radius:8px;width:176px;height:176px;display:block}.mfa-step>form>.button,.mfa-step .signin-form .button{width:100%}.mfa-recovery>summary{cursor:pointer;margin-bottom:8px}.recovery-codes{font-variant-numeric:tabular-nums;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:6px 16px;margin:8px 0 0;padding-left:22px;display:grid}.mfa-factors{gap:8px;margin:8px 0;padding:0;list-style:none;display:grid}.mfa-factors li{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:6px 12px;padding:8px 0;display:flex}.mfa-factor-actions{gap:12px;display:flex}.signup{max-width:420px;margin:0 auto}.signup .signin-form{text-align:left;width:100%}.auth-methods{gap:10px;margin:12px 0;display:grid}.auth-methods .check{align-items:flex-start;gap:8px;display:flex}.auth-methods select,.share-community select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:6px 8px}.user-actions{white-space:nowrap}.user-actions form{margin-right:8px;display:inline}tr.user-disabled td{opacity:.6}.user-delete{display:inline}.user-delete>summary{list-style:none;display:inline}.user-delete[open]{white-space:normal;margin-top:6px;display:block}.user-delete[open]>summary{margin-bottom:6px;display:block}.user-delete .button{white-space:nowrap}.user-delete .muted{margin-top:4px;display:block}.signin .button{width:100%}.sports-donut{margin:8px 0 20px}.sports-donut-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.sports-donut-head figcaption{color:var(--text-muted);font-size:14px}.segmented{border:1px solid var(--border);border-radius:999px;padding:2px;display:inline-flex}.segmented button,.segmented a{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 12px;font-size:13px}.segmented a{text-decoration:none}.bilan-period{margin-bottom:16px}.bilan-period a{padding:6px 16px;font-size:15px}.segmented button[aria-pressed=true],.segmented a[aria-current=true]{background:var(--text);color:var(--surface)}.sports-donut-body{align-items:center;gap:24px;display:flex}.sports-donut svg{flex:none;width:200px;max-width:50%}.sports-donut path{cursor:pointer;transition:opacity .15s,stroke-width .15s}.sports-donut path.faded{opacity:.3}.sports-donut-gap{stroke:var(--surface);stroke-width:2px;pointer-events:none}.sports-donut-value{fill:var(--text);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.sports-donut-label{fill:var(--text-muted);font-size:12px}.sports-donut-legend{flex:1;gap:2px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.sports-donut-legend a,.sports-donut-legend .row{color:inherit;border-radius:8px;grid-template-columns:12px 1fr auto 3.2em;align-items:center;gap:10px;padding:6px 8px;text-decoration:none;display:grid}.sports-donut-legend li.active a,.sports-donut-legend li.active .row,.sports-donut-legend a:focus-visible{background:color-mix(in srgb, var(--text) 6%, transparent)}.sports-donut-legend .swatch{border-radius:4px;width:12px;height:12px}.sports-donut-legend .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.sports-donut-legend .val,.sports-donut-legend .pct{font-variant-numeric:tabular-nums;text-align:right}.sports-donut-legend .pct{color:var(--text-muted)}@media (max-width:560px){.sports-donut-body{flex-direction:column;align-items:stretch}.sports-donut svg{align-self:center;width:70%;max-width:220px}}.bilan-figures b{letter-spacing:-.02em;font-size:30px;font-weight:800}.year-bars{align-items:flex-end;gap:10px;height:110px;margin:18px 0 0;padding:0;list-style:none;display:flex}.year-bars li{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:0;height:100%;display:flex}.year-bars i{background:var(--viz-bar);border-radius:6px;width:100%;max-width:120px;max-height:calc(100% - 34px);display:block}.year-bars li.current i{background:var(--accent)}.year-bar-value{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.year-bar-label{color:var(--text-dim);font-size:11px}.year-bars li.current .year-bar-label{color:var(--accent-ink);font-weight:650}.sport-years .table th,.sport-years .table td{white-space:nowrap}.sport-years .table th[scope=row]{text-align:left}.sport-years{margin-top:12px}.sport-years summary{cursor:pointer;color:var(--text-muted);font-size:14px}.record-list{gap:0;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.record-list li{border-top:1px solid var(--border);grid-template-columns:96px minmax(0,1fr);align-items:center;gap:10px;padding:9px 0;display:grid}.record-list li:first-child{border-top:0}.record-label{font-weight:650}.record-link{min-width:0;color:inherit;align-items:baseline;gap:8px;text-decoration:none;display:flex}.record-link .muted{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.record-link strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:16px}.record-year{color:var(--accent-ink);background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:999px;padding:1px 6px;font-size:11px;font-weight:650}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sheet-toolbar{justify-content:space-between;align-items:center;gap:12px;margin:8px 0 20px;display:flex}.race-sheet{max-width:1040px}.sheet-head{border-bottom:2px solid var(--text);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;padding-bottom:8px;display:flex}.sheet-head h1{margin:0}.sheet-head p{color:var(--text-muted);margin:4px 0 0}.sheet-figures{gap:20px;margin:0;display:flex}.sheet-figures dt{color:var(--text-muted);font-size:12px}.sheet-figures dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:18px;font-weight:700}.sheet-note{margin:8px 0 0;font-size:14px}.sheet-section{margin-top:18px}.sheet-section h2{margin:0 0 8px;font-size:17px}.sheet-section h3{margin:0 0 6px;font-size:14px}.compact-profile{width:100%;height:auto;display:block}.cp-area{fill:color-mix(in srgb, var(--series-1) 18%, transparent)}.cp-line{fill:none;stroke:var(--series-1);stroke-width:2px;stroke-linejoin:round}.cp-base{stroke:var(--text-muted);stroke-width:1px}.cp-grid{stroke:var(--border);stroke-dasharray:3 4}.cp-axis{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:13px}.cp-marker{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:2 3}.cp-dot{stroke:var(--surface);stroke-width:2px}.cp-num{fill:#fff;font-size:11px;font-weight:700}.sheet-legend{color:var(--text-muted);flex-wrap:wrap;gap:14px;margin:4px 0 0;font-size:13px;display:flex}.sheet-legend .swatch{margin-right:6px}.sheet-table{border-collapse:collapse;width:100%;font-size:14px}.sheet-table th{text-align:left;color:var(--text-muted);border-bottom:1.5px solid var(--text);padding:4px 6px;font-size:12px;font-weight:600}.sheet-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:6px}.sheet-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.sheet-table tr{break-inside:avoid}.sheet-time{white-space:nowrap}.sheet-start td{background:color-mix(in srgb, var(--text) 4%, transparent)}.sheet-pickup{margin-top:2px;font-weight:600}.sheet-columns{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px 28px;display:grid}.sheet-list{gap:6px;margin:0 0 8px;padding:0;list-style:none;display:grid}.sheet-notes{white-space:pre-line;margin:0}.sheet-nutrition{break-inside:avoid}.pickups ul{gap:8px;margin:0 0 8px;padding:0;list-style:none;display:grid}@media screen and (max-width:720px){.sheet-figures{gap:14px}.sheet-table thead{display:none}.sheet-table,.sheet-table tbody{display:block}.sheet-table tr{border-bottom:1px solid var(--border);grid-template-columns:28px 1fr 1fr;gap:6px 10px;padding:10px 0;display:grid}.sheet-table td{border:0;grid-column:2/-1;padding:0}.sheet-table td:first-child{grid-area:1/1/span 2}.sheet-table td:nth-child(2){grid-column:2}.sheet-table td:nth-child(3){text-align:right;grid-area:1/3}.sheet-table td[data-label=Tronçon]{text-align:left;grid-column:2}.sheet-table td.sheet-time{grid-column:3}.sheet-start td{background:0 0}.sheet-table td:nth-child(3):before{content:"km ";color:var(--text-muted);font-size:12px}.sheet-table td[data-label]:not(:nth-child(3)):before{content:attr(data-label);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;display:block}.sheet-table td.sheet-empty{display:none}.sheet-table td.num div{margin-left:6px;display:inline}}@media print{@page{size:A4;margin:10mm}:root,:root[data-theme],:root:not([data-theme=light]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--surface:#fff;--text:#000;--text-muted:#444;--border:#bbb;--series-1:#2a78d6;--series-2:#eb6834;--series-7:#4a3aa7}html,body{background:#fff!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.station-num,.cp-num{color:#fff;fill:#fff}.no-print,.header,.tabbar{display:none!important}main.race-sheet{max-width:none;padding:0;font-size:10.5pt}.sheet-table{font-size:9.5pt}.sheet-table thead{display:table-header-group}.sheet-section h2{break-after:avoid;font-size:12pt}a{color:inherit;text-decoration:none}}.gear-list{gap:12px;margin:16px 0;padding:0;list-style:none;display:grid}.gear-card.retired{opacity:.75}.gear-head{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.gear-head h3{margin:0}.gear-head p{margin:2px 0 0}.gear-badge{width:36px;height:36px;color:color-mix(in srgb, var(--series-1) 55%, var(--text));background:color-mix(in srgb, var(--series-1) 14%, transparent);border-radius:10px;place-items:center;display:inline-grid}.gear-total{text-align:right;justify-items:end;display:grid}.gear-total strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:22px}.gear-wear{gap:4px;margin-top:10px;display:grid}.gear-wear-track{background:color-mix(in srgb, var(--text) 8%, transparent);border-radius:4px;height:8px;overflow:hidden}.gear-wear-track span{background:linear-gradient(90deg, var(--zone-2), var(--zone-3), var(--zone-4), var(--zone-5)) left / 100% 100% no-repeat;border-radius:4px;height:100%;display:block}.gear-wear-legend{font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;display:flex}.gear-wear.worn .small{color:var(--ko-ink);font-weight:600}.gear-rules-line{flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 0;display:flex}.gear-rules-line .badge{margin-left:0}.gear-actions{flex-wrap:wrap;gap:8px 16px;margin-top:8px;display:flex}.gear-actions>*{flex:100%}.gear-rules th,.gear-rules td{text-align:center;white-space:nowrap}.gear-rules th[scope=row]{text-align:left}.rule-cell{cursor:pointer;flex-direction:column;align-items:center;gap:2px;display:inline-flex}.rule-cell input{width:18px;height:18px}.activity-gear{margin:4px 0 0}.activity-weather{border-bottom:1px solid var(--border);margin:-2px 0 14px;padding-bottom:12px}.activity-weather summary{cursor:pointer;flex-wrap:wrap;gap:6px 18px;list-style:none;display:flex}.activity-weather summary::-webkit-details-marker{display:none}.activity-weather summary>span{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.activity-weather summary .icon{color:var(--text-muted)}.weather-hours{margin-top:8px}.weather-hours caption{text-align:left;font-weight:600}.weather-hours tr.usual{color:var(--text);font-weight:600}@media (max-width:560px){.gear-head{grid-template-columns:auto 1fr}.gear-total{text-align:left;grid-column:1/-1;justify-items:start}}.plan-steps{font-variant-numeric:tabular-nums;margin:4px 0 0;padding-left:18px;font-size:13px}.plan-garmin{color:var(--text-muted);white-space:nowrap;font-size:12px}.plan-garmin.sent{color:var(--ok-ink)}.plan-garmin.error{color:var(--ko-ink);cursor:help}.garmin-plan{border-top:1px solid var(--border);gap:8px;margin-top:16px;padding-top:12px;display:grid}.garmin-plan h3{margin:0;font-size:15px}.steps-editor{gap:8px;display:grid}.steps-bar{border-radius:4px;gap:2px;height:14px;display:flex;overflow:hidden}.steps-bar span{background:var(--step);flex-basis:0;min-width:3px}.step-warmup{--step:var(--series-8)}.step-interval{--step:var(--series-1)}.step-recovery{--step:var(--series-3)}.step-rest{--step:var(--series-other)}.step-cooldown{--step:var(--series-7)}.step-card,.step-repeat{border:1px solid var(--border);border-left:4px solid var(--step,var(--text-muted));background:var(--surface);border-radius:8px;gap:6px;padding:8px;display:grid}.step-repeat{border-left-style:dashed}.step-head,.step-body{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.step-head>select,.step-count{font-weight:600}.step-tools{gap:6px;margin-left:auto;display:flex}.step-tools .button{min-width:0;padding:2px 8px}.form-grid .steps-editor input:not([type=checkbox]),.form-grid .steps-editor select{width:auto}.step-card{flex-wrap:wrap;align-items:center;display:flex}.step-card>.step-head,.step-card>.step-body{display:contents}.step-card .step-tools{order:1}.form-grid .steps-editor input.step-qty{width:6em}.form-grid .steps-editor .step-count input{width:4em}.form-grid .steps-editor input.step-note{flex:10em}.step-count{white-space:nowrap}.ok-text{color:var(--ok-ink)}.shared-ai{border:1px solid var(--border);border-radius:10px;gap:8px;margin:8px 0 12px;padding:10px 12px;display:grid}.shared-ai.active{border-color:var(--ok)}.shared-ai p{margin:0}.own-provider>summary{cursor:pointer;color:var(--text-muted);margin:4px 0 8px}.shared-ai-admin{border-top:1px solid var(--border);gap:8px;margin-top:16px;padding-top:12px;display:grid}.shared-ai-admin h3{margin:0;font-size:15px}.shared-ai-admin fieldset{border:0;flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;display:flex}.vo2-period{margin-bottom:12px}.vo2-grid{gap:12px;display:grid}.vo2-card{border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:12px}.vo2-notes{margin:8px 0 6px;padding:0;font-size:13px;list-style:none}.vo2-chart .u-over{touch-action:pan-y}.vo2-legend{color:var(--text-muted);flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-size:12px;display:flex}.swatch.dashed{background:repeating-linear-gradient(90deg,currentColor 0 5px,#0000 5px 8px)}.swatch.round.small{width:6px;height:6px}.perf-verdict{margin:8px 0 0;font-weight:500}.perf-period{margin:12px 0}.perf-ends{justify-content:space-between;gap:8px;font-size:11px;display:flex}.perf-chart .u-over{touch-action:pan-y}.perf-sub{margin:16px 0 6px;font-size:1rem}.perf-components{margin:0;padding:0;list-style:none}.perf-components li{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:2px 12px;padding:6px 0;font-size:14px;display:flex}.perf-components li .muted{font-variant-numeric:tabular-nums}.supervision-status{margin:8px 0;padding-left:18px;font-size:14px}.supervision-status li.error{color:var(--ko-ink)}.telemetry-test{margin-top:12px}#supervision a.button{text-decoration:none}.eyebrow{margin:0;font-size:13px}.trace-filters{align-items:center}.filter-label{font-size:13px}.more-traces{margin:-4px 0 12px;position:relative}.more-traces>summary{cursor:pointer;list-style:none}.more-traces>summary::-webkit-details-marker{display:none}.more-traces ul{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:260px;max-width:min(420px,90vw);max-height:320px;margin:6px 0 0;padding:6px 0;list-style:none;position:absolute;overflow-y:auto;box-shadow:0 6px 20px #0000001f}.more-traces li a{padding:6px 12px;font-size:14px;display:block}.trace-summary{gap:6px;margin-bottom:12px;display:grid}.trace-summary .button{justify-self:start}.home-hello{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:12px;display:flex}.home-hello h1{margin:0}.home-range{font-size:13px}.home-kpis{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.home-kpis b{font-variant-numeric:tabular-nums;font-size:26px;line-height:1.15;display:block}.home-kpis span{color:var(--text-muted);font-size:13px}.home-empty{margin:0 0 12px}.home-split{gap:2px;height:10px;margin-bottom:8px;display:flex}.home-split i{border-radius:4px;flex-basis:0;min-width:4px}.week-mark{background:var(--c)}.week-mark.hatched,.swatch.hatched{background:repeating-linear-gradient(135deg, var(--c) 0 3px, color-mix(in srgb, var(--c) 40%, var(--surface)) 3px 6px)}.home-legend{color:var(--text-muted);flex-wrap:wrap;gap:4px 14px;margin:0 0 12px;padding:0;font-size:13px;list-style:none;display:flex}.home-legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.week-strip{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;margin:0;padding:0;list-style:none;display:grid}.week-day{color:var(--text-muted);font-size:12px}.week-strip .today .week-day{color:var(--text);font-weight:700}.week-col{flex-direction:column-reverse;align-items:center;gap:2px;height:56px;margin-top:4px;display:flex}.week-strip .today .week-col{box-shadow:inset 0 -2px 0 var(--accent)}.week-col .week-mark,.week-col .week-plan{border-radius:4px 4px 2px 2px;flex-shrink:1;width:70%;max-height:100%}.week-plan{border:2px dashed var(--c);color:var(--c);justify-content:center;align-items:center;min-height:20px;display:flex;overflow:hidden}.week-plan .sport-icon{flex-shrink:0}.week-plan.missed{border-color:var(--series-other);color:var(--series-other)}.home-form .form-state{margin-top:0}.home-goal{color:inherit;align-items:center;gap:14px;text-decoration:none;display:flex}.home-goal .countdown{color:var(--accent-ink);min-width:56px;font-size:22px}.home-goal-meta{font-size:13px;display:block}.home-goal-invite{margin:0;font-size:14px}.home-feed .section-head{margin-bottom:8px}.home-feed .activities+.activities,.home-feed .activities+.feed-sentinel{margin-top:10px}.feed-sentinel{text-align:center;min-height:1px;padding:8px 0;font-size:14px}.insight{background:var(--bg);border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:8px;margin:12px 0;padding:8px 10px;font-size:14px;display:flex}.card .insight{margin-bottom:0}.insight p{flex:1;margin:0}.insight-badge{border:1px solid var(--border);color:var(--text-muted);border-radius:4px;flex:none;padding:0 4px;font-size:10px;font-weight:700;line-height:16px}.insight-actions{flex:none;gap:2px;display:flex}.insight-actions button{cursor:pointer;min-width:28px;min-height:28px;color:var(--text-muted);opacity:.7;background:0 0;border:0;border-radius:6px;padding:2px 4px}.insight-actions button:hover,.insight-actions button[aria-pressed=true]{opacity:1;background:var(--surface)}.proactive .check+.check{margin-top:6px}.insights-admin{margin-top:20px}.insights-admin h3{margin:0 0 8px;font-size:15px}.home-feed .activities{grid-template-columns:minmax(0,1fr)}.home-feed .activity-card{grid-template-columns:96px minmax(0,1fr);align-items:start;column-gap:14px}.home-feed .activity-card>*{grid-column:2}.home-feed .activity-card>.track-preview{grid-area:1/1/span 4;width:96px;height:96px;margin:0}.home-feed .activity-title{overflow-wrap:anywhere}.activity-foot{margin-top:10px}@media (hover:hover){input:not(:disabled):hover,select:not(:disabled):hover,textarea:not(:disabled):hover{border-color:var(--text-muted)}}:is(input:user-invalid,select:user-invalid,textarea:user-invalid){border-color:var(--ko)}body{font-feature-settings:"tnum" 0}h1{letter-spacing:-.03em;font-size:30px;font-weight:800;line-height:1.1}.card{border-radius:var(--radius)}.section-head h2{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:13px;font-weight:650}.section-head a{color:var(--accent-ink);font-size:13px;font-weight:600;text-decoration:none}.header{z-index:25;margin:calc(-1 * (env(safe-area-inset-top) + 24px)) -16px 22px;padding:calc(env(safe-area-inset-top) + 10px) 16px 10px;background:var(--topbar);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);position:sticky;top:0}.brand{letter-spacing:-.02em;font-weight:800}.nav a,.nav-measure span,.nav-more>summary{font-weight:500}.nav a.active,.nav-measure span.active,.nav-more>summary.active,.nav-more[open]>summary{background:var(--surface-2);border-color:#0000}@media (max-width:640px){.tabbar{background:var(--topbar)}.tabbar a.active{color:var(--text)}.tabbar a.active svg{stroke:var(--accent)}}.theme-switch{background:var(--surface-2);border-radius:999px;grid-template-columns:repeat(3,1fr);gap:2px;margin:4px 2px;padding:3px;display:grid}.theme-switch button{appearance:none;font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:600}.theme-switch button.on{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--border)}main.wide{max-width:1120px}.home-hello{margin-bottom:18px}.home-layout{align-items:start;gap:16px;display:grid}.home-aside{gap:12px;min-width:0;display:grid}.home-feed{min-width:0}@media (min-width:900px){.home-layout{grid-template-columns:minmax(0,1fr) 380px}.home-aside{order:2;position:sticky;top:76px}}.home-goal .countdown{letter-spacing:-.03em;min-width:74px;font-size:26px;font-weight:800}.form-figures{margin-top:14px}.up{color:var(--ok-ink)}.down{color:var(--ko-ink)}.insight{background:var(--surface-2);border-radius:var(--radius-sm);border:0;padding:10px 12px;position:relative}.insight:before{content:"";background:linear-gradient(#a78bfa, var(--accent));border-radius:2px;flex:none;align-self:stretch;width:3px}.figures{flex-wrap:wrap;gap:4px 24px;display:flex}.figures>span{flex-direction:column;display:flex}.figures b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:26px;font-weight:700;line-height:1.1}.figures b .unit{color:var(--text-muted);margin-left:3px;font-size:15px;font-weight:600}.figures small{color:var(--text-muted);margin-top:2px;font-size:12px}.form-figures b{font-size:20px}.activity-feature{padding-bottom:14px}.activity-feature .activity-head,.activity-row .activity-link{align-items:center;gap:10px;margin:0;display:flex}.activity-feature .activity-head{margin-bottom:12px}.activity .sport{background:var(--surface-2);width:36px;height:36px;color:var(--text);border-radius:11px;flex:none;place-items:center;display:inline-grid}.activity-row-main{min-width:0;display:grid}.activity .activity-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:650;overflow:hidden}.activity .activity-meta{margin:0;font-size:12.5px}.activity-tag{background:var(--surface-2);white-space:nowrap;text-overflow:ellipsis;border:0;flex:0 auto;max-width:45%;margin-left:auto;font-weight:600;overflow:hidden}@media (max-width:560px){.activity-tag{display:none}}.activity-body{gap:12px;display:grid}.activity-row{padding:12px 14px}.activity-row-end{font-variant-numeric:tabular-nums;justify-items:end;gap:5px;margin-left:auto;display:grid}.activity-row-end .unit{color:var(--text-muted);margin-left:2px;font-size:12px;font-weight:500}@media (hover:hover){.activity:hover{border-color:color-mix(in srgb, var(--text-muted) 45%, var(--border))}}.effort{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.effort-steps{gap:3px;display:inline-flex}.effort-steps i{background:var(--surface-2);border-radius:3px;width:22px;height:8px}.effort-steps i.on{background:var(--effort)}.effort.compact .effort-steps i{width:10px;height:6px}.effort-label{color:color-mix(in srgb, var(--effort) 55%, var(--text));font-size:14px}.effort-compare{color:var(--text-muted);font-size:12.5px}.zones-bar{gap:6px;display:grid}.zones-track{border-radius:3px;gap:2px;height:6px;display:flex;overflow:hidden}.zones-track i{height:100%;display:block}.zones-legend{color:var(--text-dim);justify-content:space-between;font-size:11px;display:flex}.zones-list{gap:8px;margin:0;padding:2px 0 0;list-style:none;display:grid}.zones-list li{color:var(--text-muted);grid-template-columns:22px 72px minmax(0,1fr) 54px;align-items:center;gap:8px;font-size:12px;display:grid}.zones-list b{color:var(--text)}.zones-name{color:var(--text-dim)}.zones-row-track{background:var(--surface-2);border-radius:5px;height:9px;overflow:hidden}.zones-row-track i{border-radius:5px;height:100%;display:block}.zones-time{text-align:right;font-variant-numeric:tabular-nums}.carousel-slide:has(>.power-zones){align-content:stretch}.carousel-slide:has(>.body-map){align-content:stretch}.body-map{align-items:stretch;gap:24px;min-width:0;height:100%;display:flex}.carousel-slide>.body-map:not(.compact){justify-content:center}.body-figures{flex:none;gap:4px;display:flex}.body-figure{grid-template-rows:minmax(0,1fr) auto;justify-items:center;height:100%;margin:0;display:grid}.body-figure svg{aspect-ratio:72/196;width:auto;height:100%}.body-figure figcaption{color:var(--text-dim);font-size:11px}.body-base>*{fill:var(--surface-2);stroke:var(--border);stroke-width:.8px}.body-muscle{fill:color-mix(in srgb, var(--text) 8%, var(--surface-2));stroke:var(--surface);stroke-width:.8px}.body-exercises{grid-template-columns:minmax(0,auto) auto;align-content:center;gap:4px 16px;min-width:0;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.body-exercises li{display:contents}.body-exercises b{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.body-exercises span{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.body-map.compact{--body-h:80px;height:auto}.body-map.compact .body-figure{height:auto}.body-map.compact .body-figure svg{height:var(--body-h);width:calc(var(--body-h) * 72 / 196)}.muscles-periods{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px;display:grid}.muscles-advice{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px;margin-top:14px;display:grid}.muscles-advice h3,.muscles-period h3{margin:0 0 8px;font-size:15px}.muscles-advice ul{margin:0;padding-left:18px}.muscles-period .body-map.compact{--body-h:164px}.muscles-balance{gap:6px;margin:10px 0 6px;padding:0;list-style:none;display:grid}.muscles-balance li{gap:3px;display:grid}.muscles-balance-bar{background:var(--surface-2);border-radius:3px;height:6px;display:block;overflow:hidden}.muscles-balance-bar span{background:var(--accent);height:100%;display:block}.plan-steps-muscles{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;display:flex}.plan-steps-muscles>.plan-steps{flex:150px;min-width:0}@media (min-width:720px){.plan-steps-muscles{align-items:center}.plan-steps-muscles>.body-map.compact{--body-h:144px;flex:1 1 0;justify-content:center}}.power-zones{grid-template-rows:auto minmax(0,1fr);min-width:0;height:100%;display:grid}.zones-list.dense{align-content:space-evenly;gap:2px;padding:0}.zones-list.dense li{font-size:11px;line-height:13px}.zones-list.dense .zones-row-track{height:7px}.carousel{background:color-mix(in srgb, var(--bg) 60%, var(--surface));border-block:1px solid var(--border);margin:0 -16px 14px;position:relative}.carousel-track{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;display:flex;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}.carousel-slide{scroll-snap-align:start;height:var(--slide-h,168px);flex:0 0 100%;align-content:center;justify-items:stretch;min-width:0;padding:32px 16px 26px;display:grid}.carousel-slide .slide-track{background:0 0;width:100%;height:100%}.carousel-slide svg.slide-track path{stroke-width:2.4px;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--route) 45%, transparent))}.carousel-slide:has(>.slide-map){position:relative;overflow:hidden}.carousel-slide>.slide-map{opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.carousel-slide>.slide-map.ready{opacity:.6}.carousel-slide>.slide-track{position:absolute;inset:0}.slide-map-credit{color:var(--text-muted);pointer-events:none;font-size:10px;position:absolute;bottom:6px;right:10px}.carousel-label{z-index:2;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:color-mix(in srgb, var(--surface) 80%, transparent);pointer-events:none;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:650;position:absolute;top:9px;left:12px}.carousel-dots{pointer-events:none;justify-content:center;gap:5px;display:flex;position:absolute;bottom:8px;left:0;right:0}.carousel-dots i{background:var(--border);border-radius:3px;width:5px;height:5px;transition:width .25s ease-out,background-color .25s ease-out}.carousel-dots i.on{background:var(--text);width:14px}.carousel-arrow{z-index:3;border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, transparent);width:30px;height:30px;color:var(--text);cursor:pointer;opacity:0;border-radius:50%;font-size:16px;line-height:1;transition:opacity .2s ease-out;position:absolute;top:50%;transform:translateY(-50%)}.carousel-arrow.prev{left:8px}.carousel-arrow.next{right:8px}.carousel:hover .carousel-arrow,.carousel-arrow:focus-visible{opacity:1}@media (hover:none){.carousel-arrow{display:none}}.carousel-slide:has(>.viz){align-content:stretch}.viz{grid-template-rows:auto minmax(0,1fr) auto;min-width:0;height:100%;margin:0;display:grid}.viz-caption{max-width:calc(100% - 110px);color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;text-overflow:ellipsis;justify-self:end;margin:-23px 0 8px;font-size:11px;line-height:14px;overflow:hidden}.viz-plot{min-height:0;position:relative}.viz:has(.viz-bar-label) .viz-plot{margin-top:16px}.viz-plot svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.viz-area{fill:color-mix(in srgb, var(--route) 16%, transparent)}.viz-line{fill:none;stroke:var(--route);stroke-width:2px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.viz-bar{fill:var(--viz-bar)}.viz-bar.best{fill:var(--accent)}.viz-gap{stroke:var(--series-1);stroke-width:2px;vector-effect:non-scaling-stroke}.viz-avg{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.viz-y{color:var(--text-dim);background:color-mix(in srgb, var(--surface) 70%, transparent);font-variant-numeric:tabular-nums;border-radius:4px;padding:0 4px;font-size:10px;position:absolute;left:0}.viz-y.top{top:0}.viz-y.bottom{bottom:2px}.viz-axis{height:14px;color:var(--text-dim);font-variant-numeric:tabular-nums;margin-top:4px;font-size:10.5px;position:relative}.viz-axis span,.viz-bar-label{white-space:nowrap;position:absolute;transform:translate(-50%)}.viz-axis span.start{transform:none}.viz-bar-label{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-bottom:3px;font-size:10.5px}.viz-bar-label.best,.viz-accent{color:var(--accent-ink);font-weight:650}.viz-key{margin-left:8px}.viz-key:before{content:"";vertical-align:middle;background:var(--series-1);width:12px;height:2px;margin-right:4px;display:inline-block}.seance-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;margin:10px 0 16px;display:flex}.seance-head .activity-h1,.seance-head .subtitle{margin:0}.seance-title{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:6px;display:flex}.medal-icon{--medal:var(--medal-1);flex:none}.medal-icon.medal-2{--medal:var(--medal-2)}.medal-icon.medal-3{--medal:var(--medal-3)}.medal-icon .medal-fill{fill:var(--medal)}.medal-icon .medal-stroke{fill:none;stroke:var(--medal);stroke-width:1.8px;stroke-linecap:round}.medal-icon .medal-ribbon{fill:var(--medal-ribbon)}.medal-icon .medal-number{fill:var(--on-medal-2);font-size:8.5px;font-weight:800}.medal-icon.medal-3 .medal-number{fill:var(--on-medal-3)}.medal-badge{color:var(--text);justify-self:start;align-items:center;gap:5px;margin-top:2px;font-size:13px;font-weight:650;display:inline-flex}.medal-summary{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:4px 14px 4px 7px;font-size:14px;font-weight:650;text-decoration:none;display:inline-flex}.medal-summary:hover{background:var(--surface-2)}.medal-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.medal-list li{border-top:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 0;display:grid}.medal-list li:first-child{border-top:0}.medal-value{font-variant-numeric:tabular-nums}.medal-rank{min-width:56px;color:var(--text-muted);text-align:right;font-size:13px}.medal-rank-1{color:var(--text);font-weight:700}.medal-note{margin:8px 0 0}.seance-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.seance-main,.seance-aside{grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;display:grid}.seance-main>.section,.seance-aside>.section{margin:0}@media (min-width:960px){.seance-layout{grid-template-columns:minmax(0,1fr) 340px}.seance-aside{position:sticky;top:76px}}.seance-hero{padding-top:0;overflow:hidden}.seance-hero .carousel{border-top:0}.seance-hero .insight{margin-top:12px}.kgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 12px;margin-bottom:14px;display:grid}.kgrid>div{gap:2px;min-width:0;display:grid}.kgrid b{letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:20px;font-weight:700}.kgrid small{color:var(--text-muted);font-size:12px}@media (max-width:560px){.kgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.seance-chart{height:190px;padding-top:24px;display:grid}.splits-details{margin-top:12px}.splits-details>summary{cursor:pointer;color:var(--text-muted);font-size:13px}.reps-list{gap:8px;margin:12px 0 14px;padding:0;list-style:none;display:grid}.reps-list li{font-variant-numeric:tabular-nums;grid-template-columns:22px minmax(40px,1fr) 58px 52px 64px 72px;align-items:center;gap:8px;font-size:13px;display:grid}.reps-n{color:var(--text-dim)}.reps-track{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.reps-track i{background:var(--viz-bar);border-radius:4px;height:100%;display:block}.reps-list li.best .reps-track i{background:var(--accent)}.reps-pace{text-align:right}.reps-meta{text-align:right;color:var(--text-muted);white-space:nowrap}@media (max-width:560px){.reps-list li{grid-template-columns:18px minmax(30px,1fr) 52px 76px}.reps-time,.reps-dist{display:none}}.seance-aside .zones{margin-top:8px}.dynamics-list{gap:10px;margin:0;display:grid}.dynamics-list>div{flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-size:14px;display:flex}.dynamics-list dt{color:var(--text-muted);margin-right:auto}.dynamics-list dd{font-variant-numeric:tabular-nums;margin:0;font-weight:650}.dynamics-list dd.hint{color:var(--text-dim);flex-basis:100%;font-size:12px;font-weight:400}.rating-pill{--pill:var(--text-muted);color:color-mix(in srgb, var(--pill) 55%, var(--text));background:color-mix(in srgb, var(--pill) 16%, transparent);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:650}.rating-pill.good{--pill:var(--ok)}.rating-pill.average{--pill:var(--warn)}.rating-pill.work{--pill:var(--ko)}.feel{align-items:baseline;gap:8px;margin:0;display:flex}.feel b{font-variant-numeric:tabular-nums;font-size:20px}.seance-main>*,.seance-aside>*{margin:0}.seance-aside .zones li{white-space:nowrap;grid-template-columns:1fr auto auto;gap:4px 10px;font-size:13px}.seance-aside .zone-track{grid-area:2/1/auto/-1;height:8px}.seance-aside .zone-time{grid-area:1/3}.viz-bar-label{background:color-mix(in srgb, var(--surface) 75%, transparent);border-radius:4px;padding:0 3px}.avatar{object-fit:cover;vertical-align:middle;background:var(--surface-2);box-shadow:0 0 0 1px var(--border);border-radius:50%;flex:none;place-items:center;display:inline-grid}.avatar-initials{color:var(--text-muted);letter-spacing:.02em;-webkit-user-select:none;user-select:none;font-weight:650}.person-link{align-items:center;gap:8px;display:inline-flex}.person-head>.avatar+div{margin-right:auto}.account-menu>summary .avatar{margin:-2px 6px -2px -6px}.comment-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.avatar-form{align-items:center;gap:16px;margin-bottom:14px;display:flex}.avatar-form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.avatar-form-actions .muted,.avatar-form-actions .notice{flex-basis:100%;margin:0}.avatar-form label.button{cursor:pointer}.icon{vertical-align:-3px;flex:none}.button .icon,.comment-link .icon{margin-right:4px}.comment-link{color:var(--text-muted);align-items:center;font-size:13px;text-decoration:none;display:inline-flex}@media (hover:hover){.comment-link:hover{color:var(--accent-ink)}}.more-link{text-align:center;margin:16px 0 0}.aside-sub{color:var(--text-muted);margin:16px 0 8px;font-size:12px;font-weight:650}.sport-chip{background:var(--surface-2);width:36px;height:36px;color:var(--text);border-radius:11px;flex:none;place-items:center;display:inline-grid}.frequent-routes{gap:12px;margin:0;padding:0;list-style:none;display:grid}.frequent-routes li{align-items:center;gap:10px;display:flex}.frequent-name{min-width:0;margin-right:auto;display:grid}.frequent-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.frequent-link{color:var(--accent-ink);font-size:13px;font-weight:600;text-decoration:none}.forme-head,.forme-level{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;margin:16px 0;display:grid}@media (min-width:960px){.forme-head,.forme-level{grid-template-columns:repeat(2,minmax(0,1fr))}}.forme-head .form-figures{margin-top:14px}.forme-chart{height:220px;padding-top:26px;display:grid}.viz-line.fitness{stroke:var(--series-1)}.viz-line.fatigue{stroke:var(--series-2)}.viz:has(.viz-note) .viz-plot{margin-top:18px}.viz-note{text-overflow:ellipsis;max-width:55%;color:var(--text);white-space:nowrap;background:color-mix(in srgb, var(--surface) 80%, transparent);border-radius:4px;margin-bottom:4px;padding:1px 6px;font-size:11px;font-weight:650;position:absolute;overflow:hidden}.viz-note.left{transform:translate(-100%)}.viz-legend{flex-wrap:wrap;gap:4px 12px;display:inline-flex}.viz-legend i{vertical-align:middle;border-radius:2px;width:12px;height:3px;margin-right:5px;display:inline-block}.viz-legend i.bar{background:var(--viz-bar);width:8px;height:8px}.forme-chart .viz-caption{white-space:normal;max-width:100%}.recovery-cmp{color:var(--text-muted);font-size:12px}.recovery-tile.good .recovery-cmp{color:var(--ok-ink)}.recovery-tile.bad .recovery-cmp{color:var(--ko-ink)}.recovery-tile .sparkline{color:var(--spark,var(--series-1))}.perf-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 12px;display:flex}.perf-value{margin:0}.perf-value strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:40px;font-weight:800}.perf-value>span:not(.perf-ref){margin-left:6px;font-weight:700}.perf-ref{font-size:13px;display:block}.pill-state{--pill:var(--text-muted);color:color-mix(in srgb, var(--pill) 55%, var(--text));background:color-mix(in srgb, var(--pill) 15%, transparent);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:650}.pill-state.up{--pill:var(--ok)}.pill-state.down{--pill:var(--ko)}.vo2-row{align-items:center;gap:10px;display:flex}.vo2-name{min-width:0;margin-right:auto;display:grid}.vo2-name h3{margin:0;font-size:15px}.vo2-row .vo2-value{justify-items:end;margin:0;display:grid}.vo2-row .vo2-value strong{font-variant-numeric:tabular-nums;font-size:22px}.vo2-row .vo2-value span{font-size:12px}.plan-tile{border-left:3px solid var(--border);border-right:5px solid var(--kind,transparent);background:var(--surface-2);color:var(--text);border-radius:0 8px 8px 0;gap:2px;padding:6px 8px;font-size:13px;line-height:1.3;text-decoration:none;display:grid}.plan-tile:hover{background:color-mix(in srgb, var(--text) 6%, var(--surface-2))}.plan-tile strong{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.plan-tile-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.plan-tile.open{box-shadow:inset 0 0 0 1.5px var(--accent)}.plan-tile.state-planned,.plan-detail.state-planned{border-left-color:var(--zone-2)}.plan-tile.state-done,.plan-detail.state-done{border-left-color:var(--text)}.plan-tile.state-missed,.plan-detail.state-missed{border-left-color:var(--ko)}.plan-tile.state-skipped strong{color:var(--text-muted);text-decoration:line-through}.plan-tile.state-proposed{border:1.5px dashed var(--plan-proposed);background:color-mix(in srgb, var(--plan-proposed) 8%, var(--surface-2));border-right:5px solid var(--kind,var(--plan-proposed));border-radius:8px}.plan-tile[draggable=true]{cursor:grab}.plan-tile.dragging,.plan-tile.moving{opacity:.45}.plan-day.drop-target{outline:2px dashed var(--accent);outline-offset:-2px;background:color-mix(in srgb, var(--accent) 6%, transparent)}.exercise-sheets{gap:6px;display:grid}.exercise-sheet{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.exercise-sheet>summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:8px 12px;display:flex}.exercise-sheet>:not(summary){margin:0 12px 8px;font-size:14px}.exercise-sheet ul{padding-left:18px}.plan-move{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.plan-route{align-items:center;gap:8px;display:inline-flex}.plan-route .track-preview{border-radius:var(--radius-sm);background:var(--surface-2);flex-shrink:0}.plan-move-days,.plan-move-date,.plan-route-pick{flex-wrap:wrap;gap:6px;display:flex}.plan-move-days button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:4px 10px;font-size:13px}.plan-move-days button:hover{border-color:var(--accent)}.plan-move-date input,.plan-route-pick select{font:inherit;font-size:13px}.plan-move-date .button{padding:4px 12px;font-size:13px}.plan-detail{border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow-wrap:anywhere;grid-column:1/-1;gap:8px;min-width:0;margin:0 0 10px;padding:14px 16px;display:grid}.plan-detail.state-proposed{border:1.5px dashed var(--plan-proposed)}.plan-detail-head{align-items:flex-start;gap:10px;display:flex}.plan-detail-head>div{flex:1;min-width:0}.plan-detail-head h3{margin:0 0 2px;font-size:16px}.plan-detail-head p{margin:0}.plan-detail-close{color:var(--text-muted);border-radius:8px;padding:0 8px 2px;font-size:22px;line-height:1.2;text-decoration:none}.plan-detail-close:hover{background:var(--surface-2);color:var(--text)}.plan-done{align-items:center;gap:6px;display:inline-flex}.plan-legend{color:var(--text-muted);flex-wrap:wrap;gap:6px 16px;margin:14px 0 0;font-size:12px;display:flex}.plan-legend-title{color:var(--text);font-weight:600}.plan-legend .kind{border-radius:3px;width:5px}.plan-legend i{vertical-align:-2px;border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.plan-legend .state-proposed{border:1.5px dashed var(--plan-proposed)}.plan-legend .state-planned{background:var(--zone-2)}.plan-legend .state-done{background:var(--text)}.plan-legend .state-missed{background:var(--ko)}@media (min-width:960px){.plan-days{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-flow:dense;gap:8px}.plan-day{border-radius:var(--radius-sm);background:var(--surface-2);border-top:0;grid-template-columns:minmax(0,1fr);align-content:start;min-height:96px;padding:10px 8px}.plan-day.today{box-shadow:inset 0 0 0 2px var(--accent)}.plan-tile{background:var(--surface)}.plan-tile:hover{background:color-mix(in srgb, var(--text) 4%, var(--surface))}.plan-tile.state-proposed{background:color-mix(in srgb, var(--plan-proposed) 8%, var(--surface))}.plan-detail{margin:0}}.list-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:22px 2px 0;font-size:12px;font-weight:650}.seance-main>section:first-child .list-title{margin-top:0}.race-list{margin-top:8px}.race-card{color:inherit;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.race-date{border-radius:var(--radius-sm);background:var(--surface-2);flex:none;place-items:center;width:52px;padding:6px 0;line-height:1.1;display:grid}.race-date b{font-variant-numeric:tabular-nums;font-size:22px}.race-date span{color:var(--text-muted);font-size:11px}.race-card-main{gap:2px;min-width:0;display:grid}.race-card-end{justify-items:end;gap:6px;display:grid}.race-card .countdown{color:var(--accent-ink);font-size:20px;font-weight:800}.race-past-head{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.race-result{gap:10px;margin-top:12px;display:grid}.race-result-line{font-variant-numeric:tabular-nums;margin:0;font-size:17px;font-weight:650}.race-result-reason{margin:-6px 0 0}.race-result-profile{height:150px;padding-top:24px;display:grid}.race-result-figures,.race-result-activity{margin:0}.viz-marker{stroke:var(--text);stroke-width:1.5px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.viz-marker-label{white-space:nowrap;color:var(--text);background:color-mix(in srgb, var(--surface) 85%, transparent);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:650;position:absolute;top:-2px;transform:translate(6px)}.viz-marker-label.left{transform:translate(calc(-100% - 6px))}.result-status{border:0;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;display:flex}.result-status legend{width:100%;margin-bottom:4px}.add-ways{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.add-way-tile{border:1px solid var(--border);border-radius:var(--radius-sm);color:inherit;gap:2px;padding:12px;text-decoration:none;display:grid}.add-way-tile .icon{color:var(--accent-ink);margin-bottom:4px}.add-way-tile b{font-size:14px}.add-way-tile span{color:var(--text-muted);font-size:12px}.add-way-tile.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}@media (hover:hover){.add-way-tile:hover{border-color:var(--text-muted)}}#ajouter .add-race{margin-top:14px}.discover-link{justify-content:center}.catalog-search{gap:8px;margin:8px 0 10px;display:flex}.catalog-search input{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:40px;color:var(--text);font:inherit;border-radius:10px;flex:1;padding:8px 12px}.bilan-body{gap:16px;margin-top:4px;display:grid}.bilan-body .forme-level{margin:0}.bilan-split{margin-top:16px}.cat-dot{vertical-align:1px;background:var(--cat);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.product-list{margin:0 0 8px;padding:4px 16px;list-style:none}.product-row{border-top:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:4px 12px;padding:10px 0;display:grid}.product-row:first-child{border-top:0}.category-chip{letter-spacing:.04em;width:40px;height:32px;color:color-mix(in srgb, var(--cat) 55%, var(--text));background:color-mix(in srgb, var(--cat) 16%, transparent);border-radius:9px;place-items:center;font-size:11px;font-weight:750;display:inline-grid}.product-name{min-width:0;display:grid}.product-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.product-name .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.product-macros{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.macro{font-variant-numeric:tabular-nums;white-space:nowrap;background:var(--surface-2);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:650}.macro small{color:var(--text-muted);font-weight:400}.product-row .product-edit{grid-column:1/-1}.product-row .product-edit>summary{color:var(--text-muted);font-size:13px}.favorite-form{display:contents}.favorite-toggle{width:36px;height:36px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;display:inline-grid}.favorite-toggle[aria-pressed=true]{color:var(--accent-ink)}.favorite-toggle[aria-pressed=true] .icon{fill:currentColor}@media (hover:hover){.favorite-toggle:hover{color:var(--accent-ink);background:var(--surface-2)}}.more-favorites{margin:2px 0 8px;display:inline-block}.favorites-pill .icon{vertical-align:-2px;color:var(--accent-ink);fill:currentColor;margin-right:4px}@media (max-width:640px){.product-row{grid-template-columns:auto minmax(0,1fr) auto}.product-macros{grid-area:2/2;justify-content:flex-start}.favorite-toggle{grid-area:1/3}}.aside-list{gap:8px;margin:14px 0 10px;display:grid}.aside-list>div{justify-content:space-between;gap:12px;font-size:13.5px;display:flex}.aside-list dt{color:var(--text-muted)}.aside-list dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.aside-list dd.to-do{color:var(--warn-ink)}.aside-button{justify-content:center;width:100%;margin-top:12px;display:flex}.aside-links{gap:6px;margin:0 0 10px;padding:0;font-size:14px;list-style:none;display:grid}.journal li{display:block}.journal-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.journal-meta .pill{padding:1px 9px;font-size:12px}.journal-question{font-weight:550}.profile-id{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:8px;display:flex}.profile-id h2{margin:0}.profile-id p{margin:2px 0 0}.title-icon{align-items:center;gap:8px;display:flex}.profile-zones{gap:10px;margin:0 0 10px;padding:0;list-style:none;display:grid}.profile-zones li{grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:4px 8px;font-size:13.5px;display:grid}.profile-zones .zone-track{height:8px}.profile-zones .zone-range{text-align:right;font-variant-numeric:tabular-nums}.zones-settings{border-top:1px solid var(--border);justify-items:start;gap:12px;margin-top:14px;padding-top:14px;display:grid}.zones-settings fieldset{border:0;gap:6px;margin:0;padding:0}.zones-modes .check,.display-modes .check{align-items:baseline;gap:8px;font-size:13.5px;display:flex}.zones-custom{grid-template-columns:repeat(2,minmax(0,1fr));display:none}.zones-custom legend{grid-column:1/-1}.zones-custom .field-input input{width:80px}.zones-settings:has(input[value=custom]:checked) .zones-custom{display:grid}.empty-state{text-align:center;justify-items:center;gap:6px;padding:28px 20px;display:grid}.empty-state h2{margin:4px 0 0}.empty-state p{max-width:46ch;margin:0 0 8px}.empty-state-icon{background:var(--surface-2);width:56px;height:56px;color:var(--text-muted);border-radius:16px;place-items:center;display:grid}.sources{margin:0;padding:0;list-style:none}.sources li{border-top:1px solid var(--border);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.sources li:first-child{border-top:0}.sources li>span:nth-child(2){display:grid}.source-logo{background:var(--surface-2);width:40px;height:40px;color:var(--text-muted);border-radius:12px;place-items:center;display:grid}.source-state{white-space:nowrap;color:var(--text-muted);background:var(--surface-2);border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:600}.source-state.ok{color:var(--ok-ink);background:color-mix(in srgb, var(--ok) 15%, var(--surface))}.source-state.ko{color:var(--ko-ink);background:color-mix(in srgb, var(--ko) 15%, var(--surface))}.source-state.warn{color:var(--warn-ink);background:color-mix(in srgb, var(--warn) 15%, var(--surface))}.dropzone{border:1.5px dashed var(--border);border-radius:var(--radius-sm);text-align:center;color:var(--text-muted);cursor:pointer;flex:100%;justify-items:center;gap:6px;padding:24px 16px;display:grid;position:relative}.dropzone>span:first-of-type{color:var(--text);font-weight:600}.dropzone:hover,.dropzone:focus-within{border-color:var(--accent)}.dropzone:focus-within{outline:2px solid var(--accent);outline-offset:2px}.dropzone input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.signin,.signup .signin-form,.offline-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:left;width:min(420px,100%);padding:20px}@media screen{.sheet-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}}.card>.list.journal{margin-top:0}.card>.list.journal li:first-child{padding-top:0}.card>.list.journal li:last-child{border-bottom:0;padding-bottom:0}.bell-wrap{flex-shrink:0;margin-left:auto;position:relative}.bell{border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.header-search{flex-shrink:0;margin-left:auto}.header-search+.bell-wrap{margin-left:0}.search-filters{margin:0 0 16px}.search-filters>summary{color:var(--text-muted);margin-bottom:10px;font-size:14px}.search-filters-actions{gap:8px;display:flex}.search-results{margin:0;padding:0;list-style:none}.search-results li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;display:flex}.search-results li>span{flex-shrink:0}.bell.open,.bell:hover{color:var(--text);background:var(--surface)}.bell .unread-badge{box-shadow:0 0 0 2px var(--bg);margin:0;position:absolute;top:-5px;right:-7px}.bell-panel{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:360px;max-height:min(70dvh,560px);padding:8px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.bell-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:4px 8px 6px;font-size:13px;font-weight:650}.bell-empty{margin:8px}.bell-list{margin:0;padding:0;list-style:none}.bell-item{border-radius:var(--radius-sm);color:var(--text);grid-template-columns:32px minmax(0,1fr) 8px;align-items:center;gap:10px;padding:8px;font-size:14px;text-decoration:none;display:grid}.bell-item:hover{background:var(--bg)}.bell-item.unread{background:color-mix(in srgb, var(--accent) 7%, var(--surface));font-weight:550}.bell-text{gap:2px;display:grid}.bell-text .muted{font-weight:400}.bell-dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.bell-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:6px;padding:8px 8px 4px;display:flex}.bell-foot a{color:var(--accent-ink);margin-left:auto}@media (max-width:640px){.bell-panel{left:8px;right:8px;top:calc(env(safe-area-inset-top) + 60px);width:auto;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 150px);position:fixed}}[data-flash]{border-radius:var(--radius-sm);scroll-margin:90px 0}[data-flash].flash{animation:2.2s ease-out flash}@keyframes flash{0%,40%{background:color-mix(in srgb, var(--accent) 16%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent)}to{box-shadow:none;background:0 0}}@media (prefers-reduced-motion:reduce){[data-flash].flash{box-shadow:0 0 0 2px var(--accent);animation:none}}.block{min-width:0;margin-top:22px}.seance-main>.block,.seance-aside>.block,.home-aside>.block,.forme-head>.block,.forme-level>.block,.section>.block,.block:first-child{margin-top:0}.block-head,.week-head,.home-feed>.section-head,.list-title{justify-content:space-between;align-items:baseline;gap:4px 12px;min-height:20px;margin:0 0 8px;line-height:20px;display:flex}.block-head h2,.week-head h2,.home-feed>.section-head h2,.list-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:13px;font-weight:650;line-height:20px}.block-head a,.block-head .muted{font-size:13px;line-height:20px}.block-head .title-icon{gap:6px;display:inline-flex}.block>.race-list,.block>.gear-list,section>.list-title+.race-list{margin-top:0}.catalog-tools{margin-bottom:16px}.profile-name{font-size:17px}h2.list-title{margin:0 0 8px}.activity-top{align-items:center;gap:8px;display:flex}.activity-top>.activity-link{flex:1;min-width:0}.activity-feature .activity-top{margin-bottom:12px}.activity-feature .activity-top .activity-head{margin-bottom:0}.share-button{border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}@media (hover:hover){.share-button:hover{color:var(--text);background:var(--surface-2)}}.share-text{align-items:center;gap:6px;display:inline-flex}.seance-head-end{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.share-sheet{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(440px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text);padding:0}.share-sheet::backdrop{background:#0000008c}.share-body{padding:18px 20px calc(env(safe-area-inset-bottom) + 20px);gap:14px;display:grid}.share-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.share-top h2{margin:0;font-size:17px}.share-close{background:var(--surface-2);width:36px;height:36px;color:var(--text);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;font-size:22px;line-height:1;display:grid}.share-preview{--preview-h:min(42dvh, 320px);height:var(--preview-h);border-radius:var(--radius-sm);background:var(--surface-2);place-items:center;display:grid}.share-preview img{max-width:100%;max-height:calc(var(--preview-h) - 24px);border-radius:8px;box-shadow:0 6px 20px #00000040}.share-format{justify-self:center}.share-option{align-items:center;gap:8px;font-size:14px;display:flex}.share-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.share-actions .button{padding:12px 14px;font-size:14px}.share-actions .button:disabled{opacity:.5;cursor:default}.share-community{border-top:1px solid var(--border);justify-content:space-between;padding-top:12px}.share-community span{display:grid}.share-privacy{margin:0}@media (max-width:699px){.share-sheet{border-radius:var(--radius) var(--radius) 0 0;border-width:1px 0 0;width:100%;max-width:none;margin:auto 0 0}}.reperes-figures{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;display:grid}.planned-routes{margin:0;padding:0;list-style:none}.planned-routes li+li{border-top:1px solid var(--border)}.planned-routes li{align-items:center;display:flex}.planned-route-delete{border-radius:var(--radius-sm);height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:0 0 44px;margin-right:6px;font-size:22px}.planned-route-delete:hover{background:var(--surface-2);color:var(--text)}.planned-route{min-width:0;color:var(--text);flex:1;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.planned-route .track-preview{border-radius:var(--radius-sm);background:var(--surface-2);flex-shrink:0}.planned-route-text{gap:4px;min-width:0;display:grid}.route-sport{background:color-mix(in srgb, var(--series-1) 16%, transparent);color:color-mix(in srgb, var(--series-1) 55%, var(--text));border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.route-editor{--column-edge:max(0px, calc((100vw - 1120px) / 2));--tabbar-room:0px;z-index:1;position:fixed;inset:0;overflow:hidden}@media (max-width:640px){.route-editor{--tabbar-room:calc(env(safe-area-inset-bottom) + 64px)}}.route-actions a.button{text-decoration:none}.route-editor .route-editor-map{cursor:crosshair;position:absolute;inset:0}.route-editor .maplibregl-ctrl-top-right{top:calc(var(--header-h,64px) + 4px)}.route-editor .route-trails-toggle{color:#333;display:flex}.route-editor .route-trails-toggle[aria-pressed=true]{color:#33b5e5}.route-top{top:calc(var(--header-h,64px) + 12px);left:calc(var(--column-edge) + 12px);right:calc(var(--column-edge) + 56px);z-index:2;flex-wrap:wrap;gap:8px;display:flex;position:absolute}.route-back,.route-sports{background:var(--surface);box-shadow:0 6px 20px #0000001f}.route-back{border:1px solid var(--border);min-height:44px;color:var(--text);border-radius:999px;align-items:center;gap:2px;padding:0 14px 0 8px;font-size:14px;text-decoration:none;display:inline-flex}.route-sports{border:1px solid var(--border);min-height:44px;color:var(--text-muted);border-radius:999px;align-items:center;gap:4px;padding:0 6px 0 14px;font-size:14px;display:inline-flex}.route-sports select{min-height:40px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 8px;font-size:16px;font-weight:600}.route-hint,.route-toast{top:calc(var(--header-h,64px) + 72px);z-index:2;box-sizing:border-box;max-width:calc(100% - 24px);position:absolute;left:50%;transform:translate(-50%)}.route-hint{background:var(--text);color:var(--surface);white-space:nowrap;pointer-events:none;border-radius:999px;padding:10px 16px}.route-toast{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:flex-start;gap:10px;width:420px;padding:12px 12px 12px 14px;line-height:1.45;display:flex;box-shadow:0 6px 20px #0000002e}.route-toast span{flex:1}.route-point{border:2px solid var(--accent);background:var(--surface);width:26px;height:26px;color:var(--text);cursor:grab;touch-action:none;border-radius:50%;place-items:center;padding:0;font:700 12px/1 system-ui,sans-serif;display:grid;box-shadow:0 1px 4px #00000059}.route-point:after{content:"";position:absolute;inset:-9px}.route-point.start{border-color:var(--surface);background:var(--ok);color:#fff}.route-point.end{border-color:var(--surface);background:var(--text);color:var(--surface)}.route-point.selected{border:3px solid var(--surface);background:var(--accent);width:32px;height:32px;color:var(--accent-text)}.route-panel{left:var(--column-edge);right:var(--column-edge);bottom:var(--tabbar-room);z-index:2;padding:12px 16px calc(env(safe-area-inset-bottom) + 12px);border-top:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;background:var(--surface);position:absolute;box-shadow:0 -6px 20px #0000001a}@media (max-width:640px){.route-panel{padding-bottom:12px}}.route-summary{gap:10px;display:grid}.route-title{align-items:baseline;gap:8px;min-width:0;display:flex}.route-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.route-profile-wrap,.route-controls{gap:8px;min-width:0;display:grid}@media (min-width:960px){.route-summary{grid-template-columns:minmax(400px,460px) minmax(0,1fr) minmax(340px,380px);grid-template-areas:"title title title""stats profile controls";align-items:center;gap:8px 20px}.route-title{grid-area:title}.route-summary .route-stats{grid-area:stats}.route-profile-wrap{grid-area:profile}.route-controls{grid-area:controls}}.route-legend{color:var(--text-muted);flex-wrap:wrap;gap:2px 12px;margin:0;font-size:12px;display:flex}.route-legend span{align-items:center;gap:3px;display:inline-flex}.route-legend i{border-radius:2px;width:14px;height:4px;display:inline-block}.route-legend i.slope-down-2{background:var(--grade-down-2)}.route-legend i.slope-down-1{background:var(--grade-down-1)}.route-legend i.slope-flat{background:var(--route)}.route-legend i.slope-up-1{background:var(--grade-up-1)}.route-legend i.slope-up-2{background:var(--grade-up-2)}.route-profile polyline.slope-down-2{stroke:var(--grade-down-2)}.route-profile polyline.slope-down-1{stroke:var(--grade-down-1)}.route-profile polyline.slope-up-1{stroke:var(--grade-up-1)}.route-profile polyline.slope-up-2{stroke:var(--grade-up-2)}.route-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.route-stats .tile{border-radius:var(--radius-sm);background:var(--surface-2);border:0;padding:10px 12px}.route-stats .tile-value{font-variant-numeric:tabular-nums;font-size:20px}.route-profile{border-radius:var(--radius-sm);background:var(--surface-2);place-items:center;height:64px;font-size:13px;display:grid;position:relative;overflow:hidden}.route-profile svg{width:100%;height:100%;position:absolute;inset:0}.route-profile polygon{fill:color-mix(in srgb, var(--route) 16%, transparent)}.route-profile polyline{fill:none;stroke:var(--route);stroke-width:2px}.route-profile-max,.route-profile-min{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:10.5px;position:absolute;left:8px}.route-profile-max{top:4px}.route-profile-min{bottom:4px}.route-tools{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.route-tools .button{justify-content:center;align-items:center;gap:5px;min-height:44px;padding:0 4px;font-size:13px;display:flex}.route-actions{flex-wrap:wrap;gap:8px;display:flex}.route-actions .button{flex:140px;justify-content:center;align-items:center;gap:6px;min-height:48px;display:inline-flex}.route-point-panel{gap:12px;display:grid}.route-point-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.route-point-head p{margin:2px 0 0}.route-straight{border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer;align-items:flex-start;gap:12px;padding:12px;display:flex}.route-straight input{flex-shrink:0;width:20px;height:20px;margin:0}.route-straight>span{gap:2px;display:grid}.route-point-actions{flex-wrap:wrap;gap:8px;display:flex}.route-point-actions .button{min-height:44px}.route-point-actions .danger{color:var(--ko-ink)}.route-name input{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);height:44px;color:var(--text);font:inherit;border-radius:10px;padding:8px 10px;font-size:16px}main .planned-routes-new{margin:16px 0 24px}.planned-routes-new a.button{text-decoration:none;display:inline-block}@media (max-width:640px){.route-profile{height:52px}}.route-stats-line{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;display:none}@media (max-width:640px){.route-panel{padding:10px 12px}.route-summary{gap:8px}.route-title{flex-wrap:wrap;gap:0 8px}.route-stats-line{display:inline}.route-summary .route-stats{display:none}.route-profile{height:44px}.route-legend{gap:0 8px;font-size:11px}.route-controls{align-items:center;gap:6px;display:flex}.route-tools{gap:4px;display:flex}.route-tools .button,.route-actions a.button{flex:0 0 44px;width:44px;padding:0}.route-actions{flex-wrap:nowrap;flex:1;gap:6px}.route-actions .button{min-height:44px}.route-actions button.button{flex:auto}.route-actions button.route-gpx{flex:0 0 44px;width:44px;padding:0}.route-tools .route-label,.route-actions .route-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.route-editor{--tabbar-room:0px;bottom:var(--tabbar-h,64px)}}.route-estimate .tile-hint{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:11px;line-height:1.3;display:-webkit-box;overflow:hidden}@media (max-width:640px){.route-actions .route-race,.route-actions .route-garmin{display:none}}.route-name select{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);height:44px;color:var(--text);font:inherit;border-radius:10px;padding:0 10px;font-size:16px}.route-done{color:var(--accent-ink);white-space:nowrap;font-size:13px}.club-members li>details[open]{flex-basis:100%}.club-leave{margin-top:12px}.club-leave[open] .button{margin:6px 0}.plan-skip{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.plan-skip input{flex:12rem;min-width:0}.coach-plan{gap:8px;margin:0;padding:0;list-style:none;display:grid}.coach-plan>li{border-bottom:1px solid var(--border);padding:10px 0;font-size:14px}.coach-plan>li[aria-current=true]{box-shadow:inset 3px 0 0 var(--accent);padding-left:10px}.session-thread{border-top:1px solid var(--border);gap:8px;margin-top:12px;padding-top:10px;display:grid}.thread-messages{gap:8px;margin:0;padding:0;list-style:none;display:grid}.thread-messages>li{background:var(--surface-2);border-radius:10px;padding:8px 10px;font-size:14px}.thread-messages>li.mine{box-shadow:inset 3px 0 0 var(--accent)}.thread-messages p{white-space:pre-wrap;margin:4px 0}.thread-form{flex-wrap:wrap;align-items:flex-end;gap:6px;display:flex}.thread-form textarea{flex:16rem;min-width:0}.plan-review{font-size:13px;font-weight:600}.review-ok{color:var(--ok-ink)}.review-to_adjust{color:var(--warn-ink)}.coach-review{margin-bottom:12px}.invitation-link{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.coach-others{margin-top:8px}.threshold-proposal p{margin:0}.threshold-proposal ul{margin:6px 0;padding-left:18px}.threshold-proposal .row-actions{margin-top:8px}.threshold-first{margin:10px 0 0}@media (min-width:960px){#seuil .vo2-grid{grid-template-columns:1fr 1fr}}.paywall{border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface);justify-items:start;gap:12px;margin:16px 0;padding:16px;display:grid}.paywall p,.paywall h2{margin:0}.paywall h2{font-size:16px}.paywall-blurred{filter:blur(4px);-webkit-user-select:none;user-select:none}.history-locked{opacity:.5}.offer-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:16px 0;display:grid}.offer-card.current{border-color:var(--accent)}.offer-card h2{margin:0}.offer-price{font-size:20px;font-weight:600}.offer-features{gap:4px;margin:8px 0 0;padding-left:18px;display:grid}.public{max-width:1120px;padding:calc(env(safe-area-inset-top) + 16px) clamp(16px, 3vw, 32px) calc(env(safe-area-inset-bottom) + 24px);margin:0 auto}.public>main{max-width:none;margin:0;padding:0}.public-bar{justify-content:space-between;align-items:center;gap:16px;min-height:48px;display:flex}.public-name{letter-spacing:-.02em;font-size:22px;font-weight:800;text-decoration:none}.public-links{align-items:center;gap:20px;font-size:15px;display:flex}.public-links a:not(.button){text-decoration:none}.public-links .button{padding:10px 16px;text-decoration:none}.public-foot{grid-template-columns:1fr auto 1fr;align-items:end;gap:16px 24px;margin-top:160px;font-size:14px;display:grid}.public-foot p{margin:0}.public-foot p:last-child{text-align:right}.public-foot nav{flex-wrap:wrap;justify-content:center;gap:8px 24px;display:flex}.landing h2{letter-spacing:-.02em;margin:0 0 16px;font-size:clamp(26px,3vw,36px);line-height:1.1}.landing p,.landing dd{font-size:17px;line-height:1.55}.landing>section+section{margin-top:clamp(96px,12vw,160px)}.landing-hero{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:48px;min-height:min(78svh,760px);padding-top:32px;display:grid}.landing-hero h1{letter-spacing:-.04em;max-width:11ch;margin:0 0 24px;font-size:clamp(42px,6.4vw,84px);line-height:.98;animation:.9s cubic-bezier(.16,1,.3,1) both landing-rise}.landing .landing-lead{max-width:44ch;margin:0 0 32px;font-size:20px;animation:.9s cubic-bezier(.16,1,.3,1) .11s both landing-rise}.landing-actions{flex-wrap:wrap;align-items:center;gap:12px 20px;margin:0;display:flex}.landing-actions .button{padding:14px 24px;font-size:17px;text-decoration:none}@keyframes landing-rise{0%{opacity:0;transform:translateY(24px)}}.landing-signin h2{margin-bottom:12px;font-size:20px}.landing-signin .signin{width:100%;margin:0;padding:24px}.landing-signin .signin-or{margin:4px 0}.landing-demo{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:48px;display:grid}.landing-demo p{max-width:40ch;margin:0}.form-demo{padding:24px}.form-demo h3{margin:20px 0 8px;font-size:16px}.form-demo-weeks{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.form-demo-weeks legend{color:var(--text-muted);margin-bottom:8px;padding:0;font-size:14px}.form-demo-weeks label{cursor:pointer;font-size:14px}.form-demo-weeks .pill.active{background:var(--text);border-color:var(--text);color:var(--bg)}.form-demo-weeks .pill.active .muted{color:inherit}.form-demo-weeks input{opacity:0;pointer-events:none;position:absolute}.form-demo-weeks label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.landing-does dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 64px;margin:32px 0 0;display:grid}.landing-does dt{margin-bottom:6px;font-size:19px;font-weight:650}.landing-does dd{max-width:46ch;margin:0}.landing-offers{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:48px;display:grid}.landing-offers p{max-width:40ch;margin:0 0 12px}.offers-public h1{letter-spacing:-.03em;margin:48px 0 16px;font-size:clamp(36px,5vw,64px)}.offers-intro{max-width:60ch;margin:0 0 32px}.offer-card{flex-direction:column;display:flex}.offer-card .offer-price{margin:12px 0 4px}.offer-card .pill{align-self:flex-start}.offer-card .offer-start{align-self:flex-start;margin-top:auto;text-decoration:none}.offer-card .offer-features{margin-bottom:20px}.landing-offers ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.landing-offers li{background:var(--surface);border-radius:var(--radius-sm);grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:20px 24px;display:grid}.landing-offers li strong{font-size:22px}.landing-price{font-variant-numeric:tabular-nums;text-align:right;font-size:22px;font-weight:700}.landing-offers li .muted{grid-column:1/-1;font-size:16px}.landing-end{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.landing-end h2{max-width:21ch;margin:0;font-size:clamp(30px,4.4vw,56px)}.landing-end .button{padding:16px 28px;font-size:18px;text-decoration:none}@media (max-width:860px){.landing-hero,.landing-demo,.landing-offers{grid-template-columns:minmax(0,1fr);gap:32px}.landing-hero{min-height:0;padding-top:24px}.landing-does dl{grid-template-columns:minmax(0,1fr);gap:28px}.public-foot{grid-template-columns:minmax(0,1fr);margin-top:96px}.public-foot nav{justify-content:flex-start}.public-foot p:last-child{text-align:left}}@media (max-width:480px){.public-links{gap:14px}.public-links a[href=\/offres]{display:none}.landing .landing-lead{font-size:18px}}.legal{max-width:72ch}.legal h1{letter-spacing:-.03em;margin:48px 0 8px;font-size:clamp(34px,4.6vw,56px);line-height:1.05}.legal h2{letter-spacing:-.01em;margin:40px 0 10px;font-size:22px}.legal p,.legal li{font-size:17px;line-height:1.6}.legal ul{gap:8px;padding-left:20px;display:grid}.todo{background:color-mix(in srgb, var(--warn) 22%, transparent);color:var(--text);border-radius:4px;padding:0 3px}.health-consent{max-width:560px;margin:0 auto}.health-consent p{margin:0}.health-consent-other{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}
