.collection-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background:#111;background-image:radial-gradient(circle at 20% 30%,rgba(0,123,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(0,123,255,.08) 0%,transparent 50%);display:flex;flex-direction:column;z-index:1000;overflow:hidden}.collection-header{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;border-bottom:2px solid #007bff;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0}.collection-header h2{color:#007bff;margin:0}.filter-controls{display:flex;align-items:center;gap:10px}.filter-controls label{color:#fff;font-weight:700;font-size:14px}.sort-dropdown{background:rgba(0,123,255,.2);border:2px solid #007bff;border-radius:6px;color:#fff;padding:8px 12px;font-size:14px;cursor:pointer;transition:all .3s ease}.sort-dropdown:hover{background:rgba(0,123,255,.3);box-shadow:0 0 10px #007bff80}.sort-dropdown:focus{outline:none;box-shadow:0 0 15px #007bffb3}.sort-dropdown option{background:#222;color:#fff;padding:5px}.close-btn{background:none;border:3px solid #007bff;color:#007bff;font-size:2rem;width:60px;height:60px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 0 10px #007bff80}.close-btn:hover{background:#007bff;color:#fff;transform:scale(1.1);box-shadow:0 0 20px #007bffcc}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:#007bff}.loading-spinner{width:50px;height:50px;border:3px solid rgba(0,123,255,.3);border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.collection-grid{display:flex;flex-wrap:wrap;gap:12px;padding:30px 20px;overflow-y:auto;flex:1;justify-content:center;align-content:flex-start}.collection-grid::-webkit-scrollbar{width:8px}.collection-grid::-webkit-scrollbar-track{background:rgba(0,0,0,.3);border-radius:4px}.collection-grid::-webkit-scrollbar-thumb{background:#007bff;border-radius:4px}.collection-grid::-webkit-scrollbar-thumb:hover{background:#0056b3}.hero-card.collection-card{border:3px solid #007bff;box-shadow:0 0 15px #007bffcc;animation:collectionCardGlow 2s ease-in-out infinite alternate;margin:0}@keyframes collectionCardGlow{0%{box-shadow:0 0 15px #007bffcc;border-color:#007bff}to{box-shadow:0 0 25px #007bff;border-color:#4da6ff}}.hero-card.collection-card:hover{transform:scale(1.05);z-index:10;box-shadow:0 10px 30px #007bffe6;border-color:#4da6ff}.selection-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.hero-card.collection-card.enlarged{position:fixed;top:50%;left:30%;transform:translate(-50%,-50%) scale(1.8);z-index:100;box-shadow:0 0 50px #007bff;border-color:#4da6ff;animation:enlargeCard .3s ease-out}@keyframes enlargeCard{0%{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-50%) scale(1.8)}}.hero-card.collection-card.enlarged:hover{transform:translate(-50%,-50%) scale(1.8)}.hero-details-panel{position:fixed;top:50%;right:10%;transform:translateY(-50%);width:400px;max-height:80vh;background:linear-gradient(135deg,rgba(25,35,55,.95) 0%,rgba(15,25,45,.95) 100%);border:3px solid #007bff;border-radius:15px;padding:25px;z-index:100;box-shadow:0 0 30px #007bffcc;overflow-y:auto;animation:slideInRight .3s ease-out}.hero-details-panel::-webkit-scrollbar{width:8px}.hero-details-panel::-webkit-scrollbar-track{background:rgba(0,0,0,.3);border-radius:4px}.hero-details-panel::-webkit-scrollbar-thumb{background:#007bff;border-radius:4px}.hero-details-panel::-webkit-scrollbar-thumb:hover{background:#0056b3}@keyframes slideInRight{0%{opacity:0;transform:translateY(-50%) translate(100px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.hero-details-panel h3{color:#007bff;font-size:1.8rem;margin:0 0 20px;text-align:center;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.ability-section,.special-section{margin-bottom:20px}.ability-section h4,.special-section h4{color:gold;font-size:1.3rem;margin:0 0 10px;border-bottom:2px solid rgba(255,215,0,.3);padding-bottom:5px}.ability-item,.special-item{background:rgba(0,123,255,.1);border:1px solid rgba(0,123,255,.3);border-radius:8px;padding:15px;margin-bottom:10px}.ability-name,.special-name{color:#4da6ff;font-weight:700;font-size:1.1rem;margin-bottom:8px}.ability-description,.special-description{color:#ffffffe6;line-height:1.5;font-size:.95rem}@media (max-width: 1200px){.collection-grid{padding:20px 30px;gap:15px}.hero-details-panel{width:350px;right:5%}}@media (max-width: 768px){.collection-header{padding:15px 20px}.collection-grid{padding:20px;gap:15px}.hero-card.collection-card.enlarged{left:50%;transform:translate(-50%,-50%) scale(1.5)}.hero-details-panel{position:fixed;top:auto;bottom:10%;right:5%;left:5%;width:auto;max-height:40vh;transform:none}@keyframes slideInRight{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}}@media (max-width: 480px){.collection-header h2{font-size:1.5rem}.collection-grid{padding:15px;gap:10px}.hero-card.collection-card.enlarged{transform:translate(-50%,-50%) scale(1.3)}.hero-details-panel{bottom:5%;max-height:35vh;padding:15px}.hero-details-panel h3{font-size:1.4rem}}.game-lobby-modern{position:fixed;top:0;left:0;right:0;bottom:0;overflow:hidden;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.landing-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0}.bg-gradient{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(10,25,45,.95) 0%,rgba(20,35,60,.9) 25%,rgba(15,30,50,.95) 50%,rgba(25,40,65,.9) 75%,rgba(10,25,45,.95) 100%);animation:gradientShift 8s ease-in-out infinite}@keyframes gradientShift{0%,to{opacity:1}50%{opacity:.8}}.bg-particles{position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 30%,rgba(0,123,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(0,123,255,.08) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(0,123,255,.06) 0%,transparent 50%),radial-gradient(circle at 90% 20%,rgba(0,123,255,.04) 0%,transparent 50%);animation:particleFloat 12s ease-in-out infinite}@keyframes particleFloat{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-20px) rotate(1deg)}66%{transform:translateY(10px) rotate(-1deg)}}.landing-content{position:relative;z-index:1;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:40px}.game-title{text-align:center;margin-bottom:20px}.title-text{font-size:4rem;font-weight:700;background:linear-gradient(135deg,#007bff 0%,#00d4ff 50%,#007bff 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 30px rgba(0,123,255,.5);margin:0;animation:titleGlow 3s ease-in-out infinite alternate}@keyframes titleGlow{0%{filter:drop-shadow(0 0 10px rgba(0,123,255,.3))}to{filter:drop-shadow(0 0 20px rgba(0,123,255,.6))}}.title-subtitle{font-size:1.2rem;color:#fffc;margin:10px 0 0;font-weight:300;letter-spacing:1px;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.game-modes{display:flex;gap:30px;flex-wrap:wrap;justify-content:center;max-width:1200px}.mode-card{background:linear-gradient(135deg,rgba(30,45,70,.8) 0%,rgba(20,35,60,.9) 100%);border:2px solid rgba(0,123,255,.3);border-radius:20px;padding:30px;width:280px;text-align:center;cursor:pointer;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mode-card:hover{transform:translateY(-10px) scale(1.05);border-color:#007bff;box-shadow:0 20px 40px #007bff4d,0 0 30px #007bff33}.mode-card:hover .button-glow{opacity:1;transform:scale(1.1)}.mode-card:hover .mode-icon{transform:scale(1.2) rotate(5deg)}.mode-icon{font-size:3rem;margin-bottom:15px;display:block;transition:all .3s ease;filter:drop-shadow(0 0 10px rgba(0,123,255,.3))}.mode-title{color:#007bff;font-size:1.5rem;margin:0 0 15px;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.mode-description{color:#ffffffe6;font-size:1rem;line-height:1.5;margin:0 0 25px}.mode-button{position:relative;background:linear-gradient(135deg,#007bff 0%,#0056b3 100%);border:none;border-radius:25px;padding:12px 25px;color:#fff;font-weight:700;font-size:1rem;overflow:hidden;display:inline-block;transition:all .3s ease}.mode-button span{position:relative;z-index:2}.button-glow{position:absolute;top:-50%;left:-50%;right:-50%;bottom:-50%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);opacity:0;transition:all .3s ease;transform:scale(.8)}.collection-section{max-width:400px;width:100%}.collection-card{background:linear-gradient(135deg,rgba(25,40,65,.8) 0%,rgba(15,30,55,.9) 100%);border:2px solid rgba(255,215,0,.3);border-radius:20px;padding:30px;text-align:center;cursor:pointer;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.collection-card:hover{transform:translateY(-8px) scale(1.03);border-color:gold;box-shadow:0 15px 30px #ffd7004d,0 0 25px #ffd70033}.collection-card:hover .button-glow{opacity:1;transform:scale(1.1)}.collection-card:hover .collection-icon{transform:scale(1.15) rotate(-5deg)}.collection-icon{font-size:2.5rem;margin-bottom:15px;display:block;transition:all .3s ease;filter:drop-shadow(0 0 8px rgba(255,215,0,.4))}.collection-title{color:gold;font-size:1.4rem;margin:0 0 15px;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.collection-description{color:#ffffffe6;font-size:1rem;line-height:1.5;margin:0 0 25px}.collection-button{position:relative;background:linear-gradient(135deg,#ffd700 0%,#ffb000 100%);border:none;border-radius:25px;padding:12px 25px;color:#000;font-weight:700;font-size:1rem;overflow:hidden;display:inline-block;transition:all .3s ease}.collection-button span{position:relative;z-index:2}@media (max-width: 1024px){.landing-content{gap:30px;padding:30px}.title-text{font-size:3.5rem}.game-modes{gap:20px}.mode-card{width:260px;padding:25px}}@media (max-width: 768px){.landing-content{gap:25px;padding:20px}.title-text{font-size:3rem}.title-subtitle{font-size:1.1rem}.game-modes{flex-direction:column;align-items:center;gap:20px}.mode-card{width:100%;max-width:320px}.collection-section{max-width:320px}}@media (max-width: 480px){.landing-content{padding:15px;gap:20px}.title-text{font-size:2.5rem}.title-subtitle{font-size:1rem}.mode-card,.collection-card{padding:20px}.mode-icon,.collection-icon{font-size:2rem}.mode-title,.collection-title{font-size:1.3rem}.mode-description,.collection-description{font-size:.9rem}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.mode-card:nth-child(1){animation:float 6s ease-in-out infinite;animation-delay:0s}.mode-card:nth-child(2){animation:float 6s ease-in-out infinite;animation-delay:1s}.mode-card:nth-child(3){animation:float 6s ease-in-out infinite;animation-delay:2s}.collection-card{animation:float 8s ease-in-out infinite;animation-delay:3s}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.friendly-modal{background:linear-gradient(135deg,rgba(30,45,70,.95) 0%,rgba(20,35,60,.98) 100%);border:2px solid rgba(0,123,255,.5);border-radius:20px;padding:0;max-width:500px;width:90%;max-height:90vh;overflow:hidden;box-shadow:0 20px 40px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.friendly-modal-header{background:linear-gradient(135deg,rgba(0,123,255,.3) 0%,rgba(0,100,200,.4) 100%);padding:20px 30px;border-bottom:1px solid rgba(0,123,255,.3);display:flex;justify-content:space-between;align-items:center}.friendly-modal-header h3{margin:0;color:#fff;font-size:1.5rem;font-weight:700}.close-button{background:none;border:none;color:#fff;font-size:1.8rem;cursor:pointer;padding:0;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-button:hover{background:rgba(255,255,255,.1);transform:scale(1.1)}.friendly-modal-content{padding:30px}.action-selection{display:flex;gap:20px;margin-bottom:30px}.action-option{flex:1;background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;text-align:center;cursor:pointer;transition:all .3s ease}.action-option:hover{border-color:#007bff80;background:rgba(0,123,255,.1);transform:translateY(-2px)}.action-option.selected{border-color:#007bff;background:rgba(0,123,255,.2);box-shadow:0 0 15px #007bff4d}.action-icon{font-size:2rem;margin-bottom:10px}.action-option h4{margin:0 0 8px;color:#fff;font-size:1.1rem}.action-option p{margin:0;color:#fffc;font-size:.9rem;line-height:1.4}.room-input-section{margin-bottom:30px}.room-input-section label{display:block;color:#fff;font-weight:700;margin-bottom:10px;font-size:1rem}.room-input{width:100%;padding:12px 16px;border:2px solid rgba(255,255,255,.2);border-radius:8px;background:rgba(255,255,255,.1);color:#fff;font-size:1rem;transition:all .3s ease;box-sizing:border-box}.room-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 10px #007bff4d;background:rgba(255,255,255,.15)}.room-input::placeholder{color:#ffffff80}.friendly-modal-actions{display:flex;gap:15px;justify-content:flex-end}.friendly-submit-button{background:linear-gradient(135deg,#007bff 0%,#0056b3 100%);color:#fff;border:none;border-radius:8px;padding:12px 25px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease;min-width:120px}.friendly-submit-button:hover:not(:disabled){background:linear-gradient(135deg,#0056b3 0%,#004085 100%);transform:translateY(-2px);box-shadow:0 6px 20px #007bff66}.friendly-submit-button:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.friendly-cancel-button{background:rgba(255,255,255,.1);color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:8px;padding:12px 25px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease;min-width:120px}.friendly-cancel-button:hover{background:rgba(255,255,255,.2);border-color:#ffffff80}@media (max-width: 768px){.friendly-modal{width:95%;margin:20px}.action-selection{flex-direction:column;gap:15px}.friendly-modal-actions{flex-direction:column;gap:10px}.friendly-submit-button,.friendly-cancel-button{width:100%}}body,html{margin:0;padding:0;overflow:hidden;height:100vh}.App{height:100vh;color:#fff;overflow:hidden}.app-layout{display:flex;height:100vh;overflow:hidden}.game-sidebar{width:300px;background:rgba(0,0,0,.8);border-right:2px solid #007bff;padding:0;overflow-y:hidden;flex-shrink:0;height:100vh}.game-sidebar>*{padding:20px}.sidebar-header h2{margin:0 0 20px;padding:20px 20px 0;font-size:1.8rem;text-shadow:2px 2px 4px rgba(0,0,0,.5);color:#007bff;text-align:center}.game-content{flex:1;padding:0;text-align:center;margin-right:0}.connection-status{background:#ffc107;color:#000;padding:6px 12px;border-radius:4px;margin-top:8px;display:block;font-size:.9rem;text-align:center}.waiting{font-size:1.5rem;margin-top:2rem}.game-ended{background:rgba(255,255,255,.1);padding:2rem;border-radius:12px;margin:2rem auto;max-width:400px}.game-ended h2{margin-top:0;font-size:2.5rem}.battle-with-overlay{position:relative;width:100%;height:100vh}.game-over-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.game-over-modal{background:linear-gradient(135deg,rgba(30,45,70,.95) 0%,rgba(20,35,60,.98) 100%);border:3px solid rgba(0,123,255,.7);border-radius:20px;padding:0;max-width:500px;width:90%;box-shadow:0 25px 50px #000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;overflow:hidden}.game-over-content{padding:40px 30px}.game-over-title{font-size:3rem;font-weight:700;margin:0 0 20px;text-shadow:2px 2px 4px rgba(0,0,0,.7);animation:titleGlow 2s ease-in-out infinite alternate}.game-over-title.winner{color:#28a745;border-bottom:3px solid #28a745;padding-bottom:15px}.game-over-title.loser{color:#dc3545;border-bottom:3px solid #dc3545;padding-bottom:15px}@keyframes titleGlow{0%{filter:drop-shadow(0 0 10px currentColor)}to{filter:drop-shadow(0 0 20px currentColor)}}.game-over-message{color:#ffffffe6;font-size:1.2rem;line-height:1.5;margin:20px 0 30px}.return-to-lobby-button{background:linear-gradient(135deg,#007bff 0%,#0056b3 100%);color:#fff;border:none;border-radius:12px;padding:15px 30px;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .3s ease;min-width:180px;box-shadow:0 4px 15px #007bff4d}.return-to-lobby-button:hover{background:linear-gradient(135deg,#0056b3 0%,#004085 100%);transform:translateY(-2px);box-shadow:0 6px 20px #007bff80}@media (max-width: 768px){.game-over-modal{width:95%;margin:20px}.game-over-title{font-size:2.5rem}.game-over-content{padding:30px 20px}.game-over-message{font-size:1.1rem}}.error{background:#dc3545;color:#fff;padding:1rem;border-radius:4px;margin:1rem 0}.turn-indicator{font-size:1.2rem;font-weight:700;padding:12px 20px;border-radius:8px;margin:16px 0;text-align:center;animation:pulse 2s infinite}.turn-indicator.my-turn{background:rgba(40,167,69,.3);border:2px solid #28a745;color:#28a745}.turn-indicator.opponent-turn{background:rgba(220,53,69,.3);border:2px solid #dc3545;color:#dc3545}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.hero-card{background:linear-gradient(145deg,#ffffff 0%,#f0f0f0 100%);border:2px solid #ddd;border-radius:12px;padding:0;margin:6px;cursor:pointer;transition:all .3s ease;color:#333;width:234px;height:360px;position:relative;overflow:hidden;display:flex;flex-direction:column}.hero-card:hover{overflow:visible}.hero-card:hover{transform:scale(1.1);z-index:10;box-shadow:0 10px 25px #0000004d;border-color:#007bff;display:flex;flex-direction:column}.hero-card.selected{border-color:#28a745;background:linear-gradient(145deg,#d4edda 0%,#c3e6cb 100%);display:flex;flex-direction:column}.hero-card.banned{opacity:.3;filter:grayscale(100%);display:flex;flex-direction:column}.hero-card.enemy{border-color:#dc3545;display:flex;flex-direction:column}.hero-card.ally{border-color:#28a745;display:flex;flex-direction:column}.hero-card.current-turn{border:3px solid #ffc107;box-shadow:0 0 15px #ffc10799;animation:glow 2s ease-in-out infinite alternate;transform:scale(1.1);z-index:10;background:rgba(255,193,7,.1);display:flex;flex-direction:column}.hero-card.current-turn .hero-image{height:182px;flex-shrink:0;margin:0;padding:0}.hero-card.dead{opacity:.3;filter:grayscale(80%);pointer-events:none;border-color:#6c757d;background:rgba(108,117,125,.1);display:flex;flex-direction:column}.hero-card.selectable{border:2px solid #28a745;cursor:pointer;box-shadow:0 0 10px #28a74580;animation:selectableGlow 1.5s ease-in-out infinite alternate;display:flex;flex-direction:column}.hero-card.selectable:hover{border-color:#218838;box-shadow:0 0 15px #28a745cc;transform:scale(1.1);display:flex;flex-direction:column}@keyframes selectableGlow{0%{box-shadow:0 0 10px #28a74580}to{box-shadow:0 0 20px #28a745cc}}@keyframes glow{0%{box-shadow:0 0 15px #ffc10799}to{box-shadow:0 0 25px #ffc107e6}}.hero-image{width:100%;height:182px;object-fit:cover;border-radius:10px 10px 0 0;margin:0;padding:0;display:block;flex-shrink:0}.hero-card-content{padding:0;margin:0;position:relative;flex:1;display:flex;flex-direction:column;font-weight:700}.hero-stats{background:rgba(0,0,0,.8);color:#fff;padding:12px;border-radius:0 0 10px 10px;font-size:.9rem;margin:-1px 0 0;position:relative;width:100%;box-sizing:border-box;flex:1;display:flex;flex-direction:column;justify-content:flex-start}.hero-stats .hero-name{font-weight:700;font-size:1.1rem;margin-bottom:8px;text-align:center;color:#fff;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.3)}.hero-stats-row{display:flex;align-items:center;margin-bottom:6px;font-size:.85rem;font-weight:700}.hero-stats-row:last-child{margin-bottom:0}.stat-icon{width:16px;height:16px;margin-right:8px;flex-shrink:0}.hero-tooltip{position:absolute;top:0;left:100%;margin-left:10px;background:rgba(0,0,0,.95);border:2px solid #007bff;border-radius:8px;padding:12px;min-width:230px;max-width:270px;z-index:1000;text-align:left;font-size:.85rem;line-height:1.4;box-shadow:0 5px 15px #00000080;overflow:visible}.tooltip-section{margin-bottom:12px}.tooltip-section:last-child{margin-bottom:0}.tooltip-section h4{color:#007bff;margin:0 0 8px;font-size:1rem;border-bottom:1px solid #007bff;padding-bottom:4px}.tooltip-ability,.tooltip-special{margin-bottom:8px;padding:8px;border-radius:6px}.tooltip-ability{background:rgba(0,123,255,.15);border-left:3px solid #007bff}.tooltip-special{background:rgba(255,193,7,.15);border-left:3px solid #ffc107}.tooltip-ability-name,.tooltip-special-name{font-weight:700;margin-bottom:4px}.tooltip-ability-name{color:#66b3ff}.tooltip-special-name{color:#ffc107}.tooltip-ability-description,.tooltip-special-description{font-size:.85rem;line-height:1.3;color:#fff}.hero-special-name{font-weight:700;color:#e68900}.status-effects{position:absolute;top:8px;right:8px;display:flex;flex-direction:column;gap:4px}.status-effect{background:rgba(0,0,0,.8);color:#fff;padding:2px 6px;border-radius:12px;font-size:.7rem;font-weight:700}.status-effect.poison{background:#28a745}.status-effect.taunt{background:#dc3545}.status-effect.inspiration{background:#ffc107;color:#000}.status-effect.silenced{background:#6c757d}.status-effect.untargetable{background:#17a2b8}.status-effect.damage-stack{background:#dc3545;color:#fff}.companions{position:absolute;top:8px;left:8px;display:flex;gap:4px;z-index:5}.companion{background:rgba(0,150,0,.9);color:#fff;padding:2px 6px;border-radius:4px;font-size:.8rem;font-weight:700;border:1px solid #006600;box-shadow:0 2px 4px #0000004d}.tooltip{position:relative;display:inline-block}.tooltip .tooltiptext{visibility:hidden;width:200px;background-color:#333;color:#fff;text-align:center;border-radius:6px;padding:8px;position:absolute;z-index:1000;bottom:125%;left:50%;margin-left:-100px;opacity:0;transition:opacity .3s;font-size:.8rem}.tooltip .tooltiptext:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#333 transparent transparent transparent}.tooltip:hover .tooltiptext{visibility:visible;opacity:1}.keyword{text-decoration:underline;cursor:help}.keyword.poison{color:#28a745}.keyword.taunt{color:#dc3545}.keyword.inspiration{color:#ffc107}.game-board{display:flex;flex-direction:column;height:100vh;padding:0;overflow:hidden}.game-lobby{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:2rem}.lobby-content{background:rgba(255,255,255,.1);padding:3rem;border-radius:16px;text-align:center;max-width:800px;width:100%;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000004d}.game-title{margin:0 0 3rem;font-size:3.5rem;font-weight:700;background:linear-gradient(45deg,#007bff,#28a745);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.mode-selection{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}.mode-option{background:rgba(255,255,255,.05);padding:2rem;border-radius:12px;border:2px solid transparent;transition:all .3s ease}.mode-option:hover{border-color:#007bff;background:rgba(255,255,255,.1);transform:translateY(-5px)}.mode-option h3{margin-top:0;font-size:1.8rem;color:#007bff;margin-bottom:1rem}.mode-option p{font-size:1.1rem;margin-bottom:1.5rem;color:#e0e0e0}.mode-option ul{text-align:left;margin:1.5rem 0;padding-left:1.5rem}.mode-option li{margin-bottom:.5rem;color:#ccc}.mode-button{background:linear-gradient(45deg,#007bff,#0056b3);color:#fff;padding:15px 30px;font-size:1.2rem;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;width:100%;margin-top:1rem}.mode-button:hover:not(:disabled){background:linear-gradient(45deg,#0056b3,#004085);transform:translateY(-2px);box-shadow:0 6px 20px #007bff66}.mode-button:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.random-button{background:linear-gradient(45deg,#28a745,#1e7e34)}.random-button:hover:not(:disabled){background:linear-gradient(45deg,#1e7e34,#155724);box-shadow:0 6px 20px #28a74566}.game-rules{background:rgba(0,0,0,.2);padding:1.5rem;border-radius:8px;margin-top:2rem;text-align:left}.game-rules h3{margin-top:0;text-align:center}.game-rules ul{margin:0;padding-left:1.5rem}.game-rules li{margin-bottom:.5rem}.draft-phase{padding:15px;max-height:100vh;overflow-y:auto}.draft-cards{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin:1.5rem 0}.draft-phase .draft-cards.ban-phase{display:flex;flex-direction:column;gap:16px;justify-content:center;align-items:center;max-width:800px;margin:1rem auto;padding:0 20px}.draft-phase .draft-cards.ban-phase .ban-row-1,.draft-phase .draft-cards.ban-phase .ban-row-2{display:flex;justify-content:center;gap:16px;width:100%}.draft-actions{display:flex;justify-content:center;gap:10px;margin:1rem 0}.teams-display{display:flex;justify-content:space-around;margin:1rem 0;gap:1rem}.current-team,.opponent-team{flex:1;background:rgba(255,255,255,.1);padding:.75rem;border-radius:8px}.current-team h3,.opponent-team h3{margin-top:0;margin-bottom:.5rem;font-size:1.1rem}.team-cards{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.draft-phase .teams-display .hero-card{width:160px;height:240px;margin:3px}.turn-indicator{text-align:center;padding:8px 16px;border-radius:6px;margin:.5rem 0;font-weight:700}.turn-indicator.my-turn{background-color:#28a74533;border:2px solid #28a745;color:#28a745}.turn-indicator.opponent-turn{background-color:#dc354533;border:2px solid #dc3545;color:#dc3545}.setup-phase{padding:20px}.attack-order-setup{display:flex;gap:2rem;justify-content:center;margin:2rem 0}.available-heroes,.attack-order{background:rgba(255,255,255,.1);padding:1rem;border-radius:8px;min-width:300px}.available-heroes h3,.attack-order h3{text-align:center;margin-top:0}.ordered-heroes{display:flex;flex-direction:column;gap:8px}.ordered-hero{display:flex;align-items:center;gap:8px}.position-number{background:#007bff;color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.setup-actions{display:flex;justify-content:center;margin:2rem 0}.battle-phase{padding:20px}.initiative-phase{display:flex;flex-direction:column;align-items:center;padding:2rem}.initiative-actions{margin:2rem 0}.turn-order-choice{background:rgba(255,255,255,.1);padding:1.5rem;border-radius:8px;margin-top:2rem}.turn-order-choice h3{margin-top:0;text-align:center}.team-display{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;padding:20px;width:100%;margin:0 auto;box-sizing:border-box;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.opponent-area .team-display{transform:translate(-50%,calc(-50% + 20px))}.action-panel{background:rgba(255,255,255,.1);padding:1.5rem;border-radius:8px;margin-top:2rem}.action-panel h3{margin-top:0;text-align:center}.ability-selection{display:flex;gap:10px;justify-content:center;margin:1rem 0;flex-wrap:wrap}.ability-button{background:#6f42c1;color:#fff;padding:8px 16px;border-radius:6px}.ability-button.selected{background:#28a745}.ability-button.selected:hover{background:#218838}.attack-button{background:#dc3545}.ability-button{background:#6f42c1}.ability-button:hover:not(:disabled){background:#5a359a}.end-turn-button{background:#6c757d}.end-turn-button:hover:not(:disabled){background:#545b62}.opponent-area{display:block;margin:0;padding:0;background:rgba(139,0,0,.3);border-radius:0;flex:1;min-height:50vh;position:relative;box-sizing:border-box}.opponent-area h3,.player-area h3{text-align:center;margin:0;position:absolute;top:50%;left:20px;transform:translateY(-50%);z-index:10;background:rgba(0,0,0,.9);padding:10px 20px;border-radius:8px;color:#fff;font-size:1.4rem;font-weight:700;box-shadow:0 2px 8px #00000080;white-space:pre-line;line-height:1.2}.opponent-area h3{border:2px solid rgba(139,0,0,.9);background:rgba(139,0,0,.2);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.player-area h3{border:2px solid rgba(100,181,246,.8);background:rgba(100,181,246,.15);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.player-area{display:block;margin:0;padding:0;background:rgba(100,181,246,.25);border-radius:0;flex:1;min-height:50vh;position:relative;box-sizing:border-box}.battle-info{background:rgba(0,0,0,.3);padding:1rem;border-radius:8px;margin-bottom:1rem}.turn-indicator{font-size:1.2rem;font-weight:700;margin-bottom:.5rem}.action-buttons{display:flex;gap:10px;justify-content:center;margin-top:1rem}.action-button{background:#007bff;color:#fff;padding:10px 20px;font-size:1rem}.action-button:hover{background:#0056b3}.action-button:disabled{background:#6c757d}.action-button.used{background:#6c757d;color:#aaa;opacity:.7}.action-button.silenced{background:#6c757d;color:#aaa;opacity:.6;position:relative}.action-button.silenced:after{content:"🔇";position:absolute;top:2px;right:4px;font-size:.8rem}.action-button.permanently-disabled{background:#495057;color:#6c757d;opacity:.4;position:relative;border:1px solid #6c757d}.action-button.permanently-disabled:after{content:"🚫";position:absolute;top:2px;right:4px;font-size:.8rem}.action-button.selecting{background:#17a2b8;color:#fff;border:2px solid #138496;animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.initiative-choice{background:rgba(255,255,255,.1);padding:2rem;border-radius:12px;margin:2rem auto;max-width:500px;text-align:center}.initiative-results{background:rgba(0,0,0,.3);padding:1rem;border-radius:8px;margin:1rem 0}.player-roll{font-size:1.2rem;margin:.5rem 0}.winner-choice h3{color:#28a745;margin:1rem 0}.waiting-choice h3{color:#ffc107;margin:1rem 0}.choice-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.game-info{display:flex;flex-direction:column;gap:20px}.phase-info,.player-info,.draft-info,.initiative-info{background:rgba(255,255,255,.1);border-radius:8px;padding:15px;border-left:4px solid #007bff}.game-info h3{margin:0 0 10px;font-size:1.1rem;color:#007bff;text-transform:uppercase;letter-spacing:.5px}.current-phase{font-size:1.2rem;font-weight:700;color:#28a745;text-transform:capitalize}.player-entry{margin-bottom:8px;padding:8px;border-radius:6px}.current-player{background:rgba(40,167,69,.2);border-left:3px solid #28a745}.opponent-player{background:rgba(220,53,69,.2);border-left:3px solid #dc3545}.draft-progress{font-size:.9rem;color:#ccc;margin-top:4px}.draft-round{font-size:1.1rem;font-weight:700;color:#ffc107}.turn-status{margin-top:8px;font-weight:700;padding:6px;border-radius:4px;background:rgba(0,0,0,.3)}.initiative-rolls{margin:8px 0}.initiative-rolls>div{margin:4px 0;padding:4px 8px;background:rgba(0,0,0,.3);border-radius:4px}.initiative-winner{color:#28a745;font-weight:700}.initiative-loser{color:#dc3545}.setup-info,.battle-info{background:rgba(255,255,255,.1);border-radius:8px;padding:15px;border-left:4px solid #28a745}.setup-status{color:#ffc107;font-weight:700}.current-turn{color:#28a745;font-weight:700;font-size:1.1rem;padding:8px;background:rgba(40,167,69,.2);border-radius:6px;margin-bottom:10px}.opponent-turn{color:#dc3545;font-weight:700;font-size:1.1rem;padding:8px;background:rgba(220,53,69,.2);border-radius:6px;margin-bottom:10px}.action-status{margin-top:12px}.actions-used{margin-bottom:10px}.action-used{color:#6c757d;font-size:.9rem;margin:2px 0}.action-available{color:#28a745;font-weight:700}.active-hero{background:rgba(0,0,0,.3);border-radius:6px;padding:10px;margin-top:8px}.active-hero h4{margin:0 0 6px;color:#007bff;font-size:.95rem}.active-hero .hero-name{font-weight:700;margin-bottom:4px}.active-hero .hero-hp{font-size:.9rem;color:#ccc}.battle-log{background:rgba(255,255,255,.1);border-radius:8px;padding:15px;border-left:4px solid #dc3545;max-height:40vh;overflow:hidden;flex:0 0 auto;display:flex;flex-direction:column}.log-entries{max-height:35vh;overflow-y:auto;overflow-x:hidden;padding-right:5px}.log-entries::-webkit-scrollbar{width:6px}.log-entries::-webkit-scrollbar-track{background:rgba(255,255,255,.1);border-radius:3px}.log-entries::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:3px}.log-entries::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.5)}.log-entry{background:rgba(0,0,0,.3);border-radius:4px;padding:8px;margin-bottom:6px;font-size:.85rem}.log-action{font-weight:700;margin-bottom:2px}.log-result{color:#ccc}.crit{color:#ffc107;font-weight:700}.miss{color:#dc3545}.hit{color:#28a745}.heal{color:#28a745;font-weight:700}.heal-roll-info{color:#6c757d;font-size:.8rem;margin-left:8px}.buff{color:#17a2b8;font-weight:700}.status{color:#6f42c1;font-weight:700}.damage-roll-info,.roll-info{color:#6c757d;font-size:.8rem;margin-left:8px}.advantage-chosen{color:#007bff;font-weight:700}.battle-layout{display:flex;gap:0;height:100vh;overflow:hidden;margin:0 300px 0 0}.game-board{flex:1;display:flex;flex-direction:column;gap:0;padding:0;margin:0;width:100%;height:100vh}.action-bar{width:300px;background:rgba(0,0,0,.8);border-left:2px solid #007bff;padding:0;margin:0;overflow-y:hidden;flex-shrink:0;display:flex;flex-direction:column;gap:0;position:fixed;top:0;right:0;bottom:0;height:100vh;z-index:1000}.action-bar>*{padding:20px}.action-bar h3{margin:0;padding:20px 20px 10px;font-size:1.8rem;text-shadow:2px 2px 4px rgba(0,0,0,.5);color:#007bff;text-align:center}.current-hero-info{background:rgba(255,255,255,.1);border-radius:8px;padding:15px;border-left:4px solid #007bff;text-align:center}.current-hero-info h4{margin:0 0 10px;color:#007bff;font-size:1.1rem;text-transform:uppercase;letter-spacing:.5px}.current-hero-info p{margin:0;color:#fff;font-size:.9rem}.ability-selection{display:flex;flex-direction:column;gap:8px;background:rgba(255,255,255,.1);border-radius:8px;padding:15px;border-left:4px solid #6f42c1}.ability-selection h4{margin:0 0 10px;color:#6f42c1;font-size:1.1rem;text-transform:uppercase;letter-spacing:.5px;text-align:center}.ability-button{background:#444;color:#fff;border:2px solid #666;border-radius:6px;padding:10px;cursor:pointer;transition:all .2s;font-size:.9rem}.ability-button:hover{background:#555;border-color:#888}.ability-button.selected{background:#007bff;border-color:#0056b3}.ability-button:disabled{background:#222;color:#666;border-color:#333;cursor:not-allowed}.action-buttons{display:flex;flex-direction:column;gap:10px;background:rgba(255,255,255,.1);border-radius:8px;padding:15px;border-left:4px solid #dc3545}.action-buttons h4{margin:0 0 10px;color:#dc3545;font-size:1.1rem;text-transform:uppercase;letter-spacing:.5px;text-align:center}.end-turn-section{background:rgba(255,255,255,.1);border-radius:8px;padding:15px;border-left:4px solid #ffc107}.end-turn-section h4{margin:0 0 10px;color:#ffc107;font-size:1.1rem;text-transform:uppercase;letter-spacing:.5px;text-align:center}.simple-actions{display:flex;flex-direction:column;gap:12px}.simple-actions .action-button{padding:14px 16px;border:none;border-radius:6px;cursor:pointer;font-weight:700;font-size:1rem;transition:all .2s;text-align:center}.action-button{padding:12px;border:none;border-radius:6px;cursor:pointer;font-weight:700;transition:all .2s;font-size:.95rem;min-width:140px;width:100%}.attack-button{background:#dc3545;color:#fff}.attack-button:hover:not(:disabled){background:#c82333}.ability-button{background:#007bff;color:#fff}.ability-button:hover:not(:disabled){background:#0056b3}.end-turn-button{background:#6c757d;color:#fff}.end-turn-button:hover{background:#545b62}.action-button:disabled{background:#333;color:#666;cursor:not-allowed}.target-info{background:rgba(255,255,255,.1);border-radius:8px;padding:15px;border-left:4px solid #28a745;text-align:center}.target-info p{margin:0;color:#fff;font-size:.9rem}.target-info h4{margin:0 0 10px;color:#28a745;font-size:1.1rem;text-transform:uppercase;letter-spacing:.5px}.wait-message{background:rgba(255,255,255,.1);border-radius:8px;padding:15px;border-left:4px solid #6c757d;text-align:center;margin-top:20px}.wait-message h4{margin:0 0 10px;color:#6c757d;font-size:1.1rem;text-transform:uppercase;letter-spacing:.5px}.wait-message p{margin:0;color:#ccc;font-style:italic}.buffed-stat{position:relative;display:inline-block}.buffed-text{color:#66b3ff;text-shadow:0 0 8px rgba(102,179,255,.6);font-weight:700}.buff-tooltip{position:relative;display:inline-block}.buff-tooltiptext{visibility:hidden;width:180px;background-color:#000000f2;color:#fff;text-align:center;border-radius:6px;padding:8px;position:absolute;z-index:1000;bottom:125%;left:50%;margin-left:-90px;opacity:0;transition:opacity .3s;font-size:.8rem;border:1px solid #66b3ff;box-shadow:0 4px 8px #0000004d}.buff-tooltiptext:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:rgba(0,0,0,.95) transparent transparent transparent}.buffed-stat:hover .buff-tooltiptext{visibility:visible;opacity:1}.buffed-stat.has-debuff{color:#f66;text-shadow:0 0 8px rgba(255,102,102,.6);font-weight:700}.stat-buffed{color:#66b3ff;text-shadow:0 0 8px rgba(102,179,255,.8);font-weight:700}.stat-debuffed{color:#f66;text-shadow:0 0 8px rgba(255,102,102,.8);font-weight:700}.stat-berserker-stacks{color:#f90;text-shadow:0 0 8px rgba(255,153,0,.8);font-weight:700}.status-effect.stat-modifier.debuff{background-color:#f663;border:1px solid #ff6666;color:#f66}.special-ability{color:#96f;font-weight:700;text-shadow:0 0 8px rgba(153,102,255,.6)}.special-ability-section{display:flex;flex-direction:column;align-items:center;gap:8px}.ability-instruction{font-size:.85em;color:#ccc;background:rgba(0,123,255,.1);border:1px solid rgba(0,123,255,.3);border-radius:4px;padding:6px 12px;text-align:center;max-width:200px;line-height:1.2}body{margin:0;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;background:linear-gradient(135deg,#1e3c72 0%,#2a5298 100%);min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}button{cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px;transition:all .2s ease}button:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0003}button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}input{border:1px solid #ccc;border-radius:4px;padding:8px 12px;font-size:14px}input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}
