.input-display{border-radius:15px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:800px;transition:all .3s ease}.input-display.dark{background:rgba(255,255,255,.1);box-shadow:0 10px 25px #0000004d;border:1px solid rgba(255,255,255,.1);color:#fff}.input-display.light{background:rgba(255,255,255,.8);box-shadow:0 10px 25px #0000001a;border:1px solid rgba(0,0,0,.1);color:#2c3e50}.input-display h3{text-align:center;margin-bottom:1rem;font-size:1.3rem}.input-display.dark h3{color:#fff}.input-display.light h3{color:#2c3e50}.input-list{display:flex;gap:.5rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap;min-height:50px;align-items:center}.no-inputs{font-style:italic;text-align:center;width:100%}.input-display.dark .no-inputs{color:#fff9}.input-display.light .no-inputs{color:#2c3e5099}.input-item{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.1rem;box-shadow:0 4px 8px #0003;transition:all .3s ease;animation:inputPop .3s ease-out}.input-item:hover{transform:scale(1.1);box-shadow:0 6px 12px #0000004d}@keyframes inputPop{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.input-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2)}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.input-display.dark .legend-item{color:#fffc}.input-display.light .legend-item{color:#2c3e50cc}.legend-key{width:25px;height:25px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.8rem;box-shadow:0 2px 4px #0003}@media (max-width: 768px){.input-display{padding:1rem}.input-list{gap:.3rem}.input-item{width:35px;height:35px;font-size:1rem}.input-legend{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.3rem}.legend-item{font-size:.8rem}.legend-key{width:20px;height:20px;font-size:.7rem}}.score-display{border-radius:15px;padding:1rem 1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:300px;transition:all .3s ease}.score-display.dark{background:rgba(255,255,255,.1);box-shadow:0 10px 25px #0000004d;border:1px solid rgba(255,255,255,.1);color:#fff}.score-display.light{background:rgba(255,255,255,.8);box-shadow:0 10px 25px #0000001a;border:1px solid rgba(0,0,0,.1);color:#2c3e50}.score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.score-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.5rem;border-radius:10px}.score-display.dark .score-item{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2)}.score-display.light .score-item{background:rgba(255,255,255,.5);border:1px solid rgba(0,0,0,.1)}.score-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.3rem}.score-display.dark .score-label{color:#fffc}.score-display.light .score-label{color:#2c3e50cc}.score-value{font-size:1.2rem;font-weight:700}.score-display.dark .score-value{color:#fff}.score-display.light .score-value{color:#2c3e50}.score-item.points .score-value{color:#f39c12;font-size:1.4rem}.score-item:nth-child(2) .score-value{color:#4ecdc4}.score-value{animation:scoreUpdate .5s ease-out}@keyframes scoreUpdate{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@media (max-width: 768px){.score-display{min-width:250px;padding:.8rem 1rem}.score-grid{grid-template-columns:repeat(2,1fr);gap:.8rem}.score-label{font-size:.7rem}.score-value{font-size:1rem}}@media (max-width: 480px){.score-grid{grid-template-columns:1fr;gap:.5rem}.score-item{flex-direction:row;justify-content:space-between;padding:.8rem}.score-label{margin-bottom:0}}.training-countdown{position:fixed;top:0;left:0;width:100%;height:100vh;display:flex;align-items:center;justify-content:center;z-index:1000;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.training-countdown.dark{background:rgba(0,0,0,.9)}.training-countdown.light{background:rgba(255,255,255,.95)}.countdown-number{font-size:8rem;font-weight:900;color:#fff;text-shadow:0 0 30px rgba(255,255,255,.8);animation:countdownPulse .3s ease-out;-webkit-user-select:none;user-select:none}.training-countdown.light .countdown-number{color:#2c3e50;text-shadow:0 0 30px rgba(44,62,80,.8)}@keyframes countdownPulse{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}.training-input-display{position:relative;width:100%;padding:20px;border-radius:15px 15px 0 0;margin-bottom:1rem;transition:all .3s ease}.training-input-display.dark{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;box-shadow:0 4px 6px #0000001a;border-bottom:3px solid rgba(255,255,255,.2)}.training-input-display.light{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);color:#2c3e50;box-shadow:0 4px 6px #0000001a;border-bottom:3px solid rgba(44,62,80,.2)}.training-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.training-header h3{margin:0;font-size:1.5rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.3)}.difficulty-badge{background:rgba(255,255,255,.2);padding:6px 12px;border-radius:20px;font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.input-instruction{text-align:center;margin-bottom:20px}.instruction-text{display:block;font-size:1.1rem;font-weight:500;margin-bottom:15px;opacity:.9}.motion-pattern-name{font-size:1.2rem;font-weight:600;margin-bottom:10px;padding:8px 16px;background:rgba(255,255,255,.15);border-radius:25px;display:inline-block;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);text-shadow:0 1px 2px rgba(0,0,0,.3);color:#fff;box-shadow:0 2px 8px #0000001a}.real-combo-info{margin-bottom:15px;text-align:center;padding:12px;background:rgba(255,215,0,.1);border-radius:8px;border:1px solid rgba(255,215,0,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.real-combo-info .combo-name{font-size:18px;font-weight:700;color:gold;margin-bottom:6px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.real-combo-info .combo-notation{font-size:16px;color:#ff6b6b;font-family:Courier New,monospace;margin-bottom:6px;background:rgba(0,0,0,.2);padding:4px 8px;border-radius:4px;display:inline-block}.real-combo-info .combo-description{font-size:13px;color:#ddd;margin-bottom:10px;line-height:1.4;opacity:.9}.real-combo-info .combo-meta{display:flex;justify-content:center;gap:12px;font-size:11px}.real-combo-info .combo-difficulty{color:#fff;font-weight:700;padding:3px 8px;background:#ff9500;border-radius:12px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.real-combo-info .combo-type{color:#fff;font-weight:700;padding:3px 8px;background:#9b59b6;border-radius:12px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.input-sequence{display:flex;gap:8px;align-items:center;justify-content:center}.input-key{background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.3);border-radius:8px;padding:8px 12px;font-size:1.2rem;font-weight:600;min-width:40px;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease;position:relative}.input-key:hover{background:rgba(255,255,255,.25);transform:translateY(-2px);box-shadow:0 4px 8px #0003}.input-key:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);border-radius:6px;opacity:0;transition:opacity .3s ease}.input-key:hover:after{opacity:1}.input-key.completed{background:rgba(46,204,113,.3);border-color:#2ecc7199;color:#2ecc71;transform:scale(1.05);box-shadow:0 0 15px #2ecc7166}.progress-container{margin:15px 0;display:flex;align-items:center;gap:10px}.progress-label{font-size:.9rem;font-weight:500;opacity:.9;min-width:120px}.progress-bar{flex:1;height:8px;background:rgba(255,255,255,.2);border-radius:4px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#2ecc71 0%,#27ae60 100%);transition:width .3s ease;border-radius:4px}.timer-container{margin:15px 0;display:flex;align-items:center;gap:10px}.timer-label{font-size:.9rem;font-weight:500;opacity:.9;min-width:100px}.timer-bar{flex:1;height:8px;background:rgba(255,255,255,.2);border-radius:4px;overflow:hidden;position:relative}.timer-fill{height:100%;transition:width .1s linear,background-color .3s ease;border-radius:4px}.timer-text{font-size:.9rem;font-weight:600;min-width:40px;text-align:right}.feedback-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;padding:15px 25px;border-radius:10px;font-size:1.2rem;font-weight:600;z-index:10;animation:feedbackPulse .5s ease-out}.feedback-message.success{background:rgba(46,204,113,.9);color:#fff;box-shadow:0 4px 15px #2ecc7166}.feedback-message.fail,.feedback-message.wrong{background:rgba(231,76,60,.9);color:#fff;box-shadow:0 4px 15px #e74c3c66}.feedback-icon{font-size:1.5rem}.feedback-text{font-size:1.1rem}.training-input-display.feedback-success{animation:successFlash .6s ease-out}.training-input-display.feedback-fail{animation:failFlash .6s ease-out}.training-input-display.feedback-wrong{animation:wrongFlash .6s ease-out}@keyframes feedbackPulse{0%{transform:translate(-50%,-50%) scale(.8);opacity:0}50%{transform:translate(-50%,-50%) scale(1.1);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes successFlash{0%,to{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}50%{background:linear-gradient(135deg,#2ecc71 0%,#27ae60 100%)}}@keyframes failFlash{0%,to{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}50%{background:linear-gradient(135deg,#e74c3c 0%,#c0392b 100%)}}@keyframes wrongFlash{0%,to{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}50%{background:linear-gradient(135deg,#e74c3c 0%,#c0392b 100%)}}.custom-combo-name{background:var(--accent-color);color:#fff;padding:8px 12px;border-radius:6px;margin:8px 0;font-weight:600;font-size:14px;text-align:center}.custom-combo-description{font-size:12px;opacity:.9;margin-top:4px;font-weight:400}@media (max-width: 768px){.training-input-display{padding:15px}.training-header h3{font-size:1.2rem}.instruction-text{font-size:1rem}.input-key{padding:6px 10px;font-size:1rem;min-width:35px}.input-sequence{gap:6px}}.gamepad-status{position:fixed;top:20px;right:20px;background:rgba(46,204,113,.9);color:#fff;padding:15px;border-radius:10px;font-size:.9rem;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);max-width:300px;box-shadow:0 4px 12px #0000004d;animation:fadeIn .3s ease-in-out}.gamepad-status.disconnected{background:rgba(231,76,60,.9)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.gamepad-indicator{font-weight:600;margin-bottom:10px;display:flex;align-items:center;gap:8px}.gamepad-name{font-size:.8rem;opacity:.8;font-weight:400}.gamepad-info{font-size:.8rem;line-height:1.4}.gamepad-info p{margin:5px 0;opacity:.9}.current-inputs{margin-top:10px;padding:8px;background:rgba(255,255,255,.1);border-radius:5px;border-left:3px solid rgba(255,255,255,.5)}.current-inputs p{margin:0;font-weight:600;font-size:.85rem}@media (max-width: 768px){.gamepad-status{top:10px;right:10px;left:10px;max-width:none;font-size:.8rem}}.mobile-controls{width:100%;padding:1rem;background:rgba(255,255,255,.05);border-radius:20px;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);margin-top:1rem;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.mobile-controls.light{background:rgba(255,255,255,.2);border-color:#ffffff4d;color:#2c3e50}.mobile-controls.dark{background:rgba(255,255,255,.05);border-color:#ffffff1a;color:#fff}.mobile-controls.disabled{opacity:.5;pointer-events:none}.controls-container{display:flex;justify-content:space-between;align-items:center;gap:2rem;max-width:100%}.movement-controls{flex:1;display:flex;justify-content:center}.dpad{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr;gap:2px;width:120px;height:120px;background:rgba(255,255,255,.1);border-radius:15px;padding:4px;border:2px solid rgba(255,255,255,.2)}.dpad-middle{display:grid;grid-template-columns:1fr 1fr 1fr;grid-column:1 / 4;gap:2px}.dpad-center{background:rgba(255,255,255,.1);border-radius:8px}.mobile-button{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:8px;color:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:36px;min-width:36px}.mobile-controls.light .mobile-button{background:rgba(255,255,255,.3);border-color:#fff6;color:#2c3e50}.mobile-controls.dark .mobile-button{background:rgba(255,255,255,.1);border-color:#fff3;color:#fff}.mobile-button:active,.mobile-button.active{background:rgba(78,205,196,.8);border-color:#4ecdc4;color:#fff;transform:scale(.95);box-shadow:inset 0 2px 8px #0000004d}.mobile-button.up{grid-column:2;grid-row:1}.mobile-button.left{grid-column:1}.mobile-button.right{grid-column:3}.mobile-button.down{grid-column:2;grid-row:3}.action-controls{flex:2;display:flex;flex-direction:column;gap:1rem}.button-group{display:flex;flex-direction:column;gap:.5rem}.button-group h4{margin:0;font-size:.8rem;font-weight:600;text-align:center;opacity:.8;text-transform:uppercase;letter-spacing:1px}.button-row{display:flex;gap:.5rem;justify-content:center}.punch-buttons .mobile-button{background:rgba(255,107,107,.2);border-color:#ff6b6b66;min-width:50px;height:45px}.kick-buttons .mobile-button{background:rgba(102,126,234,.2);border-color:#667eea66;min-width:50px;height:45px}.punch-buttons .mobile-button:active,.punch-buttons .mobile-button.active{background:rgba(255,107,107,.9);border-color:#ff6b6b}.kick-buttons .mobile-button:active,.kick-buttons .mobile-button.active{background:rgba(102,126,234,.9);border-color:#667eea}.mobile-instructions{text-align:center;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.mobile-instructions p{margin:0;font-size:.8rem;opacity:.7;color:inherit}@media (max-width: 480px){.controls-container{flex-direction:column;gap:1rem}.movement-controls{order:2}.action-controls{order:1;flex-direction:row;justify-content:space-around}.dpad{width:100px;height:100px}.mobile-button{font-size:.8rem;min-height:32px;min-width:32px}.punch-buttons .mobile-button,.kick-buttons .mobile-button{min-width:45px;height:40px}}@media (max-width: 360px){.dpad{width:90px;height:90px}.mobile-button{font-size:.7rem;min-height:28px;min-width:28px}.punch-buttons .mobile-button,.kick-buttons .mobile-button{min-width:40px;height:35px}.button-group h4{font-size:.7rem}}@media (orientation: landscape) and (max-height: 600px){.mobile-controls{padding:.5rem;margin-top:.5rem}.controls-container{gap:1rem}.action-controls{flex-direction:row;gap:1.5rem}.dpad{width:100px;height:100px}.mobile-button{min-height:30px;min-width:30px}.mobile-instructions{margin-top:.5rem;padding-top:.5rem}}@media (prefers-contrast: high){.mobile-button{border-width:2px}.mobile-button:active,.mobile-button.active{background:#00ff00;color:#000}.punch-buttons .mobile-button:active,.punch-buttons .mobile-button.active{background:#ff0000;color:#fff}.kick-buttons .mobile-button:active,.kick-buttons .mobile-button.active{background:#0000ff;color:#fff}}@media (prefers-reduced-motion: reduce){.mobile-button{transition:none}.mobile-button:active,.mobile-button.active{transform:none}}@media (pointer: coarse){.mobile-button{min-height:44px;min-width:44px}.punch-buttons .mobile-button,.kick-buttons .mobile-button{min-width:55px;height:50px}}.game-canvas{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:1200px;position:relative;min-height:100vh;padding:1rem;transition:all .3s ease}.game-canvas.dark{background:#1a1a1a;color:#fff}.game-canvas.light{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);color:#2c3e50}.game-header{display:flex;justify-content:space-between;align-items:center;width:100%;background:rgba(255,255,255,.1);padding:1rem 2rem;border-radius:15px;box-shadow:0 10px 25px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);color:#fff}.game-main-layout{display:flex;align-items:flex-start;gap:2rem;width:100%;margin-top:2rem}.game-stats-panel{flex-shrink:0;background:rgba(255,255,255,.1);padding:1rem 2rem;border-radius:15px;box-shadow:0 10px 25px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);color:#fff}.game-center-area{flex:1;display:flex;align-items:center;justify-content:center;min-height:400px;background:rgba(255,255,255,.05);border-radius:15px;border:1px solid rgba(255,255,255,.1)}.game-controls{flex-shrink:0;display:flex;gap:1rem}.game-controls button{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 8px #0003}.game-controls button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #0000004d}.start-training-btn{background:linear-gradient(135deg,#4CAF50 0%,#45a049 100%)!important;font-size:1.1rem;padding:1rem 2rem!important;border-radius:12px!important;box-shadow:0 6px 15px #4caf504d!important}.start-training-btn:hover{background:linear-gradient(135deg,#45a049 0%,#3d8b40 100%)!important;box-shadow:0 8px 20px #4caf5066!important}.game-start-screen{display:flex;align-items:center;justify-content:center;min-height:80vh;width:100%}.start-screen-content{background:linear-gradient(135deg,#2c3e50 0%,#34495e 100%);padding:3rem;border-radius:20px;box-shadow:0 20px 40px #00000080;border:2px solid rgba(255,255,255,.1);color:#fff;text-align:center;max-width:500px;width:90%}.start-screen-content h2{margin:0 0 1rem;font-size:2.5rem;color:#4caf50;text-shadow:0 2px 4px rgba(0,0,0,.3)}.start-screen-content p{margin:0 0 2rem;font-size:1.2rem;opacity:.9;line-height:1.5}.start-screen-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.free-play-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)!important;color:#fff;border:none;padding:1rem 2rem!important;border-radius:12px!important;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:1.1rem;box-shadow:0 6px 15px #667eea4d!important}.free-play-btn:hover{background:linear-gradient(135deg,#5a6fd8 0%,#6a4190 100%)!important;transform:translateY(-2px);box-shadow:0 8px 20px #667eea66!important}.game-stage{border-radius:15px;overflow:hidden;box-shadow:0 20px 40px #0006;background:#2c3e50;border:2px solid rgba(255,255,255,.1)}.konvajs-content{border-radius:15px}@media (max-width: 1200px){.game-canvas{max-width:100%;padding:0 1rem}.game-stage{width:100%;max-width:800px}}@media (max-width: 768px){.game-header{flex-direction:column;gap:1rem;padding:1rem}.game-controls{width:100%;justify-content:center}.game-stage{max-width:100%}.start-screen-content{padding:2rem}.start-screen-content h2{font-size:2rem}.start-screen-buttons{flex-direction:column}.start-training-btn,.free-play-btn{width:100%}}.training-info,.game-info{margin-top:1rem;padding:1rem;background:rgba(255,255,255,.1);border-radius:10px;border:1px solid rgba(255,255,255,.2)}.training-info h3,.game-info h3{margin:0 0 .5rem;font-size:1.2rem;color:#4caf50}.training-info p,.game-info p{margin:.25rem 0;font-size:.9rem;opacity:.8;text-transform:capitalize}.end-session-dialog{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-content{background:linear-gradient(135deg,#2c3e50 0%,#34495e 100%);padding:2rem;border-radius:20px;box-shadow:0 20px 40px #00000080;border:2px solid rgba(255,255,255,.1);color:#fff;text-align:center;max-width:500px;width:90%}.dialog-content h2{margin:0 0 1.5rem;font-size:2rem;color:#4caf50}.session-results{margin-bottom:2rem}.result-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.result-item:last-child{border-bottom:none}.result-label{font-weight:600;opacity:.8}.result-value{font-weight:700;font-size:1.1rem;color:#4caf50}.result-item.points .result-value{color:#f39c12;font-size:1.3rem}.dialog-actions{display:flex;gap:1rem;justify-content:center}.leaderboard-btn,.menu-btn{padding:.75rem 1.5rem;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.leaderboard-btn{background:linear-gradient(45deg,#f093fb 0%,#f5576c 100%);color:#fff;box-shadow:0 4px 15px #f093fb66}.leaderboard-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f093fb99}.menu-btn{background:linear-gradient(45deg,#667eea 0%,#764ba2 100%);color:#fff;box-shadow:0 4px 15px #667eea66}.menu-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}@media (max-width: 768px){.game-main-layout{flex-direction:column;gap:1rem}.dialog-content{padding:1.5rem}.dialog-actions{flex-direction:column}.leaderboard-btn,.menu-btn{width:100%}}.custom-combo-manager{background:var(--bg-secondary);border-radius:12px;padding:24px;max-width:800px;margin:0 auto;box-shadow:0 4px 20px #0000001a}.combo-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--border-color)}.combo-manager-header h2{margin:0;color:var(--text-primary);font-size:24px;font-weight:600}.header-buttons{display:flex;gap:12px}.create-button{background:var(--accent-color);color:#fff;border:none;padding:10px 16px;border-radius:8px;font-weight:500;cursor:pointer;transition:background-color .2s}.create-button:hover{background:var(--accent-hover)}.close-button{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s}.close-button:hover{background:var(--bg-hover);color:var(--text-primary)}.combo-form{background:var(--bg-primary);border-radius:8px;padding:20px;margin-bottom:20px}.combo-form h3{margin:0 0 20px;color:var(--text-primary);font-size:18px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--text-primary);font-weight:500}.form-input,.form-textarea{width:100%;padding:12px;border:2px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;transition:border-color .2s}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--accent-color)}.form-textarea{resize:vertical;min-height:80px}.input-recording{margin-bottom:20px}.recording-controls{display:flex;align-items:center;gap:12px;margin-bottom:12px}.record-button{background:var(--danger-color);color:#fff;border:none;padding:10px 16px;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s}.record-button.recording{background:var(--success-color);animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.record-button:hover{opacity:.9}.recording-hint{color:var(--text-secondary);font-size:14px}.recording-status{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-tertiary);border-radius:6px;font-size:14px}.current-input{color:var(--accent-color);font-weight:500}.gamepad-indicator{color:#4caf50;font-weight:500;background:rgba(76,175,80,.1);padding:4px 8px;border-radius:4px;border:1px solid rgba(76,175,80,.3);font-size:12px}.preview-display{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--accent-color);border-radius:6px;margin-top:8px;animation:previewPulse .3s ease-out}.preview-label{color:#fff;font-size:14px;font-weight:500}.preview-input{color:#fff;font-size:16px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3)}@keyframes previewPulse{0%{transform:scale(.9);opacity:0}50%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:1}}.manual-inputs{margin-bottom:20px}.manual-inputs h4{margin:0 0 12px;color:var(--text-primary);font-size:16px}.input-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:8px}.input-button{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s;font-size:12px;font-weight:500;text-align:center;display:flex;align-items:center;justify-content:center}.input-button:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.combo-preview{margin-bottom:20px}.combo-preview h4{margin:0 0 12px;color:var(--text-primary);font-size:16px;display:flex;align-items:center;gap:8px}.recording-indicator{color:var(--success-color);font-size:14px;font-weight:500;animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.5}}.inputs-display{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;min-height:40px;padding:12px;background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border-color);max-height:200px;overflow-y:auto;align-content:flex-start;scrollbar-width:thin;scrollbar-color:var(--accent-color) var(--bg-tertiary);transition:border-color .3s ease}.inputs-display.recording-active{border-color:var(--success-color);box-shadow:0 0 0 2px #4caf5033;animation:recordingPulse 2s infinite}@keyframes recordingPulse{0%{box-shadow:0 0 0 2px #4caf5033}50%{box-shadow:0 0 0 4px #4caf5066}to{box-shadow:0 0 0 2px #4caf5033}}.inputs-display::-webkit-scrollbar{width:6px}.inputs-display::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:3px}.inputs-display::-webkit-scrollbar-thumb{background:var(--accent-color);border-radius:3px}.inputs-display::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}.input-item{display:flex;align-items:center;gap:4px;background:var(--accent-color);color:#fff;padding:6px 10px;border-radius:4px;font-size:12px;font-weight:500;min-width:0;flex-shrink:0;box-shadow:0 1px 3px #0003;transition:transform .1s ease}.input-item:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0000004d}.input-value{font-size:12px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3);white-space:nowrap}.remove-input{background:none;border:none;color:#fff;cursor:pointer;font-size:10px;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.remove-input:hover{background:rgba(255,255,255,.2)}.no-inputs{color:var(--text-secondary);font-style:italic}.clear-inputs{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.clear-inputs:hover:not(:disabled){background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.clear-inputs:disabled{opacity:.5;cursor:not-allowed}.form-actions{display:flex;gap:12px;justify-content:flex-end}.save-button{background:var(--success-color);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s}.save-button:hover{background:var(--success-hover)}.cancel-button{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);padding:10px 20px;border-radius:6px;cursor:pointer;transition:all .2s}.cancel-button:hover{background:var(--bg-hover);color:var(--text-primary)}.combos-list{display:flex;flex-direction:column;gap:16px}.combo-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:16px;display:flex;justify-content:space-between;align-items:flex-start;transition:all .2s}.combo-item:hover{border-color:var(--accent-color);box-shadow:0 2px 8px #0000001a}.combo-info{flex:1}.combo-name{margin:0 0 8px;color:var(--text-primary);font-size:18px;font-weight:600}.combo-description{margin:0 0 8px;color:var(--text-secondary);font-size:14px;line-height:1.4}.combo-inputs{margin-bottom:8px;font-size:14px;color:var(--text-primary)}.combo-meta{display:flex;gap:16px;font-size:12px;color:var(--text-secondary)}.select-button{background:var(--accent-color);color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:background-color .2s}.select-button:hover{background:var(--accent-hover)}.edit-button{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.edit-button:hover{background:var(--bg-hover)}.delete-button{background:var(--danger-color);color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:background-color .2s}.delete-button:hover{background:var(--danger-hover)}.no-combos{text-align:center;padding:40px 20px;color:var(--text-secondary)}.no-combos p{margin:8px 0;font-size:16px}.no-combos p:first-child{font-size:18px;font-weight:500;color:var(--text-primary)}@media (max-width: 768px){.custom-combo-manager{padding:16px;margin:0 8px}.combo-manager-header{flex-direction:column;gap:16px;align-items:stretch}.header-buttons{justify-content:center}.combo-item{flex-direction:column;gap:12px}.combo-actions{align-self:stretch;justify-content:center}.input-buttons{grid-template-columns:repeat(5,1fr)}.form-actions{flex-direction:column}}.training-menu{width:100%;max-width:1200px;margin:0 auto;transition:all .3s ease}.training-menu.light{color:#2c3e50}.training-menu.dark{color:#fff}.menu-container{background:rgba(255,255,255,.08);border-radius:25px;padding:3rem;box-shadow:0 25px 50px #00000040;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.15);color:#fff;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;margin:2rem auto;max-width:1200px;overflow:hidden}.menu-container:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 3s ease-in-out infinite}.training-menu.light .menu-container{background:rgba(255,255,255,.25);box-shadow:0 25px 50px #0000001a;border:1px solid rgba(255,255,255,.3);color:#2c3e50}.training-menu.light .menu-container:before{background:linear-gradient(90deg,transparent,rgba(102,126,234,.4),transparent)}.training-menu.dark .menu-container{background:rgba(255,255,255,.08);box-shadow:0 25px 50px #0000004d;border:1px solid rgba(255,255,255,.15);color:#fff}.training-menu.dark .menu-container:before{background:linear-gradient(90deg,transparent,rgba(255,107,107,.4),transparent)}@keyframes shimmer{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}.menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid rgba(255,255,255,.1);transition:all .3s ease}.training-menu.light .menu-header{border-bottom:2px solid rgba(44,62,80,.1)}.training-menu.dark .menu-header{border-bottom:2px solid rgba(255,255,255,.1)}.menu-header h2{font-size:2.5rem;margin:0;color:inherit;text-align:left}.header-buttons{display:flex;gap:15px}.settings-button,.leaderboard-button,.achievements-button{background:linear-gradient(45deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:12px 24px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.achievements-button{background:linear-gradient(45deg,#ffd700 0%,#ffb74d 100%);box-shadow:0 4px 15px #ffd70066}.leaderboard-button{background:linear-gradient(45deg,#f093fb 0%,#f5576c 100%);box-shadow:0 4px 15px #f093fb66}.settings-button:hover,.leaderboard-button:hover,.achievements-button:hover{transform:translateY(-2px)}.achievements-button:hover{box-shadow:0 6px 20px #ffd70099}.settings-button:hover{box-shadow:0 6px 20px #667eea99}.leaderboard-button:hover{box-shadow:0 6px 20px #f093fb99}.mode-selection,.difficulty-selection{margin-bottom:2rem}.mode-selection h3,.difficulty-selection h3{font-size:1.5rem;margin-bottom:1rem;color:inherit;text-align:center}.mode-grid,.difficulty-grid{display:grid;gap:1rem;margin-bottom:2rem}.mode-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.difficulty-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.mode-card,.difficulty-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:2rem;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);text-align:center;color:inherit;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);position:relative;overflow:hidden}.mode-card:before,.difficulty-card: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 .6s ease;z-index:1}.mode-card:hover:before,.difficulty-card:hover:before{left:100%}.mode-card>*,.difficulty-card>*{position:relative;z-index:2}.training-menu.light .mode-card,.training-menu.light .difficulty-card{background:rgba(44,62,80,.05);border:2px solid rgba(44,62,80,.2);color:#2c3e50}.training-menu.dark .mode-card,.training-menu.dark .difficulty-card{background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.2);color:#fff}.mode-card:hover,.difficulty-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #00000040;border-color:#667eea80;background:rgba(255,255,255,.15)}.training-menu.light .mode-card:hover,.training-menu.light .difficulty-card:hover{box-shadow:0 10px 25px #0000001a;background:rgba(44,62,80,.1)}.training-menu.dark .mode-card:hover,.training-menu.dark .difficulty-card:hover{box-shadow:0 10px 25px #0000004d;background:rgba(255,255,255,.2)}.mode-card.selected,.difficulty-card.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;transform:translateY(-5px);box-shadow:0 10px 25px #667eea4d}.mode-card h4,.difficulty-card h4{font-size:1.3rem;margin-bottom:.5rem;font-weight:600}.mode-card p,.difficulty-card p{font-size:.9rem;opacity:.8;line-height:1.4}.start-button{display:block;width:100%;max-width:350px;margin:0 auto;font-size:1.3rem;padding:1.5rem 2.5rem;background:linear-gradient(135deg,#ff6b6b 0%,#4ecdc4 50%,#45b7d1 100%);border:none;border-radius:25px;color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 10px 30px #ff6b6b4d}.start-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.start-button:hover:before{left:100%}.start-button:hover{background:linear-gradient(135deg,#ff5252 0%,#26a69a 50%,#2196f3 100%);transform:translateY(-5px) scale(1.05);box-shadow:0 20px 40px #ff6b6b80}.start-button:active{transform:translateY(-2px) scale(1.02)}.training-summary{background:rgba(255,255,255,.05);border-radius:15px;padding:20px;margin-bottom:2rem;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.training-menu.light .training-summary{background:rgba(44,62,80,.05);border:1px solid rgba(44,62,80,.1)}.training-menu.dark .training-summary{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.training-summary h3{font-size:1.3rem;margin-bottom:15px;color:#667eea;text-align:center;font-weight:600}.summary-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.summary-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px;background:rgba(255,255,255,.05);border-radius:10px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.training-menu.light .summary-item{background:rgba(44,62,80,.05);border:1px solid rgba(44,62,80,.1)}.training-menu.dark .summary-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.summary-label{font-size:.9rem;opacity:.8;margin-bottom:5px;font-weight:500}.summary-value{font-size:1.1rem;font-weight:600;color:#667eea}.confirmation-dialog{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-in-out}.dialog-content{background:linear-gradient(135deg,#1e3c72 0%,#2a5298 100%);padding:40px;border-radius:20px;max-width:500px;width:90%;border:2px solid rgba(255,255,255,.2);box-shadow:0 20px 40px #0000004d;color:#fff;transition:all .3s ease}.training-menu.light .dialog-content{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);border:2px solid rgba(44,62,80,.2);box-shadow:0 20px 40px #0000001a;color:#2c3e50}.training-menu.dark .dialog-content{background:linear-gradient(135deg,#1e3c72 0%,#2a5298 100%);border:2px solid rgba(255,255,255,.2);box-shadow:0 20px 40px #0000004d;color:#fff}.dialog-content h2{color:#667eea;font-size:1.8rem;margin:0 0 25px;text-align:center;font-weight:600}.training-details{margin-bottom:30px}.detail-item{display:flex;align-items:flex-start;gap:15px;margin-bottom:20px;padding:15px;background:rgba(255,255,255,.05);border-radius:12px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.training-menu.light .detail-item{background:rgba(44,62,80,.05);border:1px solid rgba(44,62,80,.1)}.training-menu.dark .detail-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.detail-item:last-child{margin-bottom:0}.detail-icon{font-size:1.5rem;flex-shrink:0;margin-top:2px}.detail-text{flex:1}.detail-text strong{display:block;font-size:1.1rem;color:#667eea;margin-bottom:5px;font-weight:600}.detail-text p{margin:0;font-size:.9rem;opacity:.8;line-height:1.4}.dialog-actions{display:flex;gap:15px;justify-content:center}.cancel-btn,.confirm-btn{padding:12px 24px;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px}.cancel-btn{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.3)}.training-menu.light .cancel-btn{background:rgba(44,62,80,.1);color:#2c3e50;border:1px solid rgba(44,62,80,.3)}.training-menu.dark .cancel-btn{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.3)}.cancel-btn:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}.training-menu.light .cancel-btn:hover{background:rgba(44,62,80,.2)}.training-menu.dark .cancel-btn:hover{background:rgba(255,255,255,.2)}.confirm-btn{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);color:#fff;box-shadow:0 4px 15px #ff6b6b66}.confirm-btn:hover{background:linear-gradient(45deg,#ff5252,#26a69a);transform:translateY(-2px);box-shadow:0 6px 20px #ff6b6b99}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.menu-container{padding:1rem;margin:1rem}.menu-container h2{font-size:2rem}.mode-grid,.difficulty-grid{grid-template-columns:1fr}.header-buttons{flex-direction:column;gap:10px}.summary-details{grid-template-columns:1fr}.dialog-content{padding:30px 20px;margin:20px}.dialog-content h2{font-size:1.5rem}.dialog-actions{flex-direction:column}.detail-item{flex-direction:column;text-align:center;gap:10px}.detail-icon{align-self:center}}.custom-settings{margin-bottom:2rem;padding:1.5rem;background:rgba(255,255,255,.05);border-radius:15px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.training-menu.light .custom-settings{background:rgba(44,62,80,.05);border:1px solid rgba(44,62,80,.1)}.training-menu.dark .custom-settings{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.custom-settings h3{font-size:1.5rem;margin-bottom:1rem;color:inherit;text-align:center}.custom-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-size:1rem;font-weight:600;color:inherit;margin-bottom:.5rem}.custom-input{padding:12px 16px;border:2px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.1);color:inherit;font-size:1rem;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.training-menu.light .custom-input{border:2px solid rgba(44,62,80,.2);background:rgba(255,255,255,.8);color:#2c3e50}.training-menu.dark .custom-input{border:2px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff}.custom-input:focus{outline:none;border-color:#667eea;background:rgba(255,255,255,.15);box-shadow:0 0 0 3px #667eea33}.training-menu.light .custom-input:focus{background:rgba(255,255,255,.9)}.training-menu.dark .custom-input:focus{background:rgba(255,255,255,.15)}.custom-input:hover{border-color:#fff6;background:rgba(255,255,255,.12)}.training-menu.light .custom-input:hover{border-color:#2c3e5066;background:rgba(255,255,255,.85)}.training-menu.dark .custom-input:hover{border-color:#fff6;background:rgba(255,255,255,.12)}@media (max-width: 768px){.custom-inputs{grid-template-columns:1fr}.custom-settings{padding:1rem}}.pattern-selection{margin-bottom:2rem}.pattern-selection h4{margin-bottom:1rem;color:#90caf9;font-size:1.1rem;font-weight:600}.pattern-checkboxes{display:flex;flex-direction:column;gap:1rem}.checkbox-group{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1rem;transition:all .3s ease}.checkbox-group:hover{background:rgba(255,255,255,.08);border-color:#64b5f64d}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;margin:0}.checkbox-label input[type=checkbox]{margin:2px 0 0;width:18px;height:18px;accent-color:#64b5f6;cursor:pointer;flex-shrink:0}.checkbox-text{display:flex;flex-direction:column;gap:.25rem;flex:1}.checkbox-text strong{color:#e3f2fd;font-size:1rem;font-weight:600}.checkbox-text small{color:#ffffffb3;font-size:.85rem;line-height:1.3}.training-menu.light .pattern-selection h4{color:#1976d2}.training-menu.light .checkbox-group{background:rgba(44,62,80,.03);border-color:#2c3e501a}.training-menu.light .checkbox-group:hover{background:rgba(44,62,80,.06);border-color:#1976d24d}.training-menu.light .checkbox-text strong{color:#2c3e50}.training-menu.light .checkbox-text small{color:#2c3e50b3}.training-menu.light .checkbox-label input[type=checkbox]{accent-color:#1976d2}.training-menu.dark .pattern-selection h4{color:#90caf9}.training-menu.dark .checkbox-group{background:rgba(255,255,255,.05);border-color:#ffffff1a}.training-menu.dark .checkbox-group:hover{background:rgba(255,255,255,.08);border-color:#64b5f64d}.training-menu.dark .checkbox-text strong{color:#e3f2fd}.training-menu.dark .checkbox-text small{color:#ffffffb3}.training-menu.dark .checkbox-label input[type=checkbox]{accent-color:#64b5f6}.custom-combo-selection{background:var(--bg-primary);border-radius:8px;padding:20px;margin-bottom:20px;border:1px solid var(--border-color)}.custom-combo-selection h3{margin:0 0 16px;color:var(--text-primary);font-size:18px}.selected-combo{display:flex;justify-content:space-between;align-items:flex-start;background:var(--bg-secondary);border-radius:6px;padding:16px;border:2px solid var(--accent-color)}.combo-info h4{margin:0 0 8px;color:var(--text-primary);font-size:16px;font-weight:600}.combo-info p{margin:0 0 8px;color:var(--text-secondary);font-size:14px;line-height:1.4}.combo-info .combo-inputs{font-size:14px;color:var(--text-primary)}.combo-actions{display:flex;gap:8px;flex-shrink:0}.change-combo-button{background:var(--accent-color);color:#fff;border:none;padding:8px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:background-color .2s}.change-combo-button:hover{background:var(--accent-hover)}.clear-combo-button{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);padding:8px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.clear-combo-button:hover{background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.no-combo-selected{text-align:center;padding:20px;color:var(--text-secondary)}.no-combo-selected p{margin:0 0 16px;font-size:16px}.select-combo-button{background:var(--accent-color);color:#fff;border:none;padding:12px 20px;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s}.select-combo-button:hover{background:var(--accent-hover)}.start-button:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-tertiary);color:var(--text-secondary)}.start-button:disabled:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.settings{min-height:100vh;padding:20px;transition:all .3s ease}.settings.light{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);color:#2c3e50}.settings.dark{background:linear-gradient(135deg,#1e3c72 0%,#2a5298 100%);color:#ecf0f1}.settings-container{max-width:800px;margin:0 auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:30px;transition:all .3s ease}.settings.dark .settings-container{background:rgba(255,255,255,.1);box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2)}.settings.light .settings-container{background:rgba(255,255,255,.8);box-shadow:0 8px 32px #0000001a;border:1px solid rgba(0,0,0,.1)}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px}.settings.dark .settings-header{border-bottom:2px solid rgba(255,255,255,.1)}.settings.light .settings-header{border-bottom:2px solid rgba(44,62,80,.1)}.settings-header h2{margin:0;font-size:2.5rem;font-weight:700;background:linear-gradient(45deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.back-button{background:linear-gradient(45deg,#667eea 0%,#764ba2 100%);border:none;padding:12px 24px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.settings.dark .back-button{color:#fff}.settings.light .back-button{color:#000}.back-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.settings-section{margin-bottom:40px}.settings-section h3{font-size:1.8rem;margin-bottom:15px;color:#667eea;font-weight:600}.section-description{margin-bottom:20px;font-size:1rem;line-height:1.6}.settings.dark .section-description{color:#fffc}.settings.light .section-description{color:#2c3e50cc}.gamepad-status-settings{display:flex;flex-direction:column;gap:8px;padding:15px;background:rgba(46,204,113,.1);border:1px solid rgba(46,204,113,.3);border-radius:10px;margin-bottom:20px;animation:fadeIn .3s ease-in-out}.gamepad-status-settings.disconnected{background:rgba(231,76,60,.1);border-color:#e74c3c4d}.gamepad-indicator{font-weight:600;font-size:1.1rem;color:#2ecc71}.gamepad-status-settings.disconnected .gamepad-indicator{color:#e74c3c}.gamepad-info{font-size:.9rem;opacity:.8;line-height:1.4}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.theme-toggle{display:flex;align-items:center;justify-content:center;gap:20px;padding:20px;border-radius:15px;transition:all .3s ease}.settings.dark .theme-toggle{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.settings.light .theme-toggle{background:rgba(44,62,80,.05);border:1px solid rgba(44,62,80,.1)}.attack-mode-toggle{display:flex;align-items:center;justify-content:center;gap:20px;padding:20px;border-radius:15px;transition:all .3s ease}.settings.dark .attack-mode-toggle{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.settings.light .attack-mode-toggle{background:rgba(44,62,80,.05);border:1px solid rgba(44,62,80,.1)}.training-duration-setting{padding:20px;background:rgba(255,255,255,.05);border-radius:15px;border:1px solid rgba(255,255,255,.1)}.training-duration-setting label{display:block;font-weight:600;font-size:1.1rem;margin-bottom:15px;text-align:center;color:#667eea}.duration-slider{width:100%;height:8px;border-radius:5px;background:rgba(255,255,255,.2);outline:none;margin-bottom:10px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.duration-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:linear-gradient(45deg,#667eea 0%,#764ba2 100%);cursor:pointer;box-shadow:0 2px 6px #667eea66;transition:all .3s ease}.duration-slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 4px 12px #667eea99}.duration-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:linear-gradient(45deg,#667eea 0%,#764ba2 100%);cursor:pointer;border:none;box-shadow:0 2px 6px #667eea66;transition:all .3s ease}.duration-slider::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:0 4px 12px #667eea99}.duration-labels{display:flex;justify-content:space-between;font-size:.9rem;opacity:.7;font-weight:600}.theme-label,.mode-label{font-weight:600;font-size:1.1rem}.settings.dark .theme-label,.settings.dark .mode-label{color:#ffffffe6}.settings.light .theme-label,.settings.light .mode-label{color:#2c3e50}.toggle-switch{position:relative;width:60px;height:30px;background:#ddd;border-radius:30px;border:none;cursor:pointer;transition:all .3s ease;box-shadow:inset 0 2px 4px #0003}.toggle-switch.active{background:linear-gradient(45deg,#667eea 0%,#764ba2 100%)}.toggle-slider{position:absolute;top:3px;left:3px;width:24px;height:24px;background:white;border-radius:50%;transition:all .3s ease;box-shadow:0 2px 4px #0003}.toggle-switch.active .toggle-slider{transform:translate(30px)}.input-buttons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:20px}.input-button-item{display:flex;justify-content:space-between;align-items:center;padding:15px;border-radius:12px;transition:all .3s ease}.settings.dark .input-button-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.settings.light .input-button-item{background:rgba(44,62,80,.05);border:1px solid rgba(44,62,80,.1)}.settings.dark .input-button-item:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}.settings.light .input-button-item:hover{background:rgba(44,62,80,.1);transform:translateY(-2px)}.input-label{display:flex;align-items:center;gap:10px;font-weight:600}.input-icon{font-size:1.2rem}.input-button{background:linear-gradient(45deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:50px;text-align:center}.input-button:hover{transform:scale(1.05);box-shadow:0 4px 15px #667eea66}.input-button.editing{background:linear-gradient(45deg,#ff6b6b 0%,#ee5a24 100%);animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.button-selection{border-radius:15px;padding:20px;margin-top:20px;transition:all .3s ease}.settings.dark .button-selection{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.settings.light .button-selection{background:rgba(44,62,80,.05);border:1px solid rgba(44,62,80,.1)}.button-selection p{text-align:center;margin-bottom:15px;font-weight:600;color:#667eea}.available-buttons{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:8px;max-height:200px;overflow-y:auto}.available-button{color:inherit;padding:8px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center}.settings.dark .available-button{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2)}.settings.light .available-button{background:rgba(44,62,80,.1);border:1px solid rgba(44,62,80,.2)}.available-button:hover{background:linear-gradient(45deg,#667eea 0%,#764ba2 100%);color:#fff;transform:scale(1.05)}.settings-actions{display:flex;justify-content:center;margin-top:30px;padding-top:20px}.settings.dark .settings-actions{border-top:2px solid rgba(255,255,255,.1)}.settings.light .settings-actions{border-top:2px solid rgba(44,62,80,.1)}.reset-button{background:linear-gradient(45deg,#ff6b6b 0%,#ee5a24 100%);color:#fff;border:none;padding:15px 30px;border-radius:25px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ff6b6b66}.reset-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b6b99}@media (max-width: 768px){.settings{padding:10px}.settings-container{padding:20px}.settings-header{flex-direction:column;gap:15px;text-align:center}.settings-header h2{font-size:2rem}.settings-sections,.input-tabs{flex-direction:column}.input-buttons-grid{grid-template-columns:1fr}.theme-toggle{flex-direction:column;gap:15px}.available-buttons{grid-template-columns:repeat(auto-fill,minmax(35px,1fr))}}.settings-tabs{display:flex;gap:10px;margin-bottom:30px;padding:5px;border-radius:15px;transition:all .3s ease}.settings.dark .settings-tabs{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.settings.light .settings-tabs{background:rgba(44,62,80,.05);border:1px solid rgba(44,62,80,.1)}.tab-button{flex:1;background:transparent;border:none;padding:15px 20px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.settings.dark .tab-button{color:#ffffffb3}.settings.light .tab-button{color:#2c3e50b3}.settings.dark .tab-button:hover{background:rgba(255,255,255,.1);color:#ffffffe6}.settings.light .tab-button:hover{background:rgba(44,62,80,.1);color:#2c3e50e6}.tab-button.active{background:linear-gradient(45deg,#667eea 0%,#764ba2 100%);color:#fff;box-shadow:0 4px 15px #667eea66}.gamepad-test-section{animation:fadeIn .3s ease-in-out}.gamepad-status{padding:20px;border-radius:15px;border:2px solid;margin-bottom:20px}.gamepad-status.connected{background:rgba(46,204,113,.1);border-color:#2ecc714d}.gamepad-status.disconnected{background:rgba(231,76,60,.1);border-color:#e74c3c4d}.status-indicator{display:flex;align-items:center;gap:12px;margin-bottom:15px}.status-dot{width:12px;height:12px;border-radius:50%;animation:pulse 2s infinite}.status-dot.connected{background:#2ecc71}.status-dot.disconnected{background:#e74c3c}.status-text{font-size:1.2rem;font-weight:600}.gamepad-info{background:rgba(255,255,255,.05);padding:15px;border-radius:10px;margin-bottom:10px;border:1px solid rgba(255,255,255,.1)}.gamepad-info h4{margin:0 0 10px;color:#667eea;font-size:1.1rem}.gamepad-info p{margin:5px 0;font-size:.9rem}.settings.dark .gamepad-info p{opacity:.9;color:#ffffffe6}.settings.light .gamepad-info p{opacity:.9;color:#2c3e50e6}.connection-help{font-style:italic;margin-top:10px}.settings.dark .connection-help{opacity:.8;color:#fffc}.settings.light .connection-help{opacity:.8;color:#2c3e50cc}.live-inputs{background:rgba(255,255,255,.05);border-radius:15px;padding:20px;border:1px solid rgba(255,255,255,.1);min-height:100px;display:flex;align-items:center;justify-content:center}.active-inputs h4{margin:0 0 15px;color:#667eea;text-align:center}.input-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.input-tag{background:linear-gradient(45deg,#667eea 0%,#764ba2 100%);color:#fff;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600;animation:inputPulse .3s ease-in-out}@keyframes inputPulse{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.no-inputs{text-align:center;font-style:italic}.settings.dark .no-inputs{opacity:.6;color:#fff9}.settings.light .no-inputs{opacity:.6;color:#2c3e5099}.button-mapping-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:15px}.mapping-item{display:flex;align-items:center;gap:10px;padding:12px;background:rgba(255,255,255,.05);border-radius:10px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.mapping-item:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}.button-number{background:rgba(102,126,234,.2);color:#667eea;padding:4px 8px;border-radius:6px;font-size:.8rem;font-weight:600;min-width:70px;text-align:center}.arrow{font-weight:700}.settings.dark .arrow{color:#ffffff80}.settings.light .arrow{color:#2c3e5080}.action-name{font-weight:600;color:#764ba2}.raw-gamepad-data{background:rgba(255,255,255,.05);border-radius:15px;padding:20px;border:1px solid rgba(255,255,255,.1);margin-bottom:20px}.raw-gamepad-data h4{margin:0 0 15px;color:#667eea;font-size:1.2rem}.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.data-section h5{margin:0 0 10px;color:#764ba2;font-size:1rem}.button-states{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:8px}.button-state{display:flex;flex-direction:column;align-items:center;padding:8px;background:rgba(255,255,255,.05);border-radius:8px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.button-state.pressed{background:linear-gradient(45deg,#667eea 0%,#764ba2 100%);color:#fff;transform:scale(1.05);box-shadow:0 4px 15px #667eea66}.button-index{font-size:.8rem;font-weight:600}.settings.dark .button-index{opacity:.8;color:#fffc}.settings.light .button-index{opacity:.8;color:#2c3e50cc}.button-value{font-size:.9rem;font-weight:600;margin-top:4px}.settings.dark .button-value{color:#ffffffe6}.settings.light .button-value{color:#2c3e50e6}.axes-states{display:flex;flex-direction:column;gap:12px}.axis-state{display:flex;align-items:center;gap:10px}.axis-index{font-size:.9rem;font-weight:600;min-width:60px}.settings.dark .axis-index{opacity:.8;color:#fffc}.settings.light .axis-index{opacity:.8;color:#2c3e50cc}.axis-bar{flex:1;height:20px;background:rgba(255,255,255,.1);border-radius:10px;position:relative;border:1px solid rgba(255,255,255,.2)}.axis-value{position:absolute;top:2px;width:6px;height:16px;background:linear-gradient(45deg,#667eea 0%,#764ba2 100%);border-radius:3px;transform:translate(-50%);transition:left .1s ease}.axis-number{font-size:.8rem;font-weight:600;min-width:50px;text-align:right;font-family:monospace}.settings.dark .axis-number{color:#ffffffe6}.settings.light .axis-number{color:#2c3e50e6}@media (max-width: 768px){.settings-tabs{flex-direction:column}.data-grid,.button-mapping-grid{grid-template-columns:1fr}.button-states{grid-template-columns:repeat(auto-fill,minmax(50px,1fr))}.axis-state{flex-direction:column;align-items:stretch;gap:5px}.axis-index{min-width:auto;text-align:center}.axis-number{text-align:center}}.gamepad-button-mappings{margin-top:20px}.gamepad-button-mappings h4{color:#667eea;font-size:1.3rem;margin:25px 0 15px;font-weight:600;border-bottom:2px solid rgba(102,126,234,.3);padding-bottom:8px}.gamepad-mapping-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px;margin-bottom:25px}.gamepad-mapping-item{display:flex;justify-content:space-between;align-items:center;padding:18px;background:rgba(255,255,255,.05);border-radius:12px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.gamepad-mapping-item:hover{background:rgba(255,255,255,.1);transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.gamepad-button-info{display:flex;flex-direction:column;gap:4px}.gamepad-button-label{font-weight:600;font-size:1rem;color:#ecf0f1}.gamepad-button-default{font-size:.85rem;opacity:.7;font-style:italic}.gamepad-mapping-button{background:linear-gradient(45deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:80px;text-align:center}.gamepad-mapping-button:hover{transform:scale(1.05);box-shadow:0 4px 15px #667eea66}.gamepad-mapping-button.editing{background:linear-gradient(45deg,#ff6b6b 0%,#ee5a24 100%);animation:pulse 1.5s infinite}.gamepad-action-selection{background:rgba(255,255,255,.05);border-radius:15px;padding:25px;border:1px solid rgba(255,255,255,.1);margin-top:25px;animation:fadeIn .3s ease-in-out}.gamepad-action-selection p{text-align:center;margin-bottom:20px;font-weight:600;color:#667eea;font-size:1.1rem}.available-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.action-group{background:rgba(255,255,255,.03);border-radius:12px;padding:15px;border:1px solid rgba(255,255,255,.1)}.action-group h5{margin:0 0 12px;color:#764ba2;font-size:1rem;font-weight:600;text-align:center;border-bottom:1px solid rgba(118,75,162,.3);padding-bottom:8px}.available-action{display:block;width:100%;background:rgba(255,255,255,.1);color:inherit;border:1px solid rgba(255,255,255,.2);padding:10px 15px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center;margin-bottom:8px}.available-action:last-child{margin-bottom:0}.available-action:hover{background:linear-gradient(45deg,#667eea 0%,#764ba2 100%);color:#fff;transform:scale(1.02);box-shadow:0 4px 15px #667eea4d}@media (max-width: 768px){.gamepad-mapping-grid{grid-template-columns:1fr}.gamepad-mapping-item{flex-direction:column;gap:15px;text-align:center}.available-actions{grid-template-columns:1fr}.action-group{margin-bottom:15px}}@media (max-width: 480px){.gamepad-button-info{text-align:center}.gamepad-button-label{font-size:.9rem}.gamepad-button-default{font-size:.8rem}.gamepad-mapping-button{min-width:70px;padding:8px 16px}}.gamepad-input-prompt{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-in-out}.prompt-content{background:linear-gradient(135deg,#1e3c72 0%,#2a5298 100%);padding:40px;border-radius:20px;text-align:center;border:2px solid rgba(255,255,255,.2);box-shadow:0 20px 40px #0000004d;max-width:400px;width:90%}.prompt-content h4{color:#667eea;font-size:1.5rem;margin:0 0 15px;font-weight:600}.prompt-content p{color:#ecf0f1;font-size:1.1rem;margin:0 0 25px;line-height:1.5}.prompt-content strong{color:#667eea;font-weight:700}.prompt-actions{display:flex;justify-content:center}.cancel-button{background:linear-gradient(45deg,#ff6b6b 0%,#ee5a24 100%);color:#fff;border:none;padding:12px 24px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ff6b6b66}.cancel-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b6b99}.gamepad-button-assigned{font-size:.85rem;opacity:.7;font-style:italic;color:#667eea}.gamepad-mapping-button{position:relative;overflow:hidden}.gamepad-mapping-button:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.gamepad-mapping-button:hover:after{left:100%}.settings-sections{display:flex;gap:10px;margin-bottom:30px;padding:5px;border-radius:15px;transition:all .3s ease}.settings.dark .settings-sections{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.settings.light .settings-sections{background:rgba(44,62,80,.05);border:1px solid rgba(44,62,80,.1)}.section-button{flex:1;background:transparent;border:none;padding:15px 20px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.settings.dark .section-button{color:#ffffffb3}.settings.light .section-button{color:#2c3e50b3}.settings.dark .section-button:hover{background:rgba(255,255,255,.1);color:#ffffffe6}.settings.light .section-button:hover{background:rgba(44,62,80,.1);color:#2c3e50e6}.section-button.active{background:linear-gradient(45deg,#667eea 0%,#764ba2 100%);color:#fff;box-shadow:0 4px 15px #667eea66}.input-tabs{display:flex;gap:10px;margin-bottom:30px;padding:5px;border-radius:15px;transition:all .3s ease}.settings.dark .input-tabs{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.settings.light .input-tabs{background:rgba(44,62,80,.05);border:1px solid rgba(44,62,80,.1)}.leaderboard{min-height:100vh;padding:20px;background:var(--bg-color);color:var(--text-color)}.leaderboard.dark{--bg-color: #1a1a1a;--text-color: #ffffff;--card-bg: #2d2d2d;--border-color: #444;--accent-color: #007acc;--success-color: #4CAF50;--warning-color: #FF9800;--error-color: #F44336}.leaderboard.light{--bg-color: #f5f5f5;--text-color: #333333;--card-bg: #ffffff;--border-color: #ddd;--accent-color: #0066cc;--success-color: #4CAF50;--warning-color: #FF9800;--error-color: #F44336}.leaderboard-container{max-width:1200px;margin:0 auto}.leaderboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid var(--border-color)}.leaderboard-header h2{margin:0;font-size:2.5rem;font-weight:700;color:var(--accent-color)}.back-button{padding:12px 24px;background:var(--accent-color);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease}.back-button:hover{background:var(--accent-color);filter:brightness(1.1);transform:translateY(-2px)}.leaderboard-tabs{display:flex;gap:10px;margin-bottom:20px}.tab-button{padding:12px 24px;background:var(--card-bg);color:var(--text-color);border:2px solid var(--border-color);border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease}.tab-button:hover{border-color:var(--accent-color)}.tab-button.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.leaderboard-filters{display:flex;gap:20px;margin-bottom:30px;padding:20px;background:var(--card-bg);border-radius:12px;border:1px solid var(--border-color)}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-weight:600;color:var(--text-color)}.filter-select{padding:8px 12px;background:var(--bg-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:6px;font-size:1rem;cursor:pointer}.filter-select:focus{outline:none;border-color:var(--accent-color)}.leaderboard-content,.history-content{background:var(--card-bg);border-radius:12px;border:1px solid var(--border-color);overflow:hidden}.empty-state{text-align:center;padding:60px 20px}.empty-state h3{margin:0 0 10px;font-size:1.5rem;color:var(--text-color)}.empty-state p{margin:0 0 30px;color:var(--text-color);opacity:.7}.start-training-button{padding:12px 24px;background:var(--success-color);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease}.start-training-button:hover{filter:brightness(1.1);transform:translateY(-2px)}.leaderboard-table{width:100%}.table-header,.table-row{display:grid;grid-template-columns:60px 120px 150px 100px 100px 80px 80px 120px;gap:15px;padding:15px 20px;align-items:center}.table-header{background:var(--bg-color);font-weight:600;border-bottom:2px solid var(--border-color);color:var(--text-color)}.table-row{border-bottom:1px solid var(--border-color);transition:background-color .2s ease}.table-row:hover{background:var(--bg-color)}.table-row:last-child{border-bottom:none}.rank{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-weight:700;background:var(--border-color);color:var(--text-color)}.rank-1{background:#FFD700;color:#000}.rank-2{background:#C0C0C0;color:#000}.rank-3{background:#CD7F32;color:#fff}.mode-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;background:var(--bg-color);border-radius:6px;font-size:.9rem;text-transform:capitalize}.difficulty-badge{display:inline-block;padding:4px 8px;border-radius:6px;font-size:.8rem;font-weight:600;text-transform:uppercase;color:#fff}.score{font-weight:700;font-size:1.1rem;color:var(--success-color)}.leaderboard-actions,.history-actions{padding:20px;border-top:1px solid var(--border-color);text-align:center}.clear-button{padding:10px 20px;background:var(--error-color);color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.clear-button:hover{filter:brightness(1.1)}.history-list{padding:20px}.history-item{margin-bottom:20px;padding:20px;background:var(--bg-color);border-radius:8px;border:1px solid var(--border-color)}.history-item:last-child{margin-bottom:0}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px}.history-mode{font-weight:600;font-size:1.1rem;text-transform:capitalize}.history-difficulty{font-weight:600;text-transform:uppercase;font-size:.9rem}.history-date{color:var(--text-color);opacity:.7;font-size:.9rem}.history-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.stat{display:flex;justify-content:space-between;align-items:center}.stat-label{color:var(--text-color);opacity:.8}.stat-value{font-weight:600;color:var(--accent-color)}@media (max-width: 768px){.leaderboard-header{flex-direction:column;gap:15px;text-align:center}.leaderboard-filters{flex-direction:column;gap:15px}.table-header,.table-row{grid-template-columns:1fr;gap:5px;text-align:left}.table-header{display:none}.table-row{display:block;padding:15px}.table-row>div{display:flex;justify-content:space-between;margin-bottom:5px}.table-row>div:before{content:attr(class);font-weight:600;text-transform:capitalize}.history-header{flex-direction:column;align-items:flex-start;gap:5px}.history-stats{grid-template-columns:1fr;gap:10px}}.achievements-panel{width:100%;max-width:1200px;margin:0 auto;padding:2rem;transition:all .3s ease}.achievements-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:2rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:20px;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}.achievements-panel.light .achievements-header{background:rgba(255,255,255,.2);border-color:#ffffff4d;color:#2c3e50}.achievements-panel.dark .achievements-header{background:rgba(255,255,255,.08);border-color:#ffffff26;color:#fff}.header-stats h2{margin:0 0 1rem;font-size:2rem;font-weight:700;background:linear-gradient(135deg,#ffd700,#ff6b6b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stats-summary{display:flex;gap:2rem}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-value{font-size:1.5rem;font-weight:700;color:gold}.stat-label{font-size:.9rem;opacity:.8;color:inherit}.progress-ring{position:relative;width:80px;height:80px}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.9rem;font-weight:600;color:gold}.category-filters{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.category-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:15px;color:inherit;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.achievements-panel.light .category-btn{background:rgba(255,255,255,.2);border-color:#ffffff4d;color:#2c3e50}.achievements-panel.dark .category-btn{background:rgba(255,255,255,.08);border-color:#ffffff26;color:#fff}.category-btn:hover{transform:translateY(-2px);background:rgba(255,255,255,.15);border-color:#ffffff4d}.category-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.category-icon{font-size:1.2rem}.category-name{font-weight:600}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:3rem}.achievement-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:1.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);position:relative;overflow:hidden}.achievements-panel.light .achievement-card{background:rgba(255,255,255,.2);border-color:#ffffff4d;color:#2c3e50}.achievements-panel.dark .achievement-card{background:rgba(255,255,255,.08);border-color:#ffffff26;color:#fff}.achievement-card: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 .6s ease}.achievement-card:hover:before{left:100%}.achievement-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0003;border-color:#ffffff4d}.achievement-card.unlocked{border-color:#ffd70080;background:rgba(255,215,0,.05)}.achievement-card.unlocked:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,215,0,.1),transparent);pointer-events:none}.achievement-card.locked{opacity:.6}.achievement-icon-container{position:relative;margin-bottom:1rem}.achievement-icon{font-size:3rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 8px 25px #667eea4d;margin:0 auto;transition:all .3s ease}.achievement-card.unlocked .achievement-icon{background:linear-gradient(135deg,#ffd700,#ff6b6b);box-shadow:0 8px 25px #ffd70066;animation:pulse 2s ease-in-out infinite}.unlock-badge{position:absolute;top:-5px;right:-5px;width:20px;height:20px;background:#4caf50;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;font-weight:700;box-shadow:0 4px 10px #4caf504d}.achievement-content{text-align:center;position:relative;z-index:2}.achievement-name{margin:0 0 .5rem;font-size:1.1rem;font-weight:700;color:inherit}.achievement-description{margin:0 0 1rem;font-size:.9rem;opacity:.8;line-height:1.4;color:inherit}.achievement-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.achievement-category{display:flex;align-items:center;gap:.5rem;font-size:.8rem;opacity:.7;text-transform:capitalize}.achievement-points{font-size:.8rem;font-weight:600;color:gold;background:rgba(255,215,0,.1);padding:.25rem .5rem;border-radius:10px}.progress-container{display:flex;align-items:center;gap:.5rem;margin-top:1rem}.progress-bar{flex:1;height:6px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:3px;transition:width .5s ease}.progress-container .progress-text{font-size:.8rem;font-weight:600;color:#667eea;min-width:35px}.achievements-stats{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:2rem;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}.achievements-panel.light .achievements-stats{background:rgba(255,255,255,.2);border-color:#ffffff4d;color:#2c3e50}.achievements-panel.dark .achievements-stats{background:rgba(255,255,255,.08);border-color:#ffffff26;color:#fff}.achievements-stats h3{margin:0 0 1.5rem;font-size:1.5rem;font-weight:700;text-align:center;color:inherit}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:15px;transition:all .3s ease}.achievements-panel.light .stat-card{background:rgba(255,255,255,.1);border-color:#fff3}.achievements-panel.dark .stat-card{background:rgba(255,255,255,.05);border-color:#ffffff1a}.stat-card:hover{transform:translateY(-2px);background:rgba(255,255,255,.1);border-color:#fff3}.stat-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 5px 15px #667eea4d}.stat-info{display:flex;flex-direction:column}.stat-number{font-size:1.5rem;font-weight:700;color:gold}.stat-info .stat-label{font-size:.9rem;opacity:.8;color:inherit}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (max-width: 768px){.achievements-panel{padding:1rem}.achievements-header{flex-direction:column;gap:1rem;padding:1.5rem}.stats-summary{gap:1rem}.category-filters{justify-content:center}.category-btn{padding:.5rem 1rem;font-size:.9rem}.achievements-grid{grid-template-columns:1fr;gap:1rem}.achievement-card{padding:1rem}.stats-grid{grid-template-columns:1fr}.achievements-stats{padding:1.5rem}}.achievement-notification{position:fixed;top:20px;right:20px;width:350px;z-index:1000;animation:slideInRight .5s cubic-bezier(.4,0,.2,1)}.notification-content{background:rgba(255,255,255,.1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:15px;padding:20px;box-shadow:0 20px 40px #0000004d;display:flex;align-items:flex-start;gap:15px;position:relative;overflow:hidden}.achievement-notification.light .notification-content{background:rgba(255,255,255,.9);border-color:#ffffff4d;box-shadow:0 20px 40px #0000001a;color:#2c3e50}.achievement-notification.dark .notification-content{background:rgba(255,255,255,.1);border-color:#fff3;box-shadow:0 20px 40px #0000004d;color:#fff}.notification-content:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,215,0,.1),rgba(255,107,107,.1));z-index:-1;animation:glow 2s ease-in-out infinite alternate}.achievement-icon{font-size:3rem;display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:linear-gradient(135deg,#ffd700,#ff6b6b);border-radius:50%;box-shadow:0 10px 20px #ffd7004d;animation:pulse 2s ease-in-out infinite;flex-shrink:0}.achievement-info{flex:1;display:flex;flex-direction:column;gap:5px}.achievement-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.achievement-unlocked{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;font-weight:600;color:gold;opacity:.9}.close-btn{background:none;border:none;color:inherit;font-size:1.5rem;cursor:pointer;opacity:.7;transition:opacity .2s ease;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.close-btn:hover{opacity:1}.achievement-name{margin:0;font-size:1.1rem;font-weight:700;color:inherit;line-height:1.2}.achievement-description{margin:0;font-size:.9rem;opacity:.8;line-height:1.3;color:inherit}.achievement-points{font-size:.8rem;font-weight:600;color:#4caf50;margin-top:5px}.notification-progress{height:3px;background:linear-gradient(90deg,#ffd700,#ff6b6b);border-radius:0 0 15px 15px;animation:progressBar 5s linear forwards}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 10px 20px #ffd7004d}50%{transform:scale(1.05);box-shadow:0 15px 30px #ffd70080}}@keyframes glow{0%{opacity:.8}to{opacity:1}}@keyframes progressBar{0%{width:100%}to{width:0%}}@media (max-width: 768px){.achievement-notification{top:10px;right:10px;left:10px;width:auto}.notification-content{padding:15px;gap:12px}.achievement-icon{font-size:2.5rem;width:50px;height:50px}.achievement-name{font-size:1rem}.achievement-description{font-size:.85rem}}.achievement-notification:nth-child(n+2){animation-delay:.1s;top:100px}.achievement-notification:nth-child(n+3){animation-delay:.2s;top:180px}.App{text-align:center;min-height:100vh;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow-x:hidden}.App:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-2;transition:all .4s ease}.App.light{background:linear-gradient(135deg,#667eea 0%,#764ba2 50%,#f093fb 100%);color:#2c3e50}.App.light:before{background:radial-gradient(ellipse at 20% 50%,rgba(120,119,198,.3) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(255,107,107,.15) 0%,transparent 50%),radial-gradient(ellipse at 40% 80%,rgba(78,205,196,.15) 0%,transparent 50%);animation:float 20s ease-in-out infinite}.App.dark{background:linear-gradient(135deg,#0c0c0c 0%,#1a1a2e 50%,#16213e 100%);color:#fff}.App.dark:before{background:radial-gradient(ellipse at 20% 50%,rgba(255,107,107,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(78,205,196,.08) 0%,transparent 50%),radial-gradient(ellipse at 40% 80%,rgba(102,126,234,.08) 0%,transparent 50%);animation:float 25s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-20px) rotate(1deg)}66%{transform:translateY(10px) rotate(-1deg)}}.App-header{position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);padding:30px 20px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000001a}.header-content{display:flex;justify-content:center;align-items:center;max-width:1200px;margin:0 auto;position:relative}.header-title{cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);padding:20px 30px;border-radius:20px;text-align:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden}.header-title: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 .8s ease}.header-title:hover:before{left:100%}.header-title:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 15px 35px #0003}.App.light .header-title{background:rgba(255,255,255,.15);border-color:#fff3}.App.light .header-title:hover{background:rgba(255,255,255,.25);box-shadow:0 15px 35px #667eea4d}.App.dark .header-title{background:rgba(255,255,255,.05);border-color:#ffffff1a}.App.dark .header-title:hover{background:rgba(255,255,255,.1);box-shadow:0 15px 35px #ff6b6b4d}.header-controls{display:flex;align-items:center;gap:15px;position:absolute;right:0}.theme-toggle-btn{border:1px solid rgba(255,255,255,.2);border-radius:50%;width:60px;height:60px;font-size:24px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.theme-toggle-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;transition:all .4s ease;transform:translate(-50%,-50%);z-index:-1}.theme-toggle-btn:hover:before{width:100%;height:100%}.App.light .theme-toggle-btn{border-color:#ffffff4d;color:#2c3e50;background:rgba(255,255,255,.15)}.App.light .theme-toggle-btn:before{background:linear-gradient(135deg,rgba(102,126,234,.2),rgba(118,75,162,.2))}.App.dark .theme-toggle-btn{border-color:#fff3;color:#fff;background:rgba(255,255,255,.05)}.App.dark .theme-toggle-btn:before{background:linear-gradient(135deg,rgba(255,107,107,.2),rgba(78,205,196,.2))}.theme-toggle-btn:hover{transform:scale(1.1) rotate(15deg);border-color:#ffffff80;box-shadow:0 8px 25px #0003}.App.light .theme-toggle-btn:hover{box-shadow:0 8px 25px #667eea66}.App.dark .theme-toggle-btn:hover{box-shadow:0 8px 25px #ff6b6b66}@media (max-width: 768px){.header-content{flex-direction:column;gap:15px;align-items:center;justify-content:center}.header-title{text-align:center}.header-controls{position:static;justify-content:center!important}}.App.light .App-header{background:linear-gradient(135deg,rgba(255,255,255,.9) 0%,rgba(195,207,226,.8) 100%);color:#2c3e50;border-bottom:2px solid rgba(44,62,80,.1);box-shadow:0 4px 20px #0000001a}.App.dark .App-header{background:linear-gradient(135deg,rgba(26,26,26,.9) 0%,rgba(40,40,40,.8) 100%);color:#fff;border-bottom:2px solid rgba(255,255,255,.1);box-shadow:0 4px 20px #0000004d}.App-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,rgba(255,107,107,.1),rgba(78,205,196,.1));z-index:-1;transition:all .3s ease}.App.light .App-header:before{background:linear-gradient(45deg,rgba(102,126,234,.1),rgba(118,75,162,.1))}.App.dark .App-header:before{background:linear-gradient(45deg,rgba(255,107,107,.1),rgba(78,205,196,.1))}main{position:relative;z-index:1}.App-header h1{animation:glow 2s ease-in-out infinite alternate;transition:all .3s ease}.App.light .App-header h1{color:#2c3e50;text-shadow:0 0 5px rgba(102,126,234,.3),0 0 10px rgba(118,75,162,.3)}.App.dark .App-header h1{color:#fff;text-shadow:0 0 5px rgba(255,107,107,.5),0 0 10px rgba(78,205,196,.5)}.App-header p{transition:all .3s ease}.App.light .App-header p{color:#2c3e50cc}.App.dark .App-header p{color:#fffc}@keyframes glow{0%{text-shadow:0 0 5px rgba(255,107,107,.5),0 0 10px rgba(78,205,196,.5)}to{text-shadow:0 0 10px rgba(255,107,107,.8),0 0 20px rgba(78,205,196,.8)}}.App.light .App-header h1{animation:glowLight 2s ease-in-out infinite alternate}.App.dark .App-header h1{animation:glow 2s ease-in-out infinite alternate}@keyframes glowLight{0%{text-shadow:0 0 5px rgba(102,126,234,.3),0 0 10px rgba(118,75,162,.3)}to{text-shadow:0 0 10px rgba(102,126,234,.6),0 0 20px rgba(118,75,162,.6)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#1a1a1a;min-height:100vh;color:#fff}#root{min-height:100vh}.App{min-height:100vh;display:flex;flex-direction:column}.App-header{background:rgba(0,0,0,.8);color:#fff;padding:1rem 2rem;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.App-header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.App-header p{font-size:1.1rem;opacity:.9}main{flex:1;display:flex;flex-direction:column;padding:2rem;background:#1a1a1a}button{background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #0003}button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}button:active{transform:translateY(0)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:rgba(255,255,255,.1);border-radius:4px}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.5)}
