/* DA Musliminera : celle de l'app (soleil, prune, abricot, crème) + velours et cuir du moodboard. */
:root{--fond:#FBF4EE;--papier:#FFFFFF;--papier-2:#F5EDE6;--ligne:#EEE2D7;--case:#D9C9D8;--lilas:#ECE2F5;--peche:#FBE1D1;--texte:#2A1C37;--texte-2:#6A5A73;--texte-3:#9C8C9F;
  --prune:#4A3162;--abricot:#E3804F;--or:#D3AE78;--creme:#FBEFE3;--creme-2:rgba(251,239,227,.72);--creme-3:rgba(251,239,227,.46);
  --pastille:#FBE1D1;--pastille-texte:#7A3A1E;--bouton:#4A3162;--bouton-texte:#fff;--accent:#E3804F;--danger:#A8322A;--danger-fond:#F6D6D2;
  --ombre:0 1px 0 rgba(42,28,55,.04),0 22px 44px -28px rgba(42,28,55,.42);
  --titre:"Instrument Serif",Georgia,serif;--ui:"Bricolage Grotesque","Avenir Next","Segoe UI",system-ui,sans-serif;color-scheme:light}
*{box-sizing:border-box}[hidden]{display:none!important}
html,body{margin:0;background:var(--fond);color:var(--texte);font-family:var(--ui);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip}
button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}
h1,h2,h3{margin:0;font-weight:400;text-wrap:balance}p{margin:0}a{color:inherit}
fieldset{border:0;margin:0;padding:0;min-width:0}
:focus-visible{outline:2px solid var(--abricot);outline-offset:3px;border-radius:8px}
.ico{flex-shrink:0}
.surtitre{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.petit-titre{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--texte-3);margin-bottom:8px}
.velours{position:relative;isolation:isolate;color:var(--creme);background:radial-gradient(90% 120% at 18% 0%,rgba(255,255,255,.07),transparent 55%),linear-gradient(135deg,#3B2650,#2A1C37 60%,#4A3162)}
.chargement{min-height:100vh;display:grid;place-items:center}.chargement .logo{width:70px;animation:respire 1.6s ease-in-out infinite alternate}
@keyframes respire{from{opacity:.4;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}
.note{font-size:14px;color:var(--texte-2);line-height:1.55}
.petit{font-size:12.5px;color:var(--texte-3)}
.vide{color:var(--texte-2)}
.erreur{background:var(--danger-fond);color:var(--danger);padding:10px 12px;border-radius:12px;font-size:13.5px}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;transition:transform .15s,opacity .15s}
.btn:active{transform:scale(.98)}
.btn-plein{background:var(--bouton);color:var(--bouton-texte)}.btn-doux{background:var(--papier-2);border:1px solid var(--ligne);color:var(--texte)}
.btn-clair{background:var(--creme);color:#2A1C37}.btn-abricot{background:var(--abricot);color:#2A1C37}
.btn-pointille{border:1.5px dashed var(--prune);color:var(--prune);min-height:46px}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.large{flex:1}.btn.rond{width:50px;padding:0;flex-shrink:0}.petit-btn{min-height:40px;padding:0 16px;font-size:14px}
.lien{color:var(--abricot);font-weight:600;font-size:13.5px;text-decoration:none}.lien.danger{color:var(--danger)}
.mini{width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;color:var(--texte-2);flex-shrink:0}.mini:hover{background:var(--papier-2)}
.puces{display:flex;flex-wrap:wrap;gap:8px}
.puce{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:999px;background:var(--papier);border:1.5px solid var(--ligne);font-size:13.5px;font-weight:600}
.puce[aria-pressed="true"]{background:var(--bouton);color:var(--bouton-texte);border-color:transparent}
.puce:disabled{opacity:.55;cursor:default}

/* Champs */
.champ{display:flex;flex-direction:column;gap:6px;min-width:0}
.champ>span{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--texte-3)}
.champ input,.champ textarea,.champ select,.intention-champ,.recherche input,.date-fin{border:1px solid var(--ligne);background:var(--papier);border-radius:14px;padding:13px 14px;font-size:15px;width:100%;min-width:0}
.champ textarea,.intention-champ{resize:vertical;line-height:1.5}
.champ input:focus,.champ textarea:focus,.champ select:focus,.intention-champ:focus,.recherche input:focus{outline:none;border-color:var(--abricot);box-shadow:0 0 0 3px rgba(227,128,79,.18)}
.radio{display:flex;align-items:baseline;gap:8px;font-size:14.5px;padding:6px 0}.radio small{color:var(--texte-3)}
.radio input{accent-color:var(--prune)}

/* Connexion */
.connexion{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.connexion .gauche{padding:48px max(28px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;justify-content:space-between;gap:30px}
.g-texte{display:flex;flex-direction:column;gap:16px}
.connexion .gauche h1{font-family:var(--titre);font-size:clamp(44px,5.6vw,78px);line-height:.98;max-width:12ch}
.connexion .gauche h1 em,.heros h1 em{color:#F6B58C}
.connexion .gauche p{color:var(--creme-2);max-width:44ch;font-size:16px}
.connexion .gauche svg.aube{width:min(520px,100%)}
.marque{display:flex;flex-direction:column;gap:8px}.marque svg{width:46px;height:26px}
.mot{font-weight:800;letter-spacing:.24em;font-size:15px}
.connexion .droite{display:grid;place-items:center;padding:40px max(20px,env(safe-area-inset-right,0px)) 40px max(20px,env(safe-area-inset-left,0px))}
.form{width:min(400px,100%);display:flex;flex-direction:column;gap:14px}
.form h2{font-family:var(--titre);font-size:40px;line-height:1.05}
.form .aide{color:var(--texte-2);font-size:14.5px}
.form .lien{align-self:center}
.onglets{display:flex;padding:4px;border-radius:999px;background:var(--papier-2);border:1px solid var(--ligne)}
.onglets button{flex:1;padding:9px 10px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--texte-2)}
.onglets button[aria-selected="true"]{background:var(--papier);color:var(--texte);box-shadow:0 1px 4px rgba(42,28,55,.12)}
.ou{display:flex;align-items:center;gap:12px;color:var(--texte-3);font-size:12.5px}.ou::before,.ou::after{content:"";flex:1;height:1px;background:var(--ligne)}
.pastille-ico{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:var(--pastille);color:var(--pastille-texte);flex-shrink:0}

/* Préparation (onboarding) */
.ob{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;max-width:720px;margin:0 auto;padding:0 max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px))}
.ob-tete{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0 12px;flex-wrap:wrap}
.ob-marque{display:flex;align-items:center;gap:10px}.ob-marque .mot{font-size:13px}
.ob-progres{display:flex;align-items:center;gap:5px}.ob-progres i{width:26px;height:5px;border-radius:3px;background:var(--ligne)}.ob-progres i.fait{background:var(--abricot)}
.ob-progres span{margin-left:8px;font-size:12px;font-weight:700;color:var(--texte-2)}
.ob-corps{flex:1;display:flex;flex-direction:column;gap:18px;padding:10px 0 24px}
.ob-pied{position:sticky;bottom:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 0 max(18px,env(safe-area-inset-bottom,0px));background:linear-gradient(to top,var(--fond) 70%,transparent)}
.ob-pied .lien{width:100%;text-align:center}
.ob-accueil{border-radius:28px;padding:28px;display:flex;flex-direction:column;gap:14px;overflow:hidden}
.ob-accueil h1{font-family:var(--titre);font-size:clamp(46px,9vw,72px);line-height:.95}
.ob-accueil h1 em{color:#F6B58C}.ob-accueil p{color:var(--creme-2);max-width:48ch}
.ob-accueil svg.aube{width:min(420px,100%);align-self:center;margin-bottom:-24px}
.ob-carte{background:var(--papier);border:1px solid var(--ligne);border-radius:24px;padding:20px;display:flex;flex-direction:column;gap:18px}
.ob-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.ob-points li{display:flex;gap:12px;font-size:14.5px;color:var(--texte-2)}.ob-points b{color:var(--texte)}
.ob-points .ico{color:var(--abricot);margin-top:2px}
.ob-titre{display:flex;flex-direction:column;gap:8px}.ob-titre .surtitre{color:var(--texte-2)}
.ob-titre h2,.ob-question h2{font-family:var(--titre);font-size:clamp(32px,6vw,44px);line-height:1.05}
.ob-titre h2 em{color:var(--abricot)}
.ob-aide{color:var(--texte-2)}.ob-aide.serif{font-family:var(--titre);font-size:20px;color:var(--prune)}
.ob-question{display:flex;flex-direction:column;gap:14px}
.ob-q-tete{display:flex;align-items:center;gap:10px}.ob-q-tete .surtitre{color:var(--texte-2)}
.ob-choix{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.choix{text-align:left;padding:16px 18px;border-radius:18px;background:var(--papier);border:1.5px solid var(--ligne);font-size:16px;font-weight:600;transition:border-color .15s,background .15s}
.choix:hover{border-color:var(--texte-3)}.choix[aria-pressed="true"]{background:var(--bouton);color:var(--bouton-texte);border-color:transparent}
.ob-message{font-size:13.5px;font-weight:600;color:var(--prune)}
.tuiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tuile{min-height:112px;border-radius:22px;padding:12px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;text-align:left;border:3px solid transparent;transition:transform .15s,opacity .15s}
.tuile b{font-size:15px;line-height:1.15}.tuile small{font-size:11.5px;opacity:.75;font-weight:600}
.tuile[aria-pressed="true"]{border-color:var(--abricot)}
.tuile-ico{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.85);color:#4A3162}
.tuile[aria-pressed="true"] .tuile-ico{background:#4A3162;color:#fff}
.tuile:active{transform:scale(.97)}
.intention-zone{border-radius:24px;padding:20px}
.intention-zone textarea{width:100%;background:transparent;border:0;color:#fff;font-size:20px;font-weight:600;line-height:1.4;resize:vertical;min-height:130px}
.intention-zone textarea::placeholder{color:rgba(251,225,209,.6)}.intention-zone textarea:focus{outline:none}
.intention-zone p{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#FBE1D1;margin-top:8px}
.pistes{display:flex;flex-wrap:wrap;gap:8px}
.ob-liste{display:flex;flex-direction:column;gap:10px}
.carte-prom{display:flex;align-items:center;gap:12px;background:var(--papier);border:1px solid var(--ligne);border-radius:20px;padding:10px 10px 10px 10px}
.carte .carte-prom{background:var(--papier-2);border-color:transparent}
.carte-prom .t{flex:1;min-width:0}.carte-prom b{display:block;font-size:15px}.carte-prom small{font-size:13px;color:var(--texte-2)}
.freq{font-size:12px;font-weight:800;padding:5px 9px;border-radius:999px;background:var(--papier-2);color:var(--prune)}
.pastille-dom{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex-shrink:0}
.ob-q-tete .pastille-dom{width:32px;height:32px;border-radius:10px}
.ob-sugg{display:flex;flex-direction:column;gap:14px}
.form-prom{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:20px;background:var(--papier);border:1.5px solid var(--abricot)}
.ligne-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.actions-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.jour-choix{display:flex;flex-wrap:wrap;gap:6px}
.jour-choix label{position:relative}.jour-choix input{position:absolute;opacity:0;inset:0;cursor:pointer}
.jour-choix i{display:grid;place-items:center;font-style:normal;width:46px;height:38px;border-radius:12px;border:1.5px solid var(--ligne);font-size:13px;font-weight:700;color:var(--texte-2)}
.jour-choix input:checked+i{background:var(--bouton);color:var(--bouton-texte);border-color:transparent}
.jour-choix input:focus-visible+i{outline:2px solid var(--abricot);outline-offset:2px}

/* Espace */
.espace{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}
.reliure{position:sticky;top:0;height:100vh;padding:28px 18px 18px;display:flex;flex-direction:column;gap:24px;color:var(--creme);background:radial-gradient(80% 50% at 30% 0%,rgba(255,255,255,.08),transparent 60%),linear-gradient(180deg,#3B2650,#2A1C37 60%,#22162D);overflow-y:auto}
.nav{display:flex;flex-direction:column;gap:2px;flex:1}
.nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:14px;color:var(--creme-2);text-decoration:none;font-weight:500}
.nav a:hover{color:var(--creme);background:rgba(251,239,227,.05)}
.nav a[aria-current="page"]{background:rgba(251,239,227,.12);color:var(--creme)}
.nav a[aria-current="page"] .ico{color:#F6B58C}
.nav .groupe,.feuille .groupe{font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--creme-3);padding:14px 12px 6px}
.moi{display:flex;gap:10px;align-items:center;padding:12px;border-radius:16px;background:rgba(251,239,227,.07)}
.av{width:38px;height:38px;border-radius:50%;background:var(--abricot);color:#2A1C37;display:grid;place-items:center;font-weight:800;flex-shrink:0}
.moi b{display:block;font-size:14px}.moi small{display:block;font-size:12px;color:var(--creme-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.moi button{margin-left:auto;color:var(--creme-2)}
.barre-mobile,.onglets-bas{display:none}
.page{padding:28px max(28px,env(safe-area-inset-right,0px)) 64px max(28px,env(safe-area-inset-left,0px));min-width:0}
.page-int{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:22px}
.titre-page{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.titre-page>div{display:flex;flex-direction:column;gap:8px;max-width:640px}.titre-page .surtitre{color:var(--texte-2)}
.titre-page h1{font-family:var(--titre);font-size:clamp(38px,5vw,54px);line-height:1}
.sync{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font-size:13px;color:var(--texte-2);padding:8px 14px;border-radius:999px;border:1px solid var(--ligne);background:var(--papier)}
.sync b{font-weight:600}
.sync i{width:8px;height:8px;border-radius:50%;background:#5E9A63;box-shadow:0 0 0 3px rgba(94,154,99,.2)}
.heros{border-radius:30px;padding:30px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;align-items:center;box-shadow:var(--ombre);overflow:hidden}
.heros>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.heros h1{font-family:var(--titre);font-size:clamp(44px,5vw,68px);line-height:1}
.heros .sous{color:var(--creme-2)}
.heros .phrase{font-family:var(--titre);font-style:italic;font-size:21px;color:#FBE1D1;margin-top:8px;max-width:30ch}
.heros .jour{font-weight:800;font-size:64px;letter-spacing:-.04em;line-height:1;margin-top:14px}.heros .jour small{display:block;font-size:13px;font-weight:500;color:var(--creme-3);letter-spacing:0}
.heros svg.aube{width:100%;max-width:520px;justify-self:end}
.heros.bientot{grid-template-columns:minmax(0,1fr);padding:44px}.heros.bientot .sous{max-width:56ch;font-size:16px}
.carte{background:var(--papier);border:1px solid var(--ligne);border-radius:26px;padding:24px;box-shadow:var(--ombre);min-width:0}
.carte-tete{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.carte-tete .surtitre{color:var(--texte-2)}.compte{font-weight:800;font-size:26px}
.carte-app{display:flex;gap:14px;align-items:flex-start}
.carte-app .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.carte-app b{font-size:16px}
.carte-app details{margin-top:4px}.carte-app summary{cursor:pointer;color:var(--abricot);font-weight:600;font-size:13.5px}
.carte-app ul{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.carte-app li .ico{vertical-align:-2px}
.promesses{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.promesse{width:100%;display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;border-radius:18px;background:var(--papier-2);text-align:left;border:1.5px solid transparent;transition:border-color .2s,background .2s}
button.promesse:hover:not(:disabled){border-color:var(--ligne)}
.promesse .t{flex:1;min-width:0}.promesse b{display:block;font-size:15.5px}.promesse small{color:var(--texte-2);font-size:13px}
.promesse .etat{font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;background:var(--papier);color:var(--texte-3);white-space:nowrap}
.promesse[data-fait="cible"]{border-color:var(--abricot)}
.promesse[data-fait="cible"] .etat{background:var(--bouton);color:var(--bouton-texte)}
.promesse[data-fait="minimal"] .etat{background:var(--pastille);color:var(--pastille-texte)}
.promesse:disabled{cursor:default}
.chiffres{display:flex;gap:6px 22px;flex-wrap:wrap;margin-top:16px;color:var(--texte-2);font-size:14px}.chiffres b{color:var(--texte);font-size:17px;margin-right:4px}
.chiffres.clair{color:var(--creme-2)}.chiffres.clair b{color:var(--creme)}
.encadre{background:var(--papier-2);border-radius:14px;padding:12px 14px;margin:0 0 12px}
.ligne-repos{display:flex;gap:10px;align-items:flex-start;margin-top:18px;padding-top:16px;border-top:1px solid var(--ligne);font-size:14px;cursor:pointer}
.ligne-repos input{accent-color:var(--prune);margin-top:3px}.ligne-repos small{display:block;color:var(--texte-3);font-size:12.5px}
.rappel-intention{display:flex;gap:8px;align-items:flex-start;margin-top:18px;padding-top:16px;border-top:1px solid var(--ligne);font-family:var(--titre);font-size:18px;color:var(--texte-2);line-height:1.3}
.rappel-intention .ico{margin-top:4px;color:var(--texte-3)}
.intention-txt{font-family:var(--titre);font-size:22px;line-height:1.3}
.grille{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;align-items:start}
.colonne{display:flex;flex-direction:column;gap:20px;min-width:0}
.legende{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--creme-2)}
.legende i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.etapes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.etape h3{font-family:var(--titre);font-size:30px;line-height:1}.etape h3 small{font-family:var(--ui);font-size:13px;color:var(--texte-3)}
.etape .note{margin-top:4px}
.etape.en-cours{border-color:var(--abricot)}
.pa{display:inline-block;font-style:normal;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--pastille);color:var(--pastille-texte)}
.jours{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:14px}
.jr{aspect-ratio:1;border-radius:12px;background:color-mix(in srgb,var(--c) 85%,transparent);color:#2A1C37;font-size:13px;font-weight:700;display:grid;place-items:center;border:2px solid transparent}
.jr.st-avenir,.jr.st-avant{background:var(--papier-2);color:var(--texte-3)}
.jr.st-manquee{color:#2A1C37}.jr.st-aujourdhui{background:var(--papier);border-color:var(--abricot);color:var(--texte)}
.jr[aria-pressed="true"]{border-color:var(--texte)}
.jr:disabled{cursor:default}
.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.stat{padding:18px;display:flex;flex-direction:column;gap:2px}.stat b{font-size:30px;font-weight:800;letter-spacing:-.03em}.stat span{font-size:13px;color:var(--texte-2)}
.roue{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.roue li{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(60px,1.2fr) 28px;gap:10px;align-items:center;font-size:14px}
.roue .pastille-dom{width:28px;height:28px;border-radius:9px}
.roue li.prio .nom{font-weight:800}
.roue .barre{height:8px;border-radius:4px;background:var(--papier-2);overflow:hidden}.roue .barre i{display:block;height:100%;background:var(--abricot);border-radius:4px}
.roue b{text-align:right}
.bulle-info{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);opacity:0;background:#2A1C37;color:#FBEFE3;padding:12px 18px;border-radius:14px;font-size:14px;transition:.25s;pointer-events:none;z-index:30;max-width:calc(100% - 32px);text-align:center}
.bulle-info.voir{opacity:1;transform:translate(-50%,0)}

/* Feuille (menu mobile) */
.feuille-fond{position:fixed;inset:0;background:rgba(20,12,26,.5);z-index:20;display:flex;align-items:flex-end}
.feuille{width:100%;max-height:85vh;overflow-y:auto;background:linear-gradient(180deg,#3B2650,#2A1C37);color:var(--creme);border-radius:24px 24px 0 0;padding:18px max(16px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:2px}
.feuille a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;color:var(--creme);text-decoration:none;font-weight:500}
.moi-f{padding:4px 12px 8px}.moi-f b{display:block}.moi-f small{color:var(--creme-3)}
.feuille .btn{margin-top:14px;background:rgba(251,239,227,.08);border-color:transparent;color:var(--creme)}

/* Administration */
.ad-outils{display:flex;flex-direction:column;gap:12px}
.recherche{display:flex;align-items:center;gap:8px;position:relative}.recherche .ico{position:absolute;left:14px;color:var(--texte-3)}.recherche input{padding-left:40px}
.ad-liste{display:flex;flex-direction:column;gap:8px}
.ad-ligne{display:grid;grid-template-columns:auto minmax(0,1.3fr) minmax(0,1.5fr) auto;gap:14px;align-items:center;text-align:left;padding:12px 16px;border-radius:18px;background:var(--papier);border:1px solid var(--ligne)}
.ad-ligne:hover{border-color:var(--texte-3)}
.ad-ligne .qui{min-width:0}.ad-ligne .qui b{display:block;font-size:15px}.ad-ligne .qui small{display:block;color:var(--texte-2);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pastilles{display:flex;flex-wrap:wrap;gap:5px}.pa.vide-pa{background:var(--papier-2);color:var(--texte-3)}
.ad-ligne .vu{font-size:12.5px;color:var(--texte-3);white-space:nowrap}
.role{font-style:normal;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;margin-left:6px;vertical-align:2px}
.role-admin{background:var(--bouton);color:var(--bouton-texte)}.role-equipe{background:#ECE2F5;color:#4A3162}
.tiroir-fond{position:fixed;inset:0;z-index:25;background:rgba(20,12,26,0);transition:background .25s;display:flex;justify-content:flex-end}
.tiroir-fond.ouvert{background:rgba(20,12,26,.45)}
.tiroir{width:min(480px,100%);height:100%;overflow-y:auto;background:var(--fond);padding:28px max(22px,env(safe-area-inset-right,0px)) 40px 24px;position:relative;transform:translateX(30px);opacity:0;transition:.25s}
.tiroir-fond.ouvert .tiroir{transform:none;opacity:1}
.tiroir .fermer{position:absolute;top:18px;right:max(18px,env(safe-area-inset-right,0px))}
.tiroir-corps{display:flex;flex-direction:column;gap:16px}
.tiroir-corps h2{font-family:var(--titre);font-size:36px;line-height:1.05}
.tiroir-corps .surtitre{color:var(--texte-2);padding-right:40px}
.bloc{background:var(--papier);border:1px solid var(--ligne);border-radius:20px;padding:16px}
.segment{display:flex;padding:4px;border-radius:14px;background:var(--papier-2);gap:4px;margin-bottom:8px}
.segment button{flex:1;padding:9px 6px;border-radius:10px;font-size:13px;font-weight:600;color:var(--texte-2)}
.segment button[aria-checked="true"]{background:var(--bouton);color:var(--bouton-texte)}
.segment button:disabled{cursor:not-allowed}
.acces-ligne{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--ligne)}
.acces-ligne:last-of-type{border-bottom:0}
.acces-ligne .t{flex:1;min-width:0}.acces-ligne b{display:block;font-size:14.5px}.acces-ligne small{color:var(--texte-2);font-size:12.5px}
.date-fin{width:auto;padding:7px 9px;font-size:13px;border-radius:10px}
.interrupteur{position:relative;width:44px;height:26px;flex-shrink:0}
.interrupteur input{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:1;margin:0}
.interrupteur i{position:absolute;inset:0;border-radius:999px;background:var(--ligne);transition:.2s}
.interrupteur i::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.interrupteur input:checked+i{background:var(--abricot)}.interrupteur input:checked+i::after{transform:translateX(18px)}
.interrupteur input:focus-visible+i{outline:2px solid var(--abricot);outline-offset:2px}
.journal{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.journal li{padding:9px 0;border-bottom:1px solid var(--ligne);display:flex;flex-direction:column;gap:1px;font-size:14px}
.journal li:last-child{border-bottom:0}.journal b{font-weight:600}.journal small{color:var(--texte-3);font-size:12px}

/* Téléphone et tablette */
@media (max-width:900px){
  .connexion{grid-template-columns:minmax(0,1fr)}
  .connexion .gauche{padding:28px max(20px,env(safe-area-inset-left,0px)) 8px;gap:18px}
  .connexion .gauche{flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:space-between}
  .connexion .gauche .marque{order:1}.connexion .gauche svg.aube{order:2;max-width:150px;margin:0 -8px -8px 0}
  .connexion .gauche .g-texte{order:3;width:100%;gap:10px;padding-bottom:16px}
  .connexion .gauche h1{font-size:40px}.connexion .gauche p{font-size:14.5px}
  .connexion .droite{padding-top:28px;align-items:start}
  .espace{grid-template-columns:minmax(0,1fr)}
  .reliure{display:none}
  .barre-mobile{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:10;padding:calc(10px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px));background:linear-gradient(180deg,#3B2650,#2A1C37);color:var(--creme)}
  .barre-mobile .marque{flex-direction:row;align-items:center;gap:10px}.barre-mobile .marque svg{width:36px;height:20px}.barre-mobile .mot{font-size:12.5px}
  .barre-mobile .av{width:34px;height:34px}
  .onglets-bas{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:10;background:var(--papier);border-top:1px solid var(--ligne);padding:6px max(8px,env(safe-area-inset-right,0px)) max(6px,env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))}
  .onglets-bas a,.onglets-bas button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;color:var(--texte-3);text-decoration:none;font-size:11px;font-weight:600;min-width:0}
  .onglets-bas span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .onglets-bas [aria-current="page"]{color:var(--abricot)}
  .page{padding:18px max(16px,env(safe-area-inset-right,0px)) calc(96px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
  .page-int{gap:16px}
  .heros,.grille{grid-template-columns:minmax(0,1fr)}
  .heros{padding:22px;border-radius:24px}.heros svg.aube{justify-self:center;max-width:360px}
  .heros h1{font-size:46px}.heros .jour{font-size:52px}
  .heros.bientot{padding:28px 22px}
  .carte{padding:18px;border-radius:22px}
  .etapes{grid-template-columns:minmax(0,1fr)}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats .stat:last-child{grid-column:1/-1}
  .ad-ligne{grid-template-columns:auto minmax(0,1fr);row-gap:8px}.ad-ligne .pastilles{grid-column:2}.ad-ligne .vu{grid-column:2}
  .titre-page .btn{width:100%}
  .ligne-2{grid-template-columns:minmax(0,1fr)}
  .bulle-info{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:380px){.tuiles{grid-template-columns:minmax(0,1fr)}}

/* Prendre soin de toi, quantités du jour */
.soin{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:18px;background:var(--pastille)}
.soin .petit-titre{color:var(--pastille-texte);margin:0}.soin .petit{color:var(--pastille-texte);opacity:.85;margin-bottom:4px}
.quantite{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 4px 2px 64px;font-size:13px;color:var(--texte-2)}
.quantite input{width:120px;border:1px solid var(--ligne);background:var(--papier);border-radius:10px;padding:7px 10px;font-size:15px;text-align:right}
.quantite input:focus{outline:none;border-color:var(--abricot);box-shadow:0 0 0 3px rgba(227,128,79,.18)}
@media (max-width:900px){.quantite{margin-left:4px}}

/* Programme : couvertures, rangées, lecteur, exercices, lives */
.retour{display:inline-flex;align-items:center;gap:6px;color:var(--texte-2);text-decoration:none;font-weight:600;font-size:14px;align-self:flex-start}
.btn-voile{background:rgba(251,239,227,.12);color:var(--creme);border:1px solid rgba(251,239,227,.22)}
.couv{position:relative;aspect-ratio:1;border-radius:20px;overflow:hidden;display:flex;flex-wrap:wrap;align-content:flex-end;gap:5px;padding:10px;isolation:isolate}
.couv svg{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.couv.grande{border-radius:26px}
.badge{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:rgba(42,28,55,.55);color:#fff;backdrop-filter:blur(4px)}
.badge.clair{background:rgba(255,255,255,.82);color:#2A1C37}
.cadenas{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(42,28,55,.6);color:#fff}
.voile-ferme{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:rgba(20,12,26,.55);color:#fff;text-align:center;padding:16px}
.rangee{display:flex;flex-direction:column;gap:12px;min-width:0}
.rangee-tete{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.rangee-tete h2{font-family:var(--titre);font-size:30px;line-height:1}
.defile{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,170px);gap:14px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}
.defile .vignette{scroll-snap-align:start}.defile.lives{grid-auto-columns:minmax(220px,250px)}.couv.paysage{aspect-ratio:16/10}
.grille-vignettes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
.vignette{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--texte);min-width:0}
.vignette b{font-size:14.5px;line-height:1.25}.vignette small{font-size:12.5px;color:var(--texte-2)}
.expertes{display:flex;gap:22px;flex-wrap:wrap}.experte{display:flex;flex-direction:column;align-items:center;gap:4px}.experte .av{width:58px;height:58px;font-size:20px}.experte small{color:var(--texte-2);font-size:12.5px}
.hero-live{grid-template-columns:minmax(0,1fr)}.h-live{font-size:clamp(36px,4.4vw,54px)!important;max-width:20ch}
.actions-live{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.points-live{margin:10px 0 0;padding-left:20px;color:var(--creme-2);display:flex;flex-direction:column;gap:4px}
.feuille-fond.clair .feuille-claire{background:var(--fond);color:var(--texte);gap:12px;max-width:520px;margin:0 auto;border-radius:24px 24px 0 0}
.feuille-claire .btn{background:var(--bouton);color:var(--bouton-texte);margin:0}.feuille-claire .btn-doux{background:var(--papier-2);color:var(--texte)}
.f-titre{font-family:var(--titre);font-size:28px;font-weight:400}
.lecteur{border-radius:30px;padding:26px;display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:28px;align-items:center;box-shadow:var(--ombre)}
.lecteur-txt{display:flex;flex-direction:column;gap:10px;min-width:0}.lecteur-txt h1{font-family:var(--titre);font-size:clamp(36px,4vw,52px);line-height:1}
.lecteur .sous{color:var(--creme-2)}
.commandes{display:flex;align-items:center;gap:16px;margin-top:6px}
.lire{width:64px;height:64px;border-radius:50%;background:var(--creme);color:#2A1C37;display:grid;place-items:center}
.mini.clair{color:var(--creme);font-weight:700;font-size:13px;width:44px;height:44px;border:1px solid rgba(251,239,227,.25)}
.lecteur input[type=range]{width:100%;accent-color:#E3804F}
.temps{display:flex;justify-content:space-between;font-size:12.5px;color:var(--creme-3)}
.note-clair{color:var(--creme-2);font-size:14px;padding:12px 14px;border-radius:14px;background:rgba(251,239,227,.08)}
.paroles{display:flex;flex-direction:column;gap:10px;max-height:340px;overflow-y:auto}
.paroles p{font-family:var(--titre);font-size:21px;line-height:1.3;color:var(--texte-2);cursor:pointer}.paroles p.actif{color:var(--texte)}
.essai-txt{font-family:var(--titre);font-size:22px;line-height:1.3;margin:8px 0 14px}
.ex-intro{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:26px;align-items:center}
.ex-txt{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.ex-txt h1{font-family:var(--titre);font-size:clamp(36px,4vw,50px);line-height:1}
.ex-etape{display:flex;flex-direction:column;gap:14px;max-width:720px}
.ex-etape h2{font-family:var(--titre);font-size:30px;line-height:1.1}.ex-etape>p{line-height:1.6}
.ex-etape textarea{border:1px solid var(--ligne);background:var(--papier-2);border-radius:14px;padding:13px 14px;font-size:15px;width:100%;resize:vertical}
.points-progres{display:flex;gap:6px}.points-progres i{flex:1;height:5px;border-radius:3px;background:var(--ligne)}.points-progres i.fait{background:var(--abricot)}
.minuteur{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.minuteur b{font-size:54px;font-weight:800;letter-spacing:-.03em}
.souffle{position:relative;height:240px;display:grid;place-items:center}
.halo-souffle{position:absolute;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(227,128,79,.55),rgba(185,166,204,.25) 60%,transparent 72%);transform:scale(.45)}
.souffle b{position:relative;font-family:var(--titre);font-size:32px}.souffle small{position:absolute;bottom:14px;color:var(--texte-3)}
.ex-fin{display:flex;flex-direction:column;gap:14px;align-items:flex-start;max-width:640px}.ex-fin h2{font-family:var(--titre);font-size:30px;line-height:1.15}
.rep-avant{padding:12px 0;border-bottom:1px solid var(--ligne);display:flex;flex-direction:column;gap:6px}.rep-avant small{color:var(--texte-3)}.rep-avant p{font-size:14px}
.detresse{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:var(--papier);border:1px solid var(--ligne);font-size:13px;color:var(--texte-2);line-height:1.45}
.detresse b{color:var(--texte)}
@media (max-width:900px){.lecteur,.ex-intro{grid-template-columns:minmax(0,1fr)}.lecteur-couv,.ex-intro .couv{max-width:280px}.lecteur{padding:18px}.rangee-tete h2{font-size:26px}}

/* Moments (soir, lettre, semaine, concentration, lâcher, retour, victoire) */
.moment{border-radius:30px;padding:30px;display:flex;flex-direction:column;gap:14px;align-items:flex-start;box-shadow:var(--ombre)}
.moment h1{font-family:var(--titre);font-size:clamp(40px,5vw,62px);line-height:1}.moment h1 em{color:#F6B58C}
.moment .sous{color:var(--creme-2);max-width:56ch}.moment .jour{font-weight:800;font-size:64px;letter-spacing:-.04em;line-height:1}.moment .jour small{display:block;font-size:13px;font-weight:500;color:var(--creme-3);letter-spacing:0}
.puce.clair{background:rgba(251,239,227,.08);border-color:rgba(251,239,227,.22);color:var(--creme)}.puce.clair[aria-pressed="true"]{background:var(--creme);color:#2A1C37}
.lien.clair,.petit.clair{color:var(--creme-2)}
.ligne-repos.clair{border-color:rgba(251,239,227,.15);color:var(--creme)}.ligne-repos.clair small{color:var(--creme-3)}
.humeurs-soir{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%}
.humeurs-soir button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 4px;border-radius:18px;border:2px solid transparent;background:rgba(251,239,227,.06);color:var(--creme);font-weight:600;font-size:13px}
.humeurs-soir button i{width:34px;height:34px;border-radius:50%}.humeurs-soir button[aria-pressed="true"]{border-color:var(--creme)}
.soir-liste{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:8px}
.soir-liste li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(251,239,227,.06)}.soir-liste small{display:block;color:var(--creme-3);font-size:12px}
.soir-note{width:100%;border-radius:14px;border:1px solid rgba(251,239,227,.2);background:rgba(251,239,227,.06);color:var(--creme);padding:12px;resize:vertical}
.soir-note::placeholder{color:var(--creme-3)}
.enveloppe{align-items:center;text-align:center}.cachet{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#7A2848;color:#FBE1D1;box-shadow:0 0 0 6px rgba(122,40,72,.3)}
.papier-lettre{width:100%;min-height:280px;border-radius:18px;border:1px solid var(--ligne);background:repeating-linear-gradient(var(--papier),var(--papier) 31px,var(--ligne) 32px);padding:14px 18px;font-family:var(--titre);font-size:21px;line-height:32px;resize:vertical}
.lettre-ecrire,.lettre-guide{display:flex;flex-direction:column;gap:14px}.lettre-ecrire h1{font-family:var(--titre);font-size:clamp(34px,4vw,48px);line-height:1}
.lettre-guide h2{font-family:var(--titre);font-size:30px}.lettre-guide textarea{border:1px solid var(--ligne);background:var(--papier-2);border-radius:14px;padding:12px;font-size:15px}
.lettre-ouverte{display:flex;flex-direction:column;gap:12px}.lettre-ouverte h1{font-family:var(--titre);font-size:48px}.lettre-ouverte .surtitre{color:var(--texte-2)}
.semaine-form{display:flex;flex-direction:column;gap:18px}.semaine-form textarea,.semaine-form input{border:1px solid var(--ligne);background:var(--papier-2);border-radius:14px;padding:12px;font-size:15px;width:100%}
.sem-prom{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-bottom:1px solid var(--ligne)}.sem-prom .segment{margin:0}
.sablier-page{align-items:center;text-align:center;background:linear-gradient(180deg,#22162D,#2A1C37);color:var(--creme);min-height:70vh;justify-content:center}
.sablier svg{width:120px;height:170px}.intention-conc{max-width:440px;padding:12px 16px;border-radius:16px;background:rgba(251,239,227,.07)}.intention-conc p{font-family:var(--titre);font-size:20px}
.tuiles-lacher{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.tuile-l{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:18px;border-radius:22px;background:var(--papier);border:1.5px solid var(--ligne);text-align:left;color:var(--texte)}
.tuile-l .ico{color:var(--abricot)}.tuile-l b{font-size:16px}.tuile-l[aria-pressed="true"]{border-color:var(--abricot);background:var(--pastille)}
.panneau-l{display:flex;flex-direction:column;gap:14px;align-items:flex-start}.panneau-l>.promesses{width:100%}
.liens-ex{display:flex;flex-wrap:wrap;gap:10px}
.verset{margin:6px 0 0;padding:18px 20px;border-radius:20px;background:var(--papier-2);font-family:var(--titre);font-size:22px;line-height:1.3}.verset cite{display:block;font-family:var(--ui);font-style:normal;font-size:12.5px;color:var(--texte-3);margin-top:8px}
.sept-jours{display:flex;gap:14px}.sept-jours span{display:flex;flex-direction:column;align-items:center;gap:6px}.sept-jours small{color:var(--creme-3);font-size:12px}
.sept-jours i{width:22px;height:22px;border-radius:50%;background:rgba(251,239,227,.15)}
.pt-tenue{background:#E3804F!important}.pt-partielle{background:#F2B48E!important}.pt-retour{background:#FBE1D1!important;box-shadow:0 0 0 4px rgba(251,225,209,.25)}.pt-repos{background:#D8C7B8!important}.pt-manquee{background:#B9A6CC!important;opacity:.6}
.promesse.clair{background:rgba(251,239,227,.08);color:var(--creme)}.promesse.clair .etat{background:rgba(251,239,227,.12);color:var(--creme)}
.victoire{align-items:center;text-align:center}.apercu-carte img{width:min(260px,70vw);border-radius:18px;box-shadow:0 20px 50px -20px rgba(0,0,0,.6)}
.moment-carte{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:22px;background:var(--papier);border:1px solid var(--ligne);text-decoration:none;color:var(--texte);box-shadow:var(--ombre)}
.moment-carte span{flex:1;display:flex;flex-direction:column}.moment-carte small{color:var(--texte-2);font-size:13px}.moment-carte>.ico:first-child{color:var(--abricot)}
.moment-carte.nuit{background:linear-gradient(135deg,#2A1C37,#4A3162);color:var(--creme);border-color:transparent}.moment-carte.nuit small{color:var(--creme-2)}
.moment-carte.fait{opacity:.8}
.doux{background:var(--pastille);color:var(--pastille-texte);border-color:transparent}.lien-carte{display:flex;align-items:center;gap:10px;text-decoration:none}
.boutons-jour{display:flex;flex-wrap:wrap;gap:10px}
.mini-chip{margin:6px 0 2px 64px;font-size:12.5px;background:var(--pastille);color:var(--pastille-texte);border-color:transparent}
/* Cartes à partager */
.studio{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:24px;align-items:start}
.studio-apercu canvas{width:100%;border-radius:22px;box-shadow:var(--ombre);background:var(--papier-2)}
.studio-reglages{display:flex;flex-direction:column;gap:12px}.studio-reglages .petit-titre{margin:6px 0 0}
.grille-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
.mini-carte{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--texte)}.mini-carte img{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:16px;background:var(--papier-2)}
.mini-carte.fermee{padding:16px;border-radius:16px;border:1.5px dashed var(--ligne);aspect-ratio:9/16;justify-content:center;align-items:center;text-align:center;color:var(--texte-2)}.mini-carte.fermee small{font-size:12px}
/* Progrès */
.liens-progres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.lien-tuile{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--texte)}.lien-tuile .ico{color:var(--abricot)}.lien-tuile small{color:var(--texte-2);font-size:13px}
.roue .barre{position:relative}.roue .barre i{position:absolute;left:0;top:0;bottom:0}.roue .barre i.avant{background:var(--ligne)}.plus{color:#5E9A63;font-size:11px}
.stats.clair{width:100%}.stats.clair .stat{padding:14px;border-radius:16px;background:rgba(251,239,227,.08);display:flex;flex-direction:column}.stats.clair b{font-size:28px;font-weight:800}.stats.clair span{color:var(--creme-2);font-size:13px}
/* Sœurs */
.defi{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.segments{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%}.segments i{height:10px;border-radius:5px;background:var(--ligne)}.segments i.plein{background:var(--abricot)}.segments i.ce-soir{outline:2px solid var(--texte-3);outline-offset:2px}
.discussion-carte span{flex:1;display:flex;flex-direction:column;min-width:0}.discussion-carte small{color:var(--texte-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pastille-nouveau{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--abricot);margin-left:4px}
.victoires{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.victoires li{display:flex;align-items:center;gap:10px}.victoires .t{flex:1;min-width:0;font-size:14.5px}.victoires small{display:block;color:var(--texte-3);font-size:12px}
.coeur{padding:6px 10px;border-radius:999px;background:var(--pastille);color:var(--pastille-texte);font-weight:700;font-size:13px}.coeur:disabled{opacity:.7;cursor:default}
.panneau-sig,.panneau-part{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 0}
.code-cercle{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0}.code-cercle b{font-size:28px;letter-spacing:.08em}
.charte summary{cursor:pointer}
.fil{display:flex;flex-direction:column;gap:10px;max-height:55vh;overflow-y:auto}
.msg{max-width:78%;align-self:flex-start;padding:10px 14px;border-radius:18px 18px 18px 4px;background:var(--papier-2)}.msg.moi{align-self:flex-end;border-radius:18px 18px 4px 18px;background:var(--pastille);color:var(--pastille-texte)}
.msg small{display:block;font-size:11.5px;color:var(--texte-3)}.msg-actions .lien{font-size:11.5px;color:var(--texte-3)}
.ecrire{display:flex;gap:10px;align-items:flex-end}.ecrire textarea{flex:1;border:1px solid var(--ligne);background:var(--papier);border-radius:16px;padding:12px;font-size:15px;resize:none}
/* Réglages */
.zone-danger{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--ligne)}
.reglages-lien{color:var(--creme-2);display:grid;place-items:center}
@media (max-width:900px){.studio,.liens-progres{grid-template-columns:minmax(0,1fr)}.studio-apercu{max-width:300px}.moment{padding:22px}.humeurs-soir{gap:6px}.mini-chip{margin-left:4px}.tuiles-lacher{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Promesse de l'app : ligne blanche, case ronde à droite (vide → pleine prune ; minimale = moitié prune, moitié lilas) */
div.promesse{position:relative;padding:10px 14px 10px 12px;background:var(--papier);border:1px solid var(--ligne);border-radius:20px}
div.promesse:hover{border-color:var(--case)}
.prom-toucher{position:absolute;inset:0;border-radius:20px;z-index:1}
.prom-toucher:disabled{cursor:default}
.promesse .t small{display:block}
.promesse[data-fait="minimal"] .t small{color:var(--prune);font-weight:600}
.promesse .mini-chip{position:relative;z-index:2;display:inline-flex;margin:6px 0 0;padding:4px 10px;border-radius:999px;background:var(--papier-2);color:var(--prune);font-size:11.5px;font-weight:600;border:0;transition:background .15s}
.promesse .mini-chip:hover{background:var(--peche)}
.case{width:28px;height:28px;border-radius:50%;border:2px solid var(--case);flex-shrink:0;display:grid;place-items:center;color:#fff;transition:border-color .2s}
div.promesse:hover .case:not(.pleine):not(.moitie){border-color:var(--prune)}
.case.pleine{background:var(--prune);border-color:var(--prune)}
.case.pleine .ico{stroke-width:2.6}
.case.moitie{border:0;display:flex;overflow:hidden}.case.moitie i{flex:1}.case.moitie i:first-child{background:var(--prune)}.case.moitie i:last-child{background:var(--lilas)}
.case.vient{animation:case-pop .45s cubic-bezier(.3,1.6,.5,1)}
.case.vient .ico{animation:case-trait .35s .1s ease-out both}
@keyframes case-pop{0%{transform:scale(.55)}60%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes case-trait{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.case.vient,.case.vient .ico{animation:none}}

/* ---------- Écrans repris de l'app : Mon parcours, Ma roue de vie ---------- */
.surtitre-app{display:block;font-size:10.5px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--prune)}
.surtitre-app.peche{color:var(--peche)}
.titre-app{font-family:var(--ui);font-weight:800;font-size:30px;letter-spacing:-.03em;line-height:1.1}
.parcours-tete{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.carte-app{background:var(--papier);border-radius:24px;padding:16px 18px;min-width:0;box-shadow:0 1px 0 rgba(42,28,55,.03),0 14px 30px -24px rgba(42,28,55,.35)}
.serif{font-family:var(--titre);font-style:italic}
.pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--peche);color:var(--encre,#2A1C37);font-size:12px;font-weight:700;white-space:nowrap}
.pill.prune{background:var(--prune);color:#fff}

.parcours-app{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:22px;align-items:start}
.parcours-g{display:flex;flex-direction:column;gap:12px;position:sticky;top:16px}
.aube-carte{padding:14px 12px 0;display:flex;flex-direction:column;align-items:center;overflow:hidden}
.aube-tete{align-self:stretch;display:flex;justify-content:space-between;font-size:12.5px;padding:0 4px}.aube-tete span{color:var(--texte-2)}
.aube-claire{width:min(100%,420px);display:block}
.heros-etape{position:relative;overflow:hidden;isolation:isolate;background:var(--prune);color:#fff;border-radius:26px;padding:20px;display:flex;flex-direction:column;gap:16px}
.halo-sombre{position:absolute;right:-130px;top:-140px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(227,128,79,.55),rgba(227,128,79,.12) 45%,transparent 70%);z-index:-1}
.he-haut{display:flex;align-items:center;gap:14px}.he-haut>div{flex:1;min-width:0}
.heros-etape h2{font-family:var(--ui);font-weight:800;font-size:36px;letter-spacing:-.03em;line-height:1.02}
.sens{font-family:var(--titre);font-style:italic;font-size:18px;color:var(--texte-2);line-height:1.2}
.heros-etape .sens{color:var(--peche);font-size:19px}
.vignette-etape{display:block;width:52px;height:52px;border-radius:15px;overflow:hidden;flex-shrink:0}
.vignette-etape.grande{width:88px;height:88px;border-radius:28px}
.vignette-etape svg{width:100%;height:100%;display:block}
.he-barre{display:flex;gap:4px}.he-barre i{flex:1;height:8px;border-radius:4px}
.he-jour{font-size:13.5px}
.lettre-ligne{display:flex;align-items:center;gap:12px;text-decoration:none;padding:10px 14px}
.lettre-ligne span:nth-child(2){flex:1}.lettre-ligne b{display:block;font-size:15px}.lettre-ligne small{color:var(--texte-2);font-size:12.5px}
.lettre-ico{width:36px;height:36px;border-radius:12px;background:var(--lilas);color:var(--prune);display:grid;place-items:center}

.frise{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;position:relative}
.frise-etape{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:start;position:relative}
.frise-etape:not(:last-child)::before{content:"";position:absolute;left:25px;top:52px;bottom:-12px;width:2px;background:var(--ligne)}
.frise-etape .vignette-etape{margin-top:8px}
.frise-etape.avenir .vignette-etape{opacity:.75}
.etape-app{position:relative;display:flex;flex-direction:column;gap:6px;border:1.5px solid transparent}
.frise-etape.avenir .etape-app{background:#FDF9F5;box-shadow:none}
.frise-etape.avenir .etape-app h3,.frise-etape.avenir .etape-app .surtitre-app{color:#8E8093}
.etape-app.ouverte{border-color:var(--lilas)}
.etape-ouvrir{position:absolute;inset:0;border-radius:24px;z-index:1}
.etape-app.ouverte .etape-ouvrir{bottom:auto;height:96px}
.etape-app h3{font-family:var(--ui);font-weight:800;font-size:22px;letter-spacing:-.02em;line-height:1.1}
.etape-app .sens{font-size:15px}
.badge-point{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--lilas);color:var(--prune);font-style:normal;font-size:9.5px;letter-spacing:.02em;text-transform:none;font-weight:700;vertical-align:1px}
.etape-bas{display:flex;align-items:center;gap:10px;margin-top:4px;color:var(--texte-3)}
.etape-bas .pj-ligne{margin-left:auto;display:flex;gap:4px}
.etape-app .pill{align-self:flex-start;margin-top:4px}

/* Pastilles de jour (Pastille.tsx) */
.pj{--t:42px;width:var(--t);height:var(--t);border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:700;color:#2A1C37;background:var(--abricot);border:0;position:relative;z-index:2}
.pj-ligne .pj{--t:9px}
.legende-app .pj{--t:11px;display:inline-block;vertical-align:-1px;margin-right:5px}
.pj.st-partielle{background:linear-gradient(90deg,var(--abricot) 50%,var(--peche) 50%)}
.pj.st-manquee{background:transparent;box-shadow:inset 0 0 0 1.5px #B9A6CC;color:#8B77A0}
.pj.st-repos{background:transparent;border:1.5px dashed #CDB9A8;color:var(--texte-2)}
.pj.st-retour,.pj.st-aujourdhui{background:var(--prune);color:#fff}
.pj.st-aujourdhui{box-shadow:0 0 0 4px var(--lilas)}
.pj.st-avenir{background:var(--fond);color:#B8AAB9}
.pj.st-avant{background:var(--papier-2);opacity:.6;color:#D3C6CC}
.pj.point{box-shadow:inset 0 0 0 2px var(--prune)}
button.pj[aria-pressed="true"]{outline:2px solid var(--prune);outline-offset:3px}
button.pj.st-avenir{cursor:default}
.pj-grille{display:grid;grid-template-columns:repeat(5,var(--t,42px));justify-content:space-between;gap:12px 8px;margin:10px 6px 4px;position:relative;z-index:2}
.legende-app{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;font-size:12px;color:var(--texte-2)}
.detail-jour-app{position:relative;z-index:2}
.detail-app{margin-top:6px;padding:12px 14px;border-radius:18px;background:var(--fond)}
.detail-statut{font-size:13.5px;margin:2px 0 10px;color:var(--texte-2)}.detail-statut b{color:var(--texte)}
.detail-app .promesses{gap:8px}

/* Ma roue de vie */
.btn-partager{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;background:var(--papier);font-weight:700;font-size:13px;text-decoration:none;box-shadow:0 10px 24px -18px rgba(42,28,55,.5)}
.roue-app{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.roue-g,.roue-d{display:flex;flex-direction:column;gap:14px;min-width:0}
.segment-app{display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--papier-2)}
.segment-app button{flex:1;padding:8px;border-radius:999px;font-size:12.5px;font-weight:700;color:#C2B5C4}
.segment-app button.dispo{color:var(--texte-2)}
.segment-app button[aria-selected="true"]{background:var(--prune);color:#fff}
.bandeau-du{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:20px;background:var(--prune);color:#fff;font-weight:700;font-size:14px;text-decoration:none}
.bandeau-du .ico:first-child{color:var(--peche)}.bandeau-du span{flex:1}
.fleur-cadre,.roue-absente{position:relative;display:grid;place-items:center;padding:16px 0}
.halo-roue{position:absolute;width:min(110%,460px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(227,128,79,.6) 0%,rgba(236,226,245,.75) 45%,rgba(251,244,238,0) 70%);z-index:0}
.fleur{position:relative;z-index:1;width:min(100%,420px);height:auto;font-family:var(--ui)}
.fleur .petale{transform-origin:150px 150px;animation:petale .7s cubic-bezier(.3,1.3,.5,1) both;animation-delay:calc(var(--i) * 60ms)}
@keyframes petale{from{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}
@media (prefers-reduced-motion:reduce){.fleur .petale{animation:none}}
.roue-absente{min-height:330px}.roue-absente>div{position:relative;z-index:1;max-width:320px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center}
.roue-absente h2{font-family:var(--titre);font-size:28px;line-height:1.15}
.centre{text-align:center}
.tuiles-dom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tuile-dom{background:var(--papier);border-radius:18px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:0}
.tuile-dom small{font-size:12px;font-weight:700;color:var(--texte-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tuile-dom.prio small{color:var(--prune)}
.tuile-dom div{display:flex;align-items:baseline;gap:6px}
.tuile-dom b{font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1}
.tuile-dom .v0{font-size:18px;font-weight:600;color:#B5A7BD}
.ecart{align-self:center;margin-left:auto;padding:2px 8px;border-radius:999px;background:var(--papier-2);color:var(--prune);font-size:11px;font-weight:800}
.ecart.plus{background:var(--peche);color:#2A1C37}
.liens-couv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.lien-couv{text-decoration:none}
.couv.lien{height:104px;border-radius:20px;padding:12px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.couv.lien>svg{position:absolute;inset:0;width:100%;height:100%}
.couv.lien .lc-ico,.couv.lien b{position:relative}
.lc-ico{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.75);color:var(--prune);display:grid;place-items:center}
.couv.lien b{font-size:13px;font-weight:800;line-height:1.15}
.chiffres-app{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}
.chiffres-app span{display:flex;flex-direction:column;font-size:12.5px;color:var(--texte-2)}.chiffres-app b{font-size:26px;font-weight:800;letter-spacing:-.03em;color:var(--texte)}
.carte-app .roue{margin-top:10px}

@media (max-width:1000px){
  .parcours-app,.roue-app{grid-template-columns:minmax(0,1fr)}
  .parcours-g{position:static}
}
@media (max-width:520px){
  .titre-app{font-size:26px}
  .pj{--t:36px;font-size:13px}
  .heros-etape h2{font-size:30px}
  .vignette-etape.grande{width:72px;height:72px;border-radius:22px}
  .frise-etape{grid-template-columns:44px minmax(0,1fr);gap:10px}
  .frise-etape .vignette-etape{width:44px;height:44px;border-radius:13px}
  .frise-etape:not(:last-child)::before{left:21px;top:44px}
  .liens-couv{gap:8px}
}
.couv.lien{aspect-ratio:auto;flex-wrap:nowrap;align-content:normal}
.grille>.carte-app{display:block}
.soirs-app li{grid-template-columns:90px minmax(0,1fr) 28px}
.halo-roue{width:min(100%,400px)}
.legende-app li{display:inline-flex;align-items:center}
.carte-app ul.legende-app{flex-direction:row;padding-left:0;align-self:stretch}
.carte-app ul.roue{padding-left:0}

/* ---------- Menu : sous-pages de l'Atelier, cadenas ---------- */
.nav .groupe em{font-style:normal;font-weight:500;letter-spacing:.04em;text-transform:none;opacity:.6}
.nav-sous{display:block;margin:8px 0 2px 14px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--creme-3)}
.nav a.sous{padding-top:6px;padding-bottom:6px;padding-left:26px;font-size:13.5px}
.nav-t{flex:1;min-width:0}
.nav-cadenas{display:inline-grid;place-items:center;color:var(--or);opacity:.9}
/* ---------- Section fermée : aperçu flouté + carte ---------- */
#contenu[data-module-plus]{position:relative}
.verrou-apercu{filter:blur(5px) saturate(.85);opacity:.6;pointer-events:none;user-select:none;max-height:900px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,transparent)}
.verrou-carte{position:absolute;left:50%;top:120px;transform:translateX(-50%);width:min(420px,calc(100% - 8px));background:var(--papier);border-radius:28px;padding:30px 26px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 30px 60px -30px rgba(42,28,55,.55);border:1px solid var(--ligne)}
.verrou-carte h2{font-family:var(--titre);font-size:36px;line-height:1}
.cadenas-or{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#2A1C37;background:radial-gradient(circle at 35% 30%,#F3DCAE,#D3AE78 55%,#A8814D);box-shadow:inset 0 -3px 6px rgba(0,0,0,.18)}
.reliure{scrollbar-width:thin;scrollbar-color:rgba(251,239,227,.18) transparent}.reliure::-webkit-scrollbar{width:6px}.reliure::-webkit-scrollbar-thumb{background:rgba(251,239,227,.18);border-radius:3px}


/* ------------------------------------------------------------------ La coquille : menu en pilule (04/11/2026) */
.espace{display:block;position:relative;overflow:clip;min-height:100vh;grid-template-columns:none}
.aube-fond{position:absolute;left:0;right:0;top:0;height:860px;pointer-events:none;opacity:.32;transition:opacity 1.2s ease;background:radial-gradient(60% 70% at 78% 16%,#F9C9A4,transparent 70%),radial-gradient(50% 60% at 16% 6%,#ECE2F5,transparent 70%)}
.pilule-ancre{position:sticky;top:0;z-index:30;display:flex;justify-content:center;padding:14px 16px 0;pointer-events:none}
.pilule{position:relative;pointer-events:auto;display:flex;align-items:center;gap:2px;padding:7px;border-radius:999px;color:var(--creme);background:radial-gradient(90% 160% at 12% 0%,rgba(255,255,255,.09),transparent 55%),linear-gradient(135deg,#3B2650,#2A1C37 60%,#4A3162);box-shadow:0 14px 34px rgba(42,28,55,.26)}
.pil-soleil{display:grid;place-items:center;width:44px;height:44px;margin-right:4px;border-radius:50%}
.pil-lien{display:flex;align-items:center;min-height:44px;padding:0 15px;border-radius:999px;font-size:15px;font-weight:500;color:rgba(251,244,238,.74);white-space:nowrap;text-decoration:none;transition:color .2s ease}
.pil-lien:hover,.pil-lien[aria-expanded]{color:#fff}
.pil-lien.on{color:#fff;font-weight:800}
.pil-lien.plus{color:#F6AA78}.pil-lien.plus:hover,.pil-lien.plus[aria-expanded]{color:#FBC9A4}.pil-lien.plus.on{color:#fff}
.pil-sep{width:1px;height:20px;margin:0 6px;background:rgba(251,244,238,.2)}
.pil-avatar{display:grid;place-items:center;width:40px;height:40px;margin-left:4px;border-radius:50%;background:var(--abricot);color:#2A1C37;font-weight:800;font-size:15px;cursor:pointer}
.pil-panneau{position:absolute;top:100%;left:0;right:0;padding-top:10px}
.pil-panneau[hidden]{display:none}
.pil-panneau.moi{left:auto;width:270px}
.pil-panneau-int{padding:12px;border-radius:24px;background:#fff;color:var(--texte);box-shadow:0 24px 60px rgba(42,28,55,.22);animation:pil-ouvre .22s cubic-bezier(.2,.8,.2,1)}
@keyframes pil-ouvre{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.pil-g{display:grid;gap:10px}.pil-g2{grid-template-columns:repeat(2,minmax(0,1fr))}.pil-g3{grid-template-columns:repeat(3,minmax(0,1fr))}.pil-g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.pil-tuile{display:flex;flex-direction:column;justify-content:flex-end;gap:3px;min-height:108px;padding:14px;border-radius:16px;background:var(--papier-2);font-size:13px;line-height:1.3;color:#5B4A68;text-decoration:none;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.pil-tuile:hover{transform:translateY(-2px)}
.pil-tuile b{display:flex;align-items:center;gap:5px;font-size:15px;font-weight:700;color:var(--texte)}
.pil-tuile.velours{background:linear-gradient(135deg,#3B2650,#2A1C37 60%,#4A3162);color:rgba(251,244,238,.78)}.pil-tuile.velours b{color:#fff}
.pil-tuile.peche{background:var(--peche)}.pil-tuile.lilas{background:var(--lilas)}
.pil-tuile.cuir{background:linear-gradient(140deg,#7A2848,#4C1A2E);color:rgba(255,255,255,.8)}.pil-tuile.cuir b{color:#fff}
.pil-tuile.noyer{background:linear-gradient(140deg,#5C3D28,#3A2517);color:rgba(255,255,255,.8)}.pil-tuile.noyer b{color:#fff}
.pil-moi{display:flex;flex-direction:column;gap:2px}
.pil-moi a,.pil-moi button{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:12px;font-size:15px;font-weight:500;color:var(--texte);text-decoration:none;width:100%;text-align:left;cursor:pointer}
.pil-moi a:hover,.pil-moi button:hover{background:var(--papier-2)}
.pil-qui{padding:6px 12px 10px;min-width:0}.pil-qui b{display:block}.pil-qui small{display:block;color:var(--texte-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pil-groupe{padding:8px 12px 2px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--texte-2)}
.sp-ancre{position:relative;z-index:20;display:flex;justify-content:center;padding:10px 16px 0}
.sous-pilule{display:flex;align-items:center;gap:2px;padding:5px;border-radius:999px;background:#fff;box-shadow:0 8px 22px rgba(42,28,55,.1)}
.sous-mobile{display:none}
.sp-l{display:flex;align-items:center;gap:6px;min-height:40px;padding:0 15px;border-radius:999px;font-size:14px;font-weight:500;color:#5B4A68;white-space:nowrap;text-decoration:none;cursor:pointer}
.sp-l:hover{color:var(--texte)}
.sp-l.on{color:var(--texte);font-weight:800;background:var(--peche)}
.sp-groupe{position:relative}
.sp-deroule{display:none;position:absolute;top:100%;left:0;padding-top:8px;z-index:4}
.sp-deroule>div{display:grid;gap:2px;min-width:190px;padding:8px;border-radius:18px;background:#fff;box-shadow:0 20px 50px rgba(42,28,55,.2)}
.sp-deroule .sp-l{border-radius:12px;font-size:15px}
.sp-groupe.ouvert .sp-deroule{display:block}
@media (hover:hover){.sp-groupe:hover .sp-deroule{display:block}}
.page{position:relative;padding-top:24px}
.page-int{max-width:1240px}
/* ce qui reste en place au défilement passe sous la pilule */
.parcours-g,.cl-l-d,.vt-tel,.vt-qr-cadre,.a2i-apercu{top:88px}
.lv-chat{top:88px!important}

/* Aujourd'hui */
.auj-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:end;padding:36px 6px 14px}
.auj-etape{margin:0 0 12px;font-size:15px;font-weight:600;color:#5B4A68}
.auj-etape::first-letter{text-transform:uppercase}
.auj-titre{margin:0;font-family:var(--titre);font-weight:400;font-size:clamp(64px,8.4vw,120px);line-height:.98;letter-spacing:-.025em}
.auj-titre em{color:#C9562A;margin-right:.02em}
.auj-phrase{margin:16px 0 0;font-family:var(--titre);font-style:italic;font-size:26px;line-height:1.25;color:#4A3162}
.auj-soleil svg{display:block;width:100%}
.soleil-monte{transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.auj-bento{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:16px;align-items:start}
.auj-colonne{display:flex;flex-direction:column;gap:16px;min-width:0}
.auj-live{display:block;padding:24px;border-radius:26px;color:#fff;text-decoration:none;background:radial-gradient(70% 90% at 90% 0%,rgba(255,255,255,.1),transparent 60%),linear-gradient(140deg,#7A2848,#4C1A2E);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.auj-live:hover,a.auj-c:hover,a.pl-carte:hover{transform:translateY(-3px)}
.auj-live span{font-size:14px;font-weight:600;color:rgba(255,255,255,.78)}
.auj-live span::first-letter{text-transform:uppercase}
.auj-live h3{margin:6px 0 0;font-family:var(--titre);font-weight:400;font-size:32px;line-height:1.05}
.auj-trois{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.auj-c{display:flex;flex-direction:column;gap:4px;padding:24px;border-radius:26px;background:#fff;color:var(--texte);text-decoration:none;min-width:0;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.auj-c span{font-size:14px;font-weight:600;color:#5B4A68}
.auj-c h3{display:flex;align-items:center;gap:7px;margin:0;font-family:var(--titre);font-weight:400;font-size:32px;line-height:1.05}
.auj-c p{margin:4px 0 0;font-size:15px;line-height:1.35;opacity:.85}
.auj-c.velours{color:var(--creme)}
.auj-peche{background:var(--peche)}.auj-lilas{background:var(--lilas)}
.auj-noyer{color:#fff;background:linear-gradient(140deg,#5C3D28,#3A2517)}
.auj-pas{display:flex;gap:4px;margin:10px 0 2px}.auj-pas i{flex:1;height:6px;border-radius:6px;background:#fff}.auj-pas i.ok{background:var(--abricot)}
.auj-section{display:flex;justify-content:space-between;align-items:baseline;margin-top:22px;padding:0 6px}
.auj-section h2{margin:0;font-family:var(--titre);font-weight:400;font-size:40px}
.boutons-jour a[href="#concentration"]{display:none}
.auj-sync{margin:8px 0 0;text-align:center}

/* Pour aller plus loin */
.pl-tete{padding:36px 6px 14px}
.pl-titre{margin:0;font-family:var(--titre);font-weight:400;font-size:clamp(56px,7.4vw,104px);line-height:.98;letter-spacing:-.025em}
.pl-titre em{color:#C9562A;margin-right:.02em}
.pl-tete p{margin:14px 0 0;font-size:19px;color:#5B4A68}
.pl-bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.pl-c7{grid-column:span 7}.pl-c5{grid-column:span 5}.pl-c4{grid-column:span 4}
.pl-carte{position:relative;display:flex;flex-direction:column;min-height:320px;padding:28px;border-radius:30px;overflow:hidden;color:var(--texte);text-decoration:none;min-width:0;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.pl-carte h2{margin:0;font-family:var(--titre);font-weight:400;font-size:46px;line-height:1;letter-spacing:-.01em}
.pl-carte p{margin:8px 0 0;font-size:16px;line-height:1.35;max-width:340px;opacity:.85}
.pl-carte.velours{color:var(--creme)}
.pl-verrou{position:absolute;top:20px;right:20px;display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;font-size:12.5px;font-weight:600;background:rgba(255,255,255,.92);color:var(--texte)}
.pl-armoire{color:#fff;background:radial-gradient(70% 90% at 90% 0%,rgba(255,255,255,.08),transparent 60%),linear-gradient(140deg,#5C3D28,#3A2517)}
.pl-rayon{display:flex;align-items:flex-end;gap:10px;margin-top:auto;padding:22px 6px 0;border-bottom:7px solid #7A5339;box-shadow:0 8px 12px rgba(0,0,0,.28)}
.pl-livre{display:flex;align-items:center;justify-content:center;text-align:center;width:112px;height:150px;border-radius:5px 7px 7px 5px;padding:8px;box-shadow:inset 6px 0 8px rgba(0,0,0,.2),0 4px 8px rgba(0,0,0,.3);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
a.pl-armoire:hover .pl-livre:first-child{transform:translateY(-10px)}
.pl-livre span{display:block;background:var(--creme);color:var(--texte);border-radius:4px;padding:8px 6px;font-family:var(--titre);font-size:17px;line-height:1.05}
.pl-outils{list-style:none;margin:auto 0 0;padding:22px 0 0;display:grid;gap:8px}
.pl-outils li{display:flex;align-items:center;min-height:46px;padding:0 16px;border-radius:14px;background:rgba(251,244,238,.09);font-size:15px}
.pl-lilas{background:var(--lilas)}.pl-peche{background:var(--peche)}
.pl-cuir{color:#fff;background:radial-gradient(70% 90% at 90% 0%,rgba(255,255,255,.1),transparent 60%),linear-gradient(140deg,#7A2848,#4C1A2E)}
.pl-noms{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:20px}
.pl-noms span{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border-radius:999px;background:#fff;font-size:14px;font-weight:600}
.pl-formes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:auto;padding-top:20px}
.pl-formes div{aspect-ratio:1;border-radius:14px;display:grid;place-items:center;font-size:13px;font-weight:600;color:#fff}
.pl-inserts{display:flex;gap:10px;margin-top:auto;padding-top:20px}
.pl-inserts div{flex:1;min-width:0;min-height:112px;display:flex;align-items:flex-end;padding:10px;border-radius:6px 10px 10px 6px;background:var(--creme);color:var(--texte);box-shadow:inset 5px 0 6px rgba(0,0,0,.08);font-family:var(--titre);font-size:19px;overflow-wrap:anywhere}

/* Le menu complet du téléphone */
.menu-plein{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;color:var(--creme);background:linear-gradient(170deg,#3B2650,#2A1C37 60%,#22162D);padding-top:env(safe-area-inset-top,0px);animation:mp-ouvre .24s cubic-bezier(.2,.8,.2,1)}
@keyframes mp-ouvre{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
body.menu-ouvert{overflow:hidden}
.mp-tete{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px max(16px,env(safe-area-inset-right,0px)) 12px max(16px,env(safe-area-inset-left,0px))}
.mp-tete .marque{flex-direction:row;align-items:center;gap:10px}.mp-tete .marque svg{width:36px;height:20px}.mp-tete .mot{font-size:12.5px;color:var(--creme)}
.mp-fermer{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(251,244,238,.1);color:var(--creme);cursor:pointer}
.mp-corps{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px max(16px,env(safe-area-inset-right,0px)) calc(28px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.mp-corps section{margin-top:14px}
.mp-corps h2{margin:0 0 6px;padding-left:4px;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(251,244,238,.6)}
.mp-liste{display:flex;flex-direction:column;border-radius:18px;background:rgba(251,244,238,.07);overflow:hidden}
.mp-liste a,.mp-liste button{display:flex;align-items:center;gap:12px;min-height:50px;padding:0 14px;width:100%;color:var(--creme);text-decoration:none;font-size:16px;font-weight:500;text-align:left;cursor:pointer;border-top:1px solid rgba(251,244,238,.07)}
.mp-liste>:first-child{border-top:0}
.mp-liste a.on{font-weight:800;color:#fff;background:rgba(251,244,238,.08)}
.mp-ico{display:grid;place-items:center;color:#F6AA78;flex:none}
.mp-t{flex:1;min-width:0}
.mp-email{margin:8px 0 0;padding-left:4px;font-size:13px;color:rgba(251,244,238,.6);overflow-wrap:anywhere}

@media (max-width:1040px){.pil-lien{padding:0 11px;font-size:14px}}
@media (max-width:900px){
  .pilule-ancre{display:none}
  .sp-ancre{padding:10px 0 0;justify-content:stretch}
  .sous-pilule{display:none}
  .sous-mobile{display:flex;gap:4px;width:100%;overflow-x:auto;padding:4px 16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .sous-mobile::-webkit-scrollbar{display:none}
  .sous-mobile .sp-l{flex:none;background:#fff}
  .sous-mobile .sp-l.on{background:var(--peche)}
  .barre-mobile{background:transparent;backdrop-filter:none;border:0;position:relative;color:var(--texte)}
  .barre-mobile .mot{color:var(--texte)}
  .barre-mobile .av{text-decoration:none}
  .onglets-bas{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom,0px));padding:4px;border:0;border-radius:26px;color:rgba(251,244,238,.72);background:linear-gradient(135deg,#3B2650,#2A1C37 60%,#4A3162);box-shadow:0 12px 30px rgba(42,28,55,.3)}
  .onglets-bas a,.onglets-bas button{color:rgba(251,244,238,.72);min-height:54px;justify-content:center;cursor:pointer}
  .onglets-bas [aria-current="page"]{color:#fff;font-weight:800}
  .onglets-bas [aria-current="page"] .ico{color:#F6AA78}
  .auj-hero{grid-template-columns:minmax(0,1fr);gap:8px;padding:10px 2px 4px}
  .auj-titre{font-size:clamp(58px,17vw,84px)}
  .auj-titre br{display:none}
  .auj-phrase{font-size:22px}
  .auj-soleil svg{max-height:150px}
  .auj-bento,.auj-trois{grid-template-columns:minmax(0,1fr)}
  .auj-section h2{font-size:32px}
  .pl-tete{padding:12px 2px 4px}
  .pl-c7,.pl-c5,.pl-c4{grid-column:span 12}
  .pl-carte{min-height:0;padding:22px}
  .pl-carte h2{font-size:38px}
  .pl-livre{width:30%;height:124px}
  .pl-livre:nth-child(4){display:none}
  .pl-rayon{margin-top:18px}
  .pl-verrou{top:14px;right:14px}
  .parcours-g,.cl-l-d,.vt-tel,.vt-qr-cadre,.a2i-apercu{top:16px}
}
@media (prefers-reduced-motion:reduce){.aube-fond,.soleil-monte,.pil-panneau-int,.menu-plein{transition:none;animation:none}}

/* Programme à venir : tout est grisé, rien n'est cliquable */
.live-a-venir{border-radius:26px;padding:26px}
.live-a-venir .surtitre{color:var(--creme-2)}
.live-a-venir h2{margin:6px 0 0;font-family:var(--titre);font-weight:400;font-size:40px;color:var(--creme)}
.vignette.grisee{cursor:default;pointer-events:none}
.vignette.grisee .couv{filter:grayscale(1);opacity:.55}
.vignette.grisee>b{color:var(--texte-2);font-weight:600}

.auj-journal{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 18px;padding:16px 2px;margin-top:6px;border-top:1px solid var(--texte);border-bottom:1px solid var(--ligne);text-decoration:none;color:inherit;font-size:14px;font-weight:600}
.auj-journal em{font-family:var(--titre);font-weight:400;font-size:16px}
.saison-fermee{display:flex;flex-direction:column;align-items:center;gap:10px;margin:clamp(20px,6vw,60px) auto;max-width:560px;padding:clamp(32px,6vw,54px) 26px;border-radius:30px;text-align:center}
.saison-fermee h1{font-family:var(--titre);font-size:clamp(40px,6vw,62px);line-height:1}
.saison-fermee p{max-width:40ch;color:var(--creme-2);font-size:15.5px}.saison-fermee .sf-inclus{font-size:13.5px}
.saison-fermee .btn{margin-top:10px}.saison-fermee .cadenas-or{color:var(--abricot)}
