*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a1628;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#0f1b2d80}::-webkit-scrollbar-thumb{background:#6b8fff4d;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#6b8fff80}.auth-container{align-items:center;background:linear-gradient(135deg,#0a1628,#1a2332 50%,#0f1b2d);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.auth-background{bottom:0;left:0;opacity:.1;position:absolute;right:0;top:0}.chess-pattern{background-image:linear-gradient(45deg,#2a3f5f 25%,#0000 0),linear-gradient(-45deg,#2a3f5f 25%,#0000 0),linear-gradient(45deg,#0000 75%,#2a3f5f 0),linear-gradient(-45deg,#0000 75%,#2a3f5f 0);background-position:0 0,0 40px,40px -40px,-40px 0;background-size:80px 80px;height:100%;width:100%}.auth-card{animation:fadeIn .6s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1b2df2;border:1px solid #6b8fff4d;border-radius:16px;box-shadow:0 8px 32px #0006,0 0 80px #6b8fff1a,inset 0 0 60px #6b8fff0d;max-width:460px;padding:48px 40px;position:relative;width:100%;z-index:1}.auth-header{margin-bottom:40px;text-align:center}.chess-icon{filter:drop-shadow(0 0 20px rgba(107,143,255,.5));height:80px;margin:0 auto 24px;width:80px}.auth-title{color:#6b8fff;font-size:28px;font-weight:700;letter-spacing:3px;margin:0 0 8px;text-shadow:0 0 20px #6b8fff80;text-transform:uppercase}.auth-subtitle{color:#6b8fffb3;font-size:14px;letter-spacing:2px;margin:0;text-transform:uppercase}.auth-form{width:100%}.form-group input::placeholder{color:#ffffff4d}.form-group input:disabled{cursor:not-allowed;opacity:.5}.error-message{animation:shake .4s ease}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.submit-button{font-size:15px;letter-spacing:2px;margin-top:8px;overflow:hidden;padding:16px;position:relative;width:100%}.submit-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.submit-button:hover:before{left:100%}.submit-button:active{transform:translateY(0)}.submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.loading-spinner{border:3px solid #ffffff4d;border-top-color:#fff;height:20px;width:20px}.auth-toggle{margin-top:24px;text-align:center}.toggle-button{background:none;border:none;color:#6b8fffcc;cursor:pointer;font-size:14px;padding:8px;text-decoration:underline;transition:color .3s ease}.toggle-button:hover{color:#6b8fff}.toggle-button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:600px){.auth-card{margin:20px;padding:32px 24px}.auth-title{font-size:24px}.chess-icon{height:60px;width:60px}}.game-container{background:linear-gradient(135deg,#0a1628,#1a2332 50%,#0f1b2d);color:#fff;min-height:100vh}.game-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1b2dcc;border-bottom:1px solid #6b8fff4d;padding:20px 0}.game-title{color:#6b8fff;font-size:24px;font-weight:700;letter-spacing:3px;margin:0;text-shadow:0 0 20px #6b8fff80;text-transform:uppercase}.game-title.clickable-title{cursor:pointer;transition:all .3s ease}.game-title.clickable-title:hover{color:#7a9fff;text-shadow:0 0 30px #6b8fffcc;transform:translateY(-2px)}.user-section{gap:20px}.game-content{margin:0 auto;max-width:1400px;padding:60px 40px}.coming-soon{background:#0f1b2d99;border:1px solid #6b8fff33;border-radius:16px;margin:0 auto;max-width:600px;padding:80px 20px;text-align:center}.chess-icon-large{filter:drop-shadow(0 0 30px rgba(107,143,255,.6));height:120px;margin:0 auto 32px;width:120px}.coming-soon h2{color:#6b8fff;font-size:32px;letter-spacing:2px;margin:0 0 16px}.coming-soon p{color:#ffffffb3;font-size:16px;margin:8px 0}.status-text{color:#6bff8fcc;font-weight:600;margin-top:24px}.error-container,.loading-container{background:#0f1b2d99;border:1px solid #6b8fff33;border-radius:16px;margin:0 auto;max-width:600px;padding:80px 20px;text-align:center}.error-container p,.loading-container p{color:#ffffffb3;font-size:16px;margin:0}.error-icon{font-size:64px;margin-bottom:20px}.error-container h2{color:#ff5252;font-size:28px;margin:0 0 12px}.back-button{padding:14px 28px}.waiting-screen{background:#0f1b2d99;border:1px solid #6b8fff33;border-radius:16px;margin:0 auto;max-width:800px;padding:60px 20px;text-align:center}.waiting-screen h2{color:#6b8fff;font-size:32px;letter-spacing:2px;margin:0 0 16px}.waiting-message{color:#ffffffb3;font-size:16px;margin:0 0 40px}.teams-waiting{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:40px}.team-waiting{background:#1a233266;border:1px solid #6b8fff33;border-radius:12px;padding:20px}.team-waiting h3{color:#6b8fff;font-size:18px;letter-spacing:1px;margin:0 0 16px}.players-list{display:flex;flex-direction:column;gap:8px}.player-waiting{background:#6b8fff1a;border-radius:6px;color:#ffffffe6;font-size:14px;padding:10px 16px}.no-players-text{color:#fff6;font-size:14px;font-style:italic}.player-info-header{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.player-nickname{color:#6b8fff;font-size:16px;font-weight:700;letter-spacing:.5px}.player-team{color:#6b8fffb3;font-size:12px}.game-content-active{margin:0 auto;max-width:1600px;padding:20px 40px 40px}.team-indicator{align-items:center;animation:slideInDown .6s ease-out;border:3px solid;border-radius:16px;box-shadow:0 8px 32px #0006;display:flex;gap:24px;margin-bottom:24px;padding:24px 32px}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.white-team-indicator{background:linear-gradient(135deg,#ffffff26,#ffffff0d);border-color:#fff;box-shadow:0 8px 32px #ffffff4d,inset 0 0 60px #ffffff1a}.black-team-indicator{background:linear-gradient(135deg,#32323266,#14141499);border-color:grey;box-shadow:0 8px 32px #8080804d,inset 0 0 60px #8080801a}.team-indicator-icon{animation:pulse 2s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(255,255,255,.8));font-size:72px}@keyframes pulse{0%,to{filter:drop-shadow(0 0 20px rgba(255,255,255,.8));transform:scale(1)}50%{filter:drop-shadow(0 0 30px rgba(255,255,255,1));transform:scale(1.1)}}.team-indicator-text{flex:1 1}.team-indicator-text h2{color:#fff;font-size:28px;font-weight:800;letter-spacing:3px;margin:0 0 8px;text-shadow:0 2px 8px #0009;text-transform:uppercase}.team-indicator-text p{color:#fffc;font-size:16px;font-weight:600;margin:0}.player-roles-banner{background:#6b8fff1a;border:1px solid #6b8fff4d;border-radius:12px;margin-bottom:24px;padding:20px 24px;text-align:center}.player-roles-banner h3{color:#6b8fff;font-size:16px;letter-spacing:1px;margin:0 0 12px;text-transform:uppercase}.roles-list{color:#ffffffe6;font-size:14px;line-height:1.6;margin:0 0 12px}.collaborative-note{background:#4caf501a;border-left:3px solid #4caf50;border-radius:6px;color:#4caf50e6;font-size:13px;font-style:italic;font-weight:600;margin:0;padding:8px 12px}.game-layout.admin-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:300px 1fr 300px;margin-bottom:24px}.game-layout.player-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:300px 1fr 350px;margin-bottom:24px}.team-chat{background:#0f1b2d99;border:1px solid #6b8fff33;border-radius:12px;display:flex;flex-direction:column;height:600px}.chat-header{align-items:center;background:#6b8fff1a;border-bottom:1px solid #6b8fff33;border-radius:12px 12px 0 0;display:flex;gap:12px;padding:16px 20px}.chat-icon{filter:drop-shadow(0 0 8px rgba(107,143,255,.5));font-size:24px}.chat-header h3{color:#6b8fff;font-size:14px;letter-spacing:1px;margin:0;text-transform:uppercase}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:20px;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#6b8fff1a;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb{background:#6b8fff4d;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#6b8fff80}.chat-placeholder{color:#fff6;font-size:14px;margin-top:20px;text-align:center}.chat-message{animation:fadeIn .3s ease-out;background:#6b8fff1a;border-left:3px solid #6b8fff66;border-radius:8px;padding:10px 12px}.chat-message.own-message{background:#6b8fff33;border-left-color:#6b8fff}.chat-message.move-message{background:#4caf5026;border-left-color:#4caf50}.chat-message.move-message.own-message{background:#4caf5040;border-left-color:#66bb6a}.chat-message.suggestion-message{background:#ffc1071a;border-left-color:#ffc107}.chat-message.suggestion-message.own-message{background:#ffc10726;border-left-color:#ffd54f}.message-sender{align-items:center;color:#6b8fff;display:flex;font-size:13px;font-weight:700;gap:4px;margin-bottom:4px}.move-badge{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.move-badge,.suggestion-badge{border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.5px;margin-left:4px;padding:2px 6px}.suggestion-badge{background:linear-gradient(135deg,#ffc107,#ffb300);color:#0a1628}.message-role{color:#6b8fffb3;font-size:11px;font-style:italic;font-weight:500}.message-text{word-wrap:break-word;color:#ffffffe6;font-size:14px;line-height:1.5;margin-bottom:4px}.message-time{color:#fff6;font-size:11px;text-align:right}.chat-input-container{background:#1a233299;border-top:1px solid #6b8fff33;display:flex;gap:8px;padding:12px 16px}.chat-input{background:#0f1b2d99;border:1px solid #6b8fff4d;border-radius:6px;color:#fff;flex:1 1;font-size:14px;padding:10px 12px;transition:all .3s ease}.chat-input:focus{background:#0f1b2dcc;border-color:#6b8fff;box-shadow:0 0 0 3px #6b8fff1a;outline:none}.chat-input:disabled{cursor:not-allowed;opacity:.5}.chat-send-button{background:linear-gradient(135deg,#6b8fff,#5a7ae6);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;padding:10px 20px;text-transform:uppercase;transition:all .3s ease}.chat-send-button:hover:not(:disabled){background:linear-gradient(135deg,#7a9fff,#6a8af6);box-shadow:0 4px 12px #6b8fff66;transform:translateY(-1px)}.chat-send-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.admin-chat-note{color:#ffffff80;font-size:12px;font-style:italic;margin:0;padding:8px;text-align:center;width:100%}.chess-board-container{align-items:center;background:#0f1b2d99;border:1px solid #6b8fff33;border-radius:12px;display:flex;flex-direction:column;justify-content:center;padding:20px}.turn-indicator{align-items:center;background:#6b8fff1a;border-radius:8px;color:#ffffffe6;display:flex;font-size:16px;gap:20px;justify-content:space-between;letter-spacing:1px;margin-bottom:20px;padding:12px 24px}.turn-info{flex:1 1}.timer-display{align-items:center;animation:pulse-subtle 2s ease-in-out infinite;background:#4caf5033;border:2px solid #4caf50;border-radius:8px;display:flex;font-weight:700;gap:8px;padding:8px 16px}.timer-display.timer-critical{animation:pulse-urgent 1s ease-in-out infinite;background:#ff6b6b33;border-color:#ff6b6b}@keyframes pulse-subtle{0%,to{box-shadow:0 0 0 0 #4caf5066}50%{box-shadow:0 0 0 4px #4caf501a}}@keyframes pulse-urgent{0%,to{box-shadow:0 0 0 0 #ff6b6b99}50%{box-shadow:0 0 0 6px #ff6b6b33}}.timer-phase{color:#fffc;font-size:13px;letter-spacing:.5px;text-transform:uppercase}.timer-time{color:#fff;font-family:Courier New,monospace;font-size:18px;letter-spacing:1px}.turn-white{color:#6b8fff;font-weight:700}.turn-black{color:#fff;font-weight:700}.chessboard-wrapper{margin:0 auto;max-width:600px;width:100%}.board-orientation-info{color:#6b8fffcc;font-size:13px;font-weight:600;letter-spacing:.5px;margin-top:12px;text-align:center}.check-indicator{animation:blink 1s ease-in-out infinite;color:#ff5252;font-weight:700}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}.game-over-banner{animation:slideInUp .6s ease-out;background:linear-gradient(135deg,#6b8fff33,#6b8fff1a);border:2px solid #6b8fff;border-radius:12px;margin-top:24px;padding:20px;text-align:center}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.game-over-banner h3{color:#6b8fff;font-size:24px;letter-spacing:2px;margin:0 0 12px;text-transform:uppercase}.game-over-banner p{color:#ffffffe6;font-size:16px;margin:8px 0}.winner-text{color:#6b8fff;font-size:18px;font-weight:700;margin-top:12px}.back-button-game{background:#6b8fff1a;border:1px solid #6b8fff4d;border-radius:8px;color:#6b8fff;cursor:pointer;display:block;font-size:14px;font-weight:600;letter-spacing:1px;margin:0 auto;max-width:300px;padding:14px 28px;text-transform:uppercase;transition:all .3s ease;width:100%}.back-button-game:hover{background:#6b8fff33;border-color:#6b8fff}@media (max-width:768px){.header-content{flex-direction:column;gap:16px;text-align:center}.user-section{flex-direction:column;gap:12px}.game-title{font-size:20px}.coming-soon{padding:60px 20px}.chess-icon-large{height:80px;width:80px}.coming-soon h2{font-size:24px}.game-layout.admin-layout,.game-layout.player-layout,.teams-waiting{grid-template-columns:1fr}.suggestions-sidebar,.team-chat{height:400px}.game-content-active{padding:20px}.team-indicator{gap:16px;padding:20px}.team-indicator-icon{font-size:48px}.team-indicator-text h2{font-size:20px;letter-spacing:2px}.team-indicator-text p{font-size:14px}.turn-indicator{align-items:flex-start;flex-direction:column;gap:12px}.timer-display{justify-content:center;width:100%}}.suggestions-sidebar{background:#0f1b2d99;border:1px solid #6b8fff33;border-radius:12px;display:flex;flex-direction:column;height:600px;overflow-y:auto;padding:20px}.suggestions-sidebar::-webkit-scrollbar{width:6px}.suggestions-sidebar::-webkit-scrollbar-track{background:#6b8fff1a;border-radius:3px}.suggestions-sidebar::-webkit-scrollbar-thumb{background:#6b8fff4d;border-radius:3px}.suggestions-sidebar::-webkit-scrollbar-thumb:hover{background:#6b8fff80}.poll-container{text-align:center}.poll-title{color:#6b8fff;font-size:20px;font-weight:700;letter-spacing:1px;margin:0 0 8px}.poll-subtitle{color:#ffffffb3;font-size:13px;margin:0 0 4px}.poll-creator{color:#ffffff80;font-size:12px;font-style:italic;margin:0 0 12px}.tie-warning{animation:pulse-warning 1.5s ease-in-out infinite;background:#ffc10733;border:2px solid #ffc107;border-radius:8px;color:#ffc107;font-size:14px;font-weight:700;margin-bottom:16px;padding:12px;text-align:center}@keyframes pulse-warning{0%,to{box-shadow:0 0 0 0 #ffc10799}50%{box-shadow:0 0 0 6px #ffc10733}}.poll-moves{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:24px}.poll-moves-sidebar{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.poll-move{background:#1a233299;border:2px solid #6b8fff4d;border-radius:8px;cursor:pointer;padding:20px;position:relative;transition:all .3s ease}.poll-move:hover{background:#6b8fff1a;border-color:#6b8fff;box-shadow:0 4px 16px #6b8fff4d;transform:translateY(-2px)}.poll-move.voted{background:#4caf5026;border-color:#4caf50}.poll-move.tied{animation:pulse-tied 2s ease-in-out infinite;background:#ffc1071a;border-color:#ffc107}@keyframes pulse-tied{0%,to{box-shadow:0 0 0 0 #ffc10780}50%{box-shadow:0 0 8px #ffc1074d}}.poll-move-text{align-items:center;color:#fff;display:flex;flex-wrap:wrap;font-size:20px;font-weight:700;gap:8px;margin-bottom:12px}.poll-move-info{align-items:center;display:flex;font-size:13px;justify-content:space-between}.poll-move-player{color:#6b8fffcc}.poll-move-votes{background:#6b8fff33;border-radius:4px;color:#ffffffe6;font-weight:600;padding:4px 8px}.my-vote-badge{background:#4caf50;border-radius:4px;font-size:10px;padding:4px 8px;position:absolute;right:8px;top:8px}.execute-button,.my-vote-badge{color:#fff;font-weight:700;letter-spacing:.5px}.execute-button{background:linear-gradient(135deg,#ff6b6b,#ee5a52);border:none;border-radius:8px;box-shadow:0 4px 16px #ff6b6b4d;cursor:pointer;font-size:14px;padding:12px 20px;text-transform:uppercase;transition:all .3s ease;width:100%}.execute-button:hover{background:linear-gradient(135deg,#ff7a7a,#ff6b62);box-shadow:0 6px 24px #ff6b6b80;transform:translateY(-2px)}.suggestions-container{text-align:center}.suggestions-title{color:#6b8fff;font-size:18px;font-weight:700;margin:0 0 4px}.suggestions-count{color:#ffffff80;font-size:12px;margin:0 0 12px}.king-instruction{background:#ffc1071a;border-left:3px solid #ffc107;border-radius:6px;color:#ffc107e6;font-size:12px;font-weight:600;margin:0 0 16px;padding:8px;text-align:left}.suggestions-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:20px}.suggestions-list-sidebar{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.suggestion-item{background:#1a233299;border:2px solid #6b8fff33;border-radius:8px;padding:16px;position:relative;transition:all .3s ease}.suggestion-item.selectable{cursor:pointer}.suggestion-item.selectable:hover{background:#6b8fff0d;border-color:#6b8fff80}.suggestion-item.selected{background:#ffc10726;border-color:#ffc107}.suggestion-move{align-items:center;color:#fff;display:flex;font-size:18px;font-weight:700;gap:8px;margin-bottom:8px}.suggestion-count-badge{background:linear-gradient(135deg,#4caf50,#45a049);border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.5px;padding:2px 8px}.suggestion-player{color:#6b8fffb3;font-size:12px;line-height:1.4}.selected-badge{align-items:center;background:#ffc107;border-radius:50%;color:#0a1628;display:flex;font-size:16px;font-weight:700;height:24px;justify-content:center;position:absolute;right:8px;top:8px;width:24px}.create-poll-button{background:linear-gradient(135deg,#ffc107,#ffb300);border:none;border-radius:8px;box-shadow:0 4px 16px #ffc1074d;color:#0a1628;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.5px;padding:12px 20px;text-transform:uppercase;transition:all .3s ease;width:100%}.create-poll-button:hover{background:linear-gradient(135deg,#ffd54f,#ffc107);box-shadow:0 6px 24px #ffc10780;transform:translateY(-2px)}.no-suggestions{color:#ffffff80;font-size:15px;padding:40px 20px;text-align:center}@media (max-width:768px){.voting-panel{margin:16px;padding:16px}.poll-moves,.suggestions-list{grid-template-columns:1fr}}.eliminated-banner{background:#ff4d4d26!important;border-color:#ff4d4d!important}.eliminated-status{animation:pulse-eliminated 2s ease-in-out infinite;color:#ff4d4d;font-size:18px;font-weight:700;letter-spacing:2px;margin:8px 0}.eliminated-note{color:#fff9;font-size:13px;margin:0}@keyframes pulse-eliminated{0%,to{opacity:1}50%{opacity:.6}}.chat-message.elimination-message{background:#ff4d4d26;border-left:3px solid #ff4d4d}.chat-message.revival-message{background:#4dff8826;border-left:3px solid #4dff88}.promotion-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.promotion-modal{animation:slideUp .3s ease;background:linear-gradient(135deg,#1a2a4a,#0f1b2d);border:2px solid #6b8fff;border-radius:16px;box-shadow:0 20px 60px #6b8fff4d;max-width:450px;padding:32px;width:90%}.promotion-modal-header{margin-bottom:24px;text-align:center}.promotion-modal-header h2{color:#4dff88;font-size:28px;letter-spacing:2px;margin:0 0 12px}.promotion-modal-header p{color:#fffc;font-size:15px;margin:0}.promotion-modal-header strong{color:#6b8fff}.promotion-modal-body h3{color:#ffffffe6;font-size:16px;margin:0 0 16px;text-align:center}.revival-player-list{display:flex;flex-direction:column;gap:12px}.revival-player-button{align-items:center;background:#6b8fff1a;border:1px solid #6b8fff4d;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;padding:16px 20px;transition:all .3s ease}.revival-player-button:hover{background:#6b8fff33;border-color:#6b8fff;box-shadow:0 4px 20px #6b8fff4d;transform:translateY(-2px)}.revival-player-name{color:#fff;font-size:18px;font-weight:600}.revival-player-role{color:#ffffff80;font-size:13px;margin-top:4px}.joining-hint{color:#ffffff80;font-size:13px;margin-top:8px}.chat-message.random-message{background:#ffc10726;border-left:3px solid #ffc107}.admin-container{background:linear-gradient(135deg,#0a1628,#1a2332 50%,#0f1b2d);color:#fff;min-height:100vh}.admin-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1b2dcc;border-bottom:1px solid #6b8fff4d;padding:20px 0}.admin-title{color:#6b8fff;font-size:24px;font-weight:700;letter-spacing:3px;margin:0;text-shadow:0 0 20px #6b8fff80;text-transform:uppercase}.admin-title.clickable-title{cursor:pointer;transition:all .3s ease}.admin-title.clickable-title:hover{color:#7a9fff;text-shadow:0 0 30px #6b8fffcc;transform:translateY(-2px)}.admin-subtitle{color:#6b8fff99;font-size:12px;letter-spacing:2px;text-transform:uppercase}.admin-badge{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border-radius:4px;box-shadow:0 0 16px #ff6b6b66;font-size:11px;font-weight:700;letter-spacing:1px;padding:6px 14px;text-transform:uppercase}.admin-content{margin:0 auto;max-width:1400px;padding:40px}.create-game-button{background:linear-gradient(135deg,#6b8fff,#5a7ae6);border:none;border-radius:8px;box-shadow:0 4px 16px #6b8fff4d;color:#fff;cursor:pointer;font-size:15px;font-weight:700;letter-spacing:1px;padding:14px 28px;transition:all .3s ease}.create-game-button:hover{background:linear-gradient(135deg,#7a9fff,#6a8af6);box-shadow:0 6px 24px #6b8fff80;transform:translateY(-2px)}.empty-state p{margin:0}.game-card-header,.game-info{margin-bottom:20px}.game-info{gap:12px}.invite-code-container{align-items:center;display:flex;gap:8px}.invite-code{border-radius:4px;font-family:Courier New,monospace;font-weight:700;letter-spacing:2px;padding:4px 12px}.invite-code,.regenerate-button{background:#6b8fff1a;color:#6b8fff;font-size:16px}.regenerate-button{align-items:center;border:1px solid #6b8fff4d;border-radius:4px;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .3s ease;width:28px}.regenerate-button:hover{background:#6b8fff33;border-color:#6b8fff;transform:rotate(180deg)}.share-link-container{align-items:center;display:flex;flex:1 1;gap:8px}.share-link-input{background:#6b8fff0d;border:1px solid #6b8fff33;border-radius:4px;color:#6b8fffe6;cursor:pointer;flex:1 1;font-family:Courier New,monospace;font-size:11px;padding:6px 10px;-webkit-user-select:all;user-select:all}.share-link-input:focus{background:#6b8fff1a;border-color:#6b8fff;outline:none}.copy-link-button{align-items:center;background:#6b8fff1a;border:1px solid #6b8fff4d;border-radius:4px;cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;transition:all .3s ease;width:28px}.copy-link-button:hover{background:#6b8fff33;border-color:#6b8fff;transform:scale(1.1)}.teams-section{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:16px}.team-box{background:#1a233266;border:1px solid #6b8fff33;border-radius:8px;padding:12px}.team-header{align-items:center;border-bottom:1px solid #6b8fff33;display:flex;gap:8px;margin-bottom:10px;padding-bottom:8px}.team-icon-small{font-size:18px}.team-title{color:#6b8fffe6;font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.team-players{gap:6px;min-height:40px}.player-item,.team-players{display:flex;flex-direction:column}.player-item{background:#6b8fff0d;border-left:3px solid #6b8fff;border-radius:4px;gap:4px;padding:8px}.player-nickname{color:#fff;font-size:13px;font-weight:600}.player-role{color:#6b8fffcc;font-size:11px;font-style:italic}.no-players{color:#fff6;font-size:12px;font-style:italic;padding:8px}.game-meta{background:#1a23324d;border-radius:6px;display:flex;gap:16px;margin-bottom:16px;padding:12px}.meta-item{display:flex;font-size:12px;gap:6px}.meta-label{color:#6b8fffcc;font-weight:600}.meta-value{color:#ffffffe6}.game-actions{margin-top:0}.action-button{padding:10px 16px}.start-button{background:#4caf5033;border:1px solid #4caf504d;color:#4caf50}.start-button:hover{background:#4caf504d;box-shadow:0 0 16px #4caf504d}.view-button{background:#6b8fff33;border:1px solid #6b8fff4d;color:#6b8fff}.view-button:hover{background:#6b8fff4d;box-shadow:0 0 16px #6b8fff4d}.delete-button{background:#f4433633;border:1px solid #f443364d;color:#f44336}.delete-button:hover{background:#f443364d;box-shadow:0 0 16px #f443364d}.modal-form{display:flex;flex-direction:column}.modal-form .form-group{margin-bottom:24px}.modal-form .form-group label{color:#6b8fffe6;display:block;font-size:13px;font-weight:600;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.modal-form .form-group input{background:#1a233299;border:1px solid #6b8fff4d;border-radius:8px;box-sizing:border-box;color:#fff;font-size:15px;padding:14px 16px;transition:all .3s ease;width:100%}.modal-form .form-group input:focus{background:#1a2332cc;border-color:#6b8fff;box-shadow:0 0 0 3px #6b8fff1a;outline:none}@media (max-width:768px){.header-content{flex-direction:column;gap:16px}.user-section{flex-wrap:wrap;justify-content:center}.admin-content{padding:24px 20px}.content-header{align-items:stretch;flex-direction:column;gap:16px}.games-grid{grid-template-columns:1fr}.game-actions{flex-direction:column}.modal-content{padding:24px}}.player-container{background:linear-gradient(135deg,#0a1628,#1a2332 50%,#0f1b2d);color:#fff;min-height:100vh}.player-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1b2dcc;border-bottom:1px solid #6b8fff4d;padding:20px 0}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 40px}.header-left{display:flex;flex-direction:column;gap:4px}.player-title{color:#6b8fff;font-size:24px;font-weight:700;letter-spacing:3px;margin:0;text-shadow:0 0 20px #6b8fff80;text-transform:uppercase}.player-title.clickable-title{cursor:pointer;transition:all .3s ease}.player-title.clickable-title:hover{color:#7a9fff;text-shadow:0 0 30px #6b8fffcc;transform:translateY(-2px)}.player-subtitle{color:#6b8fff99;font-size:12px;letter-spacing:2px;text-transform:uppercase}.user-section{align-items:center;display:flex;gap:16px}.welcome-text{color:#6b8fffe6;font-size:14px}.logout-button{background:#6b8fff1a;border:1px solid #6b8fff4d;border-radius:6px;color:#6b8fff;cursor:pointer;font-size:13px;font-weight:600;letter-spacing:1px;padding:10px 24px;text-transform:uppercase;transition:all .3s ease}.logout-button:hover{background:#6b8fff33;border-color:#6b8fff;box-shadow:0 0 16px #6b8fff4d}.player-content{margin:0 auto;max-width:1400px;padding:40px}.content-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.section-title{color:#fff;font-size:28px;letter-spacing:1px;margin:0}.join-game-button{background:linear-gradient(135deg,#6b8fff,#5a7ae6);border:none;border-radius:8px;box-shadow:0 4px 16px #6b8fff4d;color:#fff;cursor:pointer;font-size:15px;font-weight:700;letter-spacing:1px;padding:14px 28px;transition:all .3s ease}.join-game-button:hover{background:linear-gradient(135deg,#7a9fff,#6a8af6);box-shadow:0 6px 24px #6b8fff80;transform:translateY(-2px)}.empty-state,.loading-container{padding:80px 20px;text-align:center}.empty-state{background:#0f1b2d66;border:1px solid #6b8fff33;border-radius:12px}.empty-icon{font-size:64px;margin-bottom:20px;opacity:.5}.empty-state h3{color:#ffffffe6;font-size:24px;margin:0 0 12px}.empty-state p{color:#fff9;margin:0 0 24px}.empty-join-button{background:linear-gradient(135deg,#6b8fff,#5a7ae6);border:none;border-radius:8px;box-shadow:0 4px 16px #6b8fff4d;color:#fff;cursor:pointer;font-size:15px;font-weight:700;letter-spacing:1px;padding:14px 28px;transition:all .3s ease}.empty-join-button:hover{background:linear-gradient(135deg,#7a9fff,#6a8af6);box-shadow:0 6px 24px #6b8fff80;transform:translateY(-2px)}.games-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.game-card{background:#0f1b2d99;border:1px solid #6b8fff4d;border-radius:12px;padding:24px;transition:all .3s ease}.game-card:hover{border-color:#6b8fff80;box-shadow:0 8px 24px #6b8fff33;transform:translateY(-4px)}.game-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.game-name{color:#fff;flex:1 1;font-size:20px;letter-spacing:.5px;margin:0}.status-badge{border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;white-space:nowrap}.status-waiting{background:#ffc10733;border:1px solid #ffc1074d;color:#ffc107}.status-active{background:#4caf5033;border:1px solid #4caf504d;color:#4caf50}.status-completed{background:#9e9e9e33;border:1px solid #9e9e9e4d;color:#9e9e9e}.my-role{align-items:center;background:#6b8fff1a;border-radius:6px;display:flex;gap:8px;margin-bottom:16px;padding:12px}.role-label{color:#6b8fffcc;font-size:13px;font-weight:600}.role-value{color:#fff;font-size:16px;font-weight:700}.role-value.white{color:#fff}.role-value.black{color:silver}.team-badge{color:#6b8fffb3;font-size:12px;font-weight:600;margin-left:auto}.my-pieces{background:#6b8fff0d;border-left:3px solid #6b8fff66;border-radius:4px;display:flex;flex-direction:column;gap:6px;margin-bottom:16px;padding:10px 12px}.pieces-label{color:#6b8fffb3;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.pieces-value{color:#fffc;font-size:12px;line-height:1.5}.game-info{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.info-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.info-label{color:#6b8fffcc;font-size:13px;font-weight:600}.info-value{color:#ffffffe6;font-size:14px}.invite-code-small{background:#6b8fff1a;border-radius:4px;color:#6b8fff;font-family:Courier New,monospace;font-size:14px;font-weight:700;letter-spacing:2px;padding:4px 8px}.game-actions{border-top:1px solid #6b8fff33;display:flex;gap:8px;margin-top:16px;padding-top:16px}.action-button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-transform:uppercase;transition:all .3s ease}.play-button{background:linear-gradient(135deg,#6b8fff,#5a7ae6);box-shadow:0 4px 12px #6b8fff4d;color:#fff}.play-button:hover{background:linear-gradient(135deg,#7a9fff,#6a8af6);box-shadow:0 6px 20px #6b8fff80;transform:translateY(-2px)}.modal-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideUp .3s ease;background:#0f1b2df2;border:1px solid #6b8fff4d;border-radius:12px;box-shadow:0 16px 48px #00000080;max-width:500px;padding:32px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.modal-header h2{color:#6b8fff;font-size:24px;letter-spacing:1px;margin:0}.close-button{align-items:center;background:none;border:none;color:#fff9;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;transition:color .3s ease;width:32px}.close-button:hover{color:#fff}.modal-body{display:flex;flex-direction:column}.modal-description{color:#ffffffb3;font-size:14px;margin:0 0 20px}.modal-actions{display:flex;gap:12px;margin-top:8px}.cancel-button{background:#6b8fff1a;border:1px solid #6b8fff4d;border-radius:8px;color:#6b8fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;letter-spacing:1px;padding:14px;text-transform:uppercase;transition:all .3s ease}.cancel-button:hover{background:#6b8fff33;border-color:#6b8fff}.submit-button{background:linear-gradient(135deg,#6b8fff,#5a7ae6);border:none;border-radius:8px;box-shadow:0 4px 16px #6b8fff4d;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:700;letter-spacing:1px;padding:14px;text-transform:uppercase;transition:all .3s ease}.submit-button:hover{background:linear-gradient(135deg,#7a9fff,#6a8af6);box-shadow:0 6px 24px #6b8fff80;transform:translateY(-2px)}@media (max-width:768px){.header-content{flex-direction:column;gap:16px}.user-section{flex-wrap:wrap;justify-content:center}.player-content{padding:24px 20px}.content-header{align-items:stretch;flex-direction:column;gap:16px}.games-grid{grid-template-columns:1fr}.modal-content{padding:24px}}.join-container{align-items:center;background:linear-gradient(135deg,#0a1628,#1a2332 50%,#0f1b2d);display:flex;justify-content:center;min-height:100vh;padding:20px}.join-card{animation:fadeIn .6s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1b2df2;border:1px solid #6b8fff4d;border-radius:16px;box-shadow:0 8px 32px #0006,0 0 80px #6b8fff1a,inset 0 0 60px #6b8fff0d;max-width:600px;padding:48px 40px;width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.join-header{margin-bottom:32px;text-align:center}.chess-icon-join{filter:drop-shadow(0 0 20px rgba(107,143,255,.5));height:80px;margin:0 auto 24px;width:80px}.king-icon{height:100%;width:100%}.join-header h1{color:#6b8fff;font-size:32px;font-weight:700;letter-spacing:3px;margin:0 0 12px;text-shadow:0 0 20px #6b8fff80;text-transform:uppercase}.game-name-join{color:#ffffffe6;font-size:20px;letter-spacing:1px;margin:0}.error-message{align-items:center;background:#ff52521a;border:1px solid #ff52524d;border-radius:8px;color:#ff5252;display:flex;font-size:14px;gap:10px;margin-bottom:24px;padding:12px 16px}.error-icon{font-size:18px}.join-form{width:100%}.form-group{margin-bottom:24px}.form-group label{color:#6b8fffe6;display:block;font-size:13px;font-weight:600;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.form-group input{background:#1a233299;border:1px solid #6b8fff4d;border-radius:8px;box-sizing:border-box;color:#fff;font-size:15px;padding:14px 16px;transition:all .3s ease;width:100%}.form-group input:focus{background:#1a2332cc;border-color:#6b8fff;box-shadow:0 0 0 3px #6b8fff1a;outline:none}.help-text{color:#ffffff80;display:block;font-size:12px;margin-top:6px}.team-selection{margin-bottom:24px}.section-label{color:#6b8fffe6;font-size:13px;font-weight:600;letter-spacing:1px;margin:0 0 12px;text-transform:uppercase}.teams-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.team-button{align-items:center;background:#1a233299;border:2px solid #6b8fff4d;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:24px 16px;transition:all .3s ease}.team-button:hover:not(:disabled){background:#1a2332cc;border-color:#6b8fff;box-shadow:0 4px 16px #6b8fff4d;transform:translateY(-2px)}.team-button.selected{background:#6b8fff26;border-color:#6b8fff;box-shadow:0 0 20px #6b8fff66}.team-button:disabled{cursor:not-allowed;opacity:.5}.team-icon{filter:drop-shadow(0 0 12px rgba(107,143,255,.4));font-size:48px}.team-name{font-size:16px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.team-count{color:#fff9;font-size:12px}.game-info-box{background:#1a233266;border:1px solid #6b8fff33;border-radius:8px;margin-bottom:24px;padding:16px}.game-info-box .info-row{align-items:center;display:flex;justify-content:space-between;padding:6px 0}.game-info-box .info-row:not(:last-child){border-bottom:1px solid #6b8fff1a;margin-bottom:6px}.game-info-box .info-label{color:#6b8fffcc;font-size:13px;font-weight:600}.game-info-box .info-value{color:#ffffffe6;font-size:13px}.join-submit-button{align-items:center;background:linear-gradient(135deg,#6b8fff,#5a7ae6);border:none;border-radius:8px;box-shadow:0 4px 16px #6b8fff4d;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:700;gap:10px;justify-content:center;letter-spacing:1px;margin-bottom:12px;padding:16px;text-transform:uppercase;transition:all .3s ease;width:100%}.join-submit-button:hover:not(:disabled){background:linear-gradient(135deg,#7a9fff,#6a8af6);box-shadow:0 6px 24px #6b8fff80;transform:translateY(-2px)}.join-submit-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.loading-spinner-small{animation:spin .8s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;width:16px}.game-details{background:#1a233266;border:1px solid #6b8fff33;border-radius:8px;margin-bottom:24px;padding:20px}.detail-row{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.detail-row:not(:last-child){border-bottom:1px solid #6b8fff1a}.detail-label{color:#6b8fffcc;font-size:14px;font-weight:600}.detail-value{color:#ffffffe6;font-size:14px}.code-value{border-radius:4px;font-family:Courier New,monospace;font-size:18px;font-weight:700;letter-spacing:3px;padding:6px 12px}.cancel-join-button,.code-value{background:#6b8fff1a;color:#6b8fff}.cancel-join-button{border:1px solid #6b8fff4d;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:1px;padding:14px;text-transform:uppercase;transition:all .3s ease;width:100%}.cancel-join-button:hover:not(:disabled){background:#6b8fff33;border-color:#6b8fff}.cancel-join-button:disabled{cursor:not-allowed;opacity:.5}.back-button{background:linear-gradient(135deg,#6b8fff,#5a7ae6);border:none;border-radius:8px;box-shadow:0 4px 16px #6b8fff4d;color:#fff;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:1px;margin-top:20px;padding:14px;text-transform:uppercase;transition:all .3s ease;width:100%}.back-button:hover{background:linear-gradient(135deg,#7a9fff,#6a8af6);box-shadow:0 6px 24px #6b8fff80;transform:translateY(-2px)}.loading-card{padding:60px 40px;text-align:center}.loading-spinner{animation:spin .8s linear infinite;border:4px solid #6b8fff33;border-radius:50%;border-top-color:#6b8fff;display:inline-block;height:50px;margin-bottom:20px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.loading-card p{color:#ffffffb3;margin:0}.error-card{padding:60px 40px;text-align:center}.error-card .error-icon{font-size:64px;margin-bottom:20px}.error-card h2{color:#ff5252;font-size:28px;margin:0 0 12px}.error-text{color:#ffffffb3;font-size:16px;margin:0 0 24px}.game-full{text-align:center}.full-text{color:#fffc;font-size:16px;margin:0 0 24px}.players-info{background:#1a233266;border:1px solid #6b8fff33;border-radius:8px;margin-bottom:24px;padding:20px}.player-slot{align-items:center;background:#6b8fff0d;border-radius:6px;display:flex;gap:12px;padding:12px}.player-slot:not(:last-child){margin-bottom:12px}.piece-icon{font-size:32px}.player-name{color:#ffffffe6;font-size:16px;font-weight:600}@media (max-width:600px){.join-card{padding:32px 24px}.role-selection{flex-direction:column}.role-button{padding:24px}.role-icon{font-size:48px}.role-name{font-size:16px}}.App{min-height:100vh}
/*# sourceMappingURL=main.ddcf25f2.css.map*/