/* TRTL Cards: Elemental Depths Ascension - All Styles */

body{margin:0;padding:0;overflow:hidden;background:radial-gradient(ellipse at 50% 0%,rgba(0,150,199,0.2) 0%,transparent 50%),radial-gradient(ellipse at 0% 100%,rgba(16,78,139,0.3) 0%,transparent 60%),radial-gradient(ellipse at 100% 100%,rgba(21,101,192,0.3) 0%,transparent 60%),linear-gradient(180deg,#001427 0%,#002440 20%,#003454 40%,#004466 60%,#005478 80%,#00648a 100%);animation:bodyOceanPulse 20s ease-in-out infinite;font-family:'Georgia',serif;color:#e0f7fa}@keyframes bodyOceanPulse{0%,100%{filter:brightness(1) saturate(1)}50%{filter:brightness(1.1) saturate(1.15)}}body::before{content:'';position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle 2px,rgba(255,255,255,0.4) 0%,transparent 2px),radial-gradient(circle 1.5px,rgba(200,230,255,0.3) 0%,transparent 1.5px),radial-gradient(circle 1px,rgba(255,255,255,0.5) 0%,transparent 1px);background-size:80vw 100vh,100vw 80vh,60vw 120vh;background-position:0% 0%,20% 0%,40% 0%;animation:gameParticleFloat 60s linear infinite;pointer-events:none;z-index:-100;opacity:0.3}@keyframes gameParticleFloat{0%{background-position:0% 0%,20% 0%,40% 0%}100%{background-position:0% 100vh,20% 100vh,40% 100vh}}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:rgba(0,20,40,0.6);border-radius:10px;border:1px solid rgba(64,196,255,0.2)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#0277bd,#01579b);border-radius:10px;border:2px solid rgba(64,196,255,0.3)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#0288d1,#0277bd);border-color:rgba(64,196,255,0.6)}::-webkit-scrollbar-corner{background:rgba(0,20,40,0.6)}@keyframes phasePopIn{0%{transform:translate(-50%,-50%) scale(0);opacity:0}100%{transform:translate(-50%,-50%) scale(1);opacity:calc(0.25 + (var(--weatherIntensity,0.6) * 0.75))}}@keyframes phasePopOut{0%{transform:translate(-50%,-50%) scale(1);opacity:1}100%{transform:translate(-50%,-50%) scale(0);opacity:0}}@keyframes rewardPopIn{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}#reward-card{width:200px;height:300px;margin:20px auto;animation:cardReveal 1s ease-out 0.3s both}@keyframes cardReveal{0%{transform:rotateY(90deg) scale(0.5);opacity:0}100%{transform:rotateY(0deg) scale(1);opacity:1}}#phase-indicator.show{animation:phasePopIn 0.5s ease-out forwards;display:block !important}#phase-indicator.hide{animation:phasePopOut 0.5s ease-in forwards}#phase-indicator h2{margin:0;font-size:48px;color:#40c4ff;text-shadow:0 0 20px rgba(64,196,255,1),0 0 40px rgba(64,196,255,0.7);font-weight:bold;letter-spacing:3px}#phase-indicator p{margin:15px 0 0 0;font-size:18px;color:#80deea;opacity:0.9}#reward-content{background:linear-gradient(135deg,#0a0a2e,#1a1a4d);padding:50px;border-radius:30px;border:4px solid #ffd700;box-shadow:0 0 100px rgba(255,215,0,0.8),inset 0 0 50px rgba(255,215,0,0.1);text-align:center;animation:rewardPopIn 0.6s ease-out}#reward-content h2{color:#ffd700;font-size:42px;margin:0 0 20px 0;text-shadow:0 0 20px rgba(255,215,0,1)}#reward-card{width:200px;height:300px;margin:20px auto;animation:cardReveal 1s ease-out 0.3s both}#reward-continue{background:linear-gradient(145deg,#ffd700,#ffb300);color:#0a0a2e;border:3px solid #ffe57f;padding:15px 40px;border-radius:20px;cursor:pointer;font-weight:bold;font-size:20px;margin-top:20px;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(255,215,0,0.5)}#reward-continue:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 6px 25px rgba(255,215,0,0.8)}.card-ui[data-element="water"]{border-color:#00bcd4;box-shadow:0 8px 25px rgba(0,188,212,0.5),inset 0 0 20px rgba(0,188,212,0.1)}.card-ui[data-element="fire"]{border-color:#ff6f00;box-shadow:0 8px 25px rgba(255,111,0,0.5),inset 0 0 20px rgba(255,87,34,0.1)}.card-ui[data-element="earth"]{border-color:#558b2f;box-shadow:0 8px 25px rgba(85,139,47,0.5),inset 0 0 20px rgba(51,105,30,0.1)}.card-ui[data-element="air"]{border-color:#b0bec5;box-shadow:0 8px 25px rgba(176,190,197,0.5),inset 0 0 20px rgba(120,144,156,0.1)}#menu{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:100;background:linear-gradient(145deg,rgba(0,25,50,0.92),rgba(0,40,80,0.88));padding:40px 50px;border-radius:30px;border:3px solid rgba(64,196,255,0.8);box-shadow:0 0 60px rgba(64,196,255,0.6),0 0 120px rgba(0,150,255,0.3),inset 0 0 60px rgba(0,0,0,0.4);backdrop-filter:blur(25px);animation:fadeIn 1s ease-out;max-width:700px;width:85vw;max-height:85vh;overflow-y:auto;overflow-x:hidden}#menu::before{content:'';position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:120%;height:120%;background:radial-gradient(ellipse at center,rgba(64,196,255,0.15) 0%,transparent 70%);animation:menuGlow 4s ease-in-out infinite;z-index:-1;pointer-events:none}@keyframes menuGlow{0%,100%{opacity:0.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:0.9;transform:translate(-50%,-50%) scale(1.05)}}#menu::-webkit-scrollbar{width:10px}#menu::-webkit-scrollbar-track{background:rgba(0,20,40,0.5);border-radius:10px}#menu::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(64,196,255,0.6),rgba(0,150,200,0.8));border-radius:10px;border:2px solid rgba(0,20,40,0.3)}#menu::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(64,196,255,0.8),rgba(0,150,200,1))}#menu h1{font-size:52px;margin:0 0 8px 0;background:linear-gradient(135deg,#40c4ff,#00e5ff,#0099ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 40px rgba(64,196,255,0.4);letter-spacing:4px;font-weight:bold}#menu h2{font-size:18px;margin:0 0 30px 0;color:#80deea;font-weight:300;opacity:0.85;letter-spacing:1px}@keyframes fadeIn{from{opacity:0;transform:translate(-50%,-50%) scale(0.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.ocean-bg-main{position:fixed;top:0;left:0;width:100vw;height:120vh;min-height:120vh;background:radial-gradient(ellipse at 50% 0%,rgba(0,150,199,0.3) 0%,transparent 50%),radial-gradient(ellipse at 0% 100%,rgba(16,78,139,0.4) 0%,transparent 60%),radial-gradient(ellipse at 100% 100%,rgba(21,101,192,0.4) 0%,transparent 60%),linear-gradient(180deg,#001427 0%,#002440 15%,#003454 30%,#004466 45%,#005478 60%,#00648a 75%,#00749c 90%,#006b8f 95%,#005d7a 100%);animation:oceanPulse 20s ease-in-out infinite;z-index:-10}.ocean-bg-main::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:30vh;background:linear-gradient(to bottom,transparent 0%,rgba(0,20,40,0.6) 100%);pointer-events:none}@keyframes oceanPulse{0%,100%{filter:brightness(1) hue-rotate(0deg) saturate(1)}50%{filter:brightness(1.15) hue-rotate(8deg) saturate(1.2)}}.ocean-floor{position:fixed;bottom:0;left:0;width:100%;height:60vh;pointer-events:none;z-index:-8}.ocean-floor:nth-of-type(2){bottom:20vh;opacity:0.8;transform:scale(0.95);z-index:-8}.ocean-floor:nth-of-type(3){bottom:40vh;opacity:0.6;transform:scale(0.85);z-index:-8}.coral{position:absolute;filter:drop-shadow(0 0 10px rgba(255,105,180,0.5))}.coral:nth-child(1){left:3%;bottom:5%;font-size:55px;animation:coralSway 6s ease-in-out infinite}.coral:nth-child(2){left:12%;bottom:15%;font-size:48px;animation:coralSway 7s ease-in-out infinite;animation-delay:1s}.coral:nth-child(3){left:23%;bottom:8%;font-size:60px;animation:coralSway 5.5s ease-in-out infinite;animation-delay:2s}.coral:nth-child(4){left:38%;bottom:18%;font-size:52px;animation:coralSway 6.5s ease-in-out infinite;animation-delay:0.5s}.coral:nth-child(5){left:51%;bottom:3%;font-size:58px;animation:coralSway 7.5s ease-in-out infinite;animation-delay:1.5s}.coral:nth-child(6){left:64%;bottom:12%;font-size:50px;animation:coralSway 6s ease-in-out infinite;animation-delay:2.5s}.coral:nth-child(7){left:78%;bottom:20%;font-size:56px;animation:coralSway 5s ease-in-out infinite;animation-delay:1s}.coral:nth-child(8){left:91%;bottom:7%;font-size:54px;animation:coralSway 6.8s ease-in-out infinite;animation-delay:0.3s}@keyframes coralSway{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(3deg) translateY(-5px)}}.seaweed{position:absolute;font-size:65px;filter:drop-shadow(0 0 8px rgba(50,200,100,0.4))}.seaweed:nth-child(1){left:7%;bottom:10%;animation:seaweedWave 4s ease-in-out infinite}.seaweed:nth-child(2){left:18%;bottom:22%;animation:seaweedWave 5s ease-in-out infinite;animation-delay:0.8s}.seaweed:nth-child(3){left:32%;bottom:6%;animation:seaweedWave 4.5s ease-in-out infinite;animation-delay:1.5s}.seaweed:nth-child(4){left:46%;bottom:16%;animation:seaweedWave 5.5s ease-in-out infinite;animation-delay:0.3s}.seaweed:nth-child(5){left:59%;bottom:25%;animation:seaweedWave 4.8s ease-in-out infinite;animation-delay:2s}.seaweed:nth-child(6){left:72%;bottom:4%;animation:seaweedWave 5.2s ease-in-out infinite;animation-delay:1.2s}.seaweed:nth-child(7){left:86%;bottom:14%;animation:seaweedWave 4.3s ease-in-out infinite;animation-delay:0.6s}@keyframes seaweedWave{0%,100%{transform:rotate(-8deg) scaleY(1)}25%{transform:rotate(5deg) scaleY(1.03)}50%{transform:rotate(-3deg) scaleY(0.98)}75%{transform:rotate(6deg) scaleY(1.02)}}.rocks{position:fixed;bottom:0;left:0;width:100%;height:35vh;pointer-events:none;z-index:-7}.rocks:nth-of-type(5){bottom:20vh;opacity:0.7;z-index:-7}.rocks:nth-of-type(6){bottom:40vh;opacity:0.5;z-index:-7}.rock{position:absolute;filter:drop-shadow(0 0 5px rgba(100,100,100,0.5))}.rock:nth-child(1){left:5%;bottom:2%;font-size:38px}.rock:nth-child(2){left:15%;bottom:8%;font-size:42px}.rock:nth-child(3){left:27%;bottom:1%;font-size:36px}.rock:nth-child(4){left:40%;bottom:11%;font-size:44px}.rock:nth-child(5){left:54%;bottom:5%;font-size:40px}.rock:nth-child(6){left:67%;bottom:9%;font-size:35px}.rock:nth-child(7){left:80%;bottom:3%;font-size:43px}.rock:nth-child(8){left:92%;bottom:12%;font-size:37px}.ocean-light-rays{position:fixed;top:-10%;left:-10%;width:120%;height:130vh;min-height:130vh;background:linear-gradient(172deg,transparent 20%,rgba(64,196,255,0.12) 25%,transparent 30%),linear-gradient(168deg,transparent 30%,rgba(100,200,255,0.10) 35%,transparent 40%),linear-gradient(176deg,transparent 25%,rgba(80,180,255,0.11) 30%,transparent 35%),linear-gradient(170deg,transparent 35%,rgba(64,196,255,0.09) 40%,transparent 45%),linear-gradient(174deg,transparent 15%,rgba(90,190,255,0.10) 20%,transparent 25%);animation:lightRayMove 25s ease-in-out infinite;pointer-events:none;z-index:-9;mix-blend-mode:screen}@keyframes lightRayMove{0%,100%{transform:translateX(-3%) translateY(-3%) rotate(-1deg);opacity:0.7}50%{transform:translateX(3%) translateY(3%) rotate(1deg);opacity:0.9}}.ocean-particles{position:fixed;top:0;left:0;width:100%;height:120vh;min-height:120vh;background-image:radial-gradient(circle 2px,rgba(255,255,255,0.7) 0%,transparent 2px),radial-gradient(circle 1.5px,rgba(200,230,255,0.6) 0%,transparent 1.5px),radial-gradient(circle 2.5px,rgba(180,220,255,0.5) 0%,transparent 2.5px),radial-gradient(circle 1px,rgba(255,255,255,0.8) 0%,transparent 1px),radial-gradient(circle 3px,rgba(150,210,255,0.4) 0%,transparent 3px);background-size:60vw 120vh,80vw 100vh,70vw 110vh,50vw 130vh,90vw 95vh;background-position:0% 0%,20% 0%,40% 0%,60% 0%,80% 0%;animation:particleFloat 50s linear infinite;pointer-events:none;z-index:-9;opacity:0.8}@keyframes particleFloat{0%{background-position:0% 0%,20% 0%,40% 0%,60% 0%,80% 0%}100%{background-position:0% 150vh,20% 150vh,40% 150vh,60% 150vh,80% 150vh}}.ocean-bubbles{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1}.bubble-float{position:absolute;bottom:-100px;width:40px;height:40px;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,0.9),rgba(200,230,255,0.5) 40%,rgba(180,220,255,0.3));border-radius:50%;box-shadow:inset -3px -3px 10px rgba(255,255,255,0.6),inset 3px 3px 8px rgba(0,100,150,0.3),0 0 25px rgba(64,196,255,0.4);animation:bubbleRise 12s ease-in infinite}.bubble-float:nth-child(1){left:8%;width:25px;height:25px;animation-duration:10s;animation-delay:0s}.bubble-float:nth-child(2){left:22%;width:35px;height:35px;animation-duration:13s;animation-delay:2s}.bubble-float:nth-child(3){left:38%;width:30px;height:30px;animation-duration:11s;animation-delay:4s}.bubble-float:nth-child(4){left:54%;width:45px;height:45px;animation-duration:14s;animation-delay:1s}.bubble-float:nth-child(5){left:68%;width:28px;height:28px;animation-duration:10.5s;animation-delay:3s}.bubble-float:nth-child(6){left:82%;width:38px;height:38px;animation-duration:12.5s;animation-delay:5s}.bubble-float:nth-child(7){left:15%;width:32px;height:32px;animation-duration:11.5s;animation-delay:6s}.bubble-float:nth-child(8){left:45%;width:26px;height:26px;animation-duration:10s;animation-delay:3.5s}.bubble-float:nth-child(9){left:75%;width:42px;height:42px;animation-duration:13.5s;animation-delay:4.5s}.bubble-float:nth-child(10){left:92%;width:34px;height:34px;animation-duration:12s;animation-delay:2.5s}@keyframes bubbleRise{0%{bottom:-100px;opacity:0;transform:translateX(0) scale(0.8)}10%{opacity:0.9}25%{transform:translateX(40px) scale(1.1)}50%{transform:translateX(-30px) scale(1)}75%{transform:translateX(25px) scale(1.05);opacity:0.7}100%{bottom:110vh;opacity:0;transform:translateX(-15px) scale(0.9)}}.fish-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-5;overflow:hidden}.fish{position:absolute;font-size:40px;animation:fishSwim 25s linear infinite;filter:drop-shadow(0 0 8px rgba(64,196,255,0.6));opacity:0}.fish:nth-child(1){top:15%;left:20%;animation-duration:28s;animation-delay:0s;font-size:35px}.fish:nth-child(2){top:30%;left:60%;animation-duration:32s;animation-delay:4s;font-size:45px}.fish:nth-child(3){top:45%;left:35%;animation-duration:26s;animation-delay:8s;font-size:38px}.fish:nth-child(4){top:60%;left:75%;animation-duration:30s;animation-delay:2s;font-size:42px}.fish:nth-child(5){top:75%;left:15%;animation-duration:29s;animation-delay:10s;font-size:36px}.fish:nth-child(6){top:20%;left:85%;animation-duration:27s;animation-delay:6s;font-size:40px}.fish:nth-child(7){top:50%;left:50%;animation-duration:31s;animation-delay:3s;font-size:44px}.fish:nth-child(8){top:70%;left:40%;animation-duration:28s;animation-delay:12s;font-size:37px}@keyframes fishSwim{0%{transform:translateX(0) translateY(0) scaleX(1);opacity:0.9}10%{transform:translateX(150px) translateY(-30px) scaleX(1);opacity:0.9}25%{transform:translateX(400px) translateY(-15px) scaleX(1);opacity:0.9}45%{transform:translateX(calc(100vw + 100px)) translateY(20px) scaleX(1);opacity:0.9}50%{transform:translateX(calc(100vw + 100px)) translateY(20px) scaleX(-1);opacity:0}55%{transform:translateX(calc(100vw + 100px)) translateY(20px) scaleX(-1);opacity:0.9}70%{transform:translateX(400px) translateY(30px) scaleX(-1);opacity:0.9}85%{transform:translateX(150px) translateY(-10px) scaleX(-1);opacity:0.9}95%{transform:translateX(0) translateY(0) scaleX(-1);opacity:0.9}100%{transform:translateX(0) translateY(0) scaleX(-1);opacity:0}}.shark{position:absolute;font-size:65px;animation:sharkSwim 45s linear infinite;filter:drop-shadow(0 0 15px rgba(100,100,150,0.7));opacity:0}.shark:nth-child(1){top:25%;left:30%;animation-duration:48s;animation-delay:0s}.shark:nth-child(2){top:55%;left:70%;animation-duration:50s;animation-delay:20s}.shark:nth-child(3){top:80%;left:45%;animation-duration:46s;animation-delay:35s}@keyframes sharkSwim{0%{transform:translateX(0) translateY(0) scaleX(1);opacity:0.85}10%{transform:translateX(200px) translateY(-40px) scaleX(1);opacity:0.85}25%{transform:translateX(500px) translateY(-20px) scaleX(1);opacity:0.85}45%{transform:translateX(calc(100vw + 150px)) translateY(30px) scaleX(1);opacity:0.85}50%{transform:translateX(calc(100vw + 150px)) translateY(30px) scaleX(-1);opacity:0}55%{transform:translateX(calc(100vw + 150px)) translateY(30px) scaleX(-1);opacity:0.85}70%{transform:translateX(500px) translateY(40px) scaleX(-1);opacity:0.85}85%{transform:translateX(200px) translateY(-15px) scaleX(-1);opacity:0.85}95%{transform:translateX(0) translateY(0) scaleX(-1);opacity:0.85}100%{transform:translateX(0) translateY(0) scaleX(-1);opacity:0}}.whale{position:absolute;font-size:85px;animation:whaleSwim 60s linear infinite;filter:drop-shadow(0 0 25px rgba(80,150,200,0.8));opacity:0}.whale:nth-child(1){top:10%;left:25%;animation-duration:65s;animation-delay:0s}.whale:nth-child(2){top:40%;left:65%;animation-duration:62s;animation-delay:40s}@keyframes whaleSwim{0%{transform:translateX(0) translateY(0) scaleX(1) rotate(-3deg);opacity:0.8}8%{transform:translateX(180px) translateY(-60px) scaleX(1) rotate(0deg);opacity:0.8}20%{transform:translateX(450px) translateY(-50px) scaleX(1) rotate(2deg);opacity:0.8}40%{transform:translateX(calc(100vw + 200px)) translateY(60px) scaleX(1) rotate(-2deg);opacity:0.8}50%{transform:translateX(calc(100vw + 200px)) translateY(60px) scaleX(-1) rotate(2deg);opacity:0}55%{transform:translateX(calc(100vw + 200px)) translateY(60px) scaleX(-1) rotate(2deg);opacity:0.8}70%{transform:translateX(450px) translateY(70px) scaleX(-1) rotate(-1deg);opacity:0.8}85%{transform:translateX(180px) translateY(-30px) scaleX(-1) rotate(0deg);opacity:0.8}95%{transform:translateX(0) translateY(0) scaleX(-1) rotate(3deg);opacity:0.8}100%{transform:translateX(0) translateY(0) scaleX(-1) rotate(3deg);opacity:0}}.ocean-effects{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1}@keyframes pulseGlow{from{box-shadow:0 0 80px rgba(0,217,255,0.6)}to{box-shadow:0 0 120px rgba(255,149,0,0.8)}}.ocean-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#001f3f 0%,#003366 50%,#004d7a 100%);overflow:hidden;z-index:-1}.wave{position:absolute;width:200%;height:200%;background:radial-gradient(ellipse at center,rgba(64,196,255,0.1) 0%,transparent 70%);animation:wave-drift 20s ease-in-out infinite}.wave1{top:-50%;left:-50%;animation-delay:0s}.wave2{top:-30%;left:-30%;animation-delay:5s;opacity:0.5}.wave3{top:-70%;left:-70%;animation-delay:10s;opacity:0.3}@keyframes wave-drift{0%,100%{transform:translate(0,0) rotate(0deg)}50%{transform:translate(10%,10%) rotate(180deg)}}.bubble{position:absolute;bottom:-50px;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,0.8),rgba(64,196,255,0.3));border-radius:50%;animation:bubble-rise 15s ease-in infinite;opacity:0.6;box-shadow:inset 0 0 20px rgba(255,255,255,0.5)}.bubble1{width:40px;height:40px;left:10%;animation-delay:0s}.bubble2{width:60px;height:60px;left:30%;animation-delay:3s}.bubble3{width:30px;height:30px;left:50%;animation-delay:6s}.bubble4{width:50px;height:50px;left:70%;animation-delay:9s}.bubble5{width:35px;height:35px;left:90%;animation-delay:12s}@keyframes bubble-rise{0%{bottom:-50px;opacity:0;transform:translateX(0)}10%{opacity:0.6}90%{opacity:0.3}100%{bottom:110%;opacity:0;transform:translateX(100px)}}.fish-swim{position:absolute;font-size:40px;animation:fish-swim 25s linear infinite;opacity:0.7}.fish1{top:20%;animation-delay:0s}.fish2{top:50%;animation-delay:8s}.fish3{top:70%;animation-delay:16s}@keyframes fish-swim{0%{left:-100px;transform:scaleX(1)}48%{transform:scaleX(1)}50%{transform:scaleX(-1)}98%{transform:scaleX(-1)}100%{left:calc(100% + 100px);transform:scaleX(1)}}.seaweed{position:absolute;bottom:0;width:40px;height:150px;background:linear-gradient(to top,#1a5f2e,#2d8659);border-radius:40% 40% 0 0;transform-origin:bottom center;animation:seaweed-sway 4s ease-in-out infinite;opacity:0.6}.seaweed1{left:15%;animation-delay:0s}.seaweed2{left:45%;animation-delay:1.5s}.seaweed3{left:75%;animation-delay:3s}@keyframes seaweed-sway{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}@keyframes titleFloat{0%,100%{transform:translateY(0px)}50%{transform:translateY(-10px)}}.menu-btn{display:flex !important;align-items:center;gap:15px;padding:20px 30px !important;font-size:18px;border-radius:15px !important;transition:all 0.3s ease !important;cursor:pointer;position:relative;overflow:hidden;text-align:left !important;width:100% !important}.menu-btn::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(64,196,255,0.1);border-radius:50%;transform:translate(-50%,-50%);transition:width 0.5s,height 0.5s;opacity:0}.menu-btn:hover::before{width:200%;height:200%;opacity:1}.menu-btn-primary{background:linear-gradient(145deg,#0288d1,#039be5) !important;border:3px solid #40c4ff !important;box-shadow:0 5px 20px rgba(64,196,255,0.5),inset 0 0 20px rgba(255,255,255,0.1) !important}.menu-btn-primary:hover{transform:translateY(-5px) scale(1.05) !important;box-shadow:0 10px 30px rgba(64,196,255,0.8),inset 0 0 30px rgba(255,255,255,0.2) !important;border-color:#81c784 !important}.menu-btn-secondary{background:linear-gradient(145deg,rgba(0,40,60,0.9),rgba(0,60,80,0.9)) !important;border:2px solid rgba(64,196,255,0.4) !important;box-shadow:0 3px 15px rgba(0,0,0,0.5),inset 0 0 10px rgba(64,196,255,0.1) !important}.menu-btn-secondary:hover{transform:translateY(-3px) scale(1.02) !important;border-color:#40c4ff !important;box-shadow:0 8px 25px rgba(64,196,255,0.6),inset 0 0 20px rgba(64,196,255,0.2) !important}#menu h1{color:#40c4ff;margin-bottom:10px;font-size:36px;text-shadow:0 0 10px rgba(64,196,255,0.9),0 0 20px rgba(64,196,255,0.5);font-weight:bold}#menu p{margin-bottom:20px;font-size:14px;opacity:0.95}#menu button{background:linear-gradient(145deg,#0277bd,#039be5);color:#e0f7fa;border:2px solid #40c4ff;padding:15px 30px;border-radius:20px;cursor:pointer;font-weight:bold;font-size:18px;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(0,119,189,0.5),inset 0 1px 0 rgba(255,255,255,0.3);margin:10px 0;display:block;width:80%;margin-left:auto;margin-right:auto;position:relative;overflow:hidden}#menu button::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);transition:left 0.5s}#menu button:hover::before{left:100%}#menu button:hover{background:linear-gradient(145deg,#039be5,#0288d1);transform:translateY(-3px) scale(1.02);box-shadow:0 6px 20px rgba(3,155,229,0.7)}#ui,#hand,#log,#deck-count,#card-details,#target-mode,#combat-ui,#movement-ui,#tutorial-overlay{display:none}#ui{position:absolute;top:10px;left:10px;z-index:100;background:rgba(0,20,40,0.95);padding:15px;border-radius:20px;border:2px solid #40c4ff;box-shadow:0 0 30px rgba(64,196,255,0.5),inset 0 0 10px rgba(0,0,0,0.4);backdrop-filter:blur(10px);max-width:350px;font-size:12px;animation:slideIn 0.5s ease-out}@keyframes slideIn{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}#ui h3{margin:0 0 10px 0;color:#40c4ff;text-align:center;text-shadow:0 0 5px rgba(64,196,255,0.6)}#stats{display:flex;justify-content:space-between;margin-bottom:10px}#leader-stats{margin-bottom:10px;padding:10px;background:rgba(64,196,255,0.15);border-radius:10px;border:1px solid rgba(64,196,255,0.4)}#hand{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:15px;z-index:100;flex-wrap:wrap;justify-content:center;max-width:100%;overflow-x:auto;padding:10px}.card-ui{width:120px;height:180px;background:linear-gradient(145deg,#01579b,#0288d1);border:3px solid #40c4ff;border-radius:25px;display:flex;flex-direction:column;justify-content:space-between;padding:10px;cursor:pointer;font-size:10px;transition:all 0.3s ease;box-shadow:0 8px 25px rgba(0,119,189,0.5),inset 0 1px 0 rgba(255,255,255,0.15);overflow:hidden;position:relative;backdrop-filter:blur(10px)}.card-ui.drawing{animation:drawIn 0.5s ease-out}@keyframes drawIn{0%{transform:translateX(200px) scale(0.8) rotate(-10deg);opacity:0}100%{transform:translateX(0) scale(1) rotate(0);opacity:1}}.card-ui.drawing-from-deck{animation:drawFromDeck 0.8s ease-out}@keyframes drawFromDeck{0%{transform:translateY(-150px) scale(0.5) rotate(5deg);opacity:0}50%{transform:translateY(-50px) scale(0.8) rotate(-3deg);opacity:0.5}100%{transform:translateY(0) scale(1) rotate(0deg);opacity:1}}.card-ui::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 30%,rgba(64,196,255,0.15),transparent);opacity:0;transition:opacity 0.3s}.card-ui:hover::before{opacity:1}.card-ui:hover{transform:translateY(10px) scale(1.0) !important;z-index:1000 !important;box-shadow:0 30px 60px rgba(64,196,255,0.9),0 0 40px #40c4ff !important;border-color:#81c784 !important}.card-ui[data-element="water"]{border-color:#00bcd4;box-shadow:0 8px 25px rgba(0,188,212,0.5),inset 0 0 20px rgba(0,188,212,0.1)}.card-ui[data-element="fire"]{border-color:#ff6f00;box-shadow:0 8px 25px rgba(255,111,0,0.5),inset 0 0 20px rgba(255,87,34,0.1)}.card-ui[data-element="earth"]{border-color:#558b2f;box-shadow:0 8px 25px rgba(85,139,47,0.5),inset 0 0 20px rgba(51,105,30,0.1)}.card-ui[data-element="air"]{border-color:#b0bec5;box-shadow:0 8px 25px rgba(176,190,197,0.5),inset 0 0 20px rgba(120,144,156,0.1)}.card-ui.selected{border-color:#81c784;box-shadow:0 0 25px rgba(129,199,132,0.9);animation:glow 1s ease-in-out infinite alternate}@keyframes glow{from{box-shadow:0 0 25px rgba(129,199,132,0.9)}to{box-shadow:0 0 35px rgba(129,199,132,1)}}.card-ui.full-hand{border-color:#ffeb3b !important;box-shadow:0 0 10px rgba(255,235,59,0.5);opacity:0.95}.card-ui.tutorial-highlight{box-shadow:0 0 25px #81c784 !important;border-color:#81c784 !important;animation:pulse 1s infinite}@keyframes pulse{0%{box-shadow:0 0 20px #81c784}50%{box-shadow:0 0 35px #81c784}100%{box-shadow:0 0 20px #81c784}}.card-name{font-weight:bold;color:#e0f7fa;text-align:center;text-shadow:0 0 3px rgba(224,247,250,0.9)}.card-stats{font-size:9px;text-align:center;color:#b3e5fc}.card-element{text-align:center;color:#4fc3f7;font-weight:bold;text-shadow:0 0 3px rgba(79,195,247,0.6)}#log{position:absolute;bottom:200px;left:10px;width:400px;height:180px;background:rgba(0,20,40,0.95);padding:15px;border-radius:20px;border:2px solid #40c4ff;overflow-y:auto;font-size:12px;line-height:1.4;backdrop-filter:blur(10px);box-shadow:0 0 20px rgba(64,196,255,0.4)}#log div{margin-bottom:5px;padding:2px 0;border-bottom:1px solid rgba(64,196,255,0.4);color:#b3e5fc;transition:color 0.3s}#log div:hover{color:#e0f7fa}button{background:linear-gradient(145deg,#0277bd,#039be5);color:#e0f7fa;border:2px solid #40c4ff;padding:12px 20px;margin:5px 0;border-radius:15px;cursor:pointer;font-weight:bold;transition:all 0.3s ease;box-shadow:0 4px 10px rgba(0,119,189,0.4);display:block;width:100%;font-family:'Georgia',serif;position:relative;overflow:hidden}button::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);transition:left 0.5s}button:hover:not(:disabled)::before{left:100%}button:hover:not(:disabled){background:linear-gradient(145deg,#039be5,#0288d1);transform:translateY(-2px);box-shadow:0 6px 15px rgba(3,155,229,0.6)}button:disabled{background:#263238;cursor:not-allowed;transform:none;opacity:0.7}#target-mode,#combat-ui,#movement-ui{position:fixed;z-index:2002;background:rgba(0,20,40,0.98);padding:15px;border-radius:20px;display:none;min-width:220px;border:3px solid #40c4ff;box-shadow:0 0 30px rgba(64,196,255,0.7);backdrop-filter:blur(15px);font-family:'Georgia',serif;animation:popIn 0.3s ease-out;pointer-events:auto}@keyframes popIn{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}.tile-hover{border-color:#81c784 !important;animation:hoverGlow 0.5s ease-in-out}@keyframes hoverGlow{0%,100%{box-shadow:0 0 5px #81c784}50%{box-shadow:0 0 15px #81c784}}#deck-count{position:absolute;bottom:30px;right:10px;z-index:100;background:rgba(0,20,40,0.95);padding:10px;border-radius:15px;color:#40c4ff;border:1px solid #40c4ff;backdrop-filter:blur(10px);box-shadow:0 0 15px rgba(64,196,255,0.4)}#deck-stack{position:fixed;bottom:210px;right:20px;width:120px;height:180px;background:linear-gradient(145deg,#01579b,#0288d1);border:3px solid #40c4ff;border-radius:25px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;color:#e0f7fa;z-index:100;box-shadow:0 8px 25px rgba(0,119,189,0.5);backdrop-filter:blur(10px)}#deck-stack::after{content:'';position:absolute;top:5px;left:5px;right:5px;bottom:5px;background:linear-gradient(145deg,#01579b,#0288d1);border-radius:20px;transform:translateY(2px) rotate(1deg);z-index:-1}#deck-stack::before{content:'';position:absolute;top:10px;left:10px;right:10px;bottom:10px;background:linear-gradient(145deg,#01579b,#0288d1);border-radius:15px;transform:translateY(4px) rotate(2deg);z-index:-2}#card-details{position:absolute;top:300px;right:20px;width:300px;height:180px;background:rgba(0,20,40,0.98);padding:15px;border-radius:20px;border:2px solid #40c4ff;display:none;overflow-y:auto;font-size:12px;backdrop-filter:blur(15px);box-shadow:0 0 25px rgba(64,196,255,0.5)}#weather-intensity{color:#ffeb3b;font-weight:bold;text-shadow:0 0 5px rgba(255,235,59,0.9)}#movement-ui{background:rgba(0,100,0,0.98);border-color:#81c784}#tutorial-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,10,20,0.98);z-index:150;display:none;flex-direction:column;justify-content:center;align-items:center;color:#e0f7fa;text-align:center;padding:20px;backdrop-filter:blur(10px)}#tutorial-overlay h2{color:#40c4ff;margin-bottom:20px;text-shadow:0 0 10px rgba(64,196,255,0.9)}#tutorial-overlay p{max-width:600px;margin-bottom:20px;line-height:1.5;opacity:0.95}#tutorial-overlay button{width:auto;padding:10px 20px;margin:5px;border-radius:15px}#help-box{position:absolute;top:110px;left:50%;transform:translateX(-50%);background:rgba(0,20,40,0.98);padding:15px;border-radius:20px;border:2px solid #40c4ff;max-width:400px;z-index:160;display:none;backdrop-filter:blur(15px);box-shadow:0 0 25px rgba(64,196,255,0.6)}#help-box h4{color:#40c4ff;margin-top:0;text-shadow:0 0 5px rgba(64,196,255,0.6)}#help-text{margin-bottom:10px;line-height:1.4;color:#b3e5fc}#help-box button{width:auto;padding:8px 16px;margin:5px;border-radius:10px}.creature-health-bar{position:fixed;width:100px;height:8px;background:rgba(20,20,20,0.9);border:2px solid rgba(64,196,255,0.5);border-radius:4px;overflow:hidden;box-shadow:0 3px 8px rgba(0,0,0,0.7);pointer-events:none;z-index:2000;backdrop-filter:blur(5px)}.creature-health-bar-fill{height:100%;background:linear-gradient(90deg,#4caf50,#66bb6a);transition:width 0.3s ease,background 0.3s ease;box-shadow:inset 0 0 5px rgba(255,255,255,0.4)}.creature-health-bar-fill.low{background:linear-gradient(90deg,#f44336,#ff5722)}.creature-health-bar-fill.medium{background:linear-gradient(90deg,#ff9800,#ffb74d)}.creature-health-text{position:absolute;top:-18px;left:0;right:0;text-align:center;font-size:11px;font-weight:bold;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.8);white-space:nowrap}#achievements{position:absolute;top:10px;right:150px;z-index:100;background:rgba(0,20,40,0.95);padding:10px;border-radius:15px;color:#40c4ff;max-width:200px;display:none;border:1px solid #40c4ff;backdrop-filter:blur(10px);box-shadow:0 0 15px rgba(64,196,255,0.4)}.achievement{font-size:11px;margin-bottom:5px;opacity:0.8;transition:all 0.3s}.achievement:hover{opacity:1}.achievement.unlocked{opacity:1;color:#81c784;text-shadow:0 0 5px rgba(129,199,132,0.9)}.tutorial-ready{color:#81c784;font-weight:bold;text-shadow:0 0 5px rgba(129,199,132,0.9)}.tutorial-pending{color:#ffeb3b;font-style:italic;text-shadow:0 0 5px rgba(255,235,59,0.6)}#options-popup{overflow-y:auto;max-height:90vh;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:200;background:rgba(0,20,40,0.95);padding:40px;border-radius:25px;border:3px solid #40c4ff;box-shadow:0 0 40px rgba(64,196,255,0.7);backdrop-filter:blur(15px);max-width:400px;animation:fadeIn 0.5s;overflow-y:auto;max-height:90vh}#options-popup h2{color:#40c4ff;margin-bottom:20px;text-shadow:0 0 10px rgba(64,196,255,0.9)}#options-popup button{width:90%;margin:5px auto;display:block;border-radius:15px}#deck-builder-popup{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:200;background:rgba(0,20,40,0.95);padding:40px;border-radius:25px;border:3px solid #40c4ff;box-shadow:0 0 40px rgba(64,196,255,0.7);backdrop-filter:blur(15px);max-width:500px;animation:fadeIn 0.5s}#card-selection div{border-bottom:1px solid rgba(64,196,255,0.4);padding:5px;text-align:left;color:#b3e5fc;transition:background 0.3s}#card-selection div:hover{background:rgba(64,196,255,0.1)}#save-deck,#cancel-deck{width:45%;display:inline-block;border-radius:15px}#shop-popup{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:200;background:rgba(0,20,40,0.95);padding:30px;border-radius:25px;border:3px solid #40c4ff;box-shadow:0 0 40px rgba(64,196,255,0.7);backdrop-filter:blur(15px);max-width:900px;width:90%;animation:fadeIn 0.5s}#shop-items div{border-bottom:1px solid rgba(64,196,255,0.4);padding:5px;text-align:left;color:#b3e5fc;transition:background 0.3s}#shop-items div:hover{background:rgba(64,196,255,0.1)}#undo-btn{background:#ffeb3b;color:#0d47a1;font-size:12px;padding:8px 16px;width:auto;border-radius:10px}#toggle-graveyard,#toggle-achievements{background:#263238;color:#e0f7fa;font-size:12px;padding:5px 10px;width:auto;margin:2px;border-radius:8px}#in-game-menu{position:fixed;left:0px;top:0px;z-index:1000;pointer-events:auto}#audio-controls{position:fixed;left:78px;top:6px;z-index:1000;display:flex;align-items:center;gap:10px;pointer-events:auto}#audio-toggle{background:linear-gradient(145deg,#01579b,#0288d1);color:#e0f7fa;border:2px solid #40c4ff;width:40px;height:34px;border-radius:14px;cursor:pointer;font-weight:bold;font-size:14px;box-shadow:0 4px 10px rgba(0,119,189,0.35);transition:transform 0.15s ease,box-shadow 0.15s ease}#audio-toggle.on{box-shadow:0 0 18px rgba(64,196,255,0.65),0 4px 10px rgba(0,119,189,0.35)}#audio-toggle:active{transform:translateY(1px)}#audio-vol{width:110px;accent-color:#40c4ff}#menu-btn{background:linear-gradient(145deg,#0277bd,#039be5);color:#e0f7fa;border:2px solid #40c4ff;padding:8px 16px;border-radius:15px;cursor:pointer;font-weight:bold;font-size:12px;transition:all 0.3s ease;box-shadow:0 4px 10px rgba(0,119,189,0.4);display:block;width:auto;font-family:'Georgia',serif;position:relative;overflow:hidden;pointer-events:auto}#dropdown{pointer-events:auto;display:none;position:absolute;bottom:100%;right:0;background:rgba(0,20,40,0.95);border:2px solid #40c4ff;border-radius:15px;padding:10px;min-width:150px;z-index:101;backdrop-filter:blur(10px);box-shadow:0 0 20px rgba(64,196,255,0.4)}#dropdown button{width:100%;margin:5px 0;padding:8px;font-size:12px}#replay-viewer{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,20,40,0.98);padding:20px;border-radius:20px;color:#e0f7fa;display:none;max-width:600px;z-index:200;border:2px solid #40c4ff;backdrop-filter:blur(15px);box-shadow:0 0 30px rgba(64,196,255,0.6);animation:fadeIn 0.3s}#save-load{position:absolute;top:10px;right:10px;z-index:100}#difficulty-selector{position:absolute;top:10px;left:10px;z-index:100}.tooltip{position:absolute;background:rgba(0,20,40,0.98);padding:8px;border-radius:10px;font-size:10px;pointer-events:none;z-index:101;display:none;border:1px solid #40c4ff;backdrop-filter:blur(10px);box-shadow:0 0 15px rgba(64,196,255,0.4);color:#b3e5fc;animation:fadeIn 0.2s}@media (max-width:768px){#hand{gap:10px;padding:5px}.card-ui{width:100px;height:150px;font-size:9px;padding:8px}#ui{max-width:280px;font-size:11px;left:5px;top:5px}#log{width:300px;bottom:180px;left:5px}#card-details{width:250px;right:5px;bottom:180px}#deck-count{right:5px;bottom:55px;font-size:11px;padding:8px}#deck-stack{width:100px;height:150px;font-size:10px;right:5px;top:5px}#menu,#options-popup,#deck-builder-popup,#shop-popup{padding:20px;max-width:90%}#menu button{width:90%;padding:12px 20px;font-size:16px}}#weather-screen-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:0;transition:opacity 0.5s ease}.rain-overlay::before,.rain-overlay::after{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(112deg,rgba(180,240,255,0.22) 0px,rgba(180,240,255,0.22) 1px,transparent 1px,transparent 11px),repeating-linear-gradient(100deg,rgba(180,240,255,0.14) 0px,rgba(180,240,255,0.14) 1px,transparent 1px,transparent 16px);background-position:0 -900px,0 -1400px;filter:blur(0.2px);opacity:0.55;animation:rain-drift var(--rain-speed,0.85s) linear infinite;will-change:background-position}.rain-overlay::after{opacity:0.35;filter:blur(0.45px);animation:rain-drift var(--rain-speed2,1.2s) linear infinite;background-position:0 -1600px,0 -2200px}@keyframes rain-drift{0%{background-position:0 -1200px,0 -2200px}100%{background-position:0 1200px,0 0px}}.snow-overlay::before,.snow-overlay::after{content:'';position:absolute;width:100%;height:100%;background-image:radial-gradient(circle 1.5px,rgba(255,255,255,0.8) 0%,transparent 1.5px),radial-gradient(circle 2px,rgba(255,255,255,0.7) 0%,transparent 2px),radial-gradient(circle 1px,rgba(255,255,255,0.9) 0%,transparent 1px);background-size:150px 150px,200px 200px,120px 120px;background-position:0 0,75px 75px,40px 40px;animation:gentle-snow-fall 12s linear infinite}.snow-overlay::after{animation-duration:15s;animation-delay:3s;opacity:0.6}@keyframes gentle-snow-fall{0%{transform:translateY(-10%) translateX(0)}100%{transform:translateY(110%) translateX(30px)}}.fog-overlay{background:radial-gradient(ellipse at 50% 50%,rgba(160,160,160,0.15) 0%,rgba(128,128,128,0.25) 50%,transparent 100%);animation:subtle-fog-drift 10s ease-in-out infinite}@keyframes subtle-fog-drift{0%,100%{opacity:0.3;transform:translateX(-5px)}50%{opacity:0.5;transform:translateX(5px)}}.volcanic-overlay::before,.volcanic-overlay::after{content:'';position:absolute;width:100%;height:100%;background-image:radial-gradient(circle 2px,rgba(80,40,30,0.6) 0%,transparent 2px),radial-gradient(circle 1.5px,rgba(100,50,35,0.5) 0%,transparent 1.5px),radial-gradient(circle 1px,rgba(60,30,20,0.7) 0%,transparent 1px);background-size:100px 600px,130px 650px,90px 620px;animation:ash-fall-subtle 15s linear infinite}.volcanic-overlay::after{animation-delay:7s;opacity:0.5}@keyframes ash-fall-subtle{0%{transform:translateY(-10%) rotate(0deg)}100%{transform:translateY(110%) rotate(90deg)}}.storm-overlay{background:rgba(255,255,255,0);animation:quick-lightning 7s infinite}@keyframes quick-lightning{0%,100%{background:rgba(255,255,255,0)}3%{background:rgba(200,220,255,0.15)}3.5%{background:rgba(200,220,255,0.25)}4%{background:rgba(200,220,255,0.1)}}.arid-overlay::before,.arid-overlay::after{content:'';position:absolute;width:100%;height:100%;background-image:radial-gradient(circle 1px,rgba(218,165,32,0.3) 0%,transparent 1px),radial-gradient(circle 1.5px,rgba(205,133,63,0.25) 0%,transparent 1.5px),radial-gradient(circle 0.8px,rgba(210,180,140,0.35) 0%,transparent 0.8px);background-size:120px 400px,150px 450px,100px 420px;animation:sand-drift 18s linear infinite}.arid-overlay::after{animation-delay:9s;opacity:0.5}@keyframes sand-drift{0%{transform:translate(0,-10%) rotate(5deg)}100%{transform:translate(50px,110%) rotate(15deg)}}.sewer-overlay{background:radial-gradient(ellipse at 50% 60%,rgba(100,150,50,0.12) 0%,rgba(80,120,40,0.18) 40%,transparent 80%);animation:toxic-drift 12s ease-in-out infinite}@keyframes toxic-drift{0%,100%{opacity:0.25;transform:translateY(0) scale(1)}50%{opacity:0.4;transform:translateY(-10px) scale(1.05)}}.quality-btn{padding:12px 20px !important;margin:5px !important;min-width:100px;background:linear-gradient(145deg,rgba(64,196,255,0.2),rgba(0,188,212,0.2)) !important;border:2px solid rgba(64,196,255,0.4) !important;transition:all 0.3s ease !important}.quality-btn:hover{transform:translateY(-2px) !important;border-color:#40c4ff !important;box-shadow:0 5px 15px rgba(64,196,255,0.4) !important}.quality-btn.active{background:linear-gradient(145deg,#40c4ff,#00bcd4) !important;border-color:#81c784 !important;box-shadow:0 0 20px rgba(64,196,255,0.8) !important}.deck-filter{background:rgba(64,196,255,0.15) !important;border:2px solid rgba(64,196,255,0.3) !important;border-radius:8px !important;transition:all 0.2s ease !important}.deck-filter:hover{border-color:#40c4ff !important;transform:translateY(-1px) !important}.deck-filter.active{background:linear-gradient(145deg,#40c4ff,#00bcd4) !important;border-color:#81c784 !important;box-shadow:0 0 15px rgba(64,196,255,0.6) !important}.card-ui{position:relative;overflow:visible !important}.card-ui.weather-wet::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(105deg,rgba(255,255,255,0.00) 0px,rgba(255,255,255,0.00) 10px,rgba(200,240,255,0.18) 10px,rgba(200,240,255,0.18) 12px,rgba(255,255,255,0.00) 12px,rgba(255,255,255,0.00) 26px);opacity:0.22;animation:wetStreaks 1.2s linear infinite;pointer-events:none}@keyframes tiny-water-drip{0%{transform:translateY(-5%);opacity:0}10%{opacity:0.4}100%{transform:translateY(105%);opacity:0}}@keyframes wetStreaks{0%{background-position:0px -120px;opacity:0.18}50%{opacity:0.26}100%{background-position:0px 120px;opacity:0.18}}.card-ui.weather-frozen::before{content:'';position:absolute;top:0;left:0;right:0;height:15%;background:linear-gradient(180deg,rgba(255,255,255,0.25) 0%,rgba(255,255,255,0.12) 50%,transparent 100%);pointer-events:none;border-radius:25px 25px 0 0;animation:gentle-frost-melt 6s ease-in-out infinite}@keyframes gentle-frost-melt{0%,50%{opacity:0.4}100%{opacity:0.05}}.card-ui.weather-burning{box-shadow:0 0 10px rgba(255,100,0,0.2),inset 0 0 5px rgba(255,140,0,0.05);animation:subtle-fire-glow 1.5s ease-in-out infinite}@keyframes subtle-fire-glow{0%,100%{box-shadow:0 0 8px rgba(255,100,0,0.15),inset 0 0 4px rgba(255,140,0,0.04)}50%{box-shadow:0 0 12px rgba(255,140,0,0.25),inset 0 0 6px rgba(255,140,0,0.06)}}.card-ui.weather-dusty::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(218,165,32,0.08);pointer-events:none;border-radius:25px;animation:dust-settle 3s ease-in-out infinite}@keyframes dust-settle{0%,100%{opacity:0.3}50%{opacity:0.5}}.card-ui.weather-burning::before{content:'';position:absolute;bottom:-10px;left:0;right:0;height:40%;background:linear-gradient(0deg,rgba(255,100,0,0.6) 0%,rgba(255,140,0,0.3) 50%,transparent 100%);pointer-events:none;border-radius:0 0 25px 25px;animation:fire-rise 0.6s ease-in-out infinite}@keyframes fire-rise{0%,100%{transform:translateY(0) scaleX(1);opacity:0.8}50%{transform:translateY(-10px) scaleX(1.1);opacity:1}}@keyframes fire-flicker{0%,100%{box-shadow:0 0 25px rgba(255,69,0,0.8),inset 0 0 25px rgba(255,69,0,0.2);filter:brightness(1) hue-rotate(0deg)}50%{box-shadow:0 0 40px rgba(255,140,0,1),inset 0 0 40px rgba(255,140,0,0.4);filter:brightness(1.3) hue-rotate(10deg)}}.pack-item{transition:all 0.3s ease;cursor:pointer}.pack-item:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(64,196,255,0.4)}.buy-pack-btn{transition:all 0.3s ease}.buy-pack-btn:hover{transform:scale(1.05);box-shadow:0 5px 20px rgba(129,199,132,0.5)}.buy-pack-btn:disabled{opacity:0.5;cursor:not-allowed;transform:none}#shop-popup{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:200;background:rgba(0,20,40,0.95);padding:30px;border-radius:25px;border:3px solid #40c4ff;box-shadow:0 0 40px rgba(64,196,255,0.7);backdrop-filter:blur(15px);max-width:900px;width:90%;animation:fadeIn 0.5s}.pack-item:hover{transform:translateY(-3px);box-shadow:0 5px 20px rgba(64,196,255,0.4);border-color:#40c4ff !important}.buy-pack-btn{transition:all 0.3s ease}.buy-pack-btn:hover{transform:scale(1.05);box-shadow:0 4px 15px rgba(129,199,132,0.5)}.buy-pack-btn:disabled{opacity:0.5;cursor:not-allowed;transform:none !important}#playerLeader{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2340c4ff' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:40px}#playerLeader:hover{border-color:#4fc3f7;box-shadow:0 8px 30px rgba(64,196,255,0.5),inset 0 2px 10px rgba(0,0,0,0.5);transform:translateY(-2px)}#playerLeader:focus{outline:none;border-color:#29b6f6;box-shadow:0 0 0 3px rgba(64,196,255,0.3),inset 0 2px 10px rgba(0,0,0,0.5)}#playerLeader option{background:linear-gradient(145deg,rgba(10,25,60,0.98),rgba(15,35,70,0.98));color:#4fc3f7;padding:12px;font-weight:600;border:none}#playerLeader option:hover{background:linear-gradient(145deg,rgba(64,196,255,0.2),rgba(41,182,246,0.2));color:#29b6f6}#playerLeader option:checked{background:linear-gradient(145deg,rgba(64,196,255,0.3),rgba(41,182,246,0.3));color:#fff;font-weight:700}#avatar-creation-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0a0a2e,#1a1a4d,#0f0f23,#16213e);z-index:10000;overflow-y:auto;padding:40px 20px}#avatar-creation-screen.hidden{display:none !important}.avatar-creator-wrapper{max-width:1200px;margin:0 auto}.avatar-creator-title{font-size:48px;background:linear-gradient(135deg,#40c4ff,#80deea);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-align:center;margin-bottom:10px}.avatar-creator-subtitle{text-align:center;color:#80deea;margin-bottom:30px;font-size:18px}.avatar-creator-grid{display:grid;grid-template-columns:1fr 400px;gap:30px;align-items:start}.avatar-form-panel{background:linear-gradient(135deg,rgba(10,10,46,0.95),rgba(26,26,77,0.95));border-radius:25px;border:3px solid rgba(64,196,255,0.5);padding:30px;box-shadow:0 0 40px rgba(64,196,255,0.3)}.avatar-preview-panel{--weatherIntensity:0.6;border-radius:25px;border:3px solid rgba(64,196,255,0.5);padding:30px;box-shadow:0 0 40px rgba(64,196,255,0.3)}.avatar-preview-panel{position:sticky;top:20px;height:fit-content}.avatar-preview-panel.avatar-preview-float{position:fixed !important;top:20px !important;z-index:10005;max-height:calc(100vh - 40px);overflow:auto}.section-title-avatar{font-size:22px;color:#40c4ff;margin:25px 0 15px 0;padding-bottom:10px;border-bottom:2px solid rgba(64,196,255,0.3)}.section-title-avatar:first-child{margin-top:0}.avatar-name-input{width:100%;padding:12px 18px;background:rgba(10,10,46,0.8);border:2px solid rgba(64,196,255,0.4);border-radius:12px;color:#e0f7fa;font-size:16px;font-family:'Georgia',serif}.avatar-name-input:focus{outline:none;border-color:#40c4ff;box-shadow:0 0 20px rgba(64,196,255,0.5)}.avatar-type-selector{display:flex;gap:10px;margin-bottom:15px}.type-btn-avatar{flex:1;padding:12px 20px;background:rgba(10,10,46,0.8);border:2px solid rgba(64,196,255,0.4);border-radius:12px;color:#80deea;font-size:16px;cursor:pointer;transition:all 0.3s;font-family:'Georgia',serif;font-weight:bold}.type-btn-avatar:hover{border-color:#40c4ff;transform:translateY(-2px)}.type-btn-avatar.active{background:rgba(64,196,255,0.3);border-color:#40c4ff;color:#40c4ff;box-shadow:0 0 20px rgba(64,196,255,0.5)}.avatar-image-grid,.avatar-art-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:20px;max-height:350px;overflow-y:auto;padding:20px;background:rgba(0,0,0,0.3);border-radius:15px}.avatar-art-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:25px}.avatar-img-option{aspect-ratio:1;border-radius:15px;border:3px solid rgba(64,196,255,0.3);cursor:pointer;transition:all 0.3s;display:flex;align-items:center;justify-content:center;font-size:50px;background:rgba(10,10,46,0.9)}.avatar-img-option:hover{transform:scale(1.05);border-color:#40c4ff;box-shadow:0 5px 20px rgba(64,196,255,0.6)}.avatar-img-option.selected{border-color:#40c4ff;border-width:4px;box-shadow:0 0 30px rgba(64,196,255,0.9)}.element-grid-avatar{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.element-card-avatar{padding:15px;background:rgba(10,10,46,0.9);border:2px solid rgba(64,196,255,0.3);border-radius:15px;text-align:center;cursor:pointer;transition:all 0.3s}.element-card-avatar:hover{transform:translateY(-3px);border-color:#40c4ff;box-shadow:0 8px 25px rgba(64,196,255,0.5)}.element-card-avatar.selected{border-color:#40c4ff;box-shadow:0 0 30px rgba(64,196,255,0.7)}.element-icon-avatar{font-size:40px;margin-bottom:8px}.element-name-avatar{font-size:14px;color:#80deea;font-weight:bold}.avatar-preview-panel{flex:1;padding:30px;background:transparent;border-radius:25px;border:3px solid rgba(64,196,255,0.4);box-shadow:0 0 40px rgba(64,196,255,0.4),inset 0 0 30px rgba(64,196,255,0.1);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.avatar-preview-panel::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(10,10,46,0.7),rgba(26,26,77,0.7));border-radius:22px;z-index:0;pointer-events:none}.avatar-preview-panel::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity 0.5s ease;z-index:1;border-radius:22px;overflow:hidden}.avatar-preview-panel[class*="weather-preview-"]::after{opacity:1 !important;display:block}.avatar-preview-panel > *{position:relative;z-index:2}.avatar-preview-panel.weather-preview-rainy::after{background:radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 8% 10%,radial-gradient(circle,rgba(100,149,237,0.8) 0%,rgba(100,149,237,0.4) 40%,transparent 100%) 18% 25%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 28% 40%,radial-gradient(circle,rgba(100,149,237,0.8) 0%,rgba(100,149,237,0.4) 40%,transparent 100%) 38% 15%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 48% 55%,radial-gradient(circle,rgba(100,149,237,0.8) 0%,rgba(100,149,237,0.4) 40%,transparent 100%) 58% 30%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 68% 70%,radial-gradient(circle,rgba(100,149,237,0.8) 0%,rgba(100,149,237,0.4) 40%,transparent 100%) 78% 45%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 88% 20%,radial-gradient(circle,rgba(100,149,237,0.8) 0%,rgba(100,149,237,0.4) 40%,transparent 100%) 13% 65%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 23% 80%,radial-gradient(circle,rgba(100,149,237,0.8) 0%,rgba(100,149,237,0.4) 40%,transparent 100%) 33% 35%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 43% 50%,radial-gradient(circle,rgba(100,149,237,0.8) 0%,rgba(100,149,237,0.4) 40%,transparent 100%) 53% 5%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 63% 85%,radial-gradient(circle,rgba(100,149,237,0.8) 0%,rgba(100,149,237,0.4) 40%,transparent 100%) 73% 60%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 83% 75%,radial-gradient(circle,rgba(100,149,237,0.8) 0%,rgba(100,149,237,0.4) 40%,transparent 100%) 93% 35%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 5% 50%,radial-gradient(circle,rgba(100,149,237,0.8) 0%,rgba(100,149,237,0.4) 40%,transparent 100%) 95% 90%;background-size:3px 3px,2.5px 2.5px,3px 3px,2.5px 2.5px,3px 3px,2.5px 2.5px,3px 3px,2.5px 2.5px,3px 3px,2.5px 2.5px,3px 3px,2.5px 2.5px,3px 3px,2.5px 2.5px,3px 3px,2.5px 2.5px,3px 3px,2.5px 2.5px,3px 3px,2.5px 2.5px;background-repeat:no-repeat;animation:raindropsFallingStaggered 3s linear infinite;opacity:1}@keyframes raindropsFallingStaggered{0%{background-position:8% -10%,20% -25%,25% -5%,41% -35%,45% -15%,62% -20%,65% -8%,81% -30%,85% -18%,16% -12%,20% -28%,36% -22%,40% -6%,56% -40%,60% -14%,76% -26%,80% -16%,96% -32%,2% -24%,98% -10%}100%{background-position:5% 110%,17% 110%,22% 110%,38% 110%,42% 110%,59% 110%,62% 110%,78% 110%,82% 110%,13% 110%,17% 110%,33% 110%,37% 110%,53% 110%,57% 110%,73% 110%,77% 110%,93% 110%,-1% 110%,95% 110%}}.avatar-preview-panel.weather-preview-snowy::after{background:radial-gradient(circle,rgba(255,255,255,0.9) 0%,rgba(255,255,255,0.4) 40%,transparent 100%) 15% 25%,radial-gradient(circle,rgba(240,248,255,0.8) 0%,rgba(240,248,255,0.3) 40%,transparent 100%) 45% 60%,radial-gradient(circle,rgba(255,255,255,0.9) 0%,rgba(255,255,255,0.4) 40%,transparent 100%) 75% 15%,radial-gradient(circle,rgba(240,248,255,0.8) 0%,rgba(240,248,255,0.3) 40%,transparent 100%) 30% 70%,radial-gradient(circle,rgba(255,255,255,0.9) 0%,rgba(255,255,255,0.4) 40%,transparent 100%) 85% 45%,radial-gradient(circle,rgba(240,248,255,0.8) 0%,rgba(240,248,255,0.3) 40%,transparent 100%) 60% 35%,radial-gradient(circle,rgba(255,255,255,0.9) 0%,rgba(255,255,255,0.4) 40%,transparent 100%) 20% 80%,radial-gradient(circle,rgba(240,248,255,0.8) 0%,rgba(240,248,255,0.3) 40%,transparent 100%) 90% 65%,radial-gradient(circle,rgba(255,255,255,0.9) 0%,rgba(255,255,255,0.4) 40%,transparent 100%) 50% 10%,radial-gradient(circle,rgba(240,248,255,0.8) 0%,rgba(240,248,255,0.3) 40%,transparent 100%) 10% 50%;background-size:4px 4px,3.5px 3.5px,4px 4px,3.5px 3.5px,4px 4px,3.5px 3.5px,4px 4px,3.5px 3.5px,4px 4px,3.5px 3.5px;background-repeat:no-repeat;animation:gentleSnowFallStaggered 7s linear infinite;opacity:1}@keyframes gentleSnowFallStaggered{0%{background-position:15% -8%,47% -18%,72% -6%,33% -22%,82% -12%,63% -16%,23% -10%,87% -20%,53% -14%,13% -24%}100%{background-position:12% 110%,44% 110%,69% 110%,30% 110%,79% 110%,60% 110%,20% 110%,84% 110%,50% 110%,10% 110%}}.avatar-preview-panel.weather-preview-stormy::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:calc(0.18 + (var(--weatherIntensity,0.6) * 0.55));background:radial-gradient(closest-side,rgba(40,60,90,0.85),transparent 70%) 10% 20%/55% 55% no-repeat,radial-gradient(closest-side,rgba(30,45,75,0.85),transparent 70%) 70% 30%/60% 60% no-repeat,radial-gradient(closest-side,rgba(35,55,85,0.75),transparent 70%) 35% 75%/70% 70% no-repeat,radial-gradient(closest-side,rgba(20,35,60,0.75),transparent 70%) 85% 80%/55% 55% no-repeat;filter:blur(10px) saturate(1.05);mix-blend-mode:screen;animation:stormCloudDrift 6.5s ease-in-out infinite}@keyframes stormCloudDrift{0%{transform:translate3d(-2%,-1%,0) scale(1.02)}50%{transform:translate3d(2.5%,1.5%,0) scale(1.05)}100%{transform:translate3d(-2%,-1%,0) scale(1.02)}}.avatar-preview-panel.weather-preview-stormy::after{background:radial-gradient(circle,rgba(173,216,230,0.95) 0%,rgba(173,216,230,0.6) 40%,transparent 100%) 7% 12%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 17% 28%,radial-gradient(circle,rgba(173,216,230,0.95) 0%,rgba(173,216,230,0.6) 40%,transparent 100%) 27% 45%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 37% 18%,radial-gradient(circle,rgba(173,216,230,0.95) 0%,rgba(173,216,230,0.6) 40%,transparent 100%) 47% 62%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 57% 35%,radial-gradient(circle,rgba(173,216,230,0.95) 0%,rgba(173,216,230,0.6) 40%,transparent 100%) 67% 78%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 77% 52%,radial-gradient(circle,rgba(173,216,230,0.95) 0%,rgba(173,216,230,0.6) 40%,transparent 100%) 87% 25%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 12% 70%,radial-gradient(circle,rgba(173,216,230,0.95) 0%,rgba(173,216,230,0.6) 40%,transparent 100%) 22% 88%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 32% 42%,radial-gradient(circle,rgba(173,216,230,0.95) 0%,rgba(173,216,230,0.6) 40%,transparent 100%) 42% 8%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 52% 58%,radial-gradient(circle,rgba(173,216,230,0.95) 0%,rgba(173,216,230,0.6) 40%,transparent 100%) 62% 22%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 72% 85%,radial-gradient(circle,rgba(173,216,230,0.95) 0%,rgba(173,216,230,0.6) 40%,transparent 100%) 82% 48%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 92% 68%,radial-gradient(circle,rgba(173,216,230,0.95) 0%,rgba(173,216,230,0.6) 40%,transparent 100%) 4% 38%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 97% 15%,radial-gradient(circle,rgba(173,216,230,0.95) 0%,rgba(173,216,230,0.6) 40%,transparent 100%) 50% 92%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 35% 5%,radial-gradient(circle,rgba(173,216,230,0.95) 0%,rgba(173,216,230,0.6) 40%,transparent 100%) 15% 55%,radial-gradient(circle,rgba(135,206,250,0.9) 0%,rgba(135,206,250,0.5) 40%,transparent 100%) 85% 75%,radial-gradient(circle,rgba(173,216,230,0.95) 0%,rgba(173,216,230,0.6) 40%,transparent 100%) 60% 32%,radial-gradient(ellipse at 50% 20%,rgba(75,0,130,0.6) 0%,transparent 60%);background-size:4px 4px,3.5px 3.5px,4px 4px,3.5px 3.5px,4px 4px,3.5px 3.5px,4px 4px,3.5px 3.5px,4px 4px,3.5px 3.5px,4px 4px,3.5px 3.5px,4px 4px,3.5px 3.5px,4px 4px,3.5px 3.5px,4px 4px,3.5px 3.5px,4px 4px,3.5px 3.5px,4px 4px,3.5px 3.5px,4px 4px,3.5px 3.5px,4px 4px,100% 100%;background-repeat:no-repeat;animation:stormRainFallChaotic 1.5s linear infinite;opacity:1}@keyframes stormRainFallChaotic{0%{background-position:4% -15%,19% -8%,24% -32%,40% -12%,44% -28%,60% -18%,64% -10%,80% -35%,84% -22%,15% -6%,19% -40%,35% -25%,39% -14%,55% -30%,59% -16%,75% -38%,79% -20%,95% -12%,1% -26%,100% -42%,47% -8%,32% -34%,12% -18%,88% -24%,57% -36%,50% 20%;filter:brightness(1)}50%{filter:brightness(1.5)}100%{background-position:1% 110%,16% 110%,21% 110%,37% 110%,41% 110%,57% 110%,61% 110%,77% 110%,81% 110%,12% 110%,16% 110%,32% 110%,36% 110%,52% 110%,56% 110%,72% 110%,76% 110%,92% 110%,-2% 110%,97% 110%,44% 110%,29% 110%,9% 110%,85% 110%,54% 110%,50% 20%;filter:brightness(1)}}.avatar-preview-panel.weather-preview-volcanic::after{background:radial-gradient(circle,rgba(255,152,0,0.95) 0%,rgba(255,152,0,0.4) 50%,transparent 100%) 25% 95%,radial-gradient(circle,rgba(255,87,34,0.9) 0%,rgba(255,87,34,0.4) 50%,transparent 100%) 50% 98%,radial-gradient(circle,rgba(255,215,0,0.95) 0%,rgba(255,215,0,0.4) 50%,transparent 100%) 75% 92%,radial-gradient(circle,rgba(255,152,0,0.9) 0%,rgba(255,152,0,0.4) 50%,transparent 100%) 15% 88%,radial-gradient(circle,rgba(255,87,34,0.95) 0%,rgba(255,87,34,0.4) 50%,transparent 100%) 40% 90%,radial-gradient(circle,rgba(255,215,0,0.9) 0%,rgba(255,215,0,0.4) 50%,transparent 100%) 60% 95%,radial-gradient(circle,rgba(255,152,0,0.95) 0%,rgba(255,152,0,0.4) 50%,transparent 100%) 85% 89%,radial-gradient(circle,rgba(255,87,34,0.9) 0%,rgba(255,87,34,0.4) 50%,transparent 100%) 30% 93%,radial-gradient(circle,rgba(255,215,0,0.95) 0%,rgba(255,215,0,0.4) 50%,transparent 100%) 70% 87%,radial-gradient(circle,rgba(255,152,0,0.9) 0%,rgba(255,152,0,0.4) 50%,transparent 100%) 90% 94%,radial-gradient(circle,rgba(255,87,34,0.95) 0%,rgba(255,87,34,0.4) 50%,transparent 100%) 10% 91%,radial-gradient(circle,rgba(255,215,0,0.9) 0%,rgba(255,215,0,0.4) 50%,transparent 100%) 55% 96%,radial-gradient(ellipse 20px 40px at 35% 100%,rgba(255,87,34,0.6) 0%,transparent 80%),radial-gradient(ellipse 25px 45px at 65% 100%,rgba(255,152,0,0.5) 0%,transparent 80%),radial-gradient(ellipse 150px 80px at 50% 100%,rgba(255,87,34,0.5) 0%,rgba(139,0,0,0.3) 50%,transparent 70%);background-size:5px 5px,4px 4px,6px 6px,4px 4px,5px 5px,5px 5px,4px 4px,5px 5px,6px 6px,4px 4px,5px 5px,5px 5px,100% 100%,100% 100%,100% 100%;background-repeat:no-repeat;animation:volcanicEmbersStaggered 3s ease-out infinite;opacity:1}@keyframes volcanicEmbersStaggered{0%{background-position:25% 95%,52% 98%,72% 92%,18% 88%,43% 90%,57% 95%,82% 89%,33% 93%,67% 87%,87% 94%,13% 91%,52% 96%,35% 100%,65% 100%,50% 100%;filter:brightness(1)}100%{background-position:22% -12%,49% -8%,69% -18%,15% -22%,40% -14%,54% -10%,79% -20%,30% -12%,64% -24%,84% -10%,10% -18%,49% -8%,35% 60%,65% 65%,50% 100%;filter:brightness(1.4)}}.avatar-preview-panel.weather-preview-foggy::after{background:radial-gradient(ellipse 80px 60px at 0% 50%,rgba(158,158,158,0.6) 0%,transparent 70%),radial-gradient(ellipse 80px 60px at 100% 50%,rgba(158,158,158,0.6) 0%,transparent 70%),radial-gradient(ellipse 100px 50px at 50% 0%,rgba(158,158,158,0.5) 0%,transparent 70%),radial-gradient(ellipse 100px 50px at 50% 100%,rgba(158,158,158,0.5) 0%,transparent 70%);animation:fogExpand 8s ease-in-out infinite;opacity:1}@keyframes fogExpand{0%{background:radial-gradient(ellipse 80px 60px at 0% 50%,rgba(158,158,158,0.6) 0%,transparent 70%),radial-gradient(ellipse 80px 60px at 100% 50%,rgba(158,158,158,0.6) 0%,transparent 70%),radial-gradient(ellipse 100px 50px at 50% 0%,rgba(158,158,158,0.5) 0%,transparent 70%),radial-gradient(ellipse 100px 50px at 50% 100%,rgba(158,158,158,0.5) 0%,transparent 70%)}30%{background:radial-gradient(ellipse 120px 100px at 10% 50%,rgba(158,158,158,0.65) 0%,transparent 60%),radial-gradient(ellipse 120px 100px at 90% 50%,rgba(158,158,158,0.65) 0%,transparent 60%),radial-gradient(ellipse 130px 90px at 50% 10%,rgba(158,158,158,0.6) 0%,transparent 60%),radial-gradient(ellipse 130px 90px at 50% 90%,rgba(158,158,158,0.6) 0%,transparent 60%)}60%{background:radial-gradient(ellipse 180px 150px at 20% 50%,rgba(158,158,158,0.75) 0%,rgba(158,158,158,0.5) 50%,transparent 70%),radial-gradient(ellipse 180px 150px at 80% 50%,rgba(158,158,158,0.75) 0%,rgba(158,158,158,0.5) 50%,transparent 70%),radial-gradient(ellipse 200px 140px at 50% 20%,rgba(158,158,158,0.7) 0%,rgba(158,158,158,0.45) 50%,transparent 70%),radial-gradient(ellipse 200px 140px at 50% 80%,rgba(158,158,158,0.7) 0%,rgba(158,158,158,0.45) 50%,transparent 70%)}80%{background:radial-gradient(circle at 50% 50%,rgba(158,158,158,0.9) 0%,rgba(158,158,158,0.75) 40%,rgba(158,158,158,0.5) 70%,transparent 100%)}100%{background:radial-gradient(ellipse 80px 60px at 0% 50%,rgba(158,158,158,0.6) 0%,transparent 70%),radial-gradient(ellipse 80px 60px at 100% 50%,rgba(158,158,158,0.6) 0%,transparent 70%),radial-gradient(ellipse 100px 50px at 50% 0%,rgba(158,158,158,0.5) 0%,transparent 70%),radial-gradient(ellipse 100px 50px at 50% 100%,rgba(158,158,158,0.5) 0%,transparent 70%)}}.avatar-preview-panel.weather-preview-sunny::after{background:radial-gradient(circle at 50% 30%,rgba(255,235,59,0.8) 0%,rgba(255,223,0,0.4) 30%,transparent 70%),radial-gradient(circle at 50% 30%,rgba(255,215,0,0.6) 10%,transparent 50%),conic-gradient(from 0deg at 50% 30%,transparent 0deg,rgba(255,235,59,0.5) 30deg,transparent 60deg,transparent 90deg,rgba(255,223,0,0.4) 120deg,transparent 150deg,transparent 180deg,rgba(255,235,59,0.5) 210deg,transparent 240deg,transparent 270deg,rgba(255,223,0,0.4) 300deg,transparent 330deg);animation:sunBrightGlow 4s ease-in-out infinite;opacity:1}@keyframes sunBrightGlow{0%,100%{filter:brightness(1.2)}50%{filter:brightness(2)}}.avatar-preview-panel.weather-preview-bloom::after{background:radial-gradient(ellipse 4px 8px,rgba(255,182,193,0.9) 0%,rgba(255,182,193,0.4) 50%,transparent 100%) 8% 12%,radial-gradient(ellipse 5px 9px,rgba(255,192,203,0.85) 0%,rgba(255,192,203,0.4) 50%,transparent 100%) 18% 35%,radial-gradient(ellipse 4px 7px,rgba(255,182,193,0.9) 0%,rgba(255,182,193,0.4) 50%,transparent 100%) 28% 58%,radial-gradient(ellipse 6px 10px,rgba(233,30,99,0.8) 0%,rgba(233,30,99,0.3) 50%,transparent 100%) 38% 22%,radial-gradient(ellipse 4px 8px,rgba(255,192,203,0.85) 0%,rgba(255,192,203,0.4) 50%,transparent 100%) 48% 75%,radial-gradient(ellipse 5px 9px,rgba(255,182,193,0.9) 0%,rgba(255,182,193,0.4) 50%,transparent 100%) 58% 48%,radial-gradient(ellipse 4px 8px,rgba(255,192,203,0.85) 0%,rgba(255,192,203,0.4) 50%,transparent 100%) 68% 8%,radial-gradient(ellipse 5px 9px,rgba(233,30,99,0.8) 0%,rgba(233,30,99,0.3) 50%,transparent 100%) 78% 62%,radial-gradient(ellipse 4px 7px,rgba(255,182,193,0.9) 0%,rgba(255,182,193,0.4) 50%,transparent 100%) 88% 38%,radial-gradient(ellipse 6px 10px,rgba(255,192,203,0.85) 0%,rgba(255,192,203,0.4) 50%,transparent 100%) 13% 82%,radial-gradient(ellipse 4px 8px,rgba(255,182,193,0.9) 0%,rgba(255,182,193,0.4) 50%,transparent 100%) 23% 52%,radial-gradient(ellipse 5px 9px,rgba(233,30,99,0.8) 0%,rgba(233,30,99,0.3) 50%,transparent 100%) 33% 28%,radial-gradient(ellipse 4px 7px,rgba(255,192,203,0.85) 0%,rgba(255,192,203,0.4) 50%,transparent 100%) 43% 68%,radial-gradient(ellipse 6px 10px,rgba(255,182,193,0.9) 0%,rgba(255,182,193,0.4) 50%,transparent 100%) 53% 15%,radial-gradient(ellipse 4px 8px,rgba(255,192,203,0.85) 0%,rgba(255,192,203,0.4) 50%,transparent 100%) 63% 88%,radial-gradient(ellipse 5px 9px,rgba(255,182,193,0.9) 0%,rgba(255,182,193,0.4) 50%,transparent 100%) 73% 42%,radial-gradient(ellipse 4px 8px,rgba(233,30,99,0.8) 0%,rgba(233,30,99,0.3) 50%,transparent 100%) 83% 72%,radial-gradient(ellipse 5px 9px,rgba(255,192,203,0.85) 0%,rgba(255,192,203,0.4) 50%,transparent 100%) 93% 18%,radial-gradient(ellipse 3px 6px,rgba(129,199,132,0.8) 0%,rgba(129,199,132,0.3) 50%,transparent 100%) 12% 45%,radial-gradient(ellipse 4px 7px,rgba(102,187,106,0.75) 0%,rgba(102,187,106,0.3) 50%,transparent 100%) 35% 70%,radial-gradient(ellipse 3px 6px,rgba(129,199,132,0.8) 0%,rgba(129,199,132,0.3) 50%,transparent 100%) 56% 25%,radial-gradient(ellipse 4px 7px,rgba(102,187,106,0.75) 0%,rgba(102,187,106,0.3) 50%,transparent 100%) 75% 55%,radial-gradient(ellipse 3px 6px,rgba(129,199,132,0.8) 0%,rgba(129,199,132,0.3) 50%,transparent 100%) 90% 85%,radial-gradient(ellipse 4px 7px,rgba(102,187,106,0.75) 0%,rgba(102,187,106,0.3) 50%,transparent 100%) 25% 10%,radial-gradient(ellipse 3px 6px,rgba(129,199,132,0.8) 0%,rgba(129,199,132,0.3) 50%,transparent 100%) 45% 92%,radial-gradient(ellipse 4px 7px,rgba(102,187,106,0.75) 0%,rgba(102,187,106,0.3) 50%,transparent 100%) 65% 32%,repeating-linear-gradient(45deg,transparent 0px,rgba(129,199,132,0.15) 2px,transparent 4px,rgba(102,187,106,0.1) 6px,transparent 8px),repeating-linear-gradient(-45deg,transparent 0px,rgba(129,199,132,0.12) 3px,transparent 6px);background-size:8px 12px,10px 14px,7px 11px,11px 15px,8px 12px,10px 14px,8px 12px,10px 14px,7px 11px,11px 15px,8px 12px,10px 14px,7px 11px,11px 15px,8px 12px,10px 14px,8px 12px,10px 14px,6px 10px,7px 11px,6px 10px,7px 11px,6px 10px,7px 11px,6px 10px,7px 11px,100% 100%,100% 100%;background-repeat:no-repeat;animation:bloomPetalsDrift 12s linear infinite;opacity:1}@keyframes bloomPetalsDrift{0%{background-position:8% -8%,20% -15%,25% -22%,41% -10%,45% -28%,61% -18%,65% -12%,81% -25%,85% -6%,16% -32%,20% -20%,36% -14%,40% -26%,56% -16%,60% -30%,76% -10%,80% -24%,96% -18%,15% -12%,38% -22%,53% -8%,78% -26%,93% -16%,22% -30%,48% -10%,68% -20%,0 0,0 0}100%{background-position:5% 110%,17% 110%,22% 110%,38% 110%,42% 110%,58% 110%,62% 110%,78% 110%,82% 110%,13% 110%,17% 110%,33% 110%,37% 110%,53% 110%,57% 110%,73% 110%,77% 110%,93% 110%,12% 110%,35% 110%,50% 110%,75% 110%,90% 110%,19% 110%,45% 110%,65% 110%,0 0,0 0}}.avatar-preview-panel.weather-preview-tempest::after{background:conic-gradient(from 0deg at 50% 50%,transparent,rgba(144,202,249,0.5) 10%,transparent 20%),radial-gradient(circle at 50% 50%,transparent 30%,rgba(144,202,249,0.3) 50%,transparent 70%);animation:tempestSpin 3s linear infinite;opacity:1}@keyframes tempestSpin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.avatar-preview-panel.weather-preview-tsunami::after{background:repeating-linear-gradient(90deg,rgba(0,188,212,0.4) 0px,rgba(0,188,212,0.5) 30px,rgba(0,172,193,0.45) 60px),linear-gradient(180deg,transparent 0%,rgba(0,188,212,0.2) 100%);animation:tsunamiWave 4s ease-in-out infinite;opacity:1}.avatar-preview-panel.weather-preview-sewer::after{background:radial-gradient(ellipse 50px 30px at 30% 30%,rgba(129,199,132,0.4) 0%,transparent 70%),radial-gradient(ellipse 60px 35px at 70% 50%,rgba(102,187,106,0.35) 0%,transparent 70%),radial-gradient(ellipse 45px 25px at 50% 70%,rgba(129,199,132,0.3) 0%,transparent 70%),radial-gradient(circle at 20% 80%,rgba(76,175,80,0.8) 3px,transparent 3px),radial-gradient(circle at 50% 85%,rgba(129,199,132,0.7) 4px,transparent 4px),radial-gradient(circle at 80% 90%,rgba(76,175,80,0.8) 3px,transparent 3px),linear-gradient(180deg,transparent 70%,rgba(129,199,132,0.3) 100%);background-size:100% 100%,100% 100%,100% 100%,40px 40px,35px 35px,45px 45px,100% 100%;animation:toxicBubbleGas 3s ease-in-out infinite;opacity:1}.avatar-preview-panel.weather-preview-seismic::after{background:linear-gradient(90deg,transparent 48%,rgba(141,110,99,0.7) 49%,rgba(141,110,99,0.7) 51%,transparent 52%),linear-gradient(0deg,transparent 48%,rgba(141,110,99,0.6) 49%,rgba(141,110,99,0.6) 51%,transparent 52%);background-size:80px 100%,100% 80px;animation:earthquakeRumble 0.8s ease-in-out infinite;opacity:1}.avatar-preview-panel.weather-preview-eclipse::after{background:radial-gradient(circle at 50% 30%,rgba(49,27,146,0.6) 15%,transparent 45%),radial-gradient(circle at 50% 30%,rgba(103,58,183,0.4) 20%,transparent 60%),radial-gradient(circle at 50% 30%,rgba(49,27,146,0.3) 30%,transparent 80%);animation:eclipsePulse 4s ease-in-out infinite;opacity:1}.avatar-preview-display{width:150px;height:150px;margin:0 auto 20px;border-radius:50%;border:4px solid rgba(64,196,255,0.5);display:flex;align-items:center;justify-content:center;font-size:75px;background:rgba(10,10,46,0.8);box-shadow:0 0 40px rgba(64,196,255,0.5);position:relative;overflow:hidden;transition:border-color 0.5s ease,box-shadow 0.5s ease}.avatar-preview-display > *{position:relative;z-index:1}.avatar-name-display{font-size:28px;color:#40c4ff;text-align:center;margin-bottom:15px;font-weight:bold;text-shadow:0 0 15px rgba(64,196,255,0.8)}.avatar-stats-preview{background:rgba(0,0,0,0.4);border-radius:15px;padding:15px;margin-bottom:20px}.stat-row-avatar{display:flex;justify-content:space-between;margin-bottom:10px;font-size:14px}.stat-row-avatar:last-child{margin-bottom:0}.stat-label-avatar{color:#80deea}.stat-value-avatar{color:#40c4ff;font-weight:bold}.create-avatar-button{width:100%;padding:18px;background:linear-gradient(145deg,#ffd700,#ffb300);color:#0a0a2e;border:3px solid #ffe57f;border-radius:18px;font-size:22px;font-weight:bold;cursor:pointer;font-family:'Georgia',serif;transition:all 0.3s;box-shadow:0 6px 25px rgba(255,215,0,0.5)}.create-avatar-button:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(255,215,0,0.7)}.skip-avatar-button{width:100%;padding:12px;background:rgba(10,10,46,0.8);color:#80deea;border:2px solid rgba(64,196,255,0.4);border-radius:12px;font-size:16px;cursor:pointer;font-family:'Georgia',serif;margin-top:12px;transition:all 0.3s}.skip-avatar-button:hover{border-color:#40c4ff;transform:translateY(-2px)}#avatar-display{--weatherIntensity:0.6;position:fixed;top:20px;right:20px;width:200px;background:linear-gradient(135deg,rgba(10,10,46,0.95),rgba(26,26,77,0.95));border-radius:20px;border:3px solid #40c4ff;box-shadow:0 0 30px rgba(64,196,255,0.6),inset 0 0 20px rgba(64,196,255,0.1);backdrop-filter:blur(10px);padding:15px;z-index:1000;display:none;animation:slideInAvatar 0.5s ease-out;transition:border-color 0.5s ease,box-shadow 0.5s ease,background 0.5s ease;overflow:hidden}#avatar-display.show{display:block !important}#avatar-display::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;opacity:1;transition:opacity 0.5s ease;z-index:0}#avatar-display::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;opacity:1;transition:opacity 0.5s ease;z-index:0}#avatar-display.weather-rainy::before{opacity:1 !important;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-image:linear-gradient(180deg,transparent 94%,rgba(135,206,250,0.9) 94%,rgba(135,206,250,0.7) 97%,transparent 97%),linear-gradient(180deg,transparent 92%,rgba(135,206,250,0.85) 92%,rgba(135,206,250,0.65) 96%,transparent 96%),linear-gradient(180deg,transparent 93%,rgba(135,206,250,0.9) 93%,rgba(135,206,250,0.7) 97%,transparent 97%),linear-gradient(180deg,transparent 91%,rgba(100,149,237,0.85) 91%,rgba(100,149,237,0.65) 96%,transparent 96%),linear-gradient(180deg,transparent 94.5%,rgba(64,196,255,0.9) 94.5%,rgba(64,196,255,0.7) 98%,transparent 98%),linear-gradient(180deg,transparent 93.5%,rgba(135,206,250,0.85) 93.5%,rgba(135,206,250,0.65) 97%,transparent 97%);background-size:15px 400px,18px 420px,16px 410px,20px 430px,17px 415px,19px 425px;background-position:5px 0,22px 0,38px 0,54px 0,70px 0,86px 0;animation:avatarRainFall 0.8s linear infinite;pointer-events:none;z-index:0}#avatar-display.weather-rainy::after{opacity:0.8 !important;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-image:linear-gradient(180deg,transparent 93%,rgba(135,206,250,0.85) 93%,rgba(135,206,250,0.65) 97%,transparent 97%),linear-gradient(180deg,transparent 92%,rgba(100,149,237,0.8) 92%,rgba(100,149,237,0.6) 96%,transparent 96%),linear-gradient(180deg,transparent 94%,rgba(135,206,250,0.85) 94%,rgba(135,206,250,0.65) 98%,transparent 98%),linear-gradient(180deg,transparent 91.5%,rgba(64,196,255,0.8) 91.5%,rgba(64,196,255,0.6) 96%,transparent 96%),linear-gradient(180deg,transparent 93.5%,rgba(100,149,237,0.8) 93.5%,rgba(100,149,237,0.6) 97%,transparent 97%);background-size:16px 405px,21px 435px,17px 412px,19px 428px,18px 418px;background-position:13px 0,30px 0,46px 0,62px 0,78px 0;animation:avatarRainFall 0.9s linear infinite;animation-delay:0.4s;pointer-events:none;z-index:0}#avatar-display.weather-snowy::before{opacity:1 !important;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-image:radial-gradient(circle 4px,rgba(255,255,255,0.95) 0%,transparent 4px),radial-gradient(circle 5px,rgba(255,255,255,0.9) 0%,transparent 5px),radial-gradient(circle 3.5px,rgba(255,255,255,0.95) 0%,transparent 3.5px),radial-gradient(circle 4.5px,rgba(240,248,255,0.9) 0%,transparent 4.5px),radial-gradient(circle 4px,rgba(255,255,255,0.95) 0%,transparent 4px),radial-gradient(circle 5.5px,rgba(240,248,255,0.9) 0%,transparent 5.5px);background-size:60px 350px,70px 380px,55px 340px,65px 370px,62px 360px,68px 375px;background-position:0 0,35px 30px,15px 15px,50px 5px,25px 40px,45px 20px;animation:avatarSnowFall 8s linear infinite;pointer-events:none;z-index:0}#avatar-display.weather-snowy::after{opacity:0.8 !important;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-image:radial-gradient(circle 4.2px,rgba(255,255,255,0.9) 0%,transparent 4.2px),radial-gradient(circle 4.8px,rgba(240,248,255,0.85) 0%,transparent 4.8px),radial-gradient(circle 3.8px,rgba(255,255,255,0.9) 0%,transparent 3.8px),radial-gradient(circle 5.2px,rgba(240,248,255,0.85) 0%,transparent 5.2px),radial-gradient(circle 4.3px,rgba(255,255,255,0.9) 0%,transparent 4.3px);background-size:58px 345px,66px 365px,52px 335px,64px 355px,60px 350px;background-position:30px 20px,8px 35px,42px 10px,18px 45px,52px 25px;animation:avatarSnowFall 9s linear infinite;animation-delay:3s;pointer-events:none;z-index:0}#avatar-display.weather-snowy{position:relative}#avatar-display.weather-snowy::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:0}#avatar-display.weather-stormy::before{opacity:1 !important;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-image:linear-gradient(165deg,transparent 98%,rgba(173,216,230,0.8) 98%,rgba(173,216,230,0.6) 99%,transparent 99%),linear-gradient(167deg,transparent 97.5%,rgba(135,206,250,0.75) 97.5%,rgba(135,206,250,0.55) 99%,transparent 99%),linear-gradient(163deg,transparent 97%,rgba(173,216,230,0.8) 97%,rgba(173,216,230,0.6) 98.5%,transparent 98.5%),linear-gradient(166deg,transparent 96.5%,rgba(135,206,250,0.75) 96.5%,rgba(135,206,250,0.55) 98%,transparent 98%),radial-gradient(ellipse at 50% 20%,rgba(75,0,130,0.5) 0%,rgba(75,0,130,0.3) 40%,transparent 70%);background-size:30px 600px,35px 650px,28px 580px,32px 620px,100% 100%;background-position:5px 0,18px 0,10px 0,22px 0,0 0;animation:avatarStormRain 0.8s linear infinite;pointer-events:none;z-index:0}#avatar-display.weather-stormy::after{opacity:0.8 !important;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-image:linear-gradient(164deg,transparent 97.5%,rgba(135,206,250,0.7) 97.5%,rgba(135,206,250,0.5) 99%,transparent 99%),linear-gradient(168deg,transparent 97%,rgba(173,216,230,0.75) 97%,rgba(173,216,230,0.55) 98.5%,transparent 98.5%),linear-gradient(165deg,transparent 96.5%,rgba(135,206,250,0.7) 96.5%,rgba(135,206,250,0.5) 98%,transparent 98%);background-size:26px 610px,33px 640px,29px 590px;background-position:12px 0,3px 0,20px 0;animation:avatarStormRain 0.9s linear infinite;animation-delay:0.4s;pointer-events:none;z-index:0}#avatar-display.weather-volcanic::before{opacity:1 !important;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-image:radial-gradient(circle 6px,rgba(255,152,0,0.95) 0%,rgba(255,87,34,0.8) 50%,transparent 70%),radial-gradient(circle 5px,rgba(255,87,34,1) 0%,rgba(255,152,0,0.7) 50%,transparent 70%),radial-gradient(circle 7px,rgba(255,215,0,0.9) 0%,rgba(255,152,0,0.8) 50%,transparent 70%),radial-gradient(circle 5.5px,rgba(255,152,0,0.95) 0%,rgba(255,87,34,0.7) 50%,transparent 70%),radial-gradient(circle 6.5px,rgba(255,87,34,0.95) 0%,rgba(255,152,0,0.8) 50%,transparent 70%),radial-gradient(circle 5.8px,rgba(255,215,0,0.9) 0%,rgba(255,152,0,0.7) 50%,transparent 70%),radial-gradient(ellipse 150% 80% at 50% 100%,rgba(255,87,34,0.5) 0%,rgba(255,152,0,0.3) 50%,transparent 80%);background-size:45px 320px,50px 340px,42px 310px,48px 335px,46px 325px,44px 315px,100% 100%;background-position:10px 100%,35px 100%,60px 100%,85px 100%,22px 100%,72px 100%,0 0;animation:avatarLavaRise 2.5s ease-out infinite;pointer-events:none;z-index:0;filter:blur(0.3px)}#avatar-display.weather-volcanic::after{opacity:0.9 !important;content:'';position:absolute;width:100%;height:100%;top:0;left:0;background-image:radial-gradient(circle 5.5px,rgba(255,215,0,0.9) 0%,rgba(255,152,0,0.7) 50%,transparent 70%),radial-gradient(circle 5px,rgba(255,152,0,0.85) 0%,rgba(255,87,34,0.6) 50%,transparent 70%),radial-gradient(circle 6.2px,rgba(255,87,34,0.9) 0%,rgba(255,152,0,0.7) 50%,transparent 70%),radial-gradient(circle 5.3px,rgba(255,152,0,0.85) 0%,rgba(255,215,0,0.7) 50%,transparent 70%),linear-gradient(180deg,transparent 40%,rgba(255,87,34,0.2) 100%);background-size:43px 312px,47px 328px,49px 338px,46px 322px,100% 100%;background-position:18px 100%,48px 100%,78px 100%,28px 100%,0 0;animation:avatarLavaRise 2.8s ease-out infinite;animation-delay:1.2s;pointer-events:none;z-index:0;filter:blur(0.5px)}#avatar-display.weather-foggy::before{background:radial-gradient(ellipse 80px 60px at 0% 50%,rgba(158,158,158,0.6) 0%,transparent 70%),radial-gradient(ellipse 80px 60px at 100% 50%,rgba(158,158,158,0.6) 0%,transparent 70%),radial-gradient(ellipse 100px 50px at 50% 0%,rgba(158,158,158,0.5) 0%,transparent 70%),radial-gradient(ellipse 100px 50px at 50% 100%,rgba(158,158,158,0.5) 0%,transparent 70%);animation:fogExpand 8s ease-in-out infinite;opacity:1}#avatar-display.weather-sunny::before{background:radial-gradient(circle at 30% 30%,rgba(255,235,59,0.4) 0%,transparent 70%),conic-gradient(from 0deg at 30% 30%,transparent 0deg,rgba(255,223,0,0.2) 30deg,transparent 60deg,transparent 90deg,rgba(255,223,0,0.2) 120deg,transparent 150deg,transparent 180deg,rgba(255,223,0,0.2) 210deg,transparent 240deg,transparent 270deg,rgba(255,223,0,0.2) 300deg,transparent 330deg);animation:sunRayRotate 20s linear infinite,sunPulseGlow 3s ease-in-out infinite;opacity:1}#avatar-display.weather-bloom::before{background:radial-gradient(ellipse 4px 8px at 10% 0%,rgba(255,182,193,0.9) 0%,transparent 100%),radial-gradient(ellipse 5px 9px at 25% 0%,rgba(255,192,203,0.85) 0%,transparent 100%),radial-gradient(ellipse 4px 7px at 45% 0%,rgba(255,182,193,0.9) 0%,transparent 100%),radial-gradient(ellipse 6px 10px at 60% 0%,rgba(233,30,99,0.8) 0%,transparent 100%),radial-gradient(ellipse 4px 8px at 75% 0%,rgba(255,192,203,0.85) 0%,transparent 100%),radial-gradient(ellipse 5px 9px at 90% 0%,rgba(255,182,193,0.9) 0%,transparent 100%),radial-gradient(ellipse 3px 6px at 20% 0%,rgba(129,199,132,0.7) 0%,transparent 100%),radial-gradient(ellipse 4px 7px at 55% 0%,rgba(102,187,106,0.7) 0%,transparent 100%),radial-gradient(ellipse 3px 6px at 85% 0%,rgba(129,199,132,0.7) 0%,transparent 100%),linear-gradient(to bottom,transparent 0%,rgba(129,199,132,0.1) 100%);background-size:100% 100%;animation:bloomFall 8s linear infinite;opacity:1}#avatar-display.weather-tempest::before{background:conic-gradient(from 0deg at 50% 50%,transparent,rgba(144,202,249,0.5) 10%,transparent 20%),radial-gradient(circle at 50% 50%,transparent 30%,rgba(144,202,249,0.3) 50%,transparent 70%);animation:tempestSpin 3s linear infinite;opacity:1}#avatar-display.weather-tsunami::before{background:repeating-linear-gradient(90deg,rgba(0,188,212,0.4) 0px,rgba(0,188,212,0.5) 30px,rgba(0,172,193,0.45) 60px),linear-gradient(180deg,transparent 0%,rgba(0,188,212,0.2) 100%);animation:tsunamiWave 4s ease-in-out infinite;opacity:1}#avatar-display.weather-sewer::before{background:radial-gradient(ellipse 50px 30px at 30% 30%,rgba(129,199,132,0.4) 0%,transparent 70%),radial-gradient(ellipse 60px 35px at 70% 50%,rgba(102,187,106,0.35) 0%,transparent 70%),radial-gradient(ellipse 45px 25px at 50% 70%,rgba(129,199,132,0.3) 0%,transparent 70%),radial-gradient(circle at 20% 80%,rgba(76,175,80,0.8) 3px,transparent 3px),radial-gradient(circle at 50% 85%,rgba(129,199,132,0.7) 4px,transparent 4px),radial-gradient(circle at 80% 90%,rgba(76,175,80,0.8) 3px,transparent 3px),linear-gradient(180deg,transparent 70%,rgba(129,199,132,0.3) 100%);background-size:100% 100%,100% 100%,100% 100%,40px 40px,35px 35px,45px 45px,100% 100%;animation:toxicBubbleGas 3s ease-in-out infinite;opacity:1}#avatar-display.weather-seismic::before{background:linear-gradient(90deg,transparent 48%,rgba(141,110,99,0.7) 49%,rgba(141,110,99,0.7) 51%,transparent 52%),linear-gradient(0deg,transparent 48%,rgba(141,110,99,0.6) 49%,rgba(141,110,99,0.6) 51%,transparent 52%);background-size:80px 100%,100% 80px;animation:earthquakeRumble 0.8s ease-in-out infinite;opacity:1}#avatar-display.weather-eclipse::before{background:radial-gradient(circle at 50% 30%,rgba(49,27,146,0.6) 15%,transparent 45%),radial-gradient(circle at 50% 30%,rgba(103,58,183,0.4) 20%,transparent 60%),radial-gradient(circle at 50% 30%,rgba(49,27,146,0.3) 30%,transparent 80%);animation:eclipsePulse 4s ease-in-out infinite;opacity:1}@keyframes heavyRainFall{0%{background-position:0 0,0 0,0 0}100%{background-position:0 100px,0 120px,0 80px}}@keyframes rainPulse{0%,100%{opacity:0.8}50%{opacity:1}}@keyframes gentleSnowFall{0%{transform:translateY(-20px);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(220px);opacity:0}}@keyframes thunderStorm{0%,100%{opacity:0.4}45%,55%{opacity:0.4}48%,52%{opacity:1}50%{opacity:0.6}}@keyframes lightningBolt{0%,45%,55%,100%{background-position:0 0,200% 0}48%,52%{background-position:0 0,50% 50%}}@keyframes lavaRise{0%{background-position:0 100%,0 100%,0 100%,0 100%,0 0}100%{background-position:0 0,0 -100%,0 -100%,0 -100%,0 0}}@keyframes emberGlow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.3)}}@keyframes thickFogDrift{0%,100%{transform:translateX(-15px);opacity:0.5}50%{transform:translateX(15px);opacity:0.8}}@keyframes sunRayRotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes sunPulseGlow{0%,100%{opacity:0.6;filter:brightness(1)}50%{opacity:0.9;filter:brightness(1.3)}}@keyframes cherrySakuraFall{0%{transform:translateY(-30px) rotate(0deg);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(230px) rotate(720deg);opacity:0}}@keyframes windVortex{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes gustBlow{0%,100%{opacity:0.6}50%{opacity:0.9}}@keyframes tidalWaves{0%{transform:translateY(0) scaleY(1)}50%{transform:translateY(-10px) scaleY(1.2)}100%{transform:translateY(0) scaleY(1)}}@keyframes toxicBubbles{0%{background-position:0 100%,0 100%,0 100%,0 100%,0 0}100%{background-position:0 0,0 -80%,0 -90%,0 -70%,0 0}}@keyframes poisonGas{0%,100%{filter:hue-rotate(0deg)}50%{filter:hue-rotate(20deg)}}@keyframes earthquakeShake{0%,100%{transform:translate(0,0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,-2px)}}@keyframes groundCrack{0%{opacity:0.6}50%{opacity:0.9}100%{opacity:0.6}}@keyframes eclipsePulse{0%,100%{opacity:0.7;transform:scale(1)}50%{opacity:0.9;transform:scale(1.05)}}@keyframes shadowSpread{0%{filter:blur(0px) brightness(1)}50%{filter:blur(3px) brightness(0.8)}100%{filter:blur(0px) brightness(1)}}@keyframes slideInAvatar{from{transform:translateX(250px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes avatarRainFall{0%{transform:translateY(-100%)}100%{transform:translateY(100%)}}@keyframes avatarSnowFall{0%{transform:translateY(-10%) translateX(0)}100%{transform:translateY(110%) translateX(15px)}}@keyframes avatarLavaRise{0%{transform:translateY(10%)}100%{transform:translateY(-110%)}}@keyframes avatarStormRain{0%{transform:translateY(-100%)}100%{transform:translateY(100%)}}@keyframes raindropsfall{0%{background-position:10% -20px,22% -15px,35% -25px,48% -10px,60% -30px,72% -18px,82% -22px,92% -12px}100%{background-position:10% 250px,22% 255px,35% 245px,48% 260px,60% 240px,72% 252px,82% 248px,92% 258px}}@keyframes heavyStormRain{0%{background-position:10% -60px,25% -50px,40% -55px,55% -65px,70% -58px,85% -52px,0 0}100%{background-position:10% 250px,25% 260px,40% 255px,55% 245px,70% 252px,85% 258px,0 0}}@keyframes volcanicHeatSmooth{0%{background-position:25% 100%,50% 100%,75% 100%,40% 100%,60% 100%,50% 100%;opacity:1}50%{background-position:25% -150%,50% -180%,75% -120%,40% -160%,60% -140%,50% 100%;opacity:0.8}100%{background-position:25% -300%,50% -350%,75% -250%,40% -320%,60% -280%,50% 100%;opacity:0}}@keyframes tsunamiWave{0%,100%{transform:translateY(0) scaleY(1);background-position:0 0,0 0}25%{transform:translateY(-15px) scaleY(1.3);background-position:30px 0,0 0}50%{transform:translateY(-8px) scaleY(1.1);background-position:60px 0,0 0}75%{transform:translateY(-20px) scaleY(1.4);background-position:90px 0,0 0}}@keyframes toxicBubbleGas{0%{background-position:0 0,0 0,0 0,20% 100%,50% 100%,80% 100%,0 0;opacity:1}50%{background-position:20px 0,-20px 0,10px 0,20% 20%,50% 0%,80% 30%,0 0;opacity:0.9}100%{background-position:0 0,0 0,0 0,20% -50%,50% -80%,80% -40%,0 0;opacity:1}}@keyframes earthquakeRumble{0%,100%{transform:translate(0,0) rotate(0deg)}10%{transform:translate(-3px,2px) rotate(-0.5deg)}20%{transform:translate(3px,-2px) rotate(0.5deg)}30%{transform:translate(-2px,3px) rotate(-0.3deg)}40%{transform:translate(2px,-3px) rotate(0.3deg)}50%{transform:translate(-3px,-2px) rotate(-0.4deg)}60%{transform:translate(3px,2px) rotate(0.4deg)}70%{transform:translate(-2px,-3px) rotate(-0.3deg)}80%{transform:translate(2px,3px) rotate(0.3deg)}90%{transform:translate(-1px,-1px) rotate(-0.2deg)}}#avatar-display.show{display:block}#avatar-display > *{position:relative;z-index:1}.avatar-header{display:flex;align-items:center;gap:15px;margin-bottom:15px;padding-bottom:12px;border-bottom:2px solid rgba(64,196,255,0.3)}.avatar-image-container{width:60px;height:60px;border-radius:50%;border:3px solid;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 0 15px currentColor;transition:border-color 0.5s ease,box-shadow 0.5s ease;animation:avatarPulse 3s ease-in-out infinite;font-size:36px;background:rgba(10,10,46,0.8)}@keyframes avatarPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}.avatar-image-container img{width:80%;height:80%;object-fit:contain;margin:10%}.avatar-info{flex:1}.avatar-name{font-size:18px;font-weight:bold;color:#40c4ff;text-shadow:0 0 10px rgba(64,196,255,0.8);margin-bottom:4px;transition:color 0.5s ease}.avatar-rank{font-size:12px;color:#80deea;opacity:0.9}.avatar-stats{background:rgba(0,0,0,0.4);border-radius:12px;padding:10px}.avatar-stat-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;color:#e0f7fa}.avatar-stat-row:last-child{margin-bottom:0}.avatar-stat-label{color:#80deea}.avatar-stat-value{font-weight:bold;transition:color 0.5s ease}.avatar-exp{margin-top:10px}.avatar-exp-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:6px;color:#e0f7fa}.avatar-exp-bar{width:100%;height:10px;border-radius:999px;background:rgba(255,255,255,0.12);overflow:hidden;border:1px solid rgba(255,255,255,0.18)}.avatar-exp-fill{height:100%;width:0%;border-radius:999px;background:rgba(64,196,255,0.85);box-shadow:0 0 12px rgba(64,196,255,0.6);transition:width 0.35s ease}.avatar-preview-panel,#avatar-display,#menu-weather-fullscreen{position:relative;overflow:hidden}.avatar-preview-panel > *:not(.avatar-weather-canvas),#avatar-display > *:not(.avatar-weather-canvas),#menu-weather-fullscreen > *:not(.avatar-weather-canvas){position:relative;z-index:10}.avatar-weather-canvas{border-radius:inherit;z-index:1}.avatar-preview-panel::before,.avatar-preview-panel::after,#avatar-display::before,#avatar-display::after,#menu-weather-fullscreen::before,#menu-weather-fullscreen::after{z-index:0}#menu-weather-fullscreen{position:fixed;inset:0;pointer-events:none;z-index:-11;opacity:0;transition:opacity 420ms ease;--weather-intensity:1}body.menu-weather-mode #menu-weather-fullscreen{opacity:1}body.menu-weather-mode .ocean-bg-main,body.menu-weather-mode .ocean-floor,body.menu-weather-mode .rocks,body.menu-weather-mode .ocean-light-rays,body.menu-weather-mode .ocean-particles,body.menu-weather-mode .ocean-bubbles,body.menu-weather-mode .fish-container{display:none !important}#menu-weather-fullscreen::after{content:var(--menu-bg-watermark,"");position:absolute;inset:0;display:grid;place-items:center;font-size:min(44vw,360px);opacity:0.08;transform:translateY(-2%);pointer-events:none}#menu{border-color:var(--ui-accent,#40c4ff) !important;background:linear-gradient(145deg,var(--ui-bg,rgba(0,25,50,0.92)),var(--ui-bg-2,rgba(0,40,80,0.88))) !important;box-shadow:0 0 35px rgba(0,0,0,0.7),0 0 70px var(--ui-glow,rgba(64,196,255,0.45)) !important}#menu::before{background:radial-gradient(circle at 20% 30%,var(--ui-accent-soft,rgba(64,196,255,0.18)) 0%,transparent 55%) !important}#menu h1{background:linear-gradient(135deg,var(--ui-accent,#40c4ff),var(--ui-text,#ffffff),var(--ui-accent,#40c4ff)) !important;-webkit-background-clip:text !important;background-clip:text !important;-webkit-text-fill-color:transparent !important;text-shadow:0 0 20px var(--ui-glow,rgba(64,196,255,0.65)) !important}#menu button{border:2px solid var(--ui-accent,#40c4ff) !important;color:var(--ui-text,#e3f2fd) !important;box-shadow:0 0 16px rgba(0,0,0,0.35),0 0 22px var(--ui-glow,rgba(64,196,255,0.25)) !important}#menu button:hover{box-shadow:0 0 22px rgba(0,0,0,0.35),0 0 36px var(--ui-glow,rgba(64,196,255,0.55)) !important}:root{--hud-pad:12px;--hud-gap:10px;--hud-radius:18px;--hud-blur:12px;--hud-bg:rgba(0,20,40,0.90);--hud-border:rgba(64,196,255,0.55);--hud-shadow:0 0 18px rgba(64,196,255,0.35);--hud-right:14px;--hud-left:14px;--hud-top:28px;--hud-bottom:14px}#ui,#log,#deck-count,#deck-stack,#card-details,#save-load,#dropdown,#achievements,#target-mode,#combat-ui,#movement-ui{background:var(--hud-bg) !important;border-color:var(--hud-border) !important;box-shadow:var(--hud-shadow) !important;backdrop-filter:blur(var(--hud-blur)) !important;border-radius:var(--hud-radius) !important}#ui{position:fixed !important;top:var(--hud-top) !important;left:var(--hud-left) !important;max-width:320px !important;padding:var(--hud-pad) !important;font-size:11px !important;z-index:220 !important}#ui h3{margin-bottom:8px !important;font-size:14px !important}#ui button{padding:10px 14px !important;font-size:12px !important;border-radius:14px !important;margin:6px 0 !important}#avatar-display{position:fixed !important;top:auto !important;bottom:var(--hud-bottom) !important;left:var(--hud-left) !important;right:auto !important;width:210px !important;padding:12px !important;border-radius:18px !important;z-index:320 !important}#avatar-display > *{position:relative;z-index:2}#deck-stack{position:fixed !important;top:auto !important;bottom:220px !important;right:var(--hud-right) !important;width:120px !important;height:180px !important;font-size:12px !important;border-radius:25px !important;z-index:220 !important}#deck-count{position:fixed !important;right:var(--hud-right) !important;bottom:58px !important;padding:8px 10px !important;font-size:11px !important;z-index:220 !important;border-radius:14px !important;white-space:nowrap !important}#card-details{position:fixed !important;right:var(--hud-right) !important;bottom:var(--hud-bottom) !important;top:auto !important;width:300px !important;height:190px !important;padding:14px !important;font-size:12px !important;z-index:210 !important}#card-details h4{margin:0 0 6px 0 !important;font-size:14px !important}#log{position:fixed !important;left:var(--hud-left) !important;bottom:220px !important;width:330px !important;height:160px !important;padding:12px !important;font-size:11px !important;z-index:210 !important}#hand{bottom:var(--hud-bottom) !important;gap:10px !important;padding:8px !important}.card-ui{width:112px !important;height:170px !important;border-radius:22px !important}#in-game-menu{position:fixed;left:0px;top:0px;z-index:1000;pointer-events:none}#menu-btn{font-size:12px !important;padding:8px 14px !important;border-radius:14px !important}#dropdown{right:0 !important;bottom:calc(100% + 10px) !important}#toggle-graveyard{position:fixed !important;right:var(--hud-right) !important;bottom:var(--hud-bottom) !important;z-index:230 !important;font-size:11px !important;padding:7px 12px !important;border-radius:14px !important}#undo-btn{position:fixed !important;left:calc(var(--hud-left) + 0px) !important;bottom:calc(var(--hud-bottom) + 0px) !important;z-index:240 !important;width:auto !important}#phase-indicator{z-index:1200 !important}#reward-popup{z-index:1300 !important}@media (max-width:900px){#ui{max-width:290px !important}#log{width:280px !important}#card-details{width:240px !important}#deck-stack{top:20px !important}#save-load{top:218px !important}.card-ui{width:104px !important;height:160px !important}}@media (max-width:700px){#avatar-display{width:190px !important}#save-load{top:210px !important}#deck-stack{display:none !important}#deck-count{bottom:52px !important}#log{width:240px !important;height:120px !important}}html,body{width:100%;height:100%;margin:0;padding:0}html,body{width:100%;height:100%;margin:0;padding:0;overflow:hidden;background:#000}canvas{display:block}#three-canvas,#bg-canvas,#game-canvas,canvas.webgl{position:fixed !important;inset:0 !important;width:100% !important;height:100% !important;z-index:0 !important}#deck-count{display:none !important;visibility:hidden !important;pointer-events:none !important}:root{--hud-left:14px;--hud-top:14px;--left-gap:14px;--avatar-h:170px;--ui-w:360px}#avatar-display{position:fixed !important;left:var(--hud-left) !important;top:var(--hud-top) !important;right:auto !important;z-index:30 !important}#ui{position:fixed !important;left:var(--hud-left) !important;top:calc(var(--hud-top) + var(--avatar-h) + var(--left-gap)) !important;width:var(--ui-w) !important;z-index:25 !important;max-height:calc(100vh - (var(--hud-top) + var(--avatar-h) + var(--left-gap) + 220px)) !important;overflow:auto !important}#log{position:fixed !important;left:var(--hud-left) !important;bottom:110px !important;width:var(--ui-w) !important;z-index:22 !important}#hand{position:fixed !important;left:50% !important;transform:translateX(-50%) !important;bottom:12px !important;z-index:20 !important}#left-column{position:fixed;left:var(--hud-left,14px);top:var(--hud-top,14px);width:var(--ui-w,360px);display:flex;flex-direction:column;gap:14px;z-index:30}#ui,#avatar-display,#log{position:relative !important;left:auto !important;top:auto !important;right:auto !important;bottom:auto !important;transform:none !important;width:100% !important}#avatar-display{height:120px !important;min-height:120px !important;max-height:120px !important;border-radius:18px !important}#ui{max-height:360px !important;overflow:auto !important}#log{height:170px !important;max-height:170px !important;overflow:auto !important}#hand{position:fixed !important;left:50% !important;transform:translateX(-50%) !important;bottom:12px !important;z-index:20 !important}#left-column{top:26px !important;gap:12px !important}#avatar-display{height:115px !important;min-height:115px !important;max-height:115px !important}#ui{max-height:330px !important}#log{height:190px !important;max-height:190px !important}#deck-stack{position:fixed !important;width:150px !important;height:210px !important;right:calc(var(--hud-right,14px) + 110px) !important;bottom:var(--hud-bottom,14px) !important;top:auto !important;z-index:220 !important}#toggle-graveyard{position:fixed !important;right:var(--hud-right,14px) !important;bottom:var(--hud-bottom,14px) !important;z-index:230 !important}#card-details{bottom:150px !important}#deck-stack .deck-center{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important}#deck-stack .deck-label{font-size:20px !important;letter-spacing:0.5px !important}#deck-stack #deck-size-visual{font-size:34px !important;font-weight:900 !important}#deck-stack,#in-game-menu,#toggle-graveyard{display:none}#deck-stack{width:112px !important;height:135px !important;padding:10px !important;font-size:18px !important;line-height:1.05 !important;display:none;align-items:center !important;justify-content:center !important;text-align:center !important;right:calc(var(--hud-right,14px) + 118px) !important;bottom:var(--hud-bottom,14px) !important;top:auto !important;z-index:230 !important}#deck-stack > div{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;font-weight:900 !important}#deck-stack #deck-size-visual{display:block !important;margin-top:6px !important;font-size:34px !important;line-height:1 !important}#card-details{bottom:175px !important}#left-column{top:auto !important;bottom:var(--hud-bottom,14px) !important;max-height:calc(100vh - 18px) !important}#avatar-display{height:auto !important;min-height:175px !important;max-height:260px !important}#avatar-display .avatar-stat-row{font-size:12px !important;margin-bottom:6px !important}#avatar-display .avatar-stats{padding:10px !important}#log{height:200px !important;max-height:200px !important}:root{--hud-right:14px;--hud-bottom:14px;--hud-gap:10px;--deck-w:128px;--deck-h:186px;--menu-w:92px}#in-game-menu{position:fixed;left:0px;top:0px;z-index:1000;pointer-events:none}#menu-btn{min-width:var(--menu-w) !important;text-align:center !important}#deck-stack{right:var(--hud-right) !important;top:20px !important;width:var(--deck-w) !important;height:var(--deck-h) !important;border-radius:16px !important;z-index:315 !important}#card-details{position:fixed !important;right:calc(var(--hud-right) + var(--deck-w) + var(--hud-gap) + var(--menu-w) + var(--hud-gap)) !important;bottom:var(--hud-bottom) !important;width:320px !important;height:160px !important;z-index:305 !important;border-radius:18px !important}#target-mode,#combat-ui,#movement-ui{position:fixed;left:50%;top:68%;transform:translate(-50%,-50%);z-index:5000;pointer-events:auto;max-width:min(520px,92vw);background:rgba(0,20,40,0.92);border:2px solid rgba(64,196,255,0.75);border-radius:18px;padding:12px 14px;box-shadow:0 10px 30px rgba(0,0,0,0.45),0 0 30px rgba(64,196,255,0.18)}#target-mode button,#combat-ui button,#movement-ui button{pointer-events:auto;cursor:pointer}#grid-popup-layer{position:fixed;inset:0;pointer-events:none;z-index:9999}#grid-popup-layer > #combat-ui,#grid-popup-layer > #movement-ui,#grid-popup-layer > #target-mode{position:fixed;pointer-events:auto;transform:translate(-50%,-110%);border-radius:14px}#grid-popup-layer > #combat-ui::after,#grid-popup-layer > #movement-ui::after,#grid-popup-layer > #target-mode::after{content:'';position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid rgba(0,20,40,0.95);filter:drop-shadow(0 6px 10px rgba(0,0,0,0.35))}#toast{position:fixed;left:50%;bottom:18%;transform:translateX(-50%);z-index:9999;min-width:280px;max-width:min(560px,90vw);padding:12px 16px;border-radius:14px;background:rgba(10,10,46,.92);border:2px solid rgba(64,196,255,.55);box-shadow:0 10px 40px rgba(0,0,0,.35),0 0 30px rgba(64,196,255,.25);color:#e8f6ff;font-size:16px;line-height:1.25;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}#toast.show{opacity:1;transform:translateX(-50%) translateY(-6px)}#toast strong{color:#40c4ff}
/* ============================================================
   FOG (Avatar Panels + Menu Avatar Card): black base + white fog
   NOTE: Does NOT affect in-game battlefield weather.
   ============================================================ */
.avatar-preview-panel.weather-preview-foggy,
#menu-avatar-card.weather-preview-foggy,
#avatar-display.weather-foggy{
  background:
    radial-gradient(ellipse at 50% 15%, rgba(255,255,255,0.08) 0%, rgba(0,0,0,0.98) 70%),
    linear-gradient(180deg, #000 0%, #07080b 55%, #000 100%) !important;
}

.avatar-preview-panel.weather-preview-foggy::before,
#menu-avatar-card.weather-preview-foggy::before,
#avatar-display.weather-foggy::before{
  content:"";
  position:absolute;
  inset:-6%;
  pointer-events:none;
  z-index:1;
  mix-blend-mode:screen;
  background:
    radial-gradient(ellipse 180px 120px at 18% 35%, rgba(255,255,255,0.30) 0%, transparent 62%),
    radial-gradient(ellipse 210px 140px at 82% 52%, rgba(255,255,255,0.22) 0%, transparent 64%),
    radial-gradient(ellipse 240px 160px at 45% 88%, rgba(255,255,255,0.18) 0%, transparent 66%);
  filter: blur(14px);
  opacity: 0.62;
  animation: fogWhitePulse 7.5s ease-in-out infinite;
}

.avatar-preview-panel.weather-preview-foggy::after,
#menu-avatar-card.weather-preview-foggy::after,
#avatar-display.weather-foggy::after{
  content:"";
  position:absolute;
  inset:-10%;
  pointer-events:none;
  z-index:1;
  mix-blend-mode:screen;
  background:
    radial-gradient(ellipse 260px 170px at 50% 20%, rgba(255,255,255,0.14) 0%, transparent 72%),
    radial-gradient(ellipse 320px 220px at 50% 98%, rgba(255,255,255,0.10) 0%, transparent 74%);
  filter: blur(22px);
  opacity: 0.42;
  animation: fogWhiteDrift 10s ease-in-out infinite;
}

