:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{place-items:center;width:100%;min-width:320px;min-height:100dvh;margin:0;display:flex;overflow:hidden auto}h1{font-size:1.8em;line-height:1.1}@media (width>=768px){h1{font-size:3.2em}}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.5em 1em;font-family:inherit;font-size:.9em;font-weight:500;transition:border-color .25s}@media (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}}button:active,.btn:active{transition:transform .1s;transform:scale(.97)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.settings-panel{border-radius:16px!important;width:calc(100% - 20px)!important;margin:10px auto!important;padding:15px 20px!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{border-radius:12px!important;gap:8px!important;padding:12px 16px!important}.player-settings{gap:12px!important;margin-bottom:15px!important}.player-config{border-radius:12px!important;gap:10px!important;min-width:200px!important;padding:12px 16px!important}.player-config h3{margin:0 0 5px!important;font-size:1.2rem!important}@media (width<=768px){.settings-panel{width:calc(100% - 16px)!important;margin:8px!important;padding:12px 15px!important}.settings-panel h2{margin-bottom:12px!important;font-size:1.5rem!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}}@media (width<=480px){.settings-panel{margin:5px!important;padding:10px 12px!important}.settings-panel h2{margin-bottom:10px!important;font-size:1.3rem!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{gap:8px!important;padding:10px 12px!important}}.game-banner{width:100%;max-width:1200px;margin:0 auto;animation:.6s ease-out fadeInDown}.banner-image{object-fit:cover;border-radius:12px;width:100%;height:auto;max-height:200px;box-shadow:0 4px 15px #0000004d}@media (width<=768px){.banner-image{border-radius:8px;max-height:120px}}.game-title-banner{text-align:center;background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;width:100%;margin-bottom:.5rem;padding:.5rem 0;font-size:1.5rem;font-weight:700}@media (width<=768px){.game-title-banner{margin-bottom:.3rem;padding:.3rem 0;font-size:1.2rem}}.game-header{flex-direction:column;align-items:stretch;gap:0;width:100%;max-width:1200px;margin-top:0;display:flex;position:relative;overflow:visible;margin-bottom:1rem!important}.game-header-top{z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex;position:relative;flex-basis:100%!important;width:100%!important;min-width:100%!important}.header-spacer{flex-shrink:0;width:100%;height:3rem;display:block}@media (width<=768px){.header-spacer{height:2.5rem}}@media (width<=768px) and (height<=1400px){.header-spacer{height:2rem}}.back-to-hub-button,.help-button,.leaderboard-button{background:var(--bg-card,#ffffff14);border:2px solid var(--border-primary,#fff3);color:var(--text-primary,#fff);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;border-radius:10px;flex:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .3s;display:flex}.game-header-top .back-to-hub-button,.game-header-top .help-button,.game-header-top .leaderboard-button{flex:0 auto!important;min-width:auto!important;max-width:none!important;padding:.5rem .75rem!important}.back-to-hub-button span{line-height:1;display:inline}.back-to-hub-button:hover,.help-button:hover,.leaderboard-button:hover{background:var(--bg-card-hover,#ffffff1f);border-color:var(--accent-primary,#4caf50);transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.header-actions{align-items:center;gap:12px;display:flex}.user-profile-header:hover{background:var(--bg-card-hover,#ffffff14);border-color:var(--accent-primary,#4caf50)}.user-info{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.user-name{color:var(--text-primary,#fff);white-space:nowrap;font-size:.95rem;font-weight:600}.user-level{color:var(--text-secondary,#ffffffb3);white-space:nowrap;font-size:.75rem}.logout-button{cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px;font-size:1.3rem;transition:transform .2s;display:flex}.logout-button:hover{transform:scale(1.2)}.login-button{background:var(--accent-primary,#4caf50);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:600;transition:all .2s}.game-header h1{text-align:center;color:var(--text-primary,#fff);clear:both;flex-shrink:0;order:2;font-size:2rem;font-weight:700;opacity:1!important;flex-basis:100%!important;width:100%!important;margin:0!important;padding:.5rem 0!important;display:block!important}@media (width<=768px){.game-header{padding-top:max(.5rem, env(safe-area-inset-top,.5rem));gap:0;margin-top:0;margin-bottom:.75rem!important}.game-header h1{clear:both;font-size:1.5rem;opacity:1!important;flex-basis:100%!important;width:100%!important;margin:0!important;padding:.5rem 10px!important;display:block!important}.back-to-hub-button,.help-button,.leaderboard-button{flex:none;padding:.4rem .8rem;font-size:.85rem}}.settings-panel{background:var(--bg-card,#ffffff0d);border:2px solid var(--border-primary,#ffffff1a);border-radius:16px!important;width:calc(100% - 20px)!important;margin:8px auto!important;padding:15px 20px!important}.settings-panel h2{color:var(--text-primary,#fff);margin-bottom:15px!important;font-size:1.8rem!important}.settings-section{flex-direction:column;display:flex;gap:12px!important;margin-bottom:15px!important}.language-selector,.theme-selector{background:var(--bg-secondary,#ffffff08);flex-direction:column;display:flex;border-radius:12px!important;gap:8px!important;padding:12px 16px!important}.player-settings{flex-wrap:wrap!important;justify-content:center!important;align-items:start!important;gap:12px!important;margin-bottom:15px!important;display:flex!important}.player-config{background:var(--bg-secondary,#ffffff08);border:2px solid var(--border-primary,#ffffff1a);border-radius:12px!important;flex-direction:column!important;gap:10px!important;min-width:200px!important;height:auto!important;min-height:auto!important;max-height:none!important;padding:16px!important;display:flex!important;overflow:visible!important}.player-config h3{color:var(--text-primary,#fff);margin:0 0 5px!important;font-size:1.2rem!important}.player-type-select,.difficulty-select,.language-select,.theme-select,.settings-panel select{background:var(--bg-input,#0000004d);border:2px solid var(--border-primary,#fff3);color:var(--text-primary,#fff);cursor:pointer;transition:all .3s;border-radius:8px!important;min-height:44px!important;padding:10px 12px!important;font-size:1rem!important}.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,#0006)}.player-type-select:focus,.difficulty-select:focus,.language-select:focus,.theme-select:focus,.settings-panel select:focus{border-color:var(--accent-primary,#4caf50);outline:none;box-shadow:0 0 0 3px #4caf5033}@media (width<=768px){.settings-panel{width:calc(100% - 16px)!important;margin:8px!important;padding:12px 15px!important}.settings-panel h2{margin-bottom:12px!important;font-size:1.5rem!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 (width<=480px){.settings-panel{margin:5px!important;padding:10px 12px!important}.settings-panel h2{margin-bottom:10px!important;font-size:1.3rem!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{gap:8px!important;padding:10px 12px!important}}.app-footer{z-index:10!important;margin-top:0!important;padding:.5rem!important;position:relative!important}.muehle-game,.connectfour-game,.tictactoe-game,.checkers-container,.chess-container,.reversi-container{flex-direction:column;min-height:100vh;display:flex;padding-bottom:3rem!important}@media (width<=768px){.app-footer{padding:.75rem .5rem!important}.footer-link{font-size:.7rem!important}.footer-copyright{font-size:.65rem!important}.game-header{gap:0!important;margin-bottom:.5rem!important}.game-header h1{clear:both;opacity:1!important;flex-basis:100%!important;width:100%!important;margin:0!important;padding:.5rem 10px!important;font-size:1.3rem!important;display:block!important}}@media (width<=768px) and (height<=1400px){.game-header{gap:0!important;margin-bottom:.5rem!important}.game-header-top{margin-bottom:.2rem!important}.game-header h1{clear:both;opacity:1!important;flex-basis:100%!important;width:100%!important;margin:0!important;padding:.4rem 10px!important;font-size:1.2rem!important;line-height:1.3!important;display:block!important}.back-to-hub-button,.help-button,.leaderboard-button{flex:none!important;padding:.35rem .7rem!important;font-size:.8rem!important}.settings-panel{margin:8px auto!important;padding:10px 15px!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{gap:6px!important;padding:8px 12px!important}.player-settings{gap:8px!important;margin-bottom:10px!important}.player-config{gap:6px!important;height:auto!important;min-height:auto!important;padding:8px 12px!important}.player-config h3{margin:0 0 4px!important;font-size:1.1rem!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{margin-top:8px!important;padding:10px 24px!important;font-size:1.1rem!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}}.thinking-dots{vertical-align:middle;gap:3px;margin-left:6px;display:inline-flex}.thinking-dots span{background:var(--accent-primary,#4caf50);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite thinkingBounce;display:inline-block}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes thinkingBounce{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.turn-indicator{vertical-align:middle;border-radius:50%;width:12px;height:12px;margin-right:8px;display:inline-block;position:relative}.turn-indicator.active{animation:1.5s ease-in-out infinite turnPulse}.turn-indicator.active:after{content:"";background:inherit;opacity:.4;border-radius:50%;animation:1.5s ease-in-out infinite turnGlow;position:absolute;inset:-3px}@keyframes turnPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes turnGlow{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.5;transform:scale(1.6)}}.game-selector{background:var(--bg-primary);min-height:100dvh;padding:.75rem;padding-bottom:max(1rem, env(safe-area-inset-bottom,1rem));box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:center;gap:.75rem;display:flex;overflow:hidden auto}@media (width>=768px){.game-selector{gap:.85rem;padding:1rem 2rem 1.5rem}}.game-selector .game-banner{max-width:1200px}.game-selector .banner-image{object-fit:cover;object-position:center;border-radius:8px;max-height:104px}@media (width>=768px){.game-selector .banner-image{max-height:126px}}.selector-header{background:color-mix(in srgb, var(--bg-card) 82%, transparent);border:1px solid color-mix(in srgb, var(--border-primary) 70%, transparent);width:100%;max-width:1200px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;margin-bottom:0;padding:.85rem;animation:.6s ease-out fadeInDown;display:flex}@media (width>=768px){.selector-header{flex-direction:row;justify-content:space-between;gap:2rem;padding:.8rem 1rem}}.selector-title-section{text-align:center;flex:1}.selector-header h1{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;letter-spacing:0;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(1.4rem,6vw,2rem);font-weight:700}@media (width>=768px){.selector-header h1{font-size:2.25rem}}.subtitle{color:var(--text-secondary);opacity:.9;margin:.25rem 0 0;font-size:.85rem}@media (width>=768px){.subtitle{font-size:1rem}}.auth-section{justify-content:center;align-items:center;gap:.35rem;min-width:120px;animation:.8s ease-out fadeInDown;display:flex}@media (width>=768px){.auth-section{justify-content:flex-end;min-width:150px}}.user-profile-widget{background:var(--bg-card);border:2px solid var(--border-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md);border-radius:50px;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.75rem;transition:all .3s;display:flex}@media (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)}.logout-button{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-primary);cursor:pointer;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .3s}.logout-button:hover{background:var(--bg-card-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.logout-button:active{transform:scale(.95)}.user-controls{align-items:center;gap:.5rem;display:flex}.leaderboard-button-hub{background:var(--bg-input);border:1px solid var(--border-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:1.25rem;transition:transform .2s,border-color .2s,background .2s;display:flex}.leaderboard-button-hub:hover{border-color:var(--accent-primary);background:var(--bg-card-hover);transform:translateY(-1px)}.leaderboard-button-hub:active{transform:scale(1)}.account-settings-button{background:var(--bg-input);border:1px solid var(--border-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:1.25rem;transition:transform .2s,border-color .2s,background .2s;display:flex}.account-settings-button:hover{border-color:var(--accent-primary);background:var(--bg-card-hover);transform:translateY(-1px)}.account-settings-button:active{transform:scale(1)rotate(0)}.logout-button-hub{background:var(--bg-input);border:1px solid var(--border-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:1.25rem;transition:transform .2s,border-color .2s,background .2s;display:flex}.logout-button-hub:hover{border-color:var(--accent-primary);background:var(--bg-card-hover);transform:translateY(-1px)}.logout-button-hub:active{transform:scale(1)}.login-button{background:var(--btn-primary-bg);color:#fff;cursor:pointer;min-height:44px;box-shadow:var(--shadow-md);text-transform:uppercase;letter-spacing:0;border:none;border-radius:8px;padding:.55rem 1rem;font-size:.75rem;font-weight:600;transition:all .3s}@media (width>=768px){.login-button{padding:.75rem 1.5rem;font-size:1rem}}.login-button:hover{background:var(--btn-primary-hover);box-shadow:var(--shadow-accent);transform:translateY(-2px)}.settings-toggle{background:var(--bg-card);width:100%;max-width:400px;min-height:44px;color:var(--text-primary);border:1px solid var(--border-primary);cursor:pointer;border-radius:8px;margin-bottom:0;padding:.6rem 1rem;font-size:.8rem;font-weight:600;transition:all .3s;display:block}.settings-toggle:hover{border-color:var(--accent-primary);background:var(--bg-card-hover)}@media (width>=768px){.settings-toggle{display:none}}.selector-settings{background:var(--bg-card);border:1px solid var(--border-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md);z-index:10;border-radius:8px;flex-direction:column;gap:.5rem;width:100%;max-width:400px;max-height:0;margin-bottom:0;padding:0;transition:max-height .3s ease-out,padding .3s ease-out;animation:.8s ease-out fadeIn;display:none;position:relative;overflow:visible}.selector-settings.show{max-height:500px;padding:.5rem;display:flex;overflow:visible}@media (width>=768px){.selector-settings{flex-direction:row;justify-content:center;gap:1rem;max-width:1200px;max-height:none;padding:.75rem;display:flex}}.setting-group{align-items:center;gap:.5rem;width:100%;display:flex}@media (width>=768px){.setting-group{width:auto}}.setting-group label{color:var(--text-primary);min-width:60px;font-size:.75rem;font-weight:500}@media (width>=768px){.setting-group label{font-size:.95rem}}.language-selector,.theme-selector{background:var(--bg-input);border:1px solid var(--border-primary);min-height:40px;color:var(--text-primary);cursor:pointer;border-radius:8px;flex:1;padding:.45rem .6rem;font-size:.75rem;transition:all .3s}@media (width>=768px){.language-selector,.theme-selector{flex:initial;padding:.5rem 1rem;font-size:.95rem}}.language-selector:hover,.theme-selector:hover{border-color:var(--accent-primary);background:var(--bg-card-hover)}.language-selector:focus,.theme-selector:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #4caf501a}.game-cards{flex-shrink:0;grid-template-columns:repeat(2,1fr);gap:.65rem;width:100%;max-width:1200px;margin-bottom:0;display:grid}@media (width>=768px){.game-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}}.game-card{background:linear-gradient(180deg, color-mix(in srgb, var(--bg-card) 92%, white 8%), var(--bg-card));cursor:pointer;border:1px solid var(--border-primary);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:8px;flex-direction:column;align-items:center;min-height:148px;padding:.65rem;transition:all .4s cubic-bezier(.4,0,.2,1);animation:.6s ease-out fadeInUp;display:flex;position:relative;overflow:hidden}@media (width>=768px){.game-card{min-height:360px;padding:1.25rem}}.game-card:before{content:"";background:linear-gradient(135deg, transparent 0%, var(--accent-primary) 100%);opacity:0;z-index:0;transition:opacity .4s;position:absolute;inset:0}.game-card:hover:before{opacity:.1}.game-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-accent);transform:translateY(-4px)}.game-card:active{transform:translateY(-4px)scale(1.01)}.game-card>*{z-index:1;position:relative}.game-icon{background:color-mix(in srgb, var(--bg-input) 70%, transparent);border:1px solid color-mix(in srgb, var(--border-primary) 70%, transparent);border-radius:8px;justify-content:center;align-items:center;width:58px;height:58px;margin-bottom:.45rem;padding:.35rem;display:flex}.game-icon svg{width:100%;height:100%}@media (width>=768px){.game-icon{width:112px;height:112px;margin-bottom:1rem}}.game-card h2{color:var(--text-primary);text-align:center;margin-top:0;margin-bottom:.3rem;font-size:.9rem;font-weight:700;line-height:1.1}@media (width>=768px){.game-card h2{margin-bottom:.5rem;font-size:1.35rem}}.game-description{color:var(--text-secondary);text-align:center;margin-bottom:.3rem;font-size:.65rem;line-height:1.2;display:none}@media (width>=768px){.game-description{margin-bottom:1rem;font-size:.95rem;line-height:1.45;display:block}}.game-features{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.5rem;display:none}@media (width>=768px){.game-features{display:flex}}.game-features span{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:20px;padding:.4rem .8rem;font-size:.85rem}.play-button{background:var(--btn-primary-bg);color:#fff;cursor:pointer;width:100%;min-height:44px;box-shadow:var(--shadow-sm);text-transform:uppercase;letter-spacing:0;border:none;border-radius:6px;justify-content:center;align-items:center;margin-top:auto;padding:.5rem .6rem;font-size:.75rem;font-weight:600;transition:all .3s;display:flex}@media (width>=768px){.play-button{border-radius:8px;padding:.8rem 1rem;font-size:.95rem}}.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}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@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(-4px)}.play-button:hover{transform:translateY(-2px)}}@media (width<=420px){.game-selector{padding-inline:.5rem}.game-cards{gap:.5rem}.game-card{min-height:138px;padding:.55rem}.game-card h2{font-size:.82rem}.game-icon{width:52px;height:52px}}@media (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:#ffffff14;--bg-card-hover:#ffffff1f;--bg-input:#ffffff14;--bg-modal:linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);--text-primary:#fff;--text-secondary:#fffc;--text-tertiary:#fff9;--accent-primary:#4caf50;--accent-primary-hover:#66bb6a;--accent-secondary:#2196f3;--accent-tertiary:#9c27b0;--border-primary:#fff3;--border-hover:#4caf5080;--border-focus:#4caf50b3;--shadow-sm:0 2px 8px #0003;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 8px 32px #0006;--shadow-accent:0 6px 20px #4caf5066;--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%, #fff, #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:#00bfff1f;--bg-card-hover:#00bfff2e;--bg-input:#00bfff1a;--bg-modal:linear-gradient(135deg, #024 0%, #036 50%, #047 100%);--text-primary:#e0f7ff;--text-secondary:#e0f7ffd9;--text-tertiary:#e0f7ffa6;--accent-primary:#00bfff;--accent-primary-hover:#3cf;--accent-secondary:#09c;--accent-tertiary:#069;--border-primary:#00bfff4d;--border-hover:#00bfff99;--border-focus:#00bfffcc;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-accent:0 6px 20px #00bfff80;--btn-primary-bg:linear-gradient(135deg, #00bfff, #09c);--btn-primary-hover:linear-gradient(135deg, #3cf, #00bfff);--btn-secondary-bg:linear-gradient(135deg, #09c, #069);--btn-danger-bg:linear-gradient(135deg, #ff6b6b, #c92a2a);--piece-white:radial-gradient(circle at 35% 35%, #fff, #d0e8f0);--piece-black:radial-gradient(circle at 35% 35%, #036, #012);--board-bg:linear-gradient(135deg, #003d5c 0%, #004d6f 50%, #005a7f 100%);--status-success:#00d4aa;--status-error:#ff6b6b;--status-warning:orange;--status-info:#00bfff}.theme-forest{--bg-primary:linear-gradient(135deg, #0a2e0a 0%, #1a4d1a 50%, #2a6b2a 100%);--bg-card:#4caf5026;--bg-card-hover:#4caf5038;--bg-input:#4caf501f;--bg-modal:linear-gradient(135deg, #0d3d0d 0%, #165016 50%, #1f631f 100%);--text-primary:#e8f5e9;--text-secondary:#e8f5e9d9;--text-tertiary:#e8f5e9a6;--accent-primary:#66bb6a;--accent-primary-hover:#81c784;--accent-secondary:#43a047;--accent-tertiary:#2e7d32;--border-primary:#66bb6a4d;--border-hover:#66bb6a99;--border-focus:#66bb6acc;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-accent:0 6px 20px #66bb6a80;--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%, #fff, #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:#ff8a6526;--bg-card-hover:#ff8a6538;--bg-input:#ff8a651f;--bg-modal:linear-gradient(135deg, #3d2534 0%, #5a3a4f 50%, #774d6a 100%);--text-primary:#fff0e8;--text-secondary:#fff0e8d9;--text-tertiary:#fff0e8a6;--accent-primary:#ff8a65;--accent-primary-hover:#ffab91;--accent-secondary:#f06292;--accent-tertiary:#ba68c8;--border-primary:#ff8a654d;--border-hover:#ff8a6599;--border-focus:#ff8a65cc;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-accent:0 6px 20px #ff8a6580;--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%, #fff, #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%, #ddd 100%);--bg-card:#ffffffe6;--bg-card-hover:#fff;--bg-input:#fffffff2;--bg-modal:linear-gradient(135deg, #fff 0%, #f8f8f8 50%, #f0f0f0 100%);--text-primary:#1a1a1a;--text-secondary:#1a1a1acc;--text-tertiary:#1a1a1a99;--accent-primary:#4caf50;--accent-primary-hover:#66bb6a;--accent-secondary:#2196f3;--accent-tertiary:#9c27b0;--border-primary:#0000001f;--border-hover:#4caf5080;--border-focus:#4caf50cc;--shadow-sm:0 2px 8px #00000014;--shadow-md:0 4px 16px #0000001f;--shadow-lg:0 8px 32px #00000029;--shadow-accent:0 6px 20px #4caf504d;--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%, #fff, #e8e8e8);--piece-black:radial-gradient(circle at 35% 35%, #424242, #1a1a1a);--board-bg:linear-gradient(135deg, #d0d0d0 0%, silver 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:#00ffff1a;--bg-card-hover:#00ffff26;--bg-input:#00ffff14;--bg-modal:linear-gradient(135deg, #000 0%, #1a1a1a 50%, #0d0d0d 100%);--text-primary:#0ff;--text-secondary:#00ffffd9;--text-tertiary:#00ffffa6;--accent-primary:#0f8;--accent-primary-hover:#3fa;--accent-secondary:#f0f;--accent-tertiary:#ff0;--border-primary:#0ff6;--border-hover:#00ff88b3;--border-focus:#00ff88e6;--shadow-sm:0 2px 8px #0ff3;--shadow-md:0 4px 16px #00ffff4d;--shadow-lg:0 8px 32px #0ff6;--shadow-accent:0 6px 20px #0f89;--btn-primary-bg:linear-gradient(135deg, #0f8, #00cc6a);--btn-primary-hover:linear-gradient(135deg, #3fa, #0f8);--btn-secondary-bg:linear-gradient(135deg, #f0f, #c0c);--btn-danger-bg:linear-gradient(135deg, #f36, #c03);--piece-white:radial-gradient(circle at 35% 35%, #fff, #0ff);--piece-black:radial-gradient(circle at 35% 35%, #333, #000);--board-bg:linear-gradient(135deg, #1a1a1a 0%, #0f0f0f 50%, #050505 100%);--status-success:#0f8;--status-error:#f36;--status-warning:#fa0;--status-info:#0cf}.theme-wood{--bg-primary:linear-gradient(135deg, #3e2723 0%, #4e342e 50%, #5d4037 100%);--bg-card:#7955484d;--bg-card-hover:#79554866;--bg-input:#79554840;--bg-modal:linear-gradient(135deg, #3e2723 0%, #4e342e 50%, #5d4037 100%);--text-primary:#fff8dc;--text-secondary:#fff8dce6;--text-tertiary:#fff8dcb3;--accent-primary:#d7a86e;--accent-primary-hover:#e5b87e;--accent-secondary:#a1887f;--accent-tertiary:#8d6e63;--border-primary:#a1887f66;--border-hover:#d7a86eb3;--border-focus:#d7a86ee6;--shadow-sm:0 2px 8px #00000080;--shadow-md:0 4px 16px #0009;--shadow-lg:0 8px 32px #000000b3;--shadow-accent:0 6px 20px #d7a86e80;--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%, #fff, beige, #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:#dc26261f;--bg-card-hover:#dc26262e;--bg-input:#dc26261a;--bg-modal:linear-gradient(135deg, #220a0a 0%, #311 50%, #441616 100%);--text-primary:#ffe8e8;--text-secondary:#ffe8e8d9;--text-tertiary:#ffe8e8a6;--accent-primary:#dc2626;--accent-primary-hover:#ef4444;--accent-secondary:#b91c1c;--accent-tertiary:#991b1b;--border-primary:#dc26264d;--border-hover:#dc262699;--border-focus:#dc2626cc;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-accent:0 6px 20px #dc262680;--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%, #fff, #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:#9333ea1f;--bg-card-hover:#9333ea2e;--bg-input:#9333ea1a;--bg-modal:linear-gradient(135deg, #220a2f 0%, #331150 50%, #441670 100%);--text-primary:#f3e8ff;--text-secondary:#f3e8ffd9;--text-tertiary:#f3e8ffa6;--accent-primary:#9333ea;--accent-primary-hover:#a855f7;--accent-secondary:#7e22ce;--accent-tertiary:#6b21a8;--border-primary:#9333ea4d;--border-hover:#9333ea99;--border-focus:#9333eacc;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-accent:0 6px 20px #9333ea80;--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%, #fff, #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:#f59e0b1f;--bg-card-hover:#f59e0b2e;--bg-input:#f59e0b1a;--bg-modal:linear-gradient(135deg, #2f220a 0%, #431 50%, #554416 100%);--text-primary:#fff8e8;--text-secondary:#fff8e8d9;--text-tertiary:#fff8e8a6;--accent-primary:#f59e0b;--accent-primary-hover:#fbbf24;--accent-secondary:#d97706;--accent-tertiary:#b45309;--border-primary:#f59e0b4d;--border-hover:#f59e0b99;--border-focus:#f59e0bcc;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-accent:0 6px 20px #f59e0b80;--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%, #fff, #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%, #155 50%, #166666 100%);--bg-card:#14b8a61f;--bg-card-hover:#14b8a62e;--bg-input:#14b8a61a;--bg-modal:linear-gradient(135deg, #0a2f2f 0%, #155 50%, #166666 100%);--text-primary:#e8ffff;--text-secondary:#e8ffffd9;--text-tertiary:#e8ffffa6;--accent-primary:#14b8a6;--accent-primary-hover:#2dd4bf;--accent-secondary:#0f766e;--accent-tertiary:#0d9488;--border-primary:#14b8a64d;--border-hover:#14b8a699;--border-focus:#14b8a6cc;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-accent:0 6px 20px #14b8a680;--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%, #fff, #e8ffff);--piece-black:radial-gradient(circle at 35% 35%, #166666, #0a1f1f);--board-bg:linear-gradient(135deg, #155 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:#6366f11f;--bg-card-hover:#6366f12e;--bg-input:#6366f11a;--bg-modal:linear-gradient(135deg, #0a0a2f 0%, #111150 50%, #161670 100%);--text-primary:#e8e8ff;--text-secondary:#e8e8ffd9;--text-tertiary:#e8e8ffa6;--accent-primary:#6366f1;--accent-primary-hover:#818cf8;--accent-secondary:#4f46e5;--accent-tertiary:#4338ca;--border-primary:#6366f14d;--border-hover:#6366f199;--border-focus:#6366f1cc;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-accent:0 6px 20px #6366f180;--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%, #fff, #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%, #313 50%, #4d1640 100%);--bg-card:#f43f5e1f;--bg-card-hover:#f43f5e2e;--bg-input:#f43f5e1a;--bg-modal:linear-gradient(135deg, #2f0a2a 0%, #414 50%, #551650 100%);--text-primary:#ffe8f0;--text-secondary:#ffe8f0d9;--text-tertiary:#ffe8f0a6;--accent-primary:#f43f5e;--accent-primary-hover:#fb7185;--accent-secondary:#e11d48;--accent-tertiary:#be123c;--border-primary:#f43f5e4d;--border-hover:#f43f5e99;--border-focus:#f43f5ecc;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-accent:0 6px 20px #f43f5e80;--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%, #fff, #ffe8f0);--piece-black:radial-gradient(circle at 35% 35%, #4d1640, #1f0a1a);--board-bg:linear-gradient(135deg, #313 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:#ffffff14;--bg-card-hover:#ffffff1f;--bg-input:#ffffff0f;--bg-modal:linear-gradient(135deg, #0a0a0a 0%, #1a0a1a 50%, #0a0a0a 100%);--text-primary:#fff;--text-secondary:#fffffff2;--text-tertiary:#fffc;--accent-primary:#ff0080;--accent-primary-hover:#f3a;--accent-secondary:#0ff;--accent-tertiary:#ff0;--border-primary:#ffffff40;--border-hover:#ff00ffb3;--border-focus:#00ffffe6;--shadow-sm:0 2px 8px #ff00ff4d;--shadow-md:0 4px 16px #0ff6;--shadow-lg:0 8px 32px #ffff004d;--shadow-accent:0 6px 20px #f0f9;--btn-primary-bg:linear-gradient(135deg, #ff0080, #f0f, #8000ff);--btn-primary-hover:linear-gradient(135deg, #f3a, #f3f, #a3f);--btn-secondary-bg:linear-gradient(135deg, #0ff, #00ff80, #80ff00);--btn-danger-bg:linear-gradient(135deg, #f36, #f06);--piece-white:radial-gradient(circle at 30% 30%, #fff, #ff0, #0ff);--piece-black:radial-gradient(circle at 30% 30%, #000, #1a001a, #303);--board-bg:linear-gradient(135deg, red 0%,  #ff7f00 14%,  #ff0 28%,  #0f0 42%,  #0ff 57%,  #00f 71%,  #8b00ff 85%,  #f0f 100% );--status-success:#00ff80;--status-error:#f06;--status-warning:#fa0;--status-info:#0cf}.theme-rainbow .muehle-game:before{background-image:radial-gradient(circle at 10% 20%,#ff00001a 0%,#0000 40%),radial-gradient(circle at 90% 20%,#ff7f001a 0%,#0000 40%),radial-gradient(circle,#ffff0014 0%,#0000 40%),radial-gradient(circle at 10% 80%,#00ff001a 0%,#0000 40%),radial-gradient(circle at 90% 80%,#0000ff1a 0%,#0000 40%),radial-gradient(circle at 50% 10%,#8b00ff14 0%,#0000 40%),radial-gradient(circle at 30% 60%,#ff00ff14 0%,#0000 40%);animation:15s ease-in-out infinite rainbowShift}@keyframes rainbowShift{0%,to{opacity:.6;filter:hue-rotate()}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,color .3s,border-color .3s}.auth-modal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:9999;background:#000000d9;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.auth-modal{z-index:10000;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);border:2px solid #ffffff4d;border-radius:24px;width:90%;max-width:450px;padding:40px;animation:.4s ease-out modalSlideUp;position:relative;box-shadow:0 25px 80px #0009,inset 0 1px #fff3}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(50px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-modal-close{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:2rem;line-height:1;transition:all .3s;display:flex;position:absolute;top:15px;right:15px}.auth-modal-close:hover{background:#f443364d;transform:rotate(90deg)}.auth-modal h2{text-align:center;color:#fff;background:linear-gradient(135deg,#4caf50,#2196f3);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 30px;font-size:2rem;font-weight:700}.auth-error{color:#fff;text-align:center;background:#f4433633;border:2px solid #f4433680;border-radius:10px;margin-bottom:20px;padding:12px 16px;font-weight:600;animation:.5s ease-in-out errorShake}@keyframes errorShake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.auth-success{color:#fff;text-align:center;background:#4caf5033;border:2px solid #4caf5080;border-radius:10px;margin-bottom:20px;padding:12px 16px;font-weight:600;animation:.5s ease-in-out fadeIn}.auth-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:#fff;letter-spacing:.5px;font-size:.95rem;font-weight:600}.form-group input{color:#fff;background:#ffffff14;border:2px solid #fff3;border-radius:10px;padding:14px 16px;font-family:inherit;font-size:1rem;transition:all .3s}.form-group input:focus{background:#ffffff1f;border-color:#4caf50b3;outline:none;box-shadow:0 0 0 4px #4caf5033}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group input::placeholder{color:#fff6}.auth-submit-button{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:1px;background:linear-gradient(135deg,#4caf50,#2e7d32);border:1px solid #fff3;border-radius:12px;margin-top:10px;padding:16px 32px;font-size:1.1rem;font-weight:700;transition:all .3s;box-shadow:0 6px 20px #4caf5066}.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{color:#2196f3;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .3s}.link-button:hover{color:#64b5f6;text-decoration:underline}.auth-switch{text-align:center;color:#fffc;margin-top:25px;font-size:.95rem}.auth-switch-button{color:#4caf50;cursor:pointer;background:0 0;border:none;padding:0;font-size:.95rem;font-weight:600;text-decoration:underline;transition:color .3s}.auth-switch-button:hover{color:#66bb6a}@media (width<=480px){.auth-modal{padding:30px 25px}.auth-modal h2{margin-bottom:25px;font-size:1.6rem}.form-group input{padding:12px 14px;font-size:.95rem}.auth-submit-button{padding:14px 28px;font-size:1rem}}.account-settings-overlay{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;animation:.2s ease-out as-fadeIn;display:flex;position:fixed;top:0;left:0}.account-settings-modal{background:var(--bg-modal,linear-gradient(135deg, #667eea 0%, #764ba2 100%));width:90%;max-width:700px;max-height:90vh;box-shadow:var(--shadow-lg,0 20px 60px #00000080);border:2px solid var(--border-primary,#fff3);border-radius:20px;animation:.3s ease-out as-slideUp;position:relative;overflow-y:auto}@keyframes as-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes as-slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.account-settings-header{border-bottom:2px solid var(--border-primary,#fff3);justify-content:space-between;align-items:center;padding:25px 30px;display:flex}.account-settings-header h2{color:var(--text-primary,white);margin:0;font-size:28px;font-weight:700}.close-button{background:var(--bg-card,#fff3);color:var(--text-primary,white);cursor:pointer;border:none;border-radius:10px;padding:8px 20px;font-size:16px;font-weight:600;transition:all .2s}.close-button:hover{background:var(--bg-card-hover,#ffffff4d);transform:scale(1.05)}.account-settings-tabs{background:#0003;gap:10px;padding:10px 20px;display:flex}.tab-button{background:var(--bg-card,#ffffff1a);color:var(--text-secondary,#ffffffb3);cursor:pointer;border:none;border-radius:10px;flex:1;padding:12px 20px;font-size:16px;font-weight:600;transition:all .2s}.tab-button:hover{background:var(--bg-card-hover,#fff3);color:var(--text-primary,white)}.tab-button.active{background:var(--accent-primary,#ffffff4d);color:#fff;box-shadow:var(--shadow-sm,0 4px 15px #0003)}.account-settings-content{min-height:400px;padding:30px}.message{border-radius:10px;margin-bottom:20px;padding:15px 20px;font-weight:600;animation:.3s ease-out as-slideDown}@keyframes as-slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.message.success{color:var(--status-success,#a5d6a7);border:2px solid var(--status-success,#4caf50);background:#4caf504d}.message.error{color:var(--status-error,#ef9a9a);border:2px solid var(--status-error,#f44336);background:#f443364d}.profile-tab{color:var(--text-primary,white)}.profile-section{background:var(--bg-card,#ffffff1a);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;margin-bottom:20px;padding:20px}.profile-section h3{color:var(--text-secondary,#ffffffe6);margin:0 0 15px;font-size:18px;font-weight:600}.profile-value{color:var(--text-primary,white);margin:0;font-size:20px;font-weight:700}.level-display{align-items:center;gap:15px;margin-bottom:10px;display:flex}.level-number{color:gold;text-shadow:0 2px 10px #ffd70080;font-size:32px;font-weight:700}.level-progress-bar{border:2px solid var(--border-primary,#fff3);background:#0000004d;border-radius:10px;flex:1;height:20px;overflow:hidden}.level-progress-fill{background:linear-gradient(90deg,gold,#ffed4e);height:100%;transition:width .5s ease-out;box-shadow:0 0 10px #ffd70080}.points-display{color:gold;font-size:18px;font-weight:700}.next-level-info{color:var(--text-tertiary,#ffffffb3);margin:5px 0 0;font-size:14px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;display:grid}.stat-item{background:#0003;border-radius:10px;flex-direction:column;align-items:center;gap:8px;padding:15px;display:flex}.stat-label{color:var(--text-tertiary,#ffffffb3);font-size:14px}.stat-value{color:var(--text-primary,white);font-size:24px;font-weight:700}.stat-value.win{color:var(--status-success,#4caf50)}.stat-value.loss{color:var(--status-error,#f44336)}.stat-value.draw{color:var(--status-warning,#ff9800)}.security-tab{color:var(--text-primary,white)}.security-tab h3{color:var(--text-primary,white);margin:0 0 20px;font-size:22px}.account-settings-modal .form-group{margin-bottom:20px}.account-settings-modal .form-group label{color:var(--text-secondary,#ffffffe6);margin-bottom:8px;font-weight:600;display:block}.account-settings-modal .form-group input{border:2px solid var(--border-primary,#fff3);background:var(--bg-input,#ffffff1a);width:100%;color:var(--text-primary,white);box-sizing:border-box;border-radius:10px;padding:12px 15px;font-size:16px;transition:all .2s}.account-settings-modal .form-group input:focus{border-color:var(--border-focus,#ffffff80);background:var(--bg-card-hover,#ffffff26);outline:none}.account-settings-modal .form-group input::placeholder{color:var(--text-tertiary,#ffffff80)}.account-settings-modal .form-group small{color:var(--text-tertiary,#fff9);margin-top:5px;font-size:14px;display:block}.change-password-button{background:var(--btn-primary-bg,linear-gradient(135deg, #4caf50, #45a049));color:#fff;cursor:pointer;box-shadow:var(--shadow-accent,0 4px 15px #4caf504d);border:none;border-radius:10px;padding:15px 30px;font-size:16px;font-weight:700;transition:all .2s}.change-password-button:hover:not(:disabled){box-shadow:var(--shadow-lg,0 6px 20px #4caf5066);transform:translateY(-2px)}.change-password-button:disabled{opacity:.5;cursor:not-allowed}.security-info{background:var(--bg-card,#ffffff1a);border-radius:10px;margin-top:30px;padding:15px}.security-info p{color:var(--text-secondary,#fffc);margin:0}.danger-tab{color:var(--text-primary,white)}.danger-zone{border:2px solid var(--status-error,#f44336);background:#f4433633;border-radius:15px;padding:25px}.danger-zone h3{color:var(--status-error,#ff5252);margin:0 0 15px;font-size:22px}.warning-box{background:#0000004d;border-radius:10px;margin-bottom:20px;padding:20px}.warning-title{color:var(--status-error,#ff5252);margin:0 0 15px;font-size:16px;font-weight:700}.warning-box ul{margin:0;padding-left:20px}.warning-box li{color:var(--text-secondary,#ffffffe6);margin-bottom:8px}.delete-account-button{background:var(--btn-danger-bg,linear-gradient(135deg, #f44336, #d32f2f));color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;padding:15px 30px;font-size:16px;font-weight:700;transition:all .2s;box-shadow:0 4px 15px #f443364d}.delete-account-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #f4433666}.delete-account-button:disabled{opacity:.5;cursor:not-allowed}.delete-dialog-overlay{z-index:2000;background:#000c;justify-content:center;align-items:center;width:100%;height:100%;animation:.2s ease-out as-fadeIn;display:flex;position:fixed;top:0;left:0}.delete-dialog{background:var(--btn-danger-bg,linear-gradient(135deg, #f44336, #d32f2f));width:90%;max-width:500px;box-shadow:var(--shadow-lg,0 20px 60px #000000b3);color:#fff;border-radius:20px;padding:30px;animation:.3s ease-out as-slideUp}.delete-dialog h3{color:#fff;margin:0 0 15px;font-size:24px}.delete-warning{color:#ffebee;background:#0000004d;border-radius:10px;margin-bottom:20px;padding:15px;font-weight:600}.delete-form{margin-top:20px}.checkbox-label{cursor:pointer;align-items:center;gap:10px;margin-bottom:20px;font-weight:600;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:20px;height:20px}.delete-dialog-buttons{gap:15px;margin-top:25px;display:flex}.delete-confirm-button{color:#fff;cursor:pointer;background:#00000080;border:2px solid #fff;border-radius:10px;flex:1;padding:15px 20px;font-size:16px;font-weight:700;transition:all .2s}.delete-confirm-button:hover:not(:disabled){background:#000000b3;transform:scale(1.02)}.delete-confirm-button:disabled{opacity:.5;cursor:not-allowed}.delete-cancel-button{color:#d32f2f;cursor:pointer;background:#ffffffe6;border:none;border-radius:10px;flex:1;padding:15px 20px;font-size:16px;font-weight:700;transition:all .2s}.delete-cancel-button:hover:not(:disabled){background:#fff;transform:scale(1.02)}.delete-cancel-button:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.account-settings-modal{width:95%;max-height:95vh}.account-settings-header{padding:20px}.account-settings-header h2{font-size:24px}.account-settings-content{padding:20px}.account-settings-tabs{flex-direction:column;padding:10px}.tab-button{width:100%}.stats-grid{grid-template-columns:1fr}.delete-dialog-buttons{flex-direction:column}.level-display{flex-wrap:wrap}.level-number{font-size:24px}.points-display{font-size:16px}}.account-settings-modal::-webkit-scrollbar{width:10px}.account-settings-modal::-webkit-scrollbar-track{background:#0003;border-radius:10px}.account-settings-modal::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:10px}.account-settings-modal::-webkit-scrollbar-thumb:hover{background:#fff6}.leaderboard-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;padding:20px;animation:.3s lb-fadeIn;display:flex;position:fixed;inset:0}@keyframes lb-fadeIn{0%{opacity:0}to{opacity:1}}.leaderboard-modal{background:var(--bg-modal,linear-gradient(135deg, #667eea 0%, #764ba2 100%));border:2px solid var(--border-primary,#fff3);width:100%;max-width:900px;max-height:90vh;box-shadow:var(--shadow-lg,0 20px 60px #0000004d);border-radius:20px;flex-direction:column;animation:.3s lb-slideUp;display:flex}@keyframes lb-slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.leaderboard-header{border-bottom:2px solid var(--border-primary,#fff3);justify-content:space-between;align-items:center;padding:20px 30px;display:flex}.leaderboard-header h2{color:var(--text-primary,white);text-shadow:0 2px 4px #0003;margin:0;font-size:28px;font-weight:700}.leaderboard-header .close-button{background:var(--bg-card,#fff3);color:var(--text-primary,white);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;transition:all .3s;display:flex}.leaderboard-header .close-button:hover{background:var(--bg-card-hover,#ffffff4d);transform:rotate(90deg)}.leaderboard-content{flex:1;padding:20px;overflow-y:auto}.leaderboard-table{border-collapse:separate;border-spacing:0 8px;width:100%}.leaderboard-table thead tr{background:var(--bg-card,#ffffff1a)}.leaderboard-table th{text-align:left;color:var(--text-primary,white);text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 16px;font-size:14px;font-weight:600}.leaderboard-table th:first-child{text-align:center;border-radius:10px 0 0 10px}.leaderboard-table th:last-child{border-radius:0 10px 10px 0}.leaderboard-row{cursor:default;background:#fffffff2;transition:all .2s}.leaderboard-row:hover{background:#fff;transform:translate(5px);box-shadow:0 4px 12px #0000001a}.leaderboard-row.top-three{background:linear-gradient(135deg,#ffd70026,#fffffff2);font-weight:500}.leaderboard-row.current-user{background:linear-gradient(135deg,#667eea33,#764ba233);border:2px solid #667eea80;font-weight:600}.leaderboard-row.current-user:hover{background:linear-gradient(135deg,#667eea4d,#764ba24d)}.leaderboard-table td{color:#333;padding:16px;font-size:15px}.leaderboard-row td:first-child{border-radius:10px 0 0 10px}.leaderboard-row td:last-child{border-radius:0 10px 10px 0}.rank-cell{text-align:center;font-size:18px;font-weight:700}.rank-number{min-width:30px;display:inline-block}.player-cell{font-weight:600}.player-name{align-items:center;gap:8px;display:flex}.you-badge{background:var(--btn-primary-bg,linear-gradient(135deg, #667eea, #764ba2));color:#fff;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:600}.level-cell{font-weight:600}.level-badge{color:#333;background:linear-gradient(135deg,gold,#ffed4e);border-radius:20px;align-items:center;gap:4px;padding:4px 12px;font-size:14px;font-weight:700;display:inline-flex}.points-cell{color:var(--accent-secondary,#667eea);font-size:16px;font-weight:700}.games-cell{color:#666}.wins-cell{color:var(--status-success,#22c55e);font-weight:600}.winrate-cell{color:var(--accent-tertiary,#764ba2);font-weight:700}.leaderboard-loading,.leaderboard-error,.leaderboard-empty{color:var(--text-primary,white);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.spinner{border:4px solid var(--border-primary,#ffffff4d);border-top-color:var(--text-primary,white);border-radius:50%;width:50px;height:50px;margin-bottom:20px;animation:1s linear infinite lb-spin}@keyframes lb-spin{to{transform:rotate(360deg)}}.leaderboard-error button,.refresh-button{background:var(--bg-card,white);color:var(--accent-primary,#667eea);cursor:pointer;border:none;border-radius:25px;margin-top:10px;padding:12px 24px;font-weight:600;transition:all .3s}.leaderboard-error button:hover,.refresh-button:hover{background:var(--bg-card-hover,#f0f0f0);box-shadow:var(--shadow-md,0 4px 12px #0003);transform:translateY(-2px)}.leaderboard-footer{border-top:2px solid var(--border-primary,#fff3);justify-content:space-between;align-items:center;gap:20px;padding:20px 30px;display:flex}.leaderboard-info{color:var(--text-secondary,#ffffffe6);flex:1;margin:0;font-size:13px}@media (width<=768px){.leaderboard-modal{border-radius:20px 20px 0 0;max-width:100%;max-height:95vh}.leaderboard-header h2{font-size:22px}.leaderboard-table{font-size:13px}.leaderboard-table th,.leaderboard-table td{padding:10px 8px}.leaderboard-table th{font-size:11px}.rank-number{font-size:16px}.level-badge{padding:2px 8px;font-size:12px}.you-badge{padding:2px 6px;font-size:10px}.leaderboard-footer{flex-direction:column;gap:10px}.leaderboard-info{text-align:center}}.leaderboard-content::-webkit-scrollbar{width:8px}.leaderboard-content::-webkit-scrollbar-track{background:#ffffff1a;border-radius:10px}.leaderboard-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:10px}.leaderboard-content::-webkit-scrollbar-thumb:hover{background:#ffffff80}.personal-stats{width:100%;max-width:1200px;margin-top:.5rem;animation:.6s ease-out fadeInUp}.personal-stats-header{background:var(--bg-card);border:2px solid var(--border-primary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;justify-content:space-between;align-items:center;padding:.6rem .8rem;transition:all .3s;display:flex}.personal-stats-header:hover{border-color:var(--accent-primary);background:var(--bg-card-hover)}.personal-stats-header-left{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:flex}@media (width>=768px){.personal-stats-header-left{font-size:1rem}}.personal-stats-toggle{color:var(--text-secondary);font-size:.9rem;transition:transform .3s}.personal-stats-toggle.open{transform:rotate(180deg)}.personal-stats-body{background:var(--bg-card);border:2px solid var(--border-primary);border-top:none;border-radius:0 0 10px 10px;max-height:0;transition:max-height .4s ease-out;overflow:hidden}.personal-stats-body.open{max-height:800px;padding:.6rem}.personal-stats-header.open{border-radius:10px 10px 0 0}.stats-summary{flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;display:flex}.stats-summary-item{text-align:center;background:var(--bg-input);border:1px solid var(--border-primary);border-radius:8px;flex:1;min-width:70px;padding:.4rem}.stats-summary-value{color:var(--accent-primary);font-size:1rem;font-weight:700}@media (width>=768px){.stats-summary-value{font-size:1.2rem}}.stats-summary-label{color:var(--text-secondary);margin-top:.1rem;font-size:.65rem}@media (width>=768px){.stats-summary-label{font-size:.75rem}}.stats-per-game{border-collapse:collapse;width:100%;margin-bottom:.6rem;font-size:.7rem}@media (width>=768px){.stats-per-game{font-size:.85rem}}.stats-per-game th{text-align:center;color:var(--text-secondary);border-bottom:1px solid var(--border-primary);padding:.3rem .4rem;font-size:.6rem;font-weight:600}@media (width>=768px){.stats-per-game th{padding:.4rem .6rem;font-size:.75rem}}.stats-per-game th:first-child{text-align:left}.stats-per-game td{text-align:center;color:var(--text-primary);border-bottom:1px solid var(--border-primary);padding:.3rem .4rem}@media (width>=768px){.stats-per-game td{padding:.4rem .6rem}}.stats-per-game td:first-child{text-align:left;font-weight:500}.stats-per-game tr:last-child td{border-bottom:none}.stats-per-game tr:hover td{background:var(--bg-input)}.active-games-section{border-top:1px solid var(--border-primary);margin-top:.4rem;padding-top:.4rem}.active-games-title{color:var(--text-primary);margin-bottom:.3rem;font-size:.75rem;font-weight:600}@media (width>=768px){.active-games-title{font-size:.9rem}}.active-game-item{background:var(--bg-input);cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:.3rem;padding:.4rem .6rem;transition:all .2s;display:flex}.active-game-item:hover{border-color:var(--accent-primary);background:var(--bg-card-hover)}.active-game-info{color:var(--text-primary);align-items:center;gap:.4rem;font-size:.7rem;display:flex}@media (width>=768px){.active-game-info{font-size:.85rem}}.active-game-status{color:var(--text-secondary);background:var(--bg-card);border-radius:12px;padding:.2rem .5rem;font-size:.65rem}@media (width>=768px){.active-game-status{font-size:.75rem}}.active-game-status.your-turn{color:var(--accent-primary);font-weight:600}.app-footer{padding:.5rem;padding-bottom:max(.5rem, env(safe-area-inset-bottom,.5rem));background:var(--bg-card);border-top:1px solid var(--border-primary);text-align:center;flex-shrink:0;width:100%}@media (width>=768px){.app-footer{border-top:2px solid var(--border-primary);padding:2rem 1rem}}.footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem;margin-bottom:.3rem;display:flex}@media (width>=768px){.footer-links{gap:.5rem;margin-bottom:1rem}}.footer-link{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.1rem .25rem;font-size:.65rem;text-decoration:underline;transition:color .3s}@media (width>=768px){.footer-link{padding:.25rem .5rem;font-size:.9rem}}.footer-link:hover{color:var(--accent-primary)}.footer-separator{color:var(--text-secondary);font-size:.65rem}@media (width>=768px){.footer-separator{font-size:.9rem}}.footer-copyright{color:var(--text-secondary);margin-top:.2rem;font-size:.6rem}@media (width>=768px){.footer-copyright{margin-top:.5rem;font-size:.85rem}}.legal-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex;position:fixed;top:0;left:0}.legal-modal{background:var(--bg-modal);border:2px solid var(--border-primary);width:100%;max-width:800px;max-height:80vh;box-shadow:var(--shadow-lg);border-radius:20px;animation:.3s ease-out modalSlideIn;position:relative;overflow-y:auto}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.legal-modal-close{background:var(--bg-card);border:2px solid var(--border-primary);width:40px;height:40px;color:var(--text-primary);cursor:pointer;z-index:10;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;transition:all .3s;display:flex;position:absolute;top:1rem;right:1rem}.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);border-bottom:2px solid var(--border-primary);margin-bottom:1.5rem;padding-bottom:1rem;font-size:2rem}.legal-text{color:var(--text-primary);line-height:1.6}.legal-text h3{color:var(--accent-primary);margin-top:1.5rem;margin-bottom:.75rem;font-size:1.3rem}.legal-text p{color:var(--text-secondary);margin-bottom:1rem}@media (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{color:#fff;background:linear-gradient(135deg,#0f2027 0%,#203a43 50%,#2c5364 100%);flex-direction:column;align-items:center;min-height:100vh;padding:5px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;display:flex;position:relative;overflow-x:hidden}.muehle-game:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle at 20% 80%,#4caf500d 0%,#0000 50%),radial-gradient(circle at 80% 20%,#2196f30d 0%,#0000 50%),radial-gradient(circle at 40% 40%,#9c27b008 0%,#0000 50%);width:100%;height:100%;animation:20s ease-in-out infinite backgroundPulse;position:fixed;top:0;left:0}@keyframes backgroundPulse{0%,to{opacity:.5}50%{opacity:1}}.muehle-game>*{z-index:1;position:relative}.back-to-hub-button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:2px solid #fff3;border-radius:10px;padding:.7rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.back-to-hub-button:hover{border-color:var(--accent-primary,#4caf50);background:#ffffff1f;transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.muehle-game h1{text-shadow:0 0 20px #4caf5080,0 0 40px #2196f34d;color:#fff;letter-spacing:2px;background:linear-gradient(135deg,#4caf50,#2196f3,#9c27b0);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.2rem;font-weight:700;animation:3s ease-in-out infinite titleGlow}@keyframes titleGlow{0%,to{filter:brightness()}50%{filter:brightness(1.2)}}.header-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.user-profile-header{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffff14;border:1px solid #fff3;border-radius:12px;align-items:center;gap:6px;padding:10px 16px;transition:all .3s;display:flex;box-shadow:0 4px 16px #0003}.user-profile-header:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.user-info{flex-direction:column;gap:2px;display:flex}.user-level{color:#ffffffb3;font-size:.75rem;font-weight:500}.logout-button{color:#fff;cursor:pointer;background:#f4433633;border:1px solid #f4433666;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;transition:all .3s;display:flex}.logout-button:hover{background:#f4433666;transform:scale(1.1)}.login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4caf50,#2e7d32);border:1px solid #fff3;border-radius:10px;padding:12px 24px;font-size:1rem;font-weight:600;transition:all .3s;box-shadow:0 4px 16px #4caf5066}.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{text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#fff;background:#ffffff14;border:1px solid #ffffff26;border-radius:12px;margin-bottom:6px;padding:12px 20px;font-size:1.15rem;font-weight:600;transition:all .3s;box-shadow:0 4px 16px #0000004d,inset 0 1px #ffffff1a,inset 0 -1px #0000001a}.game-status:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0006,inset 0 1px #ffffff26}.timer-display{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#2196f326;border:2px solid #2196f34d;border-radius:12px;flex-direction:column;align-items:center;gap:6px;margin-bottom:10px;padding:10px 20px;transition:all .3s;display:flex;box-shadow:0 4px 16px #0000004d,inset 0 1px #ffffff1a}.timer-display.timer-warning{background:#ff980026;border-color:#ff980080;animation:1s ease-in-out infinite timerPulse}.timer-display.timer-critical{background:#f4433626;border-color:#f4433680;animation:.5s ease-in-out infinite timerCritical}@keyframes timerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@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{color:#fff;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:600}.timer-value{color:#fff;text-shadow:0 2px 8px #0000004d;font-family:Courier New,monospace;font-size:1.2rem;font-weight:700}.timer-critical .timer-value{color:#f44336}.timer-bar{background:#0000004d;border-radius:3px;width:100%;height:6px;overflow:hidden;box-shadow:inset 0 2px 4px #0000004d}.timer-bar-fill{background:linear-gradient(90deg,#2196f3,#42a5f5);border-radius:4px;height:100%;transition:width 1s linear;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{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ff980026;border:2px solid #ff980066;border-radius:14px;flex-direction:column;align-items:center;gap:6px;margin-bottom:4px;padding:15px 25px;animation:2s ease-in-out infinite drawOfferPulse;display:flex;box-shadow:0 6px 20px #0000004d,inset 0 1px #ffffff1a}@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{color:#fff;text-align:center;text-shadow:0 2px 6px #0000004d;font-size:1.05rem;font-weight:600}.draw-offer-buttons{gap:6px;margin-top:5px;display:flex}.accept-draw-button,.decline-draw-button{cursor:pointer;color:#fff;border:none;border-radius:10px;min-width:110px;padding:10px 24px;font-size:1rem;font-weight:600;transition:all .3s;box-shadow:0 3px 12px #0000004d}.accept-draw-button{background:linear-gradient(135deg,#4caf50,#2e7d32);border:1px solid #fff3}.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 #fff3}.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}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.game-result-card{text-align:center;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);border:3px solid #ffffff4d;border-radius:30px;max-width:600px;padding:50px 60px;animation:.5s ease-out cardSlideUp;position:relative;overflow:hidden;box-shadow:0 25px 80px #0009,inset 0 1px #fff3}@keyframes cardSlideUp{0%{opacity:0;transform:translateY(100px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.result-icon{margin-bottom:20px;font-size:6rem;animation:.8s ease-out iconBounce}@keyframes iconBounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.win-icon{animation:.8s ease-out iconBounce,2s ease-in-out .8s infinite winPulse}@keyframes winPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.result-title{color:#fff;text-shadow:0 4px 12px #00000080;letter-spacing:2px;margin-bottom:4px;font-size:3.5rem;font-weight:800;animation:.6s ease-out .2s backwards titleSlide}@keyframes titleSlide{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.win-title{background:linear-gradient(135deg,#4caf50,#66bb6a,#81c784);-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 4px 12px #4caf5099);-webkit-background-clip:text;background-clip:text}.lose-title{background:linear-gradient(135deg,#f44336,#ef5350,#e57373);-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 4px 12px #f4433699);-webkit-background-clip:text;background-clip:text}.neutral-title{background:linear-gradient(135deg,gold,orange,#ff8c00);-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 4px 12px #ffd70099);-webkit-background-clip:text;background-clip:text}.result-subtitle{color:#fffc;margin-bottom:35px;font-size:1.4rem;font-weight:500;animation:.6s ease-out .4s backwards subtitleFade}@keyframes subtitleFade{0%{opacity:0}to{opacity:1}}.result-actions{justify-content:center;gap:6px;margin-top:30px;animation:.6s ease-out .6s backwards buttonsFade;display:flex}@keyframes buttonsFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.new-game-button-large,.settings-button-large{cursor:pointer;color:#fff;border:2px solid #fff3;border-radius:16px;min-width:200px;padding:16px 40px;font-size:.95rem;font-weight:700;transition:all .3s;box-shadow:0 6px 20px #0006}.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:"✨";font-size:1.2rem;animation:3s ease-in-out infinite confetti;position:absolute}.win-icon:before{animation-delay:0s;left:20%}.win-icon:after{animation-delay:.5s;right:20%}@keyframes confetti{0%,to{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-100px)rotate(360deg)}}.game-info{margin-bottom:10px}.player-info{justify-content:center;gap:15px;display:flex}.player{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;align-items:center;min-width:140px;padding:10px 15px;transition:all .3s;display:flex;box-shadow:0 2px 8px #0003,inset 0 1px #ffffff1a}.player:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.player.white{background:#ffffff14;border:1px solid #ffffff4d}.player.black{background:#00000026;border:1px solid #6464644d}.player span{color:#fff;margin:2px 0;font-size:.75rem;font-weight:500}.pieces-to-place,.captured-pieces{justify-content:space-around;gap:15px;width:100%;max-width:550px;margin-bottom:10px;display:flex}.pieces-container{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;align-items:center;gap:8px;min-width:180px;padding:10px 15px;transition:all .3s;display:flex;box-shadow:0 2px 8px #0003}.pieces-container:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000004d}.pieces-label{color:#fff;letter-spacing:.5px;margin-bottom:3px;font-size:.75rem;font-weight:600}.pieces-display{flex-wrap:wrap;justify-content:center;gap:6px;min-height:28px;display:flex}.piece-token{border-radius:50%;width:22px;height:22px;transition:all .3s;box-shadow:0 2px 6px #0006,inset 0 1px 3px #ffffff4d}.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 #888}.piece-token.captured{opacity:.4;filter:grayscale(60%);transform:scale(.9)}.white-pieces{background:#ffffff14;border:1px solid #ffffff4d}.black-pieces{background:#00000026;border:1px solid #6464644d}.white-captured{opacity:.8;border:1px solid #fff3}.black-captured{opacity:.8;border:1px solid #64646433}.board{touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#2a3a4e 0%,#3a4a5e 50%,#2f4a6f 100%);border:2px solid #fff3;border-radius:20px;margin-bottom:10px;padding:5px;transition:all .3s;position:relative;box-shadow:0 10px 40px #00000080,inset 0 1px #ffffff26,inset 0 -1px #0003}.board:hover{box-shadow:0 25px 70px #0009,inset 0 1px #ffffff26}.board:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 10px,#ffffff05 10px 20px);border-radius:24px;position:absolute;inset:0}.board svg{filter:drop-shadow(2px 2px 8px #0006);background:radial-gradient(circle,#4caf5014,#0000 70%);border-radius:12px}.position{cursor:pointer;fill:#0000;stroke:#0000;stroke-width:1px;pointer-events:all;transition:all .2s}.position:hover{fill:#4caf504d;stroke:#4caf50cc;stroke-width:2px;filter:drop-shadow(0 0 8px #4caf5099)}.position.white{fill:url(#whiteGradient);stroke:#2c2c2c;stroke-width:4px;filter:drop-shadow(0 4px 12px #ffffff4d);animation:.3s ease-out pieceAppear}.position.white:hover{stroke:#4a4a4a;filter:drop-shadow(0 6px 16px #fff6)}.position.black{fill:url(#blackGradient);stroke:#e0e0e0;stroke-width:4px;filter:drop-shadow(0 4px 12px #fff9)drop-shadow(0 0 8px #ffffff4d);animation:.3s ease-out pieceAppear}.position.black:hover{stroke:#fff;filter:drop-shadow(0 6px 16px #fffc)drop-shadow(0 0 12px #ffffff80)}.position.last-move{stroke:gold!important;stroke-width:6px!important;animation:2s ease-in-out infinite lastMoveGlow!important}@keyframes lastMoveGlow{0%,to{stroke:gold;stroke-width:6px;filter:drop-shadow(0 0 10px gold)drop-shadow(0 0 20px #ffd700cc)drop-shadow(0 0 30px #ffa50099)}50%{stroke:orange;stroke-width:7px;filter:drop-shadow(0 0 15px gold)drop-shadow(0 0 30px #ffd700e6)drop-shadow(0 0 45px #ffa500b3)}}@keyframes pieceAppear{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.position.hint-square{filter:drop-shadow(0 0 15px #2196f3cc);animation:1.5s infinite hintPulse;stroke:#2196f3!important;stroke-width:6px!important}@keyframes hintPulse{0%,to{box-shadow:inset 0 0 0 4px #2196f3cc}50%{box-shadow:inset 0 0 0 6px #2196f3}}.hint-button{background:#2196f34d;border-color:#2196f380}.position.selected{stroke:#ffab00;stroke-width:5px;filter:drop-shadow(0 0 16px gold)drop-shadow(0 0 8px gold);animation:1.5s ease-in-out infinite pulseSelected;fill:gold!important}.position.valid-move-highlight{stroke:#4caf50;stroke-width:3px;filter:drop-shadow(0 0 10px #4caf50);animation:1s ease-in-out infinite pulseValidMove;fill:#81c784!important;cursor:pointer!important}@keyframes pulseValidMove{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.position[draggable=true]{cursor:grab!important}.position[draggable=true]:active{opacity:.6;cursor:grabbing!important}.position.removable{stroke:#d32f2f;stroke-width:5px;filter:drop-shadow(0 0 16px #ff5252)drop-shadow(0 0 8px #ff5252);animation:1.2s ease-in-out infinite blinkRemovable;fill:#ff5252!important}@keyframes pulseSelected{0%,to{opacity:1}50%{opacity:.7}}@keyframes blinkRemovable{0%,to{opacity:1}50%{opacity:.6}}.settings-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-sizing:border-box;background:#ffffff14;border:1px solid #ffffff26;border-radius:16px;width:calc(100% - 20px);max-width:700px;margin:5px auto;padding:15px 20px;transition:all .3s;box-shadow:0 16px 48px #0006,inset 0 1px #ffffff26}.settings-panel:hover{box-shadow:0 20px 60px #00000080,inset 0 1px #fff3}.settings-panel h2{text-align:center;color:#fff;text-shadow:0 0 20px #4caf5066;margin-top:0;margin-bottom:4px;font-size:1.2rem;font-weight:700}.language-selector,.theme-selector{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;display:flex}.language-selector label,.theme-selector label{color:#fff;letter-spacing:.5px;font-size:1.15rem;font-weight:600}.language-select,.theme-select{color:#fff;cursor:pointer;text-align:center;background:#ffffff14;border:1px solid #fff3;border-radius:12px;width:100%;min-width:220px;padding:14px 20px;font-size:1.05rem;font-weight:500;transition:all .3s;box-shadow:0 4px 12px #0003}.language-select:hover,.theme-select:hover{background:#ffffff1f;border-color:#4caf5080;transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}.language-select option,.theme-select option{color:#fff;background:#1a1a2e;padding:10px}.player-settings{justify-content:center;align-items:start;gap:6px;margin-bottom:4px;display:flex}.player-config{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:10px;min-width:200px;height:auto;padding:12px 16px;transition:all .3s;display:flex;overflow:visible;box-shadow:0 4px 16px #0003}.player-config:hover{border-color:#4caf504d;transform:translateY(-3px);box-shadow:0 6px 24px #0000004d}.player-config h3{text-align:center;color:#fff;margin:0 0 5px;font-size:1.2rem;font-weight:600}.player-type-select,.difficulty-select{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:12px;padding:14px 18px;font-size:1.05rem;font-weight:500;transition:all .3s;box-shadow:0 2px 8px #0003}.player-type-select:hover,.difficulty-select:hover{background:#ffffff1f;border-color:#4caf5080;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.player-type-select:focus,.difficulty-select:focus{border-color:#4caf50b3;outline:none;box-shadow:0 0 0 3px #4caf5033}.player-type-select option,.difficulty-select option{color:#fff;background:#1a1a2e;padding:10px}.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{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff14;border:1px solid #ffffff26;border-radius:24px;max-width:700px;max-height:90vh;margin:3px auto;padding:3px;transition:all .3s;overflow-y:auto;box-shadow:0 16px 48px #0006,inset 0 1px #ffffff26}.online-mode-selection h2{text-align:center;color:#fff;text-shadow:0 0 20px #4caf5066;margin-top:0;margin-bottom:4px;font-size:.95rem;font-weight:700}.online-error{color:#fff;text-align:center;background:#f4433633;border:2px solid #f4433680;border-radius:12px;margin-bottom:6px;padding:15px 20px;font-weight:600;animation:.5s ease-in-out errorShake}.mode-option{cursor:pointer;text-align:center;background:#ffffff14;border:2px solid #fff3;border-radius:16px;padding:6px 4px;transition:all .3s;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{margin-bottom:2px;font-size:.9rem;animation:3s ease-in-out infinite iconFloat}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.mode-option h3{color:#fff;margin:2px 0;font-size:.75rem;font-weight:600}.mode-option p{color:#ffffffb3;margin:1px 0 0;font-size:.65rem;line-height:1.1}.mode-option.league-option{border:2px solid #ffd7004d;position:relative}.mode-option.league-option:hover{background:#ffd7001a;border-color:#ffd70099;box-shadow:0 8px 24px #ffd7004d}.login-required-badge{color:#fff;background:#f4433633;border:1px solid #f4433666;border-radius:8px;margin-top:10px;padding:6px 12px;font-size:.75rem;font-weight:600}.user-level-badge{color:#4caf50;text-shadow:0 0 10px #4caf5099;background:#4caf5033;border:1px solid #4caf5066;border-radius:8px;margin-top:10px;padding:6px 12px;font-size:.75rem;font-weight:700}.private-game-panel{text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;margin-bottom:6px;padding:35px}.private-game-panel h3{color:#fff;margin:0 0 25px;font-size:1.2rem;font-weight:600}.game-code-input{text-align:center;color:#fff;letter-spacing:4px;background:#ffffff14;border:2px solid #fff3;border-radius:12px;width:100%;max-width:300px;margin-bottom:20px;padding:16px 20px;font-family:Courier New,monospace;font-size:1.2rem;font-weight:700;transition:all .3s;box-shadow:0 4px 16px #0003}.game-code-input::placeholder{color:#ffffff4d;letter-spacing:2px}.create-game-button,.join-game-button{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:1px;background:linear-gradient(135deg,#4caf50,#2e7d32);border:1px solid #fff3;border-radius:12px;padding:16px 40px;font-size:1.2rem;font-weight:700;transition:all .3s;box-shadow:0 6px 20px #4caf5066}.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{text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;margin-bottom:6px;padding:40px}.private-game-waiting h3{color:#fff;margin:0 0 20px;font-size:1.2rem;font-weight:600}.game-code-display{color:#4caf50;letter-spacing:8px;text-shadow:0 0 20px #4caf5099;background:#4caf5026;border:3px solid #4caf5080;border-radius:16px;margin:20px 0;padding:25px 40px;font-family:Courier New,monospace;font-size:3rem;font-weight:800;animation:2s ease-in-out infinite codeGlow;box-shadow:0 6px 24px #4caf504d}@keyframes codeGlow{0%,to{box-shadow:0 6px 24px #4caf504d}50%{box-shadow:0 8px 32px #4caf5080}}.share-instruction{color:#fffc;margin:20px 0;font-size:.95rem;font-weight:500}.waiting-spinner{color:#ffffffe6;margin-top:25px;font-size:.95rem;font-weight:600;animation:2s ease-in-out infinite pulse}@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}}.back-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#607d8b,#455a64);border:1px solid #fff3;border-radius:10px;margin-bottom:20px;padding:12px 24px;font-size:1rem;font-weight:600;transition:all .3s;box-shadow:0 4px 12px #607d8b66}.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{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:10px;margin-top:10px;display:flex}.game-actions button{justify-content:center!important;align-items:center!important;height:72px!important;min-height:72px!important;display:flex!important}.undo-button,.settings-button,.reset-button,.help-button{color:#fff;cursor:pointer;border:1px solid #fff3;border-radius:10px;min-width:140px;min-height:44px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.undo-button:before,.settings-button:before,.reset-button:before,.help-button:before{content:"";background:#fff3;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.undo-button:hover:before,.settings-button:hover:before,.reset-button:hover:before,.help-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{cursor:not-allowed;opacity:.5;box-shadow:none;background:linear-gradient(135deg,#616161,#424242)}.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}.help-button{background:linear-gradient(135deg,#ff9800,#f57c00);box-shadow:0 3px 12px #ff980066}.help-button:hover{background:linear-gradient(135deg,#ffb74d,#ff9800);transform:translateY(-2px);box-shadow:0 6px 18px #ff980080}.reset-button:active,.undo-button:active:not(:disabled),.settings-button:active,.help-button:active{transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}@media (width<=768px){.muehle-game{padding:10px}.muehle-game h1{margin-bottom:10px;font-size:1.2rem}.board{margin-bottom:4px;padding:5px}.board svg{width:100%;max-width:450px;height:auto}.player-info{flex-direction:column;gap:6px}.player{min-width:100%;padding:14px 20px}.game-status{margin-bottom:18px;padding:16px 24px;font-size:1.2rem}.game-info{margin-bottom:18px}.pieces-to-place,.captured-pieces{flex-direction:row;gap:6px;max-width:100%;margin-bottom:4px}.pieces-container{flex:1;min-width:0;padding:14px 18px}.pieces-label{font-size:.75rem}.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:6px}.language-selector,.theme-selector{padding:10px 12px}.settings-panel{margin:8px;padding:12px 15px}.settings-panel h2{margin-bottom:6px;font-size:1.2rem}.game-actions{flex-direction:column;gap:6px;margin-top:15px}.undo-button,.settings-button,.reset-button,.help-button{min-width:100%;padding:14px 24px;font-size:1.05rem}.online-mode-selection{margin:15px;padding:5px}.online-mode-selection h2{margin-bottom:6px;font-size:1.2rem}.mode-options{grid-template-columns:1fr}.mode-option{padding:25px 15px}.private-game-panel{padding:25px}.game-code-display{letter-spacing:6px;padding:20px 30px;font-size:1.2rem}}@media (width<=480px){.muehle-game{padding:5px}.muehle-game h1{margin-bottom:4px;font-size:1.2rem}.board{margin-bottom:6px;padding:10px}.board svg{width:100%;max-width:380px;height:auto}.game-status{padding:12px 16px;font-size:.75rem}.online-mode-selection{padding:20px}.game-code-display{letter-spacing:4px;padding:15px 25px;font-size:1.2rem}.game-code-input{letter-spacing:3px;padding:14px 18px;font-size:1.2rem}}.opponent-found-notification{color:#fff;z-index:1000;text-align:center;background:linear-gradient(135deg,#4caf50 0%,#45a049 100%);border:3px solid #ffffff4d;border-radius:15px;padding:30px 50px;font-size:1.2rem;font-weight:700;animation:.5s ease-out notificationSlideIn,.5s ease-in-out .5s 2 notificationPulse;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 40px #00000080}.error-notification{color:#fff;z-index:1000;text-align:center;pointer-events:none;background:linear-gradient(135deg,#f44336 0%,#d32f2f 100%);border:2px solid #ffffff4d;border-radius:12px;padding:25px 40px;font-size:1.1rem;font-weight:700;animation:.3s ease-out notificationSlideIn;position:fixed;top:20%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 30px #f4433666}@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 (width<=768px){.opponent-found-notification{padding:25px 40px;font-size:1.2rem}}@media (width<=480px){.opponent-found-notification{padding:20px 30px;font-size:.95rem}}.drag-preview svg{cursor:grabbing!important}@keyframes drag-bounce{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1.1)}}.position.dragging{transform:scale(.9);opacity:.3!important;cursor:grabbing!important}.position.drag-target{filter:drop-shadow(0 0 10px #4caf50cc);animation:1s infinite target-pulse-position;fill:#4caf5066!important}@keyframes target-pulse-position{0%,to{filter:drop-shadow(0 0 10px #4caf5099)}50%{filter:drop-shadow(0 0 15px #4caf50)}}.position.drag-invalid{animation:.3s shake;fill:#f443364d!important}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.position.white,.position.black{cursor:grab}.position.white:active,.position.black:active{cursor:grabbing}@media (prefers-reduced-motion:reduce){.drag-preview,.position.drag-target,.position.drag-invalid{animation:none}}.help-modal-overlay{z-index:2000;background:#000000d9;justify-content:center;align-items:center;padding:1rem;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.help-modal-content{background:var(--bg-card);border:3px solid var(--accent-primary);border-radius:16px;max-width:700px;max-height:85vh;padding:2rem;animation:.4s ease-out slideUp;position:relative;overflow-y:auto;box-shadow:0 10px 40px #00000080}.help-close-button{background:var(--bg-input);width:36px;height:36px;color:var(--text-primary);border:2px solid var(--border-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.5rem;line-height:1;transition:all .3s;display:flex;position:absolute;top:1rem;right:1rem}.help-close-button:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);transform:rotate(90deg)}.help-title{color:var(--text-primary);text-shadow:2px 2px 4px #0000004d;margin-bottom:1.5rem;padding-right:2rem;font-size:2rem}.help-body{color:var(--text-primary);margin-bottom:1.5rem}.help-section{border-bottom:1px solid var(--border-primary);margin-bottom:2rem;padding-bottom:1.5rem}.help-section:last-child{border-bottom:none}.help-section h3{color:var(--accent-primary);margin-bottom:.75rem;font-size:1.4rem;font-weight:600}.help-section p{color:var(--text-secondary);margin:.5rem 0;line-height:1.6}.help-section ul{margin:.5rem 0;padding-left:0;list-style:none}.help-section ul li{color:var(--text-secondary);padding:.5rem 0 .5rem 1.5rem;line-height:1.8;position:relative}.help-section ul li:before{content:"▸";color:var(--accent-primary);font-weight:700;position:absolute;left:0}.help-close-footer-button{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:1rem;font-size:1.1rem;font-weight:700;transition:all .3s;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%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.help-modal-content{max-height:90vh;padding:1.5rem}.help-title{font-size:1.5rem}.help-section h3{font-size:1.2rem}.help-close-button{width:32px;height:32px;font-size:1.2rem}}.confirm-dialog-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#000000b3;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--bg-secondary,#2a2a2a);border:2px solid var(--accent-primary,#4caf50);border-radius:16px;width:400px;max-width:90%;padding:2rem;animation:.3s ease-out slideUp;box-shadow:0 8px 32px #00000080}.confirm-dialog-title{color:var(--text-primary,#fff);text-align:center;margin:0 0 1rem;font-size:1.5rem;font-weight:700}.confirm-dialog-message{color:var(--text-secondary,#ccc);text-align:center;margin:0 0 2rem;font-size:1rem;line-height:1.5}.confirm-dialog-buttons{justify-content:center;gap:1rem;display:flex}.confirm-dialog-button{cursor:pointer;border:none;border-radius:8px;flex:1;min-width:100px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.confirm-cancel{background:var(--bg-primary,#1a1a1a);color:var(--text-primary,#fff);border:2px solid var(--border-color,#444)}.confirm-cancel:hover{background:var(--bg-tertiary,#333);transform:translateY(-2px)}.confirm-cancel:active{transform:translateY(0)}.confirm-ok{background:linear-gradient(135deg, var(--accent-primary,#4caf50), var(--accent-secondary,#45a049));color:#fff;box-shadow:0 4px 12px #4caf504d}.confirm-ok:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.confirm-ok:active{transform:translateY(0)}@media (width<=768px){.confirm-dialog{width:85%;padding:1.5rem}.confirm-dialog-title{font-size:1.25rem}.confirm-dialog-message{font-size:.95rem}.confirm-dialog-buttons{flex-direction:column-reverse}.confirm-dialog-button{width:100%}}.connectfour-game{background:var(--bg-primary);min-height:100vh;max-height:100vh;padding:.5rem;padding-top:max(.5rem, env(safe-area-inset-top,.5rem));color:var(--text-primary);box-sizing:border-box;flex-direction:column;align-items:center;display:flex;overflow:hidden auto}@media (width>=768px){.connectfour-game{padding:2rem}}.back-to-hub-button{background:var(--bg-card);border:2px solid var(--border-primary);color:var(--text-primary);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:101;border-radius:8px;order:-1;padding:.4rem .8rem;font-size:.75rem;font-weight:600;transition:all .3s;position:absolute;left:0}@media (width>=768px){.back-to-hub-button{border-radius:10px;padding:.7rem 1.5rem;font-size:1rem;position:static}}.header-actions{z-index:101;justify-content:flex-end;min-width:80px;display:flex;position:absolute;right:0}@media (width>=768px){.header-actions{min-width:150px;position:static}}.user-profile-header{background:var(--bg-card);border:2px solid var(--border-primary);cursor:pointer;border-radius:10px;align-items:center;gap:1rem;padding:.5rem 1rem;transition:all .3s;display:flex}.user-profile-header:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-md)}.user-info{flex-direction:column;align-items:flex-end;display:flex}.user-name{color:var(--text-primary);font-size:1rem;font-weight:600}.user-level{color:var(--text-secondary);font-size:.75rem}.logout-button{cursor:pointer;opacity:.7;background:0 0;border:none;padding:.3rem;font-size:1.2rem;transition:opacity .3s}.logout-button:hover{opacity:1}.login-button{background:var(--btn-primary-bg);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.7rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.login-button:hover{background:var(--btn-primary-hover);box-shadow:var(--shadow-md)}.opponent-found-notification{background:var(--status-success);color:#fff;box-shadow:var(--shadow-lg);z-index:1000;border-radius:10px;padding:1rem 2rem;font-size:1.2rem;font-weight:600;animation:.5s ease-out slideDown;position:fixed;top:100px;left:50%;transform:translate(-50%)}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-100px)}to{opacity:1;transform:translate(-50%)}}.settings-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-sizing:border-box;z-index:1;background:#ffffff14;border:1px solid #ffffff26;border-radius:12px;width:calc(100% - 1rem);max-width:700px;max-height:50vh;margin:.3rem auto;padding:.5rem;transition:all .3s;animation:.5s ease-out fadeIn;overflow-y:auto;box-shadow:0 8px 24px #0006,inset 0 1px #ffffff26}@media (width>=768px){.settings-panel{border-radius:24px;width:calc(100% - 40px);max-height:none;margin:20px auto;padding:5px;overflow-y:visible}}.settings-panel h2{text-align:center;color:var(--text-primary);margin-top:0;margin-bottom:.5rem;font-size:1rem}@media (width>=768px){.settings-panel h2{margin-bottom:2rem;font-size:1.2rem}}@media (width>=768px){.language-selector label,.theme-selector label{font-size:.75rem}}@media (width>=768px){.language-select,.theme-select{border:2px solid var(--border-primary);border-radius:10px;padding:.7rem 1rem;font-size:.75rem}}.player-settings{grid-template-columns:1fr 1fr;align-items:start;gap:.4rem;margin-bottom:.5rem;display:grid}@media (width>=768px){.player-settings{gap:1.5rem;margin-bottom:2rem}}.player-config{background:var(--bg-input);border:1px solid var(--border-primary);box-sizing:border-box;border-radius:6px;flex-direction:column;min-height:100px;max-height:100px;padding:.4rem;display:flex;overflow:hidden}@media (width>=768px){.player-config{border-radius:12px;min-height:auto;max-height:none;padding:1.5rem}}.player-config h3{color:var(--text-primary);flex-shrink:0;margin-top:0;margin-bottom:.3rem;font-size:.7rem}@media (width>=768px){.player-config h3{margin-bottom:1rem;font-size:.95rem}}.player-type-select,.difficulty-select{background:var(--bg-card);border:1px solid var(--border-primary);width:100%;color:var(--text-primary);cursor:pointer;box-sizing:border-box;border-radius:4px;min-height:28px;max-height:28px;margin-bottom:.3rem;padding:.3rem .4rem;font-size:.65rem;transition:all .3s}@media (width>=768px){.player-type-select,.difficulty-select{border:2px solid var(--border-primary);border-radius:8px;min-height:auto;max-height:none;margin-bottom:.8rem;padding:.7rem 1rem;font-size:.75rem}}.online-mode-selection{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--border-primary);width:100%;max-width:900px;max-height:90vh;box-shadow:var(--shadow-lg);border-radius:20px;margin:3px auto;padding:.4rem;overflow-y:auto}.online-mode-selection h2{text-align:center;color:var(--text-primary);margin-bottom:.4rem;font-size:.95rem}.online-error{background:var(--status-error);color:#fff;text-align:center;border-radius:8px;margin-bottom:1.5rem;padding:1rem;font-weight:600}.mode-options{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.mode-option{background:var(--bg-input);border:2px solid var(--border-primary);cursor:pointer;text-align:center;border-radius:15px;padding:.5rem .3rem;transition:all .3s;position:relative}.mode-option:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-accent);transform:translateY(-5px)}.mode-icon{margin-bottom:.2rem;font-size:.9rem}.mode-option h3{color:var(--text-primary);margin-bottom:.5rem;font-size:.75rem}.mode-option p{color:var(--text-secondary);margin-bottom:.5rem;font-size:.65rem}.login-required-badge,.user-level-badge{border-radius:20px;margin-top:.8rem;padding:.4rem .8rem;font-size:.75rem;font-weight:600;display:inline-block}.login-required-badge{color:var(--status-error);border:1px solid var(--status-error);background:#f4433633}.user-level-badge{color:var(--status-success);border:1px solid var(--status-success);background:#4caf5033}.private-game-panel{text-align:center}.private-game-panel h3{color:var(--text-primary);margin:1.5rem 0;font-size:1.2rem}.game-code-input{background:var(--bg-input);border:2px solid var(--border-primary);width:100%;max-width:300px;color:var(--text-primary);text-align:center;letter-spacing:.3em;border-radius:10px;margin:1rem auto;padding:1rem;font-size:1.2rem;font-weight:600;display:block}.game-code-input:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #4caf501a}.create-game-button,.join-game-button{background:var(--btn-primary-bg);color:#fff;cursor:pointer;border:none;border-radius:10px;margin-top:1rem;padding:1rem 2rem;font-size:.95rem;font-weight:600;transition:all .3s}.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{color:var(--text-primary);margin-bottom:1rem;font-size:1.2rem}.game-code-display{letter-spacing:.3em;color:var(--accent-primary);background:var(--bg-input);border:3px dashed var(--accent-primary);border-radius:15px;margin:1.5rem 0;padding:1rem;font-size:3rem;font-weight:700}.share-instruction{color:var(--text-secondary);margin-bottom:2rem;font-size:1rem}.waiting-spinner{color:var(--text-primary);font-size:.95rem;animation:2s ease-in-out infinite pulse}.back-button,.settings-button{background:var(--bg-input);border:2px solid var(--border-primary);color:var(--text-primary);cursor:pointer;border-radius:10px;margin-bottom:1.5rem;padding:.7rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.back-button:hover,.settings-button:hover{border-color:var(--accent-primary);background:var(--bg-card-hover)}.timer-display{background:var(--bg-card);border:2px solid var(--border-primary);text-align:center;border-radius:12px;min-width:300px;margin-bottom:1.5rem;padding:1rem 2rem}.timer-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem}.timer-value{color:var(--accent-primary);margin-bottom:.5rem;font-size:1.2rem;font-weight:700}.timer-bar{background:var(--bg-input);border-radius:4px;width:100%;height:8px;overflow:hidden}.timer-bar-fill{background:var(--accent-primary);height:100%;transition:width 1s linear,background .3s}.timer-warning .timer-value{color:#ff9800}.timer-warning .timer-bar-fill{background:#ff9800}.timer-critical .timer-value{color:var(--status-error);animation:.5s ease-in-out infinite timerPulse}.timer-critical .timer-bar-fill{background:var(--status-error)}.game-result-overlay{z-index:1000;background:#000c;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.game-result-card{background:var(--bg-modal);text-align:center;border:3px solid var(--border-primary);border-radius:25px;max-width:500px;padding:3rem;animation:.4s ease-out scaleIn;box-shadow:0 20px 60px #00000080}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.board-container{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:100%;margin-bottom:.3rem;display:flex}@media (width>=768px){.board-container{flex:initial;margin-bottom:2rem}}.column-indicators{gap:2px;width:min(95vw,105vh);max-width:400px;margin-bottom:.3rem;padding:0 5px;display:flex}@media (width>=480px){.column-indicators{gap:4px;padding:0 10px}}@media (width>=768px){.column-indicators{gap:8px;width:648px;max-width:648px;margin-bottom:1rem;padding:0 20px}}.column-indicator{background:var(--bg-card);border:2px solid var(--border-primary);cursor:pointer;border-bottom:none;border-radius:8px 8px 0 0;flex:1;justify-content:center;align-items:center;max-width:44px;height:44px;transition:all .3s;display:flex;position:relative;overflow:visible}@media (width>=480px){.column-indicator{max-width:54px;height:54px}}@media (width>=768px){.column-indicator{border:3px solid var(--border-primary);border-radius:12px 12px 0 0;width:80px;max-width:80px;height:80px}}.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{border-radius:50%;width:30px;height:30px;animation:.3s ease-out bounceIn;position:absolute;top:7px}@media (width>=480px){.preview-piece{width:38px;height:38px;top:8px}}@media (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%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.board{background:var(--accent-secondary);box-shadow:var(--shadow-lg);border:3px solid var(--accent-secondary);aspect-ratio:7/6;border-radius:8px;width:min(95vw,105vh);max-width:400px;height:auto;padding:5px}@media (width>=480px){.board{border-radius:12px;padding:10px}}@media (width>=768px){.board{border:5px solid var(--accent-secondary);width:648px;max-width:648px;height:568px;aspect-ratio:initial;border-radius:20px;padding:20px}}.board-row{gap:2px;margin-bottom:2px;display:flex}@media (width>=480px){.board-row{gap:4px;margin-bottom:4px}}@media (width>=768px){.board-row{gap:8px;margin-bottom:4px}}.board-row:last-child{margin-bottom:0}.cell{flex:1;min-width:44px;max-width:44px;height:44px;min-height:44px}@media (width>=480px){.cell{min-width:54px;max-width:54px;height:54px;min-height:54px}}@media (width>=768px){.cell{width:80px;min-width:80px;max-width:80px;height:80px;min-height:80px}}.cell{cursor:pointer;background:radial-gradient(circle,#0006,#0000);border-radius:50%;flex-grow:0;flex-shrink:0;justify-content:center;align-items:center;max-height:44px;transition:all .3s;display:flex;position:relative;box-shadow:inset 0 2px 8px #0000004d}@media (width>=480px){.cell{max-height:54px}}@media (width>=768px){.cell{max-height:80px}}.cell:hover{background:radial-gradient(circle,#00000080,#0000)}.piece{border:3px solid #ffffff4d;border-radius:50%;width:70px;height:70px;animation:.5s ease-out dropPiece;box-shadow:0 4px 12px #0006}@keyframes dropPiece{0%{opacity:0;transform:translateY(-400px)}to{opacity:1;transform:translateY(0)}}.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:1s ease-out highlightCell}@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:1s ease-in-out infinite winningPulse}@keyframes winningPulse{0%,to{box-shadow:0 0 20px var(--status-success)}50%{box-shadow:0 0 40px var(--status-success)}}.cell.hint-square{animation:1.5s ease-in-out infinite hintPulse;box-shadow:inset 0 0 0 4px #2196f3cc,inset 0 0 20px #2196f399}.undo-button,.reset-button{cursor:pointer;border:none;border-radius:10px;min-height:44px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.undo-button{background:var(--bg-card);color:var(--text-primary);border:2px solid var(--border-primary)}.hint-button{cursor:pointer;color:var(--text-primary);background:#2196f34d;border:2px solid #2196f380;border-radius:10px;min-height:44px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.reset-button{background:var(--btn-secondary-bg);color:#fff}@media (width<=768px){.connectfour-game{flex-direction:column;min-height:100vh;padding:.5rem;display:flex;overflow:hidden}.back-to-hub-button{padding:.5rem 1rem;font-size:.75rem}.settings-panel{max-height:90vh;padding:1rem;overflow-y:auto}.settings-section{gap:10px;margin-bottom:6px}.player-settings{grid-template-columns:1fr;gap:1rem}.game-status{width:100%;min-width:auto;margin-bottom:.5rem;padding:.5rem 1rem;font-size:.9rem}.board-container{margin-bottom:.5rem}.column-indicators{gap:4px;width:auto;margin-bottom:.5rem;padding:0}.column-indicator{width:42px;min-width:42px;height:42px;min-height:42px}.preview-piece{width:32px;height:32px}.board{width:auto;height:auto;padding:5px}.board-row{gap:4px;margin-bottom:4px}.cell{width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;max-height:42px!important}.piece{width:36px;height:36px}.game-actions{gap:.5rem;margin-bottom:.5rem}.undo-button,.reset-button,.hint-button{min-height:36px;padding:.5rem 1rem;font-size:.75rem}.game-result-card{margin:.5rem;padding:1.5rem}.result-icon,.result-title{font-size:1.2rem}.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:.75rem}.mode-options{grid-template-columns:1fr}}.checkers-container{background:var(--bg-primary);min-height:100vh;color:var(--text-primary);flex-direction:column;align-items:center;padding:2rem;display:flex}.checkers-header{justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin-bottom:2rem;display:flex;position:relative}.checkers-header h1{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;text-align:center;-webkit-background-clip:text;background-clip:text;flex:1;font-size:1.2rem;font-weight:700}.back-to-hub-button{background:var(--bg-card);border:2px solid var(--border-primary);color:var(--text-primary);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;padding:.7rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.back-to-hub-button:hover{background:var(--bg-card-hover);border-color:var(--accent-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.settings-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-sizing:border-box;background:#ffffff14;border:1px solid #ffffff26;border-radius:24px;width:calc(100% - 40px);max-width:700px;margin:20px auto;padding:5px;transition:all .3s;animation:.5s ease-out fadeIn;box-shadow:0 16px 48px #0006,inset 0 1px #ffffff26}.checkers-game-area{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.game-status{color:var(--text-primary);text-align:center;background:var(--bg-card);border:2px solid var(--border-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;min-width:400px;padding:1rem 2rem;font-size:1.2rem;font-weight:600}.checkers-board{background:var(--bg-card);box-shadow:var(--shadow-lg);border:5px solid var(--accent-secondary);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:20px;grid-template-rows:repeat(8,80px);grid-template-columns:repeat(8,80px);gap:0;padding:20px;display:grid}.checkers-square{cursor:pointer;touch-action:none;justify-content:center;align-items:center;width:80px;height:80px;transition:all .3s;display:flex;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:"";border:3px solid var(--accent-primary);background:#4caf5080;border-radius:50%;width:30px;height:30px;animation:1.5s ease-in-out infinite legalMovePulse;position:absolute}@keyframes legalMovePulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.checkers-square.last-move{animation:1s ease-out lastMoveFlash;box-shadow:inset 0 0 0 4px #ffc107cc}@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{animation:1.5s ease-in-out infinite hintPulse;box-shadow:inset 0 0 0 4px #2196f3cc}.checkers-piece{border:3px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;transition:all .3s;animation:.3s ease-out pieceAppear;display:flex;box-shadow:0 4px 12px #0006}.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 gold;box-shadow:0 0 20px #ffd70099}.king-crown{color:gold;text-shadow:0 2px 4px #00000080;filter:drop-shadow(0 0 8px #ffd700cc);font-size:1.2rem}.undo-button,.hint-button,.settings-button{cursor:pointer;border:none;border-radius:10px;padding:.8rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.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{color:var(--text-primary);background:#2196f34d;border:2px solid #2196f380}.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 (width<=768px){.checkers-container{padding:1rem}.checkers-header h1{font-size:1.2rem}.settings-panel{padding:1.5rem}.settings-section{gap:10px;margin-bottom:6px}.player-settings{grid-template-columns:1fr}.checkers-board{grid-template-rows:repeat(8,50px);grid-template-columns: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{width:100%;min-width:auto;font-size:.95rem}.game-actions{flex-wrap:wrap}}.drag-preview{filter:drop-shadow(0 8px 16px #0006);animation:.3s ease-out drag-bounce}.drag-preview .checkers-piece{width:60px;height:60px;cursor:grabbing!important}.checkers-piece.dragging{opacity:.3;transform:scale(.9);cursor:grabbing!important}.checkers-square.drag-target{animation:1s infinite target-pulse;box-shadow:inset 0 0 20px #4caf5099;background:#4caf5066!important}@keyframes target-pulse{0%,to{box-shadow:inset 0 0 20px #4caf5099}50%{box-shadow:inset 0 0 30px #4caf50cc}}.checkers-square.drag-invalid{animation:.3s shake;background:#f443364d!important}.checkers-piece{cursor:grab}.checkers-piece:active{cursor:grabbing}@media (prefers-reduced-motion:reduce){.drag-preview,.checkers-square.drag-target,.checkers-square.drag-invalid{animation:none}}.chess-container{background:var(--bg-primary);min-height:100vh;color:var(--text-primary);flex-direction:column;align-items:center;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:flex}.chess-header{justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin-bottom:20px;display:flex}.game-title{text-shadow:0 0 20px #ffd70080;margin:0;font-size:1.2rem}.back-button{color:#fff;cursor:pointer;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:10px;padding:10px 20px;font-size:1rem;transition:all .3s}.back-button:hover{background:#fff3;transform:translateY(-2px)}.chess-game-area{flex-direction:column;align-items:center;gap:6px;width:100%;max-width:1200px;display:flex}.game-status{text-align:center;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:15px;min-width:300px;padding:15px 30px;font-size:.95rem;font-weight:600;box-shadow:0 4px 15px #0003}.game-status.check{background:#ff45004d;border-color:#ff450080;animation:1s infinite pulse}.check-indicator{color:#f44;font-weight:700}.last-move-text{color:#fffc;margin-top:8px;font-size:.9rem;font-weight:400}.chess-board-container{flex-direction:column;gap:10px;display:flex}.chess-board-wrapper{gap:10px;display:flex}.chess-board{border:4px solid #8b4513;border-radius:8px;grid-template-rows:70px 70px 70px 70px 70px 70px 70px 70px;grid-template-columns:70px 70px 70px 70px 70px 70px 70px 70px;display:grid;overflow:hidden;box-shadow:0 10px 40px #00000080}.chess-files{grid-template-columns:70px 70px 70px 70px 70px 70px 70px 70px;gap:0;padding-left:40px;display:grid}.file-label{text-align:center;color:#fffc;font-size:.9rem;font-weight:600}.chess-ranks{grid-template-rows:70px 70px 70px 70px 70px 70px 70px 70px;gap:0;padding-right:10px;display:grid}.rank-label{color:#fffc;justify-content:center;align-items:center;font-size:.9rem;font-weight:600;display:flex}.chess-square{cursor:pointer;justify-content:center;align-items:center;width:70px;height:70px;transition:all .2s;display:flex;position:relative}.chess-square.light{background:#f0d9b5}.chess-square.dark{background:#b58863}.chess-square:hover{filter:brightness(1.1)}.chess-square.selected{box-shadow:inset 0 0 10px #0000004d;background:#baca44!important}.chess-square.legal-move{background:#14551e80!important}.chess-square.last-move{background:#ffff004d!important}.chess-square.hint-square{animation:1.5s infinite hint-pulse;box-shadow:inset 0 0 15px #0096ff99;background:#0096ff66!important}@keyframes hint-pulse{0%,to{box-shadow:inset 0 0 15px #0096ff99}50%{box-shadow:inset 0 0 25px #0096ffe6}}.hint-indicator{pointer-events:none;border:3px solid #0096ffcc;border-radius:50%;width:30px;height:30px;animation:2s linear infinite hint-rotate;position:absolute}@keyframes hint-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chess-piece{-webkit-user-select:none;user-select:none;filter:drop-shadow(2px 2px 4px #0000004d);font-size:50px;transition:transform .2s;animation:.25s ease-out chessPieceAppear}@keyframes chessPieceAppear{0%{opacity:.7;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.chess-piece.white{color:#fff;text-shadow:-1px -1px #000,1px -1px #000,-1px 1px #000,1px 1px #000,0 0 5px #ffffff80}.chess-piece.black{color:#000;text-shadow:-1px -1px #fff,1px -1px #fff,-1px 1px #fff,1px 1px #fff,0 0 3px #000c}.chess-square:hover .chess-piece{transform:scale(1.1)}.move-dot{background:#0000004d;border-radius:50%;width:20px;height:20px}.capture-ring{pointer-events:none;border:4px solid #ff000080;border-radius:50%;width:60px;height:60px;position:absolute}.captured-pieces{background:#ffffff1a;border:2px solid #fff3;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;max-width:600px;min-height:60px;padding:10px 20px;display:flex}.captured-piece{opacity:.7;filter:grayscale(.5);font-size:30px}.move-history{background:#ffffff1a;border:2px solid #fff3;border-radius:15px;width:100%;max-width:600px;max-height:200px;padding:20px}.move-history h3{color:#ffffffe6;margin-top:0;margin-bottom:4px;font-size:1.2rem}.move-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:120px;font-family:Courier New,monospace;display:grid;overflow-y:auto}.move-item{background:#ffffff0d;border-radius:5px;padding:5px 10px;font-size:.9rem}.game-controls{gap:15px;margin-top:10px;display:flex}.control-button{color:#fff;cursor:pointer;background:#4caf504d;border:2px solid #4caf5080;border-radius:12px;padding:12px 30px;font-size:1rem;font-weight:600;transition:all .3s}.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{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-sizing:border-box;background:#ffffff14;border:1px solid #ffffff26;border-radius:24px;width:calc(100% - 40px);max-width:700px;margin:20px auto;padding:3px;box-shadow:0 16px 48px #0006,inset 0 1px #ffffff26}.settings-panel h2{text-align:center;color:#fff;text-shadow:0 0 20px #ffd70066;margin-top:0;margin-bottom:30px;font-size:1.2rem}.setting-group{flex-direction:column;gap:8px;display:flex}.setting-group label{color:#ffffffe6;font-weight:600}.setting-group select{color:#fff;cursor:pointer;background:#ffffff1a;border:2px solid #fff3;border-radius:8px;padding:12px;font-size:1rem;transition:all .3s}.setting-group select option{color:#fff;background:#2a5298}.player-config h3{color:#fffffff2;margin-top:0;margin-bottom:4px;font-size:.95rem}.player-config select{color:#fff;cursor:pointer;background:#ffffff1a;border:2px solid #fff3;border-radius:8px;width:100%;margin-bottom:10px;padding:12px;font-size:1rem}.player-config select option{background:#2a5298}.start-game-button{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:1px;background:linear-gradient(135deg,#4caf50 0%,#45a049 100%);border:none;border-radius:15px;width:100%;padding:18px;font-size:.95rem;font-weight:700;transition:all .3s;box-shadow:0 6px 20px #4caf5066}.start-game-button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #4caf5080}@media (width<=768px){.chess-board{grid-template-rows:50px 50px 50px 50px 50px 50px 50px 50px;grid-template-columns:50px 50px 50px 50px 50px 50px 50px 50px}.chess-square{width:50px;height:50px}.chess-piece{font-size:35px}.chess-files{grid-template-columns:50px 50px 50px 50px 50px 50px 50px 50px}.chess-ranks{grid-template-rows:50px 50px 50px 50px 50px 50px 50px 50px}.file-label,.rank-label{font-size:.8rem}.game-title{font-size:1.2rem}.settings-panel{padding:25px}.move-history{max-height:150px}}@media (width<=450px){.chess-container{padding:10px}.chess-board{grid-template-rows:38px 38px 38px 38px 38px 38px 38px 38px;grid-template-columns:38px 38px 38px 38px 38px 38px 38px 38px}.chess-square{width:38px;height:38px}.chess-piece{font-size:28px}.chess-files{grid-template-columns:38px 38px 38px 38px 38px 38px 38px 38px;padding-left:30px}.chess-ranks{grid-template-rows:38px 38px 38px 38px 38px 38px 38px 38px}.file-label,.rank-label{font-size:.7rem}}.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{z-index:1000;background:#000c;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.promotion-dialog{background:var(--bg-modal);text-align:center;border:3px solid var(--border-primary);border-radius:20px;padding:2.5rem;animation:.4s ease-out scaleIn;box-shadow:0 20px 60px #00000080}.promotion-dialog h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.2rem}.promotion-dialog p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1rem}.promotion-pieces{justify-content:center;gap:1rem;display:flex}.promotion-piece{background:var(--bg-card);border:3px solid var(--border-primary);cursor:pointer;border-radius:15px;flex-direction:column;align-items:center;gap:.5rem;min-width:80px;padding:1.5rem 1rem;transition:all .3s;display:flex}.promotion-piece:hover{border-color:var(--accent-primary);background:var(--bg-card-hover);box-shadow:var(--shadow-accent);transform:translateY(-5px)}.promotion-piece:active{transform:translateY(-2px)}.promotion-piece:first-child{font-size:3.5rem}.promotion-piece span{color:var(--text-secondary);font-size:.9rem;font-weight:600}@media (width<=768px){.promotion-dialog{margin:1rem;padding:2rem}.promotion-pieces{flex-wrap:wrap}.promotion-piece{min-width:70px;padding:1rem .8rem}.promotion-piece:first-child{font-size:3rem}}.drag-preview{filter:drop-shadow(0 8px 16px #0006);-webkit-user-select:none;user-select:none;animation:.3s ease-out drag-bounce;pointer-events:none!important}.drag-preview .chess-piece{font-size:3rem;cursor:grabbing!important}.chess-piece.dragging{opacity:.3;transform:scale(.9);cursor:grabbing!important}.chess-square.drag-target{animation:1s infinite target-pulse;box-shadow:inset 0 0 20px #4caf5099;background:#4caf5066!important}.chess-square.drag-invalid{animation:.3s shake;background:#f443364d!important}.chess-piece{cursor:grab}.chess-piece:active{cursor:grabbing}@media (prefers-reduced-motion:reduce){.drag-preview,.chess-square.drag-target,.chess-square.drag-invalid{animation:none}}.reversi-game{background:var(--bg-primary);flex-direction:column;justify-content:flex-start;align-items:center;min-height:100vh;padding:1rem 2rem 2rem;display:flex}.reversi-settings{text-align:center;width:100%;max-width:700px}.reversi-settings h2{color:var(--text-primary);text-shadow:2px 2px 4px #0000004d;margin-bottom:2rem;font-size:1.2rem}.settings-panel{background:var(--bg-card);border:2px solid var(--border-primary);box-shadow:var(--shadow-md);border-radius:12px;padding:2rem}.settings-panel h3{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.2rem}.setting-group{text-align:left;margin-bottom:1.5rem}.setting-group label{color:var(--text-primary);margin-bottom:.5rem;font-weight:600;display:block}.setting-group select{background:var(--bg-primary);width:100%;color:var(--text-primary);border:2px solid var(--border-primary);cursor:pointer;border-radius:8px;padding:.75rem;font-size:1rem;transition:all .3s}.setting-group select:hover{border-color:var(--accent-primary)}.setting-group select:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #4caf5033}.start-button,.back-button{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:1rem;padding:1rem;font-size:.95rem;font-weight:700;transition:all .3s;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);text-shadow:2px 2px 4px #0000004d;margin-bottom:1rem;font-size:1.2rem}.game-info{justify-content:center;gap:3rem;margin-top:1rem;display:flex}.player-info{background:var(--bg-card);border:2px solid var(--border-primary);opacity:.6;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem 1.5rem;transition:all .3s;display:flex}.player-info.active{opacity:1;border-color:var(--accent-primary);transform:scale(1.05);box-shadow:0 0 15px #4caf5066}.player-info span{color:var(--text-primary);font-size:.95rem;font-weight:700}.player-piece{border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex;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{aspect-ratio:1;max-width:600px;box-shadow:var(--shadow-md), inset 0 2px 10px #0000004d;background:linear-gradient(145deg,#1a7a2a,#2a9a3a);border-radius:12px;grid-template-columns:repeat(8,1fr);gap:4px;margin:0 auto 2rem;padding:1rem;display:grid}.reversi-square{aspect-ratio:1;cursor:pointer;background:linear-gradient(145deg,#228b22,#2a9d2a);border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex;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:1s ease-in-out pulse}.reversi-square.legal{cursor:pointer;background:linear-gradient(145deg,#3ab33a,#4ac44a)}.reversi-square.hint{background:linear-gradient(145deg,gold,#ffed4e);animation:1s ease-in-out infinite hint-glow;box-shadow:0 0 20px #ffd700b3}@keyframes hint-glow{0%,to{box-shadow:0 0 20px #ffd700b3}50%{box-shadow:0 0 30px gold}}.legal-indicator{background:#ffffff80;border-radius:50%;width:30%;height:30%;animation:1.5s ease-in-out infinite indicator-pulse;box-shadow:0 0 10px #fff9}@keyframes indicator-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.reversi-piece{border-radius:50%;justify-content:center;align-items:center;width:85%;height:85%;transition:transform .3s;animation:.4s ease-in-out piece-flip;display:flex;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:.4s ease-out piece-place}@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{background:#ffffff1a;border-radius:50%;width:60%;height:60%;box-shadow:inset 0 2px 6px #fff3}.game-controls{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}.game-controls button{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;transition:all .3s;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{z-index:100;justify-content:center;align-items:center;width:100%;max-width:800px;margin:0 auto 2rem;animation:.3s ease-out fade-in;display:flex;position:relative}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.game-over-panel{background:var(--bg-card);border:3px solid var(--accent-primary);text-align:center;border-radius:16px;max-width:500px;padding:3rem;animation:.4s ease-out slide-up;box-shadow:0 10px 40px #00000080}@keyframes slide-up{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.game-over-panel h2{color:var(--text-primary);text-shadow:2px 2px 4px #0000004d;margin-bottom:1rem;font-size:1.2rem}.game-over-panel p{color:var(--text-primary);margin-bottom:2rem;font-size:1.2rem}.game-over-buttons{flex-direction:column;gap:1rem;display:flex}.game-over-buttons button{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:1rem;font-size:.95rem;font-weight:700;transition:all .3s;box-shadow:0 4px 8px #0003}.game-over-buttons button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #0000004d}@media (width<=768px){.reversi-game{padding:.5rem;padding-top:max(.5rem, env(safe-area-inset-top,.5rem))}.reversi-board{gap:2px;padding:.5rem}.game-info{flex-direction:column;align-items:center;gap:1.5rem}.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:1.2rem}}.reversi-game .settings-section{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:6px!important;margin-bottom:4px!important;display:grid!important}.tictactoe-game{background:var(--bg-primary);min-height:100vh;color:var(--text-primary);flex-direction:column;align-items:center;padding:2rem;display:flex}.game-header{flex-direction:column;align-items:center;width:100%;max-width:1200px;margin-bottom:1rem;display:flex}.game-header-top{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.game-header h1{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;text-align:center;-webkit-background-clip:text;background-clip:text;width:100%;margin-top:.5rem;font-size:1.2rem;font-weight:700}.back-to-hub-button,.help-button,.leaderboard-button{background:var(--bg-card);border:2px solid var(--border-primary);color:var(--text-primary);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;text-overflow:ellipsis;border-radius:10px;flex-shrink:1;max-width:33%;min-height:40px;padding:.5rem .75rem;font-size:.8rem;font-weight:600;transition:all .3s;overflow:hidden}.back-to-hub-button:hover,.help-button:hover,.leaderboard-button:hover{background:var(--bg-card-hover);border-color:var(--accent-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.game-header-top .control-button{background:var(--bg-card);border:2px solid var(--border-primary);box-shadow:none}.settings-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid var(--border-primary);width:calc(100% - 40px);max-width:700px;box-shadow:var(--shadow-lg);border-radius:24px;margin:20px auto;padding:5px;animation:.5s ease-out fadeIn}.settings-panel h2{text-align:center;color:var(--text-primary);margin-bottom:2rem;font-size:1.2rem}.settings-section{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:6px;margin-bottom:4px;display:grid}.language-selector,.theme-selector{flex-direction:column;flex:1;gap:.5rem;display:flex}.language-selector label,.theme-selector label{color:var(--text-primary);font-size:.75rem;font-weight:600}.language-select,.theme-select{background:var(--bg-input);border:2px solid var(--border-primary);color:var(--text-primary);cursor:pointer;border-radius:10px;padding:.7rem 1rem;font-size:.75rem;transition:all .3s}.language-select:hover,.theme-select:hover{border-color:var(--accent-primary)}.language-select:focus,.theme-select:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #4caf501a}.player-settings{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem;display:grid}.player-config{background:var(--bg-input);border:1px solid var(--border-primary);border-radius:12px;padding:1.5rem}.player-config h3{color:var(--text-primary);margin-bottom:1rem;font-size:.95rem}.player-type-select,.difficulty-select{background:var(--bg-card);border:2px solid var(--border-primary);width:100%;color:var(--text-primary);cursor:pointer;border-radius:8px;margin-bottom:.8rem;padding:.7rem 1rem;font-size:.75rem;transition:all .3s}.player-type-select:hover,.difficulty-select:hover{border-color:var(--accent-primary)}.player-type-select:focus,.difficulty-select:focus{border-color:var(--border-focus);outline:none}.start-game-button{background:var(--btn-primary-bg);color:#fff;cursor:pointer;width:100%;box-shadow:var(--shadow-md);text-transform:uppercase;letter-spacing:1px;border:none;border-radius:12px;padding:1rem 2rem;font-size:1.2rem;font-weight:700;transition:all .3s}.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{color:var(--text-primary);text-align:center;background:var(--bg-card);border:2px solid var(--border-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;min-width:400px;margin-bottom:1.5rem;padding:1rem 2rem;font-size:1.2rem;font-weight:600}.game-result-overlay{z-index:100;justify-content:center;align-items:center;width:100%;max-width:800px;margin:0 auto 2rem;animation:.3s ease-out fadeIn;display:flex;position:relative}.game-result-card{background:var(--bg-modal);text-align:center;border:3px solid var(--border-primary);max-width:500px;box-shadow:var(--shadow-lg);border-radius:25px;padding:3rem;animation:.4s ease-out scaleIn}.result-icon{margin-bottom:1rem;font-size:5rem}.result-title{margin-bottom:.5rem;font-size:1.2rem;font-weight:700}.result-subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:1.2rem}.win-title{color:var(--status-success)}.lose-title{color:var(--status-error)}.neutral-title{color:var(--accent-primary)}.result-actions{justify-content:center;gap:1rem;display:flex}.new-game-button-large,.settings-button-large{cursor:pointer;border:none;border-radius:12px;padding:1rem 2rem;font-size:.95rem;font-weight:600;transition:all .3s}.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{justify-content:center;align-items:center;margin-bottom:2rem;display:flex}.tictactoe-board{background:var(--accent-secondary);box-shadow:var(--shadow-lg);border-radius:20px;grid-template-rows:repeat(3,150px);grid-template-columns:repeat(3,150px);place-items:center;gap:10px;padding:10px;display:grid}.cell{background:var(--bg-card);cursor:pointer;border:3px solid var(--border-primary);-webkit-user-select:none;user-select:none;border-radius:15px;justify-content:center;align-items:center;width:100%;height:100%;font-size:1.2rem;font-weight:700;transition:all .3s;display:flex;position:relative}.cell:hover{background:var(--bg-card-hover);border-color:var(--accent-primary);transform:scale(1.05)}.cell.winning{border-color:var(--status-success);background:#4caf5033;animation:1s ease-in-out infinite winningPulse}.symbol{justify-content:center;align-items:center;width:100%;height:100%;animation:.3s ease-out symbolAppear;display:flex}.symbol-x{color:#4caf50;text-shadow:2px 2px 6px #00000080}.symbol-o{color:#ff9800;text-shadow:2px 2px 6px #00000080}@keyframes symbolAppear{0%{opacity:0;transform:scale(0)rotate(-180deg)}to{opacity:1;transform:scale(1)rotate(0)}}.game-actions{justify-content:center;gap:1rem;display:flex}.undo-button,.reset-button,.settings-button{cursor:pointer;border:none;border-radius:10px;min-height:44px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.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;box-sizing:border-box;border:2px solid #0000}.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)}@media (width<=768px){.tictactoe-game{padding:.5rem}.game-header{box-sizing:border-box;width:100%;padding:0 .5rem}.game-header h1{font-size:1rem}.game-header-top{box-sizing:border-box;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.25rem;width:100%;display:flex}.back-to-hub-button,.help-button,.leaderboard-button{text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-height:34px;padding:.35rem .5rem;font-size:.7rem;overflow:hidden}.back-to-hub-button span:first-child{margin-right:.25rem}.settings-panel{padding:1.5rem}.settings-section{gap:10px;margin-bottom:6px}.player-settings{grid-template-columns:1fr}.tictactoe-board{grid-template-rows:repeat(3,100px);grid-template-columns:repeat(3,100px);gap:8px}.cell{font-size:1.2rem}.game-status{width:100%;min-width:auto;font-size:.95rem}.game-result-card{margin:1rem;padding:2rem}.result-icon{font-size:3.5rem}.result-title{font-size:1.2rem}.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{text-align:center;width:100%;max-width:1280px;height:100vh;max-height:100vh;margin:0 auto;padding:.5rem;overflow:hidden auto}@media (width>=768px){#root{padding:2rem}}.page-enter{animation:.3s ease-out forwards pageSlideIn}.page-exit{animation:.2s ease-in forwards pageSlideOut}@keyframes pageSlideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pageSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}.page-enter-back{animation:.3s ease-out forwards pageSlideInBack}@keyframes pageSlideInBack{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}
