@charset "UTF-8";.help-btn{position:fixed;top:20px;right:20px;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);border:3px solid rgba(255,255,255,.3);color:#fff;font-size:28px;font-weight:800;cursor:pointer;box-shadow:0 4px 16px #667eea66;transition:all .3s;z-index:1000;display:flex;align-items:center;justify-content:center}.help-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px #667eea99}.rules-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:9999;padding:2rem}.rules-popup{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:20px;padding:2rem;max-width:600px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;border:2px solid rgba(255,255,255,.1);position:relative}.rules-popup h2{color:#fff;font-size:2rem;text-align:center;margin-bottom:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rules-popup .close-btn{position:absolute;top:15px;right:15px;width:35px;height:35px;border-radius:50%;background:#ffffff1a;border:none;color:#fff;font-size:20px;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center}.rules-popup .close-btn:hover{background:#ff3b30cc;transform:rotate(90deg)}.rules-content section{margin-bottom:1.5rem}.rules-content section h3{color:#667eea;font-size:1.3rem;margin-bottom:.5rem}.rules-content section p{color:#fffc;font-size:1rem;line-height:1.6}.rules-content section ul{list-style:none;padding:0}.rules-content section ul li{color:#fffc;font-size:1rem;line-height:1.8;padding-left:1.5rem;position:relative}.rules-content section ul li:before{content:"•";position:absolute;left:.5rem;color:#667eea;font-weight:700}.rules-content section ul li strong{color:#fff}@media (max-width: 768px){.help-btn{width:40px;height:40px;font-size:22px;top:15px;right:15px}.rules-popup{padding:1.5rem}.rules-popup h2{font-size:1.5rem}.rules-popup .rules-content section h3{font-size:1.1rem}.rules-popup .rules-content section p,.rules-popup .rules-content section ul li{font-size:.9rem}}.home{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f0f1e,#1a1a2e,#16213e);padding:2rem}.home-container{max-width:600px;width:100%;padding:3rem;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:24px;box-shadow:0 20px 60px #00000080}.title{font-size:2.5rem;font-weight:900;text-align:center;margin-bottom:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{text-align:center;color:#fff9;margin-bottom:2rem;font-size:1.1rem}.input-group{margin-bottom:1.5rem}.input{width:100%;padding:1rem 1.5rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:1rem;transition:all .3s ease}.input:focus{outline:none;border-color:#667eea;background:#ffffff1a}.input::placeholder{color:#fff6}.button-group{display:flex;gap:1rem;margin-bottom:1.5rem}.btn{flex:1;padding:1rem 2rem;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;color:#fff}.btn.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea66}.btn.btn-primary:hover{box-shadow:0 6px 20px #667eea99}.btn.btn-secondary{background:linear-gradient(135deg,#f093fb,#f5576c);box-shadow:0 4px 15px #f5576c66}.btn.btn-secondary:hover{box-shadow:0 6px 20px #f5576c99}.btn.btn-success{background:linear-gradient(135deg,#4facfe,#00f2fe);box-shadow:0 4px 15px #4facfe66}.btn.btn-success:hover{box-shadow:0 6px 20px #4facfe99}.join-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.error{padding:1rem;background:#ff6b6b33;border:2px solid #ff6b6b;border-radius:12px;color:#ff6b6b;text-align:center;margin-bottom:1.5rem}.rules{padding:1.5rem;background:#ffffff0d;border-radius:12px;margin-top:2rem}.rules h3{color:#fff;margin-bottom:1rem;font-size:1.2rem}.rules ul{list-style:none;padding:0;color:#ffffffb3}.rules ul li{padding:.5rem 0 .5rem 1.5rem;position:relative}.rules ul li:before{content:"▸";position:absolute;left:0;color:#667eea}@media (max-width: 768px){.home-container{padding:2rem}.title{font-size:2rem}.button-group{flex-direction:column}.btn{width:100%}}.exit-button{position:fixed;top:20px;left:20px;z-index:10004;width:50px;height:50px;border-radius:50%;border:none;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;font-size:1.8rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #ff6b6b66;transition:all .3s ease}.exit-button:hover{box-shadow:0 6px 20px #ff6b6b99;background:linear-gradient(135deg,#ee5a6f,#ff6b6b)}.exit-button:active{transform:scale(.95)}@media (max-width: 768px){.exit-button{width:44px;height:44px;font-size:1.5rem;top:15px;left:15px}}.matchmaking{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f0f1e,#1a1a2e,#16213e);padding:2rem}.matchmaking-container{max-width:600px;width:100%;padding:3rem;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:24px;box-shadow:0 20px 60px #00000080}.title{font-size:2.5rem;font-weight:900;text-align:center;margin-bottom:2rem;color:#fff;text-shadow:0 4px 20px rgba(102,126,234,.6)}.title .game-icon{margin-right:.5rem;background:none!important;-webkit-background-clip:initial!important;-webkit-text-fill-color:initial!important;background-clip:initial!important}.title span:not(.game-icon){background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.room-code-section{text-align:center;margin-bottom:3rem}.room-code-section .room-code-label{color:#fff9;font-size:.9rem;margin-bottom:.5rem}.room-code-section .room-code{font-size:3rem;font-weight:900;letter-spacing:.5rem;color:#667eea;text-shadow:0 0 20px rgba(102,126,234,.5);margin-bottom:1rem}.room-code-section .copy-btn{padding:.8rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.room-code-section .copy-btn:hover{box-shadow:0 6px 20px #667eea99}.players-section{margin-bottom:2rem}.players-section h2{color:#fff;font-size:1.5rem;margin-bottom:1rem;text-align:center}.players-section .players-list{display:flex;flex-direction:column;gap:1rem}.players-section .player-item{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:16px;transition:all .3s ease}.players-section .player-item.ready{border-color:#4ecdc499;background:#4ecdc41a}.players-section .player-item.waiting{border-style:dashed}.players-section .player-item .player-symbol{font-size:2rem;font-weight:900;text-shadow:0 0 10px currentColor}.players-section .player-item .player-name{flex:1;font-size:1.2rem;color:#fff;font-weight:700}.players-section .player-item .ready-badge{padding:.5rem 1rem;background:#4ecdc433;border-radius:8px;color:#4ecdc4;font-weight:700;font-size:.9rem}.players-section .player-item .waiting-animation{display:flex;gap:.5rem}.players-section .player-item .waiting-animation .dot{width:12px;height:12px;background:#ffffff80;border-radius:50%;animation:bounce 1.4s infinite ease-in-out}.players-section .player-item .waiting-animation .dot:nth-child(1){animation-delay:-.32s}.players-section .player-item .waiting-animation .dot:nth-child(2){animation-delay:-.16s}.ready-btn{width:100%;padding:1.5rem;background:linear-gradient(135deg,#4facfe,#00f2fe);border:none;border-radius:16px;color:#fff;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #4facfe66}.ready-btn:hover:not(:disabled){box-shadow:0 6px 20px #4facfe99}.ready-btn:disabled{opacity:.6;cursor:not-allowed}.ready-btn.ready{background:linear-gradient(135deg,#4ecdc4,#44a08d)}.starting-message{text-align:center;font-size:2rem;font-weight:900;color:gold;text-shadow:0 0 20px rgba(255,215,0,.5);padding:2rem;animation:pulse 1s infinite}.opponent-ready-notification{text-align:center;font-size:1.2rem;font-weight:700;color:#4ecdc4;background:#4ecdc433;border:2px solid rgba(78,205,196,.5);border-radius:12px;padding:1rem;margin-top:1rem;box-shadow:0 4px 15px #4ecdc44d}.instructions{text-align:center;padding:1.5rem;background:#ffffff0d;border-radius:12px;margin-top:2rem}.instructions p{color:#ffffffb3;font-size:1rem}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (max-width: 768px){.matchmaking-container{padding:2rem}.title{font-size:2rem}.room-code-section .room-code{font-size:2rem;letter-spacing:.3rem}.player-item .player-symbol{font-size:1.5rem}.player-item .player-name{font-size:1rem}.random-selection-content{padding:2rem 2.5rem;margin:1rem}.random-selection-content h2{font-size:1.5rem;margin-bottom:1.5rem}.random-selection-content .selected-symbol{font-size:4rem;margin:.8rem 0}.random-selection-content .selection-message{font-size:1.2rem;margin-top:.8rem}}@media (max-width: 480px){.matchmaking{padding:1rem}.matchmaking-container{padding:1.5rem}.title{font-size:1.8rem;margin-bottom:1.5rem}.random-selection-content{padding:1.5rem 2rem;margin:.5rem}.random-selection-content h2{font-size:1.3rem;margin-bottom:1.2rem}.random-selection-content .selected-symbol{font-size:3rem;margin:.6rem 0}.random-selection-content .selection-message{font-size:1rem;margin-top:.6rem}}.random-selection-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000}.random-selection-content{text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:3rem 4rem;border-radius:20px;box-shadow:0 20px 60px #667eea66}.random-selection-content h2{color:#fff;font-size:2rem;margin-bottom:2rem;text-shadow:0 2px 10px rgba(0,0,0,.3)}.random-selection-content .selected-symbol{font-size:6rem;font-weight:700;margin:1rem 0;text-shadow:0 4px 20px rgba(0,0,0,.5);animation:pulse 1s ease-in-out infinite}.random-selection-content .selection-message{color:#fff;font-size:1.5rem;margin-top:1rem;opacity:.9}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.cell{width:150px;height:150px;background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid rgba(255,255,255,.1);border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.cell:hover:not(.occupied):not(.disabled){background:linear-gradient(135deg,#2a2a3e,#26314e);border-color:#ffffff4d;transform:scale(1.05)}.cell.disabled{cursor:not-allowed;opacity:.6}.cell.occupied{cursor:default}.cell.win-cell{background:linear-gradient(135deg,gold,#ffed4e);border-color:gold;box-shadow:0 0 20px #ffd70099}.cell .symbol{font-size:4rem;font-weight:900;-webkit-user-select:none;user-select:none;text-shadow:0 2px 10px rgba(0,0,0,.3)}.cell .symbol.symbol-X{color:#ff6b6b;text-shadow:0 0 10px rgba(255,107,107,.5)}.cell .symbol.symbol-O{color:#4ecdc4;text-shadow:0 0 10px rgba(78,205,196,.5)}.cell .first-turn-indicator{position:absolute;font-size:4rem;font-weight:900;color:#fff;opacity:.15;pointer-events:none;-webkit-user-select:none;user-select:none}@media (max-width: 768px){.cell{width:100px;height:100px;border-radius:8px}.cell .symbol,.cell .first-turn-indicator{font-size:3rem}}@media (max-width: 480px){.cell{width:85px;height:85px;border-radius:6px}.cell .symbol,.cell .first-turn-indicator{font-size:2.5rem}}@media (max-width: 360px){.cell{width:70px;height:70px;border-radius:6px}.cell .symbol,.cell .first-turn-indicator{font-size:2rem}}.board-container{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem}.board{display:grid;grid-template-columns:repeat(3,150px);grid-template-rows:repeat(3,150px);gap:12px;width:500px;padding:20px;background:linear-gradient(135deg,#0f0f1e,#1a1a2e);border-radius:20px;box-shadow:0 10px 40px #00000080}.waiting{font-size:1.5rem;color:#ffffffb3;text-align:center;padding:3rem}.game-over{text-align:center;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 8px 32px #667eea66}.game-over h2{font-size:2.5rem;margin-bottom:1rem;color:#fff}.game-over p{font-size:1.2rem;color:#ffffffe6}@media (max-width: 768px){.board{grid-template-columns:repeat(3,100px);grid-template-rows:repeat(3,100px);width:auto;gap:10px;padding:15px}.game-over h2{font-size:1.8rem}.game-over p{font-size:1rem}}@media (max-width: 480px){.board-container{padding:1rem;gap:1rem}.board{grid-template-columns:repeat(3,85px);grid-template-rows:repeat(3,85px);gap:6px;padding:10px}}@media (max-width: 360px){.board-container{padding:.8rem;gap:.8rem}.board{grid-template-columns:repeat(3,70px);grid-template-rows:repeat(3,70px);gap:5px;padding:8px}}.sticker-picker{position:fixed;bottom:80px;right:20px;width:380px;max-height:420px;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:20px;box-shadow:0 10px 40px #00000080;z-index:10002;display:flex;flex-direction:column;overflow:hidden}.sticker-picker .sticker-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:2px solid rgba(255,255,255,.1)}.sticker-picker .sticker-header h3{font-size:18px;font-weight:700;color:#fff}.sticker-picker .sticker-header button{background:none;border:none;color:#fff;font-size:28px;cursor:pointer;transition:transform .2s}.sticker-picker .sticker-header button:hover{transform:scale(1.2)}.sticker-picker .sticker-tabs{display:flex;gap:8px;padding:16px;overflow-x:auto;overflow-y:hidden;min-height:auto;max-height:100px;border-bottom:2px solid rgba(255,255,255,.1);scrollbar-width:thin;align-items:flex-start}.sticker-picker .sticker-tabs::-webkit-scrollbar{height:6px}.sticker-picker .sticker-tabs::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.sticker-picker .sticker-tabs::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.sticker-picker .sticker-tabs::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.sticker-picker .sticker-tabs button{padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff0d;color:#ffffffb3;font-size:12px;font-weight:500;cursor:pointer;transition:all .3s;white-space:nowrap;min-width:fit-content;max-width:120px;height:fit-content;line-height:1.2;text-align:center;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;justify-content:center}.sticker-picker .sticker-tabs button:hover{background:#ffffff1a;border-color:#ffffff4d;white-space:normal;word-break:break-word;max-width:140px}.sticker-picker .sticker-tabs button.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff;white-space:normal;word-break:break-word;max-width:140px}.sticker-picker .sticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:20px;overflow-y:auto;max-height:280px}.sticker-picker .sticker-grid img{width:100%;aspect-ratio:1;object-fit:contain;cursor:pointer;border-radius:12px;transition:all .3s;background:#ffffff0d}.sticker-picker .sticker-grid img:hover{background:#ffffff1a;box-shadow:0 4px 12px #0000004d}@media (max-width: 768px){.sticker-picker{width:calc(100vw - 40px);max-width:380px}}.sticker-bubble{position:fixed;bottom:100px;right:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:20px;box-shadow:0 8px 32px #667eea66;z-index:10001;max-width:200px}.sticker-bubble:after{content:"";position:absolute;bottom:-10px;right:30px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #764ba2}.sticker-bubble .close-btn{position:absolute;top:5px;right:5px;width:20px;height:20px;border:none;background:#0000004d;color:#fff;border-radius:50%;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center}.sticker-bubble .close-btn:hover{background:#00000080}.sticker-bubble .sender-name{font-size:12px;color:#ffffffe6;margin-bottom:8px;font-weight:600}.sticker-bubble img{width:100%;height:auto;border-radius:10px}@media (max-width: 768px){.sticker-bubble{right:10px;bottom:90px;max-width:150px;padding:15px}}.game-room{min-height:100vh;background:linear-gradient(135deg,#0f0f1e,#1a1a2e,#16213e);padding:2rem;position:relative;display:flex;align-items:center;justify-content:center}.game-layout{display:flex;align-items:center;justify-content:center;gap:3rem;max-width:1400px;width:100%}.player-side{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:#ffffff0d;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.1);min-width:200px;position:relative;transition:all .3s ease}.player-side.active{border-color:#ffd70080;box-shadow:0 0 30px #ffd70033}.player-side .player-avatar{width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:800;color:#fff;box-shadow:0 8px 16px #0000004d;transition:transform .3s ease}.player-side .player-name{font-size:1.5rem;font-weight:700;color:#fff;text-align:center}.player-side .player-status{font-size:1rem;color:#fff9;font-weight:600;transition:all .3s}.player-side .player-status.your-turn,.player-side .player-status.their-turn{color:gold;font-weight:700}.player-side .turn-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120%;height:120%;border-radius:20px;background:radial-gradient(circle,rgba(255,215,0,.2) 0%,transparent 70%);pointer-events:none;animation:pulse 2s ease-in-out infinite}.player-side.disconnected{border-color:#ff3b3080;background:#ff3b301a}.player-side .disconnect-message{display:flex;flex-direction:column;align-items:center;gap:1rem}.player-side .disconnect-message .disconnect-icon{font-size:3rem;animation:shake .5s ease-in-out infinite}.player-side .disconnect-message .disconnect-text{font-size:1.2rem;font-weight:700;color:#ff3b30;text-align:center}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes pulse{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}.board-center{flex-shrink:0}.chat-btn{position:fixed;bottom:20px;right:20px;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);border:none;font-size:28px;cursor:pointer;box-shadow:0 4px 16px #667eea66;transition:all .3s;z-index:10001}.chat-btn:hover:not(:disabled){transform:scale(1.1);box-shadow:0 6px 20px #667eea99}.chat-btn:disabled{opacity:.4;cursor:not-allowed}.game-blocked-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10005}.blocked-message{text-align:center;color:#fff}.blocked-message .blocked-icon{font-size:5rem;margin-bottom:1rem;animation:shake .5s infinite}.blocked-message .blocked-text{font-size:2rem;font-weight:700;color:#ff6b6b;margin-bottom:.5rem}.blocked-message .blocked-subtext{font-size:1.2rem;color:#ffffffb3}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.result-toggle-btn{position:fixed;bottom:20px;left:20px;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);border:3px solid rgba(255,255,255,.2);font-size:0;cursor:pointer;box-shadow:0 4px 16px #667eea66;transition:all .3s;z-index:10003}.result-toggle-btn:before,.result-toggle-btn:after{content:"";position:absolute;background:#fff;border-radius:2px;transition:all .3s}.result-toggle-btn:before{width:20px;height:3px;top:50%;left:50%;transform:translate(-50%,-8px);box-shadow:0 8px #fff}.result-toggle-btn:after{width:3px;height:20px;top:50%;left:50%;transform:translate(-50%,-50%) scaleY(0);opacity:0}.result-toggle-btn.hidden:before{transform:translate(-50%,-4px) rotate(180deg)}.result-toggle-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px #667eea99;border-color:#fff6}.sent-notification{position:fixed;bottom:85px;right:20px;background:linear-gradient(135deg,#0c6,#0a5);color:#fff;padding:10px 20px;border-radius:20px;font-size:14px;font-weight:700;z-index:10002;box-shadow:0 4px 16px #0c66;pointer-events:none}.win-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:9999}.win-overlay .win-text{font-size:10rem;filter:drop-shadow(0 0 30px rgba(255,215,0,.8))}.rematch-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:10000;transition:all .3s ease}.rematch-popup{border-radius:32px;padding:2rem;max-width:500px;max-height:80vh;width:90%;overflow-y:auto;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff1a inset}.rematch-popup.win{background:linear-gradient(135deg,#1a4d2e,#0f3a26);box-shadow:0 20px 60px #4ecdc466,0 0 0 2px #4ecdc44d inset}.rematch-popup.lose{background:linear-gradient(135deg,#4d1a1a,#3a0f0f);box-shadow:0 20px 60px #ff6b6b66,0 0 0 2px #ff6b6b4d inset}.rematch-popup .result-title{font-size:2.5rem;text-align:center;margin-bottom:1.5rem;color:#fff;text-shadow:0 4px 20px rgba(102,126,234,.6)}.rematch-popup .result-title span{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rematch-popup .rematch-players-section{margin-bottom:1.5rem}.rematch-popup .rematch-players-section h2{text-align:center;font-size:1.1rem;margin-bottom:1rem;color:#ffffffe6;font-weight:600}.rematch-popup .rematch-players-section .rematch-players-list{display:flex;flex-direction:column;gap:.8rem}.rematch-popup .rematch-players-section .rematch-players-list .rematch-player-item{display:flex;align-items:center;gap:1rem;padding:.8rem 1rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;transition:all .3s}.rematch-popup .rematch-players-section .rematch-players-list .rematch-player-item.ready{background:#4ecdc41a;border-color:#4ecdc44d;box-shadow:0 4px 20px #4ecdc433}.rematch-popup .rematch-players-section .rematch-players-list .rematch-player-item .player-symbol{width:45px;height:45px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0}.rematch-popup .rematch-players-section .rematch-players-list .rematch-player-item .player-name{flex:1;font-size:1rem;font-weight:600;color:#fff}.rematch-popup .rematch-players-section .rematch-players-list .rematch-player-item .ready-badge{padding:.4rem .8rem;background:linear-gradient(135deg,#4ecdc4,#44a3a0);border-radius:16px;font-size:.75rem;font-weight:700;color:#fff;box-shadow:0 4px 12px #4ecdc44d}.rematch-popup .rematch-ready-btn{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;box-shadow:0 8px 24px #667eea66;transition:all .3s}.rematch-popup .rematch-ready-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px #667eea99}.rematch-popup .rematch-ready-btn:active{transform:translateY(0)}.rematch-popup .waiting-message{text-align:center;font-size:1rem;color:#ffffffb3;padding:.8rem;animation:pulse 2s ease-in-out infinite}.rematch-popup .starting-message{text-align:center;font-size:1.2rem;font-weight:700;color:#4ecdc4;padding:.8rem;background:#4ecdc41a;border-radius:12px;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media (max-width: 768px){.game-room{padding:1rem}.game-layout{flex-direction:column;gap:1.5rem;align-items:center}.player-side{width:100%;max-width:280px;min-width:unset;padding:1.5rem}.player-side.left{order:2}.player-side.right{order:3}.player-side .player-avatar{width:80px;height:80px;font-size:2.5rem}.player-side .player-name{font-size:1.3rem}.player-side .player-status{font-size:.9rem}.board-center{order:1;margin-bottom:.5rem}.chat-btn{width:50px;height:50px;font-size:24px;bottom:15px;right:15px}.sent-notification{bottom:75px;right:15px;font-size:12px;padding:8px 16px}.win-overlay .win-text{font-size:4rem;text-align:center;padding:0 1rem}.rematch-popup{margin:1rem;padding:1.5rem;max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem)}.rematch-popup .result-title{font-size:1.8rem;margin-bottom:1rem}.rematch-popup .rematch-title{font-size:1.6rem;margin-bottom:1rem}.rematch-popup .rematch-message{font-size:.9rem;margin-bottom:1rem}.rematch-popup .rematch-players-section{margin-bottom:1rem}.rematch-popup .rematch-players-section h2{font-size:1rem;margin-bottom:.8rem}.rematch-popup .rematch-players-section .rematch-players-list{gap:.6rem}.rematch-popup .rematch-players-section .rematch-players-list .rematch-player-item{padding:.6rem .8rem;gap:.8rem}.rematch-popup .rematch-players-section .rematch-players-list .rematch-player-item .player-symbol{width:35px;height:35px;font-size:1.2rem}.rematch-popup .rematch-players-section .rematch-players-list .rematch-player-item .player-name{font-size:.9rem}.rematch-popup .rematch-players-section .rematch-players-list .rematch-player-item .player-status{font-size:.8rem}.rematch-popup .rematch-buttons{flex-direction:column;gap:.8rem}.rematch-popup .rematch-buttons button{width:100%;padding:.8rem;font-size:.9rem}.game-blocked-overlay .blocked-content{margin:1rem;padding:1.5rem;max-width:calc(100vw - 2rem)}.game-blocked-overlay .blocked-content h2{font-size:1.8rem}.game-blocked-overlay .blocked-content p{font-size:1rem}}@media (max-width: 480px){.game-layout{gap:1rem}.player-side{max-width:240px;padding:1rem}.player-side .player-avatar{width:70px;height:70px;font-size:2rem}.player-side .player-name{font-size:1.2rem}.player-side .player-status{font-size:.85rem}.win-overlay .win-text{font-size:3rem}.rematch-popup{margin:.5rem;padding:1rem;max-height:calc(100vh - 1rem)}.rematch-popup .result-title{font-size:1.5rem;margin-bottom:.8rem}.rematch-popup .rematch-title{font-size:1.4rem;margin-bottom:.8rem}.rematch-popup .rematch-message{font-size:.85rem;margin-bottom:.8rem}.rematch-popup .rematch-players-section{margin-bottom:.8rem}.rematch-popup .rematch-players-section h2{font-size:.9rem;margin-bottom:.6rem}.rematch-popup .rematch-players-section .rematch-players-list{gap:.5rem}.rematch-popup .rematch-players-section .rematch-players-list .rematch-player-item{padding:.5rem .6rem;gap:.6rem}.rematch-popup .rematch-players-section .rematch-players-list .rematch-player-item .player-symbol{width:30px;height:30px;font-size:1rem}.rematch-popup .rematch-players-section .rematch-players-list .rematch-player-item .player-name{font-size:.85rem}.rematch-popup .rematch-players-section .rematch-players-list .rematch-player-item .player-status{font-size:.7rem}.rematch-popup .rematch-buttons{gap:.6rem}.rematch-popup .rematch-buttons button{padding:.7rem;font-size:.85rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.app{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff0d}::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}
