*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:gg sans,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#313338;color:#dbdee1;overflow:hidden}input{background:#1e1f22;border:1px solid #1e1f22;border-radius:4px;padding:10px 12px;color:#dbdee1;font-size:14px;outline:none;width:100%}input:focus{border-color:#5865f2}button{background:#5865f2;color:#fff;border:none;border-radius:4px;padding:10px 16px;font-weight:600;cursor:pointer;font-size:14px}button:hover{background:#4752c4}button:disabled{opacity:.6;cursor:default}.auth-screen{height:100vh;display:flex;align-items:center;justify-content:center;background:#313338}.auth-card{background:#2b2d31;padding:32px;border-radius:8px;width:400px;display:flex;flex-direction:column;gap:8px}.auth-card h1{font-size:24px;text-align:center}.auth-sub{text-align:center;color:#b5bac1;font-size:14px;margin-bottom:12px}.auth-card label{font-size:12px;font-weight:700;color:#b5bac1;text-transform:uppercase;margin-top:8px}.auth-card button{margin-top:16px}.auth-error{color:#fa777c;font-size:13px}.auth-switch{color:#00a8fc;font-size:13px;cursor:pointer;text-align:center;margin-top:12px}.app{display:flex;height:100vh}.server-rail{width:72px;background:#1e1f22;display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:8px;flex-shrink:0}.server-icon{width:48px;height:48px;background:#313338;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;cursor:pointer;color:#dbdee1;transition:border-radius .15s,background .15s}.server-icon:hover,.server-icon.active{border-radius:16px;background:#5865f2}.server-icon.add{background:#313338;color:#23a559;font-size:20px}.server-icon.add:hover{background:#23a559;color:#fff}.channel-sidebar{width:240px;background:#2b2d31;display:flex;flex-direction:column;flex-shrink:0}.server-name{padding:16px;font-weight:700;border-bottom:1px solid #1f2023;box-shadow:0 1px #0000001a}.channel-list{flex:1;padding:8px;overflow-y:auto}.channel-list-header{display:flex;justify-content:space-between;align-items:center;color:#949ba4;font-size:12px;font-weight:700;text-transform:uppercase;padding:8px 8px 4px}.add-channel-btn{cursor:pointer;font-size:16px}.add-channel-form{padding:4px 8px}.add-channel-form input{padding:6px 8px;font-size:13px}.channel-item{padding:6px 8px;border-radius:4px;color:#949ba4;cursor:pointer;font-size:15px;margin-bottom:2px}.channel-item:hover{background:#35373c;color:#dbdee1}.channel-item.active{background:#404249;color:#fff}.user-bar{height:52px;background:#232428;display:flex;align-items:center;padding:0 8px;gap:8px}.user-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff}.user-name{font-size:14px;font-weight:600;color:#fff}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0}.chat-header{height:48px;display:flex;align-items:center;padding:0 16px;font-weight:700;border-bottom:1px solid #1f2023;box-shadow:0 1px #0000001a;flex-shrink:0}.messages{flex:1;overflow-y:auto;padding:16px 16px 0}.message{display:flex;gap:16px;padding:8px 0}.message:hover{background:#2e3035;margin:0 -16px;padding:8px 16px}.msg-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff}.msg-body{min-width:0}.msg-meta{display:flex;align-items:baseline;gap:8px}.msg-author{font-weight:600;color:#fff;font-size:15px}.msg-time{font-size:11px;color:#949ba4}.msg-content{font-size:15px;line-height:1.4;word-wrap:break-word}.typing-indicator{padding:4px 16px;font-size:13px;color:#949ba4;font-style:italic}.message-input-bar{padding:16px;flex-shrink:0}.message-input-bar input{background:#383a40;border-radius:8px;padding:12px}.member-sidebar{width:240px;background:#2b2d31;padding:16px 8px;overflow-y:auto;flex-shrink:0}.member-header{font-size:12px;font-weight:700;color:#949ba4;text-transform:uppercase;padding:0 8px 8px}.member-item{display:flex;align-items:center;gap:12px;padding:6px 8px;border-radius:4px;cursor:pointer}.member-item:hover{background:#35373c}.member-avatar{width:32px;height:32px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff;flex-shrink:0}.status-dot{position:absolute;bottom:-2px;right:-2px;width:12px;height:12px;border-radius:50%;border:3px solid #2b2d31}.status-dot.online{background:#23a559}.status-dot.offline{background:#80848e}.member-name{font-size:14px;color:#949ba4;display:flex;align-items:center;gap:6px}.role-badge{font-size:10px;background:#5865f2;color:#fff;padding:1px 6px;border-radius:4px;text-transform:uppercase;font-weight:700}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#949ba4}.empty-state h2{color:#fff;margin-bottom:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#313338;padding:24px;border-radius:8px;width:400px;display:flex;flex-direction:column;gap:12px}.modal h2{margin-bottom:8px}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.fade-in{animation:fadeIn .18s ease-out}.slide-up{animation:slideUp .22s cubic-bezier(.16,1,.3,1)}.server-icon,.channel-item,.member-item,.dm-item,button,input{transition:all .15s ease}.modal-backdrop{animation:fadeIn .15s ease-out}.server-rail-divider{width:32px;height:2px;background:#35373c;border-radius:1px;margin:4px 0}.dm-icon{font-size:12px;font-weight:800}.dm-item{display:flex;align-items:center;gap:8px}.dm-avatar-small{width:24px;height:24px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;color:#fff;flex-shrink:0}.dm-avatar-small .status-dot{width:9px;height:9px;border-width:2px}.dm-username{font-size:14px}.empty-hint{padding:12px 8px;color:#6d6f78;font-size:13px}.chat-header{display:flex;align-items:center;gap:8px}.user-status-text{font-size:11px;color:#949ba4;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-name.clickable{cursor:pointer;display:flex;align-items:center;justify-content:space-between}.server-name.clickable:hover{background:#35373c}.settings-gear{font-size:14px;opacity:.7}.settings-modal{background:#313338;width:800px;max-width:90vw;height:600px;max-height:85vh;border-radius:8px;display:flex;overflow:hidden}.settings-sidebar{width:220px;background:#2b2d31;padding:16px 8px;flex-shrink:0;overflow-y:auto}.settings-sidebar-title{padding:8px;font-size:12px;font-weight:700;color:#949ba4;text-transform:uppercase}.settings-tab{padding:8px 10px;border-radius:4px;cursor:pointer;font-size:15px;color:#b5bac1;margin-bottom:2px}.settings-tab:hover{background:#35373c;color:#fff}.settings-tab.active{background:#404249;color:#fff}.settings-tab.danger{color:#f23f42}.settings-tab.danger:hover{background:#f23f421a}.settings-tab.close-tab{margin-top:16px;border-top:1px solid #3f4147;padding-top:16px}.settings-content{flex:1;padding:32px;overflow-y:auto}.settings-content h2{margin-bottom:20px}.settings-content label{display:block;font-size:12px;font-weight:700;color:#b5bac1;text-transform:uppercase;margin-top:16px;margin-bottom:6px}.settings-content label:first-of-type{margin-top:0}.profile-preview{display:flex;align-items:center;gap:12px;background:#2b2d31;padding:16px;border-radius:8px;margin-bottom:8px}.preview-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;color:#fff}.preview-username{font-weight:700;font-size:16px;color:#fff}.preview-status{font-size:13px;color:#949ba4}.color-grid{display:flex;flex-wrap:wrap;gap:10px}.color-swatch{width:36px;height:36px;border-radius:50%;cursor:pointer;border:3px solid transparent}.color-swatch.selected{border-color:#fff}.status-options{display:flex;flex-direction:column;gap:4px}.status-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:4px;cursor:pointer;font-size:14px}.status-option:hover{background:#35373c}.status-option.selected{background:#404249;color:#fff}.status-dot-inline{width:10px;height:10px;border-radius:50%;display:inline-block}.invite-code-box{display:flex;align-items:center;justify-content:space-between;background:#1e1f22;border-radius:4px;padding:12px 16px}.invite-code-box code{font-size:16px;letter-spacing:1px;color:#00a8fc}.invite-code-box button{padding:6px 14px;font-size:13px}.settings-member-list{display:flex;flex-direction:column;gap:4px}.settings-member-row{display:flex;align-items:center;gap:12px;padding:8px;border-radius:4px}.settings-member-row:hover{background:#2b2d31}.settings-member-name{flex:1;font-size:14px;display:flex;align-items:center;gap:8px}.member-actions{display:flex;gap:6px}.small-btn{padding:5px 10px;font-size:12px;background:#4e5058}.small-btn:hover{background:#6d6f78}.small-btn.danger{background:transparent;border:1px solid #f23f42;color:#f23f42}.small-btn.danger:hover{background:#f23f421a}.danger-btn{background:#da373c}.danger-btn:hover{background:#a12828}.member-item{cursor:pointer}.loading-screen{height:100vh;width:100vw;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#313338;gap:24px}.loading-logo{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px}.loading-ring{transform:rotate(-90deg);transform-origin:center;stroke-dasharray:188;stroke-dashoffset:140;animation:spin 1s linear infinite}.loading-ring-bg{transform:rotate(-90deg);transform-origin:center;opacity:.3}@keyframes spin{to{transform:rotate(270deg)}}.loading-wordmark{font-size:22px;font-weight:800;color:#fff;letter-spacing:.5px;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-dots{display:flex;gap:6px}.loading-dots span{width:8px;height:8px;border-radius:50%;background:#5865f2;animation:dotBounce 1.4s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-8px);opacity:1}}.auth-brand{text-align:center;font-size:20px;font-weight:800;color:#5865f2;margin-bottom:12px;letter-spacing:.5px}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}button{transform:scale(1)}button:active{transform:scale(.96)}.server-icon{animation:popIn .25s cubic-bezier(.34,1.56,.64,1)}.server-icon:hover{transform:scale(1.05)}.server-icon:active{transform:scale(.95)}.channel-item,.dm-item,.member-item{animation:slideInLeft .2s ease-out}.channel-item:hover,.dm-item:hover,.member-item:hover{transform:translate(2px)}.msg-avatar,.member-avatar,.dm-avatar-small,.user-avatar,.preview-avatar{transition:transform .15s ease}.msg-avatar:hover,.member-avatar:hover{transform:scale(1.08)}.color-swatch{transition:transform .15s ease,border-color .15s ease}.color-swatch:hover{transform:scale(1.15)}.status-option{transition:background .15s ease,transform .1s ease}.status-option:active{transform:scale(.98)}.typing-indicator{animation:fadeIn .2s ease-out}.settings-tab{position:relative;overflow:hidden}.settings-tab.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:#5865f2;border-radius:2px}.invite-code-box button,.small-btn{transition:transform .1s ease}.invite-code-box button:active,.small-btn:active{transform:scale(.94)}.chat-main,.channel-sidebar,.member-sidebar{animation:fadeIn .15s ease-out}
