/* Composant indépendant : styles limités au jeu. */
.radio-mind-launch {
    appearance: none;
    display: block;
    width: fit-content;
    margin: 6px auto 4px;
    border: 1px solid #b9d4ea;
    border-radius: 999px;
    background: #edf6ff;
    color: #073f78;
    padding: 9px 15px;
    font: 700 13px Arial, sans-serif;
    cursor: pointer;
    vertical-align: middle;
}
.radio-mind-launch {
    display: none !important;
}
.radio-mind-launch:hover { background:#dceeff; }
.radio-mind-game {
  width:min(460px,calc(100% - 28px)); max-width:460px;
  max-height:calc(100dvh - 28px); margin:auto; padding:0;
  border:1px solid #4382b5; border-radius:26px; color:#f5faff;
  background:radial-gradient(ellipse at 50% 0%,#164f83 0%,#092944 52%,#061b31 100%);
  box-shadow:0 24px 90px #00132666; font-family:Arial,Helvetica,sans-serif;
  overflow:auto; overscroll-behavior:contain; text-align:center;
}
.radio-mind-game::backdrop { background:rgba(3,16,35,.48); }
.radio-mind-game[open] { animation:radio-mind-enter .24s ease-out; }
.radio-mind-game [hidden] { display:none !important; }
.radio-mind-game__content { position:relative; padding:29px 28px 22px; }
.radio-mind-game__close {
  position:absolute; top:10px; right:10px; display:grid; place-items:center;
  width:44px; height:44px; padding:0; border:1px solid #76acdb66;
  border-radius:50%; color:#fff; background:#ffffff0d; cursor:pointer;
  font:400 28px/1 Arial,sans-serif;
}
.radio-mind-game__eyebrow { margin:4px 34px 16px; color:#a8d9ff; font-size:11px; font-weight:700; letter-spacing:2px; }
.radio-mind-game__art { position:relative; width:152px; height:104px; margin:0 auto 12px; display:grid; place-items:center; }
.radio-mind-game__orb {
  display:grid; place-items:center; width:94px; height:94px; font-size:53px;
  border:1px solid #75caff77; border-radius:50%;
  background:radial-gradient(circle at 35% 25%,#8fd8ff44,#397cff18 65%);
  box-shadow:0 0 32px #2897ff26,inset 0 0 20px #86cbff20;
}
.radio-mind-game__note { position:absolute; color:#ffcb66; font-size:25px; }
.radio-mind-game__note:first-child { left:0; top:18px; transform:rotate(-16deg); }
.radio-mind-game__note:last-child { right:0; bottom:9px; transform:rotate(13deg); color:#74caff; }
.radio-mind-game h2 { margin:0 auto 14px; max-width:340px; font-size:clamp(23px,5.5vw,30px); line-height:1.12; letter-spacing:-.7px; color:#fff; }
.radio-mind-game h2 span { color:#ffcd70; }
.radio-mind-game__copy { color:#d0e3f5; font-size:16px; line-height:1.55; margin:0 0 21px; }
.radio-mind-game__copy strong { color:#fff; }
.radio-mind-game__actions { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.radio-mind-game__button {
  min-height:46px; padding:12px 22px; border:1px solid #729cc066; border-radius:13px;
  color:#e3effa; background:#ffffff09; font:700 14px Arial,sans-serif; cursor:pointer;
}
.radio-mind-game__button--primary { border-color:#ffc160; color:#092944; background:linear-gradient(120deg,#ffda7b,#ffac4c); box-shadow:0 5px 18px #ffb84d18; }
.radio-mind-game__button:hover { filter:brightness(1.12); }
.radio-mind-game__numbers { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin:0 0 18px; }
.radio-mind-game__number {
  min-width:0; min-height:49px; border:1px solid #63baff70; border-radius:13px;
  color:#fff; background:#15528a70; font:700 20px Arial,sans-serif; cursor:pointer;
  transition:background .15s,transform .15s;
}
.radio-mind-game__number:hover { background:#2377b8; transform:translateY(-2px); }
.radio-mind-game__result { margin:0 0 8px; font-size:22px; color:#ffcf75; }
.radio-mind-game__reveal { margin:0 0 18px; color:#d0e3f5; font-size:16px; line-height:1.5; }
.radio-mind-game__reveal strong { color:#fff; font-size:24px; }
.radio-mind-game__fineprint { margin:20px 0 0; padding-top:15px; border-top:1px solid #ffffff16; color:#abc6dd; font-size:11px; line-height:1.6; }
.radio-mind-game button:focus-visible,.radio-mind-launch:focus-visible { outline:3px solid #86d5ff; outline-offset:3px; }
@keyframes radio-mind-enter { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:360px), (max-height:600px) {
  .radio-mind-game__content { padding:22px 18px 18px; }
  .radio-mind-game__art { height:65px; margin-bottom:8px; }
  .radio-mind-game__orb { width:62px; height:62px; font-size:37px; }
  .radio-mind-game__eyebrow { margin-bottom:10px; }
  .radio-mind-game__copy { font-size:14px; margin-bottom:16px; }
}
@media (prefers-reduced-motion:reduce) {
  .radio-mind-game[open] { animation:none; }
  .radio-mind-game__number { transition:none; }
  .radio-mind-game__number:hover { transform:none; }
}

/* Confettis silencieux, limités au dialogue et sans interception des clics. */
.radio-mind-game__confetti { position:absolute; inset:0; overflow:hidden; pointer-events:none; border-radius:26px; z-index:2; }
.radio-mind-game__confetti span { position:absolute; top:-20px; width:8px; height:13px; opacity:0; animation:radio-mind-confetti-fall 4s linear both; }
.radio-mind-game__return { margin:0 0 18px; color:#ffcf75; font-size:17px; font-weight:700; line-height:1.4; }
@keyframes radio-mind-confetti-fall {
  0% { opacity:0; transform:translate3d(0,0,0) rotate(0deg); }
  8% { opacity:1; }
  85% { opacity:1; }
  100% { opacity:0; transform:translate3d(var(--confetti-drift),var(--confetti-fall),0) rotate(650deg); }
}
@media (prefers-reduced-motion:reduce) {
  .radio-mind-game__confetti span { animation:none; display:none; }
}
/* Roue et formulaire : aucun sélecteur du lecteur audio. */
.radio-mind-game[data-view="wheel"],.radio-mind-game[data-view="claim"] { width:min(540px,calc(100% - 24px)); max-width:540px; }
.radio-mind-game[data-view="wheel"] .radio-mind-game__art,.radio-mind-game[data-view="claim"] .radio-mind-game__art { display:none; }
.radio-mind-game[data-view="wheel"] h2,.radio-mind-game[data-view="claim"] h2 { font-size:26px; margin-top:20px; }
.radio-mind-game__error { background:#532c34; border:1px solid #d99494; color:#ffe6e6; border-radius:10px; padding:12px; font-size:14px; line-height:1.4; }
.radio-mind-game button:disabled { opacity:.65; cursor:wait; filter:none; }
.radio-wheel { position:relative; width:min(330px,100%); aspect-ratio:1; margin:20px auto 12px; padding:7px; }
.radio-wheel__rim { width:100%; height:100%; border:8px solid #ecc577; border-radius:50%; position:relative; padding:5px; background:#071c33; box-shadow:0 0 0 2px #9d7435,0 0 0 6px #ecc57724,0 13px 35px #0007; }
.radio-wheel__rim::after { content:""; position:absolute; inset:-6px; border:3px dotted #fff4d0; border-radius:50%; pointer-events:none; }
.radio-wheel__disc { width:100%; height:100%; border-radius:50%; position:relative; overflow:hidden; background:conic-gradient(from -36deg,#f4c96d 0deg 72deg,#30475f 72deg 144deg,#243c54 144deg 216deg,#30475f 216deg 288deg,#17789d 288deg 360deg); }
.radio-wheel__label { --angle:calc(var(--sector)*72deg); position:absolute; width:31%; height:31%; top:34.5%; left:34.5%; display:flex; flex-direction:column; align-items:center; justify-content:center; transform:rotate(var(--angle)) translateY(-104%) rotate(calc(-1*var(--angle))); color:#fff; font-size:10px; gap:2px; text-shadow:0 1px 3px #0004; }
.radio-wheel__label[style="--sector:0"] { color:#17334a; text-shadow:none; }
.radio-wheel__label span { font-size:26px; line-height:1.1; }
.radio-wheel__label strong { font-size:10px; letter-spacing:.25px; white-space:nowrap; }
.radio-wheel__label small { font-size:9px; }
.radio-wheel__label--soon { color:#b8c6d4; }
.radio-wheel__label--soon span { filter:grayscale(1); opacity:.6; }
.radio-wheel__hub { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:25%; aspect-ratio:1; border:3px solid #f4cb7a; border-radius:50%; background:radial-gradient(circle at 30% 15%,#326fa1,#062745 75%); box-shadow:0 3px 12px #0008; display:flex; flex-direction:column; align-items:center; justify-content:center; font-size:10px; line-height:1.15; color:#e0f2ff; font-weight:bold; }
.radio-wheel__hub b { color:#ffd37a; font-size:12px; }
.radio-wheel__hub span { color:#76d0ff; font-size:17px; }
.radio-wheel__pointer { position:absolute; z-index:3; top:-7px; left:50%; transform:translateX(-50%); width:30px; height:39px; background:linear-gradient(90deg,#ffeab0,#ffb546); clip-path:polygon(0 0,100% 0,85% 55%,50% 100%,15% 55%); filter:drop-shadow(0 2px 2px #000); }
.radio-wheel__odds { color:#bbd5e8; font-size:12px; line-height:1.5; margin:10px 0 14px; }
.radio-wheel__odds strong { color:#ffe0a0; }
.radio-wheel__spin { min-width:220px; }
.radio-wheel__status { color:#ffcf75; font-size:14px; min-height:20px; margin:12px 0 0; }
.radio-game-rules { text-align:left; font-size:11px; }
.radio-game-rules>strong { display:block; color:#d0e6fa; letter-spacing:1.5px; font-size:10px; text-align:center; }
.radio-game-rules p { margin:8px 0; }
.radio-game-rules summary { cursor:pointer; color:#cceaff; padding:8px 0; }
.radio-game-form { display:grid; gap:12px; text-align:left; }
.radio-game-form__row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.radio-game-form label { display:grid; gap:6px; font-size:13px; font-weight:bold; color:#d7eaff; }
.radio-game-form small { font-size:11px; font-weight:normal; }
.radio-game-form input:not([type="checkbox"]),.radio-game-form select { width:100%; min-width:0; min-height:44px; padding:10px; border:1px solid #658aad; border-radius:9px; background:#092239; color:#fff; font:16px Arial,sans-serif; }
.radio-game-form input:focus-visible,.radio-game-form select:focus-visible { outline:3px solid #8cd7ff; outline-offset:2px; }
.radio-game-form label.radio-game-form__confirm { display:flex; align-items:flex-start; gap:9px; font-size:12px; line-height:1.5; font-weight:normal; }
.radio-game-form__confirm input { width:18px; height:18px; flex:none; accent-color:#f6b400; margin:0; }
.radio-game-form__privacy,.radio-game-reference { color:#afc9de; font-size:11px; line-height:1.6; margin:0; }
.radio-game-reference { margin-top:14px; overflow-wrap:anywhere; }
@media(max-width:360px) {
  .radio-game-form__row { grid-template-columns:1fr; }
  .radio-wheel__label strong { font-size:8px; }
  .radio-wheel__label small { font-size:8px; }
  .radio-wheel__label span { font-size:21px; }
}
