:root{--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-tertiary:#e9ecef;--text-primary:#212529;--text-secondary:#6c757d;--border-color:#dee2e6;--shadow:#00000014;--shadow-hover:#0000001f;--accent-primary:#1e3a8a;--accent-primary-hover:#1e40af;--accent-success:#198754;--accent-success-hover:#157347;--accent-danger:#dc3545;--accent-danger-hover:#bb2d3b;--accent-warning:#ffc107;--player-x:#2563eb;--player-o:#dc2626;--board-bg:#f8f9fa;--box-hover:#e9ecef}[data-theme=dark]{--bg-primary:#121212;--bg-secondary:#1e1e1e;--bg-tertiary:#2d2d2d;--text-primary:#e4e4e4;--text-secondary:#b0b0b0;--border-color:#3a3a3a;--shadow:#0006;--shadow-hover:#0009;--accent-primary:#3b82f6;--accent-primary-hover:#2563eb;--accent-success:#51cf66;--accent-success-hover:#40c057;--accent-danger:#ff6b6b;--accent-danger-hover:#ff5252;--accent-warning:#ffd43b;--player-x:#60a5fa;--player-o:#f87171;--board-bg:#1e1e1e;--box-hover:#2d2d2d}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--bg-primary);color:#212529;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.button_Button__J8zZd{align-items:center;background-color:var(--bg-secondary);border:1px solid;border-color:var(--border-color);border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-family:\$sans;font-size:1em;font-weight:600;justify-content:center;letter-spacing:.5px;line-height:1.5;margin:0;padding:.75em 1em;text-shadow:0 1px 2px #00000026;text-transform:uppercase;transition:all .2s ease;vertical-align:middle}.button_Button__J8zZd:hover:not(:disabled){box-shadow:0 2px 4px var(--shadow-hover);opacity:.9;transform:translateY(-1px)}.button_Small__aWpMl{align-items:center;box-sizing:border-box;display:inline-flex;font-size:14px;font-weight:600;height:auto;justify-content:center;letter-spacing:.3px;line-height:1.4;margin:0;min-height:32px;padding:8px 16px;text-transform:capitalize;width:-webkit-fit-content;width:fit-content}.button_Small__aWpMl.button_Danger__PpcSv,.button_Small__aWpMl.button_Primary__uo4qs,.button_Small__aWpMl.button_Success__Nf-Fr{font-weight:700;text-shadow:0 1px 3px #0006,0 0 1px #0000004d}.button_Button__J8zZd:disabled{color:var(--text-secondary);cursor:not-allowed;opacity:.6}.button_Success__Nf-Fr{background-color:var(--accent-success);border-color:var(--accent-success);color:#fff;text-shadow:0 1px 2px #0003}.button_Success__Nf-Fr:hover:not(:disabled){background-color:var(--accent-success-hover);border-color:var(--accent-success-hover);box-shadow:0 2px 4px var(--shadow-hover);text-shadow:0 1px 3px #00000040;transform:translateY(-1px)}.button_Primary__uo4qs{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-weight:700;text-shadow:0 1px 3px #0006,0 0 1px #0000004d}.button_Primary__uo4qs:hover:not(:disabled){background-color:var(--accent-primary-hover);border-color:var(--accent-primary-hover);box-shadow:0 2px 4px var(--shadow-hover);text-shadow:0 1px 4px #00000080,0 0 2px #0006;transform:translateY(-1px)}.button_Danger__PpcSv{background-color:var(--accent-danger);border-color:var(--accent-danger);color:#fff;text-shadow:0 1px 2px #0003}.button_Danger__PpcSv:hover:not(:disabled){background-color:var(--accent-danger-hover);border-color:var(--accent-danger-hover);box-shadow:0 2px 4px var(--shadow-hover);text-shadow:0 1px 3px #00000040;transform:translateY(-1px)}.lds-ring{display:inline-block;height:64px;position:relative;width:64px}.lds-ring div{animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border:5px solid var(--accent-primary);border-color:var(--accent-primary) #0000 #0000 #0000;border-radius:50%;box-sizing:border-box;display:block;height:52px;margin:6px;position:absolute;width:52px}.lds-ring div:first-child{animation-delay:-.45s}.lds-ring div:nth-child(2){animation-delay:-.3s}.lds-ring div:nth-child(3){animation-delay:-.15s}@keyframes lds-ring{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.PreGame_overlay__6CDhD{animation:PreGame_fadeIn__6aTM\+ .2s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0006;bottom:0;left:0;position:fixed;right:0;top:0;z-index:9999}@keyframes PreGame_fadeIn__6aTM\+{0%{opacity:0}to{opacity:1}}.PreGame_container__pDIg8{animation:PreGame_slideUp__0xCQI .3s cubic-bezier(.34,1.56,.64,1);background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;box-shadow:0 8px 32px #00000026,0 2px 8px #0000001a;left:50%;max-width:380px;overflow:hidden;padding:0;position:fixed;top:50%;transform:translate(-50%,-50%);transition:all .3s ease;width:90%;z-index:10000}@keyframes PreGame_slideUp__0xCQI{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.PreGame_header__QK5-Z{background:var(--bg-primary);border-bottom:2px solid var(--border-color);padding:24px 24px 20px;position:relative;text-align:center}.PreGame_header__QK5-Z:before{background:linear-gradient(90deg,var(--player-x) 0,var(--player-o) 100%);content:"";height:4px;left:0;position:absolute;right:0;top:0}.PreGame_headerTitle__LYxgB{color:var(--text-primary);font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0 0 6px}.PreGame_headerSubtitle__Em02L{color:var(--text-secondary);font-size:13px;font-weight:400;margin:0}.PreGame_content__XPInr{padding:32px 24px;text-align:center}.PreGame_searchingContainer__pjSZZ{align-items:center;display:flex;flex-direction:column;gap:28px}.PreGame_spinnerWrapper__l9Ldv{align-items:center;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:50%;box-shadow:0 4px 12px var(--shadow);display:flex;height:72px;justify-content:center;position:relative;width:72px}.PreGame_searchingText__P8cX1{color:var(--text-primary);font-size:18px;font-weight:600;margin:0;position:relative}.PreGame_searchingText__P8cX1:after{animation:PreGame_dots__XpenS 1.5s steps(4) infinite;content:"..."}@keyframes PreGame_dots__XpenS{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.PreGame_searchingSubtext__6rU4C{color:var(--text-secondary);font-size:13px;font-weight:400;margin:4px 0 0}.PreGame_matchedContainer__wT3bk{align-items:center;animation:PreGame_matchFound__v9wEy .5s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;gap:28px}@keyframes PreGame_matchFound__v9wEy{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.PreGame_opponentCard__INI2I{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:12px;box-shadow:0 4px 12px var(--shadow);overflow:hidden;padding:20px 24px;position:relative;width:100%}.PreGame_opponentCard__INI2I:before{background:linear-gradient(90deg,var(--player-x) 0,var(--player-o) 100%);content:"";height:3px;left:0;position:absolute;right:0;top:0}.PreGame_opponentFound__wlkVp{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.PreGame_opponentName__8Jgd-{color:var(--text-primary);font-size:24px;font-weight:700;margin:0;text-transform:capitalize}.PreGame_opponentSide__ZtTbE{border-radius:6px;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.5px;margin-top:8px;padding:4px 12px;text-transform:uppercase}.PreGame_opponentSideX__J3eIb{background-color:#2563eb1a;color:var(--player-x)}.PreGame_opponentSideO__z2Sno{background-color:#dc26261a;color:var(--player-o)}.PreGame_countdownContainer__Mp2wz{align-items:center;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:12px;box-shadow:0 4px 12px var(--shadow);display:flex;flex-direction:column;gap:12px;padding:24px;width:100%}.PreGame_countdownLabel__DEPMV{color:var(--text-secondary);font-size:13px;font-weight:500;letter-spacing:.5px;margin:0;text-transform:uppercase}.PreGame_countdownNumber__OAMTW{-webkit-text-fill-color:#0000;font-feature-settings:"tnum";animation:PreGame_countdownPulse__aKTeq 1s ease-in-out infinite;background:linear-gradient(135deg,var(--player-x) 0,var(--player-o) 100%);-webkit-background-clip:text;background-clip:text;font-size:56px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1;margin:0;position:relative}@keyframes PreGame_countdownPulse__aKTeq{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.PreGame_cancelButton__8kVMV{background:var(--bg-primary)!important;border:2px solid var(--border-color)!important;border-radius:10px;color:var(--text-primary)!important;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.3px;margin-top:4px;padding:12px 20px;text-transform:none!important;transition:all .2s ease;width:100%}.PreGame_cancelButton__8kVMV:hover{background:#dc35450d!important;border-color:var(--accent-danger)!important;box-shadow:0 2px 8px #dc354526;color:var(--accent-danger)!important;transform:translateY(-1px)}.PreGame_cancelButton__8kVMV:active{transform:translateY(0)}.PreGame_cancelButton__8kVMV span{position:relative;z-index:1}@media (max-width:600px){.PreGame_container__pDIg8{border-radius:12px;max-width:none;width:95%}.PreGame_header__QK5-Z{padding:20px 20px 16px}.PreGame_headerTitle__LYxgB{font-size:20px}.PreGame_content__XPInr{padding:28px 20px}.PreGame_countdownNumber__OAMTW{font-size:48px}.PreGame_spinnerWrapper__l9Ldv{height:64px;width:64px}.PreGame_opponentCard__INI2I{padding:18px 20px}.PreGame_opponentName__8Jgd-{font-size:20px}}.Box_box__6XAdY{align-items:center;background-color:var(--bg-primary);box-sizing:border-box;color:var(--text-primary);cursor:pointer;display:flex;height:100px;height:var(--box-size,100px);justify-content:center;min-height:100px;min-height:var(--box-size,100px);min-width:100px;min-width:var(--box-size,100px);transition:background-color .3s ease,color .3s ease,transform .2s ease;width:100px;width:var(--box-size,100px)}.Box_box__6XAdY:hover:not([aria-disabled=true]){background-color:var(--box-hover);transform:scale(1.02)}.Box_box__6XAdY[aria-disabled=true]{cursor:not-allowed;opacity:.6}.Box_text__-53aS{align-items:center;color:var(--text-primary);display:flex;font-size:70px;font-size:var(--box-font-size,70px);font-weight:700;justify-content:center;line-height:1;margin:0;padding:0;text-align:center;transition:color .3s ease}.Box_text__-53aS[data-player=X]{color:var(--player-x)}.Box_text__-53aS[data-player=O]{color:var(--player-o)}.Box_bottom__UbLOh{border-bottom:2px solid var(--border-color)}.Box_right__Z3\+3o{border-right:2px solid var(--border-color)}.Box_winning__q4EIv{animation:Box_pulse__5MvhD .6s ease-in-out;background-color:#0d6efd1a!important}@keyframes Box_pulse__5MvhD{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.Board_board__PSzaK{background-color:var(--board-bg);border:2px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px var(--shadow);box-sizing:border-box;display:flex;flex-direction:column;gap:0;margin:0 auto;max-width:100%;padding:12px;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease;width:-webkit-fit-content;width:fit-content}.Board_board__PSzaK[data-size="3"]{--box-size:100px;--box-font-size:70px}.Board_board__PSzaK[data-size="4"]{--box-size:75px;--box-font-size:50px}.Board_board__PSzaK[data-size="5"]{--box-size:60px;--box-font-size:40px}@media (max-width:600px){.Board_board__PSzaK{transform:scale(.85);transform-origin:center}.Board_board__PSzaK[data-size="4"]{--box-size:65px;--box-font-size:45px}.Board_board__PSzaK[data-size="5"]{--box-size:50px;--box-font-size:35px}}@media (max-width:400px){.Board_board__PSzaK{transform:scale(.75)}.Board_board__PSzaK[data-size="4"]{--box-size:55px;--box-font-size:38px}.Board_board__PSzaK[data-size="5"]{--box-size:45px;--box-font-size:30px}}.Board_row__8lW6I{display:flex;position:relative}.Board_winningLine__paiK4{background:linear-gradient(to right,#0000,var(--accent-primary),#0000);border-radius:4px;box-shadow:0 0 10px var(--accent-primary);pointer-events:none;position:absolute;z-index:10}.Board_board__PSzaK{position:relative;z-index:1}.Board_winCol1__\+z-cJ,.Board_winCol2__uw2hw,.Board_winCol3__xUOs0,.Board_winRow1__5jlrP,.Board_winRow2__lp02k,.Board_winRow3__KZ-p1{animation:Board_drawLineHorizontal__JtEUq .5s ease-out}.Board_winDiag1__Zl\+Nq,.Board_winDiag2__xeHbq{animation:Board_drawLineDiagonal__Bro8K .5s ease-out}@keyframes Board_drawLineHorizontal__JtEUq{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes Board_drawLineDiagonal1__7KED7{0%{opacity:0;transform:rotate(45deg) scaleX(0)}to{opacity:1;transform:rotate(45deg) scaleX(1)}}@keyframes Board_drawLineDiagonal2__x48sq{0%{opacity:0;transform:rotate(-45deg) scaleX(0)}to{opacity:1;transform:rotate(-45deg) scaleX(1)}}.Board_winDiag1__Zl\+Nq{animation:Board_drawLineDiagonal1__7KED7 .5s ease-out;transform:rotate(45deg)}.Board_winDiag2__xeHbq{animation:Board_drawLineDiagonal2__x48sq .5s ease-out;transform:rotate(-45deg)}.Board_winRow1__5jlrP{top:62px}.Board_winRow1__5jlrP,.Board_winRow2__lp02k{height:4px;left:12px;transform-origin:left center;width:300px}.Board_winRow2__lp02k{top:162px}.Board_winRow3__KZ-p1{height:4px;left:12px;top:262px;transform-origin:left center;width:300px}.Board_winCol1__\+z-cJ{left:62px}.Board_winCol1__\+z-cJ,.Board_winCol2__uw2hw{height:300px;top:12px;transform-origin:center top;width:4px}.Board_winCol2__uw2hw{left:162px}.Board_winCol3__xUOs0{height:300px;left:262px;top:12px;transform-origin:center top;width:4px}.Board_winDiag1__Zl\+Nq{height:4px;left:62px;top:62px;transform-origin:left center;width:283px}.Board_winDiag2__xeHbq{height:4px;right:62px;top:62px;transform-origin:right center;width:283px}.Game_contentContainer__X9KKP{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 2px 4px var(--shadow);box-sizing:border-box;display:flex;flex-direction:column;gap:8px;justify-content:flex-start;max-height:500px;min-height:400px;overflow-x:hidden;overflow-y:auto;padding:16px 20px;width:100%}.Game_miniHeaders__\+babG{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 1px 3px var(--shadow);color:var(--text-primary);flex-shrink:0;font-size:14px;font-weight:600;margin:0;min-width:200px;padding:8px 12px;position:relative;text-align:center;transition:color .3s ease;width:-webkit-fit-content;width:fit-content;z-index:10}.Game_board__lC\+kL{flex:0 0 auto;margin:8px 0;position:relative;z-index:1}.Game_board__lC\+kL,.Game_buttons__lRUdj{align-items:center;display:flex;justify-content:center;width:100%}.Game_buttons__lRUdj{flex-direction:row;flex-wrap:wrap;gap:16px;margin:24px 0 0;max-width:600px}.Game_buttons__lRUdj button{border:none;border-radius:12px;box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:700;letter-spacing:.5px;min-width:160px;overflow:hidden;padding:16px 24px;position:relative;text-shadow:0 1px 2px #0003;text-transform:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.Game_buttons__lRUdj button:first-child{background:linear-gradient(135deg,#4c63d2,#5a3d7a);box-shadow:0 4px 12px #4c63d259,0 2px 4px #4c63d240}.Game_buttons__lRUdj button:first-child:hover{background:linear-gradient(135deg,#5a3d7a,#4c63d2);box-shadow:0 6px 20px #4c63d273,0 4px 8px #4c63d259}.Game_buttons__lRUdj button:nth-child(2){background:linear-gradient(135deg,#0d7377,#14a085);box-shadow:0 4px 12px #0d737759,0 2px 4px #0d737740}.Game_buttons__lRUdj button:nth-child(2):hover{background:linear-gradient(135deg,#14a085,#0d7377);box-shadow:0 6px 20px #0d737773,0 4px 8px #0d737759}.Game_buttons__lRUdj button:nth-child(3){background:linear-gradient(135deg,#c44569,#d63031);box-shadow:0 4px 12px #c4456959,0 2px 4px #c4456940}.Game_buttons__lRUdj button:nth-child(3):hover{background:linear-gradient(135deg,#d63031,#c44569);box-shadow:0 6px 20px #c4456973,0 4px 8px #c4456959}.Game_buttons__lRUdj button:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.Game_buttons__lRUdj button:hover{transform:translateY(-3px) scale(1.02)}.Game_buttons__lRUdj button:hover:before{left:100%}.Game_buttons__lRUdj button:active{box-shadow:0 2px 8px #0003;transform:translateY(-1px) scale(.98)}.Game_buttons__lRUdj button:focus-visible{outline:3px solid #ffffff80;outline-offset:3px}.Game_boardSizeSelector__eYTKq{margin-bottom:20px;text-align:center}.Game_boardSizeLabel__t1O6q{color:var(--text-primary);font-size:14px;font-weight:600;margin:0 0 12px}.Game_boardSizeButtons__tetDb{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.Game_boardSizeButtons__tetDb button{border-radius:8px!important;font-size:14px!important;min-width:80px;padding:10px 16px!important}.Game_boardSizeButtons__tetDb button.Game_selectedSize__RJdkM{background:linear-gradient(135deg,#667eea,#764ba2)!important;box-shadow:0 4px 12px #667eea66!important;transform:scale(1.05)}@media (max-width:600px){.Game_contentContainer__X9KKP{gap:16px;max-height:600px;min-height:350px;padding:20px 16px}.Game_miniHeaders__\+babG{font-size:13px;margin:4px 0;min-width:180px;padding:10px 14px}.Game_board__lC\+kL{margin:12px 0}.Game_boardSizeSelector__eYTKq{margin-bottom:20px}.Game_boardSizeLabel__t1O6q{font-size:13px;margin-bottom:14px}.Game_boardSizeButtons__tetDb{gap:10px}.Game_boardSizeButtons__tetDb button{font-size:14px!important;min-width:75px;padding:10px 14px!important}.Game_buttons__lRUdj{flex-direction:column;gap:16px;margin:24px 0 0;max-width:100%}.Game_buttons__lRUdj button{border-radius:12px!important;font-size:15px!important;min-width:0;min-width:auto;padding:16px 24px!important;width:100%}}.input_Input__85FEq{box-sizing:border-box;padding:0;position:relative;width:100%}.input_Label__DeRuT{color:var(--text-primary);display:block;font-size:14px;font-weight:600;margin-bottom:8px;transition:color .3s ease}.input_InputElement__ciuYP{-webkit-appearance:none;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:10px;box-sizing:border-box;color:var(--text-primary);display:block;font:inherit;font-size:16px;min-height:48px;outline:none;padding:12px 16px;transition:all .2s ease;width:100%}.input_InputElement__ciuYP::placeholder{color:var(--text-secondary);opacity:.6}.input_InputElement__ciuYP:focus{background-color:var(--bg-primary);border-color:var(--accent-primary);box-shadow:0 0 0 3px #1e3a8a1a;outline:none}.input_InputElement__ciuYP.input_Invalid__lZSmg{background-color:#dc35450d;border-color:var(--accent-danger)}.input_InputElement__ciuYP.input_Invalid__lZSmg:focus{border-color:var(--accent-danger);box-shadow:0 0 0 3px #dc35451a}.input_InputElement__ciuYP.input_Invalid__lZSmg.input_touched__lg8ow{animation:input_shake__zek7v .3s ease}@keyframes input_shake__zek7v{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.input_errorText__UhYQ9{color:var(--accent-danger);display:block;font-size:12px;margin-top:6px;min-height:18px}@media (min-width:600px){.input_InputElement__ciuYP{min-height:44px;padding:10px 14px}}.Spinner_Loader__LIS6L,.Spinner_Loader__LIS6L:after,.Spinner_Loader__LIS6L:before{border-radius:50%}.Spinner_Loader__LIS6L{box-shadow:inset 0 0 0 1em;color:#521751;font-size:11px;height:10em;margin:55px auto;position:relative;text-indent:-99999em;transform:translateZ(0);width:10em}.Spinner_Loader__LIS6L:after,.Spinner_Loader__LIS6L:before{content:"";position:absolute}.Spinner_Loader__LIS6L:before{animation:Spinner_load2__XlSsT 2s ease 1.5s infinite;background:#fff;border-radius:10.2em 0 0 10.2em;height:10.2em;left:-.1em;top:-.1em;transform-origin:5.2em 5.1em;width:5.2em}.Spinner_Loader__LIS6L:after{animation:Spinner_load2__XlSsT 2s ease infinite;background:#fff;border-radius:0 10.2em 10.2em 0;height:10.2em;left:5.1em;top:-.1em;transform-origin:0 5.1em;width:5.2em}@keyframes Spinner_load2__XlSsT{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.Auth_Auth__J23lT{animation:Auth_slideIn__V2rlc .3s ease-out;background-color:var(--bg-primary);border-radius:20px;box-shadow:0 20px 60px #0000004d,0 0 0 1px var(--border-color);left:50%;max-width:420px;overflow:hidden;padding:0;position:fixed;top:50%;transform:translate(-50%,-50%);transition:all .3s ease;width:90%;z-index:1000}@keyframes Auth_slideIn__V2rlc{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.Auth_overlay__onLad{animation:Auth_fadeIn__B1SbD .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}@keyframes Auth_fadeIn__B1SbD{0%{opacity:0}to{opacity:1}}.Auth_header__qmuRt{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-primary-hover) 100%);color:#fff;padding:32px 32px 24px;position:relative;text-align:center}.Auth_headerTitle__HmbcU{font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0 0 8px}.Auth_headerSubtitle__aLym0{font-size:14px;font-weight:400;margin:0;opacity:.9}.Auth_closeButton__DtY2H{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:600;height:32px;justify-content:center;line-height:1;padding:0;position:absolute;right:16px;top:16px;transition:all .2s ease;width:32px}.Auth_closeButton__DtY2H:hover{background:#ffffff4d;transform:scale(1.1)}.Auth_closeButton__DtY2H:active{transform:scale(.95)}.Auth_content__y6ExC{padding:32px}.Auth_form__UlHVT{display:flex;flex-direction:column;gap:20px}.Auth_errorMessage__-2mWy{animation:Auth_shake__IbcOu .4s ease;background-color:#dc35451a;border:1px solid var(--accent-danger);border-radius:8px;color:var(--accent-danger);font-size:14px;margin-bottom:8px;padding:12px 16px;text-align:left}@keyframes Auth_shake__IbcOu{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.Auth_submitButton__ju4Os{background:linear-gradient(135deg,var(--accent-success) 0,var(--accent-success-hover) 100%)!important;border:none!important;border-radius:12px;box-shadow:0 4px 16px #19875466;color:#fff!important;cursor:pointer;font-size:16px;font-weight:700;letter-spacing:.5px;margin-top:8px;overflow:hidden;padding:16px 24px;position:relative;text-transform:none!important;transition:all .3s ease;width:100%}.Auth_submitButton__ju4Os:before{background:#ffffff40;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.Auth_submitButton__ju4Os:hover:not(:disabled):before{height:400px;width:400px}.Auth_submitButton__ju4Os:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-success-hover) 0,var(--accent-success) 100%)!important;box-shadow:0 8px 24px #19875480;transform:translateY(-3px)}.Auth_submitButton__ju4Os:active:not(:disabled){box-shadow:0 4px 12px #19875466;transform:translateY(-1px)}.Auth_submitButton__ju4Os:focus:not(:disabled){box-shadow:0 0 0 4px #19875433,0 8px 24px #19875480;outline:none}.Auth_submitButton__ju4Os:disabled{background:var(--bg-tertiary)!important;box-shadow:0 2px 8px #0000001a!important;color:var(--text-secondary)!important;cursor:not-allowed;opacity:.5;transform:none!important}.Auth_submitButton__ju4Os span{position:relative;z-index:1}[data-theme=dark] .Auth_submitButton__ju4Os{box-shadow:0 4px 16px #51cf6666}[data-theme=dark] .Auth_submitButton__ju4Os:hover:not(:disabled){box-shadow:0 8px 24px #51cf6680}.Auth_switchContainer__bv1iH{border-top:1px solid var(--border-color);margin-top:24px;padding-top:24px;text-align:center}.Auth_switchText__0d-Jd{color:var(--text-secondary);font-size:14px;font-weight:400;margin-bottom:16px}.Auth_switchButton__wPD8J{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-primary-hover) 100%);border:none;border-radius:10px;box-shadow:0 4px 12px #1e3a8a4d;color:#fff;cursor:pointer;font-size:15px;font-weight:600;overflow:hidden;padding:14px 20px;position:relative;transition:all .3s ease;width:100%}.Auth_switchButton__wPD8J:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.Auth_switchButton__wPD8J:hover:before{height:300px;width:300px}.Auth_switchButton__wPD8J:hover{box-shadow:0 6px 20px #1e3a8a66;transform:translateY(-2px)}.Auth_switchButton__wPD8J:active{box-shadow:0 2px 8px #1e3a8a4d;transform:translateY(0)}.Auth_switchButton__wPD8J:focus{box-shadow:0 0 0 3px #1e3a8a33,0 6px 20px #1e3a8a66;outline:none}.Auth_switchButton__wPD8J span{position:relative;z-index:1}[data-theme=dark] .Auth_switchButton__wPD8J{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-primary-hover) 100%);box-shadow:0 4px 12px #3b82f666}[data-theme=dark] .Auth_switchButton__wPD8J:hover{box-shadow:0 6px 20px #3b82f680}.Auth_loadingContainer__4LvwU{align-items:center;display:flex;flex-direction:column;gap:16px;padding:60px 32px}.Auth_loadingText__zkr8s{color:var(--text-secondary);font-size:14px}@media (min-width:600px){.Auth_Auth__J23lT{max-width:450px}}@media (max-width:600px){.Auth_Auth__J23lT{border-radius:16px;max-width:none;width:95%}.Auth_header__qmuRt{padding:24px 24px 20px}.Auth_headerTitle__HmbcU{font-size:24px}.Auth_content__y6ExC{padding:24px}.Auth_closeButton__DtY2H{font-size:16px;height:28px;right:12px;top:12px;width:28px}}.Leaderboard_container__CXXC3{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;position:relative;width:100%;z-index:1}.Leaderboard_list__I9hlv{background-color:initial;border:none;border-radius:0;box-shadow:none;height:100%;margin:0;overflow:auto;padding:5px;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease;width:100%}.Leaderboard_username__jy9em{float:left}.Leaderboard_points__BYvF3,.Leaderboard_username__jy9em{color:var(--text-primary);font-weight:700;transition:color .3s ease}.Leaderboard_points__BYvF3{text-align:right}.Leaderboard_item__9a-xJ{background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);border-radius:4px;box-shadow:0 1px 2px var(--shadow);box-sizing:border-box;margin-bottom:2px;padding:12px;transition:background-color .2s ease,transform .2s ease}.Leaderboard_item__9a-xJ:hover{background-color:var(--bg-tertiary);transform:translateX(2px)}.Leaderboard_item__9a-xJ:last-child{border-bottom:none}.ErrorBoundary_errorBoundary__Lgcta{align-items:center;background-color:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;padding:20px;transition:background-color .3s ease}.ErrorBoundary_errorContent__PyXZc{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 10px var(--shadow);color:var(--text-primary);max-width:600px;padding:40px;text-align:center;transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease;width:100%}.ErrorBoundary_errorTitle__pSrMx{color:#d32f2f;font-size:2rem;font-weight:700;margin-bottom:16px}.ErrorBoundary_errorMessage__Ioeu\+{color:var(--text-secondary);font-size:1.1rem;line-height:1.6;margin-bottom:24px;transition:color .3s ease}.ErrorBoundary_errorDetails__vCcgF{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;margin:24px 0;padding:16px;text-align:left;transition:background-color .3s ease,border-color .3s ease}.ErrorBoundary_errorDetails__vCcgF summary{color:var(--text-primary);cursor:pointer;font-weight:700;margin-bottom:8px;transition:color .3s ease}.ErrorBoundary_errorDetails__vCcgF summary:hover{color:#d32f2f}.ErrorBoundary_errorStack__CwpKh{word-wrap:break-word;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:#d32f2f;font-size:.85rem;margin-top:12px;overflow-x:auto;padding:12px;transition:background-color .3s ease,border-color .3s ease;white-space:pre-wrap}.ErrorBoundary_errorActions__\+PHBj{display:flex;gap:10px;justify-content:center;margin-top:24px}@media (max-width:600px){.ErrorBoundary_errorContent__PyXZc{padding:24px}.ErrorBoundary_errorTitle__pSrMx{font-size:1.5rem}.ErrorBoundary_errorActions__\+PHBj{flex-direction:column}}.ThemeToggle_themeToggle__HFBfn{align-items:center;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:var(--text-primary);cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;height:36px;justify-content:center;line-height:0;margin:0;min-height:36px;min-width:36px;outline:none;padding:0;transition:all .2s ease;width:36px}.ThemeToggle_themeToggle__HFBfn svg{color:inherit;display:block;height:18px;margin:0;padding:0;width:18px}.ThemeToggle_themeToggle__HFBfn:hover{background-color:var(--bg-tertiary)!important;border-color:var(--accent-primary)!important;box-shadow:0 2px 6px var(--shadow);transform:translateY(-1px)}.ThemeToggle_themeToggle__HFBfn:active{transform:translateY(0)}@media (max-width:600px){.ThemeToggle_themeToggle__HFBfn{height:32px!important;min-height:32px!important;min-width:32px!important;width:32px!important}.ThemeToggle_themeToggle__HFBfn svg{height:16px!important;width:16px!important}}.App_container__Rt8T2{background-color:var(--bg-primary);color:var(--text-primary);margin:auto;text-align:center;transition:background-color .3s ease,color .3s ease}.App_headerRow__78tK2{grid-gap:20px;align-items:center;display:grid;gap:20px;grid-template-columns:1fr 1fr auto;margin-bottom:20px;width:100%}.App_headerRow__78tK2.App_centeredHeader__VXanD{grid-template-columns:1fr auto 1fr;justify-items:center}.App_headerRow__78tK2.App_centeredHeader__VXanD .App_header__fhC8n{grid-column:2;justify-self:center;text-align:center}.App_headerRow__78tK2.App_centeredHeader__VXanD .App_button__oPcFP{grid-column:3;justify-self:end}.App_button__oPcFP{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px var(--shadow);display:flex;gap:8px;justify-self:end;padding:8px;transition:all .3s ease;z-index:100}.App_button__oPcFP:hover{box-shadow:0 4px 12px var(--shadow-hover)}.App_button__oPcFP a{color:var(--text-primary);margin:0;padding:0;text-decoration:none}.App_button__oPcFP a,.App_githubLink__9-cOV{align-items:center;display:flex;justify-content:center;transition:all .2s ease}.App_githubLink__9-cOV{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;flex-shrink:0;height:36px;line-height:0;min-height:36px;min-width:36px;width:36px}.App_githubLink__9-cOV svg{color:var(--text-primary);display:block;height:18px!important;margin:0;padding:0;width:18px!important}.App_githubLink__9-cOV:hover{background-color:var(--bg-tertiary);border-color:var(--accent-primary);box-shadow:0 2px 6px var(--shadow);transform:translateY(-1px)}.App_githubLink__9-cOV:active{transform:translateY(0)}.App_logoutButton__DuiZL{align-items:center;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--accent-danger);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;line-height:0;margin:0;min-height:36px;min-width:36px;padding:0;transition:all .2s ease;width:36px}.App_logoutButton__DuiZL:hover{background-color:#dc35451a;border-color:var(--accent-danger);box-shadow:0 2px 6px #dc354533;transform:translateY(-1px)}.App_logoutButton__DuiZL:active{transform:translateY(0)}.App_logoutButton__DuiZL svg{display:block;height:18px;margin:0;padding:0;width:18px}@media (max-width:600px){.App_headerRow__78tK2{gap:20px;grid-template-columns:1fr;margin-bottom:24px}.App_headerRow__78tK2 .App_header__fhC8n:last-of-type{display:none}.App_button__oPcFP{gap:6px;justify-self:center;padding:6px}.App_githubLink__9-cOV,.App_logoutButton__DuiZL{height:32px;min-height:32px;min-width:32px;width:32px}.App_githubLink__9-cOV svg,.App_logoutButton__DuiZL svg{height:16px!important;width:16px!important}.App_contentContainer__3gsZa{max-height:600px;min-height:350px;padding:20px 16px}.App_gridContainer__ALkEu{gap:24px;grid-template-columns:1fr}.App_gridContainer__ALkEu.App_centered__fdVlb{max-width:100%}.App_headerRow__78tK2.App_centeredHeader__VXanD{grid-template-columns:1fr;justify-items:center}}.App_header__fhC8n{color:var(--text-primary);font-size:1.75rem;font-weight:700;letter-spacing:.5px;line-height:1.2;margin:0;padding:0;position:relative;text-align:center;transition:color .3s ease}.App_header__fhC8n:after{background:linear-gradient(to right,#0000,var(--accent-primary),#0000);border-radius:2px;bottom:-8px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.App_contentContainer__3gsZa{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 2px 4px var(--shadow);box-sizing:border-box;display:flex;height:400px;justify-content:center;overflow:hidden;padding:20px;width:100%}@media (min-width:600px){.App_container__Rt8T2{box-sizing:border-box;left:50%;max-width:1400px;position:absolute;top:50%;transform:translate(-50%,-50%);width:90%}.App_headerRow__78tK2{margin-bottom:30px}.App_gridContainer__ALkEu{grid-gap:40px;align-items:start;display:grid;gap:40px;grid-template-columns:repeat(2,minmax(0,1fr));margin:auto;position:relative;width:100%;z-index:1}.App_gridContainer__ALkEu.App_centered__fdVlb{grid-template-columns:1fr;justify-items:center;max-width:600px}.App_section__jwu5t{align-items:center;display:flex;flex-direction:column;position:relative;width:100%}.App_section__jwu5t:last-child{z-index:20}}
/*# sourceMappingURL=main.745f417e.css.map*/