@keyframes fogWhitePulse{
  0%,100%{ transform: translate3d(0,0,0) scale(1); opacity:0.50; }
  50%{ transform: translate3d(0,-2.2%,0) scale(1.07); opacity:0.76; }
}
@keyframes fogWhiteDrift{
  0%,100%{ transform: translate3d(-1.2%,0,0) scale(1); opacity:0.32; }
  50%{ transform: translate3d(1.1%,-2.0%,0) scale(1.05); opacity:0.58; }
}

/* Menu fullscreen fog background (optional, but keeps it consistent) */
#menu-weather-fullscreen.weather-foggy{
  background:
    radial-gradient(circle at 50% 20%, rgba(255,255,255,0.06) 0%, rgba(0,0,0,0.98) 72%),
    linear-gradient(180deg, #000 0%, #090a0f 55%, #000 100%) !important;
}

/* Sewer: make it visually distinct from Tempest on avatar panels */
.avatar-preview-panel.weather-preview-sewer,
#menu-avatar-card.weather-preview-sewer,
#avatar-display.weather-sewer{
  background:
    radial-gradient(circle at 50% 110%, rgba(40,255,150,0.10) 0%, rgba(0,0,0,0.98) 62%),
    linear-gradient(180deg, #020603 0%, #07140c 60%, #000 100%) !important;
}




  :root{
    --ui-accent:#40c4ff;
    --ui-accent2:#81c784;
    --ui-accent3:#ffeb3b;
    --ui-panel-bg: rgba(0, 18, 38, 0.86);
    --ui-panel-bg2: rgba(10, 34, 58, 0.82);
    --ui-border: rgba(64,196,255,0.45);
    --ui-glow: rgba(64,196,255,0.30);
    --ui-text: #e6fbff;
    --ui-muted: rgba(230,251,255,0.80);
  }

  /* Panels: glass + theme glow */
  #ui, #log, #card-details, #avatar-display{
    background: linear-gradient(145deg, var(--ui-panel-bg), var(--ui-panel-bg2)) !important;
    border-color: var(--ui-border) !important;
    box-shadow: 0 0 22px var(--ui-glow), inset 0 0 18px rgba(255,255,255,0.04) !important;
    backdrop-filter: blur(12px) saturate(1.2) !important;
  }

  /* Buttons: theme gradient */
  button, .menu-btn{
    border-color: rgba(255,255,255,0.10);
  }
  #ui button, #menu-btn, #end-phase, #draw-extra, #leader-ability,
  #save-in-game, #load-in-game, #load-game-options, #exit-main, #toggle-graveyard{
    background: linear-gradient(145deg, color-mix(in srgb, var(--ui-accent) 70%, #001c2f), color-mix(in srgb, var(--ui-accent2) 55%, #001220)) !important;
    border: 2px solid color-mix(in srgb, var(--ui-accent) 55%, rgba(255,255,255,0.2)) !important;
    color: var(--ui-text) !important;
    box-shadow: 0 6px 16px rgba(0,0,0,0.35), 0 0 16px var(--ui-glow) !important;
    position: relative;
    overflow: hidden;
  }
  #ui button::after, #menu-btn::after, #end-phase::after, #draw-extra::after, #leader-ability::after{
    content:"";
    position:absolute; inset:-40% -60%;
    background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.22), transparent 45%);
    transform: rotate(18deg);
    opacity: 0.25;
    pointer-events:none;
  }
  #ui button:hover, #menu-btn:hover{
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(0,0,0,0.45), 0 0 24px var(--ui-glow) !important;
  }

  /* In-game menu: bottom-right */
  #in-game-menu {
            position: fixed;
            left: 0px;
            top: 0px;
            z-index: 1000;
            pointer-events: none;
        }
  #dropdown{
    border-color: var(--ui-border) !important;
    box-shadow: 0 0 22px var(--ui-glow) !important;
  }
  #dropdown button{
    width: 100%;
    margin: 6px 0;
    font-size: 12px;
  }

  /* Ensure Toggle Graveyard is a normal dropdown item (not fixed on screen) */
  #toggle-graveyard{
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    display: block !important;
  }

  /* Deck box: smaller, nicer, centered text, with card-stack look */
  #deck-stack{
    display: none;
    position: fixed !important;
    width: 114px !important;
    height: 142px !important;
    right: calc(var(--hud-right, 14px) + 132px) !important;
    bottom: var(--hud-bottom, 14px) !important;
    z-index: 290 !important;
    border-radius: 18px !important;
    border: 2px solid color-mix(in srgb, var(--ui-accent) 60%, rgba(255,255,255,0.2)) !important;
    background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.10), transparent 55%),
                linear-gradient(145deg, rgba(0, 16, 34, 0.88), rgba(8, 34, 58, 0.85)) !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.55), 0 0 18px var(--ui-glow) !important;
    backdrop-filter: blur(10px) saturate(1.15) !important;
  }
  #deck-stack::before, #deck-stack::after{
    content:"";
    position:absolute;
    inset: 10px 12px 10px 12px;
    border-radius: 14px;
    border: 2px solid rgba(255,255,255,0.08);
    background: linear-gradient(145deg, rgba(255,255,255,0.06), rgba(255,255,255,0.00));
    transform: rotate(-6deg) translate(-6px, 6px);
    opacity: 0.65;
    pointer-events:none;
  }
  #deck-stack::after{
    transform: rotate(6deg) translate(7px, -7px);
    opacity: 0.42;
  }
  #deck-stack .deck-center{
    position: relative;
    z-index: 2;
    display:flex !important;
    flex-direction: column !important;
    align-items:center !important;
    justify-content:center !important;
    height: 100%;
  }
  #deck-stack .deck-label{
    font-size: 18px !important;
    letter-spacing: 0.6px !important;
    color: var(--ui-muted) !important;
    text-transform: uppercase;
  }
  #deck-stack #deck-size-visual{
    font-size: 38px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    margin-top: 6px;
    text-shadow: 0 0 18px var(--ui-glow);
  }

  /* Card frame: slightly richer */
  .card-ui{
    box-shadow: 0 10px 26px rgba(0,0,0,0.55), 0 0 18px rgba(0,0,0,0.25) !important;
    border-color: color-mix(in srgb, var(--ui-accent) 40%, rgba(255,255,255,0.35)) !important;
  }
  .card-ui:hover{
    transform: translateY(-7px) scale(1.02) !important;
    box-shadow: 0 16px 34px rgba(0,0,0,0.62), 0 0 28px var(--ui-glow) !important;
  }
