:root{--fond:#E9EEF5;--carte:#FFFFFF;--texte:#16243A;--doux:#5A6B82;--bleu:#0F76E0;--or:#F2BE22;--trait:#D5DDE7}
@media (prefers-color-scheme:dark){:root{--fond:#0F1520;--carte:#151C27;--texte:#E8EEF6;--doux:#9AA8BA;--bleu:#4AA3FF;--trait:#26313F}}
*{box-sizing:border-box}
body{margin:0;background:var(--fond);color:var(--texte);font:17px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
main{max-width:720px;margin:0 auto;padding:28px 16px 40px}
header{display:flex;align-items:center;gap:12px;margin-bottom:18px}
header img{width:56px;height:56px;border-radius:13px}
header b{font-size:26px;letter-spacing:-.01em}
h1{font-size:clamp(26px,6vw,38px);line-height:1.15;margin:8px 0 12px;letter-spacing:-.015em}
h2{font-size:21px;margin:30px 0 10px}
.lead{font-size:19px;color:var(--texte)}
.cta{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 6px}
.cta a{display:inline-block;padding:13px 20px;border-radius:12px;font-weight:800;text-decoration:none}
.cta .jouer{background:var(--bleu);color:#fff}
.cta .app{background:#000;color:#fff}
.carte{background:var(--carte);border:1px solid var(--trait);border-radius:14px;padding:6px 18px}
ol,ul{padding-left:22px}
li{margin:6px 0}
dt{font-weight:800;margin-top:14px}
dd{margin:4px 0 0}
nav.langs{margin-top:34px;font-size:15px}
nav.langs a,footer a{color:var(--bleu)}
nav.langs a{margin-right:12px;white-space:nowrap}
footer{margin-top:24px;font-size:14px;color:var(--doux)}
footer a{margin-right:14px}
.bandeau{display:block;margin:-28px -16px 18px;padding:11px 16px;background:var(--bleu);color:#fff;font-weight:800;text-decoration:none;text-align:center}
.bandeau.alerte{background:#C4146C}
.meta{color:var(--doux);font-size:14px;margin:0 0 6px}
.def{font-size:19px}
.forme{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:16px 0 4px}
.forme i{display:block;width:22px;height:26px;border-radius:3px;background:#D3DAE3;box-shadow:inset 0 2px 3px rgba(70,85,105,.35)}
.forme i.esp{width:10px;background:none;box-shadow:none}
.forme i.p{width:auto;background:none;box-shadow:none;font-style:normal;font-weight:800}
.forme.trouve i.c{background:linear-gradient(158deg,#FFE9A8,#F2BE22);box-shadow:none}
.nb{color:var(--doux);font-size:14px;margin:0 0 14px}
form.essai{display:flex;gap:8px;margin:6px 0}
form.essai input{flex:1;min-width:0;font:inherit;padding:11px 12px;border-radius:10px;border:2px solid var(--trait);background:var(--carte);color:var(--texte)}
form.essai button{font:inherit;font-weight:800;padding:0 16px;border-radius:10px;border:0;background:var(--texte);color:var(--fond);cursor:pointer}
.verdict{min-height:1.5em;font-weight:800;margin:6px 0 0}
.verdict.ok{color:#0F9D6E}.verdict.non{color:#C4146C}
.cta .app{background:var(--carte);color:var(--texte);border:2px solid var(--trait)}
.pop-fond{position:fixed;inset:0;z-index:50;background:rgba(10,20,35,.55);display:grid;place-items:center;padding:16px}
.pop{max-width:420px;width:100%;background:var(--carte);color:var(--texte);border-radius:18px;padding:22px 20px 16px;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.35);animation:popIn .35s cubic-bezier(.2,1.2,.4,1)}
@keyframes popIn{from{transform:scale(.85);opacity:0}to{transform:none;opacity:1}}
.pop-h{font-size:22px;font-weight:900;margin:0 0 10px;color:#0F9D6E}
.pop-t{margin:0 0 16px}
.pop a{display:block;padding:13px;border-radius:12px;font-weight:800;text-decoration:none;margin:8px 0}
.pop-jouer{background:var(--bleu);color:#fff}
.pop-app{background:#000;color:#fff}
.astuce{font-size:15px;color:var(--doux);background:var(--carte);border:1px solid var(--trait);border-radius:12px;padding:10px 14px}
.pop-plus-tard{border:0;background:none;color:var(--doux);font:inherit;padding:8px;cursor:pointer}
ul.enigmes{list-style:none;padding:0}
ul.enigmes li{margin:0;border-bottom:1px solid var(--trait)}
ul.enigmes a{display:block;padding:10px 2px;color:var(--texte);text-decoration:none}
ul.enigmes small{display:block;color:var(--doux)}
