@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/big-shoulders-display-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/big-shoulders-display-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/fonts/big-shoulders-display-latin-800-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/fonts/big-shoulders-display-latin-ext-800-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:900;src:url(/fonts/big-shoulders-display-latin-900-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:900;src:url(/fonts/big-shoulders-display-latin-ext-900-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/geist-sans-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/geist-sans-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/geist-sans-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/geist-sans-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/geist-mono-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/geist-mono-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/geist-mono-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/geist-mono-latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/geist-mono-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/geist-mono-latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg:#0c0d0f;--surface-1:#15171a;--surface-2:#1d2024;--surface-3:#272b30;--surface-3-press:#30353b;--line:#2e3238;--line-soft:#22252a;--text:#f2efea;--text-2:#a7a9ad;--text-3:#6e7277;--text-inverse:#0c0d0f;--accent:#d8302a;--accent-hover:#e8443d;--accent-ink:#fff;--success:#3dbe7a;--success-strong:#1e7a4b;--success-bg:#17301f;--pending:#8fa3bf;--warning:#e0a84a;--warning-bg:#2a2418;--warning-line:#5a4a2a;--danger:#ff5a4e;--ghost-line:#3a3f46;--type-boxe:#d8302a;--type-sparring:#f07a3a;--type-jambes:#4fb3a6;--type-explo:#e4c34a;--type-haut:#8a9cf0;--type-recup:#9aa0a6;--rpe-1:#2a2f35;--rpe-1-ink:#a7a9ad;--rpe-2:#2f353c;--rpe-2-ink:#a7a9ad;--rpe-3:#353c44;--rpe-3-ink:#c9cbce;--rpe-4:#3c454f;--rpe-4-ink:#dadcde;--rpe-5:#46515d;--rpe-5-ink:#f2efea;--rpe-6:#b98a2e;--rpe-6-ink:#0c0d0f;--rpe-7:#e0a84a;--rpe-7-ink:#0c0d0f;--rpe-8:#f07a3a;--rpe-8-ink:#0c0d0f;--rpe-9:#e8503a;--rpe-9-ink:#fff;--rpe-10:#d8302a;--rpe-10-ink:#fff;--font-display:"Big Shoulders Display", "Barlow Condensed", sans-serif;--font-ui:"Geist", system-ui, sans-serif;--font-data:"Geist Mono", ui-monospace, monospace;--fs-display:64px;--lh-display:.9;--fs-h1:40px;--lh-h1:1;--fs-h2:28px;--lh-h2:1;--fs-h3:18px;--lh-h3:1.3;--fs-body:16px;--lh-body:1.5;--fs-small:14px;--fs-label:13px;--ls-label:.08em;--fs-caption:13px;--fs-data-xl:56px;--fs-data-l:28px;--fs-data-m:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-14:56px;--space-18:72px;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--tap-min:44px;--tap-std:56px;--tap-gym:72px;--btn-primary-h:64px;--shadow-sheet:0 -8px 32px #00000080;--dur-instant:80ms;--dur-fast:.16s;--dur-std:.24s;--dur-emph:.42s;--ease-out:cubic-bezier(.2,.8,.2,1);--ease-punch:cubic-bezier(.3,1.4,.5,1);--tabbar-h:72px;--sidebar-w:240px;--content-max:1280px}[data-theme=light]{--bg:#f4f2ee;--surface-1:#fff;--surface-2:#ece9e4;--surface-3:#dedad3;--surface-3-press:#d3cec6;--line:#d3cec6;--line-soft:#e4e0da;--text:#111214;--text-2:#4a4d52;--text-3:#6a6d72;--text-inverse:#fff;--accent:#c42620;--accent-hover:#a81f1a;--success:#1e8a55;--success-bg:#e2f2e9;--pending:#4f6685;--warning:#9a6a12;--warning-bg:#f6ebd6;--warning-line:#e2c993;--ghost-line:#bdb7ae}@media (prefers-reduced-motion:reduce){:root{--dur-std:.12s;--dur-emph:.12s;--ease-punch:var(--ease-out)}}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0}.num{font-family:var(--font-data);font-variant-numeric:tabular-nums}.display{font-family:var(--font-display);text-transform:uppercase;line-height:var(--lh-h1)}a{color:var(--text);text-underline-offset:3px}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:var(--bg)}body{font-size:var(--fs-body);line-height:var(--lh-body);overscroll-behavior-y:none;min-height:100dvh}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}input,textarea,select{font:inherit;color:var(--text);font-size:16px}img,video,svg{max-width:100%;display:block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.display{font-family:var(--font-display);text-transform:uppercase;font-weight:900;line-height:var(--lh-h1);letter-spacing:0}.h1{font-family:var(--font-display);font-weight:900;font-size:var(--fs-h1);line-height:var(--lh-h1);text-transform:uppercase}.h2{font-family:var(--font-display);font-weight:800;font-size:var(--fs-h2);line-height:var(--lh-h2);text-transform:uppercase}.h3{font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:600}.label{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-2);font-weight:600}.caption{font-size:var(--fs-caption);color:var(--text-3)}.muted{color:var(--text-2)}.num,.mono{font-family:var(--font-data);font-variant-numeric:tabular-nums}.card{background:var(--surface-1);border-radius:var(--radius-lg);padding:var(--space-4)}.card-2{background:var(--surface-2);border-radius:var(--radius-md);padding:var(--space-3)}.stack{gap:var(--space-3);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-3);display:flex}.spread{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 var(--space-4);border-radius:var(--radius-sm);transition:transform var(--dur-instant) var(--ease-out), background var(--dur-fast) var(--ease-out);-webkit-user-select:none;user-select:none;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;pointer-events:none}.btn-primary{background:var(--accent);color:var(--accent-ink);font-weight:700}.btn-primary:hover{background:var(--accent-hover);color:var(--accent-ink)}.btn-light{background:var(--text);color:var(--text-inverse);font-weight:700}.btn-light:hover{color:var(--text-inverse)}.btn-secondary{background:var(--surface-3);color:var(--text)}.btn-secondary:active{background:var(--surface-3-press)}.btn-outline{border:1px solid var(--line);color:var(--text-2)}.btn-danger{border:1px solid var(--line);color:var(--danger)}.btn-block{width:100%}.btn-lg{min-height:var(--btn-primary-h);border-radius:var(--radius-md);font-size:17px;font-weight:700}.btn-icon{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-sm);background:var(--surface-2);padding:0}.field{gap:var(--space-2);flex-direction:column;display:flex}.input{width:100%;min-height:var(--tap-std);padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-2);outline:none}textarea.input{padding:var(--space-3) var(--space-4);resize:vertical;min-height:120px;line-height:1.45}.input:focus{border-color:var(--text-2)}.input::placeholder{color:var(--text-3)}.tag{background:var(--surface-2);height:28px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-2);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.dot{border-radius:2px;flex-shrink:0;width:8px;height:8px}.chip{border-radius:var(--radius-pill);border:1px solid var(--line);height:36px;color:var(--text);white-space:nowrap;align-items:center;gap:6px;padding:0 14px;font-size:14px;display:inline-flex}.chip[aria-pressed=true]{background:var(--surface-3);border-color:#0000;font-weight:600}.chips{gap:var(--space-2);scrollbar-width:none;margin:0 calc(-1 * var(--space-4));padding:0 var(--space-4);display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}[data-type=boxe]{--type:var(--type-boxe)}[data-type=sparring]{--type:var(--type-sparring)}[data-type=jambes]{--type:var(--type-jambes)}[data-type=explo]{--type:var(--type-explo)}[data-type=haut]{--type:var(--type-haut)}[data-type=recup]{--type:var(--type-recup)}.rpe{border-radius:var(--radius-xs);min-width:26px;height:26px;font-family:var(--font-data);font-variant-numeric:tabular-nums;background:var(--rpe-bg);color:var(--rpe-ink);justify-content:center;align-items:center;padding:0 8px;font-size:13px;font-weight:700;display:inline-flex}[data-rpe="1"]{--rpe-bg:var(--rpe-1);--rpe-ink:var(--rpe-1-ink)}[data-rpe="2"]{--rpe-bg:var(--rpe-2);--rpe-ink:var(--rpe-2-ink)}[data-rpe="3"]{--rpe-bg:var(--rpe-3);--rpe-ink:var(--rpe-3-ink)}[data-rpe="4"]{--rpe-bg:var(--rpe-4);--rpe-ink:var(--rpe-4-ink)}[data-rpe="5"]{--rpe-bg:var(--rpe-5);--rpe-ink:var(--rpe-5-ink)}[data-rpe="6"]{--rpe-bg:var(--rpe-6);--rpe-ink:var(--rpe-6-ink)}[data-rpe="7"]{--rpe-bg:var(--rpe-7);--rpe-ink:var(--rpe-7-ink)}[data-rpe="8"]{--rpe-bg:var(--rpe-8);--rpe-ink:var(--rpe-8-ink)}[data-rpe="9"]{--rpe-bg:var(--rpe-9);--rpe-ink:var(--rpe-9-ink)}[data-rpe="10"]{--rpe-bg:var(--rpe-10);--rpe-ink:var(--rpe-10-ink)}.list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.list-row{align-items:center;gap:var(--space-3);min-height:48px;padding:0 var(--space-4);background:var(--surface-1);border-radius:var(--radius-md);color:var(--text);text-decoration:none;display:flex}.sheet-backdrop{z-index:50;background:#00000080;position:fixed;inset:0}.sheet{z-index:51;background:var(--surface-1);border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:88dvh;box-shadow:var(--shadow-sheet);padding:var(--space-3) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom));gap:var(--space-4);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sheet-grip{background:var(--line);width:40px;height:4px;margin:0 auto var(--space-1);border-radius:2px}@media (width>=1024px){.sheet{border-radius:var(--radius-xl);width:min(520px,92vw);padding-bottom:var(--space-6);bottom:50%;left:50%;right:auto;transform:translate(-50%,50%)}}.toast{left:var(--space-4);right:var(--space-4);bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--space-3));z-index:60;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:52px;padding:0 var(--space-2) 0 var(--space-4);background:var(--surface-3);border-radius:var(--radius-md);font-size:15px;display:flex;position:fixed}.empty{padding:var(--space-8) var(--space-4);text-align:center;color:var(--text-2);background:var(--surface-1);border-radius:var(--radius-lg)}.error-text{color:var(--danger);font-size:14px}.ok-text{color:var(--success);font-size:14px}a.plain{color:inherit;text-decoration:none}a.plain:hover{color:inherit}