/* menu-fullscreen-patch-v6 */
  /* Make the main menu use (almost) the entire screen */
  #menu{
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: min(1600px, 96vw) !important;
    height: 94vh !important;
    max-width: none !important;
    max-height: none !important;
    overflow: auto !important;
  }
  /* Keep content nicely centered but allow more breathing room */
  #menu .menu-inner{
    width: min(1500px, calc(100vw - 70px));
    margin: 0 auto;
  }

  /* Theme the menu using avatar-weather UI variables */
  #menu h1{
    color: var(--ui-accent3) !important;
    text-shadow: 0 0 30px var(--ui-glow), 0 0 60px color-mix(in srgb, var(--ui-accent) 45%, transparent 55%), 0 5px 20px rgba(0,0,0,0.8) !important;
  }
  #menu .menu-btn::before{
    background: color-mix(in srgb, var(--ui-accent) 18%, transparent 82%) !important;
  }
  #menu .menu-btn-primary{
    background: linear-gradient(145deg,
      color-mix(in srgb, var(--ui-accent2) 78%, #000 22%),
      color-mix(in srgb, var(--ui-accent) 78%, #000 22%)
    ) !important;
    border-color: var(--ui-accent) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.55), 0 0 24px var(--ui-glow), inset 0 0 20px rgba(255,255,255,0.08) !important;
  }
  #menu .menu-btn-primary:hover{
    border-color: var(--ui-accent3) !important;
    box-shadow: 0 16px 44px rgba(0,0,0,0.60), 0 0 32px var(--ui-glow), inset 0 0 30px rgba(255,255,255,0.14) !important;
  }
  #menu .menu-btn-secondary{
    border-color: color-mix(in srgb, var(--ui-accent) 55%, rgba(255,255,255,0.18) 45%) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,0.55), inset 0 0 12px color-mix(in srgb, var(--ui-accent) 20%, transparent 80%) !important;
  }
  #menu .menu-btn-secondary:hover{ border-color: var(--ui-accent) !important; }

  /* Avatar creator preview tweaks (only on the creator screen) */
  #avatar-creation-screen .avatar-preview-panel{
    margin-top: 28px;
  }

  #avatar-creation-screen #avatarPreviewEmoji{
    width: 110px;
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #avatar-creation-screen .avatar-preview-display img{
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    margin: auto !important;
  }

  @media (max-width: 820px){
    #menu{
      width: 98vw !important;
      height: 96vh !important;
      padding: 18px 14px !important;
    }
    #menu .menu-inner{ width: calc(100vw - 32px); }
    .avatar-creator-grid{ grid-template-columns: 1fr !important; }
  }



  #ui-modal-overlay{
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.55);
    backdrop-filter: blur(10px);
    z-index: 20000;
    padding: 18px;
  }
  #ui-modal-overlay.show{ display: flex; }
  #ui-modal{
    width: min(560px, 92vw);
    border-radius: 18px;
    padding: 18px 18px 14px 18px;
    border: 2px solid color-mix(in srgb, var(--ui-accent) 55%, rgba(255,255,255,0.20) 45%);
    background: linear-gradient(135deg, rgba(0, 20, 40, 0.92), rgba(0, 10, 25, 0.92));
    box-shadow: 0 24px 80px rgba(0,0,0,0.70), 0 0 40px var(--ui-glow);
    color: var(--ui-text, #e0f7fa);
  }
  #ui-modal h3{
    margin: 0 0 10px 0;
    font-size: 20px;
    color: var(--ui-accent3);
    text-shadow: 0 0 18px var(--ui-glow);
  }
  #ui-modal p{ margin: 0 0 14px 0; opacity: 0.95; line-height: 1.35; }
  #ui-modal .actions{
    display: flex;
    justify-content: flex-end;
    gap: 10px;
  }
  #ui-modal .actions button{
    padding: 10px 14px;
    border-radius: 12px;
    border: 2px solid var(--ui-accent);
    background: linear-gradient(145deg,
      color-mix(in srgb, var(--ui-accent2) 78%, #000 22%),
      color-mix(in srgb, var(--ui-accent) 78%, #000 22%)
    );
    color: #e0f7fa;
    cursor: pointer;
    font-weight: 700;
  }
  #ui-modal .actions button.secondary{
    background: rgba(0,0,0,0.25);
    border-color: color-mix(in srgb, var(--ui-accent) 40%, rgba(255,255,255,0.18) 60%);
  }



  /* FINAL HUD POSITION OVERRIDES (gameplay) */
  /* Keep Menu as part of the bottom-left Avatar row (not fixed to viewport) */
  #avatar-menu-row{ display:flex !important; gap:12px !important; align-items:flex-end !important; }
  #in-game-menu {
            position: fixed;
            left: 0px;
            top: 0px;
            z-index: 1000;
            pointer-events: none;
        }

  /* Put Deck in the mid-right target spot (separate from card details) */
  #deck-stack{
    position: fixed !important;
    right: 14px !important;
    top: 50% !important;
    bottom: auto !important;
    left: auto !important;
    transform: translateY(-50%) !important;
    z-index: 121 !important;
  }

  /* Keep card details bottom-right */
  #card-details{
    position: fixed !important;
    right: 14px !important;
    bottom: 14px !important;
    top: auto !important;
    left: auto !important;
    z-index: 120 !important;
  }



