/* Accueil partagé, 04/10/2026. */
 .desk-home{max-width:1120px;margin:auto;padding:44px var(--desk-pad) 48px}
 .desk-heading{margin-bottom:28px}.desk-heading p{color:var(--lab-muted);font-size:13px;margin:0 0 10px}.desk-heading h1{font:700 clamp(30px,2.6vw,40px)/1.15 Baloo2,sans-serif;letter-spacing:-.02em;margin:0;color:#fff}
 .desk-feature{display:grid;grid-template-columns:56% 44%;border:1px solid #9DB6FB2E;background:#2B365D;border-radius:24px;overflow:hidden;align-items:stretch}
 .desk-feature-copy{padding:36px;display:flex;align-items:flex-start;flex-direction:column;min-width:0}.desk-chip{font-size:12px;line-height:1.5;color:var(--lab-gold);margin-bottom:14px}.desk-feature h2{font:700 clamp(26px,2.4vw,34px)/1.15 Baloo2,sans-serif;margin:0 0 16px;max-width:18ch}.desk-feature p{color:#D6DFF5;font-size:15px;line-height:1.65;margin:0 0 20px;max-width:38ch}.desk-feature .desk-session-facts{font-size:13px;margin:0 0 24px;color:#E1E8FF}.desk-feature .certoly-start-button{width:auto!important;min-width:230px}.desk-feature>img{width:100%;height:100%;min-height:320px;object-fit:contain;image-rendering:pixelated}.desk-plan-context{padding:14px 0 0;min-height:44px;background:none;border:0;color:#D9CBF1;font-size:12px}
 .desk-alternatives{margin-top:32px}.desk-modes{border-bottom:1px solid #A3C4FF25}.desk-modes>summary,.desk-path{display:flex;align-items:center;gap:16px;padding:22px 4px;list-style:none;width:100%;text-align:left;background:none;border:0;color:var(--lab-text);cursor:pointer}.desk-modes>summary::-webkit-details-marker{display:none}.desk-modes>summary>img,.desk-path>img{width:32px;height:32px;object-fit:contain;image-rendering:pixelated}.desk-modes>summary strong,.desk-path strong{font:700 20px/1.3 Baloo2,sans-serif;display:block}.desk-modes>summary small,.desk-path small{display:block;font-size:13px;line-height:1.5;color:var(--lab-muted);margin-top:3px}.desk-modes>summary>b,.desk-path>b{font-size:24px;font-weight:400;color:#A3C4FF;margin-left:auto;padding:0 8px}.desk-modes[open]>summary>b{transform:rotate(45deg)}.desk-modes>summary:hover,.desk-path:hover{color:#D1DDFF}.desk-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px;padding:8px 0 28px}
 .desk-mode{display:grid;grid-template-columns:1fr 20px;text-align:left;padding:0;border:0;background:none;color:var(--lab-text);min-width:0}.desk-mode>img{grid-column:1/-1;width:100%;aspect-ratio:1.5;object-fit:contain;border-radius:14px;image-rendering:pixelated;border:1px solid #fff1}.desk-mode>span{min-width:0;padding-top:12px}.desk-mode strong{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font:700 20px/1.2 Baloo2,sans-serif}.desk-mode small:not(.lab-mode-plus){display:block;font-size:13px;line-height:1.5;color:var(--lab-muted);margin-top:5px}.desk-mode>b{align-self:start;margin-top:12px;font-size:21px;color:#A3C4FF}.desk-mode:hover>img{filter:brightness(1.08)}.desk-mode[data-plus-locked=true]>img{filter:grayscale(1);opacity:.58}.desk-mode[data-plus-locked=true]:hover>img{filter:grayscale(1);opacity:.78}
 .desk-progress{display:flex;gap:12px;align-items:center;font-size:12px;line-height:1.6;color:var(--lab-muted);margin:24px 0 0;padding-top:20px;border-top:1px solid #A3C4FF14}.desk-progress img{width:25px;height:25px;image-rendering:pixelated}

/* Un même accueil, du téléphone au bureau. */
.desk-home{--lab-text:#F5F6FF;--lab-muted:#CBD5F3;--lab-gold:#FFD46E;box-sizing:border-box}
.desk-home *{box-sizing:border-box}
.desk-modes>summary>span,.desk-path>span{min-width:0;flex:1}
/* Le signe tourné reste dans le cadre, y compris après reprise à 360 px. */
.desk-modes[open]>summary>b{margin-right:8px}
.desk-home :is(button,summary){font-family:inherit;touch-action:manipulation}
.desk-home :is(button,summary,a):focus-visible{outline:3px solid #FFD46E;outline-offset:4px}
.desk-feature .certoly-start-button,.certoly-start-button,html .v34-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border:0;border-radius:16px;padding:12px 24px;font:800 16px/1.4 InterBody,sans-serif;color:#fff;background:var(--certoly-start-gradient,linear-gradient(135deg,#6DBDD6,#4A94B5));box-shadow:0 6px 0 var(--certoly-start-lip,#28617C),0 10px 20px #11182B33,inset 0 1px 0 #ffffff45;text-shadow:0 1px 2px #24335766;cursor:pointer}
@media(max-width:759px){
 .desk-home{padding:18px 18px 20px;max-width:640px}
 .desk-home .lab-masthead{margin:0 0 22px;padding:0}
 .desk-heading{margin:0 0 18px}.desk-heading>p{display:none}.desk-heading h1{font-size:29px;line-height:1.2}
 .desk-feature{grid-template-columns:1fr;border-radius:20px}
 .desk-feature>img{grid-row:1;min-height:0;height:150px;width:100%;object-fit:contain}
 .desk-feature-copy{padding:20px 20px 26px}.desk-chip{font-size:11px;margin-bottom:8px}
 .desk-feature h2{font-size:25px;line-height:1.15;margin-bottom:10px;max-width:22ch}
 .desk-feature p{font-size:14px;line-height:1.55;margin-bottom:14px;max-width:none}
 .desk-feature .desk-session-facts{font-size:12px;margin-bottom:18px}
 .desk-feature .certoly-start-button{width:100%!important;min-width:0;min-height:48px}
 .desk-plan-context{align-self:center;padding-top:18px;font-size:12px}
 .desk-alternatives{margin-top:14px}.desk-modes>summary,.desk-path{gap:12px;padding:18px 0}
 .desk-modes>summary strong,.desk-path strong{font-size:18px}.desk-modes>summary small,.desk-path small{font-size:12px}
 .desk-modes>summary>img,.desk-path>img{width:28px;height:28px;flex-shrink:0}
 .desk-modes>summary>b,.desk-path>b{padding:0 2px;font-size:22px}
 .desk-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px;padding:8px 0 24px}
 .desk-mode strong{font-size:18px}.desk-mode small:not(.lab-mode-plus){font-size:12px}.desk-mode>b{font-size:18px}
 .desk-progress{margin-top:6px;padding-top:14px;font-size:11px;gap:10px}
}
@media(max-width:359px){.desk-home{padding-left:14px;padding-right:14px}.desk-feature-copy{padding:18px 16px 24px}.desk-feature>img{height:130px}.desk-feature h2{font-size:23px}.desk-modes>summary small{max-width:24ch}}

/* Le retour conserve sa couleur, avec le relief commun aux départs de séance. */
html .v34-primary{--certoly-start-gradient:linear-gradient(120deg,#6E93F5,#8E72EE);--certoly-start-lip:#4059A3;width:100%}
/* 06/10/2026 · refonte : pastille d’accès de l’en-tête du téléphone (Plus actif, gratuit en entier) */
.lab-masthead .lab-acces{flex:none;margin-left:auto;padding:5px 10px;border-radius:999px;font:700 12px/1.2 InterBody,sans-serif;white-space:nowrap}
.lab-masthead .lab-acces[data-etat="actif"]{background:#2d294a;color:#C4B3FF;border:1px solid #4b4378}
.lab-masthead .lab-acces[data-etat="gratuit"]{background:rgba(116,230,204,.1);color:#74E6CC;border:1px solid rgba(116,230,204,.38)}
/* Avec la pastille, le nom du programme passe sous « Certoly » : il ne se casse plus en deux et rien ne déborde à 360 px. */
.lab-masthead:has(.lab-acces){gap:10px}
.lab-masthead:has(.lab-acces) .lab-brand{min-width:0}
.lab-masthead:has(.lab-acces) .lab-brand>span{flex-direction:column;align-items:flex-start;gap:1px;min-width:0}
.lab-masthead:has(.lab-acces) .lab-brand small{max-width:100%;padding:0;border-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 06/10/2026 · refonte, lot 4 (NOTES-PAR-PAGE-APP § 09) : le réglage de la séance sur la carte, en pastilles de contour (une seule
   action pleine, « Commencer ma séance ») ; la tuile Erreurs sans erreur n'est plus un bouton. */
.desk-reglages{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 24px}
.desk-reglages-nb{display:inline-flex;gap:6px}
.desk-reglages button{min-width:44px;min-height:40px;padding:0 12px;border-radius:999px;border:1px solid #A3C4FF47;background:transparent;color:#E1E8FF;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer}
.desk-reglages button[aria-pressed=true]{border-color:#C7D6FF;background:#A3C4FF2B;color:#fff}
.desk-reglages .desk-chrono[aria-pressed=true]::before{content:"✓ "}
.desk-reglages-texte{font-size:13px;color:#E1E8FF}
.desk-reglages .desk-carte{flex-basis:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 10px;min-height:44px;padding:8px 14px;border-radius:14px;text-align:left;font-weight:600}
.desk-carte strong{color:#fff;font-weight:700;min-width:0}
.desk-carte>span:last-child{color:#C7D6FF;white-space:nowrap}
.desk-mode:disabled{cursor:default}.desk-mode:disabled>img,.desk-mode:disabled:hover>img{filter:saturate(.35);opacity:.55}.desk-mode:disabled>b{visibility:hidden}
/* 06/10/2026 · refonte, lot 4 (NOTES-PAR-PAGE-APP § 13) : au retour, la barre de la séance en pause et la ligne d'état
   (série, rendez-vous du jour, jours avant l'examen), qui prend la place de « TFP APS · Réviser ». */
.desk-feature .desk-reprise-barre{display:block;align-self:stretch;max-width:340px;height:8px;margin:-6px 0 20px;border-radius:999px;background:#F5F6FF24;overflow:hidden}
.desk-feature .desk-reprise-barre>span{display:block;height:100%;border-radius:inherit;background:var(--lab-gold)}
.desk-heading>p[data-etat="true"]{color:#F5F6FFD9;font-weight:600}
@media(max-width:759px){.desk-heading>p[data-etat="true"]{display:block;margin:0 0 6px;font-size:13px;line-height:1.45}}
/* 06/10/2026 · refonte, lot 4 (NOTES-PAR-PAGE-APP § 02, changement 2) : trois tuiles au plus selon la journée, puis « Tous les modes » en liste compacte. */
.desk-une-titre{font:700 20px/1.3 Baloo2,sans-serif;margin:30px 0 14px;color:var(--lab-text)}
.desk-mode-une{padding:0 0 26px}
/* 08/10/2026 · Kenan : tous les modes à l’accueil après la 1re séance. Quatre tuiles tiennent sur une ligne, ou deux par deux sous 1 280 px ;
   les lignes de la tuile ne s’étirent plus, le titre reste aligné quand une description passe sur deux lignes. */
.desk-mode-une .desk-mode{align-content:start}
@media(min-width:981px){.desk-mode-une[data-n="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1280px){.desk-mode-une[data-n="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}}
.desk-mode-liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;padding:0 0 18px}
.desk-mode-liste .desk-mode{grid-template-columns:40px minmax(0,1fr) 20px;gap:14px;align-items:center;padding:10px 6px;border-radius:12px}
.desk-mode-liste .desk-mode>img{grid-column:auto;width:40px;height:40px;aspect-ratio:1;object-fit:cover;border-radius:10px}
.desk-mode-liste .desk-mode>span{padding-top:0}.desk-mode-liste .desk-mode strong{font-size:17px}.desk-mode-liste .desk-mode>b{margin-top:0;align-self:center}
.desk-mode-liste .desk-mode:not(:disabled):hover{background:#ffffff0a}
@media(max-width:980px){.desk-alternatives .desk-mode-une{grid-template-columns:1fr;gap:14px;padding-bottom:22px}.desk-alternatives .desk-mode-une .desk-mode{grid-template-columns:120px minmax(0,1fr) 20px;gap:16px;align-items:center}.desk-alternatives .desk-mode-une .desk-mode>img{grid-column:auto;width:120px}.desk-alternatives .desk-mode-une .desk-mode>span{padding-top:0}.desk-alternatives .desk-mode-une .desk-mode>b{margin-top:0;align-self:center}}
@media(max-width:759px){.desk-une-titre{font-size:18px;margin:26px 0 12px}.desk-alternatives .desk-mode-une .desk-mode{grid-template-columns:104px minmax(0,1fr) 18px;gap:14px}.desk-alternatives .desk-mode-une .desk-mode>img{width:104px}.desk-mode-liste{grid-template-columns:1fr}}
