
:root{--bg:#0d0a06;--bg2:#141009;--ink:#f2e7d0;--mute:#a7906a;--gold:#d4a017;--gold2:#ffe9a3;
  --red:#b3231a;--line:rgba(212,160,23,.22);--max:760px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:
  radial-gradient(120% 60% at 50% 0,rgba(212,160,23,.07),transparent 60%),
  linear-gradient(180deg,var(--bg),#0a0805 60%);color:var(--ink);
  font-family:'Hiragino Mincho ProN','Yu Mincho',"Noto Serif JP",serif;line-height:1.95;font-size:16.5px;
  -webkit-font-smoothing:antialiased}
a{color:var(--gold2);text-decoration:none;border-bottom:1px solid rgba(255,233,163,.28)}
a:hover{color:#fff;border-bottom-color:currentColor}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
/* en-tête */
.top{position:sticky;top:0;z-index:50;background:rgba(10,8,5,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:16px;padding-top:12px;padding-bottom:12px}
.brand{font:800 21px/1 'Hiragino Mincho ProN',serif;letter-spacing:.14em;border:none;
  background:linear-gradient(100deg,#8a6200,#ffe9a3 30%,#d4a017 52%,#fff6cf 72%,#b8860b);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.top nav{margin-left:auto;display:flex;gap:16px;font-size:13px;font-family:"Noto Sans JP",sans-serif}
.top nav a{border:none;color:var(--mute)}
.top nav a:hover{color:var(--gold2)}
/* fil d'ariane */
.bc{font:400 12px/1.8 "Noto Sans JP",sans-serif;color:var(--mute);padding:18px 0 0}
.bc a{border:none;color:var(--mute)}
.bc a:hover{color:var(--gold2)}
/* héros */
.hero{position:relative;margin:14px 0 6px;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.hero img{display:block;width:100%;height:230px;object-fit:cover;filter:brightness(.62) saturate(1.05)}
.hero .cap{position:absolute;inset:auto 0 0 0;padding:20px 22px;
  background:linear-gradient(0deg,rgba(6,4,2,.94),rgba(6,4,2,.25) 70%,transparent)}
h1{margin:0;font:800 clamp(25px,5.4vw,36px)/1.35 'Hiragino Mincho ProN',serif;letter-spacing:.04em;
  text-shadow:0 2px 12px #000}
.hero .sub{margin:7px 0 0;font:400 13px/1.7 "Noto Sans JP",sans-serif;color:#d9c79e}
.lead{font-size:17px;margin:26px 0 8px}
/* sommaire */
.toc{margin:26px 0;padding:18px 22px;border:1px solid var(--line);border-radius:12px;
  background:linear-gradient(180deg,rgba(212,160,23,.06),rgba(0,0,0,.2))}
.toc b{display:block;font:700 13px/1 "Noto Sans JP",sans-serif;letter-spacing:.2em;color:var(--gold);margin-bottom:10px}
.toc ol{margin:0;padding-left:1.3em;font-family:"Noto Sans JP",sans-serif;font-size:14px;line-height:2.1}
/* titres */
h2{margin:52px 0 14px;font:800 23px/1.5 'Hiragino Mincho ProN',serif;letter-spacing:.05em;
  padding-bottom:10px;border-bottom:1px solid var(--line);position:relative}
h2::after{content:'';position:absolute;left:0;bottom:-1px;width:74px;height:2px;
  background:linear-gradient(90deg,var(--gold),transparent)}
h3{margin:34px 0 10px;font:700 18px/1.6 'Hiragino Mincho ProN',serif;color:var(--gold2)}
p{margin:0 0 18px}
/* tableaux */
.tw{overflow-x:auto;margin:20px 0;border:1px solid var(--line);border-radius:10px}
table{width:100%;border-collapse:collapse;font-family:"Noto Sans JP",sans-serif;font-size:14px;min-width:420px}
th,td{padding:11px 13px;border-bottom:1px solid rgba(212,160,23,.13);text-align:left;vertical-align:top}
th{background:rgba(212,160,23,.1);color:var(--gold2);font-weight:700;white-space:nowrap}
tr:last-child td{border-bottom:none}
td.n{white-space:nowrap;color:var(--gold2);font-weight:700}
/* étapes */
.steps{list-style:none;counter-reset:s;margin:22px 0;padding:0;font-family:"Noto Sans JP",sans-serif;font-size:15px}
.steps li{counter-increment:s;position:relative;padding:12px 0 12px 54px;border-bottom:1px solid rgba(212,160,23,.12)}
.steps li:last-child{border-bottom:none}
.steps li::before{content:counter(s);position:absolute;left:0;top:10px;width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;font:800 15px/1 "Noto Sans JP",sans-serif;color:#2a1600;
  background:linear-gradient(180deg,#ffe9a3,#d4a017);box-shadow:0 2px 0 #6b4700}
/* encarts */
.note{margin:24px 0;padding:16px 20px;border-left:3px solid var(--gold);border-radius:0 10px 10px 0;
  background:rgba(212,160,23,.07);font-family:"Noto Sans JP",sans-serif;font-size:14.5px;line-height:1.9}
.note b{color:var(--gold2)}
/* FAQ */
.faq details{border:1px solid var(--line);border-radius:10px;margin:10px 0;background:rgba(0,0,0,.2)}
.faq summary{cursor:pointer;padding:14px 18px;font:700 15px/1.6 "Noto Sans JP",sans-serif;color:var(--gold2);
  list-style:none;display:flex;gap:10px;align-items:flex-start}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:'問';flex:none;width:22px;height:22px;margin-top:2px;border-radius:50%;
  display:grid;place-items:center;font-size:11px;background:var(--gold);color:#241500}
.faq details[open] summary{border-bottom:1px solid var(--line)}
.faq p{margin:0;padding:14px 18px 16px;font-family:"Noto Sans JP",sans-serif;font-size:14.5px}
/* déclaration du taux de retour */
.rtp{margin:44px 0 10px;padding:20px 22px;border:1px solid rgba(212,160,23,.4);border-radius:12px;
  background:linear-gradient(180deg,rgba(60,42,14,.55),rgba(20,14,6,.75));font-family:"Noto Sans JP",sans-serif}
.rtp b{display:block;font-size:12px;letter-spacing:.22em;color:var(--gold);margin-bottom:8px}
.rtp .v{font:800 34px/1 "Noto Sans JP",sans-serif;color:var(--gold2)}
.rtp p{margin:10px 0 0;font-size:13.5px;line-height:1.9;color:#d3bf96}
/* cartes de liens */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin:22px 0}
.card{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:rgba(0,0,0,.25);
  transition:transform .15s,border-color .15s,box-shadow .15s}
.card:hover{transform:translateY(-2px);border-color:rgba(212,160,23,.55);box-shadow:0 10px 26px rgba(0,0,0,.5)}
.card img{display:block;width:100%;height:104px;object-fit:cover;filter:brightness(.72)}
.card .b{padding:12px 14px 14px}
.card .t{font:700 16px/1.5 'Hiragino Mincho ProN',serif;color:var(--gold2)}
.card .d{font:400 12.5px/1.7 "Noto Sans JP",sans-serif;color:var(--mute);margin-top:4px}
/* bouton salle */
.play{display:inline-flex;align-items:center;gap:9px;margin:8px 0 6px;padding:12px 24px;border:none;border-radius:999px;
  font:700 15px/1 "Noto Sans JP",sans-serif;color:#2a1600;background:linear-gradient(180deg,#ffe9a3,#e2b423 55%,#b8860b);
  box-shadow:0 3px 0 #6b4700,0 8px 22px rgba(0,0,0,.5)}
.play:hover{filter:brightness(1.08);color:#2a1600}
footer{margin:60px 0 0;padding:26px 0 46px;border-top:1px solid var(--line);
  font:400 12.5px/2 "Noto Sans JP",sans-serif;color:var(--mute)}
footer a{color:var(--mute);border:none}
footer a:hover{color:var(--gold2)}
@media(max-width:600px){body{font-size:16px}.hero img{height:180px}}

/* ═══ COUCHE VISUELLE (2026-09-20) — dés, cartes, pièces, ¥ et animations ═══
   Tout est en CSS/SVG : aucune dépendance JS, rien ne bloque le rendu.
   Les animations sont coupées si le visiteur demande moins de mouvement. */

/* pièces qui tombent dans le bandeau-titre */
.hero .coin{position:absolute;top:-70px;width:34px;height:auto;z-index:1;opacity:.85;
  object-fit:contain;animation:coinFall linear infinite;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}
/* le titre passe DEVANT les pièces (sinon elles barrent le texte) */
.hero .cap{z-index:3}
@keyframes coinFall{to{transform:translateY(360px) rotate(340deg)}}

/* symbole ¥ */
.yenmark{display:inline-grid;place-items:center;width:1.5em;height:1.5em;margin-right:.35em;
  border-radius:50%;font:900 .7em/1 "Noto Sans JP",sans-serif;color:#2a1600;vertical-align:-.3em;
  background:radial-gradient(circle at 38% 32%,#fff6d0,#e2b423 58%,#96690a);
  box-shadow:0 1px 3px rgba(0,0,0,.5),inset 0 -1px 2px rgba(120,80,0,.6)}
td .yenmark{animation:coinSpin 5s ease-in-out infinite}
@keyframes coinSpin{0%,72%,100%{transform:rotateY(0)}86%{transform:rotateY(180deg)}}

/* séparateur orné */
.sep{display:flex;align-items:center;gap:14px;margin:46px 0 6px;color:var(--gold)}
.sep::before,.sep::after{content:'';flex:1;height:1px;
  background:linear-gradient(90deg,transparent,rgba(212,160,23,.5),transparent)}
.sep span{font:900 13px/1 "Noto Sans JP",sans-serif;letter-spacing:.3em}

/* dés */
.dice{display:inline-flex;gap:9px;vertical-align:middle;align-items:center}
.dice svg{width:44px;height:44px;filter:drop-shadow(0 4px 5px rgba(0,0,0,.55))}
.dice.sm svg{width:30px;height:30px}
.dice.roll svg{animation:diceTumble 3.4s cubic-bezier(.34,.2,.3,1) infinite}
.dice.roll svg:nth-child(2){animation-delay:.16s}
.dice.roll svg:nth-child(3){animation-delay:.32s}
@keyframes diceTumble{0%{transform:translateY(0) rotate(0)}
  10%{transform:translateY(-26px) rotate(-120deg)}
  22%{transform:translateY(0) rotate(-260deg)}
  28%{transform:translateY(-9px) rotate(-300deg)}
  36%,100%{transform:translateY(0) rotate(-360deg)}}
.dicebox{display:flex;flex-wrap:wrap;gap:22px;justify-content:center;margin:26px 0;padding:22px 18px;
  border:1px solid var(--line);border-radius:14px;
  background:radial-gradient(ellipse at 50% 120%,rgba(180,120,30,.16),rgba(0,0,0,.25))}
.dicebox figure{margin:0;text-align:center;min-width:104px}
.dicebox figcaption{margin-top:9px;font:700 12.5px/1.6 "Noto Sans JP",sans-serif;color:var(--gold2)}
.dicebox .r{display:block;font-weight:400;font-size:11.5px;color:var(--mute)}
td .dice{margin-right:.4em}

/* cartes (hanafuda, kabufuda, 本引きの札) */
.cardrow{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:26px 0;padding:24px 16px 20px;
  border:1px solid var(--line);border-radius:14px;
  background:radial-gradient(ellipse at 50% 0,rgba(120,20,20,.2),rgba(0,0,0,.3))}
.cardrow figure{margin:0;text-align:center;animation:cardFloat 5.5s ease-in-out infinite}
.cardrow figure:nth-child(2n){animation-delay:-1.3s}
.cardrow figure:nth-child(3n){animation-delay:-2.6s}
.cardrow img{display:block;width:84px;height:auto;border-radius:6px;
  box-shadow:0 8px 18px rgba(0,0,0,.6),0 0 0 1px rgba(212,160,23,.3);
  transition:transform .25s ease,box-shadow .25s ease}
.cardrow figure:hover img{transform:translateY(-8px) scale(1.06) rotate(-2deg);
  box-shadow:0 16px 30px rgba(0,0,0,.7),0 0 0 1px rgba(255,233,163,.6)}
.cardrow figcaption{margin-top:8px;font:700 12px/1.5 "Noto Sans JP",sans-serif;color:var(--gold2)}
.cardrow .r{display:block;font-weight:400;font-size:11px;color:var(--mute)}
@keyframes cardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.cardrow.fan figure:nth-child(1){transform:rotate(-9deg)}
.cardrow.fan figure:nth-child(2){transform:rotate(-4.5deg)}
.cardrow.fan figure:nth-child(4){transform:rotate(4.5deg)}
.cardrow.fan figure:nth-child(5){transform:rotate(9deg)}

/* boutons « jouer » */
.ctabar{display:flex;flex-direction:column;align-items:center;gap:10px;margin:26px 0 8px;padding:22px 18px;
  border:1px solid rgba(212,160,23,.4);border-radius:14px;position:relative;overflow:hidden;
  background:radial-gradient(ellipse at 50% 140%,rgba(190,130,20,.3),rgba(14,10,5,.65))}
.ctabar .k{position:absolute;top:-60px;width:30px;height:auto;opacity:.45;object-fit:contain;
  animation:coinFall linear infinite}
.ctabar .lbl{margin:0;font:700 13.5px/1.7 "Noto Sans JP",sans-serif;color:#e8d7b0;text-align:center;position:relative}
.play{position:relative;display:inline-flex;align-items:center;gap:10px;padding:14px 32px;border:none;
  border-radius:999px;overflow:hidden;text-decoration:none;
  font:900 16px/1 "Noto Sans JP",sans-serif;letter-spacing:.06em;color:#2a1600;
  background:linear-gradient(180deg,#fff3c4,#f0c33c 45%,#b8860b);
  box-shadow:0 4px 0 #6b4700,0 10px 26px rgba(0,0,0,.55);
  animation:playPulse 2s ease-in-out infinite}
.play:hover{color:#2a1600;filter:brightness(1.08);animation-play-state:paused}
.play:active{transform:translateY(2px);box-shadow:0 2px 0 #6b4700}
.play::after{content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.7) 50%,transparent 62%);
  transform:translateX(-130%);animation:playShine 2.8s ease-in-out infinite}
.play .c{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;
  font:900 12px/1 "Noto Sans JP",sans-serif;color:#2a1600;
  background:radial-gradient(circle at 38% 32%,#fff6d0,#d9a512 60%,#8a5f05);
  box-shadow:inset 0 -1px 2px rgba(110,70,0,.7);animation:coinBob 1.4s ease-in-out infinite}
@keyframes playPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@keyframes playShine{0%,55%{transform:translateX(-130%)}85%,100%{transform:translateX(130%)}}
@keyframes coinBob{0%,100%{transform:translateY(0) rotateY(0)}50%{transform:translateY(-3px) rotateY(180deg)}}
/* ═══ COUCHE VISUELLE (2026-09-20) — jeux de casino occidentaux ═══
   ルーレット／ブラックジャック／バカラ／ビデオポーカー／スロット。
   Mêmes principes que la couche japonaise : CSS + SVG, rien en JS. */

/* petit symbole dans un tableau (絵柄・得物) */
.sym{width:32px;height:32px;object-fit:contain;vertical-align:-10px;margin-right:.5em;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}

/* roue de roulette (secteurs = ordre réel de la roue européenne) */
.wheelbox{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:center;
  margin:26px 0;padding:26px 18px;border:1px solid var(--line);border-radius:14px;
  background:radial-gradient(ellipse at 50% 120%,rgba(20,90,50,.3),rgba(0,0,0,.3))}
.wheel{position:relative;width:186px;height:186px;border-radius:50%;flex:none;
  box-shadow:0 12px 28px rgba(0,0,0,.65),inset 0 0 0 7px #6b3b18,inset 0 0 0 9px #c9952f;
  background:conic-gradient(#1d7a4a 0deg 9.73deg,#b3231a 9.73deg 19.46deg,#171310 19.46deg 29.19deg,#b3231a 29.19deg 38.92deg,#171310 38.92deg 48.65deg,#b3231a 48.65deg 58.38deg,#171310 58.38deg 68.11deg,#b3231a 68.11deg 77.84deg,#171310 77.84deg 87.57deg,#b3231a 87.57deg 97.3deg,#171310 97.3deg 107.03deg,#b3231a 107.03deg 116.76deg,#171310 116.76deg 126.49deg,#b3231a 126.49deg 136.22deg,#171310 136.22deg 145.95deg,#b3231a 145.95deg 155.68deg,#171310 155.68deg 165.41deg,#b3231a 165.41deg 175.14deg,#171310 175.14deg 184.86deg,#b3231a 184.86deg 194.59deg,#171310 194.59deg 204.32deg,#b3231a 204.32deg 214.05deg,#171310 214.05deg 223.78deg,#b3231a 223.78deg 233.51deg,#171310 233.51deg 243.24deg,#b3231a 243.24deg 252.97deg,#171310 252.97deg 262.7deg,#b3231a 262.7deg 272.43deg,#171310 272.43deg 282.16deg,#b3231a 282.16deg 291.89deg,#171310 291.89deg 301.62deg,#b3231a 301.62deg 311.35deg,#171310 311.35deg 321.08deg,#b3231a 321.08deg 330.81deg,#171310 330.81deg 340.54deg,#b3231a 340.54deg 350.27deg,#171310 350.27deg 360deg);
  animation:wheelSpin 14s linear infinite}
.wheel::after{content:'';position:absolute;inset:32%;border-radius:50%;
  background:radial-gradient(circle at 38% 32%,#f0d79a,#a9752a 62%,#5d3d10);
  box-shadow:inset 0 -3px 6px rgba(60,35,0,.7),0 3px 8px rgba(0,0,0,.6)}
.wheel .ball{position:absolute;left:50%;top:9px;width:13px;height:13px;margin-left:-6.5px;border-radius:50%;
  background:radial-gradient(circle at 34% 30%,#fff,#cfc7b6 60%,#8d8574);z-index:2;
  box-shadow:0 2px 5px rgba(0,0,0,.7);animation:ballRun 14s linear infinite}
@keyframes wheelSpin{to{transform:rotate(360deg)}}
@keyframes ballRun{to{transform:rotate(-720deg)}}
.wheel-note{max-width:300px;font:400 13.5px/1.9 "Noto Sans JP",sans-serif;color:#d3bf96;margin:0}

/* numéros du tapis */
.rou{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:24px 0;padding:20px 14px;
  border:1px solid var(--line);border-radius:14px;
  background:radial-gradient(ellipse at 50% 120%,rgba(18,80,46,.38),rgba(0,0,0,.3))}
.rou i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font-style:normal;
  font:800 14px/1 "Noto Sans JP",sans-serif;color:#fff5e6;
  box-shadow:0 3px 6px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.22)}
.rou i.r{background:linear-gradient(180deg,#cf3629,#8d1a12)}
.rou i.k{background:linear-gradient(180deg,#3b352d,#111010)}
.rou i.g{background:linear-gradient(180deg,#31ab68,#10643a);animation:zeroPulse 5s ease-in-out infinite}
@keyframes zeroPulse{0%,86%,100%{transform:scale(1);box-shadow:0 3px 6px rgba(0,0,0,.5)}
  93%{transform:scale(1.22);box-shadow:0 0 18px rgba(60,220,140,.8)}}

/* rouleaux 3×3 de la machine */
.reels{display:grid;grid-template-columns:repeat(3,64px);gap:9px;justify-content:center;
  margin:26px auto;padding:16px;width:max-content;border:1px solid var(--line);border-radius:14px;
  background:linear-gradient(180deg,rgba(62,44,16,.6),rgba(12,9,5,.85));
  box-shadow:inset 0 0 26px rgba(0,0,0,.6)}
.reels img{width:64px;height:64px;object-fit:contain;padding:6px;border-radius:9px;
  background:rgba(0,0,0,.38);box-shadow:inset 0 0 0 1px rgba(212,160,23,.2)}
.reels img.hit{animation:reelHit 2.6s ease-in-out infinite;
  box-shadow:inset 0 0 0 1px rgba(255,233,163,.85),0 0 16px rgba(255,205,90,.5)}
@keyframes reelHit{0%,70%,100%{transform:scale(1)}80%{transform:scale(1.12)}}

/* liste « ce que le jeu ne fait pas » */
.nots{margin:22px 0;padding:0;list-style:none;font-family:"Noto Sans JP",sans-serif;font-size:14.5px}
.nots li{position:relative;padding:9px 0 9px 32px;border-bottom:1px solid rgba(212,160,23,.12)}
.nots li:last-child{border-bottom:none}
.nots li::before{content:'×';position:absolute;left:0;top:10px;width:21px;height:21px;border-radius:50%;
  display:grid;place-items:center;font:800 13px/1 "Noto Sans JP",sans-serif;
  color:#ffd9d3;background:linear-gradient(180deg,#a5291f,#6d130d)}
.nots b{color:var(--gold2)}

/* bouton flottant, toujours visible */
.floatcta{position:fixed;right:18px;bottom:18px;z-index:80;padding:12px 22px;font-size:14.5px;
  box-shadow:0 4px 0 #6b4700,0 12px 30px rgba(0,0,0,.6)}
@media(max-width:700px){.floatcta{left:14px;right:14px;bottom:12px;justify-content:center;padding:14px 18px}
  .cardrow img{width:70px}.dice svg{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