/* === Main Menu: TRUE fullscreen (v7) === */
#menu{
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: clamp(16px, 2.0vh, 34px) clamp(16px, 2.0vw, 48px) !important;

  /* Remove the "centered glass container" look */
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;

  overflow: auto !important;
  -webkit-overflow-scrolling: touch;
  z-index: 100 !important;
}

/* Weather background layer behind the entire menu */
#menu-weather-fullscreen{
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* Ensure menu content sits above fullscreen weather */
#menu .menu-inner,
#menu > div[style*="display: flex"]{
  position: relative;
  z-index: 10;
}

/* Kill legacy ocean decor if any remains */
#menu .ocean-bg-main,
#menu .ocean-floor,
#menu .ocean-effects,
#menu .rocks,
#menu .coral,
#menu .seaweed,
#menu .bubble,
#menu .rock{
  display: none !important;
}

/* Make title readable and prevent clipping */
#menu h1{
  font-size: clamp(34px, 4.2vw, 56px) !important;
  letter-spacing: clamp(1px, 0.6vw, 6px) !important;
  line-height: 1.1 !important;
  white-space: normal !important;
  max-width: 100% !important;
}
#menu h2{
  font-size: clamp(18px, 2.2vw, 28px) !important;
  letter-spacing: clamp(1px, 0.35vw, 3px) !important;
}
#menu p{
  font-size: clamp(13px, 1.4vw, 16px) !important;
}

/* When menu is open, hide legacy WebGL/ocean canvases (visual) */
body.menu-open #three-canvas,
body.menu-open #bg-canvas,
body.menu-open #game-canvas,
body.menu-open canvas.webgl{
  opacity: 0 !important;
  pointer-events: none !important;
}



/* Keep action popups out of the battlefield center */
:root{
  --action-ui-top: 220px;
  --action-ui-right: 22px;
}
#combat-ui,#movement-ui,#target-mode,#battlefield-tooltip{
  position:fixed !important;
  right:var(--action-ui-right) !important;
  top:var(--action-ui-top) !important;
  left:auto !important;
  bottom:auto !important;
  transform:none !important;
  max-width:min(420px, 92vw) !important;
}
#battlefield-tooltip{
  top: calc(var(--action-ui-top) + 120px) !important;
  max-width:min(460px, 92vw) !important;
}



/* Make sure our panel canvases are visible and under content */
.avatar-preview-panel, #avatar-display, #menu-weather-fullscreen, #menu-weather-bg { position: relative; overflow: hidden; }
.avatar-preview-panel > .avatar-weather-canvas,
#avatar-display > .avatar-weather-canvas,
#menu-weather-fullscreen > .avatar-weather-canvas,
#menu-weather-bg > .avatar-weather-canvas { z-index: 0 !important; }
.avatar-preview-panel > *:not(.avatar-weather-canvas),
#avatar-display > *:not(.avatar-weather-canvas) { position: relative; z-index: 2; }

/* FOG: black card base + white fog that creeps from rim inward */
.avatar-preview-panel.weather-preview-foggy,
#menu-avatar-card.weather-preview-foggy,
#avatar-display.weather-foggy {
  background: radial-gradient(circle at 50% 20%, rgba(255,255,255,0.05) 0%, rgba(0,0,0,0.98) 72%),
              linear-gradient(180deg, #000 0%, #0b0d16 55%, #000 100%) !important;
  color: #e7f2ff;
}

/* fog texture */
.avatar-preview-panel.weather-preview-foggy::before,
#menu-avatar-card.weather-preview-foggy::before,
#avatar-display.weather-foggy::before,
#menu-weather-bg.weather-foggy::before,
#menu-weather-fullscreen.weather-foggy::before{
  content:"";
  position:absolute;
  inset:-18%;
  pointer-events:none;
  z-index:1;
  opacity:0.92;
  filter: blur(10px);
  background:
    radial-gradient(circle at 15% 22%, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0) 58%),
    radial-gradient(circle at 78% 34%, rgba(255,255,255,0.82) 0%, rgba(255,255,255,0) 60%),
    radial-gradient(circle at 25% 78%, rgba(255,255,255,0.75) 0%, rgba(255,255,255,0) 62%),
    radial-gradient(circle at 85% 82%, rgba(255,255,255,0.68) 0%, rgba(255,255,255,0) 64%);
  animation: v4FogDrift 12s linear infinite;
  mix-blend-mode: screen;
}

/* Rim-to-center creep mask (shrinks clear center so fog "fills") */
.avatar-preview-panel.weather-preview-foggy::after,
#menu-avatar-card.weather-preview-foggy::after,
#avatar-display.weather-foggy::after,
#menu-weather-bg.weather-foggy::after,
#menu-weather-fullscreen.weather-foggy::after{
  content:"";
  position:absolute;
  inset:-10%;
  pointer-events:none;
  z-index:2;
  background:
    radial-gradient(circle at 50% 50%,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,0.0) 40%,
      rgba(255,255,255,0.10) 58%,
      rgba(255,255,255,0.55) 78%,
      rgba(255,255,255,0.92) 100%);
  opacity:0.75;
  filter: blur(18px);
  -webkit-mask-image: radial-gradient(circle at 50% 50%, transparent 0%, transparent var(--v4FogClear, 62%), rgba(0,0,0,1) calc(var(--v4FogClear, 62%) + 2%), rgba(0,0,0,1) 100%);
          mask-image: radial-gradient(circle at 50% 50%, transparent 0%, transparent var(--v4FogClear, 62%), rgba(0,0,0,1) calc(var(--v4FogClear, 62%) + 2%), rgba(0,0,0,1) 100%);
  animation: v4FogCreep 10s ease-in-out infinite;
}

/* Tweak fog overlay strength for the fullscreen menu (so it doesn't wash UI) */
#menu-weather-fullscreen.weather-foggy::before { opacity:0.40; filter: blur(14px); }
#menu-weather-fullscreen.weather-foggy::after  { opacity:0.24; filter: blur(22px); }

/* TSUNAMI: deep blue water base (keeps it distinct from Sewer) */
.avatar-preview-panel.weather-preview-tsunami,
#menu-avatar-card.weather-preview-tsunami {
  background: radial-gradient(circle at 40% 20%, rgba(120,220,255,0.16) 0%, rgba(0,0,0,0.95) 68%),
              linear-gradient(180deg, #02142c 0%, #05224a 55%, #010a14 100%) !important;
}
#menu-weather-fullscreen.weather-tsunami,
#menu-weather-bg.weather-tsunami{
  background: radial-gradient(circle at 50% 15%, rgba(120,220,255,0.12) 0%, rgba(0,0,0,0.96) 72%),
              linear-gradient(180deg, #02142c 0%, #05224a 55%, #010a14 100%);
}

/* SEWER: charcoal + oily haze, less neon green */
.avatar-preview-panel.weather-preview-sewer,
#menu-avatar-card.weather-preview-sewer,
#avatar-display.weather-sewer{
  background: radial-gradient(circle at 50% 90%, rgba(110,140,120,0.18) 0%, rgba(0,0,0,0.96) 70%),
              linear-gradient(180deg, #050706 0%, #0b1410 55%, #020303 100%) !important;
}
#menu-weather-fullscreen.weather-sewer,
#menu-weather-bg.weather-sewer{
  background: radial-gradient(circle at 50% 95%, rgba(110,140,120,0.14) 0%, rgba(0,0,0,0.97) 72%),
              linear-gradient(180deg, #050706 0%, #0b1410 55%, #020303 100%);
}

/* animations */
@keyframes v4FogDrift{
  0%{ transform: translate3d(-2%, -1%, 0) scale(1.05); }
  50%{ transform: translate3d(2.5%, 1.2%, 0) scale(1.08); }
  100%{ transform: translate3d(-2%, -1%, 0) scale(1.05); }
}
@keyframes v4FogCreep{
  0%{ --v4FogClear: 62%; opacity:0.58; }
  45%{ --v4FogClear: 8%;  opacity:0.85; }
  70%{ --v4FogClear: 2%;  opacity:0.92; }
  100%{ --v4FogClear: 62%; opacity:0.60; }
}



/* ============================================================
   V5 FIX: Fog avatar panels start DARK, then white fog creeps in
   Targets: Avatar creation preview panel + Main menu avatar card
   (Does NOT touch in-game battlefield fog.)
   ============================================================ */

/* Ensure pseudo-elements are contained */
#avatar-creation-screen .avatar-preview-panel,
#menu-avatar-card{
  position: relative;
  overflow: hidden;
}

/* -----------------------------
   FOGGY: dark base + rim creep
   ----------------------------- */
#avatar-creation-screen .avatar-preview-panel.weather-preview-foggy,
#menu-avatar-card.weather-preview-foggy{
  background: radial-gradient(ellipse at 50% 18%, rgba(18,18,22,0.98) 0%, rgba(0,0,0,1) 72%) !important;
  color: #eaf6ff;
}

/* Keep inner stat box readable on dark fog */
#avatar-creation-screen .avatar-preview-panel.weather-preview-foggy .avatar-stats-preview,
#menu-avatar-card.weather-preview-foggy .avatar-stats-preview{
  background: rgba(0,0,0,0.40) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
}
#avatar-creation-screen .avatar-preview-panel.weather-preview-foggy .avatar-name-display,
#menu-avatar-card.weather-preview-foggy .avatar-name-display{
  text-shadow: 0 2px 12px rgba(0,0,0,0.55) !important;
}

/* Animate custom properties for the "creep" */
@property --fogClear { syntax: '<percentage>'; inherits: false; initial-value: 96%; }
@property --fogAmt { syntax: '<number>'; inherits: false; initial-value: 0.0; }

#avatar-creation-screen .avatar-preview-panel.weather-preview-foggy::before,
#menu-avatar-card.weather-preview-foggy::before{
  content:"";
  position:absolute;
  inset:-12%;
  pointer-events:none;
  z-index:1;
  background:
    radial-gradient(circle at 26% 34%, rgba(255,255,255,0.22) 0%, rgba(255,255,255,0) 62%),
    radial-gradient(circle at 76% 52%, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0) 64%),
    radial-gradient(circle at 52% 86%, rgba(255,255,255,0.16) 0%, rgba(255,255,255,0) 66%);
  filter: blur(18px);
  opacity: calc(0.10 + (var(--fogAmt) * 0.45));
  transform: translate3d(-2%,0,0);
  mix-blend-mode: normal !important;
  animation: v5FogDrift 16s ease-in-out infinite, v5FogCreep 18s ease-in-out infinite;
}

#avatar-creation-screen .avatar-preview-panel.weather-preview-foggy::after,
#menu-avatar-card.weather-preview-foggy::after{
  content:"";
  position:absolute;
  inset:-18%;
  pointer-events:none;
  z-index:2;
  background:
    radial-gradient(circle at 50% 50%,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,0) var(--fogClear),
      rgba(255,255,255,0.65) calc(var(--fogClear) + 14%),
      rgba(255,255,255,0.95) 100%);
  filter: blur(26px);
  opacity: calc(0.02 + (var(--fogAmt) * 0.78));
  mix-blend-mode: normal !important;
  animation: v5FogCreep 18s ease-in-out infinite;
}

/* Rim-to-center creep timing */
@keyframes v5FogCreep{
  0%   { --fogClear: 96%; --fogAmt: 0.00; }
  55%  { --fogClear: 55%; --fogAmt: 0.55; }
  100% { --fogClear: 0%;  --fogAmt: 1.00; }
}
@keyframes v5FogDrift{
  0%,100%{ transform: translate3d(-2%,0,0) scale(1); }
  50%{ transform: translate3d(2%,-2%,0) scale(1.04); }
}

/* Kill older "screen blend" fog layers if any remain later in CSS */
#avatar-creation-screen .avatar-preview-panel.weather-preview-foggy::before,
#avatar-creation-screen .avatar-preview-panel.weather-preview-foggy::after,
#menu-avatar-card.weather-preview-foggy::before,
#menu-avatar-card.weather-preview-foggy::after{
  background-blend-mode: normal !important;
}

/* -----------------------------
   SEWER: reduce eye-searing green
   ----------------------------- */
#avatar-creation-screen .avatar-preview-panel.weather-preview-sewer,
#menu-avatar-card.weather-preview-sewer{
  background:
    radial-gradient(circle at 50% 120%, rgba(70,110,90,0.10) 0%, rgba(0,0,0,0.98) 68%),
    linear-gradient(180deg, #050607 0%, #010101 100%) !important;
}

/* Override the older toxic-gas overlay with a darker, subtler version */
#avatar-creation-screen .avatar-preview-panel.weather-preview-sewer::after,
#menu-avatar-card.weather-preview-sewer::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  background:
    radial-gradient(circle at 20% 78%, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0) 58%),
    radial-gradient(circle at 76% 68%, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0) 60%),
    radial-gradient(ellipse 70px 38px at 50% 84%, rgba(90,160,120,0.12) 0%, rgba(90,160,120,0) 70%),
    repeating-radial-gradient(circle at 50% 92%, rgba(0,0,0,0) 0 7px, rgba(255,255,255,0.05) 8px 9px);
  opacity: 0.28 !important;
  filter: blur(1.2px);
  animation: v5SewerPulse 5.2s ease-in-out infinite;
  mix-blend-mode: normal !important;
}

@keyframes v5SewerPulse{
  0%,100%{ transform: translate3d(0,0,0) scale(1); opacity:0.22; }
  50%{ transform: translate3d(0,-1.2%,0) scale(1.02); opacity:0.32; }
}



/* weather-panel-fix-v6-final
   Fixes:
   - Fog avatar panels start DARK, then white fog creeps in (canvas-driven) without a white flash.
   - Sewer panels reverted to darker / less-green palette.
   - Tsunami panels use deep ocean blues (distinct from Sewer / Rainy).
*/

/* FOG: kill legacy pseudo-fog layers that were whitening the whole card */
#avatar-creation-screen .avatar-preview-panel.weather-preview-foggy,
#menu-avatar-card.weather-preview-foggy,
#avatar-display.weather-foggy,
#menu-weather-fullscreen.weather-foggy,
#menu-weather-bg.weather-foggy{
  background: radial-gradient(circle at 50% 18%, rgba(22,24,30,0.95) 0%, rgba(0,0,0,1) 70%) !important;
  color: #eaf6ff !important;
}
#avatar-creation-screen .avatar-preview-panel.weather-preview-foggy::before,
#avatar-creation-screen .avatar-preview-panel.weather-preview-foggy::after,
#menu-avatar-card.weather-preview-foggy::before,
#menu-avatar-card.weather-preview-foggy::after,
#avatar-display.weather-foggy::before,
#avatar-display.weather-foggy::after,
#menu-weather-fullscreen.weather-foggy::before,
#menu-weather-fullscreen.weather-foggy::after,
#menu-weather-bg.weather-foggy::before,
#menu-weather-bg.weather-foggy::after{
  content: none !important;
  opacity: 0 !important;
  animation: none !important;
}

/* Keep stats box readable on dark fog */
#avatar-creation-screen .avatar-preview-panel.weather-preview-foggy .avatar-stats-preview,
#menu-avatar-card.weather-preview-foggy .avatar-stats-preview,
#avatar-display.weather-foggy .avatar-stats{
  background: rgba(0,0,0,0.38) !important;
  border-color: rgba(255,255,255,0.14) !important;
}

/* SEWER: darker + muted (no neon green wash) */
#avatar-creation-screen .avatar-preview-panel.weather-preview-sewer,
#menu-avatar-card.weather-preview-sewer,
#avatar-display.weather-sewer,
#menu-weather-fullscreen.weather-sewer,
#menu-weather-bg.weather-sewer{
  background:
    radial-gradient(circle at 50% 112%, rgba(78,110,100,0.10) 0%, rgba(0,0,0,0.98) 66%),
    linear-gradient(180deg, #050607 0%, #0a0f0d 55%, #000 100%) !important;
}

/* TSUNAMI: deep ocean blues w/ seafoam highlights */
#avatar-creation-screen .avatar-preview-panel.weather-preview-tsunami,
#menu-avatar-card.weather-preview-tsunami,
#avatar-display.weather-tsunami,
#menu-weather-fullscreen.weather-tsunami,
#menu-weather-bg.weather-tsunami{
  background:
    radial-gradient(circle at 50% 18%, rgba(90,160,255,0.12) 0%, rgba(0,0,0,0.96) 74%),
    linear-gradient(180deg, #03122b 0%, #062a55 55%, #01070f 100%) !important;
}



