.call-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000073;z-index:9999;transition:all .3s ease}.call-overlay.maximized{background:#000000f2}.call-card{width:min(420px,92vw);background:#0d1117;color:#f5f5f5;border-radius:16px;padding:16px;box-shadow:0 18px 40px #00000059;border:1px solid rgba(255,255,255,.08);transition:all .3s ease}.call-overlay.maximized .call-card{width:95vw;max-width:1400px;height:90vh;display:flex;flex-direction:column}.call-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.call-peer{display:flex;align-items:center;gap:12px}.call-peer img,.call-avatar{width:48px;height:48px;border-radius:50%;background:#1f2933;display:grid;place-items:center;font-weight:700;font-size:1.2rem;color:#f5f5f5}.call-title{font-weight:700;font-size:1.05rem}.call-subtitle{color:#9fb3c8;font-size:.9rem}.call-body{display:flex;flex-direction:column;gap:12px}.call-videos{display:grid;gap:8px;position:relative;flex:1}.video-container{position:relative;width:100%;height:100%;border-radius:12px;overflow:hidden;background:#000}.call-overlay:not(.maximized) .video-container{height:240px}.call-overlay.maximized .video-container{height:100%;min-height:500px}.call-video{border-radius:12px;background:#111827;border:1px solid rgba(255,255,255,.06);object-fit:cover}.call-video.main{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;transition:transform .2s ease}.call-video.main:hover{transform:scale(1.01)}.call-video.pip{position:absolute;bottom:12px;right:12px;width:160px;height:120px;border:2px solid rgba(255,255,255,.2);border-radius:8px;z-index:10;cursor:pointer;transition:all .2s ease}.call-video.pip:hover{transform:scale(1.05);border-color:#3498db99;box-shadow:0 4px 12px #3498db4d}.call-overlay.maximized .call-video.pip{width:240px;height:180px;bottom:20px;right:20px}.video-controls{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:10;opacity:0;transition:opacity .3s ease}.video-container:hover .video-controls{opacity:1}.video-control-btn{width:40px;height:40px;border-radius:50%;border:none;background:#0009;color:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.video-control-btn:hover{background:#3498dbcc;transform:scale(1.1)}.call-video.local{max-height:160px;object-fit:cover}.call-video.remote{max-height:240px;object-fit:cover}.call-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.call-actions-inline{display:flex;gap:8px;margin-top:6px}.call-accept,.call-reject,.call-ignore,.call-end,.call-upgrade{border:none;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;color:#0d1117}.call-accept{background:#2ecc71}.call-reject{background:#e74c3c;color:#fff}.call-ignore{background:#95a5a6}.call-end{background:#c0392b;color:#fff;padding:8px 12px}.call-upgrade{background:#3498db;color:#fff}.call-upgrade-request{background:#3498db1f;border:1px solid rgba(52,152,219,.35);padding:10px;border-radius:10px;color:#dceaf7}.call-reason{color:#9fb3c8;font-size:.9rem}.call-visualizers{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0}.audio-visualizer{flex:1;min-width:180px;background:#0f172a99;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}.visualizer-label{font-size:.85rem;color:#9fb3c8;font-weight:600}.visualizer-canvas{width:100%;height:60px;border-radius:8px;background:#0000004d}.visualizer-indicator{font-size:.8rem;color:#2ecc71;font-weight:600;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 600px){.call-card{padding:12px}.call-peer img,.call-avatar{width:40px;height:40px}.call-visualizers{flex-direction:column}.audio-visualizer{min-width:100%}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:url(/SriLankanFriends.bmp);background-size:cover;background-position:center;background-repeat:no-repeat;padding:20px;gap:20px}.ad-side{display:flex;flex-direction:column;gap:20px;flex-shrink:0}.login-container{background:#fff;padding:60px 40px;border-radius:10px;box-shadow:0 10px 40px #0003;text-align:center;max-width:450px;width:100%;margin:0 auto}.login-logo{width:280px;height:280px;margin:0 auto 30px;display:block;object-fit:contain;object-position:center}.login-container h1{margin:0 0 10px;color:#333;font-size:2.5em}.login-container p{margin:0 0 30px;color:#666}.auth-tabs{display:flex;gap:10px;margin-bottom:30px}.auth-tabs button{flex:1;padding:12px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s}.auth-tabs button.active{background:#667eea;color:#fff;border-color:#667eea}.auth-form{display:flex;flex-direction:column;gap:15px}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:1em}.form-group input:focus{outline:none;border-color:#667eea}.error-message{padding:12px;background:#fee;color:#c33;border-radius:4px;font-size:.9em}.auth-btn{padding:15px 30px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1em;font-weight:500;transition:background .2s}.auth-btn:hover:not(:disabled){background:#5568d3}.auth-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 1200px){.ad-side{display:none}}@media (max-width: 768px){.login-page{padding:15px}.login-container{padding:40px 25px;max-width:100%}.login-container h1{font-size:2em}}@media (max-width: 480px){.login-page{padding:10px}.login-container{padding:30px 20px}.login-container h1{font-size:1.8em}.login-container p{font-size:.9em}.auth-tabs button{padding:10px;font-size:.9em}.form-group input{padding:10px;font-size:.95em}.auth-btn{padding:12px 24px;font-size:.95em}}@media (max-width: 360px){.login-container{padding:25px 15px}.login-container h1{font-size:1.5em}.auth-tabs{gap:5px}.auth-tabs button{padding:8px;font-size:.85em}}.profile-page{max-width:600px;margin:0 auto;padding:20px}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.profile-photo{width:150px;height:150px;border-radius:50%;object-fit:cover;margin-bottom:20px}.profile-form .form-group{margin-bottom:15px}.profile-form label{display:block;margin-bottom:5px;font-weight:700}.profile-form input,.profile-form textarea{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px}.form-actions{display:flex;gap:10px;margin-top:20px}.form-actions button{flex:1;padding:10px;border:none;border-radius:4px;cursor:pointer}.form-actions button[type=submit]{background:#007bff;color:#fff}.form-actions button[type=button]{background:#6c757d;color:#fff}.edit-btn,.logout-btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;background:#6c63ff;color:#fff;transition:background-color .3s ease}.edit-btn:hover,.logout-btn:hover{background:#5753d9}.password-btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;background:#28a745;color:#fff;margin-left:10px}.profile-actions{display:flex;gap:10px;margin-top:20px}.password-change-section{margin-top:30px;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.password-change-section h2{margin-top:0;margin-bottom:20px;color:#333}.password-form .form-group small{display:block;margin-top:5px;color:#666;font-size:.85em}.field-note{display:block;margin-top:5px;color:#dc3545;font-size:.85em;font-style:italic}.profile-info p{margin:10px 0}.membership-badge{padding:20px;border-radius:12px;color:#fff;font-size:1.2em;margin-bottom:20px!important;box-shadow:0 4px 12px #0003;position:relative;overflow:hidden;border:2px solid rgba(255,255,255,.3)}.membership-badge:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.2) 0%,transparent 70%);animation:shimmer 3s infinite}@keyframes shimmer{0%,to{transform:translate(-25%,-25%)}50%{transform:translate(25%,25%)}}.membership-badge.platinum{background:linear-gradient(135deg,#a8edea,#00d4ff,#0891b2);box-shadow:0 6px 20px #0891b280,0 0 30px #00d4ff66;text-shadow:0 2px 4px rgba(0,0,0,.3)}.membership-badge.gold{background:linear-gradient(135deg,gold,#ffb700,#ff8c00);box-shadow:0 6px 20px #ffa50080,0 0 30px #ffd70066;text-shadow:0 2px 4px rgba(0,0,0,.3)}.membership-badge.silver{background:linear-gradient(135deg,#e8eaf6,#b0bec5,#78909c);box-shadow:0 6px 20px #78909c80,0 0 30px #b0bec566;text-shadow:0 2px 4px rgba(0,0,0,.2)}.membership-badge.standard{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 5px 15px #667eea66;text-shadow:0 2px 4px rgba(0,0,0,.2)}.membership-level{display:inline-block;margin-left:15px;padding:8px 20px;border-radius:25px;font-weight:800;font-size:1.05em;letter-spacing:.5px;text-transform:uppercase;box-shadow:0 2px 8px #0000004d;position:relative;z-index:1}.membership-level.platinum{background:linear-gradient(135deg,#fff,#e0f7ff);color:#0c4a6e;border:2px solid #00d4ff}.membership-level.gold{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#854d0e;border:2px solid #ffd700}.membership-level.silver{background:linear-gradient(135deg,#f9fafb,#e5e7eb);color:#374151;border:2px solid #b0bec5}.membership-level.standard{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#4b5563;border:2px solid #9ca3af}.view-user-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.view-user-header{max-width:1200px;margin:0 auto 20px}.back-button{background:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:1em;cursor:pointer;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.back-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.view-user-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:350px 1fr;gap:20px}@media (max-width: 968px){.view-user-container{grid-template-columns:1fr}}.user-profile-card,.user-details-card,.profile-card{background:#fff;border-radius:16px;padding:30px;box-shadow:0 8px 24px #0000001f}.profile-content{max-width:1200px;margin:0 auto;padding:20px}.user-avatar-section{text-align:center}.user-avatar-large{width:180px;height:180px;border-radius:50%;object-fit:cover;border:5px solid #f0f0f0;box-shadow:0 4px 12px #0000001a;margin-bottom:20px}.user-avatar-placeholder{width:180px;height:180px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:4em;font-weight:700;margin:0 auto 20px;border:5px solid #f0f0f0;box-shadow:0 4px 12px #0000001a}.user-display-name{font-size:2em;margin:0 0 5px;color:#2c3e50}.user-username{color:#7f8c8d;font-size:1.1em;margin:0 0 15px}.user-membership-badge{display:inline-block;padding:8px 16px;border-radius:20px;font-weight:600;font-size:.9em;margin-bottom:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}.start-chat-button{width:100%;padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1.1em;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.start-chat-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.profile-button-group{display:flex;gap:10px;width:100%;margin-top:15px}.profile-button-group .start-chat-button{flex:1}.card-title{font-size:1.5em;color:#2c3e50;margin:0 0 25px;padding-bottom:15px;border-bottom:2px solid #f0f0f0}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.detail-item{display:flex;gap:15px;padding:15px;background:#f8f9fa;border-radius:12px;transition:all .3s ease}.detail-item:hover{background:#e9ecef;transform:translate(5px)}.detail-icon{font-size:2em;line-height:1}.detail-content{display:flex;flex-direction:column;gap:5px;flex:1}.detail-label{font-size:.85em;color:#7f8c8d;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:1.1em;color:#2c3e50;font-weight:500}.interests-section,.about-section{margin-top:25px;padding-top:25px;border-top:2px solid #f0f0f0}.section-title{font-size:1.2em;color:#2c3e50;margin:0 0 15px;font-weight:600}.interests-text,.about-text{color:#555;line-height:1.6;font-size:1.05em;margin:0;padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea}.view-user-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.edit-user-button{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1em;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 8px #667eea4d}.edit-user-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #667eea66}.cancel-btn{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1em;transition:background .2s}.save-btn{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1.1em;font-weight:600;margin-top:20px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 8px #667eea4d}.save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #667eea66}.save-btn:disabled{opacity:.6;cursor:not-allowed}.checkbox-group{display:flex;align-items:center}.checkbox-group label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:400}.checkbox-group input[type=checkbox]{width:auto;cursor:pointer}.checkbox-group span{font-weight:700}.header-actions{display:flex;gap:10px}.profile-form select{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.photo-upload{margin-top:15px;padding:15px;background:#f8f9fa;border-radius:8px;border:1px dashed #ddd}.photo-upload label{display:block;margin-bottom:8px;font-weight:700;color:#333}.photo-upload input[type=file]{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.users-page{padding:20px;max-width:1400px;margin:0 auto}.users-list{display:flex;flex-direction:column;gap:30px;margin-top:20px}.user-category{background:#f8f9fa;border-radius:12px;padding:20px}.category-header{margin:0 0 20px;padding-bottom:10px;border-bottom:2px solid #dee2e6;font-size:1.4em}.admin-header{color:#dc3545;border-bottom-color:#dc3545}.online-header{color:#28a745;border-bottom-color:#28a745}.offline-header{color:#6c757d;border-bottom-color:#6c757d}.membership-group{margin-bottom:25px}.membership-group:last-child{margin-bottom:0}.membership-header{margin:0 0 15px;padding:10px 15px;color:#fff;font-size:.85em;font-weight:700;text-transform:uppercase;letter-spacing:1px;border-radius:6px;box-shadow:0 2px 4px #00000026;position:relative;overflow:hidden}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;width:100%}.user-card{border:1px solid #ddd;border-radius:8px;padding:15px;display:flex;gap:15px;align-items:center;background:#fff;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s;min-width:0;width:100%}.user-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.user-avatar{width:60px;height:60px;border-radius:50%;object-fit:cover}.user-info{flex:1}.user-info h3{margin:0 0 5px}.user-info p{margin:0 0 5px;color:#666}.admin-badge{display:inline-block;background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;padding:3px 8px;border-radius:12px;font-size:.75em;font-weight:700;margin-bottom:5px;box-shadow:0 2px 4px #dc35454d}.status{font-size:.9em;font-weight:600}.status.online{color:#28a745}.status.offline{color:#6c757d}.user-actions{display:flex;flex-direction:column;gap:5px}.user-actions button{padding:8px 15px;border:1px solid #ddd;border-radius:4px;cursor:pointer;background:#fff}.user-actions button.chat-btn{background:#007bff;color:#fff;border-color:#007bff}.rooms-page{padding:20px;max-width:1200px;margin:0 auto}.rooms-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.create-btn{padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer}.create-room-form{display:flex;gap:10px;margin-bottom:20px}.create-room-form input{flex:1;padding:10px;border:1px solid #ddd;border-radius:4px}.create-room-form button{padding:10px 30px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.rooms-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.room-card{border:1px solid #ddd;border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:15px}.room-image{width:100%;height:150px;overflow:hidden;border-radius:4px;background:#f0f0f0}.room-image img{width:100%;height:100%;object-fit:cover}.room-info h3{margin:0 0 10px}.general-badge{background:#ffc107;color:#000;padding:3px 10px;border-radius:12px;font-size:.8em;margin-left:10px}.room-date{color:#666;font-size:.9em;margin:5px 0 0}.room-actions{display:flex;gap:10px;justify-content:flex-end}.join-btn{padding:10px 25px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.edit-btn{padding:10px 25px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;cursor:pointer}.edit-btn:hover{opacity:.9}.edit-room-dialog{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-content{background:#fff;padding:30px;border-radius:8px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.dialog-content h2{margin:0 0 20px;color:#333}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#555}.form-group input[type=text]{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-group input[type=file]{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px}.current-image{margin-top:15px;padding:10px;background:#f8f9fa;border-radius:4px}.current-image p{margin:0 0 10px;font-size:14px;color:#666}.current-image img{max-width:100%;height:auto;border-radius:4px;border:1px solid #ddd}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.save-btn{padding:10px 25px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500}.save-btn:hover{opacity:.9}.cancel-btn{padding:10px 25px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer}.cancel-btn:hover{background:#5a6268}.compact-message{padding:4px 12px;margin-bottom:2px;background:#fff;border-radius:6px;display:flex;flex-direction:column;box-shadow:none}.compact-message .message-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.message-sender-inline{font-weight:600;color:#007bff;margin-right:4px;display:flex;align-items:center;gap:2px}.message-content-inline{margin-right:8px;word-break:break-word}.message-time-inline{color:#888;font-size:12px;margin-left:auto;white-space:nowrap;display:flex;align-items:center;gap:4px}.read-receipt{color:#4caf50;font-weight:700;font-size:14px;margin-left:2px}.message-image-inline img{max-height:32px;max-width:48px;margin:0 4px;vertical-align:middle;border-radius:4px;box-shadow:0 1px 4px #00000012}.call-control-row{display:flex;align-items:center;gap:12px;flex-shrink:0}.call-btn{border:none;border-radius:8px;padding:10px 20px;cursor:pointer;color:#fff;font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease;box-shadow:0 2px 4px #0000001a;min-width:110px}.call-btn.audio{background:linear-gradient(135deg,#2ecc71,#27ae60)}.call-btn.video{background:linear-gradient(135deg,#3498db,#2980b9)}.call-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.call-btn:active:not(:disabled){transform:translateY(0)}.call-btn:disabled{opacity:.5;cursor:not-allowed;background:#95a5a6}.call-status-pill{padding:6px 10px;background:#1f2937;color:#e5e7eb;border-radius:999px;font-size:.9em;border:1px solid rgba(255,255,255,.08)}@media (max-width: 900px){.chat-page{flex-direction:column;height:auto}.chat-sidebar{width:100vw;min-width:0;max-width:100vw;border-right:none;border-bottom:1px solid #ddd;flex-direction:row;overflow-x:auto;overflow-y:visible;height:auto}.conversation-list{flex-direction:row;gap:0;overflow-x:auto;overflow-y:visible}.conversation-item{min-width:80px;flex-direction:column;align-items:flex-start;padding:8px 4px;font-size:.95em}.main-chat{width:100vw;min-width:0;max-width:100vw;padding:0 2vw}.online-users-sidebar{display:none}.chat-header{flex-direction:column;align-items:flex-start;gap:8px}.input-row,.input-wrapper{flex-direction:column;width:100%}.message-input{width:100%;min-width:0;font-size:1em}.messages-list{padding:0 2vw}}.chat-page{height:100vh;display:flex;background:#f5f5f5}.chat-sidebar{width:300px;background:#fff;border-right:1px solid #ddd;display:flex;flex-direction:column;overflow-y:auto}.sidebar-header{padding:20px;border-bottom:1px solid #ddd;background:#007bff;color:#fff}.sidebar-header h2{margin:0;font-size:1.5em}.sidebar-section{padding:15px;border-bottom:1px solid #eee}.sidebar-section h3{margin:0 0 10px;font-size:.9em;color:#666;text-transform:uppercase;font-weight:600}.conversation-list{display:flex;flex-direction:column;gap:5px}.conversation-item{display:flex;align-items:center;padding:10px;border-radius:8px;cursor:pointer;transition:background .2s}.conversation-item:hover{background:#f0f0f0}.conversation-item.active{background:#e3f2fd;border-left:3px solid #007bff}.conversation-item.unread{background:linear-gradient(to right,#fff3e0,#fff);border-left:4px solid #ff9800;font-weight:600;animation:pulse 2s ease-in-out infinite}.conversation-item.unread:hover{background:linear-gradient(to right,#ffe0b2,#f0f0f0)}@keyframes pulse{0%,to{box-shadow:0 0 #ff980066}50%{box-shadow:0 0 0 4px #ff980000}}.conversation-item.general-room{border:2px solid #ffd700;background:linear-gradient(to right,#fffbf0,#fff)}.conversation-item.general-room:hover{background:linear-gradient(to right,#fff8e1,#f0f0f0)}.conversation-item.general-room.active{border:2px solid #ffd700;border-left:3px solid #007bff;background:linear-gradient(to right,#fff8e1,#e3f2fd)}.conversation-icon{width:40px;height:40px;border-radius:50%;background:#007bff;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2em;margin-right:12px;flex-shrink:0}.conversation-icon img{width:100%;height:100%;border-radius:50%;object-fit:cover}.conversation-info{flex:1;min-width:0}.conversation-name{font-weight:600;color:#333;display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.general-badge{background:#ffc107;color:#fff;font-size:.7em;padding:2px 6px;border-radius:10px;margin-left:5px;font-weight:600}.user-status{font-size:.85em;margin-top:2px}.user-status.online{color:#28a745}.user-status.offline{color:#999}.membership-group{margin-bottom:15px}.membership-header{padding:10px 15px;color:#fff;font-size:.85em;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;border-radius:6px;box-shadow:0 2px 4px #00000026;position:relative;overflow:hidden}.membership-header:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.membership-header:hover:before{left:100%}.membership-header.platinum{background:linear-gradient(135deg,#a8edea,#00d4ff,#0891b2);box-shadow:0 4px 12px #0891b266,0 0 20px #00d4ff4d;text-shadow:0 1px 3px rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.3)}.membership-header.gold{background:linear-gradient(135deg,gold,#ffb700,#ff8c00);box-shadow:0 4px 12px #ffa50066,0 0 20px #ffd7004d;text-shadow:0 1px 3px rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.3)}.membership-header.silver{background:linear-gradient(135deg,#e8eaf6,#b0bec5,#78909c);box-shadow:0 4px 12px #78909c66,0 0 20px #b0bec54d;text-shadow:0 1px 3px rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.3)}.membership-header.standard{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 3px 8px #667eea4d;text-shadow:0 1px 2px rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.2)}.membership-header.admin{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 4px 12px #dc354566,0 0 20px #dc35454d;text-shadow:0 1px 3px rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.3)}.admin-group{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #eee}.chat-main{flex:1;display:flex;flex-direction:column;background:#f5f5f5}.chat-header{padding:20px;background:#fff;border-bottom:1px solid #ddd;display:flex;align-items:center;justify-content:space-between;gap:20px}.chat-header h2{margin:0;font-size:1.3em;color:#333;flex:1}.no-chat-selected{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#999}.no-chat-selected h2{margin-bottom:10px}.no-chat-selected p{font-size:1.1em}.messages-container{flex:1;overflow-y:auto;padding:20px;background:#f5f5f5}.message{margin-bottom:15px;padding:10px 15px;border-radius:8px;max-width:70%}.message-sender{font-size:.85em;font-weight:600;color:#007bff;margin-bottom:4px;display:flex;align-items:center;gap:6px}.sender-badges{display:inline-flex;gap:4px;align-items:center;font-size:1.1em}.own-message{margin-left:auto;background:#007bff;color:#fff;text-align:right}.other-message{margin-right:auto;background:#fff;border:1px solid #ddd}.message-content{word-wrap:break-word;white-space:pre-wrap}.message-image{margin-top:8px}.message-image img{max-width:300px;max-height:300px;border-radius:8px;cursor:pointer;transition:transform .2s}.message-image img:hover{transform:scale(1.02)}.message-time{font-size:.8em;opacity:.7;margin-top:5px}.typing-indicator{padding:10px;font-style:italic;color:#666}.message-input{display:flex;flex-direction:column;padding:15px;background:#fff;border-top:1px solid #ddd}.language-selector{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem;background:#f5f5f5;border-radius:8px}.language-selector label{font-size:.875rem;font-weight:500;color:#555}.language-selector select{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:6px;font-size:.875rem;background:#fff;cursor:pointer}.language-selector select:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 2px #4285f41a}.reset-lang-btn{padding:.5rem .75rem;background:#4285f4;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.reset-lang-btn:hover{background:#357abd}.english-toggle-btn{padding:.5rem .75rem;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.english-toggle-btn.active{background:#28a745}.english-toggle-btn:hover{background:#5a6268}.english-toggle-btn.active:hover{background:#218838}.image-preview{position:relative;margin-bottom:10px;display:inline-block}.image-preview img{max-width:200px;max-height:150px;border-radius:8px;border:2px solid #007bff}.remove-image{position:absolute;top:-8px;right:-8px;background:#dc3545;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;padding:0}.remove-image:hover{background:#c82333}.input-row{display:flex;gap:10px;align-items:flex-start}.input-wrapper{flex:1;position:relative}.input-wrapper input{width:100%}.transliteration-suggestions{position:absolute;bottom:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:8px 8px 0 0;box-shadow:0 -4px 12px #0000001a;max-height:200px;overflow-y:auto;z-index:1000}.suggestion-item{padding:10px 15px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .2s;display:flex;justify-content:space-between;align-items:center;font-size:1.1em}.suggestion-item.english-option{font-style:italic;color:#666}.suggestion-item:hover,.suggestion-item.selected{background:#e3f2fd}.suggestion-item.selected{background:#2196f3;color:#fff;font-weight:500}.suggestion-item.selected.english-option{color:#fff}.suggestion-item:last-child{border-bottom:none}.suggestion-hint{font-size:.75em;opacity:.7;padding:2px 6px;background:#ffffff4d;border-radius:3px;margin-left:10px}.suggestion-label{font-size:.7em;opacity:.6;padding:2px 6px;background:#0000001a;border-radius:3px;margin-left:10px;font-style:normal}.suggestion-item.selected .suggestion-hint,.suggestion-item.selected .suggestion-label{background:#fff3;opacity:.9}.attach-btn{padding:10px 15px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:18px}.attach-btn:hover{background:#5a6268}.message-input input[type=text]{flex:1;padding:10px;border:1px solid #ddd;border-radius:4px}.message-input button[type=submit]{padding:10px 30px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.message-input button[type=submit]:disabled{background:#6c757d;cursor:not-allowed}.unread-section{background:#fff8e1;border-left:4px solid #ffc107}.unread-section h3{color:#f57c00;font-weight:700}.conversation-item.unread{background:#fff;border-left:3px solid #ffc107}.conversation-item.unread:hover{background:#fffbf0}.conversation-item.unread.active{background:#fff3e0;border-left:3px solid #ff9800}.unread-badge{background:#f44336;color:#fff;padding:2px 8px;border-radius:12px;font-size:.75em;font-weight:700;margin-left:8px}.last-message{font-size:.85em;color:#666;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.create-room-btn{background:#007bff;color:#fff;border:none;border-radius:50%;width:28px;height:28px;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;padding:0;line-height:1}.create-room-btn:hover{background:#0056b3}.create-room-form{animation:slideDown .2s ease-out;width:100%;margin-bottom:10px;display:flex;gap:6px;align-items:center}.create-room-form input[type=text]{flex:1!important;padding:8px 10px!important;border:1px solid #ddd!important;border-radius:4px!important;font-size:13px!important;box-sizing:border-box!important;margin:0!important}.create-room-form button[type=submit]{padding:8px 12px!important;background:#007bff!important;color:#fff!important;border:none!important;border-radius:4px!important;cursor:pointer!important;font-size:16px!important;font-weight:700!important;white-space:nowrap!important;flex-shrink:0!important;min-width:36px!important;display:flex!important;align-items:center!important;justify-content:center!important}.create-room-form button[type=submit]:hover{background:#0056b3!important}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.edit-room-icon{background:none;border:none;cursor:pointer;padding:5px 10px;font-size:18px;opacity:.6;transition:opacity .2s;flex-shrink:0}.edit-room-icon:hover{opacity:1}.conversation-item{position:relative}.edit-room-dialog{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.edit-room-dialog .dialog-content{background:#fff;padding:30px;border-radius:8px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.edit-room-dialog h2{margin:0 0 20px;color:#333}.edit-room-dialog .form-group{margin-bottom:20px}.edit-room-dialog .form-group label{display:block;margin-bottom:8px;font-weight:500;color:#555}.edit-room-dialog .form-group input[type=text]{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.edit-room-dialog .form-group input[type=file]{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px}.edit-room-dialog .current-image{margin-top:15px;padding:10px;background:#f8f9fa;border-radius:4px}.edit-room-dialog .current-image p{margin:0 0 10px;font-size:14px;color:#666}.edit-room-dialog .current-image img{max-width:100%;height:auto;border-radius:4px;border:1px solid #ddd}.edit-room-dialog .dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.edit-room-dialog .save-btn{padding:10px 25px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500}.edit-room-dialog .save-btn:hover{opacity:.9}.edit-room-dialog .cancel-btn{padding:10px 25px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer}.edit-room-dialog .cancel-btn:hover{background:#5a6268}.online-users-sidebar{width:280px;background:#fff;border-left:1px solid #ddd;display:flex;flex-direction:column;overflow-y:auto}.online-users-header{padding:20px;border-bottom:1px solid #ddd;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.online-users-header h3{margin:0;font-size:1em;font-weight:600}.online-users-list{padding:10px;overflow-y:auto}.online-user-item{display:flex;align-items:center;padding:10px;border-radius:8px;cursor:pointer;transition:background .2s;margin-bottom:8px;gap:12px}.online-user-item:hover{background:#f0f0f0}.online-user-avatar{position:relative;width:45px;height:45px;flex-shrink:0}.online-user-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.online-user-avatar .avatar-placeholder{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px}.online-indicator{position:absolute;bottom:2px;right:2px;width:12px;height:12px;background:#00d800;border:2px solid white;border-radius:50%}.online-user-info{flex:1;overflow:hidden}.online-user-name{font-weight:600;font-size:14px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.self-badge{font-size:11px;font-weight:500;color:#667eea;font-style:italic}.online-user-fullname{font-size:12px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-online-users{text-align:center;color:#999;padding:40px 20px;font-size:14px}.mention-suggestions{position:absolute;bottom:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 -4px 12px #0000001a;z-index:100;margin-bottom:5px}.mention-item{display:flex;align-items:center;padding:10px;cursor:pointer;gap:10px;transition:background .2s}.mention-item:hover,.mention-item.selected{background:linear-gradient(to right,#f0f0ff,#f5f5ff)}.mention-avatar{width:35px;height:35px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;overflow:hidden}.mention-avatar img{width:100%;height:100%;object-fit:cover}.mention-avatar .avatar-letter{font-size:16px}.mention-online-indicator{position:absolute;bottom:0;right:0;width:10px;height:10px;background:#00d800;border:2px solid white;border-radius:50%}.mention-info{flex:1;overflow:hidden}.mention-username{font-weight:600;color:#667eea;font-size:14px;display:flex;align-items:center;gap:8px}.mention-status{font-size:11px;font-weight:500;padding:2px 8px;border-radius:12px}.mention-status.online{background:#e8f5e9;color:#2e7d32}.mention-status.offline{background:#f5f5f5;color:#757575}.mention-fullname{font-size:12px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-content .mention{background:linear-gradient(135deg,#e3f2fd,#e8eaf6);color:#1976d2;padding:2px 6px;border-radius:4px;font-weight:600;cursor:pointer;transition:all .2s}.message-content .mention:hover{background:linear-gradient(135deg,#bbdefb,#c5cae9);transform:scale(1.05)}.image-lightbox{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:3000;cursor:pointer}.image-lightbox img{max-width:90vw;max-height:90vh;object-fit:contain;cursor:default;box-shadow:0 0 30px #00000080;border-radius:4px}.lightbox-close{position:absolute;top:20px;right:30px;background:none;border:none;color:#fff;font-size:48px;cursor:pointer;width:50px;height:50px;display:flex;align-items:center;justify-content:center;line-height:1;transition:opacity .2s;z-index:3001}.lightbox-close:hover{opacity:.7}.message-image{cursor:pointer;transition:opacity .2s}.message-image:hover{opacity:.9}.suggestions-page{max-width:1200px;margin:0 auto;padding:20px}.suggestions-page h1{color:#333;margin-bottom:20px}.tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid #e0e0e0}.tab{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:16px;color:#666;transition:all .3s ease}.tab:hover{color:#333;background-color:#f5f5f5}.tab.active{color:#1976d2;border-bottom-color:#1976d2;font-weight:600}.error-message{background-color:#ffebee;color:#c62828;padding:12px;border-radius:4px;margin-bottom:20px;border-left:4px solid #c62828}.success-message{background-color:#e8f5e9;color:#2e7d32;padding:12px;border-radius:4px;margin-bottom:20px;border-left:4px solid #2e7d32}.submit-tab p{color:#666;margin-bottom:20px}.submit-tab form{display:flex;flex-direction:column;gap:15px}.submit-tab textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;resize:vertical;min-height:120px}.submit-tab textarea:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a}.char-count{text-align:right;color:#999;font-size:12px;margin-top:-10px}.submit-tab button{align-self:flex-start;padding:12px 32px;background-color:#1976d2;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background-color .3s ease}.submit-tab button:hover:not(:disabled){background-color:#1565c0}.submit-tab button:disabled{background-color:#bdbdbd;cursor:not-allowed}.my-suggestions-tab h2,.all-suggestions-tab h2{color:#333;margin-bottom:20px;font-size:24px}.suggestions-list{display:flex;flex-direction:column;gap:15px}.suggestion-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000000d;transition:box-shadow .3s ease}.suggestion-card:hover{box-shadow:0 4px 8px #0000001a}.suggestion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.suggestion-user{color:#666;font-size:14px;font-weight:500}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-pending{background-color:#fff3e0;color:#e65100}.status-reviewed{background-color:#e3f2fd;color:#1565c0}.status-implemented{background-color:#e8f5e9;color:#2e7d32}.status-rejected{background-color:#ffebee;color:#c62828}.suggestion-content{color:#333;line-height:1.6;margin:12px 0;white-space:pre-wrap;word-wrap:break-word}.suggestion-meta{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}.suggestion-date{color:#999;font-size:12px}.suggestion-actions{margin-top:12px}.suggestion-actions select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;cursor:pointer;background-color:#fff}.suggestion-actions select:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a}@media (max-width: 768px){.suggestions-page{padding:15px}.tabs{flex-direction:column;gap:0}.tab{text-align:left;border-bottom:1px solid #e0e0e0;border-left:3px solid transparent}.tab.active{border-bottom-color:#e0e0e0;border-left-color:#1976d2}.suggestion-header{flex-direction:column;align-items:flex-start;gap:8px}}.omi-page{min-height:100vh;background:linear-gradient(135deg,#1e3c72,#2a5298);padding:20px}.omi-container{max-width:1000px;margin:0 auto;background:#fff;border-radius:12px;padding:30px;box-shadow:0 10px 30px #0000004d}.omi-header{text-align:center;margin-bottom:30px}.omi-header h1{margin:0 0 10px;color:#1e3c72;font-size:2.5em}.omi-header p{color:#666;margin:0}.omi-actions{display:flex;justify-content:center;gap:15px;margin-bottom:30px}.btn-create-game{background:#28a745;color:#fff;border:none;padding:15px 30px;border-radius:8px;font-size:1.1em;font-weight:600;cursor:pointer;transition:all .3s}.btn-create-game:hover:not(:disabled){background:#218838;transform:translateY(-2px);box-shadow:0 5px 15px #28a74566}.btn-create-game:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:20px;text-align:center}.game-rules{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:30px}.game-rules h2{margin:0 0 15px;color:#1e3c72;font-size:1.5em}.game-rules ul{margin:0;padding-left:25px;line-height:1.8}.game-rules li{margin-bottom:8px;color:#444}.active-games{margin-top:30px}.active-games h2{margin:0 0 20px;color:#1e3c72;font-size:1.5em}.games-list{display:flex;flex-direction:column;gap:12px}.game-card{display:flex;justify-content:space-between;align-items:center;background:#f8f9fa;padding:15px 20px;border-radius:8px;border:1px solid #dee2e6;transition:all .2s}.game-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.game-info{display:flex;flex-direction:column;gap:5px}.game-info strong{font-size:1.1em;color:#333}.game-status{font-size:.9em;color:#666;text-transform:capitalize}.player-count{font-size:.9em;color:#28a745;font-weight:500}.btn-join-game{background:#007bff;color:#fff;border:none;padding:10px 25px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-join-game:hover{background:#0056b3}.btn-view-history{background:#6c757d;color:#fff;border:none;padding:15px 30px;border-radius:8px;font-size:1.1em;font-weight:600;cursor:pointer;transition:all .3s}.btn-view-history:hover{background:#5a6268;transform:translateY(-2px);box-shadow:0 5px 15px #6c757d66}.game-history{background:#f8f9fa;padding:20px;border-radius:8px;margin-top:30px;border:2px solid #1e3c72}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.history-header h2{margin:0;color:#1e3c72;font-size:1.5em}.history-header button{background:#dc3545;color:#fff;border:none;padding:8px 15px;border-radius:6px;cursor:pointer;font-weight:600}.history-header button:hover{background:#c82333}.history-list{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow-y:auto}.history-card{background:#fff;padding:15px;border-radius:8px;border:1px solid #dee2e6}.history-winner{font-size:1.2em;font-weight:700;color:#ffc107;margin-bottom:10px}.history-details{display:flex;gap:20px;margin-bottom:10px;color:#666}.history-date{color:#999;font-size:.9em}.history-players{color:#28a745;font-weight:500;margin-top:8px}@media (max-width: 768px){.omi-container{padding:20px}.omi-header h1{font-size:2em}.omi-actions{flex-direction:column}.btn-create-game,.btn-view-history{padding:12px 25px;font-size:1em;width:100%}.game-card{flex-direction:column;align-items:flex-start;gap:15px}.btn-join-game{width:100%}.history-details{flex-direction:column;gap:5px}}.omi-game-page{min-height:100vh;background:linear-gradient(135deg,#0f2027,#203a43,#2c5364);padding:10px;color:#fff;position:relative;overflow-x:hidden}@media (max-width: 768px){.omi-game-page{padding:5px}}.notification-toast{position:fixed;top:20px;right:20px;background:#28a745;color:#fff;padding:15px 25px;border-radius:8px;box-shadow:0 4px 12px #0000004d;font-weight:600;z-index:1000;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.game-header{text-align:center;margin-bottom:15px}.game-header h2{margin:0 0 10px;font-size:2em}@media (max-width: 768px){.game-header h2{font-size:1.5em}}.game-status{font-size:1.1em;margin-bottom:10px;line-height:1.6;font-weight:500}@media (max-width: 768px){.game-status{font-size:.9em}}.trump-indicator{font-size:3em;margin-top:10px;background:#fff;display:inline-block;padding:15px 30px;border-radius:12px;color:#333;font-weight:700;box-shadow:0 4px 8px #0000004d}@media (max-width: 768px){.trump-indicator{font-size:2.5em;padding:12px 25px}}.suit-hearts,.suit-diamonds{color:#f44}.suit-clubs,.suit-spades{color:#333}.waiting-area{max-width:600px;margin:0 auto;background:#ffffff1a;padding:30px;border-radius:12px;text-align:center}.game-info-box{background:#ffc10726;border:2px solid #ffc107;border-radius:10px;padding:20px;margin:20px 0;color:#fff}.game-info-box ul{list-style:none;padding:0}.game-info-box ul li{position:relative;padding:5px 0 5px 20px}.game-info-box ul li:before{content:"▸";position:absolute;left:0;color:#ffc107}.join-link-section{display:flex;gap:10px;margin:20px 0}.join-link-section input{flex:1;padding:12px;border:none;border-radius:6px;font-size:1em}.join-link-section button{padding:12px 24px;background:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600}.btn-join,.btn-start{padding:15px 40px;font-size:1.1em;font-weight:600;border:none;border-radius:8px;cursor:pointer;margin-top:20px}.btn-join{background:#007bff;color:#fff}.btn-start{background:#28a745;color:#fff}.btn-start:hover{background:#218838}.ready-message{background:#28a7454d;border:2px solid #28a745;color:#fff;padding:12px 20px;border-radius:8px;margin:15px 0 10px;font-weight:600;font-size:1.1em;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.players-waiting{margin-top:30px;text-align:left}.players-waiting h4{margin:0 0 15px;text-align:center;font-size:1.3em;color:#ffc107}.player-slot{padding:15px;margin:10px 0;background:#ffffff1a;border-radius:8px;display:flex;justify-content:space-between;align-items:center;border:2px solid transparent;transition:all .3s ease}.player-slot.filled{background:#28a74533;border-color:#28a745}.player-slot.empty{background:#6c757d33;border-color:#6c757d}.player-slot.team-1.filled{border-left:4px solid #007bff}.player-slot.team-2.filled{border-left:4px solid #dc3545}.position-label{font-weight:600;color:#ddd}.player-name{font-size:1.1em;font-weight:600}.waiting-text{color:#999;font-style:italic}.you-badge{background:#ffc107;color:#000;padding:2px 8px;border-radius:4px;font-size:.85em;margin-left:8px;font-weight:700}.trump-selection{max-width:900px;margin:0 auto;text-align:center;background:#ffffff1a;padding:30px;border-radius:12px}.player-positions{display:grid;grid-template-areas:". north ." "west center east" ". south .";grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto auto;gap:20px;max-width:700px;margin:0 auto 30px;padding:20px}.position-card{background:#ffffff26;padding:20px;border-radius:10px;border:3px solid transparent;transition:all .3s ease;min-height:100px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}.position-North{grid-area:north}.position-South{grid-area:south}.position-East{grid-area:east}.position-West{grid-area:west}.position-card.team-1{border-color:#007bff;background:#007bff33}.position-card.team-2{border-color:#dc3545;background:#dc354533}.position-card.selecting-trump{border-color:#ffc107;background:#ffc1074d;box-shadow:0 0 20px #ffc10799;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 20px #ffc10799}50%{box-shadow:0 0 30px #ffc107e6}}.position-card.you{border-width:4px}.position-label{font-size:.9em;color:#aaa;margin-bottom:8px;font-weight:600}.player-name{font-size:1.1em;font-weight:700;color:#fff;margin-bottom:8px}.you-badge{background:#28a745;color:#fff;padding:3px 10px;border-radius:12px;font-size:.8em;font-weight:700;margin-top:5px}.trump-selector-badge{background:#ffc107;color:#000;padding:5px 12px;border-radius:15px;font-size:.85em;font-weight:700;margin-top:8px;animation:blink 1s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.6}}.team-indicator{font-size:.85em;color:#ddd;margin-top:5px}.suit-buttons{display:flex;gap:15px;justify-content:center;margin-top:20px}.suit-buttons button{padding:20px 30px;font-size:1.5em;border:none;border-radius:8px;cursor:pointer;background:#fff;font-weight:600;transition:transform .2s}.suit-buttons button:hover{transform:scale(1.1)}.trump-hand-display{display:flex;justify-content:center;gap:10px;margin:30px 0;flex-wrap:wrap}.trump-card{width:100px;height:140px;background:#fff;border:3px solid #333;border-radius:10px;padding:10px;box-shadow:0 4px 12px #0000004d;transition:all .3s ease;position:relative}.trump-card .card-content{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}.trump-card .rank{font-size:2em;font-weight:700}.trump-card .suit{font-size:3em}.trump-card.clickable{cursor:pointer}.trump-card.clickable:hover{transform:translateY(-10px) scale(1.05);box-shadow:0 8px 20px #ffc10799;border-color:#ffc107}.trump-card.clickable:active{transform:translateY(-5px) scale(1.02)}.trump-card.hearts,.trump-card.diamonds{color:#f44}.trump-card.clubs,.trump-card.spades{color:#333}.trump-card .card-value{text-align:center;font-size:.9em}.trump-instruction{text-align:center;font-size:1.1em;color:#ffc107;margin:20px 0 10px}.game-table{max-width:800px;margin:0 auto 30px;min-height:300px;position:relative}.clock-game-table{width:min(850px,95vw);height:min(650px,70vh);margin:20px auto;position:relative;display:flex;align-items:center;justify-content:center;padding-bottom:180px;z-index:10}@media (max-width: 768px){.clock-game-table{width:100vw;height:60vh;margin:10px auto;padding-bottom:140px}}.clock-position{position:absolute;display:flex;flex-direction:column;align-items:center;gap:15px}.position-north{top:30px;left:50%;transform:translate(-50%)}.position-east{top:50%;right:30px;transform:translateY(-50%)}.position-south{bottom:180px;left:50%;transform:translate(-50%)}@media (max-width: 768px){.position-south{bottom:140px}}.position-west{top:50%;left:30px;transform:translateY(-50%)}.player-card{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:15px 20px;border-radius:12px;text-align:center;border:3px solid rgba(255,255,255,.2);min-width:140px;max-width:140px;transition:all .3s ease}@media (max-width: 768px){.player-card{padding:10px 12px;min-width:110px;max-width:130px;font-size:.95em}}.player-card.active-turn{border-color:#ffc107;box-shadow:0 0 25px #ffc10799;background:#ffc10733}.player-card.is-me{background:#ffd70040;border-color:gold}.player-card.team-1{border:3px solid #007bff;background:linear-gradient(135deg,#007bff33,#ffffff26)}.player-card.team-2{border:3px solid #dc3545;background:linear-gradient(135deg,#dc354533,#ffffff26)}.player-name{font-weight:700;font-size:1.2em;margin-bottom:5px;color:#fff;word-break:break-word}@media (max-width: 768px){.player-name{font-size:1em}}.player-team{display:none}.player-tricks{font-size:1.1em;color:#ccc;font-weight:600}.me-badge{background:gold;color:#000;padding:3px 10px;border-radius:12px;font-size:.75em;font-weight:700;margin-top:5px;display:inline-block}.turn-badge{background:#ffc107;color:#000;padding:3px 10px;border-radius:12px;font-size:.75em;font-weight:700;margin-top:5px;display:inline-block;animation:pulse 1s infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.played-card-near-player{position:absolute;z-index:60;animation:cardPlay .3s ease-out}.played-card-near-player .card{width:100px;height:140px;background:#fff;border-radius:10px;box-shadow:0 8px 16px #00000080;display:flex;align-items:center;justify-content:center}.position-north .played-card-near-player{top:calc(100% + 30px);left:calc(50% - 80px);transform:translate(-50%)}.position-east .played-card-near-player{right:calc(100% + 30px);top:calc(50% - 80px);transform:translateY(-50%)}.position-south .played-card-near-player{bottom:calc(100% + 30px);left:calc(50% + 80px);transform:translate(-50%)}.position-west .played-card-near-player{left:calc(100% + 30px);top:calc(50% + 80px);transform:translateY(-50%)}@media (max-width: 768px){.played-card-near-player .card{width:75px;height:105px}.position-north .played-card-near-player{left:calc(50% - 60px);top:calc(100% + 25px)}.position-south .played-card-near-player{left:calc(50% + 60px);bottom:calc(100% + 25px)}.position-east .played-card-near-player{right:calc(100% + 25px);top:calc(50% - 60px)}.position-west .played-card-near-player{left:calc(100% + 25px);top:calc(50% + 60px)}}@keyframes cardPlay{0%{transform:scale(.5) rotate(-10deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.my-hand-bottom{position:fixed;bottom:10px;left:50%;transform:translate(-50%);background:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:15px 20px;border-radius:15px;border:2px solid rgba(255,193,7,.3);box-shadow:0 -5px 30px #00000080;z-index:1000;max-width:95vw;display:flex;flex-direction:column;align-items:center}@media (max-width: 768px){.my-hand-bottom{bottom:5px;padding:10px 15px;max-width:98vw}}.hand-title{margin:0 0 12px;text-align:center;color:#fff;font-size:1em}@media (max-width: 768px){.hand-title{font-size:.85em;margin-bottom:8px}}.cards-container{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:5px;width:100%;scrollbar-width:thin}@media (max-width: 768px){.cards-container{gap:6px;padding:3px}}.cards-container::-webkit-scrollbar{height:8px}.cards-container::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.cards-container::-webkit-scrollbar-thumb{background:#ffc10780;border-radius:3px}.cards-container::-webkit-scrollbar-thumb:hover{background:#ffc107b3}.trick-area{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:20px;padding:40px}.trick-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr;gap:20px;z-index:80;pointer-events:none}.trick-slot{display:flex;align-items:center;justify-content:center}.trick-slot.north{grid-column:2;grid-row:1}.trick-slot.east{grid-column:3;grid-row:2}.trick-slot.south{grid-column:2;grid-row:3}.trick-slot.west{grid-column:1;grid-row:2}@media (max-width: 768px){.trick-center{gap:12px}}.played-card{display:flex;justify-content:center;align-items:center}.player-info{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;max-width:900px;margin:0 auto 30px}.player-box{background:#ffffff1a;padding:15px;border-radius:8px;text-align:center;border:2px solid transparent}.player-box.active{border-color:#ffc107;box-shadow:0 0 20px #ffc10780}.my-hand{max-width:900px;margin:0 auto;background:#ffffff1a;padding:20px;border-radius:12px}.my-hand h3{margin:0 0 20px;text-align:center}.turn-indicator{color:#ffc107;font-weight:700;animation:blink 1s infinite}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:.5}}.cards{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.card{width:85px;height:120px;background:#fff;border-radius:10px;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 8px #0000004d;flex-shrink:0}@media (max-width: 768px){.card{width:70px;height:100px}}.card.clickable:hover{transform:translateY(-15px) scale(1.05);box-shadow:0 10px 20px #ffc10780}@media (max-width: 768px){.card.clickable:hover{transform:translateY(-8px) scale(1.03)}}.card-content{text-align:center;padding:8px}@media (max-width: 768px){.card-content{padding:5px}}.card-content .rank{font-size:4em;font-weight:700;margin-bottom:5px;line-height:1;text-shadow:0 1px 2px rgba(255,255,255,.5)}@media (max-width: 768px){.card-content .rank{font-size:2.5em;margin-bottom:3px}}.card-content .suit{font-size:4.5em;line-height:1;filter:drop-shadow(0 1px 2px rgba(255,255,255,.3))}@media (max-width: 768px){.card-content .suit{font-size:3em}}.suit-hearts .rank,.suit-hearts .suit,.suit-diamonds .rank,.suit-diamonds .suit{color:#f44}.suit-clubs .rank,.suit-clubs .suit,.suit-spades .rank,.suit-spades .suit{color:#333}.card-content.face-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5px}.card-content.face-card .face-symbol{font-size:4.5em;line-height:1;margin:0;opacity:.85}.card-content.face-card .rank{position:absolute;top:3px;left:6px;font-size:2.5em;margin:0;font-weight:900;text-shadow:-1px -1px 0 white,1px -1px 0 white,-1px 1px 0 white,1px 1px 0 white,0 0 3px white;z-index:10}.card-content.face-card .suit-corner{position:absolute;top:40px;left:6px;font-size:2.5em;line-height:1;filter:drop-shadow(-1px -1px 0 white) drop-shadow(1px -1px 0 white) drop-shadow(-1px 1px 0 white) drop-shadow(1px 1px 0 white) drop-shadow(0 0 3px white);z-index:10}.score-board{max-width:600px;margin:30px auto;display:flex;justify-content:space-around;background:#ffffff1a;padding:20px;border-radius:12px}.team-score{font-size:1.3em}.spectator-badge{background:#ffc107;color:#000;padding:5px 15px;border-radius:20px;font-size:.7em;margin-left:15px;font-weight:700}.spectator-message{text-align:center;background:#ffc10733;border:2px solid #ffc107;border-radius:12px;padding:30px;margin:20px auto;max-width:600px}.spectator-message h3{margin:0 0 10px;color:#ffc107}.spectator-message p{margin:0;font-size:1.1em}.round-result-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.round-result-content{background:linear-gradient(135deg,#667eea,#764ba2);padding:40px;border-radius:20px;box-shadow:0 10px 40px #00000080;max-width:500px;text-align:center}.round-result-content pre{font-family:inherit;font-size:1.2em;line-height:1.8;margin:0;white-space:pre-wrap;color:#fff;font-weight:700}.loading,.error{text-align:center;padding:100px 20px;font-size:1.5em}@media (max-width: 768px){.player-info{grid-template-columns:repeat(2,1fr)}.cards{gap:5px}.card{width:60px;height:90px}.card-content .rank{font-size:1.5em}.card-content .suit{font-size:2em}.round-result-content{padding:20px;margin:20px}.round-result-content pre{font-size:1em}}.navigation{width:250px;background:#2c3e50;color:#fff;display:flex;flex-direction:column;padding:20px 0;position:relative;transition:width .2s cubic-bezier(.4,0,.2,1)}.navigation.collapsed{width:48px!important;min-width:48px!important;max-width:48px!important;overflow-x:hidden}.navigation.collapsed .nav-header,.navigation.collapsed .nav-user-info,.navigation.collapsed .donation-section,.navigation.collapsed .nav-links,.navigation.collapsed .nav-content>div:not(.nav-collapse-btn),.navigation.collapsed .bmac-link,.navigation.collapsed .nav-user-details,.navigation.collapsed .nav-fullname,.navigation.collapsed .nav-username{display:none!important}.navigation.collapsed .nav-content{padding:0!important}.nav-collapse-btn{position:absolute;top:10px;right:-18px;z-index:100;background:#2c3e50;color:#fff;border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;box-shadow:0 2px 8px #00000014;font-size:1.2em;display:flex;align-items:center;justify-content:center;transition:right .2s cubic-bezier(.4,0,.2,1)}.navigation.collapsed .nav-collapse-btn{position:fixed;left:8px;top:18px;right:auto;background:#fff;color:#2c3e50;border:1px solid #ddd;z-index:9999}.nav-header{padding:0 20px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.nav-header h2{margin:0;font-size:1.5em;text-align:center}.nav-user-info{display:flex;align-items:center;gap:12px;padding:15px 20px;background:linear-gradient(135deg,#5856d633,#2980b933);border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:10px}.nav-user-avatar{position:relative;width:50px;height:50px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid rgba(255,255,255,.3)}.nav-user-avatar img{width:100%;height:100%;object-fit:cover}.nav-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.5em;font-weight:700}.nav-user-details{flex:1;overflow:hidden}.nav-username{font-weight:700;font-size:1em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-fullname{font-size:.85em;color:#ffffffb3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-links{list-style:none;padding:20px 0}.nav-links li{margin-bottom:5px}.nav-links a{display:flex;align-items:center;gap:10px;padding:12px 20px;color:#fff;text-decoration:none;transition:background .2s}.nav-links a:hover{background:#ffffff1a}.nav-links a.active{background:#fff3;border-left:3px solid #3498db}.nav-links a.logout-link{margin-top:20px;color:#e74c3c}.nav-links a.logout-link:hover{background:#e74c3c1a}.nav-links span{font-size:1.2em}.nav-support{margin-top:auto;padding:15px 20px 5px;border-top:1px solid rgba(255,255,255,.1)}.bmac-link{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(135deg,#ffc10733,#ff98004d);border:1px solid rgba(255,193,7,.4);border-radius:10px;color:#ffe8b5;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.bmac-link:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}.bmac-link span{font-size:1.4em}.bmac-text{display:flex;flex-direction:column;line-height:1.2}.bmac-title{font-weight:700;color:#ffeaa7}.bmac-hint{font-size:.85em;color:#fffc}.chat-ad-top{width:160px;height:90px;background:#fffbe6;border:1px solid #ffe58f;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#7c5c00;font-size:1rem;margin:12px auto;box-shadow:0 1px 4px #0000000a}.ad-side{position:absolute;top:50%;transform:translateY(-50%);z-index:1}.ad-left{left:6vw}.ad-right{right:6vw}.login-page{position:relative}.google-ad-login{width:300px;height:250px;background:#fffbe6;border:1px solid #ffe58f;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#7c5c00;font-size:1rem;margin:24px auto;box-shadow:0 1px 4px #0000000a}.nav-ads-top{display:flex;flex-direction:column;gap:16px;margin:24px 0 0;align-items:center}.nav-content{display:flex;flex-direction:column;height:100%}.google-ad-sidebar{width:160px;height:90px;background:#fffbe6;border:1px solid #ffe58f;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#7c5c00;font-size:1rem;margin:12px auto;box-shadow:0 1px 4px #0000000a}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;height:100vh}.app-content{flex:1;overflow-y:auto}.loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.2em;color:#666}button{cursor:pointer;transition:opacity .2s}button:hover{opacity:.8}button:disabled{opacity:.5;cursor:not-allowed}
