.events-page{padding:58px max(24px,4vw) 90px}.events-wrap{max-width:1240px;margin:auto;display:grid;gap:20px}.events-heading h2{font-size:42px;margin:5px 0}.events-heading>p:last-child{color:var(--muted);max-width:760px}.events-card,.events-admin{background:linear-gradient(145deg,#111820,#0a0f13);border:1px solid var(--line);border-radius:18px;padding:24px}.events-card h3,.events-admin h3{margin:0 0 16px;font-size:24px}
.lottery-studio{border:1px solid #684127;border-radius:20px;padding:8px;background:linear-gradient(145deg,#28150c,#0b0f13 36%,#182129);box-shadow:0 18px 50px #0008,inset 0 0 0 1px #ff79301a}.lottery-screen{position:relative;overflow:hidden;min-height:390px;border-radius:14px;border:1px solid #87532e;background:radial-gradient(circle at 50% 52%,#9e371c 0,#43180f 25%,#12151a 59%,#050709 100%);isolation:isolate}.lottery-screen:before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(0deg,transparent 0 3px,#fff 4px 4px);opacity:.025;pointer-events:none}.lottery-screen:after{content:"";position:absolute;left:50%;top:50%;width:520px;height:520px;border:1px solid #ffaf6538;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 55px #ff78220c,0 0 0 110px #ff782208;z-index:-1}.lottery-screen-top,.lottery-screen-bottom{position:absolute;left:18px;right:18px;display:flex;align-items:center;gap:9px;color:#f4d6c9;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.lottery-screen-top{top:17px}.lottery-screen-top time{margin-left:auto;color:#9bb0bf;letter-spacing:0;text-transform:none}.lottery-screen-bottom{bottom:17px;justify-content:space-between;color:#c9a89a}.lottery-live-dot{width:9px;height:9px;border-radius:50%;background:#ff5722;box-shadow:0 0 12px #ff5722;animation:lottery-pulse 1.5s infinite}.lottery-stage{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:66px 20px}.lottery-stage-kicker{margin:0 0 6px;color:#ff9e66;font-size:11px;font-weight:900;letter-spacing:.22em}.lottery-stage h3{margin:0 0 24px;font-size:clamp(26px,4vw,46px);text-transform:uppercase;letter-spacing:.04em}.lottery-balls{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.lottery-balls span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;color:#321006;background:radial-gradient(circle at 34% 26%,#fff7d9 0,#ffc664 34%,#ff6d2f 73%,#9b1e0c 100%);border:3px solid #ffe3a5;font-size:25px;font-weight:1000;box-shadow:0 7px 0 #6e170b,0 12px 28px #0009,inset -9px -11px 18px #b52d167d}.lottery-balls.drawing span{animation:lottery-ball-spin .72s cubic-bezier(.2,.7,.2,1) both}.lottery-balls.drawing span:nth-child(2){animation-delay:.08s}.lottery-balls.drawing span:nth-child(3){animation-delay:.16s}.lottery-balls.drawing span:nth-child(4){animation-delay:.24s}.lottery-balls.drawing span:nth-child(5){animation-delay:.32s}.lottery-balls.drawing span:nth-child(6){animation-delay:.4s}.lottery-countdown{margin:25px 0 0;color:#f0c6b4;font-weight:800}.lottery-replay{margin-top:13px;border-radius:999px}
.lottery-copy{display:flex;gap:15px;align-items:flex-start}.lottery-copy>span{font-size:38px}.lottery-copy h3{margin-bottom:6px}.lottery-copy p{margin:4px 0;color:var(--muted);line-height:1.5}.lottery-prizes{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:20px 0}.lottery-prize{padding:12px 8px;text-align:center;border:1px solid #6b5123;border-radius:10px;background:#1b1408}.lottery-prize b{display:block;color:#ffd57a}.lottery-prize span{font-size:12px}.lottery-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px}.lottery-form label,.events-admin label{display:grid;gap:7px;color:var(--muted);font-size:12px}.lottery-form input,.events-admin input,.events-admin textarea{box-sizing:border-box;width:100%;background:#05090c;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:11px;font:inherit}.lottery-form button{min-height:43px;border-radius:999px}.lottery-result{min-height:20px;margin-bottom:0;color:#8fe5ac}
.events-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.events-section-heading h3{margin:2px 0 16px}.lottery-winning-summary{display:flex;gap:6px;margin-bottom:15px}.lottery-winning-summary span,.history-numbers span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#ff7131;color:#180904;font-weight:1000}.lottery-results{overflow:auto}.lottery-results table{width:100%;border-collapse:collapse;min-width:650px}.lottery-results th,.lottery-results td{padding:11px 10px;text-align:left;border-bottom:1px solid var(--line)}.lottery-results th{color:#9bb0bf;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.lottery-results .winner-row{background:#5036143d}.lottery-grid-code{color:#9fd3ff;font-family:ui-monospace,monospace}.lottery-score{font-weight:1000;color:#ffd36e}.lottery-history{display:grid;gap:10px}.lottery-history details{border:1px solid var(--line);border-radius:12px;background:#080d11}.lottery-history summary{display:flex;align-items:center;gap:12px;padding:15px;cursor:pointer;list-style:none}.lottery-history summary::-webkit-details-marker{display:none}.lottery-history summary b{margin-right:auto}.lottery-history summary small{color:var(--muted)}.history-numbers{display:flex;gap:5px}.history-numbers span{width:27px;height:27px;font-size:12px}.lottery-history details .lottery-results{padding:0 14px 14px}.events-empty{color:var(--muted)}
.events-admin{border-color:#7a3922}.events-admin[hidden]{display:none}.events-admin details{margin-top:13px;border:1px solid var(--line);border-radius:12px;background:#080d11}.events-admin summary{padding:14px 16px;cursor:pointer;font-weight:900}.events-admin details>div,.events-admin details>label{margin:0 14px 14px}.events-admin details[open]>summary{color:#ff8a52}.events-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.events-admin textarea{resize:vertical}.events-toggle{display:flex!important;grid-template-columns:auto 1fr;align-items:center;align-self:end;min-height:43px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#05090c}.events-toggle input{width:auto;margin:0}.schedule-actions{grid-column:1/-1;display:flex;align-items:center;gap:12px}.schedule-actions button{border-radius:999px}.schedule-actions small{color:var(--muted)}.events-admin-actions{display:flex;align-items:center;gap:12px;margin-top:14px}.events-admin-actions button{border-radius:999px}.events-submissions{display:grid;gap:7px;padding:0 14px 14px}.events-submission{display:grid;grid-template-columns:minmax(140px,1fr) auto auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:9px}.events-submission span{display:grid}.events-submission small{color:var(--muted)}.events-submission code{color:#9fd3ff}
@keyframes lottery-pulse{50%{opacity:.35}}@keyframes lottery-ball-spin{0%{transform:translateY(-28px) rotate(-140deg) scale(.72);filter:blur(4px);opacity:.2}65%{transform:translateY(7px) rotate(20deg) scale(1.08)}100%{transform:none;filter:none;opacity:1}}
@media(max-width:900px){.lottery-prizes{grid-template-columns:repeat(3,1fr)}.lottery-form,.events-admin-grid{grid-template-columns:1fr}.events-page{padding:35px 15px 70px}.schedule-actions{grid-column:auto}.events-section-heading{align-items:flex-start;flex-direction:column}.lottery-winning-summary{margin-top:-8px}}@media(max-width:620px){.lottery-screen{min-height:440px}.lottery-stage{min-height:440px}.lottery-screen-top time{position:absolute;top:20px;left:0}.lottery-balls span{width:51px;height:51px;font-size:20px}.lottery-history summary{align-items:flex-start;flex-wrap:wrap}.history-numbers{width:100%}.lottery-form{grid-template-columns:1fr}.events-submission{grid-template-columns:1fr auto}.events-submission button{grid-column:1/-1}.lottery-prizes{grid-template-columns:repeat(2,1fr)}}

/* Machine de tirage */
.lottery-screen{min-height:560px;background:radial-gradient(circle at 50% 48%,#8f2f19 0,#37130d 27%,#11171d 60%,#050709 100%)}
.lottery-stage{min-height:560px;padding:60px 20px 70px}
.lottery-stage h3{margin-bottom:12px}
.lottery-machine{position:relative;width:245px;height:230px;margin:0 auto 2px;filter:drop-shadow(0 22px 25px #0009)}
.lottery-drum{position:absolute;left:28px;top:5px;width:185px;height:185px;overflow:hidden;border:5px solid #e9f6fa8c;border-radius:50%;background:radial-gradient(circle at 35% 25%,#ffffff38,#8ee8ff12 43%,#07131c99 76%);box-shadow:inset 0 0 25px #c7f5ff42,0 0 0 8px #0b1118,0 0 0 10px #d8f5ff4d}
.lottery-drum-glass{position:absolute;inset:0;border-radius:50%;background:linear-gradient(120deg,#fff7 0 8%,transparent 18% 72%,#fff2 83%);pointer-events:none}
.lottery-air-flow{position:absolute;left:50%;bottom:-14px;width:32px;height:65px;border-radius:50%;transform:translateX(-50%);background:radial-gradient(ellipse,#b8eeff91 0,transparent 70%);filter:blur(4px);opacity:.35;animation:lottery-air 1.35s ease-in-out infinite}
.lottery-mix-ball{position:absolute;display:grid;place-items:center;width:30px;height:30px;border:2px solid #fff2c4;border-radius:50%;color:#321006;background:radial-gradient(circle at 30% 24%,#fff9df,#ffc14e 38%,#f05225 78%);font-size:10px;font-weight:1000;box-shadow:0 4px 7px #0008,inset -4px -5px 7px #8c170b6e;will-change:transform;animation:lottery-idle-a 2.1s ease-in-out infinite alternate!important;animation-play-state:running!important}
.b01{left:29px;top:111px}.b02{left:68px;top:132px}.b03{left:110px;top:118px}.b04{left:139px;top:139px}.b05{left:38px;top:69px}.b06{left:84px;top:80px}.b07{left:126px;top:72px}.b08{left:16px;top:138px}.b09{left:151px;top:99px}.b10{left:58px;top:36px}.b11{left:105px;top:39px}.b12{left:128px;top:22px}.b13{left:23px;top:27px}.b14{left:79px;top:105px}
.lottery-exit-tube{position:absolute;left:176px;top:154px;width:56px;height:68px;border-right:12px solid #d6f5ff70;border-bottom:12px solid #d6f5ff70;border-radius:0 0 28px 0;transform:rotate(-8deg)}
.lottery-exit-tube span{position:absolute;right:-18px;bottom:-18px;display:grid;place-items:center;width:30px;height:30px;border:2px solid #fff2c4;border-radius:50%;color:#321006;background:radial-gradient(circle at 30% 24%,#fff9df,#ffc14e 38%,#f05225 78%);font-size:10px;font-weight:1000;box-shadow:0 4px 8px #0009;opacity:0}
.lottery-mix-ball:nth-child(3n+2){animation-name:lottery-idle-b!important;animation-duration:1.75s!important;animation-direction:alternate-reverse}
.lottery-mix-ball:nth-child(3n){animation-name:lottery-idle-c!important;animation-duration:2.45s!important}
.lottery-mix-ball:nth-child(2n){animation-delay:-1.4s}
.lottery-mix-ball:nth-child(5n){animation-delay:-2.25s}
.lottery-machine.is-drawing .lottery-drum{animation:lottery-drum-shake .16s linear infinite alternate;box-shadow:inset 0 0 35px #c7f5ff78,0 0 0 8px #0b1118,0 0 0 10px #ffb55a9e,0 0 38px #ff6a2d59}
.lottery-machine.is-drawing .lottery-mix-ball{animation:lottery-mix .72s linear infinite!important}
.lottery-machine.is-drawing .b02,.lottery-machine.is-drawing .b06,.lottery-machine.is-drawing .b10,.lottery-machine.is-drawing .b14{animation-duration:.82s;animation-direction:reverse}
.lottery-machine.is-drawing .b03,.lottery-machine.is-drawing .b07,.lottery-machine.is-drawing .b11{animation-duration:1.28s}
.lottery-machine.is-drawing .b04,.lottery-machine.is-drawing .b08,.lottery-machine.is-drawing .b12{animation-duration:.7s;animation-direction:reverse}
.lottery-machine.is-ejecting .lottery-exit-tube span{animation:lottery-ejected .82s cubic-bezier(.22,.75,.3,1) both}
.lottery-result-track{position:relative;width:min(520px,92vw);height:94px;margin:0 auto;border:2px solid #d8f5ff75;border-top-color:#f4fdffb8;border-radius:18px 18px 28px 28px;background:linear-gradient(180deg,#d8f8ff18,#86d7eb0b 55%,#0710177a);box-shadow:inset 0 8px 18px #e5fbff12,inset 0 -12px 18px #0008,0 14px 25px #0007;overflow:hidden}
.lottery-screen{min-height:380px}
.lottery-stage{min-height:380px;padding:66px 20px 72px}
.lottery-result-track:before,.lottery-result-track:after{content:"";position:absolute;left:12px;right:12px;height:5px;border-radius:999px;background:linear-gradient(90deg,#8eb5c188,#eefcffcc,#8eb5c188);box-shadow:0 2px 8px #0008}
.lottery-result-track:before{bottom:12px}.lottery-result-track:after{bottom:23px;opacity:.55}
.lottery-track-glass{position:absolute;inset:0;z-index:3;border-radius:inherit;background:linear-gradient(115deg,#fff3 0 7%,transparent 14% 70%,#dffaff12 82%);pointer-events:none}
.lottery-balls{position:absolute;z-index:2;left:16px;right:16px;bottom:20px;display:grid;grid-template-columns:repeat(6,1fr);align-items:end;justify-items:center;min-height:64px;gap:8px}
.lottery-balls span{transition:opacity .25s,transform .4s cubic-bezier(.2,.8,.2,1);opacity:.42;transform:scale(.72)}
.lottery-balls.drawing span{animation:none}
.lottery-balls.drawing span:not(.is-revealed):not(.is-rolling){opacity:0}
.lottery-balls span.is-rolling{will-change:transform,opacity}
.lottery-balls span.is-revealed{opacity:1;transform:translate3d(0,0,0) scale(1)}

/* Confirmation de grille */
.lottery-panel{position:relative;overflow:hidden;min-height:230px}
.lottery-panel-main{transition:opacity .35s,transform .45s cubic-bezier(.55,0,.25,1)}
.lottery-submit-confirmation{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;background:radial-gradient(circle,#153f2a,#0b1713 67%);opacity:0;pointer-events:none;transform:translateY(30px) scale(.94)}
.lottery-submit-confirmation span{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#41d981;color:#062515;font-size:39px;font-weight:1000;box-shadow:0 0 38px #41d9816b}
.lottery-submit-confirmation b{font-size:28px}.lottery-submit-confirmation small{color:#9eddb8}
.lottery-panel.is-confirmed .lottery-panel-main{animation:lottery-ticket-away 2.6s both}
.lottery-panel.is-confirmed .lottery-submit-confirmation{animation:lottery-confirmation 2.6s both}
.lottery-panel.is-submitted .lottery-panel-main{display:block}
.lottery-panel.is-submitted .lottery-form,.lottery-panel.is-submitted .lottery-result{display:none}
.lottery-panel.is-submitted .lottery-submit-confirmation{position:relative;inset:auto;min-height:175px;margin-top:20px;border:1px solid #2f7d55;border-radius:14px;opacity:1;pointer-events:auto;transform:none}

/* Résultats détaillés */
.lottery-grid-numbers,.lottery-matched-numbers{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.lottery-result-number,.lottery-match-number{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;border:1px solid #385064;background:#101923;color:#a7b4bf;font-family:ui-monospace,monospace;font-weight:900}
.lottery-result-number.is-match,.lottery-match-number{border-color:#ffe08a;background:radial-gradient(circle at 35% 28%,#fff7cc,#f7b83f 45%,#d65a25 100%);color:#351307;box-shadow:0 0 16px #ffad3f55}
.lottery-results td:last-child{min-width:140px}.lottery-score{display:block}.lottery-reward{display:block;margin-top:3px;color:#c6d0d8}

/* Archives repliées */
.lottery-history-card{display:grid;gap:8px}
.lottery-history-toggle{justify-self:start;display:flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid #33424d;border-radius:999px;background:#0b1116;color:#cad5dd;font:inherit;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.lottery-history-toggle:hover{border-color:#ff7a3d;background:#15130f;transform:translateY(-1px)}
.lottery-history-toggle b{font-size:13px}.lottery-history-toggle small{color:#8194a3}.lottery-history-toggle i{color:#ff955f;font-size:11px;font-style:normal;font-weight:900;text-transform:uppercase}
.lottery-history-panel{margin-top:4px}.lottery-history-panel[hidden]{display:none}

@keyframes lottery-drum-shake{to{transform:rotate(.8deg) scale(1.006)}}
@keyframes lottery-idle-a{0%{transform:translate(-4px,3px) rotate(0)}35%{transform:translate(13px,-12px) rotate(90deg)}70%{transform:translate(-10px,-18px) rotate(190deg)}100%{transform:translate(7px,5px) rotate(280deg)}}
@keyframes lottery-idle-b{0%{transform:translate(4px,-4px) rotate(0)}40%{transform:translate(-13px,-15px) rotate(-110deg)}72%{transform:translate(10px,8px) rotate(-220deg)}100%{transform:translate(-5px,13px) rotate(-320deg)}}
@keyframes lottery-idle-c{0%{transform:translate(-3px,-7px) rotate(0)}32%{transform:translate(9px,13px) rotate(105deg)}67%{transform:translate(-12px,5px) rotate(230deg)}100%{transform:translate(6px,-13px) rotate(350deg)}}
@keyframes lottery-air{0%,100%{opacity:.2;transform:translateX(-50%) scale(.75,.82)}50%{opacity:.68;transform:translateX(-50%) scale(1.25,1.15)}}
@keyframes lottery-mix{0%{transform:translate(0,0) rotate(0)}22%{transform:translate(55px,-37px) rotate(130deg)}48%{transform:translate(25px,55px) rotate(260deg)}73%{transform:translate(-34px,20px) rotate(390deg)}100%{transform:translate(0,0) rotate(520deg)}}
@keyframes lottery-ejected{0%{opacity:0;transform:translate(-42px,-54px) scale(.55) rotate(-120deg)}18%{opacity:1}62%{opacity:1;transform:translate(-15px,-18px) scale(.9) rotate(80deg)}88%{opacity:1;transform:translate(4px,8px) scale(1.08) rotate(190deg)}100%{opacity:0;transform:translate(12px,20px) scale(.8) rotate(250deg)}}
@keyframes lottery-result-pop{0%{opacity:0;transform:translateY(-45px) rotate(-140deg) scale(.35)}65%{opacity:1;transform:translateY(7px) rotate(8deg) scale(1.13)}100%{opacity:1;transform:none}}
@keyframes lottery-ticket-away{0%,10%,82%,100%{opacity:1;transform:none}25%,70%{opacity:0;transform:translateX(-80px) rotate(-2deg) scale(.94)}}
@keyframes lottery-confirmation{0%,18%,74%,100%{opacity:0;transform:translateY(30px) scale(.94)}28%,65%{opacity:1;transform:none}}
@media(max-width:620px){.lottery-screen,.lottery-stage{min-height:420px}.lottery-result-track{height:80px}.lottery-balls{left:7px;right:7px;gap:3px}.lottery-balls span{width:45px;height:45px;font-size:18px}.lottery-result-number,.lottery-match-number{width:28px;height:28px;font-size:12px}.lottery-history-toggle{justify-self:stretch;justify-content:center}}
