@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Orbitron:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--color-bg-deep: #0a0a0f;--color-bg-base: #12121a;--color-bg-elevated: #1a1a24;--color-bg-surface: #22222e;--color-bg-hover: #2a2a38;--color-primary: #00f0ff;--color-primary-dim: #00c4d4;--color-primary-bright: #5ff5ff;--color-primary-glow: rgba(0, 240, 255, .4);--color-primary-subtle: rgba(0, 240, 255, .1);--color-secondary: #ff00aa;--color-secondary-dim: #d4008f;--color-secondary-bright: #ff55c8;--color-secondary-glow: rgba(255, 0, 170, .4);--color-secondary-subtle: rgba(255, 0, 170, .1);--color-accent: #aaff00;--color-accent-dim: #8fd400;--color-accent-bright: #ccff55;--color-accent-glow: rgba(170, 255, 0, .4);--color-success: #00ff88;--color-success-dim: #00d970;--color-success-bright: #55ffa8;--color-success-glow: rgba(0, 255, 136, .4);--color-warning: #ff8800;--color-warning-dim: #e67a00;--color-warning-bright: #ffaa44;--color-warning-glow: rgba(255, 136, 0, .4);--color-error: #ff3355;--color-error-dim: #e62e4c;--color-error-bright: #ff6680;--color-error-glow: rgba(255, 51, 85, .4);--color-text-primary: #ffffff;--color-text-secondary: #b8b8c8;--color-text-muted: #6a6a7a;--color-text-disabled: #4a4a5a;--color-border: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .15);--color-border-focus: var(--color-primary);--gradient-primary: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);--gradient-surface: linear-gradient(180deg, var(--color-bg-surface) 0%, var(--color-bg-elevated) 100%);--gradient-glow: linear-gradient(180deg, rgba(0, 240, 255, .1) 0%, transparent 100%);--gradient-radial: radial-gradient(ellipse at center, var(--color-bg-surface) 0%, var(--color-bg-base) 100%);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .6);--glow-primary: 0 0 20px var(--color-primary-glow), 0 0 40px rgba(0, 240, 255, .2);--glow-secondary: 0 0 20px var(--color-secondary-glow), 0 0 40px rgba(255, 0, 170, .2);--glow-success: 0 0 20px var(--color-success-glow);--glow-warning: 0 0 20px var(--color-warning-glow);--glow-error: 0 0 20px var(--color-error-glow);--text-glow-primary: 0 0 10px var(--color-primary-glow), 0 0 20px var(--color-primary-glow);--text-glow-secondary: 0 0 10px var(--color-secondary-glow), 0 0 20px var(--color-secondary-glow)}:root{--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem}:root{--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", monospace;--font-family-display: "Orbitron", var(--font-family);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--text-5xl: 3.5rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-black: 900;--leading-tight: 1.2;--leading-normal: 1.5;--leading-relaxed: 1.75;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .05em;--tracking-wider: .1em}:root{--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--border-width: 1px;--border-width-2: 2px}:root{--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-out: cubic-bezier(.33, 1, .68, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-spring: cubic-bezier(.175, .885, .32, 1.275)}:root{--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;font-family:var(--font-family);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-bg-deep);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 20%,rgba(0,240,255,.03) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(255,0,170,.03) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(170,255,0,.02) 0%,transparent 70%);pointer-events:none;z-index:-1}::selection{background:var(--color-primary);color:var(--color-bg-deep)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-base)}::-webkit-scrollbar-thumb{background:var(--color-bg-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-dim)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}h1{font-size:var(--text-4xl);font-family:var(--font-family-display);text-transform:uppercase;letter-spacing:var(--tracking-wider)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}p{margin:0}a{color:var(--color-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-primary-bright)}.text-neon{color:var(--color-primary);text-shadow:var(--text-glow-primary)}.text-neon-secondary{color:var(--color-secondary);text-shadow:var(--text-glow-secondary)}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes glow{0%,to{box-shadow:var(--glow-primary);border-color:var(--color-primary)}50%{box-shadow:0 0 30px var(--color-primary-glow),0 0 60px #00f0ff4d;border-color:var(--color-primary-bright)}}@keyframes neonFlicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.8}94%{opacity:1}96%{opacity:.9}97%{opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes countUp{0%{opacity:0;transform:translateY(10px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.icon-spin{animation:spin 1s linear infinite}.icon-pulse{animation:pulse 2s ease-in-out infinite}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-muted{color:var(--color-text-muted)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.animate-fadeIn{animation:fadeIn var(--duration-normal) var(--ease-out) forwards}.animate-fadeInUp{animation:fadeInUp var(--duration-slow) var(--ease-out) forwards}.animate-fadeInDown{animation:fadeInDown var(--duration-slow) var(--ease-out) forwards}.animate-fadeInScale{animation:fadeInScale var(--duration-normal) var(--ease-spring) forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-neon{animation:neonFlicker 4s ease-in-out infinite}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.stagger-item{opacity:0}.screen{min-height:100vh;padding:var(--space-6);display:flex;flex-direction:column;animation:fadeIn var(--duration-slow) var(--ease-out)}.card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);transition:all var(--duration-normal) var(--ease-out)}.card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-lg)}.card-glow{position:relative}.card-glow:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;background:var(--gradient-primary);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--duration-normal) var(--ease-out)}.card-glow:hover:before{opacity:1}.glass{background:rgba(255,255,255,.03);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08)}.divider{height:1px;background:var(--color-border);margin:var(--space-4) 0}.divider-vertical{width:1px;height:100%;background:var(--color-border);margin:0 var(--space-4)}.vs-divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-4) 0}.vs-divider:before,.vs-divider:after{content:"";flex:1;height:2px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent)}.vs-text{font-family:var(--font-family-display);font-size:var(--text-2xl);font-weight:var(--font-black);color:var(--color-primary);text-shadow:var(--text-glow-primary);letter-spacing:var(--tracking-wider)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-family);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);position:relative;overflow:hidden;white-space:nowrap}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 50%);opacity:0;transition:opacity var(--duration-fast)}.btn:hover:before{opacity:1}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn:disabled:before{display:none}.btn-sm{height:32px;padding:0 var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-md)}.btn-md{height:44px;padding:0 var(--space-5);font-size:var(--text-sm)}.btn-lg{height:52px;padding:0 var(--space-6);font-size:var(--text-base)}.btn-xl{height:60px;padding:0 var(--space-8);font-size:var(--text-lg);border-radius:var(--radius-xl)}.btn-primary:hover:not(:disabled){background:var(--color-primary-bright);box-shadow:0 4px 30px var(--color-primary-glow)}.btn-secondary{background:var(--color-secondary);color:var(--color-bg-deep);box-shadow:0 4px 20px var(--color-secondary-glow)}.btn-secondary:hover:not(:disabled){background:var(--color-secondary-bright);box-shadow:0 4px 30px var(--color-secondary-glow)}.btn-ghost{background:transparent;color:var(--color-text-primary);border:2px solid var(--color-border)}.btn-ghost:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-subtle)}.btn-danger{background:var(--color-error);color:#fff;box-shadow:0 4px 20px var(--color-error-glow)}.btn-danger:hover:not(:disabled){background:var(--color-error-bright)}.btn-success:hover:not(:disabled){background:var(--color-success-bright)}.btn-glow{animation:glow 2s ease-in-out infinite}.btn-full{width:100%}.btn-loading .btn-text{opacity:0}.btn-spinner{position:absolute}.btn-icon-left,.btn-icon-right{flex-shrink:0}.ui-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);position:relative;transition:all var(--duration-normal) var(--ease-out)}.ui-card-p-none{padding:0}.ui-card-p-sm{padding:var(--space-3)}.ui-card-p-md{padding:var(--space-5)}.ui-card-p-lg{padding:var(--space-8)}.ui-card-elevated{background:var(--color-bg-elevated);box-shadow:var(--shadow-lg)}.ui-card-outlined{background:transparent;border-width:2px}.ui-card-glass{background:rgba(255,255,255,.03);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-color:#ffffff14}.ui-card-hoverable:hover{border-color:var(--color-border-hover);transform:translateY(-2px);box-shadow:var(--shadow-xl)}.ui-card-glow{overflow:visible}.ui-card-glow:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:2px;background:var(--gradient-primary);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;animation:glow 3s ease-in-out infinite}.ui-card-glow-secondary:before{background:var(--color-secondary)}.ui-card-glow-success:before{background:var(--color-success)}.ui-card-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4)}.ui-card-header-text{flex:1}.ui-card-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0}.ui-card-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin:var(--space-1) 0 0}.ui-card-body{flex:1}.ui-card-footer{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:var(--space-4)}.ui-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:var(--font-medium);border-radius:var(--radius-full);white-space:nowrap}.ui-badge-sm{height:20px;padding:0 var(--space-2);font-size:var(--text-xs)}.ui-badge-md{height:26px;padding:0 var(--space-3);font-size:var(--text-sm)}.ui-badge-lg{height:32px;padding:0 var(--space-4);font-size:var(--text-base)}.ui-badge-default{background:var(--color-bg-hover);color:var(--color-text-secondary)}.ui-badge-primary{background:var(--color-primary-subtle);color:var(--color-primary)}.ui-badge-secondary{background:var(--color-secondary-subtle);color:var(--color-secondary)}.ui-badge-success{background:rgba(0,255,136,.15);color:var(--color-success)}.ui-badge-warning{background:rgba(255,136,0,.15);color:var(--color-warning)}.ui-badge-error{background:rgba(255,51,85,.15);color:var(--color-error)}.ui-badge-outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.ui-badge-ghost{background:transparent;border:none;color:var(--color-text-muted);padding:0;gap:var(--space-1)}.ui-badge-glow{box-shadow:0 0 10px currentColor}.ui-badge-pulse{animation:pulse 2s ease-in-out infinite}.ui-points-badge{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-family-mono);font-weight:var(--font-bold);color:var(--color-text-primary)}.ui-points-badge-sm{font-size:var(--text-sm)}.ui-points-badge-md{font-size:var(--text-base)}.ui-points-badge-lg{font-size:var(--text-xl)}.ui-points-change{display:inline-flex;align-items:center;gap:2px;font-size:.8em;padding:2px 6px;border-radius:var(--radius-sm)}.ui-points-change.positive{background:rgba(0,255,136,.15);color:var(--color-success)}.ui-points-change.negative{background:rgba(255,51,85,.15);color:var(--color-error)}.game-avatar{position:relative;flex-shrink:0}.game-avatar-ring{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:var(--radius-full);border:2px solid var(--ring-color, var(--color-primary));animation:glow 2s ease-in-out infinite}.game-avatar-inner{width:100%;height:100%;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid var(--color-border);font-weight:var(--font-bold)}.game-avatar-image{width:100%;height:100%;object-fit:cover}.game-avatar-initials{font-family:var(--font-family-display);letter-spacing:1px}.game-avatar-xs .game-avatar-initials{font-size:10px}.game-avatar-sm .game-avatar-initials{font-size:12px}.game-avatar-md .game-avatar-initials{font-size:16px}.game-avatar-lg .game-avatar-initials{font-size:22px}.game-avatar-xl .game-avatar-initials{font-size:28px}.game-avatar-2xl .game-avatar-initials{font-size:40px}.game-avatar-status{position:absolute;bottom:0;right:0;width:25%;height:25%;min-width:8px;min-height:8px;max-width:16px;max-height:16px;border-radius:var(--radius-full);border:2px solid var(--color-bg-surface)}.game-avatar-host{position:absolute;top:-4px;right:-4px;width:20px;height:20px;background:var(--color-bg-surface);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.game-avatar-placeholder{border-radius:var(--radius-full);background:var(--color-bg-hover);border:2px dashed var(--color-border);display:flex;align-items:center;justify-content:center}.player-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--duration-normal) var(--ease-out)}.player-card-compact{padding:var(--space-2);gap:var(--space-2)}.player-card-mini{padding:var(--space-2);gap:var(--space-2);border-radius:var(--radius-md)}.player-card.clickable{cursor:pointer}.player-card.clickable:hover{border-color:var(--color-border-hover);background:var(--color-bg-hover)}.player-card.selected{border-color:var(--color-secondary);background:var(--color-secondary-subtle);box-shadow:0 0 20px var(--color-secondary-glow)}.player-card.current{border-color:var(--color-primary)}.player-card-empty{border-style:dashed;opacity:.5}.player-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.player-card-name{font-weight:var(--font-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-card-you{color:var(--color-primary);font-weight:var(--font-normal);font-size:var(--text-sm);margin-left:var(--space-1)}.player-card-points{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted);font-family:var(--font-family-mono)}.player-card-kick{width:28px;height:28px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast);opacity:0}.player-card:hover .player-card-kick{opacity:1}.player-card-kick:hover{background:var(--color-error-glow);color:var(--color-error)}.ui-input-container{display:flex;flex-direction:column;gap:var(--space-2)}.ui-input-full{width:100%}.ui-input-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary)}.ui-input-wrapper{position:relative;display:flex;align-items:center}.ui-input{width:100%;background:var(--color-bg-elevated);border:2px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-family:var(--font-family);transition:all var(--duration-fast) var(--ease-out)}.ui-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.ui-input::placeholder{color:var(--color-text-muted)}.ui-input-sm .ui-input{height:36px;padding:0 var(--space-3);font-size:var(--text-sm)}.ui-input-md .ui-input{height:44px;padding:0 var(--space-4);font-size:var(--text-base)}.ui-input-lg .ui-input{height:52px;padding:0 var(--space-5);font-size:var(--text-lg)}.ui-input-icon{position:absolute;display:flex;align-items:center;justify-content:center;pointer-events:none}.ui-input-icon-left{left:var(--space-3)}.ui-input-icon-right{right:var(--space-3)}.ui-input-container:has(.ui-input-icon-left) .ui-input{padding-left:calc(var(--space-3) + 24px)}.ui-input-container:has(.ui-input-icon-right) .ui-input{padding-right:calc(var(--space-3) + 24px)}.ui-input-error .ui-input{border-color:var(--color-error)}.ui-input-error .ui-input:focus{box-shadow:0 0 0 3px #ff335526}.ui-input-disabled .ui-input{opacity:.5;cursor:not-allowed}.ui-input-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.ui-input-hint-error{color:var(--color-error)}.ui-input-filled .ui-input{background:var(--color-bg-hover);border-color:transparent}.ui-input-ghost .ui-input{background:transparent;border-color:transparent;border-bottom-color:var(--color-border);border-radius:0}.ui-number-input{display:inline-flex;align-items:center;background:var(--color-bg-elevated);border:2px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.ui-number-input-sm{height:36px}.ui-number-input-md{height:44px}.ui-number-input-lg{height:52px}.ui-number-btn{width:44px;height:100%;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast)}.ui-number-btn:hover:not(:disabled){background:var(--color-primary-subtle);color:var(--color-primary)}.ui-number-btn:disabled{opacity:.3;cursor:not-allowed}.ui-number-value{width:80px;height:100%;border:none;background:transparent;color:var(--color-text-primary);font-family:var(--font-family-mono);font-size:var(--text-lg);font-weight:var(--font-bold);text-align:center;-moz-appearance:textfield}.ui-number-value::-webkit-outer-spin-button,.ui-number-value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.loading-spinner{display:inline-flex;animation:spin 1s linear infinite}.loading-dots{display:inline-flex;gap:var(--space-1)}.loading-dots span{width:8px;height:8px;background:var(--color-primary);border-radius:var(--radius-full);animation:bounce 1.4s ease-in-out infinite}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.loading-dots span:nth-child(3){animation-delay:0s}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);padding:var(--space-2) var(--space-3);background:var(--color-bg-deep);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-xs);white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--duration-fast) var(--ease-out);z-index:var(--z-tooltip)}.tooltip:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(-4px)}.screen{min-height:100vh;padding:var(--space-6);display:flex;flex-direction:column;position:relative;animation:fadeIn var(--duration-slow) var(--ease-out)}.screen-centered{align-items:center;justify-content:center}.screen-content{width:100%;max-width:1200px;margin:0 auto}.screen-title{font-family:var(--font-family-display);font-size:var(--text-4xl);font-weight:var(--font-black);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-primary);text-shadow:var(--text-glow-primary);text-align:center;margin-bottom:var(--space-8);animation:fadeInDown var(--duration-slow) var(--ease-out)}.screen-subtitle{font-size:var(--text-lg);color:var(--color-text-muted);text-align:center;margin-top:calc(var(--space-2) * -1);margin-bottom:var(--space-6)}.find-lobby-screen{padding:var(--space-8)}.find-lobby-container{max-width:500px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-8)}.find-lobby-logo{text-align:center;margin-bottom:var(--space-4)}.find-lobby-logo h1{font-family:var(--font-family-display);font-size:var(--text-5xl);font-weight:var(--font-black);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:var(--tracking-wider);animation:neonFlicker 4s ease-in-out infinite}.find-lobby-logo p{color:var(--color-text-muted);font-size:var(--text-lg);margin-top:var(--space-2)}.find-lobby-form{display:flex;flex-direction:column;gap:var(--space-6)}.find-lobby-divider{display:flex;align-items:center;gap:var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.find-lobby-divider:before,.find-lobby-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.find-lobby-actions{display:flex;flex-direction:column;gap:var(--space-3)}.lobby-list{display:flex;flex-direction:column;gap:var(--space-3);max-height:300px;overflow-y:auto;padding-right:var(--space-2)}.lobby-list-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-normal) var(--ease-out)}.lobby-list-item:hover{border-color:var(--color-primary);background:var(--color-primary-subtle)}.lobby-list-item-info{display:flex;flex-direction:column;gap:var(--space-1)}.lobby-list-item-name{font-weight:var(--font-semibold);color:var(--color-text-primary)}.lobby-list-item-players{font-size:var(--text-sm);color:var(--color-text-muted);display:flex;align-items:center;gap:var(--space-1)}.lobby-screen{padding:var(--space-6)}.lobby-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8);flex-wrap:wrap;gap:var(--space-4)}.lobby-title{font-family:var(--font-family-display);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-primary);text-shadow:var(--text-glow-primary)}.lobby-actions-header{display:flex;gap:var(--space-3)}.lobby-settings{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-6)}.setting-group{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.setting-label{font-weight:var(--font-medium);color:var(--color-text-secondary)}.games-per-player-buttons{display:flex;gap:var(--space-2)}.setting-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-elevated);border:2px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-weight:var(--font-bold);font-size:var(--text-lg);cursor:pointer;transition:all var(--duration-fast)}.setting-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.setting-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg-deep);box-shadow:var(--glow-primary)}.setting-description{font-size:var(--text-sm);color:var(--color-text-muted);width:100%;margin-top:var(--space-2)}.players-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-8)}.lobby-actions{display:flex;justify-content:center;gap:var(--space-4)}.waiting-message{text-align:center;color:var(--color-text-muted);font-size:var(--text-lg);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.betting-screen{padding:var(--space-6);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100vh}.betting-container{width:100%;max-width:700px;display:flex;flex-direction:column;gap:var(--space-6)}.betting-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.betting-title{font-family:var(--font-family-display);font-size:var(--text-3xl);font-weight:var(--font-black);text-transform:uppercase;letter-spacing:var(--tracking-wide);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.battle-arena{padding:var(--space-6)}.arena-header{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-6)}.arena-header h2{font-family:var(--font-family-display);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.arena-players{display:flex;align-items:center;justify-content:center;gap:var(--space-6)}.arena-player{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6);background:var(--color-bg-elevated);border:2px solid var(--color-border);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);position:relative;min-width:150px}.arena-player:hover:not(.disabled){border-color:var(--color-border-hover);background:var(--color-bg-hover);transform:translateY(-4px)}.arena-player.selected{border-color:var(--color-secondary);background:var(--color-secondary-subtle);box-shadow:var(--glow-secondary)}.arena-player.disabled{pointer-events:none;opacity:.7}.arena-player-name{font-weight:var(--font-semibold);font-size:var(--text-lg);color:var(--color-text-primary)}.selected-indicator{position:absolute;top:-8px;right:-8px;width:28px;height:28px;background:var(--color-secondary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--glow-secondary);animation:fadeInScale var(--duration-fast) var(--ease-spring)}.arena-vs{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-2);position:relative}.vs-text{font-family:var(--font-family-display);font-size:var(--text-2xl);font-weight:var(--font-black);color:var(--color-primary);text-shadow:var(--text-glow-primary);position:relative;z-index:1}.vs-glow{position:absolute;width:60px;height:60px;background:radial-gradient(circle,var(--color-primary-glow) 0%,transparent 70%);border-radius:var(--radius-full);animation:pulse 2s ease-in-out infinite}.betting-section{display:flex;flex-direction:column;gap:var(--space-5)}.betting-section-header{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-2)}.betting-section-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary)}.your-balance{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--color-bg-elevated);border-radius:var(--radius-lg)}.balance-label{font-size:var(--text-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.balance-amount{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-family-mono);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-warning)}.bet-amount-section{display:flex;flex-direction:column;gap:var(--space-3)}.bet-label{font-size:var(--text-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.quick-amounts{display:flex;gap:var(--space-2);flex-wrap:wrap}.quick-amount-btn{padding:var(--space-2) var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-family-mono);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-fast)}.quick-amount-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.quick-amount-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg-deep)}.quick-amount-btn.all-in{background:transparent;border-color:var(--color-secondary);color:var(--color-secondary)}.quick-amount-btn.all-in:hover,.quick-amount-btn.all-in.active{background:var(--color-secondary);color:#fff}.bet-placed-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-6);text-align:center}.bet-placed-icon{width:64px;height:64px;background:var(--color-success-subtle);border:2px solid var(--color-success);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;animation:bounceIn var(--duration-slow) var(--ease-spring)}.bet-placed-section h3{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-success)}.bet-summary{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:center}.bet-summary-amount{font-family:var(--font-family-mono);font-weight:var(--font-bold);color:var(--color-warning)}.bet-summary-player{font-weight:var(--font-semibold);color:var(--color-secondary)}.player-ready-view .betting-container{align-items:center;text-align:center}.game-info-card{width:100%}.game-info-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.game-info-icon{animation:pulse 2s ease-in-out infinite}.game-info-title{font-family:var(--font-family-display);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-secondary);text-shadow:var(--text-glow-secondary)}.ready-status-card{width:100%}.ready-status-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}.waiting-indicator{display:flex;align-items:center;gap:var(--space-3)}.ready-action{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.ready-instruction{color:var(--color-text-muted);font-size:var(--text-sm)}.ready-confirmed{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.betting-screen .screen-title{margin-bottom:var(--space-6)}.match-info{text-align:center;margin-bottom:var(--space-8)}.match-info h2{font-size:var(--text-xl);color:var(--color-text-secondary);margin-bottom:var(--space-6);font-weight:var(--font-normal)}.players-display{display:flex;align-items:center;justify-content:center;gap:var(--space-8)}.player-display{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.player-display .player-name{font-size:var(--text-xl);font-weight:var(--font-semibold)}.game-type{margin-top:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.game-type-display{margin-top:var(--space-4)}.game-name{font-family:var(--font-family-display);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-secondary);text-shadow:var(--text-glow-secondary)}.player-ready-screen{align-items:center;justify-content:center;text-align:center}.ready-status{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);margin-top:var(--space-8)}.ready-controls{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.ready-indicator{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.ready-text{color:var(--color-text-muted);animation:pulse 2s ease-in-out infinite}.play-screen{padding:var(--space-4);display:flex;flex-direction:column;min-height:100vh}.play-screen-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-bg-surface);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.play-screen-players{display:flex;align-items:center;gap:var(--space-6)}.play-screen-vs{font-family:var(--font-family-display);font-size:var(--text-lg);color:var(--color-primary);text-shadow:var(--text-glow-primary)}.play-screen-game{flex:1;display:flex;align-items:center;justify-content:center;background:var(--color-bg-surface);border-radius:var(--radius-xl);overflow:hidden}.spectator-banner{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--gradient-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm)}.single-screen-spectator{width:100%;height:100%;display:flex;flex-direction:column}.single-screen-spectator .spectator-banner{flex-shrink:0}.scoreboard-screen{padding:var(--space-6);display:flex;flex-direction:column;align-items:center;min-height:100vh}.scoreboard-container{width:100%;max-width:700px;display:flex;flex-direction:column;gap:var(--space-6)}.scoreboard-header{text-align:center}.scoreboard-title{font-family:var(--font-family-display);font-size:var(--text-3xl);font-weight:var(--font-black);text-transform:uppercase;letter-spacing:var(--tracking-wide);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.winner-card{text-align:center}.winner-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.winner-trophy{animation:bounce 2s ease-in-out infinite}.winner-info{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.winner-label{font-size:var(--text-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.winner-name{font-family:var(--font-family-display);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-warning);text-shadow:var(--text-glow-warning)}.match-summary{display:flex;align-items:center;justify-content:center;gap:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.match-player{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.match-vs{font-family:var(--font-family-display);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-primary);text-shadow:var(--text-glow-primary)}.betting-results-card{width:100%}.betting-results-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.betting-results-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold)}.betting-results-list{display:flex;flex-direction:column;gap:var(--space-2)}.bet-result-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:var(--color-bg-elevated);border-radius:var(--radius-md);border-left:3px solid transparent}.bet-result-item.won{border-left-color:var(--color-success);background:var(--color-success-subtle)}.bet-result-item.lost{border-left-color:var(--color-error);background:var(--color-error-subtle)}.bet-result-player{display:flex;align-items:center;gap:var(--space-2)}.bet-result-amount{display:flex;align-items:center;gap:var(--space-1);font-family:var(--font-family-mono);font-weight:var(--font-bold)}.bet-result-amount.positive{color:var(--color-success)}.bet-result-amount.negative{color:var(--color-error)}.standings-card{width:100%}.standings-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.standings-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold)}.standings-list{display:flex;flex-direction:column;gap:var(--space-2)}.standing-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-elevated);border-radius:var(--radius-lg);transition:all var(--duration-normal) var(--ease-out);opacity:0;transform:translate(-20px)}.standing-row.revealed{opacity:1;transform:translate(0)}.standing-row.hidden{opacity:0;transform:translate(-20px)}.standing-row.current-player{border:1px solid var(--color-primary);background:var(--color-primary-subtle)}.standing-rank{width:36px;display:flex;align-items:center;justify-content:center}.rank-number{font-family:var(--font-family-mono);font-weight:var(--font-bold);font-size:var(--text-lg);color:var(--color-text-muted)}.standing-info{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.standing-name{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-medium)}.standing-score{display:flex;align-items:center;gap:var(--space-2)}.score-value{font-family:var(--font-family-mono);font-weight:var(--font-bold);color:var(--color-warning)}.score-change{font-family:var(--font-family-mono);font-size:var(--text-sm);font-weight:var(--font-medium)}.score-change.positive{color:var(--color-success)}.score-change.negative{color:var(--color-error)}.continue-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);margin-top:var(--space-4)}.game-ending{display:flex;align-items:center;gap:var(--space-3)}.round-result{text-align:center;margin-bottom:var(--space-8)}.winner-announcement{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-8);background:var(--gradient-surface);border:2px solid var(--color-primary);border-radius:var(--radius-2xl);box-shadow:var(--glow-primary);animation:fadeInScale var(--duration-slow) var(--ease-spring)}.standing-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);animation:fadeInUp var(--duration-normal) var(--ease-out) forwards;opacity:0}.standing-rank-1{background:var(--color-warning);color:var(--color-bg-deep);box-shadow:var(--glow-warning)}.standing-rank-2{background:var(--color-text-muted);color:var(--color-bg-deep)}.standing-rank-3{background:#cd7f32;color:var(--color-bg-deep)}.standing-points{font-family:var(--font-family-mono);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-warning)}.final-screen{padding:var(--space-8);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh}.final-winner{text-align:center;margin-bottom:var(--space-10);animation:bounceIn var(--duration-slower) var(--ease-bounce)}.final-winner-label{font-size:var(--text-2xl);color:var(--color-text-muted);margin-bottom:var(--space-4)}.final-winner-name{font-family:var(--font-family-display);font-size:var(--text-5xl);font-weight:var(--font-black);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:glow 2s ease-in-out infinite}.final-standings{width:100%;max-width:500px;margin-bottom:var(--space-8)}.final-actions{display:flex;gap:var(--space-4)}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8)}.error-container{max-width:400px}.error-container h1{color:var(--color-error);margin-bottom:var(--space-4)}.error-container p{color:var(--color-text-muted);margin-bottom:var(--space-6)}.reconnection-status{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-surface);border-radius:var(--radius-lg);color:var(--color-text-muted)}@media (max-width: 768px){.screen{padding:var(--space-4)}.screen-title{font-size:var(--text-2xl)}.find-lobby-logo h1{font-size:var(--text-3xl)}.players-display{gap:var(--space-4)}.player-options{grid-template-columns:1fr}.lobby-header{flex-direction:column;align-items:flex-start}.players-grid{grid-template-columns:1fr}}.minigame{width:100%;max-width:600px;margin:0 auto;padding:var(--space-6);background:var(--color-bg-surface);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:2px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);animation:fadeInScale var(--duration-normal) var(--ease-out);position:relative;overflow:hidden}.minigame:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.minigame h2{font-family:var(--font-family-display);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-primary);text-shadow:var(--text-glow-primary);text-align:center;margin-bottom:var(--space-6);display:flex;align-items:center;justify-content:center;gap:var(--space-2);animation:fadeInDown var(--duration-normal) var(--ease-out) .2s both}.game-header{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-4);margin-bottom:var(--space-6);animation:slideInUp var(--duration-normal) var(--ease-out-cubic) .4s both}.freeze-indicator{background:linear-gradient(135deg,#3b82f6,#1e40af);border:2px solid #60a5fa;border-radius:var(--radius-lg);padding:var(--space-3);text-align:center;animation:pulse 1s infinite,shake .5s ease-in-out;box-shadow:0 0 20px #3b82f680}.freeze-indicator p{margin:0;color:#fff;font-weight:700}.freeze-indicator p:first-child{font-size:var(--text-sm)}.freeze-indicator p:last-child{font-size:var(--text-lg)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.score-box{background:var(--color-bg-elevated);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center;transition:all var(--duration-normal) var(--ease-out);position:relative;overflow:hidden}.score-box:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);transition:left var(--duration-slower) var(--ease-out)}.score-box:hover:before{left:100%}.score-box:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md),var(--glow-primary)}.score-box p{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.score-box h3{font-family:var(--font-family-mono);font-size:var(--text-xl);color:var(--color-warning);font-weight:var(--font-bold)}.controls{text-align:center;margin-top:var(--space-6);animation:fadeInUp var(--duration-normal) var(--ease-out) .6s both}.controls p{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}.game-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-bg-surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:3px solid var(--color-warning);border-radius:var(--radius-2xl);padding:var(--space-8);text-align:center;box-shadow:var(--shadow-xl),var(--glow-warning);animation:bounceIn var(--duration-slow) var(--ease-spring);z-index:100;max-width:400px;width:90%}.game-message h3{font-family:var(--font-family-display);font-size:var(--text-2xl);color:var(--color-warning);text-shadow:var(--text-glow-warning);margin-bottom:var(--space-4);animation:pulse 2s infinite}.game-message p{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-2)}.waiting-message{font-size:var(--text-sm);color:var(--color-primary);animation:pulse 2s infinite}.memory-match-game .minigame h2:before{content:"🃏";font-size:var(--text-2xl)}.memory-match-board{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin:var(--space-6) 0;max-width:400px;width:100%;margin:var(--space-6) auto;animation:fadeInScale var(--duration-normal) var(--ease-out-cubic) .6s both}.memory-match-card{aspect-ratio:1;perspective:1000px;cursor:pointer;animation:bounceIn var(--duration-normal) var(--ease-bounce)}.memory-match-card:nth-child(1){animation-delay:.1s}.memory-match-card:nth-child(2){animation-delay:.15s}.memory-match-card:nth-child(3){animation-delay:.2s}.memory-match-card:nth-child(4){animation-delay:.25s}.memory-match-card:nth-child(5){animation-delay:.3s}.memory-match-card:nth-child(6){animation-delay:.35s}.memory-match-card:nth-child(7){animation-delay:.4s}.memory-match-card:nth-child(8){animation-delay:.45s}.memory-match-card:nth-child(9){animation-delay:.5s}.memory-match-card:nth-child(10){animation-delay:.55s}.memory-match-card:nth-child(11){animation-delay:.6s}.memory-match-card:nth-child(12){animation-delay:.65s}.memory-match-card:nth-child(13){animation-delay:.7s}.memory-match-card:nth-child(14){animation-delay:.75s}.memory-match-card:nth-child(15){animation-delay:.8s}.memory-match-card:nth-child(16){animation-delay:.85s}.card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform var(--duration-normal) var(--ease-out-cubic);border-radius:var(--radius-lg)}.memory-match-card.flipped .card-inner{transform:rotateY(180deg)}.card-front,.card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--text-2xl);font-weight:700;box-shadow:var(--shadow-md);border:2px solid rgba(139,92,246,.3);transition:all var(--duration-normal) var(--ease-out-cubic)}.card-front{background:var(--bg-gradient-card);color:var(--primary-400)}.card-back{background:var(--bg-gradient-button);color:#fff;transform:rotateY(180deg)}.memory-match-card:hover .card-front{border-color:var(--primary-500);box-shadow:var(--shadow-lg),var(--glow-primary);transform:scale(1.05)}.memory-match-card.matched .card-back{background:var(--bg-gradient-gold);color:var(--gray-900);animation:glow 2s ease-in-out infinite}.quick-click-game .minigame h2:before{content:"⚡";font-size:var(--text-2xl)}.quick-click-area{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:var(--space-6) 0;animation:fadeInScale var(--duration-normal) var(--ease-out-cubic) .6s both}.quick-click-circle-container{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-6)}.quick-click-button{width:280px;height:280px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-cubic);position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;border:4px solid transparent;box-shadow:var(--shadow-xl);background:var(--glass-dark);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.quick-click-button-waiting{background:linear-gradient(135deg,var(--info-500),var(--info-400));border-color:var(--info-500);animation:breathe 3s ease-in-out infinite;box-shadow:var(--shadow-xl),0 0 30px #3b82f666}.quick-click-button-ready{background:linear-gradient(135deg,var(--error-500),var(--error-600));border-color:var(--error-500);animation:danger-pulse 1s ease-in-out infinite;box-shadow:var(--shadow-xl),0 0 40px #ef444499,0 0 80px #ef44444d}.quick-click-button-go{background:linear-gradient(135deg,var(--success-500),var(--success-400));border-color:var(--success-500);animation:success-glow .3s ease-in-out infinite;transform:scale(1.1);box-shadow:var(--shadow-2xl),0 0 50px #22c55ecc,0 0 100px #22c55e66}.quick-click-button-error{background:linear-gradient(135deg,var(--error-600),var(--error-700));border-color:var(--error-600);animation:error-shake .5s ease-in-out;box-shadow:var(--shadow-xl),0 0 30px #ef4444cc}.quick-click-button-finished{background:linear-gradient(135deg,var(--gold-500),var(--gold-400));border-color:var(--gold-500);animation:victory-glow 2s ease-in-out infinite;box-shadow:var(--shadow-xl),0 0 40px #f59e0b99}.quick-click-button-explosion{animation:explosion-flash .3s ease-out;transform:scale(1.2)}.button-content{font-size:var(--text-2xl);font-weight:700;text-align:center;z-index:2;position:relative;text-shadow:0 2px 4px rgba(0,0,0,.3);padding:var(--space-4)}.explosion-effect{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:10}.explosion-particle{position:absolute;width:8px;height:8px;background:radial-gradient(circle,var(--gold-400) 0%,var(--primary-500) 100%);border-radius:var(--radius-full);animation:explode-outward .8s ease-out forwards;box-shadow:0 0 10px #f59e0bcc}.ripple-effect{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.ripple{position:absolute;width:280px;height:280px;border:3px solid rgba(239,68,68,.4);border-radius:var(--radius-full);animation:ripple-expand 2s ease-out infinite}.ripple-2{animation-delay:.5s}.ripple-3{animation-delay:1s}.results-display{background:var(--glass-dark);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:2px solid var(--gold-500);border-radius:var(--radius-xl);padding:var(--space-6);margin-top:var(--space-4);text-align:center;animation:slideInUp var(--duration-normal) var(--ease-out-cubic) .8s both;box-shadow:var(--shadow-lg),var(--glow-gold)}.results-display h3{color:var(--gold-400);margin-bottom:var(--space-4);font-size:var(--text-xl)}.player-results{display:flex;flex-direction:column;gap:var(--space-3)}.player-result{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);background:rgba(255,255,255,.05);border-radius:var(--radius-lg);border:1px solid rgba(139,92,246,.3)}.player-name{font-weight:700;color:var(--primary-400)}.result-time{color:var(--success-400);font-weight:700}.result-disqualified{color:var(--error-400);font-weight:700}.result-none{color:var(--gray-500);font-style:italic}.game-instructions{margin-top:var(--space-6);animation:slideInUp var(--duration-normal) var(--ease-out-cubic) 1s both}.instruction-card{background:var(--glass-light);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--primary-500);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center;box-shadow:var(--shadow-md);transition:all var(--duration-normal) var(--ease-out-cubic)}.instruction-card.waiting{border-color:var(--info-500);box-shadow:var(--shadow-md),0 0 20px #3b82f64d}.instruction-card.danger{border-color:var(--error-500);background:rgba(239,68,68,.1);animation:danger-border 1s ease-in-out infinite;box-shadow:var(--shadow-md),0 0 20px #ef444466}.instruction-card.success{border-color:var(--success-500);background:rgba(34,197,94,.1);animation:success-border .5s ease-in-out infinite;box-shadow:var(--shadow-md),0 0 20px #22c55e66}.instruction-card.finished{border-color:var(--gold-500);box-shadow:var(--shadow-md),var(--glow-gold)}.instruction-card p{margin:0;color:var(--gray-100);font-size:var(--text-base)}.instruction-card kbd{background:var(--gray-700);border:1px solid var(--gray-600);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-family:"Press Start 2P",monospace;font-size:var(--text-sm);color:var(--gold-400)}.mobile-reaction-hint{margin-top:var(--space-4);padding:var(--space-3);background:rgba(139,92,246,.1);border:1px solid var(--primary-500);border-radius:var(--radius-md);text-align:center;animation:fadeInUp var(--duration-normal) var(--ease-out-cubic) 1.2s both}.mobile-reaction-hint p{margin:0;color:var(--primary-400);font-size:var(--text-sm)}@keyframes breathe{0%,to{transform:scale(1);box-shadow:var(--shadow-xl),0 0 30px #3b82f666}50%{transform:scale(1.05);box-shadow:var(--shadow-xl),0 0 40px #3b82f699}}@keyframes danger-pulse{0%,to{transform:scale(1);box-shadow:var(--shadow-xl),0 0 40px #ef444499,0 0 80px #ef44444d}50%{transform:scale(1.03);box-shadow:var(--shadow-xl),0 0 60px #ef4444cc,0 0 120px #ef444480}}@keyframes success-glow{0%,to{box-shadow:var(--shadow-2xl),0 0 50px #22c55ecc,0 0 100px #22c55e66}50%{box-shadow:var(--shadow-2xl),0 0 70px #22c55e,0 0 140px #22c55e99}}@keyframes error-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes victory-glow{0%,to{box-shadow:var(--shadow-xl),0 0 40px #f59e0b99}50%{box-shadow:var(--shadow-xl),0 0 60px #f59e0bcc}}@keyframes explosion-flash{0%{background:linear-gradient(135deg,var(--gold-500),var(--gold-400));transform:scale(1.2)}50%{background:linear-gradient(135deg,#ffffff,var(--gold-300));transform:scale(1.3)}to{background:linear-gradient(135deg,var(--gold-500),var(--gold-400));transform:scale(1.2)}}@keyframes explode-outward{0%{transform:translate(0) scale(1);opacity:1}to{opacity:0}}.explosion-particle.particle-1{animation-name:explode-1}.explosion-particle.particle-2{animation-name:explode-2}.explosion-particle.particle-3{animation-name:explode-3}.explosion-particle.particle-4{animation-name:explode-4}.explosion-particle.particle-5{animation-name:explode-5}.explosion-particle.particle-6{animation-name:explode-6}.explosion-particle.particle-7{animation-name:explode-7}.explosion-particle.particle-8{animation-name:explode-8}.explosion-particle.particle-9{animation-name:explode-9}.explosion-particle.particle-10{animation-name:explode-10}.explosion-particle.particle-11{animation-name:explode-11}.explosion-particle.particle-12{animation-name:explode-12}@keyframes explode-1{to{transform:translateY(-60px) scale(0)}}@keyframes explode-2{to{transform:translate(30px,-52px) scale(0)}}@keyframes explode-3{to{transform:translate(52px,-30px) scale(0)}}@keyframes explode-4{to{transform:translate(60px) scale(0)}}@keyframes explode-5{to{transform:translate(52px,30px) scale(0)}}@keyframes explode-6{to{transform:translate(30px,52px) scale(0)}}@keyframes explode-7{to{transform:translateY(60px) scale(0)}}@keyframes explode-8{to{transform:translate(-30px,52px) scale(0)}}@keyframes explode-9{to{transform:translate(-52px,30px) scale(0)}}@keyframes explode-10{to{transform:translate(-60px) scale(0)}}@keyframes explode-11{to{transform:translate(-52px,-30px) scale(0)}}@keyframes explode-12{to{transform:translate(-30px,-52px) scale(0)}}@keyframes ripple-expand{0%{transform:translate(-50%,-50%) scale(.8);opacity:1}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}@keyframes danger-border{0%,to{border-color:var(--error-500)}50%{border-color:var(--error-400)}}@keyframes success-border{0%,to{border-color:var(--success-500)}50%{border-color:var(--success-400)}}@media (max-width: 768px){.memory-match-board{max-width:320px;gap:var(--space-2)}.card-front,.card-back{font-size:var(--text-lg)}.quick-click-button{width:220px;height:220px}.button-content{font-size:var(--text-xl)}.ripple{width:220px;height:220px}}@media (max-width: 480px){.memory-match-board{max-width:280px;gap:var(--space-1)}.card-front,.card-back{font-size:var(--text-base)}.quick-click-button{width:180px;height:180px}.button-content{font-size:var(--text-lg);padding:var(--space-2)}.ripple{width:180px;height:180px}}.game2048 .minigame h2:before{content:"🎯";font-size:var(--text-2xl)}.game2048-container{display:flex;justify-content:center;margin:var(--space-6) 0;animation:fadeInScale var(--duration-normal) var(--ease-out-cubic) .6s both}.game2048-board{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);background:var(--gray-800);border-radius:var(--radius-xl);padding:var(--space-3);box-shadow:var(--shadow-xl);border:3px solid var(--primary-500);position:relative;overflow:hidden;width:320px;height:320px}.game2048-board:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(139,92,246,.1) 50%,transparent 70%);animation:shimmer 4s ease-in-out infinite;pointer-events:none}.game2048-cell{aspect-ratio:1;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-lg);transition:all var(--duration-normal) var(--ease-out-cubic);position:relative;overflow:hidden;border:2px solid rgba(255,255,255,.1);z-index:2}.game2048-cell.empty{background:var(--gray-700);color:transparent;border-color:var(--gray-600)}.game2048-cell.empty:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;background:radial-gradient(circle,rgba(139,92,246,.1) 0%,transparent 70%);border-radius:var(--radius-full);animation:float 3s ease-in-out infinite}.game2048-cell.tile-2{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;animation:tileAppear var(--duration-normal) var(--ease-bounce)}.game2048-cell.tile-4{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);color:#fff;animation:tileAppear var(--duration-normal) var(--ease-bounce)}.game2048-cell.tile-8{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%);color:#fff}.game2048-cell.tile-16{background:linear-gradient(135deg,#43e97b 0%,#38f9d7 100%);color:#fff}.game2048-cell.tile-32{background:linear-gradient(135deg,#fa709a 0%,#fee140 100%);color:#fff}.game2048-cell.tile-64{background:linear-gradient(135deg,#a8edea 0%,#fed6e3 100%);color:#333}.game2048-cell.tile-128{background:linear-gradient(135deg,#ffecd2 0%,#fcb69f 100%);color:#333;font-size:var(--text-base);box-shadow:0 0 15px #ffb79f66}.game2048-cell.tile-256{background:linear-gradient(135deg,#ff8a80 0%,#ea4c89 100%);color:#fff;font-size:var(--text-base);box-shadow:0 0 20px #ff8a8080}.game2048-cell.tile-512{background:linear-gradient(135deg,#8360c3 0%,#2ebf91 100%);color:#fff;font-size:var(--text-base);box-shadow:0 0 25px #8360c399}.game2048-cell.tile-1024{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;font-size:var(--text-sm);animation:pulse 2s ease-in-out infinite;box-shadow:0 0 30px #667eeab3}.game2048-cell.tile-2048{background:linear-gradient(135deg,#f6d365 0%,#fda085 100%);color:#333;font-size:var(--text-sm);animation:rainbow 2s ease-in-out infinite,tileGlow 2s ease-in-out infinite;box-shadow:0 0 40px #f6d365cc}.game2048-cell.tile-4096{background:linear-gradient(135deg,#ff6b6b 0%,#4ecdc4 100%);color:#fff;font-size:var(--text-sm);animation:rainbow 1.5s ease-in-out infinite}.game2048-cell.tile-8192{background:linear-gradient(135deg,#a8e6cf 0%,#dda0dd 100%);color:#333;font-size:var(--text-sm);animation:rainbow 1s ease-in-out infinite}.game2048-cell:not(.empty):before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.1) 50%,transparent 60%);transform:rotate(45deg);animation:shimmer 6s ease-in-out infinite;animation-delay:calc(var(--shimmer-delay, 0) * .2s)}@keyframes tileAppear{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes tileGlow{0%,to{box-shadow:0 0 40px #f6d365cc}50%{box-shadow:0 0 60px #f6d365}}.mobile-controls{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr;gap:var(--space-2);max-width:200px;margin:var(--space-6) auto 0;animation:slideInUp var(--duration-normal) var(--ease-out-cubic) .8s both}.mobile-controls button{padding:var(--space-3);font-size:var(--text-lg);border-radius:var(--radius-lg);background:var(--bg-gradient-button);color:#fff;border:none;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-cubic);box-shadow:var(--shadow-md)}.mobile-controls button:hover{box-shadow:var(--shadow-lg),var(--glow-primary)}.mobile-controls button:active{animation:buttonPress var(--duration-fast) var(--ease-out-cubic)}.mobile-controls .up{grid-column:2;grid-row:1}.mobile-controls .left{grid-column:1;grid-row:2}.mobile-controls .down{grid-column:2;grid-row:3}.mobile-controls .right{grid-column:3;grid-row:2}.sudoku-game .minigame h2:before{content:"🧩";font-size:var(--text-2xl)}.sudoku-board{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--gray-800);border-radius:var(--radius-lg);padding:var(--space-3);margin:var(--space-6) auto;animation:fadeInScale var(--duration-normal) var(--ease-out-cubic) .6s both;box-shadow:var(--shadow-md);border:3px solid var(--primary-500);max-width:300px;width:100%}.sudoku-row{display:contents}.sudoku-cell{aspect-ratio:1;border:2px solid var(--gray-600);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-xl);background:var(--glass-light);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;transition:all var(--duration-normal) var(--ease-out-cubic);color:var(--gold-400);animation:bounceIn var(--duration-normal) var(--ease-bounce);position:relative;overflow:hidden}.sudoku-cell:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(139,92,246,.2),transparent);transition:left var(--duration-slower) var(--ease-out-cubic)}.sudoku-cell:hover:before{left:100%}.sudoku-cell:hover{border-color:var(--primary-400);transform:scale(1.05);box-shadow:var(--shadow-lg),var(--glow-primary);background:rgba(139,92,246,.1)}.sudoku-cell.initial{background:var(--bg-gradient-gold);color:var(--gray-900);font-weight:900;cursor:not-allowed;border-color:var(--gold-500)}.sudoku-cell.initial:hover{transform:none;box-shadow:var(--shadow-md);background:var(--bg-gradient-gold)}.sudoku-cell.selected{border-color:var(--gold-500);background:var(--bg-gradient-button);color:#fff;transform:scale(1.1);box-shadow:var(--shadow-xl),var(--glow-gold);animation:pulse 2s infinite}.sudoku-cell.invalid{border-color:var(--error-500);background:rgba(239,68,68,.2);color:var(--error-400);animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.number-input{text-align:center;margin-top:var(--space-6);animation:slideInUp var(--duration-normal) var(--ease-out-cubic) .8s both}.number-input p{font-size:var(--text-sm);color:var(--primary-400);margin-bottom:var(--space-4);font-weight:700}.number-buttons{display:flex;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-4)}.number-btn{width:50px;height:50px;border-radius:var(--radius-lg);background:var(--bg-gradient-button);color:#fff;border:2px solid var(--primary-500);font-size:var(--text-lg);font-weight:700;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-cubic);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.number-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.3);border-radius:var(--radius-full);transform:translate(-50%,-50%);transition:all var(--duration-normal) var(--ease-out-cubic)}.number-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-lg),var(--glow-primary);border-color:var(--primary-400)}.number-btn:active:before{width:100px;height:100px}.number-btn.erase-btn{background:var(--bg-gradient-gold);border-color:var(--gold-500)}.number-btn.erase-btn:hover{box-shadow:var(--shadow-lg),var(--glow-gold);border-color:var(--gold-400)}.number-btn:disabled{background:var(--gray-700);color:var(--gray-500);border-color:var(--gray-600);cursor:not-allowed;transform:none;box-shadow:none}.controls-hint{font-size:var(--text-xs);color:var(--gray-500);margin-top:var(--space-2)}.start-screen{text-align:center;padding:var(--space-8);animation:fadeInScale var(--duration-normal) var(--ease-out-cubic) .6s both}.start-screen p{font-size:var(--text-base);color:var(--gray-300);margin-bottom:var(--space-4);line-height:1.6}.maze-game .minigame h2:before{content:"🌟";font-size:var(--text-2xl)}.maze-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);animation:fadeInScale var(--duration-normal) var(--ease-out-cubic)}.loading-spinner{width:40px;height:40px;border:4px solid var(--gray-600);border-top:4px solid var(--primary-500);border-radius:var(--radius-full);animation:spin 1s linear infinite;margin-bottom:var(--space-4)}.maze-container{display:flex;justify-content:center;margin:var(--space-6) 0;animation:fadeInScale var(--duration-normal) var(--ease-out-cubic) .6s both}.maze-grid{display:grid;grid-template-columns:repeat(var(--maze-cols, 31),1fr);gap:1px;background:var(--gray-800);border:3px solid var(--primary-500);border-radius:var(--radius-lg);padding:var(--space-3);box-shadow:var(--shadow-xl);position:relative;overflow:hidden;max-width:90vw;max-height:70vh;will-change:auto}@media (min-width: 769px){.maze-grid:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(139,92,246,.05) 50%,transparent 70%);animation:shimmer 8s ease-in-out infinite;pointer-events:none;will-change:transform}}.maze-cell{aspect-ratio:1;border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:10px;position:relative;overflow:hidden;min-width:12px;min-height:12px}.maze-wall{background:linear-gradient(45deg,var(--gray-700),var(--gray-800));border:1px solid var(--gray-600)}.maze-path{background:var(--glass-light)}.maze-start{background:linear-gradient(45deg,var(--info-500),var(--info-400));animation:pulse 2s infinite;box-shadow:0 0 15px #3b82f680}.maze-finish{background:linear-gradient(45deg,var(--gold-500),var(--gold-400));animation:glow 2s ease-in-out infinite;box-shadow:0 0 20px #f59e0b99}.maze-player{background:linear-gradient(45deg,var(--primary-500),var(--primary-400));transform:scale(1.2);z-index:10;box-shadow:0 0 15px #8b5cf699;animation:playerPulse 2s ease-in-out infinite;will-change:transform}.maze-trail{background:linear-gradient(45deg,rgba(139,92,246,.3),rgba(139,92,246,.1));animation:trailFade 2s ease-out forwards}@keyframes playerPulse{0%,to{transform:scale(1.2);box-shadow:0 0 15px #8b5cf699}50%{transform:scale(1.25);box-shadow:0 0 20px #8b5cf6cc}}@keyframes trailFade{0%{background:linear-gradient(45deg,rgba(139,92,246,.5),rgba(139,92,246,.3))}to{background:linear-gradient(45deg,rgba(139,92,246,.1),transparent)}}.maze-run-game .player-avatar,.start-marker,.finish-marker{font-size:12px;animation:bounce 2s ease-in-out infinite;filter:drop-shadow(0 0 5px rgba(255,255,255,.5))}.start-btn{background:var(--bg-gradient-button);color:#fff;border:2px solid var(--primary-500);padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-size:var(--text-lg);font-weight:700;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-cubic);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.start-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.3);border-radius:var(--radius-full);transform:translate(-50%,-50%);transition:all var(--duration-normal) var(--ease-out-cubic)}.start-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-lg),var(--glow-primary);border-color:var(--primary-400)}.start-btn:active:before{width:200px;height:200px}@media (max-width: 768px){.maze-game{--maze-cols: 31}.maze-grid{grid-template-columns:repeat(31,1fr);padding:var(--space-1);max-width:98vw;gap:0;will-change:auto}.maze-cell{min-width:8px;min-height:8px;border-radius:1px}.maze-run-game .player-avatar,.start-marker,.finish-marker{font-size:6px}.mobile-controls{display:grid;grid-template-columns:60px 60px 60px;grid-template-rows:60px 60px 60px;gap:var(--space-2);justify-content:center;margin:var(--space-4) auto 0;width:fit-content}.mobile-controls .up{grid-column:2 / 3;grid-row:1 / 2}.mobile-controls .left{grid-column:1 / 2;grid-row:2 / 3}.mobile-controls .right{grid-column:3 / 4;grid-row:2 / 3}.mobile-controls .down{grid-column:2 / 3;grid-row:3 / 4}.mobile-controls button{width:100%;height:100%;border-radius:var(--radius-lg);background:var(--bg-gradient-button);color:#fff;border:2px solid var(--primary-500);font-size:var(--text-xl);font-weight:700;cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic);will-change:transform;display:flex;align-items:center;justify-content:center;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.mobile-controls button:active,.mobile-controls button:focus{transform:scale(.95);background:var(--primary-600);outline:none}.mobile-controls button:hover{background:var(--primary-500)}}@media (max-width: 480px){.maze-grid{max-width:98vw;padding:var(--space-1)}.maze-cell{min-width:6px;min-height:6px}.maze-run-game .player-avatar,.start-marker,.finish-marker{font-size:5px}.mobile-controls{grid-template-columns:50px 50px 50px;grid-template-rows:50px 50px 50px}.mobile-controls button{font-size:var(--text-lg)}}.speed-anagram-game .minigame h2:before{content:"🔤";font-size:var(--text-2xl)}.anagram-area{text-align:center;margin:var(--space-6) 0;animation:fadeInScale var(--duration-normal) var(--ease-out-cubic) .6s both}.scrambled-display{margin-bottom:var(--space-6)}.letters-container{display:flex;justify-content:center;gap:var(--space-2);margin:var(--space-4) 0}.scrambled-letter{display:inline-block;background:var(--bg-gradient-button);color:#fff;font-size:var(--text-xl);font-weight:700;padding:var(--space-3);border-radius:var(--radius-lg);min-width:50px;text-align:center;box-shadow:var(--shadow-md);animation:letterFloat 2s ease-in-out infinite;animation-delay:calc(var(--letter-index, 0) * .1s)}.answer-form{margin:var(--space-6) 0}.input-group{display:flex;gap:var(--space-3);align-items:center;justify-content:center}.anagram-input{padding:var(--space-3);font-size:var(--text-lg);border:2px solid var(--primary-500);border-radius:var(--radius-lg);background:var(--glass-light);color:var(--gray-100);text-align:center;text-transform:uppercase;letter-spacing:2px;min-width:200px}.anagram-input:focus{outline:none;border-color:var(--gold-500);box-shadow:var(--glow-gold)}.submit-btn{padding:var(--space-3) var(--space-6);background:var(--bg-gradient-gold);color:var(--gray-900);border:none;border-radius:var(--radius-lg);font-weight:700;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-cubic)}.submit-btn:hover{transform:translateY(-2px);box-shadow:var(--glow-gold)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes letterFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.number-target-game .minigame h2:before{content:"🧮";font-size:var(--text-2xl)}.target-area{text-align:center;margin:var(--space-6) 0;animation:fadeInScale var(--duration-normal) var(--ease-out-cubic) .6s both}.numbers-display{margin-bottom:var(--space-4)}.numbers-container{display:flex;justify-content:center;gap:var(--space-3);margin:var(--space-4) 0}.number-tile{background:var(--bg-gradient-button);color:#fff;font-size:var(--text-xl);font-weight:700;padding:var(--space-4);border-radius:var(--radius-lg);min-width:60px;text-align:center;box-shadow:var(--shadow-md);animation:tileGlow 2s ease-in-out infinite}.target-display{margin-bottom:var(--space-6)}.target-number{color:var(--gold-400);font-weight:700;font-size:var(--text-2xl)}.equation-builder{margin:var(--space-6) 0}.equation-display{margin-bottom:var(--space-4)}.equation-input{width:100%;max-width:400px;padding:var(--space-3);font-size:var(--text-lg);border:2px solid var(--primary-500);border-radius:var(--radius-lg);background:var(--glass-light);color:var(--gray-100);text-align:center}.number-buttons,.operator-buttons{margin:var(--space-4) 0}.button-row{display:flex;justify-content:center;gap:var(--space-2);flex-wrap:wrap}.number-btn,.operator-btn{padding:var(--space-3);font-size:var(--text-lg);border:2px solid var(--primary-500);border-radius:var(--radius-lg);background:var(--bg-gradient-button);color:#fff;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-cubic);min-width:50px}.number-btn:hover,.operator-btn:hover{transform:translateY(-2px);box-shadow:var(--glow-primary)}.control-buttons{display:flex;justify-content:center;gap:var(--space-3);margin-top:var(--space-4)}.control-btn{padding:var(--space-3) var(--space-4);background:var(--gray-700);color:var(--gray-300);border:2px solid var(--gray-600);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-normal) var(--ease-out-cubic)}.control-btn:hover{background:var(--gray-600);border-color:var(--gray-500)}.word-completion-game .minigame h2:before{content:"📝";font-size:var(--text-2xl)}.word-area{text-align:center;margin:var(--space-6) 0;animation:fadeInScale var(--duration-normal) var(--ease-out-cubic) .6s both}.pattern-display{margin-bottom:var(--space-6)}.pattern-container{display:flex;justify-content:center;gap:var(--space-1);margin:var(--space-4) 0}.pattern-char{display:inline-block;font-size:var(--text-2xl);font-weight:700;padding:var(--space-3);border-radius:var(--radius-lg);min-width:50px;text-align:center;border:2px solid}.pattern-char.given{background:var(--bg-gradient-gold);color:var(--gray-900);border-color:var(--gold-500)}.pattern-char.missing{background:var(--glass-light);color:var(--primary-400);border-color:var(--primary-500);border-style:dashed}.pattern-hint{font-size:var(--text-sm);color:var(--gray-400);margin-top:var(--space-2)}.completion-form{margin:var(--space-6) 0}.completion-input{padding:var(--space-3);font-size:var(--text-lg);border:2px solid var(--primary-500);border-radius:var(--radius-lg);background:var(--glass-light);color:var(--gray-100);text-align:center;text-transform:uppercase;letter-spacing:3px;min-width:250px}.completion-input.valid{border-color:var(--success-500);box-shadow:0 0 10px #22c55e4d}.completion-input.invalid{border-color:var(--error-500);box-shadow:0 0 10px #ef44444d}.input-feedback{margin-top:var(--space-2);font-size:var(--text-sm)}.error-msg{color:var(--error-400)}.warning-msg{color:var(--warning-400)}.success-msg{color:var(--success-400)}.pattern-memory-game .minigame h2:before{content:"🧠";font-size:var(--text-2xl)}.memorize-phase{text-align:center;margin:var(--space-6) 0;padding:var(--space-4);background:rgba(59,130,246,.1);border:2px solid var(--info-500);border-radius:var(--radius-lg);animation:pulse 2s infinite}.countdown{font-size:var(--text-lg);color:var(--info-400);font-weight:700}.pattern-area{text-align:center;margin:var(--space-6) 0;animation:fadeInScale var(--duration-normal) var(--ease-out-cubic) .6s both}.button-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:var(--space-4);max-width:400px;margin:0 auto var(--space-6)}.pattern-button{aspect-ratio:1;font-size:var(--text-xl);font-weight:700;border:3px solid var(--primary-500);border-radius:var(--radius-lg);background:var(--glass-light);color:var(--primary-400);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic);position:relative;overflow:hidden}.pattern-button:hover:not(:disabled){transform:scale(1.05);border-color:var(--primary-400);box-shadow:var(--glow-primary)}.pattern-button.highlighted{background:var(--bg-gradient-gold);color:var(--gray-900);border-color:var(--gold-500);transform:scale(1.1);box-shadow:var(--glow-gold);animation:buttonFlash .5s ease-in-out}.pattern-button.in-pattern{border-color:var(--success-500);background:rgba(34,197,94,.2)}.pattern-button:disabled{opacity:.5;cursor:not-allowed}@keyframes buttonFlash{0%,to{background:var(--bg-gradient-gold);box-shadow:var(--glow-gold)}50%{background:linear-gradient(135deg,#ffffff,var(--gold-300));box-shadow:0 0 30px #fffc}}.game-controls{margin:var(--space-4) 0}.sequence-info{font-size:var(--text-sm);color:var(--primary-400);margin-bottom:var(--space-3)}.reset-btn{padding:var(--space-2) var(--space-4);background:var(--error-600);color:#fff;border:2px solid var(--error-500);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-normal) var(--ease-out-cubic)}.reset-btn:hover:not(:disabled){background:var(--error-500);transform:translateY(-2px)}.reset-btn:disabled{opacity:.5;cursor:not-allowed}.progress-section{margin:var(--space-6) 0}.player-progress{margin:var(--space-3) 0;padding:var(--space-3);background:var(--glass-light);border-radius:var(--radius-lg);border:2px solid var(--primary-500)}.player-progress.my-progress{border-color:var(--gold-500)}.progress-label{font-size:var(--text-sm);color:var(--gray-400);margin-bottom:var(--space-2)}.sequence-display{display:flex;justify-content:center;gap:var(--space-2);flex-wrap:wrap}.sequence-item{display:inline-block;background:var(--bg-gradient-button);color:#fff;font-weight:700;padding:var(--space-2);border-radius:var(--radius-md);min-width:30px;text-align:center}.my-sequence .sequence-item{background:var(--bg-gradient-gold);color:var(--gray-900)}.sequence-placeholder{display:inline-block;background:var(--gray-700);color:var(--gray-500);font-weight:700;padding:var(--space-2);border-radius:var(--radius-md);min-width:30px;text-align:center;border:2px dashed var(--gray-600)}.antonym-race-game .minigame h2:before{content:"↔️";font-size:var(--text-2xl)}.antonym-area{text-align:center;margin:var(--space-6) 0;animation:fadeInScale var(--duration-normal) var(--ease-out-cubic) .6s both}.current-word{font-size:var(--text-4xl);font-weight:700;color:var(--gold-400);text-shadow:0 0 20px rgba(245,158,11,.5);margin:var(--space-4) 0;padding:var(--space-6);background:var(--glass-dark);border:3px solid var(--gold-500);border-radius:var(--radius-2xl);box-shadow:var(--glow-gold);animation:wordPulse 2s ease-in-out infinite}@keyframes wordPulse{0%,to{transform:scale(1);box-shadow:var(--glow-gold)}50%{transform:scale(1.02);box-shadow:0 0 30px #f59e0bcc}}.hints-section{margin:var(--space-4) 0}.hint-text{font-size:var(--text-sm);color:var(--gray-400);font-style:italic}.antonym-form{margin:var(--space-6) 0}.antonym-input{padding:var(--space-3);font-size:var(--text-lg);border:2px solid var(--primary-500);border-radius:var(--radius-lg);background:var(--glass-light);color:var(--gray-100);text-align:center;text-transform:uppercase;letter-spacing:2px;min-width:200px}.antonym-input:focus{outline:none;border-color:var(--gold-500);box-shadow:var(--glow-gold)}.word-focus{margin:var(--space-6) 0;padding:var(--space-4);background:rgba(139,92,246,.1);border:2px solid var(--primary-500);border-radius:var(--radius-lg)}.word-spotlight{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.word-label{font-size:var(--text-lg);color:var(--primary-400)}.spotlight-word{font-size:var(--text-2xl);font-weight:700;color:var(--gold-400)}.spectator-answers{margin:var(--space-6) 0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.player-answer{padding:var(--space-4);background:var(--glass-light);border:2px solid var(--primary-500);border-radius:var(--radius-lg)}.player-answer h4{color:var(--primary-400);margin-bottom:var(--space-2)}.player-answer p{color:var(--gray-300);font-weight:700}.player-status{margin:var(--space-3) 0;padding:var(--space-3);background:var(--glass-light);border-radius:var(--radius-lg);border:2px solid var(--primary-500)}.player-status.my-status{border-color:var(--gold-500)}.status-label{font-size:var(--text-sm);color:var(--gray-400);margin-bottom:var(--space-1)}.status-value{color:var(--gray-200);font-weight:700}@media (max-width: 768px){.minigame{padding:var(--space-4)}.game-header{grid-template-columns:repeat(2,1fr)}.memory-match-board{gap:var(--space-2)}.card-front,.card-back{font-size:var(--text-lg)}.quick-click-area{height:200px;font-size:var(--text-lg)}.game2048-cell{font-size:var(--text-base)}.game2048-cell.tile-128,.game2048-cell.tile-256,.game2048-cell.tile-512{font-size:var(--text-sm)}.game2048-cell.tile-1024,.game2048-cell.tile-2048{font-size:var(--text-xs)}.sudoku-board{padding:var(--space-2);gap:1px;max-width:280px}.sudoku-cell{font-size:var(--text-lg)}.number-btn{width:40px;height:40px;font-size:var(--text-base)}.number-buttons{gap:var(--space-2)}}.minigame.flappy-bird{max-width:850px;padding:var(--space-4)}.minigame.flappy-bird h2{background:linear-gradient(135deg,#FFD700,#FFA500);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3)}.flappy-bird .game-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding:var(--space-4);background:rgba(0,0,0,.2);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.flappy-bird .scores{display:flex;gap:var(--space-6)}.flappy-bird .player-score{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3);background:rgba(255,255,255,.1);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.2)}.flappy-bird .player-name{font-weight:700;font-size:var(--text-sm)}.flappy-bird .score{font-size:var(--text-lg);font-weight:700;color:var(--primary-300)}.flappy-bird .status{font-size:var(--text-xl)}.flappy-bird .game-time{font-size:var(--text-sm);color:var(--text-muted);text-align:center;padding:var(--space-2);background:rgba(255,255,255,.05);border-radius:var(--radius-md)}.flappy-bird #flappy-bird-container{border:3px solid rgba(139,92,246,.4);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xl);background:linear-gradient(180deg,#87CEEB 0%,#98D8E8 100%)}.space-racers #flappy-bird-container{border:3px solid rgba(0,255,255,.4);box-shadow:0 0 30px #00ffff4d,0 0 60px #f0f3;background:#000033}.flappy-bird .game-controls{margin-top:var(--space-4);text-align:center;padding:var(--space-4);background:rgba(0,0,0,.2);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.flappy-bird .ready-status{margin-bottom:var(--space-4)}.flappy-bird .ready-status p{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-2);color:var(--primary-300)}.flappy-bird .ready-player{display:inline-block;margin:0 var(--space-2);padding:var(--space-1) var(--space-3);background:rgba(34,197,94,.2);color:var(--success-400);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:700}.flappy-bird .ready-button{background:var(--bg-gradient-button);color:#fff;border:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);font-size:var(--text-lg);font-weight:700;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-lg);animation:pulse 2s infinite}.flappy-bird .ready-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.flappy-bird .controls{margin-top:var(--space-4);text-align:center;padding:var(--space-3);background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-lg)}.flappy-bird .controls p{margin:var(--space-1) 0;font-weight:700;color:var(--success-300)}.flappy-bird .game-over{margin-top:var(--space-4);text-align:center;padding:var(--space-6);background:rgba(239,68,68,.1);border:2px solid rgba(239,68,68,.3);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideInUp var(--duration-normal) var(--ease-out-cubic)}.flappy-bird .game-over h3{font-size:var(--text-2xl);margin-bottom:var(--space-4);color:var(--danger-300)}.flappy-bird .final-scores{margin:var(--space-4) 0}.flappy-bird .final-scores p{font-size:var(--text-lg);margin:var(--space-2) 0;font-weight:700}.flappy-bird .winner{font-size:var(--text-xl);font-weight:700;color:var(--warning-300);margin-top:var(--space-4);animation:bounce 1s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}60%{transform:translateY(-3px)}}.minigame.racecar{max-width:850px;padding:var(--space-4)}.minigame.racecar h2{background:linear-gradient(135deg,#FF4500,#FFD700);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3)}.racecar .game-info{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4);padding:var(--space-4);background:rgba(0,0,0,.2);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.racecar .race-stats{display:flex;flex-direction:column;gap:var(--space-2)}.racecar .stat{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:rgba(255,255,255,.1);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.2)}.racecar .stat .label{font-size:var(--text-sm);color:var(--text-muted);font-weight:700}.racecar .stat .value{font-size:var(--text-lg);font-weight:700;color:var(--primary-300)}.racecar .player-standings{display:flex;flex-direction:column;gap:var(--space-3);min-width:250px}.racecar .standing{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:rgba(255,255,255,.1);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.2);transition:all var(--duration-fast) var(--ease-out)}.racecar .standing:hover{background:rgba(255,255,255,.15);transform:translateY(-1px)}.racecar .position{font-size:var(--text-xl);min-width:30px}.racecar .player-name{font-weight:700;font-size:var(--text-base);flex:1}.racecar .laps{font-size:var(--text-sm);color:var(--text-muted);font-weight:700}.racecar #racecar-container{border:3px solid rgba(255,69,0,.4);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xl);background:linear-gradient(180deg,#228B22 0%,#32CD32 100%)}.racecar .game-controls{margin-top:var(--space-4);text-align:center;padding:var(--space-4);background:rgba(0,0,0,.2);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.racecar .ready-status{margin-bottom:var(--space-4)}.racecar .ready-status p{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-2);color:var(--primary-300)}.racecar .ready-player{display:inline-block;margin:0 var(--space-2);padding:var(--space-1) var(--space-3);background:rgba(34,197,94,.2);color:var(--success-400);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:700}.racecar .ready-button{background:linear-gradient(135deg,#FF4500,#FFD700);color:#fff;border:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);font-size:var(--text-lg);font-weight:700;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-lg);animation:pulse 2s infinite}.racecar .ready-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.racecar .controls{margin-top:var(--space-4);text-align:center;padding:var(--space-4);background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-lg)}.racecar .controls p{margin-bottom:var(--space-3);font-weight:700;color:var(--success-300);font-size:var(--text-lg)}.racecar .control-hints{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2);margin-top:var(--space-3)}.racecar .control-hints span{padding:var(--space-2);background:rgba(255,255,255,.1);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:700;color:var(--text-light)}.racecar .game-over{margin-top:var(--space-4);text-align:center;padding:var(--space-6);background:rgba(255,215,0,.1);border:2px solid rgba(255,215,0,.3);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideInUp var(--duration-normal) var(--ease-out-cubic)}.racecar .game-over h3{font-size:var(--text-2xl);margin-bottom:var(--space-4);color:var(--warning-300)}.racecar .final-results{margin:var(--space-4) 0}.racecar .winner-announcement{margin-bottom:var(--space-4);padding:var(--space-4);background:rgba(255,215,0,.2);border-radius:var(--radius-lg)}.racecar .winner{font-size:var(--text-xl);font-weight:700;color:var(--warning-300);animation:bounce 1s infinite}.racecar .final-standings h4{font-size:var(--text-lg);margin-bottom:var(--space-3);color:var(--primary-300)}.racecar .result{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);margin:var(--space-2) 0;background:rgba(255,255,255,.1);border-radius:var(--radius-md);font-weight:700}@keyframes checkered-flag{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.racecar .winner{animation:checkered-flag .5s ease-in-out infinite}.split-screen-spectator{width:100%;max-width:1400px;height:100%;display:flex;flex-direction:column;gap:var(--space-4);animation:fadeInScale var(--duration-normal) var(--ease-out-cubic)}.spectator-header{text-align:center;background:var(--glass-dark);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:2px solid var(--primary-500);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:var(--shadow-lg),var(--glow-primary);animation:slideInDown var(--duration-normal) var(--ease-out-cubic) .2s both}.spectator-header h2{font-size:var(--text-xl);color:var(--primary-400);margin-bottom:var(--space-2);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.spectator-header h2:before{content:"👁️";font-size:var(--text-2xl)}.spectator-header p{font-size:var(--text-sm);color:var(--gray-300)}.split-screen-container{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);flex:1;min-height:600px;animation:slideInUp var(--duration-normal) var(--ease-out-cubic) .4s both}.player-section{background:var(--glass-dark);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:2px solid rgba(139,92,246,.3);border-radius:var(--radius-xl);padding:var(--space-4);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);position:relative;overflow:hidden;transition:all var(--duration-normal) var(--ease-out-cubic)}.player-section:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.left-player:before{background:linear-gradient(90deg,var(--primary-500),var(--primary-400))}.right-player:before{background:linear-gradient(90deg,var(--gold-500),var(--gold-400))}.left-player{border-color:var(--primary-500);animation:slideInLeft var(--duration-normal) var(--ease-out-cubic) .6s both}.right-player{border-color:var(--gold-500);animation:slideInRight var(--duration-normal) var(--ease-out-cubic) .8s both}.player-header{text-align:center;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid rgba(139,92,246,.2)}.left-player .player-header{border-bottom-color:#8b5cf64d}.right-player .player-header{border-bottom-color:#f59e0b4d}.player-header h3{font-size:var(--text-lg);margin-bottom:var(--space-2)}.left-player .player-header h3{color:var(--primary-400)}.right-player .player-header h3{color:var(--gold-400)}.player-id{font-size:var(--text-xs);color:var(--gray-500);background:rgba(255,255,255,.05);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md)}.game-container{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:var(--space-4);margin:0}.game-container .minigame{width:100%;max-width:500px;border:none;background:transparent;padding:var(--space-2);box-shadow:none}.game-container .minigame:before{display:none}.waiting-for-game{display:flex;align-items:center;justify-content:center;height:200px;background:rgba(255,255,255,.02);border:2px dashed var(--gray-600);border-radius:var(--radius-lg);animation:pulse 2s infinite;margin:var(--space-4) 0;padding:var(--space-4)}.waiting-for-game p{color:var(--gray-500);font-size:var(--text-sm);text-align:center;margin:0;padding:0;line-height:1.4}.game-container .match2-board{max-width:300px;gap:var(--space-2)}.game-container .game2048-board{max-width:250px}.game-container .reaction-area{max-width:400px;height:200px}.game-container .reaction-button{width:200px;height:200px;font-size:var(--text-lg)}.game-container .sudoku-board{max-width:450px;width:100%;padding:var(--space-3);gap:2px;aspect-ratio:1}.game-container .sudoku-cell{font-size:var(--text-lg);min-height:40px}.game-container .number-input{display:none}.game-container .maze-canvas{max-width:300px;max-height:300px}@media (max-width: 1200px){.split-screen-container{grid-template-columns:1fr;gap:var(--space-4)}}@media (max-width: 768px){.split-screen-spectator{gap:var(--space-3)}.player-section,.spectator-header{padding:var(--space-3)}.split-screen-container{min-height:400px;gap:var(--space-3)}.game-container .minigame{max-width:none;padding:var(--space-1)}.game-container .match2-board{max-width:250px}.game-container .game2048-board{max-width:200px}.game-container .reaction-area{max-width:300px;height:150px}.game-container .sudoku-board{max-width:350px}.game-container .sudoku-cell{font-size:var(--text-base);min-height:35px}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.minigame.platform-push{max-width:900px;padding:var(--space-4);background:linear-gradient(135deg,rgba(139,92,246,.1) 0%,rgba(59,130,246,.1) 100%);border:3px solid rgba(139,92,246,.4);animation:fadeInScale var(--duration-normal) var(--ease-out-cubic)}.minigame.platform-push h2{background:linear-gradient(135deg,#8B0000,#FF4444);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3);font-size:var(--text-3xl);margin-bottom:var(--space-4)}.platform-push .game-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding:var(--space-4);background:rgba(0,0,0,.3);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(139,92,246,.2);box-shadow:var(--shadow-lg);animation:slideInDown var(--duration-normal) var(--ease-out-cubic) .2s both}.platform-push .battle-stats{flex:1}.platform-push .player-status{width:100%}.platform-push .status-panel{background:rgba(0,0,0,.4);border:2px solid rgba(139,92,246,.3);border-radius:var(--radius-lg);padding:var(--space-3)}.platform-push .status-header{text-align:center;margin-bottom:var(--space-3)}.platform-push .movement-status{font-size:var(--text-lg);font-weight:700;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);display:inline-block}.platform-push .movement-status.grounded{background:rgba(34,197,94,.2);color:#22c55e;border:1px solid rgba(34,197,94,.4)}.platform-push .movement-status.airborne{background:rgba(59,130,246,.2);color:#3b82f6;border:1px solid rgba(59,130,246,.4);animation:pulse 1s ease-in-out infinite}.platform-push .eliminated{font-size:var(--text-xl);font-weight:700;color:#ef4444;animation:shake .5s ease-in-out}.platform-push .abilities{display:flex;gap:var(--space-4);justify-content:space-around}.platform-push .ability{flex:1;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:var(--space-3);text-align:center}.platform-push .ability-icon{font-size:var(--text-2xl);display:block;margin-bottom:var(--space-1)}.platform-push .ability-name{font-size:var(--text-sm);color:var(--gray-300);display:block;margin-bottom:var(--space-2)}.platform-push .ability .cooldown{color:#ef4444;font-weight:700;font-size:var(--text-lg)}.platform-push .ability .ready{color:#22c55e;font-weight:700;font-size:var(--text-lg);animation:ninja-glow 1s ease-in-out infinite alternate}.platform-push .ability .active{color:gold;font-weight:700;font-size:var(--text-lg);animation:pulse .5s ease-in-out infinite}.platform-push .progress-bar{width:100%;height:8px;background:rgba(255,255,255,.1);border-radius:var(--radius-full);margin-top:var(--space-2);overflow:hidden;position:relative}.platform-push .progress-bar.full{background:rgba(34,197,94,.2);border:1px solid rgba(34,197,94,.4)}.platform-push .progress-bar.active{background:rgba(255,215,0,.2);border:1px solid rgba(255,215,0,.4)}.platform-push .progress-fill{height:100%;background:linear-gradient(90deg,#3B82F6,#8B5CF6);position:relative;overflow:hidden}.platform-push .progress-bar.full .progress-fill{background:linear-gradient(90deg,#22C55E,#10B981)}.platform-push .progress-bar.active .progress-fill{background:linear-gradient(90deg,#FFD700,#FFA500);animation:shimmer 1s ease-in-out infinite}.platform-push .progress-fill:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shine 2s ease-in-out infinite}@keyframes ninja-glow{0%{text-shadow:0 0 5px rgba(34,197,94,.5)}to{text-shadow:0 0 10px rgba(34,197,94,.8)}}@keyframes shimmer{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}@keyframes shine{to{left:100%}}.platform-push .stat{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2)}.platform-push .stat .label{font-size:var(--text-sm);color:var(--gray-400);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.platform-push .stat .value{font-size:var(--text-base);color:var(--gold-400);font-weight:700}.platform-push .player-standings{display:flex;gap:var(--space-4)}.platform-push .standing{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:rgba(255,255,255,.05);border-radius:var(--radius-lg);border:2px solid rgba(139,92,246,.3);transition:all var(--duration-normal) var(--ease-out-cubic)}.platform-push .standing:hover{background:rgba(255,255,255,.1);transform:translateY(-2px);box-shadow:var(--shadow-md)}.platform-push .standing .status{font-size:var(--text-xl)}.platform-push .standing .player-name{font-weight:700;font-size:var(--text-base)}.platform-push .standing .state{font-size:var(--text-sm);color:var(--gray-400);font-weight:700}.platform-push #platform-push-container{border:3px solid rgba(139,92,246,.4);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xl);background:linear-gradient(180deg,#87CEEB 0%,#98D8E8 100%);margin:var(--space-4) auto;animation:fadeInScale var(--duration-normal) var(--ease-out-cubic) .4s both}.platform-push .game-controls{margin-top:var(--space-4);text-align:center;padding:var(--space-6);background:rgba(0,0,0,.3);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(139,92,246,.2);animation:slideInUp var(--duration-normal) var(--ease-out-cubic) .6s both}.platform-push .ready-status{margin-bottom:var(--space-4)}.platform-push .ready-status p{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-3);color:var(--primary-300);text-transform:uppercase;letter-spacing:1px}.platform-push .ready-player{display:inline-block;margin:0 var(--space-2);padding:var(--space-2) var(--space-4);background:linear-gradient(135deg,rgba(34,197,94,.2),rgba(34,197,94,.3));color:var(--success-400);border:2px solid var(--success-500);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:700;animation:bounceIn var(--duration-normal) var(--ease-bounce);box-shadow:0 0 10px #22c55e4d}.platform-push .ready-button{background:linear-gradient(135deg,#8B0000 0%,#FF4444 50%,#8B0000 100%);background-size:200% 100%;color:#fff;border:3px solid #FF4444;padding:var(--space-4) var(--space-8);border-radius:var(--radius-full);font-size:var(--text-xl);font-weight:700;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-cubic);box-shadow:0 4px 15px #f446,0 0 20px #8b00004d,inset 0 -2px 5px #0003;text-transform:uppercase;letter-spacing:2px;position:relative;overflow:hidden;animation:readyPulse 2s ease-in-out infinite}.platform-push .ready-button:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);transform:rotate(45deg);transition:all .6s;opacity:0}.platform-push .ready-button:hover{transform:translateY(-3px) scale(1.05);background-position:100% 0;box-shadow:0 6px 20px #f449,0 0 30px #8b000080,inset 0 -2px 5px #0000004d;border-color:#f66}.platform-push .ready-button:hover:before{left:100%;opacity:1}.platform-push .ready-button:active{transform:translateY(-1px) scale(1.02);box-shadow:0 2px 10px #f449,inset 0 2px 5px #0000004d}@keyframes readyPulse{0%,to{box-shadow:0 4px 15px #f446,0 0 20px #8b00004d,inset 0 -2px 5px #0003}50%{box-shadow:0 4px 20px #f449,0 0 35px #8b000080,inset 0 -2px 5px #0003}}.platform-push .controls{margin-top:var(--space-4);text-align:center;padding:var(--space-4);background:rgba(34,197,94,.1);border:2px solid rgba(34,197,94,.3);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideInUp var(--duration-normal) var(--ease-out-cubic) .8s both}.platform-push .controls p{margin-bottom:var(--space-3);font-weight:700;color:var(--success-300);font-size:var(--text-lg);text-transform:uppercase;letter-spacing:1px}.platform-push .control-hints{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3);margin-top:var(--space-3)}.platform-push .control-hints span{padding:var(--space-3);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:700;color:var(--text-light);transition:all var(--duration-fast) var(--ease-out)}.platform-push .control-hints span:hover{background:rgba(255,255,255,.15);transform:translateY(-1px)}.platform-push .game-over{margin-top:var(--space-4);text-align:center;padding:var(--space-6);background:linear-gradient(135deg,rgba(255,215,0,.1),rgba(255,68,68,.1));border:2px solid rgba(255,215,0,.3);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideInUp var(--duration-normal) var(--ease-out-cubic);box-shadow:var(--shadow-xl)}.platform-push .game-over h3{font-size:var(--text-2xl);margin-bottom:var(--space-4);background:linear-gradient(135deg,#FFD700,#FF4444);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.platform-push .winner-announcement{margin-bottom:var(--space-4);padding:var(--space-4);background:rgba(255,215,0,.2);border-radius:var(--radius-lg);border:2px solid rgba(255,215,0,.4)}.platform-push .winner{font-size:var(--text-xl);font-weight:700;color:var(--warning-300);animation:victoryBounce 1s ease-in-out infinite}.platform-push .final-standings h4{font-size:var(--text-lg);margin-bottom:var(--space-3);color:var(--primary-300)}.platform-push .result{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);margin:var(--space-2) 0;background:rgba(255,255,255,.1);border-radius:var(--radius-md);font-weight:700;border:1px solid rgba(255,255,255,.2);transition:all var(--duration-fast) var(--ease-out)}.platform-push .result:hover{background:rgba(255,255,255,.15);transform:translate(5px)}@keyframes victoryBounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (max-width: 768px){.platform-push .game-info{flex-direction:column;gap:var(--space-3)}.platform-push .player-standings{flex-direction:column;width:100%}.platform-push .control-hints{grid-template-columns:1fr;font-size:var(--text-xs)}.platform-push .ready-button{font-size:var(--text-lg);padding:var(--space-3) var(--space-6)}}@media (max-width: 480px){.platform-push #platform-push-container{width:100%!important;height:auto!important}.platform-push .control-hints span{padding:var(--space-2);font-size:var(--text-xs)}}.minigame.tennis{max-width:900px;padding:var(--space-4);background:linear-gradient(135deg,rgba(26,95,63,.2) 0%,rgba(52,152,219,.2) 100%);border:3px solid rgba(26,95,63,.6);animation:fadeInScale var(--duration-normal) var(--ease-out-cubic);box-shadow:0 8px 32px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.minigame.tennis h2{background:linear-gradient(135deg,#2ecc71,#3498db);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3);font-size:var(--text-3xl);margin-bottom:var(--space-4);text-align:center;letter-spacing:2px;animation:titleGlow 2s ease-in-out infinite}@keyframes titleGlow{0%,to{filter:brightness(1) drop-shadow(0 0 10px rgba(46,204,113,.5))}50%{filter:brightness(1.2) drop-shadow(0 0 20px rgba(52,152,219,.7))}}.tennis .game-info{margin-bottom:var(--space-4);padding:var(--space-3);background:rgba(0,0,0,.3);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1)}.tennis .match-players{display:flex;align-items:center;justify-content:center;gap:var(--space-6);margin-bottom:var(--space-3)}.tennis .match-players .player-name{font-size:var(--text-lg);font-weight:700;text-transform:uppercase;letter-spacing:1px}.tennis .vs{font-size:var(--text-2xl);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:2px}.tennis .match-status{text-align:center;font-size:var(--text-base);color:var(--text-light)}.tennis .match-status .winner{font-size:var(--text-xl);font-weight:700;color:var(--gold-400);text-shadow:0 0 10px rgba(255,215,0,.5);animation:victoryPulse 1s ease-in-out infinite}@keyframes victoryPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.tennis #tennis-container{border:4px solid rgba(26,95,63,.8);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 0 40px #2ecc714d,0 10px 40px #00000080,inset 0 0 20px #0000004d;background:linear-gradient(180deg,#1a5f3f 0%,#0e3a24 100%);margin:var(--space-4) auto;animation:courtAppear var(--duration-normal) var(--ease-out-cubic) .2s both;position:relative}.tennis #tennis-container:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,#2ecc71,#3498db,#2ecc71);border-radius:var(--radius-lg);opacity:.5;z-index:-1;animation:borderRotate 4s linear infinite}@keyframes courtAppear{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes borderRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tennis canvas{display:block;width:100%!important;height:auto!important;image-rendering:crisp-edges;image-rendering:pixelated}.tennis .ready-button-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100}.tennis .ready-button{background:linear-gradient(135deg,#2ecc71 0%,#27ae60 50%,#2ecc71 100%);background-size:200% 100%;color:#fff;border:3px solid #27ae60;padding:var(--space-4) var(--space-8);border-radius:var(--radius-full);font-size:var(--text-xl);font-weight:700;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-cubic);box-shadow:0 4px 15px #2ecc7166,0 0 20px #27ae604d,inset 0 -2px 5px #0003;text-transform:uppercase;letter-spacing:2px;position:relative;overflow:hidden;animation:readyBounce 1s ease-in-out infinite}.tennis .ready-button:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);transform:rotate(45deg);transition:all .6s;opacity:0}.tennis .ready-button:hover{transform:translateY(-3px) scale(1.05);background-position:100% 0;box-shadow:0 6px 20px #2ecc7199,0 0 30px #27ae6080,inset 0 -2px 5px #0000004d;border-color:#2ecc71}.tennis .ready-button:hover:before{left:100%;opacity:1}@keyframes readyBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.tennis .controls-hint{margin-top:var(--space-3);background:rgba(0,0,0,.3);padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1);font-size:var(--text-sm);color:var(--text-light);text-align:center;animation:slideInUp var(--duration-normal) var(--ease-out-cubic) .5s both}.tennis .controls-hint .key{display:inline-block;background:rgba(255,255,255,.2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);margin:0 var(--space-1);font-weight:700;border:1px solid rgba(255,255,255,.3)}.tennis .rally-counter{position:absolute;top:var(--space-12);left:50%;transform:translate(-50%);background:rgba(255,215,0,.2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);border:2px solid rgba(255,215,0,.4);font-size:var(--text-lg);font-weight:700;color:var(--gold-300);animation:rallyPulse .5s ease-out}@keyframes rallyPulse{0%{transform:translate(-50%) scale(1.3);opacity:.7}to{transform:translate(-50%) scale(1);opacity:1}}.tennis .powerup-indicator{position:absolute;background:rgba(0,0,0,.8);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);border:2px solid rgba(255,215,0,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:powerupGlow .5s ease-in-out infinite alternate}.tennis .powerup-indicator.player1{top:var(--space-20);left:var(--space-4)}.tennis .powerup-indicator.player2{top:var(--space-20);right:var(--space-4)}@keyframes powerupGlow{0%{box-shadow:0 0 10px #ffd70066;border-color:#ffd70099}to{box-shadow:0 0 20px #ffd700cc;border-color:gold}}.tennis .game-over-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);animation:fadeIn var(--duration-normal) ease-out}.tennis .game-over-title{font-size:var(--text-4xl);font-weight:700;text-transform:uppercase;letter-spacing:3px;animation:victoryZoom .5s ease-out}.tennis .game-over-title.winner{background:linear-gradient(135deg,#FFD700,#FFA500);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 20px rgba(255,215,0,.5))}.tennis .game-over-title.loser{color:var(--error-400);filter:drop-shadow(0 0 10px rgba(239,68,68,.5))}@keyframes victoryZoom{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 768px){.tennis h2{font-size:var(--text-2xl)}.tennis .controls-hint{font-size:var(--text-xs);padding:var(--space-2) var(--space-4)}.tennis .ready-button{font-size:var(--text-lg);padding:var(--space-3) var(--space-6)}}@media (max-width: 480px){.tennis #tennis-container{width:100%!important;height:auto!important}.tennis .score-display{gap:var(--space-4);padding:var(--space-2) var(--space-4)}}.typing-speed-game .minigame h2:before{content:"⌨️";font-size:var(--text-2xl)}.typing-area{background:rgba(0,0,0,.2);border:2px solid rgba(139,92,246,.3);border-radius:var(--radius-xl);padding:var(--space-6);margin:var(--space-6) 0;text-align:center;position:relative;overflow:hidden}.typing-area:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--bg-gradient-button);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.word-display{margin-bottom:var(--space-6)}.current-word{font-size:2.5rem;font-family:"Press Start 2P",monospace;font-weight:700;margin-bottom:var(--space-4);min-height:4rem;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px}.word-char{display:inline-block;padding:2px 1px;border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-out-cubic);position:relative}.word-char.completed{background:var(--success-500);color:#fff;transform:scale(1.05);box-shadow:0 0 10px #10b98180}.word-char.current{background:var(--primary-500);color:#fff;animation:currentChar 1s ease-in-out infinite;transform:scale(1.1);box-shadow:0 0 15px #8b5cf6cc}.word-char.pending{color:var(--gray-400);background:rgba(255,255,255,.1)}@keyframes currentChar{0%,to{box-shadow:0 0 15px #8b5cf6cc;transform:scale(1.1)}50%{box-shadow:0 0 25px #8b5cf6;transform:scale(1.15)}}.word-queue{display:flex;justify-content:center;gap:var(--space-4);margin-top:var(--space-4);flex-wrap:wrap}.queued-word{color:var(--gray-500);font-size:var(--text-lg);font-family:"Press Start 2P",monospace;padding:var(--space-2) var(--space-3);background:rgba(255,255,255,.05);border:1px solid rgba(139,92,246,.2);border-radius:var(--radius-md);transition:all var(--duration-normal) var(--ease-out-cubic)}.queued-word:hover{color:var(--gray-300);border-color:#8b5cf666}.input-area{margin-top:var(--space-6)}.typing-input{width:100%;max-width:500px;padding:var(--space-4);font-size:var(--text-xl);font-family:"Press Start 2P",monospace;background:rgba(0,0,0,.3);border:2px solid rgba(139,92,246,.5);border-radius:var(--radius-lg);color:#fff;text-align:center;transition:all var(--duration-normal) var(--ease-out-cubic);outline:none}.typing-input:focus{border-color:var(--primary-400);box-shadow:0 0 20px #8b5cf64d;background:rgba(0,0,0,.4)}.typing-input.frozen{background:rgba(239,68,68,.2);border-color:var(--error-500);color:var(--error-300);cursor:not-allowed}.typing-input::placeholder{color:var(--gray-500);font-size:var(--text-base)}.progress-bars{margin:var(--space-6) 0;display:flex;flex-direction:column;gap:var(--space-4)}.progress-bar{display:flex;flex-direction:column;gap:var(--space-2)}.progress-label{font-size:var(--text-sm);font-weight:700;color:var(--gray-300)}.progress-track{height:12px;background:rgba(0,0,0,.3);border-radius:var(--radius-full);border:1px solid rgba(139,92,246,.3);overflow:hidden;position:relative}.progress-fill{height:100%;background:var(--bg-gradient-button);border-radius:var(--radius-full);transition:width var(--duration-normal) var(--ease-out-cubic);position:relative;overflow:hidden}.progress-fill:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progressShine 2s ease-in-out infinite}.progress-fill.opponent{background:linear-gradient(135deg,var(--error-500),var(--error-600))}.opponent-score{border-color:#ef44444d}.opponent-score h3{color:var(--error-400)}.typing-speed-game .freeze-indicator{background:linear-gradient(135deg,var(--error-600),var(--error-700));border:3px solid var(--error-400);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center;color:#fff;font-weight:700;animation:freeze-pulse .5s ease-in-out infinite,shake .1s ease-in-out infinite;margin:var(--space-4) 0}.freeze-status{color:var(--error-400);font-weight:700;font-size:var(--text-xs);animation:freeze-pulse .5s ease-in-out infinite}@keyframes freeze-pulse{0%,to{box-shadow:0 0 20px #ef444480;transform:scale(1)}50%{box-shadow:0 0 30px #ef4444cc;transform:scale(1.02)}}.spectator-section{margin:var(--space-6) 0;padding:var(--space-6);background:rgba(0,0,0,.2);border:2px solid rgba(139,92,246,.3);border-radius:var(--radius-lg)}.player-statuses{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-4)}.player-status{padding:var(--space-4);background:rgba(255,255,255,.05);border:1px solid rgba(139,92,246,.2);border-radius:var(--radius-md)}.player-status h4{color:var(--primary-400);margin-bottom:var(--space-2)}.player-status p{margin:var(--space-1) 0;color:var(--gray-300)}@keyframes targetPulse{0%,to{transform:translate(-50%,-50%) scale(1);box-shadow:0 0 20px #0000004d,inset 0 0 20px #fff3}50%{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 0 30px #00000080,inset 0 0 30px #fff6}}@media (max-width: 768px){.current-word{font-size:1.8rem;min-height:3rem}.word-char{padding:1px}.queued-word{font-size:var(--text-base);padding:var(--space-1) var(--space-2)}.typing-input{font-size:var(--text-lg);padding:var(--space-3)}.word-queue{gap:var(--space-2)}}@media (max-width: 480px){.current-word{font-size:1.4rem;min-height:2.5rem}.typing-input{font-size:var(--text-base)}.typing-area{padding:var(--space-4)}}.target-click-game .minigame h2:before{content:"🎯";font-size:var(--text-2xl)}.target-click-game .game-area{position:relative;background:linear-gradient(135deg,rgba(0,0,0,.1) 0%,rgba(139,92,246,.05) 50%,rgba(0,0,0,.1) 100%);border:3px solid rgba(139,92,246,.4);border-radius:var(--radius-xl);box-shadow:inset 0 0 50px #8b5cf61a,var(--shadow-xl);transition:all var(--duration-normal) var(--ease-out-cubic);margin:var(--space-6) 0;overflow:hidden}.target-click-game .game-area:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--bg-gradient-button);border-radius:var(--radius-xl) var(--radius-xl) 0 0;z-index:1}.target-click-game .game-area:hover{border-color:#8b5cf699;box-shadow:inset 0 0 50px #8b5cf626,var(--shadow-2xl),0 0 30px #8b5cf633}.target{transition:all var(--duration-fast) var(--ease-out-cubic);position:relative;display:flex;align-items:center;justify-content:center}.target:hover{transform:translate(-50%,-50%) scale(1.05)!important;filter:brightness(1.2)}.target:active{transform:translate(-50%,-50%) scale(.95)!important;filter:brightness(1.4)}.target-center{pointer-events:none}@keyframes targetPulse{0%,to{transform:translate(-50%,-50%) scale(1);box-shadow:0 0 20px #0000004d,inset 0 0 20px #fff3,0 0 #fff6}50%{transform:translate(-50%,-50%) scale(1.05);box-shadow:0 0 30px #00000080,inset 0 0 30px #fff6,0 0 0 5px #fff3}}.waiting-target{animation:waitingPulse 2s ease-in-out infinite}@keyframes waitingPulse{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}.target-click-game .progress-bars{margin:var(--space-6) 0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.target-click-game .progress-bar{background:rgba(0,0,0,.2);border:2px solid rgba(139,92,246,.3);border-radius:var(--radius-lg);padding:var(--space-4);transition:all var(--duration-normal) var(--ease-out-cubic)}.target-click-game .progress-bar:hover{border-color:#8b5cf680;background:rgba(0,0,0,.3)}.target-click-game .progress-bar.my-progress{border-color:#10b9814d}.target-click-game .progress-bar.opponent-progress{border-color:#ef44444d}.target-click-game .progress-label{font-size:var(--text-sm);font-weight:700;color:var(--gray-300);margin-bottom:var(--space-2);text-align:center}.target-click-game .progress-track{height:16px;background:rgba(0,0,0,.4);border-radius:var(--radius-full);border:1px solid rgba(139,92,246,.3);overflow:hidden;position:relative}.target-click-game .progress-fill{height:100%;background:linear-gradient(135deg,var(--success-500),var(--success-600));border-radius:var(--radius-full);transition:width var(--duration-slow) var(--ease-out-cubic);position:relative;overflow:hidden}.target-click-game .progress-fill:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:progressShine 2s ease-in-out infinite}.target-click-game .progress-fill.opponent{background:linear-gradient(135deg,var(--error-500),var(--error-600))}@keyframes progressShine{0%{left:-100%}to{left:100%}}.target-click-game .score-box{position:relative;overflow:hidden}.target-click-game .score-box:after{content:"";position:absolute;top:0;right:0;width:3px;height:100%;background:var(--bg-gradient-button);opacity:.6}.target-click-game .game-message{background:var(--glass-dark);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:3px solid var(--gold-500);animation:bounceIn var(--duration-slow) var(--ease-bounce),targetGlow 2s ease-in-out infinite 1s}@keyframes targetGlow{0%,to{box-shadow:var(--shadow-2xl),0 0 20px #f59e0b4d}50%{box-shadow:var(--shadow-2xl),0 0 40px #f59e0b99}}@media (max-width: 768px){.target-click-game .game-area{height:300px}.target-click-game .progress-bars{grid-template-columns:1fr;gap:var(--space-3)}.target{min-width:40px!important;min-height:40px!important}}@media (max-width: 480px){.target-click-game .game-area{height:250px;margin:var(--space-4) 0}.target-click-game .progress-bar{padding:var(--space-3)}.target-click-game .progress-track{height:12px}.target{min-width:35px!important;min-height:35px!important}}.split-screen-spectator .target-click-game .game-area{height:200px;max-width:300px}.split-screen-spectator .target{min-width:25px!important;min-height:25px!important}.split-screen-spectator .target-click-game .progress-bars{grid-template-columns:1fr;gap:var(--space-2)}.split-screen-spectator .target-click-game .progress-bar{padding:var(--space-2)}.split-screen-spectator .target-click-game .progress-track{height:8px}.target-click-game .spectator-section{background:var(--bg-gradient-card);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);border:2px solid var(--primary-200)}.target-click-game .spectator-section h3{text-align:center;margin:0 0 var(--space-3) 0;color:var(--primary-600);font-size:var(--text-lg);font-weight:var(--font-bold)}.target-click-game .spectator-progress{display:flex;gap:var(--space-4);justify-content:space-around;margin-bottom:var(--space-4)}.target-click-game .player-progress{flex:1;background:var(--bg-gradient-subtle);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--primary-200);text-align:center}.target-click-game .player-progress h4{margin:0 0 var(--space-2) 0;color:var(--primary-600);font-size:var(--text-base);font-weight:var(--font-bold)}.target-click-game .progress-info{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.target-click-game .score-display{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--success-600);min-width:60px}.target-click-game .progress-bar-small{flex:1;height:12px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden}.target-click-game .player1-fill{background:var(--bg-gradient-success);height:100%;border-radius:var(--radius-full);transition:width var(--transition-smooth)}.target-click-game .player2-fill{background:var(--bg-gradient-warning);height:100%;border-radius:var(--radius-full);transition:width var(--transition-smooth)}.target-click-game .accuracy-info{margin:0;font-size:var(--text-xs);color:var(--info-600);font-weight:var(--font-medium)}.target-click-game .recent-activity{background:var(--bg-gradient-subtle);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.target-click-game .recent-activity h4{margin:0 0 var(--space-2) 0;color:var(--primary-600);font-size:var(--text-sm);font-weight:var(--font-bold);text-align:center}.target-click-game .click-history{display:flex;flex-direction:column;gap:var(--space-1);max-height:120px;overflow-y:auto}.target-click-game .click-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);background:var(--gray-50)}.target-click-game .click-item.hit{background:var(--success-50);border-left:3px solid var(--success-400)}.target-click-game .click-item.miss{background:var(--error-50);border-left:3px solid var(--error-400)}.target-click-game .player-indicator{font-weight:var(--font-bold);color:var(--primary-700);min-width:20px}.target-click-game .result.hit{color:var(--success-600);font-weight:var(--font-bold)}.target-click-game .result.miss{color:var(--error-600);font-weight:var(--font-bold)}.target-click-game .timing{color:var(--gray-500);font-size:var(--text-xs)}.target-click-game .no-activity{text-align:center;color:var(--gray-500);font-style:italic;margin:0;padding:var(--space-2)}.number-target-game{padding:var(--space-4);max-width:600px;margin:0 auto;font-family:"Press Start 2P",monospace}.number-target-game h2{text-align:center;margin-bottom:var(--space-6);color:var(--primary-600);font-size:var(--text-2xl);font-weight:var(--font-bold)}.number-target-game .game-header{display:flex;justify-content:space-around;margin-bottom:var(--space-6);gap:var(--space-4)}.number-target-game .score-box{background:var(--bg-gradient-subtle);padding:var(--space-3);border-radius:var(--radius-lg);text-align:center;min-width:80px;border:2px solid var(--primary-200)}.number-target-game .score-box p{margin:0 0 var(--space-1) 0;font-size:var(--text-sm);color:var(--gray-600);font-weight:var(--font-medium)}.number-target-game .score-box h3{margin:0;font-size:var(--text-lg);color:var(--primary-700);font-weight:var(--font-bold)}.number-target-game .problem-area{background:var(--bg-gradient-card);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);border:2px solid var(--primary-200)}.number-target-game .problem-display{text-align:center;margin-bottom:var(--space-6)}.number-target-game .problem-display h3{margin:0 0 var(--space-4) 0;font-size:var(--text-xl);color:var(--primary-600)}.number-target-game .math-problem{font-size:var(--text-3xl);font-weight:var(--font-bold);font-family:"Press Start 2P",monospace;color:var(--success-600);background:var(--success-50);padding:var(--space-4) var(--space-6);border-radius:var(--radius-xl);border:3px solid var(--success-200);display:inline-block;min-width:200px;box-shadow:var(--shadow-lg);letter-spacing:3px;animation:problemGlow 2s ease-in-out infinite}@keyframes problemGlow{0%,to{box-shadow:var(--shadow-lg);transform:scale(1)}50%{box-shadow:0 0 30px var(--success-400);transform:scale(1.02)}}.number-target-game .answer-input-section{background:var(--bg-gradient-subtle);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-4);border:2px solid var(--primary-200)}.number-target-game .answer-display{margin-bottom:var(--space-6)}.number-target-game .answer-input{width:100%;padding:var(--space-4);font-size:var(--text-2xl);font-family:"Press Start 2P",monospace;border:3px solid var(--primary-300);border-radius:var(--radius-lg);background:white;color:var(--gray-800);text-align:center;font-weight:var(--font-bold);transition:all var(--transition-fast);letter-spacing:2px}.number-target-game .answer-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.number-target-game .answer-input::placeholder{color:var(--gray-400);font-weight:var(--font-medium)}.number-target-game .number-pad{margin-bottom:var(--space-4)}.number-target-game .number-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);max-width:200px;margin:0 auto}.number-target-game .number-btn{background:var(--bg-gradient-gold);color:#fff;border:none;width:50px;height:50px;border-radius:var(--radius-lg);font-size:var(--text-lg);font-family:"Press Start 2P",monospace;font-weight:var(--font-bold);cursor:pointer;transition:all var(--transition-fast);border:2px solid var(--warning-300);letter-spacing:1px}.number-target-game .number-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);background:var(--bg-gradient-button-hover)}.number-target-game .operator-btn{background:var(--bg-gradient-button);color:#fff;border:none;width:50px;height:50px;border-radius:var(--radius-lg);font-size:var(--text-xl);font-family:"Press Start 2P",monospace;font-weight:var(--font-bold);cursor:pointer;transition:all var(--transition-fast);border:2px solid var(--primary-300)}.number-target-game .operator-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);background:var(--bg-gradient-button-hover)}.number-target-game .control-buttons{display:flex;justify-content:center;gap:var(--space-3);margin-top:var(--space-4)}.number-target-game .control-btn{background:var(--bg-gradient-warning);color:#fff;border:2px solid var(--warning-400);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:"Press Start 2P",monospace;font-weight:var(--font-bold);cursor:pointer;transition:all var(--transition-fast);min-width:50px;height:50px;box-shadow:var(--shadow-md);letter-spacing:1px}.number-target-game .control-btn:hover{background:var(--warning-600);border-color:var(--warning-500);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.number-target-game .submit-btn{background:var(--bg-gradient-success);color:#fff;border:none;padding:var(--space-4) var(--space-8);border-radius:var(--radius-lg);font-size:var(--text-lg);font-family:"Press Start 2P",monospace;font-weight:var(--font-bold);cursor:pointer;transition:all var(--transition-fast);border:2px solid var(--success-400);min-width:160px;text-transform:uppercase;letter-spacing:1px}.number-target-game .submit-btn:hover:not(:disabled){background:var(--success-600);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.number-target-game .submit-btn:disabled{background:var(--gray-300);color:var(--gray-500);border-color:var(--gray-300);cursor:not-allowed;transform:none}.number-target-game .clear-btn{background:var(--bg-gradient-error);color:#fff;border:2px solid var(--error-400);min-width:100px;font-family:"Press Start 2P",monospace;font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:1px}.number-target-game .spectator-section{background:var(--bg-gradient-card);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);border:2px solid var(--primary-200)}.number-target-game .player-progress{display:flex;gap:var(--space-4);justify-content:space-around}.number-target-game .player-info{flex:1;text-align:center;background:var(--bg-gradient-subtle);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--primary-200)}.number-target-game .player-info h4{margin:0 0 var(--space-2) 0;color:var(--primary-600);font-size:var(--text-base);font-weight:var(--font-bold)}.number-target-game .player-info p{margin:0 0 var(--space-1) 0;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--gray-700)}.number-target-game .progress-section{margin-bottom:var(--space-4)}.number-target-game .progress-bars{display:flex;flex-direction:column;gap:var(--space-3)}.number-target-game .progress-bar{background:var(--bg-gradient-card);padding:var(--space-3);border-radius:var(--radius-lg);border:2px solid var(--primary-200)}.number-target-game .progress-label{font-size:var(--text-sm);color:var(--gray-600);margin-bottom:var(--space-2);font-weight:var(--font-medium);text-align:center}.number-target-game .progress-track{background:var(--gray-200);height:12px;border-radius:var(--radius-full);overflow:hidden;position:relative}.number-target-game .progress-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-smooth)}.number-target-game .my-fill{background:var(--bg-gradient-success)}.number-target-game .opponent-fill{background:var(--bg-gradient-warning)}.number-target-game .controls{background:var(--info-50);padding:var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--info-200);text-align:center;margin-bottom:var(--space-4)}.number-target-game .controls p{margin:0 0 var(--space-2) 0;color:var(--info-700);font-size:var(--text-sm);font-weight:var(--font-medium)}.number-target-game .game-message{background:var(--bg-gradient-card);padding:var(--space-6);border-radius:var(--radius-xl);text-align:center;border:2px solid var(--primary-200)}.number-target-game .game-message h3{margin:0 0 var(--space-4) 0;font-size:var(--text-2xl);color:var(--primary-600)}.number-target-game .game-message p{margin:0 0 var(--space-2) 0;color:var(--gray-700);font-size:var(--text-base)}.number-target-game .waiting-message{color:var(--info-600);font-style:italic;margin-top:var(--space-4)}.number-target-game .loading{text-align:center;padding:var(--space-8);color:var(--gray-600)}.number-target-game .loading p{font-size:var(--text-lg);margin:0}@media (max-width: 768px){.number-target-game{padding:var(--space-2)}.number-target-game .game-header{flex-wrap:wrap;gap:var(--space-2)}.number-target-game .score-box{min-width:70px;padding:var(--space-2)}.number-target-game .number-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-2);max-width:180px}.number-target-game .math-problem{font-size:var(--text-2xl);padding:var(--space-3) var(--space-4)}.number-target-game .player-progress{flex-direction:column;gap:var(--space-2)}.number-target-game .number-btn,.number-target-game .operator-btn{width:40px;height:40px;font-size:var(--text-base)}.number-target-game .control-buttons{flex-wrap:wrap;gap:var(--space-2)}.number-target-game .progress-section{flex-direction:column;gap:var(--space-2)}}.number-target-game .spectator-section h3{text-align:center;margin:0 0 var(--space-3) 0;color:var(--primary-600);font-size:var(--text-lg)}.number-target-game .player-info .score-info{font-size:var(--text-sm);color:var(--info-600);margin:0 0 var(--space-2) 0;font-weight:var(--font-medium)}.number-target-game .live-answer{display:flex;justify-content:center;gap:var(--space-1);margin-bottom:var(--space-2);font-family:"Press Start 2P",monospace;min-height:40px;align-items:center}.number-target-game .answer-digit{display:inline-block;width:32px;height:38px;line-height:38px;text-align:center;font-size:var(--text-xl);font-weight:var(--font-bold);background:var(--success-50);border:2px solid var(--success-200);border-radius:var(--radius-md);color:var(--success-700);box-shadow:var(--shadow-sm)}.number-target-game .empty-answer{color:var(--gray-500);font-style:italic;font-size:var(--text-base)}.number-target-game .typing-status{margin:0;font-size:var(--text-xs);color:var(--gray-600);font-style:italic;text-align:center}.pattern-memory-game{padding:var(--space-4);max-width:700px;margin:0 auto;font-family:"Press Start 2P",monospace}.pattern-memory-game h2{text-align:center;margin-bottom:var(--space-6);color:var(--primary-600);font-size:var(--text-2xl);font-weight:var(--font-bold)}.pattern-memory-game .game-header{display:flex;justify-content:space-around;margin-bottom:var(--space-6);gap:var(--space-4)}.pattern-memory-game .score-box{background:var(--bg-gradient-subtle);padding:var(--space-3);border-radius:var(--radius-lg);text-align:center;min-width:100px;border:2px solid var(--primary-200)}.pattern-memory-game .score-box p{margin:0 0 var(--space-1) 0;font-size:var(--text-sm);color:var(--gray-600);font-weight:var(--font-medium)}.pattern-memory-game .score-box h3{margin:0;font-size:var(--text-lg);color:var(--primary-700);font-weight:var(--font-bold)}.pattern-memory-game .memorize-phase{background:var(--info-50);border:2px solid var(--info-200);border-radius:var(--radius-xl);padding:var(--space-6);text-align:center;margin-bottom:var(--space-6)}.pattern-memory-game .memorize-phase h3{margin:0 0 var(--space-4) 0;color:var(--info-700);font-size:var(--text-xl)}.pattern-memory-game .countdown{font-size:var(--text-lg);color:var(--info-600);font-weight:var(--font-bold)}.pattern-memory-game .pattern-area{background:var(--bg-gradient-card);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);border:2px solid var(--primary-200)}.pattern-memory-game .button-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);justify-items:center;margin-bottom:var(--space-4);max-width:350px;margin-left:auto;margin-right:auto}.pattern-memory-game .pattern-button{width:90px;height:90px;border:none;border-radius:var(--radius-xl);font-size:var(--text-2xl);font-family:"Press Start 2P",monospace;font-weight:var(--font-bold);cursor:pointer;transition:all var(--transition-fast);background:var(--bg-gradient-button);color:#fff;border:3px solid var(--primary-300);box-shadow:var(--shadow-lg);will-change:transform,background-color;backface-visibility:hidden;-webkit-font-smoothing:antialiased}.pattern-memory-game .pattern-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:var(--shadow-xl);background:var(--bg-gradient-button-hover)}.pattern-memory-game .pattern-button:disabled{background:var(--gray-300);color:var(--gray-500);cursor:not-allowed;transform:none;border-color:var(--gray-300)}.pattern-memory-game .pattern-button.highlighted{background:var(--bg-gradient-gold)!important;transform:scale(1.15)!important;box-shadow:0 0 30px var(--warning-400),0 0 60px var(--warning-300)!important;border-color:var(--warning-400)!important;transition:transform .2s ease-out,background-color .2s ease-out,box-shadow .2s ease-out;animation:pulseGlow .5s ease-out}@keyframes pulseGlow{0%{box-shadow:0 0 30px var(--warning-400),0 0 60px var(--warning-300)}50%{box-shadow:0 0 40px var(--warning-400),0 0 80px var(--warning-300)}to{box-shadow:0 0 30px var(--warning-400),0 0 60px var(--warning-300)}}.pattern-memory-game .pattern-button.in-pattern{background:var(--bg-gradient-success);border-color:var(--success-400)}.pattern-memory-game .game-controls{text-align:center}.pattern-memory-game .sequence-info{margin-bottom:var(--space-4)}.pattern-memory-game .sequence-info p{margin:0;font-size:var(--text-lg);color:var(--primary-600);font-weight:var(--font-medium)}.pattern-memory-game .reset-btn{background:var(--bg-gradient-subtle);color:var(--gray-700);border:2px solid var(--gray-300);padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.pattern-memory-game .reset-btn:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-400);transform:translateY(-1px)}.pattern-memory-game .reset-btn:disabled{background:var(--gray-200);color:var(--gray-400);cursor:not-allowed;transform:none}.pattern-memory-game .progress-section{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.pattern-memory-game .player-progress{background:var(--bg-gradient-card);padding:var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--primary-200)}.pattern-memory-game .progress-label{font-size:var(--text-base);color:var(--primary-600);margin-bottom:var(--space-3);font-weight:var(--font-medium)}.pattern-memory-game .sequence-display{display:flex;gap:var(--space-2);align-items:center;min-height:40px}.pattern-memory-game .sequence-item{background:var(--bg-gradient-success);color:#fff;width:40px;height:40px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);font-weight:var(--font-bold);border:2px solid var(--success-400)}.pattern-memory-game .sequence-placeholder{background:var(--gray-200);color:var(--gray-500);width:40px;height:40px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);font-weight:var(--font-bold);border:2px solid var(--gray-300)}.pattern-memory-game .opponent-progress .sequence-item{background:var(--bg-gradient-button);border-color:var(--primary-400)}.pattern-memory-game .controls{background:var(--info-50);padding:var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--info-200);text-align:center;margin-bottom:var(--space-4)}.pattern-memory-game .controls p{margin:0 0 var(--space-2) 0;color:var(--info-700);font-size:var(--text-sm);font-weight:var(--font-medium)}.pattern-memory-game .game-message{background:var(--bg-gradient-card);padding:var(--space-6);border-radius:var(--radius-xl);text-align:center;border:2px solid var(--primary-200)}.pattern-memory-game .game-message h3{margin:0 0 var(--space-4) 0;font-size:var(--text-2xl);color:var(--primary-600)}.pattern-memory-game .game-message p{margin:0 0 var(--space-2) 0;color:var(--gray-700);font-size:var(--text-base)}.pattern-memory-game .waiting-message{color:var(--info-600);font-style:italic;margin-top:var(--space-4)}@media (max-width: 768px){.pattern-memory-game{padding:var(--space-2)}.pattern-memory-game h2{font-size:var(--text-xl);margin-bottom:var(--space-4)}.pattern-memory-game .game-header{flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.pattern-memory-game .score-box{min-width:80px;padding:var(--space-2)}.pattern-memory-game .button-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3);max-width:300px}.pattern-memory-game .pattern-button{width:80px;height:80px;font-size:var(--text-xl)}.pattern-memory-game .sequence-display{flex-wrap:wrap;gap:var(--space-1)}.pattern-memory-game .sequence-item,.pattern-memory-game .sequence-placeholder{width:35px;height:35px;font-size:var(--text-base)}}@media (max-width: 480px){.pattern-memory-game .button-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-2);max-width:250px}.pattern-memory-game .pattern-button{width:70px;height:70px;font-size:var(--text-lg)}.pattern-memory-game .sequence-item,.pattern-memory-game .sequence-placeholder{width:30px;height:30px;font-size:var(--text-sm)}.pattern-memory-game.spectator-mode .pattern-button{width:60px;height:60px;font-size:var(--text-base)}.pattern-memory-game.spectator-mode .button-grid{max-width:220px}}.pattern-memory-game .game-status{background:var(--info-50);border:2px solid var(--info-200);border-radius:var(--radius-xl);padding:var(--space-4);text-align:center;margin-bottom:var(--space-6)}.pattern-memory-game .phase-message{margin:0 0 var(--space-2) 0;color:var(--info-700);font-size:var(--text-lg);font-weight:var(--font-bold)}.pattern-memory-game .time-message{margin:0;color:var(--info-600);font-size:var(--text-sm);font-style:italic}.pattern-memory-game .pattern-button.disabled{background:var(--gray-400);color:var(--gray-600);cursor:not-allowed;opacity:.6}.pattern-memory-game .player-controls{background:var(--bg-gradient-card);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);border:2px solid var(--primary-200)}.pattern-memory-game .sequence-display h4{margin:0 0 var(--space-2) 0;color:var(--primary-600);font-size:var(--text-base);font-weight:var(--font-bold);text-align:center}.pattern-memory-game .sequence-container{display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap;min-height:40px;align-items:center;margin-bottom:var(--space-3)}.pattern-memory-game .sequence-number{background:var(--success-50);color:var(--success-700);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:2px solid var(--success-200);font-weight:var(--font-bold);font-size:var(--text-base);min-width:35px;text-align:center}.pattern-memory-game .no-sequence{color:var(--gray-500);font-style:italic;font-size:var(--text-sm)}.pattern-memory-game .control-buttons{text-align:center}.pattern-memory-game .spectator-section{background:var(--bg-gradient-card);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);border:2px solid var(--primary-200)}.pattern-memory-game .spectator-section h3{text-align:center;margin:0 0 var(--space-3) 0;color:var(--primary-600);font-size:var(--text-lg)}.pattern-memory-game .player-sequences{display:flex;gap:var(--space-4);justify-content:space-around}.pattern-memory-game .player-sequence{flex:1;background:var(--bg-gradient-subtle);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--primary-200)}.pattern-memory-game .player-sequence h4{margin:0 0 var(--space-2) 0;color:var(--primary-600);font-size:var(--text-sm);font-weight:var(--font-bold);text-align:center}.pattern-memory-game .sequence-progress{margin:var(--space-2) 0 0 0;font-size:var(--text-xs);color:var(--info-600);text-align:center;font-weight:var(--font-medium)}.pattern-memory-game.spectator-mode{max-width:600px;padding:var(--space-3)}.pattern-memory-game.spectator-mode h2{font-size:var(--text-xl);margin-bottom:var(--space-4)}.pattern-memory-game.spectator-mode .game-header{margin-bottom:var(--space-4)}.pattern-memory-game.spectator-mode .score-box{min-width:70px;padding:var(--space-2)}.pattern-memory-game.spectator-mode .score-box p{font-size:var(--text-xs)}.pattern-memory-game.spectator-mode .score-box h3{font-size:var(--text-base)}.pattern-memory-game.spectator-mode .button-grid{gap:var(--space-2);max-width:300px;margin-bottom:var(--space-3)}.pattern-memory-game.spectator-mode .pattern-button{width:70px;height:70px;font-size:var(--text-xl)}.pattern-memory-game.spectator-mode .game-status{padding:var(--space-3);margin-bottom:var(--space-4)}.pattern-memory-game.spectator-mode .phase-message{font-size:var(--text-base)}.pattern-memory-game.spectator-mode .time-message{font-size:var(--text-xs)}.pattern-memory-game.spectator-mode .spectator-section{padding:var(--space-3);margin-bottom:var(--space-3)}.pattern-memory-game.spectator-mode .spectator-section h3{font-size:var(--text-base);margin-bottom:var(--space-2)}.pattern-memory-game.spectator-mode .player-sequence{padding:var(--space-2)}.pattern-memory-game.spectator-mode .player-sequence h4{font-size:var(--text-xs)}.pattern-memory-game.spectator-mode .sequence-number{width:30px;height:30px;font-size:var(--text-sm);padding:var(--space-1)}.pattern-memory-game.spectator-mode .controls{padding:var(--space-3);margin-bottom:var(--space-3)}.pattern-memory-game.spectator-mode .controls p{font-size:var(--text-xs);margin-bottom:var(--space-1)}.speed-anagram-game{padding:var(--space-4);max-width:600px;margin:0 auto}.speed-anagram-game h2{text-align:center;margin-bottom:var(--space-6);color:var(--primary-600);font-size:var(--text-2xl);font-weight:var(--font-bold)}.speed-anagram-game .game-header{display:flex;justify-content:space-around;margin-bottom:var(--space-6);gap:var(--space-4)}.speed-anagram-game .score-box{background:var(--bg-gradient-subtle);padding:var(--space-3);border-radius:var(--radius-lg);text-align:center;min-width:100px;border:2px solid var(--primary-200)}.speed-anagram-game .score-box p{margin:0 0 var(--space-1) 0;font-size:var(--text-sm);color:var(--gray-600);font-weight:var(--font-medium)}.speed-anagram-game .score-box h3{margin:0;font-size:var(--text-lg);color:var(--primary-700);font-weight:var(--font-bold)}.speed-anagram-game .anagram-area{background:var(--bg-gradient-card);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);border:2px solid var(--primary-200)}.speed-anagram-game .scrambled-display{text-align:center;margin-bottom:var(--space-6)}.speed-anagram-game .scrambled-display h3{margin:0 0 var(--space-4) 0;color:var(--primary-600);font-size:var(--text-xl)}.speed-anagram-game .letters-container{display:flex;justify-content:center;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-4) 0}.speed-anagram-game .scrambled-letter{background:var(--bg-gradient-gold);color:#fff;width:60px;height:60px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--text-2xl);font-weight:var(--font-bold);border:3px solid var(--warning-300);box-shadow:var(--shadow-lg);animation:letterBounce 2s ease-in-out infinite;animation-delay:calc(var(--letter-index, 0) * .1s)}@keyframes letterBounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}60%{transform:translateY(-3px)}}.speed-anagram-game .answer-form{text-align:center}.speed-anagram-game .input-group{display:flex;gap:var(--space-3);align-items:center;justify-content:center;max-width:400px;margin:0 auto}.speed-anagram-game .anagram-input{flex:1;padding:var(--space-4);font-size:var(--text-xl);border:3px solid var(--primary-300);border-radius:var(--radius-lg);background:white;color:var(--gray-800);text-align:center;font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:2px;transition:all var(--transition-fast)}.speed-anagram-game .anagram-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.speed-anagram-game .submit-btn{background:var(--bg-gradient-success);color:#fff;border:none;padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-size:var(--text-lg);font-weight:var(--font-bold);cursor:pointer;transition:all var(--transition-fast);border:2px solid var(--success-400);white-space:nowrap}.speed-anagram-game .submit-btn:hover:not(:disabled){background:var(--success-600);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.speed-anagram-game .submit-btn:disabled{background:var(--gray-300);color:var(--gray-500);border-color:var(--gray-300);cursor:not-allowed;transform:none}.speed-anagram-game .skip-btn{background:var(--bg-gradient-warning);color:#fff;border:none;padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-bold);cursor:pointer;transition:all var(--transition-fast);border:2px solid var(--warning-400);white-space:nowrap;text-transform:uppercase;letter-spacing:1px}.speed-anagram-game .skip-btn:hover:not(:disabled){background:var(--warning-600);border-color:var(--warning-500);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.speed-anagram-game .skip-btn:disabled{background:var(--gray-300);color:var(--gray-500);border-color:var(--gray-300);cursor:not-allowed;transform:none;opacity:.6}.speed-anagram-game .spectator-answers{display:flex;gap:var(--space-4);margin-top:var(--space-4)}.speed-anagram-game .player-answer{flex:1;background:var(--bg-gradient-subtle);padding:var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--primary-200);text-align:center}.speed-anagram-game .player-answer h4{margin:0 0 var(--space-2) 0;color:var(--primary-600);font-size:var(--text-base)}.speed-anagram-game .player-answer p{margin:0;font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--gray-700);text-transform:uppercase;letter-spacing:1px}.speed-anagram-game .progress-section{display:flex;gap:var(--space-4);margin-bottom:var(--space-4)}.speed-anagram-game .player-status{flex:1;background:var(--bg-gradient-card);padding:var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--primary-200)}.speed-anagram-game .status-label{font-size:var(--text-sm);color:var(--gray-600);margin-bottom:var(--space-2);font-weight:var(--font-medium)}.speed-anagram-game .status-value{font-size:var(--text-lg);color:var(--primary-700);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:1px;background:var(--gray-50);padding:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--gray-200);text-align:center}.speed-anagram-game .controls{background:var(--info-50);padding:var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--info-200);text-align:center;margin-bottom:var(--space-4)}.speed-anagram-game .controls p{margin:0 0 var(--space-2) 0;color:var(--info-700);font-size:var(--text-sm);font-weight:var(--font-medium)}.speed-anagram-game .game-message{background:var(--bg-gradient-card);padding:var(--space-6);border-radius:var(--radius-xl);text-align:center;border:2px solid var(--primary-200)}.speed-anagram-game .game-message h3{margin:0 0 var(--space-4) 0;font-size:var(--text-2xl);color:var(--primary-600)}.speed-anagram-game .game-message p{margin:0 0 var(--space-2) 0;color:var(--gray-700);font-size:var(--text-base)}.speed-anagram-game .waiting-message{color:var(--info-600);font-style:italic;margin-top:var(--space-4)}@media (max-width: 768px){.speed-anagram-game{padding:var(--space-2)}.speed-anagram-game .game-header{flex-wrap:wrap;gap:var(--space-2)}.speed-anagram-game .score-box{min-width:80px;padding:var(--space-2)}.speed-anagram-game .letters-container{gap:var(--space-1)}.speed-anagram-game .scrambled-letter{width:50px;height:50px;font-size:var(--text-xl)}.speed-anagram-game .input-group{flex-direction:column;gap:var(--space-3)}.speed-anagram-game .anagram-input{font-size:var(--text-lg);padding:var(--space-3)}.speed-anagram-game .spectator-answers,.speed-anagram-game .progress-section{flex-direction:column;gap:var(--space-2)}}.speed-anagram-game .spectator-section{background:var(--bg-gradient-card);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);border:2px solid var(--primary-200)}.speed-anagram-game .spectator-section h3{text-align:center;margin:0 0 var(--space-4) 0;color:var(--primary-600);font-size:var(--text-lg)}.speed-anagram-game .spectator-answers{display:flex;gap:var(--space-4);justify-content:space-around}.speed-anagram-game .live-answer{display:flex;justify-content:center;gap:var(--space-1);margin-bottom:var(--space-2);font-family:"Press Start 2P",monospace}.speed-anagram-game .answer-char{display:inline-block;width:30px;height:35px;line-height:35px;text-align:center;font-size:var(--text-lg);font-weight:var(--font-bold);background:var(--warning-50);border:2px solid var(--warning-200);border-radius:var(--radius-md);color:var(--warning-700)}.speed-anagram-game .answer-char.empty{background:var(--gray-100);border-color:var(--gray-300);color:var(--gray-400);border-style:dashed}.speed-anagram-game .typing-status{margin:0 0 var(--space-1) 0;font-size:var(--text-sm);color:var(--gray-600);font-style:italic}.speed-anagram-game .letter-usage{font-size:var(--text-xs);color:var(--info-600);font-weight:var(--font-medium)}@media (max-width: 480px){.speed-anagram-game .scrambled-letter{width:40px;height:40px;font-size:var(--text-lg)}.speed-anagram-game .anagram-input{font-size:var(--text-base);letter-spacing:1px}}.word-completion-game{padding:var(--space-4);max-width:600px;margin:0 auto}.word-completion-game h2{text-align:center;margin-bottom:var(--space-6);color:var(--primary-600);font-size:var(--text-2xl);font-weight:var(--font-bold)}.word-completion-game .game-header{display:flex;justify-content:space-around;margin-bottom:var(--space-6);gap:var(--space-4)}.word-completion-game .score-box{background:var(--bg-gradient-subtle);padding:var(--space-3);border-radius:var(--radius-lg);text-align:center;min-width:100px;border:2px solid var(--primary-200)}.word-completion-game .score-box p{margin:0 0 var(--space-1) 0;font-size:var(--text-sm);color:var(--gray-600);font-weight:var(--font-medium)}.word-completion-game .score-box h3{margin:0;font-size:var(--text-lg);color:var(--primary-700);font-weight:var(--font-bold)}.word-completion-game .completion-area{background:var(--bg-gradient-card);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);border:2px solid var(--primary-200)}.word-completion-game .pattern-display{text-align:center;margin-bottom:var(--space-6)}.word-completion-game .pattern-display h3{margin:0 0 var(--space-4) 0;color:var(--primary-600);font-size:var(--text-xl)}.word-completion-game .word-pattern{display:flex;justify-content:center;gap:var(--space-2);margin:var(--space-4) 0;flex-wrap:wrap}.word-completion-game .pattern-letter{width:60px;height:60px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--text-2xl);font-weight:var(--font-bold);border:3px solid var(--primary-300);box-shadow:var(--shadow-lg)}.word-completion-game .pattern-letter.known{background:var(--bg-gradient-success);color:#fff;border-color:var(--success-400)}.word-completion-game .pattern-letter.unknown{background:var(--bg-gradient-subtle);color:var(--gray-500);border-color:var(--gray-300);border-style:dashed;animation:letterPulse 2s ease-in-out infinite}@keyframes letterPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.word-completion-game .answer-form{text-align:center}.word-completion-game .input-group{display:flex;gap:var(--space-3);align-items:center;justify-content:center;max-width:400px;margin:0 auto}.word-completion-game .completion-input{flex:1;padding:var(--space-4);font-size:var(--text-xl);border:3px solid var(--primary-300);border-radius:var(--radius-lg);background:white;color:var(--gray-800);text-align:center;font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:3px;transition:all var(--transition-fast)}.word-completion-game .completion-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.word-completion-game .submit-btn{background:var(--bg-gradient-success);color:#fff;border:none;padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-size:var(--text-lg);font-weight:var(--font-bold);cursor:pointer;transition:all var(--transition-fast);border:2px solid var(--success-400);white-space:nowrap}.word-completion-game .submit-btn:hover:not(:disabled){background:var(--success-600);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.word-completion-game .submit-btn:disabled{background:var(--gray-300);color:var(--gray-500);border-color:var(--gray-300);cursor:not-allowed;transform:none}.word-completion-game .skip-btn{background:var(--bg-gradient-warning);color:#fff;border:none;padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-bold);cursor:pointer;transition:all var(--transition-fast);border:2px solid var(--warning-400);white-space:nowrap;text-transform:uppercase;letter-spacing:1px}.word-completion-game .skip-btn:hover:not(:disabled){background:var(--warning-600);border-color:var(--warning-500);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.word-completion-game .skip-btn:disabled{background:var(--gray-300);color:var(--gray-500);border-color:var(--gray-300);cursor:not-allowed;transform:none;opacity:.6}.word-completion-game .hint-section{background:var(--info-50);padding:var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--info-200);margin-bottom:var(--space-4);text-align:center}.word-completion-game .hint-section h4{margin:0 0 var(--space-2) 0;color:var(--info-700);font-size:var(--text-base)}.word-completion-game .hint-text{color:var(--info-600);font-size:var(--text-sm);margin:0;font-style:italic}.word-completion-game .spectator-answers{display:flex;gap:var(--space-4);margin-top:var(--space-4)}.word-completion-game .player-answer{flex:1;background:var(--bg-gradient-subtle);padding:var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--primary-200);text-align:center}.word-completion-game .player-answer h4{margin:0 0 var(--space-2) 0;color:var(--primary-600);font-size:var(--text-base)}.word-completion-game .player-answer p{margin:0;font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--gray-700);text-transform:uppercase;letter-spacing:2px}.word-completion-game .progress-section{display:flex;gap:var(--space-4);margin-bottom:var(--space-4)}.word-completion-game .player-status{flex:1;background:var(--bg-gradient-card);padding:var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--primary-200)}.word-completion-game .status-label{font-size:var(--text-sm);color:var(--gray-600);margin-bottom:var(--space-2);font-weight:var(--font-medium)}.word-completion-game .status-value{font-size:var(--text-lg);color:var(--primary-700);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:2px;background:var(--gray-50);padding:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--gray-200);text-align:center}.word-completion-game .controls{background:var(--info-50);padding:var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--info-200);text-align:center;margin-bottom:var(--space-4)}.word-completion-game .controls p{margin:0 0 var(--space-2) 0;color:var(--info-700);font-size:var(--text-sm);font-weight:var(--font-medium)}.word-completion-game .game-message{background:var(--bg-gradient-card);padding:var(--space-6);border-radius:var(--radius-xl);text-align:center;border:2px solid var(--primary-200)}.word-completion-game .game-message h3{margin:0 0 var(--space-4) 0;font-size:var(--text-2xl);color:var(--primary-600)}.word-completion-game .game-message p{margin:0 0 var(--space-2) 0;color:var(--gray-700);font-size:var(--text-base)}.word-completion-game .waiting-message{color:var(--info-600);font-style:italic;margin-top:var(--space-4)}.word-completion-game .possible-answers{margin-top:var(--space-4);padding:var(--space-4);background:var(--success-50);border-radius:var(--radius-lg);border:2px solid var(--success-200)}.word-completion-game .possible-answers h4{margin:0 0 var(--space-2) 0;color:var(--success-700);font-size:var(--text-base)}.word-completion-game .answers-list{color:var(--success-600);font-weight:var(--font-medium);font-size:var(--text-sm);margin:0}@media (max-width: 768px){.word-completion-game{padding:var(--space-2)}.word-completion-game .game-header{flex-wrap:wrap;gap:var(--space-2)}.word-completion-game .score-box{min-width:80px;padding:var(--space-2)}.word-completion-game .word-pattern{gap:var(--space-1)}.word-completion-game .pattern-letter{width:50px;height:50px;font-size:var(--text-xl)}.word-completion-game .input-group{flex-direction:column;gap:var(--space-3)}.word-completion-game .completion-input{font-size:var(--text-lg);padding:var(--space-3);letter-spacing:2px}.word-completion-game .spectator-answers,.word-completion-game .progress-section{flex-direction:column;gap:var(--space-2)}}@media (max-width: 480px){.word-completion-game .pattern-letter{width:40px;height:40px;font-size:var(--text-lg)}.word-completion-game .completion-input{font-size:var(--text-base);letter-spacing:1px}}.word-completion-game .spectator-section{background:var(--bg-gradient-card);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);border:2px solid var(--primary-200)}.word-completion-game .spectator-section h3{text-align:center;margin:0 0 var(--space-4) 0;color:var(--primary-600);font-size:var(--text-lg)}.word-completion-game .spectator-answers{display:flex;gap:var(--space-4);justify-content:space-around}.word-completion-game .live-answer{display:flex;justify-content:center;gap:var(--space-1);margin-bottom:var(--space-2);font-family:"Press Start 2P",monospace}.word-completion-game .answer-char{display:inline-block;width:30px;height:35px;line-height:35px;text-align:center;font-size:var(--text-lg);font-weight:var(--font-bold);background:var(--success-50);border:2px solid var(--success-200);border-radius:var(--radius-md);color:var(--success-700)}.word-completion-game .answer-char.empty{background:var(--gray-100);border-color:var(--gray-300);color:var(--gray-400);border-style:dashed}.word-completion-game .typing-status{margin:0;font-size:var(--text-sm);color:var(--gray-600);font-style:italic}.antonym-race-game{padding:var(--space-4);max-width:600px;margin:0 auto}.antonym-race-game h2{text-align:center;margin-bottom:var(--space-6);color:var(--primary-600);font-size:var(--text-2xl);font-weight:var(--font-bold)}.antonym-race-game .game-header{display:flex;justify-content:space-around;margin-bottom:var(--space-6);gap:var(--space-4)}.antonym-race-game .score-box{background:var(--bg-gradient-subtle);padding:var(--space-3);border-radius:var(--radius-lg);text-align:center;min-width:100px;border:2px solid var(--primary-200)}.antonym-race-game .score-box p{margin:0 0 var(--space-1) 0;font-size:var(--text-sm);color:var(--gray-600);font-weight:var(--font-medium)}.antonym-race-game .score-box h3{margin:0;font-size:var(--text-lg);color:var(--primary-700);font-weight:var(--font-bold)}.antonym-race-game .antonym-area{background:var(--bg-gradient-card);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);border:2px solid var(--primary-200)}.antonym-race-game .word-display{text-align:center;margin-bottom:var(--space-6)}.antonym-race-game .word-display h3{margin:0 0 var(--space-4) 0;color:var(--primary-600);font-size:var(--text-xl)}.antonym-race-game .current-word{background:var(--bg-gradient-gold);color:#fff;padding:var(--space-4) var(--space-6);border-radius:var(--radius-xl);font-size:var(--text-3xl);font-weight:var(--font-bold);letter-spacing:3px;border:3px solid var(--warning-400);box-shadow:var(--shadow-xl);display:inline-block;animation:wordGlow 2s ease-in-out infinite}@keyframes wordGlow{0%,to{box-shadow:var(--shadow-xl);transform:scale(1)}50%{box-shadow:0 0 30px var(--warning-400);transform:scale(1.02)}}.antonym-race-game .answer-form{text-align:center}.antonym-race-game .input-group{display:flex;gap:var(--space-3);align-items:center;justify-content:center;max-width:400px;margin:0 auto}.antonym-race-game .antonym-input{flex:1;padding:var(--space-4);font-size:var(--text-xl);border:3px solid var(--primary-300);border-radius:var(--radius-lg);background:white;color:var(--gray-800);text-align:center;font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:2px;transition:all var(--transition-fast)}.antonym-race-game .antonym-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.antonym-race-game .submit-btn{background:var(--bg-gradient-success);color:#fff;border:none;padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-size:var(--text-lg);font-weight:var(--font-bold);cursor:pointer;transition:all var(--transition-fast);border:2px solid var(--success-400);white-space:nowrap}.antonym-race-game .submit-btn:hover:not(:disabled){background:var(--success-600);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.antonym-race-game .submit-btn:disabled{background:var(--gray-300);color:var(--gray-500);border-color:var(--gray-300);cursor:not-allowed;transform:none}.antonym-race-game .hint-section{background:var(--info-50);padding:var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--info-200);margin-bottom:var(--space-4);text-align:center}.antonym-race-game .hint-section h4{margin:0 0 var(--space-2) 0;color:var(--info-700);font-size:var(--text-base)}.antonym-race-game .hint-text{color:var(--info-600);font-size:var(--text-sm);margin:0;font-style:italic}.antonym-race-game .spectator-answers{display:flex;gap:var(--space-4);margin-top:var(--space-4)}.antonym-race-game .player-answer{flex:1;background:var(--bg-gradient-subtle);padding:var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--primary-200);text-align:center}.antonym-race-game .player-answer h4{margin:0 0 var(--space-2) 0;color:var(--primary-600);font-size:var(--text-base)}.antonym-race-game .player-answer p{margin:0;font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--gray-700);text-transform:uppercase;letter-spacing:1px}.antonym-race-game .progress-section{display:flex;gap:var(--space-4);margin-bottom:var(--space-4)}.antonym-race-game .player-status{flex:1;background:var(--bg-gradient-card);padding:var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--primary-200)}.antonym-race-game .status-label{font-size:var(--text-sm);color:var(--gray-600);margin-bottom:var(--space-2);font-weight:var(--font-medium)}.antonym-race-game .status-value{font-size:var(--text-lg);color:var(--primary-700);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:1px;background:var(--gray-50);padding:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--gray-200);text-align:center}.antonym-race-game .controls{background:var(--info-50);padding:var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--info-200);text-align:center;margin-bottom:var(--space-4)}.antonym-race-game .controls p{margin:0 0 var(--space-2) 0;color:var(--info-700);font-size:var(--text-sm);font-weight:var(--font-medium)}.antonym-race-game .game-message{background:var(--bg-gradient-card);padding:var(--space-6);border-radius:var(--radius-xl);text-align:center;border:2px solid var(--primary-200)}.antonym-race-game .game-message h3{margin:0 0 var(--space-4) 0;font-size:var(--text-2xl);color:var(--primary-600)}.antonym-race-game .game-message p{margin:0 0 var(--space-2) 0;color:var(--gray-700);font-size:var(--text-base)}.antonym-race-game .waiting-message{color:var(--info-600);font-style:italic;margin-top:var(--space-4)}.antonym-race-game .valid-antonyms{margin-top:var(--space-4);padding:var(--space-4);background:var(--success-50);border-radius:var(--radius-lg);border:2px solid var(--success-200)}.antonym-race-game .valid-antonyms h4{margin:0 0 var(--space-2) 0;color:var(--success-700);font-size:var(--text-base)}.antonym-race-game .antonyms-list{color:var(--success-600);font-weight:var(--font-medium);font-size:var(--text-sm);margin:0;text-transform:uppercase;letter-spacing:1px}.antonym-race-game .examples-section{background:var(--warning-50);padding:var(--space-3);border-radius:var(--radius-lg);border:2px solid var(--warning-200);margin:var(--space-4) 0;text-align:center}.antonym-race-game .examples-section h4{margin:0 0 var(--space-2) 0;color:var(--warning-700);font-size:var(--text-sm);font-weight:var(--font-medium)}.antonym-race-game .example-pair{color:var(--warning-600);font-size:var(--text-xs);margin:0;font-weight:var(--font-medium)}@media (max-width: 768px){.antonym-race-game{padding:var(--space-2)}.antonym-race-game .game-header{flex-wrap:wrap;gap:var(--space-2)}.antonym-race-game .score-box{min-width:80px;padding:var(--space-2)}.antonym-race-game .current-word{font-size:var(--text-2xl);padding:var(--space-3) var(--space-4);letter-spacing:2px}.antonym-race-game .input-group{flex-direction:column;gap:var(--space-3)}.antonym-race-game .antonym-input{font-size:var(--text-lg);padding:var(--space-3);letter-spacing:1px}.antonym-race-game .spectator-answers,.antonym-race-game .progress-section{flex-direction:column;gap:var(--space-2)}}.antonym-race-game .spectator-section{background:var(--bg-gradient-card);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);border:2px solid var(--primary-200)}.antonym-race-game .spectator-section h3{text-align:center;margin:0 0 var(--space-4) 0;color:var(--primary-600);font-size:var(--text-lg)}.antonym-race-game .spectator-answers{display:flex;gap:var(--space-4);justify-content:space-around}.antonym-race-game .live-answer{display:flex;justify-content:center;gap:var(--space-1);margin-bottom:var(--space-2);font-family:"Press Start 2P",monospace;min-height:35px}.antonym-race-game .answer-char{display:inline-block;width:28px;height:33px;line-height:33px;text-align:center;font-size:var(--text-base);font-weight:var(--font-bold);background:var(--info-50);border:2px solid var(--info-200);border-radius:var(--radius-md);color:var(--info-700);transition:all var(--transition-fast)}.antonym-race-game .typing-status{margin:0;font-size:var(--text-sm);color:var(--gray-600);font-style:italic;text-align:center}@media (max-width: 480px){.antonym-race-game .current-word{font-size:var(--text-xl);letter-spacing:1px}.antonym-race-game .antonym-input{font-size:var(--text-base);letter-spacing:.5px}}.minigame.racecar{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);padding:20px;border-radius:16px;box-shadow:0 8px 32px #0000004d}.minigame.racecar h2{text-align:center;color:gold;font-size:32px;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.5);font-family:"Press Start 2P",monospace;letter-spacing:2px}.minigame.racecar .game-info{margin-bottom:20px;background:rgba(0,0,0,.4);padding:20px;border-radius:12px;border:2px solid rgba(255,215,0,.3);width:100%;box-sizing:border-box}.minigame.racecar .player-info{display:flex;justify-content:space-between;align-items:center;width:100%}.minigame.racecar .player-stat{display:flex;flex-direction:column;gap:12px}.minigame.racecar .player-header{display:flex;align-items:center;gap:10px;padding:8px 12px;background:rgba(255,255,255,.1);border-radius:8px;justify-content:center}.minigame.racecar .player-header .position{font-size:20px}.minigame.racecar .player-header .player-name{font-weight:700;font-size:16px}.minigame.racecar .speedometer-container{display:flex;flex-direction:column;align-items:center;gap:8px}.minigame.racecar .speedometer{position:relative;display:flex;flex-direction:column;align-items:center}.minigame.racecar .speed-text{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:gold;font-size:16px;font-weight:700;font-family:"Press Start 2P",monospace;display:flex;align-items:baseline;gap:4px}.minigame.racecar .speed-number{display:inline-block;min-width:20px;text-align:right}.minigame.racecar .speed-unit{display:inline-block}.minigame.racecar .lap-info{color:gold;font-size:16px;font-weight:700;font-family:"Press Start 2P",monospace}.minigame.racecar #racecar-container{border:3px solid #FFD700;border-radius:12px;overflow:hidden;box-shadow:0 0 20px #ffd7004d;margin-bottom:20px}.minigame.racecar .game-controls{text-align:center;margin:20px 0}.minigame.racecar .ready-status{background:rgba(0,0,0,.5);padding:15px;border-radius:8px;margin-bottom:15px}.minigame.racecar .ready-status p{color:gold;font-size:18px;margin-bottom:10px}.minigame.racecar .ready-player{display:inline-block;background:rgba(0,255,0,.2);color:#0f0;padding:5px 15px;border-radius:20px;margin:0 5px;font-size:14px;border:1px solid rgba(0,255,0,.5)}.minigame.racecar .ready-button{background:linear-gradient(135deg,#FF6B6B 0%,#FF0000 100%);color:#fff;border:none;padding:15px 40px;font-size:20px;font-weight:700;border-radius:30px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ff00004d;text-transform:uppercase;letter-spacing:1px}.minigame.racecar .ready-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f006}.minigame.racecar .ready-button:active{transform:translateY(0)}.minigame.racecar .controls{background:rgba(0,0,0,.5);padding:20px;border-radius:12px;text-align:center}.minigame.racecar .controls p{color:gold;font-size:18px;margin-bottom:15px;font-weight:700}.minigame.racecar .control-hints{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.minigame.racecar .control-hints span{background:rgba(255,255,255,.1);padding:8px 15px;border-radius:20px;color:#fff;font-size:14px;border:1px solid rgba(255,255,255,.3)}.minigame.racecar .game-over{background:rgba(0,0,0,.8);padding:30px;border-radius:16px;text-align:center;border:3px solid #FFD700;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.minigame.racecar .game-over h3{color:gold;font-size:36px;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.minigame.racecar .winner-announcement{margin:20px 0}.minigame.racecar .winner{font-size:28px;color:gold;font-weight:700;animation:pulse 1s ease infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.minigame.racecar .final-standings{background:rgba(255,255,255,.1);padding:20px;border-radius:12px;margin-top:20px}.minigame.racecar .final-standings h4{color:gold;font-size:24px;margin-bottom:15px}.minigame.racecar .result{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.2)}.minigame.racecar .result:last-child{border-bottom:none}.minigame.racecar .result span:first-child{font-size:18px;font-weight:700}.minigame.racecar .result span:last-child{color:gold;font-family:"Press Start 2P",monospace}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--space-4);animation:fadeInScale var(--duration-normal) var(--ease-out-cubic)}.modal{background:white;border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);animation:bounceIn var(--duration-slow) var(--ease-bounce) .1s both;position:relative;overflow:hidden;max-width:90vw;max-height:90vh;display:flex;flex-direction:column}.legal-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--space-4);animation:fadeInScale var(--duration-normal) var(--ease-out-cubic)}.legal-modal{background:var(--glass-dark)!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid var(--primary-500);border-radius:var(--radius-2xl);padding:var(--space-8);max-width:600px;max-height:80vh;width:100%;box-shadow:var(--shadow-2xl),var(--glow-primary);animation:bounceIn var(--duration-slow) var(--ease-bounce) .1s both;position:relative;overflow:hidden;display:flex;flex-direction:column}.legal-modal h2{background:transparent!important;color:var(--primary-400)!important}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);position:relative;flex-shrink:0}.modal-header h2{flex:1;margin:0;text-align:center}.modal-close-btn{position:absolute;right:0;top:50%;transform:translateY(-50%);background:rgba(239,68,68,.2);border:2px solid var(--red-500);color:var(--red-400);border-radius:var(--radius-full);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--text-lg);font-weight:700;transition:all var(--duration-normal);z-index:1}.modal-close-btn:hover{background:rgba(239,68,68,.3);color:var(--red-300);transform:translateY(-50%) scale(1.1);box-shadow:0 0 20px #ef444466}.legal-modal .legal-header-info,.legal-modal .legal-header-info *{background:transparent!important}.legal-modal .important-notice{background:var(--primary-900)!important;border:2px solid var(--primary-500)!important}.legal-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--bg-gradient-button);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.legal-modal h2{font-size:var(--text-xl);color:var(--primary-400);text-align:center;margin-bottom:var(--space-6);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.legal-modal h2:before{content:"📜";font-size:var(--text-2xl)}.legal-content{max-height:70vh;overflow-y:auto;margin-bottom:var(--space-4);padding:var(--space-5);background:rgba(0,0,0,.2);border-radius:var(--radius-md);flex:1;min-height:350px;font-size:.95rem;line-height:1.6}.legal-content::-webkit-scrollbar{width:6px}.legal-content::-webkit-scrollbar-track{background:var(--gray-800);border-radius:var(--radius-full)}.legal-content::-webkit-scrollbar-thumb{background:var(--primary-500);border-radius:var(--radius-full)}.legal-content::-webkit-scrollbar-thumb:hover{background:var(--primary-400)}.legal-section{margin-bottom:var(--space-6);padding:var(--space-4);background:rgba(255,255,255,.05);border:1px solid rgba(139,92,246,.2);border-radius:var(--radius-lg);animation:slideInUp var(--duration-normal) var(--ease-out-cubic)}.legal-section:nth-child(1){animation-delay:.1s}.legal-section:nth-child(2){animation-delay:.2s}.legal-section:nth-child(3){animation-delay:.3s}.legal-section:nth-child(4){animation-delay:.4s}.legal-section:nth-child(5){animation-delay:.5s}.legal-section:nth-child(6){animation-delay:.6s}.legal-section h3{font-size:var(--text-base);color:var(--gold-400);margin-bottom:var(--space-3);display:flex;align-items:center;gap:var(--space-2)}.legal-section p{font-size:var(--text-sm);color:var(--gray-300);line-height:1.6}.legal-section strong{color:var(--primary-400)}.scroll-indicator{text-align:center;margin:var(--space-4) 0;padding:var(--space-3);background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-md);animation:pulse 2s infinite}.scroll-indicator p{font-size:var(--text-sm);color:var(--blue-400);margin:0}.legal-actions{display:flex;gap:var(--space-4);justify-content:flex-end;animation:slideInUp var(--duration-normal) var(--ease-out-cubic) .8s both;flex-shrink:0}.legal-actions button{padding:var(--space-3) var(--space-6);font-size:var(--text-sm)}.legal-modal-large{max-width:1100px;max-height:92vh;height:92vh;background:var(--glass-dark)!important;display:flex;flex-direction:column}.legal-header-info{text-align:center;margin-bottom:var(--space-4);background:transparent;flex-shrink:0}.legal-header-info p{color:var(--gray-400);margin-bottom:var(--space-2)}.important-notice{background:var(--primary-900);border:2px solid var(--primary-500);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);display:inline-block;animation:pulse 2s infinite}.important-notice strong{color:var(--primary-300)}.legal-tabs{display:flex;gap:var(--space-1);margin-bottom:0;border-bottom:2px solid var(--primary-800);background:transparent;flex-shrink:0}.legal-tab{flex:1;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--duration-normal);border-radius:var(--radius-md) var(--radius-md) 0 0;position:relative}.legal-tab.completed{color:var(--green-400)!important}.legal-modal .legal-header-info{background:transparent!important}.legal-modal .legal-tabs{background:transparent!important;border-bottom:2px solid var(--primary-800)!important}.legal-modal .legal-tab{background:rgba(139,92,246,.1)!important;border:1px solid transparent!important;color:var(--gray-300)!important}.legal-modal .legal-tab:hover{background:rgba(139,92,246,.2)!important;color:var(--primary-300)!important;border-color:var(--primary-600)!important}.legal-modal .legal-tab.active{background:rgba(139,92,246,.3)!important;color:var(--primary-200)!important;border-color:var(--primary-500)!important;border-bottom:none!important}.legal-modal .legal-actions{background:transparent!important;padding:var(--space-4) 0 0 0!important;margin-top:auto!important;border:none!important}.legal-modal .btn{background:var(--bg-gradient-button)!important;color:#fff!important;border:none!important}.legal-modal .btn-secondary{background:var(--bg-gradient-card)!important;color:var(--gray-100)!important;border:2px solid var(--primary-500)!important}.legal-footer-note{text-align:center;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--primary-800);background:transparent!important;flex-shrink:0}.legal-footer-note p{font-size:var(--text-sm);color:var(--gray-500);font-style:italic}@media (max-width: 768px){.legal-modal-overlay{padding:var(--space-1);align-items:flex-start;padding-top:var(--space-4)}.legal-modal{padding:var(--space-4);max-height:95vh;width:98vw;margin:0}.legal-modal-large{padding:var(--space-2);max-height:100vh;height:100vh;width:100vw;margin:0;border-radius:0;display:flex;flex-direction:column}.legal-modal h2{font-size:var(--text-lg);margin-bottom:var(--space-3)}.modal-header{margin-bottom:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-2);background:var(--glass-dark);border-bottom:2px solid var(--primary-500)}.legal-header-info{margin-bottom:var(--space-3);padding:0 var(--space-4)}.legal-header-info p{font-size:var(--text-sm);margin-bottom:var(--space-2);line-height:1.4}.important-notice{padding:var(--space-3);margin:0 var(--space-4) var(--space-3);border-radius:var(--radius-md);background:var(--primary-900);border:2px solid var(--primary-400)}.important-notice strong{font-size:var(--text-base);line-height:1.4;display:block}.modal-close-btn{width:32px;height:32px;font-size:var(--text-base)}.legal-content{max-height:none;height:auto;flex:1 1 auto;padding:var(--space-3);overflow-y:auto;-webkit-overflow-scrolling:touch}.legal-section{padding:var(--space-3);margin-bottom:var(--space-4);background:rgba(255,255,255,.06);border-radius:var(--radius-md);border:1px solid var(--primary-700)}.legal-section h3{font-size:var(--text-base);margin-bottom:var(--space-3);line-height:1.3;color:var(--gold-300)}.legal-section p{font-size:var(--text-sm);line-height:1.6;margin-bottom:var(--space-2);color:var(--gray-200)}.legal-section strong{font-size:var(--text-sm);line-height:1.6;color:var(--primary-300);font-weight:600}.legal-actions{flex-direction:row;gap:var(--space-2);margin-top:0;padding:var(--space-3);position:sticky;bottom:0;background:var(--glass-dark);border-top:1px solid var(--primary-500);z-index:10}.legal-actions button{flex:1;padding:var(--space-3) var(--space-2);font-size:var(--text-sm);min-height:44px}.legal-tabs{flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-3)}.legal-tab{flex:1;min-width:calc(33.333% - var(--space-1));padding:var(--space-2) var(--space-1);font-size:var(--text-xs);text-align:center}.legal-footer-note{margin-top:var(--space-2);padding-top:var(--space-2)}.legal-footer-note p{font-size:var(--text-xs)}.scroll-indicator{padding:var(--space-2) var(--space-3);margin:var(--space-2) 0;position:sticky;bottom:120px;background:var(--glass-dark);border:1px solid var(--blue-500);border-radius:var(--radius-md);z-index:5}.scroll-indicator p{font-size:var(--text-xs);margin:0}}@media (max-width: 480px){.legal-modal-overlay{padding:0;align-items:stretch}.legal-modal,.legal-modal-large{width:100vw;height:100vh;max-height:100vh;border-radius:0;padding:0;display:flex;flex-direction:column;overflow:hidden;font-size:16px}.legal-modal h2{font-size:var(--text-lg);margin-bottom:var(--space-2);line-height:1.3}.modal-close-btn{width:28px;height:28px;font-size:var(--text-sm)}.legal-content{max-height:none;height:auto;flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--space-4);min-height:0;line-height:1.6}.legal-section{padding:var(--space-3);margin-bottom:var(--space-4);background:rgba(255,255,255,.08);border-radius:var(--radius-md);border:1px solid var(--primary-600)}.legal-section h3{font-size:var(--text-lg);margin-bottom:var(--space-3);line-height:1.3;color:var(--gold-300)}.legal-section p{font-size:var(--text-base);line-height:1.6;margin-bottom:var(--space-2);color:var(--gray-200)}.legal-section strong{font-size:var(--text-base);line-height:1.6;color:var(--primary-300);font-weight:600}.legal-tabs{display:flex;flex-direction:row;gap:0;margin-bottom:0;padding:0 var(--space-4);background:var(--glass-dark);border-bottom:2px solid var(--primary-500);flex-shrink:0}.legal-tab{flex:1;padding:var(--space-3);font-size:var(--text-sm);line-height:1.2;text-align:center;border:none;background:transparent;color:var(--gray-400);border-bottom:3px solid transparent;transition:all .2s ease;cursor:pointer}.legal-tab.active{color:var(--primary-300);background:rgba(139,92,246,.1);border-bottom-color:var(--primary-400)}.legal-tab.completed{color:var(--green-400)}.legal-actions{margin-top:0;gap:var(--space-3);flex-shrink:0;padding:var(--space-4);background:var(--glass-dark);border-top:2px solid var(--primary-500);position:sticky;bottom:0;z-index:10}.legal-actions button{flex:1;padding:var(--space-4);font-size:var(--text-lg);font-weight:600;min-height:54px;border-radius:var(--radius-md)}.scroll-indicator{display:none}.legal-footer-note{margin:var(--space-3) var(--space-4) 0;padding:var(--space-3);background:var(--gray-900);border:1px solid var(--gray-600);border-radius:var(--radius-md)}.legal-footer-note p{font-size:var(--text-sm);margin:0;text-align:center;color:var(--gray-300);line-height:1.4}.important-notice{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2)}.important-notice strong{font-size:var(--text-sm)}}.sound-settings{position:fixed;top:1rem;right:1rem;z-index:1000;display:flex;gap:var(--space-2);align-items:center}.sound-toggle-btn{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));border:2px solid var(--primary-400);border-radius:50%;width:48px;height:48px;font-size:1.2rem;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-cubic);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg),var(--glow-primary);padding:0;color:#fff;position:relative;overflow:hidden}.sound-toggle-btn: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 var(--duration-slower) var(--ease-out-cubic)}.sound-toggle-btn:hover{background:linear-gradient(135deg,var(--primary-400),var(--primary-500));transform:translateY(-3px) scale(1.05);box-shadow:var(--shadow-xl),0 0 30px #8b5cf680;border-color:var(--primary-300)}.sound-toggle-btn:hover:before{left:100%}.fullscreen-btn{background:linear-gradient(135deg,var(--gold-500),var(--gold-600));border:2px solid var(--gold-400);border-radius:50%;width:48px;height:48px;font-size:1.2rem;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-cubic);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg),var(--glow-gold);padding:0;color:#fff;position:relative;overflow:hidden}.fullscreen-btn: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 var(--duration-slower) var(--ease-out-cubic)}.fullscreen-btn:hover{background:linear-gradient(135deg,var(--gold-400),var(--gold-500));transform:translateY(-3px) scale(1.05);box-shadow:var(--shadow-xl),0 0 30px #f59e0b80;border-color:var(--gold-300)}.fullscreen-btn:hover:before{left:100%}.sound-panel{position:absolute;top:58px;right:0;background:rgba(0,0,0,.3);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:2px solid var(--primary-500);border-radius:var(--radius-xl);padding:var(--space-6);min-width:240px;box-shadow:var(--shadow-2xl),var(--glow-primary);animation:slideInDown var(--duration-normal) var(--ease-out-cubic)}.sound-control{display:flex;align-items:center;gap:.5rem}.mute-btn{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));border:2px solid var(--primary-400);border-radius:var(--radius-lg);width:40px;height:40px;font-size:1rem;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-cubic);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md),var(--glow-primary);padding:0;color:#fff;position:relative;overflow:hidden}.mute-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.3);border-radius:var(--radius-full);transform:translate(-50%,-50%);transition:all var(--duration-normal) var(--ease-out-cubic)}.mute-btn.muted{background:linear-gradient(135deg,var(--error-500),var(--error-600));border-color:var(--error-400);box-shadow:var(--shadow-md),0 0 20px #ef44444d}.mute-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-lg),0 0 25px #8b5cf666;border-color:var(--primary-300)}.mute-btn:active:before{width:80px;height:80px}.mute-btn.muted:hover{box-shadow:var(--shadow-lg),0 0 25px #ef444466}.volume-slider{flex:1;height:8px;background:linear-gradient(90deg,var(--gray-700),var(--gray-600));border-radius:var(--radius-full);outline:none;border:1px solid var(--gray-600);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;box-shadow:inset 0 2px 4px #0000004d;transition:all var(--duration-normal) var(--ease-out-cubic)}.volume-slider:hover{background:linear-gradient(90deg,var(--gray-600),var(--gray-500));border-color:var(--primary-500);box-shadow:inset 0 2px 4px #0000004d,var(--glow-primary)}.volume-slider::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--primary-400),var(--primary-600));cursor:pointer;border:3px solid white;box-shadow:var(--shadow-lg),var(--glow-primary);transition:all var(--duration-normal) var(--ease-out-cubic);position:relative}.volume-slider::-webkit-slider-thumb:hover{background:linear-gradient(135deg,var(--primary-300),var(--primary-500));transform:scale(1.2);box-shadow:var(--shadow-xl),0 0 25px #8b5cf680}.volume-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--primary-400),var(--primary-600));cursor:pointer;border:3px solid white;box-shadow:var(--shadow-lg),var(--glow-primary);transition:all var(--duration-normal) var(--ease-out-cubic)}.volume-slider::-moz-range-thumb:hover{background:linear-gradient(135deg,var(--primary-300),var(--primary-500));transform:scale(1.2);box-shadow:var(--shadow-xl),0 0 25px #8b5cf680}.volume-slider:disabled{opacity:.5;cursor:not-allowed}.test-btn{background:linear-gradient(135deg,var(--gold-400),var(--gold-600));color:var(--gray-900);border:2px solid var(--gold-500);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-cubic);box-shadow:var(--shadow-md),var(--glow-gold);position:relative;overflow:hidden}.test-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.3);border-radius:var(--radius-full);transform:translate(-50%,-50%);transition:all var(--duration-normal) var(--ease-out-cubic)}.test-btn:hover{background:linear-gradient(135deg,var(--gold-300),var(--gold-500));transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-lg),0 0 25px #f59e0b66;border-color:var(--gold-400)}.test-btn:active:before{width:100px;height:100px}.disconnect-button-container{position:relative}.disconnect-btn{background:linear-gradient(135deg,var(--error-500),var(--error-600));border:2px solid var(--error-400);border-radius:50%;width:48px;height:48px;font-size:1.2rem;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-cubic);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg),0 0 20px #ef44444d;padding:0;color:#fff;position:relative;overflow:hidden}.disconnect-btn: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 var(--duration-slower) var(--ease-out-cubic)}.disconnect-btn:hover{background:linear-gradient(135deg,var(--error-400),var(--error-500));transform:translateY(-3px) scale(1.05);box-shadow:var(--shadow-xl),0 0 30px #ef444480;border-color:var(--error-300)}.disconnect-btn:hover:before{left:100%}.disconnect-confirmation-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn var(--duration-normal) var(--ease-out-cubic)}.disconnect-confirmation-content{background:linear-gradient(135deg,rgba(15,23,42,.95),rgba(30,41,59,.95));border:2px solid var(--error-500);border-radius:var(--radius-2xl);padding:var(--space-8);max-width:400px;width:90%;box-shadow:var(--shadow-2xl),0 0 40px #ef44444d;animation:scaleIn var(--duration-normal) var(--ease-out-cubic);text-align:center}.disconnect-confirmation-content h3{color:var(--error-400);font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-4);text-shadow:0 0 10px rgba(239,68,68,.5)}.disconnect-confirmation-content p{color:var(--gray-300);font-size:var(--text-base);margin-bottom:var(--space-6);line-height:1.6}.disconnect-confirmation-buttons{display:flex;gap:var(--space-4);justify-content:center}.confirm-disconnect-btn{background:linear-gradient(135deg,var(--error-500),var(--error-600));color:#fff;border:2px solid var(--error-400);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:700;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-cubic);box-shadow:var(--shadow-lg),0 0 20px #ef44444d;position:relative;overflow:hidden}.confirm-disconnect-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.3);border-radius:var(--radius-full);transform:translate(-50%,-50%);transition:all var(--duration-normal) var(--ease-out-cubic)}.confirm-disconnect-btn:hover{background:linear-gradient(135deg,var(--error-400),var(--error-500));transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-xl),0 0 30px #ef444480;border-color:var(--error-300)}.confirm-disconnect-btn:active:before{width:200px;height:200px}.cancel-disconnect-btn{background:linear-gradient(135deg,var(--gray-600),var(--gray-700));color:#fff;border:2px solid var(--gray-500);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:700;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-cubic);box-shadow:var(--shadow-lg),0 0 20px #6b72804d;position:relative;overflow:hidden}.cancel-disconnect-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.3);border-radius:var(--radius-full);transform:translate(-50%,-50%);transition:all var(--duration-normal) var(--ease-out-cubic)}.cancel-disconnect-btn:hover{background:linear-gradient(135deg,var(--gray-500),var(--gray-600));transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-xl),0 0 30px #6b728080;border-color:var(--gray-400)}.cancel-disconnect-btn:active:before{width:200px;height:200px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.sound-settings{top:.5rem;right:.5rem;gap:var(--space-1)}.sound-toggle-btn,.fullscreen-btn,.disconnect-btn{width:35px;height:35px;font-size:.9rem}.sound-panel{min-width:150px;padding:.75rem}.mute-btn{width:25px;height:25px;font-size:.7rem}.test-btn{padding:.2rem .4rem;font-size:.5rem}.disconnect-confirmation-content{padding:var(--space-6);max-width:350px}.disconnect-confirmation-content h3{font-size:var(--text-lg)}.disconnect-confirmation-content p{font-size:var(--text-sm)}.disconnect-confirmation-buttons{flex-direction:column;gap:var(--space-3)}.confirm-disconnect-btn,.cancel-disconnect-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}}.game-instructions{background:var(--gradient-surface);border:2px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);margin:var(--space-4) 0;box-shadow:var(--shadow-lg);animation:instructionsGlow 4s ease-in-out infinite alternate}@keyframes instructionsGlow{0%{box-shadow:var(--shadow-lg)}to{box-shadow:var(--shadow-lg),var(--glow-primary)}}.instruction-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3)}.game-icon{font-size:var(--text-2xl);filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.instruction-header h3{font-family:var(--font-family-display);color:var(--color-text-primary);margin:0;font-size:var(--text-xl);font-weight:var(--font-bold)}.instruction-content{display:grid;gap:var(--space-5)}.objective-section,.controls-section,.tips-section{background:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--space-4);border-left:4px solid var(--color-warning)}.objective-section h4,.controls-section h4,.tips-section h4{color:var(--color-warning);margin:0 0 var(--space-3) 0;font-size:var(--text-base);font-weight:var(--font-semibold);display:flex;align-items:center;gap:var(--space-2)}.objective-section p{color:var(--color-text-secondary);margin:0;font-size:var(--text-sm);line-height:1.5}.controls-section ul,.tips-section ul{margin:0;padding:0;list-style:none}.controls-section li,.tips-section li{color:var(--color-text-secondary);margin:var(--space-2) 0;padding-left:var(--space-6);position:relative;font-size:var(--text-sm);line-height:1.4}.controls-section li:before{content:"";position:absolute;left:0;top:4px;width:12px;height:12px;background:var(--color-primary);border-radius:var(--radius-full);box-shadow:var(--glow-primary)}.tips-section li:before{content:"";position:absolute;left:0;top:4px;width:12px;height:12px;background:var(--color-secondary);border-radius:var(--radius-full);box-shadow:var(--glow-secondary)}.game-instructions-compact{background:linear-gradient(145deg,#1a1a2e,#16213e);border:1px solid #4a5568;border-radius:12px;padding:16px;margin:8px;transition:all .3s ease;position:relative;overflow:hidden}.game-instructions-compact:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.game-instructions-compact:hover:before{left:100%}.game-instructions-compact:hover{border-color:#6a4c96;transform:translateY(-2px);box-shadow:0 4px 20px #6a4c964d}.game-instructions-compact .instruction-header{margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:8px}.game-instructions-compact .game-icon{font-size:24px}.game-instructions-compact h4{color:#fff;margin:0;font-size:1.1rem;font-weight:600}.game-instructions-compact .objective{color:#b0b0b0;margin:0;font-size:.9rem;line-height:1.4}.player-ready-screen{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%)}.betting-screen.player-ready-screen .title{background:linear-gradient(45deg,#ffd700,#ffed4e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:3rem;margin-bottom:20px;text-shadow:0 4px 8px rgba(255,215,0,.3);animation:fadeInScale var(--duration-slow) var(--ease-bounce)!important;filter:none!important;box-shadow:none!important}.player-ready-screen .title:before,.player-ready-screen .title:after{display:none!important;content:none!important}.game-type-display{background:linear-gradient(145deg,#6a4c96,#8e6bb1);border-radius:20px;padding:16px 32px;margin:20px 0;box-shadow:0 6px 20px #6a4c9666}.game-name{color:#fff;font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.ready-status{margin-top:32px;text-align:center}.ready-indicator{position:relative;margin:20px auto;width:60px;height:60px}.pulse-ring{position:absolute;width:60px;height:60px;border:3px solid #ffd700;border-radius:50%;animation:pulse-ring 2s ease-out infinite}.pulse-dot{position:absolute;top:50%;left:50%;width:20px;height:20px;background:#ffd700;border-radius:50%;transform:translate(-50%,-50%);animation:pulse-dot 2s ease-out infinite}@keyframes pulse-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(2.5);opacity:0}}@keyframes pulse-dot{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.2)}}.how-to-play-section{background:linear-gradient(145deg,#1e1e3f,#2a2a5a);border:1px solid #4a5568;border-radius:20px;padding:32px;margin:32px 0;box-shadow:0 8px 32px #0000004d}.section-title{color:gold;font-size:2rem;text-align:center;margin-bottom:24px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.game-flow-explanation{margin-bottom:32px}.flow-steps{display:grid;gap:20px}.flow-step{display:flex;align-items:flex-start;gap:16px;background:rgba(255,255,255,.05);border-radius:16px;padding:20px;transition:all .3s ease}.flow-step:hover{background:rgba(255,255,255,.08);transform:translate(8px)}.step-icon{font-size:2rem;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.step-content h3{color:#fff;margin:0 0 8px;font-size:1.3rem}.step-content p{color:#b0b0b0;margin:0;font-size:1rem;line-height:1.5}.games-title{color:gold;font-size:1.5rem;text-align:center;margin-bottom:20px}.games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.how-to-play-modal{max-width:1000px;max-height:90vh;overflow-y:auto;width:90vw}.how-to-play-modal .modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #6a4c96;padding-bottom:16px;margin-bottom:24px}.how-to-play-modal .modal-header h2{color:gold;text-shadow:0 2px 4px rgba(0,0,0,.5);margin:0}.how-to-play-modal .modal-close{background:#ff4757;border:none;color:#fff;font-size:24px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-weight:700}.how-to-play-modal .modal-close:hover{background:#ff3742;transform:scale(1.1);box-shadow:0 4px 12px #ff475766}.game-overview{margin-bottom:32px}.game-overview h3{color:gold;font-size:1.5rem;margin-bottom:20px;text-align:center}.overview-grid{display:grid;gap:16px;margin-bottom:24px}.overview-item{display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.05);border-radius:12px;padding:16px;border-left:4px solid #6a4c96}.overview-icon{font-size:2rem;flex-shrink:0}.overview-item h4{color:#fff;margin:0 0 4px;font-size:1.1rem}.overview-item p{color:#b0b0b0;margin:0;font-size:.9rem;line-height:1.4}.games-section h3{color:gold;font-size:1.5rem;margin-bottom:20px;text-align:center}.games-list{display:grid;gap:20px}.games-list .game-instructions{margin:0}.how-to-play-modal .game-flow-explanation{margin-bottom:32px}.how-to-play-modal .flow-steps{display:grid;gap:20px}.how-to-play-modal .flow-step{display:flex;align-items:flex-start;gap:16px;background:rgba(255,255,255,.05);border-radius:16px;padding:20px;transition:all .3s ease}.how-to-play-modal .flow-step:hover{background:rgba(255,255,255,.08);transform:translate(8px)}.how-to-play-modal .step-icon{font-size:2rem;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.how-to-play-modal .step-content h3{color:#fff;margin:0 0 8px;font-size:1.3rem}.how-to-play-modal .step-content p{color:#b0b0b0;margin:0;font-size:1rem;line-height:1.5}.how-to-play-modal .available-games{margin-bottom:32px}.how-to-play-modal .games-title{color:gold;font-size:1.5rem;text-align:center;margin-bottom:20px}.how-to-play-modal .games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:24px}.detailed-games-section{border-top:1px solid rgba(255,255,255,.1);padding-top:32px}.detailed-games-list{display:grid;gap:20px}.detailed-games-list .game-instructions{margin:0}.legal-links{margin-top:8px;text-align:center}.legal-link{background:none;border:none;color:#6a4c96;text-decoration:none;cursor:pointer;font-size:inherit;font-family:"Press Start 2P",monospace;transition:all .3s ease;padding:2px 4px}.legal-link:hover{color:#8e6bb1;text-shadow:0 0 8px rgba(106,76,150,.5)}@media (max-width: 768px){.game-instructions{padding:16px;margin:12px 0}.instruction-header h3{font-size:1.3rem}.game-icon{font-size:24px}.games-grid{grid-template-columns:1fr}.how-to-play-modal{width:95vw;max-height:95vh;margin:2.5vh auto}.how-to-play-modal .modal-header h2{font-size:1.5rem}.how-to-play-modal .modal-close{width:35px;height:35px;font-size:20px}.how-to-play-modal .flow-step{flex-direction:column;text-align:center;padding:16px}.how-to-play-modal .step-icon{align-self:center;font-size:1.5rem}.how-to-play-modal .step-content h3{font-size:1.2rem}.how-to-play-modal .games-title{font-size:1.3rem}.how-to-play-modal .games-grid{grid-template-columns:1fr}.flow-step{flex-direction:column;text-align:center}.step-icon{align-self:center}.how-to-play-section{padding:20px;margin:20px 0}.section-title{font-size:1.5rem}}@media (max-width: 480px){.how-to-play-modal{width:98vw;max-height:98vh;margin:1vh auto}.how-to-play-modal .modal-header{padding-bottom:12px;margin-bottom:16px}.how-to-play-modal .modal-header h2{font-size:1.3rem}.how-to-play-modal .flow-step{padding:12px}.how-to-play-modal .step-content h3{font-size:1.1rem}.how-to-play-modal .step-content p{font-size:.9rem}}.betting-screen.player-ready-screen h1.title{animation:fadeInScale var(--duration-slow) var(--ease-bounce)!important;text-shadow:0 4px 8px rgba(255,215,0,.3)!important;box-shadow:none!important;filter:none!important}.betting-screen.player-ready-screen h1.title:before,.betting-screen.player-ready-screen h1.title:after{display:none!important;content:none!important;background:none!important;box-shadow:none!important}.connection-status{position:fixed;top:20px;right:20px;z-index:9999;background:rgba(0,0,0,.9);border-radius:12px;padding:12px 16px;border:2px solid;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideIn .3s ease-out;max-width:300px}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.connection-status.connecting{border-color:gold;background:rgba(255,215,0,.1)}.connection-status.reconnecting{border-color:#ff9500;background:rgba(255,149,0,.1)}.connection-status.disconnected{border-color:#ff6b6b;background:rgba(255,107,107,.1)}.connection-status.failed{border-color:#ff4757;background:rgba(255,71,87,.1)}.connection-status-content{display:flex;align-items:center;gap:12px;color:#fff;font-size:.9rem;font-weight:500}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.reconnect-btn{background:var(--bg-gradient-primary);border:none;color:#fff;padding:6px 12px;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s ease;font-weight:600;border:1px solid var(--primary-400)}.reconnect-btn:hover:not(:disabled){background:var(--bg-gradient-button-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.reconnect-btn:disabled{background:var(--gray-500);cursor:not-allowed;opacity:.6}@media (max-width: 768px){.connection-status{top:10px;right:10px;left:10px;max-width:none;padding:10px 12px}.connection-status-content{gap:8px;font-size:.85rem}.reconnect-btn{padding:4px 8px;font-size:.75rem}}.loading-screen,.decline-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg-deep)}.loading-content,.decline-content{text-align:center;padding:var(--space-8);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);max-width:500px;margin:var(--space-4)}.loading-content h1,.decline-content h1{font-size:var(--text-3xl);color:var(--color-primary);margin-bottom:var(--space-4)}.loading-content p,.decline-content p{font-size:var(--text-lg);color:var(--color-text-muted);margin-bottom:var(--space-4)}.btn-large{height:52px;padding:0 var(--space-6);font-size:var(--text-base)}.btn-primary{background:var(--color-primary);color:var(--color-bg-deep);box-shadow:0 4px 20px var(--color-primary-glow)}.btn-success{background:var(--color-success);color:var(--color-bg-deep);box-shadow:0 4px 20px var(--color-success-glow)}.host-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--color-warning);color:var(--color-bg-deep);font-size:var(--text-xs);font-weight:var(--font-bold);border-radius:var(--radius-sm);text-transform:uppercase}.kick-btn{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--duration-fast)}.kick-btn:hover{background:var(--color-error-glow);border-color:var(--color-error);color:var(--color-error)}.share-link-btn{display:inline-flex;align-items:center;gap:var(--space-2)}.leave-lobby-btn{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.leave-lobby-btn:hover{border-color:var(--color-error);color:var(--color-error)}.start-game-btn{min-width:250px}.points{font-family:var(--font-family-mono);color:var(--color-warning)}.player-card.empty{border-style:dashed;opacity:.5}.empty-avatar{width:64px;height:64px;border-radius:var(--radius-full);background:var(--color-bg-hover);border:2px dashed var(--color-border);display:flex;align-items:center;justify-content:center;font-size:var(--text-2xl);color:var(--color-text-muted)}.title{font-family:var(--font-family-display);font-size:var(--text-4xl);font-weight:var(--font-black);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-primary);text-shadow:var(--text-glow-primary);text-align:center;margin-bottom:var(--space-8)}
