@import"https://fonts.googleapis.com/css2?family=Fredoka+One&family=Montserrat:wght@400;600;700;800&display=swap";.homepage[data-v-64750dd0]{position:relative;min-height:100vh}.homepage[data-v-64750dd0]:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;pointer-events:none;z-index:0}.homepage .container[data-v-64750dd0]{position:relative;z-index:1}.sidebar-overlay[data-v-64750dd0]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:9998;animation:fadeIn-64750dd0 .3s ease}.user-sidebar[data-v-64750dd0]{position:fixed;top:0;left:0;width:280px;height:100%;background:linear-gradient(135deg,#1a1a2efa,#16213efa);border-right:3px solid var(--christmas-gold);box-shadow:4px 0 20px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:9999;display:flex;flex-direction:column;animation:slideInLeft-64750dd0 .3s ease;overflow-y:auto}.sidebar-enter[data-v-64750dd0]{animation:slideInLeft-64750dd0 .3s ease}.sidebar-header[data-v-64750dd0]{padding:30px 20px;border-bottom:2px solid rgba(255,215,0,.2);display:flex;justify-content:space-between;align-items:center}.sidebar-title[data-v-64750dd0]{font-family:Fredoka One,cursive;font-size:24px;color:var(--christmas-gold);text-shadow:0 0 15px rgba(255,215,0,.5);margin:0}.sidebar-close-btn[data-v-64750dd0]{background:transparent;border:none;color:var(--christmas-gold);font-size:28px;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .3s ease}.sidebar-close-btn[data-v-64750dd0]:hover{background:#ffd70033;transform:rotate(90deg)}.sidebar-user-info[data-v-64750dd0]{padding:30px 20px;border-bottom:2px solid rgba(255,215,0,.2)}.user-avatar[data-v-64750dd0]{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--christmas-red),var(--christmas-gold));display:flex;align-items:center;justify-content:center;font-size:36px;margin:0 auto 15px;border:3px solid var(--christmas-gold);box-shadow:0 4px 15px #ffd70066;color:#fff;font-weight:700}.user-name[data-v-64750dd0]{font-family:Montserrat,sans-serif;font-size:20px;font-weight:700;color:var(--christmas-gold);text-align:center;margin-bottom:10px;text-shadow:0 0 10px rgba(255,215,0,.3)}.user-id[data-v-64750dd0]{font-family:Montserrat,sans-serif;font-size:14px;color:#ffffffb3;text-align:center;margin-bottom:10px}.user-vip[data-v-64750dd0]{font-family:Montserrat,sans-serif;font-size:14px;color:var(--christmas-gold);text-align:center;margin-top:10px;padding:5px 10px;background:#ffd7001a;border-radius:8px;border:1px solid rgba(255,215,0,.3)}.sidebar-login-btn[data-v-64750dd0]{width:100%;padding:15px 20px;background:linear-gradient(135deg,var(--christmas-red),var(--christmas-gold));border:2px solid var(--christmas-gold);border-radius:12px;color:#fff;font-family:Montserrat,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ffd7004d}.sidebar-login-btn[data-v-64750dd0]:hover{transform:scale(1.05);box-shadow:0 6px 20px #ffd70080}.sidebar-content[data-v-64750dd0]{padding:20px 0;flex:1}.sidebar-footer[data-v-64750dd0]{padding:20px;border-top:2px solid rgba(255,215,0,.2);margin-top:auto}.sidebar-logout-btn[data-v-64750dd0]{width:100%;padding:15px 20px;background:#c41e3a33;border:2px solid var(--christmas-red);border-radius:12px;color:#ffffffe6;font-family:Montserrat,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px}.sidebar-logout-btn[data-v-64750dd0]:hover{background:var(--christmas-red);transform:scale(1.05);box-shadow:0 4px 15px #c41e3a66}.logout-confirm-overlay[data-v-64750dd0]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:10001;display:flex;align-items:center;justify-content:center;animation:fadeIn-64750dd0 .3s ease}.logout-confirm-box[data-v-64750dd0]{background:linear-gradient(135deg,#1a1a2efa,#16213efa);border:3px solid var(--christmas-gold);border-radius:20px;padding:30px 40px;max-width:90%;width:400px;box-shadow:0 10px 40px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;animation:slideDown-64750dd0 .3s ease}.logout-confirm-title[data-v-64750dd0]{font-family:Fredoka One,cursive;font-size:24px;color:var(--christmas-gold);margin-bottom:20px;text-shadow:0 0 15px rgba(255,215,0,.5)}.logout-confirm-message[data-v-64750dd0]{font-family:Montserrat,sans-serif;font-size:18px;color:#ffffffe6;margin-bottom:30px;line-height:1.6}.logout-confirm-buttons[data-v-64750dd0]{display:flex;gap:15px;justify-content:center}.logout-confirm-yes[data-v-64750dd0]{min-width:120px;background:var(--christmas-red)}.logout-confirm-no[data-v-64750dd0]{min-width:120px;background:var(--christmas-green)}@keyframes fadeIn-64750dd0{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft-64750dd0{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideDown-64750dd0{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.auth-message[data-v-64750dd0]{display:block;margin-bottom:15px;font-size:14px;padding:10px;border-radius:8px}.auth-message.error[data-v-64750dd0]{color:var(--christmas-red);background:#c41e3a1a}.auth-message.success[data-v-64750dd0]{color:var(--christmas-green);background:#228b221a}.mobile-game-page[data-v-4eb2d567]{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);min-height:100vh;display:flex;flex-direction:column;position:relative}.mobile-game-page[data-v-4eb2d567]:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;pointer-events:none;z-index:0}.mobile-header[data-v-4eb2d567]{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#1a1a2ee6;border-bottom:2px solid var(--christmas-gold, #FFD700);position:sticky;top:0;z-index:100}.mobile-menu-btn[data-v-4eb2d567]{background:transparent;border:none;color:var(--christmas-gold, #FFD700);font-size:24px;cursor:pointer;padding:5px}.mobile-logo[data-v-4eb2d567]{font-family:Fredoka One,cursive;font-size:20px;color:var(--christmas-gold, #FFD700);text-shadow:0 0 10px rgba(255,215,0,.5)}.game-content[data-v-4eb2d567]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;position:relative;z-index:1}.game-state[data-v-4eb2d567]{display:flex;flex-direction:column;align-items:center}.game-circle[data-v-4eb2d567]{width:200px;height:200px;border-radius:50%;background:linear-gradient(135deg,var(--christmas-red, #C41E3A),var(--christmas-gold, #FFD700));border:5px solid var(--christmas-gold, #FFD700);box-shadow:0 0 30px #ffd70080;display:flex;align-items:center;justify-content:center;margin-bottom:40px;position:relative;overflow:hidden}.game-circle[data-v-4eb2d567]:before{content:"";position:absolute;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.2) 0%,transparent 70%);animation:pulse-4eb2d567 2s ease-in-out infinite}@keyframes pulse-4eb2d567{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.circle-icon[data-v-4eb2d567]{font-size:60px;z-index:1;animation:bounce-4eb2d567 1s ease-in-out infinite}@keyframes bounce-4eb2d567{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.game-status[data-v-4eb2d567]{font-family:Fredoka One,cursive;font-size:48px;color:var(--christmas-gold, #FFD700);text-shadow:0 0 20px rgba(255,215,0,.8);margin-bottom:20px;text-align:center;animation:fadeIn-4eb2d567 .5s ease}@keyframes fadeIn-4eb2d567{0%{opacity:0}to{opacity:1}}.countdown-number[data-v-4eb2d567]{font-size:72px;font-weight:800}.game-results[data-v-4eb2d567]{text-align:center;margin-top:30px}.result-title[data-v-4eb2d567]{font-family:Fredoka One,cursive;font-size:32px;color:var(--christmas-gold, #FFD700);margin-bottom:20px;text-shadow:0 0 15px rgba(255,215,0,.5)}.result-item[data-v-4eb2d567]{font-family:Montserrat,sans-serif;font-size:24px;color:#ffffffe6;margin:15px 0;padding:10px;background:#ffffff1a;border-radius:10px}.result-label[data-v-4eb2d567]{color:var(--christmas-gold, #FFD700);font-weight:600}.shake-indicator[data-v-4eb2d567]{font-size:20px;color:#ffffffb3;margin-top:20px;animation:shake-4eb2d567 .5s ease-in-out infinite}@keyframes shake-4eb2d567{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.loading-overlay[data-v-4eb2d567]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.loading-text[data-v-4eb2d567]{font-family:Montserrat,sans-serif;font-size:20px;color:var(--christmas-gold, #FFD700)}.permission-btn[data-v-4eb2d567]{margin-top:20px;padding:12px 24px;background:linear-gradient(135deg,#ff6b6b,#ff8e53);border:none;border-radius:25px;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease}.permission-btn[data-v-4eb2d567]:hover{transform:translateY(-2px);box-shadow:0 4px 15px #ff6b6b66}.permission-btn[data-v-4eb2d567]:active{transform:translateY(0)}.permission-btn[data-v-4eb2d567]:disabled{opacity:.5;cursor:not-allowed;transform:none}.sidebar-overlay[data-v-4eb2d567]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:9998;animation:fadeIn-4eb2d567 .3s ease}.user-sidebar[data-v-4eb2d567]{position:fixed;top:0;left:0;width:280px;height:100%;background:linear-gradient(135deg,#1a1a2efa,#16213efa);border-right:3px solid var(--christmas-gold, #FFD700);box-shadow:4px 0 20px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:9999;display:flex;flex-direction:column;animation:slideInLeft-4eb2d567 .3s ease;overflow-y:auto}.sidebar-enter[data-v-4eb2d567]{animation:slideInLeft-4eb2d567 .3s ease}@keyframes slideInLeft-4eb2d567{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.sidebar-header[data-v-4eb2d567]{padding:30px 20px;border-bottom:2px solid rgba(255,215,0,.2);display:flex;justify-content:space-between;align-items:center}.sidebar-title[data-v-4eb2d567]{font-family:Fredoka One,cursive;font-size:24px;color:var(--christmas-gold, #FFD700);text-shadow:0 0 15px rgba(255,215,0,.5);margin:0}.sidebar-close-btn[data-v-4eb2d567]{background:transparent;border:none;color:var(--christmas-gold, #FFD700);font-size:28px;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .3s ease}.sidebar-close-btn[data-v-4eb2d567]:hover{background:#ffd70033;transform:rotate(90deg)}.sidebar-user-info[data-v-4eb2d567]{padding:30px 20px;border-bottom:2px solid rgba(255,215,0,.2)}.user-avatar[data-v-4eb2d567]{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--christmas-red, #C41E3A),var(--christmas-gold, #FFD700));display:flex;align-items:center;justify-content:center;font-size:36px;margin:0 auto 15px;border:3px solid var(--christmas-gold, #FFD700);box-shadow:0 4px 15px #ffd70066;color:#fff;font-weight:700}.user-name[data-v-4eb2d567]{font-family:Montserrat,sans-serif;font-size:20px;font-weight:700;color:var(--christmas-gold, #FFD700);text-align:center;margin-bottom:10px;text-shadow:0 0 10px rgba(255,215,0,.3)}.user-id[data-v-4eb2d567]{font-family:Montserrat,sans-serif;font-size:14px;color:#ffffffb3;text-align:center;margin-bottom:10px}.user-vip[data-v-4eb2d567]{font-family:Montserrat,sans-serif;font-size:14px;color:var(--christmas-gold, #FFD700);text-align:center;margin-top:10px;padding:5px 10px;background:#ffd7001a;border-radius:8px;border:1px solid rgba(255,215,0,.3)}.sidebar-login-btn[data-v-4eb2d567]{width:100%;padding:15px 20px;background:linear-gradient(135deg,var(--christmas-red, #C41E3A),var(--christmas-gold, #FFD700));border:2px solid var(--christmas-gold, #FFD700);border-radius:12px;color:#fff;font-family:Montserrat,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ffd7004d}.sidebar-login-btn[data-v-4eb2d567]:hover{transform:scale(1.05);box-shadow:0 6px 20px #ffd70080}.sidebar-content[data-v-4eb2d567]{padding:20px;flex:1}.sidebar-home-btn[data-v-4eb2d567]{width:100%;padding:15px 20px;background:#ffd7001a;border:2px solid var(--christmas-gold, #FFD700);border-radius:12px;color:var(--christmas-gold, #FFD700);font-family:Montserrat,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 15px #ffd70033}.sidebar-home-btn[data-v-4eb2d567]:hover{background:#ffd70033;transform:scale(1.05);box-shadow:0 6px 20px #ffd70066}.sidebar-home-btn span[data-v-4eb2d567]:first-child{font-size:20px}.sidebar-footer[data-v-4eb2d567]{padding:20px;border-top:2px solid rgba(255,215,0,.2);margin-top:auto}.sidebar-logout-btn[data-v-4eb2d567]{width:100%;padding:15px 20px;background:#c41e3a33;border:2px solid var(--christmas-red, #C41E3A);border-radius:12px;color:#ffffffe6;font-family:Montserrat,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px}.sidebar-logout-btn[data-v-4eb2d567]:hover{background:var(--christmas-red, #C41E3A);transform:scale(1.05);box-shadow:0 4px 15px #c41e3a66}.return-home-confirm-overlay[data-v-4eb2d567]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:10001;display:flex;align-items:center;justify-content:center;animation:fadeIn-4eb2d567 .3s ease}.return-home-confirm-box[data-v-4eb2d567]{background:linear-gradient(135deg,#1a1a2efa,#16213efa);border:3px solid var(--christmas-gold, #FFD700);border-radius:20px;padding:30px 40px;max-width:90%;width:400px;box-shadow:0 10px 40px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;animation:slideDown-4eb2d567 .3s ease}@keyframes slideDown-4eb2d567{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.return-home-confirm-title[data-v-4eb2d567]{font-family:Fredoka One,cursive;font-size:24px;color:var(--christmas-gold, #FFD700);margin-bottom:20px;text-shadow:0 0 15px rgba(255,215,0,.5)}.return-home-confirm-message[data-v-4eb2d567]{font-family:Montserrat,sans-serif;font-size:18px;color:#ffffffe6;margin-bottom:30px;line-height:1.6}.return-home-confirm-buttons[data-v-4eb2d567]{display:flex;gap:15px;justify-content:center}.return-home-confirm-yes[data-v-4eb2d567]{min-width:120px;background:var(--christmas-red, #C41E3A)}.return-home-confirm-no[data-v-4eb2d567]{min-width:120px;background:var(--christmas-green, #228B22)}.logout-confirm-overlay[data-v-4eb2d567]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:10001;display:flex;align-items:center;justify-content:center;animation:fadeIn-4eb2d567 .3s ease}.logout-confirm-box[data-v-4eb2d567]{background:linear-gradient(135deg,#1a1a2efa,#16213efa);border:3px solid var(--christmas-gold, #FFD700);border-radius:20px;padding:30px 40px;max-width:90%;width:400px;box-shadow:0 10px 40px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;animation:slideDown-4eb2d567 .3s ease}.logout-confirm-title[data-v-4eb2d567]{font-family:Fredoka One,cursive;font-size:24px;color:var(--christmas-gold, #FFD700);margin-bottom:20px;text-shadow:0 0 15px rgba(255,215,0,.5)}.logout-confirm-message[data-v-4eb2d567]{font-family:Montserrat,sans-serif;font-size:18px;color:#ffffffe6;margin-bottom:30px;line-height:1.6}.logout-confirm-buttons[data-v-4eb2d567]{display:flex;gap:15px;justify-content:center}.logout-confirm-yes[data-v-4eb2d567]{min-width:120px;background:var(--christmas-red, #C41E3A)}.logout-confirm-no[data-v-4eb2d567]{min-width:120px;background:var(--christmas-green, #228B22)}.btn-primary[data-v-4eb2d567]{padding:12px 24px;border:none;border-radius:15px;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;font-family:Montserrat,sans-serif}.btn-primary[data-v-4eb2d567]:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000004d}.btn-primary[data-v-4eb2d567]:active{transform:translateY(0)}.auth-message[data-v-406395cd]{display:block;margin-bottom:15px;font-size:14px;padding:10px;border-radius:8px}.auth-message.error[data-v-406395cd]{color:var(--christmas-red);background:#c41e3a1a}.auth-message.success[data-v-406395cd]{color:var(--christmas-green);background:#228b221a}:root{--christmas-red: #C41E3A;--christmas-green: #228B22;--christmas-gold: #FFD700;--christmas-snow: #FFFFFF;--christmas-dark: #1a1a2e;--christmas-light: #f8f9fa;--shadow-color: rgba(0, 0, 0, .3);font-size:1rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Montserrat,sans-serif;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:var(--christmas-snow);min-height:100vh;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(255,255,255,.1) 0%,transparent 50%);animation:snow 20s linear infinite;pointer-events:none;z-index:0}@keyframes snow{0%{transform:translateY(0) translate(0)}to{transform:translateY(100vh) translate(3.125rem)}}.christmas-decoration{position:fixed;pointer-events:none;z-index:0;opacity:.3}.christmas-decoration:before{content:"🎄";font-size:1.875rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-1.25rem) rotate(5deg)}}.container{position:relative;z-index:1;max-width:100%;margin:0 auto;padding:1.25rem;min-height:100vh;display:flex;flex-direction:column}.game-page .container{transform-origin:top center;width:100vw;height:100vh;position:relative;margin:0 auto;max-width:none;padding:1.25rem;min-height:100vh;display:flex;flex-direction:column}.game-page main{flex:1;display:flex;flex-direction:column;min-height:0;justify-content:center}header{display:flex;justify-content:space-between;align-items:center;padding:.9375rem 0;margin-bottom:1.25rem;position:relative}.game-page #gameHeader{z-index:100000!important}.menu-btn{background:var(--christmas-red);border:none;color:#fff;font-size:1.5rem;width:2.8125rem;height:2.8125rem;border-radius:.75rem;cursor:pointer;box-shadow:0 4px 15px #c41e3a66;transition:all .3s ease;font-weight:700;position:relative;z-index:100000}.back-btn{margin-left:1rem;position:absolute;top:0;left:0;z-index:100000}.menu-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px #c41e3a99}.logo{font-family:Fredoka One,cursive;font-size:2rem;background:linear-gradient(135deg,var(--christmas-red),var(--christmas-gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 30px rgba(255,215,0,.5);letter-spacing:.125rem}.game-title-header{font-family:Fredoka One,cursive;font-size:1.5rem;color:var(--christmas-gold);text-shadow:0 0 10px rgba(255,215,0,.5)}.header-icons{display:flex;gap:.625rem}.icon-btn{background:var(--christmas-green);border:none;color:#fff;font-size:1.25rem;width:2.5rem;height:2.5rem;border-radius:.625rem;cursor:pointer;box-shadow:0 4px 15px #228b2266;transition:all .3s ease}.icon-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px #228b2299}@media (orientation: landscape){.game-page #gameHeader{justify-content:flex-start;background:transparent;box-shadow:none;border:none;padding-top:.5rem;padding-bottom:.5rem;z-index:100000!important}.game-page #gameHeader .game-title-header,.game-page #gameHeader .header-icons{display:none!important}}.is-mobile-device #castBtn,.is-mobile-device #rotateBtn{display:none!important}.waiting-room-active.is-mobile-device #castBtn{display:flex!important}.is-desktop-device #rotateBtn{display:none!important}.homepage main{display:flex;flex-direction:column;gap:2.5rem}.join-section{background:linear-gradient(135deg,#c41e3a33,#228b2233);border:3px solid var(--christmas-gold);border-radius:1.25rem;padding:1.875rem;box-shadow:0 8px 30px #ffd7004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.join-section h2{font-family:Fredoka One,cursive;font-size:1.75rem;color:var(--christmas-gold);text-align:center;margin-bottom:1.5625rem;text-shadow:0 0 10px rgba(255,215,0,.5)}.input-group{position:relative;margin-bottom:1.25rem}.room-input,.name-input{width:100%;padding:1.125rem 1.25rem;font-size:1.125rem;font-weight:600;background:#ffffff1a;border:3px solid var(--christmas-gold);border-radius:.9375rem;color:#fff;text-align:center;letter-spacing:.25rem;text-transform:uppercase;transition:all .3s ease;font-family:Montserrat,sans-serif}.room-input:focus,.name-input:focus{outline:none;border-color:var(--christmas-red);box-shadow:0 0 20px #c41e3a80;background:#ffffff26}.room-input::placeholder,.name-input::placeholder{color:#ffffff80;letter-spacing:.125rem}.char-limit{position:absolute;right:.9375rem;top:50%;transform:translateY(-50%);color:var(--christmas-gold);font-weight:600;font-size:.875rem}.games-section h2{font-family:Fredoka One,cursive;font-size:1.75rem;color:var(--christmas-gold);text-align:center;margin-bottom:1.5625rem;text-shadow:0 0 10px rgba(255,215,0,.5)}.games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.375rem,1fr));gap:1.25rem;margin-top:1.25rem}.game-card{background:linear-gradient(135deg,#c41e3a4d,#228b224d);border:3px solid var(--christmas-gold);border-radius:1.25rem;padding:.9375rem;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #0000004d;overflow:hidden;position:relative}.game-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,215,0,.1),transparent);transform:rotate(45deg);transition:all .5s ease}.game-card:hover:before{animation:shine 1s ease}@keyframes shine{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.game-card:hover{transform:translateY(-.625rem) scale(1.05);box-shadow:0 10px 30px #ffd70080;border-color:var(--christmas-red)}.game-cover{width:100%;aspect-ratio:4/3;border-radius:.9375rem;overflow:hidden;margin-bottom:.625rem;box-shadow:0 4px 15px #0006}.game-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.game-card:hover .game-cover img{transform:scale(1.1)}.game-card h3{font-family:Fredoka One,cursive;font-size:1.125rem;color:var(--christmas-gold);text-align:center;text-shadow:0 0 10px rgba(255,215,0,.5)}.btn-primary{width:100%;padding:1.125rem;font-size:1.25rem;font-weight:700;font-family:Montserrat,sans-serif;background:linear-gradient(135deg,var(--christmas-red),#e63946);border:none;border-radius:.9375rem;color:#fff;cursor:pointer;box-shadow:0 6px 20px #c41e3a66;transition:all .3s ease;text-transform:uppercase;letter-spacing:.125rem;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-primary:hover:before{width:18.75rem;height:18.75rem}.btn-primary:hover{transform:translateY(-.1875rem);box-shadow:0 8px 25px #c41e3a99}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.game-detail-page{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}.game-detail{max-width:37.5rem;margin:0 auto}.game-detail .game-title{font-family:Fredoka One,cursive;font-size:2rem;color:var(--christmas-gold);text-align:center;margin-bottom:1.5625rem;text-shadow:0 0 15px rgba(255,215,0,.5)}.game-image{width:100%;aspect-ratio:4/3;border-radius:1.25rem;overflow:hidden;margin-bottom:1.5625rem;box-shadow:0 8px 30px #00000080;border:3px solid var(--christmas-gold)}.game-image img{width:100%;height:100%;object-fit:cover;display:block}.game-intro{background:#ffffff1a;border:2px solid var(--christmas-green);border-radius:.9375rem;padding:1.5625rem;margin-bottom:1.5625rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.game-intro h3{font-family:Fredoka One,cursive;font-size:1.5rem;color:var(--christmas-gold);margin-bottom:.9375rem;text-shadow:0 0 10px rgba(255,215,0,.5)}.game-intro p{line-height:1.8;color:#ffffffe6}.game-intro ul{list-style:none;padding-left:0}.game-intro li{padding:.5rem 0;margin-left:1.125rem;position:relative;color:#ffffffe6}.game-actions{display:flex;flex-direction:column;gap:.9375rem}.price-tag{text-align:center;padding:.9375rem;background:linear-gradient(135deg,#ffd70033,#c41e3a33);border:2px solid var(--christmas-gold);border-radius:.9375rem}.price{font-family:Fredoka One,cursive;font-size:1.75rem;color:var(--christmas-gold);text-shadow:0 0 10px rgba(255,215,0,.5)}.purchased-badge{display:block;margin-top:.625rem;color:var(--christmas-green);font-weight:600;font-size:1rem}.start-btn{margin-top:.625rem}.waiting-room-page{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}.waiting-room-phase{display:flex;flex-direction:column;height:90%;min-height:0;justify-content:center;align-items:center;width:100%;max-width:100%;box-sizing:border-box}.waiting-room{max-width:100%;width:100%;margin:0 auto;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:2.5rem;padding:1.25rem;flex:1;min-height:0;box-sizing:border-box}.waiting-room-right{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;flex:5;min-width:0}.join-info{text-align:center;background:#ffffff1a;border:2px solid var(--christmas-gold);border-radius:1.25rem;padding:1.5625rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex:3;min-width:0;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;align-self:center}.join-text{font-size:1.25rem;margin-bottom:.625rem;color:#ffffffe6}.join-text strong{color:var(--christmas-gold);font-weight:700}.room-code-display{font-family:Fredoka One,cursive;font-size:3.75rem;color:var(--christmas-gold);letter-spacing:.5rem;text-shadow:0 0 15px rgba(255,215,0,.5);margin:.9375rem 0}.qr-section{margin-top:1.25rem;margin-bottom:5rem}.qr-section p{margin-bottom:.9375rem;color:#ffffffe6;font-size:1.125rem}.qr-code{width:9.375rem;height:9.375rem;max-width:100%;margin:0 auto;background:#fff;border:3px solid var(--christmas-gold);border-radius:.9375rem;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px #0000004d;overflow:hidden;box-sizing:border-box}.qr-placeholder{color:var(--christmas-dark);font-weight:600;font-size:1rem}.players-circle{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;width:100%;max-width:100%;margin:0;padding:0 1.5rem;box-sizing:border-box}.player-slot{aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,#c41e3a4d,#228b224d);border:3px solid var(--christmas-gold);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transition:all .3s ease;box-shadow:0 4px 15px #0000004d;width:100%;min-width:0;box-sizing:border-box}.player-slot.joined{border-color:var(--christmas-green);background:linear-gradient(135deg,#228b22cc,#ffd70099);box-shadow:0 6px 20px #228b2280;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.avatar-placeholder{font-family:Montserrat,sans-serif;font-size:1.125rem;color:var(--christmas-gold);text-align:center;text-shadow:0 0 10px rgba(255,215,0,.5);padding:.3125rem;word-break:break-word;overflow-wrap:break-word;line-height:1.2}.player-slot.joined .avatar-placeholder{font-size:1.375rem;color:var(--christmas-gold);font-weight:700;margin-bottom:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;text-shadow:0 0 15px rgba(255,215,0,.8),2px 2px 4px rgba(0,0,0,.5)}.player-name{position:absolute;bottom:-1.5625rem;font-size:.75rem;font-weight:600;color:var(--christmas-gold);text-align:center;white-space:nowrap;text-shadow:0 0 5px rgba(255,215,0,.5);max-width:5rem;overflow:hidden;text-overflow:ellipsis}.joined-count{font-size:1.125rem;font-weight:600;color:var(--christmas-gold);text-shadow:0 0 10px rgba(255,215,0,.5)}.start-game-btn{max-width:37.5rem;margin-top:0;width:100%}.game-page{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden;width:100vw;height:100vh;position:relative}.countdown-phase{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;position:relative}.countdown-display{text-align:center;margin-bottom:2.5rem}.countdown-number{font-family:Fredoka One,cursive;font-size:7.5rem;color:var(--christmas-gold);text-shadow:0 0 30px rgba(255,215,0,.8);animation:countdownPulse 1s ease-in-out;line-height:1}@keyframes countdownPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.countdown-label{font-family:Fredoka One,cursive;font-size:2rem;color:var(--christmas-red);margin-top:1.25rem;text-shadow:0 0 15px rgba(196,30,58,.5)}.round-info{position:absolute;top:1.875rem;right:1.875rem;display:flex;flex-direction:column;align-items:center;background:#ffffff1a;border:2px solid var(--christmas-gold);border-radius:.9375rem;padding:.9375rem 1.5625rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.round-label{font-size:.875rem;color:#ffffffb3;margin-bottom:.3125rem}.round-number{font-family:Fredoka One,cursive;font-size:2.25rem;color:var(--christmas-gold);text-shadow:0 0 10px rgba(255,215,0,.5)}.leaderboard-phase{min-height:100vh;padding:1.25rem;display:flex;flex-direction:column;height:100vh;overflow:hidden}.round-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.9375rem;padding:.9375rem 1.25rem;background:#ffffff1a;border:2px solid var(--christmas-gold);border-radius:.9375rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0}.game-title-leaderboard{font-family:Fredoka One,cursive;font-size:1.75rem;color:var(--christmas-gold);text-shadow:0 0 15px rgba(255,215,0,.5)}.game-duration-container{display:flex;align-items:center;gap:.5rem;margin-left:1.25rem}.game-duration-label{font-family:Montserrat,sans-serif;font-size:1rem;color:#fffc}.game-duration-time{font-family:Fredoka One,cursive;font-size:1.5rem;color:var(--christmas-gold);text-shadow:0 0 10px rgba(255,215,0,.5);min-width:3.75rem;text-align:center}.round-info-header{display:flex;flex-direction:column;align-items:center}.round-label-header{font-size:.75rem;color:#ffffffb3;margin-bottom:.3125rem}.round-number-header{font-family:Fredoka One,cursive;font-size:1.75rem;color:var(--christmas-gold);text-shadow:0 0 10px rgba(255,215,0,.5)}.track-container{flex:1;position:relative;margin:.625rem 0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.race-track{width:100%;height:100%;position:relative;background:linear-gradient(to bottom,#228b2233,#ffffff1a,#228b2233);border:3px solid var(--christmas-gold);border-radius:1.25rem;overflow:hidden;box-shadow:inset 0 0 50px #0000004d;display:flex;flex-direction:column}.track-background{position:absolute;width:100%;height:100%;background-image:repeating-linear-gradient(90deg,transparent 0rem,transparent 3rem,rgba(255,255,255,.1) 3rem,rgba(255,255,255,.1) 3.125rem),repeating-linear-gradient(0deg,transparent 0rem,transparent 6.125rem,rgba(255,255,255,.05) 6.125rem,rgba(255,255,255,.05) 6.25rem);animation:trackMove 2s linear infinite}@keyframes trackMove{0%{transform:translate(0)}to{transform:translate(3.125rem)}}.players-on-track{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:1.25rem;gap:0;flex:1}.track-player{display:flex;align-items:center;position:relative;transition:all .5s ease;animation:slideIn .5s ease;width:100%;padding:.5rem 0;flex:1;min-height:0;min-width:0}.track-player-avatar-name-container{display:flex;align-items:center;flex:1;min-width:0;overflow:hidden}@keyframes slideIn{0%{opacity:0;transform:translate(-3.125rem)}to{opacity:1;transform:translate(0)}}.track-player-avatar{width:2.125rem;height:2.125rem;border-radius:50%;background:linear-gradient(135deg,var(--christmas-red),var(--christmas-gold));border:3px solid var(--christmas-gold);display:flex;align-items:center;justify-content:center;font-family:Fredoka One,cursive;font-size:1.125rem;color:#fff;font-weight:700;box-shadow:0 4px 15px #0006;position:relative;z-index:2;flex-shrink:0;margin:.5rem 0;overflow:hidden}.track-player-avatar-carousel{background:transparent!important;padding:0;border-radius:0!important;width:2rem!important;height:2rem!important;min-width:2rem;min-height:2rem;border:none!important;box-shadow:none!important}.track-player-avatar-carousel .horse-image{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:150%;height:150%;object-fit:contain;border-radius:0;opacity:1;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;backface-visibility:hidden;-webkit-backface-visibility:hidden}.track-player.top3{border-color:var(--christmas-gold);box-shadow:0 6px 25px #ffd70099;animation:top3Glow 2s ease-in-out infinite}.track-player.empty-track{opacity:.3;animation:none!important}.track-player.empty-track .track-player-avatar{background:#ffffff1a;border-color:#ffd7004d}.track-player.empty-track .track-player-name{color:#ffffff80}@keyframes top3Glow{0%,to{box-shadow:0 6px 25px #ffd70099}50%{box-shadow:0 8px 35px #ffd700e6}}.track-player-name{margin-left:1.25rem;font-family:Fredoka One,cursive;font-size:1.25rem;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5);z-index:2;position:relative;min-width:0;display:flex;align-items:center;gap:0;overflow:hidden}.track-player-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.track-player-score{font-family:Fredoka One,cursive;font-size:1.125rem;color:var(--christmas-gold);font-weight:700;text-shadow:0 0 10px rgba(255,215,0,.8);flex-shrink:0;white-space:nowrap;margin-left:.25rem}.track-player-rank{position:relative;left:0;margin-right:1.875rem;font-family:Fredoka One,cursive;font-size:1.75rem;color:var(--christmas-gold);text-shadow:0 0 10px rgba(255,215,0,.5);z-index:2;min-width:3.125rem;text-align:right}.leaderboard-list{background:#ffffff1a;border:2px solid var(--christmas-gold);border-radius:.9375rem;padding:1.25rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-height:12.5rem;overflow-y:auto;flex-shrink:0;margin-top:1.25rem}.results-phase{min-height:100vh;padding:2.5rem 1.25rem 1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:100vh;overflow-y:auto}.results-header{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:75rem;margin-bottom:1.875rem;padding:.9375rem 1.25rem;background:#ffffff1a;border:2px solid var(--christmas-gold);border-radius:.9375rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.results-header-right{display:flex;align-items:center;gap:1.25rem}.game-title-results{font-family:Fredoka One,cursive;font-size:1.75rem;color:var(--christmas-gold);text-shadow:0 0 15px rgba(255,215,0,.5)}.round-info-results{display:flex;flex-direction:column;align-items:center}.round-label-results{font-size:.75rem;color:#ffffffb3;margin-bottom:.3125rem}.round-number-results{font-family:Fredoka One,cursive;font-size:1.75rem;color:var(--christmas-gold);text-shadow:0 0 10px rgba(255,215,0,.5)}.top-three-container{display:flex;justify-content:center;align-items:flex-end;gap:1.25rem;margin:2.5rem 0;width:100%;max-width:75rem;position:relative}.top-three-player{display:flex;flex-direction:column;align-items:center;background:linear-gradient(135deg,#ffffff1a,#ffd7001a);border:3px solid var(--christmas-gold);border-radius:1.25rem;padding:1.875rem 1.5625rem;position:relative;transition:all .3s ease;animation:slideUp .6s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(3.125rem)}to{opacity:1;transform:translateY(0)}}.first-place{order:2;min-width:12.5rem;padding:2.5rem 1.875rem;background:linear-gradient(135deg,#ffd7004d,#c41e3a33);border-color:var(--christmas-gold);box-shadow:0 10px 40px #ffd70066;transform:scale(1.15);z-index:3;animation:winnerPulse 2s ease-in-out infinite}@keyframes winnerPulse{0%,to{box-shadow:0 10px 40px #ffd70066}50%{box-shadow:0 15px 50px #ffd700b3}}.second-place{order:1;min-width:10rem;padding:1.875rem 1.25rem;background:linear-gradient(135deg,#c0c0c033,#ffffff1a);border-color:silver;box-shadow:0 8px 30px #c0c0c04d}.third-place{order:3;min-width:10rem;padding:1.875rem 1.25rem;background:linear-gradient(135deg,#cd7f3233,#ffffff1a);border-color:#cd7f32;box-shadow:0 8px 30px #cd7f324d}.rank-badge{position:absolute;top:-1.25rem;left:50%;transform:translate(-50%);width:3.125rem;height:3.125rem;border-radius:50%;background:linear-gradient(135deg,var(--christmas-red),var(--christmas-gold));border:3px solid var(--christmas-gold);display:flex;align-items:center;justify-content:center;font-family:Fredoka One,cursive;font-size:1.75rem;color:#fff;font-weight:700;box-shadow:0 4px 15px #0006;z-index:10}.rank-badge.winner{background:linear-gradient(135deg,var(--christmas-gold),#ffed4e);width:3.75rem;height:3.75rem;font-size:2rem;border:4px;box-shadow:0 6px 25px #ffd70099}.crown-icon{font-size:2.5rem;margin-bottom:.625rem;animation:crownFloat 2s ease-in-out infinite}@keyframes crownFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-.625rem) rotate(5deg)}}.player-avatar-large{width:6.25rem;height:6.25rem;border-radius:50%;background:linear-gradient(135deg,var(--christmas-red),var(--christmas-gold));border:4px solid var(--christmas-gold);display:flex;align-items:center;justify-content:center;font-family:Fredoka One,cursive;font-size:3rem;color:#fff;font-weight:700;box-shadow:0 6px 25px #0006;margin:1.25rem 0 .9375rem}.first-place .player-avatar-large{width:7.5rem;height:7.5rem;font-size:3.5rem;border-width:.3125rem;box-shadow:0 8px 35px #ffd70099}.player-name-large{font-family:Fredoka One,cursive;font-size:1.5rem;color:#fff;text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,.5);word-break:break-word;max-width:11.25rem}.first-place .player-name-large{font-size:1.75rem;max-width:12.5rem}.full-leaderboard-results{width:100%;max-width:50rem;background:#ffffff1a;border:2px solid var(--christmas-gold);border-radius:.9375rem;padding:1.25rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-height:18.75rem;overflow-y:auto;margin:1.875rem 0}.leaderboard-item-results{display:flex;align-items:center;padding:.75rem;margin-bottom:.5rem;background:#ffffff0d;border-radius:.625rem;border:2px solid transparent;transition:all .3s ease}.leaderboard-item-results:hover{background:#ffffff1a;border-color:var(--christmas-gold)}.leaderboard-rank-results{font-family:Fredoka One,cursive;font-size:1.25rem;color:var(--christmas-gold);min-width:2.1875rem;text-shadow:0 0 10px rgba(255,215,0,.5)}.leaderboard-avatar-results{width:2.8125rem;height:2.8125rem;border-radius:50%;background:linear-gradient(135deg,var(--christmas-red),var(--christmas-gold));border:2px solid var(--christmas-gold);display:flex;align-items:center;justify-content:center;font-family:Fredoka One,cursive;font-size:1.125rem;color:#fff;font-weight:700;margin:0 .9375rem}.leaderboard-name-results{font-family:Montserrat,sans-serif;font-size:1rem;font-weight:600;color:#fff;flex:1}.play-again-btn{font-size:1.125rem;padding:.75rem 1.5rem;white-space:nowrap;width:auto;min-width:8.75rem}.leaderboard-item{display:flex;align-items:center;padding:.9375rem;margin-bottom:.625rem;background:#ffffff0d;border-radius:.625rem;border:2px solid transparent;transition:all .3s ease}.leaderboard-item:hover{background:#ffffff1a;border-color:var(--christmas-gold)}.leaderboard-rank{font-family:Fredoka One,cursive;font-size:1.5rem;color:var(--christmas-gold);min-width:2.5rem;text-shadow:0 0 10px rgba(255,215,0,.5)}.leaderboard-avatar{width:3.125rem;height:3.125rem;border-radius:50%;background:linear-gradient(135deg,var(--christmas-red),var(--christmas-gold));border:2px solid var(--christmas-gold);display:flex;align-items:center;justify-content:center;font-family:Fredoka One,cursive;font-size:1.25rem;color:#fff;font-weight:700;margin:0 .9375rem}.leaderboard-name{font-family:Montserrat,sans-serif;font-size:1.125rem;font-weight:600;color:#fff;flex:1}@media (max-width: 48rem){.logo{font-size:1.5rem}.games-grid{grid-template-columns:repeat(2,1fr)}.waiting-room{flex-direction:row;gap:1.25rem;padding:.75rem;max-width:100%}.join-info{flex:3;padding:1rem}.waiting-room-right{flex:5;gap:.75rem;justify-content:center}.waiting-room-phase .players-circle{grid-template-columns:repeat(5,1fr);max-width:100%;gap:.625rem;padding:0 1rem}.countdown-number{font-size:5rem}.room-code-display{font-size:2.25rem}.track-player-rank{font-size:1.375rem;margin-right:1.25rem;min-width:2.5rem}.track-player-avatar{width:2.8125rem;height:2.8125rem;font-size:1.25rem}.track-player-name{font-size:1.125rem;margin-left:.9375rem}.leaderboard-phase{padding:.9375rem}.round-header{padding:.75rem .9375rem;margin-bottom:.625rem}.game-title-leaderboard{font-size:1.375rem}.track-container{margin:.625rem 0}.players-on-track{padding:.625rem .9375rem}.top-three-container{flex-direction:column;align-items:center;gap:.9375rem}.results-phase .top-three-container{flex-direction:row;align-items:flex-end;justify-content:center;gap:.625rem}.results-phase .first-place{order:2;transform:scale(1.1);min-width:10rem}.results-phase .second-place{order:1;min-width:8.75rem}.results-phase .third-place{order:3;min-width:8.75rem}.first-place{order:1;transform:scale(1);min-width:11.25rem}.second-place{order:2;min-width:9.375rem}.third-place{order:3;min-width:9.375rem}.player-avatar-large{width:5rem;height:5rem;font-size:2.5rem}.first-place .player-avatar-large{width:6.25rem;height:6.25rem;font-size:3rem}.player-name-large{font-size:1.25rem}.first-place .player-name-large{font-size:1.5rem}.results-header{padding:.75rem .9375rem;margin-bottom:1.25rem;flex-wrap:wrap}.game-title-results{font-size:1.375rem}.results-header-right{flex-direction:row;gap:.625rem;align-items:flex-end}.play-again-btn{font-size:1rem;padding:.625rem 1.25rem;min-width:7.5rem}.round-info-results{margin-bottom:0}}@media (orientation: portrait){html,body,.game-page{overflow-y:auto;overflow-x:hidden;height:auto;min-height:100vh}.game-page:before{content:"Please rotate your device to landscape mode";position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000f2;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--christmas-gold);z-index:99999;font-family:Fredoka One,cursive;text-align:center;padding:2rem;pointer-events:auto;box-sizing:border-box;animation:none!important;transition:none!important;transform:none!important}.game-page .container{transform-origin:top center;margin:0 auto;position:relative;height:auto;min-height:100vh;pointer-events:none}.game-page .container *{pointer-events:none}.game-page main{min-height:auto;height:auto}.game-page .waiting-room-phase{width:100%;max-width:100%;margin:0 auto;justify-content:flex-start;align-items:center;padding:1.25rem 0;min-height:auto}.game-page .waiting-room{flex-direction:column;width:100%;max-width:100%;margin:0 auto;justify-content:center;align-items:center;gap:1.5rem}.game-page .waiting-room .join-info{flex:0 1 auto;width:100%;max-width:100%;padding:1rem}.game-page .waiting-room .join-info .join-text{margin-bottom:.375rem}.game-page .waiting-room .join-info .room-code-display{margin:.5rem 0}.game-page .waiting-room .join-info .qr-section{margin-top:.75rem;margin-bottom:1.25rem}.game-page .waiting-room .join-info .qr-section p{margin-bottom:.5rem}.game-page .waiting-room .waiting-room-right{flex:0 1 auto;width:100%;max-width:100%}.game-page .countdown-phase{min-height:100vh;height:auto;padding:1.25rem 0}.game-page .leaderboard-phase{height:auto;min-height:100vh;overflow-y:visible;overflow-x:hidden;padding:1.25rem}.game-page .results-phase{height:auto;min-height:100vh;overflow-y:visible;overflow-x:hidden}}.payment-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;z-index:10000;align-items:center;justify-content:center}.payment-modal.active{display:flex}.payment-content{background:linear-gradient(135deg,#1a1a2e,#16213e);border:3px solid var(--christmas-gold);border-radius:1.25rem;padding:2.5rem;max-width:25rem;width:90%;text-align:center;box-shadow:0 10px 40px #00000080}.payment-content h3{font-family:Fredoka One,cursive;font-size:1.75rem;color:var(--christmas-gold);margin-bottom:1.25rem}.payment-content p{font-size:1.125rem;margin-bottom:1.875rem;color:#ffffffe6}.payment-btn{background:linear-gradient(135deg,var(--christmas-green),#32cd32);margin-top:1.25rem}.auth-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;z-index:10002;align-items:center;justify-content:center;animation:fadeIn .3s ease}.auth-modal.active{display:flex}.auth-content{background:linear-gradient(135deg,#1a1a2e,#16213e);border:3px solid var(--christmas-gold);border-radius:1.25rem;padding:2.5rem;max-width:28.125rem;width:90%;text-align:center;box-shadow:0 10px 40px #00000080;animation:slideDown .3s ease}.auth-content h3{font-family:Fredoka One,cursive;font-size:2rem;color:var(--christmas-gold);margin-bottom:1.875rem;text-shadow:0 0 15px rgba(255,215,0,.5)}.auth-form{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5625rem}.auth-form .input-group{display:flex;flex-direction:column;gap:0}.auth-form .input-group.verification-group{display:flex;flex-direction:row;gap:.625rem;align-items:stretch}.auth-form .input-group.verification-group .auth-input{flex:3;margin-right:0}.auth-form .input-group.verification-group button{flex:2;flex-shrink:0;font-size:1rem!important;white-space:nowrap}.auth-input{width:100%;padding:.9375rem 1.25rem;font-size:1rem;font-weight:600;background:#ffffff1a;border:2px solid var(--christmas-gold);border-radius:.75rem;color:#fff;font-family:Montserrat,sans-serif;transition:all .3s ease}.auth-input:focus{outline:none;border-color:var(--christmas-red);box-shadow:0 0 20px #c41e3a80;background:#ffffff26}.auth-input::placeholder{color:#ffffff80}.auth-submit-btn{width:100%;padding:.9375rem;font-size:1.125rem;font-weight:700;margin-top:.625rem}.auth-footer{display:flex;justify-content:center;align-items:center;gap:.625rem;margin-top:1.25rem;padding-top:1.25rem;border-top:.0625rem solid rgba(255,215,0,.3)}.auth-link-btn{background:transparent;border:none;color:var(--christmas-gold);font-size:.875rem;font-weight:600;cursor:pointer;text-decoration:underline;transition:all .3s ease;font-family:Montserrat,sans-serif}.auth-link-btn:hover{color:var(--christmas-red);text-shadow:0 0 10px rgba(196,30,58,.5)}.auth-separator{color:#ffffff80;font-size:.875rem}#payment-element-container{margin:1.25rem 0}#payment-element{padding:1.25rem;background:#ffffff0d;border-radius:.625rem}#payment-element .InputElement{background:#ffffff1a;border:2px solid var(--christmas-gold);border-radius:.625rem;color:#fff;padding:.75rem}#payment-element .InputElement:focus{border-color:var(--christmas-red);box-shadow:0 0 10px #c41e3a80}#payment-element .Label{color:#ffffffe6;font-family:Montserrat,sans-serif}@media (orientation: landscape){.game-page .waiting-room-phase{width:100%;max-width:100%;padding:1.25rem;box-sizing:border-box}.game-page .waiting-room{flex-direction:row;max-width:100%;width:100%;gap:2rem;padding:1.25rem 2rem;box-sizing:border-box}.game-page .waiting-room .join-info{flex:3;max-width:none;min-width:0}.game-page .waiting-room .waiting-room-right{flex:5;max-width:none;min-width:0}.game-page .waiting-room .join-info .room-code-display{font-size:clamp(2.5rem,5vw,4rem);letter-spacing:clamp(.25rem,.5vw,.5rem)}.game-page .waiting-room .join-info .join-text{font-size:clamp(1rem,1.5vw,1.5rem)}.game-page .waiting-room .join-info .qr-section p{font-size:clamp(.875rem,1.2vw,1.25rem)}.game-page .waiting-room .join-info .qr-code{width:clamp(8rem,12vw,12rem);height:clamp(8rem,12vw,12rem)}.game-page .waiting-room-phase .players-circle{grid-template-columns:repeat(5,1fr);gap:clamp(.5rem,1vw,1rem);padding:0 clamp(.5rem,2vw,2rem);max-width:100%}.game-page .waiting-room .start-game-btn{max-width:100%;width:100%;font-size:clamp(1rem,1.5vw,1.5rem);padding:clamp(.875rem,1.2vw,1.25rem)}.game-page .waiting-room .joined-count{font-size:clamp(1rem,1.5vw,1.5rem)}.full-leaderboard-results{display:none!important}}@media (orientation: landscape) and (max-height: 37.5rem){.game-page .container{transform:none;width:100%;height:100vh;max-width:100%}:root{font-size:clamp(.625rem,2vh,1rem)}.waiting-room-phase,.countdown-phase,.leaderboard-phase,.results-phase{overflow-y:auto;max-height:100vh}.waiting-room{gap:clamp(.75rem,2vw,1.5rem);flex-direction:row;max-width:100%;width:100%;padding:clamp(.5rem,1.5vw,1rem);box-sizing:border-box}.join-info{padding:clamp(.75rem,1.5vw,1.25rem);flex:3;min-width:0;max-width:none}.waiting-room-right{gap:clamp(.5rem,1vw,1rem);justify-content:center;min-width:0;max-width:none}.waiting-room-phase .players-circle{grid-template-columns:repeat(5,1fr);max-width:100%;width:100%;gap:clamp(.375rem,1vw,.75rem);padding:0 clamp(.5rem,2vw,1.5rem);box-sizing:border-box}.waiting-room .room-code-display{font-size:clamp(1.75rem,4vw,3rem);letter-spacing:clamp(.125rem,.3vw,.375rem);margin:clamp(.5rem,1vw,1rem) 0}.waiting-room .qr-code{width:clamp(6rem,10vw,10rem);height:clamp(6rem,10vw,10rem)}.waiting-room .start-game-btn{max-width:100%;width:100%;font-size:clamp(.875rem,1.3vw,1.25rem);padding:clamp(.75rem,1.2vw,1.125rem)}.round-header,.results-header{padding:.75rem 1rem;margin-bottom:.75rem}.top-three-container{margin:1.5rem 0;gap:1rem}}.game-page.theme-winter .join-info{background:#c41e3ad9;border:3px solid #FFD700;box-shadow:0 8px 30px #c41e3a99,0 0 20px #ffd70066}.game-page.theme-winter .room-code-display{color:gold;text-shadow:0 0 20px rgba(255,215,0,.8),2px 2px 4px rgba(0,0,0,.8)}.game-page.theme-winter .join-text{color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.game-page.theme-winter .join-text strong{color:gold;text-shadow:0 0 10px rgba(255,215,0,.8)}.game-page.theme-winter .qr-code{border:3px solid #FFD700;box-shadow:0 6px 20px #00000080,0 0 15px #ffd70066}.game-page.theme-winter .player-slot{background:linear-gradient(135deg,#191970f2,#483d8bf2);border:4px solid #FFD700;box-shadow:0 4px 20px #000000b3,0 0 15px #ffd70099,inset 0 0 10px #ffffff1a}.game-page.theme-winter .player-slot .avatar-placeholder{color:gold;text-shadow:0 0 15px rgba(255,215,0,.9),2px 2px 4px rgba(0,0,0,.9);font-weight:700}.game-page.theme-winter .player-slot.joined{background:linear-gradient(135deg,#006400f2,#228b22f2);border-color:gold;box-shadow:0 6px 25px #000c,0 0 20px #ffd700b3,inset 0 0 15px #ffd70033;animation:pulse 2s ease-in-out infinite}.game-page.theme-winter .player-slot.joined .avatar-placeholder{color:gold;text-shadow:0 0 20px rgba(255,215,0,1),2px 2px 4px rgba(0,0,0,.9);font-weight:800}.game-page.theme-winter .btn-primary{background:linear-gradient(135deg,#c41e3a,#e63946);border:2px solid #FFD700;box-shadow:0 6px 20px #c41e3a80,0 0 15px #ffd7004d}.game-page.theme-winter .btn-primary:hover{box-shadow:0 8px 25px #c41e3ab3,0 0 20px #ffd70080}.game-page.theme-winter .joined-count{color:gold;text-shadow:0 0 15px rgba(255,215,0,.8),1px 1px 2px rgba(0,0,0,.8)}.game-page.theme-winter .countdown-number{color:gold;text-shadow:0 0 40px rgba(255,215,0,.9),2px 2px 4px rgba(0,0,0,.8)}.game-page.theme-winter .countdown-label{color:#c41e3a;text-shadow:0 0 20px rgba(196,30,58,.7),1px 1px 2px rgba(0,0,0,.8)}.game-page.theme-winter .round-info,.game-page.theme-winter .round-header,.game-page.theme-winter .results-header{background:linear-gradient(135deg,#191970e6,#c41e3ad9);border:3px solid #FFD700;box-shadow:0 4px 20px #0009,0 0 15px #ffd70080,inset 0 0 10px #ffd7001a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.game-page.theme-winter .game-title-leaderboard,.game-page.theme-winter .game-title-results{color:gold;text-shadow:0 0 20px rgba(255,215,0,.8),2px 2px 4px rgba(0,0,0,.8)}.game-page.theme-winter .track-container{padding:.5rem;border-radius:1.5rem}.game-page.theme-winter .race-track{background:linear-gradient(to bottom,#191970bf,#483d8bb3,#c41e3aa6,#483d8bb3,#191970bf);border:4px solid #FFD700;border-radius:1.5rem;box-shadow:inset 0 0 60px #0009,0 0 30px #ffd70080,0 8px 32px #00000080,inset 0 0 20px #ffd70026;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.game-page.theme-winter .track-background{background-image:repeating-linear-gradient(90deg,transparent 0rem,transparent 3rem,rgba(255,215,0,.15) 3rem,rgba(255,215,0,.15) 3.125rem),repeating-linear-gradient(0deg,transparent 0rem,transparent 6.125rem,rgba(255,255,255,.1) 6.125rem,rgba(255,255,255,.1) 6.25rem);animation:trackMove 2s linear infinite}.game-page.theme-winter .players-on-track{padding:1.5rem}.game-page.theme-winter .track-player{padding:.75rem 0}.game-page.theme-winter .track-player-avatar{background:linear-gradient(135deg,#c41e3a,gold);border:4px solid #FFD700;box-shadow:0 4px 20px #000000b3,0 0 15px #ffd70099,inset 0 0 10px #fff3}.game-page.theme-winter .track-player-avatar-carousel{background:transparent!important;border-radius:0!important;width:2rem!important;height:2rem!important;border:none!important;box-shadow:none!important}.game-page.theme-winter .track-player-avatar-carousel .horse-image{border-radius:0;width:150%;height:150%;backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:opacity}.game-page.theme-winter .track-player.top3 .track-player-avatar{background:linear-gradient(135deg,gold,orange);border:5px solid #FFD700;box-shadow:0 6px 30px #000c,0 0 25px #ffd700e6,inset 0 0 15px #ffffff4d;animation:top3Glow 2s ease-in-out infinite}.game-page.theme-winter .track-player-name{color:#fff;text-shadow:2px 2px 6px rgba(0,0,0,.9),0 0 10px rgba(255,215,0,.6)}.game-page.theme-winter .track-player-score{color:gold;text-shadow:0 0 20px rgba(255,215,0,1),1px 1px 3px rgba(0,0,0,.9);font-weight:800}.game-page.theme-winter .track-player-rank{color:gold;text-shadow:0 0 20px rgba(255,215,0,1),2px 2px 4px rgba(0,0,0,.9);font-weight:800}.game-page.theme-winter .track-player.empty-track{opacity:.4}.game-page.theme-winter .track-player.empty-track .track-player-avatar{background:#64646480;border-color:#ffd7004d}.game-page.theme-winter .top-three-player{background:#c41e3ad9;border:3px solid #FFD700;box-shadow:0 10px 40px #00000080,0 0 20px #ffd70066}.game-page.theme-winter .first-place{background:linear-gradient(135deg,#ffd70066,#c41e3a4d);box-shadow:0 10px 40px #ffd70099,0 0 30px #ffd70080}.game-page.theme-sunny .join-info{background:#4682b4e6;border:3px solid #FF69B4;box-shadow:0 8px 30px #4682b499,0 0 20px #ff69b466}.game-page.theme-sunny .room-code-display{color:#ff69b4;text-shadow:0 0 20px rgba(255,105,180,.8),2px 2px 4px rgba(0,0,0,.6)}.game-page.theme-sunny .join-text{color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.7)}.game-page.theme-sunny .join-text strong{color:gold;text-shadow:0 0 10px rgba(255,215,0,.8)}.game-page.theme-sunny .qr-code{border:3px solid #FF69B4;box-shadow:0 6px 20px #0006,0 0 15px #ff69b466}.game-page.theme-sunny .player-slot{background:#ffffff4d;border:3px solid #87CEEB;box-shadow:0 4px 15px #0000004d,0 0 10px #87ceeb66}.game-page.theme-sunny .player-slot.joined{background:linear-gradient(135deg,#ff69b4e6,#ffd700b3);border-color:#ff69b4;box-shadow:0 6px 20px #ff69b499,0 0 15px #ffd70080}.game-page.theme-sunny .btn-primary{background:linear-gradient(135deg,#4682b4,#5f9ea0);border:2px solid #FF69B4;box-shadow:0 6px 20px #4682b480,0 0 15px #ff69b44d}.game-page.theme-sunny .btn-primary:hover{box-shadow:0 8px 25px #4682b4b3,0 0 20px #ff69b480}.game-page.theme-sunny .joined-count{color:#ff69b4;text-shadow:0 0 15px rgba(255,105,180,.8),1px 1px 2px rgba(0,0,0,.6)}.game-page.theme-sunny .countdown-number{color:gold;text-shadow:0 0 40px rgba(255,215,0,.9),2px 2px 4px rgba(0,0,0,.7)}.game-page.theme-sunny .countdown-label{color:#4682b4;text-shadow:0 0 20px rgba(70,130,180,.7),1px 1px 2px rgba(0,0,0,.7)}.game-page.theme-sunny .round-info,.game-page.theme-sunny .round-header,.game-page.theme-sunny .results-header{background:#4682b4d9;border:2px solid #FF69B4;box-shadow:0 4px 15px #0006,0 0 10px #ff69b44d}.game-page.theme-sunny .game-title-leaderboard,.game-page.theme-sunny .game-title-results{color:#ff69b4;text-shadow:0 0 20px rgba(255,105,180,.8),2px 2px 4px rgba(0,0,0,.7)}.game-page.theme-sunny .race-track{border:3px solid #FF69B4;box-shadow:inset 0 0 50px #0000004d,0 0 20px #ff69b44d}.game-page.theme-sunny .track-player-avatar{border:3px solid #87CEEB;box-shadow:0 4px 15px #0006,0 0 10px #87ceeb66}.game-page.theme-sunny .track-player-avatar-carousel{background:transparent!important;border-radius:0!important;width:2rem!important;height:2rem!important;border:none!important;box-shadow:none!important}.game-page.theme-sunny .track-player-avatar-carousel .horse-image{border-radius:0;width:150%;height:150%;backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:opacity}.game-page.theme-sunny .track-player.top3 .track-player-avatar{border-color:#ff69b4;box-shadow:0 6px 25px #ff69b4cc,0 0 20px #ff69b499}.game-page.theme-sunny .top-three-player{background:#4682b4d9;border:3px solid #FF69B4;box-shadow:0 10px 40px #0006,0 0 20px #ff69b466}.game-page.theme-sunny .first-place{background:linear-gradient(135deg,#ffd70080,#ff69b466);box-shadow:0 10px 40px #ffd70099,0 0 30px #ff69b480}.game-page.theme-winter .track-player-name,.game-page.theme-sunny .track-player-name{text-shadow:2px 2px 4px rgba(0,0,0,.8),0 0 8px rgba(0,0,0,.5)}.game-page.theme-winter .track-player-score,.game-page.theme-sunny .track-player-score{text-shadow:0 0 15px rgba(255,215,0,.9),1px 1px 2px rgba(0,0,0,.8)}.game-page.theme-winter .track-player-rank,.game-page.theme-sunny .track-player-rank,.game-page.theme-winter .round-number,.game-page.theme-winter .round-number-header,.game-page.theme-winter .round-number-results,.game-page.theme-sunny .round-number,.game-page.theme-sunny .round-number-header,.game-page.theme-sunny .round-number-results{text-shadow:0 0 15px rgba(255,215,0,.8),1px 1px 2px rgba(0,0,0,.8)}.game-page.theme-winter .game-duration-label{color:#ffffffe6;text-shadow:1px 1px 3px rgba(0,0,0,.8)}.game-page.theme-winter .game-duration-time{color:gold;text-shadow:0 0 20px rgba(255,215,0,1),1px 1px 3px rgba(0,0,0,.9);font-weight:800}.game-page.theme-sunny .game-duration-time{text-shadow:0 0 15px rgba(255,215,0,.8),1px 1px 2px rgba(0,0,0,.8)}.logout-confirm-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:10001;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.logout-confirm-box{background:linear-gradient(135deg,#1a1a2efa,#16213efa);border:3px solid var(--christmas-gold);border-radius:20px;padding:30px 40px;max-width:90%;width:400px;box-shadow:0 10px 40px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;animation:slideDown .3s ease}.logout-confirm-title{font-family:Fredoka One,cursive;font-size:24px;color:var(--christmas-gold);margin-bottom:20px;text-shadow:0 0 15px rgba(255,215,0,.5)}.logout-confirm-message{font-family:Montserrat,sans-serif;font-size:18px;color:#ffffffe6;margin-bottom:30px;line-height:1.6}.logout-confirm-buttons{display:flex;gap:15px;justify-content:center}.logout-confirm-yes{min-width:120px;background:var(--christmas-red)}.logout-confirm-no{min-width:120px;background:var(--christmas-green)}@keyframes slideDown{0%{opacity:0;transform:translateY(-3.125rem) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
