*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;height:100%;overflow:hidden}
body{font-family:'DM Sans',system-ui,sans-serif;background:#F3F7FC;color:#1B2B4B}
kbd{background:#EFF3F8;border:1px solid #D6E2EE;border-radius:5px;padding:1px 7px;font-family:inherit;font-size:.9em}
.screen{position:fixed;inset:0;display:none}
.screen.active{display:flex;flex-direction:column}
.hint{font-size:13px;color:#8FA3BB;margin-top:14px}
.btn-gold{background:linear-gradient(135deg,#F5A623,#E8931A);border:none;border-radius:16px;padding:18px 54px;font-size:22px;font-weight:800;font-family:'DM Sans',sans-serif;color:#1B2B4B;cursor:pointer;box-shadow:0 10px 30px rgba(245,166,35,.45);transition:transform .15s}
.btn-gold:hover{transform:translateY(-2px)}
.btn-gold:disabled{opacity:.5;cursor:default;transform:none}

/* ── Pantalla ruleta ── */
.topbar{display:flex;align-items:center;gap:18px;padding:18px 40px;background:#fff;border-bottom:1px solid #D6E2EE}
.logo{height:56px;width:auto}
.brand-kicker{font-size:10px;letter-spacing:3.5px;color:#0D87A6;font-weight:700}
.brand-title{font-size:22px;font-family:'Playfair Display',serif;font-weight:900}

.round-pill{background:#EFF3F8;border-radius:10px;padding:8px 18px;font-size:15px;font-weight:700;color:#4A6080}
.wheel-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1}
#wheel-heading{font-family:'Playfair Display',serif;font-size:36px;font-weight:700;margin-bottom:26px}
.wheel-wrap{position:relative;width:min(52vh,86vw,480px);height:min(52vh,86vw,480px);border-radius:50%;box-shadow:0 12px 60px rgba(27,43,75,.18)}
.wheel-pointer{position:absolute;top:-30px;left:50%;transform:translateX(-50%);font-size:38px;color:#E8931A;z-index:3;text-shadow:0 4px 10px rgba(232,147,26,.4)}
#wheel{width:100%;height:100%;border-radius:50%}
.wheel-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:29%;height:29%;border-radius:50%;background:linear-gradient(135deg,#F5A623,#E8931A);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 22px rgba(245,166,35,.5);z-index:2}
.wheel-hub span{font-family:'Playfair Display',serif;font-size:56px;font-weight:900;color:#1B2B4B}
#btn-spin{margin-top:30px}
.wave-bottom{position:absolute;bottom:0;left:0;right:0;height:110px;background:radial-gradient(120% 100% at 50% 130%,rgba(13,135,166,.12),transparent 70%);pointer-events:none}

/* ── Pantalla reveal ── */
#screen-reveal{background:#FFF8EC;align-items:center;justify-content:center}
.reveal-rays{position:absolute;top:46%;left:50%;width:250vmax;height:250vmax;transform:translate(-50%,-50%);background:repeating-conic-gradient(from 0deg at 50% 50%,rgba(245,166,35,.10) 0deg 6deg,transparent 6deg 30deg);animation:raysSpin 24s linear infinite}
@keyframes raysSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.reveal-content{position:relative;text-align:center}
.reveal-kicker{font-size:16px;letter-spacing:6px;color:#E8931A;font-weight:700;margin-bottom:26px}
.reveal-circle{width:300px;height:300px;border-radius:50%;margin:0 auto 30px;background:linear-gradient(135deg,#F5A623,#E8931A);display:flex;align-items:center;justify-content:center;box-shadow:0 20px 80px rgba(245,166,35,.55);animation:pop .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes pop{from{transform:scale(.3);opacity:0}}
.reveal-circle span{font-family:'Playfair Display',serif;font-size:190px;font-weight:900;color:#1B2B4B;line-height:1}
.reveal-sub{font-size:22px;color:#4A6080;margin-bottom:20px}
.reveal-sub strong{color:#E8931A}
.reveal-count{font-size:26px;font-weight:800;color:#1B2B4B}
.reveal-count span{display:inline-block;min-width:34px;color:#E8931A;font-size:34px}

/* ── Pantalla videos + timer ── */
#screen-play{background:#0D1C30}
.play-layout{flex:1;display:flex}
.video-panel{flex:1;position:relative;display:flex;align-items:center;justify-content:center;background:#000}
#player{width:100%;height:100%;object-fit:contain;display:none}
.video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:linear-gradient(160deg,#F3F7FC,#EAF2FC);font-family:'Playfair Display',serif;font-size:34px;font-weight:700;color:#1B2B4B}
.video-placeholder img{height:110px}
.video-dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:10px}
.video-dots i{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.3)}
.video-dots i.on{background:#F5A623}
.timer-panel{flex:0 0 380px;background:#1B2B4B;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:6px}
.timer-letter-label{font-size:11px;letter-spacing:3px;color:rgba(255,255,255,.4);font-weight:700}
.timer-letter{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#F5A623,#E8931A);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:70px;font-weight:900;color:#1B2B4B;margin:8px 0 26px;box-shadow:0 8px 30px rgba(245,166,35,.45)}
.timer-clock{font-family:'Playfair Display',serif;font-size:120px;font-weight:900;color:#FFFFFF;line-height:1;font-variant-numeric:tabular-nums}
.timer-clock.warn{animation:clockPulse 1s ease-in-out infinite}
@keyframes clockPulse{50%{transform:scale(1.06)}}
.timer-caption{font-size:11px;letter-spacing:3px;color:rgba(255,255,255,.4);margin-top:6px}
.timer-bar{width:100%;height:10px;background:rgba(255,255,255,.12);border-radius:5px;overflow:hidden;margin-top:22px}
#timer-fill{height:100%;width:100%;background:linear-gradient(90deg,#0D87A6,#FF6060);border-radius:5px;transition:width 1s linear}
.timer-tip{margin-top:26px;font-size:16px;color:#FFD07A;font-weight:700}

/* ── Pantalla fin ── */
#screen-done{background:#FFF8EC;align-items:center;justify-content:center}
.done-content{text-align:center}
.done-big{font-family:'Playfair Display',serif;font-size:130px;font-weight:900;color:#1B2B4B;animation:pop .5s cubic-bezier(.2,1.6,.4,1)}
.done-sub{font-size:24px;color:#4A6080;margin:10px 0 8px}
.done-letter{font-size:18px;color:#8FA3BB;margin-bottom:36px}
.done-letter strong{color:#E8931A;font-size:24px}

/* ── Responsivo: tablet y celular ── */
@media (max-width:900px), (orientation:portrait){
.play-layout{flex-direction:column}
.video-panel{flex:1 1 55%}
.timer-panel{flex:0 0 auto;width:100%;padding:22px 20px;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:4px 24px}
.timer-letter{width:72px;height:72px;font-size:42px;margin:0}
.timer-letter-label,.timer-caption{display:none}
.timer-clock{font-size:64px}
.timer-bar{order:5;margin-top:12px}
.timer-tip{order:6;margin-top:8px;font-size:13px;width:100%;text-align:center}
}
@media (max-width:700px){
.topbar{padding:12px 16px;gap:12px}
.logo{height:40px}
.brand-title{font-size:16px}
.brand-kicker{font-size:8px;letter-spacing:2px}
.round-pill{padding:6px 12px;font-size:12px}
#wheel-heading{font-size:24px;margin-bottom:18px;text-align:center;padding:0 16px}
.wheel-hub span{font-size:38px}
.wheel-pointer{font-size:28px;top:-22px}
.btn-gold{padding:14px 36px;font-size:17px;border-radius:13px}
#btn-spin{margin-top:22px}
.hint{font-size:11px}
.reveal-circle{width:200px;height:200px;margin-bottom:22px}
.reveal-circle span{font-size:120px}
.reveal-kicker{font-size:12px;letter-spacing:4px;margin-bottom:18px}
.reveal-sub{font-size:16px;padding:0 24px}
.reveal-count{font-size:19px}
.reveal-count span{font-size:25px}
.video-placeholder{font-size:22px;gap:12px}
.video-placeholder img{height:70px}
.done-big{font-size:72px}
.done-sub{font-size:17px;padding:0 20px}
.done-letter{font-size:14px;margin-bottom:26px}
}
@media (max-height:500px) and (orientation:landscape){
.topbar{padding:8px 20px}
.logo{height:34px}
#wheel-heading{font-size:20px;margin-bottom:10px}
.wheel-wrap{width:min(46vh,300px);height:min(46vh,300px)}
.btn-gold{padding:10px 28px;font-size:15px}
#btn-spin{margin-top:14px}
.timer-panel{flex:0 0 240px;padding:16px}
.timer-clock{font-size:56px}
.timer-letter{width:60px;height:60px;font-size:34px;margin:4px 0 10px}
}

/* ── Loading overlay ── */
#loading-overlay{position:fixed;inset:0;z-index:100;background:#F3F7FC;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;transition:opacity .5s}
#loading-overlay.hide{opacity:0;pointer-events:none}
.loading-logo{height:110px;width:auto;animation:loadingPulse 1.6s ease-in-out infinite}
@keyframes loadingPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.75}}
.loading-bar{width:min(320px,70vw);height:8px;background:#D6E2EE;border-radius:4px;overflow:hidden}
#loading-fill{height:100%;width:0%;background:linear-gradient(90deg,#F5A623,#E8931A);border-radius:4px;transition:width .4s}
.loading-text{font-size:13px;color:#8FA3BB;letter-spacing:1px}
