:root{
  --blue:#5db7ee;
  --blue2:#00a8ff;
  --gold:#ffd45a;
  --gold2:#ffac18;
  --bg:#050914;
  --card:rgba(7,14,33,.72);
  --line:rgba(93,183,238,.38);
  --text:#f8fbff;
  --muted:#b9c8df;
  --danger:#ff5269;
  --success:#7ef0b2;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:#02040c;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;background:linear-gradient(180deg,rgba(1,5,18,.38),rgba(1,5,18,.70)),url("./assets/img/background-night.png") center/cover no-repeat;z-index:-3}
body:after{content:"";position:fixed;inset:0;background:radial-gradient(circle at 50% 28%,rgba(0,184,255,.2),transparent 35%),radial-gradient(circle at 50% 78%,rgba(0,119,255,.24),transparent 35%);z-index:-2;pointer-events:none}
button,a{font:inherit}.hidden{display:none!important}
.app-shell{width:100%;min-height:100svh;display:grid;place-items:center;padding:18px 12px calc(24px + env(safe-area-inset-bottom))}
.phone-card{position:relative;width:min(100%,430px);min-height:calc(100svh - 36px);padding:16px 16px 18px;border:1px solid rgba(93,183,238,.35);border-radius:34px;background:linear-gradient(180deg,rgba(5,13,34,.58),rgba(3,8,21,.86));box-shadow:0 0 0 1px rgba(255,212,90,.13) inset,0 0 32px rgba(0,168,255,.35),0 30px 90px rgba(0,0,0,.72);overflow:hidden}.phone-card:before{content:"";position:absolute;inset:10px;border-radius:28px;border:1px solid rgba(93,183,238,.22);pointer-events:none}.phone-card:after{content:"";position:absolute;left:-35%;right:-35%;bottom:-12%;height:34%;background:radial-gradient(ellipse at 50% 100%,rgba(0,177,255,.58),transparent 65%);filter:blur(10px);pointer-events:none;z-index:0}
.hero,.wheel-zone,.spin-button,.status-text,.locked-panel{position:relative;z-index:1}.hero{text-align:center;padding-top:2px}.brand-logo{width:min(52%,218px);max-height:142px;object-fit:contain;display:block;margin:0 auto -6px;filter:drop-shadow(0 0 16px rgba(0,168,255,.45))}.game-badge{display:inline-flex;gap:7px;align-items:center;justify-content:center;margin:0 auto 2px;padding:6px 15px;border:1px solid rgba(93,183,238,.9);border-radius:999px;background:rgba(3,15,38,.85);color:#d9f4ff;text-transform:uppercase;letter-spacing:.11em;font-weight:900;font-size:11px;box-shadow:0 0 18px rgba(0,168,255,.42) inset,0 0 24px rgba(0,168,255,.25)}
h1{margin:0;font-size:clamp(28px,7.4vw,42px);line-height:1;font-weight:1000;letter-spacing:-.04em;text-shadow:0 2px 0 #123b70,0 0 16px rgba(0,168,255,.5)}h1::first-letter{color:#fff}.subtitle{margin:4px 0 0;color:#d7e8ff;font-size:clamp(13px,3.6vw,16px);font-weight:750;text-shadow:0 0 12px rgba(0,0,0,.7)}
.wheel-zone{width:min(108%,440px);aspect-ratio:1/1;margin:2px 50% 26px;transform:translateX(-50%);display:grid;place-items:center;overflow:visible}.wheel-light{position:absolute;inset:4%;border-radius:50%;background:radial-gradient(circle,rgba(0,224,255,.12),transparent 52%);box-shadow:0 0 18px rgba(0,168,255,.38);animation:pulseGlow 2.8s ease-in-out infinite}.wheel-stack{position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:visible}.wheel{position:absolute;left:50%;top:50%;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 10px rgba(0,174,255,.35));transform:translate(-50%,-50%) rotate(var(--wheel-rotation,0deg));transform-origin:50% 50%;will-change:transform;user-select:none;z-index:2;background:transparent}.wheel.spinning{transition:transform 4.8s cubic-bezier(.12,.74,.05,1)}.wheel-center{position:absolute;left:50%;top:50%;width:33%;height:33%;object-fit:contain;transform:translate(-50%,-50%);z-index:4;filter:drop-shadow(0 0 5px rgba(0,168,255,.28));pointer-events:none;user-select:none;background:transparent}.wheel-pointer{position:absolute;left:50%;top:-3.8%;width:17%;height:auto;object-fit:contain;transform:translateX(-50%);z-index:6;filter:drop-shadow(0 0 13px rgba(255,196,26,.85));pointer-events:none;user-select:none;background:transparent}
.spin-button{width:92%;margin:4px auto 0;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:24px;padding:13px 15px;color:#07142b;text-transform:uppercase;font-size:clamp(19px,5.8vw,28px);font-weight:1000;letter-spacing:-.025em;cursor:pointer;background:linear-gradient(180deg,#fff2a8 0%,#ffd25b 22%,#ffb318 58%,#f19600 100%);box-shadow:0 6px 0 #935400,0 0 0 3px rgba(255,255,255,.36) inset,0 0 0 5px rgba(0,137,255,.32),0 0 22px rgba(0,168,255,.62),0 12px 32px rgba(0,0,0,.45);text-shadow:0 1px 0 rgba(255,255,255,.38);transition:transform .15s ease,filter .15s ease}.spin-button span{color:#8d4a00}.spin-button:active{transform:translateY(3px);box-shadow:0 4px 0 #935400,0 0 0 3px rgba(255,255,255,.36) inset,0 0 0 5px rgba(0,137,255,.32),0 0 22px rgba(0,168,255,.62)}.spin-button:disabled{filter:grayscale(.35) brightness(.78);cursor:not-allowed}.status-text{text-align:center;margin:20px 0 0;color:#cce8ff;font-size:17px;font-weight:900;text-shadow:0 0 14px rgba(0,168,255,.7)}.status-text:before{content:"🛡️ ";opacity:.9}.locked-panel{margin-top:14px;padding:14px;border-radius:20px;background:rgba(3,13,32,.78);border:1px solid rgba(93,183,238,.3);text-align:center;display:grid;gap:8px}.locked-panel strong{color:#fff}.locked-panel span{color:var(--muted);font-size:14px}.ghost-button{border:1px solid rgba(93,183,238,.45);background:rgba(93,183,238,.09);color:#eaf7ff;border-radius:14px;padding:10px 12px;font-weight:850;cursor:pointer}
.modal-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}.modal-card{position:relative;width:min(100%,390px);border-radius:30px;padding:22px 18px 18px;text-align:center;background:linear-gradient(180deg,rgba(8,20,48,.96),rgba(4,10,25,.98));border:1px solid rgba(93,183,238,.42);box-shadow:0 0 0 1px rgba(255,212,90,.18) inset,0 0 38px rgba(0,168,255,.38),0 30px 90px rgba(0,0,0,.8);overflow:hidden}.modal-card:before{content:"";position:absolute;inset:-25%;background:radial-gradient(circle at 50% 0%,rgba(0,177,255,.28),transparent 40%);pointer-events:none}.modal-card>*{position:relative}.modal-logo{width:160px;max-width:55%;display:block;margin:0 auto 0;filter:drop-shadow(0 0 14px rgba(0,168,255,.45))}.modal-card h2{margin:6px 0 8px;font-size:28px;line-height:1;font-weight:1000;letter-spacing:-.035em}.modal-card p{margin:8px 0;color:#d8e8ff;font-weight:650}.primary-link,.modal-button,.secondary-link{display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:16px;text-decoration:none;font-weight:950;cursor:pointer}.primary-link{margin-top:14px;color:#07142b;background:linear-gradient(180deg,#fff6b9,#ffc11b);box-shadow:0 0 18px rgba(255,196,26,.35)}.modal-button{width:100%;border:0;background:linear-gradient(180deg,#70d6ff,#168bd4);color:#fff;box-shadow:0 0 18px rgba(0,168,255,.34);text-shadow:0 1px 0 rgba(0,0,0,.28)}.modal-button:disabled{opacity:.45;cursor:not-allowed}.countdown{font-size:14px;color:#bddcff!important}.result-card{padding-top:30px}.close-button{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;font-size:25px;line-height:1;cursor:pointer;z-index:2}.win-kicker{text-transform:uppercase;color:var(--gold)!important;font-weight:1000;letter-spacing:.14em;font-size:12px!important}.reward-image{display:block;width:100%;border-radius:22px;margin:12px auto;box-shadow:0 0 24px rgba(0,168,255,.25)}.reward-detail{font-size:15px}.code-box{margin:14px 0;padding:12px;border-radius:17px;background:rgba(255,255,255,.07);border:1px solid rgba(255,212,90,.28);display:grid;gap:4px}.code-box span{font-size:12px;color:#c8d6ea;text-transform:uppercase;letter-spacing:.12em;font-weight:850}.code-box strong{font-size:30px;color:#ffe275;text-shadow:0 0 14px rgba(255,204,39,.5);letter-spacing:.04em}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.secondary-link{color:#dff6ff;border:1px solid rgba(93,183,238,.45);background:rgba(93,183,238,.10)}
@keyframes pulseGlow{0%,100%{opacity:.62;transform:scale(.98)}50%{opacity:1;transform:scale(1.02)}}
@media(max-height:720px){.brand-logo{width:43%;max-height:105px}.game-badge{font-size:10px;padding:5px 12px}h1{font-size:30px}.subtitle{font-size:13px}.wheel-zone{width:min(110%,420px);margin:0 50% 20px;transform:translateX(-50%)}.wheel-center{width:34%;height:34%}.spin-button{font-size:21px;padding:11px 13px}.status-text{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.wheel.spinning{transition:transform .8s ease-out}.wheel-light{animation:none}}

/* Nouvelle logique installation + carte fidélité */
.official-app-icon{width:96px;height:96px;border-radius:24px;display:block;margin:0 auto 10px;box-shadow:0 0 0 2px rgba(255,255,255,.18),0 0 24px rgba(0,168,255,.38);object-fit:cover}.install-card h2{margin-top:8px}.trust-row{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0 4px;padding:10px 12px;border-radius:15px;background:rgba(126,240,178,.08);border:1px solid rgba(126,240,178,.24);color:#dfffee;font-size:13px;font-weight:850}.trust-dot{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(126,240,178,.16);color:var(--success);font-weight:1000}.playstore-link{gap:8px}.install-check-button{width:100%;margin-top:10px;min-height:46px}.claim-box{margin:14px 0;padding:13px;border-radius:18px;background:rgba(93,183,238,.08);border:1px solid rgba(93,183,238,.26);display:grid;gap:9px;text-align:left}.claim-box label{font-size:13px;color:#d9f4ff;font-weight:850}.claim-input{width:100%;border:1px solid rgba(93,183,238,.36);border-radius:14px;background:rgba(2,7,18,.72);color:#fff;font-size:17px;font-weight:850;padding:12px 13px;outline:none}.claim-input:focus{border-color:rgba(93,183,238,.85);box-shadow:0 0 0 3px rgba(93,183,238,.16)}.claim-status{margin:0!important;color:#d8e8ff!important;font-size:13px!important;font-weight:750!important;text-align:center}.result-actions{margin-top:10px}
