/* Scènes interactives des pages d'accueil des dossiers (anxiété, dépression, autisme…).
   Tout est dessiné ici (SVG, canvas, CSS) : aucune image, police ou bibliothèque extérieure. */
.gs-stage{position:relative;margin:8px 0 34px;border-radius:26px;overflow:hidden;color:#F4F1EA;isolation:isolate;
  background:radial-gradient(120% 90% at 50% 38%,var(--gs-a,#22406A) 0%,var(--gs-b,#14243F) 58%,var(--gs-c,#0E1A2F) 100%);
  box-shadow:0 24px 60px -30px rgba(14,26,47,.75);transition:background 1.2s}
.gs-scene{position:relative}
.gs-scene svg.gs-svg,.gs-scene canvas.gs-cv{display:block;width:100%;height:auto;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.gs-scene canvas.gs-cv{position:absolute;inset:0;height:100%}
.gs-fallback{padding:28px 22px;margin:0}
.gs-hint{position:absolute;left:50%;top:14px;transform:translateX(-50%);background:rgba(10,18,33,.7);border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:6px 14px;font-size:.85rem;white-space:nowrap;pointer-events:none;transition:opacity .6s;z-index:2}
.gs-stage.gs-touched .gs-hint{opacity:0}
.gs-controls{display:flex;flex-wrap:wrap;gap:10px 18px;padding:12px 16px 4px;background:rgba(10,18,33,.45)}
.gs-controls:empty{display:none}
.gs-controls label{display:flex;flex-direction:column;gap:4px;font-size:.88rem;font-weight:600;min-width:140px;flex:1}
.gs-controls input[type=range]{width:100%;accent-color:var(--gs-k,#F2B45A)}
.gs-act{font:inherit;font-size:.92rem;font-weight:600;border-radius:999px;padding:9px 15px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#F4F1EA;cursor:pointer}
.gs-act:hover{background:rgba(255,255,255,.16)}
.gs-act:focus-visible{outline:3px solid #F2B45A;outline-offset:2px}
.gs-act[disabled]{opacity:.45;cursor:default}
.gs-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:12px 14px;background:rgba(10,18,33,.55);border-top:1px solid rgba(255,255,255,.08)}
.gs-steps,.gs-tools{display:flex;flex-wrap:wrap;gap:6px}
.gs-b{font:inherit;font-size:.92rem;font-weight:600;line-height:1.2;border-radius:999px;padding:9px 15px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#F4F1EA;cursor:pointer;transition:background .2s,border-color .2s}
.gs-b:hover{background:rgba(255,255,255,.14)}
.gs-b:focus-visible{outline:3px solid #F2B45A;outline-offset:2px}
.gs-b[aria-pressed="true"]{background:var(--gs-k,#E07A2F);border-color:var(--gs-k,#E07A2F);color:#10192b}
.gs-b.gs-son{background:#F2B45A;border-color:#F2B45A;color:#14243F}
.gs-b.gs-son[aria-pressed="true"]{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4);color:#F4F1EA}
.gs-cap{margin:0;padding:12px 18px 14px;font-size:1rem;line-height:1.5;background:rgba(10,18,33,.55);min-height:3.2em}
.gs-cap b{color:var(--gs-k,#F2B45A)}
.gs-svg text{font-family:inherit}
.gs-svg .gs-t{transition:opacity .7s,transform .9s cubic-bezier(.45,.05,.2,1)}
.gs-svg .gs-hit{cursor:pointer;outline:none}
.gs-svg .gs-hit:focus-visible{outline:none}
.gs-svg .gs-hit:focus-visible .gs-ring{opacity:1}
.gs-svg .gs-ring{opacity:0;transition:opacity .3s}
.gs-svg .gs-fade{transition:opacity .9s}
.gs-svg .gs-move{transition:transform 1s cubic-bezier(.45,.05,.2,1),opacity .8s}
.gs-svg .gs-float{animation:gs-float 6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.gs-svg .gs-pulse{animation:gs-pulse 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.gs-svg .gs-spin{animation:gs-spin 40s linear infinite;transform-box:fill-box;transform-origin:center}
.gs-paused .gs-float,.gs-paused .gs-pulse,.gs-paused .gs-spin{animation-play-state:paused}
@keyframes gs-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes gs-pulse{0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(1.08);opacity:1}}
@keyframes gs-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  .gs-svg .gs-float,.gs-svg .gs-pulse,.gs-svg .gs-spin{animation:none!important}
  .gs-svg .gs-t,.gs-svg .gs-move{transition:opacity .3s!important}
}
@media (max-width:640px){
  .gs-stage{border-radius:18px;margin-left:-6px;margin-right:-6px}
  .gs-b,.gs-act{font-size:.86rem;padding:8px 12px}
  .gs-cap{font-size:.95rem;padding:10px 14px 12px}
  .gs-hint{display:none}
}
