:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--mobile-padding: max(20px, var(--safe-area-top));--mobile-padding-horizontal: max(20px, var(--safe-area-right))}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100svh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) rgba(255,255,255,.1)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#ffffff1a;border-radius:8px}*::-webkit-scrollbar-thumb{background:#ffffff59;border-radius:8px}*::-webkit-scrollbar-thumb:hover{background:#ffffff80}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.toast{display:flex;align-items:center;min-width:300px;max-width:500px;padding:12px 16px;margin-bottom:8px;border-radius:8px;box-shadow:0 4px 12px #00000026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:500;animation:slideIn .3s ease-out forwards;position:relative;overflow:hidden}.toast-content{display:flex;align-items:center;width:100%;gap:12px}.toast-icon{font-size:18px;flex-shrink:0}.toast-message{flex-grow:1;line-height:1.4;word-wrap:break-word}.toast-close{background:none;border:none;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0;transition:background-color .2s ease}.toast-close:hover{background-color:#fff3}.toast-success{background:linear-gradient(135deg,#4ade80,#22c55e);color:#fff;border-left:4px solid #16a34a}.toast-error{background:linear-gradient(135deg,#f87171,#ef4444);color:#fff;border-left:4px solid #dc2626}.toast-warning{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border-left:4px solid #d97706}.toast-info{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff;border-left:4px solid #2563eb}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast.toast-exit{animation:slideOut .3s ease-in forwards}@media (max-width: 480px){.toast{min-width:280px;max-width:90vw;margin-left:5vw;margin-right:5vw}.toast-message{font-size:13px}.toast-icon{font-size:16px}}.toast-container{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;align-items:flex-end}@media (max-width: 480px){.toast-container{top:10px;right:0;left:0;align-items:center}}.login-container{min-height:100svh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:max(20px,env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px))}.login-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:25px;box-shadow:0 15px 30px #0000001a;max-width:450px;width:100%;text-align:center;color:#333}.login-card h1{font-size:2.2em;margin:0 0 8px;color:#4a5568;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.subtitle{color:#666;margin-bottom:20px;font-size:1.05em}.login-mode-selector{display:flex;gap:8px;margin-bottom:20px;border-radius:8px;background:#0000000d;padding:4px}.mode-btn{flex:1;padding:10px 14px;border:none;border-radius:6px;background:transparent;color:#666;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9em}.mode-btn:hover{background:#ffffffb3;color:#333}.mode-btn.active{background:#fff;color:#4a5568;box-shadow:0 2px 8px #0000001a}.login-form{display:flex;flex-direction:column;gap:15px;text-align:left}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:600;color:#4a5568;font-size:.95em}.form-group input{padding:10px 14px;border:2px solid #e2e8f0;border-radius:6px;font-size:.95em;transition:all .3s ease;background:#fff;color:#495057}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder{color:#a0aec0}.error-message{background:#fed7d7;color:#c53030;padding:10px;border-radius:6px;border:1px solid #feb2b2;font-size:.85em;text-align:center}.login-btn{padding:12px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1.05em;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:8px}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea4d}.login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.guest-info,.register-info{margin-top:18px;padding:15px;background:#667eea1a;border-radius:8px;border:1px solid rgba(102,126,234,.2);text-align:left;font-size:.85em}.guest-info p,.register-info p{margin:0;line-height:1.6;color:#4a5568}.guest-info strong,.register-info strong{color:#2d3748}@media (max-width: 768px){.login-container{padding:15px}.login-card{padding:20px}.login-card h1{font-size:2em}.subtitle{font-size:1em;margin-bottom:18px}.login-mode-selector{margin-bottom:18px}.mode-btn{padding:8px 12px;font-size:.85em}.login-form{gap:12px}.form-group{gap:5px}.form-group input{padding:9px 12px;font-size:.9em}.login-btn{padding:10px 16px;font-size:1em}.guest-info,.register-info{margin-top:15px;padding:12px;font-size:.8em}}@media (max-width: 480px){.login-container{padding:10px}.login-card{padding:18px;margin:5px}.login-card h1{font-size:1.8em;margin-bottom:6px}.subtitle{font-size:.95em;margin-bottom:15px}.login-mode-selector{margin-bottom:15px;gap:6px;padding:3px}.mode-btn{padding:7px 10px;font-size:.8em}.login-form{gap:10px}.form-group{gap:4px}.form-group label{font-size:.9em}.form-group input{padding:8px 10px;font-size:.85em}.error-message{padding:8px;font-size:.8em}.login-btn{padding:9px 14px;font-size:.95em;margin-top:6px}.guest-info,.register-info{margin-top:12px;padding:10px;font-size:.75em}.guest-info p,.register-info p{line-height:1.5}}.login-card{animation:slideUp .6s ease-out}.form-group{animation:fadeIn .5s ease-out}.game-type-container{min-height:100svh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:max(20px,env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px))}.game-type-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:20px;box-shadow:0 15px 30px #0000001a;max-width:500px;width:100%;text-align:center;color:#333;animation:slideUp .6s ease-out;position:relative}.back-btn{background:#ffffffe6;border:none;padding:8px 12px;border-radius:8px;cursor:pointer;font-weight:600;color:#4a5568;transition:all .3s ease;font-size:.85em}.type-header{margin-bottom:20px}.loading-state{text-align:center;padding:40px 20px}.loading-state h2{color:#4a5568;margin-bottom:10px}.loading-state p{color:#666}.game-icon{display:flex;flex-direction:row;justify-content:center;align-items:flex-end;gap:2px;margin-bottom:20px;animation:bounce 2s infinite;flex-wrap:wrap;width:100%}.type-header h2{margin:0 0 8px;color:#4a5568;font-size:1.5em}.type-header p{color:#666;font-size:1em;margin:0}.type-options{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:20px}.type-option{background:#fffc;border:2px solid transparent;border-radius:10px;padding:15px 12px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.type-option:hover{transform:translateY(-5px);box-shadow:0 10px 25px #00000026;border-color:#667eea4d}.type-option.selected{border-color:#667eea;background:#667eea1a;transform:translateY(-5px) scale(1.02);box-shadow:0 15px 30px #667eea4d}.type-icon{font-size:2.5em;margin-bottom:8px;height:50px;display:flex;align-items:center;justify-content:center}.type-option h3{margin:0 0 8px;color:#4a5568;font-size:1.1em}.type-option p{color:#666;margin-bottom:12px;font-weight:500;font-size:.9em}.type-option ul{list-style:none;padding:0;margin:0 0 10px;text-align:left}.type-option li{color:#555;font-size:.8em;position:relative;padding:3px 0 3px 16px}.type-option li:before{content:"✓";position:absolute;left:0;color:#48bb78;font-weight:700}.type-badge{position:absolute;top:12px;right:12px;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;padding:4px 10px;border-radius:15px;font-size:.7em;font-weight:600}.type-option.selected .type-badge{background:linear-gradient(135deg,#667eea,#764ba2)}.type-info{background:#0000000d;border-radius:10px;padding:18px;text-align:left}.type-info h4{margin:0 0 15px;color:#4a5568;text-align:center;font-size:1.1em}.rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.rule-item{background:#ffffffb3;padding:12px;border-radius:6px;font-size:.85em}@media (max-width: 768px){.game-type-container{padding:15px}.game-type-card{padding:18px;max-width:420px}.user-status-header{flex-direction:column;gap:12px;align-items:stretch}.user-info{justify-content:center}.user-avatar{width:35px;height:35px;font-size:1em}.user-details{text-align:center}.header-actions{justify-content:center}.logout-btn,.back-btn{padding:10px 16px;font-size:.9em}.type-options{grid-template-columns:1fr;gap:12px}.type-option{padding:12px 10px}.rules-grid{grid-template-columns:1fr}}@media (max-width: 480px){.game-type-container{padding:10px}.game-type-card{padding:15px}.back-btn{top:12px;left:12px;padding:8px 12px;font-size:.9em}.type-header h2{font-size:1.3em}.type-icon{font-size:2em;height:40px}.suit-icon{width:25px;height:35px}.type-option{padding:20px;min-height:120px;display:flex;flex-direction:column;justify-content:center;align-items:center}.type-option h3{font-size:1.2em;margin:10px 0 0}.type-icon{font-size:2.5rem}}@media (max-width: 480px){.game-type-card{padding:15px;max-width:90%}.type-header h2{font-size:1.3rem;margin:10px 0}.type-header p{font-size:.9rem;margin:5px 0}.type-options{gap:15px;grid-template-columns:1fr 1fr}.type-option{padding:15px;min-height:100px}.type-icon{font-size:2rem}.type-option h3{font-size:1rem;margin:8px 0 0}}.dev-console{position:fixed;bottom:20px;right:20px;background:#000000e6;color:#fff;padding:15px;border-radius:8px;border:2px solid #ffc107;z-index:1000;min-width:250px;box-shadow:0 8px 32px #0000004d}.dev-info{font-size:.9em;color:#ffc107;margin-bottom:10px;font-weight:600;text-align:center}.dev-actions{display:flex;flex-direction:column;gap:8px}.dev-btn{padding:6px 12px;border:none;border-radius:4px;font-size:.8em;cursor:pointer;transition:all .2s ease;font-weight:500}.dev-btn.clear-session{background:#dc3545;color:#fff}.dev-btn.clear-session:hover{background:#c82333}.dev-btn.view-storage{background:#17a2b8;color:#fff}.dev-btn.view-storage:hover{background:#138496}.dev-btn.close-console{background:#6c757d;color:#fff}.dev-btn.close-console:hover{background:#545b62}.dev-tools,.clear-session-btn{display:none}.game-mode-container{min-height:100svh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:max(20px,env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px))}.game-mode-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:20px;box-shadow:0 15px 30px #0000001a;max-width:450px;width:100%;text-align:center;color:#333;animation:slideUp .6s ease-out;position:relative;transform:scale(.79) translateY(10px);transform-origin:top center}.mode-header{margin-bottom:15px}.game-icon{display:flex;flex-direction:row;justify-content:center;align-items:flex-end;gap:1px;margin-bottom:20px;animation:bounce 2s infinite;flex-wrap:wrap;width:100%}.suit-icon{width:30px;height:45px;object-fit:contain}.mode-header h2{margin:0 0 5px;color:#4a5568;font-size:1.4em}.mode-header p{color:#666;font-size:.9em;margin:0}.mode-options{display:grid;grid-template-columns:1fr;gap:12px}.mode-option{background:#fffc;border:2px solid transparent;border-radius:8px;padding:10px 8px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.mode-option:hover{transform:translateY(-5px);box-shadow:0 10px 25px #00000026;border-color:#667eea4d}.mode-option.selected{border-color:#667eea;background:#667eea1a;transform:translateY(-5px) scale(1.02);box-shadow:0 15px 30px #667eea4d}.mode-icon{font-size:1.8em;margin-bottom:4px;height:45px;margin-top:5px;display:flex;align-items:center;justify-content:center}.mode-option h3{margin:0 0 5px;color:#4a5568;font-size:1em}.mode-option p{color:#666;margin-bottom:8px;font-weight:600;font-size:.8em}.mode-option ul{list-style:none;padding:0;margin:0 0 8px;text-align:left}.mode-option li{color:#555;font-size:.75em;position:relative;padding:2px 0 2px 14px}.mode-option li:before{content:"✓";position:absolute;left:0;color:#48bb78;font-weight:700}.mode-badge{position:absolute;top:2px;right:10px;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;padding:3px 8px;border-radius:15px;font-size:.7em;font-weight:600}.tournament-badge{background:linear-gradient(135deg,gold,#ffed4e);color:#1a1a1a;font-weight:700;animation:shimmer 2s infinite}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.8}}.mode-option.selected .mode-badge{background:linear-gradient(135deg,#667eea,#764ba2)}.mode-info{background:#0000000d;border-radius:10px;padding:18px;text-align:left}.mode-info h4{margin:0 0 15px;color:#4a5568;text-align:center;font-size:1.1em}.rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2px}.rule-item{background:#ffffffb3;padding:12px;border-radius:6px;font-size:.8em}.rule-item strong{color:#4a5568}.back-btn{position:absolute;top:20px;left:20px;background:#ffffffe6;border:none;padding:10px 15px;border-radius:8px;cursor:pointer;font-weight:600;color:#4a5568;transition:all .3s ease;z-index:10}.back-btn:hover{background:#fff;transform:translate(-2px)}.mode-info{text-align:center}.mode-info h2{margin:0 0 10px;color:#4a5568}.mode-info p{color:#666;margin:0}.teams-preview{display:flex;align-items:center;justify-content:center;gap:30px;margin:20px 0;padding:20px;background:#ffffff1a;border-radius:12px}.team{text-align:center}.team h4{margin:0 0 15px;color:#4a5568;font-size:1.1em}.team-players{display:flex;flex-direction:column;gap:10px}.player-info{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fffc;border-radius:8px}.player-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:.9em;font-weight:700;color:#fff}.vs-divider{font-size:1.5em;font-weight:700;color:#4a5568}@media (min-width: 1600px){.game-mode-card{animation:none;transform:scale(.8) translateY(-10px);transform-origin:top center}}@media (max-width: 768px){.game-mode-container{padding:10px}.game-mode-card{padding:20px;animation:none;transform:scale(.9) translateY(-10px)}.mode-options{grid-template-columns:1fr;gap:15px}.mode-option{padding:12px 10px}.rules-grid{grid-template-columns:1fr}.teams-preview{flex-direction:column;gap:15px}}@media (max-width: 767px){.game-mode-container{padding:8px}.game-mode-card{padding:12px;margin:5px;max-height:80vh}.mode-header{margin-bottom:10px}.mode-header h2{font-size:1.2em;margin-bottom:3px}.mode-header p{font-size:.8em;margin:0}.game-icon{margin-top:12px;gap:0}.suit-icon{width:24px;height:36px}.mode-options{gap:8px}.mode-option{padding:6px 4px;border-radius:6px}.mode-icon{font-size:1.3em;height:30px;margin-bottom:3px}.mode-option h3{font-size:.85em;margin-bottom:2px}.mode-option p,.mode-option ul{display:none}}@media (max-width: 480px){.game-mode-container{padding:5px}.game-mode-card{padding:20px;margin:2px;max-height:100vh;transform:scale(.65) translateY(0);animation:none}.mode-header{margin-bottom:8px}.mode-header h2{font-size:1.1em;margin-bottom:2px}.mode-header p{font-size:.75em}.game-icon{margin-bottom:8px}.suit-icon{width:20px;height:30px}.mode-options{gap:6px}.mode-option{padding:5px 3px}.mode-icon{font-size:1.1em;height:25px;margin-bottom:2px}.mode-option h3{font-size:.8em;margin-bottom:1px}.mode-badge{font-size:.6em;padding:2px 6px;top:6px;right:6px}.mode-info{padding:12px;border-radius:6px}.rules-grid{gap:2px}.rule-item{padding:8px;border-radius:6px}.rule-item h4{font-size:.9em;margin-bottom:4px}.rule-item p{font-size:.8em}.start-game-section{margin-top:15px}.start-game-btn{padding:10px 20px;font-size:.9em}}.akuze-option{margin-top:15px;padding:15px;background:#4caf501a;border-radius:8px;border:1px solid rgba(76,175,80,.3)}.akuze-option h4{margin:0 0 10px;color:#2e7d32;font-size:1.1em}.checkbox-container{display:flex;align-items:center;cursor:pointer;font-size:1em;margin-bottom:8px;-webkit-user-select:none;user-select:none}.checkbox-container input[type=checkbox]{margin-right:8px;transform:scale(1.2);accent-color:#4caf50}.akuze-description{font-size:.9em;color:#666;margin:0;text-align:left}.ai-mode-section{display:flex;flex-direction:column;gap:8px;margin-bottom:15px;border:2px solid rgba(102,126,234,.2);border-radius:10px;padding:12px;background:#667eea0d;transition:all .3s ease}.ai-mode-section:hover{border-color:#667eea66;background:#667eea14}.ai-section-header{display:flex;justify-content:center;margin-bottom:6px}.ai-badge{color:#666;padding:4px 10px;border-radius:12px;font-size:.8em;font-weight:600;letter-spacing:.5px}.ai-mode-section>button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 20px;border-radius:8px;cursor:pointer;font-size:1em;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.ai-mode-section>button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.ai-akuze-option{background:#fffc;border:1px solid rgba(255,193,7,.4);border-radius:6px;padding:8px 12px;text-align:left;margin-top:4px}.ai-akuze-option .checkbox-container{font-size:.9em;margin-bottom:4px}.ai-akuze-option .akuze-description{font-size:.8em;margin:0;color:#555}.mode-header{margin-bottom:12px}.mode-options{gap:10px}.mode-info{padding:15px}.rules-grid{gap:2px}.rule-item{padding:10px;font-size:.85em}@media (max-width: 768px) and (max-height: 800px){.game-mode-container{align-items:flex-start;padding:8px;overflow-y:auto}.game-mode-card{margin:5px auto;max-height:calc(100vh - 10px);overflow-y:auto;position:static;bottom:auto;animation:none!important;transform:scale(.85) translateY(-5px)!important;transform-origin:top center}.mode-info{max-height:120px;overflow-y:auto;border:1px solid rgba(0,0,0,.1)}.mode-header{margin-bottom:6px}.mode-options{gap:4px;margin-bottom:6px}.ai-mode-section{margin-bottom:6px;padding:6px}.mode-info{padding:8px}.game-icon{margin-bottom:8px}.suit-icon{width:20px;height:30px}}@media (min-width: 769px) and (max-height: 800px){.game-mode-container{align-items:flex-start;padding:10px;overflow-y:auto}.game-mode-card{animation:none;transform:scale(.58) translateY(40px);transform-origin:top center}.mode-info{max-height:150px;overflow-y:auto;border:1px solid rgba(0,0,0,.1)}.mode-info::-webkit-scrollbar{width:6px}.mode-info::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.mode-info::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:3px}.mode-info::-webkit-scrollbar-thumb:hover{background:#667eea80}.mode-header{margin-bottom:8px}.mode-options{gap:6px;margin-bottom:8px}.ai-mode-section{margin-bottom:8px;padding:8px}.mode-info{padding:10px}.game-icon{margin-bottom:10px}.suit-icon{width:22px;height:33px}}@media (max-height: 600px){.game-mode-card{animation:none!important;transform:scale(.7) translateY(-20px)!important}}.mode-info{max-height:200px;overflow-y:auto;border:1px solid rgba(0,0,0,.1)}.mode-info::-webkit-scrollbar{width:6px}.mode-info::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.mode-info::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:3px}.mode-info::-webkit-scrollbar-thumb:hover{background:#667eea80}.mode-header{margin-bottom:10px}.mode-options{gap:8px;margin-bottom:10px}.ai-mode-section{margin-bottom:10px}.mode-info{padding:12px}.game-icon{margin-bottom:15px}.suit-icon{width:25px;height:38px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.create-game-modal{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;color:#2d3748;animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 20px;border-bottom:1px solid #e2e8f0}.modal-header h2{margin:0;font-size:1.4rem;color:#2d3748;font-weight:700}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6c757d;padding:4px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.create-game-form{padding:24px}.form-section{margin-bottom:24px}.form-label{display:block;margin-bottom:8px;font-weight:600;color:#4a5568;font-size:.95rem}.form-input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s ease;background:#fff;color:#2d3748}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input.error{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.error-text{display:block;color:#dc3545;font-size:.85rem;margin-top:6px;font-weight:500}.mode-selector{display:flex;gap:12px}.mode-option{flex:1;cursor:pointer;border:2px solid #e2e8f0;border-radius:8px;padding:16px;transition:all .2s ease;background:#fff}.mode-option:hover{border-color:#cbd5e0;background:#f8f9fa}.mode-option.selected{border-color:#667eea;background:#667eea0d}.mode-option input[type=radio]{display:none}.mode-content{display:flex;align-items:center;gap:12px}.mode-icon{font-size:1.5rem}.mode-info{display:flex;flex-direction:column}.mode-title{font-weight:600;color:#2d3748;font-size:1rem}.mode-desc{color:#6c757d;font-size:.85rem;margin-top:2px}.checkbox-wrapper{margin-bottom:16px}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:500;color:#4a5568}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{width:20px;height:20px;border:2px solid #cbd5e0;border-radius:4px;position:relative;transition:all .2s ease;background:#fff}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background:#667eea;border-color:#667eea}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.checkbox-text{flex:1}.password-section{margin-top:12px;padding:16px;background:#667eea0d;border-radius:8px;border:1px solid rgba(102,126,234,.1)}.password-input{margin-bottom:8px}.password-hint{color:#6c757d;font-size:.85rem;font-style:italic}.game-preview{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:16px;margin-bottom:24px}.game-preview h4{margin:0 0 12px;color:#495057;font-size:1rem;font-weight:600}.preview-content{display:flex;flex-direction:column;gap:8px}.preview-item{display:flex;justify-content:space-between;align-items:center}.preview-label{color:#6c757d;font-weight:500;font-size:.9rem}.preview-value{color:#495057;font-weight:600;font-size:.9rem}.modal-actions{display:flex;gap:12px;padding-top:20px;border-top:1px solid #e2e8f0;margin-top:24px}.cancel-btn,.create-btn{flex:1;padding:12px 20px;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .2s ease}.cancel-btn{background:#6c757d;color:#fff}.cancel-btn:hover{background:#5c636a;transform:translateY(-1px)}.create-btn{background:#28a745;color:#fff}.create-btn:hover{background:#34ce57;transform:translateY(-1px);box-shadow:0 4px 12px #28a7454d}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.create-game-modal{max-width:100%;margin:0 16px;max-height:85vh}.modal-header{padding:20px 20px 16px}.modal-header h2{font-size:1.2rem}.create-game-form{padding:20px}.mode-selector{flex-direction:column;gap:8px}.mode-option{padding:12px}.mode-content{gap:8px}.mode-icon{font-size:1.2rem}.form-section{margin-bottom:20px}.preview-content{gap:6px}.preview-item{flex-direction:column;align-items:flex-start;gap:2px}}@media (max-width: 480px){.create-game-modal{max-height:90vh}.modal-header{padding:16px}.modal-header h2{font-size:1.1rem}.create-game-form{padding:16px}.form-input{padding:10px 12px}.mode-option{padding:10px}.modal-actions{flex-direction:column;gap:8px}.cancel-btn,.create-btn{padding:10px 16px}}.akuze-hint{font-size:.85rem;color:#6c757d;margin-top:4px;padding:8px 12px;background:#ffc1071a;border-radius:4px;border-left:3px solid #ffc107}.game-lobby{min-height:100vh;background:linear-gradient(135deg,#74b9ff,#0984e3,#6c5ce7);padding:20px;color:#fff;position:relative}.game-lobby:before{content:"";position:absolute;inset:0;background:url(/cards_img/wood.jpg) center/cover;opacity:.05;pointer-events:none}.lobby-header{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;margin-bottom:30px;background:#ffffff1a;padding:20px;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a}.header-left{display:flex;justify-content:flex-start;margin-top:50px}.header-center{display:flex;justify-content:center}.header-center h1{margin:0;font-size:2rem;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.3);color:#fff}.header-right{display:flex;justify-content:flex-end;gap:12px}.back-btn{background:linear-gradient(135deg,#4a5568,#2d3748);border:none;color:#fff;padding:12px 20px;border-radius:12px;cursor:pointer;font-weight:600;font-size:.95rem;transition:all .3s ease;border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 16px #4a55684d}.back-btn:hover{background:linear-gradient(135deg,#2d3748,#1a202c);transform:translateY(-2px);box-shadow:0 6px 20px #4a556866}.refresh-btn,.create-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:12px 18px;border-radius:12px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .3s ease;box-shadow:0 4px 16px #667eea4d}.refresh-btn:hover,.create-btn:hover{background:linear-gradient(135deg,#5a67d8,#553c9a);transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.create-btn{background:linear-gradient(135deg,#48bb78,#38a169);box-shadow:0 4px 16px #48bb784d}.create-btn:hover{background:linear-gradient(135deg,#38a169,#2f855a);box-shadow:0 6px 20px #48bb7866}.create-first-btn{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;padding:16px 32px;border-radius:12px;cursor:pointer;font-weight:600;font-size:1.1rem;transition:all .3s ease;box-shadow:0 6px 20px #48bb784d}.create-first-btn:hover{background:linear-gradient(135deg,#38a169,#2f855a);transform:translateY(-3px);box-shadow:0 8px 25px #48bb7866}.join-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:12px 24px;border-radius:10px;cursor:pointer;font-weight:600;font-size:.95rem;transition:all .3s ease;width:100%;box-shadow:0 4px 12px #28a74533}.join-btn:hover:not(:disabled){background:linear-gradient(135deg,#34ce57,#2dd4aa);transform:translateY(-2px);box-shadow:0 6px 16px #28a7454d}.join-btn:disabled{background:linear-gradient(135deg,#6c757d,#5a6169);cursor:not-allowed;transform:none;box-shadow:none}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;background:#ffffff1a;border-radius:20px;padding:40px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);margin:20px 0}.loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-banner{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;padding:12px 16px;border-radius:12px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;animation:slideDown .3s ease;box-shadow:0 4px 16px #dc35454d}.error-banner button{background:none;border:none;color:#fff;cursor:pointer;font-size:1.2rem;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s ease}.error-banner button:hover{background:#fff3}.no-games{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;background:#ffffff1a;border-radius:20px;padding:40px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);margin:20px 0}.no-games-icon{font-size:5rem;margin-bottom:20px;opacity:.8;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.no-games h3{margin:0 0 12px;font-size:1.8rem;opacity:.95;text-shadow:0 2px 4px rgba(0,0,0,.2)}.no-games p{margin:0 0 30px;opacity:.85;font-size:1.2rem;text-shadow:0 1px 2px rgba(0,0,0,.1)}.games-section{flex:1}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:8px}.game-card{background:linear-gradient(135deg,#fffffff2,#ffffffd9);border-radius:16px;padding:24px;color:#2d3748;box-shadow:0 8px 32px #0000001a;transition:all .3s ease;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.game-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#74b9ff,#0984e3,#6c5ce7)}.game-card:hover{transform:translateY(-6px);box-shadow:0 12px 40px #00000026;border-color:#ffffff80}.game-header-lobby{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0;min-height:32px;margin-top:20px}.game-title-area{display:flex;align-items:center;gap:12px;flex:1;min-height:32px}.game-header-lobby h3{margin:0;font-size:1.2rem;font-weight:600;color:#2d3748;flex:1;line-height:1.3}.game-badges{display:flex;gap:8px;align-items:center;flex-shrink:0;margin-left:12px}.mode-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:600;box-shadow:0 2px 8px #667eea4d}.password-badge{color:#f59e0b;font-size:1.1rem;background:#f59e0b1a;padding:4px 8px;border-radius:8px;border:1px solid rgba(245,158,11,.2)}.delete-btn{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;border:none;padding:6px 10px;border-radius:8px;cursor:pointer;font-size:.85rem;transition:all .3s ease;box-shadow:0 2px 8px #dc35454d;display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;position:relative;flex-shrink:0;margin-left:8px}.delete-btn:hover{background:linear-gradient(135deg,#c82333,#a71e2a);transform:translateY(-2px);box-shadow:0 4px 12px #dc354566}.delete-btn:active{transform:translateY(0);box-shadow:0 2px 6px #dc354566}.game-info{margin-bottom:16px}.game-info p{margin:0 0 8px;color:#4a5568;font-size:.95rem}.game-info strong{color:#2d3748;font-weight:600}.created-time{color:#6b7280!important;font-size:.85rem!important;font-style:italic}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.password-modal,.confirm-delete-modal{background:#fff;border-radius:16px;padding:0;max-width:400px;width:100%;color:#2d3748;animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d;border:1px solid rgba(255,255,255,.2)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid #e2e8f0}.modal-header h3{margin:0;font-size:1.2rem;color:#2d3748;font-weight:600}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6c757d;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.close-btn:hover{background:#f8f9fa;color:#495057}.modal-body{padding:20px 24px}.modal-body p{margin:0 0 16px;color:#6c757d;font-size:.95rem}.modal-body input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;transition:all .3s ease;box-sizing:border-box}.modal-body input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.error-text{color:#dc3545!important;font-size:.9rem!important;margin:8px 0 0!important;font-weight:500}.modal-footer{display:flex;gap:16px;padding:20px 24px 24px;border-top:1px solid #e2e8f0;margin-top:8px}.cancel-btn,.submit-btn{flex:1;padding:14px 20px;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .3s ease;min-height:48px;display:flex;align-items:center;justify-content:center}.cancel-btn{background:linear-gradient(135deg,#6c757d,#5a6169);color:#fff;box-shadow:0 4px 12px #6c757d33}.cancel-btn:hover{background:linear-gradient(135deg,#5c636a,#495056);transform:translateY(-2px);box-shadow:0 6px 16px #6c757d4d}.submit-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;box-shadow:0 4px 12px #28a74533}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#34ce57,#2dd4aa);transform:translateY(-2px);box-shadow:0 6px 16px #28a7454d}.submit-btn:disabled{background:#cbd5e0;cursor:not-allowed;transform:none;box-shadow:none}.confirm-delete-modal .modal-body{text-align:center;padding:30px 24px 20px}.warning-icon{font-size:3rem;margin-bottom:16px;color:#f59e0b;filter:drop-shadow(0 2px 4px rgba(245,158,11,.3))}.confirm-message{font-size:1.1rem;margin:0 0 12px;color:#2d3748;font-weight:500}.warning-text{font-size:.9rem;color:#6b7280;margin:0;line-height:1.4}.delete-confirm-btn{flex:1;padding:14px 20px;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .3s ease;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;box-shadow:0 4px 12px #dc354533}.delete-confirm-btn:hover{background:linear-gradient(135deg,#c82333,#a71e2a);transform:translateY(-2px);box-shadow:0 6px 16px #dc35454d}.delete-confirm-btn:active{transform:translateY(0);box-shadow:0 4px 10px #dc35454d}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.game-lobby{padding:16px}.lobby-header{grid-template-columns:auto 1fr auto;padding:16px;gap:16px;align-items:center}.header-center{text-align:center;min-width:0}.header-center h1{font-size:1.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:60px}.header-right{flex-direction:row;gap:8px}.back-btn,.refresh-btn,.create-btn{padding:10px 16px;font-size:.9rem;min-width:auto}.refresh-btn .btn-text,.create-btn .btn-text{display:none}.refresh-btn,.create-btn{padding:12px;min-width:44px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.games-grid{grid-template-columns:1fr;gap:16px}.game-card{padding:16px}.game-header-lobby{flex-direction:column;align-items:flex-start;gap:12px}.game-title-area{width:100%;justify-content:space-between;align-items:center}.game-badges{align-self:flex-end;flex-wrap:wrap;margin-left:0}.delete-btn{min-width:28px;height:28px;font-size:.8rem}.no-games{padding:30px 20px;margin:10px 0}.no-games-icon{font-size:4rem}.no-games h3{font-size:1.5rem}.modal-overlay{padding:16px}.password-modal,.confirm-delete-modal{max-width:100%}.modal-footer{padding:16px 20px 20px;gap:12px}.cancel-btn,.submit-btn,.delete-confirm-btn{padding:12px 16px;font-size:.95rem;min-height:44px}.confirm-delete-modal .modal-body{padding:24px 16px 16px}.warning-icon{font-size:2.5rem;margin-bottom:12px}}@media (max-width: 480px){.lobby-header{grid-template-columns:auto 1fr auto;gap:12px;padding:12px;align-items:center}.header-center{min-width:0}.header-center h1{font-size:1.3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.back-btn,.refresh-btn,.create-btn{padding:8px 12px;font-size:.9rem;min-width:auto}.refresh-btn .btn-text,.create-btn .btn-text{display:none}.refresh-btn,.create-btn{padding:10px;min-width:40px;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.header-right{flex-direction:row;gap:6px}.game-header-lobby{flex-direction:column;align-items:flex-start;gap:8px}.game-title-area{width:100%;justify-content:space-between}.game-badges{align-self:flex-end;flex-wrap:wrap}.delete-btn{min-width:28px;height:28px;font-size:.8rem}.no-games{padding:20px 15px}.no-games-icon{font-size:3.5rem}.modal-footer{padding:14px 16px 18px;gap:10px}.cancel-btn,.submit-btn,.delete-confirm-btn{padding:10px 14px;font-size:.9rem;min-height:40px}.confirm-delete-modal .modal-body{padding:20px 12px 14px}.warning-icon{font-size:2rem;margin-bottom:10px}.confirm-message{font-size:1rem}.warning-text{font-size:.85rem}}.tournament-bracket-container{padding:calc(var(--user-header-height) + 10px) 20px 20px;background:linear-gradient(135deg,#1a1a2e,#16213e);min-height:100vh;color:#fff}.bracket-header{display:flex;align-items:flex-start;gap:20px;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #ffd700;margin-top:0;position:relative;top:-50px}.bracket-header .back-btn-bracket{position:relative;top:0;left:0}.back-btn-bracket{background:linear-gradient(45deg,#ff6b6b,#ee5a6f);color:#fff;border:none;padding:12px 20px;border-radius:8px;cursor:pointer;font-weight:700;transition:all .3s ease;white-space:nowrap}.back-btn-bracket:hover{transform:translateY(-2px);box-shadow:0 4px 15px #ff6b6b4d}.tournament-info h2{margin:0 0 10px;color:gold;font-size:2.2em}.tournament-meta{display:flex;gap:20px;margin-bottom:10px;flex-wrap:wrap}.tournament-meta span{background:#ffffff1a;padding:6px 12px;border-radius:15px;font-size:.9em;border:1px solid rgba(255,215,0,.3)}.prize-pool{background:linear-gradient(45deg,gold,#ffed4e);color:#1a1a2e;padding:10px 15px;border-radius:8px;font-weight:700;display:inline-block;margin-top:10px}.bracket-container{display:flex;gap:30px;overflow-x:auto;padding:20px 0;min-height:600px}.bracket-round{min-width:300px;flex-shrink:0}.round-title{text-align:center;margin-bottom:20px;color:gold;font-size:1.4em;text-transform:uppercase;letter-spacing:1px}.round-matches{display:flex;flex-direction:column;gap:20px}.bracket-match{background:#ffffff0d;border:2px solid transparent;border-radius:12px;padding:20px;transition:all .3s ease;position:relative;overflow:visible;z-index:1}.bracket-match:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent,rgba(255,215,0,.1),transparent);opacity:0;transition:opacity .3s ease}.bracket-match:hover:before{opacity:1}.bracket-match.pending{border-color:#4ade80;box-shadow:0 0 20px #4ade8033}.bracket-match.finished{border-color:gold;box-shadow:0 0 20px #ffd70033}.bracket-match.waiting{border-color:#6b7280;opacity:.7}.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.2)}.match-title{font-weight:700;color:gold;font-size:1.1em}.match-deadline{font-size:.8em;color:#ff6b6b;background:#ff6b6b33;padding:4px 8px;border-radius:4px}.match-players{display:flex;align-items:center;gap:15px;margin-bottom:15px}.player{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:15px;background:#ffffff0d;border-radius:8px;border:2px solid transparent;transition:all .3s ease}.player.winner{border-color:gold;background:#ffd7001a;transform:scale(1.05)}.player-name{font-weight:700;text-align:center;min-height:20px}.match-vs{color:gold;font-weight:700;font-size:1.2em;text-shadow:0 0 10px rgba(255,215,0,.5)}.report-win-btn{background:linear-gradient(45deg,#4ade80,#22c55e);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9em;font-weight:700;transition:all .3s ease}.report-win-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #4ade804d}.match-actions{text-align:center;margin-top:10px;position:relative;z-index:10}.start-match-btn{background:linear-gradient(45deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:700;transition:all .3s ease;font-size:1.1em;position:relative;z-index:20;pointer-events:auto;-webkit-user-select:none;user-select:none}.start-match-btn:hover{background:linear-gradient(45deg,#1d4ed8,#1e40af);transform:translateY(-2px);box-shadow:0 4px 15px #3b82f64d}.start-match-btn:active{transform:translateY(0);box-shadow:0 2px 8px #3b82f666}.match-result{text-align:center;background:linear-gradient(45deg,gold,#ffed4e);color:#1a1a2e;padding:12px;border-radius:8px;font-weight:700;margin-top:10px}.match-waiting{text-align:center;color:#6b7280;font-style:italic;padding:12px;margin-top:10px}.match-spectate{text-align:center;color:#fbbf24;font-style:italic;padding:12px;margin-top:10px;background:#fbbf241a;border-radius:6px;border:1px solid rgba(251,191,36,.3)}.spectate-wrapper{text-align:center;margin-top:10px}.spectate-btn{background:linear-gradient(45deg,#6366f1,#4338ca);color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:all .25s ease}.spectate-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.spectate-btn:active{transform:translateY(0)}.spectate-btn.disabled{background:linear-gradient(45deg,#4b5563,#374151);cursor:not-allowed;opacity:.7;box-shadow:none;transform:none}.live-badge{display:inline-block;margin-left:10px;background:#dc2626;color:#fff;font-size:.65rem;padding:4px 8px;border-radius:6px;letter-spacing:.5px;font-weight:700;animation:pulseLive 1.6s infinite;box-shadow:0 0 0 2px #dc262633}@keyframes pulseLive{0%{box-shadow:0 0 #dc262680}70%{box-shadow:0 0 0 8px #dc262600}to{box-shadow:0 0 #dc262600}}.pending-badge{display:inline-block;margin-left:10px;background:#f59e0b;color:#1a1a2e;font-size:.65rem;padding:4px 8px;border-radius:6px;letter-spacing:.5px;font-weight:600;box-shadow:0 0 0 2px #f59e0b26}.tournament-winner{text-align:center;margin-top:40px;padding:30px;background:linear-gradient(45deg,gold,#ffed4e);color:#1a1a2e;border-radius:15px;box-shadow:0 10px 30px #ffd7004d}.tournament-winner h3{margin:0 0 15px;font-size:2em;text-transform:uppercase;letter-spacing:2px}.winner-name{font-size:2.5em;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.loading-spinner{display:flex;justify-content:center;align-items:center;height:200px;font-size:3em}@media (max-width: 768px){.tournament-bracket-container{padding:15px}.bracket-header{flex-direction:column;gap:15px}.tournament-meta{flex-direction:column;gap:10px}.bracket-container{gap:20px;padding:15px 0}.bracket-round{min-width:280px}.match-players{flex-direction:column;gap:10px}.match-vs{transform:rotate(90deg)}.tournament-winner{padding:20px}.winner-name{font-size:2em}}@keyframes matchAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.bracket-match{animation:matchAppear .5s ease-out}.bracket-match.pending{animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 20px #4ade8033}50%{box-shadow:0 0 30px #4ade8066}}.floating-back-btn{position:fixed;bottom:20px;left:20px;background:linear-gradient(45deg,#ff6b6b,#ee5a6f);color:#fff;border:none;padding:12px 18px;font-size:16px;font-weight:700;border-radius:8px;cursor:pointer;box-shadow:0 4px 15px #0006;z-index:999;transition:transform .2s ease,box-shadow .3s ease}.floating-back-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #00000080}.floating-back-btn:active{transform:translateY(-1px)}.tournament-lobby{display:flex;flex-direction:column;gap:20px;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;color:#fff}.lobby-header-tournament{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px 30px;border-radius:15px;margin-top:0}.lobby-header-tournament h1{margin:0;font-size:1.8rem;text-align:center;flex:1}.header-left-tournament,.header-right-tournament{display:flex;gap:10px}.back-btn-tournament,.refresh-btn{background:#fff3;color:#fff;border:none;padding:12px 16px;border-radius:10px;cursor:pointer;font-size:1rem;transition:all .3s ease;display:flex;align-items:center;gap:8px}.back-btn-tournament:hover,.refresh-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.error-banner{background:#dc3545e6;color:#fff;padding:15px 20px;border-radius:10px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.success-banner{background:#28a745e6;color:#fff;padding:15px 20px;border-radius:10px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.error-banner button,.success-banner button{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:0 5px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.tournaments-section{margin-bottom:20px;flex-shrink:0;max-height:clamp(320px,55vh,680px);overflow-y:auto;padding-right:6px}.tournaments-section::-webkit-scrollbar{width:10px}.tournaments-section::-webkit-scrollbar-track{background:#ffffff1a;border-radius:10px}.tournaments-section::-webkit-scrollbar-thumb{background:#ffffff59;border-radius:10px}.tournaments-section::-webkit-scrollbar-thumb:hover{background:#ffffff80}.no-tournaments{text-align:center;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:24px;max-width:500px;margin:0 auto;max-height:inherit;overflow-y:auto}.no-tournaments-icon{font-size:2.8rem;margin-bottom:12px}.no-tournaments h3{margin:0 0 8px;font-size:1.25rem;font-weight:700}.no-tournaments p{margin:6px 0 0;font-size:.95rem}.no-tournaments .tournament-info{margin-top:16px;text-align:left}.no-tournaments .tournament-info h4{color:gold;margin-bottom:10px;font-size:1rem}.no-tournaments .tournament-info ul{list-style:none;padding:0}.no-tournaments .tournament-info li{padding:6px 0;font-size:.95rem;border-bottom:1px solid rgba(255,255,255,.08)}.tournaments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;max-width:1200px;margin:0 auto;padding-bottom:8px}.tournament-card{background:#fffffff2;color:#333;border-radius:15px;padding:25px;box-shadow:0 10px 25px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.tournament-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #00000026}.tournament-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.tournament-header h3{margin:0;font-size:1.3rem;color:#2d3748;flex:1}.tournament-badges{display:flex;gap:8px}.status-badge{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;padding:4px 12px;border-radius:15px;font-size:.8rem;font-weight:600}.status-badge.registration{background:linear-gradient(135deg,#3182ce,#2c5282)}.tournament-info{margin-bottom:20px}.participants-info{margin-bottom:15px}.participants-count{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.participants-count .count{font-size:1.2rem;font-weight:700;color:#2d3748}.participants-count .label{color:#718096;font-size:.9rem}.participants-bar{width:100%;height:8px;background:#e2e8f0;border-radius:10px;overflow:hidden}.participants-fill{height:100%;background:linear-gradient(90deg,#48bb78,#38a169);border-radius:10px;transition:width .3s ease}.tournament-info p{margin:8px 0;color:#4a5568;font-size:.9rem}.tournament-info strong{color:#2d3748}.created-time{color:#a0aec0!important;font-size:.8rem!important}.tournament-actions{display:flex;gap:10px}.register-btn,.view-bracket-btn{flex:1;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 20px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.register-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.view-bracket-btn:hover:not(:disabled){background:linear-gradient(135deg,#4299e1,#553c9a);transform:translateY(-2px);box-shadow:0 5px 15px #4299e166}.register-btn:disabled{background:#cbd5e0;color:#a0aec0;cursor:not-allowed;transform:none;box-shadow:none}.view-bracket-btn:disabled{background:#cbd5e0;color:#a0aec0;cursor:not-allowed;transform:none;box-shadow:none}.view-bracket-btn:disabled{background:#e2e8f0;color:#a0aec0;cursor:not-allowed}.tournament-rules{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:30px;max-width:800px;margin:0 auto}.tournament-rules h4{color:gold;margin:0 0 20px;font-size:1.3rem;text-align:center}.rules-grid-tournament{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px}.rule-item-tournament{background:#ffffff1a;padding:15px;border-radius:10px;text-align:center}.rule-item-tournament strong{color:gold;display:block;margin-bottom:5px}@media (max-width: 768px){.tournament-lobby{padding:10px}.lobby-header-tournament{padding:15px 20px;flex-direction:row;gap:15px}.lobby-header-tournament h1{font-size:1.4rem}.tournaments-grid{grid-template-columns:1fr;gap:15px}.tournaments-section{max-height:50vh}.tournament-card{padding:20px}.no-tournaments{padding:16px}.no-tournaments-icon{font-size:2.2rem;margin-bottom:10px}.no-tournaments h3{font-size:1.1rem}.no-tournaments p,.no-tournaments .tournament-info li{font-size:.9rem}.rules-grid-tournament{grid-template-columns:1fr;gap:10px}.tournament-rules{padding:20px}}.card{position:relative;cursor:pointer;transition:all .3s ease;border-radius:8px;overflow:visible}.card-image{width:80px;height:150px;object-fit:cover;border-radius:8px;transition:all .3s ease;display:block}.card-medium .card-image,.card-large .card-image{width:80px;height:150px}.card-played .card-image{width:45px;height:80px}.card-small .card-image{width:60px;height:110px}.card-playable:hover:not(.card-selected){transform:translateY(-12px) scale(1.05)}.card:active,.card:focus{transform:none!important}.card-playable:not(:hover){transition:transform .2s ease-out}.card-selected{transform:translateY(-20px) scale(1.08)}.card-selected:after{content:"";position:absolute;inset:-4px;background:linear-gradient(45deg,orange,#ff0);border-radius:12px;z-index:-1;opacity:.6;animation:glow 1.5s infinite alternate}@keyframes glow{0%{opacity:.6}to{opacity:.5}}.card:not(.card-playable){opacity:.7;cursor:default;position:relative}.card:not(.card-playable):hover{transform:none}.card:not(.card-playable):before{content:"";position:absolute;inset:0;background-color:#80808066;border-radius:8px;z-index:1;pointer-events:none}.card-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.card-disabled:before{content:"";position:absolute;inset:0;background-color:#f003;border-radius:8px;z-index:1;pointer-events:none}@media (max-width: 768px){.card-played .card-image{width:35px;height:65px}}@media (max-width: 480px){.card-played .card-image{width:30px;height:55px}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;overflow:auto;padding:0;margin:0}.game-wrapper{width:100vw;height:100svh;background:linear-gradient(135deg,#0f5132,#198754,#0f5132);display:flex;flex-direction:column;position:relative;overflow:hidden;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.game-header{background:#fffffff2;padding:8px 16px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a;z-index:10;position:relative;min-height:60px}.game-title{font-size:1.5rem;font-weight:700;color:#0f5132;margin:0}.title-suit-icon{height:1.7em;width:auto;vertical-align:middle;margin-right:.4em;margin-bottom:.15em;display:inline-block}.players-names{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;font-size:.9rem;font-weight:600;z-index:5}.player-name-simple{color:#198754;transition:all .2s ease}.player-name-simple.active{color:#0f5132;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.1)}.opponent-name-simple{color:#dc3545;transition:all .2s ease}.opponent-name-simple.active{color:#c82333;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.1)}.vs-simple{color:#666;font-size:.8rem;font-weight:500}.desktop-controls{display:flex;gap:12px}.game-btn{padding:8px 16px;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background:#198754;color:#fff}.btn-primary:hover{background:#20a366}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5c636a}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838}.btn-warning{background:#ffc107;color:#000}.btn-warning:hover{background:#e0a800}.akuze-button-container{display:flex;align-items:center}.akuze-select{appearance:none;background:#28a745;color:#fff;border:none;padding:8px 12px;border-radius:4px;font-size:14px;cursor:pointer;min-width:100px;max-width:200px}.akuze-select:hover{background:#218838}.akuze-select option{background:#fff;color:#000;padding:5px}.akuze-modal{max-width:500px}.akuze-selection{display:flex;flex-direction:column;gap:15px;padding:20px 0}.akuz-option{background:linear-gradient(135deg,#ffc107,#ffb300);border:none;border-radius:10px;padding:15px;cursor:pointer;transition:all .3s ease;text-align:left;box-shadow:0 2px 5px #0000001a}.akuz-option:hover{transform:translateY(-2px);box-shadow:0 4px 10px #0003;background:linear-gradient(135deg,#e0a800,#d69e00)}.akuz-description{font-size:18px;font-weight:700;color:#000;margin-bottom:5px}.akuz-points{font-size:14px;color:#2d5016;font-weight:700;margin-bottom:8px}.akuz-cards{display:flex;gap:8px;flex-wrap:wrap}.akuz-card{background:#0000001a;padding:3px 6px;border-radius:4px;font-size:12px;color:#000}.mobile-header-buttons{display:none}.floating-btn{width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003;transition:all .2s ease;margin:0 4px}.details-btn{background:#198754;color:#fff}.details-btn:hover{background:#20a366;transform:scale(1.05)}.exit-btn{background:#dc3545;color:#fff}.exit-btn:hover{background:#c82333;transform:scale(1.05)}.akuze-btn{background:#ffc107;color:#000;width:50px;height:50px;border-radius:50%;border:none;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003;transition:all .2s ease;margin:0 4px;appearance:none}.akuze-btn:hover{background:#e0a800;transform:scale(1.05)}@keyframes statusFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.game-area{flex:1;display:flex;flex-direction:column;justify-content:flex-start;padding:24px;position:relative;overflow:hidden;gap:20px}@media (max-width: 1199px) and (min-width: 900px){.game-area{padding:20px}}@media (max-width: 899px) and (min-width: 700px){.game-area{padding:16px}}@media (max-width: 699px) and (min-width: 500px){.game-area{padding:12px}}@media (max-width: 499px){.game-area{padding:8px}}@media (max-height: 700px){.game-area{padding:8px}}@media (max-height: 600px){.game-area{padding:6px}}.opponent-section{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:10px}.opponent-avatar-display{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;background:#dc354533;border:2px solid rgba(220,53,69,.5);border-radius:8px;transition:all .3s ease}.opponent-avatar-display:has(.turn-indicator){box-shadow:0 0 15px #ffc107cc;border-color:#ffc107}.player-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.opponent-name{color:#fff;font-size:.85rem;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.3);text-align:center;line-height:1}.opponent-cards-indicator{display:flex;align-items:center;gap:2px;font-size:11px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.turn-indicator{color:#ffc107;font-weight:700}.play-area{display:flex;justify-content:center;align-items:flex-start;min-height:200px;position:relative;gap:60px}.play-area.treseta-layout{justify-content:center;max-width:400px;margin:0 auto;gap:0}.played-cards-section{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:200px;position:relative}.played-cards-label{color:#fff;font-size:.9rem;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.3)}.played-cards-area{display:flex;gap:16px;min-height:110px;align-items:center;justify-content:center;background:#ffffff1a;border:2px dashed rgba(255,255,255,.3);border-radius:12px;padding:16px;min-width:180px}.deck-trump-section{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:100px;position:relative}.deck-label{color:#fff;font-size:.9rem;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.3)}.deck-trump-stack{position:relative;width:100px;height:120px}.trump-card{position:absolute;top:10px;left:15px;z-index:1}.deck-card{position:absolute;top:-20px;left:15px;z-index:2;transform:rotate(90deg);width:70px;height:120px}.player-section{display:flex;flex-direction:column;align-items:center;gap:16px;min-height:280px;position:relative;bottom:25px}@media (min-height: 820px){.player-section{margin-top:auto;bottom:50px}.player-status-combined{font-size:.7rem;padding:12px 24px;margin-bottom:12px}}.player-status-combined{background:#fffffff2;color:#0f5132;padding:10px 20px;border-radius:20px;font-size:.7rem;font-weight:600;box-shadow:0 2px 8px #0003;text-align:center;border:2px solid rgba(15,81,50,.2);animation:statusFade .3s ease;max-width:450px;margin-bottom:8px}.player-label{color:#fff;font-size:1.1rem;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.3);margin-top:-16px}.points-display{color:gold;font-size:.95em;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.5)}.player-cards{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:12px}.scores-overlay{position:absolute;inset:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:20}.scores-modal{background:#fff;border-radius:12px;padding:32px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;color:#000}.scores-header{text-align:center;margin-bottom:24px}.scores-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:32px;align-items:start}.player-stats{text-align:center}.player-stats h3{color:#0f5132;margin-bottom:16px}.stat-item{display:flex;justify-content:space-between;margin-bottom:8px;padding:4px 0;border-bottom:1px solid #eee}.trump-info{text-align:center;padding:0 16px}.trump-info h3{color:#0f5132;margin-bottom:16px}.close-scores{width:100%;margin-top:24px;padding:12px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer}.close-scores:hover{background:#5c636a}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@media (max-width: 767px){.game-header{padding:8px 16px}.game-title{font-size:1.2rem}.players-names{display:none}.mobile-header-buttons{display:flex;align-items:center;gap:8px}.desktop-controls{display:none}.player-status-combined{font-size:.6rem;padding:8px 16px;max-width:95vw;margin-bottom:5px}.play-area{flex-direction:row;justify-content:center;align-items:flex-start;gap:20px;min-height:160px}.played-cards-section{flex:1;min-width:120px;max-width:65%}.played-cards-area{min-width:100px;padding:12px;min-height:80px;gap:12px}.deck-trump-section{flex:0 0 auto;min-width:80px}.deck-trump-section.treseta-deck{position:absolute;top:50%;right:30px;transform:translateY(-50%);z-index:3}.play-area.treseta-layout{gap:0;max-width:100%}.deck-trump-stack{width:80px;height:120px}.trump-card{top:8px;left:-5px}.deck-card{left:10px;width:60px;height:110px}.player-cards,.opponent-cards{gap:6px;flex-wrap:wrap;max-width:100%}.scores-grid{grid-template-columns:1fr;gap:24px}.game-area{gap:10px;padding:8px}.opponent-section{margin-top:5px}.player-section{margin-top:30px}}@media (max-width: 480px){.played-cards-area{min-width:90px;padding:10px;min-height:70px;gap:10px}.game-area{gap:5px;padding:6px}.opponent-section{margin-top:-5px}.play-area{gap:30px}.floating-btn{width:36px;height:36px;font-size:1rem}}@media (max-height: 500px) and (orientation: landscape){.opponent-section{gap:6px}.play-area{min-height:120px;gap:15px}.player-section{gap:8px;min-height:200px}}.card-pickup-overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;z-index:1000;pointer-events:none}.card-pickup-animation{background:#fffffff2;border-radius:16px;padding:24px;box-shadow:0 8px 32px #0000004d;border:3px solid #198754;animation:pickupSlideIn .4s ease-out;max-width:90vw;max-height:80vh}@keyframes pickupSlideIn{0%{transform:scale(.8) translateY(-50px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.pickup-header{text-align:center;margin-bottom:20px}.pickup-header h3{color:#0f5132;font-size:1.2rem;margin:0}.pickup-cards{display:flex;gap:24px;justify-content:center;align-items:center;margin-bottom:20px;flex-wrap:wrap}.pickup-player{display:flex;flex-direction:column;align-items:center;gap:8px}.pickup-label{font-weight:600;color:#0f5132;font-size:1rem}.pickup-winner{text-align:center;font-size:1.1rem;font-weight:600;color:#0f5132;padding:12px;background:#1987541a;border-radius:8px;border:2px solid rgba(25,135,84,.3)}@media (max-width: 768px){.card-pickup-animation{padding:16px;margin:16px}.pickup-header h3{font-size:1rem}.pickup-cards{gap:16px;margin-bottom:16px}.pickup-winner{font-size:1rem;padding:8px}}.final-score-overlay{position:fixed;top:0;left:0;width:100vw;height:100svh;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .5s ease-in-out}.final-score-container{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:40px;box-shadow:0 20px 40px #0000004d;text-align:center;max-width:600px;width:90%;animation:slideUp .6s ease-out}.final-score-header{margin-bottom:30px}.final-score-header h2{color:#0f5132;font-size:2.5rem;margin-bottom:10px;font-weight:700}.final-total-score{font-size:1.3rem;color:#198754;font-weight:700;margin-bottom:15px;padding:8px 16px;background:#1987541a;border-radius:8px;border:1px solid rgba(25,135,84,.2)}.result-emoji{font-size:4rem;margin-bottom:20px;animation:bounce 1s ease-in-out}.final-scores-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center;margin-bottom:30px}.final-player-score{background:#0f51321a;border-radius:15px;padding:25px;position:relative;border:2px solid transparent;transition:all .3s ease}.final-player-score .player-name{font-size:1.3rem;font-weight:700;color:#0f5132;margin-bottom:10px}.final-player-score .player-points{font-size:2rem;font-weight:700;color:#198754;margin-bottom:5px}.final-player-score .player-cards{font-size:1rem;color:#6c757d;margin-bottom:10px}.vs-divider{font-size:1.5rem;font-weight:700;color:#6c757d;align-self:center}.winner-badge{background:linear-gradient(135deg,gold,#ffed4a);color:#0f5132;padding:8px 16px;border-radius:20px;font-weight:700;font-size:.9rem;margin-top:10px;border:2px solid #ffd700;animation:glow 2s ease-in-out infinite alternate}.game-result{background:#6c757d1a;border-radius:10px;padding:20px;margin-bottom:30px}.game-result p{font-size:1.2rem;color:#495057;margin:0}.final-score-actions{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.btn-primary-large{background:linear-gradient(135deg,#198754,#28a745);color:#fff;border:none;padding:15px 30px;border-radius:10px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #1987544d}.btn-primary-large:hover{transform:translateY(-2px);box-shadow:0 6px 20px #19875466;background:linear-gradient(135deg,#157347,#198754)}.btn-secondary-large{background:linear-gradient(135deg,#6c757d,#8d969e);color:#fff;border:none;padding:15px 30px;border-radius:10px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #6c757d4d}.btn-secondary-large:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6c757d66;background:linear-gradient(135deg,#545b62,#6c757d)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes glow{0%{box-shadow:0 0 5px gold,0 0 10px gold,0 0 15px gold}to{box-shadow:0 0 10px gold,0 0 20px gold,0 0 30px gold}}@media (max-width: 768px){.final-score-container{padding:15px;margin:10px;max-width:95%;width:95%;max-height:90vh;overflow-y:auto}.final-score-header{margin-bottom:15px}.final-score-header h2{font-size:1.4rem;margin-bottom:5px}.result-emoji{font-size:2.5rem;margin-bottom:10px}.final-scores-grid{grid-template-columns:1fr;gap:12px;margin-bottom:15px}.vs-divider{order:2;font-size:1rem;margin:5px 0}.final-player-score{padding:12px;border-radius:10px}.final-player-score .player-name{font-size:1rem;margin-bottom:6px}.final-player-score .player-points{font-size:1.3rem;margin-bottom:4px}.final-player-score .player-cards{font-size:.85rem;margin-bottom:6px}.winner-badge{padding:4px 12px;font-size:.75rem;margin-top:6px}.game-result{padding:12px;margin-bottom:15px}.game-result p{font-size:.95rem}.final-score-actions{flex-direction:column;gap:10px}.btn-primary-large,.btn-secondary-large{width:100%;padding:10px 16px;font-size:.95rem}.opponent-avatar-display{gap:3px;padding:4px;border-radius:6px}.player-avatar{width:30px;height:30px;font-size:12px}.opponent-name{font-size:.75rem}.opponent-cards-indicator{font-size:10px;gap:1px}}.treseta-controls{margin-bottom:15px;padding:10px;background:#ffffff1a;border-radius:8px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.score-tracking{margin-bottom:10px}.score-header{display:flex;justify-content:space-between;align-items:center;color:#fff;font-weight:700;margin-bottom:8px;font-size:1rem}.target-score{font-size:.9rem;opacity:.8}.partijas-history{display:flex;flex-direction:column;gap:3px}.partija-score{color:#ffffffe6;font-size:.85rem;padding:2px 6px;background:#ffffff1a;border-radius:4px}.akuze-controls{margin-top:10px}.akuze-select{width:100%;padding:8px 12px;border:none;border-radius:6px;background:#fffffff2;color:#333;font-size:.9rem;cursor:pointer;transition:all .2s ease}.akuze-select:hover{background:#fff;transform:translateY(-1px)}.partija-result{text-align:center;margin-bottom:20px}.partija-result p{font-size:1.2rem;margin-bottom:15px;color:#333}.partija-scores{font-size:1.1rem;margin-bottom:10px;color:#666}.total-scores{font-size:1.3rem;margin-bottom:10px;color:#0f5132}.target-info{font-size:1rem;color:#666;font-style:italic}@media (max-width: 768px){.treseta-controls{padding:8px;margin-bottom:10px}.score-header{flex-direction:column;gap:5px;font-size:.9rem}.partija-score{font-size:.8rem}.akuze-select{font-size:.85rem;padding:6px 10px}}.treseta-details{margin-top:24px;padding-top:24px;border-top:2px solid #e9ecef}.treseta-summary{text-align:center;margin-bottom:20px}.treseta-summary h3{color:#0f5132;margin-bottom:12px;font-size:1.2rem}.current-total{font-size:1.3rem;margin-bottom:8px;color:#0f5132}.target-info{font-size:1rem;color:#666;font-style:italic;margin-bottom:8px}.current-partija{font-size:.9rem;color:#666}.partijas-history{margin-bottom:20px}.partijas-history h4{color:#0f5132;margin-bottom:12px;font-size:1.1rem}.partijas-list{background:#f8f9fa;border-radius:8px;padding:16px;max-height:200px;overflow-y:auto}.partija-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e9ecef}.partija-item:last-child{border-bottom:none}.partija-number{font-weight:500;color:#0f5132;min-width:100px}.partija-score{font-weight:700;color:#333;min-width:60px;text-align:center}.partija-winner{font-size:.9rem;min-width:90px;text-align:right}.current-akuze{background:#f8f9fa;border-radius:8px;padding:16px}.current-akuze h4{color:#0f5132;margin-bottom:12px;font-size:1.1rem}.my-akuze,.opponent-akuze{margin-bottom:12px}.my-akuze:last-child,.opponent-akuze:last-child{margin-bottom:0}.current-akuze strong{color:#0f5132;display:block;margin-bottom:6px}.current-akuze ul{list-style:none;padding-left:16px}.current-akuze li{margin-bottom:4px;color:#666;position:relative}.current-akuze li:before{content:"🃏";position:absolute;left:-16px;top:0}@media (max-width: 768px){.treseta-details{margin-top:16px;padding-top:16px}.partijas-list{padding:12px;max-height:150px}.partija-item{flex-direction:column;align-items:flex-start;gap:4px;padding:10px 0}.partija-winner{align-self:flex-end}.current-akuze{padding:12px}}.waiting-opponent-message{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:20px;background:#ffffff1a;border-radius:10px;margin-bottom:10px}.waiting-opponent-message p{margin:0;color:#fff;font-size:1.1rem}.waiting-opponent-message small{color:#ccc;font-size:.9rem}.loading-spinner-message{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:20px;background:#ffffff1a;border-radius:10px;margin-bottom:10px}.loading-spinner-message p{margin:0;color:#fff;font-size:1.1rem}.loading-spinner{font-size:1.5rem;animation:spin 1s linear infinite}.game-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:var(--bg-primary);color:var(--text-primary);text-align:center}.game-loading .loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:20px}.game-loading p{font-size:1.2rem;margin:0;opacity:.8}.loading-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff;font-size:1.2rem;gap:20px}.loading-message .spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite}.loading-message p{margin:0;font-weight:500}.game-2v2 .game-header{padding:8px 16px}.game-2v2 .desktop-controls{z-index:15;position:relative}.team-scores{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:20px;font-weight:600;z-index:5}.team-score{display:flex;flex-direction:column;align-items:center;padding:4px 10px;border-radius:12px;background:#ffffff1a;color:#fff;transition:all .3s ease;color:#000}.team-score.my-team{background:#28a745cc}.team-label{font-size:.8rem;opacity:.9}.team-points{font-size:1.2rem;font-weight:700}.vs-divider{color:#000;font-size:.9rem;font-weight:500}@media (max-width: 768px){.game-2v2 .team-scores{display:none!important}.game-2v2 .mobile-header-buttons{display:flex!important;gap:8px;align-items:center;justify-content:flex-end;width:auto}.game-2v2 .mobile-header-buttons .floating-btn,.game-2v2 .mobile-header-buttons .details-btn,.game-2v2 .mobile-header-buttons .exit-btn{width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;font-size:1rem!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.game-2v2 .game-header{flex-wrap:nowrap!important;align-items:center;padding-left:8px;padding-right:8px}}@media (min-width: 769px){.game-2v2 .team-scores,.game-2v2 .desktop-controls{display:flex}.game-2v2 .mobile-header-buttons{display:none}}.player-icon-display{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;background:#ffffff1a;border-radius:12px;transition:all .3s ease}.player-icon-display.teammate{background:#28a74533;border:2px solid rgba(40,167,69,.5)}.player-icon-display.opponent{background:#dc354533;border:2px solid rgba(220,53,69,.5)}.player-icon-display.current-turn{box-shadow:0 0 20px #ffc107cc;border-color:#ffc107}.player-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.player-avatar.teammate{background:linear-gradient(135deg,#28a745,#20c997)}.player-avatar.opponent{background:linear-gradient(135deg,#dc3545,#fd7e14)}.player-cards-indicator{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.cards-icon{width:18px;height:18px;background:#ffc107;border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:10px;color:#000;font-weight:700}.game-area-2v2{flex:1;display:grid;grid-template-rows:auto 1fr auto;padding:15px;gap:15px;overflow:hidden;transform:scale(.85);transform-origin:center}.player-position{display:flex;flex-direction:column;align-items:center;gap:10px}.top-player{justify-self:center;margin-bottom:20px}.bottom-player{justify-self:center;min-height:180px}.left-player,.right-player{display:flex;align-items:center;justify-content:center}.middle-section{display:grid;grid-template-columns:1fr 1fr auto 1fr;gap:20px;align-items:center;min-height:300px;position:relative}.middle-section.no-deck{grid-template-columns:1fr 2fr 1fr}.left-player,.right-player{display:flex;flex-direction:column;align-items:center;gap:10px;position:relative;height:250px;justify-content:center}.game-2v2 .left-player .opponent-cards.vertical,.game-2v2 .right-player .opponent-cards.vertical{position:absolute;top:50%;left:50%;display:flex!important;flex-direction:row!important;gap:-5px;flex-wrap:nowrap;align-items:center;justify-content:center}.game-2v2 .left-player .opponent-cards.vertical{transform:translate(-50%,-50%) rotate(90deg);transform-origin:center center}.game-2v2 .right-player .opponent-cards.vertical{transform:translate(-50%,-50%) rotate(-90deg);transform-origin:center center}.center-area{display:flex;flex-direction:row;align-items:center;gap:30px;min-height:250px;justify-content:center}.game-2v2 .deck-trump-section{display:flex;flex-direction:column;align-items:center;gap:8px}.game-2v2 .played-cards-section{display:flex;flex-direction:column;align-items:center;gap:10px}.game-2v2 .played-cards-label{font-size:.9rem;color:#fffc;text-align:center;margin-bottom:5px}.game-2v2 .deck-trump-stack{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px}.game-2v2 .trump-card{position:relative;z-index:1}.game-2v2 .deck-card{position:relative;z-index:2;top:-20px}.game-2v2 .deck-label{font-size:.9rem;color:#fffc;text-align:center;margin-bottom:5px}.played-cards-cross{position:relative;width:400px;height:250px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:2px dashed rgba(255,255,255,.3);border-radius:12px}.played-card-position{position:absolute;display:flex;flex-direction:column;align-items:center;z-index:11}.played-card-position.top{top:20px;left:50%;transform:translate(-50%)}.played-card-position.right{right:20px;top:50%;transform:translateY(-50%)}.played-card-position.bottom{bottom:20px;left:50%;transform:translate(-50%)}.played-card-position.left{left:20px;top:50%;transform:translateY(-50%)}.played-card-position.center{top:50%;left:50%;transform:translate(-50%,-50%)}.card-player-label{margin-top:5px;font-size:.7em;color:#fffc;background:#00000080;padding:2px 6px;border-radius:4px;text-align:center}@media (max-width: 768px){.played-cards-cross{width:200px;height:190px}.played-card-position.top{top:15px}.played-card-position.right{right:15px}.played-card-position.bottom{bottom:15px}.played-card-position.left{left:15px}}@media (max-width: 476px){.team-scores{display:none!important}.game-2v2 .desktop-controls .game-btn{padding:6px 8px;font-size:1.2rem;min-width:36px;text-align:center}.game-2v2 .desktop-controls .btn-primary:before{content:"🔍"}.game-2v2 .desktop-controls .btn-danger:before{content:"🚪"}.game-2v2 .desktop-controls .btn-secondary:before{content:"↩️"}.game-2v2 .desktop-controls .game-btn{text-indent:-9999px;overflow:hidden;position:relative}.game-2v2 .desktop-controls .game-btn:before{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-indent:0}}@media (max-width: 480px){.played-cards-cross{width:190px;height:190px}.played-card-position.top{top:10px}.played-card-position.right{right:10px}.played-card-position.bottom{bottom:10px}.played-card-position.left{left:10px}}.played-cards-area-2v2{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:20px;min-height:180px;min-width:320px;width:100%;max-width:400px;align-items:center;justify-items:center;background:#ffffff1a;border:2px dashed rgba(255,255,255,.3);border-radius:12px;padding:25px}.player-info{text-align:center;padding:8px 12px;border-radius:8px;background:#ffffff1a;color:#fff;font-size:.9rem;min-width:120px;position:relative;z-index:10;color:#4a5568}.player-info.teammate{background:#28a7454d;border:1px solid rgba(40,167,69,.5)}.player-info.opponent{background:#dc35454d;border:1px solid rgba(220,53,69,.5);top:-230px}.player-info.my-player{background:#28a74580;border:2px solid rgba(40,167,69,.8);font-weight:600}.player-name{font-weight:600;margin-bottom:4px}.player-cards-count{font-size:.8rem;opacity:.9}.teams-scores-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:32px;align-items:start}.team-stats{text-align:center}.team-stats h3{color:#0f5132;margin-bottom:16px}.team-players{margin-top:16px;color:#4a5568}.player-stat{display:flex;justify-content:space-between;margin-bottom:8px;padding:4px 0;border-bottom:1px solid #eee;font-size:.9rem}@media (min-width: 1920px){.middle-section{grid-template-columns:1fr 1fr 120px 1fr;gap:25px}.played-cards-area-2v2{min-width:400px;min-height:200px;gap:25px;padding:30px}.center-area{gap:40px}}@media (max-width: 1919px) and (min-width: 1366px){.middle-section{grid-template-columns:1fr 1fr 100px 1fr;gap:20px}.played-cards-area-2v2{min-width:280px;min-height:160px;gap:15px;padding:20px}.center-area{gap:25px}.player-info{font-size:.8rem;padding:6px 10px;min-width:100px}.player-info.my-player{bottom:10px}}@media (max-width: 1365px) and (min-width: 1024px){.middle-section{grid-template-columns:80px 1fr 80px 80px;gap:15px}.played-cards-area-2v2{min-width:240px;min-height:140px;gap:12px;padding:18px}.center-area{gap:20px}.player-info{font-size:.75rem;padding:5px 8px;min-width:90px}}@media (max-width: 1023px) and (min-width: 768px){.game-area-2v2{padding:10px;gap:12px;transform:scale(.9)}.middle-section{grid-template-columns:70px 1fr 70px 70px;gap:10px;min-height:200px}.left-player,.right-player{height:180px}.played-cards-area-2v2{min-width:200px;min-height:120px;gap:10px;padding:15px}.center-area{gap:15px}.player-info{font-size:.7rem;padding:4px 6px;min-width:70px}}@media (max-width: 767px){.team-scores{position:static;transform:none;gap:12px;font-size:.8rem;margin:4px 0}.team-score{padding:2px 6px;font-size:.75rem}.team-points{font-size:1rem}.vs-divider{font-size:.75rem}.game-2v2 .desktop-controls{display:flex!important;gap:8px;justify-content:flex-end}.game-area-2v2{padding:8px;gap:8px;transform:scale(.95)}.middle-section{display:grid;grid-template-columns:80px 1fr 80px;gap:12px;min-height:180px;justify-items:center;top:-30px}.left-player,.right-player{height:140px;justify-content:center}.left-player .player-info{position:absolute;top:-105px;left:35px;transform:translate(-50%);font-size:.65rem;padding:3px 6px;min-width:70px;white-space:nowrap}.right-player .player-info{position:absolute;top:-105px;left:-29px;transform:translate(-50%);font-size:.65rem;padding:3px 6px;min-width:70px;white-space:nowrap}.center-area{display:flex;flex-direction:column;align-items:center;gap:12px;min-height:160px;justify-content:center}.played-cards-section{order:1;right:20px}.played-cards-area-2v2{min-width:160px;min-height:100px;gap:8px;padding:12px;max-width:220px}.played-cards-label{font-size:.7rem;margin-bottom:4px}.game-2v2 .deck-trump-section{order:2;min-width:60px;gap:4px}.game-2v2 .deck-trump-stack{width:60px;height:90px;position:relative;top:-60px;right:-40px}.game-2v2 .trump-card{position:absolute;top:8px;left:5px;z-index:1}.game-2v2 .deck-card{position:absolute;top:-15px;left:-20px;z-index:2;transform:rotate(90deg)}.game-2v2 .deck-label{font-size:.65rem;margin-bottom:3px}.bottom-player{min-height:140px;gap:6px}.player-cards{gap:4px;margin-top:2px}.game-2v2 .card-medium .card-image,.game-2v2 .card-small .card-image{width:30px;height:60px}.teams-scores-grid{grid-template-columns:1fr;gap:16px}.scores-modal{padding:20px;max-width:95vw}.player-position.bottom-player{position:relative;bottom:75px}}.game-2v2 .card-small .card-image{width:55px;height:100px}.game-2v2 .card-medium .card-image,.game-2v2 .card-large .card-image{width:80px;height:150px}@media (max-width: 1900px) and (min-width: 1200px){.game-2v2 .card-medium .card-image{width:60px;height:110px}.game-2v2 .card-small .card-image{width:40px;height:75px}.middle-section{top:-50px}.player-info.opponent{top:-160px}.player-position.bottom-player{position:relative;top:-50px}.player-position.top-player{position:relative;top:-10px}}@media (max-width: 768px){.player-icon-display{padding:8px;gap:6px}.player-avatar{width:45px;height:45px;font-size:18px}.player-name{font-size:12px;color:#fff}.player-cards-indicator{font-size:11px}.cards-icon{width:14px;height:14px;font-size:8px}}@media (max-width: 767px) and (max-height: 850px){.game-2v2 .card-medium .card-image,.game-2v2 .card-small .card-image{width:55px;height:105px}.card-played .card-image{width:35px;height:65px}.player-icon-display{padding:6px;gap:4px}.player-avatar{width:35px;height:35px;font-size:14px}.player-name{font-size:10px;max-width:60px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;color:#fff}.player-cards-indicator{font-size:9px}.cards-icon{width:12px;height:12px;font-size:7px}.middle-section.no-deck{grid-template-columns:1fr 3fr 1fr;gap:15px;margin-bottom:150px;top:25px}.deck-trump-stack{width:45px;height:70px}.game-2v2 .trump-card{top:60px;left:-50px}.game-2v2 .deck-card{position:absolute;top:45px;left:-70px;z-index:2;transform:rotate(90deg)}.played-cards-area-2v2{min-width:140px;min-height:80px;gap:6px;padding:8px}.middle-section{min-height:140px}.left-player,.right-player{height:110px}.right-player .player-info{position:absolute;top:-65px;left:-29px;transform:translate(-50%);font-size:.65rem;padding:3px 6px;min-width:70px;white-space:nowrap}.left-player .player-info{position:absolute;top:-65px;left:35px;transform:translate(-50%);font-size:.65rem;padding:3px 6px;min-width:70px;white-space:nowrap}}@media (max-height: 670px){.game-2v2 .card-medium .card-image,.game-2v2 .card-small .card-image{width:42px;height:80px}}.final-teams-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center;margin-bottom:30px}.final-team-score{background:#0f51321a;border-radius:15px;padding:25px;position:relative;border:2px solid transparent;transition:all .3s ease}.team-header{margin-bottom:15px}.team-header h3{font-size:1.5rem;font-weight:700;color:#0f5132;margin-bottom:10px}.final-team-score .team-points{font-size:2rem;font-weight:700;color:#198754;margin-bottom:10px}.final-team-score .team-cards{font-size:1rem;color:#6c757d;margin-bottom:15px}.team-players{display:flex;flex-direction:column;gap:5px}.team-player{font-size:.9rem;color:#495057;padding:4px 8px;border-radius:6px;background:#6c757d1a}.team-player.current-player{background:#19875433;color:#0f5132;font-weight:700}@media (max-width: 768px){.final-teams-grid{grid-template-columns:1fr;gap:20px}.vs-divider{order:2;font-size:1.2rem}.final-team-score{padding:20px}.final-team-score .team-points{font-size:1.5rem}.team-header h3{font-size:1.2rem}}.reconnect-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.reconnect-dialog{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:25px;box-shadow:0 20px 40px #0003;max-width:450px;width:100%;text-align:center;color:#333;animation:slideUp .3s ease-out}.reconnect-header{margin-bottom:20px}.reconnect-header h2{margin:0 0 10px;color:#4a5568;font-size:1.3em}.connection-status{padding:6px 12px;border-radius:20px;font-size:.85em;font-weight:600;display:inline-block}.connection-status:contains("✅"){background:#28a74533;color:#28a745;border:1px solid rgba(40,167,69,.3)}.connection-status:contains("❌"){background:#dc354533;color:#dc3545;border:1px solid rgba(220,53,69,.3)}.reconnect-content{margin-bottom:25px;text-align:left}.reconnect-content>p{text-align:center;margin-bottom:15px;color:#666}.game-info{background:#667eea1a;border:1px solid rgba(102,126,234,.2);border-radius:10px;padding:15px;margin-bottom:15px}.info-item{display:flex;justify-content:space-between;margin-bottom:8px;padding:4px 0;border-bottom:1px solid rgba(0,0,0,.1)}.info-item:last-child{margin-bottom:0;border-bottom:none}.info-item strong{color:#4a5568}.connection-warning{background:#ffc10733;border:1px solid rgba(255,193,7,.4);border-radius:8px;padding:12px;margin-bottom:10px;text-align:center}.connection-warning p{margin:0 0 5px;color:#856404;font-weight:600}.connection-warning small{color:#6c757d}.reconnect-attempts{text-align:center;margin-bottom:10px}.reconnect-attempts small{color:#6c757d;font-style:italic}.reconnect-actions{display:flex;gap:12px;justify-content:center}.btn-primary{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:12px 18px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9em;flex:1}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #28a7454d}.btn-primary:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.btn-secondary{background:#6c757d;color:#fff;border:none;padding:12px 18px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9em;flex:1}.btn-secondary:hover{background:#5a6268;transform:translateY(-1px)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.reconnect-overlay{padding:15px}.reconnect-dialog{padding:20px}.reconnect-actions{flex-direction:column}.btn-primary-dialog,.btn-secondary-dialog{flex:none;width:100%}.reconnect-header h2{font-size:1.2em}.game-info{padding:12px}.info-item{font-size:.9em}}.user-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:linear-gradient(135deg,#2c3e50,#34495e);border-bottom:2px solid #3498db;box-shadow:0 2px 8px #00000026;position:sticky;top:0;z-index:1000}.user-info{display:flex;flex-direction:column;gap:2px}.user-name{font-size:16px;font-weight:600;color:#ecf0f1;letter-spacing:.3px}.user-status{font-size:12px;color:#bdc3c7;text-transform:uppercase;letter-spacing:.5px}.logout-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #e74c3c4d}.logout-btn:hover{background:linear-gradient(135deg,#c0392b,#a93226);transform:translateY(-1px);box-shadow:0 4px 8px #e74c3c66}.logout-btn:active{transform:translateY(0);box-shadow:0 2px 4px #e74c3c4d}.logout-btn svg{width:16px;height:16px;stroke-width:2}@media (max-width: 480px){.user-header{padding:10px 16px}.user-name{font-size:14px}.user-status{font-size:11px}.logout-btn{padding:6px 12px;font-size:13px;gap:6px}.logout-btn svg{width:14px;height:14px}}@media (max-width: 360px){.logout-btn span{display:none}.logout-btn{padding:8px;border-radius:50%;width:40px;height:40px;justify-content:center}}:root{--user-header-height: 72px}#root{margin:0;padding:0;min-height:100svh}.App{margin:0;padding:0;min-height:100svh;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}.connection-error{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;text-align:center;padding:20px}.connection-error h2{font-size:2.5em;margin:0 0 20px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.connection-error p{font-size:1.2em;margin:10px 0;opacity:.9}.connection-error button{margin-top:30px;padding:15px 30px;background:#fff3;color:#fff;border:2px solid white;border-radius:10px;font-size:1.1em;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.connection-error button:hover{background:#ffffff4d;transform:translateY(-2px);box-shadow:0 8px 20px #0003}.loading-screen{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center;padding:20px}.loading-screen h2{font-size:2em;margin:20px 0 10px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.loading-screen p{font-size:1.1em;opacity:.8}.loading-spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.2);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{box-sizing:border-box}body{margin:0;padding:0}.text-center{text-align:center}.mt-20{margin-top:20px}.mb-20{margin-bottom:20px}@media (max-width: 768px){.connection-error h2,.loading-screen h2{font-size:1.8em}.connection-error p,.loading-screen p{font-size:1em}}
