#wi-overlay{position:fixed;inset:0;z-index:2147483000;overflow:hidden;transition:opacity 1.2s cubic-bezier(.4,0,.2,1),transform 1.2s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}
#wi-overlay *{box-sizing:border-box}
#wi-overlay.wi-dismissed{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:scale(1.04)}
.wi-stage{position:relative;width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,var(--wi-bg-start),var(--wi-bg-end));font-family:Arial,Helvetica,sans-serif}
.wi-content{position:relative;z-index:5;width:min(900px,90%);text-align:center;opacity:0;transform:translateY(45px) scale(.86);transition:opacity 1.2s ease,transform 1.2s cubic-bezier(.2,.8,.2,1);color:#4d2c00}
.wi-content.wi-visible{opacity:1;transform:translateY(0) scale(1)}
.wi-logo{width:90px;height:90px;margin:0 auto 25px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 10px 40px rgba(0,0,0,.2);font-size:38px}
.wi-logo-image{object-fit:contain;padding:10px}
.wi-eyebrow{margin-bottom:15px;font-size:var(--wi-caption-size,16px);font-weight:700;letter-spacing:6px;color:var(--wi-caption-color,#6d4508);text-transform:uppercase}
.wi-content h1{margin:0 0 20px;font-size:var(--wi-title-size,clamp(42px,8vw,100px));line-height:1;color:var(--wi-title-color,#4d2c00);text-shadow:0 3px 0 #fff,0 10px 30px rgba(0,0,0,.18)}
.wi-content p{max-width:680px;margin:0 auto;font-size:var(--wi-paragraph-size,clamp(17px,2vw,25px));line-height:1.5;color:var(--wi-paragraph-color,#68450c)}
.wi-button{display:inline-block;margin-top:35px;padding:16px 35px;border-radius:50px;background:var(--wi-btn-bg,#8d1700);color:var(--wi-btn-color,#fff)!important;font-size:16px;font-weight:700;text-decoration:none!important;box-shadow:0 10px 25px rgba(0,0,0,.25);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.wi-button:hover{transform:scale(1.05);box-shadow:0 12px 30px rgba(0,0,0,.35)}
.wi-valance{position:absolute;top:0;left:0;width:100%;height:115px;z-index:30;background:repeating-linear-gradient(90deg,var(--wi-curtain-dark),var(--wi-curtain) 25px,var(--wi-curtain-dark) 70px);border-bottom:7px solid var(--wi-gold);box-shadow:0 10px 30px rgba(0,0,0,.45);transition:transform 1.2s ease}
.wi-valance:after{content:"";position:absolute;left:0;bottom:-30px;width:100%;height:35px;background:radial-gradient(circle at 20px 0,var(--wi-curtain) 0 22px,transparent 23px) repeat-x;background-size:40px 40px}
.wi-open .wi-valance{transform:translateY(-120%)}
.wi-curtain{position:absolute;top:0;width:52%;height:100%;z-index:20;overflow:hidden;will-change:transform;background:repeating-linear-gradient(90deg,var(--wi-curtain-dark),var(--wi-curtain) 18px,var(--wi-curtain-dark) 72px);box-shadow:inset 0 0 80px rgba(0,0,0,.65)}
.wi-curtain:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(0,0,0,.3),transparent 14px,rgba(255,255,255,.08) 28px,transparent 45px,rgba(0,0,0,.25) 65px)}
.wi-curtain:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.4),transparent 20%,rgba(255,255,255,.08) 50%,transparent 80%,rgba(0,0,0,.4))}
.wi-left{left:0;border-right:7px solid var(--wi-gold)}
.wi-right{right:0;border-left:7px solid var(--wi-gold)}
.wi-rope{position:absolute;left:50%;top:50%;z-index:60;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;touch-action:none;user-select:none;cursor:grab}
.wi-rope.wi-dragging{cursor:grabbing}
.wi-rope-line{width:8px;height:155px;border-radius:10px;background:repeating-linear-gradient(45deg,#ffe08a 0 7px,#a97412 7px 14px);box-shadow:0 2px 8px rgba(0,0,0,.5)}
.wi-rope-handle{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:4px solid #ffe69a;background:radial-gradient(circle at 30% 25%,#fff2a5,#d7a72b 45%,#825000);font-size:24px;box-shadow:0 5px 15px rgba(0,0,0,.5),inset -6px -6px 10px rgba(0,0,0,.25)}
.wi-instruction{margin-top:15px;padding:10px 18px;border-radius:30px;background:rgba(0,0,0,.65);color:#fff;font-size:14px;white-space:nowrap}
.wi-login-message{position:absolute;left:50%;bottom:12%;z-index:60;transform:translateX(-50%);max-width:90%;padding:12px 20px;border-radius:30px;background:rgba(0,0,0,.68);color:#fff;text-align:center;font-size:14px}
.wi-arrow{position:absolute;top:50%;z-index:55;transform:translateY(-50%);color:#fff;font-size:42px;opacity:.65;animation:wiPulse 1.5s infinite;pointer-events:none}
.wi-arrow-left{left:20px}.wi-arrow-right{right:20px}
@keyframes wiPulse{0%,100%{opacity:.3}50%{opacity:1}}
.wi-countdown{position:absolute;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0}
.wi-countdown span{font-size:clamp(100px,20vw,250px);font-weight:900;color:#fff;text-shadow:0 10px 30px rgba(0,0,0,.5)}
.wi-countdown span.wi-countdown-pop{animation:wiCountdownPop .8s ease forwards}
@keyframes wiCountdownPop{0%{transform:scale(2);opacity:0}30%{transform:scale(1);opacity:1}100%{transform:scale(.8);opacity:0}}
#wi-confetti,#wi-balloons,#wi-fireworks{position:absolute;inset:0;pointer-events:none}
#wi-confetti{z-index:150}#wi-balloons{z-index:8}#wi-fireworks{z-index:100}
.wi-confetti-piece{position:absolute;top:-20px;width:9px;height:16px;animation:wiConfettiFall linear forwards}
@keyframes wiConfettiFall{to{transform:translateY(110vh) rotate(720deg)}}
.wi-balloon{position:absolute;bottom:-150px;border-radius:50% 50% 45% 45%;box-shadow:inset -10px -10px 15px rgba(0,0,0,.15);animation:wiBalloonUp linear forwards}
.wi-balloon:after{content:"";position:absolute;top:100%;left:50%;width:1px;height:150px;background:rgba(255,255,255,.7)}
@keyframes wiBalloonUp{to{transform:translateY(-125vh) rotate(15deg)}}
.wi-balloon-ambient{position:absolute;bottom:-160px;border-radius:50% 50% 45% 45%;box-shadow:inset -10px -10px 15px rgba(0,0,0,.15);animation:wiAmbientFloat linear infinite;opacity:.8}
.wi-balloon-ambient:after{content:"";position:absolute;top:100%;left:50%;width:1px;height:120px;background:rgba(255,255,255,.5)}
@keyframes wiAmbientFloat{0%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-65vh) rotate(7deg)}100%{transform:translateY(-130vh) rotate(-6deg)}}
.wi-firework{position:absolute;width:5px;height:5px;border-radius:50%}
.wi-spark{position:absolute;width:4px;height:28px;transform-origin:50% 100%;animation:wiSparkExplode .9s ease-out forwards}
@keyframes wiSparkExplode{0%{transform:rotate(var(--angle)) translateY(0);opacity:1}100%{transform:rotate(var(--angle)) translateY(var(--distance));opacity:0}}
#wi-flash{position:absolute;inset:0;z-index:300;background:#fff;pointer-events:none;opacity:0}
#wi-flash.wi-flash-active{animation:wiFlash .35s ease}
@keyframes wiFlash{0%{opacity:.9}100%{opacity:0}}
.wi-speed-slow .wi-curtain{transition:transform .25s linear}
.wi-speed-fast .wi-curtain{transition:transform .08s linear}
@media(max-width:600px){.wi-valance{height:80px}.wi-curtain{width:55%}.wi-rope-line{height:120px}.wi-instruction{font-size:11px}.wi-arrow{font-size:28px}.wi-logo{width:70px;height:70px}}
@media(prefers-reduced-motion:reduce){.wi-arrow,.wi-confetti-piece,.wi-balloon,.wi-balloon-ambient,.wi-spark{animation:none!important}.wi-content{transition:none!important}}
