*{margin:0;padding:0}:root{--navy:#071f3a;--navy-2:#10385f;--blue:#1f7ab8;--blue-soft:#dcecf8;--gold:#c7a04b;--gold-light:#f6e8bd;--red:#b73a3a;--cream:#f8fafc;--white:#fff;--text:#071f3a;--muted:#64748b}.wheel-page-container{background:radial-gradient(circle at 18% 18%,#1f7ab824,#0000 30%),radial-gradient(circle at 82% 18%,#c7a04b2e,#0000 28%),linear-gradient(135deg,#eef4fa 0%,#fff 46%,#edf4fa 100%);justify-content:center;align-items:center;min-height:100vh;padding:28px;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;overflow:hidden}.wheel-card{isolation:isolate;background:linear-gradient(#fffffffa,#f8fafcf5);border:1px solid #071f3a14;border-radius:34px;flex-direction:column;align-items:center;width:100%;max-width:760px;padding:34px 42px 40px;display:flex;position:relative;box-shadow:0 34px 90px #071f3a2e,inset 0 1px #fffffff2}.wheel-card:before{content:"";pointer-events:none;z-index:-1;border:1px solid #071f3a12;border-radius:26px;position:absolute;inset:16px}.wheel-card:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);border-radius:0 0 999px 999px;width:70%;height:6px;position:absolute;top:0;left:50%;transform:translate(-50%)}.wheel-header{text-align:center;margin-bottom:30px}.event-label{color:var(--navy);letter-spacing:.9px;text-transform:uppercase;background:#071f3a0f;border-radius:999px;justify-content:center;align-items:center;margin:0 0 10px;padding:7px 16px;font-size:.82rem;font-weight:900;display:inline-flex}.insurance-badge{color:var(--navy);background:linear-gradient(135deg,#c7a04b2e,#1f7ab81a);border:1px solid #c7a04b59;border-radius:999px;align-items:center;gap:8px;margin-bottom:14px;padding:8px 16px;font-size:.9rem;font-weight:800;display:inline-flex}.wheel-header h2{color:var(--navy);letter-spacing:-2px;text-transform:uppercase;margin:0;font-size:clamp(2.5rem,5vw,4.1rem);font-weight:950;line-height:.95}.wheel-header>p:not(.event-label){color:var(--muted);margin:16px 0 0;font-size:1.08rem;font-weight:500}.wheel-wrapper{justify-content:center;align-items:center;width:465px;height:465px;margin:8px 0 34px;display:flex;position:relative}.wheel-wrapper:before{content:"";filter:blur(16px);z-index:0;background:radial-gradient(circle,#071f3a29,#0000 64%);border-radius:50%;position:absolute;inset:-22px}.wheel-wrapper:after{content:"SC";color:#071f3a14;letter-spacing:-6px;z-index:0;pointer-events:none;border-radius:50%;justify-content:center;align-items:flex-end;padding-bottom:28px;font-size:5.5rem;font-weight:950;display:flex;position:absolute;inset:26px}.wheel{z-index:2;background:conic-gradient(from 0deg, var(--blue) 0deg 60deg, var(--gold) 60deg 120deg, #f8fbff 120deg 180deg, var(--blue) 180deg 240deg, var(--gold) 240deg 300deg, #f8fbff 300deg 360deg);border:10px solid var(--navy);width:100%;height:100%;transition:transform var(--spin-duration,7s) cubic-bezier(.08, .82, .16, 1);border-radius:50%;position:relative;overflow:hidden;box-shadow:0 28px 55px #071f3a4d,0 10px 18px #071f3a29,inset 0 0 0 2px #fff9,inset 0 -28px 44px #071f3a21}.wheel:before{content:"";z-index:1;pointer-events:none;background:conic-gradient(#ffffff9e 0deg 1.2deg,#0000 1.2deg 59deg,#ffffff9e 59deg 61deg,#0000 61deg 119deg,#ffffff9e 119deg 121deg,#0000 121deg 179deg,#ffffff9e 179deg 181deg,#0000 181deg 239deg,#ffffff9e 239deg 241deg,#0000 241deg 299deg,#ffffff9e 299deg 301deg,#0000 301deg 360deg);border-radius:50%;position:absolute;inset:0}.wheel:after{content:"";z-index:2;pointer-events:none;background:radial-gradient(circle at 32% 24%,#ffffff61,#0000 26%),radial-gradient(circle at 68% 78%,#071f3a2e,#0000 36%),radial-gradient(circle,#0000 57%,#071f3a24 100%);border-radius:50%;position:absolute;inset:0}.slice-text{z-index:5;letter-spacing:.45px;text-transform:uppercase;text-align:center;white-space:nowrap;pointer-events:none;justify-content:center;align-items:center;width:126px;height:34px;margin-top:-17px;margin-left:-63px;font-size:.86rem;font-weight:950;line-height:1;display:flex;position:absolute;top:50%;left:50%}.slice-text span{-webkit-backdrop-filter:blur(7px);border-radius:999px;justify-content:center;align-items:center;min-width:112px;height:31px;padding:0 10px;display:inline-flex;box-shadow:0 8px 18px #071f3a26,inset 0 1px #ffffff73}.text-gros-1 span,.text-gros-2 span{color:#fff;text-shadow:0 2px 6px #0000003d;background:#071f3a38;border:1px solid #ffffff59}.text-moyen-1 span,.text-moyen-2 span{color:var(--navy);text-shadow:none;background:#ffffff9e;border:1px solid #ffffff8c}.text-petit-1 span,.text-petit-2 span{color:var(--navy);text-shadow:none;background:#ffffffd1;border:1px solid #071f3a1f}.text-gros-1{transform:rotate(30deg)translateY(-148px)rotate(-30deg)}.text-moyen-1{transform:rotate(90deg)translateY(-148px)rotate(-90deg)}.text-petit-1{transform:rotate(150deg)translateY(-148px)rotate(-150deg)}.text-gros-2{transform:rotate(210deg)translateY(-148px)rotate(-210deg)}.text-moyen-2{transform:rotate(270deg)translateY(-148px)rotate(-270deg)}.text-petit-2{transform:rotate(330deg)translateY(-148px)rotate(-330deg)}.wheel-center{z-index:8;border:9px solid var(--navy);background:radial-gradient(circle at 35% 28%,#fff,#eef4fb 62%,#dfe8f2 100%);border-radius:50%;width:82px;height:82px;position:absolute;box-shadow:0 14px 28px #071f3a57,inset 0 2px 3px #ffffffe6,inset 0 -8px 14px #071f3a14}.wheel-center:after{content:"🛡️";background:linear-gradient(135deg,#c7a04bf2,#f6e8bde0);border-radius:50%;justify-content:center;align-items:center;font-size:1.45rem;display:flex;position:absolute;inset:13px;box-shadow:inset 0 1px #ffffffbf}.wheel-pointer{z-index:12;filter:drop-shadow(0 12px 12px #071f3a47);width:64px;height:72px;position:absolute;top:-32px;left:50%;transform:translate(-50%)}.wheel-pointer:before{content:"";background:linear-gradient(145deg, #123b62 0%, var(--navy) 54%, #061a30 100%);clip-path:polygon(50% 100%,8% 0,92% 0);border-radius:10px;position:absolute;inset:0}.wheel-pointer:after{content:"";clip-path:polygon(50% 100%,0 0,100% 0);background:#ffffff2e;width:13px;height:38px;position:absolute;top:8px;left:22px}.spin-button{cursor:pointer;color:#fff;letter-spacing:.2px;background:linear-gradient(135deg,#071f3a 0%,#10385f 52%,#1f7ab8 100%);border:none;border-radius:18px;width:100%;max-width:465px;padding:18px 24px;font-size:1.22rem;font-weight:950;transition:transform .24s,box-shadow .24s,opacity .24s;position:relative;overflow:hidden;box-shadow:0 18px 36px #071f3a47,inset 0 1px #ffffff3d}.spin-button:before{content:"";background:linear-gradient(90deg,#0000,#ffffff52,#0000);width:60%;height:100%;transition:left .7s;position:absolute;top:0;left:-120%;transform:skew(-18deg)}.spin-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 24px 42px #071f3a57,inset 0 1px #ffffff47}.spin-button:hover:not(:disabled):before{left:130%}.spin-button:active:not(:disabled){transform:translateY(1px)}.spin-button:disabled{opacity:.62;cursor:not-allowed;transform:none}.prize-message{text-align:center;background:linear-gradient(#fffffffa,#f8fbfff2);border:1px solid #071f3a1a;border-radius:24px;width:100%;max-width:465px;margin-top:28px;padding:24px 24px 25px;animation:.5s ease-out both prizeIn;position:relative;overflow:hidden;box-shadow:0 20px 44px #071f3a1f,inset 0 1px #ffffffe6}.prize-message:before{content:"";background:linear-gradient(90deg, var(--blue), var(--gold), var(--blue));height:5px;position:absolute;inset:0 0 auto}.period-badge{color:var(--navy);background:#071f3a12;border-radius:999px;justify-content:center;align-items:center;margin:0 0 14px;padding:7px 14px;font-size:.82rem;font-weight:900;display:inline-flex}.prize-message h3{color:var(--navy);letter-spacing:-.5px;margin:0 0 15px;font-size:1.65rem;font-weight:950}.prize-message p{color:#334155;margin:8px 0;font-size:1.05rem;font-weight:600}.prize-message strong{color:#a66f00;font-weight:950}.lot-line strong{font-size:1.15rem}.prize-message.gros{border-color:#1f7ab861}.prize-message.moyen{border-color:#c7a04b6b}.prize-message.petit{border-color:#071f3a29}.error-message{color:#b91c1c;text-align:center;background:linear-gradient(#fff1f2,#ffe4e6);border:1px solid #fecdd3;border-radius:18px;width:100%;max-width:465px;margin-top:24px;padding:16px 18px;font-weight:850;box-shadow:0 12px 25px #b91c1c1a}.wheel-card:has(.spin-button:disabled) .wheel-wrapper:before{animation:1.1s ease-in-out infinite alternate spinningGlow}.wheel-card:has(.spin-button:disabled) .wheel-pointer{animation:.45s ease-in-out infinite alternate pointerPulse}@keyframes spinningGlow{0%{opacity:.55;transform:scale(.98)}to{opacity:1;transform:scale(1.03)}}@keyframes pointerPulse{0%{transform:translate(-50%)translateY(0)}to{transform:translate(-50%)translateY(4px)}}@keyframes prizeIn{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=620px){.wheel-page-container{padding:16px}.wheel-card{border-radius:26px;padding:28px 18px 30px}.event-label{padding:6px 12px;font-size:.72rem}.insurance-badge{padding:7px 12px;font-size:.76rem}.wheel-header{margin-bottom:26px}.wheel-header h2{letter-spacing:-1.4px;font-size:2.45rem}.wheel-header>p:not(.event-label){font-size:.96rem}.wheel-wrapper{width:320px;height:320px;margin-bottom:28px}.wheel{border-width:8px}.slice-text{letter-spacing:.25px;width:104px;height:29px;margin-top:-14.5px;margin-left:-52px;font-size:.72rem}.slice-text span{min-width:92px;height:27px;padding:0 8px}.text-gros-1{transform:rotate(30deg)translateY(-102px)rotate(-30deg)}.text-moyen-1{transform:rotate(90deg)translateY(-102px)rotate(-90deg)}.text-petit-1{transform:rotate(150deg)translateY(-102px)rotate(-150deg)}.text-gros-2{transform:rotate(210deg)translateY(-102px)rotate(-210deg)}.text-moyen-2{transform:rotate(270deg)translateY(-102px)rotate(-270deg)}.text-petit-2{transform:rotate(330deg)translateY(-102px)rotate(-330deg)}.wheel-center{border-width:7px;width:60px;height:60px}.wheel-center:after{font-size:1.15rem;inset:10px}.wheel-pointer{width:50px;height:58px;top:-26px}.spin-button{border-radius:16px;max-width:320px;padding:16px 20px;font-size:1.08rem}.prize-message,.error-message{max-width:320px}}.winners-box{background:#ffffff14;border-radius:16px;margin-top:22px;padding:16px}.winners-box h3{margin:0 0 12px;font-size:18px}.winners-list{flex-direction:column;gap:8px;display:flex}.winner-item{background:#ffffff1f;border-radius:12px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.winner-item span{font-size:14px}.winner-item small{opacity:.75;font-size:12px}.login-container{background-color:#f0f4f8;justify-content:center;align-items:center;min-height:100vh;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex}.login-card{background:#fff;border-top:5px solid #0a2540;border-radius:12px;width:100%;max-width:420px;padding:2.5rem;box-shadow:0 10px 30px #0a254014}.login-header{text-align:center;margin-bottom:2rem}.logo-placeholder{color:#d4af37;background-color:#0a2540;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:15px;font-size:24px;font-weight:700;display:inline-flex}.login-header h1{color:#0a2540;letter-spacing:-.5px;margin:0 0 .5rem;font-size:1.8rem;font-weight:700}.login-header p{color:#64748b;margin:0;font-size:.95rem}.input-group{flex-direction:column;margin-bottom:1.5rem;display:flex}.input-group label{color:#334155;margin-bottom:.5rem;font-size:.9rem;font-weight:600}.input-group input{color:#0f172a;background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:.8rem 1rem;font-size:1rem;transition:all .2s}.input-group input:focus{background-color:#fff;border-color:#0a2540;outline:none;box-shadow:0 0 0 3px #0a254026}.error-message{color:#ef4444;text-align:center;background-color:#fef2f2;border:1px solid #fca5a5;border-radius:8px;margin-bottom:1.5rem;padding:.8rem;font-size:.9rem;font-weight:500}.login-btn{color:#fff;cursor:pointer;background-color:#0a2540;border:none;border-radius:8px;width:100%;padding:.9rem;font-size:1rem;font-weight:600;transition:all .3s}.login-btn:hover:not(:disabled){background-color:#11385f;box-shadow:0 4px 12px #0a254033}.login-btn:active:not(:disabled){transform:translateY(1px)}.login-btn:disabled{cursor:not-allowed;box-shadow:none;background-color:#94a3b8}
