@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-dark:#0f172a;--bg-darker:#020617;--panel-bg:#1e293bb3;--glass-border:#ffffff1a;--text-main:#f8fafc;--text-muted:#94a3b8;--primary:#3b82f6;--primary-hover:#2563eb;--sent-bg:#1d4ed8;--received-bg:#334155;--danger-bg:#dc262633;--danger-border:#dc2626;--danger-text:#fca5a5;--success:#10b981}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-darker);color:var(--text-main);background-image:radial-gradient(at 0 0,#3b82f626 0,#0000 50%),radial-gradient(at 100% 100%,#8b5cf626 0,#0000 50%);justify-content:center;align-items:center;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;display:flex;overflow:hidden}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input{font-family:inherit}.glass{background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:0 25px 50px -12px #00000080}.app-container{justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex}.lobby-container{border-radius:20px;flex-direction:column;gap:30px;width:100%;max-width:480px;padding:40px;animation:.4s ease-out fadeIn;display:flex}.lobby-container h1{text-align:center;background:linear-gradient(90deg,#60a5fa,#a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:20px;font-size:28px}.lobby-section{flex-direction:column;gap:15px;display:flex}.lobby-section h2{color:var(--text-muted);border-bottom:1px solid var(--glass-border);padding-bottom:8px;font-size:18px}.input-group{flex-direction:column;gap:8px;display:flex}.input-group input{border:1px solid var(--glass-border);color:var(--text-main);background:#0f172a99;border-radius:10px;outline:none;padding:12px 16px;transition:all .2s}.input-group input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #3b82f633}.btn{background:var(--primary);color:#fff;border-radius:10px;padding:12px;font-weight:600;transition:background .2s,transform .1s}.btn:hover{background:var(--primary-hover)}.btn:active{transform:scale(.98)}.chat-container{border-radius:20px;flex-direction:column;width:100%;max-width:600px;height:90vh;animation:.3s ease-out scaleIn;display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--glass-border);background:#1e293be6;justify-content:space-between;align-items:center;padding:20px;display:flex}.room-info h2{font-size:18px}.room-info p{color:var(--text-muted);margin-top:4px;font-size:13px}.btn-leave{color:#fca5a5;background:#dc262633;border:1px solid #dc262680;border-radius:8px;padding:8px 14px;transition:all .2s}.btn-leave:hover{background:#dc262666}.chat-messages{flex-direction:column;flex:1;gap:15px;padding:20px;display:flex;overflow-y:auto}.message-wrapper{flex-direction:column;max-width:80%;animation:.3s ease-out slideUp;display:flex}.message-wrapper.sent{align-self:flex-end}.message-wrapper.received{align-self:flex-start}.message-wrapper.system{align-self:center;max-width:90%}.sender-name{color:var(--text-muted);margin-bottom:4px;margin-left:4px;font-size:11px}.message-bubble{word-wrap:break-word;border-radius:16px;padding:12px 16px;line-height:1.4}.sent .message-bubble{background:var(--sent-bg);border-bottom-right-radius:4px}.received .message-bubble{background:var(--received-bg);border-bottom-left-radius:4px}.system .message-bubble{border:1px solid var(--glass-border);color:var(--text-muted);text-align:center;background:#ffffff0d;border-radius:8px;padding:8px 12px;font-size:12px}.message-wrapper.error{align-self:center;width:100%}.message-wrapper.error .message-bubble{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);border-radius:12px;flex-direction:column;gap:8px;display:flex}.error-header{align-items:center;gap:8px;font-weight:600;display:flex}.error-details{opacity:.9;border-top:1px solid #dc26264d;padding-top:8px;font-size:13px}.chat-input-area{border-top:1px solid var(--glass-border);background:#1e293be6;gap:10px;padding:20px;display:flex}.chat-input-area input{border:1px solid var(--glass-border);color:#fff;background:#0f172acc;border-radius:24px;outline:none;flex:1;padding:14px 20px;font-size:15px;transition:border-color .2s}.chat-input-area input:focus{border-color:var(--primary)}.btn-send{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s;display:flex}.btn-send:hover:not(:disabled){background:var(--primary-hover);transform:scale(1.05)}.btn-send:disabled{cursor:not-allowed;opacity:.7;background:#475569}.btn-send svg{width:20px;height:20px;margin-left:3px}.api-error{color:#fff;text-align:center;background:#dc2626e6;border-radius:8px;margin-bottom:20px;padding:12px 20px;font-weight:500;animation:.3s slideDown}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b880}