/* === v7: Unique UI colors, menu translucency, and FIX fog starting white === */

/* Fog: remove legacy bright CSS overlays that cause instant-white panels */
#avatar-creation-screen .avatar-preview-panel.weather-preview-foggy::before,
#avatar-creation-screen .avatar-preview-panel.weather-preview-foggy::after,
#menu-avatar-card.weather-preview-foggy::before,
#menu-avatar-card.weather-preview-foggy::after,
#avatar-display.weather-foggy::before,
#avatar-display.weather-foggy::after,
#menu-weather-bg.weather-foggy::before,
#menu-weather-bg.weather-foggy::after,
#menu-weather-fullscreen.weather-foggy::before,
#menu-weather-fullscreen.weather-foggy::after{
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  animation: none !important;
  background: none !important;
}

/* Ensure fog panels START DARK (canvas draws the creep-in white/grey fog) */
#avatar-creation-screen .avatar-preview-panel.weather-preview-foggy,
#menu-avatar-card.weather-preview-foggy,
#avatar-display.weather-foggy{
  background: radial-gradient(circle at 50% 40%, #0b0b0b 0%, #050505 62%, #020202 100%) !important;
}

/* Near full fog: text flips darker (per your request) */
#avatar-creation-screen .avatar-preview-panel.fog-high,
#menu-avatar-card.fog-high,
#avatar-display.fog-high{
  color: #0f0f0f !important;
  text-shadow: 0 1px 0 rgba(255,255,255,0.25), 0 0 10px rgba(0,0,0,0.18) !important;
}
#avatar-creation-screen .avatar-preview-panel.fog-high *,
#menu-avatar-card.fog-high *,
#avatar-display.fog-high *{
  color: inherit !important;
  text-shadow: inherit !important;
}

/* Main menu: make the "box UI" feel BEHIND the weather (translucent like avatar profile) */
#menu .menu-btn-primary,
#menu .menu-btn-secondary,
#menu .menu-btn-tertiary{
  background: rgba(0,0,0,0.35) !important;
  border-color: var(--ui-accent) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,0.55),
              0 0 18px var(--ui-accent),
              inset 0 0 14px rgba(255,255,255,0.05) !important;
  backdrop-filter: blur(10px);
}
#menu .menu-btn-primary{ border-width: 3px !important; }
#menu .menu-btn-secondary,
#menu .menu-btn-tertiary{ border-width: 2px !important; }

#menu .menu-btn::before{
  background: var(--ui-accent) !important;
  opacity: 0 !important;
}
#menu .menu-btn:hover::before{ opacity: 0.14 !important; }

/* Ensure menu headings/buttons follow the active weather palette */
#menu h1, #menu h2, #menu h3{ color: var(--ui-accent3) !important; }
#menu .menu-btn span, #menu .menu-btn div{ color: #eaf6ff !important; }



  /* Make EVERY major UI surface follow the avatar profile weather palette */
  #phase-indicator{
    background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.12), transparent 60%),
                linear-gradient(145deg, var(--ui-panel-bg), var(--ui-panel-bg2)) !important;
    border: 2px solid var(--ui-border) !important;
    box-shadow: 0 0 60px var(--ui-glow), inset 0 0 20px rgba(255,255,255,0.05) !important;
  }
  #phase-indicator h2{
    color: var(--ui-accent3) !important;
    text-shadow: 0 0 20px var(--ui-glow), 0 0 40px color-mix(in srgb, var(--ui-accent) 70%, transparent 30%) !important;
  }
  #phase-indicator p{ color: var(--ui-muted) !important; }

  #reward-content{
    background: linear-gradient(145deg,
      color-mix(in srgb, var(--ui-accent2) 14%, rgba(10,10,46,0.95)),
      rgba(10,10,46,0.92)
    ) !important;
    border-color: color-mix(in srgb, var(--ui-accent3) 75%, rgba(255,255,255,0.25) 25%) !important;
    box-shadow: 0 0 90px color-mix(in srgb, var(--ui-accent3) 45%, transparent 55%),
                inset 0 0 50px rgba(255,255,255,0.07) !important;
  }
  #reward-content h2{
    color: var(--ui-accent3) !important;
    text-shadow: 0 0 22px color-mix(in srgb, var(--ui-accent3) 65%, transparent 35%) !important;
  }
  #reward-continue{
    background: linear-gradient(145deg, var(--ui-accent3), color-mix(in srgb, var(--ui-accent) 45%, var(--ui-accent3) 55%)) !important;
    border-color: color-mix(in srgb, var(--ui-accent3) 70%, white 30%) !important;
    color: #08111c !important;
  }

  #target-mode,#combat-ui,#movement-ui,#toast{
    background: linear-gradient(145deg, var(--ui-panel-bg), var(--ui-panel-bg2)) !important;
    border-color: var(--ui-border) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,.35), 0 0 30px var(--ui-glow) !important;
  }
  #toast strong{ color: var(--ui-accent3) !important; }



/* ── ELEMENT PALETTES ── */
:root {
--c-water:   #00e5ff; --c-water-bg:   linear-gradient(145deg,#012a2e,#013b42,#014d55);
--c-fire:    #ff6d00; --c-fire-bg:    linear-gradient(145deg,#2a0a00,#3d1200,#501600);
--c-earth:   #76ff03; --c-earth-bg:   linear-gradient(145deg,#0a1a00,#122400,#182e00);
--c-air:     #cfd8dc; --c-air-bg:     linear-gradient(145deg,#1a2226,#202d33,#253640);
--c-shadow:  #e040fb; --c-shadow-bg:  linear-gradient(145deg,#16002a,#22003d,#2e0052);
--c-ice:     #80deea; --c-ice-bg:     linear-gradient(145deg,#03161b,#083340,#0d4a59);
--c-thunder: #ffd54f; --c-thunder-bg: linear-gradient(145deg,#2a2400,#453600,#624a00);
--c-toxic:   #76ff03; --c-toxic-bg:   linear-gradient(145deg,#102000,#183300,#214500);
--c-void:    #7c4dff; --c-void-bg:    linear-gradient(145deg,#11001f,#1c0538,#28085a);
--c-life:    #a5d6a7; --c-life-bg:    linear-gradient(145deg,#07170b,#102416,#18341f);
--c-neutral: #90a4ae; --c-neutral-bg: linear-gradient(145deg,#131c21,#1c2b34,#253440);

  --c-common:    #78909c;
  --c-rare:      #29b6f6;
  --c-epic:      #ab47bc;
  --c-legendary: #ffd54f;

  --card-w: 128px;
  --card-h: 192px;
  --card-radius: 14px;
}

/* ── CARD BASE ── */
.card-ui {
  width: var(--card-w) !important;
  height: var(--card-h) !important;
  border-radius: var(--card-radius) !important;
  border: 2px solid rgba(255,255,255,0.15) !important;
  background: var(--c-neutral-bg) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.08) !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  cursor: pointer !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
  display: flex !important;
  flex-direction: column !important;
  user-select: none !important;
}
.card-ui:hover {
  transform: translateY(-14px) scale(1.06) !important;
  z-index: 9999 !important;
  box-shadow: 0 24px 48px rgba(0,0,0,0.8), 0 0 30px var(--elem-glow, rgba(64,196,255,0.6)) !important;
  border-color: var(--elem-color, #40c4ff) !important;
}

/* ── ELEMENT THEMING ── */
.card-ui[data-element="Water"]   { --elem-color:var(--c-water);   --elem-glow:rgba(0,229,255,0.5);  background:var(--c-water-bg)  !important; border-color:rgba(0,229,255,0.3)  !important; }
.card-ui[data-element="Fire"]    { --elem-color:var(--c-fire);    --elem-glow:rgba(255,109,0,0.5);  background:var(--c-fire-bg)   !important; border-color:rgba(255,109,0,0.3)  !important; }
.card-ui[data-element="Earth"]   { --elem-color:var(--c-earth);   --elem-glow:rgba(118,255,3,0.4);  background:var(--c-earth-bg)  !important; border-color:rgba(118,255,3,0.25) !important; }
.card-ui[data-element="Air"]     { --elem-color:var(--c-air);     --elem-glow:rgba(207,216,220,0.4);background:var(--c-air-bg)    !important; border-color:rgba(207,216,220,0.25)!important; }
.card-ui[data-element="Shadow"]  { --elem-color:var(--c-shadow);  --elem-glow:rgba(224,64,251,0.5); background:var(--c-shadow-bg) !important; border-color:rgba(224,64,251,0.3) !important; }
.card-ui[data-element="Ice"]     { --elem-color:var(--c-ice);     --elem-glow:rgba(128,222,234,0.5);background:var(--c-ice-bg)    !important; border-color:rgba(128,222,234,0.3)!important; }
.card-ui[data-element="Thunder"] { --elem-color:var(--c-thunder); --elem-glow:rgba(255,213,79,0.5); background:var(--c-thunder-bg)!important; border-color:rgba(255,213,79,0.3) !important; }
.card-ui[data-element="Toxic"]   { --elem-color:var(--c-toxic);   --elem-glow:rgba(118,255,3,0.45); background:var(--c-toxic-bg)  !important; border-color:rgba(118,255,3,0.3)  !important; }
.card-ui[data-element="Void"]    { --elem-color:var(--c-void);    --elem-glow:rgba(124,77,255,0.5); background:var(--c-void-bg)   !important; border-color:rgba(124,77,255,0.3) !important; }
.card-ui[data-element="Life"]    { --elem-color:var(--c-life);    --elem-glow:rgba(165,214,167,0.45);background:var(--c-life-bg)  !important; border-color:rgba(165,214,167,0.3)!important; }
.card-ui[data-element="Neutral"] { --elem-color:var(--c-neutral); --elem-glow:rgba(144,164,174,0.4);background:var(--c-neutral-bg)!important; }

/* ── RARITY BORDERS ── */
.v3-common    { border-color:var(--c-common)   !important; }
.v3-rare      { border-color:var(--c-rare)     !important; box-shadow:0 0 10px rgba(41,182,246,0.5),0 6px 20px rgba(0,0,0,0.6)!important; }
.v3-epic      { border-color:var(--c-epic)     !important; box-shadow:0 0 14px rgba(171,71,188,0.6),0 6px 20px rgba(0,0,0,0.6)!important; animation:v3EpicPulse 2.5s ease-in-out infinite !important; }
.v3-legendary { border-color:var(--c-legendary)!important; box-shadow:0 0 20px rgba(255,213,79,0.7),0 6px 20px rgba(0,0,0,0.6)!important; animation:v3LegPulse  2s   ease-in-out infinite !important; }
@keyframes v3EpicPulse { 0%,100%{box-shadow:0 0 10px rgba(171,71,188,0.5),0 6px 20px rgba(0,0,0,0.6)} 50%{box-shadow:0 0 22px rgba(171,71,188,0.9),0 6px 20px rgba(0,0,0,0.6)} }
@keyframes v3LegPulse  { 0%,100%{box-shadow:0 0 14px rgba(255,213,79,0.6),0 6px 20px rgba(0,0,0,0.6)} 50%{box-shadow:0 0 30px rgba(255,213,79,1.0),0 6px 20px rgba(0,0,0,0.6)} }

/* ── CARD INNER LAYOUT ── */
.v3-top-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 6px 2px;
  min-height: 22px;
}
.v3-mana-gem {
  width: 20px; height: 20px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #80d8ff, #0277bd);
  border: 1.5px solid rgba(255,255,255,0.5);
  box-shadow: 0 0 6px rgba(2,119,189,0.8);
  display: flex; align-items: center; justify-content: center;
  font-size: 9px; font-weight: 900; color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,0.8);
  flex-shrink: 0;
}
.v3-rarity-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.v3-rarity-dot.common    { background:#78909c; }
.v3-rarity-dot.rare      { background:#29b6f6; box-shadow:0 0 4px #29b6f6; }
.v3-rarity-dot.epic      { background:#ab47bc; box-shadow:0 0 5px #ab47bc; }
.v3-rarity-dot.legendary { background:#ffd54f; box-shadow:0 0 7px #ffd54f; animation:dotPulse 1.5s infinite; }
@keyframes dotPulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.4)} }

/* ── ART ZONE ── */
.v3-art {
  position: relative;
  height: 68px;
  margin: 0 5px;
  border-radius: 9px;
  overflow: hidden;
  background: rgba(0,0,0,0.3);
  border: 1px solid rgba(255,255,255,0.08);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.v3-art-icon { font-size: 36px; line-height: 1; filter: drop-shadow(0 0 8px var(--elem-glow, rgba(255,255,255,0.3))); }
.v3-art-glow {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 80%, var(--elem-color, #40c4ff) 0%, transparent 60%);
  opacity: 0.18;
  pointer-events: none;
}
/* Spell/action art has arcane styling */
.v3-art.v3-spell-art {
  background: linear-gradient(135deg, rgba(80,0,120,0.5), rgba(0,20,60,0.5));
  border-color: rgba(170,100,255,0.25);
}
.v3-art.v3-counter-art {
  background: linear-gradient(135deg, rgba(0,60,100,0.5), rgba(0,80,80,0.5));
  border-color: rgba(0,200,255,0.2);
}
.v3-art.v3-weather-art {
  background: linear-gradient(135deg, rgba(40,10,10,0.5), rgba(60,30,0,0.5));
  border-color: rgba(255,160,0,0.2);
}

/* ── NAME BAR ── */
.v3-name-bar {
  padding: 3px 6px 1px;
  text-align: center;
}
.v3-name {
  font-size: 9.5px;
  font-weight: 700;
  color: #e8f6ff;
  text-shadow: 0 1px 3px rgba(0,0,0,0.9);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
  letter-spacing: 0.3px;
}

/* ── TYPE BADGE ── */
.v3-type-badge {
  display: inline-block;
  font-size: 7.5px;
  font-weight: 600;
  padding: 1px 5px;
  border-radius: 5px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-top: 1px;
}
.v3-type-creature  { background: rgba(0,100,40,0.7);  color: #a5d6a7; border:1px solid rgba(129,199,132,0.4); }
.v3-type-villain   { background: rgba(100,0,0,0.7);   color: #ef9a9a; border:1px solid rgba(239,154,154,0.4); }
.v3-type-snail     { background: rgba(80,40,0,0.7);   color: #ffcc80; border:1px solid rgba(255,204,128,0.4); }
.v3-type-action    { background: rgba(70,0,130,0.7);  color: #ce93d8; border:1px solid rgba(206,147,216,0.4); }
.v3-type-counter   { background: rgba(0,50,120,0.7);  color: #81d4fa; border:1px solid rgba(129,212,250,0.4); }
.v3-type-weather   { background: rgba(60,20,0,0.7);   color: #ffb74d; border:1px solid rgba(255,183,77,0.4); }

/* ── DIVIDER ── */
.v3-divider {
  height: 1px;
  margin: 3px 6px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
}

/* ── STATS ROW ── */
.v3-stats-row {
  display: flex;
  justify-content: space-around;
  padding: 3px 4px;
  gap: 2px;
}
.v3-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 8px;
  gap: 1px;
}
.v3-stat-icon { font-size: 9px; }
.v3-stat-val  { font-weight: 700; color: #e0f7fa; font-size: 9.5px; text-shadow: 0 1px 3px rgba(0,0,0,0.8); }
.v3-stat-lbl  { color: rgba(180,220,230,0.6); font-size: 6.5px; text-transform: uppercase; letter-spacing: 0.3px; }

/* ── DESC (spells) ── */
.v3-desc {
  padding: 3px 6px;
  font-size: 8px;
  color: rgba(200,230,255,0.8);
  line-height: 1.35;
  text-align: center;
  flex: 1;
  overflow: hidden;
}

/* ── BOTTOM BAR (elem + effect hint) ── */
.v3-bottom-bar {
  padding: 2px 6px 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 7.5px;
  color: rgba(200,220,230,0.65);
  border-top: 1px solid rgba(255,255,255,0.06);
  margin-top: auto;
}
.v3-elem-tag {
  font-weight: 600;
  letter-spacing: 0.4px;
  color: var(--elem-color, #80deea);
  text-shadow: 0 0 6px var(--elem-glow, transparent);
}

/* ── STATES ── */
.card-ui.v3-unaffordable {
  opacity: 0.45 !important;
  filter: grayscale(0.5) !important;
}
.card-ui.v3-played-already {
  opacity: 0.35 !important;
  filter: grayscale(0.7) brightness(0.6) !important;
  pointer-events: none !important;
}
.card-ui.v3-blocked {
  animation: v3BlockedShake 0.4s ease !important;
  border-color: #ef5350 !important;
}
@keyframes v3BlockedShake {
  0%,100%{transform:translateX(0)} 20%{transform:translateX(-5px)} 40%{transform:translateX(5px)} 60%{transform:translateX(-4px)} 80%{transform:translateX(3px)}
}
.card-ui.drawing-v3 { animation: v3DrawIn 0.5s ease-out !important; }
@keyframes v3DrawIn { 0%{transform:translateY(-80px) rotate(-8deg);opacity:0} 100%{transform:translateY(0) rotate(0);opacity:1} }

/* ── SPELL/COUNTER PLAY FLASH ── */
.v3-spell-cast-flash {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9000;
  animation: v3SpellFlash 0.6s ease-out forwards;
}
@keyframes v3SpellFlash {
  0%  { background: radial-gradient(circle at 50% 50%, var(--flash-color, rgba(170,100,255,0.6)) 0%, transparent 60%); opacity: 1; }
  100%{ background: radial-gradient(circle at 50% 50%, transparent 0%, transparent 100%); opacity: 0; }
}
.v3-spell-rune {
  position: fixed;
  font-size: 48px;
  pointer-events: none;
  z-index: 9001;
  animation: v3RuneFloat 1.2s ease-out forwards;
  text-shadow: 0 0 20px rgba(170,100,255,0.9), 0 0 40px rgba(170,100,255,0.5);
}
@keyframes v3RuneFloat {
  0%  { transform: translate(-50%,-50%) scale(0.5) rotate(-20deg); opacity: 1; }
  60% { transform: translate(-50%,-80%) scale(1.2) rotate(10deg);  opacity: 1; }
  100%{ transform: translate(-50%,-150%)scale(0.8) rotate(5deg);   opacity: 0; }
}

/* ── PHASE HUD BANNER ── */
#v3-phase-hud {
  position: fixed;
  top: 86px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 500;
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(0,15,30,0.88);
  border: 1.5px solid rgba(64,196,255,0.5);
  border-radius: 20px;
  padding: 6px 16px;
  backdrop-filter: blur(12px);
  box-shadow: 0 4px 20px rgba(0,0,0,0.5), 0 0 20px rgba(64,196,255,0.2);
  font-size: 12px;
  color: #e0f7fa;
  white-space: nowrap;
  pointer-events: none;
  transition: all 0.3s ease;
}
#v3-phase-hud .v3-ph-turn {
  font-weight: 700;
  color: #40c4ff;
  font-size: 13px;
}
#v3-phase-hud .v3-ph-sep { color: rgba(64,196,255,0.4); margin: 0 2px; }
#v3-phase-hud .v3-ph-phase { color: #80deea; }
#v3-phase-hud .v3-ph-slots {
  display: flex;
  gap: 5px;
  margin-left: 4px;
}
.v3-slot {
  width: 22px; height: 22px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,0.3);
  display: flex; align-items: center; justify-content: center;
  font-size: 11px;
  background: rgba(255,255,255,0.07);
  transition: all 0.2s ease;
}
.v3-slot.used {
  background: rgba(129,199,132,0.25);
  border-color: #81c784;
  opacity: 0.5;
}
.v3-slot.available {
  background: rgba(64,196,255,0.15);
  border-color: #40c4ff;
  box-shadow: 0 0 6px rgba(64,196,255,0.5);
}

/* ── HAND CONTAINER ── */
#hand {
  gap: 10px !important;
  padding: 8px 12px !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  justify-content: center !important;
}

/* ── COUNTER CARD SPECIAL GLOW ── */
.card-ui.v3-counter-active {
  border-color: #00e5ff !important;
  box-shadow: 0 0 18px rgba(0,229,255,0.7), 0 6px 20px rgba(0,0,0,0.6) !important;
  animation: v3CounterPulse 1s ease-in-out 3 !important;
}
@keyframes v3CounterPulse {
  0%,100%{box-shadow:0 0 10px rgba(0,229,255,0.4)} 50%{box-shadow:0 0 28px rgba(0,229,255,0.9)}
}

/* ── WEATHER INDICATOR ── */
#v3-weather-bar {
  position: fixed;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 490;
  display: none;
  background: rgba(0,0,0,0.7);
  border-radius: 12px;
  padding: 3px 12px;
  font-size: 11px;
  color: #ffb74d;
  border: 1px solid rgba(255,183,77,0.4);
  pointer-events: none;
  backdrop-filter: blur(8px);
}

/* ============================================================
   WALLET AUTH UI
   ============================================================ */

/* ── Modal overlay ── */
#wallet-auth-modal {
  display: none;
  position: fixed; inset: 0; z-index: 10001;
  align-items: center; justify-content: center;
}
#wallet-auth-modal.open { display: flex; }

.wam-backdrop {
  position: absolute; inset: 0;
  background: rgba(4, 8, 20, 0.88);
  backdrop-filter: blur(18px);
}

/* ── Modal box ── */
.wam-box {
  position: relative; z-index: 1;
  width: min(460px, 92vw);
  background: linear-gradient(145deg, #0b1220, #0f1a2e);
  border: 1.5px solid rgba(0, 212, 184, 0.22);
  border-radius: 22px;
  padding: 38px 34px 32px;
  box-shadow:
    0 0 0 1px rgba(0,212,184,0.06),
    0 0 80px rgba(0,212,184,0.08),
    0 30px 80px rgba(0,0,0,0.85);
  animation: wamIn 0.3s cubic-bezier(0.34,1.56,0.64,1);
}
@keyframes wamIn {
  from { transform: translateY(24px) scale(0.96); opacity: 0; }
  to   { transform: translateY(0) scale(1); opacity: 1; }
}

/* ── Close button ── */
.wam-close {
  position: absolute; top: 16px; right: 18px;
  background: none; border: none;
  width: 30px; height: 30px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: rgba(255,255,255,0.25);
  font-size: 14px; border-radius: 7px;
  transition: all 0.15s;
}
.wam-close:hover { background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.6); }

/* ── Shared screen elements ── */
.wam-logo {
  font-size: 44px; text-align: center;
  display: block; margin-bottom: 14px; line-height: 1;
  animation: wamSpin 1s linear infinite;
}
.wam-logo.static { animation: none; }
#wamConnected .wam-logo,
#wamUsername .wam-logo,
#wamError .wam-logo { animation: none; }

@keyframes wamSpin { to { transform: rotate(360deg); } }

.wam-title {
  font-family: 'Georgia', serif;
  font-size: 22px; font-weight: 700;
  color: #dde6f5;
  text-align: center; margin-bottom: 8px;
}
.wam-sub {
  font-size: 13px; color: rgba(180,220,240,0.6);
  text-align: center; line-height: 1.65; margin-bottom: 24px;
}
.wam-sub em { color: #00d4b8; font-style: normal; font-weight: 600; }

/* ── Wallet list ── */
.wam-list {
  display: flex; flex-direction: column; gap: 7px;
  margin-bottom: 14px;
  max-height: 260px; overflow-y: auto;
}
.wam-loading-wallets {
  text-align: center; padding: 16px;
  color: rgba(180,220,240,0.4); font-size: 13px;
}
.wam-wallet-btn {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 11px;
  color: #dde6f5; font-size: 15px; font-weight: 600;
  cursor: pointer; text-align: left; width: 100%;
  font-family: 'Georgia', serif;
  transition: all 0.16s ease;
  position: relative;
}
.wam-wallet-btn:hover:not(:disabled) {
  background: rgba(0,212,184,0.07);
  border-color: rgba(0,212,184,0.28);
  transform: translateX(3px);
}
.wam-wallet-btn:disabled { opacity: 0.45; cursor: not-allowed; }
.wam-wallet-icon { width: 28px; height: 28px; border-radius: 7px; object-fit: contain; flex-shrink: 0; }
.wam-wallet-icon-ph { font-size: 20px; flex-shrink: 0; }
.wam-wallet-name { flex: 1; }
.wam-wallet-chevron { color: rgba(0,212,184,0.4); font-size: 18px; }

.wam-no-wallet {
  text-align: center; padding: 16px 8px;
  font-size: 13px; color: rgba(180,220,240,0.5); line-height: 1.7;
}
.wam-install-links {
  display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin: 10px 0;
}
.wam-install-links a {
  padding: 5px 13px;
  background: rgba(0,212,184,0.08);
  border: 1px solid rgba(0,212,184,0.2);
  border-radius: 7px; color: #00d4b8;
  text-decoration: none; font-size: 12px;
  transition: all 0.15s;
}
.wam-install-links a:hover { background: rgba(0,212,184,0.15); }

/* ── Divider ── */
.wam-or {
  display: flex; align-items: center; gap: 10px;
  color: rgba(255,255,255,0.18); font-size: 11px;
  margin: 10px 0 12px;
}
.wam-or::before, .wam-or::after {
  content: ''; flex: 1; height: 1px;
  background: rgba(255,255,255,0.07);
}

/* ── Demo button ── */
.wam-demo-btn {
  width: 100%; padding: 11px;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 10px;
  color: rgba(180,220,240,0.45); font-size: 13px;
  cursor: pointer; font-family: 'Georgia', serif;
  transition: all 0.16s; margin-bottom: 12px;
}
.wam-demo-btn:hover { background: rgba(255,255,255,0.05); color: rgba(180,220,240,0.75); }

.wam-notice {
  text-align: center; font-size: 10px;
  color: rgba(255,255,255,0.18); margin: 0;
}

/* ── Signing progress bar ── */
.wam-bar {
  width: 100%; height: 3px;
  background: rgba(255,255,255,0.05);
  border-radius: 2px; overflow: hidden;
  margin-top: 24px;
}
.wam-bar-fill {
  height: 100%; border-radius: 2px;
  background: linear-gradient(90deg, #00d4b8, #00a090);
  width: 10%; transition: width 1.2s ease;
}

/* ── Address badge ── */
.wam-addr {
  display: block; text-align: center;
  padding: 6px 16px; margin: 0 auto 18px;
  background: rgba(0,212,184,0.07);
  border: 1px solid rgba(0,212,184,0.18);
  border-radius: 20px;
  font-family: 'Courier New', monospace;
  font-size: 13px; color: #00d4b8;
}

/* ── NFT badge ── */
.wam-nft-badge {
  text-align: center; font-size: 13px;
  color: rgba(180,220,240,0.55); margin-bottom: 20px;
  padding: 9px; background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.05); border-radius: 8px;
}

/* ── Username input ── */
.wam-input {
  width: 100%; padding: 13px 16px;
  background: rgba(255,255,255,0.04);
  border: 1.5px solid rgba(255,255,255,0.1);
  border-radius: 11px;
  color: #dde6f5; font-size: 18px; font-weight: 600;
  text-align: center; letter-spacing: 1px;
  margin-bottom: 7px; font-family: 'Georgia', serif;
  transition: border-color 0.2s; outline: none;
}
.wam-input:focus { border-color: rgba(0,212,184,0.45); background: rgba(0,212,184,0.04); }
.wam-input.shake { animation: wamShake 0.35s ease; }
@keyframes wamShake {
  0%,100%{ transform: translateX(0); }
  20%    { transform: translateX(-7px); }
  40%    { transform: translateX(7px); }
  60%    { transform: translateX(-4px); }
  80%    { transform: translateX(3px); }
}

.wam-hint {
  font-size: 12px; color: rgba(180,220,240,0.4);
  text-align: center; margin-bottom: 18px; min-height: 17px;
  transition: color 0.2s;
}

/* ── Buttons ── */
.wam-primary-btn {
  width: 100%; padding: 13px;
  background: linear-gradient(135deg, #00d4b8, #00a090);
  border: none; border-radius: 11px;
  color: #071018; font-size: 15px; font-weight: 700;
  cursor: pointer; font-family: 'Georgia', serif;
  letter-spacing: 0.3px; margin-bottom: 9px;
  transition: all 0.18s;
}
.wam-primary-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,212,184,0.28); }

.wam-secondary-btn {
  width: 100%; padding: 9px;
  background: transparent;
  border: 1px solid rgba(255,80,80,0.18);
  border-radius: 10px;
  color: rgba(255,100,100,0.45); font-size: 12px;
  cursor: pointer; font-family: 'Georgia', serif;
  transition: all 0.16s;
}
.wam-secondary-btn:hover { background: rgba(255,80,80,0.05); color: rgba(255,100,100,0.75); border-color: rgba(255,80,80,0.35); }

/* ── Menu badge ── */
.wallet-menu-badge {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 16px;
  background: rgba(0,0,0,0.35);
  border: 1.5px solid rgba(255,255,255,0.1);
  border-radius: 11px;
  color: rgba(180,220,240,0.55);
  font-size: 13px; font-weight: 600;
  cursor: pointer; font-family: 'Georgia', serif;
  letter-spacing: 0.3px;
  transition: all 0.18s ease;
  margin-bottom: 14px; width: 100%;
  justify-content: center;
}
.wallet-menu-badge:hover {
  background: rgba(0,212,184,0.07);
  border-color: rgba(0,212,184,0.3);
  color: #00d4b8;
}
.wallet-menu-badge.connected {
  background: rgba(0,212,184,0.07);
  border-color: rgba(0,212,184,0.28);
  color: #00d4b8;
}
.wmb-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #00d4b8; box-shadow: 0 0 7px #00d4b8; flex-shrink: 0;
}
.wmb-icon { font-size: 15px; }
.wmb-name { font-weight: 700; }

/* ═══════════════════════════════════════════════════════════════
   BETA PATCH — Mobile layout fixes, Depth HUD, MP styles
   ═══════════════════════════════════════════════════════════════ */

/* ── Mobile ≤ 600px ── */
@media (max-width: 600px) {
  #menu {
    width: 95vw !important;
    padding: 20px 16px !important;
    max-height: 90vh !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
  }
  .menu-btn {
    padding: 14px 18px !important;
    font-size: 15px !important;
  }
  #menu h1 { font-size: 22px !important; }
  .menu-buttons-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  #hand {
    gap: 8px !important;
    padding: 6px !important;
    touch-action: pan-x !important;
    -webkit-overflow-scrolling: touch !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
  }
  .card-ui {
    width: 88px !important;
    height: 138px !important;
    font-size: 8.5px !important;
    flex-shrink: 0 !important;
  }
  #ui {
    max-width: calc(100vw - 20px) !important;
    font-size: 10px !important;
  }
  #log {
    width: calc(100vw - 30px) !important;
    font-size: 10px !important;
  }
  #multiplayer-screen > div {
    padding: 20px 14px 40px !important;
  }
  #depth-hud {
    min-width: 200px !important;
    font-size: 9px !important;
  }
}

/* ── Depth Pressure HUD ── */
#depth-hud {
  transition: opacity 0.3s;
}
#depth-hud.depth-critical {
  border-color: rgba(239,83,80,0.7) !important;
  box-shadow: 0 0 20px rgba(239,83,80,0.4) !important;
  animation: depthWarn 1s ease-in-out infinite;
}
@keyframes depthWarn {
  0%,100% { opacity: 1; }
  50% { opacity: 0.75; }
}

/* ── Rich tooltip ── */
#rich-tooltip {
  transition: opacity 0.12s ease;
}

/* ── Multiplayer screen ── */
#multiplayer-screen {
  scrollbar-width: thin;
  scrollbar-color: rgba(64,196,255,0.4) transparent;
}
#multiplayer-screen::-webkit-scrollbar { width: 6px; }
#multiplayer-screen::-webkit-scrollbar-track { background: transparent; }
#multiplayer-screen::-webkit-scrollbar-thumb {
  background: rgba(64,196,255,0.3);
  border-radius: 3px;
}
#mp-join-code:focus {
  border-color: #ffd700 !important;
  box-shadow: 0 0 16px rgba(255,215,0,0.3) !important;
}
#mp-host-btn:hover, #mp-join-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(64,196,255,0.5) !important;
}

/* ── Loading screen ── */
#loading-screen {
  pointer-events: all;
}

/* ── Toast notification ── */
#toast {
  position: fixed;
  left: 50%;
  bottom: 18%;
  transform: translateX(-50%);
  z-index: 9999;
  min-width: 220px;
  max-width: min(480px, 90vw);
  padding: 12px 20px;
  border-radius: 14px;
  background: rgba(10,10,46,.94);
  border: 2px solid rgba(64,196,255,.55);
  box-shadow: 0 10px 40px rgba(0,0,0,.4), 0 0 24px rgba(64,196,255,.25);
  color: #e8f6ff;
  font-size: 15px;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
  font-family: 'Georgia', serif;
}
#toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(-6px);
}

/* ═══════════════════════════════════════════════════════════
   DECK FORGE — wider popup + forge UI components
   ═══════════════════════════════════════════════════════════ */
