/* C22–C26 — contrat CSS prudent.
   C22 : une priorité non nécessaire est retirée du socle.
   C23 : les valeurs communes restent regroupées ici, sans réécrire la charte.
   C24 : les contrôles d’action partagent la même géométrie de contenu.
   C25 : le dessin des deux halos ci-dessous est conservé à l’identique.
   C26 : les garde-fous responsive complètent les seuils validés du portail. */
#app :is(.btn,.pj-cta),
#app #playChallengeCard,
#entry .connect,
#adminAuthModal .connect,
#contentDetailActions .btn,
#cseAdminApp :is(.btn,.mini-action,.admin-exit-fixed,.admin-back-fixed){
  --cse-action-transition:box-shadow .2s ease-out,border-color .2s ease-out,background .2s ease-out,color .2s ease-out,text-shadow .2s ease-out;
  --cse-halo-aura-blur:7px;
  --cse-halo-hot:#E8FAFF;
  --cse-halo-mid:#8FE9FF;
  --cse-halo-wide:rgba(15,155,215,.78);
  --cse-halo-inner:rgba(232,250,255,.42);
  --cse-halo-soft:rgba(232,250,255,.78);
  --cse-halo-bloom:rgba(143,233,255,.62);
  --cse-halo-wash:rgba(143,233,255,.24);
  --cse-halo-aura-core:rgba(232,250,255,.34);
  --cse-halo-aura-edge:rgba(143,233,255,.16);
  --cse-halo-bg:#EAF8FD;
  --cse-halo-ink:#0E1F45;
  --cse-halo-text:0 0 0 transparent;
  position:relative;isolation:isolate;overflow:visible;
  box-sizing:border-box;
  transition:var(--cse-action-transition);
}
#app :is(.btn,.pj-cta),
#entry .connect,
#adminAuthModal .connect,
#contentDetailActions .btn,
#cseAdminApp :is(.btn,.mini-action,.admin-exit-fixed,.admin-back-fixed){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
#app :is(.btn.primary,.btn.btn--primary),
#app #playChallengeCard,
#entry .connect,
#adminAuthModal .connect,
#contentDetailActions .btn,
#cseAdminApp .btn.primary{
  --cse-halo-hot:#FFF0F8;
  --cse-halo-mid:#FF6FB4;
  --cse-halo-wide:rgba(214,0,109,.78);
  --cse-halo-inner:rgba(255,240,248,.42);
  --cse-halo-soft:rgba(255,240,248,.78);
  --cse-halo-bloom:rgba(255,111,180,.62);
  --cse-halo-wash:rgba(255,111,180,.24);
  --cse-halo-aura-core:rgba(255,240,248,.34);
  --cse-halo-aura-edge:rgba(255,111,180,.16);
  --cse-halo-bg:#BE005F;
  --cse-halo-ink:#FFFDF9;
  --cse-halo-text:0 0 2px #fff,0 0 7px var(--cse-halo-hot),0 0 14px var(--cse-halo-mid);
}
#app .btn.btn--navy{
  --cse-halo-bg:#123665;
  --cse-halo-ink:#fff;
  --cse-halo-text:0 0 2px #fff,0 0 7px var(--cse-halo-hot),0 0 14px var(--cse-halo-mid);
}
#app .pj-cta{
  --cse-halo-hot:#FFF7D6;
  --cse-halo-mid:#FFC64D;
  --cse-halo-wide:rgba(241,138,50,.78);
  --cse-halo-inner:rgba(255,247,214,.42);
  --cse-halo-soft:rgba(255,247,214,.78);
  --cse-halo-bloom:rgba(255,198,77,.62);
  --cse-halo-wash:rgba(255,198,77,.24);
  --cse-halo-aura-core:rgba(255,247,214,.34);
  --cse-halo-aura-edge:rgba(255,198,77,.16);
  --cse-halo-bg:rgba(241,138,50,.31);
  --cse-halo-ink:#FFFDF3;
  --cse-halo-text:0 0 2px #fff,0 0 7px var(--cse-halo-hot),0 0 14px var(--cse-halo-mid);
}
#app :is(.btn,.pj-cta)::before,
#app #playChallengeCard::before,
#entry .connect::before,
#app :is(.btn,.pj-cta)::after,
#app #playChallengeCard::after,
#entry .connect::after,
#adminAuthModal .connect::before,
#contentDetailActions .btn::before,
#cseAdminApp :is(.btn,.mini-action,.admin-exit-fixed,.admin-back-fixed)::before{
  content:"";display:block;position:absolute;pointer-events:none;border-radius:inherit;opacity:0;
}
#app :is(.btn,.pj-cta)::before,
#app #playChallengeCard::before,
#entry .connect::before,
#adminAuthModal .connect::before,
#contentDetailActions .btn::before,
#cseAdminApp :is(.btn,.mini-action,.admin-exit-fixed,.admin-back-fixed)::before{
  inset:-2px;border:1.5px solid var(--cse-halo-hot);
  box-shadow:0 0 5px #fff,0 0 13px var(--cse-halo-mid),0 0 28px var(--cse-halo-wide),inset 0 0 11px var(--cse-halo-inner);
  transform:scale(.94);
}
#app :is(.btn,.pj-cta)::after,
#app #playChallengeCard::after,
#entry .connect::after,
#adminAuthModal .connect::after,
#contentDetailActions .btn::after,
#cseAdminApp :is(.btn,.mini-action,.admin-exit-fixed,.admin-back-fixed)::after{
  inset:-8px;z-index:-1;
  background:radial-gradient(ellipse at center,var(--cse-halo-aura-core),var(--cse-halo-aura-edge) 42%,transparent 72%);
  filter:blur(var(--cse-halo-aura-blur));transform:scale(.82);
}
/* L'état et ses couches ont exactement les mêmes cibles : pas de priorité cachée. */
#app :is(.btn,.pj-cta):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active,[data-cse-halo-state="on"]),
#app #playChallengeCard:not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active,[data-cse-halo-state="on"]),
#entry .connect:not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active,[data-cse-halo-state="on"]),
#adminAuthModal .connect:not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active,[data-cse-halo-state="on"]),
#contentDetailActions .btn:not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active,[data-cse-halo-state="on"]),
#cseAdminApp :is(.btn,.mini-action,.admin-exit-fixed,.admin-back-fixed):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active,[data-cse-halo-state="on"]){
  transform:none !important;
  border-color:var(--cse-halo-hot) !important;
  background:var(--cse-halo-bg) !important;
  color:var(--cse-halo-ink) !important;
  text-shadow:var(--cse-halo-text) !important;
  box-shadow:0 0 10px var(--cse-halo-soft),0 0 27px var(--cse-halo-bloom),inset 0 0 22px var(--cse-halo-wash) !important;
}
#app :is(.btn,.pj-cta):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active,[data-cse-halo-state="on"])::before,
#app #playChallengeCard:not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active,[data-cse-halo-state="on"])::before,
#entry .connect:not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active,[data-cse-halo-state="on"])::before,
#adminAuthModal .connect:not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active,[data-cse-halo-state="on"])::before,
#contentDetailActions .btn:not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active,[data-cse-halo-state="on"])::before,
#cseAdminApp :is(.btn,.mini-action,.admin-exit-fixed,.admin-back-fixed):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active,[data-cse-halo-state="on"])::before{
  opacity:.92;transform:scale(1);animation:pj-cta-outline .46s ease-out both;
}
#app :is(.btn,.pj-cta):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active,[data-cse-halo-state="on"])::after,
#app #playChallengeCard:not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active,[data-cse-halo-state="on"])::after,
#entry .connect:not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active,[data-cse-halo-state="on"])::after,
#adminAuthModal .connect:not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active,[data-cse-halo-state="on"])::after,
#contentDetailActions .btn:not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active,[data-cse-halo-state="on"])::after,
#cseAdminApp :is(.btn,.mini-action,.admin-exit-fixed,.admin-back-fixed):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active,[data-cse-halo-state="on"])::after{
  opacity:.72;transform:scale(1);animation:pj-cta-aura .46s ease-out both;
}
@media (prefers-reduced-motion:reduce){
  #app :is(.btn,.pj-cta),
#app #playChallengeCard,
#entry .connect,
#app :is(.btn,.pj-cta)::before,
#app #playChallengeCard::before,
#entry .connect::before,
#app :is(.btn,.pj-cta)::after,
#app #playChallengeCard::after,
#entry .connect::after,
#adminAuthModal .connect,
#contentDetailActions .btn,
#cseAdminApp :is(.btn,.mini-action,.admin-exit-fixed,.admin-back-fixed){transition:none;animation:none !important}
}

