@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,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));--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);--success-gradient: linear-gradient(135deg, #48bb78 0%, #38a169 100%);--warning-gradient: linear-gradient(135deg, #f39c12 0%, #e67e22 100%);--danger-gradient: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);--glass-bg: rgba(255, 255, 255, .15);--glass-border: rgba(255, 255, 255, .2);--glass-blur: blur(20px) saturate(180%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 8px 24px rgba(0, 0, 0, .15);--shadow-lg: 0 15px 40px rgba(0, 0, 0, .2);--shadow-glow: 0 0 40px rgba(255, 255, 255, .3);--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .6s ease;--transition-bounce: .4s cubic-bezier(.34, 1.56, .64, 1)}a{font-weight:500;color:#646cff;text-decoration:inherit;transition:color var(--transition-fast)}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(102,126,234,.5) rgba(255,255,255,.1)}*::-webkit-scrollbar{width:12px;height:12px}*::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px;margin:4px}*::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;border:2px solid rgba(255,255,255,.1);transition:background var(--transition-fast)}*::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#f093fb);box-shadow:0 0 10px #667eea80}h1{font-size:3.2em;line-height:1.1;font-weight:800}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:all var(--transition-normal)}button:hover{border-color:#646cff;transform:translateY(-2px);box-shadow:0 4px 12px #646cff4d}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}button:active{transform:translateY(0)}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.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(to bottom,#8b6f47,#6b4f2a);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));position:relative;font-family:system-ui,-apple-system,sans-serif}.login-container:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);opacity:.3;pointer-events:none}.login-card{background:#faf7f2;border-radius:12px;padding:40px 35px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014,inset 0 1px #ffffff80;max-width:480px;width:100%;text-align:center;color:#3a3126;position:relative}.login-card:before{content:"";position:absolute;inset:0;border-radius:12px;border:1px solid rgba(107,79,42,.15);pointer-events:none}.login-card h1{font-size:2.2em;margin:0 0 10px;font-weight:700;color:#6b4f2a;letter-spacing:-.3px;display:flex;align-items:center;justify-content:center;gap:12px}.title-suit-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.subtitle{color:#5a4632;margin-bottom:28px;font-size:1.05em;font-weight:400}.login-mode-selector{display:flex;gap:10px;margin-bottom:28px;background:#e8dfd0;border-radius:10px;padding:6px;box-shadow:inset 0 2px 4px #00000014}.mode-btn{flex:1;padding:12px 16px;border:none;border-radius:8px;background:transparent;color:#6b4f2a;font-weight:500;cursor:pointer;transition:all .15s ease;font-size:.95em}.mode-btn:hover{background:#6b4f2a14;transform:translateY(-1px)}.mode-btn:active{transform:translateY(0)}.mode-btn.active{background:#8b6f47;color:#faf7f2;box-shadow:0 2px 4px #00000026}.login-form{display:flex;flex-direction:column;gap:18px;text-align:left}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;color:#6b4f2a;font-size:1em}.form-group input{padding:12px 16px;border:2px solid #d4c5b0;border-radius:8px;font-size:1.05em;transition:all .15s ease;background:#fff;color:#3a3126;font-weight:400;box-shadow:inset 0 1px 3px #0000000f}.form-group input:focus{outline:none;border-color:#c9a86a;background:#fff;box-shadow:0 0 0 3px #c9a86a26,inset 0 1px 3px #0000000f}.form-group input::placeholder{color:#a89b87;font-weight:400}.error-message{background:#fef2f2;color:#991b1b;padding:12px 16px;border-radius:8px;border:2px solid #fca5a5;font-size:.95em;text-align:center;font-weight:500;box-shadow:0 2px 4px #00000014}.login-btn{padding:14px 24px;background:#2f5d3a;color:#faf7f2;border:none;border-radius:8px;font-size:1.1em;font-weight:600;cursor:pointer;transition:all .15s ease;margin-top:10px;box-shadow:0 2px 6px #00000026}.login-btn:hover:not(:disabled){background:#3a7348;transform:translateY(-2px);box-shadow:0 4px 10px #0003}.login-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 3px #00000026}.login-btn:disabled{opacity:.5;cursor:not-allowed}.guest-info,.register-info{margin-top:22px;padding:16px 18px;background:#f4efe6;border-radius:8px;border:1px solid #d4c5b0;text-align:left;font-size:.9em;box-shadow:inset 0 1px 2px #0000000d}.guest-info p,.register-info p{margin:0;line-height:1.7;color:#5a4632;font-weight:400}.guest-info strong,.register-info strong{color:#6b4f2a;font-weight:600}.loading-state{padding:40px 20px}@media (max-width: 768px){.login-container{padding:15px}.login-card{padding:32px 28px}.login-card h1{font-size:2.2em}.subtitle{font-size:1.05em;margin-bottom:24px}.login-mode-selector{margin-bottom:24px}.mode-btn{padding:10px 14px;font-size:.88em}.login-form{gap:16px}.form-group input{padding:12px 16px;font-size:.95em}.login-btn{padding:14px 20px;font-size:1.05em}.guest-info,.register-info{margin-top:18px;padding:15px 18px;font-size:.85em}}@media (max-width: 480px){.login-container{padding:12px}.login-card{padding:28px 24px;border-radius:20px}.login-card h1{font-size:1.9em;margin-bottom:8px}.subtitle{font-size:1em;margin-bottom:20px}.login-mode-selector{margin-bottom:20px;gap:8px;padding:5px}.mode-btn{padding:9px 12px;font-size:.82em}.login-form{gap:14px}.form-group label{font-size:.92em}.form-group input{padding:11px 14px;font-size:.9em}.error-message{padding:10px 14px;font-size:.85em}.login-btn{padding:13px 18px;font-size:1em;margin-top:8px}.guest-info,.register-info{margin-top:16px;padding:14px 16px;font-size:.8em}}.game-type-container{min-height:100svh;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom,#8b6f47,#6b4f2a);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));position:relative;font-family:system-ui,-apple-system,sans-serif}.game-type-container:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);opacity:.3;pointer-events:none}.game-type-card{background:#faf7f2;border-radius:12px;padding:40px 35px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014,inset 0 1px #ffffff80;max-width:600px;width:100%;text-align:center;color:#3a3126;position:relative}.game-type-card:before{content:"";position:absolute;inset:0;border-radius:12px;border:1px solid rgba(107,79,42,.15);pointer-events:none}.back-btn{background:#e8dfd0;border:1px solid #d4c5b0;padding:10px 18px;border-radius:8px;cursor:pointer;font-weight:500;color:#6b4f2a;transition:all .15s ease;font-size:.95em;box-shadow:0 2px 4px #00000014}.type-header{margin-bottom:32px}.loading-state{text-align:center;padding:40px 20px}.loading-state h2{color:#6b4f2a;margin-bottom:10px;font-weight:600}.loading-state p{color:#5a4632;font-weight:400}.game-icon{display:flex;flex-direction:row;justify-content:center;align-items:flex-end;gap:6px;margin-bottom:24px;flex-wrap:wrap;width:100%}.type-header h2{margin:0 0 12px;color:#6b4f2a;font-size:2em;font-weight:700;letter-spacing:-.3px}.type-header p{color:#5a4632;font-size:1.05em;margin:0;font-weight:400}.type-options{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.type-option{background:#f4efe6;border:2px solid #d4c5b0;border-radius:12px;padding:32px 20px;cursor:pointer;transition:all .15s ease;position:relative;box-shadow:0 2px 6px #00000014}.type-option:hover{transform:translateY(-3px);box-shadow:0 4px 10px #00000026;background:#f9f5ee;border-color:#c9a86a}.type-option:active{transform:translateY(-1px);box-shadow:0 2px 6px #0000001f}.type-option.selected{background:#2f5d3a;color:#faf7f2;border-color:#2f5d3a;transform:translateY(-3px);box-shadow:0 4px 12px #2f5d3a66}.type-icon{font-size:3.5em;margin-bottom:16px;height:80px;display:flex;align-items:center;justify-content:center;transition:transform .15s ease}.type-option:hover .type-icon,.type-option.selected .type-icon{transform:scale(1.05)}.type-option h3{margin:0 0 8px;color:#6b4f2a;font-size:1.5em;font-weight:700;letter-spacing:-.3px}.type-option.selected h3{color:#faf7f2}.type-option p{color:#5a4632;margin-bottom:12px;font-weight:400;font-size:.95em}.type-option.selected p{color:#faf7f2e6}.type-option ul{list-style:none;padding:0;margin:0 0 10px;text-align:left}.type-option li{color:#ffffffe6;font-size:.85em;position:relative;padding:4px 0 4px 20px;font-weight:500}.type-option li:before{content:"✓";position:absolute;left:0;color:#48bb78;font-weight:700;font-size:1.1em}.type-badge{position:absolute;top:16px;right:16px;background:#c9a86a;color:#3a3126;padding:6px 14px;border-radius:20px;font-size:.75em;font-weight:700;box-shadow:0 2px 6px #00000026;letter-spacing:.5px}.type-option.selected .type-badge{background:#faf7f2;color:#2f5d3a;box-shadow:0 2px 6px #0003}.type-info{background:#f4efe6;border-radius:10px;padding:24px;text-align:left;border:1px solid #d4c5b0}.type-info h4{margin:0 0 18px;color:#6b4f2a;text-align:center;font-size:1.2em;font-weight:700}.rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.rule-item{background:#fff;padding:14px;border-radius:8px;font-size:.9em;border:1px solid #d4c5b0;color:#5a4632;box-shadow:inset 0 1px 2px #0000000d}.rule-item strong{color:#6b4f2a;font-weight:600}@keyframes slideUpFade{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes iconBounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-12px)}60%{transform:translateY(-6px)}}@media (max-width: 768px){.game-type-container{padding:15px}.game-type-card{padding:32px 28px;max-width:500px}.type-header h2{font-size:1.8em}.type-header p{font-size:1.05em}.type-options{grid-template-columns:1fr;gap:16px}.type-option{padding:28px 18px}.type-icon{font-size:3em;height:70px}.type-option h3{font-size:1.3em}.rules-grid{grid-template-columns:1fr}.suit-icon{width:32px;height:48px}}@media (max-width: 480px){.game-type-container{padding:12px}.game-type-card{padding:28px 24px;border-radius:20px}.type-header{margin-bottom:24px}.type-header h2{font-size:1.6em;margin-bottom:10px}.type-header p{font-size:1em}.game-icon{gap:4px;margin-bottom:20px}.suit-icon{width:28px;height:42px}.type-options{gap:14px;grid-template-columns:1fr 1fr}.type-option{padding:24px 16px;min-height:140px;display:flex;flex-direction:column;justify-content:center;align-items:center}.type-icon{font-size:2.5em;height:60px;margin-bottom:12px}.type-option h3{font-size:1.15em;margin:0}.type-option p,.type-option ul{display:none}.type-badge{top:10px;right:10px;padding:4px 10px;font-size:.7em}}.dev-console{position:fixed;bottom:20px;right:20px;background:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:18px;border-radius:12px;border:2px solid #ffc107;z-index:1000;min-width:260px;box-shadow:0 8px 32px #0006}.dev-info{font-size:.95em;color:#ffc107;margin-bottom:12px;font-weight:700;text-align:center;letter-spacing:.5px}.dev-actions{display:flex;flex-direction:column;gap:10px}.dev-btn{padding:8px 14px;border:none;border-radius:8px;font-size:.85em;cursor:pointer;transition:all .3s ease;font-weight:600;letter-spacing:.3px}.dev-btn.clear-session{background:#dc3545;color:#fff}.dev-btn.clear-session:hover{background:#c82333;transform:translateY(-2px);box-shadow:0 4px 12px #dc354566}.dev-btn.view-storage{background:#17a2b8;color:#fff}.dev-btn.view-storage:hover{background:#138496;transform:translateY(-2px);box-shadow:0 4px 12px #17a2b866}.dev-btn.close-console{background:#6c757d;color:#fff}.dev-btn.close-console:hover{background:#545b62;transform:translateY(-2px);box-shadow:0 4px 12px #6c757d66}.dev-tools,.clear-session-btn{display:none}.game-mode-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom,#8b6f47,#6b4f2a);padding:20px;box-sizing:border-box;position:relative;font-family:system-ui,-apple-system,sans-serif}.game-mode-container:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);opacity:.3;pointer-events:none}.game-mode-card{background:#faf7f2;border-radius:12px;padding:35px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014,inset 0 1px #ffffff80;max-width:550px;width:100%;text-align:center;color:#3a3126;position:relative;z-index:1;border:1px solid rgba(107,79,42,.15)}.back-btn{position:absolute;top:15px;left:15px;background:#e8dfd0;border:1px solid #d4c5b0;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.2em;color:#6b4f2a;transition:all .15s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #00000014}.back-btn:hover{background:#ddd2bf;transform:translateY(-1px);box-shadow:0 3px 6px #0000001f}.back-btn:active{transform:translateY(0);box-shadow:0 1px 3px #00000014}.mode-header{margin-bottom:28px}.game-icon{display:flex;justify-content:center;align-items:center;gap:8px;margin-bottom:20px}.suit-icon{width:36px;height:54px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.mode-header h2{margin:0 0 10px;color:#6b4f2a;font-size:2em;font-weight:700;letter-spacing:-.3px}.mode-header p{color:#5a4632;font-size:1.05em;margin:0;font-weight:400}.mode-options{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}.mode-option{background:#f4efe6;border:2px solid #d4c5b0;border-radius:12px;padding:18px 20px;cursor:pointer;transition:all .15s ease;position:relative;text-align:left;display:flex;align-items:center;gap:16px;box-shadow:0 2px 6px #00000014}.mode-option:hover{border-color:#c9a86a;background:#f9f5ee;box-shadow:0 4px 10px #0000001f;transform:translateY(-2px)}.mode-option:active{transform:translateY(0);box-shadow:0 2px 6px #00000014}.mode-option.selected{border-color:#2f5d3a;background:#2f5d3a;color:#faf7f2;box-shadow:0 4px 12px #2f5d3a4d}.mode-icon{font-size:2.2em;flex-shrink:0;width:75px;height:75px;display:flex;align-items:center;justify-content:center;background:#c9a86a;border-radius:10px;transition:transform .15s ease;box-shadow:0 2px 6px #00000026}.mode-option:hover .mode-icon{transform:scale(1.03)}.mode-option.selected .mode-icon{background:#faf7f2;transform:scale(1.03)}.mode-option-content{flex:1;min-width:0}.mode-option h3{margin:0 0 6px;color:#6b4f2a;font-size:1.15em;font-weight:700}.mode-option.selected h3{color:#faf7f2}.mode-option p{color:#5a4632;margin:0;font-size:.92em;line-height:1.4;font-weight:400}.mode-option.selected p{color:#faf7f2e6}.mode-option ul{display:none}.mode-badge-mode{position:absolute;top:-10px;right:14px;background:#c9a86a;color:#3a3126;padding:5px 12px;border-radius:20px;font-size:.75em;font-weight:700;box-shadow:0 2px 6px #00000026;letter-spacing:.5px;z-index:2;white-space:nowrap}.tournament-badge{background:#f6e05e;color:#744210;box-shadow:0 2px 6px #ecc94b4d}.ai-mode-section{background:#f4efe6;border:2px solid #d4c5b0;border-radius:12px;padding:18px;transition:all .15s ease;margin-bottom:20px}.ai-mode-section:hover{border-color:#c9a86a;background:#f9f5ee}.ai-section-header{display:flex;justify-content:center;margin-bottom:14px}.ai-badge{color:#6b4f2a;font-size:.9em;font-weight:700}.ai-mode-section>button{width:100%;background:#2f5d3a;color:#faf7f2;border:none;padding:14px 24px;border-radius:8px;cursor:pointer;font-size:1.05em;font-weight:600;transition:all .15s ease;box-shadow:0 2px 6px #00000026}.ai-mode-section>button:hover{background:#3a7348;transform:translateY(-2px);box-shadow:0 4px 10px #0003}.ai-mode-section>button:active{transform:translateY(0);box-shadow:0 1px 3px #00000026}.ai-akuze-option{background:#fff;border:1px solid #d4c5b0;border-radius:8px;padding:14px;margin-top:14px;text-align:left;box-shadow:inset 0 1px 2px #0000000d}.checkbox-container{display:flex;align-items:center;cursor:pointer;font-size:.95em;color:#6b4f2a;gap:10px;font-weight:600}.checkbox-container input[type=checkbox]{width:20px;height:20px;accent-color:#2f5d3a;cursor:pointer}.akuze-description{font-size:.85em;color:#5a4632;margin-top:8px;line-height:1.4;font-weight:400}.mode-info{background:#f4efe6;border:1px solid #d4c5b0;border-radius:10px;padding:5px}.mode-info h4{margin:0 0 14px;color:#6b4f2a;font-size:1.05em;font-weight:700}.rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rule-item{background:#fff;padding:12px;border-radius:8px;font-size:.9em;color:#5a4632;text-align:center;border:1px solid #d4c5b0;font-weight:400;box-shadow:inset 0 1px 2px #0000000d}.rule-item strong{color:#6b4f2a;margin-right:4px;font-weight:600;display:block;margin-bottom:4px}@media (max-width: 768px){.game-mode-card{padding:30px 25px}.mode-header h2{font-size:1.8em}}@media (max-width: 479px){.game-mode-container{padding:12px}.game-mode-card{padding:24px 18px;border-radius:20px}.back-btn{width:36px;height:36px;top:12px;left:12px}.game-icon{gap:6px}.suit-icon{width:30px;height:45px}.mode-header h2{font-size:1.5em}.mode-header p{font-size:.95em}.mode-option{padding:16px;gap:14px}.mode-icon{width:60px;height:60px;font-size:1.8em}.mode-option h3{font-size:1.05em}.mode-option p{font-size:.88em}.mode-badge-mode{font-size:.7em;padding:4px 10px;top:-8px;right:10px}.ai-mode-section>button{padding:14px 20px;font-size:1em}.mode-info{padding:14px}.rules-grid{grid-template-columns:1fr;gap:8px}.rule-item{padding:10px;font-size:.88em;text-align:left}.rule-item strong{display:inline;margin-bottom:0}}@media (max-width: 360px){.game-mode-container{padding:10px}.game-mode-card{padding:20px 16px}.mode-header h2{font-size:1.3em}.mode-icon{width:50px;height:50px;font-size:1.6em}}@media (max-height: 700px){.game-mode-container{padding:20px 10px 10px;align-items:flex-start}.game-mode-card{padding:22px;margin:10px auto}.mode-header{margin-bottom:18px}.mode-options{gap:10px;margin-bottom:16px}.mode-option{padding:14px 16px}.ai-mode-section{margin-bottom:16px}}@media (max-height: 600px){.game-mode-container{overflow-y:auto}.mode-info{max-height:120px;overflow-y:auto}}.modal-overlay{position:fixed;inset:0;background:#6b4f2ab3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.create-game-modal{background:#faf7f2;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;color:#3a3126;box-shadow:0 8px 24px #0000004d;border:2px solid #d4c5b0}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 20px;border-bottom:2px solid #d4c5b0}.modal-header h2{margin:0;font-size:1.4rem;color:#6b4f2a;font-weight:700}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b4f2a;padding:4px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s ease}.close-btn:hover{background:#e8dfd0;color:#5a4023}.create-game-form{padding:24px}.form-section{margin-bottom:24px}.form-label{display:block;margin-bottom:8px;font-weight:600;color:#6b4f2a;font-size:.95rem}.form-input{width:100%;padding:12px 16px;border:2px solid #d4c5b0;border-radius:8px;font-size:1rem;transition:all .15s ease;background:#fff;color:#3a3126}.form-input:focus{outline:none;border-color:#c9a86a;box-shadow:0 0 0 3px #c9a86a26}.form-input.error{border-color:#c45454;box-shadow:0 0 0 3px #c4545426}.error-text{display:block;color:#c45454;font-size:.85rem;margin-top:6px;font-weight:500}.mode-selector{display:flex;gap:12px}.mode-option-create{flex:1;cursor:pointer;border:2px solid #d4c5b0;border-radius:8px;padding:16px;transition:all .15s ease;background:#f4efe6}.mode-option-create:hover{border-color:#c9a86a;background:#f9f5ee;transform:translateY(-1px)}.mode-option-create.selected{border-color:#2f5d3a;background:#2f5d3a;color:#faf7f2}.mode-option-create 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:#6b4f2a;font-size:1rem}.mode-option-create.selected .mode-title{color:#faf7f2}.mode-desc{color:#5a4632;font-size:.85rem;margin-top:2px}.mode-option-create.selected .mode-desc{color:#faf7f2d9}.checkbox-wrapper{margin-bottom:16px}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:500;color:#6b4f2a}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{width:20px;height:20px;border:2px solid #d4c5b0;border-radius:4px;position:relative;transition:all .15s ease;background:#fff}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background:#2f5d3a;border-color:#2f5d3a}.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:#c9a86a1a;border-radius:8px;border:1px solid rgba(201,168,106,.3)}.password-input{margin-bottom:8px}.password-hint{color:#5a4632;font-size:.85rem;font-style:italic}.game-preview{background:#f4efe6;border:2px solid #d4c5b0;border-radius:8px;padding:16px;margin-bottom:24px}.game-preview h4{margin:0 0 12px;color:#6b4f2a;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:#5a4632;font-weight:500;font-size:.9rem}.preview-value{color:#6b4f2a;font-weight:600;font-size:.9rem}.modal-actions{display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:2px solid #d4c5b0;margin-top:24px}.create-game-modal .cancel-btn,.create-game-modal .create-btn{flex:1;padding:12px 20px!important;border:none;border-radius:8px!important;cursor:pointer;font-weight:600;font-size:1rem;transition:all .15s ease;width:100%!important;min-width:0!important;height:auto!important}.create-game-modal .cancel-btn{background:#8b7355;color:#faf7f2}.create-game-modal .cancel-btn:hover{background:#9d8365;transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.create-game-modal .create-btn{background:#2f5d3a;color:#faf7f2}.create-game-modal .create-btn:hover{background:#3a7348;transform:translateY(-1px);box-shadow:0 3px 8px #2f5d3a4d}@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-create{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-create{padding:10px}.modal-actions{flex-direction:column;gap:8px}.create-game-modal .cancel-btn,.create-game-modal .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(to bottom,#8b6f47,#6b4f2a);padding:20px;color:#faf7f2;position:relative}.game-lobby:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);opacity:.3;pointer-events:none}.lobby-header{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;margin-bottom:30px;background:#faf7f2;padding:20px;border-radius:12px;border:2px solid #d4c5b0;box-shadow:0 4px 12px #00000026;color:#3a3126}.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;color:#6b4f2a;letter-spacing:-.3px}.header-right{display:flex;justify-content:flex-end;gap:12px}.back-btn{top:30px;left:30px}.refresh-btn,.create-btn{background:#c9a86a;border:none;color:#3a3126;padding:12px 18px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .15s ease;box-shadow:0 2px 6px #00000026}.refresh-btn:hover,.create-btn:hover{background:#d4b57a;transform:translateY(-1px);box-shadow:0 3px 8px #0003}.create-btn{background:#2f5d3a;color:#faf7f2}.create-btn:hover{background:#3a7348}.create-first-btn{background:#2f5d3a;color:#faf7f2;border:none;padding:16px 32px;border-radius:8px;cursor:pointer;font-weight:600;font-size:1.1rem;transition:all .15s ease;box-shadow:0 3px 8px #2f5d3a4d}.create-first-btn:hover{background:#3a7348;transform:translateY(-2px);box-shadow:0 4px 12px #2f5d3a66}.join-btn{background:#2f5d3a;color:#faf7f2;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.95rem;transition:all .15s ease;width:100%;box-shadow:0 2px 6px #00000026}.join-btn:hover:not(:disabled){background:#3a7348;transform:translateY(-1px);box-shadow:0 3px 8px #2f5d3a4d}.join-btn:disabled{background:#8b7355;cursor:not-allowed;transform:none;box-shadow:none;opacity:.6}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;background:#faf7f2;border-radius:12px;padding:40px;border:2px solid #d4c5b0;margin:20px 0;color:#3a3126}.loading-spinner{width:48px;height:48px;border:4px solid #e8dfd0;border-top:4px solid #c9a86a;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-banner{background:#c45454;color:#faf7f2;padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 6px #00000026}.error-banner button{background:none;border:none;color:#faf7f2;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 .15s ease}.error-banner button:hover{background:#faf7f233}.no-games{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;background:#faf7f2;border-radius:12px;padding:40px;border:2px solid #d4c5b0;margin:20px 0;color:#3a3126}.no-games-icon{font-size:5rem;margin-bottom:20px;opacity:.7;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.no-games h3{margin:0 0 12px;font-size:1.8rem;color:#6b4f2a}.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:#faf7f2;border-radius:12px;padding:24px;color:#3a3126;box-shadow:0 3px 10px #00000026;transition:all .15s ease;border:2px solid #d4c5b0;position:relative;overflow:hidden}.game-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:#2f5d3a}.game-card:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0003;border-color:#c9a86a}.game-header-lobby{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #e8dfd0;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:#6b4f2a;flex:1;line-height:1.3}.game-badges{display:flex;gap:8px;align-items:center;flex-shrink:0;margin-left:12px}.mode-badge{background:#c9a86a;color:#faf7f2;padding:4px 12px;border-radius:6px;font-size:.85rem;font-weight:600;box-shadow:0 2px 4px #00000026}.password-badge{color:#b5860a;font-size:1.1rem;background:#fef3cd;padding:4px 8px;border-radius:6px;border:1px solid #f5e5a0}.delete-btn{background:#c45454;color:#faf7f2;border:none;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .15s ease;box-shadow:0 2px 6px #00000026;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:#a73939;transform:translateY(-1px);box-shadow:0 3px 8px #c454544d}.delete-btn:active{transform:translateY(0);box-shadow:0 2px 4px #c454544d}.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:#6b4f2abf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.password-modal,.confirm-delete-modal{background:#faf7f2;border-radius:12px;padding:0;max-width:400px;width:100%;color:#3a3126;box-shadow:0 10px 40px #00000040;border:2px solid #d4c5b0}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:2px solid #e8dfd0}.modal-header h3{margin:0;font-size:1.2rem;color:#6b4f2a;font-weight:600}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#8b7355;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s ease}.close-btn:hover{background:#f4efe6;color:#6b4f2a}.modal-body{padding:20px 24px}.modal-body p{margin:0 0 16px;color:#5a4632;font-size:.95rem}.modal-body input{width:100%;padding:12px 16px;border:2px solid #d4c5b0;border-radius:8px;font-size:1rem;transition:all .15s ease;box-sizing:border-box;background:#fff}.modal-body input:focus{outline:none;border-color:#c9a86a;box-shadow:0 0 0 3px #c9a86a26}.error-text{color:#c45454!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:2px solid #e8dfd0;margin-top:8px}.cancel-btn,.submit-btn{flex:1;padding:14px 20px;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .15s ease;min-height:48px;display:flex;align-items:center;justify-content:center}.cancel-btn{background:#8b7355;color:#faf7f2;box-shadow:0 2px 6px #00000026}.cancel-btn:hover{background:#6b5a45;transform:translateY(-1px);box-shadow:0 3px 8px #0003}.submit-btn{background:#2f5d3a;color:#faf7f2;box-shadow:0 2px 6px #00000026}.submit-btn:hover:not(:disabled){background:#3a7348;transform:translateY(-1px);box-shadow:0 3px 8px #2f5d3a4d}.submit-btn:disabled{background:#a8b4a0;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:#d68d30;filter:drop-shadow(0 2px 4px rgba(214,141,48,.3))}.confirm-message{font-size:1.1rem;margin:0 0 12px;color:#6b4f2a;font-weight:500}.warning-text{font-size:.9rem;color:#5a4632;margin:0;line-height:1.4}.delete-confirm-btn{flex:1;padding:14px 20px;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .15s ease;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;background:#c45454;color:#faf7f2;box-shadow:0 2px 6px #00000026}.delete-confirm-btn:hover{background:#a73939;transform:translateY(-1px);box-shadow:0 3px 8px #c454544d}.delete-confirm-btn:active{transform:translateY(0);box-shadow:0 2px 4px #c454544d}@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:1fr;grid-auto-rows:auto;padding:16px;gap:12px;align-items:center;justify-items:center}.header-left{margin-top:0;width:10%;justify-content:flex-start}.header-center{text-align:center;min-width:0;width:100%}.header-center h1{font-size:1.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:0}.header-right{width:100%;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px}.header-right .elo-widget{min-width:unset;width:100%;justify-content:center}.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:1fr;gap:12px;padding:12px;align-items:center;justify-items:center}.header-center{min-width:0}.header-center h1{font-size:1.3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.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:column;align-items:center;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}}.elo-widget{display:flex;align-items:center;gap:12px;background:#f4efe6;padding:10px 14px;border-radius:8px;box-shadow:0 2px 8px #00000026;border:2px solid #d4c5b0;font-family:system-ui,sans-serif;min-width:280px}.elo-widget.compact{padding:6px 10px;min-width:200px}.elo-left{display:flex;align-items:center;gap:10px}.elo-badge{width:42px;height:42px;border-radius:50%;background:#8b7355;color:#faf7f2;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;box-shadow:0 2px 6px #0003;position:relative}.level-1{background:#6b5a45;color:#faf7f2}.level-2{background:#7d6851;color:#faf7f2}.level-3{background:#8b7355;color:#faf7f2}.level-4{background:#9a8466;color:#faf7f2}.level-5{background:#a89374;color:#3a3126}.level-6{background:#b5a17f;color:#3a3126}.level-7{background:#c2ae8a;color:#3a3126}.level-8{background:#c9a86a;color:#3a3126}.level-9{background:#d1b577;color:#3a3126}.level-10{background:linear-gradient(135deg,#f5b342,#d98c00);color:#3a3126;font-weight:700}.elo-numbers{display:flex;flex-direction:column}.elo-value{font-size:16px;font-weight:600;letter-spacing:.5px;color:#6b4f2a}.elo-level-label{font-size:12px;opacity:.75;color:#5a4632}.elo-progress-wrapper{flex:1;display:flex;flex-direction:column;gap:4px}.elo-progress-bar{position:relative;background:#e8dfd0;height:10px;border-radius:6px;overflow:hidden}.elo-progress-fill{position:absolute;top:0;left:0;bottom:0;background:#2f5d3a;transition:width .4s ease}.elo-progress-text{font-size:11px;letter-spacing:.5px;opacity:.8;color:#5a4632}.elo-widget.unranked{justify-content:center;min-width:unset;padding:8px 14px;background:#f4efe6;border:2px solid #d4c5b0;box-shadow:0 2px 6px #00000026}.elo-unranked-pill{padding:6px 12px;border-radius:999px;background:#2f5d3a;color:#faf7f2;font-weight:600;font-size:13px;letter-spacing:.4px;white-space:nowrap;box-shadow:0 2px 6px #00000026;position:relative}.elo-unranked-pill:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(90deg,#faf7f24d,#faf7f200);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.5}.elo-unranked-pill:hover{filter:brightness(1.08);transform:translateY(-1px);transition:all .15s ease}@media (max-width: 640px){.elo-widget{padding:8px 10px;gap:8px;min-width:unset}.elo-badge{width:36px;height:36px;font-size:16px}.elo-value{font-size:14px}.elo-progress-text{display:none}}.tournament-bracket-container{padding:calc(var(--user-header-height) + 10px) 20px 20px;background:linear-gradient(to bottom,#8b6f47,#6b4f2a);min-height:100vh;color:#3a3126}.bracket-header{display:flex;align-items:flex-start;gap:20px;margin-bottom:30px;padding-bottom:20px;border-bottom:3px solid #c9a86a;margin-top:0;position:relative;top:-50px}.bracket-header .back-btn-bracket{position:relative;top:0;left:0}.back-btn-bracket{background:#c45454;color:#faf7f2;border:none;padding:12px 20px;border-radius:8px;cursor:pointer;font-weight:700;transition:all .15s ease;white-space:nowrap;box-shadow:0 2px 6px #00000026}.back-btn-bracket:hover{background:#a73939;transform:translateY(-1px);box-shadow:0 3px 8px #c454544d}.tournament-info h2{margin:0 0 10px;color:#c9a86a;font-size:2.2em}.tournament-meta{display:flex;gap:20px;margin-bottom:10px;flex-wrap:wrap}.tournament-meta span{background:#f4efe6;padding:6px 12px;border-radius:8px;font-size:.9em;border:2px solid #d4c5b0;color:#5a4632}.prize-pool{background:#c9a86a;color:#3a3126;padding:10px 15px;border-radius:8px;font-weight:700;display:inline-block;margin-top:10px;box-shadow:0 2px 6px #00000026}.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:#c9a86a;font-size:1.4em;text-transform:uppercase;letter-spacing:1px}.round-matches{display:flex;flex-direction:column;gap:20px}.bracket-match{background:#faf7f2;border:2px solid #d4c5b0;border-radius:12px;padding:20px;transition:all .15s ease;position:relative;overflow:visible;z-index:1}.bracket-match:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent,rgba(201,168,106,.1),transparent);opacity:0;transition:opacity .15s ease}.bracket-match:hover:before{opacity:1}.bracket-match.pending{border-color:#2f5d3a;box-shadow:0 0 15px #2f5d3a33}.bracket-match.finished{border-color:#c9a86a;box-shadow:0 0 15px #c9a86a33}.bracket-match.waiting{border-color:#8b7355;opacity:.7}.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #e8dfd0}.match-title{font-weight:700;color:#c9a86a;font-size:1.1em}.match-deadline{font-size:.8em;color:#c45454;background:#c4545426;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:#f4efe6;border-radius:8px;border:2px solid #d4c5b0;transition:all .15s ease;color:#3a3126}.player.winner{border-color:#c9a86a;background:#c9a86a33;transform:scale(1.05);box-shadow:0 2px 8px #c9a86a4d}.player-name{font-weight:700;text-align:center;min-height:20px;color:#6b4f2a}.match-vs{color:#c9a86a;font-weight:700;font-size:1.2em;text-shadow:0 1px 2px rgba(0,0,0,.1)}.report-win-btn{background:#2f5d3a;color:#faf7f2;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9em;font-weight:700;transition:all .15s ease;box-shadow:0 2px 6px #00000026}.report-win-btn:hover{background:#3a7348;transform:translateY(-1px);box-shadow:0 3px 8px #2f5d3a4d}.match-actions{text-align:center;margin-top:10px;position:relative;z-index:10}.start-match-btn{background:#2f5d3a;color:#faf7f2;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:700;transition:all .15s ease;font-size:1.1em;position:relative;z-index:20;pointer-events:auto;-webkit-user-select:none;user-select:none;box-shadow:0 2px 6px #00000026}.start-match-btn:hover{background:#3a7348;transform:translateY(-1px);box-shadow:0 3px 8px #2f5d3a4d}.start-match-btn:active{transform:translateY(0);box-shadow:0 2px 4px #2f5d3a4d}.match-result{text-align:center;background:#c9a86a;color:#3a3126;padding:12px;border-radius:8px;font-weight:700;margin-top:10px;box-shadow:0 2px 6px #00000026}.match-waiting{text-align:center;color:#8b7355;font-style:italic;padding:12px;margin-top:10px}.match-spectate{text-align:center;color:#b5860a;font-style:italic;padding:12px;margin-top:10px;background:#fef3cd;border-radius:6px;border:1px solid #f5e5a0}.spectate-wrapper{text-align:center;margin-top:10px}.spectate-btn{background:#3a6b8c;color:#faf7f2;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:all .15s ease;box-shadow:0 2px 6px #00000026}.spectate-btn:hover{background:#2d5472;transform:translateY(-1px);box-shadow:0 3px 8px #3a6b8c4d}.spectate-btn:active{transform:translateY(0)}.spectate-btn.disabled{background:#8b7355;cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.live-badge{display:inline-block;margin-left:10px;background:#c45454;color:#faf7f2;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 #c4545433}@keyframes pulseLive{0%{box-shadow:0 0 #c4545480}70%{box-shadow:0 0 0 8px #c4545400}to{box-shadow:0 0 #c4545400}}.pending-badge{display:inline-block;margin-left:10px;background:#d68d30;color:#3a3126;font-size:.65rem;padding:4px 8px;border-radius:6px;letter-spacing:.5px;font-weight:600;box-shadow:0 0 0 2px #d68d3026}.tournament-winner{text-align:center;margin-top:40px;padding:30px;background:#c9a86a;color:#3a3126;border-radius:12px;box-shadow:0 5px 20px #c9a86a4d;border:3px solid #b5925c}.tournament-winner h3{margin:0 0 15px;font-size:2em;text-transform:uppercase;letter-spacing:2px;color:#6b4f2a}.winner-name{font-size:2.5em;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.15);color:#6b4f2a}.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(to bottom,#8b6f47,#6b4f2a);padding:20px;color:#3a3126}.lobby-header-tournament{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:#faf7f2;padding:20px 30px;border-radius:12px;margin-top:0;border:2px solid #d4c5b0;box-shadow:0 3px 10px #00000026}.lobby-header-tournament h1{margin:0;font-size:1.8rem;text-align:center;flex:1;color:#6b4f2a}.header-left-tournament,.header-right-tournament{display:flex;gap:10px}.back-btn-tournament,.refresh-btn{background:#8b7355;color:#faf7f2;border:none;padding:12px 16px;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .15s ease;display:flex;align-items:center;gap:8px;box-shadow:0 2px 6px #00000026}.refresh-btn:hover{background:#6b5a45;transform:translateY(-1px);box-shadow:0 3px 8px #0003}.error-banner{background:#c45454;color:#faf7f2;padding:15px 20px;border-radius:8px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 6px #00000026}.success-banner{background:#2f5d3a;color:#faf7f2;padding:15px 20px;border-radius:8px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 6px #00000026}.error-banner button,.success-banner button{background:none;border:none;color:#faf7f2;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;background:#faf7f2;border-radius:12px;border:2px solid #d4c5b0;color:#3a3126}.loading-spinner{width:40px;height:40px;border:4px solid #e8dfd0;border-top:4px solid #c9a86a;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:#d4c5b04d;border-radius:10px}.tournaments-section::-webkit-scrollbar-thumb{background:#c9a86a;border-radius:10px}.tournaments-section::-webkit-scrollbar-thumb:hover{background:#b5925c}.no-tournaments{text-align:center;background:#faf7f2;border-radius:12px;padding:24px;max-width:500px;margin:0 auto;border:2px solid #d4c5b0;color:#3a3126;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;color:#6b4f2a}.no-tournaments p{margin:6px 0 0;font-size:.95rem;color:#5a4632}.no-tournaments .tournament-info{margin-top:16px;text-align:left}.no-tournaments .tournament-info h4{color:#c9a86a;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 #e8dfd0}.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:#faf7f2;color:#3a3126;border-radius:12px;padding:25px;box-shadow:0 3px 10px #00000026;transition:transform .15s ease,box-shadow .15s ease;border:2px solid #d4c5b0}.tournament-card:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0003}.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:#6b4f2a;flex:1}.tournament-badges{display:flex;gap:8px}.status-badge{background:#2f5d3a;color:#faf7f2;padding:4px 12px;border-radius:6px;font-size:.8rem;font-weight:600;box-shadow:0 2px 4px #00000026}.status-badge.registration{background:#3a6b8c}.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:#6b4f2a}.participants-count .label{color:#5a4632;font-size:.9rem}.participants-bar{width:100%;height:8px;background:#e8dfd0;border-radius:10px;overflow:hidden}.participants-fill{height:100%;background:#2f5d3a;border-radius:10px;transition:width .3s ease}.tournament-info p{margin:8px 0;color:#5a4632;font-size:.9rem}.tournament-info strong{color:#6b4f2a}.created-time{color:#8b7355!important;font-size:.8rem!important}.tournament-actions{display:flex;gap:10px}.back-btn-tournament{position:absolute;top:100px;left:30px;background:#e8dfd0;border:1px solid #d4c5b0;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.2em;color:#6b4f2a;transition:all .15s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #00000014}@media (max-width: 768px){.back-btn-tournament{top:120px;left:20px}}.register-btn,.view-bracket-btn{flex:1;background:#2f5d3a;color:#faf7f2;border:none;padding:12px 20px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 6px #00000026}.register-btn:hover{background:#3a7348;transform:translateY(-1px);box-shadow:0 3px 8px #2f5d3a4d}.view-bracket-btn:hover:not(:disabled){background:#3a7348;transform:translateY(-1px);box-shadow:0 3px 8px #2f5d3a4d}.register-btn:disabled{background:#a8b4a0;color:#f4efe6;cursor:not-allowed;transform:none;box-shadow:none}.view-bracket-btn:disabled{background:#a8b4a0;color:#f4efe6;cursor:not-allowed;transform:none;box-shadow:none}.tournament-rules{background:#faf7f2;border-radius:12px;padding:30px;max-width:800px;margin:0 auto;border:2px solid #d4c5b0;box-shadow:0 3px 10px #00000026}.tournament-rules h4{color:#c9a86a;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:#f4efe6;padding:15px;border-radius:8px;text-align:center;border:1px solid #e8dfd0;color:#3a3126}.rule-item-tournament strong{color:#c9a86a;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}.elo-changes{margin-bottom:20px;text-align:center}.elo-change{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;border-radius:50px;font-weight:700;font-size:1.1rem}.elo-change.elo-positive{background:linear-gradient(135deg,#19875426,#28a74526);border:2px solid #28a745;color:#198754}.elo-change.elo-negative{background:linear-gradient(135deg,#dc354526,#ff636326);border:2px solid #dc3545;color:#dc3545}.elo-label{opacity:.8}.elo-value{font-size:1.3rem}.elo-new{opacity:.7;font-size:.95rem}.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 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}}.app-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:15px 24px;background:#2f5d3a;border-bottom:2px solid #264a2e;box-shadow:0 2px 8px #00000026;position:sticky;top:0;z-index:1000;min-height:60px;font-family:system-ui,-apple-system,sans-serif}.app-header-left{display:flex;align-items:center;justify-content:flex-start}.app-header-logo{display:flex;align-items:center;gap:12px}.app-logo-icon{width:32px;height:32px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.app-logo-text{font-size:18px;font-weight:700;color:#faf7f2;letter-spacing:.3px;white-space:nowrap}.app-user-info{display:flex;align-items:center;gap:10px}.app-user-name{font-size:16px;font-weight:600;color:#faf7f2;letter-spacing:.3px}.app-user-badge{font-size:11px;color:#3498db;background:#3498db33;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(52,152,219,.4);padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;box-shadow:0 2px 8px #3498db33}.app-header-nav{display:flex;justify-content:center;align-items:center;gap:12px}.app-nav-btn{background:#faf7f226;color:#faf7f2;border:1px solid rgba(250,247,242,.3);border-radius:8px;padding:8px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.app-nav-btn:hover{background:#faf7f240;border-color:#faf7f280;transform:translateY(-1px)}.app-nav-btn:active{transform:translateY(0)}.app-header-right{display:flex;align-items:center;justify-content:flex-end}.app-header-actions{display:flex;align-items:center;gap:12px;margin-right:5px}.app-header-logo-right{opacity:.6;transition:opacity .3s ease}.app-header-logo-right:hover{opacity:.9}.app-header-logo-right .app-logo-icon{width:28px;height:28px;animation-delay:1.5s}.app-action-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.app-action-btn .app-btn-icon{flex-shrink:0}.app-leaderboard-btn{background:#c9a86a;color:#3a3126;box-shadow:0 2px 6px #00000026}.app-leaderboard-btn:hover{background:#d4b57a;transform:translateY(-1px);box-shadow:0 3px 8px #0003}.app-bug-btn{background:#e8a33d;color:#3a3126;box-shadow:0 2px 6px #00000026}.app-bug-btn:hover{background:#f0b347;transform:translateY(-1px);box-shadow:0 3px 8px #0003}.app-logout-btn{background:#8b4545;color:#faf7f2;box-shadow:0 2px 6px #00000026}.app-logout-btn:hover{background:#9d5050;transform:translateY(-1px);box-shadow:0 3px 8px #0003}.app-action-btn:active{transform:translateY(0)}.app-logout-btn svg{width:16px;height:16px;stroke-width:2}@media (max-width: 768px){.app-header{padding:10px 16px;gap:8px}.app-logo-text{font-size:16px}.app-nav-btn{padding:6px 14px;font-size:13px}.app-action-btn{padding:6px 12px;font-size:13px;gap:6px}.app-user-name{font-size:14px}.app-user-badge{font-size:10px;padding:2px 8px}}@media (max-width: 700px){.app-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:12px 16px}.app-header-left{order:1}.app-header-right{order:2}.app-header-nav{order:3;width:100%;justify-content:center;padding-top:8px;border-top:1px solid rgba(255,255,255,.15)}.app-header-logo-right{display:none}}@media (max-width: 480px){.app-header{padding:10px 12px;gap:10px}.app-header-nav{gap:6px}.app-nav-btn{padding:5px 10px;font-size:12px}.app-logo-icon{width:26px;height:26px}.app-logo-text{font-size:14px}.app-action-btn .app-btn-text{display:none}.app-action-btn{padding:8px;border-radius:8px;gap:0}.app-leaderboard-btn .app-btn-icon{font-size:18px}.app-user-badge{display:none}}@media (max-width: 360px){.app-nav-btn{padding:4px 8px;font-size:11px}.app-header-actions{gap:8px}.app-action-btn{width:36px;height:36px;justify-content:center}}.hamburger-btn{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:32px;height:32px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001;position:relative}.hamburger-btn span{width:24px;height:3px;background:#faf7f2;border-radius:2px;transition:all .3s ease;position:relative}.hamburger-btn.open{gap:0}.hamburger-btn.open span:nth-child(1){transform:rotate(45deg);position:absolute}.hamburger-btn.open span:nth-child(2){opacity:0}.hamburger-btn.open span:nth-child(3){transform:rotate(-45deg);position:absolute}.mobile-menu-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:1000;animation:fadeIn .2s ease}.mobile-menu{position:fixed;top:0;right:0;width:280px;max-width:80vw;height:100vh;background:#2f5d3a;box-shadow:-4px 0 20px #0000004d;display:flex;flex-direction:column;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-menu-header{padding:20px;border-bottom:2px solid #264a2e}.mobile-menu-header h3{margin:0;color:#faf7f2;font-size:18px;font-weight:700}.mobile-menu-items{display:flex;flex-direction:column;padding:12px;gap:8px}.mobile-menu-item{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#faf7f21a;border:1px solid rgba(250,247,242,.2);border-radius:8px;color:#faf7f2;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:left}.mobile-menu-item:hover{background:#faf7f233;border-color:#faf7f266;transform:translate(-4px)}.mobile-menu-icon{font-size:20px;display:flex;align-items:center;justify-content:center;min-width:24px}.mobile-menu-item.logout-item{margin-top:auto;background:#e74c3c33;border-color:#e74c3c66}.mobile-menu-item.logout-item:hover{background:#e74c3c4d;border-color:#e74c3c99}@media (max-width: 768px){.hamburger-btn{display:flex;order:3;margin-left:auto}.mobile-menu-overlay{display:block}.app-header-nav,.app-header-right .app-header-actions{display:none}.app-header{grid-template-columns:1fr auto}}.leaderboard-container{min-height:100vh;background:linear-gradient(to bottom,#8b6f47,#6b4f2a);color:#3a3126;padding:20px;overflow-y:auto}.leaderboard-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;position:relative;background:#faf7f2;padding:30px;border-radius:12px;border:2px solid #d4c5b0;box-shadow:0 3px 10px #00000026}.leaderboard-header h1{flex:1;text-align:center;font-size:32px;font-weight:700;margin:0;color:#6b4f2a}.back-btn-leaderboard{position:absolute;left:10px}.lb-header-actions{display:flex;gap:8px}.lb-refresh-btn{padding:10px 16px;background:#c9a86a;border:none;color:#faf7f2;font-size:18px;border-radius:8px;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px #00000026}.lb-refresh-btn:hover{background:#b5925c;transform:rotate(90deg)}.leaderboard-filters{display:flex;gap:12px;justify-content:center;margin-bottom:24px;flex-wrap:wrap}.filter-btn{padding:10px 20px;background:#f4efe6;border:2px solid #d4c5b0;color:#5a4632;font-size:15px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .15s ease}.filter-btn:hover{background:#e8dfd0;border-color:#c9a86a}.filter-btn.active{background:#2f5d3a;border-color:#2f5d3a;color:#faf7f2;box-shadow:0 2px 6px #00000026}.leaderboard-content{max-width:1200px;margin:0 auto}.leaderboard-table{background:#faf7f2;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0003;border:2px solid #d4c5b0}.table-header{display:grid;grid-template-columns:60px 1fr 80px 100px 140px 100px;gap:12px;padding:16px 20px;background:#e8dfd0;border-bottom:2px solid #d4c5b0;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:#5a4632}.table-body{max-height:calc(100vh - 280px);overflow-y:auto}.table-row{display:grid;grid-template-columns:60px 1fr 80px 100px 140px 100px;gap:12px;padding:16px 20px;border-bottom:1px solid #e8dfd0;transition:all .15s ease;align-items:center;color:#3a3126}.table-row:hover{background:#f4efe6}.table-row.current-user{background:#2f5d3a1f;border-left:4px solid #2f5d3a;box-shadow:inset 0 0 20px #2f5d3a14}.table-row.top-1{background:linear-gradient(90deg,rgba(201,168,106,.2),transparent)}.table-row.top-2{background:linear-gradient(90deg,rgba(192,192,192,.2),transparent)}.table-row.top-3{background:linear-gradient(90deg,rgba(205,127,50,.2),transparent)}.col-rank{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}.rank-medal{font-size:28px}.col-player{display:flex;align-items:center;gap:10px}.player-name{font-weight:600;font-size:16px}.you-badge{padding:4px 8px;background:#2f5d3a;color:#faf7f2;font-size:11px;font-weight:700;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.col-level{display:flex;justify-content:center}.level-badge{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;box-shadow:0 2px 6px #0003}.level-badge.level-1{background:#6b5a45;color:#faf7f2}.level-badge.level-2{background:#7d6851;color:#faf7f2}.level-badge.level-3{background:#8b7355;color:#faf7f2}.level-badge.level-4{background:#9a8466;color:#faf7f2}.level-badge.level-5{background:#a89374;color:#3a3126}.level-badge.level-6{background:#b5a17f;color:#3a3126}.level-badge.level-7{background:#c2ae8a;color:#3a3126}.level-badge.level-8{background:#c9a86a;color:#3a3126}.level-badge.level-9{background:#d1b577;color:#3a3126}.level-badge.level-10{background:linear-gradient(135deg,#f5b342,#d98c00);color:#3a3126}.col-elo{text-align:center}.elo-value{font-size:18px;font-weight:700;color:#2f5d3a}.col-stats{display:flex;align-items:center;justify-content:center;gap:6px;font-size:15px}.stat-wins{color:#2f5d3a;font-weight:600}.stat-separator{color:#8b7355}.stat-losses{color:#c45454;font-weight:600}.col-winrate{text-align:center}.winrate{font-size:16px;font-weight:700}.winrate.positive{color:#2f5d3a}.winrate.negative{color:#c45454}.lb-error-banner{background:#c45454;border:none;color:#faf7f2;padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 6px #00000026}.lb-error-banner button{background:none;border:none;color:#faf7f2;font-size:18px;cursor:pointer;padding:4px 8px}.lb-loading-state,.lb-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:#faf7f2;border-radius:12px;border:2px solid #d4c5b0;color:#3a3126}.lb-loading-spinner{border:4px solid #e8dfd0;border-top:4px solid #c9a86a;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin-bottom:20px}.lb-empty-icon{font-size:64px;margin-bottom:16px;opacity:.7}.lb-empty-state h3{font-size:24px;margin:8px 0;color:#6b4f2a}.lb-empty-state p{color:#5a4632;font-size:16px}.lb-guest-notice{margin-top:24px;padding:16px 20px;background:#fef3cd;border:2px solid #f5e5a0;border-radius:8px;text-align:center}.lb-guest-notice p{margin:0;font-size:15px;color:#6b4f2a}@media (max-width: 768px){.leaderboard-header h1{font-size:24px}.table-header,.table-row{grid-template-columns:50px 1fr 60px 80px;gap:8px;padding:12px 16px;font-size:13px}.col-stats,.col-winrate{display:none}.level-badge{width:32px;height:32px;font-size:14px}.elo-value{font-size:15px}.player-name{font-size:14px}}.app-footer{background:#2f5d3a;color:#faf7f2;padding:32px 20px 20px;border-top:2px solid #264a2e;font-size:14px;font-family:system-ui,-apple-system,sans-serif;box-shadow:0 -2px 8px #00000026}.footer-content{max-width:1200px;margin:0 auto 24px;display:flex;justify-content:space-between;gap:32px;align-items:center}.footer-icons{display:flex;gap:20px;align-items:center}.footer-icon{width:48px;height:48px;object-fit:contain;transition:transform .15s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.footer-icon:hover{transform:scale(1.1)}.footer-section:first-child,.footer-section:first-child h4,.footer-section:first-child p{text-align:left}.footer-section h4{color:#fff;font-size:16px;font-weight:700;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px;text-align:right;text-shadow:0 2px 6px rgba(0,0,0,.3)}.footer-section p{margin:0;line-height:1.6;color:#fffc;text-align:right}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.footer-links li a,.footer-link-btn{color:#faf7f2d9;text-decoration:none;transition:all .15s ease;background:none;border:none;padding:0;font-size:14px;cursor:pointer;text-align:right;font-family:inherit;font-weight:500}.footer-links li a:hover,.footer-link-btn:hover{color:#c9a86a;transform:translate(-2px)}.footer-socials{display:flex;gap:12px;margin-top:12px}.footer-socials a{font-size:24px;transition:all .15s ease;opacity:.85;text-decoration:none}.footer-socials a:hover{transform:scale(1.1);opacity:1}.footer-bottom{max-width:1200px;margin:0 auto;padding-top:20px;border-top:1px solid rgba(250,247,242,.2);text-align:center;color:#faf7f2b3;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.footer-bottom p{margin:0;font-size:13px;font-weight:400}.footer-version{font-family:Courier New,monospace;color:#faf7f299;background:#0003;padding:2px 8px;border-radius:4px;font-size:12px}@media (max-width: 768px){.app-footer{padding:24px 16px 16px}.footer-content{flex-direction:column;gap:24px;align-items:center;text-align:center}.footer-section:first-child h4,.footer-section:first-child p,.footer-section h4,.footer-section p{text-align:center}.footer-icons{gap:16px}.footer-icon{width:40px;height:40px}.footer-links{align-items:center}.footer-link-btn{text-align:center}.footer-socials{justify-content:center}.footer-bottom{flex-direction:column;gap:8px}}@media (max-width: 480px){.footer-icon{width:36px;height:36px}.footer-section h4{font-size:14px}.footer-links li a,.footer-link-btn{font-size:13px}.footer-socials a{font-size:20px}}.bug-modal-overlay{position:fixed;inset:0;background:#6b4f2abf;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}.bug-modal-content{background:#faf7f2;border-radius:12px;padding:28px 32px;box-shadow:0 10px 40px #00000040;border:2px solid #d4c5b0;max-width:550px;width:90%;max-height:90vh;overflow-y:auto;color:#3a3126}.bug-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e8dfd0}.bug-modal-header h2{margin:0;font-size:24px;font-weight:700;color:#6b4f2a}.bug-close-btn{background:#8b7355;border:none;color:#faf7f2;width:32px;height:32px;border-radius:6px;font-size:20px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000026}.bug-close-btn:hover{background:#6b5a45;transform:rotate(90deg)}.bug-form{display:flex;flex-direction:column;gap:20px}.form-group-bug{display:flex;flex-direction:column;gap:8px}.form-group-bug label{font-size:14px;font-weight:600;color:#6b4f2a;letter-spacing:.3px}.form-group-bug input,.form-group-bug textarea,.form-group-bug select{padding:12px 16px;background:#fff;border:2px solid #d4c5b0;border-radius:8px;color:#3a3126;font-size:15px;font-family:inherit;transition:all .15s ease}.form-group-bug input:focus,.form-group-bug textarea:focus,.form-group-bug select:focus{outline:none;border-color:#c9a86a;box-shadow:0 0 0 3px #c9a86a26}.form-group-bug textarea{resize:vertical;min-height:80px}.form-group-bug select{cursor:pointer}.form-hint{font-size:12px;color:#8b7355;margin:0}.bug-form-actions{display:flex;gap:12px;margin-top:8px}.bug-cancel-btn,.bug-submit-btn{flex:1;padding:12px 20px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px #00000026}.bug-cancel-btn{background:#8b7355;color:#faf7f2}.bug-cancel-btn:hover:not(:disabled){background:#6b5a45;transform:translateY(-1px);box-shadow:0 3px 8px #0003}.bug-submit-btn{background:#2f5d3a;color:#faf7f2}.bug-submit-btn:hover:not(:disabled){background:#3a7348;transform:translateY(-1px);box-shadow:0 3px 8px #2f5d3a4d}.bug-cancel-btn:disabled,.bug-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 600px){.bug-modal-content{padding:20px 24px;width:95%}.bug-modal-header h2{font-size:20px}.bug-form-actions{flex-direction:column}.bug-cancel-btn,.bug-submit-btn{width:100%}}.modal-overlay{position:fixed;inset:0;background:#6b4f2abf;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#faf7f2;border-radius:16px;max-width:600px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease;border:2px solid #d4c5b0}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:2px solid #e8dfd0;position:sticky;top:0;background:#faf7f2;z-index:1}.modal-header h2{margin:0;color:#6b4f2a;font-size:1.75rem;font-weight:700}.modal-close-btn{background:#8b7355;border:none;color:#faf7f2;font-size:24px;cursor:pointer;padding:4px 8px;border-radius:8px;transition:all .2s;line-height:1;box-shadow:0 2px 6px #00000026}.modal-close-btn:hover{background:#6b5a45;transform:rotate(90deg)}.modal-body{padding:28px;color:#3a3126;line-height:1.7}.modal-body h3{color:#6b4f2a;font-size:1.25rem;font-weight:600;margin-top:24px;margin-bottom:12px}.modal-body p{margin:12px 0;font-size:.95rem;color:#3a3126}.modal-body ul{margin:12px 0;padding-left:24px}.modal-body li{margin:8px 0;font-size:.95rem;color:#3a3126}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#e8dfd0;border-radius:0 16px 16px 0}.modal-content::-webkit-scrollbar-thumb{background:#d4c5b0;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#c4b5a0}@media (max-width: 768px){.modal-content{max-width:95%;max-height:90vh}.modal-header{padding:20px}.modal-header h2{font-size:1.5rem}.modal-body{padding:20px}}:root{--user-header-height: 72px}#root{margin:0;padding:0;min-height:100svh}.App{margin:0;padding:0;min-height:100svh;font-family:Inter,-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,#ff8c42);background-size:200% 200%;animation:gradientShift 15s ease infinite;color:#fff;text-align:center;padding:20px;position:relative;overflow:hidden}.connection-error:before{content:"";position:absolute;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px);background-size:50px 50px;animation:particleFloat 20s linear infinite;opacity:.3}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes particleFloat{0%{transform:translate(0)}to{transform:translate(-50px,-50px)}}.connection-error h2{font-size:2.5em;margin:0 0 20px;font-weight:800;text-shadow:0 4px 12px rgba(0,0,0,.3);position:relative;z-index:1;background:linear-gradient(135deg,#fff,#f0f0f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.connection-error p{font-size:1.2em;margin:10px 0;opacity:.95;position:relative;z-index:1;font-weight:500;text-shadow:0 2px 8px rgba(0,0,0,.2)}.connection-error button{margin-top:30px;padding:16px 32px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border:2px solid rgba(255,255,255,.4);border-radius:12px;font-size:1.1em;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;z-index:1;box-shadow:0 8px 24px #0003}.connection-error button:hover{background:#ffffff4d;transform:translateY(-3px);box-shadow:0 12px 32px #0000004d;border-color:#fff9}.connection-error button:active{transform:translateY(-1px)}.loading-screen{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e293b,#334155,#475569);background-size:200% 200%;animation:gradientShift 15s ease infinite;color:#fff;text-align:center;padding:20px;position:relative;overflow:hidden}.loading-screen:before{content:"";position:absolute;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px);background-size:50px 50px;animation:particleFloat 20s linear infinite;opacity:.3}.loading-screen h2{font-size:2em;margin:20px 0 10px;font-weight:800;text-shadow:0 4px 12px rgba(0,0,0,.3);position:relative;z-index:1;background:linear-gradient(135deg,#fff,#f0f0f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.loading-screen p{font-size:1.1em;opacity:.9;position:relative;z-index:1;font-weight:500;text-shadow:0 2px 8px rgba(0,0,0,.2)}.loading-spinner{width:70px;height:70px;border:5px solid rgba(255,255,255,.2);border-top:5px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px;position:relative;z-index:1;box-shadow:0 8px 24px #0003}@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}.connection-error button{padding:14px 28px;font-size:1em}.loading-spinner{width:60px;height:60px}}@media (max-width: 480px){.connection-error h2,.loading-screen h2{font-size:1.5em}.connection-error p,.loading-screen p{font-size:.95em}.connection-error button{padding:12px 24px;font-size:.95em}.loading-spinner{width:50px;height:50px;border-width:4px}}
