  /* ===================== DIDACTICIEL v47 ===================== */
  /* Hiérarchie : interface (0-40) < fenêtres (50-121) < voile + zone ciblée (590) < flèche (591) < bulle (592)
     < notifications (593) < lexique « ? » (595) < micro-tutoriel (596) < moments et fenêtres d'événement (le guide se met en pause). */
  #co-ring{border-radius:12px; box-shadow:0 0 0 9999px rgba(6,3,10,.58), 0 0 0 2px rgba(227,105,143,.35), 0 0 22px 6px rgba(227,105,143,.45); animation:coPulse 1.6s ease-in-out infinite; transition:left .2s ease, top .2s ease, width .2s ease, height .2s ease, opacity .2s ease;}
  #co-ring.soft{box-shadow:0 0 0 9999px rgba(6,3,10,.36), 0 0 16px 4px rgba(227,105,143,.4);}
  #co-ring.closer{border-color:#F2C14E; box-shadow:0 0 0 9999px rgba(6,3,10,.5), 0 0 18px 5px rgba(242,193,78,.5);}
  @keyframes coPulse{0%,100%{outline:0 solid rgba(227,105,143,0); outline-offset:0}50%{outline:5px solid rgba(227,105,143,.22); outline-offset:3px}}
  #co-arrow{width:0; height:0; font-size:0; line-height:0; text-shadow:none; border-style:solid; border-color:transparent; animation:none; filter:drop-shadow(0 0 6px rgba(227,105,143,.7));}
  #co-arrow.up{border-width:0 12px 12px 12px; border-bottom-color:var(--accent); animation:coNudgeUp .8s ease-in-out infinite alternate;}
  #co-arrow.down{border-width:12px 12px 0 12px; border-top-color:var(--accent); animation:coNudgeDown .8s ease-in-out infinite alternate;}
  #co-arrow.left{border-width:12px 12px 12px 0; border-right-color:var(--accent); animation:coNudgeLeft .8s ease-in-out infinite alternate;}
  #co-arrow.right{border-width:12px 0 12px 12px; border-left-color:var(--accent); animation:coNudgeRight .8s ease-in-out infinite alternate;}
  @keyframes coNudgeUp{to{transform:translateY(-3px)}} @keyframes coNudgeDown{to{transform:translateY(3px)}} @keyframes coNudgeLeft{to{transform:translateX(-3px)}} @keyframes coNudgeRight{to{transform:translateX(3px)}}
  #co-box{box-sizing:border-box; overflow:auto; overscroll-behavior:contain; gap:7px; transition:left .2s ease, top .2s ease;}
  #co-box.co-in{animation:coIn .2s ease both;} @keyframes coIn{from{opacity:0; transform:translateY(6px) scale(.98)}to{opacity:1; transform:none}}
  #co-box.win{border-color:#3BD17A; box-shadow:0 12px 40px rgba(0,0,0,.55), 0 0 0 1px rgba(59,209,122,.25), 0 0 26px rgba(59,209,122,.18);}
  #co-box.win .co-k{color:#3BD17A;}
  #co-box .co-t{font-size:1.02rem; line-height:1.25; overflow-wrap:anywhere;}
  .co-tip{margin:0; font-size:.84rem; font-weight:800; line-height:1.35;}
  .co-gain{margin:0; font-size:.8rem; color:#F7B8C9; line-height:1.35;}
  .co-res{margin:0; font-size:.86rem; font-weight:700; line-height:1.35;}
  .co-rew{margin:0; font-size:.8rem; color:#F2C14E; font-weight:700;}
  .co-why{line-height:1.4;}
  .co-b{row-gap:4px;} .co-b .btn-primary.sm{min-height:36px;} .co-b .btn-text.sm{min-height:32px; padding-inline:6px;}
  .co-quit{margin-left:auto;}
  .co-choices{grid-template-columns:1fr; gap:6px;}
  @media (min-width:600px){ .co-choices{grid-template-columns:1fr 1fr;} }
  .co-choice{min-height:44px;} .co-choice > span:last-child{display:flex; flex-direction:column; gap:1px;} .co-choice small{font-size:.68rem; color:var(--text-muted); font-weight:600;}
  .co-choice.off{opacity:.6;} .co-choice.off small{color:#F2C14E;}
  .co-choice.ghost{background:transparent; border-style:dashed;}
  /* Notifications : une seule pile, au-dessus du voile, qui s'écarte de la bulle et de la cible. */
  #toast-wrap{z-index:593;}
  #mo-chips.in-stack{position:static; transform:none; order:-1;}
  /* Lexique au-dessus du guide ; micro-tutoriel. */
  #gloss-pop{z-index:595;}
  #co-mini{position:fixed; z-index:596; left:50%; top:calc(10px + env(safe-area-inset-top,0px)); bottom:auto; pointer-events:none; transform:translate(-50%,-8px); opacity:0; width:min(380px,calc(100vw - 24px)); box-sizing:border-box; display:flex; flex-direction:column; gap:5px; padding:12px 14px; border-radius:14px; background:var(--surface); border:1px solid #F2C14E; box-shadow:0 12px 40px rgba(0,0,0,.6); max-height:70vh; max-height:70dvh; overflow:auto; transition:opacity .2s ease, transform .2s ease;}
  #co-mini.on{opacity:1; transform:translate(-50%,0);}
  #co-mini small{font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:#F2C14E; font-weight:800;} #co-mini p{margin:0; font-size:.82rem; color:var(--text-muted); line-height:1.4;} #co-mini .btn-primary{align-self:flex-start; pointer-events:auto;}
  .gd-coach .gd-tutos{display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:6px;} .gd-term.todo{opacity:.5; cursor:default;}
  @media (prefers-reduced-motion:reduce){ #co-ring, #co-arrow, #co-box.co-in{animation:none !important;} #co-ring, #co-box{transition:none;} }