@keyframes pj-cta-outline{0%,56%{opacity:0;transform:scale(.94)}78%{opacity:1;transform:scale(1.035)}100%{opacity:.92;transform:scale(1)}}
@keyframes pj-cta-aura{0%,56%{opacity:0;transform:scale(.82)}80%{opacity:1;transform:scale(1.08)}100%{opacity:.72;transform:scale(1)}}

#app :is(.v18-team,.v18-annonces){display:grid;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:var(--sp-4)}
#app :is(.v18-person,.v18-annonces article){display:flex!important;flex-direction:column!important;min-height:0!important;padding:8px!important;border:1px solid var(--line);border-radius:var(--r-carte)!important;background:var(--surface)!important;box-shadow:var(--sh-1);overflow:visible!important}
#app :is(.v18-avatar,.v44-portrait-stage,.v18-annonce-photo){width:100%!important;aspect-ratio:16/9!important;min-height:0;height:auto;align-self:stretch!important;flex:none;border-radius:12px!important;overflow:hidden!important}
#app .v18-annonces article>div:last-child{padding:var(--sp-3);flex:1}
@media(max-width:1024px){#app :is(.v18-team,.v18-annonces){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){#app :is(.v18-team,.v18-annonces){grid-template-columns:1fr!important}}
/* C26 — protections de débordement sans modifier les dimensions validées. */
@media(max-width:1024px){
  #app :is(.v18-team,.v18-annonces),
  #app :is(.v18-person,.v18-annonces article){min-width:0}
}
@media(max-width:680px){
  #app :is(.v18-person,.v18-annonces article){max-width:100%}
  #app :is(.v18-avatar,.v44-portrait-stage,.v18-annonce-photo){max-width:100%}
}
#cseDownloads{position:fixed;bottom:90px;right:16px;z-index:100000;max-width:calc(100vw - 32px);padding:14px;border:1px solid #a3bfd4;background:#fff;color:#123665;border-radius:14px;box-shadow:0 8px 30px #12366533;font-size:14px}
#cseDownloads>div{display:flex;gap:12px;align-items:center}#cseDownloads button{padding:8px;border-radius:8px;border:1px solid #a3bfd4;background:#fff;color:#123665;cursor:pointer}
.game-choice{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #cbd8e7;border-radius:12px;background:#fff;font-size:14px;color:#123665}.game-choice input{width:18px;height:18px}.game-choice span{font-size:22px}

/* V158 — CHARTE COMMUNE FINALE
   Un seul contrat pour l'en-tête, les cartes et les retours. Les pages
   conservent leurs couleurs de rubrique ; leurs composants partagent le
   même contour, le même relief et les mêmes espacements. */
#app .v16-topbar{
  border-bottom:1px solid rgba(84,180,228,.28)!important;
  border-image:none!important;
}
#app .top-inner{border-color:rgba(84,180,228,.32)!important}
#app .v16-toprow > #tabs{
  padding:4px 6px!important;
  border:1px solid rgba(84,180,228,.22)!important;
  border-radius:var(--r-pill)!important;
  background:rgba(232,246,255,.48)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.90),0 4px 13px rgba(31,106,151,.07)!important;
}
#app :is(.ticket,.v18-mini,.v18-person,.v18-annonces article,.list,.step){
  border:1px solid rgba(84,180,228,.30)!important;
  box-shadow:0 8px 22px rgba(31,106,151,.11)!important;
}
.content-detail-card,.privacy-card{
  border-color:rgba(84,180,228,.30);
  box-shadow:0 8px 22px rgba(31,106,151,.11);
}
.content-detail-toolbar button,
.privacy-toolbar button,
.daily-game-toolbar button{
  min-height:42px;
  padding:0 16px;
  border:1px solid rgba(84,180,228,.34);
  border-radius:999px;
  background:#fff;
  color:#0E1F45;
  box-shadow:0 4px 12px rgba(31,106,151,.10);
  font-family:"Manrope",system-ui,sans-serif;
  font-weight:700;
}
.content-detail-toolbar button:hover,
.privacy-toolbar button:hover,
.daily-game-toolbar button:hover{
  border-color:#0B63A8;
  background:#F1F4F9;
}
/* V161 — styles for the lightweight Cherche & trouve game. */
.v42-championship .spotfind-meta{display:flex;justify-content:space-between;gap:10px;max-width:560px;margin:0 auto 9px;color:var(--muted);font-size:11px;font-weight:800;}
.v42-championship .spotfind-meta [data-progress]{color:var(--navy);}
.v42-championship .spotfind-object-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;max-width:560px;margin:0 auto 8px;}
.v42-championship .spotfind-object-chip{min-width:0;min-height:25px;display:flex;align-items:center;justify-content:center;padding:3px 4px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font-size:10px;line-height:1.05;font-weight:900;text-align:center;overflow-wrap:anywhere;}
.v42-championship .spotfind-object-chip.is-found{display:none;background:var(--turquoise-soft);border-color:#8AD4BC;color:var(--green);text-decoration:line-through;}
.v42-championship .spotfind-scene{position:relative;width:min(100%,560px);aspect-ratio:16/9;margin:0 auto;overflow:hidden;border-radius:16px;background:#DDECEF;box-shadow:0 12px 30px rgba(18,38,58,.17);outline:0;user-select:none;touch-action:manipulation;}
.v42-championship .spotfind-scene>img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;}
.v42-championship .spotfind-cleanup{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;pointer-events:none;}
.v42-championship .spotfind-hotspots{position:absolute;inset:0;z-index:2;}
.v42-championship .spotfind-hotspot{position:absolute;transform:translate(-50%,-50%);width:max(34px,var(--spot-w));height:max(34px,var(--spot-h));padding:0;border:2px solid transparent;border-radius:999px;background:transparent;color:#fff;cursor:pointer;font-size:16px;font-weight:950;line-height:1;touch-action:manipulation;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;}
.v42-championship .spotfind-hotspot:hover,.v42-championship .spotfind-hotspot:focus-visible{border-color:rgba(255,255,255,.95);background:rgba(214,0,109,.2);box-shadow:0 0 0 3px rgba(214,0,109,.35);transform:translate(-50%,-50%) scale(1.06);outline:0;}
.v42-championship .spotfind-hotspot.is-found{display:none;border-color:#fff;background:rgba(8,123,121,.62);box-shadow:0 0 0 3px rgba(255,255,255,.7),0 4px 12px rgba(8,71,82,.28);}
.v42-championship .spotfind-hotspot.is-found::after{content:'✓';display:grid;place-items:center;width:100%;height:100%;}
.v42-championship .spotfind-hotspot:disabled{cursor:default;}
.v42-championship .spotfind-scene.is-miss{animation:spotfindMiss .3s ease;}
@keyframes spotfindMiss{0%,100%{transform:translateX(0)}35%{transform:translateX(-4px)}70%{transform:translateX(4px)}}
@media(max-width:420px){.v42-championship .spotfind-object-list{gap:3px;margin-bottom:8px}.v42-championship .spotfind-object-chip{min-height:23px;padding:3px 2px;font-size:9.5px;}}
/* V162 — styles for the mobile Puissance 4 express game. */
.v42-championship .connect4-status{display:flex;justify-content:space-between;gap:10px;width:min(100%,390px);margin:0 auto 10px;color:var(--muted);font-size:12px;font-weight:850;}
.v42-championship .connect4-status span:first-child{color:var(--navy);}
.v42-championship .connect4-stage{display:flex;flex-direction:column;align-items:center;gap:9px;width:100%;}
.v42-championship .connect4-board{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;width:min(100%,390px);aspect-ratio:7/6;margin:0 auto;padding:10px;border-radius:18px;background:linear-gradient(145deg,#12639B,#091C3B);box-shadow:0 14px 28px rgba(18,38,58,.18);outline:0;touch-action:manipulation;}
.v42-championship .connect4-cell{min-width:0;aspect-ratio:1;border:0;border-radius:50%;background:#DCEAF2;box-shadow:inset 0 3px 0 rgba(255,255,255,.55),inset 0 -3px 0 rgba(18,38,58,.13);cursor:pointer;touch-action:manipulation;transition:transform .12s,filter .12s,box-shadow .12s;}
.v42-championship .connect4-cell:hover:not(:disabled),.v42-championship .connect4-cell:focus-visible{filter:brightness(1.08);transform:scale(1.05);outline:0;}
.v42-championship .connect4-cell.is-red{background:#D6006D;box-shadow:inset 0 3px 0 rgba(255,255,255,.38),0 2px 5px rgba(86,0,48,.3);}
.v42-championship .connect4-cell.is-yellow{background:#FFD23F;box-shadow:inset 0 3px 0 rgba(255,255,255,.48),0 2px 5px rgba(115,86,0,.25);}
.v42-championship .connect4-cell.is-selected-column{box-shadow:0 0 0 2px rgba(255,210,63,.62),inset 0 3px 0 rgba(255,255,255,.45);}
.v42-championship .connect4-cell.is-red.is-selected-column{box-shadow:0 0 0 2px rgba(255,210,63,.82),inset 0 3px 0 rgba(255,255,255,.38),0 2px 5px rgba(86,0,48,.3);}
.v42-championship .connect4-cell.is-yellow.is-selected-column{box-shadow:0 0 0 2px rgba(255,255,255,.9),inset 0 3px 0 rgba(255,255,255,.48),0 2px 5px rgba(115,86,0,.25);}
.v42-championship .connect4-board:focus-visible{outline:3px solid var(--yellow);outline-offset:4px;}
.v42-championship .game-pad--connect4{grid-template-columns:repeat(7,minmax(0,1fr));width:min(100%,390px);gap:4px;margin:0;}
.v42-championship .game-pad--connect4 .game-pad__button{min-width:0;min-height:38px;padding:4px 0;font-size:14px;}
@media(max-width:420px){.v42-championship .connect4-board{gap:4px;padding:7px;border-radius:14px}.v42-championship .game-pad--connect4{gap:3px}.v42-championship .game-pad--connect4 .game-pad__button{min-height:34px;font-size:12px}}

/* V172 — CSEVACF Alive: mouvement utile et surfaces vitrées lisibles. */
#app .cse-alive-reveal{
  opacity:0;
  transform:translateY(18px) scale(.985);
  transition:opacity .5s ease var(--cse-alive-delay,0ms),transform .5s cubic-bezier(.22,.75,.28,1) var(--cse-alive-delay,0ms);
}
#app .cse-alive-reveal.is-visible{opacity:1;transform:none}
#app .cse-alive-page-enter{animation:cseAlivePageEnter .44s ease both}
@keyframes cseAlivePageEnter{from{opacity:.82;transform:translateY(14px)}to{opacity:1;transform:none}}

#app .cse-alive-interactive{transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}
@media(hover:hover){
  #app .cse-alive-interactive:hover{transform:translateY(-2px)}
  #app .cse-alive-interactive:active{transform:translateY(0)}
}
#app .cse-alive-interactive:focus-visible{outline:3px solid rgba(214,0,109,.35);outline-offset:3px}

#app .cse-alive-glass{
  border-color:rgba(84,180,228,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 16px 34px rgba(18,54,83,.10);
}
#app .v139-home .v16-shortcut.cse-alive-glass{position:relative;border:1px solid rgba(255,255,255,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 12px 26px rgba(18,54,83,.14)}
#app .v139-home .v16-shortcut.cse-alive-glass::after{background:linear-gradient(135deg,rgba(255,255,255,.42),rgba(255,255,255,.06) 48%,rgba(255,255,255,.16))}
#app .v69-player-card.cse-alive-season{position:relative;overflow:hidden}
#app .v69-player-card.cse-alive-season::after{
  content:"";position:absolute;right:-42px;top:-56px;width:160px;height:160px;border-radius:50%;
  pointer-events:none;background:radial-gradient(circle,rgba(143,234,255,.25),transparent 68%);
}

/* V188 — statistiques intégrées dans la carte, sans second cadre ni barre. */
#app .pj-right .cse-alive-pj-stats{
  display:flex;align-items:baseline;justify-content:flex-end;min-width:0;margin:0;padding:0;
  color:#fff;font-family:var(--f-titre,"Manrope",system-ui,sans-serif);line-height:1;white-space:nowrap;
}
#app .pj-right .cse-alive-pj-stats>span::before{content:"·";display:inline-block;margin:0 8px;color:rgba(191,209,234,.62)}
#app .pj-right .cse-alive-pj-stats__rank{font-size:17px;font-weight:850}
#app .pj-right .cse-alive-pj-stats__points,#app .pj-right .cse-alive-pj-stats__streak{color:#BFD1EA;font-size:12px;font-weight:650}
@supports(backdrop-filter:blur(1px)){
  #app .cse-alive-glass{backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
}
@media(max-width:900px){
  #app .pj-right .cse-alive-pj-stats{justify-content:flex-start;width:100%;overflow:hidden}
  #app .pj-right .cse-alive-pj-stats>span::before{margin:0 7px}
  #app .pj-right .cse-alive-pj-stats__rank{font-size:16px}
  #app .pj-right .cse-alive-pj-stats__points,#app .pj-right .cse-alive-pj-stats__streak{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  #app .cse-alive-reveal{opacity:1;transform:none;transition:none}
  #app .cse-alive-page-enter{animation:none}
  #app .cse-alive-interactive{transition:none}
  #app .pj-right .cse-alive-pj-stats{white-space:nowrap}
}

/* V194 — LUB-DUB immobile : la même ligne se déforme, sans traits d'onde sonore. */
#app .v139-home #pj{--pj-heart-x:61%;--pj-heart-y:84%;--pj-bloom-opacity:0;--pj-bloom-scale:.34}
#app .v139-home #pj .pj-heart-fx{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
#app .v139-home #pj .pj-heart-bloom{position:absolute;left:var(--pj-heart-x);top:var(--pj-heart-y);width:68px;height:68px;border-radius:50%;opacity:var(--pj-bloom-opacity);transform:translate(-50%,-50%) scale(var(--pj-bloom-scale));background:radial-gradient(circle,rgba(255,255,255,.95) 0 3%,rgba(255,239,192,.76) 11%,rgba(255,190,97,.44) 25%,rgba(255,103,91,.18) 43%,rgba(214,0,109,.08) 57%,transparent 73%);box-shadow:0 0 30px rgba(255,171,90,.22)}
#app .v139-home #pj .pj-week{position:absolute;left:24px;right:24px;bottom:4px;z-index:2;display:block;width:auto;height:13px;padding:0;overflow:hidden;pointer-events:none}
#app .v139-home #pj .pj-ecg-scene{position:absolute;inset:0;overflow:visible}
#app .v139-home #pj .pj-ecg-svg{display:block;width:100%;height:100%;overflow:visible}
#app .v139-home #pj .pj-ecg-path,#app .v139-home #pj .pj-ecg-glow,#app .v139-home #pj .pj-ecg-core{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
#app .v139-home #pj .pj-ecg-path{stroke:url(#pjEcgGradient);stroke-width:2.6;opacity:.80}
#app .v139-home #pj.is-ecg-active .pj-ecg-path{animation:pj193-line-tension 3.4s ease-in-out infinite}
#app .v139-home #pj .pj-ecg-glow{stroke:url(#pjEcgPulseGradient);stroke-width:11;opacity:0}
#app .v139-home #pj .pj-ecg-core{stroke:url(#pjEcgPulseGradient);stroke-width:3.2;opacity:0}
#app .v139-home #pj.is-cta-charged .pj-cta{animation:pj193-cta-charge .54s cubic-bezier(.16,.7,.26,1) both}
#app .v139-home #pj.is-charging .pj-cta{border-color:rgba(255,247,214,.96);background:rgba(241,138,50,.27);box-shadow:inset 0 0 18px rgba(255,198,77,.25),0 0 0 3px rgba(255,198,77,.12),0 0 24px rgba(241,138,50,.28);text-shadow:0 0 12px rgba(255,247,214,.68)}
@keyframes pj193-line-tension{0%,100%{stroke-width:2.5;opacity:.70}50%{stroke-width:2.9;opacity:.92}}
@keyframes pj193-cta-charge{0%{border-color:rgba(255,195,90,.68);box-shadow:inset 0 0 16px rgba(241,138,50,.16),0 0 0 0 rgba(255,198,77,0),0 0 0 rgba(255,247,214,0)}38%{border-color:rgba(255,247,214,.98);box-shadow:inset 0 0 21px rgba(255,198,77,.30),0 0 0 4px rgba(255,198,77,.14),0 0 27px rgba(255,247,214,.40)}100%{border-color:rgba(255,195,90,.68);box-shadow:inset 0 0 16px rgba(241,138,50,.16),0 0 0 0 rgba(255,198,77,0),0 0 0 rgba(255,247,214,0)}}
@media(max-width:900px){
  #app .v139-home #pj .pj-week{left:14px;right:14px;bottom:3px;height:11px}
}
@media(prefers-reduced-motion:reduce){
  #app .v139-home #pj .pj-heart-fx,#app .v139-home #pj .pj-ecg-glow,#app .v139-home #pj .pj-ecg-core{display:none}
  #app .v139-home #pj .pj-ecg-path,#app .v139-home #pj.is-ecg-active .pj-ecg-path,#app .v139-home #pj.is-cta-charged .pj-cta{animation:none}
}

/* V175 — états d’onglets unifiés : verre léger, contour bleu et libellés lisibles. */
#app .v16-topbar{border-bottom:2px solid rgba(84,180,228,.42);background:linear-gradient(105deg,rgba(99,200,255,.22),rgba(230,0,104,.08) 42%,rgba(244,187,0,.10) 68%,rgba(120,103,217,.13))}
#app .v16-topbar .top-inner{border:1.5px solid rgba(84,180,228,.42);border-radius:26px;background:linear-gradient(105deg,rgba(255,255,255,.76),rgba(237,249,255,.64) 50%,rgba(255,244,250,.70));box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 12px 30px rgba(31,106,151,.13);-webkit-backdrop-filter:blur(18px) saturate(135%);backdrop-filter:blur(18px) saturate(135%)}
#app .v16-toprow > #tabs{border:1px solid rgba(84,180,228,.32);border-radius:999px;background:rgba(232,246,255,.54);box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 4px 13px rgba(31,106,151,.08)}
#app .v16-toprow > #tabs .tab,#app .v16-toprow > #tabs .tab:not(.active){flex:0 0 auto;min-height:44px;padding:0 14px;border:1px solid rgba(53,126,170,.36);border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(236,247,252,.74));color:#214d69;box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 3px 9px rgba(31,106,151,.10);font-size:13px;font-weight:750;opacity:1;visibility:visible;white-space:nowrap}
#app .v16-toprow > #tabs .tab .tab-label{display:inline-block;color:#214d69;font-size:13px;font-weight:750;line-height:1;opacity:1;visibility:visible;white-space:nowrap}
#app #bottomnav .btab .tab-label{display:inline-block;line-height:1;opacity:1;visibility:visible;white-space:nowrap}
#app .v16-toprow > #tabs .tab.active .tab-label{color:#fff}
#app .v16-toprow > #tabs .tab[data-id="docs"].active .tab-label,#app .v16-toprow > #tabs .tab[data-id="annonces"].active .tab-label{color:var(--warm-navy)}
#app .v16-toprow > #tabs .tab:not(.active):hover{border-color:rgba(30,127,192,.58);background:#fff;box-shadow:0 7px 16px rgba(31,106,151,.14)}
@media(max-width:680px){#app .v16-topbar{border-bottom-width:1.5px;background:linear-gradient(105deg,rgba(99,200,255,.16),rgba(230,0,104,.06) 52%,rgba(244,187,0,.09))}#app .v16-topbar .top-inner{border-color:rgba(84,180,228,.36);border-radius:0 0 18px 18px;background:linear-gradient(105deg,rgba(255,255,255,.80),rgba(237,249,255,.72) 52%,rgba(255,244,250,.76));box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 8px 22px rgba(31,106,151,.10)}#app nav#bottomnav.bottomnav{border-top:1.5px solid rgba(84,180,228,.34);background:rgba(255,255,255,.90);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}
@media(prefers-reduced-motion:reduce){#app .v16-toprow > #tabs .tab{transition:none}}

/* V176 — cartes d’actualités CSE, activables depuis l’administration. */
#app .home-news-section{margin-top:18px}
#app .home-news-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 12px;padding:0 2px}
#app .home-news-head small{display:block;color:#d6006d;font-size:10px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
#app .home-news-head h2{margin:3px 0 0;color:#102d59;font-size:clamp(1.25rem,2.2vw,1.7rem);line-height:1.05;letter-spacing:-.025em}
#app .home-news-head>span{color:#60758a;font-size:.78rem;text-align:right}
#app .home-news-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
#app .home-news-card{display:flex;min-width:0;min-height:188px;overflow:hidden;flex-direction:column;border:1px solid rgba(84,180,228,.38);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.83),rgba(236,248,252,.72));box-shadow:0 10px 24px rgba(31,106,151,.10),inset 0 1px 0 rgba(255,255,255,.9);cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
#app .home-news-card:focus-visible{outline:3px solid rgba(214,0,109,.28);outline-offset:3px}
#app .home-news-media{height:78px;flex:0 0 78px;background-position:center;background-size:cover;border-bottom:1px solid rgba(84,180,228,.22)}
#app .home-news-body{display:flex;min-width:0;flex:1;flex-direction:column;padding:11px 13px 12px}
#app .home-news-body>small{color:#d6006d;font-size:9px;font-weight:850;letter-spacing:.12em;line-height:1.2;text-transform:uppercase}
#app .home-news-body h3{display:-webkit-box;overflow:hidden;margin:4px 0 4px;color:#102d59;font-size:1rem;line-height:1.12;-webkit-box-orient:vertical;-webkit-line-clamp:2}
#app .home-news-body p{display:-webkit-box;overflow:hidden;margin:0;color:#526b80;font-size:.78rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
#app .home-news-body footer{display:flex;align-items:end;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;color:#75899b;font-size:.66rem;line-height:1.2}
#app .home-news-body footer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#app .home-news-body footer b{flex:0 0 auto;color:#b50060;font-size:.7rem}
@media(hover:hover){#app .home-news-card:hover{border-color:rgba(30,127,192,.62);box-shadow:0 14px 28px rgba(31,106,151,.16),inset 0 1px 0 rgba(255,255,255,.95);transform:translateY(-3px)}}
@media(max-width:1020px){#app .home-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){#app .home-news-section{margin-top:14px}#app .home-news-head{align-items:start;flex-direction:column;gap:4px;margin-bottom:10px}#app .home-news-head>span{text-align:left}#app .home-news-grid{grid-template-columns:1fr;gap:10px}#app .home-news-card{min-height:166px;border-radius:20px}#app .home-news-media{height:72px;flex-basis:72px}#app .home-news-body{padding:10px 12px 11px}}
@media(prefers-reduced-motion:reduce){#app .home-news-card{transition:none}#app .home-news-card:hover{transform:none}}