#deck-builder-popup {
  display: none;
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  z-index: 1400 !important;
  max-width: 960px !important;
  width: 92vw !important;
  padding: 24px !important;
  margin: 0 !important;
  text-align: left !important;
  background: linear-gradient(145deg, rgba(0,16,34,0.96), rgba(0,31,64,0.96)) !important;
  border: 2px solid rgba(64,196,255,0.75) !important;
  border-radius: 24px !important;
  box-shadow: 0 24px 80px rgba(0,0,0,0.48), 0 0 40px rgba(64,196,255,0.22) !important;
  backdrop-filter: blur(18px) !important;
  isolation: isolate;
}
body.trtl-deck-builder-open { overflow: hidden !important; }
#deck-builder-popup * { box-sizing: border-box !important; }
.forge-tab,
.forge-filter-btn,
.forge-type-btn,
.forge-action-btn {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
}
#deck-builder-popup > div[style*="display:flex;gap:16px;height:480px;"] {
  align-items: stretch !important;
}
#deck-builder-popup #card-selection,
#deck-builder-popup #deck-preview {
  min-height: 280px !important;
}
.forge-tab {
  background: rgba(0,0,0,0.35) !important;
  border: 1.5px solid rgba(64,196,255,0.2) !important;
  color: rgba(255,255,255,0.45) !important;
  border-radius: 10px !important;
  padding: 8px 18px !important;
  font-size: 13px !important;
  cursor: pointer;
  transition: all .2s ease !important;
}
.forge-tab.active,
.forge-tab:hover {
  background: rgba(64,196,255,0.18) !important;
  border-color: rgba(64,196,255,0.6) !important;
  color: #40c4ff !important;
  box-shadow: 0 0 12px rgba(64,196,255,0.3) !important;
}
.forge-filter-btn {
  background: rgba(0,0,0,0.3) !important;
  border: 1.5px solid rgba(255,255,255,0.12) !important;
  color: rgba(255,255,255,0.5) !important;
  border-radius: 8px !important;
  padding: 5px 12px !important;
  font-size: 12px !important;
  cursor: pointer;
  transition: all .2s !important;
}
.forge-filter-btn:hover {
  border-color: var(--fc,#40c4ff) !important;
  color: var(--fc,#40c4ff) !important;
}
.forge-filter-btn.active {
  background: color-mix(in srgb,var(--fc,#40c4ff) 20%,transparent) !important;
  border-color: var(--fc,#40c4ff) !important;
  color: var(--fc,#40c4ff) !important;
  box-shadow: 0 0 10px color-mix(in srgb,var(--fc,#40c4ff) 30%,transparent) !important;
}
.forge-type-btn {
  background: rgba(0,0,0,0.3) !important;
  border: 1.5px solid rgba(255,255,255,0.1) !important;
  color: rgba(255,255,255,0.45) !important;
  border-radius: 8px !important;
  padding: 4px 10px !important;
  font-size: 11px !important;
  cursor: pointer;
  transition: all .18s !important;
}
.forge-type-btn:hover,
.forge-type-btn.active {
  background: rgba(64,196,255,0.15) !important;
  border-color: rgba(64,196,255,0.5) !important;
  color: #40c4ff !important;
}
.forge-action-btn {
  border-radius: 10px !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
  cursor: pointer;
  transition: all .2s !important;
}
.forge-save-btn {
  background: linear-gradient(145deg,#00c896,#009b6e) !important;
  border: 2px solid #00e5a0 !important;
  color: #001a0f !important;
  font-weight: 700 !important;
}
.forge-save-btn:hover { transform: translateY(-2px) !important; box-shadow: 0 6px 20px rgba(0,200,150,0.5) !important; }
.forge-clear-btn {
  background: rgba(255,80,80,0.15) !important;
  border: 1.5px solid rgba(255,80,80,0.4) !important;
  color: #ff6b6b !important;
}
.forge-clear-btn:hover { background: rgba(255,80,80,0.25) !important; }
.forge-cancel-btn {
  background: rgba(255,255,255,0.06) !important;
  border: 1.5px solid rgba(255,255,255,0.15) !important;
  color: rgba(255,255,255,0.5) !important;
}
.forge-cancel-btn:hover { border-color: rgba(255,255,255,0.35) !important; color: #fff !important; }
.forge-nft-filter {
  background: rgba(0,212,184,0.08) !important;
  border: 1.5px solid rgba(0,212,184,0.25) !important;
  color: rgba(0,212,184,0.6) !important;
  border-radius: 8px !important;
  padding: 4px 12px !important;
  font-size: 11px !important;
  cursor: pointer;
  transition: all .18s !important;
}
.forge-nft-filter.active,
.forge-nft-filter:hover {
  background: rgba(0,212,184,0.2) !important;
  border-color: rgba(0,212,184,0.6) !important;
  color: #00d4b8 !important;
}

/* ═══════════════════════════════════════════════════════════
   LEADER PICKER CARDS (Avatar Creator)
   ═══════════════════════════════════════════════════════════ */
#favoriteLeaderContainer {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 10px;
  padding: 12px;
  background: rgba(0,0,0,0.3);
  border-radius: 14px;
  max-height: 500px;
  overflow-y: auto;
  overflow-x: hidden;
}
.leader-picker-card {
  width: 100%;
  background: linear-gradient(155deg,rgba(10,10,46,0.97),rgba(0,30,70,0.95));
  border: 2px solid rgba(64,196,255,0.2);
  border-radius: 12px;
  padding: 10px 8px 8px;
  cursor: pointer;
  transition: all .2s ease;
  text-align: center;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}
.leader-picker-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.5);
}
.leader-picker-card.selected {
  transform: translateY(-4px) scale(1.03);
}
.leader-picker-card .lpc-elem-badge {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 20px;
  margin-bottom: 6px;
}
.leader-picker-card .lpc-icon {
  font-size: 32px;
  margin-bottom: 4px;
  line-height: 1;
}
.leader-picker-card .lpc-name {
  font-size: 11px;
  font-weight: 700;
  color: #e0f7fa;
  margin-bottom: 4px;
  line-height: 1.2;
}
.leader-picker-card .lpc-ability {
  font-size: 9px;
  color: rgba(255,255,255,0.45);
  line-height: 1.3;
  min-height: 24px;
}
.leader-picker-card .lpc-weather {
  margin-top: 5px;
  font-size: 9px;
  opacity: 0.65;
}
.element-desc-avatar {
  font-size: 11px;
  color: rgba(200,230,255,0.6);
  margin-top: 4px;
  line-height: 1.3;
}

/* ═══════════════════════════════════════════════════════════
   NEW WEATHER PREVIEW ANIMATIONS — Avatar Creator Panel
   ═══════════════════════════════════════════════════════════ */

/* ARCTIC — icy blue blizzard */
.avatar-preview-panel.weather-preview-arctic::after {
  background: radial-gradient(circle,rgba(180,230,255,0.95) 0%,rgba(180,230,255,0.4) 40%,transparent 100%) 10% 12%,
    radial-gradient(circle,rgba(200,240,255,0.9) 0%,rgba(200,240,255,0.35) 40%,transparent 100%) 25% 35%,
    radial-gradient(circle,rgba(180,230,255,0.95) 0%,rgba(180,230,255,0.4) 40%,transparent 100%) 40% 58%,
    radial-gradient(circle,rgba(200,240,255,0.9) 0%,rgba(200,240,255,0.35) 40%,transparent 100%) 55% 22%,
    radial-gradient(circle,rgba(180,230,255,0.95) 0%,rgba(180,230,255,0.4) 40%,transparent 100%) 70% 75%,
    radial-gradient(circle,rgba(200,240,255,0.9) 0%,rgba(200,240,255,0.35) 40%,transparent 100%) 85% 40%,
    radial-gradient(circle,rgba(150,200,255,0.9) 0%,rgba(150,200,255,0.35) 40%,transparent 100%) 15% 80%,
    radial-gradient(circle,rgba(180,230,255,0.95) 0%,rgba(180,230,255,0.4) 40%,transparent 100%) 90% 15%,
    linear-gradient(180deg,rgba(150,220,255,0.25) 0%,transparent 100%);
  background-size: 3px 3px,3px 3px,3px 3px,3px 3px,3px 3px,3px 3px,3px 3px,3px 3px,100% 100%;
  background-repeat: no-repeat;
  animation: arcticBlizzard 1.5s linear infinite;
  opacity: 1;
}
@keyframes arcticBlizzard {
  0% { background-position: 10% -10%,25% -25%,40% -8%,55% -35%,70% -15%,85% -28%,15% -20%,90% -5%,0 0; filter: hue-rotate(0deg) brightness(1.2); }
  100% { background-position: 8% 115%,22% 115%,37% 115%,52% 115%,67% 115%,82% 115%,12% 115%,87% 115%,0 0; filter: hue-rotate(10deg) brightness(1.4); }
}

/* SANDSTORM — swirling tan/orange */
.avatar-preview-panel.weather-preview-sandstorm::after {
  background:
    radial-gradient(ellipse 60% 30% at 50% 50%, rgba(210,160,60,0.4) 0%, transparent 70%),
    radial-gradient(ellipse 80% 20% at 30% 60%, rgba(190,140,40,0.3) 0%, transparent 70%),
    radial-gradient(ellipse 70% 25% at 70% 40%, rgba(220,170,70,0.35) 0%, transparent 70%),
    repeating-linear-gradient(8deg, transparent, transparent 15px, rgba(200,150,50,0.12) 16px, transparent 17px);
  animation: sandSwirl 3s ease-in-out infinite;
  opacity: 1;
}
@keyframes sandSwirl {
  0%,100% { transform: translateX(-5px) rotate(-1deg); filter: sepia(0.3) brightness(1); }
  50% { transform: translateX(5px) rotate(1deg); filter: sepia(0.5) brightness(1.15); }
}

/* METEOR — fireballs from top */
.avatar-preview-panel.weather-preview-meteor::after {
  background:
    radial-gradient(circle,rgba(255,140,0,1) 0%,rgba(255,60,0,0.7) 30%,transparent 60%) 20% 0%,
    radial-gradient(circle,rgba(255,200,0,0.9) 0%,rgba(255,100,0,0.6) 30%,transparent 60%) 60% 0%,
    radial-gradient(circle,rgba(255,80,0,0.95) 0%,rgba(255,40,0,0.65) 30%,transparent 60%) 80% 0%,
    radial-gradient(circle,rgba(255,160,20,0.9) 0%,rgba(255,80,0,0.6) 30%,transparent 60%) 40% 0%,
    linear-gradient(180deg,rgba(255,80,0,0.15) 0%,transparent 50%);
  background-size: 12px 12px,10px 10px,14px 14px,11px 11px,100% 100%;
  background-repeat: no-repeat;
  animation: meteorFall 1.8s linear infinite;
  opacity: 1;
}
@keyframes meteorFall {
  0% { background-position: 20% -5%,62% -15%,78% -8%,42% -20%,0 0; filter: brightness(1); }
  50% { filter: brightness(1.4); }
  100% { background-position: 14% 115%,56% 115%,72% 115%,36% 115%,0 0; filter: brightness(1); }
}

/* TOXIC RAIN — green acid drops */
.avatar-preview-panel.weather-preview-toxicrain::after {
  background:
    radial-gradient(circle,rgba(100,200,50,0.95) 0%,rgba(80,180,30,0.5) 40%,transparent 70%) 8% 0%,
    radial-gradient(circle,rgba(130,210,60,0.9) 0%,rgba(100,190,40,0.45) 40%,transparent 70%) 22% 0%,
    radial-gradient(circle,rgba(100,200,50,0.95) 0%,rgba(80,180,30,0.5) 40%,transparent 70%) 38% 0%,
    radial-gradient(circle,rgba(60,180,20,0.9) 0%,rgba(50,160,15,0.45) 40%,transparent 70%) 55% 0%,
    radial-gradient(circle,rgba(120,210,55,0.9) 0%,rgba(90,190,35,0.45) 40%,transparent 70%) 72% 0%,
    radial-gradient(circle,rgba(100,200,50,0.95) 0%,rgba(80,180,30,0.5) 40%,transparent 70%) 88% 0%,
    linear-gradient(180deg,rgba(60,180,30,0.2) 0%,rgba(60,180,30,0.1) 100%);
  background-size: 4px 4px,3px 3px,4px 4px,3px 3px,4px 4px,3px 3px,100% 100%;
  background-repeat: no-repeat;
  animation: toxicDrops 1.2s linear infinite;
  opacity: 1;
}
@keyframes toxicDrops {
  0% { background-position: 8% -10%,22% -20%,38% -12%,55% -30%,72% -8%,88% -25%,0 0; filter: hue-rotate(0deg); }
  100% { background-position: 5% 110%,19% 110%,35% 110%,52% 110%,69% 110%,85% 110%,0 0; filter: hue-rotate(15deg); }
}

/* AURORA — rainbow shimmer bands */
.avatar-preview-panel.weather-preview-aurora::after {
  background:
    linear-gradient(92deg, transparent 0%, rgba(0,255,200,0.5) 20%, rgba(100,80,255,0.5) 40%, rgba(255,100,200,0.4) 60%, rgba(0,200,255,0.5) 80%, transparent 100%),
    linear-gradient(88deg, transparent 0%, rgba(0,180,255,0.3) 25%, rgba(200,50,255,0.3) 50%, rgba(0,255,150,0.3) 75%, transparent 100%),
    linear-gradient(94deg, transparent 0%, rgba(255,200,0,0.2) 30%, rgba(0,255,180,0.25) 55%, rgba(150,0,255,0.2) 80%, transparent 100%);
  background-size: 100% 18%, 100% 14%, 100% 10%;
  background-position: 0 30%, 0 50%, 0 65%;
  background-repeat: no-repeat;
  animation: auroraDance 6s ease-in-out infinite;
  opacity: 1;
}
@keyframes auroraDance {
  0%,100% { transform: translateY(0) scaleX(1); filter: hue-rotate(0deg) brightness(1.2); opacity: 0.8; }
  25% { transform: translateY(-8px) scaleX(1.02); filter: hue-rotate(30deg) brightness(1.4); opacity: 1; }
  50% { transform: translateY(4px) scaleX(0.98); filter: hue-rotate(60deg) brightness(1.2); opacity: 0.9; }
  75% { transform: translateY(-5px) scaleX(1.01); filter: hue-rotate(90deg) brightness(1.3); opacity: 1; }
}

/* THUNDERSNOW — white snow + lightning */
.avatar-preview-panel.weather-preview-thundersnow::after {
  background:
    radial-gradient(circle,rgba(240,248,255,0.95) 0%,rgba(240,248,255,0.4) 40%,transparent 100%) 12% 0%,
    radial-gradient(circle,rgba(255,255,255,0.9) 0%,rgba(255,255,255,0.35) 40%,transparent 100%) 28% 0%,
    radial-gradient(circle,rgba(200,230,255,0.95) 0%,rgba(200,230,255,0.4) 40%,transparent 100%) 45% 0%,
    radial-gradient(circle,rgba(240,248,255,0.9) 0%,rgba(240,248,255,0.35) 40%,transparent 100%) 62% 0%,
    radial-gradient(circle,rgba(255,255,255,0.95) 0%,rgba(255,255,255,0.4) 40%,transparent 100%) 80% 0%,
    radial-gradient(circle,rgba(200,230,255,0.9) 0%,rgba(200,230,255,0.35) 40%,transparent 100%) 93% 0%;
  background-size: 5px 5px,4px 4px,5px 5px,4px 4px,5px 5px,4px 4px;
  background-repeat: no-repeat;
  animation: thundersnowFall 4s linear infinite, thunderFlash 5s ease-in-out infinite;
  opacity: 1;
}
@keyframes thundersnowFall {
  0% { background-position: 12% -8%,28% -22%,45% -14%,62% -30%,80% -10%,93% -20%; }
  100% { background-position: 10% 115%,26% 115%,43% 115%,60% 115%,78% 115%,91% 115%; }
}
@keyframes thunderFlash {
  0%,90%,100% { filter: brightness(1); }
  92% { filter: brightness(2.5) hue-rotate(200deg); }
  93% { filter: brightness(1); }
  95% { filter: brightness(3) hue-rotate(200deg); }
  96% { filter: brightness(1); }
}

/* VOID STORM — dark purple rifts/tears */
.avatar-preview-panel.weather-preview-voidstorm::after {
  background:
    radial-gradient(ellipse 6px 20px,rgba(150,0,255,0.9) 0%,rgba(100,0,200,0.5) 50%,transparent 100%) 20% 15%,
    radial-gradient(ellipse 5px 18px,rgba(180,0,255,0.85) 0%,rgba(120,0,220,0.45) 50%,transparent 100%) 50% 45%,
    radial-gradient(ellipse 7px 22px,rgba(130,0,240,0.9) 0%,rgba(90,0,190,0.5) 50%,transparent 100%) 75% 25%,
    radial-gradient(ellipse 5px 16px,rgba(160,0,255,0.85) 0%,rgba(110,0,210,0.45) 50%,transparent 100%) 35% 70%,
    radial-gradient(ellipse 6px 20px,rgba(200,50,255,0.8) 0%,rgba(140,20,220,0.4) 50%,transparent 100%) 88% 60%,
    radial-gradient(circle at 50% 50%,rgba(60,0,100,0.3) 0%,transparent 70%);
  background-size: 12px 35px,10px 30px,14px 38px,10px 28px,12px 34px,100% 100%;
  background-repeat: no-repeat;
  animation: voidTears 3s ease-in-out infinite;
  opacity: 1;
}
@keyframes voidTears {
  0%,100% { filter: brightness(0.9) saturate(2); transform: scale(1); }
  25% { filter: brightness(1.3) saturate(3) hue-rotate(20deg); transform: scale(1.01); }
  50% { filter: brightness(0.7) saturate(2.5); transform: scale(0.99); }
  75% { filter: brightness(1.2) saturate(3) hue-rotate(-20deg); transform: scale(1.01); }
}

/* ═══════════════════════════════════════════════════════════
   AVATAR DISPLAY — new weather types (in-game HUD panel)
   ═══════════════════════════════════════════════════════════ */
#avatar-display.weather-arctic::before {
  opacity: 1 !important;
  content: '';
  position: absolute; width: 100%; height: 100%; top: 0; left: 0;
  background-image:
    radial-gradient(circle 4px,rgba(180,230,255,0.95) 0%,transparent 4px),
    radial-gradient(circle 3.5px,rgba(200,240,255,0.9) 0%,transparent 3.5px),
    radial-gradient(circle 5px,rgba(150,210,255,0.9) 0%,transparent 5px),
    radial-gradient(circle 3px,rgba(200,240,255,0.9) 0%,transparent 3px);
  background-size: 50px 300px,65px 320px,45px 280px,60px 310px;
  background-position: 0 0,30px 20px,15px 10px,48px 35px;
  animation: avatarSnowFall 5s linear infinite;
  pointer-events: none; z-index: 0;
  filter: hue-rotate(200deg) brightness(1.3);
}
#avatar-display.weather-sandstorm::before {
  opacity: 1 !important;
  content: '';
  position: absolute; width: 100%; height: 100%; top: 0; left: 0;
  background: radial-gradient(ellipse 150% 40% at 50% 60%,rgba(210,160,60,0.5) 0%,rgba(180,130,40,0.3) 50%,transparent 80%),
    repeating-linear-gradient(10deg,transparent,transparent 12px,rgba(200,150,50,0.18) 13px,transparent 14px);
  animation: sandSwirl 3s ease-in-out infinite;
  pointer-events: none; z-index: 0;
}
#avatar-display.weather-meteor::before {
  opacity: 1 !important;
  content: '';
  position: absolute; width: 100%; height: 100%; top: 0; left: 0;
  background-image:
    radial-gradient(circle 6px,rgba(255,140,0,1) 0%,rgba(255,60,0,0.7) 50%,transparent 100%),
    radial-gradient(circle 5px,rgba(255,200,0,0.9) 0%,rgba(255,100,0,0.6) 50%,transparent 100%),
    radial-gradient(circle 8px,rgba(255,80,0,0.95) 0%,rgba(255,40,0,0.65) 50%,transparent 100%);
  background-size: 40px 280px,50px 300px,35px 260px;
  background-position: 20px 100%,65px 100%,120px 100%;
  animation: avatarLavaRise 2s ease-out infinite;
  pointer-events: none; z-index: 0;
  filter: hue-rotate(-20deg);
}
#avatar-display.weather-toxicrain::before {
  opacity: 1 !important;
  content: '';
  position: absolute; width: 100%; height: 100%; top: 0; left: 0;
  background-image:
    linear-gradient(180deg,transparent 93%,rgba(100,200,50,0.9) 93%,rgba(80,180,30,0.7) 96%,transparent 96%),
    linear-gradient(180deg,transparent 92%,rgba(130,210,60,0.85) 92%,rgba(100,190,40,0.65) 96%,transparent 96%),
    linear-gradient(180deg,transparent 94%,rgba(80,180,20,0.9) 94%,rgba(60,160,15,0.7) 97%,transparent 97%);
  background-size: 18px 400px,22px 420px,16px 390px;
  background-position: 15px 0,42px 0,80px 0;
  animation: avatarRainFall 1.0s linear infinite;
  pointer-events: none; z-index: 0;
  filter: hue-rotate(80deg);
}
#avatar-display.weather-aurora::before {
  opacity: 1 !important;
  content: '';
  position: absolute; width: 100%; height: 100%; top: 0; left: 0;
  background:
    linear-gradient(92deg,transparent,rgba(0,255,200,0.4) 30%,rgba(100,80,255,0.4) 60%,transparent),
    linear-gradient(88deg,transparent,rgba(0,180,255,0.3) 40%,rgba(200,50,255,0.3) 70%,transparent);
  background-size: 100% 30%,100% 20%;
  background-position: 0 35%,0 58%;
  background-repeat: no-repeat;
  animation: auroraDance 6s ease-in-out infinite;
  pointer-events: none; z-index: 0;
}
#avatar-display.weather-thundersnow::before {
  opacity: 1 !important;
  content: '';
  position: absolute; width: 100%; height: 100%; top: 0; left: 0;
  background-image:
    radial-gradient(circle 4px,rgba(240,248,255,0.95) 0%,transparent 4px),
    radial-gradient(circle 3.5px,rgba(200,230,255,0.9) 0%,transparent 3.5px),
    radial-gradient(circle 5px,rgba(255,255,255,0.95) 0%,transparent 5px);
  background-size: 55px 310px,65px 330px,48px 295px;
  background-position: 0 0,32px 22px,16px 12px;
  animation: avatarSnowFall 6s linear infinite, thunderFlash 5s ease-in-out infinite;
  pointer-events: none; z-index: 0;
}
#avatar-display.weather-voidstorm::before {
  opacity: 1 !important;
  content: '';
  position: absolute; width: 100%; height: 100%; top: 0; left: 0;
  background:
    radial-gradient(ellipse 8px 25px,rgba(150,0,255,0.9) 0%,transparent 100%) 30px 20px,
    radial-gradient(ellipse 6px 20px,rgba(180,0,255,0.8) 0%,transparent 100%) 90px 60px,
    radial-gradient(ellipse 10px 30px,rgba(120,0,240,0.9) 0%,transparent 100%) 140px 35px,
    radial-gradient(circle at 50% 50%,rgba(40,0,80,0.5) 0%,transparent 70%);
  background-repeat: no-repeat;
  background-size: auto,auto,auto,100% 100%;
  animation: voidTears 3s ease-in-out infinite;
  pointer-events: none; z-index: 0;
}

/* ═══════════════════════════════════════════════════════════
   FULL-SCREEN MENU WEATHER — new types
   ═══════════════════════════════════════════════════════════ */
#menu-weather-fullscreen.weather-arctic::after   { animation: arcticBlizzard 1.5s linear infinite; }
#menu-weather-fullscreen.weather-sandstorm::after { animation: sandSwirl 3s ease-in-out infinite; }
#menu-weather-fullscreen.weather-meteor::after    { animation: meteorFall 1.8s linear infinite; }
#menu-weather-fullscreen.weather-toxicrain::after { animation: toxicDrops 1.2s linear infinite; }
#menu-weather-fullscreen.weather-aurora::after    { animation: auroraDance 6s ease-in-out infinite; }
#menu-weather-fullscreen.weather-thundersnow::after { animation: thundersnowFall 4s linear infinite,thunderFlash 5s ease-in-out infinite; }
#menu-weather-fullscreen.weather-voidstorm::after  { animation: voidTears 3s ease-in-out infinite; }

/* ══════════════════════════════════════════════════════════════════
   WEATHER SCREEN OVERLAYS — Extended Set
   ══════════════════════════════════════════════════════════════════ */

/* ── TEMPEST: violent diagonal rain + cyan tint ─────────────────── */
.tempest-overlay::before,.tempest-overlay::after {
  content:''; position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(98deg, rgba(100,220,255,0.28) 0px, rgba(100,220,255,0.28) 1px, transparent 1px, transparent 8px),
    repeating-linear-gradient(88deg, rgba(80,200,240,0.18) 0px, rgba(80,200,240,0.18) 1px, transparent 1px, transparent 12px);
  background-position: 0 -900px, 0 -1400px;
  animation: rain-drift var(--rain-speed,0.6s) linear infinite;
  filter: blur(0.3px);
}
.tempest-overlay::after {
  opacity:0.5; animation-duration:var(--rain-speed2,0.9s);
  background-image: repeating-linear-gradient(95deg, rgba(60,180,220,0.22) 0px, rgba(60,180,220,0.22) 1px, transparent 1px, transparent 14px);
}

/* ── THUNDERSNOW: white snow + purple lightning flash ────────────── */
.thundersnow-overlay::before,.thundersnow-overlay::after {
  content:''; position:absolute; width:100%; height:100%;
  background-image:
    radial-gradient(circle 2px, rgba(255,255,255,0.9) 0%, transparent 2px),
    radial-gradient(circle 1.5px, rgba(220,200,255,0.8) 0%, transparent 1.5px),
    radial-gradient(circle 2.5px, rgba(255,255,255,0.85) 0%, transparent 2.5px);
  background-size: 100px 100px, 140px 140px, 80px 80px;
  animation: gentle-snow-fall 9s linear infinite;
}
.thundersnow-overlay::after {
  animation: thundersnow-snow 11s linear infinite, thundersnow-flash 6s ease-in-out infinite;
  animation-delay: 2s, 0.5s;
}
@keyframes thundersnow-snow {
  0%  { transform:translateY(-10%) translateX(20px); }
  100%{ transform:translateY(110%) translateX(-20px); }
}
@keyframes thundersnow-flash {
  0%,100%{ background-color:transparent; }
  3%     { background-color:rgba(160,80,255,0.08); }
  3.5%   { background-color:rgba(160,80,255,0.18); }
  4%     { background-color:rgba(160,80,255,0.06); }
}

/* ── ARCTIC: falling snowflakes (like Snowy) + cold-blue lightning ── */

/* Lightning flash lives on the element itself; speed scales with data-stage
   so it gets more frequent each phase without touching the snow animations */
.arctic-overlay {
  animation: arctic-lightning 12s ease-in-out infinite;
}
.arctic-overlay[data-stage="1"] { animation-duration: 14s; }
.arctic-overlay[data-stage="2"] { animation-duration: 10s; }
.arctic-overlay[data-stage="3"] { animation-duration:  7s; }
.arctic-overlay[data-stage="4"] { animation-duration:  4s; }
.arctic-overlay[data-stage="5"] { animation-duration:  2.2s; }

@keyframes arctic-lightning {
  0%,100%  { background-color: transparent; }
  5%       { background-color: rgba(190,220,255,0.07); }
  5.6%     { background-color: rgba(210,235,255,0.22); }
  6.1%     { background-color: rgba(190,220,255,0.05); }
  7%       { background-color: rgba(210,235,255,0.16); }
  7.5%     { background-color: transparent; }
}

/* Snow layers — blue-white tinted, slightly faster than regular Snowy */
.arctic-overlay::before,.arctic-overlay::after {
  content:''; position:absolute; inset:0;
  background-image:
    radial-gradient(circle 2px,   rgba(210,235,255,0.95) 0%, transparent 2px),
    radial-gradient(circle 2.5px, rgba(255,255,255,0.90) 0%, transparent 2.5px),
    radial-gradient(circle 1.5px, rgba(185,215,255,0.95) 0%, transparent 1.5px),
    radial-gradient(circle 3px,   rgba(255,255,255,0.85) 0%, transparent 3px),
    radial-gradient(circle 2px,   rgba(165,200,255,0.90) 0%, transparent 2px),
    radial-gradient(circle 1px,   rgba(230,245,255,1.00) 0%, transparent 1px);
  background-size:
    130px 130px, 170px 170px, 95px 95px,
    210px 210px, 150px 150px, 80px 80px;
  background-position:
    0 0, 65px 65px, 30px 30px,
    95px 95px, 45px 45px, 20px 20px;
  animation: arctic-snow-fall 9s linear infinite;
  will-change: transform;
}
.arctic-overlay::after {
  animation-duration: 12s;
  animation-delay: -5s;
  opacity: 0.55;
}

@keyframes arctic-snow-fall {
  0%   { transform: translateY(-10%) translateX(  0px); }
  33%  { transform: translateY( 30%) translateX( 18px); }
  66%  { transform: translateY( 72%) translateX( -8px); }
  100% { transform: translateY(112%) translateX( 22px); }
}

/* ── SANDSTORM: horizontal tan streaks + orange tint ────────────── */
.sandstorm-overlay::before,.sandstorm-overlay::after {
  content:''; position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(3deg, rgba(210,160,60,0.25) 0px, rgba(210,160,60,0.25) 2px, transparent 2px, transparent 9px),
    repeating-linear-gradient(1deg, rgba(180,130,40,0.18) 0px, rgba(180,130,40,0.18) 1px, transparent 1px, transparent 14px);
  animation: sand-streak 0.5s linear infinite;
}
.sandstorm-overlay::after { opacity:0.5; animation-duration:0.7s; background-color:rgba(180,120,20,0.06); }
@keyframes sand-streak {
  0%  { background-position:-300px 0, -400px 0; }
  100%{ background-position: 300px 0,  400px 0; }
}

/* ── METEOR: falling fireballs + red sky glow ───────────────────── */
.meteor-overlay::before,.meteor-overlay::after {
  content:''; position:absolute; inset:0;
  background-image:
    radial-gradient(ellipse 3px 14px, rgba(255,140,0,0.9) 0%, transparent 100%),
    radial-gradient(ellipse 2px 10px, rgba(255,80,0,0.8) 0%, transparent 100%),
    radial-gradient(ellipse 4px 18px, rgba(255,200,0,0.85) 0%, transparent 100%);
  background-size: 120px 800px, 150px 750px, 100px 820px;
  background-position: 15% -20%, 45% -40%, 75% -10%;
  animation: meteor-fall 1.4s linear infinite;
}
.meteor-overlay::after {
  background-color: rgba(80,10,0,0.12);
  animation: meteor-fall 1.9s linear infinite, meteor-glow 3s ease-in-out infinite;
  animation-delay: 0.6s, 0s;
}
@keyframes meteor-fall {
  0%  { background-position:15% -20%, 45% -40%, 75% -10%; }
  100%{ background-position:12% 110%, 42% 110%, 72% 110%; }
}
@keyframes meteor-glow {
  0%,100%{ opacity:1; }
  50%    { opacity:0.7; filter:brightness(1.3); }
}

/* ── TOXIC RAIN: green-tinted rain streaks ──────────────────────── */
.toxicrain-overlay::before,.toxicrain-overlay::after {
  content:''; position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(110deg, rgba(60,220,100,0.22) 0px, rgba(60,220,100,0.22) 1px, transparent 1px, transparent 10px),
    repeating-linear-gradient(105deg, rgba(40,180,80,0.15) 0px, rgba(40,180,80,0.15) 1px, transparent 1px, transparent 15px);
  background-position: 0 -900px, 0 -1400px;
  animation: rain-drift var(--rain-speed,1.2s) linear infinite;
}
.toxicrain-overlay::after {
  opacity:0.4;
  animation-duration:var(--rain-speed2,1.7s);
  background-color: rgba(0,80,20,0.06);
}

/* ── AURORA: shifting coloured curtains ─────────────────────────── */
.aurora-overlay {
  background: linear-gradient(180deg,
    rgba(0,255,150,0.12) 0%, rgba(0,200,255,0.08) 30%,
    rgba(120,0,255,0.06) 60%, transparent 100%);
  animation: aurora-drift 8s ease-in-out infinite;
}
@keyframes aurora-drift {
  0%,100%{ opacity:0.5; transform:translateX(-15px) scaleX(1.02); filter:hue-rotate(0deg); }
  33%    { opacity:0.8; transform:translateX(15px)  scaleX(0.98); filter:hue-rotate(40deg); }
  66%    { opacity:0.6; transform:translateX(-8px)  scaleX(1.01); filter:hue-rotate(80deg); }
}

/* ── VOID STORM: dark purple particles with distortion ──────────── */
.voidstorm-overlay::before,.voidstorm-overlay::after {
  content:''; position:absolute; inset:0;
  background-image:
    radial-gradient(circle 2px, rgba(140,0,220,0.8) 0%, transparent 2px),
    radial-gradient(circle 1.5px, rgba(80,0,160,0.7) 0%, transparent 1.5px),
    radial-gradient(circle 3px, rgba(200,50,255,0.6) 0%, transparent 3px);
  background-size: 80px 80px, 110px 110px, 60px 60px;
  animation: void-tear 4s ease-in-out infinite;
}
.voidstorm-overlay::after {
  animation: void-tear 6s ease-in-out infinite reverse, void-flash 7s ease-in-out infinite;
  opacity:0.6;
}
@keyframes void-tear {
  0%  { transform:translateY(-8%) translateX(0) rotate(0deg); }
  50% { transform:translateY(50%) translateX(10px) rotate(2deg); filter:brightness(1.4); }
  100%{ transform:translateY(110%) translateX(-5px) rotate(-1deg); }
}
@keyframes void-flash {
  0%,100%{ background-color:transparent; }
  5%     { background-color:rgba(80,0,160,0.08); }
  5.5%   { background-color:rgba(80,0,160,0.18); }
  6%     { background-color:transparent; }
}

/* ── TSUNAMI: rippling water screen ────────────────────────────────*/
.tsunami-overlay {
  background:
    repeating-linear-gradient(180deg, rgba(0,120,220,0.18) 0px, rgba(0,80,180,0.12) 20px, rgba(0,140,240,0.08) 40px),
    linear-gradient(180deg, transparent 0%, rgba(0,100,200,0.12) 100%);
  animation: tsunami-swell 3s ease-in-out infinite;
}
@keyframes tsunami-swell {
  0%,100%{ transform:translateY(0) scaleY(1); opacity:0.8; }
  25%    { transform:translateY(-12px) scaleY(1.06); opacity:1; }
  75%    { transform:translateY(8px)  scaleY(0.97); opacity:0.9; }
}

/* ── ECLIPSE: darkening vignette with purple corona pulse ───────── */
.eclipse-overlay {
  background: radial-gradient(ellipse at center, transparent 20%, rgba(10,0,30,0.5) 100%);
  animation: eclipse-darken 5s ease-in-out infinite;
}
@keyframes eclipse-darken {
  0%,100%{ opacity:0.7; filter:hue-rotate(0deg); }
  50%    { opacity:1.0; filter:hue-rotate(30deg) brightness(0.85); }
}

/* ── SEISMIC: screen shake + crack lines ───────────────────────────*/
.seismic-overlay {
  background:
    linear-gradient(92deg, transparent 48%, rgba(120,80,40,0.35) 49%, rgba(120,80,40,0.35) 51%, transparent 52%),
    linear-gradient(2deg,  transparent 48%, rgba(100,60,20,0.25) 49%, rgba(100,60,20,0.25) 51%, transparent 52%);
  background-size: 60px 100%, 100% 60px;
  animation: seismic-rumble 0.9s ease-in-out infinite;
}
@keyframes seismic-rumble {
  0%,100%{ transform:translate(0,0); }
  15%    { transform:translate(-3px,2px); }
  30%    { transform:translate(3px,-2px); }
  45%    { transform:translate(-2px,3px); }
  60%    { transform:translate(2px,-3px); }
  75%    { transform:translate(-1px,2px); }
  90%    { transform:translate(1px,-1px); }
}

/* ── BLOOM: falling pink petals + green pollen ─────────────────── */
.bloom-overlay::before,.bloom-overlay::after {
  content:''; position:absolute; inset:0;
  /* Cherry blossom petals: round dots in pink/rose/white + tiny pollen specks */
  background-image:
    radial-gradient(circle 6px,  rgba(255,182,193,0.92) 0%, rgba(255,182,193,0.3) 55%, transparent 100%),
    radial-gradient(circle 5px,  rgba(255,155,180,0.88) 0%, rgba(255,155,180,0.25) 55%, transparent 100%),
    radial-gradient(circle 7px,  rgba(255,200,215,0.85) 0%, rgba(255,200,215,0.2) 55%, transparent 100%),
    radial-gradient(circle 4px,  rgba(235,120,165,0.90) 0%, rgba(235,120,165,0.28) 55%, transparent 100%),
    radial-gradient(circle 5px,  rgba(255,210,225,0.82) 0%, rgba(255,210,225,0.2) 55%, transparent 100%),
    radial-gradient(circle 5px,  rgba(255,255,255,0.80) 0%, rgba(255,255,255,0.18) 55%, transparent 100%),
    radial-gradient(circle 4px,  rgba(250,240,255,0.75) 0%, rgba(250,240,255,0.16) 55%, transparent 100%),
    radial-gradient(circle 2px,  rgba(190,230,90,0.80)  0%, transparent 100%),
    radial-gradient(circle 2px,  rgba(255,220,55,0.70)  0%, transparent 100%),
    radial-gradient(circle 4px,  rgba(225,185,255,0.72) 0%, rgba(225,185,255,0.16) 55%, transparent 100%);
  background-size:
    88px 88px, 118px 118px, 74px 74px, 102px 102px, 92px 92px,
    108px 108px, 82px 82px,
    58px 58px, 50px 50px,
    96px 96px;
  background-position:
    8% 0%,  23% 0%, 39% 0%, 54% 0%, 69% 0%,
    15% 0%, 81% 0%,
    36% 0%, 72% 0%,
    46% 0%;
  animation: bloom-sway-left 13s linear infinite;
  will-change: transform;
}
.bloom-overlay::after {
  animation-name: bloom-sway-right;
  animation-duration: 17s;
  animation-delay: -8s;
  opacity: 0.65;
}

/* Two sway directions → organic, non-uniform look */
@keyframes bloom-sway-left {
  0%   { transform: translateY(-5%)  translateX(-10px); }
  20%  { transform: translateY(22%)  translateX( 14px); }
  40%  { transform: translateY(47%)  translateX( -7px); }
  60%  { transform: translateY(72%)  translateX( 11px); }
  80%  { transform: translateY(90%)  translateX( -5px); }
  100% { transform: translateY(112%) translateX(  9px); }
}
@keyframes bloom-sway-right {
  0%   { transform: translateY(-5%)  translateX( 12px); }
  20%  { transform: translateY(22%)  translateX(-13px); }
  40%  { transform: translateY(47%)  translateX(  9px); }
  60%  { transform: translateY(72%)  translateX(-11px); }
  80%  { transform: translateY(90%)  translateX(  7px); }
  100% { transform: translateY(112%) translateX( -9px); }
}

/* ══════════════════════════════════════════════════════════════════
   CARD WEATHER EFFECT CLASSES — Extra types
   ══════════════════════════════════════════════════════════════════ */

/* Toxic: green pulsing border glow */
.card-ui.weather-toxic {
  box-shadow: 0 0 12px rgba(50,220,80,0.35), inset 0 0 6px rgba(40,180,60,0.08);
  animation: toxic-pulse 2s ease-in-out infinite;
}
@keyframes toxic-pulse {
  0%,100%{ box-shadow:0 0 8px rgba(50,220,80,0.25), inset 0 0 4px rgba(40,180,60,0.06); }
  50%    { box-shadow:0 0 18px rgba(80,255,100,0.5), inset 0 0 8px rgba(60,220,80,0.12); }
}

/* Void: dark purple shifting shadow */
.card-ui.weather-void {
  box-shadow: 0 0 14px rgba(120,0,200,0.4), inset 0 0 8px rgba(80,0,160,0.1);
  animation: void-pulse 3s ease-in-out infinite;
}
@keyframes void-pulse {
  0%,100%{ box-shadow:0 0 10px rgba(100,0,180,0.3), inset 0 0 5px rgba(60,0,120,0.08); filter:brightness(0.95); }
  50%    { box-shadow:0 0 22px rgba(160,30,255,0.6), inset 0 0 12px rgba(100,0,200,0.15); filter:brightness(0.85); }
}

