:root{
  --bg:#0A0E1F; --surface:#141A33; --line:#26304F; --line2:#3A456B;
  --text:#F4F1E8; --muted:#A9B0C8;
  --gold:#F5C451; --gold-d:#D9A632; --coral:#FF6B5E; --coral-d:#D9544A; --mint:#4EE1B0;
  --display:Anton,Impact,"Arial Narrow",sans-serif;
  --radius:16px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;line-height:1.45}
a{color:var(--gold)} a:hover{color:#FFE08A}
.app{max-width:520px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;padding:0 16px env(safe-area-inset-bottom)}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:calc(14px + env(safe-area-inset-top)) 4px 10px}
.logo{font-family:var(--display);font-size:26px;letter-spacing:.5px;color:var(--text);text-decoration:none}
.logo span{color:var(--gold)}
.topbar-right{display:flex;gap:8px;align-items:center}
.balance{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-weight:600;font-size:14px;color:var(--gold)}
.balance span{color:var(--text)}
.content{flex:1}
.legal{font-size:11px;color:var(--muted);text-align:center;padding:24px 8px 28px}

.flash{margin:6px 0 10px;padding:12px 14px;border-radius:12px;font-size:14px;animation:fadeUp .35s ease-out both}
.flash-ok{background:rgba(78,225,176,.12);border:1px solid var(--mint)}
.flash-erreur{background:rgba(255,107,94,.12);border:1px solid var(--coral)}

.kicker{font-size:13px;font-weight:500;letter-spacing:.3px;color:var(--muted)}
.muted{color:var(--muted)} .small{font-size:13px} .center{text-align:center} .gold{color:var(--gold)} .coral{color:var(--coral)}
.big{font-family:var(--display);font-size:34px;letter-spacing:.5px}

.countdown-block{text-align:center;padding:14px 0 0}
.countdown{font-family:var(--display);font-size:56px;line-height:1.05;letter-spacing:1px;font-variant-numeric:tabular-nums}
.countdown.urgent{color:var(--coral);animation:pulse 1s ease-in-out infinite}

/* Pièce 3D */
.coin-stage{display:flex;flex-direction:column;align-items:center;padding:16px 0 10px;perspective:900px}
.coin{--rot:0deg;width:150px;height:150px;position:relative;transform-style:preserve-3d;transform:rotateY(var(--rot));transition:transform .45s cubic-bezier(.3,1.4,.5,1)}
.coin.show-face{--rot:180deg}
.coin-face{position:absolute;inset:0;border-radius:50%;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:40px;color:var(--bg)}
.coin-face{letter-spacing:1px;text-shadow:0 1px 0 rgba(255,255,255,.35),0 -1px 0 rgba(0,0,0,.25)}
.coin-pile{color:#6B4A10;background:radial-gradient(circle at 34% 28%,#FFF1C2 0,#F5C451 32%,#D9A632 62%,#9C6F1E 100%);
  box-shadow:inset 0 0 0 3px #B8862A,inset 0 0 0 6px #FFE29A,inset 0 0 0 7px rgba(156,111,30,.6),inset 0 -10px 22px rgba(120,80,10,.35),0 8px 24px rgba(0,0,0,.35)}
.coin-pile::after,.coin-face-b::after{content:"";position:absolute;inset:13%;border-radius:50%;border:1px dashed rgba(110,70,10,.35)}
.coin-face-b::after{border-color:rgba(110,25,20,.35)}
.coin-face-b{color:#6E1E18;transform:rotateY(180deg);background:radial-gradient(circle at 34% 28%,#FFD2C8 0,#FF8A7E 30%,#E85A4E 62%,#A8352C 100%);
  box-shadow:inset 0 0 0 3px #B8433A,inset 0 0 0 6px #FFB3A8,inset 0 0 0 7px rgba(168,53,44,.6),inset 0 -10px 22px rgba(110,20,15,.35),0 8px 24px rgba(0,0,0,.35)}
.coin-shadow{width:110px;height:12px;border-radius:50%;background:#000;opacity:.5;margin-top:12px}
.coin.idle{animation:float 3.2s ease-in-out infinite}
.coin.toss-PILE{animation:tossPile 1.7s cubic-bezier(.25,.6,.3,1) both}
.coin.toss-FACE{animation:tossFace 1.7s cubic-bezier(.25,.6,.3,1) both}
.coin-stage.won{filter:drop-shadow(0 0 28px rgba(245,196,81,.55))}
/* NB : jamais de filter sur .coin elle-même, cela aplatit la 3D */

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:14px 0;animation:fadeUp .4s ease-out both}
.card h2{margin:0;font-family:var(--display);font-weight:400;font-size:22px;letter-spacing:.5px}
.card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;gap:8px}
.card.cta p{color:var(--muted)}
.card.notice{border-color:var(--gold);background:rgba(245,196,81,.08)}
.row{display:flex;gap:10px;flex-wrap:wrap}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;border-radius:14px;border:0;font-weight:700;font-size:16px;text-decoration:none;cursor:pointer;font-family:inherit;transition:transform .08s ease}
.btn:active,.pick:active,.choice:active,.seg:active{transform:scale(.96)}
.btn-gold{background:var(--gold);color:var(--bg)} .btn-gold:hover{color:var(--bg);filter:brightness(1.05)}
.btn-light{background:var(--text);color:var(--bg)}
.btn-ghost{background:transparent;border:1px solid var(--line2);color:var(--text);border-radius:12px;min-height:40px;padding:0 14px;font-weight:600;cursor:pointer;font-family:inherit}
.btn-ghost.small{min-height:36px;font-size:13px}
.link-btn{background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;font:inherit;font-size:13px;padding:10px}

