*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;font-family:'Poppins','Inter',sans-serif;color:var(--text-color);display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;background:radial-gradient(120% 80% at 100% 0%,rgba(114,9,183,0.28),transparent 60%),radial-gradient(120% 80% at 0% 100%,rgba(58,12,163,0.22),transparent 60%),var(--bg0,#070611);position:relative}.shooting-star{position:fixed;top:0;left:0;width:80px;height:2px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,0.85),rgba(199,125,255,0.5));border-radius:50%;z-index:0;pointer-events:none;opacity:0;filter:drop-shadow(0 0 4px rgba(199,125,255,0.5));animation:shootingStarChat 10s ease-in-out infinite}@keyframes shootingStarChat{0%{transform:translate(0,0) rotate(-30deg);opacity:0}2%{opacity:0.8}7%{opacity:0;transform:translate(100vw,50vh) rotate(-30deg)}100%{opacity:0}}.shooting-star:nth-child(2){animation-delay:5s;top:20%;left:-10%}.shooting-star:nth-child(3){animation-delay:15s;top:50%;left:-15%;animation-duration:12s}@media (prefers-reduced-motion:reduce){.shooting-star{animation:none!important;display:none}}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:rgba(12,6,24,0.55);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid rgba(170,204,255,0.14);flex-shrink:0;z-index:10}.top-bar h2{display:flex;align-items:center;gap:10px;font-size:1.2rem;font-weight:600;background:linear-gradient(115deg,#fff,var(--accent-light,#c5e4ff));-webkit-background-clip:text;background-clip:text;color:transparent}.back-btn{color:#fff;font-size:15px;text-decoration:none;background:rgba(255,255,255,0.06);border:1px solid rgba(170,204,255,0.16);padding:8px 14px;border-radius:50px;transition:background 0.3s,border-color 0.3s,transform 0.3s;display:flex;align-items:center;gap:6px}.back-btn:hover{background:rgba(114,9,183,0.4);border-color:rgba(170,204,255,0.45);transform:translateY(-1px)}.user-info{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,0.06);border:1px solid rgba(170,204,255,0.16);padding:6px 12px;border-radius:50px;font-size:14px}.user-info span{font-weight:500}.logout-btn{background:none;border:none;color:var(--text-color);cursor:pointer;font-size:14px;padding:4px;opacity:0.7;transition:opacity 0.3s,color 0.3s}.logout-btn:hover{opacity:1;color:var(--error-color,#f87171)}.admin-btn{background:rgba(245,158,11,0.16);border:1px solid rgba(245,158,11,0.45);color:var(--admin-color,#f59e0b);font-weight:600;padding:6px 12px;border-radius:50px;cursor:pointer;font-size:14px;transition:all 0.3s;display:flex;align-items:center;gap:5px}.admin-btn:hover{background:rgba(245,158,11,0.3);transform:translateY(-2px)}.admin-btn.admin-active{background:#10b981;border-color:#10b981;color:white}.chat-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-box{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:15px;scroll-behavior:smooth}.message{position:relative;padding:12px 16px;background:linear-gradient(135deg,var(--primary-color,#7209b7),var(--secondary-color,#3a0ca3));border:1px solid rgba(170,204,255,0.14);border-radius:16px;max-width:80%;word-wrap:break-word;box-shadow:0 6px 18px rgba(8,4,20,0.35),inset 0 1px 0 rgba(255,255,255,0.05);animation:fadeIn 0.3s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.me{align-self:flex-end;background:linear-gradient(135deg,var(--primary-color,#7209b7),var(--secondary-color,#3a0ca3));border-color:rgba(170,204,255,0.3)}.message-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.username{font-weight:700;font-size:14px;display:flex;align-items:center;gap:6px}.gender-icon{width:16px;height:16px;object-fit:contain}.user-id{font-size:10px;display:inline-flex;align-items:center;gap:4px;background:rgba(114,9,183,0.35);border:1px solid rgba(199,125,255,0.35);padding:2px 7px;border-radius:50px;cursor:pointer;transition:background 0.3s,border-color 0.3s,transform 0.15s ease;color:#e9d8ff;font-family:'Poppins',monospace;max-width:130px}.user-id:hover{background:rgba(114,9,183,0.6);border-color:rgba(199,125,255,0.7);transform:translateY(-1px)}.user-id:active{transform:scale(0.96)}.user-id .user-id-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-id .user-id-copy{font-size:9px;opacity:0.85;flex-shrink:0}.chat-toast{position:fixed;bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%) translateY(20px);background:rgba(16,185,129,0.16);border:1px solid rgba(16,185,129,0.5);color:#6ee7b7;padding:0.8rem 1.4rem;border-radius:50px;font-size:0.9rem;font-weight:500;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:0 10px 40px rgba(8,4,20,0.5);z-index:3000;opacity:0;pointer-events:none;transition:opacity 0.35s ease,transform 0.35s ease;display:flex;align-items:center;gap:0.5rem}.chat-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.timestamp{font-size:12px;color:var(--timestamp-color);margin-left:10px}.message-content{font-size:15px;line-height:1.4}.reply-indicator{background:rgba(58,134,255,0.15);border-left:3px solid var(--reply-color);padding:8px 12px;margin-bottom:8px;border-radius:4px;font-size:14px;cursor:pointer;transition:all 0.2s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-indicator:hover{background:rgba(58,134,255,0.25)}.replying-to{color:var(--reply-color);font-weight:600;margin-right:5px}.message-content img{max-width:100%;max-height:300px;border-radius:8px;margin-top:10px;display:block;object-fit:contain}.message-content video{max-width:100%;max-height:300px;border-radius:8px;margin-top:10px;display:block}.message-actions{position:absolute;top:8px;right:8px;display:flex;gap:6px}.action-btn{background:rgba(0,0,0,0.3);border:none;color:white;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity 0.3s;font-size:12px}.message:hover .action-btn{opacity:1}.delete-btn{background:rgba(0,0,0,0.3)}.admin-delete-btn{background:rgba(255,0,0,0.3)}.ban-btn{background:rgba(239,68,68,0.3)}.reply-btn{background:rgba(58,134,255,0.3)}.action-btn svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.input-area{display:flex;flex-direction:column;padding:14px;background:rgba(12,6,24,0.55);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-top:1px solid rgba(170,204,255,0.14);flex-shrink:0}.reply-preview{background:rgba(58,134,255,0.15);border-left:3px solid var(--reply-color);padding:8px 12px;margin-bottom:10px;border-radius:4px;display:flex;justify-content:space-between;align-items:center;animation:slideIn 0.3s ease}.reply-preview-content{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.replying-to-label{color:var(--reply-color);font-weight:600;margin-right:5px}.cancel-reply-btn{background:none;border:none;color:var(--text-color);cursor:pointer;font-size:16px;margin-left:10px;opacity:0.7;transition:opacity 0.3s}.cancel-reply-btn:hover{opacity:1}@keyframes slideIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.input-controls{display:flex;width:100%;margin-bottom:10px}.emoji-picker{display:flex;align-items:center;background:rgba(255,255,255,0.06);border:1px solid rgba(170,204,255,0.16);border-radius:12px;padding:0 10px;margin-right:10px}.emoji-picker span{margin:0 4px;font-size:18px;cursor:pointer;transition:transform 0.2s}.emoji-picker span:hover{transform:scale(1.2)}.file-upload{position:relative;margin-right:10px}.file-upload-btn{background:rgba(255,255,255,0.06);border:1px solid rgba(170,204,255,0.16);border-radius:12px;color:white;padding:10px 12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.3s,border-color 0.3s,transform 0.3s}.file-upload-btn:hover{background:rgba(114,9,183,0.4);border-color:rgba(170,204,255,0.45);transform:translateY(-1px)}.file-upload input{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;cursor:pointer}.chat-input-container{display:flex;flex:1}.chat-input-container input{flex:1;padding:12px 16px;border:1px solid rgba(170,204,255,0.16);border-radius:14px;outline:none;font-size:15px;background:rgba(20,0,40,0.5);color:white;transition:border-color 0.3s,box-shadow 0.3s}.chat-input-container input:focus{border-color:var(--primary-color,#7209b7);box-shadow:0 0 0 3px rgba(199,125,255,0.25),0 0 16px rgba(114,9,183,0.3)}.chat-input-container input::placeholder{color:rgba(255,255,255,0.5)}.send-btn{margin-left:10px;padding:12px 22px;border:1px solid rgba(170,204,255,0.3);background:linear-gradient(135deg,var(--primary-color,#7209b7),var(--secondary-color,#3a0ca3));color:white;border-radius:14px;cursor:pointer;transition:transform 0.3s,box-shadow 0.3s,filter 0.3s;font-weight:600;box-shadow:0 6px 20px rgba(114,9,183,0.4),inset 0 1px 0 rgba(255,255,255,0.12)}.send-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(114,9,183,0.6),inset 0 1px 0 rgba(255,255,255,0.2);filter:brightness(1.08)}.file-preview{display:flex;align-items:center;background:var(--light-bg);padding:8px 12px;border-radius:8px;margin-bottom:10px;animation:slideIn 0.3s ease}.file-preview img{max-width:40px;max-height:40px;border-radius:4px;margin-right:10px}.file-info{flex:1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-actions{display:flex;gap:5px}.file-actions button{background:none;border:none;color:white;cursor:pointer;font-size:16px;opacity:0.7;transition:opacity 0.3s}.file-actions button:hover{opacity:1}.typing-indicator{padding:5px 15px;font-size:13px;color:rgba(255,255,255,0.7);font-style:italic}.loading{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,0.3);border-radius:50%;border-top-color:white;animation:spin 1s ease-in-out infinite;margin-left:5px}@keyframes spin{to{transform:rotate(360deg)}}.admin-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);z-index:100;align-items:center;justify-content:center}.admin-modal-content{background:rgba(15,12,26,0.98);border-radius:20px;padding:30px;width:90%;max-width:400px;box-shadow:0 24px 60px rgba(8,4,20,0.6),0 0 30px rgba(114,9,183,0.3);border:1px solid rgba(170,204,255,0.2);position:relative;animation:modalAppear 0.4s ease}@keyframes modalAppear{from{opacity:0;transform:translateY(20px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}.admin-modal h2{text-align:center;margin-bottom:20px;color:var(--admin-color,#f59e0b)}.admin-modal input{width:100%;padding:12px 15px;margin-bottom:15px;border-radius:12px;border:1px solid rgba(170,204,255,0.16);background:rgba(20,0,40,0.6);color:white;font-size:15px;transition:border-color 0.3s,box-shadow 0.3s}.admin-modal input:focus{outline:none;border-color:var(--admin-color,#f59e0b);box-shadow:0 0 0 3px rgba(245,158,11,0.25)}.admin-modal button{width:100%;padding:12px;background:var(--admin-color,#f59e0b);color:#1a1206;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all 0.3s}.admin-modal button:hover{background:#e69008}.close-modal{position:absolute;top:15px;right:15px;background:none;border:none;color:rgba(255,255,255,0.6);font-size:24px;cursor:pointer;transition:color 0.3s}.close-modal:hover{color:white}.admin-controls{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,0.1);display:none}.admin-controls button{background:#ef4444;color:white;margin-top:10px}.admin-controls button:hover{background:#dc2626}.gender-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);z-index:200;align-items:center;justify-content:center}.gender-modal-content{background:rgba(15,12,26,0.98);border-radius:20px;padding:30px;width:90%;max-width:400px;text-align:center;border:1px solid rgba(114,9,183,0.45);box-shadow:0 24px 60px rgba(8,4,20,0.6),0 0 40px rgba(114,9,183,0.45)}.gender-modal h2{margin-bottom:20px;font-size:24px;color:var(--primary-color,#c77dff);background:linear-gradient(115deg,#fff,var(--accent-light,#c5e4ff));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.gender-selection{display:flex;justify-content:center;gap:30px;margin:30px 0}.gender-option{display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:15px;border-radius:12px;transition:all 0.3s ease;background:rgba(255,255,255,0.05);width:120px}.gender-option:hover{transform:translateY(-5px);background:rgba(255,255,255,0.1)}.gender-option.male:hover{box-shadow:0 5px 20px rgba(92,107,192,0.4)}.gender-option.female:hover{box-shadow:0 5px 20px rgba(244,143,177,0.4)}.gender-option.selected{background:rgba(255,255,255,0.15);transform:translateY(-5px)}.gender-option.male.selected{box-shadow:0 5px 20px rgba(92,107,192,0.6)}.gender-option.female.selected{box-shadow:0 5px 20px rgba(244,143,177,0.6)}.gender-icon-large{width:60px;height:60px;margin-bottom:15px;object-fit:contain}.gender-text{font-size:18px;font-weight:500}.gender-submit{background:var(--primary-color);color:white;border:none;padding:12px 30px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s;margin-top:20px}.gender-submit:hover{background:#560bad;transform:translateY(-2px)}.banned-bar{display:none;padding:10px 20px;background:rgba(239,68,68,0.3);backdrop-filter:blur(5px);border-bottom:1px solid rgba(255,0,0,0.2);font-size:14px;z-index:5;justify-content:space-between;align-items:center}.banned-bar.visible{display:flex}.banned-users-list{display:flex;gap:8px;flex-wrap:wrap}.banned-user{background:rgba(0,0,0,0.4);padding:4px 8px;border-radius:4px;display:flex;align-items:center;gap:5px;font-size:12px}.unban-btn{background:none;border:none;color:white;cursor:pointer;font-size:12px}.banned-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.8);z-index:150;align-items:center;justify-content:center}.banned-modal-content{background:rgba(15,12,26,0.98);border-radius:20px;padding:25px;width:90%;max-width:500px;box-shadow:0 24px 60px rgba(8,4,20,0.6);border:1px solid rgba(239,68,68,0.4);position:relative}.banned-modal h2{text-align:center;margin-bottom:20px;color:var(--ban-color)}.banned-list{max-height:300px;overflow-y:auto;margin-bottom:20px;padding-right:10px}.banned-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background:rgba(255,255,255,0.05);border-radius:8px;margin-bottom:10px}.banned-id{font-family:monospace;font-size:13px}.banned-actions{display:flex;gap:8px}.unban-btn-modal{background:#10b981;color:white;border:none;padding:5px 10px;border-radius:4px;cursor:pointer;font-size:12px}.unban-btn-modal:hover{background:#059669}.close-banned{position:absolute;top:15px;right:15px;background:none;border:none;color:rgba(255,255,255,0.6);font-size:24px;cursor:pointer}.close-banned:hover{color:white}.ban-notice{background:rgba(239,68,68,0.3);padding:15px;border-radius:8px;margin-top:15px;text-align:center;border:1px solid var(--ban-color);display:none}.ban-notice.visible{display:block}@media (max-width:768px){.top-bar{padding:12px 15px}.top-bar h2{font-size:1.1rem}.back-btn span{display:none}.user-info{padding:5px 8px;font-size:13px}.chat-box{padding:15px}.message{max-width:90%;padding:10px 15px}.input-area{padding:10px}.emoji-picker{padding:0 8px}.emoji-picker span{font-size:16px}.send-btn{padding:10px 15px}.admin-btn span{display:none}.gender-selection{flex-direction:column;align-items:center;gap:15px}.gender-option{width:100%;max-width:180px}.banned-user{font-size:10px}.message-actions{gap:4px}.action-btn{width:22px;height:22px;font-size:10px}}@media (max-width:480px){.top-bar{padding:10px 15px;gap:8px}.top-bar h2{font-size:1rem}.top-bar h2 span,.top-bar h2 i{display:none}.back-btn span,.admin-btn span{display:none}.back-btn,.admin-btn{padding:8px;min-width:36px;justify-content:center}.user-info{gap:6px}.message{max-width:92%;padding:10px 12px}.username{font-size:13px}.message-content{font-size:14px}.input-area{padding:10px}.input-controls{gap:6px}.emoji-picker{display:none}.chat-input-container input{padding:10px 12px;font-size:14px}.send-btn{padding:10px 15px}.send-btn i{margin-left:0}.send-btn span{display:none}}*{scrollbar-width:thin;scrollbar-color:rgba(199,125,255,0.55) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:linear-gradient(var(--primary-color),var(--secondary-color));border-radius:99px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:linear-gradient(var(--accent-hot),var(--primary-color));background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}.chat-box,.sidebar,.admin-modal-content,.banned-modal-content,.banned-list,.gender-modal-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}body.chat-embedded .top-bar{display:none!important}