/* Arcane: shimmer of aurora/bloom colour */
.card-ui.weather-arcane {
  animation: arcane-shimmer 3s ease-in-out infinite;
}
@keyframes arcane-shimmer {
  0%  { box-shadow:0 0 10px rgba(0,220,150,0.3); filter:hue-rotate(0deg) brightness(1.05); }
  33% { box-shadow:0 0 15px rgba(0,180,255,0.35); filter:hue-rotate(60deg) brightness(1.08); }
  66% { box-shadow:0 0 12px rgba(180,80,255,0.3); filter:hue-rotate(120deg) brightness(1.06); }
  100%{ box-shadow:0 0 10px rgba(0,220,150,0.3); filter:hue-rotate(0deg) brightness(1.05); }
}

/* ═══════════════════════════════════════════════════════════
   LEADER PICKER FIXES — no overlap, proper scroll, full bottom
   ═══════════════════════════════════════════════════════════ */

/* Ensure the entire avatar creation screen can scroll */
#avatar-creation-screen {
  overflow-y: auto !important;
  padding-bottom: 80px !important;
}

/* Form panel shouldn't clip its content */
.avatar-form-panel {
  overflow: visible !important;
  padding-bottom: 30px;
}

/* Leader picker container: grid layout prevents any overlap */
#favoriteLeaderContainer {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)) !important;
  gap: 10px !important;
  max-height: 500px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box;
}

/* Cards fill their grid cell */
.leader-picker-card {
  width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important; /* never absolute */
}

/* Section label above the leader grid */
.section-title-avatar {
  font-size: 20px;
  color: #40c4ff;
  margin: 20px 0 12px 0;
  padding-bottom: 8px;
  border-bottom: 2px solid rgba(64,196,255,0.3);
}

/* Create button always visible at bottom of form */
.create-avatar-button,
.skip-avatar-button {
  margin-top: 20px;
}

/* 3D Model leader cards get extra top padding for the badge */
.leader-picker-card--model {
  margin-top: 10px !important;
  padding-top: 16px !important;
}

/* Mobile battle optimization */
#trtl-mobile-toolbar {
  display: none;
}

.trtl-mobile-play {
  --trtl-safe-top: max(10px, env(safe-area-inset-top));
  --trtl-safe-bottom: max(10px, env(safe-area-inset-bottom));
}

.trtl-mobile-play canvas {
  touch-action: none;
}

.trtl-mobile-play #ui {
  position: fixed !important;
  top: calc(var(--trtl-safe-top) + 6px) !important;
  left: 8px !important;
  right: 8px !important;
  width: auto !important;
  max-height: 41vh;
  overflow: auto;
  z-index: 2200 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 10px 12px 12px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(2, 15, 26, 0.95), rgba(4, 24, 39, 0.88)) !important;
  backdrop-filter: blur(14px);
}

.trtl-mobile-play #ui > h3,
.trtl-mobile-play #weather-hud,
.trtl-mobile-play #phase,
.trtl-mobile-play #target-mode,
.trtl-mobile-play #combat-ui,
.trtl-mobile-play #movement-ui {
  grid-column: 1 / -1;
}

.trtl-mobile-play #leader-stats,
.trtl-mobile-play #stats {
  font-size: 12px;
  line-height: 1.35;
}

.trtl-mobile-play #ui button,
.trtl-mobile-play #target-mode button,
.trtl-mobile-play #combat-ui button,
.trtl-mobile-play #movement-ui button,
.trtl-mobile-play #trtl-mobile-toolbar button {
  min-height: 44px;
  padding: 10px 12px;
  font-size: 13px;
}

.trtl-mobile-play #weather-hud {
  gap: 8px !important;
  padding: 8px 10px !important;
  font-size: 11px !important;
}

.trtl-mobile-play #hand {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 2500 !important;
  padding: 16px 12px calc(var(--trtl-safe-bottom) + 76px) !important;
  gap: 12px !important;
  justify-content: flex-start !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
  touch-action: pan-x;
  background: linear-gradient(180deg, rgba(2, 11, 22, 0), rgba(2, 11, 22, 0.42) 16%, rgba(2, 11, 22, 0.95) 45%);
}

.trtl-mobile-play #hand .card-ui {
  flex: 0 0 auto;
  min-width: 116px;
  width: min(31vw, 132px) !important;
  scroll-snap-align: center;
  -webkit-user-drag: none;
  touch-action: manipulation;
}

.trtl-mobile-play #hand .card-ui:hover {
  transform: none !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

.trtl-mobile-play #trtl-mobile-toolbar {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: calc(var(--trtl-safe-bottom) + 104px);
  z-index: 2550;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border-radius: 18px;
  background: rgba(3, 16, 28, 0.92);
  border: 1px solid rgba(64, 196, 255, 0.22);
  box-shadow: 0 10px 30px rgba(0,0,0,0.32);
  backdrop-filter: blur(12px);
}

.trtl-mobile-play #trtl-mobile-toolbar button {
  flex: 0 0 auto;
}

.trtl-mobile-play #trtl-mobile-tip {
  min-width: 0;
  flex: 1 1 auto;
  color: #b3e5fc;
  font-size: 11px;
  line-height: 1.35;
}

.trtl-mobile-play #log,
.trtl-mobile-play #card-details {
  position: fixed !important;
  left: 10px !important;
  right: 10px !important;
  bottom: calc(var(--trtl-safe-bottom) + 162px) !important;
  width: auto !important;
  max-height: 32vh !important;
  min-height: 120px;
  z-index: 2600 !important;
  border-radius: 18px !important;
  transform: translateY(calc(100% + 18px));
  opacity: 0;
  pointer-events: none;
  transition: transform 0.22s ease, opacity 0.22s ease;
}

.trtl-mobile-play.trtl-mobile-log-open #log,
.trtl-mobile-play.trtl-mobile-card-open #card-details {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.trtl-mobile-play #deck-stack {
  bottom: calc(var(--trtl-safe-bottom) + 110px) !important;
  right: 10px !important;
  transform: scale(0.86);
  transform-origin: bottom right;
  z-index: 2520 !important;
}

.trtl-mobile-play #achievements,
.trtl-mobile-play #battlefield-tooltip {
  display: none !important;
}

.trtl-mobile-play #v3-phase-hud {
  top: auto !important;
  left: 12px !important;
  right: 12px !important;
  bottom: calc(var(--trtl-safe-bottom) + 224px) !important;
  transform: none !important;
  max-width: none;
  justify-content: center;
}

.trtl-mobile-play #v3-weather-bar {
  top: auto !important;
  left: 12px !important;
  right: auto !important;
  bottom: calc(var(--trtl-safe-bottom) + 196px) !important;
  transform: none !important;
}

.trtl-mobile-play #trtl-turn-timer-hud {
  top: auto !important;
  right: 12px !important;
  bottom: calc(var(--trtl-safe-bottom) + 224px) !important;
}

.trtl-mobile-play #in-game-menu {
  top: calc(var(--trtl-safe-top) + 6px) !important;
  right: 8px !important;
  z-index: 2700 !important;
}

.trtl-mobile-play.trtl-mobile-dragging #hand {
  overflow: hidden !important;
}

.trtl-mobile-play .trtl-mobile-card-ghost {
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.55), 0 0 24px rgba(64, 196, 255, 0.24) !important;
}

@media (max-width: 520px) {
  .trtl-mobile-play #ui {
    grid-template-columns: 1fr;
    max-height: 45vh;
  }

  .trtl-mobile-play #leader-stats,
  .trtl-mobile-play #stats {
    grid-column: 1 / -1;
  }

  .trtl-mobile-play #trtl-mobile-toolbar {
    gap: 6px;
    padding: 8px;
  }

  .trtl-mobile-play #trtl-mobile-toolbar button {
    min-width: 64px;
    padding: 9px 10px;
  }

  .trtl-mobile-play #deck-stack {
    transform: scale(0.78);
  }
}

/* Startup flow + mobile main menu fixes */
#trtl-startup-gate {
  position: fixed;
  inset: 0;
  z-index: 20050;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(0, 7, 18, 0.88);
  backdrop-filter: blur(14px);
}

.trtl-startup-gate__box {
  width: min(460px, 92vw);
  padding: 24px 22px;
  border-radius: 22px;
  border: 2px solid rgba(64, 196, 255, 0.35);
  background: linear-gradient(145deg, rgba(0, 22, 42, 0.96), rgba(0, 14, 30, 0.94));
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.42), 0 0 34px rgba(64, 196, 255, 0.16);
  text-align: center;
  color: #e0f7fa;
}

.trtl-startup-gate__logo {
  font-size: 52px;
  margin-bottom: 10px;
}

.trtl-startup-gate__title {
  font-size: 26px;
  font-weight: 900;
  letter-spacing: 1px;
  color: #40c4ff;
  margin-bottom: 8px;
}

.trtl-startup-gate__sub {
  font-size: 13px;
  line-height: 1.55;
  color: rgba(224, 247, 250, 0.82);
}

.trtl-startup-gate__actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 18px;
}

.trtl-startup-gate__actions button {
  min-height: 50px;
  border-radius: 14px;
  border: 2px solid rgba(64, 196, 255, 0.42);
  background: linear-gradient(145deg, rgba(64, 196, 255, 0.18), rgba(0, 100, 180, 0.16));
  color: #e8f8ff;
  font: 700 15px Georgia, serif;
  cursor: pointer;
}

.trtl-startup-gate__actions button.secondary {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.88);
}

.trtl-store-card {
  background: linear-gradient(160deg, rgba(3, 20, 34, 0.92), rgba(5, 14, 28, 0.88));
}

.trtl-store-locked {
  pointer-events: none !important;
}

@media (max-width: 900px) {
  #menu {
    padding: max(10px, env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom)) !important;
  }

  #menu .menu-inner {
    width: 100% !important;
    margin-bottom: 14px !important;
  }

  .trtl-menu-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    align-items: stretch !important;
  }

  .trtl-menu-layout > .trtl-menu-profile-panel,
  .trtl-menu-layout > .trtl-menu-actions-panel {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 1 1 auto !important;
  }

  .trtl-menu-layout > .trtl-menu-profile-panel > div,
  .trtl-menu-layout > .trtl-menu-actions-panel > div {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  #menu-avatar-card {
    min-height: 0 !important;
    padding: 18px !important;
  }

  #menu-avatar-display {
    width: 108px !important;
    height: 108px !important;
    font-size: 52px !important;
  }

  #menu h1 {
    font-size: clamp(26px, 7vw, 36px) !important;
    letter-spacing: 1.5px !important;
  }

  #menu h2 {
    font-size: clamp(14px, 4vw, 18px) !important;
    letter-spacing: 1px !important;
  }

  #menu [id="menu-player-name"] {
    font-size: 22px !important;
  }

  #wallet-status-bar {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  #wsb-wallet-name {
    width: 100% !important;
    text-align: center !important;
  }

  #wsb-stats {
    width: 100% !important;
    margin-left: 0 !important;
    justify-content: flex-start !important;
  }

  #menu button.menu-btn {
    width: 100% !important;
    min-height: 74px !important;
    padding: 14px 16px !important;
    align-items: center !important;
  }
}

@media (max-width: 640px) {
  #menu {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  #menu .menu-inner > div:first-child {
    margin-bottom: 18px !important;
  }

  #menu [style*="grid-template-columns: repeat(2, 1fr)"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  #menu details summary {
    font-size: 12px !important;
    padding: 10px !important;
  }

  .trtl-menu-layout > .trtl-menu-profile-panel > div,
  .trtl-menu-layout > .trtl-menu-actions-panel > div {
    padding: 12px !important;
  }

  #menu button.menu-btn span:first-child {
    font-size: 20px !important;
  }

  #menu button.menu-btn div:first-of-type {
    font-size: 16px !important;
  }
}

/* Runtime dialog polish + final mobile overrides */
#ui-modal {
  position: relative;
  overflow: hidden;
}

#ui-modal::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top right, rgba(64, 196, 255, 0.18), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.04), transparent 38%);
  pointer-events: none;
}

#ui-modal[data-tone="success"] {
  border-color: rgba(97, 242, 160, 0.55);
  box-shadow: 0 24px 80px rgba(0,0,0,0.70), 0 0 38px rgba(97, 242, 160, 0.26);
}

#ui-modal[data-tone="warning"] {
  border-color: rgba(255, 209, 102, 0.55);
  box-shadow: 0 24px 80px rgba(0,0,0,0.70), 0 0 38px rgba(255, 209, 102, 0.22);
}

#ui-modal[data-tone="danger"] {
  border-color: rgba(255, 109, 122, 0.55);
  box-shadow: 0 24px 80px rgba(0,0,0,0.70), 0 0 38px rgba(255, 109, 122, 0.24);
}

#ui-modal[data-tone="danger"] h3 {
  color: #ff9aa5;
}

#ui-modal[data-tone="success"] h3 {
  color: #9ef7c4;
}

#ui-modal[data-tone="warning"] h3 {
  color: #ffe08f;
}

#toast {
  border-radius: 18px !important;
  padding: 14px 22px !important;
  background:
    linear-gradient(145deg, rgba(3, 18, 36, 0.97), rgba(8, 24, 44, 0.94)) !important;
  border: 2px solid rgba(64,196,255,.5) !important;
  box-shadow: 0 16px 46px rgba(0,0,0,.48), 0 0 30px rgba(64,196,255,.22) !important;
}

@media (max-width: 900px) {
  body.trtl-mobile-menu-open #ui,
  body.trtl-mobile-menu-open #avatar-display,
  body.trtl-mobile-menu-open #log,
  body.trtl-mobile-menu-open #card-details,
  body.trtl-mobile-menu-open #hand,
  body.trtl-mobile-menu-open #deck-stack,
  body.trtl-mobile-menu-open #deck-count,
  body.trtl-mobile-menu-open #trtl-mobile-toolbar,
  body.trtl-mobile-menu-open #in-game-menu,
  body.trtl-mobile-menu-open #v3-phase-hud,
  body.trtl-mobile-menu-open #v3-weather-bar,
  body.trtl-mobile-menu-open #trtl-turn-timer-hud {
    display: none !important;
  }

  body.trtl-mobile-menu-open #menu {
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
    border-radius: 0 !important;
    padding: max(10px, env(safe-area-inset-top)) 10px calc(16px + env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: linear-gradient(180deg, rgba(0, 18, 34, 0.97), rgba(2, 15, 28, 0.96)) !important;
    box-shadow: none !important;
  }

  body.trtl-mobile-menu-open #menu::before {
    display: none !important;
  }

  body.trtl-mobile-menu-open #menu .menu-inner {
    width: 100% !important;
    margin: 0 0 14px 0 !important;
  }

  body.trtl-mobile-menu-open #menu h1 {
    font-size: clamp(30px, 9vw, 40px) !important;
    letter-spacing: 1px !important;
    line-height: 1.04 !important;
  }

  body.trtl-mobile-menu-open #menu h2 {
    font-size: clamp(15px, 4.2vw, 18px) !important;
    letter-spacing: 0.8px !important;
    margin-top: 10px !important;
  }

  body.trtl-mobile-menu-open #menu p {
    font-size: 14px !important;
  }

  body.trtl-mobile-menu-open #menu .trtl-menu-layout,
  body.trtl-mobile-menu-open #menu > div[style*="max-width: 1600px"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 14px !important;
    align-items: stretch !important;
  }

  body.trtl-mobile-menu-open #menu .trtl-menu-layout > .trtl-menu-profile-panel,
  body.trtl-mobile-menu-open #menu .trtl-menu-layout > .trtl-menu-actions-panel,
  body.trtl-mobile-menu-open #menu > div[style*="max-width: 1600px"] > div {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
  }

  body.trtl-mobile-menu-open #menu .trtl-menu-layout > .trtl-menu-profile-panel > div,
  body.trtl-mobile-menu-open #menu .trtl-menu-layout > .trtl-menu-actions-panel > div,
  body.trtl-mobile-menu-open #menu > div[style*="max-width: 1600px"] > div > div {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  body.trtl-mobile-menu-open #menu-avatar-card {
    min-height: 0 !important;
    padding: 16px !important;
  }

  body.trtl-mobile-menu-open #menu-avatar-display {
    width: 108px !important;
    height: 108px !important;
    font-size: 50px !important;
  }

  body.trtl-mobile-menu-open #wallet-status-bar {
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: flex-start !important;
  }

  body.trtl-mobile-menu-open #wallet-menu-badge,
  body.trtl-mobile-menu-open #menu button.menu-btn {
    width: 100% !important;
  }

  body.trtl-mobile-menu-open #menu button.menu-btn {
    min-height: 66px !important;
    padding: 12px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
  }

  body.trtl-mobile-play #avatar-display {
    display: none !important;
  }

  body.trtl-mobile-play #ui {
    top: calc(max(10px, env(safe-area-inset-top)) + 6px) !important;
    left: 8px !important;
    right: 8px !important;
    width: auto !important;
    max-height: min(32vh, 250px) !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    padding: 10px !important;
    border-radius: 16px !important;
  }

  body.trtl-mobile-play #leader-stats,
  body.trtl-mobile-play #stats {
    grid-column: 1 / -1 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  body.trtl-mobile-play #ui button {
    width: 100% !important;
  }

  body.trtl-mobile-play #hand {
    padding: 10px 8px calc(max(10px, env(safe-area-inset-bottom)) + 8px) !important;
    gap: 8px !important;
    background: linear-gradient(180deg, rgba(2, 11, 22, 0), rgba(2, 11, 22, 0.24) 18%, rgba(2, 11, 22, 0.92) 56%) !important;
  }

  body.trtl-mobile-play #hand .card-ui {
    min-width: 96px !important;
    width: min(28vw, 112px) !important;
    height: auto !important;
  }

  body.trtl-mobile-play #trtl-mobile-toolbar {
    left: 8px !important;
    right: 8px !important;
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 112px) !important;
    padding: 8px !important;
    gap: 6px !important;
    border-radius: 16px !important;
  }

  body.trtl-mobile-play #trtl-mobile-toolbar button {
    min-width: 58px !important;
    min-height: 40px !important;
    padding: 8px 10px !important;
    font-size: 12px !important;
  }

  body.trtl-mobile-play #trtl-mobile-tip {
    display: none !important;
  }

  body.trtl-mobile-play #log,
  body.trtl-mobile-play #card-details {
    left: 8px !important;
    right: 8px !important;
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 156px) !important;
    max-height: min(34vh, 290px) !important;
    min-height: 132px !important;
  }

  body.trtl-mobile-play #deck-stack {
    display: none !important;
  }

  body.trtl-mobile-play #v3-phase-hud {
    left: 8px !important;
    right: 8px !important;
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 192px) !important;
  }

  body.trtl-mobile-play #v3-weather-bar {
    left: 8px !important;
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 164px) !important;
  }

  body.trtl-mobile-play #trtl-turn-timer-hud {
    right: 8px !important;
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 192px) !important;
    padding: 8px 10px !important;
    min-width: 92px !important;
    font-size: 12px !important;
  }

  body.trtl-mobile-play #in-game-menu {
    top: auto !important;
    right: 8px !important;
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 112px) !important;
  }
}

@media (max-width: 520px) {
  body.trtl-mobile-menu-open #menu h1 {
    font-size: clamp(26px, 8.6vw, 34px) !important;
  }

  body.trtl-mobile-menu-open #menu [id="menu-player-name"] {
    font-size: 20px !important;
  }

  body.trtl-mobile-menu-open #menu [style*="grid-template-columns: repeat(2, 1fr)"] {
    gap: 8px !important;
  }

  body.trtl-mobile-play #hand .card-ui {
    width: min(30vw, 104px) !important;
    min-width: 92px !important;
  }
}

@media (max-width: 900px) {
  body.trtl-mobile-play #ui {
    max-height: min(24vh, 210px) !important;
    padding: 8px 9px !important;
    gap: 6px !important;
    font-size: 10px !important;
    overscroll-behavior: contain;
  }

  body.trtl-mobile-play #leader-stats,
  body.trtl-mobile-play #stats {
    font-size: 11px !important;
    line-height: 1.26 !important;
  }

  body.trtl-mobile-play #weather-hud {
    gap: 5px !important;
    padding: 6px 8px !important;
    font-size: 10px !important;
  }

  body.trtl-mobile-play #weather-hud > div,
  body.trtl-mobile-play #weather-hud small,
  body.trtl-mobile-play #weather-hud span {
    font-size: 10px !important;
  }

  body.trtl-mobile-play #phase {
    font-size: 10px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
  }

  body.trtl-mobile-play #ui button {
    min-height: 36px !important;
    padding: 7px 10px !important;
    font-size: 11px !important;
    margin: 2px 0 !important;
    border-radius: 12px !important;
  }

  body.trtl-mobile-play #trtl-mobile-toolbar {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    left: 8px !important;
    right: 8px !important;
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 86px) !important;
    padding: 8px !important;
  }

  body.trtl-mobile-play #trtl-mobile-toolbar button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 38px !important;
    padding: 8px 6px !important;
    margin: 0 !important;
    flex: none !important;
    font-size: 12px !important;
    justify-content: center !important;
  }

  body.trtl-mobile-play #trtl-mobile-tip {
    display: none !important;
  }

  body.trtl-mobile-play #log,
  body.trtl-mobile-play #card-details {
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 132px) !important;
    max-height: min(25vh, 210px) !important;
    min-height: 110px !important;
  }

  body.trtl-mobile-play #v3-phase-hud {
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 166px) !important;
  }

  body.trtl-mobile-play #v3-weather-bar {
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 140px) !important;
  }

  body.trtl-mobile-play #trtl-turn-timer-hud {
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 166px) !important;
  }

  body.trtl-mobile-play #in-game-menu {
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 86px) !important;
  }

  body.trtl-mobile-play #hand {
    gap: 7px !important;
    padding: 8px 8px calc(max(10px, env(safe-area-inset-bottom)) + 6px) !important;
  }

  body.trtl-mobile-play #hand .card-ui {
    width: min(27vw, 98px) !important;
    min-width: 88px !important;
    border-radius: 16px !important;
  }

  body.trtl-mobile-creator-open #menu,
  body.trtl-mobile-creator-open #ui,
  body.trtl-mobile-creator-open #avatar-display,
  body.trtl-mobile-creator-open #log,
  body.trtl-mobile-creator-open #hand,
  body.trtl-mobile-creator-open #trtl-mobile-toolbar,
  body.trtl-mobile-creator-open #card-details,
  body.trtl-mobile-creator-open #in-game-menu {
    display: none !important;
  }

  body.trtl-mobile-creator-open #avatar-creation-screen {
    position: fixed !important;
    inset: 0 !important;
    z-index: 20040 !important;
    overflow-y: auto !important;
    padding: max(10px, env(safe-area-inset-top)) 10px calc(18px + env(safe-area-inset-bottom)) !important;
    background: linear-gradient(180deg, rgba(0, 14, 28, 0.98), rgba(2, 18, 32, 0.97)) !important;
  }

  body.trtl-mobile-creator-open .avatar-creator-wrapper {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 14px !important;
    border-radius: 20px !important;
  }

  body.trtl-mobile-creator-open .avatar-creator-title {
    font-size: clamp(24px, 7vw, 32px) !important;
    letter-spacing: 1px !important;
  }

  body.trtl-mobile-creator-open .avatar-creator-subtitle {
    font-size: 13px !important;
    margin-bottom: 14px !important;
  }

  body.trtl-mobile-creator-open .avatar-creator-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.trtl-mobile-creator-open .avatar-preview-panel {
    order: -1 !important;
    margin-top: 0 !important;
    min-height: 0 !important;
    padding: 16px !important;
    border-radius: 18px !important;
  }

  body.trtl-mobile-creator-open .avatar-preview-display,
  body.trtl-mobile-creator-open #avatarPreviewEmoji {
    width: 108px !important;
    height: 108px !important;
    margin: 0 auto 10px !important;
  }

  body.trtl-mobile-creator-open .avatar-name-display {
    font-size: 24px !important;
  }

  body.trtl-mobile-creator-open .avatar-stats-preview {
    padding: 12px !important;
  }

  body.trtl-mobile-creator-open .avatar-form-panel {
    padding-bottom: 8px !important;
  }

  body.trtl-mobile-creator-open .avatar-name-input {
    font-size: 16px !important;
    padding: 14px 12px !important;
  }

  body.trtl-mobile-creator-open .avatar-type-selector {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.trtl-mobile-creator-open .avatar-image-grid,
  body.trtl-mobile-creator-open .avatar-art-grid,
  body.trtl-mobile-creator-open .element-grid-avatar {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.trtl-mobile-creator-open #favoriteLeaderContainer {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-height: none !important;
    padding: 8px !important;
  }

  body.trtl-mobile-creator-open .leader-picker-card {
    min-height: 96px !important;
    padding: 10px 8px !important;
  }

  body.trtl-mobile-creator-open .leader-picker-card .lpc-name {
    font-size: 11px !important;
  }

  body.trtl-mobile-creator-open .create-avatar-button,
  body.trtl-mobile-creator-open .skip-avatar-button {
    width: 100% !important;
    min-height: 48px !important;
  }
}

@media (max-width: 520px) {
  body.trtl-mobile-play #ui {
    max-height: min(22vh, 185px) !important;
  }

  body.trtl-mobile-play #hand .card-ui {
    width: min(28vw, 92px) !important;
    min-width: 84px !important;
  }

  body.trtl-mobile-creator-open .avatar-image-grid,
  body.trtl-mobile-creator-open .avatar-art-grid,
  body.trtl-mobile-creator-open .element-grid-avatar {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  body.trtl-mobile-play #ui {
    top: calc(var(--trtl-safe-top) + 4px) !important;
    left: 6px !important;
    right: 6px !important;
    max-height: min(19vh, 176px) !important;
    padding: 6px 7px !important;
    gap: 5px !important;
    border-radius: 14px !important;
  }

  body.trtl-mobile-play #ui > h3 {
    margin: 0 0 3px 0 !important;
    font-size: 11px !important;
    letter-spacing: 0.8px !important;
  }

  body.trtl-mobile-play #leader-stats,
  body.trtl-mobile-play #stats {
    font-size: 10px !important;
    line-height: 1.18 !important;
  }

  body.trtl-mobile-play #weather-hud {
    gap: 4px !important;
    padding: 5px 6px !important;
    border-radius: 12px !important;
  }

  body.trtl-mobile-play #weather-hud > div,
  body.trtl-mobile-play #weather-hud small,
  body.trtl-mobile-play #weather-hud span,
  body.trtl-mobile-play #phase {
    font-size: 9px !important;
    line-height: 1.16 !important;
  }

  body.trtl-mobile-play #ui button {
    min-height: 32px !important;
    padding: 5px 8px !important;
    font-size: 10px !important;
    border-radius: 10px !important;
  }

  body.trtl-mobile-play #trtl-mobile-toolbar {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: max-content !important;
    max-width: calc(100vw - 14px) !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 6px !important;
    border-radius: 999px !important;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 82px) !important;
    background: rgba(2, 14, 25, 0.94) !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.34) !important;
  }

  body.trtl-mobile-play #trtl-mobile-toolbar button {
    width: auto !important;
    min-width: 64px !important;
    min-height: 34px !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    line-height: 1 !important;
  }

  body.trtl-mobile-play #log,
  body.trtl-mobile-play #card-details {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 118px) !important;
    max-height: min(24vh, 180px) !important;
  }

  body.trtl-mobile-play #card-details h4 {
    font-size: 13px !important;
    margin-bottom: 4px !important;
  }

  body.trtl-mobile-play #detail-desc,
  body.trtl-mobile-play #detail-stats {
    font-size: 11px !important;
    line-height: 1.24 !important;
  }

  body.trtl-mobile-play #v3-phase-hud,
  body.trtl-mobile-play #trtl-turn-timer-hud {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 150px) !important;
  }

  body.trtl-mobile-play #v3-weather-bar {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 126px) !important;
  }

  body.trtl-mobile-play #hand {
    gap: 6px !important;
    padding: 6px 6px calc(max(8px, env(safe-area-inset-bottom)) + 4px) !important;
    background: linear-gradient(180deg, rgba(2, 11, 22, 0), rgba(2, 11, 22, 0.28) 18%, rgba(2, 11, 22, 0.92) 46%) !important;
  }

  body.trtl-mobile-play #hand .card-ui {
    width: min(26vw, 88px) !important;
    min-width: 80px !important;
  }

  body.trtl-mobile-creator-open .avatar-creator-wrapper {
    padding: 12px !important;
  }

  body.trtl-mobile-creator-open .avatar-form-panel {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  body.trtl-mobile-creator-open .section-title-avatar {
    font-size: 16px !important;
    margin: 12px 0 4px !important;
    padding-bottom: 5px !important;
  }

  body.trtl-mobile-creator-open .type-btn-avatar {
    min-height: 44px !important;
    padding: 10px 8px !important;
    font-size: 14px !important;
    border-radius: 12px !important;
  }

  body.trtl-mobile-creator-open .avatar-img-option,
  body.trtl-mobile-creator-open #avatarImageGrid > *,
  body.trtl-mobile-creator-open #avatarArtGrid > *,
  body.trtl-mobile-creator-open #elementGrid > * {
    min-height: 70px !important;
  }

  body.trtl-mobile-creator-open #favoriteLeaderContainer {
    gap: 8px !important;
  }

  body.trtl-mobile-creator-open #avatar-screen-wallet {
    margin-top: 12px !important;
    padding: 10px !important;
    border-radius: 12px !important;
  }
}

@media (max-width: 520px) {
  body.trtl-mobile-play #ui {
    max-height: min(18vh, 158px) !important;
  }

  body.trtl-mobile-play #trtl-mobile-toolbar {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 76px) !important;
    max-width: calc(100vw - 10px) !important;
  }

  body.trtl-mobile-play #trtl-mobile-toolbar button {
    min-width: 58px !important;
    padding: 7px 8px !important;
    font-size: 10px !important;
  }

  body.trtl-mobile-play #log,
  body.trtl-mobile-play #card-details {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 110px) !important;
  }

  body.trtl-mobile-play #v3-phase-hud,
  body.trtl-mobile-play #trtl-turn-timer-hud {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 140px) !important;
  }

  body.trtl-mobile-play #v3-weather-bar {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 118px) !important;
  }

  body.trtl-mobile-play #hand .card-ui {
    width: min(25vw, 84px) !important;
    min-width: 76px !important;
  }

  body.trtl-mobile-creator-open .avatar-preview-panel {
    padding: 14px !important;
  }

  body.trtl-mobile-creator-open .avatar-preview-display,
  body.trtl-mobile-creator-open #avatarPreviewEmoji {
    width: 92px !important;
    height: 92px !important;
  }

  body.trtl-mobile-creator-open .avatar-name-display {
    font-size: 21px !important;
  }
}

@media (max-width: 900px) {
  body.trtl-mobile-play #ui {
    top: calc(max(6px, env(safe-area-inset-top)) + 2px) !important;
    left: 6px !important;
    right: 6px !important;
    max-height: min(17vh, 148px) !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
    padding: 6px !important;
    gap: 4px !important;
  }

  body.trtl-mobile-play #leader-stats,
  body.trtl-mobile-play #stats {
    font-size: 9px !important;
    line-height: 1.12 !important;
  }

  body.trtl-mobile-play #weather-hud,
  body.trtl-mobile-play #phase {
    font-size: 9px !important;
    line-height: 1.12 !important;
  }

  body.trtl-mobile-play #ui button {
    min-height: 30px !important;
    padding: 4px 7px !important;
    font-size: 9px !important;
    margin: 1px 0 !important;
  }

  body.trtl-mobile-play #endTurn,
  body.trtl-mobile-play #drawCard,
  body.trtl-mobile-play #leaderAbility,
  body.trtl-mobile-play #trtl-terrain-ability {
    display: none !important;
  }

  body.trtl-mobile-play #trtl-mobile-actions {
    position: fixed !important;
    left: 8px !important;
    right: 8px !important;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 124px) !important;
    z-index: 2610 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 8px !important;
    border-radius: 18px !important;
    background: rgba(2, 14, 25, 0.94) !important;
    border: 1px solid rgba(64, 196, 255, 0.24) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.34) !important;
    backdrop-filter: blur(10px) !important;
  }

  body.trtl-mobile-play #trtl-mobile-actions button {
    min-height: 38px !important;
    padding: 8px 6px !important;
    font-size: 10px !important;
    border-radius: 999px !important;
    margin: 0 !important;
    width: 100% !important;
  }

  body.trtl-mobile-play #trtl-mobile-actions button.is-disabled,
  body.trtl-mobile-play #trtl-mobile-actions button:disabled {
    opacity: 0.45 !important;
    filter: grayscale(0.12) !important;
  }

  body.trtl-mobile-play #grid-popup-layer > #combat-ui,
  body.trtl-mobile-play #grid-popup-layer > #movement-ui,
  body.trtl-mobile-play #grid-popup-layer > #target-mode {
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 228px) !important;
    width: min(92vw, 360px) !important;
    max-width: min(92vw, 360px) !important;
    transform: translate(-50%, 0) !important;
  }

  body.trtl-mobile-play #log,
  body.trtl-mobile-play #card-details {
    left: 6px !important;
    right: 6px !important;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 168px) !important;
    max-height: min(20vh, 148px) !important;
    min-height: 0 !important;
    transform: translateY(calc(100% + 22px)) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.trtl-mobile-play.trtl-mobile-log-open #log,
  body.trtl-mobile-play.trtl-mobile-card-open #card-details {
    transform: translateY(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.trtl-mobile-play #trtl-mobile-toolbar {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 72px) !important;
  }

  body.trtl-mobile-play #v3-phase-hud,
  body.trtl-mobile-play #trtl-turn-timer-hud {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 198px) !important;
  }

  body.trtl-mobile-play #v3-weather-bar {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 176px) !important;
  }

  body.trtl-mobile-play #hand {
    gap: 6px !important;
    padding: 6px 6px calc(max(8px, env(safe-area-inset-bottom)) + 2px) !important;
  }
}

@media (max-width: 520px) {
  body.trtl-mobile-play #ui {
    max-height: min(16vh, 136px) !important;
  }

  body.trtl-mobile-play #leader-stats,
  body.trtl-mobile-play #stats,
  body.trtl-mobile-play #weather-hud,
  body.trtl-mobile-play #phase {
    font-size: 8px !important;
  }

  body.trtl-mobile-play #ui button {
    min-height: 28px !important;
    font-size: 8px !important;
    padding: 4px 6px !important;
  }

  body.trtl-mobile-play #log,
  body.trtl-mobile-play #card-details {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 154px) !important;
    max-height: min(18vh, 132px) !important;
  }

  body.trtl-mobile-play #trtl-mobile-actions {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 116px) !important;
    gap: 6px !important;
    padding: 6px !important;
  }

  body.trtl-mobile-play #trtl-mobile-actions button {
    min-height: 34px !important;
    font-size: 9px !important;
    padding: 7px 5px !important;
  }
}

@media (max-width: 900px) {
  body.trtl-mobile-play #avatar-display {
    display: none !important;
  }

  body.trtl-mobile-play #ui {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(calc(100vw - 12px), 440px) !important;
    max-width: min(calc(100vw - 12px), 440px) !important;
    max-height: min(14vh, 124px) !important;
    padding: 5px 6px !important;
    gap: 3px !important;
    overflow: auto !important;
  }

  body.trtl-mobile-play #leader-stats,
  body.trtl-mobile-play #stats,
  body.trtl-mobile-play #weather-hud,
  body.trtl-mobile-play #phase {
    font-size: 8px !important;
    line-height: 1.08 !important;
  }

  body.trtl-mobile-play #trtl-mobile-actions {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(calc(100vw - 16px), 430px) !important;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 120px) !important;
    gap: 6px !important;
    padding: 6px !important;
  }

  body.trtl-mobile-play #trtl-mobile-actions button {
    min-height: 34px !important;
    padding: 7px 5px !important;
    font-size: 9px !important;
  }

  body.trtl-mobile-play #trtl-mobile-toolbar {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(calc(100vw - 44px), 292px) !important;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 76px) !important;
    padding: 6px !important;
    gap: 6px !important;
  }

  body.trtl-mobile-play #trtl-mobile-toolbar button {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 7px 4px !important;
    font-size: 10px !important;
  }

  body.trtl-mobile-play #log,
  body.trtl-mobile-play #card-details {
    left: 50% !important;
    right: auto !important;
    width: min(calc(100vw - 16px), 430px) !important;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 164px) !important;
    max-height: min(16vh, 118px) !important;
    transform: translate(-50%, calc(100% + 18px)) !important;
  }

  body.trtl-mobile-play.trtl-mobile-log-open #log,
  body.trtl-mobile-play.trtl-mobile-card-open #card-details {
    transform: translateX(-50%) !important;
  }

  body.trtl-mobile-play #v3-phase-hud,
  body.trtl-mobile-play #trtl-turn-timer-hud {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 188px) !important;
  }

  body.trtl-mobile-play #v3-weather-bar {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 168px) !important;
  }

  body.trtl-mobile-play #hand {
    padding: 4px 6px calc(max(8px, env(safe-area-inset-bottom)) + 2px) !important;
  }
}

