.welcome-page-wrapper{position:relative;min-height:100vh;overflow-x:hidden;color:#fff;font-family:var(--font-poppins),"Poppins",sans-serif}.welcome-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden}.welcome-bg-layer{position:absolute;top:-50%;left:-50%;width:200%;height:200%;opacity:.7;background:radial-gradient(circle at 20% 50%,hsla(0,0%,8%,.4) 0,transparent 50%),radial-gradient(circle at 80% 80%,hsla(0,0%,6%,.4) 0,transparent 50%),radial-gradient(circle at 40% 20%,hsla(0,0%,4%,.5) 0,transparent 50%),linear-gradient(135deg,rgba(0,0,0,.98),rgba(5,5,5,.98) 50%,rgba(0,0,0,.98));animation:bgPulse 25s ease-in-out infinite}.welcome-bg-layer-1{background:radial-gradient(circle at 30% 40%,rgba(25,25,25,.3) 0,transparent 60%),linear-gradient(180deg,rgba(0,0,0,.99),rgba(5,5,5,.98));animation-delay:0s}.welcome-bg-layer-2{background:radial-gradient(circle at 70% 60%,hsla(0,0%,8%,.35) 0,transparent 60%),linear-gradient(45deg,rgba(0,0,0,.98),rgba(3,3,3,.99));animation-delay:-8s}.welcome-bg-layer-3{background:radial-gradient(circle at 50% 50%,hsla(0,0%,6%,.4) 0,transparent 70%),linear-gradient(225deg,rgba(0,0,0,.99),rgba(5,5,5,.98));animation-delay:-16s}@keyframes bgPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}}.welcome-rain{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.rain-drop{position:absolute;top:-20px;background:linear-gradient(180deg,hsla(0,0%,100%,.6),hsla(0,0%,100%,.3));border-radius:50% 50% 50% 50%/60% 60% 40% 40%;animation:rainFall linear infinite;box-shadow:0 0 2px hsla(0,0%,100%,.5)}@keyframes rainFall{0%{transform:translateY(0) translateX(0);opacity:0}5%{opacity:1}95%{opacity:.8}to{transform:translateY(calc(100vh + 40px)) translateX(var(--wind-offset,20px));opacity:0}}.welcome-wind-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.welcome-wind-line{position:absolute;left:-60px;height:1px;min-width:24px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.08) 25%,hsla(0,0%,100%,.14) 50%,hsla(0,0%,100%,.08) 75%,transparent);animation:windLineDrift linear infinite}@keyframes windLineDrift{0%{transform:translateX(0);opacity:0}5%{opacity:1}95%{opacity:.8}to{transform:translateX(calc(100vw + 80px));opacity:0}}.welcome-leaves{inset:0;overflow:hidden;z-index:1}.leaf,.welcome-leaves{position:absolute;pointer-events:auto}.leaf{left:-50px;color:#c9702a;animation:leafFlyWind linear infinite;transform-origin:center center;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;z-index:3}.leaf:hover{z-index:10}.leaf:active{cursor:-webkit-grabbing;cursor:grabbing}.leaf.leaf-dragging{animation:none!important;transform:none!important;z-index:1000}.leaf.leaf-dropped{animation-name:leafFlyWindNoFade!important;opacity:.85!important}.leaf-svg{width:100%;height:100%;display:block;color:#c9702a;fill:#c9702a;filter:drop-shadow(0 0 1px rgba(160,90,40,.35))}@keyframes leafFlyWind{0%{transform:translateX(var(--start-x,0)) translateY(var(--start-y,0)) rotate(-15deg);opacity:0}8%{opacity:.85}20%{transform:translateX(calc(25vw + var(--start-x, 0px))) translateY(calc(-8px + var(--start-y, 0px))) rotate(5deg)}40%{transform:translateX(calc(50vw + var(--start-x, 0px))) translateY(calc(6px + var(--start-y, 0px))) rotate(-8deg)}60%{transform:translateX(calc(75vw + var(--start-x, 0px))) translateY(calc(-5px + var(--start-y, 0px))) rotate(10deg)}85%{opacity:.8}to{transform:translateX(calc(110vw + var(--start-x, 0px))) translateY(calc(4px + var(--start-y, 0px))) rotate(0deg);opacity:0}}@keyframes leafFlyWindNoFade{0%{transform:translateX(var(--start-x,0)) translateY(var(--start-y,0)) rotate(-15deg)}20%{transform:translateX(calc(25vw + var(--start-x, 0px))) translateY(calc(-8px + var(--start-y, 0px))) rotate(5deg)}40%{transform:translateX(calc(50vw + var(--start-x, 0px))) translateY(calc(6px + var(--start-y, 0px))) rotate(-8deg)}60%{transform:translateX(calc(75vw + var(--start-x, 0px))) translateY(calc(-5px + var(--start-y, 0px))) rotate(10deg)}to{transform:translateX(calc(110vw + var(--start-x, 0px))) translateY(calc(4px + var(--start-y, 0px))) rotate(0deg)}}.welcome-wind-container{animation:windSway 6s ease-in-out infinite;transform-origin:center center}@keyframes windSway{0%,to{transform:translateX(0) rotate(-.5deg)}25%{transform:translateX(4px) rotate(.4deg)}50%{transform:translateX(-3px) rotate(-.3deg)}75%{transform:translateX(2px) rotate(.2deg)}}.welcome-hero{position:relative;z-index:2;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:80px 20px 40px;opacity:0;transform:translateY(30px);transition:opacity 1s ease-out,transform 1s ease-out;pointer-events:none}.welcome-hero.visible{opacity:1;transform:translateY(0)}.welcome-hero-content{position:relative;z-index:2;text-align:center;max-width:1100px;pointer-events:auto}.welcome-title{font-size:clamp(48px,8vw,96px);font-weight:700;letter-spacing:.1em;margin-bottom:40px;text-shadow:0 0 30px hsla(0,0%,100%,.4),0 4px 20px rgba(0,0,0,.8);background:linear-gradient(135deg,#fff,#d0d0d0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:0;transform:translateX(-100px);transition:opacity .8s ease-out,transform .8s ease-out}.welcome-title.slide-in-left{opacity:1;transform:translateX(0)}.welcome-subtitle{font-size:clamp(18px,2.5vw,24px);font-weight:400;line-height:1.6;margin-bottom:48px;color:hsla(0,0%,100%,.9);opacity:0;transform:translateX(100px);transition:opacity .8s ease-out .3s,transform .8s ease-out .3s}.welcome-subtitle.slide-in-right{opacity:1;transform:translateX(0)}.welcome-cta{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;opacity:0;transform:translateY(30px);transition:opacity .8s ease-out .6s,transform .8s ease-out .6s}.welcome-cta.fade-in-up{opacity:1;transform:translateY(0)}.welcome-btn-primary,.welcome-btn-secondary{padding:18px 40px;font-size:18px;font-weight:600;border-radius:12px;border:none;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.05em;position:relative;overflow:hidden}.welcome-btn-primary:before,.welcome-btn-secondary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.2);transform:translate(-50%,-50%);transition:width .6s,height .6s}.welcome-btn-primary:hover:before,.welcome-btn-secondary:hover:before{width:300px;height:300px}.welcome-btn-primary:hover,.welcome-btn-secondary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.6)}.welcome-btn-primary{background:linear-gradient(135deg,#8b4513,sienna);color:#fff;box-shadow:0 4px 15px rgba(139,69,19,.4)}.welcome-btn-primary:hover{background:linear-gradient(135deg,sienna,peru);box-shadow:0 6px 20px rgba(139,69,19,.6)}.welcome-btn-secondary{background:hsla(0,0%,100%,.1);color:#fff;border:2px solid hsla(0,0%,100%,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.welcome-btn-secondary:hover{background:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.5)}.welcome-how-to-play{position:relative;z-index:2;padding:120px 20px;background:linear-gradient(180deg,rgba(0,0,0,.98),rgba(2,2,2,.99));opacity:0;transform:translateY(50px);transition:opacity 1s ease-out,transform 1s ease-out}.welcome-how-to-play.visible{opacity:1;transform:translateY(0)}.welcome-section-container{max-width:1000px;margin:0 auto}.welcome-section-title{font-size:clamp(36px,5vw,56px);font-weight:700;text-align:center;margin-bottom:48px;background:linear-gradient(135deg,#fff,#d0d0d0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 4px 20px rgba(0,0,0,.5)}.welcome-game-description{background:linear-gradient(135deg,rgba(0,0,0,.6),rgba(0,0,0,.4));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;border:1px solid hsla(0,0%,100%,.1);padding:40px;box-shadow:0 8px 32px rgba(0,0,0,.5)}.welcome-desc-item{transition:opacity .6s ease-out,transform .6s ease-out;will-change:opacity,transform}.welcome-desc-title{font-size:20px;font-weight:600;color:#fff;margin-top:24px;margin-bottom:12px}.welcome-desc-text,.welcome-desc-title{padding-left:0;margin-left:0;text-align:left}.welcome-desc-text{font-size:16px;line-height:1.8;color:hsla(0,0%,100%,.85);margin-bottom:16px}.welcome-login-section{position:relative;z-index:2;padding:120px 20px;background:linear-gradient(180deg,rgba(2,2,2,.99),rgba(0,0,0,.98));text-align:center}.welcome-login-subtitle{font-size:20px;color:hsla(0,0%,100%,.8);margin-bottom:40px}.welcome-login-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.welcome-login-btn{min-width:200px;padding:16px 32px;font-size:16px;font-weight:600;border-radius:10px;transition:all .3s ease;background:linear-gradient(135deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.05));border:2px solid hsla(0,0%,100%,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;position:relative;overflow:hidden}.welcome-login-btn span{display:inline-block;position:relative;z-index:1}.welcome-login-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.1);transform:translate(-50%,-50%);transition:width .5s,height .5s}.welcome-login-btn:hover:before{width:300px;height:300px}.welcome-login-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 25px rgba(0,0,0,.6);background:linear-gradient(135deg,hsla(0,0%,100%,.2),hsla(0,0%,100%,.1));border-color:hsla(0,0%,100%,.4)}.welcome-login-btn.welcome-login-btn-google{background:linear-gradient(135deg,rgba(30,30,30,.3),hsla(0,0%,8%,.2));border-color:hsla(0,0%,100%,.25)}.welcome-login-btn.welcome-login-btn-google:hover{background:linear-gradient(135deg,rgba(40,40,40,.4),rgba(30,30,30,.3));border-color:hsla(0,0%,100%,.4)}@media(max-width:768px){.welcome-title{font-size:48px}.welcome-subtitle{font-size:18px}.welcome-cta{flex-direction:column;align-items:center}.welcome-btn-primary,.welcome-btn-secondary{width:100%;max-width:300px}.welcome-game-description{padding:24px}}.welcome-page-wrapper svg:not(.leaf-svg){color:#fff;stroke:#fff}.welcome-page-wrapper img{filter:brightness(0) invert(1)}