.pick{min-height:58px;border-radius:14px;border:2px solid;background:transparent;font-family:var(--display);font-size:24px;letter-spacing:1px;cursor:pointer;transition:transform .08s ease,background .15s ease,color .15s ease}
.pick.small-pick{min-height:48px;font-size:18px}
.pick-pile{border-color:var(--gold);color:var(--gold)} .pick-pile.on{background:var(--gold);color:var(--bg)}
.pick-face{border-color:var(--coral);color:var(--coral)} .pick-face.on{background:var(--coral);color:var(--bg)}
.pick:disabled{opacity:.45;cursor:default}
.pick.on:disabled{opacity:1}

.choice{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border-radius:14px;border:2px solid;background:transparent;padding:12px;cursor:pointer;color:var(--text);font-family:inherit}
.choice span{font-family:var(--display);font-size:20px;letter-spacing:.5px}
.choice small{color:var(--muted);font-size:12px}
.choice-run{border-color:var(--gold)} .choice-run span{color:var(--gold)} .choice-run.on{background:rgba(245,196,81,.14)}
.choice-cash{border-color:var(--mint)} .choice-cash span{color:var(--mint)} .choice-cash.on{background:rgba(78,225,176,.14)}
.seg{min-height:42px;border-radius:12px;border:1px solid var(--line2);background:transparent;color:var(--text);font-weight:600;cursor:pointer;font-family:inherit}
.seg.on{border-color:var(--gold);background:rgba(245,196,81,.14);color:var(--gold)}

.pips{display:flex;gap:6px;justify-content:center;margin:4px 0 8px}
.pip{flex:1;max-width:38px;height:9px;border-radius:5px;background:var(--line)}
.pip.full{background:var(--gold)}
.pip.next{background:var(--line2);animation:pulse 1.4s ease-in-out infinite}
.pips-group .pip.full{background:var(--mint)}

.vote-bar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--line);margin-top:6px}
.vb-pile{background:var(--gold);transition:width .6s cubic-bezier(.3,1,.4,1)} .vb-face{background:var(--coral);transition:width .6s cubic-bezier(.3,1,.4,1)}
.vote-legend{display:flex;justify-content:space-between;font-size:13px;font-weight:600;margin-top:6px}

.last-result{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px;text-align:center;font-size:14px;color:var(--muted)}
.last-result strong{color:var(--text)}

.badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.badge{border:1px solid var(--line);border-radius:12px;padding:10px 6px;text-align:center;font-size:12px}
.badge b{display:block;font-size:13px}
.badge.legendaire{border-color:var(--gold);background:rgba(245,196,81,.08)}

