:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;max-height:100vh;overflow-x:hidden;overflow-y:auto;position:fixed;width:100%}h1{font-size:1.8em;line-height:1.1}@media(min-width:768px){h1{font-size:3.2em}}button{border-radius:8px;border:1px solid transparent;padding:.5em 1em;font-size:.9em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}@media(min-width:768px){button{padding:.6em 1.2em;font-size:1em}}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.settings-panel{padding:15px 20px!important;margin:10px auto!important;width:calc(100% - 20px)!important;border-radius:16px!important}.settings-panel h2{margin-bottom:15px!important;font-size:1.8rem!important}.settings-section{gap:12px!important;margin-bottom:15px!important}.language-selector,.theme-selector{padding:12px 16px!important;gap:8px!important;border-radius:12px!important}.player-settings{gap:12px!important;margin-bottom:15px!important}.player-config{padding:12px 16px!important;gap:10px!important;border-radius:12px!important;min-width:200px!important}.player-config h3{margin:0 0 5px!important;font-size:1.2rem!important}@media(max-width:768px){.settings-panel{padding:12px 15px!important;margin:8px!important;width:calc(100% - 16px)!important}.settings-panel h2{font-size:1.5rem!important;margin-bottom:12px!important}.settings-section{gap:10px!important;margin-bottom:12px!important}.language-selector,.theme-selector{padding:10px 12px!important}.player-settings{flex-direction:column;gap:10px!important}.player-config{min-width:100%!important;padding:12px 16px!important}.player-config h3{font-size:1.1rem!important}}.game-title-banner{width:100%;text-align:center;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;padding:.5rem 0;margin-bottom:.5rem}@media(max-width:768px){.game-title-banner{font-size:1.2rem;padding:.3rem 0;margin-bottom:.3rem}}.game-header{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:1200px;margin-top:1rem;margin-bottom:1rem!important;gap:0;position:relative;overflow:visible}.game-header-top{display:flex;justify-content:space-between;align-items:center;width:100%!important;min-width:100%!important;z-index:10;position:relative;flex-shrink:0;margin-bottom:.5rem;flex-basis:100%!important}.header-spacer{width:100%;height:3rem;flex-shrink:0;display:block}@media(max-width:768px){.header-spacer{height:2.5rem}}@media(max-width:768px)and (max-height:1400px){.header-spacer{height:2rem}}.back-to-hub-button{padding:.5rem 1rem;background:var(--bg-card, rgba(255, 255, 255, .08));border:2px solid var(--border-primary, rgba(255, 255, 255, .2));border-radius:10px;color:var(--text-primary, #ffffff);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:.5rem}.back-to-hub-button span{display:inline;line-height:1}.back-to-hub-button:hover{background:var(--bg-card-hover, rgba(255, 255, 255, .12));border-color:var(--accent-primary, #4CAF50);transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.header-actions{display:flex;align-items:center;gap:12px}.user-profile-header{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--bg-card, rgba(255, 255, 255, .05));border:2px solid var(--border-primary, rgba(255, 255, 255, .1));border-radius:8px;cursor:pointer;transition:all .2s ease}.user-profile-header:hover{background:var(--bg-card-hover, rgba(255, 255, 255, .08));border-color:var(--accent-primary, #4CAF50)}.user-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.user-name{font-weight:600;font-size:.95rem;color:var(--text-primary, #ffffff);white-space:nowrap}.user-level{font-size:.75rem;color:var(--text-secondary, rgba(255, 255, 255, .7));white-space:nowrap}.logout-button{background:transparent;border:none;font-size:1.3rem;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease;flex-shrink:0}.logout-button:hover{transform:scale(1.2)}.login-button{padding:.6rem 1.2rem;background:var(--accent-primary, #4CAF50);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.login-button:hover{background:var(--accent-hover, #45a049);transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.game-header h1{display:block!important;width:100%!important;flex-basis:100%!important;text-align:center;font-size:2rem;font-weight:700;margin:0!important;padding:.5rem 0!important;color:var(--text-primary, #ffffff);order:2;opacity:1!important;flex-shrink:0;clear:both}@media(max-width:768px){.game-header{margin-bottom:.75rem!important;gap:0;margin-top:.5rem;padding-top:max(.5rem,env(safe-area-inset-top,.5rem))}.game-header h1{font-size:1.5rem;padding:.5rem 10px!important;margin:0!important;opacity:1!important;display:block!important;width:100%!important;flex-basis:100%!important;clear:both}.back-to-hub-button{padding:.4rem .8rem;font-size:.85rem}}.settings-panel{padding:15px 20px!important;margin:8px auto!important;width:calc(100% - 20px)!important;border-radius:16px!important;background:var(--bg-card, rgba(255, 255, 255, .05));border:2px solid var(--border-primary, rgba(255, 255, 255, .1))}.settings-panel h2{margin-bottom:15px!important;font-size:1.8rem!important;color:var(--text-primary, #ffffff)}.settings-section{gap:12px!important;margin-bottom:15px!important;display:flex;flex-direction:column}.language-selector,.theme-selector{padding:12px 16px!important;gap:8px!important;border-radius:12px!important;background:var(--bg-secondary, rgba(255, 255, 255, .03));display:flex;flex-direction:column}.player-settings{display:flex;gap:12px!important;margin-bottom:15px!important;flex-wrap:wrap;justify-content:center}.player-config{padding:16px!important;gap:14px!important;border-radius:12px!important;min-width:200px!important;min-height:280px!important;background:var(--bg-secondary, rgba(255, 255, 255, .03));border:2px solid var(--border-primary, rgba(255, 255, 255, .1));display:flex;flex-direction:column}.player-config h3{margin:0 0 5px!important;font-size:1.2rem!important;color:var(--text-primary, #ffffff)}.player-type-select,.difficulty-select,.language-select,.theme-select,.settings-panel select{min-height:44px!important;padding:10px 12px!important;font-size:1rem!important;border-radius:8px!important;background:var(--bg-input, rgba(0, 0, 0, .3));border:2px solid var(--border-primary, rgba(255, 255, 255, .2));color:var(--text-primary, #ffffff);cursor:pointer;transition:all .3s ease}.player-type-select:hover,.difficulty-select:hover,.language-select:hover,.theme-select:hover,.settings-panel select:hover{border-color:var(--accent-primary, #4CAF50);background:var(--bg-input-hover, rgba(0, 0, 0, .4))}.player-type-select:focus,.difficulty-select:focus,.language-select:focus,.theme-select:focus,.settings-panel select:focus{outline:none;border-color:var(--accent-primary, #4CAF50);box-shadow:0 0 0 3px #4caf5033}@media(max-width:768px){.settings-panel{padding:12px 15px!important;margin:8px!important;width:calc(100% - 16px)!important}.settings-panel h2{font-size:1.5rem!important;margin-bottom:12px!important}.settings-section{gap:10px!important;margin-bottom:12px!important}.language-selector,.theme-selector{padding:10px 12px!important}.player-settings{flex-direction:column;gap:10px!important}.player-config{min-width:100%!important;padding:12px 16px!important}.player-config h3{font-size:1.1rem!important}.player-type-select,.difficulty-select,.language-select,.theme-select,.settings-panel select{min-height:44px!important;font-size:16px!important}}@media(max-width:480px){.settings-panel{padding:10px 12px!important;margin:5px!important}.settings-panel h2{font-size:1.3rem!important;margin-bottom:10px!important}.settings-section{gap:8px!important;margin-bottom:10px!important}.language-selector,.theme-selector{padding:8px 10px!important}.player-settings{gap:8px!important}.player-config{padding:10px 12px!important;gap:8px!important}}.app-footer{margin-top:2rem!important;padding:1rem .5rem!important;position:relative!important;z-index:10!important}.muehle-game,.connectfour-game,.tictactoe-game,.checkers-container,.chess-container,.reversi-container{min-height:100vh;display:flex;flex-direction:column;padding-bottom:3rem!important}@media(max-width:768px){.app-footer{padding:.75rem .5rem!important}.footer-link{font-size:.7rem!important}.footer-copyright{font-size:.65rem!important}.game-header{margin-bottom:.5rem!important;gap:0!important}.game-header h1{font-size:1.3rem!important;padding:.5rem 10px!important;margin:0!important;opacity:1!important;display:block!important;width:100%!important;flex-basis:100%!important;clear:both}}@media(max-width:768px)and (max-height:1400px){.game-header{margin-bottom:.5rem!important;gap:0!important}.game-header-top{margin-bottom:.2rem!important}.game-header h1{font-size:1.2rem!important;padding:.4rem 10px!important;margin:0!important;line-height:1.3!important;opacity:1!important;display:block!important;width:100%!important;flex-basis:100%!important;clear:both}.back-to-hub-button{padding:.35rem .7rem!important;font-size:.8rem!important}.settings-panel{padding:10px 15px!important;margin:8px auto!important}.settings-panel h2{margin-bottom:10px!important;font-size:1.5rem!important}.settings-section{gap:8px!important;margin-bottom:10px!important}.language-selector,.theme-selector{padding:8px 12px!important;gap:6px!important}.player-settings{gap:8px!important;margin-bottom:10px!important}.player-config{padding:8px 12px!important;gap:6px!important;min-height:140px!important}.player-config h3{font-size:1.1rem!important;margin:0 0 4px!important}.player-type-select,.difficulty-select,.language-select,.theme-select{min-height:40px!important;padding:8px 10px!important;font-size:.95rem!important}.start-game-button{padding:10px 24px!important;font-size:1.1rem!important;margin-top:8px!important}.game-board-area{gap:8px!important;margin:8px 0!important}.pieces-to-place{gap:6px!important;padding:8px!important}.game-actions{gap:8px!important;margin:8px 0!important}.game-actions button{padding:8px 12px!important;font-size:.85rem!important}}.game-selector{min-height:100vh;max-height:100vh;background:var(--bg-primary);padding:.5rem;display:flex;flex-direction:column;align-items:center;overflow-y:auto;overflow-x:hidden}@media(min-width:768px){.game-selector{padding:2rem}}.selector-header{width:100%;max-width:1200px;margin-bottom:.5rem;animation:fadeInDown .6s ease-out;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem}@media(min-width:768px){.selector-header{flex-direction:row;justify-content:space-between;margin-bottom:2rem;gap:2rem}}.selector-title-section{text-align:center;flex:1}.selector-header h1{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.2rem;margin-top:.2rem}@media(min-width:768px){.selector-header h1{font-size:3rem;margin-bottom:.5rem}}.subtitle{font-size:.85rem;color:var(--text-secondary);opacity:.9;margin:0}@media(min-width:768px){.subtitle{font-size:1.2rem}}.auth-section{min-width:120px;display:flex;justify-content:center;animation:fadeInDown .8s ease-out}@media(min-width:768px){.auth-section{min-width:150px;justify-content:flex-end}}.user-profile-widget{display:flex;align-items:center;gap:.5rem;background:var(--bg-card);padding:.4rem .8rem;border-radius:50px;border:2px solid var(--border-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md);transition:all .3s ease;font-size:.75rem}@media(min-width:768px){.user-profile-widget{gap:1rem;padding:.75rem 1.5rem;font-size:1rem}}.user-profile-widget:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-accent)}.user-info{display:flex;flex-direction:column;gap:.2rem}.user-name{color:var(--text-primary);font-weight:600;font-size:1rem}.user-level{color:var(--text-secondary);font-size:.85rem;font-weight:500}.logout-button{padding:.5rem 1rem;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.logout-button:hover{background:var(--bg-card-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.logout-button:active{transform:scale(.95)}.logout-button-hub{background:transparent;border:none;font-size:2rem;cursor:pointer;padding:.5rem;transition:transform .2s ease;display:flex;align-items:center;justify-content:center}.logout-button-hub:hover{transform:scale(1.2)}.logout-button-hub:active{transform:scale(1)}.login-button{padding:.4rem 1rem;background:var(--btn-primary-bg);color:#fff;border:none;border-radius:50px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md);text-transform:uppercase;letter-spacing:.5px}@media(min-width:768px){.login-button{padding:.75rem 2rem;font-size:1rem}}.login-button:hover{background:var(--btn-primary-hover);box-shadow:var(--shadow-accent);transform:translateY(-2px)}.settings-toggle{display:block;width:100%;max-width:400px;padding:.5rem 1rem;margin-bottom:.5rem;background:var(--bg-card);color:var(--text-primary);border:2px solid var(--border-primary);border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease}.settings-toggle:hover{border-color:var(--accent-primary);background:var(--bg-card-hover)}@media(min-width:768px){.settings-toggle{display:none}}.selector-settings{display:none;flex-direction:column;gap:.5rem;margin-bottom:.5rem;padding:0;background:var(--bg-card);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md);animation:fadeIn .8s ease-out;width:100%;max-width:400px;overflow:visible;max-height:0;transition:max-height .3s ease-out,padding .3s ease-out;z-index:10;position:relative}.selector-settings.show{display:flex;max-height:500px;padding:.5rem;overflow:visible}@media(min-width:768px){.selector-settings{display:flex;flex-direction:row;gap:2rem;margin-bottom:3rem;padding:1rem 2rem;border-radius:12px;max-width:none;max-height:none}}.setting-group{display:flex;align-items:center;gap:.5rem;width:100%}@media(min-width:768px){.setting-group{width:auto}}.setting-group label{color:var(--text-primary);font-weight:500;font-size:.75rem;min-width:60px}@media(min-width:768px){.setting-group label{font-size:.95rem}}.language-selector,.theme-selector{padding:.4rem .6rem;background:var(--bg-input);border:2px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.75rem;cursor:pointer;transition:all .3s ease;flex:1}@media(min-width:768px){.language-selector,.theme-selector{padding:.5rem 1rem;font-size:.95rem;flex:initial}}.language-selector:hover,.theme-selector:hover{border-color:var(--accent-primary);background:var(--bg-card-hover)}.language-selector:focus,.theme-selector:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #4caf501a}.game-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;max-width:1200px;width:100%;margin-bottom:1rem}@media(min-width:768px){.game-cards{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:3rem}}.game-card{background:var(--bg-card);border-radius:8px;padding:.5rem;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);border:2px solid var(--border-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;animation:fadeInUp .6s ease-out;position:relative;overflow:hidden;min-height:0}@media(min-width:768px){.game-card{border-radius:20px;padding:2rem}}.game-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,transparent 0%,var(--accent-primary) 100%);opacity:0;transition:opacity .4s ease;z-index:0}.game-card:hover:before{opacity:.1}.game-card:hover{transform:translateY(-8px) scale(1.02);border-color:var(--accent-primary);box-shadow:var(--shadow-accent)}.game-card:active{transform:translateY(-4px) scale(1.01)}.game-card>*{position:relative;z-index:1}.game-icon{margin-bottom:.3rem;display:flex;justify-content:center;align-items:center;width:50px;height:50px}.game-icon svg{width:100%;height:100%}@media(min-width:768px){.game-icon{margin-bottom:1.5rem;width:120px;height:120px}}.game-card h2{font-size:.8rem;font-weight:700;color:var(--text-primary);margin-bottom:.2rem;margin-top:0;text-align:center;line-height:1.1}@media(min-width:768px){.game-card h2{font-size:1.8rem;margin-bottom:.5rem}}.game-description{color:var(--text-secondary);text-align:center;margin-bottom:.3rem;font-size:.65rem;line-height:1.2;display:none}@media(min-width:768px){.game-description{display:block;font-size:1rem;line-height:1.6;margin-bottom:1.5rem}}.game-features{display:none;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;justify-content:center}@media(min-width:768px){.game-features{display:flex}}.game-features span{background:var(--bg-input);padding:.4rem .8rem;border-radius:20px;font-size:.85rem;color:var(--text-secondary);border:1px solid var(--border-primary)}.play-button{width:100%;padding:.4rem .6rem;background:var(--btn-primary-bg);color:#fff;border:none;border-radius:6px;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm);text-transform:uppercase;letter-spacing:.5px;margin-top:auto}@media(min-width:768px){.play-button{padding:.9rem 2rem;font-size:1.1rem;border-radius:12px;letter-spacing:1px}}.play-button:hover{background:var(--btn-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.play-button:active{transform:translateY(0)}.muehle-card{animation-delay:.1s}.connectfour-card{animation-delay:.2s}.checkers-card{animation-delay:.3s}.chess-card{animation-delay:.4s}.reversi-card{animation-delay:.5s}.selector-footer{text-align:center;color:var(--text-tertiary);font-size:.7rem;margin-top:auto;padding-top:.5rem;padding-bottom:.5rem}@media(min-width:768px){.selector-footer{font-size:.9rem;padding-top:2rem}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(hover:hover){.game-card:hover{transform:translateY(-8px) scale(1.02)}.play-button:hover{transform:translateY(-2px)}}@media(max-width:767px){.game-card:hover{transform:none}.game-card:active{transform:scale(.98)}.play-button:hover{transform:none}.play-button:active{transform:scale(.95)}}:root,.theme-default{--bg-primary: linear-gradient(135deg, #0f2027 0%, #203a43 50%, #2c5364 100%);--bg-card: rgba(255, 255, 255, .08);--bg-card-hover: rgba(255, 255, 255, .12);--bg-input: rgba(255, 255, 255, .08);--bg-modal: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .8);--text-tertiary: rgba(255, 255, 255, .6);--accent-primary: #4CAF50;--accent-primary-hover: #66BB6A;--accent-secondary: #2196F3;--accent-tertiary: #9C27B0;--border-primary: rgba(255, 255, 255, .2);--border-hover: rgba(76, 175, 80, .5);--border-focus: rgba(76, 175, 80, .7);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--shadow-accent: 0 6px 20px rgba(76, 175, 80, .4);--btn-primary-bg: linear-gradient(135deg, #4CAF50, #2e7d32);--btn-primary-hover: linear-gradient(135deg, #66BB6A, #4CAF50);--btn-secondary-bg: linear-gradient(135deg, #2196F3, #1565C0);--btn-danger-bg: linear-gradient(135deg, #F44336, #C62828);--piece-white: radial-gradient(circle at 35% 35%, #ffffff, #e0e0e0);--piece-black: radial-gradient(circle at 35% 35%, #5a5a5a, #1a1a1a);--board-bg: linear-gradient(135deg, #2a3a4e 0%, #3a4a5e 50%, #2f4a6f 100%);--status-success: #4CAF50;--status-error: #F44336;--status-warning: #FF9800;--status-info: #2196F3}.theme-ocean{--bg-primary: linear-gradient(135deg, #001f3f 0%, #003d5c 50%, #005a7f 100%);--bg-card: rgba(0, 191, 255, .12);--bg-card-hover: rgba(0, 191, 255, .18);--bg-input: rgba(0, 191, 255, .1);--bg-modal: linear-gradient(135deg, #002244 0%, #003366 50%, #004477 100%);--text-primary: #e0f7ff;--text-secondary: rgba(224, 247, 255, .85);--text-tertiary: rgba(224, 247, 255, .65);--accent-primary: #00bfff;--accent-primary-hover: #33ccff;--accent-secondary: #0099cc;--accent-tertiary: #006699;--border-primary: rgba(0, 191, 255, .3);--border-hover: rgba(0, 191, 255, .6);--border-focus: rgba(0, 191, 255, .8);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-accent: 0 6px 20px rgba(0, 191, 255, .5);--btn-primary-bg: linear-gradient(135deg, #00bfff, #0099cc);--btn-primary-hover: linear-gradient(135deg, #33ccff, #00bfff);--btn-secondary-bg: linear-gradient(135deg, #0099cc, #006699);--btn-danger-bg: linear-gradient(135deg, #ff6b6b, #c92a2a);--piece-white: radial-gradient(circle at 35% 35%, #ffffff, #d0e8f0);--piece-black: radial-gradient(circle at 35% 35%, #003366, #001122);--board-bg: linear-gradient(135deg, #003d5c 0%, #004d6f 50%, #005a7f 100%);--status-success: #00d4aa;--status-error: #ff6b6b;--status-warning: #ffa500;--status-info: #00bfff}.theme-forest{--bg-primary: linear-gradient(135deg, #0a2e0a 0%, #1a4d1a 50%, #2a6b2a 100%);--bg-card: rgba(76, 175, 80, .15);--bg-card-hover: rgba(76, 175, 80, .22);--bg-input: rgba(76, 175, 80, .12);--bg-modal: linear-gradient(135deg, #0d3d0d 0%, #165016 50%, #1f631f 100%);--text-primary: #e8f5e9;--text-secondary: rgba(232, 245, 233, .85);--text-tertiary: rgba(232, 245, 233, .65);--accent-primary: #66bb6a;--accent-primary-hover: #81c784;--accent-secondary: #43a047;--accent-tertiary: #2e7d32;--border-primary: rgba(102, 187, 106, .3);--border-hover: rgba(102, 187, 106, .6);--border-focus: rgba(102, 187, 106, .8);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-accent: 0 6px 20px rgba(102, 187, 106, .5);--btn-primary-bg: linear-gradient(135deg, #66bb6a, #43a047);--btn-primary-hover: linear-gradient(135deg, #81c784, #66bb6a);--btn-secondary-bg: linear-gradient(135deg, #43a047, #2e7d32);--btn-danger-bg: linear-gradient(135deg, #ef5350, #c62828);--piece-white: radial-gradient(circle at 35% 35%, #ffffff, #c8e6c9);--piece-black: radial-gradient(circle at 35% 35%, #1b5e20, #0d2f10);--board-bg: linear-gradient(135deg, #1a4d1a 0%, #236023 50%, #2a6b2a 100%);--status-success: #81c784;--status-error: #ef5350;--status-warning: #ffb74d;--status-info: #4fc3f7}.theme-sunset{--bg-primary: linear-gradient(135deg, #2d1b2e 0%, #4a2c4f 50%, #6b3d70 100%);--bg-card: rgba(255, 138, 101, .15);--bg-card-hover: rgba(255, 138, 101, .22);--bg-input: rgba(255, 138, 101, .12);--bg-modal: linear-gradient(135deg, #3d2534 0%, #5a3a4f 50%, #774d6a 100%);--text-primary: #fff0e8;--text-secondary: rgba(255, 240, 232, .85);--text-tertiary: rgba(255, 240, 232, .65);--accent-primary: #ff8a65;--accent-primary-hover: #ffab91;--accent-secondary: #f06292;--accent-tertiary: #ba68c8;--border-primary: rgba(255, 138, 101, .3);--border-hover: rgba(255, 138, 101, .6);--border-focus: rgba(255, 138, 101, .8);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-accent: 0 6px 20px rgba(255, 138, 101, .5);--btn-primary-bg: linear-gradient(135deg, #ff8a65, #f4511e);--btn-primary-hover: linear-gradient(135deg, #ffab91, #ff8a65);--btn-secondary-bg: linear-gradient(135deg, #f06292, #e91e63);--btn-danger-bg: linear-gradient(135deg, #e53935, #c62828);--piece-white: radial-gradient(circle at 35% 35%, #ffffff, #ffe0d8);--piece-black: radial-gradient(circle at 35% 35%, #4a2c4f, #2d1b2e);--board-bg: linear-gradient(135deg, #4a2c4f 0%, #5e3b63 50%, #6b3d70 100%);--status-success: #81c784;--status-error: #e57373;--status-warning: #ffb74d;--status-info: #64b5f6}.theme-light{--bg-primary: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 50%, #dddddd 100%);--bg-card: rgba(255, 255, 255, .9);--bg-card-hover: rgba(255, 255, 255, 1);--bg-input: rgba(255, 255, 255, .95);--bg-modal: linear-gradient(135deg, #ffffff 0%, #f8f8f8 50%, #f0f0f0 100%);--text-primary: #1a1a1a;--text-secondary: rgba(26, 26, 26, .8);--text-tertiary: rgba(26, 26, 26, .6);--accent-primary: #4CAF50;--accent-primary-hover: #66BB6A;--accent-secondary: #2196F3;--accent-tertiary: #9C27B0;--border-primary: rgba(0, 0, 0, .12);--border-hover: rgba(76, 175, 80, .5);--border-focus: rgba(76, 175, 80, .8);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .16);--shadow-accent: 0 6px 20px rgba(76, 175, 80, .3);--btn-primary-bg: linear-gradient(135deg, #4CAF50, #388E3C);--btn-primary-hover: linear-gradient(135deg, #66BB6A, #4CAF50);--btn-secondary-bg: linear-gradient(135deg, #2196F3, #1976D2);--btn-danger-bg: linear-gradient(135deg, #F44336, #D32F2F);--piece-white: radial-gradient(circle at 35% 35%, #ffffff, #e8e8e8);--piece-black: radial-gradient(circle at 35% 35%, #424242, #1a1a1a);--board-bg: linear-gradient(135deg, #d0d0d0 0%, #c0c0c0 50%, #b0b0b0 100%);--status-success: #4CAF50;--status-error: #F44336;--status-warning: #FF9800;--status-info: #2196F3}.theme-neon{--bg-primary: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 50%, #0f0f0f 100%);--bg-card: rgba(0, 255, 255, .1);--bg-card-hover: rgba(0, 255, 255, .15);--bg-input: rgba(0, 255, 255, .08);--bg-modal: linear-gradient(135deg, #000000 0%, #1a1a1a 50%, #0d0d0d 100%);--text-primary: #00ffff;--text-secondary: rgba(0, 255, 255, .85);--text-tertiary: rgba(0, 255, 255, .65);--accent-primary: #00ff88;--accent-primary-hover: #33ffaa;--accent-secondary: #ff00ff;--accent-tertiary: #ffff00;--border-primary: rgba(0, 255, 255, .4);--border-hover: rgba(0, 255, 136, .7);--border-focus: rgba(0, 255, 136, .9);--shadow-sm: 0 2px 8px rgba(0, 255, 255, .2);--shadow-md: 0 4px 16px rgba(0, 255, 255, .3);--shadow-lg: 0 8px 32px rgba(0, 255, 255, .4);--shadow-accent: 0 6px 20px rgba(0, 255, 136, .6);--btn-primary-bg: linear-gradient(135deg, #00ff88, #00cc6a);--btn-primary-hover: linear-gradient(135deg, #33ffaa, #00ff88);--btn-secondary-bg: linear-gradient(135deg, #ff00ff, #cc00cc);--btn-danger-bg: linear-gradient(135deg, #ff3366, #cc0033);--piece-white: radial-gradient(circle at 35% 35%, #ffffff, #00ffff);--piece-black: radial-gradient(circle at 35% 35%, #333333, #000000);--board-bg: linear-gradient(135deg, #1a1a1a 0%, #0f0f0f 50%, #050505 100%);--status-success: #00ff88;--status-error: #ff3366;--status-warning: #ffaa00;--status-info: #00ccff}.theme-wood{--bg-primary: linear-gradient(135deg, #3e2723 0%, #4e342e 50%, #5d4037 100%);--bg-card: rgba(121, 85, 72, .3);--bg-card-hover: rgba(121, 85, 72, .4);--bg-input: rgba(121, 85, 72, .25);--bg-modal: linear-gradient(135deg, #3e2723 0%, #4e342e 50%, #5d4037 100%);--text-primary: #fff8dc;--text-secondary: rgba(255, 248, 220, .9);--text-tertiary: rgba(255, 248, 220, .7);--accent-primary: #d7a86e;--accent-primary-hover: #e5b87e;--accent-secondary: #a1887f;--accent-tertiary: #8d6e63;--border-primary: rgba(161, 136, 127, .4);--border-hover: rgba(215, 168, 110, .7);--border-focus: rgba(215, 168, 110, .9);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .5);--shadow-md: 0 4px 16px rgba(0, 0, 0, .6);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .7);--shadow-accent: 0 6px 20px rgba(215, 168, 110, .5);--btn-primary-bg: linear-gradient(135deg, #d7a86e, #bc9068);--btn-primary-hover: linear-gradient(135deg, #e5b87e, #d7a86e);--btn-secondary-bg: linear-gradient(135deg, #a1887f, #8d6e63);--btn-danger-bg: linear-gradient(135deg, #c65d3b, #a0301e);--piece-white: radial-gradient(circle at 30% 30%, #ffffff, #f5f5dc, #ecdcc0);--piece-black: radial-gradient(circle at 30% 30%, #1a0f0a, #2d1f1a, #3e2723);--board-bg: repeating-linear-gradient( 90deg, #6d4c41 0px, #8d6e63 2px, #6d4c41 4px, #5d4037 6px, #6d4c41 8px ), linear-gradient(135deg, #5d4037 0%, #6d4c41 50%, #8d6e63 100%);--status-success: #9ccc65;--status-error: #e57373;--status-warning: #ffb74d;--status-info: #64b5f6}.theme-crimson{--bg-primary: linear-gradient(135deg, #1a0a0a 0%, #2d1111 50%, #3d1616 100%);--bg-card: rgba(220, 38, 38, .12);--bg-card-hover: rgba(220, 38, 38, .18);--bg-input: rgba(220, 38, 38, .1);--bg-modal: linear-gradient(135deg, #220a0a 0%, #331111 50%, #441616 100%);--text-primary: #ffe8e8;--text-secondary: rgba(255, 232, 232, .85);--text-tertiary: rgba(255, 232, 232, .65);--accent-primary: #dc2626;--accent-primary-hover: #ef4444;--accent-secondary: #b91c1c;--accent-tertiary: #991b1b;--border-primary: rgba(220, 38, 38, .3);--border-hover: rgba(220, 38, 38, .6);--border-focus: rgba(220, 38, 38, .8);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-accent: 0 6px 20px rgba(220, 38, 38, .5);--btn-primary-bg: linear-gradient(135deg, #dc2626, #b91c1c);--btn-primary-hover: linear-gradient(135deg, #ef4444, #dc2626);--btn-secondary-bg: linear-gradient(135deg, #b91c1c, #991b1b);--btn-danger-bg: linear-gradient(135deg, #991b1b, #7f1d1d);--piece-white: radial-gradient(circle at 35% 35%, #ffffff, #ffe8e8);--piece-black: radial-gradient(circle at 35% 35%, #3d1616, #1a0a0a);--board-bg: linear-gradient(135deg, #2d1111 0%, #3d1616 50%, #4d1b1b 100%);--status-success: #10b981;--status-error: #dc2626;--status-warning: #f59e0b;--status-info: #3b82f6}.theme-royal{--bg-primary: linear-gradient(135deg, #1a0a1f 0%, #2d1140 50%, #3d1660 100%);--bg-card: rgba(147, 51, 234, .12);--bg-card-hover: rgba(147, 51, 234, .18);--bg-input: rgba(147, 51, 234, .1);--bg-modal: linear-gradient(135deg, #220a2f 0%, #331150 50%, #441670 100%);--text-primary: #f3e8ff;--text-secondary: rgba(243, 232, 255, .85);--text-tertiary: rgba(243, 232, 255, .65);--accent-primary: #9333ea;--accent-primary-hover: #a855f7;--accent-secondary: #7e22ce;--accent-tertiary: #6b21a8;--border-primary: rgba(147, 51, 234, .3);--border-hover: rgba(147, 51, 234, .6);--border-focus: rgba(147, 51, 234, .8);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-accent: 0 6px 20px rgba(147, 51, 234, .5);--btn-primary-bg: linear-gradient(135deg, #9333ea, #7e22ce);--btn-primary-hover: linear-gradient(135deg, #a855f7, #9333ea);--btn-secondary-bg: linear-gradient(135deg, #7e22ce, #6b21a8);--btn-danger-bg: linear-gradient(135deg, #dc2626, #b91c1c);--piece-white: radial-gradient(circle at 35% 35%, #ffffff, #f3e8ff);--piece-black: radial-gradient(circle at 35% 35%, #3d1660, #1a0a1f);--board-bg: linear-gradient(135deg, #2d1140 0%, #3d1660 50%, #4d1b80 100%);--status-success: #10b981;--status-error: #dc2626;--status-warning: #f59e0b;--status-info: #3b82f6}.theme-amber{--bg-primary: linear-gradient(135deg, #1f1a0a 0%, #332b11 50%, #4d3d16 100%);--bg-card: rgba(245, 158, 11, .12);--bg-card-hover: rgba(245, 158, 11, .18);--bg-input: rgba(245, 158, 11, .1);--bg-modal: linear-gradient(135deg, #2f220a 0%, #443311 50%, #554416 100%);--text-primary: #fff8e8;--text-secondary: rgba(255, 248, 232, .85);--text-tertiary: rgba(255, 248, 232, .65);--accent-primary: #f59e0b;--accent-primary-hover: #fbbf24;--accent-secondary: #d97706;--accent-tertiary: #b45309;--border-primary: rgba(245, 158, 11, .3);--border-hover: rgba(245, 158, 11, .6);--border-focus: rgba(245, 158, 11, .8);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-accent: 0 6px 20px rgba(245, 158, 11, .5);--btn-primary-bg: linear-gradient(135deg, #f59e0b, #d97706);--btn-primary-hover: linear-gradient(135deg, #fbbf24, #f59e0b);--btn-secondary-bg: linear-gradient(135deg, #d97706, #b45309);--btn-danger-bg: linear-gradient(135deg, #dc2626, #b91c1c);--piece-white: radial-gradient(circle at 35% 35%, #ffffff, #fff8e8);--piece-black: radial-gradient(circle at 35% 35%, #4d3d16, #1f1a0a);--board-bg: linear-gradient(135deg, #332b11 0%, #4d3d16 50%, #664d1b 100%);--status-success: #10b981;--status-error: #dc2626;--status-warning: #f59e0b;--status-info: #3b82f6}.theme-teal{--bg-primary: linear-gradient(135deg, #0a1f1f 0%, #115555 50%, #166666 100%);--bg-card: rgba(20, 184, 166, .12);--bg-card-hover: rgba(20, 184, 166, .18);--bg-input: rgba(20, 184, 166, .1);--bg-modal: linear-gradient(135deg, #0a2f2f 0%, #115555 50%, #166666 100%);--text-primary: #e8ffff;--text-secondary: rgba(232, 255, 255, .85);--text-tertiary: rgba(232, 255, 255, .65);--accent-primary: #14b8a6;--accent-primary-hover: #2dd4bf;--accent-secondary: #0f766e;--accent-tertiary: #0d9488;--border-primary: rgba(20, 184, 166, .3);--border-hover: rgba(20, 184, 166, .6);--border-focus: rgba(20, 184, 166, .8);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-accent: 0 6px 20px rgba(20, 184, 166, .5);--btn-primary-bg: linear-gradient(135deg, #14b8a6, #0f766e);--btn-primary-hover: linear-gradient(135deg, #2dd4bf, #14b8a6);--btn-secondary-bg: linear-gradient(135deg, #0f766e, #0d9488);--btn-danger-bg: linear-gradient(135deg, #dc2626, #b91c1c);--piece-white: radial-gradient(circle at 35% 35%, #ffffff, #e8ffff);--piece-black: radial-gradient(circle at 35% 35%, #166666, #0a1f1f);--board-bg: linear-gradient(135deg, #115555 0%, #166666 50%, #1b7777 100%);--status-success: #10b981;--status-error: #dc2626;--status-warning: #f59e0b;--status-info: #3b82f6}.theme-indigo{--bg-primary: linear-gradient(135deg, #0a0a1f 0%, #111140 50%, #161660 100%);--bg-card: rgba(99, 102, 241, .12);--bg-card-hover: rgba(99, 102, 241, .18);--bg-input: rgba(99, 102, 241, .1);--bg-modal: linear-gradient(135deg, #0a0a2f 0%, #111150 50%, #161670 100%);--text-primary: #e8e8ff;--text-secondary: rgba(232, 232, 255, .85);--text-tertiary: rgba(232, 232, 255, .65);--accent-primary: #6366f1;--accent-primary-hover: #818cf8;--accent-secondary: #4f46e5;--accent-tertiary: #4338ca;--border-primary: rgba(99, 102, 241, .3);--border-hover: rgba(99, 102, 241, .6);--border-focus: rgba(99, 102, 241, .8);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-accent: 0 6px 20px rgba(99, 102, 241, .5);--btn-primary-bg: linear-gradient(135deg, #6366f1, #4f46e5);--btn-primary-hover: linear-gradient(135deg, #818cf8, #6366f1);--btn-secondary-bg: linear-gradient(135deg, #4f46e5, #4338ca);--btn-danger-bg: linear-gradient(135deg, #dc2626, #b91c1c);--piece-white: radial-gradient(circle at 35% 35%, #ffffff, #e8e8ff);--piece-black: radial-gradient(circle at 35% 35%, #161660, #0a0a1f);--board-bg: linear-gradient(135deg, #111140 0%, #161660 50%, #1b1b80 100%);--status-success: #10b981;--status-error: #dc2626;--status-warning: #f59e0b;--status-info: #3b82f6}.theme-rose{--bg-primary: linear-gradient(135deg, #1f0a1a 0%, #331133 50%, #4d1640 100%);--bg-card: rgba(244, 63, 94, .12);--bg-card-hover: rgba(244, 63, 94, .18);--bg-input: rgba(244, 63, 94, .1);--bg-modal: linear-gradient(135deg, #2f0a2a 0%, #441144 50%, #551650 100%);--text-primary: #ffe8f0;--text-secondary: rgba(255, 232, 240, .85);--text-tertiary: rgba(255, 232, 240, .65);--accent-primary: #f43f5e;--accent-primary-hover: #fb7185;--accent-secondary: #e11d48;--accent-tertiary: #be123c;--border-primary: rgba(244, 63, 94, .3);--border-hover: rgba(244, 63, 94, .6);--border-focus: rgba(244, 63, 94, .8);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-accent: 0 6px 20px rgba(244, 63, 94, .5);--btn-primary-bg: linear-gradient(135deg, #f43f5e, #e11d48);--btn-primary-hover: linear-gradient(135deg, #fb7185, #f43f5e);--btn-secondary-bg: linear-gradient(135deg, #e11d48, #be123c);--btn-danger-bg: linear-gradient(135deg, #be123c, #9f1239);--piece-white: radial-gradient(circle at 35% 35%, #ffffff, #ffe8f0);--piece-black: radial-gradient(circle at 35% 35%, #4d1640, #1f0a1a);--board-bg: linear-gradient(135deg, #331133 0%, #4d1640 50%, #661b50 100%);--status-success: #10b981;--status-error: #dc2626;--status-warning: #f59e0b;--status-info: #3b82f6}.theme-rainbow{--bg-primary: linear-gradient(135deg, #0a0a0a 0%, #1a0a1a 50%, #0a0a0a 100%);--bg-card: rgba(255, 255, 255, .08);--bg-card-hover: rgba(255, 255, 255, .12);--bg-input: rgba(255, 255, 255, .06);--bg-modal: linear-gradient(135deg, #0a0a0a 0%, #1a0a1a 50%, #0a0a0a 100%);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .95);--text-tertiary: rgba(255, 255, 255, .8);--accent-primary: #ff0080;--accent-primary-hover: #ff33aa;--accent-secondary: #00ffff;--accent-tertiary: #ffff00;--border-primary: rgba(255, 255, 255, .25);--border-hover: rgba(255, 0, 255, .7);--border-focus: rgba(0, 255, 255, .9);--shadow-sm: 0 2px 8px rgba(255, 0, 255, .3);--shadow-md: 0 4px 16px rgba(0, 255, 255, .4);--shadow-lg: 0 8px 32px rgba(255, 255, 0, .3);--shadow-accent: 0 6px 20px rgba(255, 0, 255, .6);--btn-primary-bg: linear-gradient(135deg, #ff0080, #ff00ff, #8000ff);--btn-primary-hover: linear-gradient(135deg, #ff33aa, #ff33ff, #aa33ff);--btn-secondary-bg: linear-gradient(135deg, #00ffff, #00ff80, #80ff00);--btn-danger-bg: linear-gradient(135deg, #ff3366, #ff0066);--piece-white: radial-gradient(circle at 30% 30%, #ffffff, #ffff00, #00ffff);--piece-black: radial-gradient(circle at 30% 30%, #000000, #1a001a, #330033);--board-bg: linear-gradient( 135deg, #ff0000 0%, #ff7f00 14%, #ffff00 28%, #00ff00 42%, #00ffff 57%, #0000ff 71%, #8b00ff 85%, #ff00ff 100% );--status-success: #00ff80;--status-error: #ff0066;--status-warning: #ffaa00;--status-info: #00ccff}.theme-rainbow .muehle-game:before{background-image:radial-gradient(circle at 10% 20%,rgba(255,0,0,.1) 0%,transparent 40%),radial-gradient(circle at 90% 20%,rgba(255,127,0,.1) 0%,transparent 40%),radial-gradient(circle at 50% 50%,rgba(255,255,0,.08) 0%,transparent 40%),radial-gradient(circle at 10% 80%,rgba(0,255,0,.1) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(0,0,255,.1) 0%,transparent 40%),radial-gradient(circle at 50% 10%,rgba(139,0,255,.08) 0%,transparent 40%),radial-gradient(circle at 30% 60%,rgba(255,0,255,.08) 0%,transparent 40%);animation:rainbowShift 15s ease-in-out infinite}@keyframes rainbowShift{0%,to{opacity:.6;filter:hue-rotate(0deg)}50%{opacity:.9;filter:hue-rotate(360deg)}}.muehle-game{background:var(--bg-primary);color:var(--text-primary)}.game-status,.settings-panel,.online-mode-selection,.pieces-container,.player,.user-profile-header,.mode-option,.private-game-panel,.private-game-waiting,.auth-modal{background:var(--bg-card)!important;color:var(--text-primary)!important;border-color:var(--border-primary)!important;box-shadow:var(--shadow-md)!important}.board{background:var(--board-bg)!important}input,select,textarea{background:var(--bg-input)!important;color:var(--text-primary)!important;border-color:var(--border-primary)!important}input:focus,select:focus,textarea:focus{border-color:var(--border-focus)!important}button:not(.logout-button):not(.auth-modal-close){box-shadow:var(--shadow-accent)!important}.muehle-game *{transition:background .3s ease,color .3s ease,border-color .3s ease}.auth-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .3s ease-out}.auth-modal{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);border-radius:24px;padding:40px;box-shadow:0 25px 80px #0009,inset 0 1px #fff3;border:2px solid rgba(255,255,255,.3);max-width:450px;width:90%;position:relative;z-index:10000;animation:modalSlideUp .4s ease-out}@keyframes modalSlideUp{0%{transform:translateY(50px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.auth-modal-close{position:absolute;top:15px;right:15px;background:#ffffff1a;border:none;color:#fff;font-size:2rem;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;line-height:1}.auth-modal-close:hover{background:#f443364d;transform:rotate(90deg)}.auth-modal h2{margin:0 0 30px;font-size:2rem;text-align:center;color:#fff;font-weight:700;background:linear-gradient(135deg,#4caf50,#2196f3);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.auth-error{background:#f4433633;border:2px solid rgba(244,67,54,.5);color:#fff;padding:12px 16px;border-radius:10px;margin-bottom:20px;text-align:center;font-weight:600;animation:errorShake .5s ease-in-out}.auth-success{background:#4caf5033;border:2px solid rgba(76,175,80,.5);color:#fff;padding:12px 16px;border-radius:10px;margin-bottom:20px;text-align:center;font-weight:600;animation:fadeIn .5s ease-in-out}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.95rem;font-weight:600;color:#fff;letter-spacing:.5px}.form-group input{padding:14px 16px;font-size:1rem;border-radius:10px;border:2px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff;transition:all .3s ease;font-family:inherit}.form-group input:focus{outline:none;border-color:#4caf50b3;box-shadow:0 0 0 4px #4caf5033;background:#ffffff1f}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group input::placeholder{color:#fff6}.auth-submit-button{background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff;border:none;padding:16px 32px;font-size:1.1rem;font-weight:700;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #4caf5066;border:1px solid rgba(255,255,255,.2);text-transform:uppercase;letter-spacing:1px;margin-top:10px}.auth-submit-button:hover:not(:disabled){background:linear-gradient(135deg,#66bb6a,#4caf50);transform:translateY(-2px);box-shadow:0 8px 28px #4caf5080}.auth-submit-button:active:not(:disabled){transform:translateY(0)}.auth-submit-button:disabled{opacity:.6;cursor:not-allowed}.forgot-password-link{text-align:center;margin-top:15px}.link-button{background:none;border:none;color:#2196f3;font-weight:500;cursor:pointer;text-decoration:none;font-size:.9rem;padding:0;transition:color .3s ease}.link-button:hover{color:#64b5f6;text-decoration:underline}.auth-switch{margin-top:25px;text-align:center;color:#fffc;font-size:.95rem}.auth-switch-button{background:none;border:none;color:#4caf50;font-weight:600;cursor:pointer;text-decoration:underline;font-size:.95rem;padding:0;transition:color .3s ease}.auth-switch-button:hover{color:#66bb6a}@media(max-width:480px){.auth-modal{padding:30px 25px}.auth-modal h2{font-size:1.6rem;margin-bottom:25px}.form-group input{padding:12px 14px;font-size:.95rem}.auth-submit-button{padding:14px 28px;font-size:1rem}}.app-footer{padding:.5rem;background:var(--bg-card);border-top:1px solid var(--border-primary);text-align:center;margin-top:auto}@media(min-width:768px){.app-footer{padding:2rem 1rem;border-top:2px solid var(--border-primary)}}.footer-links{display:flex;justify-content:center;align-items:center;gap:.3rem;margin-bottom:.3rem;flex-wrap:wrap}@media(min-width:768px){.footer-links{gap:.5rem;margin-bottom:1rem}}.footer-link{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.65rem;text-decoration:underline;transition:color .3s ease;padding:.1rem .25rem}@media(min-width:768px){.footer-link{font-size:.9rem;padding:.25rem .5rem}}.footer-link:hover{color:var(--accent-primary)}.footer-separator{color:var(--text-secondary);font-size:.65rem}@media(min-width:768px){.footer-separator{font-size:.9rem}}.footer-copyright{color:var(--text-secondary);font-size:.6rem;margin-top:.2rem}@media(min-width:768px){.footer-copyright{font-size:.85rem;margin-top:.5rem}}.legal-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.legal-modal{background:var(--bg-modal);border-radius:20px;max-width:800px;max-height:80vh;width:100%;overflow-y:auto;position:relative;border:2px solid var(--border-primary);box-shadow:var(--shadow-lg);animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.legal-modal-close{position:absolute;top:1rem;right:1rem;background:var(--bg-card);border:2px solid var(--border-primary);border-radius:50%;width:40px;height:40px;font-size:1.5rem;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10}.legal-modal-close:hover{background:var(--bg-card-hover);border-color:var(--accent-primary);transform:rotate(90deg)}.legal-modal-content{padding:2rem}.legal-modal-content h2{color:var(--text-primary);font-size:2rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-primary);padding-bottom:1rem}.legal-text{color:var(--text-primary);line-height:1.6}.legal-text h3{color:var(--accent-primary);font-size:1.3rem;margin-top:1.5rem;margin-bottom:.75rem}.legal-text p{margin-bottom:1rem;color:var(--text-secondary)}@media(max-width:768px){.legal-modal{max-height:90vh;margin:1rem}.legal-modal-content{padding:1.5rem}.legal-modal-content h2{font-size:1.5rem}.legal-text h3{font-size:1.1rem}}.muehle-game{display:flex;flex-direction:column;align-items:center;padding:15px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:linear-gradient(135deg,#0f2027,#203a43,#2c5364);min-height:100vh;color:#fff;position:relative;overflow-x:hidden}.muehle-game:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 80%,rgba(76,175,80,.05) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(33,150,243,.05) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(156,39,176,.03) 0%,transparent 50%);animation:backgroundPulse 20s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes backgroundPulse{0%,to{opacity:.5}50%{opacity:1}}.muehle-game>*{position:relative;z-index:1}.back-to-hub-button{padding:.7rem 1.5rem;background:#ffffff14;border:2px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-to-hub-button:hover{background:#ffffff1f;border-color:var(--accent-primary, #4CAF50);transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.muehle-game h1{font-size:2.5rem;margin:0;text-shadow:0 0 20px rgba(76,175,80,.5),0 0 40px rgba(33,150,243,.3);color:#fff;font-weight:700;letter-spacing:2px;animation:titleGlow 3s ease-in-out infinite;background:linear-gradient(135deg,#4caf50,#2196f3,#9c27b0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}@keyframes titleGlow{0%,to{filter:brightness(1)}50%{filter:brightness(1.2)}}.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.user-profile-header{display:flex;align-items:center;gap:12px;background:#ffffff14;padding:10px 16px;border-radius:12px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 16px #0003;transition:all .3s ease}.user-profile-header:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.user-info{display:flex;flex-direction:column;gap:2px}.user-name{font-size:1rem;font-weight:700;color:#fff}.user-level{font-size:.85rem;color:#ffffffb3;font-weight:500}.logout-button{background:#f4433633;border:1px solid rgba(244,67,54,.4);color:#fff;font-size:1.2rem;width:36px;height:36px;border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.logout-button:hover{background:#f4433666;transform:scale(1.1)}.login-button{background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff;border:none;padding:12px 24px;font-size:1rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #4caf5066;border:1px solid rgba(255,255,255,.2)}.login-button:hover{background:linear-gradient(135deg,#66bb6a,#4caf50);transform:translateY(-2px);box-shadow:0 6px 20px #4caf5080}.login-button:active{transform:translateY(0)}.game-status{font-size:1.15rem;font-weight:600;margin-bottom:12px;text-align:center;background:#ffffff14;padding:12px 20px;border-radius:12px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 4px 16px #0000004d,inset 0 1px #ffffff1a,inset 0 -1px #0000001a;border:1px solid rgba(255,255,255,.15);color:#fff;transition:all .3s ease}.game-status:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0006,inset 0 1px #ffffff26}.timer-display{display:flex;flex-direction:column;align-items:center;gap:6px;background:#2196f326;padding:10px 20px;border-radius:12px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 4px 16px #0000004d,inset 0 1px #ffffff1a;border:2px solid rgba(33,150,243,.3);margin-bottom:10px;transition:all .3s ease}.timer-display.timer-warning{background:#ff980026;border-color:#ff980080;animation:timerPulse 1s ease-in-out infinite}.timer-display.timer-critical{background:#f4433626;border-color:#f4433680;animation:timerCritical .5s ease-in-out infinite}@keyframes timerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes timerCritical{0%,to{transform:scale(1);box-shadow:0 8px 24px #f4433666}50%{transform:scale(1.05);box-shadow:0 12px 32px #f4433699}}.timer-label{font-size:.8rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.timer-value{font-size:1.8rem;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3);font-family:Courier New,monospace}.timer-critical .timer-value{color:#f44336}.timer-bar{width:100%;height:6px;background:#0000004d;border-radius:3px;overflow:hidden;box-shadow:inset 0 2px 4px #0000004d}.timer-bar-fill{height:100%;background:linear-gradient(90deg,#2196f3,#42a5f5);transition:width 1s linear;border-radius:4px;box-shadow:0 0 8px #2196f399}.timer-warning .timer-bar-fill{background:linear-gradient(90deg,#ff9800,#ffb74d);box-shadow:0 0 8px #ff980099}.timer-critical .timer-bar-fill{background:linear-gradient(90deg,#f44336,#ef5350);box-shadow:0 0 8px #f4433699}.draw-offer{display:flex;flex-direction:column;align-items:center;gap:12px;background:#ff980026;padding:15px 25px;border-radius:14px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 6px 20px #0000004d,inset 0 1px #ffffff1a;border:2px solid rgba(255,152,0,.4);margin-bottom:15px;animation:drawOfferPulse 2s ease-in-out infinite}@keyframes drawOfferPulse{0%,to{transform:scale(1);box-shadow:0 6px 20px #ff98004d}50%{transform:scale(1.02);box-shadow:0 8px 28px #ff980080}}.draw-offer-message{font-size:1.05rem;font-weight:600;color:#fff;text-align:center;text-shadow:0 2px 6px rgba(0,0,0,.3)}.draw-offer-buttons{display:flex;gap:12px;margin-top:5px}.accept-draw-button,.decline-draw-button{padding:10px 24px;font-size:1rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 3px 12px #0000004d;color:#fff;min-width:110px}.accept-draw-button{background:linear-gradient(135deg,#4caf50,#2e7d32);border:1px solid rgba(255,255,255,.2)}.accept-draw-button:hover{background:linear-gradient(135deg,#66bb6a,#4caf50);transform:translateY(-2px);box-shadow:0 6px 18px #4caf5080}.decline-draw-button{background:linear-gradient(135deg,#f44336,#c62828);border:1px solid rgba(255,255,255,.2)}.decline-draw-button:hover{background:linear-gradient(135deg,#ef5350,#f44336);transform:translateY(-2px);box-shadow:0 6px 18px #f4433680}.accept-draw-button:active,.decline-draw-button:active{transform:translateY(-1px);box-shadow:0 3px 10px #0000004d}.game-result-overlay{position:relative;width:100%;max-width:800px;margin:0 auto 2rem;display:flex;justify-content:center;align-items:center;z-index:100;animation:overlayFadeIn .4s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.game-result-card{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);border-radius:30px;padding:50px 60px;box-shadow:0 25px 80px #0009,inset 0 1px #fff3;border:3px solid rgba(255,255,255,.3);text-align:center;max-width:600px;animation:cardSlideUp .5s ease-out;position:relative;overflow:hidden}@keyframes cardSlideUp{0%{transform:translateY(100px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.result-icon{font-size:6rem;margin-bottom:20px;animation:iconBounce .8s ease-out}@keyframes iconBounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.win-icon{animation:iconBounce .8s ease-out,winPulse 2s ease-in-out infinite .8s}@keyframes winPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.result-title{font-size:3.5rem;font-weight:800;margin-bottom:15px;color:#fff;text-shadow:0 4px 12px rgba(0,0,0,.5);letter-spacing:2px;animation:titleSlide .6s ease-out .2s backwards}@keyframes titleSlide{0%{transform:translate(-50px);opacity:0}to{transform:translate(0);opacity:1}}.win-title{background:linear-gradient(135deg,#4caf50,#66bb6a,#81c784);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 4px 12px rgba(76,175,80,.6))}.lose-title{background:linear-gradient(135deg,#f44336,#ef5350,#e57373);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 4px 12px rgba(244,67,54,.6))}.neutral-title{background:linear-gradient(135deg,gold,orange,#ff8c00);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 4px 12px rgba(255,215,0,.6))}.result-subtitle{font-size:1.4rem;color:#fffc;margin-bottom:35px;font-weight:500;animation:subtitleFade .6s ease-out .4s backwards}@keyframes subtitleFade{0%{opacity:0}to{opacity:1}}.result-actions{display:flex;gap:20px;justify-content:center;margin-top:30px;animation:buttonsFade .6s ease-out .6s backwards}@keyframes buttonsFade{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.new-game-button-large,.settings-button-large{padding:16px 40px;font-size:1.3rem;font-weight:700;border:none;border-radius:16px;cursor:pointer;transition:all .3s ease;color:#fff;box-shadow:0 6px 20px #0006;border:2px solid rgba(255,255,255,.2);min-width:200px}.new-game-button-large{background:linear-gradient(135deg,#4caf50,#2e7d32)}.new-game-button-large:hover{background:linear-gradient(135deg,#66bb6a,#4caf50);transform:translateY(-3px);box-shadow:0 10px 30px #4caf5099}.settings-button-large{background:linear-gradient(135deg,#9c27b0,#6a1b9a)}.settings-button-large:hover{background:linear-gradient(135deg,#ab47bc,#9c27b0);transform:translateY(-3px);box-shadow:0 10px 30px #9c27b099}.new-game-button-large:active,.settings-button-large:active{transform:translateY(-1px);box-shadow:0 4px 15px #0006}.win-icon:before,.win-icon:after{content:"✨";position:absolute;font-size:2rem;animation:confetti 3s ease-in-out infinite}.win-icon:before{left:20%;animation-delay:0s}.win-icon:after{right:20%;animation-delay:.5s}@keyframes confetti{0%,to{transform:translateY(0) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100px) rotate(360deg);opacity:0}}.game-info{margin-bottom:10px}.player-info{display:flex;gap:15px;justify-content:center}.player{display:flex;flex-direction:column;align-items:center;background:#ffffff0f;padding:10px 15px;border-radius:10px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 2px 8px #0003,inset 0 1px #ffffff1a;border:1px solid rgba(255,255,255,.1);transition:all .3s ease;min-width:140px}.player:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.player.white{border:1px solid rgba(255,255,255,.3);background:#ffffff14}.player.black{border:1px solid rgba(100,100,100,.3);background:#00000026}.player span{font-size:.85rem;margin:2px 0;color:#fff;font-weight:500}.pieces-to-place,.captured-pieces{display:flex;justify-content:space-around;gap:15px;width:100%;max-width:550px;margin-bottom:10px}.pieces-container{display:flex;flex-direction:column;align-items:center;gap:8px;background:#ffffff0f;padding:10px 15px;border-radius:10px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);min-width:180px;border:1px solid rgba(255,255,255,.1);box-shadow:0 2px 8px #0003;transition:all .3s ease}.pieces-container:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000004d}.pieces-label{font-size:.75rem;font-weight:600;margin-bottom:3px;color:#fff;letter-spacing:.5px}.pieces-display{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;min-height:28px}.piece-token{width:22px;height:22px;border-radius:50%;box-shadow:0 2px 6px #0006,inset 0 1px 3px #ffffff4d;transition:all .3s ease}.piece-token:hover{transform:scale(1.1)}.white-token{background:radial-gradient(circle at 35% 35%,#fff,#e0e0e0);border:3px solid #424242}.black-token{background:radial-gradient(circle at 35% 35%,#5a5a5a,#1a1a1a);border:3px solid #888888}.piece-token.captured{opacity:.4;filter:grayscale(60%);transform:scale(.9)}.white-pieces{border:1px solid rgba(255,255,255,.3);background:#ffffff14}.black-pieces{border:1px solid rgba(100,100,100,.3);background:#00000026}.white-captured{border:1px solid rgba(255,255,255,.2);opacity:.8}.black-captured{border:1px solid rgba(100,100,100,.2);opacity:.8}.board{background:linear-gradient(135deg,#2a3a4e,#3a4a5e,#2f4a6f);border-radius:20px;padding:30px;box-shadow:0 10px 40px #00000080,inset 0 1px #ffffff26,inset 0 -1px #0003;margin-bottom:10px;position:relative;border:2px solid rgba(255,255,255,.2);transition:all .3s ease}.board:hover{box-shadow:0 25px 70px #0009,inset 0 1px #ffffff26}.board:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,transparent,transparent 10px,rgba(255,255,255,.02) 10px,rgba(255,255,255,.02) 20px);border-radius:24px;pointer-events:none}.board svg{filter:drop-shadow(2px 2px 8px rgba(0,0,0,.4));background:radial-gradient(circle at center,rgba(76,175,80,.08),transparent 70%);border-radius:12px}.position{cursor:pointer;fill:transparent;stroke:transparent;stroke-width:1;transition:all .2s ease;pointer-events:all}.position:hover{fill:#4caf504d;stroke:#4caf50cc;stroke-width:2;filter:drop-shadow(0 0 8px rgba(76,175,80,.6))}.position.white{fill:url(#whiteGradient);stroke:#2c2c2c;stroke-width:4;filter:drop-shadow(0 4px 12px rgba(255,255,255,.3));animation:pieceAppear .3s ease-out}.position.white:hover{stroke:#4a4a4a;filter:drop-shadow(0 6px 16px rgba(255,255,255,.4))}.position.black{fill:url(#blackGradient);stroke:#e0e0e0;stroke-width:4;filter:drop-shadow(0 4px 12px rgba(255,255,255,.6)) drop-shadow(0 0 8px rgba(255,255,255,.3));animation:pieceAppear .3s ease-out}.position.black:hover{stroke:#fff;filter:drop-shadow(0 6px 16px rgba(255,255,255,.8)) drop-shadow(0 0 12px rgba(255,255,255,.5))}.position.last-move{stroke:gold!important;stroke-width:6!important;animation:lastMoveGlow 2s ease-in-out infinite!important}@keyframes lastMoveGlow{0%,to{stroke:gold;stroke-width:6;filter:drop-shadow(0 0 10px rgba(255,215,0,1)) drop-shadow(0 0 20px rgba(255,215,0,.8)) drop-shadow(0 0 30px rgba(255,165,0,.6))}50%{stroke:orange;stroke-width:7;filter:drop-shadow(0 0 15px rgba(255,215,0,1)) drop-shadow(0 0 30px rgba(255,215,0,.9)) drop-shadow(0 0 45px rgba(255,165,0,.7))}}@keyframes pieceAppear{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.position.hint-square{stroke:#2196f3!important;stroke-width:6!important;filter:drop-shadow(0 0 15px rgba(33,150,243,.8));animation:hintPulse 1.5s infinite}@keyframes hintPulse{0%,to{stroke-width:6;filter:drop-shadow(0 0 15px rgba(33,150,243,.8))}50%{stroke-width:8;filter:drop-shadow(0 0 25px rgba(33,150,243,1))}}.hint-button{background:#2196f34d;border-color:#2196f380}.position.selected{fill:gold!important;stroke:#ffab00;stroke-width:5;filter:drop-shadow(0 0 16px #ffd700) drop-shadow(0 0 8px #ffd700);animation:pulseSelected 1.5s ease-in-out infinite}.position[draggable=true]{cursor:grab!important}.position[draggable=true]:active{cursor:grabbing!important;opacity:.6}.position.removable{fill:#ff5252!important;stroke:#d32f2f;stroke-width:5;filter:drop-shadow(0 0 16px #ff5252) drop-shadow(0 0 8px #ff5252);animation:blinkRemovable 1.2s ease-in-out infinite}@keyframes pulseSelected{0%,to{opacity:1}50%{opacity:.7}}@keyframes blinkRemovable{0%,to{opacity:1}50%{opacity:.6}}.settings-panel{background:#ffffff14;padding:15px 20px;border-radius:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 16px 48px #0006,inset 0 1px #ffffff26;max-width:700px;width:calc(100% - 20px);margin:10px auto;border:1px solid rgba(255,255,255,.15);transition:all .3s ease;box-sizing:border-box}.settings-panel:hover{box-shadow:0 20px 60px #00000080,inset 0 1px #fff3}.settings-panel h2{margin-top:0;margin-bottom:15px;font-size:1.8rem;text-align:center;color:#fff;text-shadow:0 0 20px rgba(76,175,80,.4);font-weight:700}.settings-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-bottom:15px}.language-selector,.theme-selector{display:flex;flex-direction:column;gap:8px;align-items:center;background:#ffffff0d;padding:12px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.language-selector label,.theme-selector label{font-size:1.15rem;font-weight:600;color:#fff;letter-spacing:.5px}.language-select,.theme-select{padding:14px 20px;font-size:1.05rem;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff;cursor:pointer;transition:all .3s ease;min-width:220px;text-align:center;box-shadow:0 4px 12px #0003;font-weight:500;width:100%}.language-select:hover,.theme-select:hover{background:#ffffff1f;border-color:#4caf5080;box-shadow:0 6px 16px #0000004d;transform:translateY(-2px)}.language-select:focus,.theme-select:focus{outline:none;border-color:#4caf50b3;box-shadow:0 0 0 3px #4caf5033}.language-select option,.theme-select option{background:#1a1a2e;color:#fff;padding:10px}.player-settings{display:flex;gap:12px;margin-bottom:15px;justify-content:center}.player-config{display:flex;flex-direction:column;gap:10px;background:#ffffff0d;padding:12px 16px;border-radius:12px;min-width:200px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #0003;transition:all .3s ease}.player-config:hover{transform:translateY(-3px);box-shadow:0 6px 24px #0000004d;border-color:#4caf504d}.player-config h3{margin:0 0 5px;font-size:1.2rem;text-align:center;color:#fff;font-weight:600}.player-type-select,.difficulty-select{padding:14px 18px;font-size:1.05rem;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0003;font-weight:500}.player-type-select:hover,.difficulty-select:hover{background:#ffffff1f;border-color:#4caf5080;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.player-type-select:focus,.difficulty-select:focus{outline:none;border-color:#4caf50b3;box-shadow:0 0 0 3px #4caf5033}.player-type-select option,.difficulty-select option{background:#1a1a2e;color:#fff;padding:10px}.start-game-button{background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff;border:none;padding:20px 45px;font-size:1.4rem;font-weight:700;border-radius:16px;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 24px #4caf5066,inset 0 1px #fff3;width:100%;border:1px solid rgba(255,255,255,.2);text-transform:uppercase;letter-spacing:1px}.start-game-button:hover{background:linear-gradient(135deg,#66bb6a,#4caf50);transform:translateY(-4px);box-shadow:0 12px 32px #4caf5080,inset 0 1px #ffffff4d}.start-game-button:active{transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066,inset 0 1px #fff3}.online-mode-selection{background:#ffffff14;padding:30px;border-radius:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 16px 48px #0006,inset 0 1px #ffffff26;max-width:700px;max-height:90vh;overflow-y:auto;margin:10px auto;border:1px solid rgba(255,255,255,.15);transition:all .3s ease}.online-mode-selection h2{margin-top:0;margin-bottom:25px;font-size:2rem;text-align:center;color:#fff;text-shadow:0 0 20px rgba(76,175,80,.4);font-weight:700}.online-error{background:#f4433633;border:2px solid rgba(244,67,54,.5);color:#fff;padding:15px 20px;border-radius:12px;margin-bottom:25px;text-align:center;font-weight:600;animation:errorShake .5s ease-in-out}@keyframes errorShake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.mode-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:25px}.mode-option{background:#ffffff14;border:2px solid rgba(255,255,255,.2);border-radius:16px;padding:30px 20px;cursor:pointer;transition:all .3s ease;text-align:center;box-shadow:0 4px 16px #0003}.mode-option:hover{background:#4caf5026;border-color:#4caf5080;transform:translateY(-5px);box-shadow:0 8px 24px #4caf504d}.mode-option:active{transform:translateY(-2px)}.mode-icon{font-size:4rem;margin-bottom:15px;animation:iconFloat 3s ease-in-out infinite}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.mode-option h3{margin:10px 0;font-size:1.3rem;color:#fff;font-weight:600}.mode-option p{margin:10px 0 0;font-size:.95rem;color:#ffffffb3;line-height:1.4}.mode-option.league-option{position:relative;border:2px solid rgba(255,215,0,.3)}.mode-option.league-option:hover{border-color:#ffd70099;background:#ffd7001a;box-shadow:0 8px 24px #ffd7004d}.login-required-badge{margin-top:10px;padding:6px 12px;background:#f4433633;border:1px solid rgba(244,67,54,.4);border-radius:8px;font-size:.85rem;font-weight:600;color:#fff}.user-level-badge{margin-top:10px;padding:6px 12px;background:#4caf5033;border:1px solid rgba(76,175,80,.4);border-radius:8px;font-size:.85rem;font-weight:700;color:#4caf50;text-shadow:0 0 10px rgba(76,175,80,.6)}.private-game-panel{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:35px;margin-bottom:25px;text-align:center}.private-game-panel h3{margin:0 0 25px;font-size:1.8rem;color:#fff;font-weight:600}.game-code-input{width:100%;max-width:300px;padding:16px 20px;font-size:1.8rem;text-align:center;border:2px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff14;color:#fff;font-weight:700;letter-spacing:4px;margin-bottom:20px;font-family:Courier New,monospace;box-shadow:0 4px 16px #0003;transition:all .3s ease}.game-code-input:focus{outline:none;border-color:#4caf50b3;box-shadow:0 0 0 4px #4caf5033}.game-code-input::placeholder{color:#ffffff4d;letter-spacing:2px}.create-game-button,.join-game-button{background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff;border:none;padding:16px 40px;font-size:1.2rem;font-weight:700;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #4caf5066;border:1px solid rgba(255,255,255,.2);text-transform:uppercase;letter-spacing:1px}.create-game-button:hover,.join-game-button:hover{background:linear-gradient(135deg,#66bb6a,#4caf50);transform:translateY(-3px);box-shadow:0 8px 28px #4caf5080}.create-game-button:active,.join-game-button:active{transform:translateY(-1px)}.private-game-waiting{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:40px;margin-bottom:25px;text-align:center}.private-game-waiting h3{margin:0 0 20px;font-size:1.5rem;color:#fff;font-weight:600}.game-code-display{background:#4caf5026;border:3px solid rgba(76,175,80,.5);border-radius:16px;padding:25px 40px;font-size:3rem;font-weight:800;color:#4caf50;letter-spacing:8px;margin:20px 0;font-family:Courier New,monospace;text-shadow:0 0 20px rgba(76,175,80,.6);box-shadow:0 6px 24px #4caf504d;animation:codeGlow 2s ease-in-out infinite}@keyframes codeGlow{0%,to{box-shadow:0 6px 24px #4caf504d}50%{box-shadow:0 8px 32px #4caf5080}}.share-instruction{margin:20px 0;font-size:1.1rem;color:#fffc;font-weight:500}.waiting-spinner{margin-top:25px;font-size:1.3rem;color:#ffffffe6;font-weight:600;animation:pulse 2s ease-in-out infinite}.back-button{background:linear-gradient(135deg,#607d8b,#455a64);color:#fff;border:none;padding:12px 24px;font-size:1rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #607d8b66;border:1px solid rgba(255,255,255,.2);margin-bottom:20px}.back-button:hover{background:linear-gradient(135deg,#78909c,#607d8b);transform:translateY(-2px);box-shadow:0 6px 18px #607d8b80}.back-button:active{transform:translateY(-1px)}.game-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:10px}.undo-button,.settings-button,.reset-button{color:#fff;border:none;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:120px;min-height:44px;border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.undo-button:before,.settings-button:before,.reset-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.undo-button:hover:before,.settings-button:hover:before,.reset-button:hover:before{width:300px;height:300px}.undo-button{background:linear-gradient(135deg,#2196f3,#1565c0);box-shadow:0 3px 12px #2196f366}.undo-button:hover:not(:disabled){background:linear-gradient(135deg,#42a5f5,#2196f3);transform:translateY(-2px);box-shadow:0 6px 18px #2196f380}.undo-button:disabled{background:linear-gradient(135deg,#616161,#424242);cursor:not-allowed;opacity:.5;box-shadow:none}.undo-button:disabled:hover{transform:none}.settings-button{background:linear-gradient(135deg,#9c27b0,#6a1b9a);box-shadow:0 3px 12px #9c27b066}.settings-button:hover{background:linear-gradient(135deg,#ab47bc,#9c27b0);transform:translateY(-2px);box-shadow:0 6px 18px #9c27b080}.reset-button{background:linear-gradient(135deg,#f44336,#c62828);box-shadow:0 3px 12px #f4433666}.reset-button:hover{background:linear-gradient(135deg,#ef5350,#f44336);transform:translateY(-2px);box-shadow:0 6px 18px #f4433680}.reset-button:active,.undo-button:active:not(:disabled),.settings-button:active{transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}@media(max-width:768px){.muehle-game{padding:10px}.muehle-game h1{font-size:2rem;margin-bottom:10px}.board{padding:15px;margin-bottom:15px}.board svg{width:100%;max-width:450px;height:auto}.player-info{flex-direction:column;gap:12px}.player{padding:14px 20px;min-width:100%}.game-status{font-size:1.2rem;padding:16px 24px;margin-bottom:18px}.game-info{margin-bottom:18px}.pieces-to-place,.captured-pieces{flex-direction:row;gap:12px;max-width:100%;margin-bottom:15px}.pieces-container{min-width:0;flex:1;padding:14px 18px}.pieces-label{font-size:.85rem}.piece-token{width:24px;height:24px}.player-settings{flex-direction:column;gap:10px}.player-config{min-width:100%;padding:12px 16px}.settings-section{gap:10px;margin-bottom:12px}.language-selector,.theme-selector{padding:10px 12px}.settings-panel{padding:12px 15px;margin:8px}.settings-panel h2{font-size:1.5rem;margin-bottom:12px}.game-actions{flex-direction:column;gap:12px;margin-top:15px}.undo-button,.settings-button,.reset-button{min-width:100%;padding:14px 24px;font-size:1.05rem}.online-mode-selection{padding:30px;margin:15px}.online-mode-selection h2{font-size:2rem;margin-bottom:25px}.mode-options{grid-template-columns:1fr}.mode-option{padding:25px 15px}.private-game-panel{padding:25px}.game-code-display{font-size:2rem;padding:20px 30px;letter-spacing:6px}}@media(max-width:480px){.muehle-game{padding:8px}.muehle-game h1{font-size:1.8rem;margin-bottom:8px}.board{padding:10px;margin-bottom:12px}.board svg{width:100%;max-width:380px;height:auto}.game-status{font-size:.95rem;padding:12px 16px}.online-mode-selection{padding:20px}.game-code-display{font-size:1.5rem;padding:15px 25px;letter-spacing:4px}.game-code-input{font-size:1.5rem;padding:14px 18px;letter-spacing:3px}}.opponent-found-notification{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:30px 50px;border-radius:15px;font-size:1.8rem;font-weight:700;box-shadow:0 10px 40px #00000080;z-index:1000;animation:notificationSlideIn .5s ease-out,notificationPulse .5s ease-in-out .5s 2;text-align:center;border:3px solid rgba(255,255,255,.3)}@keyframes notificationSlideIn{0%{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes notificationPulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.05)}}@media(max-width:768px){.opponent-found-notification{font-size:1.5rem;padding:25px 40px}}@media(max-width:480px){.opponent-found-notification{font-size:1.3rem;padding:20px 30px}}.help-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease-out;padding:1rem}.help-modal-content{background:var(--bg-card);border:3px solid var(--accent-primary);border-radius:16px;padding:2rem;max-width:700px;max-height:85vh;overflow-y:auto;box-shadow:0 10px 40px #00000080;animation:slideUp .4s ease-out;position:relative}.help-close-button{position:absolute;top:1rem;right:1rem;width:36px;height:36px;background:var(--bg-input);color:var(--text-primary);border:2px solid var(--border-primary);border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;line-height:1;padding:0}.help-close-button:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);transform:rotate(90deg)}.help-title{color:var(--text-primary);font-size:2rem;margin-bottom:1.5rem;padding-right:2rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.help-body{color:var(--text-primary);margin-bottom:1.5rem}.help-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-primary)}.help-section:last-child{border-bottom:none}.help-section h3{color:var(--accent-primary);font-size:1.4rem;margin-bottom:.75rem;font-weight:600}.help-section p{color:var(--text-secondary);line-height:1.6;margin:.5rem 0}.help-section ul{list-style:none;padding-left:0;margin:.5rem 0}.help-section ul li{color:var(--text-secondary);line-height:1.8;padding:.5rem 0 .5rem 1.5rem;position:relative}.help-section ul li:before{content:"▸";position:absolute;left:0;color:var(--accent-primary);font-weight:700}.help-close-footer-button{width:100%;padding:1rem;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 8px #0003}.help-close-footer-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #0000004d}.help-close-footer-button:active{transform:translateY(0)}.help-modal-content::-webkit-scrollbar{width:10px}.help-modal-content::-webkit-scrollbar-track{background:var(--bg-input);border-radius:10px}.help-modal-content::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:10px}.help-modal-content::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.help-modal-content{padding:1.5rem;max-height:90vh}.help-title{font-size:1.5rem}.help-section h3{font-size:1.2rem}.help-close-button{width:32px;height:32px;font-size:1.2rem}}.connectfour-game{min-height:100vh;max-height:100vh;background:var(--bg-primary);padding:.5rem;padding-top:max(.5rem,env(safe-area-inset-top,.5rem));display:flex;flex-direction:column;align-items:center;color:var(--text-primary);overflow-y:auto;overflow-x:hidden;box-sizing:border-box}@media(min-width:768px){.connectfour-game{padding:2rem}}.back-to-hub-button{padding:.4rem .8rem;background:var(--bg-card);border:2px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);order:-1;position:absolute;left:0;z-index:101}@media(min-width:768px){.back-to-hub-button{padding:.7rem 1.5rem;font-size:1rem;border-radius:10px;position:static}}.header-actions{min-width:80px;display:flex;justify-content:flex-end;position:absolute;right:0;z-index:101}@media(min-width:768px){.header-actions{min-width:150px;position:static}}.user-profile-header{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:var(--bg-card);border-radius:10px;border:2px solid var(--border-primary);cursor:pointer;transition:all .3s ease}.user-profile-header:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-md)}.user-info{display:flex;flex-direction:column;align-items:flex-end}.user-name{font-weight:600;color:var(--text-primary);font-size:1rem}.user-level{font-size:.85rem;color:var(--text-secondary)}.logout-button{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.3rem;opacity:.7;transition:opacity .3s ease}.logout-button:hover{opacity:1}.login-button{padding:.7rem 1.5rem;background:var(--btn-primary-bg);border:none;border-radius:10px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.login-button:hover{background:var(--btn-primary-hover);box-shadow:var(--shadow-md)}.opponent-found-notification{position:fixed;top:100px;left:50%;transform:translate(-50%);background:var(--status-success);color:#fff;padding:1rem 2rem;border-radius:10px;font-size:1.2rem;font-weight:600;box-shadow:var(--shadow-lg);z-index:1000;animation:slideDown .5s ease-out}@keyframes slideDown{0%{transform:translate(-50%,-100px);opacity:0}to{transform:translate(-50%);opacity:1}}.settings-panel{background:#ffffff14;border-radius:12px;padding:.5rem;max-width:700px;width:calc(100% - 1rem);margin:.3rem auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 24px #0006,inset 0 1px #ffffff26;animation:fadeIn .5s ease-out;transition:all .3s ease;box-sizing:border-box;max-height:50vh;overflow-y:auto;z-index:1}@media(min-width:768px){.settings-panel{border-radius:24px;padding:30px;width:calc(100% - 40px);margin:20px auto;max-height:none;overflow-y:visible}}.settings-panel h2{font-size:1rem;margin-bottom:.5rem;margin-top:0;text-align:center;color:var(--text-primary)}@media(min-width:768px){.settings-panel h2{font-size:2rem;margin-bottom:2rem}}.settings-section{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-primary)}@media(min-width:768px){.settings-section{flex-direction:row;gap:2rem;margin-bottom:2rem;padding-bottom:2rem}}.language-selector label,.theme-selector label{font-weight:600;color:var(--text-primary);font-size:.75rem}@media(min-width:768px){.language-selector label,.theme-selector label{font-size:.95rem}}.language-select,.theme-select{padding:.4rem .6rem;background:var(--bg-input);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:.7rem;cursor:pointer;transition:all .3s ease}@media(min-width:768px){.language-select,.theme-select{padding:.7rem 1rem;border:2px solid var(--border-primary);border-radius:10px;font-size:.95rem}}.player-settings{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.5rem;align-items:start}@media(min-width:768px){.player-settings{gap:1.5rem;margin-bottom:2rem}}.player-config{background:var(--bg-input);padding:.4rem;border-radius:6px;border:1px solid var(--border-primary);min-height:100px;max-height:100px;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}@media(min-width:768px){.player-config{padding:1.5rem;border-radius:12px;min-height:auto;max-height:none}}.player-config h3{font-size:.7rem;margin-bottom:.3rem;margin-top:0;color:var(--text-primary);flex-shrink:0}@media(min-width:768px){.player-config h3{font-size:1.1rem;margin-bottom:1rem}}.player-type-select,.difficulty-select{width:100%;padding:.3rem .4rem;background:var(--bg-card);font-size:.65rem;border:1px solid var(--border-primary);border-radius:4px;color:var(--text-primary);cursor:pointer;margin-bottom:.3rem;transition:all .3s ease;box-sizing:border-box;min-height:28px;max-height:28px}@media(min-width:768px){.player-type-select,.difficulty-select{padding:.7rem 1rem;font-size:.95rem;border:2px solid var(--border-primary);border-radius:8px;margin-bottom:.8rem;min-height:auto;max-height:none}}.online-mode-selection{background:var(--bg-card);border-radius:20px;padding:1.5rem;max-width:900px;max-height:90vh;overflow-y:auto;width:100%;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--border-primary);box-shadow:var(--shadow-lg);margin:10px auto}.online-mode-selection h2{font-size:1.75rem;margin-bottom:1.5rem;text-align:center;color:var(--text-primary)}.online-error{background:var(--status-error);color:#fff;padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:center;font-weight:600}.mode-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.mode-option{background:var(--bg-input);padding:2rem 1.5rem;border-radius:15px;border:2px solid var(--border-primary);cursor:pointer;transition:all .3s ease;text-align:center;position:relative}.mode-option:hover{border-color:var(--accent-primary);transform:translateY(-5px);box-shadow:var(--shadow-accent)}.mode-icon{font-size:3rem;margin-bottom:1rem}.mode-option h3{font-size:1.3rem;margin-bottom:.5rem;color:var(--text-primary)}.mode-option p{font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem}.login-required-badge,.user-level-badge{margin-top:.8rem;padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600;display:inline-block}.login-required-badge{background:#f4433633;color:var(--status-error);border:1px solid var(--status-error)}.user-level-badge{background:#4caf5033;color:var(--status-success);border:1px solid var(--status-success)}.private-game-panel{text-align:center}.private-game-panel h3{margin:1.5rem 0;font-size:1.5rem;color:var(--text-primary)}.game-code-input{width:100%;max-width:300px;padding:1rem;background:var(--bg-input);border:2px solid var(--border-primary);border-radius:10px;color:var(--text-primary);font-size:1.5rem;text-align:center;font-weight:600;letter-spacing:.3em;margin:1rem auto;display:block}.game-code-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #4caf501a}.create-game-button,.join-game-button{padding:1rem 2rem;background:var(--btn-primary-bg);border:none;border-radius:10px;color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem}.create-game-button:hover,.join-game-button:hover{background:var(--btn-primary-hover);box-shadow:var(--shadow-md)}.private-game-waiting{text-align:center;padding:2rem}.private-game-waiting h3{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary)}.game-code-display{font-size:3rem;font-weight:700;letter-spacing:.3em;color:var(--accent-primary);margin:1.5rem 0;padding:1rem;background:var(--bg-input);border-radius:15px;border:3px dashed var(--accent-primary)}.share-instruction{font-size:1rem;color:var(--text-secondary);margin-bottom:2rem}.waiting-spinner{font-size:1.3rem;color:var(--text-primary);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.back-button,.settings-button{padding:.7rem 1.5rem;background:var(--bg-input);border:2px solid var(--border-primary);border-radius:10px;color:var(--text-primary);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:1.5rem}.back-button:hover,.settings-button:hover{border-color:var(--accent-primary);background:var(--bg-card-hover)}.timer-display{margin-bottom:1.5rem;padding:1rem 2rem;background:var(--bg-card);border-radius:12px;border:2px solid var(--border-primary);text-align:center;min-width:300px}.timer-label{font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem}.timer-value{font-size:2rem;font-weight:700;color:var(--accent-primary);margin-bottom:.5rem}.timer-bar{width:100%;height:8px;background:var(--bg-input);border-radius:4px;overflow:hidden}.timer-bar-fill{height:100%;background:var(--accent-primary);transition:width 1s linear,background .3s ease}.timer-warning .timer-value{color:#ff9800}.timer-warning .timer-bar-fill{background:#ff9800}.timer-critical .timer-value{color:var(--status-error);animation:timerPulse .5s ease-in-out infinite}.timer-critical .timer-bar-fill{background:var(--status-error)}@keyframes timerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.game-result-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out}.game-result-card{background:var(--bg-modal);padding:3rem;border-radius:25px;text-align:center;max-width:500px;border:3px solid var(--border-primary);box-shadow:0 20px 60px #00000080;animation:scaleIn .4s ease-out}.board-container{margin-bottom:.3rem;display:flex;flex-direction:column;align-items:center;width:100%;max-width:100%;flex:1;justify-content:center}@media(min-width:768px){.board-container{margin-bottom:2rem;flex:initial}}.column-indicators{display:flex;gap:2px;margin-bottom:.3rem;padding:0 5px;width:min(95vw,90vh * 7/6);max-width:400px}@media(min-width:480px){.column-indicators{gap:4px;padding:0 10px}}@media(min-width:768px){.column-indicators{gap:8px;margin-bottom:1rem;padding:0 20px;width:648px;max-width:648px}}.column-indicator{flex:1;max-width:44px;height:44px;border-radius:8px 8px 0 0;background:var(--bg-card);border:2px solid var(--border-primary);border-bottom:none;cursor:pointer;transition:all .3s ease;display:flex;justify-content:center;align-items:center;position:relative;overflow:visible}@media(min-width:480px){.column-indicator{max-width:54px;height:54px}}@media(min-width:768px){.column-indicator{width:80px;max-width:80px;height:80px;border-radius:12px 12px 0 0;border:3px solid var(--border-primary)}}.column-indicator:not(.full):hover{background:var(--bg-card-hover);border-color:var(--accent-primary);transform:translateY(-5px)}.column-indicator.full{opacity:.5;cursor:not-allowed}.preview-piece{width:30px;height:30px;border-radius:50%;position:absolute;top:7px;animation:bounceIn .3s ease-out}@media(min-width:480px){.preview-piece{width:38px;height:38px;top:8px}}@media(min-width:768px){.preview-piece{width:60px;height:60px;top:10px}}.preview-piece.red{background:radial-gradient(circle at 35% 35%,#f66,#f33,#c00);box-shadow:0 4px 12px #f006}.preview-piece.yellow{background:radial-gradient(circle at 35% 35%,#ff6,#ff3,#fc0);box-shadow:0 4px 12px #ff06}@keyframes bounceIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.board{background:var(--accent-secondary);padding:5px;border-radius:8px;box-shadow:var(--shadow-lg);border:3px solid var(--accent-secondary);width:min(95vw,90vh * 7/6);height:auto;aspect-ratio:7/6;max-width:400px}@media(min-width:480px){.board{padding:10px;border-radius:12px}}@media(min-width:768px){.board{padding:20px;border-radius:20px;border:5px solid var(--accent-secondary);width:648px;max-width:648px;height:568px;aspect-ratio:initial}}.board-row{display:flex;gap:2px;margin-bottom:2px}@media(min-width:480px){.board-row{gap:4px;margin-bottom:4px}}@media(min-width:768px){.board-row{gap:8px;margin-bottom:8px}}.board-row:last-child{margin-bottom:0}.cell{flex:1;max-width:44px;height:44px;min-width:44px;min-height:44px}@media(min-width:480px){.cell{max-width:54px;height:54px;min-width:54px;min-height:54px}}@media(min-width:768px){.cell{width:80px;height:80px;min-width:80px;min-height:80px;max-width:80px}}.cell{max-height:44px;background:radial-gradient(circle at center,rgba(0,0,0,.4),transparent);border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;justify-content:center;align-items:center;position:relative;box-shadow:inset 0 2px 8px #0000004d;flex-shrink:0;flex-grow:0}@media(min-width:480px){.cell{max-height:54px}}@media(min-width:768px){.cell{max-height:80px}}.cell:hover{background:radial-gradient(circle at center,rgba(0,0,0,.5),transparent)}.piece{width:70px;height:70px;border-radius:50%;animation:dropPiece .5s ease-out;box-shadow:0 4px 12px #0006;border:3px solid rgba(255,255,255,.3)}@keyframes dropPiece{0%{transform:translateY(-400px);opacity:0}to{transform:translateY(0);opacity:1}}.piece.red{background:radial-gradient(circle at 35% 35%,#f66,#f33,#c00)}.piece.yellow{background:radial-gradient(circle at 35% 35%,#ff6,#ff3,#fc0)}.cell.last-move{box-shadow:inset 0 0 0 4px var(--accent-primary),inset 0 2px 8px #0000004d;animation:highlightCell 1s ease-out}@keyframes highlightCell{0%,to{box-shadow:inset 0 0 0 4px var(--accent-primary),inset 0 2px 8px #0000004d}50%{box-shadow:inset 0 0 0 6px var(--accent-primary),inset 0 2px 8px #0000004d}}.cell.winning{animation:winningPulse 1s ease-in-out infinite}@keyframes winningPulse{0%,to{box-shadow:inset 0 0 0 4px var(--status-success),inset 0 2px 8px #0000004d}50%{box-shadow:inset 0 0 0 6px var(--status-success),inset 0 0 20px #4caf5080}}.cell.hint-square{box-shadow:inset 0 0 0 4px #2196f3cc,inset 0 0 20px #2196f399;animation:hintPulse 1.5s ease-in-out infinite}@keyframes hintPulse{0%,to{box-shadow:inset 0 0 0 4px #2196f3cc,inset 0 0 20px #2196f399}50%{box-shadow:inset 0 0 0 6px #2196f3,inset 0 0 30px #2196f3e6}}.undo-button,.reset-button{padding:.75rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;min-height:44px}.undo-button{background:var(--bg-card);color:var(--text-primary);border:2px solid var(--border-primary)}.hint-button{padding:.75rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;background:#2196f34d;color:var(--text-primary);border:2px solid rgba(33,150,243,.5);min-height:44px}.reset-button{background:var(--btn-secondary-bg);color:#fff}@media(max-width:768px){.connectfour-game{padding:.5rem;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}.back-to-hub-button{padding:.5rem 1rem;font-size:.85rem}.settings-panel{padding:1rem;max-height:90vh;overflow-y:auto}.settings-section{flex-direction:column;gap:1rem}.player-settings{grid-template-columns:1fr;gap:1rem}.game-status{font-size:.9rem;min-width:auto;width:100%;padding:.5rem 1rem;margin-bottom:.5rem}.board-container{margin-bottom:.5rem}.column-indicators{width:auto;padding:0;gap:4px;margin-bottom:.5rem}.column-indicator{width:42px;height:42px;min-width:42px;min-height:42px}.preview-piece{width:32px;height:32px}.board{width:auto;height:auto;padding:8px}.board-row{gap:4px;margin-bottom:4px}.cell{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;max-width:42px!important;max-height:42px!important}.piece{width:36px;height:36px}.game-actions{gap:.5rem;margin-bottom:.5rem}.undo-button,.reset-button,.hint-button{padding:.5rem 1rem;font-size:.85rem;min-height:36px}.game-result-card{padding:1.5rem;margin:.5rem}.result-icon{font-size:2.5rem}.result-title{font-size:1.5rem}.result-subtitle{font-size:1rem}.result-actions{flex-direction:column;gap:.5rem}.new-game-button-large,.settings-button-large{width:100%;padding:.75rem 1.5rem;font-size:.95rem}.mode-options{grid-template-columns:1fr}}.checkers-container{min-height:100vh;background:var(--bg-primary);padding:2rem;display:flex;flex-direction:column;align-items:center;color:var(--text-primary)}.checkers-header{width:100%;max-width:1200px;display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;position:relative}.checkers-header h1{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;flex:1;text-align:center}.back-to-hub-button{padding:.7rem 1.5rem;background:var(--bg-card);border:2px solid var(--border-primary);border-radius:10px;color:var(--text-primary);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-to-hub-button:hover{background:var(--bg-card-hover);border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.settings-panel{background:#ffffff14;border-radius:24px;padding:30px;max-width:700px;width:calc(100% - 40px);margin:20px auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15);box-shadow:0 16px 48px #0006,inset 0 1px #ffffff26;animation:fadeIn .5s ease-out;transition:all .3s ease;box-sizing:border-box}.checkers-game-area{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.game-status{font-size:1.5rem;font-weight:600;color:var(--text-primary);text-align:center;padding:1rem 2rem;background:var(--bg-card);border-radius:12px;border:2px solid var(--border-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:400px}.checkers-board{display:grid;grid-template-columns:repeat(8,80px);grid-template-rows:repeat(8,80px);gap:0;background:var(--bg-card);padding:20px;border-radius:20px;box-shadow:var(--shadow-lg);border:5px solid var(--accent-secondary)}.checkers-square{width:80px;height:80px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .3s ease;position:relative}.checkers-square.light{background:#f0d9b5}.checkers-square.dark{background:#b58863}.checkers-square.selected{box-shadow:inset 0 0 0 4px var(--accent-primary);background:#4caf504d}.checkers-square.legal-move{position:relative}.checkers-square.legal-move:after{content:"";position:absolute;width:30px;height:30px;background:#4caf5080;border-radius:50%;border:3px solid var(--accent-primary);animation:legalMovePulse 1.5s ease-in-out infinite}@keyframes legalMovePulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.2);opacity:1}}.checkers-square.last-move{box-shadow:inset 0 0 0 4px #ffc107cc;animation:lastMoveFlash 1s ease-out}@keyframes lastMoveFlash{0%,to{box-shadow:inset 0 0 0 4px #ffc107cc}50%{box-shadow:inset 0 0 0 6px #ffc107}}.checkers-square.hint-square{box-shadow:inset 0 0 0 4px #2196f3cc;animation:hintPulse 1.5s ease-in-out infinite}@keyframes hintPulse{0%,to{box-shadow:inset 0 0 0 4px #2196f3cc}50%{box-shadow:inset 0 0 0 6px #2196f3}}.checkers-piece{width:70px;height:70px;border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 12px #0006;border:3px solid rgba(255,255,255,.3);transition:all .3s ease;animation:pieceAppear .3s ease-out}@keyframes pieceAppear{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.checkers-piece.red{background:radial-gradient(circle at 35% 35%,#f66,#f33,#c00)}.checkers-piece.black{background:radial-gradient(circle at 35% 35%,#666,#333,#000)}.checkers-piece:hover{transform:scale(1.05)}.checkers-piece.king{border:3px solid #ffd700;box-shadow:0 0 20px #ffd70099}.king-crown{font-size:2rem;color:gold;text-shadow:0 2px 4px rgba(0,0,0,.5);filter:drop-shadow(0 0 8px rgba(255,215,0,.8))}.undo-button,.hint-button,.settings-button{padding:.8rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.undo-button,.settings-button{background:var(--bg-card);color:var(--text-primary);border:2px solid var(--border-primary)}.undo-button:hover:not(:disabled),.settings-button:hover{border-color:var(--accent-primary);background:var(--bg-card-hover)}.hint-button{background:#2196f34d;color:var(--text-primary);border:2px solid rgba(33,150,243,.5)}.hint-button:hover:not(:disabled){background:#2196f380;border-color:#2196f3b3;box-shadow:0 6px 20px #2196f34d}.hint-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.checkers-container{padding:1rem}.checkers-header h1{font-size:1.8rem}.settings-panel{padding:1.5rem}.settings-section{flex-direction:column}.player-settings{grid-template-columns:1fr}.checkers-board{grid-template-columns:repeat(8,50px);grid-template-rows:repeat(8,50px);padding:10px}.checkers-square{width:50px;height:50px}.checkers-piece{width:44px;height:44px}.king-crown{font-size:1.2rem}.game-status{font-size:1.1rem;min-width:auto;width:100%}.game-actions{flex-wrap:wrap}}.chess-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:20px;background:var(--bg-primary);color:var(--text-primary);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.chess-header{width:100%;max-width:1200px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.game-title{font-size:2.5rem;margin:0;text-shadow:0 0 20px rgba(255,215,0,.5)}.back-button{background:#ffffff1a;border:2px solid rgba(255,255,255,.3);color:#fff;padding:10px 20px;border-radius:10px;cursor:pointer;font-size:1rem;transition:all .3s ease}.back-button:hover{background:#fff3;transform:translateY(-2px)}.chess-game-area{display:flex;flex-direction:column;align-items:center;gap:20px;max-width:1200px;width:100%}.game-status{background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:15px;padding:15px 30px;font-size:1.3rem;font-weight:600;text-align:center;min-width:300px;box-shadow:0 4px 15px #0003}.game-status.check{background:#ff45004d;border-color:#ff450080;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.check-indicator{color:#f44;font-weight:700}.last-move-text{font-size:.9rem;margin-top:8px;color:#fffc;font-weight:400}.chess-board-container{display:flex;flex-direction:column;gap:10px}.chess-board-wrapper{display:flex;gap:10px}.chess-board{display:grid;grid-template-columns:repeat(8,70px);grid-template-rows:repeat(8,70px);border:4px solid #8B4513;box-shadow:0 10px 40px #00000080;border-radius:8px;overflow:hidden}.chess-files{display:grid;grid-template-columns:repeat(8,70px);gap:0;padding-left:40px}.file-label{text-align:center;font-weight:600;font-size:.9rem;color:#fffc}.chess-ranks{display:grid;grid-template-rows:repeat(8,70px);gap:0;padding-right:10px}.rank-label{display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;color:#fffc}.chess-square{width:70px;height:70px;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all .2s ease}.chess-square.light{background:#f0d9b5}.chess-square.dark{background:#b58863}.chess-square:hover{filter:brightness(1.1)}.chess-square.selected{background:#baca44!important;box-shadow:inset 0 0 10px #0000004d}.chess-square.legal-move{background:#14551e80!important}.chess-square.last-move{background:#ffff004d!important}.chess-square.hint-square{background:#0096ff66!important;box-shadow:inset 0 0 15px #0096ff99;animation:hint-pulse 1.5s infinite}@keyframes hint-pulse{0%,to{box-shadow:inset 0 0 15px #0096ff99}50%{box-shadow:inset 0 0 25px #0096ffe6}}.hint-indicator{position:absolute;width:30px;height:30px;border:3px solid rgba(0,150,255,.8);border-radius:50%;pointer-events:none;animation:hint-rotate 2s linear infinite}@keyframes hint-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chess-piece{font-size:50px;-webkit-user-select:none;user-select:none;transition:transform .2s ease;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.3))}.chess-piece.white{color:#fff;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 5px rgba(255,255,255,.5)}.chess-piece.black{color:#000;text-shadow:-1px -1px 0 #ffffff,1px -1px 0 #ffffff,-1px 1px 0 #ffffff,1px 1px 0 #ffffff,0 0 3px rgba(0,0,0,.8)}.chess-square:hover .chess-piece{transform:scale(1.1)}.move-dot{width:20px;height:20px;background:#0000004d;border-radius:50%}.capture-ring{position:absolute;width:60px;height:60px;border:4px solid rgba(255,0,0,.5);border-radius:50%;pointer-events:none}.captured-pieces{background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:10px;padding:10px 20px;min-height:60px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:600px}.captured-piece{font-size:30px;opacity:.7;filter:grayscale(.5)}.move-history{background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:15px;padding:20px;width:100%;max-width:600px;max-height:200px}.move-history h3{margin-top:0;margin-bottom:15px;font-size:1.2rem;color:#ffffffe6}.move-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:120px;overflow-y:auto;font-family:Courier New,monospace}.move-item{background:#ffffff0d;padding:5px 10px;border-radius:5px;font-size:.9rem}.game-controls{display:flex;gap:15px;margin-top:10px}.control-button{background:#4caf504d;border:2px solid rgba(76,175,80,.5);color:#fff;padding:12px 30px;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.control-button:hover:not(:disabled){background:#4caf5080;transform:translateY(-2px);box-shadow:0 6px 20px #4caf504d}.control-button:disabled{opacity:.4;cursor:not-allowed;background:#64646433;border-color:#6464644d}.undo-button:not(:disabled){background:#ff98004d;border-color:#ff980080}.undo-button:hover:not(:disabled){background:#ff980080;box-shadow:0 6px 20px #ff98004d}.hint-button:not(:disabled){background:#2196f34d;border-color:#2196f380}.hint-button:hover:not(:disabled){background:#2196f380;box-shadow:0 6px 20px #2196f34d}.settings-panel{background:#ffffff14;padding:30px;border-radius:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 16px 48px #0006,inset 0 1px #ffffff26;max-width:700px;width:calc(100% - 40px);margin:20px auto;border:1px solid rgba(255,255,255,.15);box-sizing:border-box}.settings-panel h2{margin-top:0;margin-bottom:30px;font-size:2rem;text-align:center;color:#fff;text-shadow:0 0 20px rgba(255,215,0,.4)}.settings-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.setting-group{display:flex;flex-direction:column;gap:8px}.setting-group label{font-weight:600;color:#ffffffe6}.setting-group select{padding:12px;border-radius:8px;border:2px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:1rem;cursor:pointer;transition:all .3s ease}.setting-group select:hover{border-color:#ffd70080}.setting-group select option{background:#2a5298;color:#fff}.player-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.player-config{background:#ffffff0d;padding:20px;border-radius:15px;border:2px solid rgba(255,255,255,.1)}.player-config h3{margin-top:0;margin-bottom:15px;font-size:1.3rem;color:#fffffff2}.player-config select{width:100%;padding:12px;margin-bottom:10px;border-radius:8px;border:2px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:1rem;cursor:pointer}.player-config select option{background:#2a5298}.start-game-button{width:100%;padding:18px;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:15px;color:#fff;font-size:1.3rem;font-weight:700;cursor:pointer;box-shadow:0 6px 20px #4caf5066;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.start-game-button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #4caf5080}.start-game-button:active{transform:translateY(-1px)}@media(max-width:768px){.chess-board{grid-template-columns:repeat(8,50px);grid-template-rows:repeat(8,50px)}.chess-square{width:50px;height:50px}.chess-piece{font-size:35px}.chess-files{grid-template-columns:repeat(8,50px)}.chess-ranks{grid-template-rows:repeat(8,50px)}.file-label,.rank-label{font-size:.8rem}.game-title{font-size:2rem}.settings-panel{padding:25px}.move-history{max-height:150px}}.theme-light .chess-square.light{background:#f0f0f0}.theme-light .chess-square.dark{background:#ccc}.theme-dark .chess-square.light{background:#404040}.theme-dark .chess-square.dark{background:#262626}.promotion-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out}.promotion-dialog{background:var(--bg-modal);padding:2.5rem;border-radius:20px;text-align:center;border:3px solid var(--border-primary);box-shadow:0 20px 60px #00000080;animation:scaleIn .4s ease-out}.promotion-dialog h3{font-size:1.8rem;margin-bottom:1rem;color:var(--text-primary)}.promotion-dialog p{font-size:1rem;color:var(--text-secondary);margin-bottom:1.5rem}.promotion-pieces{display:flex;gap:1rem;justify-content:center}.promotion-piece{background:var(--bg-card);border:3px solid var(--border-primary);border-radius:15px;padding:1.5rem 1rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:80px}.promotion-piece:hover{border-color:var(--accent-primary);background:var(--bg-card-hover);transform:translateY(-5px);box-shadow:var(--shadow-accent)}.promotion-piece:active{transform:translateY(-2px)}.promotion-piece:first-child{font-size:3.5rem}.promotion-piece span{font-size:.9rem;color:var(--text-secondary);font-weight:600}@media(max-width:768px){.promotion-dialog{padding:2rem;margin:1rem}.promotion-pieces{flex-wrap:wrap}.promotion-piece{min-width:70px;padding:1rem .8rem}.promotion-piece:first-child{font-size:3rem}}.reversi-game{min-height:100vh;background:var(--bg-primary);padding:1rem 2rem 2rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.reversi-settings{width:100%;max-width:500px;text-align:center}.reversi-settings h2{color:var(--text-primary);font-size:2.5rem;margin-bottom:2rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.settings-panel{background:var(--bg-card);border:2px solid var(--border-primary);border-radius:12px;padding:2rem;box-shadow:var(--shadow-md)}.settings-panel h3{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.5rem}.setting-group{margin-bottom:1.5rem;text-align:left}.setting-group label{display:block;color:var(--text-primary);font-weight:600;margin-bottom:.5rem}.setting-group select{width:100%;padding:.75rem;background:var(--bg-primary);color:var(--text-primary);border:2px solid var(--border-primary);border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease}.setting-group select:hover{border-color:var(--accent-primary)}.setting-group select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #4caf5033}.start-button,.back-button{width:100%;padding:1rem;margin-top:1rem;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #0003}.start-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #0000004d}.start-button:active{transform:translateY(0)}.back-button{background:var(--bg-primary);border:2px solid var(--border-primary);color:var(--text-primary)}.reversi-main{width:100%;max-width:800px}.game-header{text-align:center;margin-bottom:2rem}.game-header h2{color:var(--text-primary);font-size:2rem;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.game-info{display:flex;justify-content:center;gap:3rem;margin-top:1rem}.player-info{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:var(--bg-card);border:2px solid var(--border-primary);border-radius:12px;transition:all .3s ease;opacity:.6}.player-info.active{opacity:1;border-color:var(--accent-primary);box-shadow:0 0 15px #4caf5066;transform:scale(1.05)}.player-info span{color:var(--text-primary);font-weight:700;font-size:1.1rem}.player-piece{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000004d}.player-piece.black{background:radial-gradient(circle at 35% 35%,#555,#1a1a1a)}.player-piece.white{background:radial-gradient(circle at 35% 35%,#fff,#d0d0d0)}.reversi-board{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;max-width:600px;aspect-ratio:1;margin:0 auto 2rem;padding:1rem;background:linear-gradient(145deg,#1a7a2a,#2a9a3a);border-radius:12px;box-shadow:var(--shadow-md),inset 0 2px 10px #0000004d}.reversi-square{aspect-ratio:1;background:linear-gradient(145deg,#228b22,#2a9d2a);cursor:pointer;transition:all .2s ease;border-radius:6px;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:inset 0 1px 3px #0003}.reversi-square:hover{background:linear-gradient(145deg,#2a9d2a,#32ad32)}.reversi-square.last-move{box-shadow:inset 0 0 0 3px var(--accent-primary),0 0 15px #4caf5099;animation:pulse 1s ease-in-out}@keyframes pulse{0%,to{box-shadow:inset 0 0 0 3px var(--accent-primary),0 0 15px #4caf5099}50%{box-shadow:inset 0 0 0 3px var(--accent-primary),0 0 25px #4caf50e6}}.reversi-square.legal{background:linear-gradient(145deg,#3ab33a,#4ac44a);cursor:pointer}.reversi-square.hint{background:linear-gradient(145deg,gold,#ffed4e);box-shadow:0 0 20px #ffd700b3;animation:hint-glow 1s ease-in-out infinite}@keyframes hint-glow{0%,to{box-shadow:0 0 20px #ffd700b3}50%{box-shadow:0 0 30px gold}}.legal-indicator{width:30%;height:30%;background:#ffffff80;border-radius:50%;box-shadow:0 0 10px #fff9;animation:indicator-pulse 1.5s ease-in-out infinite}@keyframes indicator-pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.3);opacity:1}}.reversi-piece{width:85%;height:85%;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .3s ease;animation:piece-flip .4s ease-in-out;box-shadow:0 3px 8px #0006}@keyframes piece-flip{0%{transform:rotateY(0) scale(.5)}50%{transform:rotateY(90deg) scale(.7)}to{transform:rotateY(180deg) scale(1)}}.reversi-piece.placed{animation:piece-place .4s ease-out}@keyframes piece-place{0%{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}.reversi-piece.black{background:radial-gradient(circle at 35% 35%,#555,#1a1a1a);border:2px solid #0a0a0a}.reversi-piece.white{background:radial-gradient(circle at 35% 35%,#fff,#d0d0d0);border:2px solid #b0b0b0}.piece-inner{width:60%;height:60%;border-radius:50%;background:#ffffff1a;box-shadow:inset 0 2px 6px #fff3}.game-controls{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:2rem}.game-controls button{padding:.75rem 1.5rem;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 3px 6px #0003}.game-controls button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 10px #0000004d}.game-controls button:active:not(:disabled){transform:translateY(0)}.game-controls button:disabled{opacity:.4;cursor:not-allowed}.game-over-overlay{position:relative;width:100%;max-width:800px;margin:0 auto 2rem;display:flex;align-items:center;justify-content:center;z-index:100;animation:fade-in .3s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.game-over-panel{background:var(--bg-card);border:3px solid var(--accent-primary);border-radius:16px;padding:3rem;text-align:center;max-width:500px;box-shadow:0 10px 40px #00000080;animation:slide-up .4s ease-out}@keyframes slide-up{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.game-over-panel h2{color:var(--text-primary);font-size:2.5rem;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.game-over-panel p{color:var(--text-primary);font-size:1.5rem;margin-bottom:2rem}.game-over-buttons{display:flex;flex-direction:column;gap:1rem}.game-over-buttons button{width:100%;padding:1rem;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 8px #0003}.game-over-buttons button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #0000004d}@media(max-width:768px){.reversi-game{padding:.5rem;padding-top:max(.5rem,env(safe-area-inset-top,.5rem))}.reversi-board{gap:2px;padding:.5rem}.game-info{gap:1.5rem;flex-direction:column;align-items:center}.game-controls{flex-direction:column;width:100%}.game-controls button{width:100%}.game-over-panel{margin:1rem;padding:2rem}.game-over-panel h2{font-size:2rem}}.tictactoe-game{min-height:100vh;background:var(--bg-primary);padding:2rem;display:flex;flex-direction:column;align-items:center;color:var(--text-primary)}.game-header{width:100%;max-width:1200px;display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.game-header h1{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;flex:1;text-align:center}.back-to-hub-button,.help-button{padding:.75rem 1.5rem;background:var(--bg-card);border:2px solid var(--border-primary);border-radius:10px;color:var(--text-primary);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:44px}.back-to-hub-button:hover,.help-button:hover{background:var(--bg-card-hover);border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.settings-panel{background:var(--bg-card);border-radius:24px;padding:30px;max-width:700px;width:calc(100% - 40px);margin:20px auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid var(--border-primary);box-shadow:var(--shadow-lg);animation:fadeIn .5s ease-out}.settings-panel h2{font-size:2rem;margin-bottom:2rem;text-align:center;color:var(--text-primary)}.settings-section{display:flex;gap:2rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-primary)}.language-selector,.theme-selector{flex:1;display:flex;flex-direction:column;gap:.5rem}.language-selector label,.theme-selector label{font-weight:600;color:var(--text-primary);font-size:.95rem}.language-select,.theme-select{padding:.7rem 1rem;background:var(--bg-input);border:2px solid var(--border-primary);border-radius:10px;color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:all .3s ease}.language-select:hover,.theme-select:hover{border-color:var(--accent-primary)}.language-select:focus,.theme-select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #4caf501a}.player-settings{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.player-config{background:var(--bg-input);padding:1.5rem;border-radius:12px;border:1px solid var(--border-primary)}.player-config h3{font-size:1.1rem;margin-bottom:1rem;color:var(--text-primary)}.player-type-select,.difficulty-select{width:100%;padding:.7rem 1rem;background:var(--bg-card);border:2px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.95rem;cursor:pointer;margin-bottom:.8rem;transition:all .3s ease}.player-type-select:hover,.difficulty-select:hover{border-color:var(--accent-primary)}.player-type-select:focus,.difficulty-select:focus{outline:none;border-color:var(--border-focus)}.start-game-button{width:100%;padding:1rem 2rem;background:var(--btn-primary-bg);border:none;border-radius:12px;color:#fff;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md);text-transform:uppercase;letter-spacing:1px}.start-game-button:hover{background:var(--btn-primary-hover);box-shadow:var(--shadow-accent);transform:translateY(-2px)}.start-game-button:active{transform:translateY(0)}.game-status{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem;text-align:center;padding:1rem 2rem;background:var(--bg-card);border-radius:12px;border:2px solid var(--border-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:400px}.game-result-overlay{position:relative;width:100%;max-width:800px;margin:0 auto 2rem;display:flex;justify-content:center;align-items:center;z-index:100;animation:fadeIn .3s ease-out}.game-result-card{background:var(--bg-modal);padding:3rem;border-radius:25px;text-align:center;max-width:500px;border:3px solid var(--border-primary);box-shadow:var(--shadow-lg);animation:scaleIn .4s ease-out}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.result-icon{font-size:5rem;margin-bottom:1rem}.result-title{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.result-subtitle{font-size:1.2rem;color:var(--text-secondary);margin-bottom:2rem}.win-title{color:var(--status-success)}.lose-title{color:var(--status-error)}.neutral-title{color:var(--accent-primary)}.result-actions{display:flex;gap:1rem;justify-content:center}.new-game-button-large,.settings-button-large{padding:1rem 2rem;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.new-game-button-large{background:var(--btn-primary-bg);color:#fff}.new-game-button-large:hover{background:var(--btn-primary-hover);box-shadow:var(--shadow-md)}.settings-button-large{background:var(--bg-input);color:var(--text-primary);border:2px solid var(--border-primary)}.settings-button-large:hover{border-color:var(--accent-primary);background:var(--bg-card-hover)}.board-container{margin-bottom:2rem;display:flex;justify-content:center;align-items:center}.tictactoe-board{display:grid;grid-template-columns:repeat(3,150px);grid-template-rows:repeat(3,150px);gap:10px;background:var(--accent-secondary);padding:10px;border-radius:20px;box-shadow:var(--shadow-lg);place-items:center}.cell{background:var(--bg-card);border-radius:15px;cursor:pointer;transition:all .3s ease;display:flex;justify-content:center;align-items:center;position:relative;border:3px solid var(--border-primary);font-size:4rem;font-weight:700;-webkit-user-select:none;user-select:none;width:100%;height:100%}.cell:hover{background:var(--bg-card-hover);border-color:var(--accent-primary);transform:scale(1.05)}.cell.winning{animation:winningPulse 1s ease-in-out infinite;border-color:var(--status-success);background:#4caf5033}@keyframes winningPulse{0%,to{box-shadow:0 0 20px var(--status-success)}50%{box-shadow:0 0 40px var(--status-success)}}.symbol{animation:symbolAppear .3s ease-out;display:flex;justify-content:center;align-items:center;width:100%;height:100%}.symbol-x{color:#4caf50;text-shadow:2px 2px 6px rgba(0,0,0,.5)}.symbol-o{color:#ff9800;text-shadow:2px 2px 6px rgba(0,0,0,.5)}@keyframes symbolAppear{0%{transform:scale(0) rotate(-180deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.game-actions{display:flex;gap:1rem;justify-content:center}.undo-button,.reset-button,.settings-button{padding:.75rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;min-height:44px}.undo-button{background:var(--bg-card);color:var(--text-primary);border:2px solid var(--border-primary);box-sizing:border-box}.undo-button:hover:not(:disabled){border-color:var(--accent-primary);background:var(--bg-card-hover)}.undo-button:disabled{opacity:.5;cursor:not-allowed}.reset-button{background:var(--btn-secondary-bg);color:#fff;border:2px solid transparent;box-sizing:border-box}.reset-button:hover{background:var(--btn-primary-hover);box-shadow:var(--shadow-md)}.settings-button{background:var(--bg-card);color:var(--text-primary);border:2px solid var(--border-primary);box-sizing:border-box}.settings-button:hover{border-color:var(--accent-primary);background:var(--bg-card-hover)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:768px){.tictactoe-game{padding:1rem}.game-header h1{font-size:1.8rem}.settings-panel{padding:1.5rem}.settings-section{flex-direction:column}.player-settings{grid-template-columns:1fr}.tictactoe-board{grid-template-columns:repeat(3,100px);grid-template-rows:repeat(3,100px);gap:8px}.cell{font-size:2.5rem}.game-status{font-size:1.1rem;min-width:auto;width:100%}.game-result-card{padding:2rem;margin:1rem}.result-icon{font-size:3.5rem}.result-title{font-size:1.8rem}.result-actions{flex-direction:column}.new-game-button-large,.settings-button-large{width:100%}.game-actions{flex-direction:column;width:100%}.undo-button,.reset-button,.settings-button{width:100%}}#root{max-width:1280px;margin:0 auto;padding:.5rem;text-align:center;width:100%;height:100vh;max-height:100vh;overflow-y:auto;overflow-x:hidden}@media(min-width:768px){#root{padding:2rem}}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