@media (max-width: 900px) {
  body.trtl-mobile-play #depth-hud {
    top: calc(max(6px, env(safe-area-inset-top)) + 4px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: min(calc(100vw - 112px), 250px) !important;
    min-width: 210px !important;
    max-width: 250px !important;
    padding: 6px 10px !important;
    z-index: 2760 !important;
  }

  body.trtl-mobile-play #depth-hud > div:first-child {
    margin-bottom: 4px !important;
    font-size: 8px !important;
    letter-spacing: 1px !important;
  }

  body.trtl-mobile-play #ui {
    top: calc(max(6px, env(safe-area-inset-top)) + 88px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(calc(100vw - 12px), 440px) !important;
    max-width: min(calc(100vw - 12px), 440px) !important;
    max-height: min(13vh, 112px) !important;
    padding: 4px 6px !important;
    gap: 2px !important;
  }

  body.trtl-mobile-play #ui > h3,
  body.trtl-mobile-play #phase,
  body.trtl-mobile-play #weather-desc,
  body.trtl-mobile-play #weather-intensity,
  body.trtl-mobile-play #trtl-synergy-indicator {
    display: none !important;
  }

  body.trtl-mobile-play #leader-stats,
  body.trtl-mobile-play #stats {
    font-size: 8px !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin: 0 !important;
  }

  body.trtl-mobile-play #weather-hud {
    padding: 4px 6px !important;
    gap: 4px !important;
    min-height: 0 !important;
  }

  body.trtl-mobile-play #weather-hud > div,
  body.trtl-mobile-play #weather-hud small,
  body.trtl-mobile-play #weather-hud span,
  body.trtl-mobile-play #trtl-weather-forecast {
    font-size: 8px !important;
    line-height: 1.08 !important;
  }

  body.trtl-mobile-play #trtl-weather-forecast {
    padding: 2px 6px !important;
  }

  body.trtl-mobile-play #trtl-mobile-actions {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 194px) !important;
  }

  body.trtl-mobile-play #trtl-mobile-toolbar {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 142px) !important;
  }

  body.trtl-mobile-play #log,
  body.trtl-mobile-play #card-details {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 236px) !important;
  }

  body.trtl-mobile-play #v3-phase-hud,
  body.trtl-mobile-play #trtl-turn-timer-hud {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 258px) !important;
  }

  body.trtl-mobile-play #v3-weather-bar {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 240px) !important;
  }

  body.trtl-mobile-play #in-game-menu {
    top: calc(max(6px, env(safe-area-inset-top)) + 8px) !important;
    left: 8px !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 2780 !important;
    pointer-events: auto !important;
  }

  body.trtl-mobile-play #menu-btn {
    min-width: 0 !important;
    padding: 6px 10px !important;
    font-size: 10px !important;
    border-radius: 10px !important;
  }

  body.trtl-mobile-play #audio-controls {
    display: none !important;
  }

  body.trtl-mobile-play #hand {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    transform: none !important;
    min-height: 126px !important;
    align-items: flex-end !important;
    overflow-y: visible !important;
    padding: 4px 6px calc(max(8px, env(safe-area-inset-bottom)) + 6px) !important;
  }

  body.trtl-mobile-play #hand .card-ui {
    width: min(24vw, 78px) !important;
    min-width: 70px !important;
    height: 112px !important;
    border-radius: 16px !important;
  }
}

@media (max-width: 520px) {
  body.trtl-mobile-play #depth-hud {
    width: min(calc(100vw - 108px), 232px) !important;
    min-width: 196px !important;
  }

  body.trtl-mobile-play #ui {
    top: calc(max(6px, env(safe-area-inset-top)) + 84px) !important;
    max-height: min(12vh, 104px) !important;
  }

  body.trtl-mobile-play #trtl-mobile-actions {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 188px) !important;
  }

  body.trtl-mobile-play #trtl-mobile-toolbar {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 136px) !important;
  }

  body.trtl-mobile-play #hand .card-ui {
    width: min(22vw, 74px) !important;
    min-width: 66px !important;
    height: 104px !important;
  }
}

@media (max-width: 960px) and (max-height: 540px) and (orientation: landscape) {
  body.trtl-mobile-play #depth-hud {
    top: calc(max(6px, env(safe-area-inset-top)) + 4px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(calc(100vw - 320px), 260px) !important;
    min-width: 198px !important;
    max-width: 260px !important;
    padding: 4px 9px !important;
    border-radius: 16px !important;
  }

  body.trtl-mobile-play #depth-hud > div:first-child {
    margin-bottom: 3px !important;
    font-size: 7px !important;
  }

  body.trtl-mobile-play #depth-hud > div:not(:first-child) {
    gap: 6px !important;
    font-size: 8px !important;
  }

  body.trtl-mobile-play #depth-hud > div:not(:first-child) > span:first-child {
    min-width: 22px !important;
    font-size: 7px !important;
  }

  body.trtl-mobile-play #depth-hud > div:not(:first-child) > span:last-child {
    min-width: 28px !important;
    font-size: 8px !important;
  }

  body.trtl-mobile-play #depth-hud > div:not(:first-child) > div {
    height: 6px !important;
  }

  body.trtl-mobile-play #trtl-mobile-battle-toggle {
    position: fixed !important;
    top: calc(max(6px, env(safe-area-inset-top)) + 44px) !important;
    left: 8px !important;
    right: auto !important;
    z-index: 2785 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    width: 92px !important;
    min-width: 92px !important;
    max-width: 92px !important;
    min-height: 0 !important;
    max-height: 32px !important;
    padding: 6px 10px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(64, 196, 255, 0.38) !important;
    background: linear-gradient(180deg, rgba(33, 150, 243, 0.28), rgba(12, 32, 58, 0.94)) !important;
    color: #e1f5fe !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    flex: none !important;
  }

  body.trtl-mobile-play.trtl-mobile-landscape #trtl-mobile-battle-toggle {
    display: inline-flex !important;
  }

  body.trtl-mobile-play #ui {
    display: none !important;
    pointer-events: none !important;
  }

  body.trtl-mobile-play.trtl-mobile-landscape.trtl-mobile-landscape-hud-open #ui {
    display: flex !important;
    pointer-events: auto !important;
    top: calc(max(6px, env(safe-area-inset-top)) + 88px) !important;
    left: 8px !important;
    right: auto !important;
    transform: none !important;
    width: min(30vw, 258px) !important;
    max-width: min(30vw, 258px) !important;
    max-height: min(44vh, 188px) !important;
    padding: 8px 10px !important;
    gap: 5px !important;
    border-radius: 20px !important;
    overflow: auto !important;
  }

  body.trtl-mobile-play #leader-stats,
  body.trtl-mobile-play #stats {
    font-size: 8px !important;
    line-height: 1.12 !important;
    white-space: normal !important;
  }

  body.trtl-mobile-play #weather-hud {
    padding: 5px 6px !important;
    gap: 4px !important;
  }

  body.trtl-mobile-play #weather-hud > div,
  body.trtl-mobile-play #weather-hud small,
  body.trtl-mobile-play #weather-hud span,
  body.trtl-mobile-play #trtl-weather-forecast {
    font-size: 8px !important;
    line-height: 1.12 !important;
    white-space: normal !important;
  }

  body.trtl-mobile-play #trtl-mobile-actions {
    top: auto !important;
    bottom: calc(max(6px, env(safe-area-inset-bottom)) + 46px) !important;
    left: auto !important;
    right: 8px !important;
    transform: none !important;
    width: min(34vw, 290px) !important;
    padding: 5px !important;
    gap: 5px !important;
  }

  body.trtl-mobile-play #trtl-mobile-actions button {
    min-height: 28px !important;
    padding: 5px 6px !important;
    font-size: 8px !important;
  }

  body.trtl-mobile-play #trtl-mobile-toolbar {
    top: auto !important;
    bottom: calc(max(6px, env(safe-area-inset-bottom)) + 6px) !important;
    left: auto !important;
    right: 8px !important;
    transform: none !important;
    width: min(28vw, 220px) !important;
    padding: 5px !important;
    gap: 5px !important;
  }

  body.trtl-mobile-play #trtl-mobile-toolbar button {
    min-height: 30px !important;
    padding: 5px 4px !important;
    font-size: 9px !important;
  }

  body.trtl-mobile-play #log,
  body.trtl-mobile-play #card-details {
    top: auto !important;
    bottom: calc(max(6px, env(safe-area-inset-bottom)) + 54px) !important;
    left: auto !important;
    right: 8px !important;
    width: min(36vw, 300px) !important;
    max-height: min(42vh, 170px) !important;
    transform: translateX(calc(100% + 12px)) !important;
  }

  body.trtl-mobile-play.trtl-mobile-log-open #log,
  body.trtl-mobile-play.trtl-mobile-card-open #card-details {
    transform: translateX(0) !important;
  }

  body.trtl-mobile-play #v3-phase-hud,
  body.trtl-mobile-play #trtl-turn-timer-hud,
  body.trtl-mobile-play #v3-weather-bar {
    display: none !important;
  }

  body.trtl-mobile-play #in-game-menu {
    top: calc(max(6px, env(safe-area-inset-top)) + 8px) !important;
    left: 8px !important;
    z-index: 2780 !important;
    pointer-events: auto !important;
  }

  body.trtl-mobile-play #dropdown {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    bottom: auto !important;
    left: 0 !important;
    right: auto !important;
    width: min(42vw, 240px) !important;
    max-height: min(58vh, 240px) !important;
    overflow: auto !important;
    z-index: 2790 !important;
  }

  body.trtl-mobile-play #hand {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    transform: none !important;
    min-height: 116px !important;
    padding: 4px min(36vw, 320px) calc(max(6px, env(safe-area-inset-bottom)) + 6px) 8px !important;
    gap: 6px !important;
    justify-content: flex-start !important;
  }

  body.trtl-mobile-play #hand .card-ui {
    width: min(12vw, 92px) !important;
    min-width: 74px !important;
    height: 108px !important;
    border-radius: 14px !important;
  }
}

@media (max-width: 900px) and (orientation: portrait) {
  body.trtl-mobile-play #ui {
    top: calc(max(6px, env(safe-area-inset-top)) + 88px) !important;
    left: 8px !important;
    right: auto !important;
    transform: none !important;
    width: min(calc(100vw - 88px), 320px) !important;
    max-width: min(calc(100vw - 88px), 320px) !important;
    max-height: min(19vh, 152px) !important;
    padding: 7px 8px !important;
    gap: 4px !important;
    border-radius: 20px !important;
    overflow: auto !important;
  }

  body.trtl-mobile-play #leader-stats,
  body.trtl-mobile-play #stats {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.14 !important;
  }

  body.trtl-mobile-play #weather-hud {
    padding: 5px 6px !important;
    gap: 4px !important;
  }

  body.trtl-mobile-play #weather-hud > div,
  body.trtl-mobile-play #weather-hud small,
  body.trtl-mobile-play #weather-hud span,
  body.trtl-mobile-play #trtl-weather-forecast {
    white-space: normal !important;
  }

  body.trtl-mobile-play #trtl-mobile-actions {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 182px) !important;
  }

  body.trtl-mobile-play #trtl-mobile-toolbar {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 130px) !important;
  }

  body.trtl-mobile-play #log,
  body.trtl-mobile-play #card-details {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 224px) !important;
  }
}

@media (max-width: 520px) and (orientation: portrait) {
  body.trtl-mobile-play #ui {
    width: min(calc(100vw - 84px), 304px) !important;
    max-width: min(calc(100vw - 84px), 304px) !important;
    max-height: min(18vh, 146px) !important;
  }

  body.trtl-mobile-play #trtl-mobile-actions {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 176px) !important;
  }

  body.trtl-mobile-play #trtl-mobile-toolbar {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 126px) !important;
  }

  body.trtl-mobile-play #log,
  body.trtl-mobile-play #card-details {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 216px) !important;
  }
}

body.trtl-mobile-play #combat-ui,
body.trtl-mobile-play #movement-ui {
  display: none !important;
  pointer-events: none !important;
}

body.trtl-mobile-play #target-mode {
  left: 50% !important;
  right: auto !important;
  top: auto !important;
  bottom: calc(max(8px, env(safe-area-inset-bottom)) + 228px) !important;
  width: min(92vw, 340px) !important;
  max-width: min(92vw, 340px) !important;
  max-height: min(22vh, 160px) !important;
  overflow: auto !important;
  transform: translateX(-50%) !important;
}

body.trtl-mobile-play #target-mode::after {
  display: none !important;
}

/* Viewport safety layer: prevent screen and popup overlap on scaled or smaller desktops */
:root {
  --trtl-overlay-gutter: clamp(12px, 2vw, 24px);
  --trtl-overlay-max-h: calc(100vh - (var(--trtl-overlay-gutter) * 2));
  --trtl-overlay-max-h-dynamic: calc(100dvh - (var(--trtl-overlay-gutter) * 2));
}

#menu,
#avatar-creation-screen,
#multiplayer-screen,
#campaign-screen,
#free-duel-screen,
#achievements-screen,
#loading-screen,
#reward-popup,
#wallet-auth-modal,
#ui-modal-overlay,
#trtl-startup-gate,
#trtl-recovery-overlay,
#victory-screen {
  isolation: isolate;
  box-sizing: border-box;
}

#menu {
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  width: 100vw !important;
  max-width: none !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-height: none !important;
  padding: clamp(18px, 2vw, 32px) !important;
  overflow: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

#menu::before {
  display: none !important;
}

#menu .menu-inner,
#menu > div[style*="max-width: 1600px"],
#menu .trtl-menu-layout {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

#menu > div[style*="max-width: 1600px"],
#menu .trtl-menu-layout {
  width: min(100%, 1560px) !important;
  margin: 0 auto !important;
}

#menu > div[style*="max-width: 1600px"] > div,
#menu .trtl-menu-layout > .trtl-menu-profile-panel,
#menu .trtl-menu-layout > .trtl-menu-actions-panel,
#deck-builder-popup > div[style*="display:flex;gap:16px;height:480px;"] > div {
  min-width: 0 !important;
}

#menu-avatar-card,
#menu-avatar-card > div,
#wallet-status-bar,
#wsb-stats {
  min-width: 0 !important;
}

#avatar-creation-screen,
#multiplayer-screen,
#campaign-screen,
#free-duel-screen,
#achievements-screen,
#reward-popup,
#ui-modal-overlay,
#wallet-auth-modal,
#victory-screen {
  padding: var(--trtl-overlay-gutter) !important;
  overflow: auto !important;
  overscroll-behavior: contain;
}

#avatar-creation-screen .avatar-creator-wrapper,
#multiplayer-screen > div,
#campaign-screen > div,
#free-duel-screen > div,
#achievements-screen > div {
  width: min(100%, 1220px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

#achievements-screen .achievements-profile-card{
  display:flex;
  align-items:center;
  gap:20px;
  padding:20px;
  margin-bottom:18px;
  border-radius:22px;
  border:2px solid rgba(64,196,255,0.24);
  background:linear-gradient(145deg,rgba(0,22,46,0.92),rgba(6,37,64,0.9));
  box-shadow:0 12px 32px rgba(0,0,0,0.28);
}

#achievements-screen .achievements-profile-avatar{
  width:104px;
  height:104px;
  min-width:104px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid rgba(64,196,255,0.45);
  background:radial-gradient(circle at 35% 30%,rgba(129,212,250,0.32),rgba(0,28,52,0.92));
  box-shadow:0 0 28px rgba(64,196,255,0.18);
  overflow:hidden;
}

#achievements-screen .achievements-profile-copy{
  min-width:0;
  flex:1;
}

#achievements-screen .achievements-profile-copy h2{
  margin:0 0 8px;
  font-size:clamp(24px,3vw,34px);
  color:#e6f7ff;
}

#achievements-screen .achievements-profile-copy p{
  margin:0 0 12px;
  color:#b3e5fc;
  line-height:1.5;
}

#achievements-screen .achievements-eyebrow{
  margin-bottom:8px;
  font-size:12px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#81d4fa;
}

#achievements-screen .achievements-profile-tags{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

#achievements-screen .achievements-profile-tags span{
  padding:6px 10px;
  border-radius:999px;
  background:rgba(64,196,255,0.1);
  border:1px solid rgba(64,196,255,0.2);
  color:#d6f4ff;
  font-size:12px;
}

#achievements-screen .achievements-stats-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:12px;
  margin-bottom:18px;
}

#achievements-screen .achievement-stat-card{
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(64,196,255,0.18);
  background:linear-gradient(145deg,rgba(0,18,36,0.9),rgba(4,28,50,0.92));
  box-shadow:0 8px 22px rgba(0,0,0,0.24);
}

#achievements-screen .achievement-stat-label{
  display:block;
  margin-bottom:8px;
  color:#80deea;
  font-size:12px;
  letter-spacing:1px;
  text-transform:uppercase;
}

#achievements-screen .achievement-stat-value{
  display:block;
  color:#f4fbff;
  font-size:18px;
  line-height:1.35;
  word-break:break-word;
}

#achievements-screen .achievements-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:14px;
}

#achievements-screen .achievement-card{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:16px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,0.09);
  background:linear-gradient(145deg,rgba(0,14,28,0.9),rgba(4,24,44,0.92));
  box-shadow:0 10px 26px rgba(0,0,0,0.22);
}

#achievements-screen .achievement-card.complete{
  border-color:rgba(129,199,132,0.38);
  background:linear-gradient(145deg,rgba(10,38,36,0.94),rgba(8,52,46,0.92));
  box-shadow:0 12px 28px rgba(0,0,0,0.26),0 0 24px rgba(129,199,132,0.12);
}

#achievements-screen .achievement-card-icon{
  width:48px;
  height:48px;
  min-width:48px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  background:rgba(64,196,255,0.12);
  border:1px solid rgba(64,196,255,0.2);
}

#achievements-screen .achievement-card-copy{
  min-width:0;
  flex:1;
}

#achievements-screen .achievement-card-title-row{
  display:flex;
  gap:10px;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:8px;
}

#achievements-screen .achievement-card-title-row h3{
  margin:0;
  color:#edfaff;
  font-size:18px;
}

#achievements-screen .achievement-card-copy p{
  margin:0;
  color:#b0dff0;
  line-height:1.45;
  font-size:14px;
}

#achievements-screen .achievement-card-badge{
  padding:5px 10px;
  border-radius:999px;
  font-size:11px;
  letter-spacing:1px;
  text-transform:uppercase;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.12);
  color:#cdefff;
  white-space:nowrap;
}

#achievements-screen .achievement-card.complete .achievement-card-badge{
  background:rgba(129,199,132,0.18);
  border-color:rgba(129,199,132,0.28);
  color:#d5ffd8;
}

@media (max-width: 900px){
  #achievements-screen .achievements-profile-card{
    flex-direction:column;
    align-items:flex-start;
  }

  #achievements-screen .achievements-grid{
    grid-template-columns:minmax(0,1fr);
  }
}

#deck-builder-popup,
#options-popup,
#shop-popup {
  width: min(96vw, 1120px) !important;
  max-width: min(96vw, 1120px) !important;
  max-height: var(--trtl-overlay-max-h) !important;
  max-height: var(--trtl-overlay-max-h-dynamic) !important;
  overflow: auto !important;
  overscroll-behavior: contain;
  box-sizing: border-box !important;
}

#ui-modal,
#wallet-auth-modal .wam-box {
  width: min(92vw, 560px) !important;
  max-width: min(92vw, 560px) !important;
  max-height: var(--trtl-overlay-max-h) !important;
  max-height: var(--trtl-overlay-max-h-dynamic) !important;
  overflow: auto !important;
  overscroll-behavior: contain;
  box-sizing: border-box !important;
}

#reward-content,
#victory-screen > div {
  width: min(92vw, 720px) !important;
  max-width: min(92vw, 720px) !important;
  max-height: var(--trtl-overlay-max-h) !important;
  max-height: var(--trtl-overlay-max-h-dynamic) !important;
  overflow: auto !important;
  overscroll-behavior: contain;
  box-sizing: border-box !important;
}

@media (max-width: 1480px), (max-height: 940px) {
  #menu > div[style*="max-width: 1600px"],
  #menu .trtl-menu-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: stretch !important;
    padding: 0 !important;
  }

  #menu > div[style*="max-width: 1600px"] > div,
  #menu .trtl-menu-layout > .trtl-menu-profile-panel,
  #menu .trtl-menu-layout > .trtl-menu-actions-panel {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
  }

  #menu-avatar-card {
    min-height: 0 !important;
  }

  #avatar-creation-screen .avatar-creator-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 1280px), (max-height: 880px) {
  #deck-builder-popup > div[style*="display:flex;gap:16px;height:480px;"] {
    flex-direction: column !important;
    height: auto !important;
  }
}

@media (max-height: 860px) and (min-width: 901px) {
  #avatar-display,
  #ui,
  #log,
  #card-details {
    overflow: auto !important;
  }

  #avatar-display {
    max-height: min(28vh, 240px) !important;
  }

  #ui {
    max-height: min(30vh, 270px) !important;
  }

  #log {
    height: min(22vh, 190px) !important;
    max-height: min(22vh, 190px) !important;
  }

  #card-details {
    width: min(320px, 28vw) !important;
    height: min(24vh, 210px) !important;
    max-height: min(24vh, 210px) !important;
  }
}

body.trtl-main-menu-open #left-column,
body.trtl-main-menu-open #ui,
body.trtl-main-menu-open #log,
body.trtl-main-menu-open #avatar-display,
body.trtl-main-menu-open #hand,
body.trtl-main-menu-open #card-details,
body.trtl-main-menu-open #deck-stack,
body.trtl-main-menu-open #deck-count,
body.trtl-main-menu-open #toggle-graveyard,
body.trtl-main-menu-open #undo-btn,
body.trtl-main-menu-open #save-load,
body.trtl-main-menu-open #dropdown,
body.trtl-main-menu-open #in-game-menu,
body.trtl-main-menu-open #combat-ui,
body.trtl-main-menu-open #movement-ui,
body.trtl-main-menu-open #target-mode,
body.trtl-main-menu-open #battlefield-tooltip,
body.trtl-main-menu-open #grid-popup-layer,
body.trtl-main-menu-open #trtl-mobile-toolbar,
body.trtl-main-menu-open #trtl-mobile-actions,
body.trtl-main-menu-open #trtl-mobile-battle-toggle,
body.trtl-main-menu-open #trtl-mobile-tip,
body.trtl-main-menu-open #v3-phase-hud,
body.trtl-main-menu-open #v3-weather-bar,
body.trtl-main-menu-open #trtl-turn-timer-hud {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (min-width: 901px) {
  body.trtl-battle-active #left-column {
    display: flex !important;
    visibility: visible !important;
  }

  body.trtl-battle-active #log {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

/* Final mobile in-battle menu safety overrides */
body.trtl-mobile-play #in-game-menu {
  position: fixed !important;
  left: max(8px, env(safe-area-inset-left)) !important;
  top: calc(max(8px, env(safe-area-inset-top)) + 8px) !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  z-index: 2780 !important;
  pointer-events: auto !important;
}

body.trtl-mobile-play #menu-btn {
  min-width: 0 !important;
  min-height: 32px !important;
  padding: 6px 10px !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  border-radius: 11px !important;
}

body.trtl-mobile-play #audio-controls {
  display: none !important;
}

body.trtl-mobile-play #dropdown {
  position: fixed !important;
  left: max(8px, env(safe-area-inset-left)) !important;
  top: calc(max(8px, env(safe-area-inset-top)) + 48px) !important;
  right: auto !important;
  bottom: auto !important;
  width: min(78vw, 260px) !important;
  max-width: calc(100vw - max(16px, env(safe-area-inset-left) + env(safe-area-inset-right)) - 16px) !important;
  max-height: min(58dvh, 320px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 8px !important;
  border-radius: 14px !important;
  z-index: 2790 !important;
}

body.trtl-mobile-play #dropdown button {
  width: 100% !important;
  min-height: 34px !important;
  margin: 4px 0 !important;
  padding: 8px 10px !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
  border-radius: 10px !important;
}

@media (max-width: 900px) and (orientation: portrait) {
  body.trtl-mobile-play #dropdown {
    width: min(82vw, 280px) !important;
    max-height: min(56dvh, 340px) !important;
  }
}

@media (max-width: 960px) and (max-height: 540px) and (orientation: landscape) {
  body.trtl-mobile-play #in-game-menu {
    left: max(8px, env(safe-area-inset-left)) !important;
    top: calc(max(6px, env(safe-area-inset-top)) + 8px) !important;
  }

  body.trtl-mobile-play #menu-btn {
    min-height: 28px !important;
    padding: 5px 9px !important;
    font-size: 10px !important;
    border-radius: 10px !important;
  }

  body.trtl-mobile-play #dropdown {
    top: calc(max(6px, env(safe-area-inset-top)) + 42px) !important;
    width: min(34vw, 220px) !important;
    max-height: min(52dvh, 220px) !important;
    padding: 6px !important;
  }

  body.trtl-mobile-play #dropdown button {
    min-height: 28px !important;
    margin: 3px 0 !important;
    padding: 6px 8px !important;
    font-size: 9px !important;
    border-radius: 9px !important;
  }
}
#tutorial-overlay{position:fixed;inset:0;display:none;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;background:radial-gradient(circle at 20% 20%,rgba(64,196,255,.16),transparent 34%),radial-gradient(circle at 80% 18%,rgba(129,212,250,.12),transparent 28%),linear-gradient(180deg,rgba(0,12,24,.92),rgba(0,24,40,.96));backdrop-filter:blur(16px);z-index:6500;text-align:center}#tutorial-overlay h2{margin:0;font-size:clamp(28px,4vw,42px);color:#d8f7ff;letter-spacing:1px;text-shadow:0 0 18px rgba(64,196,255,.35)}#tutorial-overlay p{width:min(760px,92vw);margin:0;line-height:1.5;font-size:clamp(14px,1.6vw,18px);color:rgba(224,247,250,.94)}#tutorial-overlay button{min-width:220px;min-height:48px;padding:12px 18px;border-radius:16px;border:2px solid rgba(64,196,255,.65);background:linear-gradient(145deg,rgba(3,63,112,.9),rgba(1,37,67,.95));color:#e0f7fa;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.34),0 0 24px rgba(64,196,255,.16);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}#tutorial-overlay button:hover{transform:translateY(-1px);border-color:rgba(128,222,234,.9);box-shadow:0 12px 32px rgba(0,0,0,.38),0 0 28px rgba(64,196,255,.24)}#startTutorial{background:linear-gradient(145deg,rgba(2,126,174,.96),rgba(1,72,123,.96))}#skipTutorial{background:linear-gradient(145deg,rgba(36,62,84,.94),rgba(19,35,49,.96))}#help-box{position:fixed;right:16px;bottom:16px;display:none;width:min(360px,calc(100vw - 32px));max-height:min(44vh,360px);overflow:auto;padding:16px 18px;border-radius:18px;border:2px solid rgba(64,196,255,.72);background:linear-gradient(180deg,rgba(0,18,34,.94),rgba(0,30,54,.94));box-shadow:0 18px 44px rgba(0,0,0,.42),0 0 34px rgba(64,196,255,.18);color:#e6f7ff;z-index:5600}#help-box h4{margin:0 0 8px;font-size:17px;color:#b3ecff}#help-box p{margin:0;line-height:1.45;font-size:14px}#step-status{margin-top:12px;font-size:13px;line-height:1.4}#next-step,#prev-step{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin-top:14px;margin-right:8px;padding:10px 14px;border-radius:12px;border:1px solid rgba(64,196,255,.5);background:rgba(5,47,74,.95);color:#e7faff;font-weight:700;cursor:pointer}#next-step:disabled{opacity:.52;cursor:not-allowed}.tutorial-ready{color:#8df0be;font-weight:700}.tutorial-pending{color:#ffd47b;font-weight:700}.tutorial-cta{box-shadow:0 0 0 2px rgba(128,222,234,.5),0 0 22px rgba(64,196,255,.38)!important;border-color:rgba(128,222,234,.92)!important}#hand .card-ui.tutorial-highlight{transform:translateY(-6px) scale(1.03);border-color:rgba(128,255,234,.96)!important;box-shadow:0 0 0 2px rgba(128,255,234,.45),0 14px 26px rgba(0,0,0,.34),0 0 28px rgba(64,196,255,.26)!important}#hand .card-ui.tutorial-dim{opacity:.48;filter:grayscale(.18) saturate(.78)}body.tutorial-active #menu,body.tutorial-active #tutorial-overlay{display:none}body.tutorial-active #in-game-menu{display:block !important;position:fixed !important;left:calc(var(--hud-left,14px) + var(--ui-w,360px) + 14px) !important;bottom:110px !important;top:auto !important;right:auto !important;z-index:5705 !important;pointer-events:auto !important}body.tutorial-active #menu-btn{min-width:84px !important;min-height:36px !important;padding:8px 12px !important;border-radius:12px !important;pointer-events:auto !important}body.tutorial-active #dropdown{position:fixed !important;left:calc(var(--hud-left,14px) + var(--ui-w,360px) + 14px) !important;bottom:158px !important;top:auto !important;right:auto !important;z-index:5706 !important;pointer-events:auto !important}@media (max-width:900px){#tutorial-overlay{padding:18px;gap:12px}#tutorial-overlay button{width:min(86vw,320px)}#help-box{left:50%;right:auto;bottom:auto;top:calc(max(10px,env(safe-area-inset-top)) + 58px);transform:translateX(-50%);width:min(92vw,420px);max-height:min(34vh,260px);padding:14px 15px}body.tutorial-active #in-game-menu{left:max(10px,env(safe-area-inset-left)) !important;right:auto !important;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 78px) !important;top:auto !important}body.tutorial-active #dropdown{left:max(10px,env(safe-area-inset-left)) !important;right:auto !important;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 126px) !important;top:auto !important;width:min(78vw,260px) !important;max-width:calc(100vw - max(16px,env(safe-area-inset-left) + env(safe-area-inset-right)) - 16px) !important}}@media (max-width:960px) and (orientation:landscape){#help-box{left:auto;top:auto;right:10px;bottom:86px;transform:none;width:min(42vw,360px);max-height:min(48vh,230px)}}

@media (max-width:900px){
  body.tutorial-active #help-box{
    top:auto !important;
    bottom:calc(max(12px,env(safe-area-inset-bottom)) + 138px) !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:min(94vw,420px) !important;
    max-height:min(32vh,240px) !important;
    padding:12px 13px !important;
  }

  body.tutorial-active #next-step,
  body.tutorial-active #prev-step{
    min-height:44px !important;
    font-size:14px !important;
    padding:10px 12px !important;
  }

  body.tutorial-active #step-status{
    font-size:12px !important;
  }
}

/* Tutorial panel compact layout overrides */
body.tutorial-active #help-box{
  left:50% !important;
  right:auto !important;
  top:auto !important;
  bottom:calc(max(14px, env(safe-area-inset-bottom)) + 112px) !important;
  transform:translateX(-50%) !important;
  width:min(360px, calc(100vw - 28px)) !important;
  max-width:calc(100vw - 24px) !important;
  max-height:min(27vh, 220px) !important;
  padding:12px 14px !important;
  border-radius:16px !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  box-shadow:0 10px 26px rgba(0,0,0,.34),0 0 22px rgba(64,196,255,.15) !important;
}

body.tutorial-active #help-box h4{
  margin:0 !important;
  font-size:clamp(15px, 1.15vw, 18px) !important;
  line-height:1.15 !important;
}

body.tutorial-active #help-text{
  margin:0 !important;
  font-size:clamp(12px, 0.95vw, 14px) !important;
  line-height:1.35 !important;
  max-height:8.2em !important;
  overflow-y:auto !important;
  padding-right:4px !important;
}

body.tutorial-active #step-status{
  margin-top:0 !important;
  font-size:11px !important;
  line-height:1.3 !important;
}

body.tutorial-active #next-step,
body.tutorial-active #prev-step{
  min-height:36px !important;
  margin-top:2px !important;
  margin-right:6px !important;
  padding:8px 12px !important;
  font-size:12px !important;
  border-radius:10px !important;
}

@media (min-width: 901px){
  body.tutorial-active #in-game-menu{
    left:calc(var(--hud-left,14px) + var(--ui-w,360px) + 30px) !important;
  }

  body.tutorial-active #dropdown{
    left:calc(var(--hud-left,14px) + var(--ui-w,360px) + 30px) !important;
  }

  body.tutorial-active #help-box{
    left:auto !important;
    right:calc(var(--hud-right,14px) + var(--deck-w,128px) + var(--hud-gap,10px) + var(--menu-w,92px) + var(--hud-gap,10px)) !important;
    transform:none !important;
    width:min(320px, 28vw) !important;
    max-width:min(320px, 28vw) !important;
    max-height:min(23vh, 200px) !important;
    bottom:calc(var(--hud-bottom,14px) + 186px) !important;
  }

  body.tutorial-active #help-text{
    max-height:6.8em !important;
  }
}

@media (max-width: 900px) and (orientation: portrait){
  body.tutorial-active #help-box{
    width:min(94vw, 360px) !important;
    max-height:min(24dvh, 198px) !important;
    bottom:calc(max(10px, env(safe-area-inset-bottom)) + 122px) !important;
    padding:10px 12px !important;
    gap:6px !important;
  }

  body.tutorial-active #help-box h4{
    font-size:15px !important;
  }

  body.tutorial-active #help-text{
    font-size:12px !important;
    line-height:1.3 !important;
    max-height:6.6em !important;
  }

  body.tutorial-active #step-status{
    font-size:11px !important;
  }

  body.tutorial-active #next-step,
  body.tutorial-active #prev-step{
    min-height:34px !important;
    font-size:11px !important;
    padding:7px 10px !important;
  }
}

@media (max-width: 960px) and (orientation: landscape){
  body.tutorial-active #help-box{
    left:auto !important;
    right:max(8px, env(safe-area-inset-right)) !important;
    bottom:calc(max(8px, env(safe-area-inset-bottom)) + 74px) !important;
    transform:none !important;
    width:min(320px, 38vw) !important;
    max-height:min(48vh, 210px) !important;
    padding:10px 12px !important;
  }

  body.tutorial-active #help-text{
    max-height:7em !important;
  }
}

/* Final mobile tutorial dock overrides */
@media (max-width: 900px) and (orientation: portrait){
  body.tutorial-active #help-box{
    top:calc(max(8px, env(safe-area-inset-top)) + 84px) !important;
    right:max(8px, env(safe-area-inset-right)) !important;
    left:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:min(250px, calc(100vw - 18px)) !important;
    max-width:min(250px, calc(100vw - 18px)) !important;
    max-height:min(34vh, 210px) !important;
    padding:10px 11px !important;
    gap:6px !important;
    z-index:5610 !important;
  }

  body.tutorial-active #help-text{
    max-height:7.2em !important;
  }
}

@media (max-width: 960px) and (orientation: landscape){
  body.tutorial-active #help-box{
    top:max(8px, env(safe-area-inset-top)) !important;
    right:max(8px, env(safe-area-inset-right)) !important;
    left:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:min(270px, 34vw) !important;
    max-width:min(270px, 34vw) !important;
    max-height:min(52vh, 220px) !important;
    z-index:5610 !important;
  }
}

/* Final mobile tutorial HUD safety overrides */
@media (max-width: 900px){
  body.trtl-mobile-play.tutorial-active #help-box{
    top:calc(max(8px, env(safe-area-inset-top)) + 74px) !important;
    right:max(8px, env(safe-area-inset-right)) !important;
    left:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:min(244px, calc(100vw - 16px)) !important;
    max-width:calc(100vw - 16px) !important;
    max-height:170px !important;
    padding:9px 10px !important;
    gap:5px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    z-index:5615 !important;
  }

  body.trtl-mobile-play.tutorial-active #help-box h4{
    margin:0 0 4px 0 !important;
    font-size:14px !important;
    line-height:1.1 !important;
  }

  body.trtl-mobile-play.tutorial-active #help-text,
  body.trtl-mobile-play.tutorial-active #help-box p{
    margin:0 !important;
    font-size:11px !important;
    line-height:1.22 !important;
    max-height:62px !important;
    overflow-y:auto !important;
    padding-right:2px !important;
  }

  body.trtl-mobile-play.tutorial-active #step-status{
    margin-top:0 !important;
    font-size:10px !important;
    line-height:1.18 !important;
  }

  body.trtl-mobile-play.tutorial-active #next-step,
  body.trtl-mobile-play.tutorial-active #prev-step{
    min-height:30px !important;
    margin-top:0 !important;
    margin-right:4px !important;
    padding:6px 9px !important;
    font-size:10px !important;
    border-radius:9px !important;
  }
}

@media (max-width: 960px) and (orientation: landscape){
  body.trtl-mobile-play.tutorial-active #help-box{
    top:calc(max(6px, env(safe-area-inset-top)) + 56px) !important;
    right:max(8px, env(safe-area-inset-right)) !important;
    left:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:min(240px, 31vw) !important;
    max-width:min(240px, 31vw) !important;
    max-height:150px !important;
    padding:8px 10px !important;
  }

  body.trtl-mobile-play.tutorial-active #help-text,
  body.trtl-mobile-play.tutorial-active #help-box p{
    max-height:48px !important;
  }
}