/* Formulaires */
.form-page{padding:10px 0}
.form-page h1{font-family:var(--display);font-weight:400;font-size:34px;margin:6px 0 4px;letter-spacing:.5px}
.form{display:flex;flex-direction:column;gap:14px;margin:18px 0}
.form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
.form input:not([type=checkbox]){min-height:48px;border-radius:12px;border:1px solid var(--line2);background:var(--surface);color:var(--text);padding:0 14px;font:inherit;font-weight:400}
.form input:focus{outline:2px solid var(--gold);outline-offset:1px}
.form .check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;color:var(--muted)}
.form .check input{width:22px;height:22px;margin-top:1px;accent-color:var(--gold)}

/* Tirage scellé du jour */
.sealcard{display:flex;gap:14px;align-items:center;margin:4px 0 2px;padding:12px 14px;border-radius:var(--radius);background:linear-gradient(120deg,rgba(245,196,81,.07),rgba(245,196,81,0) 60%),var(--surface);border:1px solid rgba(245,196,81,.28);color:var(--text);text-decoration:none}
.sealcard:hover{color:var(--text);border-color:rgba(245,196,81,.5)}
.sealcard-medal-btn{flex:none;padding:0;border:0;background:none;cursor:pointer;border-radius:50%;width:76px;height:76px}
.sealcard-medal-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.sealcard-medal{width:76px;height:76px;display:block;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}
.sealcard-text a{color:var(--gold)}
/* Médaillon vivant : les anneaux tournent lentement en sens contraires, un reflet passe */
svg.is-live .m-band1{animation:mspin 160s linear infinite}
svg.is-live .m-band2{animation:mspin 110s linear infinite reverse}
svg.is-live .m-rose{animation:mspin 75s linear infinite}
svg.is-live .m-glint rect{animation:mglint 7s cubic-bezier(.45,0,.2,1) infinite}
@keyframes mspin{to{transform:rotate(360deg)}}
@keyframes mglint{0%,62%{transform:rotate(25deg) translateX(-260px)}100%{transform:rotate(25deg) translateX(330px)}}
.m-glint rect{transform:rotate(25deg) translateX(-260px)}
.sealcard-text{display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:1.35}
.sealcard-hash{font-variant-numeric:tabular-nums;color:var(--gold);letter-spacing:.5px}

