:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--fond:#fcfcfb;--carte:#fff;--carte-2:#f2f2ef;--bord:#d9d8d2;--texte:#0b0b0b;--texte-2:#3d3c39;--texte-3:#62615c;--accent:#1f62b3;--accent-texte:#fff;--ok:#0f7a33;--vigilance:#8a5a00;--alerte:#b42318;--ok-fond:#e5f4ea;--vigilance-fond:#fdf1d8;--alerte-fond:#fde7e5;--famille-longue:#2a78d6;--famille-intensite:#eb6834;--famille-endurance:#1baf7a;--famille-cotes:#eda100;--famille-renfo:#e87ba4;--famille-velo:#008300;--famille-course:#6250d6;--famille-descente:#e34948;--famille-autre:#8d8c86;--rayon:14px;--ombre:0 1px 2px #0000000f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--fond:#121211;--carte:#1a1a19;--carte-2:#242422;--bord:#3a3936;--texte:#f4f3ef;--texte-2:#d6d5ce;--texte-3:#a9a8a0;--accent:#5a9ff0;--accent-texte:#0b0b0b;--ok:#4cc472;--vigilance:#f0b43c;--alerte:#ff7b70;--ok-fond:#12301c;--vigilance-fond:#3a2c0c;--alerte-fond:#3d1714;--famille-longue:#3987e5;--famille-intensite:#d95926;--famille-endurance:#199e70;--famille-cotes:#c98500;--famille-renfo:#d55181;--famille-velo:#008300;--famille-course:#9085e9;--famille-descente:#e66767;--famille-autre:#8d8c86;--ombre:none}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--fond:#121211;--carte:#1a1a19;--carte-2:#242422;--bord:#3a3936;--texte:#f4f3ef;--texte-2:#d6d5ce;--texte-3:#a9a8a0;--accent:#5a9ff0;--accent-texte:#0b0b0b;--ok:#4cc472;--vigilance:#f0b43c;--alerte:#ff7b70;--ok-fond:#12301c;--vigilance-fond:#3a2c0c;--alerte-fond:#3d1714;--famille-longue:#3987e5;--famille-intensite:#d95926;--famille-endurance:#199e70;--famille-cotes:#c98500;--famille-renfo:#d55181;--famille-velo:#008300;--famille-course:#9085e9;--famille-descente:#e66767;--famille-autre:#8d8c86;--ombre:none}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--fond);color:var(--texte);font-variant-numeric:tabular-nums;margin:0;font:17px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:.4rem 0}.app{flex-direction:column;min-height:100dvh;display:flex}.contenu{width:100%;max-width:720px;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 96px);flex-direction:column;flex:1;gap:14px;margin:0 auto;display:flex}.onglets{background:var(--carte);border-top:1px solid var(--bord);padding-bottom:env(safe-area-inset-bottom);z-index:10;grid-template-columns:repeat(6,1fr);display:grid;position:fixed;inset:auto 0 0}.onglets button{color:var(--texte-3);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;min-height:56px;padding:8px 2px 10px;font-size:.72rem;display:flex}.onglets button svg{width:24px;height:24px}.onglets button[aria-current=page]{color:var(--accent);font-weight:700}.carte{background:var(--carte);border:1px solid var(--bord);border-radius:var(--rayon);box-shadow:var(--ombre);padding:14px 16px}.carte>h2{margin-bottom:8px}.ligne{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.entre{justify-content:space-between;align-items:center;gap:10px;display:flex}.pile{flex-direction:column;gap:10px;display:flex}.discret{color:var(--texte-3);font-size:.9rem}.petit{font-size:.85rem}.vide{color:var(--texte-3);text-align:center;padding:16px 0}.chiffres{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.chiffre{background:var(--carte-2);border-radius:10px;padding:10px 12px}.chiffre .valeur{letter-spacing:-.01em;font-size:1.9rem;font-weight:800;line-height:1.1}.chiffre .unite{color:var(--texte-2);margin-left:2px;font-size:1rem;font-weight:600}.chiffre .libelle{color:var(--texte-3);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.chiffre .sur{color:var(--texte-2);font-size:.9rem}.boutons{flex-wrap:wrap;gap:8px;display:flex}.bouton{border:1px solid var(--bord);background:var(--carte-2);cursor:pointer;border-radius:10px;min-height:44px;padding:10px 14px;font-weight:600}.bouton.principal{background:var(--accent);color:var(--accent-texte);border-color:var(--accent)}.bouton.danger{color:var(--alerte)}.bouton:disabled{opacity:.55;cursor:default}.bouton.petit{min-height:36px;padding:6px 10px}.lien-bouton{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:4px;font-weight:600}.champ{flex-direction:column;gap:4px;display:flex}.champ>span{color:var(--texte-2);font-size:.85rem;font-weight:600}input[type=text],input[type=email],input[type=password],input[type=time],input[type=number],select,textarea{border:1px solid var(--bord);background:var(--carte);border-radius:10px;width:100%;min-height:44px;padding:10px 12px}textarea{resize:vertical;min-height:80px}input[type=range]{width:100%;accent-color:var(--accent)}.case{align-items:flex-start;gap:10px;padding:6px 0;display:flex}.case input{width:22px;height:22px;accent-color:var(--accent);margin-top:2px}.message{border-radius:10px;padding:10px 12px;font-size:.95rem}.message.erreur{background:var(--alerte-fond);color:var(--alerte)}.message.info{background:var(--carte-2);color:var(--texte-2)}.message.vigilance{background:var(--vigilance-fond);color:var(--vigilance)}.message.ok{background:var(--ok-fond);color:var(--ok)}.pastille{background:var(--carte-2);color:var(--texte-2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.pastille.realisee{background:var(--ok-fond);color:var(--ok)}.pastille.manquee,.pastille.alerte{background:var(--alerte-fond);color:var(--alerte)}.pastille.vigilance{background:var(--vigilance-fond);color:var(--vigilance)}.pastille.aujourdhui{background:var(--accent);color:var(--accent-texte)}.pastille.annulee{text-decoration:line-through}.famille{color:var(--texte-2);align-items:center;gap:6px;font-size:.8rem;font-weight:700;display:inline-flex}.famille:before{content:"";background:var(--couleur);border-radius:3px;width:10px;height:10px}.seance{background:var(--carte);border:1px solid var(--bord);text-align:left;cursor:pointer;border-radius:12px;align-items:stretch;gap:12px;width:100%;padding:10px 12px;display:flex}.seance .barre{background:var(--couleur);border-radius:3px;flex:none;width:6px}.seance .corps{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.seance .titre{font-weight:700}.seance .mesures{font-size:1.15rem;font-weight:800}.seance.annulee{opacity:.55}.jour{flex-direction:column;gap:8px;display:flex}.jour>h3{color:var(--texte-2);font-size:.95rem}.jour>h3:first-letter{text-transform:uppercase}.jour.aujourdhui>h3{color:var(--accent)}.balayable{border-radius:10px;position:relative;overflow:hidden}.balayable:before{content:attr(data-libelle);background:var(--ok-fond);color:var(--ok);align-items:center;padding-left:16px;font-weight:700;display:flex;position:absolute;inset:0}.balayable-contenu{touch-action:pan-y;-webkit-user-select:none;user-select:none;position:relative}.balayable-contenu.relache{transition:transform .18s ease-out,opacity .18s ease-out}.calendrier{flex-direction:column;gap:4px;display:flex}.calendrier-rangee{grid-template-columns:34px repeat(7,minmax(0,1fr));gap:3px;display:grid}.calendrier-jour{color:var(--texte-3);border-radius:8px;flex-direction:column;align-items:center;padding:2px 0;font-size:.72rem;line-height:1.15;display:flex}.calendrier-jour strong{color:var(--texte);font-size:1rem}.calendrier-jour.aujourdhui{background:var(--accent);color:var(--accent-texte)}.calendrier-jour.aujourdhui strong{color:var(--accent-texte)}.calendrier-creneau{color:var(--texte-3);writing-mode:vertical-rl;text-align:center;align-self:center;font-size:.68rem;transform:rotate(180deg)}.calendrier-case{background:var(--carte-2);border-radius:8px;flex-direction:column;gap:2px;min-height:52px;padding:2px;display:flex}.calendrier-case.aujourdhui{outline:2px solid var(--accent);outline-offset:-1px}.tuile{cursor:pointer;border:0;border-top:4px solid var(--couleur);background:color-mix(in srgb, var(--couleur) 28%, var(--carte));width:100%;min-height:40px;color:var(--texte);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:2px 1px;font-size:.72rem;font-weight:700;line-height:1.1;display:flex}.tuile.realisee{background:color-mix(in srgb, var(--couleur) 55%, var(--carte))}.tuile.manquee{background:var(--carte);border:1px dashed var(--couleur);color:var(--texte-3);border-top-style:solid;border-top-width:4px}.tuile.annulee{opacity:.5;text-decoration:line-through}.tuile.hors-plan{border-top-style:dotted}.tuile-duree{white-space:nowrap}.bascule{border:1px solid var(--bord);border-radius:10px;display:inline-flex;overflow:hidden}.bascule button{background:var(--carte);cursor:pointer;min-height:36px;color:var(--texte-2);border:0;padding:6px 10px;font-size:.85rem;font-weight:600}.bascule button[aria-pressed=true]{background:var(--accent);color:var(--accent-texte)}.voile{z-index:20;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.feuille{background:var(--fond);width:100%;max-width:720px;max-height:92dvh;padding:16px 16px calc(env(safe-area-inset-bottom) + 24px);border-radius:18px 18px 0 0;flex-direction:column;gap:12px;display:flex;overflow-y:auto}.bloc{border-left:4px solid var(--couleur,var(--bord));padding:4px 0 4px 12px}.bloc h3{text-transform:uppercase;letter-spacing:.04em;color:var(--texte-3);font-size:.85rem}.bloc ul{margin:4px 0 0;padding-left:18px}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--bord);padding:6px 4px}th{color:var(--texte-3);text-transform:uppercase;font-size:.8rem;font-weight:600}td.n,th.n{text-align:right}.defile td,.defile th{white-space:nowrap}.defile{overflow-x:auto}.frise{align-items:stretch;gap:2px;height:44px;display:flex}.frise>div{background:var(--couleur);border-radius:4px;flex:1;min-width:6px;position:relative}.frise>div.en-cours{outline:3px solid var(--texte);outline-offset:1px}.legende{color:var(--texte-2);flex-wrap:wrap;gap:6px 14px;font-size:.85rem;display:flex}.legende span{align-items:center;gap:6px;display:inline-flex}.legende span:before{content:"";background:var(--couleur);border-radius:3px;width:12px;height:12px}.graphique svg{width:100%;height:auto;display:block;overflow:visible}.graphique .axe{stroke:var(--bord);stroke-width:1px}.graphique .etiquette{fill:var(--texte-3);font-size:11px}.graphique .valeur{fill:var(--texte);font-size:12px;font-weight:700}.bulle{color:var(--texte-2);min-height:1.4em;font-size:.9rem}.chat{flex-direction:column;gap:10px;display:flex}.bulle-chat{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px;max-width:88%;padding:10px 14px}.bulle-chat.user{background:var(--accent);color:var(--accent-texte);border-bottom-right-radius:4px;align-self:flex-end}.bulle-chat.assistant{background:var(--carte);border:1px solid var(--bord);border-bottom-left-radius:4px;align-self:flex-start}.saisie-chat{bottom:calc(env(safe-area-inset-bottom) + 64px);background:var(--fond);gap:8px;padding:8px 0;display:flex;position:sticky}.saisie-chat textarea{min-height:48px;max-height:140px}.rapides{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.rapides .bouton{white-space:nowrap}.proposition{border:1px solid var(--bord);background:var(--carte-2);border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.connexion{flex-direction:column;gap:14px;max-width:420px;margin:12vh auto 0;padding:0 16px;display:flex}.marque{letter-spacing:-.02em;font-size:1.8rem;font-weight:800}.marque span{color:var(--accent)}@media (width>=760px){.onglets{top:0;border-top:0;border-bottom:1px solid var(--bord);position:sticky;inset:0 0 auto}.onglets button{flex-direction:row;justify-content:center;gap:8px;font-size:.95rem}.contenu{padding-bottom:40px}.saisie-chat{bottom:0}}@media (forced-colors:active){.seance .barre,.famille:before,.legende span:before,.frise>div,.tuile{forced-color-adjust:none}}.bouton.micro{flex:none;justify-content:center;align-items:center;min-width:48px;padding:0 12px;display:inline-flex}.bouton.micro.ecoute{background:var(--alerte-fond);border-color:var(--alerte);color:var(--alerte);animation:1.2s ease-in-out infinite micro-ecoute}@keyframes micro-ecoute{50%{opacity:.7}}@media (prefers-reduced-motion:reduce){.bouton.micro.ecoute{animation:none}}.zone-dictee{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.zone-dictee textarea{flex:200px}.grille-champs{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}
