:root{--breakpoint-xs: 320px;--breakpoint-sm: 480px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1400px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--touch-target-min: 44px;--touch-target-comfortable: 48px;--mobile-nav-height: 64px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-fab: 900;--z-bottom-nav: 1000;--z-header: 1001;--z-overlay: 1500;--z-modal: 2000;--z-toast: 3000;--z-tooltip: 4000}@media (hover: none) and (pointer: coarse){:root{--is-touch-device: 1}}@media (hover: hover) and (pointer: fine){:root{--is-touch-device: 0}}@media (max-width: 479px){.hide-mobile{display:none!important}}@media (min-width: 480px){.show-mobile-only{display:none!important}}@media (min-width: 768px){.hide-desktop{display:none!important}}@media (max-width: 767px){.show-desktop-only{display:none!important}}.full-height{height:100vh;height:100dvh}.full-height-small{height:100vh;height:100svh}.full-height-large{height:100vh;height:100lvh}.min-height-screen{min-height:100vh;min-height:100dvh}.min-height-screen-small{min-height:100vh;min-height:100svh}@media (orientation: landscape){.hide-landscape{display:none!important}}@media (orientation: portrait){.hide-portrait{display:none!important}}@media (orientation: portrait){.show-landscape-only{display:none!important}}@media (orientation: landscape){.show-portrait-only{display:none!important}}@media (max-width: 767px){input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=tel],input[type=url],select,textarea{font-size:16px!important}}:root{--color-bg-1: #0d0f1a;--color-bg-2: #12172a;--color-surface-1: #151b30;--color-surface-2: #1c2240;--color-border-subtle: rgba(255, 255, 255, .08);--color-border-strong: rgba(255, 255, 255, .18);--color-primary: #e94560;--color-secondary: #00d9ff;--color-accent: #ff6b6b;--color-success: #4caf50;--color-warning: #ff9800;--color-danger: #d90429;--color-text-primary: #ffffff;--color-text-secondary: #a8aec7;--color-text-muted: #8a90aa;--font-body: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-display: "Orbitron", "Inter", "Segoe UI", system-ui, sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--shadow-sm: 0 6px 18px rgba(0, 0, 0, .25);--shadow-md: 0 10px 30px rgba(0, 0, 0, .35);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .45);--glass-1: rgba(255, 255, 255, .06);--glass-2: rgba(255, 255, 255, .1);--focus-ring: 0 0 0 3px rgba(0, 217, 255, .25);--neon-glow: 0 0 20px rgba(0, 217, 255, .8);--gradient-primary: linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%);--gradient-secondary: linear-gradient(135deg, var(--color-secondary) 0%, #00b4d8 100%);--gradient-surface: linear-gradient(145deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02));--primary-bg: var(--color-bg-1);--secondary-bg: var(--color-bg-2);--card-bg: var(--color-surface-1);--primary-color: var(--color-primary);--secondary-color: var(--color-secondary);--accent-color: var(--color-accent);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--card-shadow: var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--touch-target-min, 44px);padding:.9rem 1.6rem;border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);background:var(--glass-1);color:var(--color-text-primary);font-family:var(--font-body);font-weight:700;letter-spacing:.4px;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;position:relative;overflow:hidden}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);border-color:#e9456066;box-shadow:var(--shadow-sm);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--gradient-secondary);border-color:#00d9ff59;color:#0d0f1a;box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-ghost{background:var(--glass-1);border-color:var(--color-border-strong);color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--glass-2);color:var(--color-text-primary);border-color:var(--color-border-strong)}.btn-danger{background:linear-gradient(135deg,var(--color-danger),#ff4d6d);border-color:#ff4d6d80;color:#fff}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-pill{border-radius:var(--radius-pill)}.btn-lg{padding:1.2rem 2.2rem;font-size:1.05rem}.card{background:var(--color-surface-1);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.glass{background:var(--glass-2);border:1px solid var(--color-border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}@media (max-width: 767px){.btn{padding:.8rem 1.4rem;font-size:.95rem}.btn-lg{padding:1rem 1.8rem;font-size:1rem}}@media (max-width: 479px){.btn{padding:.75rem 1.2rem;font-size:.9rem;min-height:var(--touch-target-min, 44px)}.btn-lg{padding:.9rem 1.5rem;font-size:.95rem}.btn-mobile-full{width:100%}}@media (hover: none) and (pointer: coarse){.btn{min-height:var(--touch-target-comfortable, 48px)}.btn:hover{transform:none}.btn:active{transform:scale(.98)}.btn-primary:active,.btn-secondary:active{box-shadow:var(--shadow-sm)}}body{margin:0;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@font-face{font-family:Orbitron;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/orbitron-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/orbitron-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/orbitron-900.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/inter-300.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.ad-container{display:flex;justify-content:center;align-items:center;margin:0;background:transparent;border:none;box-shadow:none}.ad-container.ad-banner{width:100%}.ad-container.ad-rectangle{width:fit-content}.ad-placeholder{background:transparent;border:none;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:none}.ad-placeholder:before{display:none}.ad-placeholder-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:1}.ad-placeholder-icon{font-size:.8rem;font-weight:700;color:#00d9ffe6;background:rgba(0,217,255,.2);padding:.3rem .6rem;border-radius:4px;letter-spacing:2px}.ad-placeholder-label{font-size:.9rem;font-weight:600;color:#ffffffb3}.ad-placeholder-support{font-size:.75rem;color:#00d9ff99}.ad-placeholder-fake{border:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.ad-placeholder-fake:before{display:none}.ad-placeholder-fake:hover{transform:scale(1.01);box-shadow:0 6px 25px #0006}.ad-fake-content{display:flex;align-items:center;width:100%;height:100%;padding:.75rem 1.25rem;gap:1rem}.ad-fake-horizontal{flex-direction:row;justify-content:space-between}.ad-fake-vertical{flex-direction:column;justify-content:center;text-align:center;padding:1.5rem 1rem}.ad-fake-badge{position:absolute;top:4px;left:4px;font-size:.6rem;font-weight:700;color:#ffffffe6;background:rgba(0,0,0,.4);padding:.15rem .4rem;border-radius:3px;letter-spacing:1px}.ad-fake-text{display:flex;flex-direction:column;gap:.15rem}.ad-fake-vertical .ad-fake-text{gap:.5rem;margin-bottom:1rem}.ad-fake-title{font-size:1.1rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.ad-fake-vertical .ad-fake-title{font-size:1.3rem}.ad-fake-subtitle{font-size:.85rem;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.3)}.ad-fake-vertical .ad-fake-subtitle{font-size:.9rem}.ad-fake-cta{padding:.5rem 1.25rem;background:rgba(255,255,255,.95);border:none;border-radius:20px;color:#333;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;box-shadow:0 2px 8px #0003}.ad-fake-cta:hover{background:white;transform:scale(1.05);box-shadow:0 4px 12px #0000004d}.ad-fake-vertical .ad-fake-cta{padding:.75rem 1.5rem;font-size:.9rem}@media (max-width: 768px){.ad-fake-content{padding:.5rem .75rem;gap:.5rem}.ad-fake-title{font-size:.9rem}.ad-fake-subtitle{font-size:.7rem}.ad-fake-cta{padding:.35rem .75rem;font-size:.7rem}}.ad-banner-wrapper{display:flex;justify-content:center;width:100%}.ad-banner-desktop{display:block}.ad-banner-mobile{display:none}@media (max-width: 768px){.ad-banner-desktop{display:none}.ad-banner-mobile{display:block}}.ad-rectangle-wrapper{display:flex;justify-content:center}.support-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.support-modal{background:linear-gradient(145deg,rgba(25,25,50,.98),rgba(15,15,35,.98));border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;max-width:450px;width:100%;text-align:center;box-shadow:0 20px 60px #00000080}.support-modal-header{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1rem}.support-modal-heart{font-size:2rem;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.support-modal-header h3{font-size:1.4rem;font-weight:700;color:#fff;margin:0}.support-modal-text{color:#ffffffb3;font-size:.95rem;line-height:1.5;margin-bottom:1.5rem}.support-modal-preview{margin-bottom:1.5rem;display:flex;justify-content:center}.support-modal-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:1rem}.support-modal-skip{padding:.75rem 1.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#ffffffb3;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.support-modal-skip:hover{background:rgba(255,255,255,.15);color:#fff}.support-modal-watch{padding:.75rem 1.5rem;background:linear-gradient(135deg,#4CAF50,#45a049);border:none;border-radius:10px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #4caf5066}.support-modal-watch:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5080}.support-modal-premium-hint{font-size:.8rem;color:#fff6;margin:0}.support-modal-watching{padding:1rem 0}.support-modal-watching h3{font-size:1.2rem;color:#fff;margin-bottom:1.5rem}.ad-video-container{display:flex;justify-content:center;margin-bottom:1rem}.ad-progress-bar{width:100%;height:6px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden;margin-bottom:.5rem}.ad-progress-fill{height:100%;background:linear-gradient(90deg,#4CAF50,#00e676);border-radius:3px;transition:width .3s ease}.ad-progress-text{font-size:.85rem;color:#fff9}.rewarded-ad-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,var(--color-primary, #e94560),var(--color-secondary, #00d9ff));border:1px solid rgba(233,69,96,.4);border-radius:10px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 8px 20px #00d9ff40}.rewarded-ad-button:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary, #e94560),#ff5f70);border-color:#00d9ff80;transform:translateY(-1px);box-shadow:0 12px 25px #00d9ff59}.rewarded-ad-button:disabled{opacity:.6;cursor:not-allowed}.rewarded-ad-button.on-cooldown{background:rgba(233,69,96,.15);border-color:#e9456040;color:#ffffffb3;box-shadow:none}.rewarded-ad-icon{font-size:1.1rem;filter:drop-shadow(0 0 6px rgba(0,217,255,.4))}.rewarded-ad-text{font-size:.85rem}.rewarded-ad-text strong{color:var(--color-primary, #e94560);font-weight:700}.rewarded-ad-watching{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem;background:rgba(0,217,255,.12);border:1px solid rgba(0,217,255,.3);border-radius:10px;box-shadow:inset 0 0 12px #e9456026}.rewarded-ad-progress{width:100%;height:4px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}.rewarded-ad-progress-fill{height:100%;background:linear-gradient(90deg,#4CAF50,#00e676);border-radius:2px;transition:width .3s ease}.rewarded-ad-progress-text{font-size:.8rem;color:#ffffffb3;text-align:center}@media (max-width: 480px){.support-modal{padding:1.5rem;border-radius:16px}.support-modal-header h3{font-size:1.2rem}.support-modal-actions{flex-direction:column}.support-modal-skip,.support-modal-watch{width:100%}.rewarded-ad-button{width:100%;justify-content:center}}.ad-sidebar{position:fixed;top:50%;transform:translateY(-50%);z-index:100;margin:0;display:none}.ad-sidebar-left{left:10px}.ad-sidebar-right{right:10px}.ad-sidebar-wrapper{display:flex;justify-content:center}@media (min-width: 1400px){.ad-sidebar{display:flex}}@media (min-width: 1600px){.ad-sidebar-left{left:20px}.ad-sidebar-right{right:20px}}@media (max-width: 1399px){.ad-sidebar{display:none!important}}.notification-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:10px;max-width:90%;width:auto;pointer-events:none}.notification-banner{position:relative;padding:12px 20px;border-radius:10px;box-shadow:0 4px 20px #00000040;display:flex;align-items:center;gap:12px;min-width:300px;max-width:500px;font-family:Inter,Segoe UI,sans-serif;font-size:.95rem;line-height:1.4;animation:notificationSlideIn .3s ease-out;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.notification-banner{animation-delay:calc(var(--notification-index, 0) * .05s)}@keyframes notificationSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.notification-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.875rem;font-weight:700;flex-shrink:0}.notification-message{flex-grow:1;font-weight:500}.notification-close-btn{background:rgba(255,255,255,.2);border:none;color:inherit;width:28px;height:28px;min-width:44px;min-height:44px;border-radius:50%;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.8;transition:all .2s ease;flex-shrink:0;margin:-8px -8px -8px 0;padding:8px}.notification-close-btn:hover{opacity:1;background:rgba(255,255,255,.3);transform:scale(1.1)}.notification-info{background:linear-gradient(135deg,rgba(41,121,255,.95),rgba(25,100,200,.95));color:#fff;border:1px solid rgba(255,255,255,.2)}.notification-info .notification-icon{background:rgba(255,255,255,.2)}.notification-success{background:linear-gradient(135deg,rgba(0,200,83,.95),rgba(0,150,60,.95));color:#fff;border:1px solid rgba(255,255,255,.2)}.notification-success .notification-icon{background:rgba(255,255,255,.2)}.notification-error{background:linear-gradient(135deg,rgba(213,0,0,.95),rgba(180,0,0,.95));color:#fff;border:1px solid rgba(255,255,255,.2)}.notification-error .notification-icon{background:rgba(255,255,255,.2)}.notification-warning{background:linear-gradient(135deg,rgba(255,145,0,.95),rgba(230,120,0,.95));color:#212121;border:1px solid rgba(0,0,0,.1)}.notification-warning .notification-icon{background:rgba(0,0,0,.15)}.notification-warning .notification-close-btn{color:#212121;background:rgba(0,0,0,.1)}.notification-warning .notification-close-btn:hover{background:rgba(0,0,0,.2)}@media (max-width: 767px){.notification-container{top:15px}.notification-banner{padding:10px 16px;min-width:280px;font-size:.9rem}}@media (max-width: 479px){.notification-container{top:10px;left:10px;right:10px;transform:none;max-width:none}.notification-banner{min-width:auto;max-width:none;padding:10px 14px;font-size:.85rem;border-radius:8px}@keyframes notificationSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.notification-message{font-size:.85rem}.notification-icon{width:20px;height:20px;font-size:.75rem}.notification-close-btn{width:24px;height:24px;min-width:44px;min-height:44px;font-size:.9rem}}@media (prefers-reduced-motion: reduce){.notification-banner{animation:none}}@media (max-width: 480px){.notification-container{top:calc(90px + env(safe-area-inset-top,0px))}}.achievement-toast-container{position:fixed;top:100px;right:20px;bottom:100px;z-index:10001;display:flex;flex-direction:column;gap:12px;pointer-events:none;width:min(480px,calc(100vw - 40px));overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;justify-content:flex-start;padding:10px 0}.achievement-toast-container::-webkit-scrollbar{display:none}.achievement-toast{pointer-events:auto;background:linear-gradient(135deg,rgba(26,26,46,.98),rgba(22,33,62,.98));border-radius:16px;padding:0;overflow:hidden;box-shadow:0 10px 40px #0009,0 0 30px var(--toast-glow, rgba(0, 217, 255, .2)),inset 0 1px #ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:toastSlideIn .5s cubic-bezier(.34,1.56,.64,1);position:relative;border:2px solid var(--toast-border, rgba(0, 217, 255, .4))}.achievement-toast.rarity-common{--toast-glow: rgba(156, 163, 175, .2);--toast-border: rgba(156, 163, 175, .4);--toast-accent: #9CA3AF}.achievement-toast.rarity-rare{--toast-glow: rgba(59, 130, 246, .3);--toast-border: rgba(59, 130, 246, .5);--toast-accent: #3B82F6}.achievement-toast.rarity-epic{--toast-glow: rgba(139, 92, 246, .3);--toast-border: rgba(139, 92, 246, .5);--toast-accent: #8B5CF6}.achievement-toast.rarity-legendary{--toast-glow: rgba(245, 158, 11, .4);--toast-border: rgba(245, 158, 11, .6);--toast-accent: #F59E0B;animation:toastSlideIn .5s cubic-bezier(.34,1.56,.64,1),legendaryPulse 2s ease-in-out infinite}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100px) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes legendaryPulse{0%,to{box-shadow:0 10px 40px #0009,0 0 30px #f59e0b4d,inset 0 1px #ffffff1a}50%{box-shadow:0 10px 40px #0009,0 0 50px #f59e0b80,inset 0 1px #ffffff1a}}.toast-celebration{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;pointer-events:none}.celebration-particles{position:absolute;top:50%;left:50%;width:10px;height:10px}.particle{position:absolute;width:8px;height:8px;background:var(--toast-accent, #00d9ff);border-radius:50%;animation:particleBurst 1s ease-out forwards;animation-delay:calc(var(--i) * .05s);opacity:0}@keyframes particleBurst{0%{transform:translate(-50%,-50%) scale(0);opacity:1}50%{opacity:.8}to{transform:translate(calc(-50% + cos(calc(var(--i) * 45deg))*80px),calc(-50% + sin(calc(var(--i) * 45deg))*80px));opacity:0}}.particle:nth-child(1){animation:particle1 1s ease-out forwards}.particle:nth-child(2){animation:particle2 1s ease-out forwards .05s}.particle:nth-child(3){animation:particle3 1s ease-out forwards .1s}.particle:nth-child(4){animation:particle4 1s ease-out forwards .15s}.particle:nth-child(5){animation:particle5 1s ease-out forwards .2s}.particle:nth-child(6){animation:particle6 1s ease-out forwards .25s}.particle:nth-child(7){animation:particle7 1s ease-out forwards .3s}.particle:nth-child(8){animation:particle8 1s ease-out forwards .35s}@keyframes particle1{0%{transform:scale(0);opacity:1}to{transform:translate(60px,-30px) scale(.5);opacity:0}}@keyframes particle2{0%{transform:scale(0);opacity:1}to{transform:translate(40px,-50px) scale(.5);opacity:0}}@keyframes particle3{0%{transform:scale(0);opacity:1}to{transform:translate(-20px,-55px) scale(.5);opacity:0}}@keyframes particle4{0%{transform:scale(0);opacity:1}to{transform:translate(-50px,-35px) scale(.5);opacity:0}}@keyframes particle5{0%{transform:scale(0);opacity:1}to{transform:translate(-60px,15px) scale(.5);opacity:0}}@keyframes particle6{0%{transform:scale(0);opacity:1}to{transform:translate(-35px,45px) scale(.5);opacity:0}}@keyframes particle7{0%{transform:scale(0);opacity:1}to{transform:translate(25px,50px) scale(.5);opacity:0}}@keyframes particle8{0%{transform:scale(0);opacity:1}to{transform:translate(55px,25px) scale(.5);opacity:0}}.toast-header{display:flex;align-items:center;padding:12px 16px;background:linear-gradient(90deg,var(--toast-accent),transparent);border-bottom:1px solid rgba(255,255,255,.1)}.toast-icon{font-size:20px;margin-right:10px;filter:drop-shadow(0 0 8px var(--toast-accent));animation:iconBounce .6s ease .3s}@keyframes iconBounce{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.toast-title{flex:1;font-weight:800;font-size:13px;color:#fff;text-transform:uppercase;letter-spacing:1.5px;text-shadow:0 0 10px var(--toast-accent)}.toast-close{background:rgba(255,255,255,.1);border:none;color:#ffffffb3;width:32px;height:32px;min-width:44px;min-height:44px;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;margin:-6px -6px -6px 0;padding:6px}.toast-close:hover{background:rgba(255,255,255,.2);color:#fff}.toast-content{display:flex;gap:16px;padding:16px}.achievement-icon-wrapper{width:72px;height:72px;flex-shrink:0;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.05));border-radius:14px;display:flex;align-items:center;justify-content:center;border:2px solid var(--toast-accent);box-shadow:0 0 20px rgba(var(--toast-accent),.3)}.achievement-icon-img{width:48px;height:48px;object-fit:contain}.achievement-icon-fallback{font-size:38px;filter:drop-shadow(0 0 10px var(--toast-accent))}.achievement-details{flex:1;min-width:0}.achievement-name{margin:0 0 4px;font-size:16px;font-weight:700;color:#fff;line-height:1.2}.achievement-description{margin:0 0 8px;font-size:12px;color:#94a3b8;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rarity-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.5px}.rarity-badge.rarity-common{background:rgba(156,163,175,.2);color:#9ca3af}.rarity-badge.rarity-rare{background:rgba(59,130,246,.2);color:#60a5fa;text-shadow:0 0 10px rgba(59,130,246,.5)}.rarity-badge.rarity-epic{background:rgba(139,92,246,.2);color:#a78bfa;text-shadow:0 0 10px rgba(139,92,246,.5)}.rarity-badge.rarity-legendary{background:linear-gradient(135deg,rgba(245,158,11,.3),rgba(234,179,8,.3));color:#fbbf24;text-shadow:0 0 10px rgba(245,158,11,.6);animation:legendaryBadgeGlow 2s ease-in-out infinite}@keyframes legendaryBadgeGlow{0%,to{box-shadow:0 0 5px #f59e0b4d}50%{box-shadow:0 0 15px #f59e0b80}}.badge-row{display:flex;align-items:center;gap:8px;margin-top:4px}.achievement-category{display:inline-block;padding:4px 10px;background:rgba(255,255,255,.08);border-radius:6px;font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.unlock-requirement{display:flex;align-items:center;gap:8px;padding:10px 16px;background:rgba(255,255,255,.03);border-top:1px solid rgba(255,255,255,.08);font-size:12px}.requirement-label{color:#64748b;font-weight:500}.requirement-value{color:#e2e8f0;font-weight:600}.toast-rewards{display:flex;gap:12px;padding:0 16px 12px}.reward-item{display:flex;align-items:center;gap:6px;padding:6px 12px;background:rgba(255,255,255,.05);border-radius:8px;flex:1;justify-content:center}.reward-icon{font-size:14px}.reward-value{font-size:13px;font-weight:700}.reward-item.xp .reward-value{color:#4ade80}.reward-item.points .reward-value{color:#00d9ff}.view-achievements-btn{width:calc(100% - 32px);margin:0 16px 16px;padding:10px;background:linear-gradient(135deg,var(--toast-accent),color-mix(in srgb,var(--toast-accent),#000 20%));color:#000;border:none;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}.view-achievements-btn:hover{transform:translateY(-2px);box-shadow:0 5px 20px rgba(var(--toast-accent),.4)}.achievement-toast:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:toastShine 2s ease-in-out .5s;pointer-events:none}@keyframes toastShine{0%{left:-100%}to{left:100%}}@media (max-width: 767px){.achievement-toast-container{top:90px;right:10px;bottom:80px;width:calc(100vw - 20px);max-width:400px}.achievement-toast{border-radius:12px}.toast-header{padding:10px 14px}.toast-title{font-size:11px;letter-spacing:1px}.toast-content{padding:12px;gap:12px}.achievement-icon-wrapper{width:56px;height:56px}.achievement-icon-fallback{font-size:28px}.achievement-name{font-size:14px}.achievement-description{font-size:11px}.achievement-category{font-size:10px;padding:3px 8px}.unlock-requirement{padding:8px 12px;font-size:11px}.toast-rewards{padding:0 12px 10px;gap:8px}.reward-item{padding:5px 8px}.reward-value{font-size:12px}.view-achievements-btn{width:calc(100% - 24px);margin:0 12px 12px;padding:8px;font-size:11px}}@media (max-width: 479px){.achievement-toast-container{top:90px;bottom:80px;right:10px;left:10px;width:auto;max-width:none}.toast-content{padding:10px}.achievement-icon-wrapper{width:48px;height:48px}.achievement-icon-fallback{font-size:24px}.unlock-requirement{padding:6px 10px;font-size:10px}}@media (prefers-reduced-motion: reduce){.achievement-toast,.achievement-toast.rarity-legendary{animation:none}.particle{animation:none;display:none}.toast-icon{animation:none}.achievement-toast:before{animation:none;display:none}.rarity-badge.rarity-legendary{animation:none}}.notification-bell-container{position:relative}.notification-bell-button{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:8px 10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative}.notification-bell-button:hover{background:rgba(255,255,255,.15);border-color:#ffffff40}.notification-bell-button.has-notifications{animation:bellPulse 2s ease-in-out infinite}@keyframes bellPulse{0%,to{box-shadow:0 0 #00d9ff00}50%{box-shadow:0 0 0 4px #00d9ff33}}.bell-icon{width:20px;height:20px;color:#e2e8f0}.notification-badge{position:absolute;top:-4px;right:-4px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 2px 8px #ef444466;border:2px solid #1a1a2e}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-height:420px;background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 10px 40px #00000080;overflow:hidden;z-index:1000;animation:dropdownSlideIn .2s ease}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.2)}.notification-header h4{margin:0;font-size:14px;font-weight:600;color:#fff}.mark-all-read{background:none;border:none;color:#00d9ff;font-size:12px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.mark-all-read:hover{background:rgba(0,217,255,.1)}.mark-all-read:disabled{opacity:.5;cursor:not-allowed}.notification-list{max-height:360px;overflow-y:auto}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:rgba(0,0,0,.2)}.notification-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:3px}.notification-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#64748b}.notification-empty .empty-icon{font-size:32px;opacity:.5;margin-bottom:8px}.notification-empty p{margin:0;font-size:13px}.notification-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;text-align:left;transition:all .2s}.notification-item:hover{background:rgba(255,255,255,.05)}.notification-item:disabled{opacity:.7;cursor:wait}.notification-item:last-child{border-bottom:none}.notification-item.rarity-common{border-left:3px solid #9ca3af}.notification-item.rarity-rare{border-left:3px solid #3b82f6}.notification-item.rarity-epic{border-left:3px solid #8b5cf6}.notification-item.rarity-legendary{border-left:3px solid #f59e0b;background:linear-gradient(90deg,rgba(245,158,11,.05),transparent)}.notification-icon{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);border-radius:8px;font-size:20px}.notification-icon img{width:28px;height:28px;object-fit:contain}.notification-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notification-title{font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.notification-name{font-size:14px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-meta{display:flex;align-items:center;gap:8px;margin-top:2px}.rarity-tag{font-size:9px;font-weight:700;text-transform:uppercase;padding:2px 6px;border-radius:3px;letter-spacing:.3px}.rarity-tag.rarity-common{background:rgba(156,163,175,.2);color:#9ca3af}.rarity-tag.rarity-rare{background:rgba(59,130,246,.2);color:#60a5fa}.rarity-tag.rarity-epic{background:rgba(139,92,246,.2);color:#a78bfa}.rarity-tag.rarity-legendary{background:rgba(245,158,11,.2);color:#fbbf24}.time-ago{font-size:11px;color:#64748b}.notification-arrow{color:#64748b;font-size:16px;opacity:0;transform:translate(-4px);transition:all .2s}.notification-item:hover .notification-arrow{opacity:1;transform:translate(0)}@media (max-width: 767px){.notification-dropdown{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;max-height:70vh;border-radius:16px 16px 0 0;border-bottom:none}.notification-header{padding:16px 20px}.notification-item{padding:14px 20px}.notification-bell-button{min-width:44px;min-height:44px}}@media (max-width: 480px){.notification-dropdown{max-height:65vh}.notification-list{max-height:calc(65vh - 60px)}.mark-all-read{min-height:var(--touch-target-min, 44px);padding:8px 12px}}@media (max-width: 359px){.notification-dropdown{max-height:60vh;border-radius:14px 14px 0 0}.notification-header{padding:12px 14px}.notification-header h4{font-size:13px}.mark-all-read{font-size:11px;padding:6px 10px}.notification-list{max-height:calc(60vh - 50px)}.notification-item{padding:10px 14px;gap:10px}.notification-icon{width:36px;height:36px;font-size:18px}.notification-icon img{width:24px;height:24px}.notification-name{font-size:13px}.notification-title{font-size:9px}.rarity-tag{font-size:8px;padding:1px 4px}.time-ago{font-size:10px}.notification-empty{padding:30px 15px}.notification-empty .empty-icon{font-size:28px}}@media (max-width: 767px) and (orientation: landscape){.notification-dropdown{position:absolute;bottom:auto;top:calc(100% + 8px);left:auto;right:0;width:320px;max-height:calc(100vh - 80px);border-radius:12px;border:1px solid rgba(255,255,255,.1)}.notification-header{padding:12px 14px}.notification-list{max-height:calc(100vh - 150px)}.notification-item{padding:10px 14px}}@media (max-height: 500px) and (orientation: landscape){.notification-dropdown{max-height:calc(100vh - 60px)}.notification-header{padding:10px 12px}.notification-item{padding:8px 12px}.notification-icon{width:32px;height:32px}.notification-empty{padding:20px 15px}}@media (hover: none) and (pointer: coarse){.notification-bell-button:hover{background:rgba(255,255,255,.1)}.notification-bell-button:active{transform:scale(.95);background:rgba(255,255,255,.2)}.notification-item:hover{background:none}.notification-item:active{background:rgba(255,255,255,.08)}.notification-item:hover .notification-arrow{opacity:0}.mark-all-read:hover{background:none}.mark-all-read:active{background:rgba(0,217,255,.15)}.notification-bell-button,.notification-item,.mark-all-read{min-height:var(--touch-target-min, 44px)}}@media (prefers-reduced-motion: reduce){.notification-bell-button.has-notifications,.notification-dropdown{animation:none}.notification-arrow{transition:none}}.mobile-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(10,10,20,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.mobile-drawer-backdrop.open{opacity:1;visibility:visible}.mobile-drawer{position:fixed;top:0;right:0;width:280px;max-width:85vw;height:100%;background:linear-gradient(165deg,rgba(26,26,46,.98) 0%,rgba(15,20,40,.99) 100%);border-left:2px solid rgba(0,217,255,.25);z-index:3000;transform:translate(100%);transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;overflow-y:auto;padding-top:calc(var(--safe-area-top, 0px) + 1rem);padding-bottom:calc(var(--safe-area-bottom, 0px) + 1rem)}.mobile-drawer.open{transform:translate(0)}.drawer-close-btn{position:absolute;top:calc(var(--safe-area-top, 0px) + .75rem);right:.75rem;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:8px 10px;cursor:pointer;transition:all .2s ease}.drawer-close-btn:hover{background:rgba(255,255,255,.15);border-color:#ffffff40}.drawer-close-btn:active{transform:scale(.95);background:rgba(255,255,255,.2)}.drawer-close-btn .close-icon{font-size:20px;line-height:1;color:#e2e8f0}.drawer-user-section{display:flex;align-items:center;gap:1rem;padding:1.5rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08);margin-top:1rem}.drawer-avatar{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,rgba(0,217,255,.2),rgba(233,69,96,.2));border:2px solid rgba(0,217,255,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0}.drawer-avatar-icon{font-size:1.75rem}.drawer-user-info{display:flex;flex-direction:column;gap:.35rem;min-width:0}.drawer-username{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-premium-badge{display:inline-block;font-size:.65rem;font-weight:700;padding:.2rem .5rem;border-radius:4px;letter-spacing:.5px;width:fit-content;background:linear-gradient(135deg,#00d9ff,#0099cc);color:#0a0a14}.drawer-premium-badge.lifetime{background:linear-gradient(135deg,#ffd700,#ffaa00)}.drawer-premium-badge.monthly{background:linear-gradient(135deg,#00d9ff,#0099cc)}.drawer-stats-section{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}.drawer-stat-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:rgba(255,255,255,.03);border-radius:10px;border:1px solid rgba(255,255,255,.05)}.drawer-stat-card.clickable{cursor:pointer;transition:all .2s ease}.drawer-stat-card.clickable:hover{background:rgba(255,255,255,.06);border-color:#00d9ff33}.drawer-stat-card.clickable:active{transform:scale(.98)}.stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.level-icon{background:linear-gradient(135deg,rgba(0,217,255,.2),rgba(0,217,255,.1));color:var(--secondary-color)}.stat-icon.trophy-icon{background:linear-gradient(135deg,rgba(245,158,11,.2),rgba(234,179,8,.1));color:#fbbf24}.stat-content{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.stat-chevron{color:var(--text-secondary);opacity:.6}.drawer-xp-section{padding:.5rem .75rem}.xp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.xp-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.xp-value{font-size:.75rem;color:var(--secondary-color);font-weight:600}.drawer-xp-bar{width:100%;height:8px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}.drawer-xp-fill{height:100%;background:linear-gradient(90deg,var(--secondary-color),#7cf3ff);border-radius:999px;transition:width .35s ease-out;box-shadow:0 0 10px #00d9ff66}.drawer-links-section{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.drawer-link{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:var(--text-primary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%;text-align:left}.drawer-link:hover{background:rgba(255,255,255,.05);border-color:#00d9ff33}.drawer-link:active{transform:scale(.98)}.drawer-link svg:first-child{color:var(--text-secondary)}.drawer-link span{flex:1}.drawer-link svg:last-child{color:var(--text-secondary);opacity:.5}.drawer-footer{margin-top:auto;padding:1rem 1.25rem;border-top:1px solid rgba(255,255,255,.08)}.drawer-logout-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem 1rem;background:rgba(233,69,96,.1);border:1px solid rgba(233,69,96,.3);border-radius:10px;color:var(--primary-color);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.drawer-logout-btn:hover{background:rgba(233,69,96,.2);border-color:#e9456080}.drawer-logout-btn:active{transform:scale(.98)}@media (prefers-reduced-motion: reduce){.mobile-drawer-backdrop,.mobile-drawer{transition:none}}.header{position:fixed;top:0;left:0;right:0;background:rgba(15,18,34,.72);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:2px solid #00d9ff;z-index:var(--z-header, 1001);padding:calc(.8rem + var(--safe-area-top, 0px)) var(--safe-area-right, 0px) .8rem var(--safe-area-left, 0px);box-shadow:0 4px 20px #0000004d,0 2px 10px #00d9ff33}@supports not (backdrop-filter: blur(20px)){.header{background:rgba(15,15,35,.95);border-bottom:1px solid rgba(255,255,255,.25)}}.header-content{display:flex;justify-content:space-between;align-items:center}.header-right{display:flex;align-items:center;gap:2rem}.auth-section{display:flex;align-items:center}.user-section{display:flex;align-items:center;gap:1rem}.user-info{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-weight:500;padding:.5rem 1rem;background:rgba(255,255,255,.05);border-radius:10px;border:1px solid rgba(255,255,255,.1)}.user-info-button{cursor:pointer;transition:all .3s ease;font-family:inherit;font-size:inherit}.user-info-button:hover{background:rgba(255,255,255,.1);border-color:#fff3;transform:translateY(-2px);box-shadow:0 4px 15px #667eea33}.user-info-button:active{transform:translateY(0)}.user-icon{font-size:1.2rem;line-height:1}.user-name{font-size:.95rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.premium-badge{background:linear-gradient(135deg,#00d9ff,#0099cc);color:#fff;font-size:.65rem;font-weight:700;padding:.2rem .5rem;border-radius:5px;letter-spacing:.5px;box-shadow:0 2px 8px #00d9ff66;animation:premiumGlow 2s ease-in-out infinite}@keyframes premiumGlow{0%,to{box-shadow:0 2px 8px #00d9ff66}50%{box-shadow:0 2px 15px #00d9ff99}}.login-link{color:var(--text-primary);text-decoration:none;font-weight:600;padding:.6rem 1.5rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:10px;transition:all .3s ease;box-shadow:0 4px 15px #e945604d}.login-link:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e9456066}.logout-button{color:var(--text-primary);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:.6rem 1.2rem;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;font-family:inherit}.logout-button:hover:not(:disabled){background:rgba(233,69,96,.2);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 15px #e945604d}.logout-button:active:not(:disabled){transform:translateY(0)}.logout-button:disabled{opacity:.6;cursor:not-allowed}.header .container{padding-left:0;max-width:none;width:100%;padding-right:20px}.logo{text-decoration:none;display:flex;align-items:center;transition:all .3s ease;position:relative}.logo-image{height:100px;width:auto;object-fit:contain;transition:all .3s ease;margin:-15px 0}.logo:hover .logo-image{transform:scale(1.02);filter:drop-shadow(0 0 8px rgba(0,217,255,.4))}.nav{display:flex;gap:2rem}.nav-link,.nav-button{color:var(--text-secondary);text-decoration:none;font-weight:500;transition:all .3s ease;position:relative;padding:.5rem 0;background:none;border:none;font-size:inherit;font-family:inherit;cursor:pointer}.nav-link:after,.nav-button:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));transition:width .3s ease}.nav-link:hover,.nav-button:hover{color:var(--text-primary)}.nav-link:hover:after,.nav-button:hover:after{width:100%}.settings-button{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:var(--text-secondary)}.settings-button:hover{background:rgba(255,255,255,.2);border-color:var(--secondary-color);color:var(--secondary-color);transform:scale(1.1) rotate(45deg);box-shadow:0 5px 15px #00d9ff4d}.settings-button:active{transform:scale(.95) rotate(45deg)}.level-container{display:flex;flex-direction:column;justify-content:center;margin-right:1rem;min-width:80px}.level-badge{font-size:.75rem;font-weight:700;color:var(--secondary-color);text-align:center;margin-bottom:2px;text-transform:uppercase;letter-spacing:.5px}.xp-bar-container{width:100%;height:8px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 3px #00000040}.xp-bar-fill{height:100%;background:linear-gradient(90deg,var(--secondary-color),#7cf3ff);border-radius:999px;transition:width .35s ease-out;box-shadow:0 0 12px #00d9ff73}.mobile-menu-btn{display:none;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:8px 10px;cursor:pointer;transition:all .2s ease;position:relative}.mobile-menu-btn:hover{background:rgba(255,255,255,.15);border-color:#ffffff40}.mobile-menu-btn:active{transform:scale(.95);background:rgba(255,255,255,.2)}.mobile-menu-btn .hamburger-icon{font-size:20px;line-height:1;color:#e2e8f0}@media (max-width: 767px){.header{padding:calc(.6rem + var(--safe-area-top, 0px)) var(--safe-area-right, 0px) .6rem var(--safe-area-left, 0px)}.logo{font-size:1.5rem}.logo-image{height:70px;margin:-8px 0}.header-right{gap:.75rem}.nav{gap:1rem}.nav-link{font-size:.9rem}.user-name{max-width:100px}.logout-button{padding:.5rem 1rem;font-size:.85rem;min-height:44px}.login-link{min-height:44px;display:flex;align-items:center}.settings-button{width:44px;height:44px}.user-info{min-height:44px}}@media (max-width: 479px){.header{padding:calc(.5rem + var(--safe-area-top, 0px)) 10px .5rem 0}.header .container{padding-right:12px}.logo-image{height:55px;margin:-5px 0}.nav{display:none}.header-right{gap:.4rem}.user-info{padding:.4rem .6rem;min-height:44px}.user-name{display:none}.user-icon{font-size:1.4rem}.level-container,.logout-button{display:none}.login-link{padding:.5rem .9rem;font-size:.85rem;min-height:44px}.settings-button{width:44px;height:44px;font-size:1.1rem}.achievement-points-badge .points-value,.premium-badge{display:none}.mobile-menu-btn{display:flex}.user-info-button{display:none}}@media (max-width: 359px){.header{padding:calc(.4rem + var(--safe-area-top, 0px)) 8px .4rem 0}.logo-image{height:45px;margin:-3px 0}.header-right{gap:.3rem}.user-info{padding:.3rem .5rem}.logout-button{padding:.4rem .6rem;font-size:.75rem}.login-link{padding:.4rem .7rem;font-size:.8rem}.settings-button{width:40px;height:40px;font-size:1rem}.achievement-points-badge{padding:.2rem .4rem}}@media (hover: none) and (pointer: coarse){.user-info-button:hover{transform:none;box-shadow:none}.login-link:hover{transform:none;box-shadow:0 4px 15px #e945604d}.logout-button:hover:not(:disabled){transform:none;box-shadow:none}.settings-button:hover{transform:none;box-shadow:none}.user-info-button:active{background:rgba(255,255,255,.15);transform:scale(.98)}.login-link:active{transform:scale(.98);box-shadow:0 2px 10px #e9456066}.logout-button:active:not(:disabled){background:rgba(233,69,96,.25);transform:scale(.98)}.settings-button:active{transform:scale(.95) rotate(15deg);background:rgba(255,255,255,.2)}.nav-link:active,.nav-button:active{color:var(--text-primary)}.nav-link:active:after,.nav-button:active:after{width:100%}}.achievement-points-badge{display:flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:linear-gradient(135deg,rgba(245,158,11,.15),rgba(234,179,8,.15));border:1px solid rgba(245,158,11,.4);border-radius:20px;cursor:pointer;transition:all .3s ease;color:#fbbf24;font-weight:700;font-size:.85rem}.achievement-points-badge:hover{background:linear-gradient(135deg,rgba(245,158,11,.25),rgba(234,179,8,.25));border-color:#f59e0b99;box-shadow:0 0 15px #f59e0b4d;transform:translateY(-2px)}.achievement-points-badge:active{transform:translateY(0)}.achievement-points-badge .trophy-icon{font-size:1rem;filter:drop-shadow(0 0 4px rgba(245,158,11,.5))}.achievement-points-badge .points-value{text-shadow:0 0 8px rgba(245,158,11,.4)}@media (max-width: 767px){.achievement-points-badge{padding:.3rem .6rem;font-size:.75rem;gap:.3rem}.achievement-points-badge .trophy-icon{font-size:.9rem}}@media (max-width: 479px){.achievement-points-badge{padding:.25rem .5rem;font-size:.7rem}.achievement-points-badge .points-value{display:none}}@media (max-width: 767px) and (orientation: landscape){.header{padding:calc(.4rem + var(--safe-area-top, 0px)) var(--safe-area-right, 0px) .4rem var(--safe-area-left, 0px)}.logo-image{height:50px;margin:-4px 0}.header-right{gap:.5rem}.user-info{padding:.3rem .5rem;min-height:40px}.logout-button,.login-link{padding:.4rem .8rem;min-height:40px;font-size:.8rem}.settings-button{width:40px;height:40px}.achievement-points-badge{padding:.2rem .4rem;font-size:.65rem}}@media (max-height: 450px) and (orientation: landscape){.header{padding:.3rem var(--safe-area-right, 0px) .3rem var(--safe-area-left, 0px)}.logo-image{height:40px;margin:-2px 0}.user-info,.logout-button,.login-link,.settings-button{min-height:36px}.logout-button,.login-link{padding:.3rem .6rem;font-size:.75rem}}.app-footer{width:100%;background:var(--secondary-bg, #1a1a2e);border-top:1px solid rgba(255,255,255,.1);padding:20px 0;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;flex-direction:column;gap:15px;align-items:center;text-align:center}.footer-section{color:var(--text-secondary, #a8a8a8);font-size:14px}.footer-copyright{margin:0;color:var(--text-secondary, #a8a8a8)}.footer-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.footer-link{color:var(--text-secondary, #a8a8a8);text-decoration:none;transition:color .3s ease;font-size:14px}.footer-link:hover{color:var(--primary-color, #e94560)}.footer-button{background:none;border:none;cursor:pointer;padding:0;font-family:inherit;font-size:14px}.footer-separator{color:#fff3;-webkit-user-select:none;user-select:none}.footer-tagline{margin:0;font-size:12px;color:var(--text-secondary, #a8a8a8);font-style:italic}@media (max-width: 768px){.footer-content{gap:10px}.footer-nav{flex-direction:column;gap:8px}.footer-separator{display:none}.footer-link{padding:5px 0}}.game-card-link{text-decoration:none;color:inherit;display:block;height:100%}.game-card{background:var(--color-surface-1, #151b30);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);transition:all .3s ease;border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .08));height:100%;display:flex;flex-direction:column;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@media (max-width: 767px){.game-card{background:linear-gradient(145deg,#1a1f38 0%,#151b30 100%);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid rgba(0,217,255,.15)}.game-card-image-container{background-color:#1c2240}.game-card-content{background:linear-gradient(180deg,rgba(21,27,48,.95),#151b30)}}.game-card:hover{box-shadow:0 18px 48px #00d9ff40,0 12px 30px #0000008c;border-color:#00d9ff73;transform:translateY(-6px)}.game-card-image-container{position:relative;width:100%;height:225px;overflow:hidden;background-color:var(--color-surface-2);padding:1rem;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--color-border-subtle)}.game-card-image{width:100%;height:100%;object-fit:contain;transition:transform .3s ease}.game-card:hover .game-card-image{transform:scale(1.1)}.game-card-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-surface-2) 0%,var(--color-surface-1) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-primary);text-align:center}.placeholder-icon{font-size:3rem;margin-bottom:1rem;opacity:.7}.placeholder-icon-img{width:90px;height:90px;object-fit:contain;opacity:.85}.placeholder-text{font-size:1.2rem;font-weight:600;opacity:.8;max-width:80%;word-wrap:break-word}.game-card-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.game-card:hover .game-card-overlay{opacity:1}.play-button{padding:1rem 2.2rem;font-size:1.05rem}.play-button-small{padding:.55rem 1.4rem;font-size:.95rem;letter-spacing:1px}.game-card-content{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.005))}.game-card-title{font-family:Inter,sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.game-card-description{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:1rem;flex-grow:1}.game-card-footer{display:flex;justify-content:flex-end;align-items:center;margin-top:auto;gap:.75rem}.play-button-icon{width:20px;height:20px;object-fit:contain;margin-right:.35rem;filter:drop-shadow(0 0 8px rgba(0,217,255,.4))}@media (max-width: 768px){.game-card-title{font-size:1.3rem}.game-card-description{font-size:.9rem}.play-button{padding:.8rem 2rem;font-size:1rem}.play-button-small{padding:.4rem 1.2rem;font-size:.8rem}}@media (hover: none) and (pointer: coarse){.game-card-overlay{opacity:1;background:rgba(0,0,0,.5)}.game-card:hover .game-card-image{transform:none}.game-card:active{transform:scale(.98);box-shadow:0 10px 30px #0009}.play-button:active{transform:scale(.95);box-shadow:0 3px 15px #e9456099}.play-button-small:active{transform:scale(.95);box-shadow:0 2px 12px #00d9ff80}}@media (max-width: 359px){.game-card-image-container{height:180px}.game-card-content{padding:1rem}.game-card-title{font-size:1.1rem}.game-card-description{font-size:.85rem}.play-button{padding:.7rem 1.5rem;font-size:.9rem;letter-spacing:1px}}.loading-spinner{position:relative;display:inline-flex;align-items:center;justify-content:center}.spinner-sm{width:16px;height:16px}.spinner-md{width:24px;height:24px}.spinner-lg{width:40px;height:40px}.spinner-inline{margin-right:8px;vertical-align:middle}.spinner-sm.spinner-inline{margin-right:6px}.spinner-ring{position:absolute;width:100%;height:100%;border-radius:50%;border:2px solid transparent;animation:spinnerRotate 1.2s cubic-bezier(.5,0,.5,1) infinite}.spinner-ring:nth-child(1){animation-delay:-.45s}.spinner-ring:nth-child(2){animation-delay:-.3s;width:75%;height:75%}.spinner-primary .spinner-ring{border-top-color:var(--primary-color, #e94560);border-right-color:#e945604d}.spinner-secondary .spinner-ring{border-top-color:var(--secondary-color, #00d9ff);border-right-color:#00d9ff4d}.spinner-white .spinner-ring{border-top-color:#fff;border-right-color:#ffffff4d}.spinner-dot{position:absolute;width:25%;height:25%;border-radius:50%;animation:spinnerPulse 1.2s ease-in-out infinite}.spinner-primary .spinner-dot{background:var(--primary-color, #e94560);box-shadow:0 0 8px var(--primary-color, #e94560)}.spinner-secondary .spinner-dot{background:var(--secondary-color, #00d9ff);box-shadow:0 0 8px var(--secondary-color, #00d9ff)}.spinner-white .spinner-dot{background:#ffffff;box-shadow:0 0 8px #fffc}@keyframes spinnerRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinnerPulse{0%,to{transform:scale(.8);opacity:.5}50%{transform:scale(1.2);opacity:1}}@media (prefers-reduced-motion: reduce){.spinner-ring{animation:spinnerRotateSlow 2s linear infinite}.spinner-dot{animation:none;opacity:1;transform:scale(1)}}@keyframes spinnerRotateSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,15,30,.9);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999}.loading-overlay .loading-text{margin-top:16px;color:var(--text-secondary, #a8a8a8);font-size:1rem;letter-spacing:1px}.btn-loading{position:relative;pointer-events:none}.btn-loading .loading-spinner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.btn-loading .btn-text{visibility:hidden}.create-room-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(0,217,255,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(233,69,96,.15) 0%,transparent 50%),rgba(10,10,20,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:overlayFadeIn .3s ease-out}@supports not (backdrop-filter: blur(12px)){.create-room-overlay{background:radial-gradient(circle at 20% 80%,rgba(0,217,255,.2) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(233,69,96,.2) 0%,transparent 50%),rgba(10,10,20,.98)}}.create-room-modal{background:linear-gradient(165deg,rgba(26,26,46,.95) 0%,rgba(15,20,40,.98) 100%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;padding:2.5rem;max-width:480px;width:100%;box-shadow:0 25px 80px #0009,0 0 0 1px #00d9ff1a,inset 0 1px #ffffff0d;border:2px solid rgba(0,217,255,.2);position:relative;overflow:hidden;animation:modalSlideUp .4s cubic-bezier(.16,1,.3,1)}.create-room-modal:before{content:"";position:absolute;top:0;left:0;width:80px;height:80px;background:linear-gradient(135deg,rgba(0,217,255,.15) 0%,transparent 70%);border-radius:24px 0 0;pointer-events:none}.create-room-modal:after{content:"";position:absolute;bottom:0;right:0;width:80px;height:80px;background:linear-gradient(-45deg,rgba(233,69,96,.15) 0%,transparent 70%);border-radius:0 0 24px;pointer-events:none}.create-room-title{font-family:Orbitron,sans-serif;font-size:2rem;font-weight:800;text-align:center;margin-bottom:1.5rem;background:linear-gradient(135deg,#00d9ff 0%,#e94560 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:1;letter-spacing:1px}.create-room-title:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,#00d9ff,#e94560);border-radius:2px}.create-room-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input[type=text]{padding:1rem 1.5rem;background:var(--glass-1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);color:var(--text-primary);font-size:1.05rem;font-weight:500;transition:all .25s ease;position:relative;-webkit-text-fill-color:var(--text-primary);text-shadow:0 0 1px rgba(0,0,0,.5)}@supports not (backdrop-filter: blur(10px)){.form-group input[type=text]{background:var(--color-surface-1);border:1px solid var(--color-border-strong)}}.form-group input[type=text]:focus{outline:none;border-color:var(--secondary-color);box-shadow:var(--focus-ring);background:rgba(255,255,255,.12);transform:translateY(-2px)}@supports not (backdrop-filter: blur(10px)){.form-group input[type=text]:focus{background:rgba(15,15,35,.95);border-color:var(--secondary-color)}}.form-group input[type=text]::placeholder{color:#ffffff80;transition:opacity .3s ease;-webkit-text-fill-color:rgba(255,255,255,.5)}.form-group input[type=text]:focus::placeholder{opacity:.7}.checkbox-group label{display:flex;align-items:flex-start;gap:0;color:var(--text-primary);cursor:pointer;font-size:1rem;text-transform:none;letter-spacing:normal;position:relative;padding:.5rem;border-radius:10px;transition:background .2s}.checkbox-group label:hover{background:rgba(255,255,255,.05)}.checkbox-group input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkbox-text:before{content:"";display:inline-block;width:24px;height:24px;min-width:24px;margin-right:15px;border:2px solid var(--color-border-subtle);border-radius:8px;background:rgba(0,0,0,.3);vertical-align:top;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px #0006;position:relative;top:2px}.checkbox-group input[type=checkbox]:checked+.checkbox-text:before{background-color:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 0 15px #00d9ff66;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' width='18px' height='18px'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:18px;transform:scale(1.05)}.checkbox-group input[type=checkbox]:focus+.checkbox-text:before{box-shadow:0 0 0 2px #00d9ff4d,0 0 15px #00d9ff33;border-color:var(--secondary-color)}.checkbox-text{display:flex;flex-direction:column;gap:.3rem;padding-top:2px}.checkbox-text small{color:var(--text-secondary);font-size:.85rem;opacity:.8}.room-options{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem;background:rgba(255,255,255,.02);border-radius:12px;border:1px solid rgba(255,255,255,.05)}.room-options .checkbox-group{margin:0}.cancel-button,.create-button{flex:1;min-width:0}.cancel-button:disabled,.create-button:disabled{opacity:.5;cursor:not-allowed}.cancel-button{background:transparent;border:2px solid rgba(255,255,255,.2);color:var(--text-secondary);padding:1rem 1.5rem;font-size:1rem;font-weight:600;border-radius:12px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.create-button{background:linear-gradient(135deg,var(--secondary-color) 0%,#00ff88 100%);border:none;color:#0a0a14;padding:1rem 1.5rem;font-size:1rem;font-weight:700;border-radius:12px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 5px 20px #00d9ff66}.create-button:hover:not(:disabled){box-shadow:0 8px 30px #00d9ff99;transform:translateY(-2px)}@media (max-width: 767px){.create-room-overlay{background:linear-gradient(135deg,rgba(10,10,20,.98) 0%,rgba(15,15,35,.98) 100%);backdrop-filter:none;-webkit-backdrop-filter:none;padding-top:calc(var(--total-top-offset, 126px) + 20px);align-items:flex-start;overflow-y:auto}.create-room-modal{background:linear-gradient(165deg,#1a1a2e 0%,#0f1428 100%);backdrop-filter:none;-webkit-backdrop-filter:none;border:2px solid rgba(0,217,255,.3);margin-bottom:20px}.form-group input[type=text]{padding:1.2rem 1.5rem;font-size:1rem;background:rgba(15,15,35,.95);border:2px solid rgba(0,217,255,.4);color:#fff!important;-webkit-text-fill-color:#ffffff!important;text-shadow:0 0 3px rgba(0,0,0,.9);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group input[type=text]:focus{background:rgba(15,15,35,.98);border-color:var(--secondary-color);box-shadow:0 0 20px #00d9ff80,0 0 0 1px #00d9ff4d;color:#fff!important;-webkit-text-fill-color:#ffffff!important}.form-group input[type=text]::placeholder{color:#ffffffb3!important;-webkit-text-fill-color:rgba(255,255,255,.7)!important;opacity:1}.form-group input[type=text]::-webkit-input-placeholder{color:#ffffffb3!important;-webkit-text-fill-color:rgba(255,255,255,.7)!important}.form-group input[type=text]::-moz-placeholder{color:#ffffffb3!important;opacity:1}.form-group input[type=text]:-ms-input-placeholder{color:#ffffffb3!important}}@media (max-width: 480px){.create-room-overlay{padding-top:calc(var(--total-top-offset, 138px) + 15px)}.create-room-modal{padding:1.5rem;margin:1rem}.create-room-title{font-size:1.6rem;margin-bottom:1.5rem}.form-group input[type=text]{padding:1rem 1.2rem;font-size:16px;background:rgba(15,15,35,.98);border:2px solid rgba(0,217,255,.5);color:#fff!important;-webkit-text-fill-color:#ffffff!important;text-shadow:0 0 4px rgba(0,0,0,1);-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}.form-group input[type=text]:focus{background:rgba(15,15,35,1);border-color:var(--secondary-color);box-shadow:0 0 25px #00d9ff99,0 0 0 2px #00d9ff66}.cancel-button,.create-button{padding:1rem 1.5rem;font-size:1rem;min-height:50px}}@media (max-width: 359px){.create-room-overlay{padding-top:calc(var(--total-top-offset, 135px) + 10px);padding-left:10px;padding-right:10px}.create-room-modal{padding:1.25rem;margin:.5rem;border-radius:16px}.create-room-title{font-size:1.3rem;margin-bottom:1.25rem}.form-group label{font-size:.85rem}.form-group input[type=text]{padding:.875rem 1rem}.cancel-button,.create-button{padding:.875rem 1rem;font-size:.9rem;min-height:48px}}@media (max-width: 767px) and (orientation: landscape){.create-room-overlay{padding-top:calc(var(--total-top-offset, 126px) + 10px);padding-bottom:10px}.create-room-modal{padding:1.25rem 1.5rem;margin:.5rem 1rem;max-height:calc(100vh - var(--total-top-offset, 126px) - 40px);overflow-y:auto}.create-room-title{font-size:1.4rem;margin-bottom:.75rem}.form-group{margin-bottom:.75rem}.form-actions{gap:.75rem}.cancel-button,.create-button{padding:.75rem 1.25rem;min-height:44px}}@media (max-height: 450px) and (orientation: landscape){.create-room-modal{padding:1rem}.create-room-title{font-size:1.25rem;margin-bottom:.75rem}.form-group input[type=text]{padding:.75rem 1rem}.cancel-button,.create-button{padding:.6rem 1rem;font-size:.9rem;min-height:40px}}@media (hover: none) and (pointer: coarse){.cancel-button,.create-button{min-height:48px}.cancel-button:hover,.create-button:hover{transform:none}.cancel-button:active,.create-button:active{transform:scale(.98)}.form-group input[type=text]{font-size:16px}}@media (prefers-reduced-motion: reduce){.cancel-button:hover,.create-button:hover{transform:none}}.join-room-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(0,217,255,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(233,69,96,.15) 0%,transparent 50%),rgba(10,10,20,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:overlayFadeIn .3s ease-out}@supports not (backdrop-filter: blur(12px)){.join-room-overlay{background:radial-gradient(circle at 20% 80%,rgba(0,217,255,.2) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(233,69,96,.2) 0%,transparent 50%),rgba(10,10,20,.98)}}.join-room-modal{background:linear-gradient(165deg,rgba(26,26,46,.95) 0%,rgba(15,20,40,.98) 100%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;padding:2.5rem;max-width:480px;width:100%;box-shadow:0 25px 80px #0009,0 0 0 1px #00d9ff1a,inset 0 1px #ffffff0d;border:2px solid rgba(0,217,255,.2);position:relative;overflow:hidden;animation:modalSlideUp .4s cubic-bezier(.16,1,.3,1)}.join-room-modal:before{content:"";position:absolute;top:0;left:0;width:80px;height:80px;background:linear-gradient(135deg,rgba(0,217,255,.15) 0%,transparent 70%);border-radius:24px 0 0;pointer-events:none}.join-room-modal:after{content:"";position:absolute;bottom:0;right:0;width:80px;height:80px;background:linear-gradient(-45deg,rgba(233,69,96,.15) 0%,transparent 70%);border-radius:0 0 24px;pointer-events:none}.join-room-title{font-family:Orbitron,sans-serif;font-size:2rem;font-weight:800;text-align:center;margin-bottom:1.5rem;background:linear-gradient(135deg,#00d9ff 0%,#e94560 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:1;letter-spacing:1px}.join-room-title:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,#00d9ff,#e94560);border-radius:2px}.join-room-form{display:flex;flex-direction:column;gap:1.5rem}.room-code-input{text-align:center;font-family:Orbitron,sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;-webkit-text-fill-color:var(--text-primary);text-shadow:0 0 2px rgba(0,0,0,.8)}.invite-link-indicator{padding:1rem 1.5rem;background:rgba(0,217,255,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(0,217,255,.4);border-radius:12px;color:var(--secondary-color);font-size:1.1rem;font-weight:600;text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:var(--text-secondary);font-weight:500;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.form-group input[type=text]{padding:.8rem 1rem;background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.1);border-radius:10px;color:var(--text-primary);font-size:1rem;transition:all .3s ease;-webkit-text-fill-color:var(--text-primary);text-shadow:0 0 1px rgba(0,0,0,.5)}@supports not (backdrop-filter: blur(10px)){.form-group input[type=text]{background:rgba(15,15,35,.9);border:2px solid rgba(255,255,255,.3)}}.form-group input[type=text]:focus{outline:none;border-color:var(--secondary-color);box-shadow:0 0 20px #00d9ff4d;background:rgba(255,255,255,.08)}.form-group.has-value input[type=text]{padding-right:3rem}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper input{flex:1}.validation-icon{position:absolute;right:1rem;display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:1rem;font-weight:700;pointer-events:none;transition:all .3s ease}.validation-icon.valid{color:#4caf50;animation:validationPop .3s ease-out}.validation-icon.invalid{color:#ff6b6b;animation:validationShake .3s ease-out}@keyframes validationPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}@keyframes validationShake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.form-group input[type=text].input-valid{border-color:#4caf5099}.form-group input[type=text].input-valid:focus{border-color:#4caf50;box-shadow:0 0 20px #4caf5066}.form-group input[type=text].input-invalid{border-color:#ff6b6b99}.form-group input[type=text].input-invalid:focus{border-color:#ff6b6b;box-shadow:0 0 20px #ff6b6b66}.char-counter{display:flex;justify-content:space-between;align-items:center;margin-top:.25rem}.char-counter small{color:var(--text-secondary);font-size:.75rem}.char-counter .count{font-size:.75rem;font-weight:600;transition:color .3s ease}.char-counter .count.warning{color:#ff9800}.char-counter .count.danger{color:#ff6b6b}.char-counter .count.valid{color:#4caf50}.room-code-progress{display:flex;gap:4px;margin-top:.5rem}.room-code-progress .char-slot{flex:1;height:4px;background:rgba(255,255,255,.1);border-radius:2px;transition:all .2s ease}.room-code-progress .char-slot.filled{background:var(--secondary-color)}.room-code-progress .char-slot.complete{background:#4CAF50}.validation-hint{font-size:.75rem;margin-top:.25rem;padding:.25rem .5rem;border-radius:4px;transition:all .3s ease}.validation-hint.error{color:#ff6b6b;background:rgba(255,107,107,.1)}.validation-hint.success{color:#4caf50;background:rgba(76,175,80,.1)}.error-message{background:rgba(233,69,96,.2);border:1px solid var(--primary-color);color:var(--primary-color);padding:.8rem;border-radius:10px;font-size:.9rem;text-align:center;animation:errorSlideIn .3s ease-out}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-actions{display:flex;gap:1rem;margin-top:.75rem}.cancel-button,.join-button{flex:1;padding:1rem 1.5rem;font-size:1rem;font-weight:600;border-radius:12px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.cancel-button{background:transparent;border:2px solid rgba(255,255,255,.2);color:var(--text-secondary)}.cancel-button:hover:not(:disabled){border-color:#fff6;color:var(--text-primary);background:rgba(255,255,255,.05)}.cancel-button:disabled,.join-button:disabled{opacity:.5;cursor:not-allowed}.join-button{background:linear-gradient(135deg,var(--secondary-color) 0%,#00ff88 100%);border:none;color:#0a0a14;font-weight:700;box-shadow:0 5px 20px #00d9ff66}.join-button:hover:not(:disabled){box-shadow:0 8px 30px #00d9ff99;transform:translateY(-2px)}@media (max-width: 767px){.join-room-overlay{background:linear-gradient(135deg,rgba(10,10,20,.98) 0%,rgba(15,15,35,.98) 100%);backdrop-filter:none;-webkit-backdrop-filter:none;padding-top:calc(var(--total-top-offset, 126px) + 20px);align-items:flex-start;overflow-y:auto}.join-room-modal{background:linear-gradient(165deg,#1a1a2e 0%,#0f1428 100%);backdrop-filter:none;-webkit-backdrop-filter:none;border:2px solid rgba(0,217,255,.3);padding:2rem;margin-bottom:20px}.form-group input[type=text]{padding:1.2rem 1.5rem;font-size:1rem;background:rgba(15,15,35,.95);border:2px solid rgba(0,217,255,.4);color:#fff!important;-webkit-text-fill-color:#ffffff!important;text-shadow:0 0 3px rgba(0,0,0,.9);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group input[type=text]:focus{background:rgba(15,15,35,.98);border-color:var(--secondary-color);box-shadow:0 0 20px #00d9ff80,0 0 0 1px #00d9ff4d;color:#fff!important;-webkit-text-fill-color:#ffffff!important}.form-group input[type=text]::placeholder{color:#ffffffb3!important;-webkit-text-fill-color:rgba(255,255,255,.7)!important;opacity:1}.form-group input[type=text]::-webkit-input-placeholder{color:#ffffffb3!important;-webkit-text-fill-color:rgba(255,255,255,.7)!important}.form-group input[type=text]::-moz-placeholder{color:#ffffffb3!important;opacity:1}.form-group input[type=text]:-ms-input-placeholder{color:#ffffffb3!important}.room-code-input{text-align:center;font-family:Orbitron,sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;background:rgba(15,15,35,.98)!important;color:#fff!important;-webkit-text-fill-color:#ffffff!important;text-shadow:0 0 4px rgba(0,0,0,1)}.room-code-input:focus{background:rgba(15,15,35,1)!important;box-shadow:0 0 25px #00d9ff99,0 0 0 2px #00d9ff66}.cancel-button,.join-button{padding:1rem 1.5rem;font-size:1rem}}@media (max-width: 480px){.join-room-overlay{padding-top:calc(var(--total-top-offset, 138px) + 15px)}.join-room-modal{padding:1.5rem;margin:1rem}.join-room-title{font-size:1.6rem;margin-bottom:1.5rem}.form-group input[type=text]{padding:1rem 1.2rem;font-size:16px;background:rgba(15,15,35,.98);border:2px solid rgba(0,217,255,.5);color:#fff!important;-webkit-text-fill-color:#ffffff!important;text-shadow:0 0 4px rgba(0,0,0,1);-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}.room-code-input{font-size:1.3rem;letter-spacing:.2em;background:rgba(15,15,35,1)!important;color:#fff!important;-webkit-text-fill-color:#ffffff!important}.cancel-button,.join-button{padding:1rem 1.5rem;font-size:1rem;min-height:50px}}@media (max-width: 359px){.join-room-overlay{padding-top:calc(var(--total-top-offset, 135px) + 10px);padding-left:10px;padding-right:10px}.join-room-modal{padding:1.25rem;margin:.5rem;border-radius:16px}.join-room-title{font-size:1.3rem;margin-bottom:1.25rem}.join-room-form{gap:1rem}.form-group input[type=text]{padding:.875rem 1rem}.room-code-input{font-size:1.1rem;letter-spacing:.15em}.form-actions{gap:.75rem}.cancel-button,.join-button{padding:.875rem 1rem;font-size:.9rem;min-height:48px}}@media (max-width: 767px) and (orientation: landscape){.join-room-overlay{padding-top:calc(var(--total-top-offset, 126px) + 10px);padding-bottom:10px;padding-left:20px;padding-right:20px}.join-room-modal{padding:1.25rem 1.5rem;margin:.5rem 1rem;max-height:calc(100vh - var(--total-top-offset, 126px) - 40px);overflow-y:auto}.join-room-title{font-size:1.4rem;margin-bottom:.75rem}.join-room-form{gap:.75rem}.form-group input[type=text]{padding:.75rem 1rem}.form-actions{margin-top:.5rem;gap:.75rem}.cancel-button,.join-button{padding:.75rem 1.25rem;min-height:44px}}@media (max-height: 450px) and (orientation: landscape){.join-room-modal{padding:1rem}.join-room-title{font-size:1.25rem;margin-bottom:.75rem}.join-room-form{gap:.5rem}.form-group label{font-size:.75rem;margin-bottom:.25rem}.form-group input[type=text]{padding:.6rem .875rem}.room-code-input{font-size:1.1rem}.form-actions{margin-top:.25rem}.cancel-button,.join-button{padding:.6rem 1rem;min-height:44px}}@media (hover: none) and (pointer: coarse){.cancel-button:hover,.join-button:hover{transform:none}.cancel-button:active{transform:scale(.98);background:rgba(255,255,255,.1)}.join-button:active{transform:scale(.98);box-shadow:0 3px 15px #00d9ff80}.cancel-button,.join-button{min-height:var(--touch-target-comfortable, 48px)}.form-group input[type=text]{font-size:16px}}@media (prefers-reduced-motion: reduce){.join-room-overlay,.join-room-modal,.join-room-modal:before,.join-room-title,.error-message,.validation-icon{animation:none}.join-button:hover,.cancel-button:hover{transform:none}}.browse-rooms-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(0,217,255,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(233,69,96,.15) 0%,transparent 50%),rgba(10,10,20,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 2000);animation:overlayFadeIn .3s ease-out;padding:var(--safe-area-top, 0px) var(--safe-area-right, 0px) var(--safe-area-bottom, 0px) var(--safe-area-left, 0px)}.browse-rooms-modal{background:linear-gradient(165deg,rgba(26,26,46,.95) 0%,rgba(15,20,40,.98) 100%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;padding:2.5rem;width:90%;max-width:900px;max-height:85vh;overflow-y:auto;box-shadow:0 25px 80px #0009,0 0 0 1px #00d9ff1a,inset 0 1px #ffffff0d;border:2px solid rgba(0,217,255,.2);position:relative;animation:modalSlideUp .4s cubic-bezier(.16,1,.3,1)}.browse-rooms-modal:before{content:"";position:absolute;top:0;left:0;width:80px;height:80px;background:linear-gradient(135deg,rgba(0,217,255,.15) 0%,transparent 70%);border-radius:24px 0 0;pointer-events:none}.browse-rooms-modal:after{content:"";position:absolute;bottom:0;right:0;width:80px;height:80px;background:linear-gradient(-45deg,rgba(233,69,96,.15) 0%,transparent 70%);border-radius:0 0 24px;pointer-events:none}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.browse-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid rgba(0,217,255,.2)}.browse-header h2{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#00d9ff 0%,#e94560 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;display:flex;align-items:center}.header-dot{display:inline-block;width:14px;height:14px;background:#00d9ff;border-radius:50%;margin-right:.75rem;flex-shrink:0}.close-button{background:rgba(233,69,96,.2);border:2px solid rgba(233,69,96,.4);color:#e94560;font-size:2rem;width:45px;height:45px;border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;line-height:1}.close-button:hover{background:rgba(233,69,96,.4);border-color:#e94560;transform:rotate(90deg)}.browse-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;align-items:stretch}.search-input{height:48px;padding:0 1rem;background:rgba(255,255,255,.1);border:2px solid rgba(0,217,255,.3);border-radius:12px;color:var(--text-primary);font-size:1rem;flex:1;min-width:180px;transition:all .3s ease}.search-input:hover,.search-input:focus{border-color:var(--secondary-color);background:rgba(255,255,255,.15);outline:none}.search-input::placeholder{color:var(--text-secondary);opacity:.7}.game-filter-dropdown{position:relative;min-width:180px}.game-filter-trigger{height:48px;padding:0 1rem;background:rgba(255,255,255,.1);border:2px solid rgba(0,217,255,.3);border-radius:12px;color:var(--text-primary);font-size:1rem;cursor:pointer;min-width:180px;width:100%;transition:all .3s ease;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.game-filter-trigger:hover,.game-filter-trigger:focus{border-color:var(--secondary-color);background:rgba(255,255,255,.15);outline:none}.trigger-content{display:flex;align-items:center;gap:.5rem}.dropdown-arrow{font-size:.7rem;color:var(--text-secondary);transition:transform .2s ease}.game-filter-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#1a1a2e;border:2px solid rgba(0,217,255,.4);border-radius:12px;box-shadow:0 8px 32px #0006;z-index:1000;max-height:250px;overflow-y:auto;animation:dropdownFadeIn .2s ease}@media (max-width: 480px){.game-filter-menu{max-height:200px;position:fixed;left:10px;right:10px;top:auto;bottom:60px}}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.game-filter-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background .2s ease;color:var(--text-primary)}.game-filter-option:first-child{border-radius:10px 10px 0 0}.game-filter-option:last-child{border-radius:0 0 10px 10px}.game-filter-option:hover{background:rgba(0,217,255,.15)}.game-filter-option.selected{background:rgba(0,217,255,.2);border-left:3px solid var(--secondary-color)}.dropdown-thumbnail{width:24px;height:24px;border-radius:6px;object-fit:cover;border:1px solid rgba(0,217,255,.3);flex-shrink:0}.dropdown-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.dropdown-icon img,.room-icon .icon-fallback img{width:100%;height:100%;object-fit:contain}.refresh-button{height:48px;width:48px;display:flex;align-items:center;justify-content:center;background:rgba(0,217,255,.15);border:2px solid rgba(0,217,255,.4);border-radius:12px;color:var(--secondary-color);font-size:1.2rem;cursor:pointer;transition:all .3s ease}.refresh-button:hover{background:rgba(0,217,255,.25);border-color:var(--secondary-color);transform:translateY(-2px)}.loading-state{text-align:center;padding:3rem;color:var(--text-secondary)}.spinner{width:50px;height:50px;border:4px solid rgba(0,217,255,.2);border-top-color:var(--secondary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-state p:first-child{font-size:1.5rem;margin-bottom:.5rem}.empty-hint{font-size:1rem;opacity:.7}.rooms-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.room-row{display:flex;align-items:center;gap:1rem;padding:.875rem 1.25rem;background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.1);border-radius:16px;transition:all .3s ease;animation:overlayFadeIn .3s ease-out}.room-row:hover{border-color:#00d9ff66;background:rgba(255,255,255,.08)}.room-row.in_game{opacity:.7}.room-icon{width:48px;height:48px;flex-shrink:0}.room-icon img{width:100%;height:100%;border-radius:12px;object-fit:cover;border:2px solid rgba(0,217,255,.3)}.room-icon .icon-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:rgba(0,217,255,.1);border:2px solid rgba(0,217,255,.3);border-radius:12px;font-size:1.5rem}.room-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.room-game-name{font-weight:700;font-size:1rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-host{font-size:.85rem;color:var(--text-secondary)}.room-status{flex-shrink:0;min-width:90px}.status-badge{font-family:Orbitron,monospace;font-size:.85rem;font-weight:700;padding:.4rem .8rem;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.status-badge.lobby{color:#4caf50;background:rgba(76,175,80,.15);border:1px solid rgba(76,175,80,.4)}.status-badge.in-game{color:orange;background:rgba(255,165,0,.15);border:1px solid rgba(255,165,0,.4)}.room-players{flex-shrink:0;min-width:120px;display:flex;flex-direction:column;gap:.35rem}.player-count{font-size:.9rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.player-count-icon{font-size:1rem}.player-bar{height:4px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}.player-bar-fill{height:100%;background:linear-gradient(90deg,#00d9ff,#00ff88);border-radius:2px;transition:width .3s ease}.host-premium-badge{margin-left:.3rem;font-size:.9rem}.host-premium-badge.lifetime{color:gold}.host-premium-badge.monthly{color:#00bfff}.room-join-btn{flex-shrink:0;padding:.5rem 1.25rem;background:linear-gradient(135deg,#00d9ff 0%,#e94560 100%);border:none;border-radius:8px;color:#fff;font-weight:700;font-size:.85rem;cursor:pointer;text-transform:uppercase;transition:all .3s ease}.room-join-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #00d9ff66}.room-join-btn:disabled{background:rgba(255,255,255,.1);color:var(--text-secondary);cursor:not-allowed}.browse-footer{display:flex;justify-content:center;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.cancel-button{padding:.875rem 2rem;background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.2);border-radius:12px;color:var(--text-primary);font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-button:hover{background:rgba(255,255,255,.1);border-color:#fff6;transform:translateY(-2px)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.browse-rooms-modal{padding:1.5rem;max-height:90vh}.rooms-list{gap:.75rem}.room-row{flex-wrap:wrap;gap:.75rem;padding:1rem}.room-icon{width:40px;height:40px}.room-info{flex:1 1 calc(100% - 60px)}.room-status{min-width:auto;order:1}.room-players{min-width:100px;order:2}.room-join-btn{order:3}.browse-filters{flex-wrap:wrap}.search-input{flex:1 1 100%;min-width:auto;background:rgba(15,15,35,.95);border:2px solid rgba(0,217,255,.4);color:#fff!important;-webkit-text-fill-color:#ffffff!important;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-input:focus{background:rgba(15,15,35,.98);color:#fff!important;-webkit-text-fill-color:#ffffff!important}.search-input::placeholder{color:#ffffffb3!important;-webkit-text-fill-color:rgba(255,255,255,.7)!important;opacity:1}.game-filter{flex:1;min-width:120px}}@media (max-width: 359px){.browse-rooms-modal{padding:1rem;border-radius:16px}.browse-header h2{font-size:1.4rem}.header-dot{width:10px;height:10px;margin-right:.5rem}.close-button{width:40px;height:40px;font-size:1.5rem}.browse-filters{flex-direction:column;gap:.5rem}.game-filter-dropdown{width:100%;min-width:auto}.game-filter-trigger{min-width:auto;width:100%}.dropdown-thumbnail,.dropdown-icon{width:32px;height:32px;min-width:32px}.game-filter-option{padding:.875rem 1rem;min-height:var(--touch-target-min, 44px)}.rooms-list{gap:.5rem}.room-row{padding:.75rem;border-radius:12px}.room-icon{width:36px;height:36px}.room-game-name{font-size:.9rem}.room-host{font-size:.75rem}.status-badge{font-size:.7rem;padding:.25rem .5rem}.player-count{font-size:.8rem}.room-join-btn{padding:.4rem .75rem;font-size:.75rem}}@media (hover: none) and (pointer: coarse){.room-row:hover{transform:none}.room-join-btn:hover:not(:disabled){transform:none}.refresh-button:hover,.cancel-button:hover,.close-button:hover{transform:none}.room-row:active{transform:scale(.99);border-color:#00d9ff80}.room-join-btn:active:not(:disabled){transform:scale(.97);box-shadow:0 4px 15px #00d9ff4d}.refresh-button:active{transform:scale(.95);background:rgba(0,217,255,.3)}.cancel-button:active{transform:scale(.97);background:rgba(255,255,255,.15)}.close-button:active{transform:scale(.95) rotate(45deg);background:rgba(233,69,96,.3)}.room-join-btn,.refresh-button,.cancel-button,.close-button,.game-filter-option{min-height:var(--touch-target-min, 44px)}}@media (max-width: 767px) and (orientation: landscape){.browse-rooms-modal{max-height:85vh;padding:1rem 1.5rem}.browse-header{margin-bottom:.75rem;padding-bottom:.5rem}.browse-header h2{font-size:1.4rem}.browse-filters{margin-bottom:.75rem;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:.5rem}.search-input{min-width:150px;flex:1}.game-filter-dropdown{min-width:140px;flex-shrink:0}.rooms-list{gap:.5rem;max-height:calc(85vh - 180px);overflow-y:auto}.room-row{flex-wrap:nowrap;padding:.5rem .75rem;gap:.5rem}.room-info{flex:1 1 auto}.room-status,.room-players{min-width:auto}.browse-footer{padding-top:.75rem}}@media (max-height: 500px) and (orientation: landscape){.browse-rooms-modal{padding:.75rem 1rem;max-height:90vh}.browse-header h2{font-size:1.2rem}.header-dot{width:10px;height:10px}.close-button{width:36px;height:36px;font-size:1.3rem}.rooms-list{max-height:calc(90vh - 150px)}.room-row{padding:.4rem .6rem}.room-icon{width:32px;height:32px}}@media (prefers-reduced-motion: reduce){.browse-rooms-overlay,.browse-rooms-modal,.room-row,.game-filter-menu{animation:none}.close-button:hover{transform:none}.room-join-btn:hover:not(:disabled),.refresh-button:hover,.cancel-button:hover{transform:none}}.game-picker{padding:1.5rem;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.15);box-shadow:0 15px 40px #0000004d,inset 0 1px #ffffff1a;position:relative;overflow:hidden;width:100%;box-sizing:border-box}.game-picker:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:pickerShine 4s linear infinite}@keyframes pickerShine{0%{left:-100%}to{left:100%}}.picker-title{color:#fff;margin-bottom:2rem;text-align:center;font-size:2rem;font-family:Orbitron,sans-serif;font-weight:700;background:linear-gradient(135deg,var(--text-primary) 0%,var(--secondary-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:1}.picker-title:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,var(--secondary-color),var(--primary-color));border-radius:2px}.game-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;width:100%}@media (min-width: 480px){.game-picker-grid{grid-template-columns:repeat(2,1fr)}}.game-option{background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:2px solid rgba(255,255,255,.15);border-radius:16px;padding:1.75rem;color:#fff;cursor:pointer;transition:all .4s cubic-bezier(.25,.46,.45,.94);text-align:center;position:relative;overflow:hidden;box-shadow:0 10px 30px #0003,inset 0 1px #ffffff1a;min-height:280px;display:flex;flex-direction:column;justify-content:space-between}.game-option:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(76,175,80,.2),transparent);transition:left .6s}.game-option:hover:before{left:100%}.game-option:hover:not(:disabled){background:rgba(255,255,255,.15);border-color:#4caf50;transform:translateY(-5px) scale(1.02);box-shadow:0 15px 40px #4caf504d,0 0 0 1px #4caf5033,inset 0 1px #fff3}.game-option:disabled{opacity:.5;cursor:not-allowed}.game-option:active:not(:disabled){transform:translateY(-2px) scale(.98);box-shadow:0 8px 20px #4caf5066,0 0 0 3px #4caf504d,inset 0 2px 4px #0000001a}.game-option:focus-visible{outline:none;border-color:var(--secondary-color);box-shadow:0 0 0 3px #00d9ff66,0 10px 30px #0003}.game-option.selecting{animation:gameSelectPulse .3s ease-out}@keyframes gameSelectPulse{0%{transform:scale(1);box-shadow:0 10px 30px #0003}50%{transform:scale(.95);box-shadow:0 5px 15px #4caf5066}to{transform:scale(1);box-shadow:0 15px 40px #4caf504d}}.game-icon{font-size:3rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;height:90px;width:100%;flex-shrink:0}.game-icon img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.2))}.game-name{color:#fff;margin:.75rem 0;font-size:1.25rem;font-weight:600;line-height:1.3}.game-description{color:#ffffffbf;font-size:.95rem;margin:.5rem 0;line-height:1.4;flex-grow:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.game-meta{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);flex-shrink:0}.max-players{color:#fff9;font-size:.9rem}@media (max-width: 479px){.game-picker-grid{grid-template-columns:1fr;gap:.75rem}.game-option{min-height:auto;padding:1rem}.game-icon{height:50px}.picker-title{font-size:1.5rem;margin-bottom:1.5rem}}@media (max-width: 767px){.game-picker{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid rgba(0,217,255,.2)}.game-option{background:linear-gradient(145deg,rgba(30,35,55,.95) 0%,rgba(25,30,50,.95) 100%);backdrop-filter:none;-webkit-backdrop-filter:none;border:2px solid rgba(255,255,255,.12)}.game-option:hover:not(:disabled){background:linear-gradient(145deg,rgba(40,50,70,.95) 0%,rgba(35,45,65,.95) 100%)}}.waiting-for-host{text-align:center;padding:40px 20px}.waiting-for-host h3{color:#fff;margin-bottom:10px;font-size:1.5rem}.waiting-for-host p{color:#fffc;margin-bottom:30px}.loading-dots{display:flex;justify-content:center;gap:8px}.loading-dots span{width:8px;height:8px;border-radius:50%;background:#4CAF50;animation:loading-bounce 1.4s ease-in-out infinite both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes loading-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@media (max-width: 359px){.game-picker-grid{gap:.5rem}.game-option{padding:.75rem}.game-icon{height:40px}.game-name{font-size:.85rem}.picker-title{font-size:1.3rem}}.chat-window{display:flex;flex-direction:column;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:min(400px,60vh);overflow:hidden;margin-top:2rem}.chat-header{padding:1rem;background:rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.1)}.chat-header h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.8rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.chat-message{display:flex;flex-direction:column;align-items:flex-end;align-self:flex-end;max-width:80%;gap:.25rem}.chat-message.me{align-self:flex-start;align-items:flex-start}.chat-message.system{align-self:center;max-width:100%;opacity:.7;font-style:italic;font-size:.9rem;text-align:center}.chat-sender{font-size:.8rem;color:var(--text-secondary);margin-bottom:2px;margin-right:8px}.chat-message.me .chat-sender{margin-left:8px;margin-right:0}.chat-text{padding:.65rem 1rem;background:rgba(100,100,120,.4);border-radius:14px 14px 6px;color:#fff;word-break:break-word;box-shadow:0 4px 12px #0003}.chat-message.me .chat-text{background:linear-gradient(135deg,var(--secondary-color),#7cf3ff);color:#012;border-bottom-right-radius:14px;border-bottom-left-radius:6px}.chat-message:not(.me):not(.system) .chat-text{border-bottom-left-radius:14px;border-bottom-right-radius:6px}.chat-input-form{padding:1rem;background:rgba(255,255,255,.05);display:flex;gap:.5rem}.chat-input-form input{flex:1;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:.6rem 1rem;color:#fff;font-family:inherit}.chat-input-form input:focus{outline:none;border-color:var(--secondary-color)}.chat-input-form button{background:var(--secondary-color);color:#000;border:none;padding:0 1.2rem;border-radius:20px;font-weight:600;cursor:pointer;transition:opacity .2s}.chat-input-form button:disabled{opacity:.5;cursor:not-allowed}.chat-input-form button:hover:not(:disabled){opacity:.9}@media (max-width: 767px){.chat-window{height:350px;margin-top:1.5rem}.chat-header{padding:.75rem 1rem}.chat-header h3{font-size:1rem}.chat-messages{padding:.75rem;gap:.6rem}}@media (max-width: 479px){.chat-window{height:min(280px,50vh);margin-top:1rem;border-radius:12px}.chat-header{padding:.6rem .75rem}.chat-header h3{font-size:.9rem}.chat-messages{padding:.5rem;gap:.5rem}.chat-message{max-width:90%}.chat-text{padding:.5rem .75rem;font-size:.9rem}.chat-input-form{padding:.75rem}.chat-input-form input{padding:.5rem .75rem;font-size:.9rem;background:rgba(0,0,0,.4);border:1px solid rgba(0,217,255,.4);color:#fff!important;-webkit-text-fill-color:#ffffff!important;-webkit-appearance:none;-moz-appearance:none;appearance:none}.chat-input-form input:focus{background:rgba(0,0,0,.5);color:#fff!important;-webkit-text-fill-color:#ffffff!important}.chat-input-form input::placeholder{color:#fff9!important;-webkit-text-fill-color:rgba(255,255,255,.6)!important}.chat-input-form button{padding:0 1rem;font-size:.9rem}}@media (orientation: landscape) and (max-height: 500px){.chat-window{height:min(200px,70vh);margin-top:.5rem}.chat-header{padding:.5rem .75rem}.chat-messages{padding:.5rem;gap:.4rem}.chat-input-form{padding:.5rem}}.tug-of-war{background:radial-gradient(circle at 30% -30%,rgba(255,255,255,.08),transparent 45%),linear-gradient(120deg,rgba(13,24,48,.95),rgba(28,12,32,.9));border-radius:28px;border:1px solid rgba(255,255,255,.08);box-shadow:0 25px 65px #00000080;display:flex;flex-direction:column;overflow:hidden;position:relative}.tow-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.08)}.tow-title-group h3{margin:0;font-family:Orbitron,sans-serif;letter-spacing:.15rem;text-transform:uppercase;font-size:1.15rem;color:var(--text-primary)}.tow-eyebrow{margin:0 0 .35rem;font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.35rem}.tow-scores{display:flex;gap:.75rem}.score-chip{min-width:90px;padding:.5rem .9rem;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center;text-transform:uppercase;font-size:.75rem;letter-spacing:.1rem}.score-chip strong{font-size:1.2rem;color:#fff}.score-chip.red{border-color:#ff638466}.score-chip.blue{border-color:#2196f366}.tow-arena{display:grid;grid-template-columns:150px minmax(0,1fr) 150px;gap:1.5rem;align-items:center;padding:2rem}.tow-team-card{background:rgba(11,17,35,.75);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:1.25rem .75rem;text-align:center;box-shadow:inset 0 0 35px #ffffff0d}.tow-team-card .tow-avatar{width:72px;height:72px;margin:0 auto .75rem;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.15),transparent 60%);border:2px solid rgba(255,255,255,.15);position:relative}.tow-team-card.red .tow-avatar:after,.tow-team-card.blue .tow-avatar:after{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border-radius:50%;background:currentColor;opacity:.5}.tow-team-card.red{color:#ff6b6b}.tow-team-card.blue{color:#54a0ff}.team-label{font-size:.85rem;letter-spacing:.2rem;text-transform:uppercase;color:#fffc}.rope-stage{position:relative;padding:1.5rem 1rem;border-radius:24px;background:rgba(6,12,28,.9);border:1px solid rgba(255,255,255,.08);overflow:hidden}.rope-shadow{position:absolute;left:50%;transform:translate(-50%);bottom:1.4rem;width:60%;height:18px;border-radius:50%;background:rgba(0,0,0,.45);filter:blur(12px)}.rope-track{position:relative;width:100%;height:16px;margin:0 auto;border-radius:999px;background:#3b2d1f;box-shadow:inset 0 0 0 2px #0003}.rope-line{position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:999px;background:repeating-linear-gradient(90deg,#e0b87a,#e0b87a 12px,#c68c3d 12px,#c68c3d 24px)}.center-marker{position:absolute;left:50%;top:-16px;bottom:-16px;width:4px;border-radius:999px;background:rgba(255,255,255,.25)}.knot{position:absolute;top:50%;width:32px;height:32px;transform:translate(-50%,-50%);z-index:5;transition:left .1s linear}.knot-marker{width:100%;height:100%;background:radial-gradient(circle,#ffd28a 0%,#c47b24 90%);border-radius:50%;box-shadow:0 12px 24px #0006}.territory{position:absolute;top:-12px;bottom:-12px;opacity:.12;transition:width .1s linear}.territory.red{left:0;background:#ff6b6b}.territory.blue{right:0;background:#3da0ff}.winner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:800;text-transform:uppercase;letter-spacing:.3rem;animation:popIn .3s cubic-bezier(.175,.885,.32,1.275)}.winner-overlay.red{color:#ff6b6b}.winner-overlay.blue{color:#3da0ff}@keyframes popIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.tow-controls{padding:1.5rem 2rem 2rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid rgba(255,255,255,.08)}.team-indicator{font-size:.95rem;color:var(--text-secondary)}.team-name{font-weight:700;letter-spacing:.2rem}.team-name.red{color:#ff6b6b}.team-name.blue{color:#3da0ff}.pull-btn{border:none;border-radius:999px;padding:.9rem 3rem;font-size:1.1rem;text-transform:uppercase;letter-spacing:.25rem;font-weight:700;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;color:#05060f;background:linear-gradient(120deg,#ff9d2d,#ff6b6b);box-shadow:0 14px 30px #ff6b6b66}.pull-btn.red{background:linear-gradient(120deg,#ff6b6b,#ff4757)}.pull-btn.blue{background:linear-gradient(120deg,#3da0ff,#0072ff)}.pull-btn:disabled{opacity:.5;cursor:not-allowed}.pull-btn:active,.pull-btn.pulling{transform:translateY(3px);box-shadow:0 6px 16px #00000059}@media (max-width: 1024px){.tow-arena{grid-template-columns:repeat(3,1fr);padding:1.5rem}.tow-team-card{padding:1rem .5rem}}@media (max-width: 768px){.tow-header{flex-direction:column;align-items:flex-start;gap:1rem}.tow-arena{grid-template-columns:minmax(0,1fr)}.tow-team-card{display:flex;align-items:center;justify-content:flex-start;gap:1rem}.tow-team-card .tow-avatar{margin:0}.rope-stage{order:3}.tow-controls{flex-direction:column;align-items:flex-start}.pull-btn{width:100%;text-align:center}}@media (max-width: 480px){.tow-header{padding:1rem 1.25rem}.tow-arena{padding:1rem}.tug-of-war{border-radius:20px}}.mascot-avatar-container{position:relative;display:inline-block;overflow:hidden;background-color:transparent;border-radius:50%;padding:0;box-sizing:border-box}.mascot-avatar-img{width:100%;height:100%;object-position:center;border-radius:0;display:block}.mascot-customizer{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:960px;margin:0 auto}.mascot-preview-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border-radius:16px;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 50px #00000059}.mascot-preview-wrapper{position:relative;background:rgba(255,255,255,.06);border-radius:50%;padding:16px;box-shadow:0 12px 36px #00000040;margin-bottom:1rem}.mascot-spotlight{position:absolute;top:-15%;right:-15%;bottom:-15%;left:-15%;border-radius:50%;background:radial-gradient(circle at 50% 60%,rgba(49,224,255,.2),transparent 60%);filter:blur(8px);z-index:0}.mascot-preview-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid rgba(255,255,255,.15);box-shadow:0 0 25px #00d9ff4d;z-index:1}.mascot-pedestal{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);width:220px;height:60px;display:flex;flex-direction:column;align-items:center;pointer-events:none;z-index:0}.pedestal-top{width:74%;height:12px;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.25),rgba(255,255,255,.05));box-shadow:0 6px 16px #0003}.mascot-helper-text{color:#aaa;font-size:.9rem;margin:0}.mascot-controls{display:flex;flex-direction:column;max-height:400px;overflow-y:auto;padding:.5rem}.options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem}.mascot-option-btn{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem;background:rgba(255,255,255,.05);border:2px solid transparent;border-radius:12px;padding:.75rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);overflow:visible}.mascot-option-btn:hover:not(:disabled){background:rgba(255,255,255,.1);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.mascot-option-btn.selected{border-color:var(--primary, #4CAF50);background:rgba(76,175,80,.1);box-shadow:0 0 0 2px #4caf5033}.mascot-option-btn.locked{opacity:.7;cursor:not-allowed;filter:grayscale(.8)}.img-wrapper{position:relative;width:80px;height:80px;aspect-ratio:1 / 1;border-radius:16px;overflow:visible;background:rgba(6,10,24,.7);border:1px solid rgba(255,255,255,.08);padding:10px}.mascot-option-btn img{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .3s}.mascot-option-btn:hover img{transform:scale(1.1)}.premium-badge-icon{position:absolute;top:-5px;right:-5px;background:linear-gradient(135deg,#FFD700,#FFA500);color:#000;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:10px;box-shadow:0 2px 6px #0006;z-index:10;border:2px solid rgba(20,20,40,.95)}.premium-badge-icon.admin{background:linear-gradient(135deg,#ff4444,#cc0000);color:#fff}.lock-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fffc;z-index:1}.mascot-option-btn .option-label{font-size:.85rem;color:#eee;text-align:center;font-weight:500;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mascot-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:auto;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}@media (max-width: 767px){.mascot-customizer{gap:1.25rem}.mascot-preview-area{padding:1.5rem}.mascot-controls{max-height:350px}.options-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.75rem}.img-wrapper{width:70px;height:70px;border-radius:10px;padding:8px}.mascot-option-btn .option-label{font-size:.8rem}}@media (max-width: 479px){.mascot-customizer{gap:1rem}.mascot-preview-area{padding:1rem}.mascot-preview-wrapper{padding:6px;margin-bottom:.75rem}.mascot-helper-text{font-size:.8rem}.mascot-controls{max-height:300px;padding:.25rem}.options-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}.mascot-option-btn{padding:.5rem;border-radius:10px;gap:.3rem}.img-wrapper{width:56px;height:56px;border-radius:10px;padding:6px}.premium-badge-icon{width:14px;height:14px;font-size:8px;top:-4px;right:-4px;border-width:1.5px}.lock-overlay{font-size:1.5rem}.mascot-option-btn .option-label{font-size:.7rem}.mascot-actions{flex-direction:column;gap:.75rem;padding-top:1rem}.mascot-actions button{width:100%}}.avatar-customizer{display:flex;flex-direction:column;gap:1.5rem}.avatar-preview-section{display:flex;flex-direction:column;align-items:center;gap:1rem}.avatar-preview-container{width:120px;height:120px;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center}.avatar-preview{width:100%;height:100%;object-fit:contain}.avatar-options{display:flex;flex-direction:column;gap:1.25rem}.option-group{display:flex;flex-direction:column;gap:.5rem}.option-group label{font-weight:600;font-size:.875rem;color:#ffffffe6}.avatar-select,.avatar-input{padding:.75rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);color:#fff;font-size:.875rem;transition:border-color .2s,background-color .2s}.avatar-select:hover,.avatar-input:hover{border-color:#ffffff40}.avatar-select:focus,.avatar-input:focus{outline:none;border-color:#6366f1;background:rgba(255,255,255,.08)}.avatar-select option{background:#1a1a2e;color:#fff}.input-hint{font-size:.75rem;color:#ffffff80}.style-previews{display:flex;flex-direction:column;gap:.75rem}.style-previews label{font-weight:600;font-size:.875rem;color:#ffffffe6}.style-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}.style-preview-btn{width:48px;height:48px;border-radius:8px;border:2px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);padding:2px;cursor:pointer;transition:all .2s;overflow:hidden}.style-preview-btn:hover{border-color:#ffffff4d;transform:scale(1.05)}.style-preview-btn.selected{border-color:#6366f1;box-shadow:0 0 10px #6366f14d}.style-preview-btn img{width:100%;height:100%;object-fit:cover}.avatar-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.btn-small{padding:.5rem 1rem;font-size:.75rem}@media (max-width: 480px){.style-grid{grid-template-columns:repeat(3,1fr)}.avatar-actions{flex-direction:column}.avatar-actions .btn{width:100%}}.profile-settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:3000;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.profile-settings-modal{background:var(--card-bg);border-radius:20px;padding:0;max-width:500px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 20px 40px #000000b3;border:1px solid rgba(255,255,255,.1)}.profile-settings-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid rgba(255,255,255,.1)}.profile-settings-title{font-family:Orbitron,sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0;background:linear-gradient(135deg,var(--text-primary) 0%,var(--secondary-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.profile-settings-content{padding:1.5rem;max-height:60vh;overflow-y:auto}.avatar-preview-section{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.avatar-preview-container{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color) 0%,var(--accent-color) 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #e9456066;margin-bottom:.75rem;overflow:visible;padding:6px}.avatar-preview-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-preview-container .mascot-avatar-container{width:100%;height:100%;padding:16%}.avatar-preview-container .mascot-avatar-img{object-fit:contain}.avatar-preview-initial{font-size:2rem;font-weight:700;color:#fff}.avatar-preview-info{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.preview-label{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.change-avatar-btn{padding:.5rem 1rem;background:rgba(0,217,255,.1);border:1px solid rgba(0,217,255,.3);border-radius:8px;color:var(--secondary-color);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease}.change-avatar-btn:hover{background:rgba(0,217,255,.2);border-color:var(--secondary-color)}.upgrade-avatar-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#ffd700,#ff8c00);border:none;border-radius:8px;color:#000;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .3s ease}.upgrade-avatar-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffd70066}.avatar-customizer-section{margin-bottom:1rem}.avatar-customizer-section .mascot-option-btn{overflow:visible}.avatar-customizer-section .img-wrapper{padding:10px;aspect-ratio:1 / 1}.avatar-customizer-section .premium-badge-icon{transform:translate(6px,-6px)}.profile-settings-modal .setting-section{margin-bottom:1.25rem}.profile-settings-modal .setting-label{display:block;color:var(--text-secondary);font-size:.85rem;font-weight:500;margin-bottom:.6rem;text-transform:uppercase;letter-spacing:1px}.profile-input{width:100%;padding:.75rem 1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);border-radius:12px;color:var(--text-primary);font-size:1rem;transition:all .3s ease;box-sizing:border-box}.profile-input:focus{outline:none;border-color:var(--secondary-color);background:rgba(255,255,255,.08);box-shadow:0 0 0 3px #00d9ff1a}.profile-input::placeholder{color:var(--text-secondary);opacity:.6}.save-name-btn{margin-top:.75rem;padding:.6rem 1rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--accent-color) 100%);border:none;border-radius:8px;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%}.save-name-btn:hover:not(:disabled){box-shadow:0 4px 12px #e9456066;transform:translateY(-1px)}.save-name-btn:disabled{opacity:.6;cursor:not-allowed}.profile-settings-footer{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.02);display:flex;gap:.75rem}.full-account-button{flex:1;padding:.75rem 1rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:12px;color:var(--text-primary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease}.full-account-button:hover{background:rgba(255,255,255,.15);border-color:#ffffff4d}.done-button{flex:1;padding:.75rem 1rem;background:linear-gradient(135deg,var(--secondary-color) 0%,#00ff88 100%);border:none;border-radius:12px;color:#000;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #00d9ff4d}.done-button:hover{box-shadow:0 6px 20px #00d9ff80;transform:translateY(-2px)}.profile-settings-content::-webkit-scrollbar{width:6px}.profile-settings-content::-webkit-scrollbar-track{background:rgba(255,255,255,.05);border-radius:3px}.profile-settings-content::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:3px}@media (max-width: 768px){.profile-settings-modal{max-width:95%}.profile-settings-footer{flex-direction:column}}@media (max-width: 480px){.profile-settings-overlay{padding:10px}.profile-settings-header{padding:1rem}.profile-settings-title{font-size:1.25rem}.profile-settings-content{padding:1rem}.avatar-preview-container{width:60px;height:60px}}.profile-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:9000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.profile-modal{background:linear-gradient(135deg,var(--bg-secondary, #1a1a2e),var(--card-bg, #16213e));border-radius:20px;padding:2rem;max-width:400px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #00000080;border:1px solid rgba(255,255,255,.1);animation:slideUp .3s ease}.close-button{position:absolute;top:1rem;right:1rem;background:rgba(255,255,255,.1);border:none;color:var(--text-primary);width:32px;height:32px;border-radius:50%;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-button:hover{background:rgba(255,255,255,.2);transform:scale(1.1)}.profile-loading,.profile-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:1rem;color:var(--text-secondary)}.profile-error button{padding:.5rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer}.profile-header{display:flex;gap:1rem;margin-bottom:1.5rem}.profile-avatar{flex-shrink:0}.profile-info{flex:1;min-width:0}.profile-name{margin:0 0 .25rem;font-size:1.25rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.premium-badge{font-size:.65rem;padding:.2rem .5rem;border-radius:4px;font-weight:700;text-transform:uppercase}.premium-badge.tier-lifetime{background:linear-gradient(135deg,#FFD700,#FFA500);color:#000}.premium-badge.tier-monthly{background:linear-gradient(135deg,#00d9ff,#0099cc);color:#000}.profile-username{margin:0 0 .5rem;font-size:.9rem;color:var(--text-secondary)}.profile-level{display:flex;align-items:center;gap:.5rem}.level-badge{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:700}.xp-bar{flex:1;height:6px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden}.xp-fill{height:100%;background:linear-gradient(90deg,var(--secondary-color),var(--primary-color));border-radius:3px}.achievement-points-display{background:linear-gradient(135deg,rgba(0,217,255,.15),rgba(0,217,255,.05));border:1px solid rgba(0,217,255,.3);border-radius:12px;padding:1rem;display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.points-icon{font-size:2rem}.points-value{font-size:2rem;font-weight:700;color:var(--secondary-color);text-shadow:0 0 20px rgba(0,217,255,.3)}.points-label{font-size:.85rem;color:var(--text-secondary)}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1.5rem}.stat{text-align:center;padding:.75rem .5rem;background:rgba(255,255,255,.05);border-radius:8px}.stat-value{display:block;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase}.recent-achievements{margin-bottom:1.5rem}.recent-achievements h3{font-size:.9rem;color:var(--text-secondary);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.5px}.achievements-list{display:flex;flex-direction:column;gap:.5rem}.achievement-mini{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:rgba(255,255,255,.05);border-radius:8px;border-left:3px solid var(--rarity-color, #9CA3AF)}.achievement-mini.rarity-common{--rarity-color: #9CA3AF}.achievement-mini.rarity-rare{--rarity-color: #3B82F6}.achievement-mini.rarity-epic{--rarity-color: #8B5CF6}.achievement-mini.rarity-legendary{--rarity-color: #F59E0B}.achievement-icon{font-size:1.5rem}.achievement-info{flex:1;min-width:0}.achievement-name{display:block;font-size:.9rem;font-weight:600;color:var(--text-primary)}.achievement-rarity{font-size:.7rem;text-transform:uppercase}.achievement-rarity.common{color:#9ca3af}.achievement-rarity.rare{color:#60a5fa}.achievement-rarity.epic{color:#a78bfa}.achievement-rarity.legendary{color:#fbbf24}.view-all-btn{width:100%;padding:.875rem;background:linear-gradient(135deg,var(--primary-color, #e94560),var(--accent-color, #d63850));color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.view-all-btn:hover{transform:translateY(-2px);box-shadow:0 5px 20px #e9456066}@media (max-width: 767px){.profile-modal{padding:1.5rem;max-width:380px}.profile-name{font-size:1.1rem}.achievement-mini{padding:.6rem}}@media (max-width: 480px){.profile-modal{padding:1.5rem;margin:.5rem;border-radius:16px}.profile-stats{grid-template-columns:repeat(2,1fr)}.points-value{font-size:1.5rem}.view-all-btn{min-height:var(--touch-target-min, 44px);font-size:16px}.close-button{min-width:44px;min-height:44px}}@media (max-width: 359px){.profile-modal-overlay{padding:.5rem}.profile-modal{padding:1rem;border-radius:14px}.profile-header{gap:.75rem;margin-bottom:1rem}.profile-name{font-size:1rem}.profile-username{font-size:.8rem}.level-badge{padding:.2rem .4rem;font-size:.7rem}.achievement-points-display{padding:.75rem}.points-icon{font-size:1.5rem}.points-value{font-size:1.25rem}.profile-stats{gap:.4rem}.stat{padding:.5rem .3rem}.stat-value{font-size:1rem}.stat-label{font-size:.65rem}.achievement-mini{padding:.5rem;gap:.5rem}.achievement-icon{font-size:1.25rem}.achievement-name{font-size:.8rem}.view-all-btn{padding:.75rem;font-size:.9rem}}@media (max-width: 767px) and (orientation: landscape){.profile-modal-overlay{padding:.5rem}.profile-modal{max-height:85vh;padding:1rem 1.5rem;max-width:450px}.profile-header{margin-bottom:1rem}.achievement-points-display{padding:.75rem;margin-bottom:1rem}.profile-stats{grid-template-columns:repeat(4,1fr);margin-bottom:1rem}.recent-achievements{margin-bottom:1rem}.achievements-list{gap:.4rem}}@media (max-height: 500px) and (orientation: landscape){.profile-modal{padding:.75rem 1rem;max-height:90vh}.profile-header{margin-bottom:.75rem}.achievement-points-display{padding:.5rem;margin-bottom:.75rem}.points-icon{font-size:1.5rem}.points-value{font-size:1.25rem}.profile-stats{margin-bottom:.75rem}.stat{padding:.5rem .25rem}}@media (hover: none) and (pointer: coarse){.close-button:hover{transform:none}.close-button:active{transform:scale(.95);background:rgba(255,255,255,.25)}.view-all-btn:hover{transform:none}.view-all-btn:active{transform:scale(.98);box-shadow:0 3px 15px #e945604d}.close-button,.view-all-btn,.achievement-mini{min-height:var(--touch-target-min, 44px)}}@media (prefers-reduced-motion: reduce){.profile-modal-overlay,.profile-modal{animation:none}.close-button:hover,.view-all-btn:hover{transform:none}}.room-lobby{min-height:calc(100vh - 80px);background:radial-gradient(circle at 20% 80%,rgba(120,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,107,107,.3) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(0,217,255,.2) 0%,transparent 50%),linear-gradient(135deg,#0f0f23 0%,#16213e 25%,#1a1a2e 75%,#0f0f23 100%);color:var(--text-primary);padding:2rem;position:relative;overflow-x:hidden}.room-lobby:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(120,119,198,.1) 0%,transparent 40%),radial-gradient(circle at 80% 20%,rgba(255,107,107,.1) 0%,transparent 40%);pointer-events:none;z-index:0;animation:backgroundPulse 8s ease-in-out infinite}.lobby-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;padding:2rem;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff1a;position:relative;z-index:1}@supports not (backdrop-filter: blur(20px)){.lobby-header{background:rgba(15,15,35,.9);border:1px solid rgba(255,255,255,.2)}}.leave-button{padding:1rem 2rem;background:rgba(233,69,96,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(233,69,96,.3);border-radius:15px;color:var(--primary-color);font-size:1rem;font-weight:600;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden}@supports not (backdrop-filter: blur(10px)){.leave-button{background:rgba(233,69,96,.2)}}.leave-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.leave-button:hover:before{left:100%}.leave-button:hover{background:rgba(233,69,96,.2);border-color:var(--primary-color);color:#fff;box-shadow:0 8px 25px #e9456066,0 0 0 1px #e945601a;transform:translateY(-2px)}.header-left-actions{display:flex;gap:.75rem;align-items:center}.profile-settings-btn{padding:.75rem 1.25rem;background:rgba(0,217,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(0,217,255,.3);border-radius:12px;color:var(--secondary-color);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.profile-settings-btn:hover{background:rgba(0,217,255,.2);border-color:var(--secondary-color);color:#fff;box-shadow:0 4px 15px #00d9ff4d;transform:translateY(-2px)}.room-info-header{text-align:center;flex:1;position:relative}.room-code-display{font-family:Orbitron,sans-serif;font-size:3.5rem;font-weight:900;background:linear-gradient(135deg,#00d9ff 0%,#00ff88 50%,#ff6b6b 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.3em;margin-bottom:1.5rem;text-shadow:0 0 30px rgba(0,217,255,.5);animation:codeGlow 3s ease-in-out infinite;position:relative}@keyframes codeGlow{0%,to{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.2);transform:scale(1.02)}}.room-code-display.streamer-mode{display:flex;align-items:center;gap:1rem}.toggle-code-btn{padding:.5rem 1rem;background:rgba(0,217,255,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(0,217,255,.4);border-radius:12px;color:var(--secondary-color);font-size:1.2rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:50px;min-height:50px}.toggle-code-btn:hover{background:rgba(0,217,255,.25);border-color:var(--secondary-color);transform:scale(1.05)}.toggle-code-btn:active{transform:scale(.95)}.room-actions{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.copy-btn,.copy-link-btn{padding:.8rem 1.5rem;background:rgba(0,217,255,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(0,217,255,.4);border-radius:12px;color:var(--secondary-color);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);display:flex;align-items:center;gap:.6rem;position:relative;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.8);box-shadow:0 4px 15px #00d9ff33}@supports not (backdrop-filter: blur(10px)){.copy-btn,.copy-link-btn{background:rgba(0,217,255,.25);border:2px solid rgba(0,217,255,.5)}}.copy-btn:before,.copy-link-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,217,255,.3),transparent);transition:left .6s}.copy-btn:hover:before,.copy-link-btn:hover:before{left:100%}.copy-btn:hover,.copy-link-btn:hover{background:rgba(0,217,255,.3);border-color:var(--secondary-color);color:#fff;transform:translateY(-3px);box-shadow:0 10px 25px #00d9ff66,0 0 0 1px #00d9ff1a;text-shadow:0 2px 4px rgba(0,0,0,.8)}.discord-btn{padding:.8rem 1.5rem;background:rgba(88,101,242,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(88,101,242,.4);border-radius:12px;color:#5865f2;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);display:flex;align-items:center;gap:.6rem;position:relative;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.8);box-shadow:0 4px 15px #5865f233;text-decoration:none}.discord-btn:hover{background:rgba(88,101,242,.3);border-color:#5865f2;color:#fff;transform:translateY(-3px);box-shadow:0 10px 25px #5865f266,0 0 0 1px #5865f21a;text-shadow:0 2px 4px rgba(0,0,0,.8)}.discord-btn svg{flex-shrink:0}.lobby-content{max-width:1400px;margin:0 auto;position:relative;z-index:1}.section-title{font-family:Orbitron,sans-serif;font-size:2rem;font-weight:700;margin:0 0 2rem;background:linear-gradient(135deg,var(--text-primary) 0%,var(--secondary-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.section-title:after{content:"";position:absolute;bottom:-8px;left:0;width:60px;height:3px;background:linear-gradient(90deg,var(--secondary-color),var(--primary-color));border-radius:2px}.players-section{margin-bottom:4rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.return-to-lobby-btn{padding:.8rem 1.5rem;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:12px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);display:flex;align-items:center;gap:.6rem;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 6px 20px #4caf504d;position:relative;overflow:hidden}.return-to-lobby-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.2);border-radius:50%;transform:translate(-50%,-50%);transition:width .3s,height .3s}.return-to-lobby-btn:hover:before{width:100%;height:100%}.return-to-lobby-btn:hover{background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-3px);box-shadow:0 10px 30px #4caf5066}.players-grid{display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:center;position:relative;padding:1rem;border-radius:24px;background:radial-gradient(circle at 50% 50%,rgba(49,224,255,.08),rgba(15,15,25,.6));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08)}.player-card{background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:1.5rem;display:flex;flex-direction:column;gap:1.2rem;border:1px solid rgba(255,255,255,.12);transition:all .4s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden;max-width:320px}@supports not (backdrop-filter: blur(20px)){.player-card{background:rgba(15,15,35,.8);border:1px solid rgba(255,255,255,.15)}}.player-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:translate(-100%);transition:transform .6s}.player-card:hover:before{transform:translate(100%)}.player-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #0000004d,0 0 0 1px #ffffff1a,inset 0 1px #ffffff1a;background:rgba(255,255,255,.08)}.player-card.player-joining{animation:playerJoinSlide .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes playerJoinSlide{0%{opacity:0;transform:translate(-30px) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}.player-card.player-leaving{animation:playerLeaveSlide .4s ease-out forwards}@keyframes playerLeaveSlide{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(30px) scale(.9)}}.player-card.player-reconnecting{animation:playerReconnectPulse 1.5s ease-in-out infinite}@keyframes playerReconnectPulse{0%,to{opacity:.6;border-color:#ffc1074d}50%{opacity:1;border-color:#ffc10799}}.players-grid.all-ready .player-card{animation:allReadyGlow 1s ease-in-out}@keyframes allReadyGlow{0%,to{box-shadow:0 10px 30px #0003}50%{box-shadow:0 10px 30px #0003,0 0 30px #4caf5066}}.player-card.premium-lifetime .player-avatar{box-shadow:0 0 15px #ffd70099,0 0 30px #ffa5004d;transition:box-shadow .3s ease}.player-card.premium-lifetime:hover .player-avatar{box-shadow:0 0 20px #ffd700cc,0 0 40px #ffa50066}.player-card.premium-admin .player-avatar{box-shadow:0 0 15px #ff323299,0 0 30px #ff00004d;transition:box-shadow .3s ease}.player-card.premium-admin:hover .player-avatar{box-shadow:0 0 20px #ff3232cc,0 0 40px #f006}.player-card.premium-monthly .player-avatar{box-shadow:0 0 12px #00d9ff80,0 0 25px #00c8ff40;transition:box-shadow .3s ease}.player-card.premium-monthly:hover .player-avatar{box-shadow:0 0 18px #00d9ffb3,0 0 35px #00c8ff59}.player-card-content{display:flex;align-items:flex-start;gap:1.5rem;width:100%}.player-avatar{width:120px;height:120px;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;color:#fff;position:relative;flex-shrink:0}.player-avatar:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;background:radial-gradient(circle at 50% 60%,rgba(49,224,255,.15),transparent 65%);filter:blur(6px);z-index:0}.player-avatar .avatar-image{position:relative;z-index:1}.player-avatar .avatar-initial{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));display:flex;align-items:center;justify-content:center;box-shadow:0 8px 25px #0000004d,inset 0 1px #fff3;position:relative;overflow:hidden}.player-avatar .avatar-initial:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);animation:avatarShine 3s linear infinite}@keyframes avatarShine{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.player-info{flex:1;min-width:0}.player-name{display:block;font-weight:700;font-size:1.3rem;margin-bottom:.5rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-badges{display:flex;flex-direction:column;gap:.5rem}.host-badge{display:inline-block;background:linear-gradient(135deg,var(--secondary-color),#00ff88);color:#fff;padding:.4rem 1rem;border-radius:15px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;align-self:flex-start;box-shadow:0 4px 15px #00d9ff4d;animation:hostBadgePulse 2s ease-in-out infinite}@keyframes hostBadgePulse{0%,to{box-shadow:0 4px 15px #00d9ff4d}50%{box-shadow:0 6px 20px #00d9ff80}}.premium-badge{display:inline-block;padding:.4rem 1rem;border-radius:15px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;align-self:flex-start;position:relative;overflow:hidden;transition:all .3s ease}.premium-badge.lifetime{background:linear-gradient(135deg,#FFD700,#FFA500);color:#000;box-shadow:0 4px 15px #ffd70066;animation:premiumLifetimePulse 2s ease-in-out infinite}.premium-badge.monthly{background:linear-gradient(135deg,#00d9ff,#00ff88);color:#fff;box-shadow:0 4px 15px #00d9ff66;animation:premiumMonthlyPulse 2s ease-in-out infinite}@keyframes premiumLifetimePulse{0%,to{box-shadow:0 4px 15px #ffd70066;transform:scale(1)}50%{box-shadow:0 6px 25px #ffd70099;transform:scale(1.02)}}@keyframes premiumMonthlyPulse{0%,to{box-shadow:0 4px 15px #00d9ff66}50%{box-shadow:0 6px 20px #00d9ff99}}.player-card.premium-lifetime{border:2px solid transparent;background-image:linear-gradient(rgba(22,33,62,.95),rgba(22,33,62,.95)),linear-gradient(135deg,#FFD700,#FFA500,#FFD700);background-origin:border-box;background-clip:padding-box,border-box}.player-card.premium-monthly{border:2px solid transparent;background-image:linear-gradient(rgba(22,33,62,.95),rgba(22,33,62,.95)),linear-gradient(135deg,#00d9ff,#00ff88,#00d9ff);background-origin:border-box;background-clip:padding-box,border-box}.player-card.premium-admin{border:2px solid transparent;background-image:linear-gradient(rgba(22,33,62,.95),rgba(22,33,62,.95)),linear-gradient(135deg,#ff4444,#ff0000,#ff4444);background-origin:border-box;background-clip:padding-box,border-box}.premium-badge:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.4) 50%,transparent 60%);animation:sparkleShine 3s ease-in-out infinite}@keyframes sparkleShine{0%{transform:translate(-100%) rotate(45deg)}50%,to{transform:translate(100%) rotate(45deg)}}.premium-crown{display:inline-block;margin-right:4px;font-size:.9em;animation:crownBounce 2s ease-in-out infinite}@keyframes crownBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.premium-host-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:linear-gradient(135deg,rgba(255,215,0,.15),rgba(255,165,0,.15));border:1px solid rgba(255,215,0,.4);border-radius:20px;font-size:.8rem;font-weight:600;color:gold;animation:premiumHostGlow 2s ease-in-out infinite}@keyframes premiumHostGlow{0%,to{box-shadow:0 0 10px #ffd70033}50%{box-shadow:0 0 20px #ffd70066}}.guest-badge{display:inline-block;padding:.4rem 1rem;border-radius:15px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;align-self:flex-start;background:linear-gradient(135deg,#6c757d,#495057);color:#fff;box-shadow:0 4px 15px #6c757d4d}.premium-indicator{display:none}.premium-indicator:has(content){border-color:gold}@keyframes premiumIndicatorGlow{0%,to{box-shadow:0 0 10px #ffd70080}50%{box-shadow:0 0 20px #ffd700cc}}.avatar-image{width:100%;height:100%;border-radius:50%;object-fit:cover}.avatar-emoji{font-size:1.5rem;line-height:1}.dicebear-avatar{background:rgba(255,255,255,.1);padding:2px}.status-badge{display:inline-flex;align-items:center;gap:.4rem;color:#fff;padding:.5rem 1rem;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;align-self:flex-start;box-shadow:0 4px 15px #0003;position:relative;overflow:hidden}.status-badge:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:statusShine 3s linear infinite}@keyframes statusShine{0%{left:-100%}to{left:100%}}.player-card.disconnected{opacity:.8;border-color:#6666664d;background:rgba(102,102,102,.05)}.player-card.in_game{border-color:#ff6b3566;box-shadow:0 0 20px #ff6b3533;background:rgba(255,107,53,.05)}.player-card.lobby{border-color:#4caf5066;box-shadow:0 0 20px #4caf5033;background:rgba(76,175,80,.05)}.player-card.disconnecting{border-color:#ff6b35;box-shadow:0 0 20px #ff6b354d;background:rgba(255,107,53,.08);animation:disconnectPulse 1s ease-in-out infinite}@keyframes disconnectPulse{0%,to{box-shadow:0 0 20px #ff6b354d;border-color:#ff6b3580}50%{box-shadow:0 0 30px #ff6b3580;border-color:#ff6b35cc}}.countdown-badge{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#ff6b35,#ff4757);color:#fff;padding:.5rem 1rem;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;animation:countdownPulse 1s ease-in-out infinite;box-shadow:0 4px 15px #ff6b3566}@keyframes countdownPulse{0%,to{transform:scale(1);box-shadow:0 4px 15px #ff6b3566}50%{transform:scale(1.05);box-shadow:0 6px 20px #ff6b3599}}.game-section{margin-bottom:4rem;width:100%;display:flex;flex-direction:column;align-items:center}.game-section .section-title{text-align:center}.game-section .section-title:after{left:50%;transform:translate(-50%)}.selected-game-card{background:linear-gradient(135deg,rgba(26,26,46,.95) 0%,rgba(22,33,62,.95) 100%);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:25px;padding:3rem;display:flex;align-items:center;gap:3rem;border:1px solid rgba(0,217,255,.2);box-shadow:0 15px 40px #00000080,inset 0 1px #ffffff1a;position:relative;overflow:visible;flex-wrap:wrap}.selected-game-card *{z-index:2}@supports not (backdrop-filter: blur(20px)){.selected-game-card{background:linear-gradient(135deg,rgba(26,26,46,.98) 0%,rgba(22,33,62,.98) 100%);border:1px solid rgba(0,217,255,.3)}}@media (max-width: 767px){.selected-game-card{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);backdrop-filter:none;-webkit-backdrop-filter:none;border:2px solid rgba(0,217,255,.3)}}.game-icon{font-size:5rem;flex-shrink:0;filter:drop-shadow(0 0 20px rgba(255,255,255,.2));animation:gameIconFloat 3s ease-in-out infinite;min-width:100px;display:flex;justify-content:center}@keyframes gameIconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.game-details{flex:1;min-width:200px;color:#fff}.game-details h4{font-size:2rem;font-weight:700;margin-bottom:1rem;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.game-details p{color:var(--text-secondary);margin-bottom:1rem;font-size:1.1rem;line-height:1.6}.max-players{display:inline-block;background:rgba(0,217,255,.15);color:var(--secondary-color);padding:.5rem 1.2rem;border-radius:20px;font-size:.9rem;font-weight:600;border:1px solid rgba(0,217,255,.3);box-shadow:0 4px 15px #00d9ff33}.change-game-btn,.select-game-btn{padding:1rem 2rem;background:rgba(0,217,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(0,217,255,.3);border-radius:15px;color:var(--secondary-color);font-size:1rem;font-weight:600;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden}.change-game-btn:before,.select-game-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(0,217,255,.2);border-radius:50%;transform:translate(-50%,-50%);transition:width .4s,height .4s}.change-game-btn:hover:before,.select-game-btn:hover:before{width:300%;height:300%}.change-game-btn:hover,.select-game-btn:hover{background:rgba(0,217,255,.2);border-color:var(--secondary-color);color:#fff;box-shadow:0 15px 40px #00d9ff66,0 0 0 1px #00d9ff33;transform:translateY(-3px)}.no-game-selected{background:rgba(255,255,255,.03);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:25px;padding:4rem;text-align:center;border:2px dashed rgba(255,255,255,.2);position:relative;overflow:hidden}.no-game-selected:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 48%,rgba(255,255,255,.05) 50%,transparent 52%);animation:dashedBorder 3s linear infinite}@keyframes dashedBorder{0%{transform:translate(-100%)}to{transform:translate(100%)}}.no-game-selected p{color:var(--text-secondary);font-size:1.2rem;position:relative;z-index:1}.start-game-button{display:block;padding:1.5rem 4rem;font-size:1.3rem;font-weight:700;border:none;border-radius:25px;background:linear-gradient(135deg,#31e0ff 0%,#00ff9d 50%,#00b8ff 100%);color:#fff;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 12px 32px #00d9ff59,inset 0 1px #fff3;text-transform:uppercase;letter-spacing:2px;position:relative;overflow:hidden}.start-game-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s}.start-game-button:hover:before{left:100%}.start-game-button:hover{box-shadow:0 18px 44px #00d9ff73,inset 0 1px #ffffff4d;transform:translateY(-5px) scale(1.02)}.start-game-button:active{transform:translateY(-2px) scale(1)}.game-controls{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-top:2rem}.room-status-section{margin:1.5rem 0}.room-status-display{display:flex;align-items:center;justify-content:center;gap:1rem;position:relative}.status-label{color:var(--text-secondary);font-size:1rem;font-weight:500;text-transform:uppercase;letter-spacing:1px}.status-badge{padding:.6rem 1.5rem;border-radius:25px;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;display:inline-flex;align-items:center;gap:.5rem;border:2px solid transparent;transition:all .3s ease;box-shadow:0 4px 15px #0003;position:relative;overflow:hidden}.status-badge:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:statusBadgeShine 3s linear infinite}@keyframes statusBadgeShine{0%{left:-100%}to{left:100%}}.status-badge.status-waiting_for_players{background:linear-gradient(135deg,rgba(76,175,80,.2),rgba(76,175,80,.3));color:#4caf50;border-color:#4caf5066;box-shadow:0 4px 15px #4caf504d}.status-badge.status-active,.status-badge.status-in_game{background:linear-gradient(135deg,rgba(255,107,53,.2),rgba(255,107,53,.3));color:#ff6b35;border-color:#ff6b3566;box-shadow:0 4px 15px #ff6b354d}.status-badge.status-paused{background:linear-gradient(135deg,rgba(255,193,7,.2),rgba(255,193,7,.3));color:#ffc107;border-color:#ffc10766;box-shadow:0 4px 15px #ffc1074d}.status-badge.status-finished{background:linear-gradient(135deg,rgba(244,67,54,.2),rgba(244,67,54,.3));color:#f44336;border-color:#f4433666;box-shadow:0 4px 15px #f443364d}.status-badge.status-launching{background:linear-gradient(135deg,rgba(156,39,176,.2),rgba(156,39,176,.3));color:#9c27b0;border-color:#9c27b066;box-shadow:0 4px 15px #9c27b04d;animation:launchingPulse 1.5s ease-in-out infinite}@keyframes launchingPulse{0%,to{box-shadow:0 4px 15px #9c27b04d;transform:scale(1)}50%{box-shadow:0 6px 20px #9c27b080;transform:scale(1.02)}}.status-info-section{margin-bottom:3rem}.status-info-card{background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.1);padding:2rem;display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem;box-shadow:0 10px 30px #0003,inset 0 1px #ffffff1a;position:relative;overflow:hidden}.status-info-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:infoCardShine 4s linear infinite}@keyframes infoCardShine{0%{left:-100%}to{left:100%}}.status-info-icon{font-size:3.5rem;display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0;box-shadow:0 8px 25px #0003,inset 0 1px #ffffff1a;animation:iconFloat 3s ease-in-out infinite}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.status-info-content{flex:1}.status-info-title{color:var(--text-primary);font-size:1.4rem;font-weight:600;margin-bottom:.8rem}.status-info-description{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0}.player-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-top:1rem}.make-host-btn,.kick-player-btn{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);opacity:.8;text-transform:uppercase;letter-spacing:.5px;position:relative;overflow:hidden}.make-host-btn{background:linear-gradient(135deg,#4CAF50,#45a049);color:#fff;box-shadow:0 3px 10px #4caf504d}.kick-player-btn{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff;box-shadow:0 3px 10px #f443364d}.make-host-btn:hover,.kick-player-btn:hover{opacity:1;transform:translateY(-2px)}.make-host-btn:hover{box-shadow:0 6px 15px #4caf5066}.kick-player-btn:hover{box-shadow:0 6px 15px #f4433666}.player-friend-actions{display:flex;justify-content:center;margin-top:.75rem}.add-friend-btn{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#00d9ff,#00a8ff);color:#fff;box-shadow:0 3px 10px #00d9ff4d}.add-friend-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 15px #00d9ff66}.add-friend-btn:disabled{opacity:.7;cursor:not-allowed}.add-friend-btn.pending{background:linear-gradient(135deg,#f39c12,#e67e22);box-shadow:0 3px 10px #f39c124d}.add-friend-btn.accept{background:linear-gradient(135deg,#2ecc71,#27ae60);box-shadow:0 3px 10px #2ecc714d}.add-friend-btn.accept:hover:not(:disabled){box-shadow:0 6px 15px #2ecc7166}.error-message{background:rgba(233,69,96,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(233,69,96,.3);color:var(--primary-color);padding:1.5rem;border-radius:15px;text-align:center;margin:2rem auto;max-width:600px;box-shadow:0 8px 25px #e9456033}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;background:rgba(255,255,255,.03);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.1)}.loading-spinner{width:50px;height:50px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--secondary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@media (max-width: 1023px){.lobby-content{max-width:100%;padding:0 1rem}.players-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width: 767px){.room-lobby{padding:1rem}.lobby-header{flex-direction:column;gap:1.5rem;padding:1.5rem;background:linear-gradient(135deg,rgba(15,15,35,.95) 0%,rgba(20,25,50,.95) 100%);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid rgba(0,217,255,.2)}.room-code-display{font-size:2.5rem;letter-spacing:.2em}.room-actions{flex-direction:row;gap:.8rem;justify-content:center}.copy-btn,.copy-link-btn{padding:.8rem 1.2rem;font-size:.85rem;min-height:44px;min-width:120px;background:rgba(0,217,255,.25);border:2px solid rgba(0,217,255,.6);color:#fff;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.9);box-shadow:0 6px 20px #00d9ff4d}.copy-btn:hover,.copy-link-btn:hover{background:rgba(0,217,255,.4);border-color:var(--secondary-color);color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #00d9ff80;text-shadow:0 2px 4px rgba(0,0,0,.9)}.leave-button{padding:.8rem 1.5rem;font-size:.9rem;min-height:44px;backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(233,69,96,.25)}.profile-settings-btn{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(0,217,255,.2)}.players-grid{grid-template-columns:1fr;gap:1rem}.player-card{padding:1.5rem}.selected-game-card{flex-direction:column;text-align:center;padding:2rem;gap:2rem}.game-icon{font-size:4rem}.section-title{font-size:1.5rem}.status-info-card{flex-direction:column;text-align:center;padding:1.5rem}.status-info-icon{width:60px;height:60px;font-size:2.5rem}.start-game-button{padding:1.2rem 3rem;font-size:1.1rem;min-height:54px}.change-game-btn,.select-game-btn{padding:.8rem 1.5rem;font-size:.9rem;min-height:44px}.return-to-lobby-btn{padding:.7rem 1.2rem;font-size:.8rem;min-height:40px}}@media (max-width: 479px){.room-lobby{padding:.5rem}.lobby-header{padding:1rem;margin-bottom:2rem}.room-code-display{font-size:2rem;letter-spacing:.15em}.room-actions{flex-direction:column;gap:.6rem}.copy-btn,.copy-link-btn{width:100%;max-width:250px;margin:0 auto}.leave-button{padding:.8rem 1.5rem;font-size:.9rem;width:100%;max-width:200px;margin:0 auto}.start-game-button{padding:1.2rem 3rem;font-size:1.1rem;width:100%;max-width:300px}.player-card{padding:1rem}.player-avatar{width:50px;height:50px;font-size:1.5rem}.player-actions{flex-direction:column;gap:.5rem}.make-host-btn,.kick-player-btn{padding:.6rem 1rem;font-size:.7rem;min-height:36px;width:100%}.selected-game-card{padding:1.5rem;gap:1.5rem}.game-details h4{font-size:1.5rem}.game-details p{font-size:1rem}.change-game-btn{width:100%;max-width:250px;margin:0 auto}}@media (max-width: 767px) and (orientation: landscape) and (max-height: 500px){.room-lobby{padding:.5rem}.lobby-header{padding:1rem;margin-bottom:1rem}.room-code-display{font-size:1.8rem}.players-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem}.player-card{padding:1rem}.selected-game-card{padding:1rem;gap:1rem}.start-game-button{padding:1rem 2rem;font-size:1rem}}.level-badge-lobby{display:inline-block;padding:.3rem .8rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:15px;color:var(--secondary-color);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;align-self:flex-start}.ready-section{margin-bottom:2rem;padding:2rem;background:rgba(255,255,255,.03);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0003}.ready-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .8rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;align-self:flex-start;transition:all .3s ease}.ready-badge.is-ready{background:linear-gradient(135deg,rgba(76,175,80,.2),rgba(76,175,80,.3));color:#4caf50;border:1px solid rgba(76,175,80,.4);box-shadow:0 2px 10px #4caf504d}.ready-badge.not-ready{background:linear-gradient(135deg,rgba(255,152,0,.2),rgba(255,152,0,.3));color:#ff9800;border:1px solid rgba(255,152,0,.4);box-shadow:0 2px 10px #ff980033;animation:notReadyPulse 2s ease-in-out infinite}@keyframes notReadyPulse{0%,to{box-shadow:0 2px 10px #ff980033}50%{box-shadow:0 4px 15px #ff980066}}.player-ready-section{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.ready-button{padding:1.2rem 3rem;font-size:1.2rem;font-weight:700;border:none;border-radius:20px;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);text-transform:uppercase;letter-spacing:2px;position:relative;overflow:hidden;min-width:200px}.ready-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s}.ready-button:hover:before{left:100%}.ready-button.not-ready{background:linear-gradient(135deg,#4CAF50,#45a049);color:#fff;box-shadow:0 8px 25px #4caf5066,inset 0 1px #fff3}.ready-button.not-ready:hover{box-shadow:0 12px 35px #4caf5080,inset 0 1px #ffffff4d;transform:translateY(-3px) scale(1.02)}.ready-button.ready{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff;box-shadow:0 8px 25px #ff6b6b66,inset 0 1px #fff3}.ready-button.ready:hover{box-shadow:0 12px 35px #ff6b6b80,inset 0 1px #ffffff4d;transform:translateY(-3px) scale(1.02)}.ready-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.waiting-ready-text{color:#ff9800;font-size:.9rem;font-weight:500;margin:0;padding:.5rem 1rem;background:rgba(255,152,0,.1);border-radius:8px;border:1px solid rgba(255,152,0,.2)}.waiting-host-text{color:var(--text-secondary);font-size:.9rem;margin:0}.start-game-button:disabled{opacity:.7;cursor:not-allowed;background:linear-gradient(135deg,#6c757d,#5a6268);box-shadow:0 4px 15px #6c757d4d}.start-game-button:disabled:hover{transform:none;box-shadow:0 4px 15px #6c757d4d}@media (max-width: 479px){.ready-button{padding:1rem 2rem;font-size:1rem;min-width:160px}.ready-badge{font-size:.65rem;padding:.3rem .6rem}.waiting-ready-text,.waiting-host-text{font-size:.8rem}}.lobby-extras{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:4rem}@media (max-width: 767px){.lobby-extras{grid-template-columns:1fr}}@media (hover: none) and (pointer: coarse){.player-card:hover{transform:none;box-shadow:0 10px 30px #0003,inset 0 1px #ffffff1a}.player-card:hover:before{transform:translate(-100%)}.player-card:active{transform:scale(.98);background:rgba(255,255,255,.1)}.start-game-button:active,.change-game-btn:active{transform:scale(.97)}.make-host-btn:active,.kick-player-btn:active{transform:scale(.95)}.leave-btn:active{transform:scale(.97)}.copy-code-button:active{transform:scale(.95)}}@media (max-width: 359px){.players-grid{grid-template-columns:1fr;gap:.75rem}.player-card{padding:.75rem;gap:.75rem}.player-avatar{width:40px;height:40px;font-size:1.2rem}.player-card-content{gap:.75rem}.selected-game-card{padding:1rem;gap:1rem;flex-direction:column;text-align:center}.game-icon{font-size:3rem}.game-details h4{font-size:1.2rem}.game-details p{font-size:.85rem}.lobby-header{padding:1rem}.room-code-display{font-size:1.5rem}.start-game-button{padding:1rem 2rem;font-size:1rem}}.achievement-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;background:linear-gradient(135deg,rgba(245,158,11,.2),rgba(234,179,8,.2));border:1px solid rgba(245,158,11,.4);border-radius:15px;color:#fbbf24;font-size:.7rem;font-weight:700;text-shadow:0 0 8px rgba(245,158,11,.4);cursor:default;transition:all .2s ease}.achievement-badge:hover{background:linear-gradient(135deg,rgba(245,158,11,.3),rgba(234,179,8,.3));box-shadow:0 2px 10px #f59e0b4d}.player-avatar.clickable,.player-name.clickable{cursor:pointer;transition:all .2s ease}.player-avatar.clickable:hover{transform:scale(1.05);filter:brightness(1.1)}.player-avatar.clickable:focus{outline:2px solid var(--secondary-color);outline-offset:3px;border-radius:50%}.player-name.clickable:hover{color:var(--secondary-color);text-decoration:underline;text-underline-offset:3px}.player-name.clickable:focus{outline:2px solid var(--secondary-color);outline-offset:2px;border-radius:4px}@media (hover: none) and (pointer: coarse){.player-avatar.clickable:hover{transform:none;filter:none}.player-avatar.clickable:active{transform:scale(.95)}.player-name.clickable:hover{color:inherit;text-decoration:none}.player-name.clickable:active{color:var(--secondary-color)}}.lobby-header-new{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:rgba(20,20,40,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;border:1px solid rgba(255,255,255,.1);margin-bottom:1.5rem;margin-top:50px;position:relative;z-index:10}.leave-button-new{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:rgba(220,53,69,.15);border:1px solid rgba(220,53,69,.4);border-radius:10px;color:#dc3545;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.leave-button-new:hover{background:rgba(220,53,69,.25);border-color:#dc3545;transform:translateY(-2px)}.leave-icon{font-size:1.1rem}.room-code-center{display:flex;align-items:center;gap:.75rem}.room-label{color:var(--text-secondary);font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:1px}.room-code-value{font-family:Orbitron,monospace;font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:.15em;display:flex;align-items:center;gap:.5rem}.toggle-code-btn-inline{background:transparent;border:none;font-size:1rem;cursor:pointer;padding:.25rem;opacity:.7;transition:opacity .2s}.toggle-code-btn-inline:hover{opacity:1}.lobby-status-pill{display:flex;align-items:center;gap:.4rem;padding:.4rem 1rem;background:rgba(76,175,80,.2);border:1px solid rgba(76,175,80,.4);border-radius:20px;color:#4caf50;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}.status-dot{width:8px;height:8px;background:#4caf50;border-radius:50%;animation:statusPulse 2s ease-in-out infinite}@keyframes statusPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}.header-actions-right{display:flex;align-items:center;gap:.75rem}.header-action-btn{display:flex;align-items:center;gap:.4rem;padding:.6rem 1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);border-radius:10px;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease}.header-action-btn:hover{background:rgba(255,255,255,.1);border-color:#ffffff40;color:#fff;transform:translateY(-2px)}.header-action-btn.copied{background:rgba(76,175,80,.12);border-color:#4caf5080;color:#c8f7d0}.header-action-btn.copied:hover{background:rgba(76,175,80,.18);border-color:#4caf5099;color:#e9ffe7}.header-action-btn.profile-btn{padding:.6rem .8rem}.btn-icon{font-size:1rem}.lobby-layout{display:grid;grid-template-columns:1fr 360px;gap:1.5rem;max-width:1400px;margin:0 auto;position:relative;z-index:1}.lobby-main,.lobby-sidebar{display:flex;flex-direction:column;gap:1.5rem}.section-label{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:1rem}.current-game-section{background:rgba(20,20,40,.6);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;border:1px solid rgba(255,255,255,.1);padding:1.5rem}.current-game-card{display:flex;gap:1.5rem;align-items:center}.game-mascot{width:120px;height:120px;flex-shrink:0;border-radius:16px;overflow:hidden;background:transparent;display:flex;align-items:center;justify-content:center}.game-mascot img{width:100%;height:100%;object-fit:cover}.game-icon-fallback{font-size:3rem}.game-icon-fallback img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(0,217,255,.4))}.game-info{flex:1;min-width:0}.game-info-header{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.game-title{font-size:1.4rem;font-weight:700;color:#fff;margin:0}.game-description{font-size:.85rem;color:var(--text-secondary);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.change-game-btn-compact{padding:.35rem .75rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.change-game-btn-compact:hover{background:rgba(255,255,255,.12);border-color:#ffffff40;color:#fff}.game-card-actions{flex-shrink:0;display:flex;align-items:center}.start-game-btn-card{padding:.9rem 1.8rem;font-size:1rem;font-weight:700;border:none;border-radius:12px;background:linear-gradient(135deg,#00e676,#00c853);color:#fff;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 15px #00e67666;white-space:nowrap}.start-game-btn-card:hover:not(:disabled){box-shadow:0 6px 20px #00e67680;transform:translateY(-2px)}.start-game-btn-card:disabled{background:linear-gradient(135deg,#6c757d,#5a6268);box-shadow:0 2px 8px #6c757d4d;cursor:not-allowed}.ready-btn-card{padding:.9rem 1.8rem;font-size:1rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;white-space:nowrap}.ready-btn-card.not-ready{background:linear-gradient(135deg,#4CAF50,#45a049);color:#fff;box-shadow:0 4px 15px #4caf5066}.ready-btn-card.not-ready:hover:not(:disabled){box-shadow:0 6px 20px #4caf5080;transform:translateY(-2px)}.ready-btn-card.ready{background:linear-gradient(135deg,#2196F3,#1976D2);color:#fff;box-shadow:0 4px 15px #2196f366}.ready-btn-card.ready:hover:not(:disabled){box-shadow:0 6px 20px #2196f380;transform:translateY(-2px)}.ready-btn-card:disabled{opacity:.6;cursor:not-allowed}.team-battle-section{background:rgba(20,20,40,.6);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;border:1px solid rgba(255,255,255,.1);padding:1.5rem}.ready-section-new{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;background:rgba(20,20,40,.6);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;border:1px solid rgba(255,255,255,.1)}.ready-button-new{padding:1rem 2.5rem;font-size:1.1rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.ready-button-new.not-ready{background:linear-gradient(135deg,#4CAF50,#45a049);color:#fff;box-shadow:0 4px 15px #4caf5066}.ready-button-new.not-ready:hover{box-shadow:0 6px 20px #4caf5080;transform:translateY(-2px)}.ready-button-new.ready{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff;box-shadow:0 4px 15px #ff6b6b66}.ready-button-new.ready:hover{box-shadow:0 6px 20px #ff6b6b80;transform:translateY(-2px)}.ready-button-new:disabled{opacity:.6;cursor:not-allowed;transform:none}.ready-hint{color:var(--text-secondary);font-size:.85rem;margin:0;text-align:center}.start-game-button-new{width:100%;padding:1.5rem 2rem;font-size:1.5rem;font-weight:700;border:none;border-radius:16px;background:linear-gradient(135deg,#00e676,#00c853);color:#fff;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:2px;box-shadow:0 6px 25px #00e67666}.start-game-button-new:hover:not(:disabled){box-shadow:0 10px 35px #00e67680;transform:translateY(-3px)}.start-game-button-new:disabled{background:linear-gradient(135deg,#6c757d,#5a6268);box-shadow:0 4px 15px #6c757d4d;cursor:not-allowed}.waiting-ready-hint{text-align:center;color:#ff9800;font-size:.85rem;margin:.5rem 0 0}.sidebar-section{background:rgba(20,20,40,.6);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;border:1px solid rgba(255,255,255,.1);overflow:hidden}.sidebar-header{padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.2)}.sidebar-title{font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px}.players-section-new{max-height:350px;display:flex;flex-direction:column}.players-list{display:flex;flex-direction:column;gap:2px;overflow-y:auto;max-height:300px;padding:.5rem}.player-row{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:rgba(255,255,255,.03);border-radius:10px;transition:background .2s ease}.player-row:hover{background:rgba(255,255,255,.06)}.player-row.premium-lifetime{background:linear-gradient(90deg,rgba(255,215,0,.08),rgba(255,255,255,.03));border-left:2px solid rgba(255,215,0,.5)}.player-row.premium-monthly{background:linear-gradient(90deg,rgba(0,217,255,.08),rgba(255,255,255,.03));border-left:2px solid rgba(0,217,255,.5)}.player-row.premium-admin{background:linear-gradient(90deg,rgba(255,50,50,.08),rgba(255,255,255,.03));border-left:2px solid rgba(255,50,50,.5)}.player-row.disconnecting{opacity:.6;background:rgba(255,107,53,.1)}.player-row-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;background:rgba(255,255,255,.1)}.player-row-avatar.clickable{cursor:pointer;transition:transform .2s ease}.player-row-avatar.clickable:hover{transform:scale(1.1)}.avatar-image-small{width:100%;height:100%;object-fit:cover}.player-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.player-row-name{font-size:.9rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-row-name.clickable{cursor:pointer}.player-row-name.clickable:hover{color:var(--secondary-color)}.player-row-badges{display:flex;gap:.4rem;flex-wrap:wrap}.badge-host,.badge-guest,.badge-admin,.badge-premium,.badge-pro{font-size:.6rem;font-weight:700;padding:.15rem .4rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.badge-host{background:linear-gradient(135deg,var(--secondary-color),#00ff88);color:#fff}.badge-guest{background:rgba(108,117,125,.3);color:#adb5bd}.badge-admin{background:linear-gradient(135deg,#ff4444,#ff0000);color:#fff}.badge-premium{background:linear-gradient(135deg,#FFD700,#FFA500);color:#000}.badge-pro{background:linear-gradient(135deg,#00d9ff,#00ff88);color:#fff}.player-row-status{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.status-pill{font-size:.65rem;font-weight:600;padding:.25rem .6rem;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.status-pill.lobby{background:rgba(76,175,80,.2);color:#4caf50;border:1px solid rgba(76,175,80,.3)}.status-pill.ready{background:rgba(76,175,80,.25);color:#4caf50;border:1px solid rgba(76,175,80,.4)}.status-pill.not-ready{background:rgba(255,152,0,.15);color:#ff9800;border:1px solid rgba(255,152,0,.3)}.player-row.player-ready{border-left:3px solid #4caf50}.player-row.player-not-ready{border-left:3px solid transparent}.status-pill.in_game{background:rgba(255,107,53,.2);color:#ff6b35;border:1px solid rgba(255,107,53,.3)}.status-pill.disconnected{background:rgba(102,102,102,.2);color:#999;border:1px solid rgba(102,102,102,.3)}.countdown-small{font-size:.65rem;color:#ff6b35;font-weight:600}.player-row-actions{display:flex;gap:.4rem}.action-btn-small{width:28px;height:28px;border-radius:6px;border:none;background:rgba(255,255,255,.1);color:#fff;font-size:.85rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.action-btn-small:hover{background:rgba(255,255,255,.2);transform:scale(1.1)}.action-btn-small.danger{background:rgba(244,67,54,.2);color:#f44336}.action-btn-small.danger:hover{background:rgba(244,67,54,.3)}.action-btn-small.accept{background:rgba(76,175,80,.2);color:#4caf50}.action-btn-small.accept:hover{background:rgba(76,175,80,.3)}.friend-status-text{font-size:.7rem;color:#ff9800;font-weight:500}.chat-section-new{flex:1;min-height:280px;max-height:400px;display:flex;flex-direction:column}.chat-section-new .chat-window{flex:1;display:flex;flex-direction:column;border:none;border-radius:0;background:transparent;margin-top:0;height:auto}.chat-section-new .chat-header{padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.2)}.chat-section-new .chat-header h3{font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px;margin:0}.chat-section-new .chat-messages{flex:1;min-height:150px}.chat-section-new .chat-input-form{border-top:1px solid rgba(255,255,255,.08)}.adsbox.ad-slot.ad-unit,#ad-container{padding:0;display:flex;justify-content:center;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;border:none}.rewarded-section{padding:0;display:flex;justify-content:center}.player-row.player-joining{animation:playerRowJoin .4s ease-out}@keyframes playerRowJoin{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.player-row.player-reconnecting{animation:playerRowReconnect 1s ease-in-out}@keyframes playerRowReconnect{0%,to{background:rgba(255,255,255,.03)}50%{background:rgba(76,175,80,.15)}}.players-list.all-ready .player-row{animation:rowReadyGlow .8s ease-out}@keyframes rowReadyGlow{0%,to{box-shadow:none}50%{box-shadow:0 0 10px #4caf5066}}@media (max-width: 1024px){.lobby-layout{grid-template-columns:1fr 320px;gap:1rem}}@media (max-width: 768px){.lobby-header-new{flex-direction:column;gap:1rem;padding:1rem}.leave-button-new{width:100%;justify-content:center}.room-code-center,.header-actions-right{flex-wrap:wrap;justify-content:center}.lobby-layout{grid-template-columns:1fr}.lobby-sidebar{order:-1}.players-section-new{max-height:none}.players-list{max-height:200px}.current-game-card{flex-direction:column;align-items:center;text-align:center}.game-info{text-align:center}.game-info-header{flex-direction:column;gap:.5rem}.game-card-actions{width:100%;justify-content:center;margin-top:1rem}.start-game-btn-card{width:100%;max-width:280px}.current-game-section,.team-battle-section,.ready-section-new,.ready-section,.sidebar-section,.lobby-header-new{background:linear-gradient(135deg,#14142a 0%,#1a1a38 100%);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid rgba(255,255,255,.15)}.current-game-section{border-color:#00d9ff33}}@media (max-width: 480px){.room-lobby{padding:1rem}.room-code-value{font-size:1.2rem}.header-action-btn{padding:.5rem .75rem;font-size:.8rem}.game-mascot{width:100px;height:100px}.game-title{font-size:1.25rem}.player-row{padding:.6rem;gap:.5rem}.player-row-avatar{width:32px;height:32px}.player-row-name{font-size:.85rem}.status-pill{font-size:.6rem;padding:.2rem .4rem}}.recent-achievements-section{padding:5rem 0;background:rgba(255,255,255,.02);position:relative}.recent-achievements-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.recent-achievements-section .section-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:2rem}.achievement-summary{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.1rem;color:var(--text-secondary);margin-top:1rem}.achievement-summary .trophy-icon{font-size:1.3rem}.achievement-summary .points-highlight{color:#fbbf24;font-weight:700;font-size:1.25rem}.achievement-summary .separator{color:#ffffff4d;margin:0 .5rem}.achievement-summary .unlocked-count{color:var(--secondary-color);font-weight:600}.recent-label{text-align:center;font-size:.85rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-secondary);margin-bottom:1.5rem}.recent-achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;max-width:1200px;margin:0 auto 2rem}.recent-achievement-card{display:flex!important;align-items:flex-start;gap:1rem;padding:1.25rem;background:rgba(255,255,255,.05);border-radius:16px;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.recent-achievement-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--secondary-color),var(--primary-color));opacity:0;transition:opacity .3s ease}.recent-achievement-card:hover:before{opacity:1}.recent-achievement-card:hover{background:rgba(255,255,255,.08);border-color:#fff3;box-shadow:0 8px 30px #0000004d}.recent-achievement-card.rarity-legendary{border-color:#f59e0b4d;background:linear-gradient(135deg,rgba(245,158,11,.08),rgba(234,179,8,.05))}.recent-achievement-card.rarity-legendary:hover{border-color:#f59e0b80;box-shadow:0 8px 30px #f59e0b33}.recent-achievement-card.rarity-legendary:before{background:linear-gradient(90deg,#F59E0B,#EAB308)}.recent-achievement-card.rarity-epic{border-color:#8b5cf64d;background:linear-gradient(135deg,rgba(139,92,246,.08),rgba(124,58,237,.05))}.recent-achievement-card.rarity-epic:hover{border-color:#8b5cf680;box-shadow:0 8px 30px #8b5cf633}.recent-achievement-card.rarity-epic:before{background:linear-gradient(90deg,#8B5CF6,#7C3AED)}.recent-achievement-card.rarity-rare{border-color:#3b82f64d;background:linear-gradient(135deg,rgba(59,130,246,.08),rgba(37,99,235,.05))}.recent-achievement-card.rarity-rare:hover{border-color:#3b82f680;box-shadow:0 8px 30px #3b82f633}.recent-achievement-card.rarity-rare:before{background:linear-gradient(90deg,#3B82F6,#2563EB)}.achievement-icon-wrapper{position:relative;width:56px;height:56px;flex-shrink:0;border-radius:12px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.15)}.achievement-icon-img{width:36px;height:36px;object-fit:contain}.achievement-icon-emoji{font-size:28px}.unlocked-check{position:absolute;bottom:-4px;right:-4px;width:20px;height:20px;background:linear-gradient(135deg,#4ade80,#22c55e);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;box-shadow:0 2px 8px #4ade8066}.achievement-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem;overflow:hidden;padding-right:80px}.achievement-name{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.achievement-description{font-size:.8rem;color:var(--text-secondary);margin:0 0 .5rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.achievement-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.rarity-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;padding:.2rem .5rem;border-radius:6px;font-weight:600}.rarity-badge.common{background:rgba(156,163,175,.2);color:#9ca3af}.rarity-badge.rare{background:rgba(59,130,246,.2);color:#60a5fa}.rarity-badge.epic{background:rgba(139,92,246,.2);color:#a78bfa}.rarity-badge.legendary{background:rgba(245,158,11,.2);color:#fbbf24}.earned-date{font-size:.75rem;color:#fff6}.achievement-points{position:absolute;top:1.25rem;right:1.25rem;display:flex;flex-direction:column;align-items:center;padding:.5rem .75rem;background:rgba(74,222,128,.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:10px;border:1px solid rgba(74,222,128,.3);min-width:70px;z-index:10}.achievement-points .points-value{font-size:1.1rem;font-weight:800;color:#4ade80}.achievement-points .points-label{font-size:.65rem;color:#4ade80b3;text-transform:uppercase;letter-spacing:.5px}.no-achievements-prompt{text-align:center;padding:3rem 2rem;background:rgba(255,255,255,.03);border-radius:16px;border:1px dashed rgba(255,255,255,.1);max-width:400px;margin:0 auto 2rem}.no-achievements-prompt .prompt-icon{font-size:3rem;display:block;margin-bottom:1rem;opacity:.7}.no-achievements-prompt p{color:var(--text-secondary);font-size:1.1rem;margin:0}.view-all-button{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:0 auto;padding:1rem 2.5rem;background:linear-gradient(135deg,rgba(245,158,11,.15),rgba(234,179,8,.1));border:1px solid rgba(245,158,11,.4);border-radius:12px;color:#fbbf24;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.view-all-button:hover{background:linear-gradient(135deg,rgba(245,158,11,.25),rgba(234,179,8,.2));border-color:#f59e0b99;box-shadow:0 8px 25px #f59e0b33}.view-all-button .arrow{font-size:1.2rem;transition:transform .3s ease}.view-all-button:hover .arrow{transform:translate(5px)}@media (max-width: 768px){.recent-achievements-section{padding:3rem 0}.recent-achievements-grid{grid-template-columns:1fr;padding:0 1rem}.recent-achievement-card{padding:1rem}.achievement-summary{flex-wrap:wrap;gap:.3rem}.achievement-icon-wrapper{width:48px;height:48px}.achievement-icon-emoji{font-size:24px}.achievement-name{font-size:.95rem}}@media (max-width: 480px){.recent-achievement-card{display:flex!important;flex-wrap:wrap}.achievement-info{flex:1 1 calc(100% - 70px);padding-right:0}.achievement-points{position:static;margin-left:auto;margin-top:.5rem}.view-all-button{width:100%;max-width:280px}}@media (prefers-reduced-motion: reduce){.recent-achievement-card,.view-all-button .arrow{transition:none}}.homepage{position:relative;min-height:100vh;overflow-x:hidden}.background-animation{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background:radial-gradient(circle at 25% 20%,rgba(49,224,255,.05) 0%,transparent 35%),radial-gradient(circle at 75% 80%,rgba(233,69,96,.06) 0%,transparent 40%),linear-gradient(135deg,var(--color-bg-1) 0%,var(--color-bg-2) 100%)}.floating-elements{position:relative;width:100%;height:100%}.floating-element{position:absolute;border-radius:50%;pointer-events:none;animation:floatAnimation 20s infinite ease-in-out}.floating-element:nth-child(odd){background:radial-gradient(circle,rgba(233,69,96,.12) 0%,transparent 70%)}.floating-element:nth-child(2n){background:radial-gradient(circle,rgba(0,217,255,.12) 0%,transparent 70%)}.element-1{width:260px;height:260px;top:12%;left:10%;animation-delay:0s}.element-2{width:200px;height:200px;top:22%;right:15%;animation-delay:2s}.element-3{width:140px;height:140px;bottom:30%;left:22%;animation-delay:4s}.element-4{width:220px;height:220px;bottom:18%;right:12%;animation-delay:6s}.element-5{width:120px;height:120px;top:52%;left:52%;animation-delay:8s}.element-6{width:180px;height:180px;top:64%;right:28%;animation-delay:10s}.element-7{width:140px;height:140px;bottom:55%;left:60%;animation-delay:12s}.element-8{width:190px;height:190px;top:32%;left:68%;animation-delay:14s}@keyframes floatAnimation{0%,to{transform:translateY(0) translate(0) rotate(0);opacity:.3}25%{transform:translateY(-30px) translate(20px) rotate(90deg);opacity:.6}50%{transform:translateY(20px) translate(-15px) rotate(180deg);opacity:.4}75%{transform:translateY(-10px) translate(25px) rotate(270deg);opacity:.7}}@media (max-width: 768px){.floating-elements{display:none}}@media (prefers-reduced-motion: reduce){.floating-element{display:none}}.hero{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center;position:relative;padding:4rem 20px 3rem;padding-top:calc(var(--total-top-offset, 136px) + 2rem + var(--safe-area-top, 0px));background:radial-gradient(ellipse at 20% 15%,rgba(233,69,96,.12) 0%,transparent 55%),radial-gradient(ellipse at 80% 85%,rgba(0,217,255,.12) 0%,transparent 55%);margin-top:0}.hero-content{text-align:center;max-width:900px;z-index:10}.hero-badge{display:inline-flex;align-items:center;padding:.75rem 1.5rem;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:50px;margin-bottom:2rem;font-size:.9rem;font-weight:600;color:var(--text-primary);box-shadow:0 8px 32px #0000004d}@supports not (backdrop-filter: blur(20px)){.hero-badge{background:rgba(15,15,35,.8);border:1px solid rgba(255,255,255,.2)}}.badge-text{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-logo{margin-bottom:1.5rem;display:flex;justify-content:center;padding:0 1rem}.hero-logo-image{max-width:900px;width:100%;height:auto;filter:drop-shadow(0 10px 40px rgba(0,0,0,.4))}@media (max-width: 767px){.hero-logo{margin-bottom:1rem;padding:0 .5rem}.hero-logo-image{max-width:100%}}@media (max-width: 479px){.hero-logo{margin-bottom:.75rem;padding:0}.hero-logo-image{max-width:280px}}.hero-subtitle{font-size:clamp(1.1rem,3vw,1.4rem);color:var(--text-secondary);margin-bottom:2.25rem;font-weight:300;line-height:1.6;max-width:600px;margin-left:auto;margin-right:auto}.subtitle-highlight{display:block;font-weight:600;background:linear-gradient(135deg,var(--secondary-color),#00ff88);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-top:.5rem}.hero-buttons{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem}.hero .cta-button.primary{background:var(--gradient-primary);color:#fff;border:1px solid rgba(233,69,96,.4);box-shadow:0 20px 50px #e9456059,0 0 28px #e9456047}.hero .cta-button.secondary{background:rgba(0,217,255,.1);border:1px solid rgba(0,217,255,.3);color:var(--secondary-color);box-shadow:0 16px 42px #00000052}.hero .cta-button:hover{box-shadow:0 26px 60px #0006}.hero-preview{width:100%;max-width:760px;margin:0 auto;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,black 15%,black 85%,transparent);mask-image:linear-gradient(to right,transparent,black 15%,black 85%,transparent)}.preview-track{display:flex;flex-wrap:nowrap;gap:1rem;will-change:transform;width:max-content}.preview-card{min-width:220px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:.7rem;display:flex;align-items:center;gap:.75rem;box-shadow:0 10px 24px #00000040}.preview-thumb{width:60px;height:60px;border-radius:12px;background:rgba(255,255,255,.08);display:grid;place-items:center;overflow:hidden}.preview-thumb img{width:100%;height:100%;object-fit:cover}.preview-icon{font-size:1.6rem;color:var(--secondary-color)}.preview-info{display:flex;flex-direction:column;gap:.15rem}.preview-name{color:var(--text-primary);font-weight:700}@keyframes previewMarquee{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}.cta-button{text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-sm)}.cta-button .button-text{font-family:var(--font-body)}.cta-button .button-icon{font-size:1.2em;transition:transform .25s ease,filter .25s ease}.cta-button .button-icon img{width:24px;height:24px;object-fit:contain}.cta-button:hover .button-icon{transform:translateY(-1px)}.cta-button.large{min-width:260px}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-family:Orbitron,sans-serif;font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;margin-bottom:2rem;text-align:center;display:block;width:100%;background:linear-gradient(135deg,var(--text-primary) 0%,var(--secondary-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;padding-bottom:1rem}.section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:300px;height:4px;background:linear-gradient(90deg,var(--secondary-color) 0%,var(--primary-color) 100%);border-radius:2px}.section-subtitle{font-size:1.2rem;color:var(--text-secondary);max-width:600px;margin:0 auto;font-weight:300}.home-ad-section{padding:2rem 0;display:flex;justify-content:center;background:rgba(0,0,0,.1)}.home-ad-section:not(:has(.ad-placeholder)),.home-ad-section:has(.ad-container:empty){display:none}.games-section{padding:6rem 0;background:rgba(255,255,255,.01)}.games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:2rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.loading-spinner{width:60px;height:60px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--secondary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-text{color:var(--text-secondary);font-size:1.1rem;font-weight:500}@keyframes spin{to{transform:rotate(360deg)}}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:2rem;text-align:center;background:rgba(233,69,96,.1);border:1px solid rgba(233,69,96,.3);border-radius:12px;margin:2rem auto;max-width:400px}.error-message{color:var(--accent-color);font-size:1.1rem;margin-bottom:1.5rem}.retry-button{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;min-height:44px}.retry-button:hover{transform:translateY(-2px);box-shadow:0 4px 20px #e9456066}.retry-button:active{transform:translateY(0)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:2rem;text-align:center;color:var(--text-secondary);font-size:1.1rem}.cta-section{padding:6rem 0;background:radial-gradient(ellipse at center,rgba(233,69,96,.1) 0%,transparent 50%),radial-gradient(ellipse at center,rgba(0,217,255,.1) 0%,transparent 50%);position:relative}.cta-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.cta-content{text-align:center;max-width:600px;margin:0 auto}.cta-title{font-family:Orbitron,sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--text-primary);margin-bottom:1rem}.cta-subtitle{font-size:1.2rem;color:var(--text-secondary);margin-bottom:2.5rem;font-weight:300}.footer{background:linear-gradient(135deg,rgba(10,10,15,.95) 0%,rgba(26,26,46,.95) 100%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.05);padding:3rem 0 1.5rem}@supports not (backdrop-filter: blur(20px)){.footer{background:linear-gradient(135deg,rgba(10,10,15,.98) 0%,rgba(26,26,46,.98) 100%)}}.footer-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:2rem}.footer-brand{flex:1}.footer-title{font-family:Orbitron,sans-serif;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.footer-tagline{color:var(--text-secondary);font-size:.9rem;font-weight:300}.footer-stats{flex:1;text-align:right}.footer-stat{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem}.stat-icon{font-size:1.1rem}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.05)}.footer-bottom p{color:var(--text-secondary);font-size:.85rem;opacity:.7}@media (max-width: 768px){.hero{min-height:auto;padding:calc(var(--total-top-offset, 126px) + 1.5rem) 16px 2.5rem}.hero-content{max-width:100%;padding:0 1rem}.hero-buttons{flex-direction:column;align-items:center;gap:1rem}.cta-button{width:100%;max-width:300px;padding:1.2rem 2rem;font-size:1rem;min-height:54px}.games-grid{grid-template-columns:1fr;gap:1.5rem}.footer-content{flex-direction:column;text-align:center}.footer-stats{text-align:center}.games-section,.cta-section{padding:4rem 0}.section-title{font-size:clamp(2rem,6vw,2.5rem)}}@media (max-width: 480px){.hero{padding:calc(var(--total-top-offset, 130px) + 1rem) 14px 2rem}.hero-badge{padding:.5rem 1rem;font-size:.8rem;margin-bottom:1.5rem}.hero-title{font-size:clamp(2.5rem,10vw,4rem);margin-bottom:1rem}.hero-subtitle{margin-bottom:2rem;font-size:clamp(1rem,4vw,1.2rem);padding:0 .5rem}.cta-button{padding:1rem 2rem;font-size:1rem;max-width:280px;min-height:50px}.hero-preview{max-width:100%;-webkit-mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent)}.container{padding:0 15px}.games-section,.cta-section{padding:3rem 0}.section-header{margin-bottom:2.5rem}.footer{padding:2rem 0 1rem}}@media (max-width: 768px) and (orientation: landscape){.hero{min-height:90vh;padding:calc(var(--total-top-offset, 126px) + 1rem) 18px 1.5rem}.hero-title{font-size:clamp(2rem,6vw,3.5rem)}.hero-subtitle{font-size:clamp(.9rem,2.5vw,1.1rem);margin-bottom:2rem}.hero-buttons{flex-direction:row;justify-content:center;gap:1rem}.cta-button{max-width:200px;padding:.8rem 1.5rem;font-size:.9rem}}@media (min-width: 1400px){.container{max-width:1400px}.hero-title{font-size:clamp(4rem,8vw,7rem)}.games-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}}@media (max-width: 359px){.hero{padding:calc(var(--total-top-offset, 127px) + .5rem) 12px 2rem}.hero-title{font-size:2rem}.hero-subtitle{font-size:.9rem}.cta-button{padding:.8rem 1.2rem;font-size:.85rem}.section-title{font-size:1.5rem}.games-grid{gap:1rem}}@media (prefers-contrast: high){.hero-badge{border:2px solid var(--text-primary)}.cta-button{border:2px solid currentColor}}@media (prefers-reduced-motion: reduce){.floating-element,.brand-dot{animation:none}.loading-spinner{animation:none;border-top-color:var(--secondary-color)}}.legal-page{display:flex;min-height:100vh;background:var(--primary-bg, #0f0f1e);color:var(--text-primary, #ffffff)}.legal-sidebar{position:sticky;top:20px;width:250px;height:fit-content;padding:20px;background:var(--secondary-bg, #1a1a2e);border-radius:10px;margin:20px;box-shadow:0 4px 20px #0000004d}.legal-nav h3{margin:0 0 15px;font-size:18px;color:var(--primary-color, #e94560)}.legal-nav ul{list-style:none;padding:0;margin:0}.legal-nav li{margin-bottom:10px}.legal-nav a{display:block;padding:10px 15px;color:var(--text-secondary, #a8a8a8);text-decoration:none;border-radius:5px;transition:all .3s ease}.legal-nav a:hover{background:var(--card-bg, #16213e);color:var(--primary-color, #e94560);transform:translate(5px)}.legal-content{flex:1;max-width:900px;padding:40px;margin:20px 20px 20px 0;background:var(--secondary-bg, #1a1a2e);border-radius:10px;box-shadow:0 4px 20px #0000004d}.legal-section{margin-bottom:60px;scroll-margin-top:20px}.legal-section h1{font-size:32px;margin:0 0 10px;color:var(--primary-color, #e94560);border-bottom:2px solid var(--primary-color, #e94560);padding-bottom:10px}.legal-subtitle{font-size:14px;color:var(--text-secondary, #a8a8a8);margin-bottom:30px;font-style:italic}.effective-date{background:var(--card-bg, #16213e);padding:10px 15px;border-radius:5px;border-left:3px solid var(--secondary-color, #00d9ff);margin-bottom:30px;font-size:14px}.legal-section h2{font-size:24px;margin:30px 0 15px;color:var(--secondary-color, #00d9ff)}.legal-section h3{font-size:18px;margin:20px 0 10px;color:var(--accent-color, #ff6b6b)}.legal-section p{line-height:1.8;margin:15px 0;color:var(--text-primary, #ffffff)}.legal-section ul,.legal-section ol{line-height:1.8;margin:15px 0;padding-left:30px}.legal-section li{margin:8px 0}.legal-section a{color:var(--secondary-color, #00d9ff);text-decoration:none;border-bottom:1px dashed var(--secondary-color, #00d9ff);transition:all .3s ease}.legal-section a:hover{color:var(--primary-color, #e94560);border-bottom-color:var(--primary-color, #e94560)}.legal-section strong{color:var(--primary-color, #e94560);font-weight:600}.legal-section em{color:var(--text-secondary, #a8a8a8);font-style:italic}.legal-divider{margin:60px 0;border:none;border-top:2px solid var(--card-bg, #16213e)}.legal-table{width:100%;border-collapse:collapse;margin:20px 0;background:var(--card-bg, #16213e);border-radius:8px;overflow:hidden}.legal-table thead{background:var(--primary-color, #e94560)}.legal-table th{padding:15px;text-align:left;font-weight:600;color:#fff}.legal-table td{padding:12px 15px;border-bottom:1px solid rgba(255,255,255,.05)}.legal-table tbody tr:last-child td{border-bottom:none}.legal-table tbody tr:hover{background:rgba(233,69,96,.1)}.back-to-top{display:block;margin:40px auto 0;padding:12px 30px;background:var(--primary-color, #e94560);color:#fff;border:none;border-radius:25px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #e9456066}.back-to-top:hover{background:var(--accent-color, #ff6b6b);transform:translateY(-2px);box-shadow:0 6px 20px #e9456099}@media (max-width: 768px){.legal-page{flex-direction:column}.legal-sidebar{position:static;width:auto;margin:10px}.legal-nav{display:flex;flex-direction:column}.legal-nav h3{display:none}.legal-nav ul{display:flex;gap:10px;overflow-x:auto;white-space:nowrap}.legal-nav li{margin:0}.legal-nav a{padding:8px 15px;font-size:14px}.legal-nav a:hover{transform:none}.legal-content{margin:10px;padding:20px}.legal-section h1{font-size:24px}.legal-section h2{font-size:20px}.legal-section h3{font-size:16px}.legal-table{font-size:14px}.legal-table th,.legal-table td{padding:10px}}@media print{.legal-sidebar,.back-to-top{display:none}.legal-content{max-width:100%;box-shadow:none;background:white;color:#000}.legal-section a{color:#00f;text-decoration:underline}}.auth-callback-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px}.auth-callback-container{background:rgba(255,255,255,.95);border-radius:20px;padding:60px 40px;max-width:450px;width:100%;box-shadow:0 20px 60px #0000004d;text-align:center}.auth-callback-container h2{margin:20px 0 10px;color:#333;font-size:1.8rem}.auth-callback-container p{color:#666;margin:0;font-size:1rem}.spinner{width:60px;height:60px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;margin:0 auto;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-icon{width:80px;height:80px;border-radius:50%;background:#4caf50;color:#fff;font-size:3rem;display:flex;align-items:center;justify-content:center;margin:0 auto;animation:scaleIn .3s ease-out}.error-icon{width:80px;height:80px;border-radius:50%;background:#f44336;color:#fff;font-size:3rem;display:flex;align-items:center;justify-content:center;margin:0 auto;animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 600px){.auth-callback-container{padding:40px 20px}.auth-callback-container h2{font-size:1.5rem}}.password-reset-page{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:flex-start;justify-content:center;background:linear-gradient(135deg,#0a0a0f 0%,#1a1a2e 50%,#16213e 100%);padding:calc(var(--total-top-offset, 136px) + 20px) 20px 40px 20px;overflow-y:auto;box-sizing:border-box}.password-reset-page:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 50%,rgba(233,69,96,.15) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(0,217,255,.15) 0%,transparent 50%);pointer-events:none;z-index:0;animation:backgroundPulse 15s ease-in-out infinite}@keyframes backgroundPulse{0%,to{opacity:.4}50%{opacity:.7}}.password-reset-container{position:relative;z-index:1;background:rgba(22,33,62,.8);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:40px;max-width:450px;width:100%;box-shadow:0 20px 60px #00000080,0 0 40px #00d9ff1a;animation:slideIn .4s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.password-reset-header{text-align:center;margin-bottom:30px}.password-reset-header h1{font-size:2.2rem;margin:0 0 10px;color:var(--text-primary);font-weight:700;background:linear-gradient(135deg,#00d9ff 0%,#e94560 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.password-reset-subtitle{color:var(--text-secondary);font-size:1.1rem;margin:0;font-weight:600}.reset-instructions{color:var(--text-secondary);text-align:center;margin-bottom:24px;font-size:.95rem;line-height:1.5}.reset-error{background:rgba(233,69,96,.15);border:1px solid rgba(233,69,96,.4);color:#ff6b6b;padding:12px;border-radius:8px;margin-bottom:20px;text-align:center;font-size:.9rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.reset-success{background:rgba(0,217,255,.15);border:1px solid rgba(0,217,255,.4);color:#00d9ff;padding:12px;border-radius:8px;margin-bottom:20px;text-align:center;font-size:.9rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.reset-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:var(--text-primary);font-size:.9rem}.form-group input{padding:12px 16px;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease;background:rgba(255,255,255,.05);color:var(--text-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-group input:focus{outline:none;border-color:#00d9ff;box-shadow:0 0 0 3px #00d9ff1a,0 0 20px #00d9ff33;background:rgba(255,255,255,.08)}.form-group input:disabled{background:rgba(255,255,255,.02);cursor:not-allowed;opacity:.5}.form-group input::placeholder{color:var(--text-secondary)}.reset-button{padding:14px 20px;border:1px solid rgba(255,255,255,.2);border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;font-family:inherit;background:linear-gradient(135deg,#e94560 0%,#00d9ff 100%);color:#fff;margin-top:8px;box-shadow:0 0 20px #e945604d;position:relative;overflow:hidden}.reset-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.reset-button:hover:not(:disabled):before{left:100%}.reset-button:hover:not(:disabled){background:linear-gradient(135deg,#ff5770 0%,#1ae5ff 100%);transform:translateY(-2px);box-shadow:0 0 30px #e9456080}.reset-button:active:not(:disabled){transform:translateY(0)}.reset-button:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none}.reset-footer{margin-top:30px;text-align:center}.back-link{background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);color:#00d9ff;font-size:.95rem;font-weight:600;cursor:pointer;padding:8px 16px;border-radius:8px;transition:all .3s ease;font-family:inherit}.back-link:hover{background:rgba(255,255,255,.1);color:#1ae5ff;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}@media (max-width: 600px){.password-reset-container{padding:30px 20px}.password-reset-header h1{font-size:1.6rem}.reset-button{padding:12px 16px;font-size:.95rem}.form-group input{padding:10px 14px;background:rgba(15,15,35,.95);border:1px solid rgba(0,217,255,.4);color:#fff!important;-webkit-text-fill-color:#ffffff!important;text-shadow:0 0 2px rgba(0,0,0,.8);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group input:focus{background:rgba(15,15,35,.98);border-color:#00d9ff;color:#fff!important;-webkit-text-fill-color:#ffffff!important}.form-group input::placeholder{color:#ffffffb3!important;-webkit-text-fill-color:rgba(255,255,255,.7)!important;opacity:1}.form-group input::-webkit-input-placeholder{color:#ffffffb3!important;-webkit-text-fill-color:rgba(255,255,255,.7)!important}.form-group input::-moz-placeholder{color:#ffffffb3!important;opacity:1}.form-group input:-ms-input-placeholder{color:#ffffffb3!important}}.payment-result-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0a0f 0%,#1a1a2e 50%,#16213e 100%);padding:calc(var(--total-top-offset, 136px) + 20px) 20px 60px}.result-container{max-width:600px;width:100%;background:rgba(22,33,62,.8);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid rgba(255,255,255,.1);border-radius:20px;padding:3rem 2rem;text-align:center;box-shadow:0 20px 60px #00000080}.payment-result-page.success .result-container{border-color:#28a74580;box-shadow:0 20px 60px #28a74533}.payment-result-page.cancel .result-container{border-color:#e9456080;box-shadow:0 20px 60px #e9456033}.result-icon{font-size:5rem;margin-bottom:1.5rem;animation:iconPop .5s ease-out}@keyframes iconPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.success-icon{filter:drop-shadow(0 0 20px rgba(40,167,69,.5))}.cancel-icon{filter:drop-shadow(0 0 20px rgba(233,69,96,.5))}.result-container h1{font-size:2.5rem;margin-bottom:1rem;background:linear-gradient(135deg,#00d9ff 0%,#e94560 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.result-message{font-size:1.2rem;color:var(--text-secondary);margin-bottom:2rem;line-height:1.6}.result-details{background:rgba(0,0,0,.3);border-radius:15px;padding:1.5rem;margin:2rem 0;text-align:left}.result-details h3{color:var(--text-primary);margin-bottom:1rem;text-align:center}.result-details p{color:var(--text-secondary);margin-bottom:1rem}.result-details ul{list-style:none;padding:0;margin:1rem 0 0}.result-details ul li{padding:.5rem 0;color:var(--text-primary);font-size:1.05rem}.result-actions{display:flex;gap:1rem;justify-content:center;margin:2rem 0}.primary-button,.secondary-button{padding:1rem 2rem;border-radius:10px;font-weight:600;font-size:1rem;border:none;cursor:pointer;transition:all .3s ease}.primary-button{background:linear-gradient(135deg,#e94560,#c91f3a);color:#fff;box-shadow:0 4px 15px #e945604d}.primary-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e9456080}.secondary-button{background:rgba(255,255,255,.1);color:var(--text-primary);border:1px solid rgba(255,255,255,.2)}.secondary-button:hover{background:rgba(255,255,255,.15);border-color:#ffffff4d;transform:translateY(-2px)}.redirect-notice{margin-top:2rem;color:var(--text-secondary);font-size:.9rem;font-style:italic}.cancel-redirect-btn{background:none;border:none;color:var(--secondary-color);text-decoration:underline;cursor:pointer;font-size:.9rem;padding:0;font-style:normal;transition:color .2s}.cancel-redirect-btn:hover{color:var(--primary-color)}@media (max-width: 767px){.payment-result-page{padding:calc(var(--total-top-offset, 126px) + 15px) 15px 50px}.result-container{padding:2.5rem 1.5rem;border-radius:16px}.result-container h1{font-size:2.2rem}.result-message{font-size:1.1rem}.result-icon{font-size:4.5rem}}@media (max-width: 479px){.payment-result-page{padding:calc(var(--total-top-offset, 130px) + 10px) 12px 40px}.result-container{padding:1.75rem 1.25rem;border-radius:12px}.result-container h1{font-size:1.75rem;margin-bottom:.75rem}.result-message{font-size:1rem;margin-bottom:1.5rem}.result-icon{font-size:3.5rem;margin-bottom:1rem}.result-details{padding:1rem;margin:1.5rem 0;border-radius:10px}.result-details ul li{font-size:.95rem}.result-actions{flex-direction:column;gap:.75rem;margin:1.5rem 0}.primary-button,.secondary-button{width:100%;padding:.875rem 1.5rem;font-size:.95rem}.redirect-notice{margin-top:1.5rem;font-size:.85rem}}.friend-list-toggle{position:fixed;bottom:20px;right:20px;background:linear-gradient(135deg,var(--secondary-color) 0%,#00a8ff 100%);color:var(--primary-bg);width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 20px #00d9ff66;z-index:1000;font-size:28px;transition:all .3s cubic-bezier(.175,.885,.32,1.275);border:2px solid rgba(255,255,255,.2)}.friend-list-toggle:hover{transform:scale(1.1) rotate(5deg);box-shadow:0 0 30px #00d9ff99}@media (hover: none) and (pointer: coarse){.friend-list-toggle:hover{transform:none;box-shadow:0 0 20px #00d9ff66}.friend-list-toggle:active{transform:scale(.95);box-shadow:0 0 25px #00d9ff80}}.friend-list-toggle .badge{position:absolute;top:-5px;right:-5px;background:var(--primary-color);color:#fff;border-radius:50%;width:24px;height:24px;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--primary-bg);box-shadow:0 2px 5px #0000004d}.friend-list-toggle .badge.pending{background:#f39c12;right:auto;left:-5px}.friend-list-container{position:fixed;bottom:90px;right:20px;width:min(320px,calc(100vw - 40px));height:min(500px,calc(100vh - 120px));background:var(--card-bg);border-radius:16px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;z-index:1000;overflow:hidden;font-family:Inter,sans-serif;border:1px solid rgba(255,255,255,.1);animation:slideUp .3s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.friend-list-header{background:rgba(0,0,0,.2);color:var(--text-primary);padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.05)}.friend-list-header h3{margin:0;font-size:18px;font-weight:600;background:linear-gradient(90deg,var(--text-primary),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.close-btn{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:0;line-height:1;transition:color .2s}.close-btn:hover{color:var(--primary-color)}.friend-tabs{display:flex;background:rgba(0,0,0,.1);padding:5px}.friend-tabs button{flex:1;padding:8px 5px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:500;border-radius:6px;transition:all .2s}.friend-tabs button:hover{color:var(--text-primary);background:rgba(255,255,255,.05)}.friend-tabs button.active{background:var(--secondary-color);color:var(--primary-bg);font-weight:700;box-shadow:0 2px 5px #0003}.friend-list-content{flex:1;overflow-y:auto;padding:10px}.friend-list-content::-webkit-scrollbar{width:6px}.friend-list-content::-webkit-scrollbar-track{background:transparent}.friend-list-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:3px}.friend-item{display:flex;align-items:center;padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.05);transition:background .2s;border-radius:8px}.friend-item:hover{background:rgba(255,255,255,.05)}.avatar-wrapper{position:relative;margin-right:12px}.avatar-wrapper img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.1)}.status-dot{position:absolute;bottom:2px;right:2px;width:10px;height:10px;border-radius:50%;border:2px solid var(--card-bg)}.status-dot.online{background:#2ecc71;box-shadow:0 0 8px #2ecc71}.status-dot.offline{background:#7f8c8d}.info{flex:1;display:flex;flex-direction:column}.info .username{font-weight:600;font-size:14px;color:var(--text-primary)}.info .level{font-size:11px;color:var(--secondary-color);font-weight:500}.actions button{padding:6px 12px;font-size:11px;font-weight:600;border:none;border-radius:20px;cursor:pointer;margin-left:5px;transition:transform .2s,box-shadow .2s}.actions button:active{transform:scale(.95)}.invite-btn{background:var(--secondary-color);color:var(--primary-bg);box-shadow:0 2px 8px #00d9ff4d}.invite-btn:hover{box-shadow:0 0 12px #00d9ff80}.accept-btn{background:#2ecc71;color:#fff}.reject-btn{background:rgba(255,255,255,.1);color:var(--text-secondary)}.reject-btn:hover{background:#e74c3c;color:#fff}.pending-item{display:flex;justify-content:space-between;align-items:center;padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.05);background:rgba(0,0,0,.1);border-radius:8px;margin-bottom:5px}.pending-item .type{font-size:11px;color:var(--text-secondary);display:block;margin-top:2px}.add-friend-section{padding:10px}.add-friend-section input{width:100%;padding:12px;margin-bottom:12px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px}.add-friend-section input:focus{outline:none;border-color:var(--secondary-color);box-shadow:0 0 10px #00d9ff1a}.add-friend-section button{width:100%;padding:12px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:opacity .2s}.add-friend-section button:hover{opacity:.9}.message{font-size:12px;margin-top:12px;padding:8px;border-radius:6px;text-align:center}.message.success{background:rgba(46,204,113,.1);color:#2ecc71;border:1px solid rgba(46,204,113,.2)}.message.error{background:rgba(231,76,60,.1);color:#e74c3c;border:1px solid rgba(231,76,60,.2)}.friend-search{width:100%;padding:10px;margin-bottom:10px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff}.friend-search:focus{outline:none;border-color:var(--secondary-color)}.empty{text-align:center;color:var(--text-secondary);font-size:13px;margin-top:40px;font-style:italic}@media (max-width: 767px){.friend-list-toggle{bottom:15px;right:15px;width:55px;height:55px;font-size:24px}.friend-list-container{bottom:80px;right:15px;width:300px;height:450px}}@media (max-width: 479px){.friend-list-toggle{display:none}.friend-list-container{position:fixed;bottom:calc(var(--mobile-nav-height, 64px) + var(--safe-area-bottom, 0px));left:0;right:0;top:auto;width:100%;height:auto;max-height:calc(75vh - var(--mobile-nav-height, 64px));border-radius:20px 20px 0 0;animation:slideUpMobile .3s cubic-bezier(.16,1,.3,1)}@keyframes slideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.friend-list-header:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:4px;background:rgba(255,255,255,.3);border-radius:2px}.friend-list-header{position:relative;padding-top:20px}.friend-tabs button{font-size:11px;padding:10px 5px}.friend-item{padding:10px 8px}.avatar-wrapper img{width:36px;height:36px}.info .username{font-size:13px}.actions button{padding:5px 10px;font-size:10px}.add-friend-section input,.add-friend-section button{padding:10px;font-size:16px;min-height:var(--touch-target-min, 44px)}}@media (max-width: 359px){.friend-list-toggle{bottom:12px;right:12px;width:50px;height:50px;font-size:22px}.friend-list-container{bottom:calc(var(--mobile-nav-height, 64px) + var(--safe-area-bottom, 0px));max-height:calc(70vh - var(--mobile-nav-height, 64px))}.friend-list-header h3{font-size:16px}.friend-tabs button{font-size:10px;padding:8px 4px}.friend-item{padding:8px 6px}.avatar-wrapper img{width:32px;height:32px}.avatar-wrapper{margin-right:8px}.info .username{font-size:12px}.info .level{font-size:10px}.actions button{padding:4px 8px;font-size:9px;margin-left:3px}.add-friend-section input,.add-friend-section button{padding:8px;font-size:12px}}@media (max-width: 767px) and (orientation: landscape){.friend-list-toggle{bottom:15px;right:15px}.friend-list-container{bottom:75px;right:15px;width:280px;height:min(380px,calc(100vh - 100px));max-height:none}.friend-list-header{padding:12px 16px}.friend-list-header:before{display:none}.friend-list-content,.friend-item{padding:8px}.friend-tabs button{padding:6px 4px;font-size:11px}}@media (max-height: 500px) and (orientation: landscape){.friend-list-container{height:min(320px,calc(100vh - 80px))}.friend-list-header{padding:10px 14px}.friend-item{padding:6px}.avatar-wrapper img{width:32px;height:32px}}@media (prefers-reduced-motion: reduce){.friend-list-toggle,.friend-list-container{animation:none;transition:none}.friend-list-toggle:hover{transform:none}@keyframes slideUp{0%,to{opacity:1;transform:translateY(0)}}@keyframes slideUpMobile{0%,to{opacity:1;transform:translateY(0)}}}.game-invite-container{position:fixed;top:90px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.game-invite-toast{pointer-events:auto;background:#1a1a2e;background:rgba(26,26,46,.95);border:1px solid rgba(0,217,255,.3);border-left:4px solid #00d9ff;border-radius:8px;padding:16px;width:min(320px,calc(100vw - 40px));box-shadow:0 10px 30px #0009,0 0 20px #00d9ff1a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:slideInRight .5s cubic-bezier(.2,.8,.2,1);color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden;position:relative}.game-invite-toast:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:shine 3s infinite;pointer-events:none}@keyframes shine{0%{left:-100%}20%{left:100%}to{left:100%}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.invite-header{display:flex;align-items:center;margin-bottom:8px}.invite-icon{font-size:24px;margin-right:12px;filter:drop-shadow(0 0 5px rgba(0,217,255,.6))}.invite-title{font-weight:800;font-size:13px;color:var(--secondary-color);text-transform:uppercase;letter-spacing:1.2px}.invite-body{margin-top:4px}.invite-message{font-size:14px;color:#94a3b8;margin:0 0 8px;line-height:1.4}.host-name{color:#fff;font-weight:700}.game-info-row{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:10px 12px;background:linear-gradient(135deg,rgba(233,69,96,.15),rgba(0,217,255,.1));border-radius:8px;border-left:3px solid var(--primary-color, #e94560)}.game-thumbnail{width:48px;height:48px;border-radius:6px;object-fit:cover;flex-shrink:0;box-shadow:0 2px 8px #0000004d}.game-name-display{font-size:16px;font-weight:700;color:#fff;margin:0;text-shadow:0 0 20px rgba(233,69,96,.3);line-height:1.3}.invite-actions{display:flex;gap:12px}.invite-actions button{flex:1;padding:10px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.invite-actions button:active{transform:scale(.96)}.invite-actions .accept-btn{background:linear-gradient(135deg,#00d9ff,#00a8ff);color:#000;font-weight:700;box-shadow:0 4px 15px #00d9ff66}.invite-actions .accept-btn:hover{box-shadow:0 6px 25px #00d9ff99;transform:translateY(-2px)}.invite-actions .decline-btn{background:rgba(255,255,255,.05);color:#64748b;border:1px solid rgba(255,255,255,.1)}.invite-actions .decline-btn:hover{background:rgba(255,255,255,.1);color:#94a3b8}@media (max-width: 767px){.game-invite-container{right:15px;top:80px}.game-invite-toast{width:300px;padding:14px}.invite-icon{font-size:20px}.invite-title{font-size:12px}.game-name-display{font-size:14px}.game-thumbnail{width:40px;height:40px}}@media (max-width: 479px){.game-invite-container{right:10px;left:10px;top:70px}.game-invite-toast{width:100%;max-width:none;padding:12px}.invite-header{margin-bottom:6px}.invite-icon{font-size:18px;margin-right:8px}.invite-title{font-size:11px;letter-spacing:1px}.invite-message{font-size:13px;margin-bottom:6px}.game-info-row{padding:8px 10px;margin-bottom:12px;gap:10px}.game-thumbnail{width:36px;height:36px}.game-name-display{font-size:13px}.invite-actions{gap:8px}.invite-actions button{padding:8px;font-size:12px}}.error-boundary-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:2rem;text-align:center;background:rgba(255,50,50,.1);border:1px solid rgba(255,50,50,.3);border-radius:16px;margin:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.error-boundary-fallback .error-icon{font-size:4rem;margin-bottom:1rem}.error-boundary-fallback h2{color:#ff6b6b;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.error-boundary-fallback p{color:#ffffffb3;margin-bottom:1.5rem;max-width:400px;line-height:1.5}.error-boundary-fallback .error-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.error-boundary-fallback button{padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .3s ease}.error-boundary-fallback .btn-retry{background:linear-gradient(135deg,#4CAF50,#45a049);color:#fff;box-shadow:0 4px 15px #4caf504d}.error-boundary-fallback .btn-retry:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.error-boundary-fallback .btn-reload{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2)}.error-boundary-fallback .btn-reload:hover{background:rgba(255,255,255,.15);transform:translateY(-2px)}@media (max-width: 480px){.error-boundary-fallback{margin:1rem;padding:1.5rem}.error-boundary-fallback .error-icon{font-size:3rem}.error-boundary-fallback h2{font-size:1.25rem}.error-boundary-fallback .error-actions{flex-direction:column;width:100%}.error-boundary-fallback button{width:100%}}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:calc(var(--mobile-nav-height, 64px) + var(--safe-area-bottom, 0px));padding-bottom:var(--safe-area-bottom, 0px);background:rgba(15,15,30,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(0,217,255,.2);z-index:var(--z-bottom-nav, 1000);justify-content:space-around;align-items:center}@media (max-width: 479px){.mobile-bottom-nav{display:flex}}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:1;height:var(--mobile-nav-height, 64px);min-width:var(--touch-target-min, 44px);padding:8px 4px;background:transparent;border:none;color:var(--text-secondary, #a8a8a8);cursor:pointer;position:relative;transition:color .2s ease,transform .1s ease;-webkit-tap-highlight-color:transparent}.nav-item:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%) scaleX(0);width:32px;height:3px;background:linear-gradient(90deg,var(--primary-color, #e94560),var(--secondary-color, #00d9ff));border-radius:0 0 4px 4px;transition:transform .2s ease}.nav-item.active{color:var(--secondary-color, #00d9ff)}.nav-item.active:after{transform:translate(-50%) scaleX(1)}.nav-item:active{transform:scale(.95);color:var(--secondary-color, #00d9ff)}.nav-icon{width:24px;height:24px;stroke-width:2;transition:transform .2s ease}.nav-item.active .nav-icon{transform:scale(1.1)}.nav-label{font-size:10px;font-weight:500;letter-spacing:.3px;text-transform:uppercase;line-height:1}.nav-badge{position:absolute;top:6px;right:50%;transform:translate(calc(50% + 10px));min-width:18px;height:18px;padding:0 5px;background:var(--secondary-color, #00d9ff);color:var(--primary-bg, #0f0f1e);font-size:10px;font-weight:700;line-height:18px;text-align:center;border-radius:9px;box-shadow:0 2px 8px #00d9ff66}.nav-badge.pending{background:var(--primary-color, #e94560);box-shadow:0 2px 8px #e9456066;animation:badgePulse 2s ease-in-out infinite}@keyframes badgePulse{0%,to{transform:translate(calc(50% + 10px)) scale(1)}50%{transform:translate(calc(50% + 10px)) scale(1.1)}}@media (max-width: 479px) and (orientation: landscape){.mobile-bottom-nav{height:calc(56px + var(--safe-area-bottom, 0px))}.nav-item{height:56px;gap:2px}.nav-icon{width:20px;height:20px}.nav-label{font-size:9px}}@media (max-width: 359px){.nav-label{font-size:9px}.nav-icon{width:22px;height:22px}.nav-badge{min-width:16px;height:16px;font-size:9px;line-height:16px;padding:0 4px}}.skip-link{position:fixed;top:-100%;left:50%;transform:translate(-50%);z-index:10001;padding:1rem 2rem;background:var(--secondary-color, #00d9ff);color:#000;font-weight:700;font-size:1rem;text-decoration:none;border-radius:0 0 12px 12px;box-shadow:0 4px 20px #00d9ff66;transition:top .3s ease;min-height:44px;display:flex;align-items:center;justify-content:center}.skip-link:focus{top:0;outline:none}.skip-link:focus-visible{outline:3px solid #fff;outline-offset:2px}@media (max-width: 479px){.skip-link{padding:.75rem 1.5rem;font-size:.9rem;left:10px;right:10px;transform:none;width:calc(100% - 20px);text-align:center}}@media (prefers-reduced-motion: reduce){.skip-link{transition:none}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background-color:var(--primary-bg);color:var(--text-primary);overflow-x:hidden;line-height:1.6;-webkit-text-size-adjust:100%;-webkit-overflow-scrolling:touch}*:focus{outline:none}*:focus-visible{outline:2px solid var(--secondary-color);outline-offset:2px;border-radius:4px}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--secondary-color);outline-offset:2px;box-shadow:0 0 0 4px #00d9ff4d}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:var(--secondary-color);box-shadow:0 0 0 3px #00d9ff33}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.App{min-height:100vh;background:radial-gradient(circle at 20% 20%,rgba(49,224,255,.06),transparent 35%),radial-gradient(circle at 80% 0%,rgba(255,107,173,.08),transparent 40%),linear-gradient(135deg,var(--primary-bg) 0%,var(--secondary-bg) 100%);position:relative;padding-top:calc(80px + var(--safe-area-top, 0px))}.App:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 50%,rgba(233,69,96,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(0,217,255,.1) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(255,107,107,.1) 0%,transparent 50%);pointer-events:none;animation:backgroundPulse 20s ease-in-out infinite}@keyframes backgroundPulse{0%,to{opacity:.3}50%{opacity:.6}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes neonPulse{0%,to{box-shadow:0 0 10px var(--secondary-color),0 0 20px var(--secondary-color),0 0 30px var(--secondary-color)}50%{box-shadow:0 0 20px var(--secondary-color),0 0 30px var(--secondary-color),0 0 40px var(--secondary-color)}}input,textarea,select{font-size:16px;min-height:44px;-webkit-text-fill-color:var(--text-primary);color:var(--text-primary)}button{min-height:44px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,.1)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--secondary-bg)}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.fade-in{animation:fadeIn .6s ease-out}.game-iframe{width:100%;height:100vh;border:none;display:block}@media (max-width: 768px){.container{padding:0 15px}button{min-height:48px;padding:.8rem 1.5rem}body{overflow-x:hidden}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media (max-width: 480px){.container{padding:0 12px}button{min-height:44px;padding:.7rem 1.2rem}*{touch-action:manipulation}.App{padding-bottom:calc(var(--mobile-nav-height, 64px) + var(--safe-area-bottom, 0px))}}:root{--header-height: 90px;--beta-banner-height: 50px;--total-top-offset: calc(var(--header-height) + var(--beta-banner-height))}@media (max-width: 767px){:root{--header-height: 76px;--beta-banner-height: 56px}}@media (max-width: 479px){:root{--header-height: 68px;--beta-banner-height: 70px}}@media (max-width: 359px){:root{--header-height: 60px;--beta-banner-height: 75px}}.beta-disclaimer{position:fixed;top:var(--header-height);left:0;right:0;z-index:999;background:linear-gradient(135deg,rgba(255,152,0,.95) 0%,rgba(255,87,34,.95) 100%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid rgba(255,152,0,.5);box-shadow:0 4px 20px #ff98004d}.beta-disclaimer-content{max-width:1200px;margin:0 auto;padding:.75rem 2rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:center}.beta-badge{background:rgba(255,255,255,.2);color:#fff;padding:.3rem .8rem;border-radius:8px;font-weight:700;font-size:.85rem;letter-spacing:1px;white-space:nowrap;border:1px solid rgba(255,255,255,.3)}.beta-text{color:#fff;font-size:.95rem;line-height:1.4;text-align:center}.beta-text strong{font-weight:700;text-decoration:underline}@media (max-width: 768px){.beta-disclaimer-content{padding:.6rem 1rem;gap:.5rem}.beta-badge{font-size:.75rem;padding:.25rem .6rem}.beta-text{font-size:.85rem}}@media (max-width: 480px){.beta-disclaimer-content{flex-direction:column;text-align:center;padding:.5rem .75rem}.beta-text{font-size:.8rem}}@media (max-width: 359px){.beta-disclaimer-content{padding:.4rem .5rem;gap:.3rem}.beta-badge{font-size:.7rem;padding:.2rem .5rem}.beta-text{font-size:.75rem}}
