#modal{position:fixed;top:0;right:0;left:0;bottom:0;display:flex;justify-content:center;align-items:center}#modal-background{position:fixed;top:0;right:0;left:0;bottom:0;background-color:#000000b3}#modal-content{position:absolute;background-color:transparent}.login-form-container{display:flex;flex-direction:column;align-items:center;padding:2rem;background-color:var(--background-secondary);border-radius:var(--border-radius);color:var(--text-color);width:400px}.login-form-container h1{margin-bottom:1.5rem}.login-form-container form{display:flex;flex-direction:column;width:100%}.login-form-container label{display:flex;flex-direction:column;margin-bottom:1rem;font-weight:700;text-transform:uppercase;font-size:.75rem;color:#8e9297}.login-form-container input{margin-top:.5rem;background-color:var(--background-tertiary);border:1px solid var(--border-color);color:var(--text-color);font-size:1rem;padding:10px;border-radius:4px}.login-form-container button{margin-top:1rem}.login-errors{color:var(--primary-color);font-size:.875rem;margin-top:-.5rem;margin-bottom:1rem}.signup-form-container{display:flex;flex-direction:column;align-items:center;padding:2rem;background-color:var(--background-secondary);border-radius:var(--border-radius);color:var(--text-color);width:400px}.signup-form-container h1{margin-bottom:1.5rem}.signup-form-container form{display:flex;flex-direction:column;width:100%}.signup-form-container label{display:flex;flex-direction:column;margin-bottom:1rem;font-weight:700;text-transform:uppercase;font-size:.75rem;color:#8e9297}.signup-form-container input{margin-top:.5rem;background-color:var(--background-tertiary);border:1px solid var(--border-color);color:var(--text-color);font-size:1rem;padding:10px;border-radius:4px}.signup-form-container button{margin-top:1rem}.welcome-page-container{display:flex;align-items:center;justify-content:center;height:100vh;background-color:var(--background-secondary);text-align:center}.welcome-content{max-width:500px;padding:2rem}.welcome-title{font-size:3rem;font-weight:700;color:#fff;margin-bottom:1rem}.welcome-subtitle{font-size:1.25rem;color:var(--text-color);margin-bottom:2.5rem}.welcome-actions{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.welcome-button{padding:1rem 2rem;font-size:1.1rem;font-weight:700;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease-in-out;border:2px solid transparent}.welcome-button.login{background-color:#4f545c;color:#fff}.welcome-button.login:hover{background-color:#5c626b}.welcome-button.signup{background-color:transparent;color:var(--text-color);border-color:#4f545c}.welcome-button.signup:hover{background-color:#4f545c;border-color:#4f545c}.skip-link{color:#8e9297;text-decoration:none;transition:color .2s ease-in-out}.skip-link:hover{color:#fff;text-decoration:underline}.welcome-button.continue{background-color:var(--secondary-color);color:#fff;text-decoration:none}.welcome-button.continue:hover{background-color:#3aa17e}.profile-button-container{position:relative}.profile-button-container>button{font-size:24px;background-color:transparent;color:var(--text-color);padding:8px;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.profile-button-container>button:hover{background-color:var(--background-secondary)}.profile-dropdown{position:absolute;right:0;top:120%;background-color:var(--background-tertiary);box-shadow:var(--box-shadow);border-radius:var(--border-radius);padding:1rem;z-index:100;list-style-type:none;min-width:200px;border:1px solid var(--border-color);display:block;width:auto}.profile-dropdown li{padding:.5rem;cursor:pointer;background-color:transparent;color:var(--text-color);border-radius:4px;transition:background-color .2s ease-in-out;display:block;justify-content:initial;align-items:initial}.profile-dropdown li:hover{background-color:var(--primary-color);color:#fff}.profile-dropdown button{width:100%;margin-top:.5rem;background-color:var(--primary-color)}.navigation-bar{display:flex;justify-content:space-between;align-items:center;padding:1rem 5%;background-color:var(--background-secondary);box-shadow:var(--box-shadow);border-bottom:1px solid var(--border-color);height:60px}.nav-left,.nav-center,.nav-right{flex:1}.nav-left{display:flex;justify-content:flex-start}.nav-center{display:flex;justify-content:center}.nav-right{display:flex;justify-content:flex-end}.nav-left a{text-decoration:none;color:var(--text-color);font-size:1.5rem;font-weight:700}.server-form-container{display:flex;flex-direction:column;align-items:center;padding:2rem;background-color:var(--background-secondary);border-radius:var(--border-radius);color:var(--text-color);width:400px}.server-form-container h1{margin-bottom:1.5rem}.server-form-container form{display:flex;flex-direction:column;width:100%}.server-form-container label{display:flex;flex-direction:column;margin-bottom:1rem;font-weight:700;text-transform:uppercase;font-size:.75rem;color:#8e9297}.server-form-container input{margin-top:.5rem;background-color:var(--background-tertiary);border:1px solid var(--border-color);color:var(--text-color);font-size:1rem;padding:10px;border-radius:4px}.server-form-container button{margin-top:1rem}.server-icon-wrapper{position:relative}.server-actions{position:absolute;top:50%;left:70px;transform:translateY(-50%);display:flex;flex-direction:column;gap:6px;z-index:20;opacity:0;visibility:hidden;transition:opacity .2s ease-in-out,visibility .2s ease-in-out}.server-icon-wrapper:hover .server-actions{opacity:1;visibility:visible}.action-button{padding:5px 10px;font-size:12px;border-radius:4px;border:none;cursor:pointer;color:#fff;font-weight:700}.edit-button:hover{background-color:#4752c4}.delete-button:hover{background-color:#a82a2f}.server-list-container{width:80px;height:100vh;background-color:#202225;padding:12px 0;display:flex;flex-direction:column;align-items:center;flex-shrink:0}.server-list-container h2{color:#8e9297;font-size:12px;font-weight:700;text-transform:uppercase;margin-bottom:8px}.server-list{list-style-type:none;padding:0;margin:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:8px}.server-icon{width:48px;height:48px;background-color:#36393f;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#dcddde;cursor:pointer;transition:all .2s ease-in-out}.server-icon:hover{border-radius:16px;background-color:#5865f2;color:#fff}.add-server-button{background-color:#36393f;color:#43b581;font-size:24px}.add-server-button:hover{background-color:#43b581;color:#fff}.channel-form-container{display:flex;flex-direction:column;align-items:center;padding:2rem;background-color:var(--background-secondary);border-radius:var(--border-radius);color:var(--text-color);width:400px}.channel-form-container h1{margin-bottom:1.5rem}.channel-form-container form{display:flex;flex-direction:column;width:100%}.channel-form-container label{display:flex;flex-direction:column;margin-bottom:1rem;font-weight:700;text-transform:uppercase;font-size:.75rem;color:#8e9297}.channel-form-container input{margin-top:.5rem;background-color:var(--background-tertiary);border:1px solid var(--border-color);color:var(--text-color);font-size:1rem;padding:10px;border-radius:4px}.channel-form-container button{margin-top:1rem}.channel-list-container{width:240px;height:100%;background-color:var(--background-secondary);display:flex;flex-direction:column;flex-shrink:0}.channel-list-header{padding:0 16px;height:60px;display:flex;align-items:center;border-bottom:1px solid var(--background-tertiary);box-shadow:var(--box-shadow)}.server-name{font-size:16px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channels{padding:16px;flex-grow:1;overflow-y:auto}.channels-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.channels-title{color:#8e9297;font-size:12px;font-weight:700;text-transform:uppercase}.channel-list{list-style-type:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.channel-item{display:flex;align-items:center;justify-content:space-between;padding:8px;border-radius:var(--border-radius);cursor:pointer;color:#8e9297;transition:background-color .15s ease-in-out}.channel-item:hover{background-color:#4f545c52;color:var(--text-color)}.channel-name-wrapper{display:flex;align-items:center;overflow:hidden}.channel-hashtag{font-size:20px;margin-right:8px}.channel-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-actions{display:none;align-items:center;gap:8px;flex-shrink:0}.channel-item:hover .channel-actions{display:flex}.action-button{padding:4px 8px;font-size:12px;border-radius:4px;border:none;cursor:pointer;color:#fff;font-weight:700}.edit-button{background-color:var(--primary-color)}.delete-button{background-color:#da373c}.create-channel-button{background-color:transparent;font-size:18px;padding:0}.edit-message-form-container{display:flex;flex-direction:column;align-items:center;padding:2rem;background-color:var(--background-secondary);border-radius:var(--border-radius);color:var(--text-color);width:400px}.edit-message-form-container h1{margin-bottom:1.5rem}.edit-message-form-container form{display:flex;flex-direction:column;width:100%}.edit-message-form-container textarea{min-height:100px;resize:vertical;background-color:var(--background-tertiary);border:1px solid var(--border-color);color:var(--text-color);font-size:1rem;padding:10px;border-radius:4px;margin-bottom:1rem}.edit-message-form-container button{margin-top:1rem}.error{color:var(--primary-color);font-size:.875rem;margin-top:-.5rem;margin-bottom:1rem}.delete-modal-container{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem;background-color:var(--background-secondary);border-radius:var(--border-radius);color:var(--text-color);width:400px}.delete-modal-container h2{margin-bottom:1rem}.delete-modal-container p{margin-bottom:1.5rem;line-height:1.4}.delete-modal-buttons{display:flex;width:100%;justify-content:space-between}.delete-modal-buttons .delete-button{background-color:#da373c;flex-grow:1;margin-right:.5rem}.delete-modal-buttons .delete-button:hover{background-color:#a82a2f}.delete-modal-buttons .cancel-button{background-color:#4f545c;flex-grow:1;margin-left:.5rem}.delete-modal-buttons .cancel-button:hover{background-color:#41454b}.message-pane-container{flex-grow:1;background-color:var(--background-color);display:flex;flex-direction:column;height:100%}.message-pane-header{height:60px;padding:0 20px;display:flex;align-items:center;border-bottom:1px solid var(--background-tertiary);box-shadow:var(--box-shadow);flex-shrink:0}.header-hashtag{color:#8e9297;font-size:24px;margin-right:8px}.channel-name-header{color:#fff;font-size:16px;font-weight:700}.message-list{flex-grow:1;padding:20px;overflow-y:auto}.message{position:relative;display:flex;margin-bottom:1rem;padding:.5rem;border-radius:var(--border-radius);transition:background-color .15s ease-in-out}.message:hover{background-color:var(--background-secondary);z-index:2}.message-avatar{width:40px;height:40px;border-radius:50%;background-color:#5865f2;margin-right:1rem;flex-shrink:0}.message-content{display:flex;flex-direction:column}.message-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.25rem}.message-username{font-weight:700;color:#fff}.message-timestamp{font-size:.75rem;color:#8e9297}.message-text{color:var(--text-color);line-height:1.4}.message-actions{position:absolute;top:-16px;right:16px;display:none;align-items:center;gap:8px;background-color:var(--background-tertiary);padding:4px;border-radius:var(--border-radius);box-shadow:var(--box-shadow);z-index:10}.message:hover .message-actions{display:flex}.action-button{padding:4px 8px;font-size:12px;border-radius:4px;border:none;cursor:pointer;color:#fff;font-weight:700;background-color:var(--primary-color)}.reactions-list{display:flex;gap:6px;margin-top:8px}.reaction-pill{display:flex;align-items:center;gap:4px;background-color:var(--background-secondary);padding:4px 8px;border-radius:16px;font-size:14px;cursor:pointer;border:1px solid transparent;transition:border-color .2s}.reaction-pill.user-reacted{background-color:#5865f233;border-color:var(--primary-color)}.reaction-picker{position:relative;z-index:20}.emoji-list{position:absolute;top:100%;right:0;margin-top:8px;background-color:var(--background-tertiary);padding:8px;border-radius:var(--border-radius);box-shadow:var(--box-shadow);display:flex;gap:8px;z-index:30}.emoji-list span{font-size:20px;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .15s}.emoji-list span:hover{background-color:var(--primary-color)}.message-input-container{padding:20px;flex-shrink:0;position:relative;display:flex;align-items:center;gap:10px;background-color:var(--background-color)}.message-input{flex-grow:1;padding:12px;border:none;border-radius:var(--border-radius);background-color:var(--background-secondary);color:var(--text-color);font-size:1rem;margin-bottom:0}.message-input:focus{outline:none}.send-button{padding:12px 20px;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);font-weight:700;cursor:pointer;transition:background-color .2s}.send-button:hover{background-color:#4752c4}.placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:#8e9297}:root{--primary-color: #5865f2;--secondary-color: #43b581;--text-color: #dcddde;--background-color: #36393f;--background-secondary: #2f3136;--background-tertiary: #202225;--border-color: #202225;--font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--border-radius: 8px;--box-shadow: 0 4px 12px rgba(0, 0, 0, .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--background-color);color:var(--text-color);line-height:1.5;overflow:hidden}#root{width:100%;height:100vh;display:flex;flex-direction:column}.app-body{display:flex;flex-grow:1;overflow:hidden}.sidebar-container{display:flex;flex-shrink:0}.main-content{flex-grow:1;overflow-y:auto}.channel-list-container{max-width:0;overflow:hidden;transition:max-width .3s ease-in-out;white-space:nowrap}.channel-list-container.visible{max-width:240px}.main-content{display:flex;flex-grow:1;overflow:hidden}
