@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@600;700&family=Inter:wght@400;500;600&display=swap";*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:#000;font-family:Inter,sans-serif;color:#e6e8f0}.center-msg{height:100%;display:flex;align-items:center;justify-content:center;color:#8a8fa3}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#05060ab3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal-card{position:relative;background:#000;border:1px solid #1C1F2B;border-radius:18px;width:100%;max-width:360px;box-shadow:0 20px 60px #00000080;overflow:hidden}.modal-close{position:absolute;top:12px;right:12px;background:none;border:none;color:#6b7280;font-size:16px;cursor:pointer;z-index:1}.modal-close:hover{color:#e6e8f0}.auth-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px 28px;text-align:center}.auth-screen h1{font-family:Space Grotesk,sans-serif;font-size:28px;margin:0;background:linear-gradient(90deg,#8e7cff,#5ec8d8);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-screen .sub{color:#8a8fa3;font-size:14px;margin:0}.auth-screen form{display:flex;flex-direction:column;gap:10px;width:280px}.auth-screen input{padding:12px 16px;border-radius:12px;border:1px solid #2A2E3D;background:#171923;color:#e6e8f0;font-size:15px;outline:none}.auth-screen input:focus{border-color:#8e7cff}.auth-screen button{padding:12px 16px;border-radius:12px;border:none;background:linear-gradient(90deg,#8e7cff,#6c5ce7);color:#fff;font-weight:600;font-size:15px;cursor:pointer}.auth-screen button:disabled{opacity:.5;cursor:not-allowed}.auth-screen .switch{background:none;color:#8a8fa3;font-size:13px;font-weight:400;text-decoration:underline}.auth-screen .error{color:#ff8a65;font-size:13px}.auth-screen .info{color:#6fcf97;font-size:13px}.avatar-picker{cursor:pointer;width:84px;height:84px}.avatar-picker img{width:84px;height:84px;border-radius:50%;object-fit:cover;border:2px solid #2A2E3D}.avatar-placeholder{width:84px;height:84px;border-radius:50%;background:#171923;border:2px dashed #2A2E3D;display:flex;align-items:center;justify-content:center;font-size:28px;color:#6b7280}.room{height:100vh;display:flex;flex-direction:column}.header{padding:14px 20px;border-bottom:1px solid #1C1F2B;display:flex;align-items:center;justify-content:space-between}.who{display:flex;align-items:center;gap:10px}.header h2{font-family:Space Grotesk,sans-serif;font-size:16px;margin:0}.header .sub{font-size:11.5px;color:#6b7280}.mini-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.mini-avatar.placeholder{display:flex;align-items:center;justify-content:center;background:#6c5ce7;color:#fff;font-weight:600;font-size:14px}.logout{background:none;border:1px solid #2A2E3D;color:#8a8fa3;font-size:11.5px;padding:6px 12px;border-radius:8px;cursor:pointer}.logout:hover{border-color:#ff8a65;color:#ff8a65}.scroll{flex:1;overflow-y:auto;padding:18px 20px 6px}.empty{color:#6b7280;font-size:13.5px;text-align:center;margin-top:40px}.row{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}.msg-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0;margin-top:2px}.msg-avatar.placeholder{display:flex;align-items:center;justify-content:center;background:#2a2e3d;color:#e6e8f0;font-size:13px;font-weight:600}.msg-content{display:flex;flex-direction:column;max-width:78%}.msg-meta{display:flex;align-items:center;gap:7px;margin-bottom:3px;padding:0 2px}.name-tag{font-size:13px;font-weight:600;color:#8e7cff}.name-tag.is-mine{color:#5ec8d8}.name-tag.name-admin{background:linear-gradient(90deg,#ff5f5f,#b91c1c);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}.role-pill{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 7px;border-radius:999px;line-height:1.4}.role-pill.role-admin{background:#dc262626;color:#ff5f5f;border:1px solid rgba(220,38,38,.35)}.role-pill.role-mod{background:#6fcf9726;color:#6fcf97;border:1px solid rgba(111,207,151,.35)}.role-pill.role-guest{background:#6b728026;color:#9ca3b5;border:1px solid rgba(107,114,128,.35)}.guest-composer{flex-wrap:wrap}.guest-name-input{width:110px;flex-shrink:0;border-radius:14px;border:1px solid #2A2E3D;background:#171923;color:#e6e8f0;padding:0 12px;font-size:13.5px;outline:none}.guest-name-input:focus{border-color:#8e7cff}.composer-error{width:100%;color:#ff8a65;font-size:12px;padding:4px 2px 0}.stamp{font-size:10.5px;color:#6b7280;margin-left:auto}.bubble{padding:9px 14px;border-radius:4px 14px 14px;font-size:14.5px;line-height:1.4;white-space:pre-wrap;word-wrap:break-word;background:#1c1f2b;color:#e6e8f0;width:fit-content}.composer{display:flex;gap:10px;padding:14px 16px;border-top:1px solid #1C1F2B}.composer textarea{flex:1;resize:none;border-radius:14px;border:1px solid #2A2E3D;background:#171923;color:#e6e8f0;padding:11px 14px;font-size:14.5px;font-family:inherit;outline:none;max-height:90px}.composer textarea:focus{border-color:#8e7cff}.composer button{border:none;border-radius:14px;padding:0 18px;background:linear-gradient(135deg,#6c5ce7,#8e7cff);color:#fff;font-weight:600;font-size:14px;cursor:pointer}.composer button:disabled{opacity:.35;cursor:not-allowed}.header-right{display:flex;align-items:center;gap:12px}.online-count{display:flex;align-items:center;gap:5px;font-size:11.5px;color:#8a8fa3}.online-count-dot{width:6px;height:6px;border-radius:50%;background:#6fcf97;box-shadow:0 0 5px #6fcf97}.pinned-bar{border-bottom:1px solid #1C1F2B;padding:8px 20px;display:flex;flex-direction:column;gap:8px;max-height:140px;overflow-y:auto}.pinned-item{display:flex;flex-direction:column;gap:1px}.pinned-by{font-size:10.5px;color:#6b7280;display:flex;align-items:center;gap:5px}.pinned-by-name{font-weight:600;color:#8e7cff}.pinned-icon{flex-shrink:0}.pinned-body{font-size:12.5px;color:#9ca3b5;display:flex;gap:6px}.pinned-name{font-weight:600;color:#c7cadb;flex-shrink:0}.pinned-text{color:#c7cadb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.banner{background:#ff8a651a;border-bottom:1px solid rgba(255,138,101,.3);color:#ff8a65;font-size:12.5px;padding:8px 20px;display:flex;align-items:center;justify-content:space-between}.banner button{background:none;border:none;color:inherit;cursor:pointer}.avatar-wrap{position:relative;flex-shrink:0}.online-dot{position:absolute;bottom:0;right:0;width:9px;height:9px;border-radius:50%;background:#6fcf97;border:2px solid #000000}.pin-flag{font-size:11px}.edited-flag{font-size:11px;color:#6b7280}.reply-preview{display:flex;align-items:center;gap:6px;margin-bottom:4px;padding:4px 8px;background:#14151c;border-radius:8px;max-width:fit-content}.reply-preview-line{width:2px;align-self:stretch;background:#8e7cff;border-radius:2px}.reply-preview-text{display:flex;flex-direction:column;font-size:12px}.reply-preview-name{font-weight:600;color:#8e7cff}.reply-preview-body{color:#9ca3b5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.reply-preview-clear{background:none;border:none;color:#6b7280;cursor:pointer;margin-left:4px}.reply-unavailable .reply-preview-body{font-style:italic}.msg-actions{display:flex;gap:6px;margin-top:5px;flex-wrap:wrap}.msg-actions button{background:#171923;border:1px solid #2A2E3D;color:#c7cadb;font-size:11.5px;padding:5px 10px;border-radius:8px;cursor:pointer}.msg-actions button:hover{border-color:#8e7cff}.msg-actions button.danger{color:#ff8a65}.msg-actions button.danger:hover{border-color:#ff8a65}.bubble{cursor:pointer}.edit-box{display:flex;gap:6px;align-items:flex-end}.edit-box textarea{flex:1;resize:none;border-radius:10px;border:1px solid #8E7CFF;background:#171923;color:#e6e8f0;padding:8px 12px;font-size:14px;font-family:inherit;outline:none}.edit-box button{border:none;border-radius:8px;padding:7px 12px;font-size:12px;cursor:pointer;background:#8e7cff;color:#fff}.edit-box button.ghost{background:none;color:#8a8fa3}.composer-wrap{border-top:1px solid #1C1F2B;padding:10px 16px 14px}.composer-wrap .composer{border-top:none;padding:8px 0 0}.composer-wrap .reply-preview{margin:0 0 8px}
