/* JeuxPlatform — styles.css
   Layout: "salle de jeux" colorée — mosaïque de tuiles (bento), chaque jeu a sa couleur, gros boutons pastille */
:root{
  --bg:#fff8f0;
  --ink:#1d1033;
  --soft:#5b4d73;
  --line:#ecdcd0;
  --white:#ffffff;

  --pink:#ff3d7f;
  --orange:#ff8a1f;
  --yellow:#ffd23f;
  --green:#18c29c;
  --blue:#2f6bff;
  --violet:#7b3fe4;
  --sky:#3ec5ff;

  --pink-l:#ffe1eb;
  --yellow-l:#fff3c4;
  --green-l:#d6f7ee;
  --blue-l:#dde7ff;
  --violet-l:#ece2ff;

  --display:"Unbounded", "Arial Black", system-ui, sans-serif;
  --body:"Figtree", "Segoe UI", system-ui, sans-serif;
  --r:24px;
  color-scheme:light;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--body);-webkit-font-smoothing:antialiased}
a{color:var(--violet)}
a:focus-visible,label:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:10px}
img{max-width:100%}
p{margin:0}
h1,h2,h3{font-family:var(--display);margin:0;line-height:1.1;text-wrap:balance}
h1{font-size:clamp(2.3rem,5.6vw,4.2rem);font-weight:800;letter-spacing:-.03em}
h2{font-size:clamp(1.7rem,3.6vw,2.6rem);font-weight:700;letter-spacing:-.02em}
h3{font-size:1.12rem;font-weight:700}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
section{padding-block:clamp(56px,8vw,100px)}
.kicker{display:inline-block;font:700 .78rem var(--body);text-transform:uppercase;letter-spacing:.12em;padding:6px 12px;border-radius:999px;background:var(--ink);color:var(--yellow)}
.intro{display:grid;gap:14px;max-width:720px;margin-bottom:40px}
.intro p{color:var(--soft);font-size:1.08rem}
.hl{background:var(--yellow);border-radius:.25em;padding:0 .18em;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* rainbow strip */
.rainbow{height:8px;background:linear-gradient(90deg,var(--pink) 0 16.6%,var(--orange) 0 33.3%,var(--yellow) 0 50%,var(--green) 0 66.6%,var(--sky) 0 83.3%,var(--violet) 0)}

/* legal top bar */
.topbar{background:var(--ink);color:#f2eafc;font-size:.84rem;text-align:center}
.topbar .wrap{padding-block:9px}
.topbar a{color:var(--yellow);font-weight:700}

/* nav */
.nav{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:2px solid var(--ink)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;position:relative}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:800 1.2rem var(--display);letter-spacing:-.02em}
.brand-dots{display:grid;grid-template-columns:repeat(2,13px);gap:3px}
.brand-dots i{width:13px;height:13px;border-radius:50%}
.brand-dots i:nth-child(1){background:var(--pink)}
.brand-dots i:nth-child(2){background:var(--yellow)}
.brand-dots i:nth-child(3){background:var(--green)}
.brand-dots i:nth-child(4){background:var(--blue)}
.brand span{color:var(--pink)}
.links{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.links a{display:block;text-decoration:none;color:var(--ink);font-weight:600;padding:8px 14px;border-radius:999px;border:2px solid transparent}
.links li:nth-child(1) a:hover{background:var(--pink-l);border-color:var(--pink)}
.links li:nth-child(2) a:hover{background:var(--yellow-l);border-color:var(--orange)}
.links li:nth-child(3) a:hover{background:var(--green-l);border-color:var(--green)}
.links li:nth-child(4) a:hover{background:var(--blue-l);border-color:var(--blue)}
.links li:nth-child(5) a:hover{background:var(--violet-l);border-color:var(--violet)}
.links li:nth-child(6) a:hover{background:var(--pink-l);border-color:var(--pink)}
.age-pill{font:800 .85rem var(--display);background:var(--pink);color:var(--white);border-radius:999px;padding:7px 12px}
.menu-toggle{position:absolute;opacity:0;pointer-events:none}
.menu-btn{display:none;cursor:pointer;font-weight:700;border:2px solid var(--ink);border-radius:999px;padding:8px 16px;background:var(--yellow)}
@media (max-width:940px){
  .menu-btn{display:block}
  .age-pill{display:none}
  .links{display:none;position:absolute;left:0;right:0;top:72px;flex-direction:column;background:var(--white);border-bottom:2px solid var(--ink);padding:12px max(18px,env(safe-area-inset-left,0px))}
  .menu-toggle:checked ~ .links{display:flex}
  .menu-toggle:focus-visible + .menu-btn{outline:3px solid var(--blue);outline-offset:3px}
}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;padding:14px 24px;border-radius:999px;border:2px solid var(--ink);color:var(--ink);background:var(--white);box-shadow:4px 4px 0 var(--ink);transition:transform .12s, box-shadow .12s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.btn.pink{background:var(--pink);color:var(--white)}
.btn.yellow{background:var(--yellow)}
.btn.green{background:var(--green);color:var(--ink)}
.btn.blue{background:var(--blue);color:var(--white)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}

/* hero bento */
.hero{padding-block:clamp(36px,5vw,64px)}
.bento{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(120px,auto);gap:16px}
.tile{border:2px solid var(--ink);border-radius:var(--r);padding:24px;position:relative;overflow:hidden}
.t-main{grid-column:span 4;grid-row:span 3;background:var(--white);display:grid;gap:22px;align-content:center;padding:clamp(24px,4vw,48px)}
.t-main p{color:var(--soft);font-size:1.1rem;max-width:52ch}
.t-balls{grid-column:span 2;grid-row:span 2;background:var(--violet);color:var(--white);display:grid;align-content:space-between;gap:16px}
.t-balls small{font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:#d9c9ff}
.t-age{grid-column:span 1;background:var(--yellow);display:grid;place-items:center;text-align:center}
.t-age b{font:800 2rem var(--display);display:block}
.t-age span{font-size:.78rem;font-weight:700}
.t-week{grid-column:span 1;background:var(--green);display:grid;place-items:center;text-align:center}
.t-week b{font:800 2rem var(--display);display:block}
.t-week span{font-size:.78rem;font-weight:700}
.t-strip{grid-column:span 6;background:var(--pink);color:var(--white);display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between;padding-block:18px}
.t-strip ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 24px;font-weight:700}
.t-strip li::before{content:"✔";margin-right:8px;color:var(--yellow)}
.orbs{display:flex;flex-wrap:wrap;gap:8px}
.orb{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font:800 1rem var(--display);color:var(--ink);border:2px solid var(--ink)}
.orb:nth-child(1){background:var(--yellow)}
.orb:nth-child(2){background:var(--sky)}
.orb:nth-child(3){background:var(--green)}
.orb:nth-child(4){background:var(--orange)}
.orb:nth-child(5){background:var(--pink);color:var(--white)}
.orb.star{background:var(--white)}
.t-balls h3{font-size:1.4rem}
@media (max-width:900px){
  .bento{grid-template-columns:repeat(2,1fr)}
  .t-main{grid-column:span 2;grid-row:auto}
  .t-balls{grid-column:span 2;grid-row:auto}
  .t-age,.t-week{grid-column:span 1}
  .t-strip{grid-column:span 2}
}

/* marquee */
.marquee{background:var(--ink);color:var(--white);overflow:hidden;padding-block:16px;border-block:2px solid var(--ink)}
.marquee-track{display:flex;width:max-content;animation:roll 36s linear infinite;font:700 1rem var(--display);letter-spacing:.02em}
.marquee-track span{padding-inline:22px}
.marquee-track span:nth-child(6n+1){color:var(--pink)}
.marquee-track span:nth-child(6n+2){color:var(--yellow)}
.marquee-track span:nth-child(6n+3){color:var(--green)}
.marquee-track span:nth-child(6n+4){color:var(--sky)}
.marquee-track span:nth-child(6n+5){color:var(--orange)}
.marquee-track span:nth-child(6n){color:#c9a8ff}
@keyframes roll{to{transform:translateX(-50%)}}

/* operators */
.ops{display:grid;grid-template-columns:1.25fr 1fr;gap:22px;align-items:stretch}
.op{border:2px solid var(--ink);border-radius:var(--r);padding:30px;display:flex;flex-direction:column;gap:18px;box-shadow:8px 8px 0 var(--ink)}
.op.fdj{background:var(--blue);color:var(--white)}
.op.pmu{background:var(--green-l)}
.op-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.op-logo{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;font:800 1.1rem var(--display);border:2px solid var(--ink);flex-shrink:0}
.fdj .op-logo{background:var(--yellow);color:var(--ink)}
.pmu .op-logo{background:var(--green);color:var(--ink)}
.badge{display:inline-block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:4px 10px;border-radius:999px;margin-bottom:6px}
.fdj .badge{background:var(--yellow);color:var(--ink)}
.pmu .badge{background:var(--ink);color:var(--white)}
.fdj p{color:#e4ebff}
.pmu p{color:var(--soft)}
.op ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.op li{border-radius:14px;padding:10px 14px;font-weight:600;font-size:.92rem}
.fdj li{background:rgba(255,255,255,.14)}
.pmu li{background:var(--white);border:1px solid #a8e8d6}
.op-end{margin-top:auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:.88rem;font-weight:600}
.fdj .op-end{color:#d0dcff}
.pmu .op-end{color:var(--soft)}
@media (max-width:860px){.ops{grid-template-columns:1fr}.op ul{grid-template-columns:1fr}}

/* compare */
.compare{margin-top:44px;overflow-x:auto;border:2px solid var(--ink);border-radius:var(--r);background:var(--white)}
.compare table{width:100%;min-width:560px;border-collapse:collapse;font-size:.95rem}
.compare caption{caption-side:bottom;text-align:left;padding:12px 18px;font-size:.82rem;color:var(--soft)}
.compare th,.compare td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line)}
.compare thead th{font:700 .9rem var(--display)}
.compare thead th:nth-child(2){background:var(--blue);color:var(--white)}
.compare thead th:nth-child(3){background:var(--green)}
.compare thead th:first-child{background:var(--yellow)}
.compare tbody th{font-weight:700}
.compare tbody tr:nth-child(even){background:var(--bg)}
.compare tbody tr:last-child th,.compare tbody tr:last-child td{border-bottom:0}
.ok{display:inline-block;background:var(--green-l);color:#06735a;font-weight:700;border-radius:999px;padding:2px 10px}
.no{color:#a597b8}

/* universe band */
.universe{background:var(--violet);color:var(--white);position:relative;overflow:hidden}
.universe .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;position:relative}
.universe .kicker{background:var(--yellow);color:var(--ink)}
.universe p{color:#e5d9ff;font-size:1.06rem;max-width:56ch}
.rhythm{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rhythm div{border:2px solid var(--ink);border-radius:20px;padding:20px;color:var(--ink);display:grid;gap:6px}
.rhythm div:nth-child(1){background:var(--yellow)}
.rhythm div:nth-child(2){background:var(--sky)}
.rhythm div:nth-child(3){background:var(--pink);color:var(--white)}
.rhythm div:nth-child(4){background:var(--green)}
.rhythm b{font:800 1.05rem var(--display)}
.rhythm span{font-size:.9rem;font-weight:500}
.universe .stack{display:grid;gap:20px}
@media (max-width:860px){.universe .wrap{grid-template-columns:1fr}}
@media (max-width:420px){.rhythm{grid-template-columns:1fr}}

/* games */
.games{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.game{border:2px solid var(--ink);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:12px;transition:transform .15s}
.game:hover{transform:rotate(-1deg) translateY(-4px)}
.game p{font-size:.93rem}
.game .when{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px}
.game .when span{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:999px;background:var(--white);border:2px solid var(--ink)}
.game a{font-weight:800;color:inherit;text-decoration:none;border-top:2px dashed currentColor;padding-top:12px}
.game a:hover{text-decoration:underline}
.g-euro{grid-column:span 2;background:var(--blue);color:var(--white)}
.g-euro .when span{color:var(--ink)}
.g-loto{background:var(--yellow)}
.g-dreams{background:var(--sky)}
.g-keno{background:var(--pink);color:var(--white)}
.g-keno .when span{color:var(--ink)}
.g-amigo{background:var(--green)}
.g-cresc{background:var(--orange)}
.g-scratch{background:var(--violet);color:var(--white)}
.g-scratch .when span{color:var(--ink)}
.g-results{grid-column:span 4;background:var(--white);flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}
.g-results a{border:0;padding:0}
.g-results div{display:grid;gap:6px;max-width:60ch}
.g-results p{color:var(--soft)}
.emoji-ball{display:flex;gap:6px;flex-wrap:wrap}
.emoji-ball i{width:36px;height:36px;border-radius:50%;background:var(--white);color:var(--blue);display:grid;place-items:center;font:800 .82rem var(--display);font-style:normal}
.emoji-ball i.s{background:var(--yellow);color:var(--ink)}
.g-tag{align-self:flex-start;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:4px 10px;border-radius:999px;background:var(--ink);color:var(--white)}
@media (max-width:1000px){.games{grid-template-columns:repeat(2,1fr)}.g-results{grid-column:span 2}}
@media (max-width:560px){.games{grid-template-columns:1fr}.g-euro,.g-results{grid-column:auto}}

/* steps */
.path{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:n}
.path li{background:var(--white);border:2px solid var(--ink);border-radius:var(--r);padding:24px;display:grid;gap:10px;align-content:start;position:relative}
.path li::before{counter-increment:n;content:counter(n);width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font:800 1.4rem var(--display);border:2px solid var(--ink)}
.path li:nth-child(1)::before{background:var(--pink);color:var(--white)}
.path li:nth-child(2)::before{background:var(--orange)}
.path li:nth-child(3)::before{background:var(--green)}
.path li:nth-child(4)::before{background:var(--sky)}
.path p{color:var(--soft);font-size:.94rem}
@media (max-width:900px){.path{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.path{grid-template-columns:1fr}}

/* agenda */
.agenda-sec{background:var(--yellow-l);border-block:2px solid var(--ink)}
.agenda{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.dayc{border:2px solid var(--ink);border-radius:20px;background:var(--white);overflow:hidden;display:flex;flex-direction:column}
.dayc h3{font-size:.95rem;padding:12px 14px;border-bottom:2px solid var(--ink)}
.dayc:nth-child(1) h3{background:var(--pink);color:var(--white)}
.dayc:nth-child(2) h3{background:var(--orange)}
.dayc:nth-child(3) h3{background:var(--yellow)}
.dayc:nth-child(4) h3{background:var(--green)}
.dayc:nth-child(5) h3{background:var(--sky)}
.dayc:nth-child(6) h3{background:var(--blue);color:var(--white)}
.dayc:nth-child(7) h3{background:var(--violet);color:var(--white)}
.dayc ul{list-style:none;margin:0;padding:12px 14px;display:grid;gap:6px;font-size:.88rem}
.dayc li.big{font-weight:800}
.dayc li.big::before{content:"★ ";color:var(--pink)}
.dayc li.daily{color:var(--soft)}
.dayc li.daily::before{content:"• "}
@media (max-width:1000px){.agenda{grid-template-columns:repeat(4,1fr)}}
@media (max-width:600px){.agenda{grid-template-columns:1fr 1fr}}
.agenda-note{margin-top:18px;font-size:.88rem;color:var(--soft)}
.kinds{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.kind{background:var(--white);border:2px solid var(--ink);border-radius:var(--r);padding:22px;display:grid;gap:8px}
.kind p{color:var(--soft);font-size:.94rem}
.kind h3::before{content:"";display:inline-block;width:14px;height:14px;border-radius:50%;margin-right:10px;vertical-align:middle;border:2px solid var(--ink)}
.kind:nth-child(1) h3::before{background:var(--blue)}
.kind:nth-child(2) h3::before{background:var(--pink)}
.kind:nth-child(3) h3::before{background:var(--green)}
@media (max-width:800px){.kinds{grid-template-columns:1fr}}
.results-bar{margin-top:36px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;background:var(--ink);color:var(--white);border-radius:var(--r);padding:26px 30px}
.results-bar p{color:#cfc3e6}

/* faq */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.faq details{border:2px solid var(--ink);border-radius:20px;background:var(--white);align-self:start}
.faq summary{list-style:none;cursor:pointer;padding:18px 56px 18px 20px;font-weight:700;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:800 1rem var(--display);background:var(--yellow);border:2px solid var(--ink)}
.faq details[open] summary::after{content:"–";background:var(--pink);color:var(--white)}
.faq details p{padding:0 20px 20px;color:var(--soft)}
.faq-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
@media (max-width:800px){.faq{grid-template-columns:1fr}}

/* responsible */
.safe{background:var(--green)}
.safe .wrap{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,5vw,64px);align-items:center}
.big-age{width:clamp(150px,22vw,240px);aspect-ratio:1;max-width:100%;border-radius:50%;background:var(--white);border:3px solid var(--ink);display:grid;place-items:center;font:800 clamp(3rem,7vw,5rem) var(--display);box-shadow:10px 10px 0 var(--ink)}
.safe .kicker{background:var(--ink);color:var(--green)}
.safe-body{display:grid;gap:22px}
.safe-body > p{font-size:1.08rem;max-width:58ch}
.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rules div{background:var(--white);border:2px solid var(--ink);border-radius:20px;padding:18px;display:grid;gap:6px}
.rules p{font-size:.92rem;color:var(--soft)}
.help-links{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:860px){.safe .wrap{grid-template-columns:1fr}.rules{grid-template-columns:1fr}}

/* go */
.go{text-align:center}
.go-box{background:var(--pink);color:var(--white);border:2px solid var(--ink);border-radius:32px;padding:clamp(32px,6vw,64px) clamp(20px,4vw,48px);display:grid;gap:16px;justify-items:center;box-shadow:10px 10px 0 var(--ink)}
.go-box p{color:#ffe3ec;max-width:50ch}

/* footer */
.foot{background:var(--ink);color:#cfc3e6;font-size:.92rem}
.foot .wrap{padding-block:56px 28px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
.foot .brand{color:var(--white)}
.foot .brand span{color:var(--yellow)}
.foot h4{margin:0 0 14px;font:700 .8rem var(--display);color:var(--yellow);letter-spacing:.04em}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot a{color:#efe8fb;text-decoration:none}
.foot a:hover{color:var(--yellow)}
.helpers{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px;padding-top:28px;border-top:1px solid #3a2a57}
.helpers a,.helpers div{display:flex;align-items:center;gap:10px;border-radius:16px;padding:10px 16px 10px 10px;line-height:1.3;background:#2a1a45}
.helpers b{display:grid;place-items:center;min-width:42px;height:42px;border-radius:50%;font:800 .75rem var(--display);color:var(--ink)}
.helpers > :nth-child(1) b{background:var(--yellow)}
.helpers > :nth-child(2) b{background:var(--sky)}
.helpers > :nth-child(3) b{background:var(--green)}
.helpers > :nth-child(4) b{background:var(--pink);color:var(--white)}
.helpers small{display:block;color:#a99cc2}
.fine{margin-top:28px;display:grid;gap:10px;font-size:.83rem;color:#a99cc2;max-width:92ch}
.fine a{color:var(--yellow)}
.bottom{margin-top:24px;padding-top:20px;border-top:1px solid #3a2a57;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.8rem;color:#a99cc2}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
