body{margin:0;padding:0}.app-container{margin:0;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#2f4f4f,#63b5b5,#729c9c);min-height:100vh;display:flex;justify-content:center;align-items:center;box-sizing:border-box}.chat-wrapper{width:95%;max-width:1000px;min-width:360px;height:90vh;min-height:600px;background:#fff;border-radius:20px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.join-section{margin:auto;text-align:center;padding:40px 20px;width:100%;max-width:500px}.join-title{color:#1f2937;margin-bottom:30px;font-size:28px;font-weight:600}.join-input-container{display:flex;flex-direction:column;gap:20px;align-items:center}.join-input{padding:16px 24px;width:100%;max-width:400px;font-size:16px;border:2px solid #e5e7eb;border-radius:12px;transition:all .3s ease;box-sizing:border-box;outline:none}.join-input:focus{border-color:#2f4f4f;box-shadow:0 0 0 4px #3b82f626;transform:translateY(-2px)}.join-button{padding:16px 32px;background:linear-gradient(135deg,#2f4f4f,#63b5b5,#729c9c);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:150px}.join-button:hover{background:linear-gradient(135deg,#2e5454,#063b3b,#87cece);transform:translateY(-2px);box-shadow:0 8px 20px #3b82f64d}.chat-header{padding:20px 30px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.chat-header-title{margin:0;color:#1f2937;font-size:20px;font-weight:600}.chat-header-controls{display:flex;align-items:center;gap:15px}.chat-header-user{color:#6b7280;font-size:14px;font-weight:500}.control-button{padding:8px 16px;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.clear-btn{background:linear-gradient(135deg,#2f4f4f,#63b5b5,#729c9c);color:#fff}.clear-btn:hover{background:linear-gradient(135deg,#2e5454,#063b3b,#87cece)}.leave-btn{background:linear-gradient(135deg,#e53935,#e48282,#b71c1c);color:#fff}.leave-btn:hover{background:linear-gradient(135deg,#c17f7e,#d33f3f,#d29393)}.chat-box{flex:1;padding:30px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;background:linear-gradient(to bottom,#f8fafc,#f1f5f9);scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;scroll-behavior:smooth}.chat-box::-webkit-scrollbar{width:8px}.chat-box::-webkit-scrollbar-track{background:transparent}.chat-box::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.chat-box::-webkit-scrollbar-thumb:hover{background:#94a3b8}.message-container{display:flex;justify-content:flex-end;margin-bottom:8px}.own-message .message-bubble{background:linear-gradient(135deg,#2f4f4f,#63b5b5,#729c9c);color:#fff;padding:0;border-radius:20px 20px 6px;max-width:75%;min-width:120px;box-shadow:0 4px 12px #3b82f64d;position:relative;overflow:hidden;animation:messageSlideIn .3s ease-out}.other-message .message-bubble{background:linear-gradient(135deg,#141415,#3c3f46);color:#fff;padding:0;border-radius:20px 20px 6px;max-width:75%;min-width:120px;box-shadow:0 4px 12px #3b82f64d;position:relative;overflow:hidden;animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.message-header{padding:8px 16px 4px;background:#ffffff1a;display:flex;justify-content:space-between;align-items:center;font-size:12px;opacity:.9}.message-sender{font-weight:600}.message-time{font-size:11px;opacity:.8}.message-text{padding:8px 16px 12px;font-size:15px;line-height:1.6;word-wrap:break-word}.join-message{align-self:center;margin:15px 0;padding:12px 20px;background:#9ca3af26;border-radius:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);text-align:center;animation:joinMessageFadeIn .5s ease-out}@keyframes joinMessageFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.join-message-text{font-size:14px;color:#6b7280;font-style:italic;font-weight:500;display:block}.join-message-time{font-size:11px;color:#9ca3af;margin-top:4px;display:block}.empty-chat{display:flex;justify-content:center;align-items:center;height:100%;color:#9ca3af;font-style:italic}.input-section{padding:24px 30px;border-top:1px solid #e5e7eb;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.input-container{display:flex;align-items:center;gap:12px;background:#fff;border-radius:15px;border:2px solid #e5e7eb;padding:4px;transition:all .3s ease}.input-container:focus-within{border-color:#2f4f4f;box-shadow:0 0 0 4px #3b82f626}.message-input{flex:1;padding:12px 16px;border:none;outline:none;font-size:16px;background:transparent;border-radius:12px}.message-input::placeholder{color:#9ca3af}.send-button{padding:10px;background:#e5e7eb;color:#9ca3af;border:none;border-radius:12px;cursor:not-allowed;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:44px;height:44px}.send-button.active{background:linear-gradient(135deg,#2f4f4f,#63b5b5,#729c9c);color:#fff;cursor:pointer}.send-button.active:hover{background:linear-gradient(135deg,#2e5454,#063b3b,#87cece);transform:scale(1.05)}.send-icon{transition:transform .2s ease}.send-button.active:hover .send-icon{transform:rotate(15deg)}@media (max-width: 768px){.app-container{padding:10px}.chat-wrapper{width:100%;height:95vh;border-radius:15px;min-width:320px}.chat-box{padding:20px}.input-section{padding:16px 20px}.message-bubble{max-width:85%;font-size:14px}.join-section{padding:30px 20px}.join-title{font-size:24px}.chat-header{padding:15px 20px}.chat-header-title{font-size:18px}.chat-header-user{font-size:12px}}@media (max-width: 480px){.chat-wrapper{border-radius:10px;height:98vh}.message-bubble{max-width:90%}.chat-box{padding:15px}.input-section{padding:12px 15px}.join-input-container{gap:15px}.join-input{padding:14px 20px;font-size:15px}.join-button{padding:14px 28px;font-size:15px}.input-container{gap:8px}.message-input{padding:10px 14px;font-size:15px}}
