body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);display:flex;justify-content:center;min-height:100vh}.login-box{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.18);border-radius:20px;box-shadow:0 8px 32px 0 rgba(31,38,135,.37);margin:20px;max-width:400px;padding:40px;width:100%}.login-title{color:#fff;font-size:48px;font-weight:700;margin-bottom:10px;text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.login-subtitle{color:#999;font-size:16px;margin-bottom:30px;text-align:center}.google-login-button{align-items:center;background:#333;border:2px solid #444;border-radius:8px;color:#e0e0e0;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:12px;justify-content:center;padding:12px 24px;transition:all .3s ease;width:100%}.google-login-button:hover{background:#3a3a3a;border-color:#61dafb;box-shadow:0 4px 12px rgba(97,218,251,.2);transform:translateY(-2px)}.google-login-button:active{transform:translateY(0)}.google-icon{height:20px;width:20px}[data-supabase-auth-ui_button]{border-radius:8px;font-size:16px;padding:12px 20px;transition:all .3s ease;width:100%}[data-supabase-auth-ui_button]:hover{box-shadow:0 4px 12px rgba(0,0,0,.3);transform:translateY(-2px)}.create-character-container{align-items:center;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);color:#fff;display:flex;justify-content:center;min-height:100vh;padding:20px}.create-character-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(42,42,42,.95);border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.3);max-width:800px;padding:40px;width:100%}.create-character-card h1{-webkit-text-fill-color:transparent;background:linear-gradient(45deg,#61dafb,#4fa8c5);-webkit-background-clip:text;font-size:32px;margin-bottom:30px;text-align:center}.form-group{margin-bottom:30px}.form-group label{color:#e0e0e0;display:block;font-size:16px;font-weight:500;margin-bottom:10px}.form-group input{background-color:#333;border:2px solid #444;border-radius:8px;color:#fff;font-size:16px;padding:12px 16px;transition:all .3s ease;width:100%}.form-group input:focus{background-color:#3a3a3a;border-color:#61dafb;outline:none}.form-group input:disabled{cursor:not-allowed;opacity:.6}.class-selection{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:10px}.class-option{background:#333;border:2px solid #444;border-radius:12px;cursor:pointer;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.class-option:hover{border-color:#61dafb;box-shadow:0 4px 12px rgba(97,218,251,.2);transform:translateY(-2px)}.class-option.selected{background:linear-gradient(135deg,#333,#3a4a5a);border-color:#61dafb}.class-option.selected:before{align-items:center;background:#61dafb;border-radius:50%;color:#000;content:"✓";display:flex;font-weight:700;height:24px;justify-content:center;position:absolute;right:10px;top:10px;width:24px}.class-option h3{color:#61dafb;font-size:20px;margin:0 0 10px}.class-option p{color:#b0b0b0;font-size:14px;line-height:1.4;margin:0 0 15px}.class-stats{border-top:1px solid #444;color:#d0d0d0;display:flex;flex-direction:column;font-size:13px;gap:6px;margin-top:15px;padding-top:15px}.class-stats span{display:flex;justify-content:space-between;padding:2px 0}.no-classes{color:#888;font-style:italic;padding:40px;text-align:center}.error-message{background:rgba(220,38,38,.1);border:1px solid #dc2626;border-radius:8px;color:#f87171;font-size:14px;margin-bottom:20px;padding:12px 16px;text-align:center}.create-button{background:linear-gradient(45deg,#61dafb,#4fa8c5);border:none;border-radius:8px;color:#000;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:1px;padding:14px 28px;text-transform:uppercase;transition:all .3s ease;width:100%}.create-button:hover:not(:disabled){box-shadow:0 4px 12px rgba(97,218,251,.4);transform:translateY(-2px)}.create-button:active:not(:disabled){transform:translateY(0)}.create-button:disabled{background:#555;cursor:not-allowed;opacity:.6}.loading-container{padding:40px}.loading-container p{color:#b0b0b0;margin-top:20px}.avatar-selection{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:10px}.avatar-option{background:#333;border:2px solid #444;border-radius:12px;cursor:pointer;padding:10px;transition:all .3s ease}.avatar-option:hover{border-color:#61dafb;box-shadow:0 4px 12px rgba(97,218,251,.2);transform:translateY(-2px)}.avatar-option.selected{background:linear-gradient(135deg,#333,#3a4a5a);border-color:#61dafb}.avatar-image-container{align-items:center;background:#2a2a2a;border-radius:8px;display:flex;height:80px;justify-content:center;overflow:hidden;width:80px}.avatar-image-container img{height:100%;object-fit:cover;width:100%}.game-window{font-family:Arial,sans-serif;position:absolute!important}.window-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(30,30,30,.95);border:1px solid #444;border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.5);display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.window-header{align-items:center;background:linear-gradient(180deg,#3a3a3a,#2a2a2a);border-bottom:1px solid #444;cursor:move;display:flex;justify-content:space-between;padding:8px 12px;-webkit-user-select:none;user-select:none}.window-title{color:#e0e0e0;font-size:14px;font-weight:500}.window-controls{display:flex;gap:4px}.window-control-btn{align-items:center;background:transparent;border:none;border-radius:4px;color:#999;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;transition:all .2s ease;width:24px}.window-control-btn:hover{background:hsla(0,0%,100%,.1);color:#fff}.close-btn:hover{background:rgba(244,67,54,.2);color:#f44336}.window-content{background:rgba(25,25,25,.9);flex:1 1;overflow:auto}.react-resizable-handle{background:transparent;box-sizing:border-box;height:20px;position:absolute;width:20px}.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-resizable-handle-se:after{border-bottom:2px solid #666;border-right:2px solid #666;bottom:3px;content:"";height:5px;position:absolute;right:3px;width:5px}.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0}.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0}.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0}.react-resizable-handle-n{cursor:n-resize;height:10px;left:20px;right:20px;top:0}.react-resizable-handle-s{bottom:0;cursor:s-resize;height:10px;left:20px;right:20px}.react-resizable-handle-e{bottom:20px;cursor:e-resize;right:0;top:20px;width:10px}.react-resizable-handle-w{bottom:20px;cursor:w-resize;left:0;top:20px;width:10px}.window-content.no-scroll{overflow:hidden}.user-info{box-sizing:border-box;color:#e0e0e0;display:flex;flex-direction:column;gap:16px;min-height:100%;padding:16px}.user-info-header{align-items:center;border-bottom:1px solid #333;display:flex;gap:12px;padding-bottom:12px}.user-avatar{background:#2a2a2a;border:2px solid #444;border-radius:8px;height:64px;overflow:hidden;width:64px}.user-avatar img{height:100%;object-fit:cover;width:100%}.no-avatar{align-items:center;background:#2a2a2a;color:#666;font-size:24px;height:100%;width:100%}.no-avatar,.user-main-info{display:flex;justify-content:center}.user-main-info{flex:1 1;flex-direction:column}.user-nickname{align-items:baseline;color:#61dafb;display:flex;font-size:18px;font-weight:600;margin:0}.user-level-inline{color:#4caf50;font-size:18px;font-weight:600;margin-left:8px}.user-class{color:#999;font-size:13px;margin:2px 0 0}.user-location{align-items:center;color:#aaa;display:flex;font-size:13px;gap:6px;margin-top:4px}.location-icon{font-size:14px}.user-experience{margin-top:8px}.exp-label{color:#999;display:flex;font-size:12px;justify-content:space-between;margin-bottom:4px}.exp-bar{background:#2a2a2a;border:1px solid #333;border-radius:4px;height:8px;overflow:hidden}.exp-progress{background:linear-gradient(90deg,#4caf50,#8bc34a);height:100%;transition:width .5s cubic-bezier(.4,0,.2,1);will-change:width}@keyframes exp-flash{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.user-experience[key] .exp-progress{animation:exp-flash .3s ease-in-out}.user-stats{margin-top:8px}.user-stats h4{color:#b0b0b0;font-size:14px;font-weight:500;margin:0 0 12px}.stats-list{display:flex;flex-direction:column;gap:8px}.stat-item{align-items:center;background:hsla(0,0%,100%,.03);border-radius:6px;display:flex;gap:8px;padding:6px 8px;transition:background .2s ease}.stat-item:hover{background:hsla(0,0%,100%,.06)}.stat-icon{font-size:16px;text-align:center;width:24px}.stat-name{color:#b0b0b0;flex:1 1;font-size:13px}.stat-value{color:#61dafb;font-size:14px;font-weight:600}.user-bars{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-bottom:4px}.bar-container{width:100%}.bar-label{color:#999;display:flex;font-size:12px;justify-content:space-between;margin-bottom:4px}.bar{background:#2a2a2a;border:1px solid #333;border-radius:8px;height:16px}.bar,.bar-fill{overflow:hidden;position:relative}.bar-fill{height:100%;transition:width .3s ease}.mp-fill{background:linear-gradient(90deg,#1976d2,#2196f3)}.user-derived-stats{border-top:1px solid #333;margin-top:16px;padding-top:16px}.user-derived-stats h4{color:#b0b0b0;font-size:14px;font-weight:500;margin:0 0 12px}.derived-stats-list{display:flex;flex-direction:column;gap:8px}.derived-stats-list .stat-item{background:rgba(97,218,251,.05)}.derived-stats-list .stat-item:hover{background:rgba(97,218,251,.1)}.stats-header{align-items:center;display:flex;justify-content:space-between}.points-to-spend{color:#4caf50;font-size:12px;font-weight:600}.stat-controls{display:flex;gap:4px}.stat-btn{align-items:center;background:#333;border:1px solid #444;border-radius:4px;color:#e0e0e0;cursor:pointer;display:flex;font-weight:700;height:20px;justify-content:center;width:20px}.stat-btn:disabled{cursor:not-allowed;opacity:.5}.stat-temp-bonus{color:#4caf50;margin-left:4px}.stats-actions{display:flex;gap:8px;margin-top:12px}.btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;outline:none;padding:8px 16px;transition:all .2s ease}.btn:hover{box-shadow:0 2px 8px rgba(0,0,0,.3);transform:translateY(-1px)}.btn:active{box-shadow:0 1px 4px rgba(0,0,0,.2);transform:translateY(0)}.btn-primary{background:linear-gradient(45deg,#4caf50,#45a049);color:#fff}.btn-primary:hover{background:linear-gradient(45deg,#45a049,#3d8b40)}.btn-secondary{background:#555;border:1px solid #666;color:#e0e0e0}.btn-secondary:hover{background:#666;border-color:#777}.battle-request-content{box-sizing:border-box;color:#e0e0e0;display:flex;flex-direction:column;gap:16px;height:100%;padding:16px}.battle-request-header{border-bottom:1px solid #333;padding-bottom:16px}.my-active-request{align-items:center;background:rgba(76,175,80,.1);border:1px solid #4caf50;border-radius:6px;display:flex;gap:16px;justify-content:space-between;padding:10px 15px}.my-active-request span{color:#4caf50;flex:1 1;font-size:14px;font-weight:600}.btn-accept,.btn-cancel,.btn-create{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease}.btn-create{background:linear-gradient(45deg,#4caf50,#45a049);box-shadow:0 2px 4px rgba(0,0,0,.2);color:#fff;width:100%}.btn-create:hover:not(:disabled){background:linear-gradient(45deg,#45a049,#388e3c);box-shadow:0 3px 6px rgba(0,0,0,.3);transform:translateY(-1px)}.btn-create:active:not(:disabled){box-shadow:0 1px 2px rgba(0,0,0,.2);transform:translateY(0)}.btn-create:disabled{background:#555;box-shadow:none;cursor:not-allowed;opacity:.7}.btn-cancel{background:linear-gradient(45deg,#f44336,#da190b);box-shadow:0 2px 4px rgba(0,0,0,.2);color:#fff;flex-shrink:0;min-width:100px}.btn-cancel:hover{background:linear-gradient(45deg,#da190b,#b71c1c);box-shadow:0 3px 6px rgba(0,0,0,.3);transform:translateY(-1px)}.btn-cancel:active{box-shadow:0 1px 2px rgba(0,0,0,.2);transform:translateY(0)}.btn-accept{background:linear-gradient(45deg,#2196f3,#0b7dda);box-shadow:0 2px 4px rgba(0,0,0,.2);color:#fff}.btn-accept:hover:not(:disabled){background:linear-gradient(45deg,#0b7dda,#1565c0);box-shadow:0 3px 6px rgba(0,0,0,.3);transform:translateY(-1px)}.btn-accept:active:not(:disabled){box-shadow:0 1px 2px rgba(0,0,0,.2);transform:translateY(0)}.btn-accept:disabled{background:#555;box-shadow:none;cursor:not-allowed;opacity:.7}.battle-request-list-container{display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.no-requests{align-items:center;color:#888;display:flex;flex:1 1;font-style:italic;justify-content:center;padding:40px;text-align:center}.requests-list{display:flex;flex-direction:column;gap:8px}.request-item{grid-gap:12px;align-items:center;background:hsla(0,0%,100%,.03);border-radius:6px;display:grid;gap:12px;grid-template-columns:auto 1fr auto auto;padding:10px;transition:background .2s ease}.request-item:hover{background:hsla(0,0%,100%,.06)}.request-icon{color:#61dafb;font-size:20px;text-align:center;width:24px}.request-details{display:flex;flex-direction:column}.request-player{color:#e0e0e0;font-size:14px;font-weight:600}.request-info{color:#999;font-size:12px}.request-time{color:#ffc107;font-size:13px;font-weight:600;min-width:50px;text-align:right}.battle-request-list-container::-webkit-scrollbar{width:8px}.battle-request-list-container::-webkit-scrollbar-track{background:#1a1a1a}.battle-request-list-container::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.battle-request-list-container::-webkit-scrollbar-thumb:hover{background:#555}.battle-result-content{display:flex;flex-direction:column;height:100%;padding:20px}.battle-result-header{border-radius:8px;margin-bottom:20px;padding:20px;text-align:center}.battle-result-header.victory{background:linear-gradient(135deg,#1a4d1a,#2d7a2d);border:2px solid #4caf50}.battle-result-header.defeat{background:linear-gradient(135deg,#4d1a1a,#7a2d2d);border:2px solid #f44336}.battle-result-header h2{font-size:32px;margin:0 0 15px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.victory h2{color:#4caf50}.defeat h2{color:#f44336}.battle-result-summary{font-size:16px}.battle-result-summary p{margin:8px 0}.winner-text{color:#4caf50}.loser-text{color:#f44336}.experience-text{color:gold;font-size:18px;margin-top:15px!important}.battle-log-section{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.battle-log-header{align-items:center;border-bottom:1px solid #444;display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:10px}.battle-log-header h3{color:#ddd;margin:0}.toggle-log-btn{background-color:#333;border:1px solid #555;border-radius:4px;color:#ddd;cursor:pointer;padding:5px 15px;transition:all .3s}.toggle-log-btn:hover{background-color:#444;border-color:#666}.battle-log{background-color:#1a1a1a;border:1px solid #333;border-radius:4px;transition:max-height .3s ease}.battle-log.collapsed{max-height:150px}.battle-log.expanded{flex:1 1;max-height:none}.log-line{color:#ccc;font-family:Courier New,monospace;font-size:14px;line-height:1.4;padding:4px 0}.log-line.round-header{border-top:1px solid #333;color:gold;font-weight:700;margin-top:10px;padding-top:10px}.log-line:first-child.round-header{border-top:none;margin-top:0;padding-top:0}.log-line:contains("наносит"){color:#f99}.log-line:contains("Победитель"){color:#4caf50;font-size:16px;font-weight:700;margin-top:15px}.battle-result-footer{margin-top:20px;text-align:center}.btn-close-result{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:12px 40px;transition:background-color .3s}.btn-close-result:hover{background-color:#0b7dda}.battle-log::-webkit-scrollbar{width:8px}.battle-log::-webkit-scrollbar-track{background:#0a0a0a;border-radius:4px}.battle-log::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.battle-log::-webkit-scrollbar-thumb:hover{background:#555}.battle-window-layout{background-color:#000;height:100%;overflow:hidden;position:relative;width:100%}.abilities-panel{display:flex;flex-direction:column;gap:10px;left:15px;position:absolute;top:50%;transform:translateY(-50%);z-index:10}.ability-button{align-items:center;background:rgba(0,0,0,.8);border:2px solid #444;border-radius:50%;cursor:pointer;display:flex;height:60px;justify-content:center;position:relative;transition:all .2s;width:60px}.ability-button:hover:not(.disabled){border-color:#61dafb;transform:scale(1.1)}.ability-button.selected{border-color:#4caf50;box-shadow:0 0 10px #4caf50}.ability-button.disabled{cursor:not-allowed;opacity:.5}.ability-icon{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.ability-letter{color:#61dafb;font-size:24px;font-weight:700;text-transform:uppercase}.ability-cost{background:#1976d2;border:1px solid #333;border-radius:50%;bottom:-5px;color:#fff;font-size:12px;font-weight:700;height:20px;right:-5px;width:20px}.ability-cooldown-overlay,.ability-cost{align-items:center;display:flex;justify-content:center;position:absolute}.ability-cooldown-overlay{background:rgba(0,0,0,.7);border-radius:50%;bottom:0;left:0;right:0;top:0}.cooldown-number{color:#ff6b6b;font-size:20px;font-weight:700}.battle-canvas-container{height:100%;left:0;position:absolute;top:0;width:100%}.player-info-overlay{align-items:center;background-color:rgba(0,0,0,.5);border-radius:8px;color:#fff;display:flex;gap:10px;padding:8px;position:absolute;top:15px;width:250px}.player-info-overlay.player{left:15px}.player-info-overlay.opponent{flex-direction:row-reverse;right:15px}.player-avatar{background:#2a2a2a;border:2px solid #444;border-radius:8px;height:60px;object-fit:cover;width:60px}.player-details{flex:1 1}.player-name{color:#61dafb;font-size:1.1em;font-weight:600;margin:0 0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-info-overlay.opponent .player-name{text-align:right}.character-hp,.hp-bar{width:100%}.hp-bar{background:#2a2a2a;border:1px solid #333;border-radius:8px;height:16px;overflow:hidden;position:relative}.hp-fill{background:linear-gradient(90deg,#d32f2f,#f44336);height:100%;transition:width .5s ease-in-out}.hp-fill.opponent{background:linear-gradient(90deg,#4caf50,#8bc34a)}.hp-text{color:#fff;font-size:.8em;font-weight:700;margin-top:3px;text-align:center;text-shadow:1px 1px 2px #000}.character-resource{margin-top:5px;width:100%}.resource-bar{background:#1a1a1a;border:1px solid #333;border-radius:6px;height:12px;overflow:hidden;position:relative;width:100%}.resource-fill{height:100%;transition:width .3s ease-in-out}.resource-fill.mana{background:linear-gradient(90deg,#1976d2,#42a5f5)}.resource-fill.energy{background:linear-gradient(90deg,#f57c00,#ffb74d)}.resource-fill.stamina{background:linear-gradient(90deg,#388e3c,#66bb6a)}.resource-text{color:#ccc;font-size:.75em;font-weight:700;margin-top:2px;text-align:center;text-shadow:1px 1px 2px #000}.character-effects{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.effect-icon{align-items:center;background:#333;border:1px solid #555;border-radius:4px;cursor:help;display:flex;height:24px;justify-content:center;position:relative;width:24px}.effect-icon.buff_stat{background:#2e7d32;border-color:#4caf50}.effect-icon.debuff_stat{background:#c62828;border-color:#f44336}.effect-icon.shield{background:#1565c0;border-color:#2196f3}.effect-icon.bleed{background:#b71c1c;border-color:#d32f2f}.effect-icon.stun{background:#5e35b1;border-color:#7e57c2}.effect-icon.mark{background:#e65100;border-color:#ff6f00}.effect-duration{color:#fff;font-size:10px;font-weight:700;text-shadow:1px 1px 1px #000}.battle-controls-overlay{align-items:center;background-color:rgba(0,0,0,.6);border-radius:20px;bottom:10px;display:flex;flex-direction:column;gap:10px;padding:10px 20px}.battle-controls-overlay,.combo-info-display{left:50%;position:absolute;transform:translateX(-50%)}.combo-info-display{background:rgba(0,0,0,.8);border:2px solid #61dafb;border-radius:8px;bottom:100%;color:#fff;margin-bottom:10px;min-width:200px;padding:10px 15px;text-align:center}.combo-name{color:#61dafb;font-size:1.2em;font-weight:700;margin-bottom:5px}.combo-damage{color:#ff6b6b;font-size:.9em;margin-bottom:5px}.combo-damage.buff-combo{color:#4caf50}.combo-effects{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-top:5px}.combo-effect{background:rgba(97,218,251,.2);border:1px solid #61dafb;border-radius:4px;color:#61dafb;font-size:.8em;padding:2px 6px}.controls-container{align-items:center;display:flex;gap:15px}.action-buttons-group{display:flex;gap:5px}.action-button{align-items:center;background-color:#444;border:none;border-radius:6px;color:#ddd;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:8px 16px;transition:all .2s}.action-button .icon{display:inline-block;font-size:1.2em;transition:transform .2s ease}.icon.attack-head{transform:rotate(180deg)}.icon.attack-body{transform:rotate(225deg)}.icon.attack-legs{transform:rotate(270deg)}.action-button:hover:not(:disabled){background-color:#555}.action-button.selected{background-color:#2196f3;color:#fff}.action-button:disabled{cursor:not-allowed;opacity:.5}.submit-action-button{background:linear-gradient(45deg,#4caf50,#45a049);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1.1em;font-weight:600;padding:10px 25px;transition:all .2s}.submit-action-button:hover:not(:disabled){transform:scale(1.05)}.submit-action-button:disabled{background:#555;cursor:not-allowed;opacity:.6}.autobattle-toggle{align-items:center;display:flex;margin-left:15px}.autobattle-toggle label{color:#e0e0e0;cursor:pointer;margin-left:5px;-webkit-user-select:none;user-select:none}.battle-finished-overlay{color:#fff;left:50%;position:absolute;text-align:center;text-shadow:2px 2px 4px #000;top:33%;transform:translate(-50%,-50%)}.battle-finished-overlay h2{font-size:2.5em;margin:0}.battle-finished-overlay .victory{color:#4caf50;font-size:3.5em;font-weight:700}.battle-finished-overlay .defeat{color:#f44336;font-size:3.5em;font-weight:700}.floating-text{-webkit-text-stroke:1px #000;color:#fff;font-family:Arial Black,Gadget,sans-serif;font-size:76px;font-weight:700;opacity:0;pointer-events:none;position:absolute;text-shadow:0 0 8px #000;transform:translateX(-50%);transition:opacity .5s ease-out;z-index:10}.floating-text.visible{opacity:1}.floating-text.damage{animation:floatUp 1.5s ease-out forwards;color:#fff}.floating-text.reduced{animation:floatUp 1.5s ease-out forwards;color:#ffeb3b}.floating-text.crit{animation:floatUpCrit 1.5s ease-out forwards;color:#ff4d4d;font-size:110px}@keyframes floatUp{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-80px)}}@keyframes floatUpCrit{0%{opacity:1;transform:translate(-50%) scale(1.2)}20%{text-shadow:0 0 15px red;transform:translate(-50%,-30px) scale(1.8)}to{opacity:0;transform:translate(-50%,-120px) scale(1.2)}}.floating-text.block,.floating-text.dodge{animation:floatSide 1.5s ease-out forwards;color:#66b3ff;font-size:76px;font-style:italic}@keyframes floatSide{0%{opacity:1;transform:translate(-50%) scale(.8)}to{opacity:0;transform:translateY(-40px) scale(1.2)}}.floating-text.defeat,.floating-text.victory{animation:fadeInStay 4s ease-out forwards;font-family:Arial Black,Gadget,sans-serif;font-size:84px;text-transform:uppercase}.floating-text.victory{-webkit-text-stroke:2px #fff;color:#4caf50;text-shadow:none}.floating-text.defeat{-webkit-text-stroke:2px #000;color:#f44336;text-shadow:none}@keyframes fadeInStay{0%{opacity:0;transform:translate(-50%) scale(.5)}25%{opacity:1;transform:translate(-50%) scale(1.1)}40%{transform:translate(-50%) scale(1)}to{opacity:1}}.effects-canvas{height:100vh;left:0;pointer-events:none;position:absolute;top:0;width:100vw;z-index:10000}.battle-log-content{background-color:transparent;box-sizing:border-box;color:#e0e0e0;font-family:Courier New,Courier,monospace;font-size:.9em;height:100%;overflow-y:auto;padding:10px}.battle-log-content p{margin:0 0 5px;padding:0}.log-hit{color:#ffc107}.log-block{color:#2196f3}.log-dodge{color:#9c27b0}.log-death{color:#f44336;font-weight:700}.log-crit{color:#ff6b6b;font-weight:700}.log-miss{color:#757575;font-style:italic}.log-round{color:#4caf50;font-weight:700;margin:10px 0;text-align:center}.log-ability{color:#00bcd4;font-weight:700}.log-effect{color:#e91e63;font-style:italic}.log-default{color:#9e9e9e}.log-dot{color:#ff6b6b;font-style:italic}.message-list{display:flex;flex:1 1;flex-direction:column;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.4;overflow-y:auto;padding:8px 12px}.message-list-empty{color:#666;font-style:italic;padding:40px 20px;text-align:center}.message-line{word-wrap:break-word;animation:messageSlide .2s ease-out;padding:2px 4px}@keyframes messageSlide{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.message-line:hover{background:hsla(0,0%,100%,.02)}.message-own{background:rgba(33,150,243,.05)}.message-time{color:#666;font-size:12px}.message-author{color:#61dafb;font-weight:600}.message-own .message-author{color:#2196f3}.message-level{color:#4caf50;font-size:12px;font-weight:600}.message-text{color:#e0e0e0}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-list::-webkit-scrollbar{width:6px}.message-list::-webkit-scrollbar-track{background:#1a1a1a}.message-list::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.message-list::-webkit-scrollbar-thumb:hover{background:#555}.message-input-container{align-items:center;display:flex;flex:1 1;gap:8px;position:relative}.message-input{background:hsla(0,0%,100%,.03);border:1px solid #444;border-radius:6px;color:#e0e0e0;flex:1 1;font-size:14px;outline:none;padding:10px 60px 10px 12px;transition:all .2s ease}.message-input:focus{background:hsla(0,0%,100%,.05);border-color:#61dafb;box-shadow:0 0 0 2px rgba(97,218,251,.1)}.message-input:disabled{cursor:not-allowed;opacity:.5}.message-input::placeholder{color:#666}.message-send-btn{background:linear-gradient(45deg,#2196f3,#0b7dda);border:none;border-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,.2);color:#fff;cursor:pointer;flex-shrink:0;font-size:16px;padding:10px 16px;transition:all .2s ease}.message-send-btn:hover:not(:disabled){background:linear-gradient(45deg,#0b7dda,#1565c0);box-shadow:0 3px 6px rgba(0,0,0,.3);transform:translateY(-1px)}.message-send-btn:active:not(:disabled){box-shadow:0 1px 2px rgba(0,0,0,.2);transform:translateY(0)}.message-send-btn:disabled{background:#555;box-shadow:none;cursor:not-allowed;opacity:.7}.message-length{background:rgba(26,26,26,.9);border-radius:3px;color:#666;font-size:11px;padding:2px 4px;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.message-input-container:has(.message-input:focus) .message-length{color:#888}.message-input-container:has(.message-input[value]:not([value=""])) .message-length{color:#999}.message-input[value]:not([value=""]):focus~.message-length{color:#61dafb}.message-input[maxlength="256"][value]:not([value=""]):focus~.message-length{color:#ffc107}.user-list{background:hsla(0,0%,100%,.02);border-left:1px solid #333;display:flex;flex-direction:column;flex-shrink:0;width:200px}.user-list-header{background:hsla(0,0%,100%,.03);border-bottom:1px solid #333;padding:12px 16px}.user-list-header h3{color:#b0b0b0;font-size:14px;font-weight:600;margin:0}.user-list-content{flex:1 1;overflow-y:auto;padding:8px}.user-list-empty{color:#666;font-size:13px;font-style:italic;padding:20px;text-align:center}.user-item{align-items:center;background:hsla(0,0%,100%,.03);border-radius:6px;cursor:default;display:flex;gap:8px;margin-bottom:4px;padding:8px 12px;transition:all .2s ease}.user-item:hover{background:hsla(0,0%,100%,.06)}.user-item-current{background:rgba(76,175,80,.1);border:1px solid rgba(76,175,80,.2)}.user-item-current:hover{background:rgba(76,175,80,.15)}.user-status{color:#4caf50;flex-shrink:0;font-size:8px}.user-icon{color:#61dafb;flex-shrink:0;font-size:16px}.user-item-current .user-icon{color:#4caf50}.user-nickname{color:#e0e0e0;flex:1 1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-level{color:#4caf50;font-size:12px;font-weight:600;margin-left:auto}.user-item{animation:userFadeIn .3s ease-out}@keyframes userFadeIn{0%{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}.user-list-content::-webkit-scrollbar{width:6px}.user-list-content::-webkit-scrollbar-track{background:#1a1a1a}.user-list-content::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.user-list-content::-webkit-scrollbar-thumb:hover{background:#555}.chat-container{color:#e0e0e0;display:flex;flex-direction:column;height:100%}.chat-error{animation:fadeIn .3s ease-in;background:rgba(244,67,54,.1);border:1px solid #f44336;border-radius:6px;color:#f44336;font-size:14px;margin:16px;padding:10px 15px;text-align:center}.chat-connecting{align-items:center;color:#888;display:flex;font-size:14px;font-style:italic;height:100%;justify-content:center}.chat-main{display:flex;flex:1 1;overflow:hidden}.chat-controls{align-items:center;background:hsla(0,0%,100%,.02);border-top:1px solid #333;display:flex;gap:8px;padding:12px 16px}.toggle-users-btn{background:hsla(0,0%,100%,.03);border:1px solid #444;border-radius:6px;color:#e0e0e0;cursor:pointer;flex-shrink:0;font-size:16px;padding:8px 12px;transition:all .2s ease}.toggle-users-btn:hover{background:hsla(0,0%,100%,.06);border-color:#555;transform:translateY(-1px)}.toggle-users-btn:active{transform:translateY(0)}.game-map-container{background:#0a0a0a;height:100%;left:0;overflow:hidden;position:absolute;top:0;-webkit-user-select:none;user-select:none;width:100%;z-index:0}.game-map{height:1536px;position:absolute;transform-origin:0 0;width:2048px;will-change:transform}.game-map-image{display:block}.game-map-image,.game-map-locations{height:100%;pointer-events:none;width:100%}.game-map-locations{left:0;overflow:visible;position:absolute;top:0}.location-marker{align-items:center;display:flex;justify-content:center;overflow:visible;pointer-events:all;position:absolute;z-index:10}.location-click-area{border-radius:50%;cursor:pointer;opacity:0;position:absolute;transition:all .2s ease}.location-marker:hover .location-click-area{background:radial-gradient(circle at center,rgba(97,218,251,.3) 0,rgba(97,218,251,.15) 40%,rgba(97,218,251,.05) 70%,transparent 100%);opacity:1}.location-marker.current-location .location-click-area{opacity:0}.location-marker.current-location:hover .location-click-area{background:radial-gradient(circle at center,rgba(76,175,80,.4) 0,rgba(76,175,80,.2) 40%,rgba(76,175,80,.05) 70%,transparent 100%);opacity:1}.location-marker.can-travel .location-click-area{animation:pulse-travel 2s ease-in-out infinite}.location-marker.can-travel:hover .location-click-area{animation:none;background:radial-gradient(circle at center,rgba(74,222,128,.4) 0,rgba(74,222,128,.2) 40%,rgba(74,222,128,.05) 70%,transparent 100%);opacity:1}.location-marker.can-travel .location-pin svg path{fill:#4ade80}@keyframes pulse-travel{0%,to{background:radial-gradient(circle at center,rgba(74,222,128,.2) 0,rgba(74,222,128,.1) 40%,transparent 70%);opacity:.3}50%{background:radial-gradient(circle at center,rgba(74,222,128,.3) 0,rgba(74,222,128,.15) 40%,transparent 70%);opacity:.6}}.location-pin{cursor:pointer;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));overflow:visible;pointer-events:all;position:absolute;transition:filter .2s ease;z-index:100}.location-pin svg{height:100%;width:100%}.location-pin.current{animation:bounce 2s ease-in-out infinite}.location-marker:hover~.location-pin{filter:drop-shadow(0 4px 8px rgba(0,0,0,.4))}.location-marker:hover~.location-pin svg path{fill:#ef4444}.location-marker:hover~.location-pin.current svg path{fill:#22c55e}.location-name{background:rgba(0,0,0,.9);border:1px solid hsla(0,0%,100%,.1);border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.5);color:#fff;overflow:visible;padding:4px 8px;pointer-events:none;position:absolute;white-space:nowrap;z-index:101}.location-name .current-badge{color:#4caf50;font-weight:700}.game-map-controls{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.8);border:1px solid hsla(0,0%,100%,.1);border-radius:8px;bottom:20px;display:flex;gap:10px;padding:8px 12px;position:absolute;right:20px;z-index:100}.map-control-btn{align-items:center;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:700;height:32px;justify-content:center;transition:all .2s ease;width:32px}.map-control-btn:hover:not(:disabled){background:hsla(0,0%,100%,.2);border-color:#61dafb;transform:scale(1.05)}.map-control-btn:active:not(:disabled){transform:scale(.95)}.map-control-btn:disabled{cursor:not-allowed;opacity:.5}.map-zoom-level{color:#fff;font-size:14px;font-weight:500;min-width:50px;text-align:center}@keyframes pulse-location{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes pulse-point{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes pulse-player{0%{transform:scale(1) translateY(0)}50%{transform:scale(1.1) translateY(-2px)}to{transform:scale(1) translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (max-width:768px){.game-map-controls{bottom:10px;padding:6px 10px;right:10px}.map-control-btn{font-size:16px;height:28px;width:28px}.map-zoom-level{font-size:12px}}.location-marker-wrapper{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.location-marker-wrapper>*{pointer-events:all}.location-travel-menu{animation:fadeIn .2s ease-out;background:#1a1a1a;border:1px solid #333;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.8);color:#e0e0e0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-width:250px;pointer-events:all;position:absolute;transform:translateX(-50%);z-index:200}.location-travel-menu:after{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #1a1a1a;bottom:-8px}.location-travel-menu:after,.location-travel-menu:before{content:"";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0}.location-travel-menu:before{border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid #333;bottom:-9px}.travel-menu-header{align-items:center;border-bottom:1px solid #333;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 16px}.from-location{color:#61dafb}.to-location{color:#4caf50}.arrow-icon{color:#666;font-size:16px}.travel-menu-content{padding:16px}.travel-info{align-items:center;background:hsla(0,0%,100%,.03);border-radius:6px;color:#b0b0b0;display:flex;gap:8px;margin-bottom:16px;padding:8px 12px}.travel-icon{font-size:18px;text-align:center;width:24px}.travel-time{font-size:13px}.travel-menu-actions{display:flex;gap:8px}.btn-cancel,.btn-cancel-travel,.btn-travel{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-family:inherit;font-size:14px;font-weight:500;outline:none;padding:8px 16px;transition:all .2s ease}.btn-travel{background:linear-gradient(45deg,#4caf50,#45a049);color:#fff}.btn-travel:hover{background:linear-gradient(45deg,#45a049,#3d8b40);box-shadow:0 2px 8px rgba(0,0,0,.3);transform:translateY(-1px)}.btn-travel:active{box-shadow:0 1px 4px rgba(0,0,0,.2);transform:translateY(0)}.btn-cancel{background:#555;border:1px solid #666;color:#e0e0e0}.btn-cancel:hover{background:#666;border-color:#777}.travel-menu-traveling{padding:16px}.traveling-header{align-items:center;color:#61dafb;display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:16px}.traveling-icon{animation:walk 1s ease-in-out infinite;font-size:18px}.traveling-timer{margin-bottom:16px}.timer-display{color:#4caf50;font-family:Courier New,monospace;font-size:28px;font-weight:700;margin-bottom:12px;text-align:center}.timer-progress{background:#2a2a2a;border:1px solid #333;border-radius:8px;height:16px;overflow:hidden;position:relative}.timer-progress-bar{background:linear-gradient(90deg,#4caf50,#8bc34a);height:100%;overflow:hidden;position:relative;transition:width 1s linear}.btn-cancel-travel{background:#555;border:1px solid #666;color:#e0e0e0;width:100%}.btn-cancel-travel:hover{background:#666;border-color:#777}.location-travel-status{align-items:center;animation:fadeIn .2s ease-out;background:#1a1a1a;border:1px solid #333;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.6);color:#e0e0e0;display:flex;font-size:14px;gap:8px;padding:8px 16px;pointer-events:none;position:absolute;transform:translateX(-50%);z-index:200}.location-travel-status:after{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #1a1a1a;bottom:-8px}.location-travel-status:after,.location-travel-status:before{content:"";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0}.location-travel-status:before{border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid #333;bottom:-9px}.location-travel-status .traveling-icon{animation:walk 1s ease-in-out infinite;font-size:16px}.location-travel-status .traveling-text{color:#4caf50;font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateX(-50%) scale(.9)}to{opacity:1;transform:translateX(-50%) scale(1)}}@keyframes walk{0%,to{transform:translateX(0)}25%{transform:translateX(-2px) rotate(-5deg)}75%{transform:translateX(2px) rotate(5deg)}}.game-screen{background:#0a0a0a;height:100vh;overflow:hidden;position:relative;width:100vw}.game-background{background:linear-gradient(135deg,#0a0a0a,#1a1a2e);z-index:0}.game-background,.game-background:before{height:100%;left:0;position:absolute;top:0;width:100%}.game-background:before{background-image:radial-gradient(circle at 20% 50%,rgba(97,218,251,.1) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(79,168,197,.1) 0,transparent 50%),radial-gradient(circle at 40% 80%,rgba(97,218,251,.05) 0,transparent 50%);content:"";opacity:.5}.windows-container{height:calc(100% - 60px);left:0;pointer-events:none;position:absolute;top:60px;width:100%;z-index:1}.windows-container>*{pointer-events:all}.game-toolbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,8%,.95);border-bottom:1px solid #333;gap:8px;height:60px;justify-content:center;left:0;padding:0 20px;position:absolute;right:0;top:0;z-index:9999}.game-toolbar,.toolbar-btn{align-items:center;display:flex}.toolbar-btn{background:hsla(0,0%,100%,.05);border:1px solid #333;border-radius:8px;color:#e0e0e0;cursor:pointer;font-family:Arial,sans-serif;font-size:14px;gap:6px;padding:8px 16px;transition:all .2s ease}.toolbar-btn:hover:not(:disabled){background:hsla(0,0%,100%,.1);border-color:#61dafb;transform:translateY(-2px)}.toolbar-btn:active:not(:disabled){transform:translateY(0)}.toolbar-btn.active{background:rgba(0,0,0,.2);border-color:#333;box-shadow:inset 0 2px 4px rgba(0,0,0,.4);color:#61dafb}.toolbar-btn.active,.toolbar-btn.active:hover{transform:translateY(1px)}.toolbar-btn:disabled{cursor:not-allowed;opacity:.5}.grid-overlay{height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:999}.grid-overlay.active{background-image:repeating-linear-gradient(0deg,hsla(0,0%,100%,.03),transparent 1px,transparent 20px,hsla(0,0%,100%,.03) 21px),repeating-linear-gradient(90deg,hsla(0,0%,100%,.03),transparent 1px,transparent 20px,hsla(0,0%,100%,.03) 21px);opacity:1}.battle-overlay{background:rgba(0,0,0,.8);height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:1500}.loading-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:rgba(0,0,0,.9);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.loading-content{text-align:center}.swords-container{height:200px;margin:0 auto 30px;position:relative;width:200px}.sword{position:absolute;transform-origin:50% 90%}.sword-left{animation:sword-fight-left 2s ease-in-out infinite;left:20px;top:10px}.sword-right{animation:sword-fight-right 2s ease-in-out infinite;right:20px;top:10px}@keyframes sword-fight-left{0%{transform:rotate(-30deg)}25%{transform:rotate(15deg)}30%{transform:rotate(10deg)}50%{transform:rotate(-30deg)}75%{transform:rotate(15deg)}80%{transform:rotate(10deg)}to{transform:rotate(-30deg)}}@keyframes sword-fight-right{0%{transform:rotate(30deg)}25%{transform:rotate(-15deg)}30%{transform:rotate(-10deg)}50%{transform:rotate(30deg)}75%{transform:rotate(-15deg)}80%{transform:rotate(-10deg)}to{transform:rotate(30deg)}}.sparks{left:50%;pointer-events:none;top:50%;transform:translate(-50%,-50%)}.spark,.sparks{position:absolute}.spark{background:#fc0;border-radius:50%;box-shadow:0 0 6px #fc0;height:4px;opacity:0;width:4px}.spark-1{animation:spark-fly-1 2s ease-out infinite}.spark-2{animation:spark-fly-2 2s ease-out infinite}.spark-3{animation:spark-fly-3 2s ease-out infinite}.spark-4{animation:spark-fly-4 2s ease-out infinite}@keyframes spark-fly-1{25%,30%{opacity:1;transform:translate(-20px,-20px) scale(1)}50%{opacity:0;transform:translate(-40px,-40px) scale(0)}75%,80%{opacity:1;transform:translate(20px,-20px) scale(1)}to{opacity:0;transform:translate(40px,-40px) scale(0)}}@keyframes spark-fly-2{25%,30%{opacity:1;transform:translate(20px,-20px) scale(1)}50%{opacity:0;transform:translate(40px,-40px) scale(0)}75%,80%{opacity:1;transform:translate(-20px,-20px) scale(1)}to{opacity:0;transform:translate(-40px,-40px) scale(0)}}@keyframes spark-fly-3{25%,30%{opacity:1;transform:translate(-15px,10px) scale(1)}50%{opacity:0;transform:translate(-30px,20px) scale(0)}75%,80%{opacity:1;transform:translate(15px,10px) scale(1)}to{opacity:0;transform:translate(30px,20px) scale(0)}}@keyframes spark-fly-4{25%,30%{opacity:1;transform:translate(15px,10px) scale(1)}50%{opacity:0;transform:translate(30px,20px) scale(0)}75%,80%{opacity:1;transform:translate(-15px,10px) scale(1)}to{opacity:0;transform:translate(-30px,20px) scale(0)}}.loading-status{animation:pulse 2s ease-in-out infinite;color:#fff;font-size:18px;font-weight:300;letter-spacing:1px}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.sword-left path,.sword-right path{animation:blade-glow 2s ease-in-out infinite;filter:drop-shadow(0 0 3px rgba(255,255,255,.5))}@keyframes blade-glow{0%,to{filter:drop-shadow(0 0 3px rgba(255,255,255,.5))}25%,30%,75%,80%{filter:drop-shadow(0 0 10px rgba(255,204,0,.8))}}.notification-container{display:flex;flex-direction:column;gap:10px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:10000}.notification{animation:slideIn .3s ease-out;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.5);cursor:pointer;max-width:500px;min-width:300px;padding:16px 20px;pointer-events:auto;transition:opacity .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.notification-content{color:#fff;font-size:14px;line-height:1.5}.notification-info{background-color:#2196f3;border-left:4px solid #1976d2}.notification-success{background-color:#4caf50;border-left:4px solid #388e3c}.notification-warning{background-color:#ff9800;border-left:4px solid #f57c00}.notification-error{background-color:#f44336;border-left:4px solid #d32f2f}.notification:hover{opacity:.9}#root,body,html{background-color:#1a1a1a;color:#fff;margin:0;padding:0}#root,.App,body,html{height:100%;width:100%}.App{position:relative}.App.game-app{overflow:hidden}.App.admin-app{overflow:auto}.ui-overlay{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.ui-overlay>*{pointer-events:all}h1{padding:20px;text-align:center}.action-panel{background:rgba(0,0,0,.7);border-radius:10px;bottom:20px;display:flex;gap:10px;left:50%;padding:15px;position:absolute;transform:translateX(-50%);z-index:20}.action-panel button{background:transparent;border:1px solid #61dafb;color:#fff;cursor:pointer;padding:10px 20px;transition:background .3s}.action-panel button.active{background:#61dafb;color:#000}.battle-log{background:rgba(0,0,0,.7);border-radius:10px;height:400px;overflow-y:auto;padding:15px;position:absolute;right:20px;top:20px;width:300px;z-index:20}.battle-log ul{list-style:none;margin:0;padding:0}.health-bar-container{background:rgba(0,0,0,.7);border-radius:5px;padding:10px;position:absolute;top:20px;width:300px;z-index:20}.health-bar-container.player{left:20px}.health-bar-container.opponent{right:350px}.health-bar{background:#555;border-radius:3px;height:20px;overflow:hidden;width:100%}.health-bar-fill{background:green;height:100%;transition:width .5s}.game-container{height:100%;position:relative;width:100%}.battle-end-panel{background:rgba(0,0,0,.9);border:2px solid #61dafb;border-radius:10px;bottom:20px;left:50%;padding:30px 50px;position:absolute;text-align:center;transform:translateX(-50%);z-index:20}.battle-result{font-size:36px;letter-spacing:2px;margin:0 0 20px}.battle-result,.restart-button{font-weight:700;text-transform:uppercase}.restart-button{background:#61dafb;border:none;border-radius:5px;color:#000;cursor:pointer;font-size:18px;letter-spacing:1px;padding:15px 40px;transition:all .3s}.restart-button:hover{background:#4fa8c5;transform:scale(1.05)}.restart-button:active{transform:scale(.95)}.loading-container{align-items:center;background:#1a1a1a;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:3px solid hsla(0,0%,100%,.1);border-radius:50%;border-top-color:#61dafb;height:50px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.app-container{align-items:center;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh;text-align:center}.app-container h1{font-size:48px;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.app-container p{color:#b0b0b0;font-size:18px;margin-bottom:30px}.logout-button{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;padding:12px 30px;transition:all .3s ease}.logout-button:hover{background:#b91c1c;box-shadow:0 4px 12px rgba(220,38,38,.3);transform:translateY(-2px)}.connection-status{align-items:center;display:flex;font-size:14px;gap:8px;justify-content:center;margin:20px 0}.status-connected{color:#4ade80}.status-connected,.status-disconnected{align-items:center;display:flex;gap:5px}.status-disconnected{color:#f87171}
/*# sourceMappingURL=main.46901da3.css.map*/