.login-page{width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#0a0a1a,#1a0a2e,#0a1a2e);overflow:hidden}.login-container{width:100%;max-width:400px;padding:40px;background:#ffffff0d;border-radius:20px;border:2px solid rgba(255,0,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 0 30px #ff00ff4d,inset 0 0 20px #ffffff0d}.login-header{text-align:center;margin-bottom:40px}.login-title{font-size:48px;font-weight:700;color:#f0f;text-shadow:0 0 10px #ff00ff,0 0 20px #ff00ff,0 0 40px #ff00ff;margin-bottom:10px;letter-spacing:4px}.login-subtitle{font-size:18px;color:#fff9;letter-spacing:2px}.login-form{margin-bottom:30px}.form-group{margin-bottom:24px}.form-label{display:block;font-size:14px;font-weight:600;color:#fff;margin-bottom:8px;text-shadow:0 0 8px #9d00ff}.form-input{width:100%;padding:15px 20px;font-size:16px;color:#fff;background:#ffffff1a;border:2px solid rgba(255,0,255,.3);border-radius:10px;outline:none;transition:all .3s ease;box-shadow:0 0 10px #f0f3}.form-input::placeholder{color:#fff6}.form-input:focus{border-color:#f0f;box-shadow:0 0 20px #ff00ff80;background:#ffffff26}.form-input:disabled{opacity:.5;cursor:not-allowed}.error-message{padding:12px 16px;margin-bottom:20px;font-size:14px;color:#f44;background:#ff44441a;border:1px solid rgba(255,68,68,.3);border-radius:8px;text-align:center}.login-button{width:100%;padding:15px;font-size:18px;font-weight:700;color:#fff;background:linear-gradient(135deg,#f0f,#9d00ff);border:2px solid #ff00ff;border-radius:10px;cursor:pointer;text-transform:uppercase;letter-spacing:2px;box-shadow:0 0 20px #f0f,inset 0 0 15px #ffffff1a;transition:all .3s ease}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 30px #f0f,inset 0 0 20px #fff3;background:linear-gradient(135deg,#f3f,#b033ff)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.5;cursor:not-allowed;background:linear-gradient(135deg,#666,#444);border-color:#666;box-shadow:0 0 10px #666}.login-footer{text-align:center}.footer-text{font-size:14px;color:#ffffff80}@media(max-width:768px){.login-container{max-width:90%;padding:30px 20px}.login-title{font-size:36px}.login-subtitle{font-size:16px}}.qr-code-wrapper{cursor:pointer;-webkit-user-select:none;user-select:none}.qr-code-border{position:relative;padding:4px;background:linear-gradient(90deg,#f0f,#0ff,#f0f,#0ff,#f0f);background-size:300% 100%;border-radius:16px;animation:qrBorderFlow 3s linear infinite;box-shadow:0 0 30px #f0fc}@keyframes qrBorderFlow{0%{background-position:0% 50%}to{background-position:300% 50%}}.qr-label{margin:0;padding:0}.dice-result-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:1200px;background:transparent;z-index:1000;opacity:1;transition:opacity .5s ease-in-out,transform .5s ease-in-out}.dice-result-modal.visible{opacity:1;transform:translate(-50%,-50%)}.dice-result-content{padding:30px;background:transparent;animation:userSwitch .6s ease-in-out}@keyframes userSwitch{0%{opacity:0;transform:translate(-100px)}to{opacity:1;transform:translate(0)}}.dice-player-info{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:20px;position:relative}.congratulations-text{font-size:64px;font-weight:950;color:gold;text-shadow:2px 2px 0px #FF6B35,4px 4px 0px #FF4500,6px 6px 0px #DC143C,8px 8px 0px #8B0000,0 0 30px #FFD700,0 0 60px #FFD700,0 0 90px #FF69B4,0 10px 30px rgba(0,0,0,.9);margin-bottom:30px;letter-spacing:10px;text-align:center;font-family:Arial Black,Microsoft YaHei,sans-serif;transform:perspective(400px) rotateX(-12deg) scaleY(1.3);transform-style:preserve-3d;transform-origin:center bottom;display:inline-block;position:relative;background:linear-gradient(180deg,#ffed4e,gold,orange);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 20px #FFD700)}.congratulations-text:before{content:"恭喜挑战成功";position:absolute;top:0;left:0;z-index:-1;color:#000;text-shadow:none;-webkit-text-fill-color:#000;transform:translateZ(-20px) scale(1.02);opacity:.8;filter:blur(3px)}.congratulations-text .char{display:inline-block;opacity:0;animation:charFlyIn .5s ease-out forwards}.char-1{animation-delay:0s}.char-2{animation-delay:.1s}.char-3{animation-delay:.2s}.char-4{animation-delay:.3s}.char-5{animation-delay:.4s}.char-6{animation-delay:.5s}@keyframes charFlyIn{0%{opacity:0;transform:translate(-150px) translateZ(50px) scale(.3) rotate(-30deg)}60%{transform:translate(15px) translateZ(10px) scale(1.15) rotate(8deg)}to{opacity:1;transform:translate(0) translateZ(0) scale(1) rotate(0)}}.congratulations-text:after{content:"";animation:textGlow 1.5s ease-in-out 1s infinite}@keyframes textGlow{0%,to{filter:brightness(1) drop-shadow(0 0 20px #FFD700)}50%{filter:brightness(1.4) drop-shadow(0 0 40px #FFD700)}}.dice-player-avatar{width:180px;height:180px;border-radius:50%;overflow:visible;background:#000000e6;display:flex;align-items:center;justify-content:center;position:relative;padding:4px}.dice-player-avatar:before{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(45deg,#f0f,#0ff,#f0f);background-size:200% 200%;z-index:-1;animation:avatarGradient 3s ease infinite}@keyframes avatarGradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.dice-player-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.dice-player-avatar-placeholder{font-size:80px}.dice-roll-count{text-align:center;font-size:20px;color:#fff;margin-bottom:20px;font-weight:600;background:#000c;padding:10px 20px;border-radius:12px;display:inline-block;margin-left:50%;transform:translate(-50%);box-shadow:0 0 20px #ff00ff80}.dice-roll-count .separator{margin:0 15px;color:#ffffff80}.dice-roll-count .highlight{color:#0ff;font-size:24px;font-weight:700;text-shadow:0 0 10px #00ffff}.dice-rolls-container{display:grid;grid-template-columns:repeat(10,1fr);gap:12px;padding:5px;justify-items:center}.dice-rolls-container::-webkit-scrollbar{display:none}.dice-score-box{background:linear-gradient(135deg,#ff00ffe6,#9d00ffe6);border:2px solid rgba(255,0,255,.8);border-radius:8px;padding:10px 16px;font-size:24px;font-weight:700;color:#fff;text-shadow:0 0 8px rgba(0,255,255,.5);min-width:65px;text-align:center;box-shadow:0 0 15px #f0f9;opacity:1;transition:all .3s ease}.dice-score-box.max-score{background:linear-gradient(135deg,#ffd700f2,#ffa500f2);border:2px solid #ffd700;color:#000;text-shadow:0 0 10px rgba(255,215,0,.8);box-shadow:0 0 25px #ffd700cc,0 0 35px #ffd70099;font-weight:700}@media(max-width:768px){.dice-result-modal{width:95%}.dice-result-content{padding:20px}.dice-player-avatar{width:120px;height:120px}.dice-player-avatar-placeholder{font-size:50px}.congratulations-text{font-size:48px;letter-spacing:6px;transform:perspective(300px) rotateX(-10deg) scaleY(1.25)}.congratulations-text .char{animation:charFlyInMobile .5s ease-out forwards}@keyframes charFlyInMobile{0%{opacity:0;transform:translate(-80px) translateZ(30px) scale(.3) rotate(-20deg)}60%{transform:translate(8px) translateZ(5px) scale(1.1) rotate(5deg)}to{opacity:1;transform:translate(0) translateZ(0) scale(1) rotate(0)}}.dice-roll-count{font-size:18px;padding:8px 16px}.dice-rolls-container{grid-template-columns:repeat(5,1fr);gap:8px}.dice-score-box{padding:8px 12px;font-size:20px;min-width:55px}}.enhanced-dice-animation-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9998;pointer-events:none}.enhanced-dice-animation-container canvas{position:fixed;top:0;left:0;width:100vw!important;height:100vh!important}.blood-fight-container{display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none}.blood-fight-container.disabled{cursor:not-allowed}.blood-fight-button{position:relative;padding:10px 20px;background:#001428cc;border:2px solid;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:120px}.blood-fight-button.inactive{border-color:#00d8e8;background:linear-gradient(135deg,#002535,#003d4d);box-shadow:inset 0 0 30px #00d8e866,0 0 25px #00d8e880}.blood-fight-button.inactive .blood-fight-label{color:#fff;text-shadow:0 0 12px rgba(0,243,255,.8)}.blood-fight-button.active{border-color:#80f9ff;border-width:2px;background:linear-gradient(180deg,rgba(255,255,255,.4) 0%,transparent 50%),linear-gradient(135deg,#0080a0,#00b0d0,#0080a0);box-shadow:inset 0 0 40px #00f3ffcc,inset 0 0 80px #00c8ff80,0 0 30px #00f3ff,0 0 60px #00f3ffb3;animation:brightPulse 1s ease-in-out infinite}.blood-fight-button.active .blood-fight-label{color:#fff;font-weight:900;text-shadow:0 0 15px rgba(0,243,255,1),0 0 30px rgba(0,243,255,.8)}@keyframes brightPulse{0%,to{box-shadow:inset 0 0 60px #00f3ff80,0 0 30px #00f3ffcc,0 0 60px #00f3ff99,0 0 100px #00f3ff66;border-color:#00f3ff}50%{box-shadow:inset 0 0 80px #00f3ffb3,0 0 50px #00f3ff,0 0 80px #00f3ffcc,0 0 120px #00f3ff99;border-color:#80f9ff}}.blood-fight-container.disabled .blood-fight-button{cursor:not-allowed}.blood-fight-container:not(.disabled) .blood-fight-button:hover{transform:scale(1.02)}.blood-fight-container:not(.disabled) .blood-fight-button.inactive:hover{border-color:#00f3ffcc;background:#00283ccc;box-shadow:inset 0 0 25px #00f3ff26,0 0 15px #00f3ff4d}.blood-fight-label{font-size:16px;font-weight:700;letter-spacing:2px;transition:all .3s ease;white-space:nowrap}.blood-fight-button:before,.blood-fight-button:after{content:"";position:absolute;width:10px;height:10px;border:2px solid;transition:all .3s ease}.blood-fight-button:before{top:-2px;left:-2px;border-right:none;border-bottom:none}.blood-fight-button:after{bottom:-2px;right:-2px;border-left:none;border-top:none}.blood-fight-button.inactive:before,.blood-fight-button.inactive:after{border-color:#00969680}.blood-fight-button.active:before,.blood-fight-button.active:after{border-color:#00f3ff;box-shadow:0 0 15px #00f3ffcc}.game-result-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .5s ease;overflow:hidden;pointer-events:none}.game-result-overlay.show{opacity:1}.fireworks{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.firework{position:absolute;width:4px;height:4px;border-radius:50%;animation:firework-burst 2s ease-out infinite}@keyframes firework-burst{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(0);opacity:0}}.firework-1{top:10%;left:10%;background:gold;--tx: -50px;--ty: -100px;animation-delay:0s}.firework-2{top:20%;left:80%;background:#ff69b4;--tx: 60px;--ty: -80px;animation-delay:.3s}.firework-3{top:15%;left:50%;background:#0ff;--tx: 0px;--ty: -120px;animation-delay:.6s}.firework-4{top:30%;left:30%;background:#f0f;--tx: -80px;--ty: -60px;animation-delay:.9s}.firework-5{top:25%;left:70%;background:#9d00ff;--tx: 70px;--ty: -90px;animation-delay:1.2s}.firework-6{top:40%;left:15%;background:gold;--tx: -60px;--ty: -50px;animation-delay:1.5s}.firework-7{top:35%;left:85%;background:#0ff;--tx: 80px;--ty: -70px;animation-delay:.2s}.firework-8{top:50%;left:25%;background:#ff69b4;--tx: -70px;--ty: -40px;animation-delay:.5s}.firework-9{top:45%;left:60%;background:#f0f;--tx: 50px;--ty: -60px;animation-delay:.8s}.firework-10{top:55%;left:40%;background:gold;--tx: -40px;--ty: -80px;animation-delay:1.1s}.firework-11{top:60%;left:75%;background:#9d00ff;--tx: 60px;--ty: -50px;animation-delay:1.4s}.firework-12{top:65%;left:20%;background:#0ff;--tx: -50px;--ty: -70px;animation-delay:1.7s}.confetti-container{position:absolute;top:-10%;left:0;width:100%;height:110%;pointer-events:none;overflow:hidden}.confetti{position:absolute;top:-10%;animation:confetti-fall 8s linear infinite;opacity:.9;border-radius:2px}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0) rotateY(0);opacity:1}to{transform:translateY(130vh) rotate(1080deg) rotateY(360deg);opacity:0}}.light-rays{position:absolute;top:50%;left:50%;width:800px;height:800px;transform:translate(-50%,-50%);pointer-events:none;animation:rays-rotate 20s linear infinite}.light-ray{position:absolute;top:50%;left:50%;width:4px;height:400px;background:linear-gradient(to bottom,rgba(255,215,0,.3),transparent);transform-origin:top center;opacity:.5}@keyframes rays-rotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.result-modal{position:relative;background:linear-gradient(135deg,#140028f2,#28003cf2);border:3px solid #FFD700;border-radius:30px;padding:20px;max-width:800px;max-height:90vh;box-shadow:0 0 60px #ffd70099,0 0 120px #f0f6,inset 0 0 80px #ffd7001a;transform:scale(.8);opacity:0;transition:all .6s cubic-bezier(.68,-.55,.265,1.55);pointer-events:auto}.result-modal.show{transform:scale(1);opacity:1}.close-x-button{position:absolute;top:20px;right:20px;width:40px;height:40px;border:none;background:#ffffff1a;color:#fff;font-size:24px;font-weight:700;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10}.close-x-button:hover{background:#f009;transform:rotate(90deg) scale(1.1)}.result-header{text-align:center;margin-bottom:10px}.result-title{font-size:48px;font-weight:900;color:gold;text-shadow:0 0 20px #FFD700,0 0 40px #FFD700,0 0 60px #FF69B4,0 5px 10px rgba(0,0,0,.5);animation:title-glow 2s ease-in-out infinite;letter-spacing:6px}.title-icon{display:none}@keyframes title-glow{0%,to{text-shadow:0 0 20px #FFD700,0 0 40px #FFD700,0 0 60px #FF69B4,0 5px 10px rgba(0,0,0,.5)}50%{text-shadow:0 0 30px #FFD700,0 0 60px #FFD700,0 0 90px #FF69B4,0 5px 10px rgba(0,0,0,.5)}}.result-subtitle{font-size:24px;font-weight:600;color:#ff69b4;text-shadow:0 0 20px #FF69B4;margin:0;animation:subtitle-pulse 2s ease-in-out infinite}@keyframes subtitle-pulse{0%,to{opacity:.8}50%{opacity:1}}.podium-container{display:flex;align-items:flex-end;justify-content:center;gap:30px;margin-bottom:20px;perspective:1000px}.podium-player{display:flex;flex-direction:column;align-items:center;position:relative;opacity:0;transform:translateY(100px)}.slide-in-1{animation:slide-in .8s ease-out .3s forwards}.slide-in-2{animation:slide-in .8s ease-out .5s forwards}.slide-in-3{animation:slide-in .8s ease-out .7s forwards}@keyframes slide-in{to{opacity:1;transform:translateY(0)}}.podium-crown{width:60px;height:60px;margin-bottom:15px;filter:drop-shadow(0 0 20px rgba(255,215,0,.8));animation:crown-float 3s ease-in-out infinite}.crown-champion{width:80px;height:80px;animation:crown-champion-float 2s ease-in-out infinite}@keyframes crown-float{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-10px) rotate(5deg)}}@keyframes crown-champion-float{0%,to{transform:translateY(0) rotate(-5deg) scale(1)}50%{transform:translateY(-15px) rotate(5deg) scale(1.1)}}.player-card{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border:3px solid;border-radius:20px;min-width:160px;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .3s ease;display:flex;flex-direction:column;align-items:center}.player-card:hover{transform:translateY(-10px)}.player-card.rank-1{border-color:gold;box-shadow:0 0 40px #ffd70099,inset 0 0 30px #ffd70033;min-width:200px}.player-card.rank-2{border-color:silver;box-shadow:0 0 30px #c0c0c080,inset 0 0 20px #c0c0c033}.player-card.rank-3{border-color:#cd7f32;box-shadow:0 0 30px #cd7f3280,inset 0 0 20px #cd7f3233}.rank-badge{display:none}.player-avatar-wrapper{position:relative;margin:15px 0 10px;display:flex;align-items:center;justify-content:center}.player-avatar-img,.player-avatar-placeholder{width:100px;height:100px;border-radius:50%;border:4px solid;object-fit:cover}.rank-1 .player-avatar-img,.rank-1 .player-avatar-placeholder{width:120px;height:120px;border-width:5px}.rank-1 .player-avatar-img{border-color:gold}.rank-2 .player-avatar-img{border-color:silver}.rank-3 .player-avatar-img{border-color:#cd7f32}.player-avatar-placeholder{display:flex;align-items:center;justify-content:center;font-size:50px;background:#ffffff1a;border-color:#ffffff4d}.rank-1 .player-avatar-placeholder{font-size:60px}.avatar-glow,.champion-ring{display:none}.player-name{font-size:20px;font-weight:700;color:#fff;text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.5);word-break:break-word;max-width:160px}.champion-name{font-size:24px;color:gold;text-shadow:0 0 20px #FFD700,0 2px 10px rgba(0,0,0,.5);animation:champion-name-glow 2s ease-in-out infinite;max-width:200px}@keyframes champion-name-glow{0%,to{text-shadow:0 0 20px #FFD700,0 2px 10px rgba(0,0,0,.5)}50%{text-shadow:0 0 40px #FFD700,0 2px 10px rgba(0,0,0,.5)}}.star-icon{display:inline-block;animation:star-twinkle 1.5s ease-in-out infinite;margin:0 8px;font-size:28px}@keyframes star-twinkle{0%,to{opacity:1;transform:scale(1) rotate(0)}50%{opacity:.6;transform:scale(1.2) rotate(180deg)}}.player-empty{font-size:24px;font-weight:700;color:#ffffff80;text-align:center;margin:15px 0}.champion-empty{font-size:28px;color:#ffd70080}.player-points{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px}.points-label{font-size:14px;color:#ffffffb3;font-weight:500}.points-value{font-size:28px;font-weight:900;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5)}.champion-points .points-label{font-size:16px;color:gold}.champion-points .points-value{font-size:36px;color:gold;text-shadow:0 0 20px #FFD700,0 2px 10px rgba(0,0,0,.5);animation:points-glow 2s ease-in-out infinite}@keyframes points-glow{0%,to{text-shadow:0 0 20px #FFD700,0 2px 10px rgba(0,0,0,.5)}50%{text-shadow:0 0 40px #FFD700,0 2px 10px rgba(0,0,0,.5)}}.podium-base,.close-button{display:none}@media(max-width:1200px){.result-modal{padding:40px 50px}.result-title{font-size:42px}.result-subtitle{font-size:20px}.podium-container{gap:25px}.player-card{min-width:140px;padding:20px 15px}.player-card.rank-1{min-width:180px;padding:25px 20px}}@media(max-width:768px){.result-modal{padding:30px 25px}.result-title{font-size:36px;letter-spacing:4px}.result-subtitle{font-size:18px}.podium-container{gap:15px}.podium-crown{width:50px;height:50px}.crown-champion{width:65px;height:65px}.player-card{min-width:120px;padding:18px 12px}.player-card.rank-1{min-width:150px;padding:22px 16px}.player-avatar-img,.player-avatar-placeholder{width:70px;height:70px}.rank-1 .player-avatar-img,.rank-1 .player-avatar-placeholder{width:90px;height:90px}.player-name{font-size:16px}.champion-name{font-size:20px}.points-value{font-size:22px}.champion-points .points-value{font-size:28px}.close-button{padding:14px 40px;font-size:18px}.close-x-button{width:35px;height:35px;font-size:20px}}.adjustable-content{display:flex;gap:inherit;align-items:inherit;justify-content:inherit;flex-direction:inherit}.debug-controls{position:fixed;display:flex;flex-direction:column;gap:10px;z-index:10000;pointer-events:none;transform:translate(-50%,-50%)}.control-group{display:flex;gap:5px;pointer-events:auto}.scale-controls{justify-content:center;background:#000c;padding:5px;border-radius:8px}.direction-controls{flex-direction:column;align-items:center;background:#000c;padding:5px;border-radius:8px}.direction-row{display:flex;gap:5px}.control-btn{width:30px;height:30px;background:#ff00ffe6;border:2px solid #ff00ff;border-radius:5px;color:#fff;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 0 8px #ff00ff80}.control-btn:hover{background:#f3f;box-shadow:0 0 12px #f0fc;transform:scale(1.1)}.control-btn:active{transform:scale(.95)}.debug-controls.small .control-btn{width:24px;height:24px;font-size:12px;border-radius:4px;border-width:1px}.debug-controls.small .control-group{gap:3px}.debug-controls.small .scale-controls,.debug-controls.small .direction-controls{padding:3px;border-radius:5px}.debug-controls.small{gap:5px}.game-page{width:100vw;height:100vh;position:relative;overflow:hidden}.background-image,.placeholder-image{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:0}.game-content{position:relative;width:100%;height:100%;display:flex;flex-direction:column;padding:10px 20px;z-index:1}.qr-overlay{position:absolute;top:20px;left:20px;right:20px;display:flex;justify-content:space-between;z-index:10;pointer-events:none}.qr-left,.qr-right{pointer-events:auto}.start-button-container{position:absolute;bottom:5%;left:50%;transform:translate(-50%);z-index:10}.start-button{padding:20px 60px;font-size:28px;font-weight:700;color:#fff;background:linear-gradient(135deg,#f0f,#9d00ff);border:3px solid #ff00ff;border-radius:50px;cursor:pointer;text-transform:uppercase;letter-spacing:3px;box-shadow:0 0 30px #f0f,inset 0 0 20px #ffffff1a;transition:all .3s ease;animation:pulse 2s ease-in-out infinite}.start-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 0 40px #f0f,inset 0 0 30px #fff3;background:linear-gradient(135deg,#f3f,#b033ff)}.start-button:active:not(:disabled){transform:scale(.98)}.start-button:disabled{opacity:.6;cursor:not-allowed;animation:none}@keyframes pulse{0%,to{box-shadow:0 0 30px #f0f,inset 0 0 20px #ffffff1a}50%{box-shadow:0 0 50px #f0f,inset 0 0 30px #fff3}}.loading-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100}.loading-text{font-size:36px;font-weight:700;color:#f0f;text-shadow:0 0 20px #ff00ff,0 0 40px #ff00ff;animation:neon-pulse 1.5s ease-in-out infinite}@keyframes neon-pulse{0%,to{opacity:1;text-shadow:0 0 20px #ff00ff,0 0 40px #ff00ff,0 0 60px #ff00ff}50%{opacity:.7;text-shadow:0 0 10px #ff00ff,0 0 20px #ff00ff,0 0 30px #ff00ff}}.header{display:grid;grid-template-columns:1fr auto 1fr;align-items:flex-start;padding:10px 20px;margin-bottom:0;flex-shrink:0}.header-left,.header-right{display:flex;flex-direction:row;align-items:center;gap:30px}.header-left{justify-content:flex-start}.header-right{justify-content:flex-end}.header-center{display:flex;justify-content:center;align-items:center;gap:20px}.qr-code-wrapper{display:flex;flex-direction:column;align-items:center;gap:10px;position:relative}.qr-code{width:200px;height:200px;background:#fffffff2;border-radius:12px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:10px}.qr-code svg{width:100%;height:100%}.qr-placeholder{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px}.qr-pattern{display:flex;gap:8px}.qr-dot{width:20px;height:20px;background:#f0f;border-radius:3px;box-shadow:0 0 8px #f0f}.qr-label{color:#fff;font-size:14px;font-weight:700;text-shadow:0 0 10px #ff00ff;margin:0}.countdown-container{display:flex;flex-direction:column;align-items:center;gap:8px}.countdown-time{font-size:48px;font-weight:700;color:#f0f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-shadow:0 0 10px #ff00ff;white-space:nowrap;min-width:200px;text-align:center}.prizes-section{margin-bottom:5px;margin-top:-50px;flex-shrink:1;min-height:0;max-height:35vh;overflow:visible}.section-title{text-align:center;font-size:24px;font-weight:700;margin-bottom:15px;text-transform:uppercase;letter-spacing:2px}.prizes-container{display:flex;justify-content:center;align-items:center;gap:30px;padding:0 20px;max-height:100%}.prize-card{display:flex;flex-direction:column;align-items:center;padding:30px;min-width:180px}.prize-card.first-prize .prize-image{width:300px;height:300px}.prize-card:not(.first-prize) .prize-image{width:240px;height:240px}.prize-image{font-size:60px;object-fit:contain;border:none;border-radius:8px;padding:5px;background:transparent;display:flex;align-items:center;justify-content:center}.prize-image img{width:100%;height:100%;object-fit:contain}.prize-emoji{font-size:60px;display:flex;align-items:center;justify-content:center}.prize-name{font-size:24px;font-weight:700;color:#fff;text-align:center;text-shadow:0 0 10px var(--prize-color),0 0 20px var(--prize-color),0 0 30px var(--prize-color),2px 2px 8px rgba(0,0,0,.8),-2px -2px 8px rgba(0,0,0,.8)}.prize-description{font-size:16px;font-weight:400;color:#fffc;text-align:center;line-height:1.4;max-width:280px;word-wrap:break-word}.prize-rank{font-size:28px;font-weight:700;color:#fff;text-shadow:0 0 10px var(--prize-color),0 0 20px var(--prize-color),0 0 30px var(--prize-color),2px 2px 8px rgba(0,0,0,.8),-2px -2px 8px rgba(0,0,0,.8)}.rankings-section{flex:1;display:flex;flex-direction:column;justify-content:center;margin-bottom:5px;margin-top:-30px;min-height:0;max-height:50vh;overflow:visible}.rankings-container{display:flex;justify-content:center;align-items:flex-end;gap:40px;padding:20px;flex:1;min-height:0;max-height:100%}.ranking-circle{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative;padding-top:50px;max-height:100%;min-height:300px}.ranking-1{width:200px;max-height:320px}.ranking-2,.ranking-3{width:160px;max-height:280px}.rank-badge{position:absolute;top:-15px;font-size:22px;font-weight:700;color:#fff;background:var(--player-color);width:45px;height:45px;border-radius:50%;display:flex;align-items:center;justify-content:center}.player-avatar{border-radius:50%;object-fit:cover;border:3px solid var(--player-color);padding:3px;background:#0000004d;display:flex;align-items:center;justify-content:center;position:relative}.player-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.player-avatar-emoji{font-size:50px;display:flex;align-items:center;justify-content:center}.player-avatar .rank-crown{position:absolute;top:-35px;left:50%;transform:translate(-50%);width:60px;height:60px;object-fit:contain;z-index:10;filter:drop-shadow(0 0 10px rgba(255,215,0,.6))}.ranking-1 .player-avatar .rank-crown{width:70px;height:70px;top:-40px}.ranking-1 .player-avatar{width:140px;height:140px}.ranking-2 .player-avatar,.ranking-3 .player-avatar{width:115px;height:115px}.player-nickname{font-size:22px;font-weight:600;color:#fff;text-align:center;min-height:28px}.player-score{font-size:38px;line-height:38px;font-weight:700;color:var(--player-color);margin-bottom:0;min-height:46px}.empty-slot{font-size:18px;font-weight:600;color:#fff;text-align:center}.footer{display:flex;justify-content:center;align-items:center;padding:0 20px 15px;margin-top:auto;flex-shrink:0;min-height:70px}.action-button{padding:20px 60px;font-size:28px;font-weight:700;color:#fff;background:linear-gradient(135deg,#f0f,#9d00ff);border:3px solid #ff00ff;border-radius:50px;cursor:pointer;text-transform:uppercase;letter-spacing:3px;box-shadow:0 0 30px #f0f,inset 0 0 20px #ffffff1a;transition:all .3s ease}.action-button:hover{transform:scale(1.05);box-shadow:0 0 40px #f0f,inset 0 0 30px #fff3;background:linear-gradient(135deg,#f3f,#b033ff)}.action-button:active{transform:scale(.98)}.action-button:disabled{opacity:.5;cursor:not-allowed;background:linear-gradient(135deg,#666,#444);border-color:#666;box-shadow:0 0 10px #666}@media(max-width:1200px){.game-content{padding:8px 15px}.header{padding:8px 15px;margin-bottom:5px}.prizes-section{margin-top:-15px;margin-bottom:5px}.prizes-container{gap:15px;padding:0 15px}.prize-card{min-width:100px;padding:15px;gap:10px}.prize-card.first-prize .prize-image{width:200px;height:200px}.prize-card:not(.first-prize) .prize-image{width:160px;height:160px}.prize-name{font-size:18px;font-weight:700;text-shadow:0 0 8px var(--prize-color),0 0 16px var(--prize-color),0 0 24px var(--prize-color),2px 2px 6px rgba(0,0,0,.8),-2px -2px 6px rgba(0,0,0,.8)}.rankings-container{gap:20px;padding:15px}.ranking-1{width:200px;max-height:280px}.ranking-2,.ranking-3{width:170px;max-height:250px}.ranking-1 .player-avatar{width:90px;height:90px}.ranking-2 .player-avatar,.ranking-3 .player-avatar{width:75px;height:75px}.player-score{font-size:24px}.player-nickname{font-size:16px}.footer{padding:10px 20px;min-height:60px}.action-button{padding:18px 50px;font-size:24px}}@media(max-width:768px){.game-content{padding:5px 10px}.header{padding:5px 10px;margin-bottom:5px}.qr-code{width:50px;height:50px}.qr-dot{width:10px;height:10px}.countdown-time{font-size:24px}.prizes-section{margin-top:-10px;margin-bottom:5px}.prizes-container{gap:10px;padding:0 10px}.prize-card{padding:10px;gap:8px}.prize-card.first-prize .prize-image{width:130px;height:130px}.prize-card:not(.first-prize) .prize-image{width:100px;height:100px}.prize-name{font-size:16px;font-weight:700;text-shadow:0 0 6px var(--prize-color),0 0 12px var(--prize-color),0 0 18px var(--prize-color),1px 1px 5px rgba(0,0,0,.8),-1px -1px 5px rgba(0,0,0,.8)}.rankings-section{margin-bottom:5px}.rankings-container{gap:15px;padding:10px}.ranking-1{width:140px;max-height:190px}.ranking-2,.ranking-3{width:120px;max-height:170px}.ranking-1 .player-avatar{width:60px;height:60px}.ranking-2 .player-avatar,.ranking-3 .player-avatar{width:52px;height:52px}.rank-badge{width:30px;height:30px;font-size:16px;top:-10px}.player-score{font-size:20px}.player-nickname{font-size:14px}.footer{padding:8px 10px;min-height:50px}.action-button{padding:14px 35px;font-size:20px}}@media(max-height:800px){.header{padding:5px 15px;margin-bottom:5px}.prizes-section{margin-bottom:10px;max-height:30vh}.prize-card{padding:15px;gap:10px}.prize-card.first-prize .prize-image{width:180px;height:180px}.prize-card:not(.first-prize) .prize-image{width:140px;height:140px}.prize-name{font-size:18px;font-weight:700;text-shadow:0 0 8px var(--prize-color),0 0 16px var(--prize-color),0 0 24px var(--prize-color),2px 2px 6px rgba(0,0,0,.8),-2px -2px 6px rgba(0,0,0,.8)}.rankings-section{margin-bottom:8px;max-height:40vh}.rankings-container{gap:20px;padding:10px}.ranking-1{width:170px;max-height:240px}.ranking-2,.ranking-3{width:145px;max-height:220px}.ranking-1 .player-avatar{width:75px;height:75px}.ranking-2 .player-avatar,.ranking-3 .player-avatar{width:65px;height:65px}.player-score{font-size:28px}.player-nickname{font-size:16px}.footer{padding:8px 15px;min-height:50px}.action-button{padding:16px 45px;font-size:22px}}@media(max-height:650px){.game-content{padding:5px 15px}.header{padding:3px 10px;margin-bottom:3px}.countdown-time{font-size:32px}.prizes-section{margin-bottom:5px;max-height:25vh}.prize-card{padding:10px;gap:6px}.prize-card.first-prize .prize-image{width:130px;height:130px}.prize-card:not(.first-prize) .prize-image{width:100px;height:100px}.prize-name{font-size:14px;font-weight:700;text-shadow:0 0 5px var(--prize-color),0 0 10px var(--prize-color),0 0 15px var(--prize-color),1px 1px 4px rgba(0,0,0,.8),-1px -1px 4px rgba(0,0,0,.8)}.rankings-section{margin-bottom:5px;max-height:35vh}.rankings-container{gap:15px;padding:8px}.ranking-circle{padding-top:35px;gap:5px}.ranking-1{width:120px;max-height:170px}.ranking-2,.ranking-3{width:105px;max-height:155px}.ranking-1 .player-avatar{width:55px;height:55px}.ranking-2 .player-avatar,.ranking-3 .player-avatar{width:48px;height:48px}.ranking-1 .player-avatar .rank-crown{width:30px;height:30px;top:-30px}.player-avatar .rank-crown{width:25px;height:25px;top:-25px}.rank-badge{width:25px;height:25px;font-size:14px;top:-10px}.player-score{font-size:18px}.player-nickname{font-size:12px}.footer{padding:5px 10px;min-height:40px}.action-button{padding:12px 35px;font-size:18px}}:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;color:#fff;background:linear-gradient(135deg,#0a0a1a,#1a0a2e,#0a1a2e);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:100vw;min-height:100vh;overflow-x:hidden}#root{width:100%;min-height:100vh}.neon-pink{color:#f0f;text-shadow:0 0 10px #ff00ff,0 0 20px #ff00ff,0 0 40px #ff00ff}.neon-purple{color:#9d00ff;text-shadow:0 0 10px #9d00ff,0 0 20px #9d00ff,0 0 40px #9d00ff}.neon-blue{color:#0ff;text-shadow:0 0 10px #00ffff,0 0 20px #00ffff,0 0 40px #00ffff}@keyframes neon-pulse{0%,to{opacity:1;text-shadow:0 0 10px currentColor,0 0 20px currentColor,0 0 40px currentColor}50%{opacity:.8;text-shadow:0 0 5px currentColor,0 0 10px currentColor,0 0 20px currentColor}}@keyframes glow-pulse{0%,to{box-shadow:0 0 10px currentColor,0 0 20px currentColor,0 0 40px currentColor}50%{box-shadow:0 0 20px currentColor,0 0 40px currentColor,0 0 60px currentColor}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.neon-pulse{animation:neon-pulse 2s ease-in-out infinite}.glow-pulse{animation:glow-pulse 2s ease-in-out infinite}.float{animation:float 3s ease-in-out infinite}