/* Cérémonie d'ouverture */
.rv{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden;
  background:radial-gradient(120% 80% at 50% 38%,#16204A 0%,#0A0E1F 55%,#05070F 100%)}
.rv::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:repeating-radial-gradient(circle at 50% 38%,rgba(245,196,81,.035) 0 1px,transparent 1px 7px)}
.rv-sparks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.rv-stage{position:relative;z-index:2;width:100%;max-width:420px;text-align:center;display:flex;flex-direction:column;align-items:center}
.rv-date{margin:0 0 14px;color:var(--muted);font-size:14px;letter-spacing:.3px}
.rv-core{--size:min(76vw,320px);position:relative;width:var(--size);height:var(--size)}
.rv-seal,.rv-half,.rv-half svg,.rv-crack,.rv-sweep,.rv-glow{position:absolute;inset:0;width:100%;height:100%}
.rv-seal{filter:drop-shadow(0 18px 40px rgba(0,0,0,.55))}
.rv-half{will-change:transform,opacity}
.rv-left{clip-path:polygon(0 0,50% 0,47% 12%,53% 26%,46% 41%,54% 57%,47% 72%,52% 86%,50% 100%,0 100%)}
.rv-right{clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%,52% 86%,47% 72%,54% 57%,46% 41%,53% 26%,47% 12%)}
.rv-crack{overflow:visible;pointer-events:none;opacity:0}
.rv-crack polyline{fill:none;stroke:#FFF1C2;stroke-width:.55;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 6px #F5C451) drop-shadow(0 0 14px rgba(245,196,81,.8))}
.rv-sweep{border-radius:50%;opacity:0;pointer-events:none;
  background:conic-gradient(from 0deg,transparent 0 62%,rgba(255,236,170,.15) 75%,#FFF3C8 99%,transparent 100%);
  -webkit-mask:radial-gradient(circle,transparent 0 83%,#000 84% 93%,transparent 94%);mask:radial-gradient(circle,transparent 0 83%,#000 84% 93%,transparent 94%)}
.rv-glow{border-radius:50%;opacity:0;pointer-events:none;background:radial-gradient(circle,rgba(255,226,140,.55) 0%,rgba(245,196,81,.18) 35%,transparent 68%)}
.rv-flash{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:radial-gradient(60% 45% at 50% 42%,rgba(255,246,214,.95),rgba(245,196,81,.35) 40%,transparent 75%)}
.rv-shock{position:absolute;inset:0;border-radius:50%;opacity:0;pointer-events:none;border:2px solid rgba(255,236,170,.85);box-shadow:0 0 30px rgba(245,196,81,.6),inset 0 0 30px rgba(245,196,81,.4)}
.rv-plate{position:absolute;left:-4%;right:-4%;top:50%;height:calc(var(--size) * .27);margin-top:calc(var(--size) * -.135);opacity:0;border-radius:14px;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0) 40%),linear-gradient(90deg,rgba(11,16,36,.2),rgba(11,16,36,.85) 20%,rgba(11,16,36,.85) 80%,rgba(11,16,36,.2));
  box-shadow:inset 0 0 0 1px rgba(245,196,81,.35),inset 0 1px 0 rgba(255,236,170,.25),0 20px 50px rgba(0,0,0,.5)}
.rv-glyphs{position:absolute;inset:0;pointer-events:none}
.rv-glyphs span{position:absolute;left:50%;top:50%;width:1em;margin:-.5em 0 0 -.5em;text-align:center;font:600 calc(var(--size) * .045)/1 Inter,system-ui,sans-serif;color:#A9B0C8;text-transform:uppercase}
.rv-glyphs span.is-set{color:#FFE6A3;text-shadow:0 0 8px rgba(245,196,81,.8)}
.rv.mode-seal .rv-number,.rv.mode-seal .rv-plate,.rv.mode-seal .rv-coin,.rv.mode-seal .rv-crack{display:none}

.rv-number{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;gap:2px;opacity:0;
  font-family:var(--display);font-size:calc(var(--size) * .17);line-height:1;color:var(--text);font-variant-numeric:tabular-nums}
.rv-col{position:relative;display:block;height:1em;width:.62em;overflow:hidden;
  -webkit-mask:linear-gradient(transparent,#000 22%,#000 78%,transparent);mask:linear-gradient(transparent,#000 22%,#000 78%,transparent)}
.rv-strip{display:flex;flex-direction:column;will-change:transform}
.rv-strip span{display:block;height:1em;background:linear-gradient(180deg,#FFFFFF 10%,#FFF1C2 55%,#E9C46A 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.rv-col::after{content:"";position:absolute;inset:-10% -40%;pointer-events:none;opacity:0;background:linear-gradient(105deg,transparent 35%,rgba(255,250,230,.9) 50%,transparent 65%);transform:translateX(-100%)}
.rv-col.glint::after{animation:colglint 1.1s cubic-bezier(.45,0,.2,1) both}
@keyframes colglint{0%{opacity:0;transform:translateX(-100%)}20%{opacity:1}100%{opacity:0;transform:translateX(100%)}}
.rv-last{width:.78em;margin-left:.12em;color:var(--bg);border-radius:.12em;overflow:hidden;-webkit-mask:none;mask:none;
  background:linear-gradient(180deg,#FFE6A3,#F5C451 45%,#D9A632);box-shadow:0 0 0 1px rgba(255,236,170,.6) inset,0 10px 30px rgba(245,196,81,.25)}
.rv-last .rv-strip span{text-align:center;background:none;color:var(--bg)}
.rv-last.is-locked{box-shadow:0 0 0 1px rgba(255,236,170,.8) inset,0 0 0 4px rgba(245,196,81,.25),0 12px 40px rgba(245,196,81,.45)}

.rv-coin{position:absolute;left:0;right:0;bottom:2%;padding:0;opacity:0}
.rv-coin .coin{will-change:transform}
.rv-coin .coin{width:calc(var(--size) * .42);height:calc(var(--size) * .42)}
.rv-coin .coin-face{font-size:calc(var(--size) * .1)}
.rv-shadow{width:calc(var(--size) * .3);height:10px;border-radius:50%;margin-top:12px;background:radial-gradient(closest-side,rgba(0,0,0,.75),transparent);opacity:0}

.rv-caption{min-height:22px;margin:16px 0 0;color:var(--text);font-size:15px;font-weight:500;letter-spacing:.2px}
.rv-parity{min-height:20px;margin:4px 0 0;color:var(--muted);font-size:14px}
.rv-parity b{color:var(--text);font-weight:700}
.rv-parity b.gold{color:var(--gold)} .rv-parity b.coral{color:var(--coral)}
.rv-verdict{min-height:84px;margin-top:8px}
.rv-verdict p{margin:4px 0 0;color:var(--muted);font-size:14px}
.rv-big{font-family:var(--display);font-size:40px;line-height:1.1;letter-spacing:.5px;font-variant-numeric:tabular-nums}
.rv-win{background:linear-gradient(180deg,#FFF1C2,#F5C451 55%,#C8902C);-webkit-background-clip:text;background-clip:text;color:transparent}
.rv-loss{color:var(--coral)}
.rv.is-loss .rv-number{filter:saturate(.5) brightness(.85);transition:filter 1s ease}
.rv-actions{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:10px;width:100%}
.rv-actions .btn{width:100%;max-width:300px}
.rv-check{display:inline-flex;align-items:center;text-decoration:none;color:var(--muted)}
.rv-skip{position:absolute;z-index:4;top:calc(14px + env(safe-area-inset-top));right:16px;background:rgba(20,26,51,.7);border:1px solid var(--line2);color:var(--muted);border-radius:999px;padding:8px 14px;font:600 13px Inter,system-ui,sans-serif;cursor:pointer}
.rv-skip:focus-visible,.rv-actions .btn:focus-visible,.sealcard:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media (max-height:640px){.rv-core{--size:min(70vw,250px)}.rv-big{font-size:32px}.rv-date{margin-bottom:8px}}

@keyframes float{0%,100%{transform:translateY(0) rotateY(var(--rot))}50%{transform:translateY(-6px) rotateY(var(--rot))}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12);opacity:1}100%{transform:scale(1)}}
@keyframes glow{0%,100%{box-shadow:0 0 0 0 rgba(245,196,81,.55)}50%{box-shadow:0 0 0 12px rgba(245,196,81,0)}}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Navigation du bas */
.app{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:520px;margin:0 auto;background:rgba(10,14,31,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:8px 8px calc(10px + env(safe-area-inset-bottom))}
.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;font-size:11px;font-weight:600;color:var(--muted);text-decoration:none}
.tab.on{color:var(--gold)}

/* Pages */
.page{padding:6px 0}
.page h1{font-family:var(--display);font-weight:400;font-size:34px;margin:6px 0 4px;letter-spacing:.5px}
.page-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.progress{height:8px;border-radius:4px;background:var(--line);overflow:hidden;margin:8px 0 14px}
.progress span{display:block;height:100%;background:var(--gold);transition:width .8s ease}
.album{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.album-item{position:relative;display:flex;flex-direction:column;gap:3px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;animation:fadeUp .4s ease-out both}
.album-item b{font-size:15px}
.album-item small{font-size:12px;line-height:1.35}
.album-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:4px;background:#1B2240;color:#5A6488}
.album-item.missing{border-style:dashed;border-color:var(--line2)}
.album-item.missing b{color:var(--muted)}
.album-item.has .album-icon{background:rgba(245,196,81,.14);color:var(--gold);border:2px solid var(--gold)}
.album-item.has.legendaire{border-color:var(--gold);box-shadow:0 0 24px rgba(245,196,81,.15)}
.album-item .count{position:absolute;top:10px;right:12px;font-family:var(--display);font-size:18px;color:var(--gold)}
.card.tickets{display:flex;justify-content:space-between;align-items:center}
.prize-hero{border-color:var(--gold);background:linear-gradient(160deg,#1D2550 0%,var(--surface) 70%)}
.prize-img{width:100%;border-radius:12px;margin:10px 0;max-height:220px;object-fit:cover}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column}
.stat small{color:var(--muted)}
.prose h2{font-family:var(--display);font-weight:400;font-size:22px;margin:22px 0 6px}
.prose p,.prose li{color:#D8D5CC}
.table{width:100%;border-collapse:collapse;font-size:13px}
.table th,.table td{text-align:left;padding:6px 4px;border-bottom:1px solid var(--line)}
.table th{color:var(--muted);font-weight:600}
.admin .card{overflow-x:auto}
.form select{min-height:48px;border-radius:12px;border:1px solid var(--line2);background:var(--surface);color:var(--text);padding:0 12px;font:inherit}

/* Page des tirages */
.tirages .page-head{flex-direction:column;align-items:flex-start}
.tirages .page-head p{margin:2px 0 6px;max-width:60ch}
.how summary{cursor:pointer;font-weight:600}
.how ol{padding-left:18px;margin:10px 0;color:#D8D5CC;font-size:14px}
.how li{margin-bottom:6px}
.seal-list{display:flex;flex-direction:column;gap:10px;margin:14px 0}
.seal-row{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px}
.seal-row.is-sealed{border-color:rgba(245,196,81,.35)}
.seal-row header{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.seal-row h2{margin:0;font-size:15px;font-weight:600}
.seal-outcome{font-family:var(--display);font-size:20px;letter-spacing:.5px}
.seal-outcome .num{color:var(--text);margin-right:4px}
.seal-row dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:10px 0;font-size:12px}
.seal-row dt{color:var(--muted)}
.seal-row dd{margin:0;min-width:0}
.hash{word-break:break-all;font-variant-numeric:tabular-nums;color:#CFCBBF}
.checks{list-style:none;padding:0;margin:10px 0 0;font-size:13px}
.checks li{padding:4px 0 4px 22px;position:relative}
.checks li::before{position:absolute;left:0;font-weight:700}
.checks li.ok::before{content:"✓";color:var(--mint)}
.checks li.ko::before{content:"✕";color:var(--coral)}

/* Marques, soutien */
.lead{font-size:16px;color:#D8D5CC;max-width:60ch;margin:4px 0 14px}
.offer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}
.offer{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:4px}
.offer header{display:flex;flex-direction:column;gap:2px}
.offer h2{margin:0;font-family:var(--display);font-weight:400;font-size:19px;letter-spacing:.3px}
.offer-price{font-family:var(--display);font-size:24px;color:var(--gold)}
.offer ul{margin:4px 0 8px;padding-left:16px;font-size:13px;color:#D8D5CC}
.offer .btn-ghost{align-self:flex-start;text-decoration:none;display:inline-flex;align-items:center}
.offer-pick{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.offer-pick legend{font-weight:600;font-size:14px;margin-bottom:6px}
.form .radio{flex-direction:row;align-items:center;gap:10px;font-weight:500;border:1px solid var(--line2);border-radius:12px;padding:12px}
.form .radio input{accent-color:var(--gold);width:18px;height:18px}
.form .radio:has(input:checked){border-color:var(--gold);background:rgba(245,196,81,.08)}
.form small{font-weight:400}
.perks{padding-left:18px;color:#D8D5CC;font-size:14px}
.amounts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.amounts .seg{min-height:48px;font-size:16px}
.sponsor-line{display:block;text-align:center;font-size:13px;color:var(--muted);margin:8px 0 0;text-decoration:none}
.sponsor-line b{color:var(--text);font-weight:600}
a.sponsor-line:hover b{color:var(--gold)}
.rv-sponsor{margin:10px 0 0;font-size:13px;color:var(--muted);min-height:18px}
.rv-sponsor b{color:var(--text);font-weight:600}
@media (max-width:380px){.offer-list{grid-template-columns:1fr}}
.replay-btn{padding:4px 6px;color:var(--gold);font-size:13px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form textarea{border-radius:12px;border:1px solid var(--line2);background:var(--surface);color:var(--text);padding:12px 14px;font:inherit;font-weight:400;resize:vertical}
.form textarea:focus,.form select:focus{outline:2px solid var(--gold);outline-offset:1px}
.msg{border-top:1px solid var(--line);padding:10px 0}
.msg p{margin:6px 0;color:#D8D5CC;font-size:14px}
.msg.is-done{opacity:.55}
