.context-menu{animation:contextMenuFadeIn .15s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);list-style:none;margin:0;min-width:200px;padding:var(--space-2);position:fixed;z-index:1000}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.context-menu li{margin:0;padding:0}.context-menu-item{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--space-3);padding:var(--space-2) var(--space-3);text-align:left;transition:all var(--transition-base);width:100%}.context-menu-item:hover{background:var(--bg-tertiary)}.context-menu-item.danger{color:var(--accent-danger)}.context-menu-item.danger:hover{background:#ef44441a;color:var(--accent-danger)}.context-menu-icon{flex-shrink:0;font-size:var(--font-size-base);text-align:center;width:16px}.context-menu-label{flex:1 1;white-space:nowrap}.context-menu-separator{background:var(--border-secondary);height:1px;margin:var(--space-2) 0}.modal-backdrop{align-items:center;animation:fadeIn var(--transition-base);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:var(--bg-overlay);bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-4);position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideIn var(--transition-base);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:90vh;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;padding:var(--space-6) var(--space-6) var(--space-4) var(--space-6)}.modal-title{color:var(--text-primary);font-size:var(--font-size-2xl);font-weight:700;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;line-height:1;transition:all var(--transition-base);width:40px}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:scale(1.1)}.modal-body{padding:var(--space-6)}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:var(--primary-800)}.modal-content::-webkit-scrollbar-thumb{background:var(--primary-600);border-radius:var(--radius-sm)}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--primary-500)}@media (max-width:640px){.modal-backdrop{padding:var(--space-2)}.modal-content{border-radius:var(--radius-lg);max-height:95vh}.modal-header{padding:var(--space-4)}.modal-title{font-size:var(--font-size-xl)}.modal-close{font-size:20px;height:32px;width:32px}.modal-body{padding:var(--space-4)}}.create-server-form{display:flex;flex-direction:column;gap:var(--space-6)}.form-section{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center}.form-description{color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.6;margin:0}.form-input,.form-textarea{background:var(--bg-tertiary);border:2px solid var(--border-primary);font-family:inherit;padding:var(--space-4);resize:none;transition:all var(--transition-base)}.form-input:focus,.form-textarea:focus{background:var(--bg-elevated);box-shadow:0 0 0 3px #7c3aed1a}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.character-count{margin-top:-var(--space-1);text-align:right}.form-actions{border-top:1px solid var(--border-primary);justify-content:flex-end;padding-top:var(--space-4)}.btn{display:flex}.btn.secondary{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-primary)}.btn.secondary:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--border-secondary)}.btn.primary{background:var(--accent-primary);color:var(--text-primary)}.btn.primary:hover:not(:disabled){background:var(--accent-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn.primary:active:not(:disabled){transform:translateY(0)}@media (max-width:640px){.form-actions{flex-direction:column-reverse}.btn{justify-content:center;width:100%}.form-section{padding:var(--space-3)}}.join-server-form{display:flex;flex-direction:column;gap:var(--space-6)}.invite-input{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:var(--font-size-lg);font-weight:600;letter-spacing:2px;text-align:center}.input-hint{color:var(--text-muted);font-size:var(--font-size-xs);font-style:italic;margin-top:var(--space-1);text-align:center}@media (max-width:640px){.invite-input{font-size:var(--font-size-base);letter-spacing:1px}}.create-channel-form{display:flex;flex-direction:column;gap:var(--space-4)}.channel-type-selector{display:flex;flex-direction:column;gap:var(--space-2)}.channel-type-option{align-items:flex-start;background:var(--bg-secondary);border:2px solid var(--border-secondary);border-radius:var(--radius-md);cursor:pointer;display:flex;padding:var(--space-3);transition:all var(--transition-base)}.channel-type-option:hover{background:var(--bg-tertiary);border-color:var(--border-primary)}.channel-type-option.selected{background:rgba(var(--accent-primary-rgb),.1);border-color:var(--accent-primary)}.channel-type-option input[type=radio]{margin:0;margin-right:var(--space-3);margin-top:2px}.channel-type-content{align-items:flex-start;display:flex;flex:1 1;gap:var(--space-3)}.channel-type-icon{align-items:center;color:var(--text-secondary);display:flex;flex-shrink:0;height:24px;justify-content:center;margin-top:2px;width:24px}.channel-type-icon svg{height:100%;width:100%}.channel-type-name{color:var(--text-primary);font-weight:600;margin-bottom:var(--space-1)}.channel-type-desc{color:var(--text-secondary);font-size:var(--font-size-sm)}.role-management{display:flex;flex-direction:column;height:100%}.role-management-loading,.role-management-no-permission{align-items:center;color:var(--text-secondary);display:flex;height:200px;justify-content:center}.role-management-error{background:var(--error-background);border:1px solid var(--error-border);border-radius:8px;color:var(--error-color);margin-bottom:16px;padding:12px}.role-management-content{display:flex;gap:24px;height:100%}.roles-sidebar{flex-shrink:0;width:250px}.roles-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.roles-header h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.create-role-button{align-items:center;background:var(--accent-color);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background-color .2s ease}.create-role-button:hover:not(:disabled){background:var(--accent-color-hover)}.create-role-button:disabled{cursor:not-allowed;opacity:.5}.role-creator{background:var(--background-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:16px;padding:16px}.role-name-input{background:var(--background-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:14px;margin-bottom:12px;padding:8px 12px;width:100%}.role-name-input:focus{border-color:var(--accent-color);outline:none}.role-color-input{border:1px solid var(--border-color);border-radius:6px;cursor:pointer;height:40px;margin-bottom:12px;width:100%}.role-creator-buttons{display:flex;gap:8px}.cancel-button,.create-button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s ease}.create-button{background:var(--accent-color);color:#fff}.create-button:hover{background:var(--accent-color-hover)}.cancel-button:hover{background:var(--background-modifier-hover)}.roles-list{display:flex;flex-direction:column;gap:4px}.role-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;position:relative;transition:background-color .2s ease}.role-item:hover{background:var(--background-modifier-hover)}.role-item.selected{background:var(--background-modifier-selected);border:1px solid var(--accent-color)}.role-item.everyone-role{border-top:1px solid var(--border-color);margin-top:8px;padding-top:16px}.role-color{flex-shrink:0}.role-name{color:var(--text-primary);flex:1 1;font-size:14px;font-weight:500}.delete-role-button{background:#0000;border:none;border-radius:4px;color:var(--text-danger);cursor:pointer;opacity:0;padding:4px;transition:all .2s ease}.role-item:hover .delete-role-button{opacity:1}.delete-role-button:hover{background:var(--background-modifier-hover)}.role-editor{flex:1 1;overflow-y:auto}.no-role-selected{align-items:center;color:var(--text-secondary);display:flex;height:200px;justify-content:center}.role-editor-content{height:100%}.role-header{border-bottom:1px solid var(--border-color);margin-bottom:24px;padding-bottom:24px}.role-title{color:var(--text-primary);font-size:24px;font-weight:600;margin:0 0 16px}.role-title.editable{border-radius:4px;cursor:pointer;padding:4px 8px;transition:background-color .2s ease}.role-title.editable:hover{background:var(--background-modifier-hover)}.name-editor{margin-bottom:16px}.role-name-edit{background:var(--background-primary);border:1px solid var(--accent-color);border-radius:6px;color:var(--text-primary);font-size:24px;font-weight:600;padding:8px 12px;width:100%}.role-name-edit:focus{outline:none}.role-properties{display:flex;flex-direction:column;gap:16px}.role-property{align-items:center;display:flex;gap:12px}.role-property label{color:var(--text-secondary);font-weight:500;min-width:60px}.role-color-picker{border:1px solid var(--border-color);border-radius:6px;cursor:pointer;height:30px;width:60px}.role-toggles{display:flex;flex-direction:column;gap:12px}.role-toggle{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;gap:8px}.role-toggle input[type=checkbox]{cursor:pointer;height:16px;width:16px}.permissions-section h4{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 16px}.admin-warning{align-items:center;background:var(--warning-background);border:1px solid var(--warning-border);border-radius:8px;color:var(--warning-color);display:flex;gap:8px;margin-bottom:24px;padding:12px}.permission-category h5{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 12px;padding-bottom:8px}.permissions-grid{display:flex;flex-direction:column;gap:8px}.permission-item{background:var(--background-secondary);border:1px solid var(--border-color);border-radius:8px;padding:12px;transition:background-color .2s ease}.permission-item:hover{background:var(--background-modifier-hover)}.permission-label{align-items:flex-start;cursor:pointer;display:flex;gap:12px}.permission-checkbox{cursor:pointer;flex-shrink:0;height:16px;margin-top:2px;width:16px}.permission-checkbox:disabled{cursor:not-allowed;opacity:.5}.server-settings-modal{height:80vh;max-height:700px;max-width:1000px;width:90vw}.server-settings-content{display:flex;gap:0;height:100%}.settings-sidebar{flex-shrink:0;padding:16px 0;width:200px}.settings-tab{background:#0000;display:block;font-weight:500;padding:12px 24px;width:100%}.settings-tab.active{border-right:2px solid var(--accent-color)}.settings-main{padding:24px}.settings-tab-content h3{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 16px}.settings-section{border-bottom:1px solid var(--border-primary);margin-bottom:var(--space-6);padding-bottom:var(--space-6)}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-group{margin-bottom:var(--space-4)}.form-label{color:var(--text-primary);display:block;margin-bottom:var(--space-2)}.form-input,.form-textarea{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-base);padding:var(--space-3);transition:border-color var(--transition-base);width:100%}.form-input:focus,.form-textarea:focus{border-color:var(--accent-primary);outline:none}.form-input:disabled,.form-textarea:disabled{cursor:not-allowed;opacity:.6}.form-textarea{min-height:80px;resize:vertical}.form-help{display:block}.form-help.warning{color:var(--status-warning)}.form-actions{align-items:center;display:flex;gap:var(--space-3);margin-top:var(--space-4)}.btn{border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;gap:var(--space-2);padding:var(--space-2) var(--space-4);transition:all var(--transition-base)}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-primary{color:var(--text-primary)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-md)}.btn-secondary:hover:not(:disabled){transform:translateY(-1px)}.btn-warning{background:var(--status-warning);color:var(--text-primary)}.btn-warning:hover:not(:disabled){background:var(--status-warning-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.invite-section{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4)}.invite-code-container{display:flex;gap:var(--space-2)}.invite-code-input{background:var(--bg-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:var(--font-size-sm);letter-spacing:1px}.server-info{grid-gap:var(--space-3);display:grid;gap:var(--space-3)}.info-item{align-items:center;background:var(--bg-elevated);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:var(--space-3)}.info-item label{color:var(--text-secondary);font-weight:500}.info-item label,.info-value{font-size:var(--font-size-sm)}.info-value{color:var(--text-primary);font-weight:600}.error-message{background:var(--status-danger)}.error-message,.success-message{color:var(--text-primary);margin-bottom:var(--space-4);padding:var(--space-3)}.success-message{background:var(--status-success);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.loading-spinner{align-items:center;color:var(--text-muted);display:flex;font-size:var(--font-size-base);justify-content:center;padding:var(--space-8)}.channel-permissions-modal{height:80vh;max-height:700px;max-width:1000px;width:90vw}.channel-permissions-content{display:flex;gap:0;height:calc(100% - 60px)}.targets-sidebar{background:var(--background-secondary);border-right:1px solid var(--border-color);flex-shrink:0;overflow-y:auto;padding:16px;width:250px}.targets-sidebar h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 16px}.targets-list{display:flex;flex-direction:column;gap:4px}.target-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:8px 12px;position:relative;transition:background-color .2s ease}.target-item:hover{background:var(--background-modifier-hover)}.target-item.selected{background:var(--background-modifier-selected);border:1px solid var(--accent-color)}.target-item.has-overrides{border-left:3px solid var(--accent-color)}.target-icon{flex-shrink:0}.role-color{border-radius:50%;height:16px;width:16px}.member-avatar{align-items:center;background:var(--accent-color);border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:600;height:24px;justify-content:center;width:24px}.target-name{color:var(--text-primary);flex:1 1;font-size:14px;font-weight:500}.override-indicator{background:var(--accent-color);border-radius:50%;flex-shrink:0;height:6px;width:6px}.permissions-editor{flex:1 1;overflow-y:auto;padding:24px}.no-permission,.no-target-selected{align-items:center;color:var(--text-secondary);display:flex;height:200px;justify-content:center;text-align:center}.permission-editor-content{height:100%}.editor-header{border-bottom:1px solid var(--border-color);margin-bottom:24px;padding-bottom:16px}.editor-header h3{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 8px}.target-type{font-weight:400;margin-left:8px}.editor-description,.target-type{color:var(--text-secondary);font-size:14px}.editor-description{line-height:1.4;margin:0}.permission-categories{display:flex;flex-direction:column;gap:24px}.permission-category h4{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 12px;padding-bottom:8px}.permissions-list{display:flex;flex-direction:column;gap:8px}.permission-row{align-items:center;background:var(--background-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px;transition:background-color .2s ease}.permission-row:hover{background:var(--background-modifier-hover)}.permission-info{flex:1 1;margin-right:16px}.permission-name{color:var(--text-primary);display:block;font-size:14px;font-weight:500;margin-bottom:4px}.permission-description{color:var(--text-secondary);display:block;font-size:12px;line-height:1.4}.permission-controls{display:flex;flex-shrink:0;gap:4px}.permission-button{align-items:center;background:var(--background-tertiary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;transition:all .2s ease;width:32px}.permission-button:hover{background:var(--background-modifier-hover)}.permission-button.inherit{color:var(--text-secondary)}.permission-button.inherit.active{background:var(--background-modifier-selected);border-color:var(--text-secondary);color:var(--text-primary)}.permission-button.deny{color:var(--text-danger)}.permission-button.deny.active{background:var(--error-background);border-color:var(--error-color);color:var(--error-color)}.permission-button.allow{color:var(--text-success)}.permission-button.allow.active{background:var(--success-background);border-color:var(--success-color);color:var(--success-color)}.modal-actions{background:var(--background-secondary);border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.cancel-button,.save-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s ease}.cancel-button{background:var(--background-tertiary);color:var(--text-secondary)}.cancel-button:hover:not(:disabled){background:var(--background-modifier-hover)}.save-button{background:var(--accent-color);color:#fff}.save-button:hover:not(:disabled){background:var(--accent-color-hover)}.cancel-button:disabled,.save-button:disabled{cursor:not-allowed;opacity:.5}.server-list{-ms-overflow-style:none;align-items:center;display:flex;flex-direction:column;gap:var(--space-2);height:100vh;overflow-y:auto;padding:var(--space-3) 0;scrollbar-width:none}.server-list::-webkit-scrollbar{display:none}.server-item,.server-item-wrapper{align-items:center;display:flex;position:relative}.server-item{background:var(--bg-tertiary);border:none;border-radius:var(--radius-xl);cursor:pointer;height:48px;justify-content:center;overflow:hidden;transition:all var(--transition-base);width:48px}.server-item.active,.server-item:hover{background:var(--accent-primary);border-radius:var(--radius-lg)}.server-item.home-button{background:var(--accent-primary);color:var(--text-primary)}.server-item.home-button.active,.server-item.home-button:hover{background:var(--accent-primary-hover)}.server-item.add-server{background:rgba(var(--accent-primary-rgb),.1);border:2px dashed rgba(var(--accent-primary-rgb),.45);color:var(--accent-primary)}.server-item.add-server:hover{background:linear-gradient(135deg,rgba(var(--accent-primary-rgb),.85),rgba(var(--accent-secondary-rgb),.85));border-color:#0000;box-shadow:0 12px 24px rgba(var(--accent-primary-rgb),.25);color:var(--text-primary)}.server-icon{align-items:center;color:var(--text-primary);display:flex;font-size:var(--font-size-lg);font-weight:600;height:24px;justify-content:center;width:24px}.server-icon svg,.server-image{height:100%;width:100%}.server-image{object-fit:cover}.server-pill{background:var(--text-primary);border-radius:0 2px 2px 0;height:0;left:-4px;position:absolute;transition:height var(--transition-base);width:4px}.server-item-wrapper:hover .server-pill{height:20px}.server-item.active+.server-pill{height:40px}.server-separator{background:var(--border-primary);border-radius:1px;height:2px;margin:var(--space-2) 0;width:32px}@media (max-width:768px){.server-list{flex-direction:row;gap:var(--space-3);height:auto;overflow-x:auto;overflow-y:hidden;padding:var(--space-2) var(--space-3)}.server-item{flex-shrink:0}.server-separator{height:32px;margin:0 var(--space-2);width:2px}.server-pill{display:none}}.voice-channel{border-radius:var(--border-radius-md);margin:var(--space-1) 0;overflow:hidden;transition:all .2s ease}.voice-channel.connected{background:rgba(var(--accent-primary-rgb),.1);border:1px solid rgba(var(--accent-primary-rgb),.3)}.voice-channel-button{background:none;border:none;border-radius:var(--border-radius-md);color:var(--text-secondary);cursor:pointer;padding:var(--space-2) var(--space-3);text-align:left;transition:all .2s ease;width:100%}.voice-channel-button:hover{background:var(--bg-hover);color:var(--text-primary)}.voice-channel.selected .voice-channel-button{background:var(--bg-active);color:var(--text-primary)}.voice-channel.connected .voice-channel-button{color:var(--accent-primary)}.voice-channel-header{align-items:center;display:flex;gap:var(--space-2);margin-bottom:var(--space-1)}.voice-channel-icon{flex-shrink:0;opacity:.7}.voice-channel.connected .voice-channel-icon{opacity:1}.voice-channel-name{flex:1 1;font-size:var(--font-size-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection-indicator{gap:var(--space-1)}.connection-dot{background:var(--accent-primary);height:6px;width:6px}.connected-users{margin-top:var(--space-1);padding-left:calc(16px + var(--space-2))}.user-count{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:400}.voice-controls{background:rgba(var(--bg-secondary-rgb),.5);border-top:1px solid var(--border-primary);display:flex;gap:var(--space-1);padding:var(--space-2) var(--space-3)}.voice-control-btn{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.voice-control-btn:hover{background:var(--bg-hover);border-color:var(--border-secondary);color:var(--text-primary)}.voice-control-btn.muted{background:var(--danger-primary);border-color:var(--danger-primary);color:#fff}.voice-control-btn.deafened{background:var(--warning-primary);border-color:var(--warning-primary);color:#fff}.voice-control-btn.disconnect{background:var(--danger-primary);border-color:var(--danger-primary);color:#fff}.voice-control-btn.disconnect:hover{background:var(--danger-secondary);border-color:var(--danger-secondary)}.voice-channel.speaking .connection-dot{animation:speaking .5s infinite alternate;background:var(--success-primary)}@media (max-width:768px){.voice-controls{flex-wrap:wrap;gap:var(--space-1)}.voice-control-btn{height:28px;width:28px}}.channel-sidebar{flex:1 1;flex-direction:column;height:100%}.channel-sidebar,.server-header{background:var(--bg-secondary);display:flex}.server-header{align-items:center;border-bottom:1px solid var(--border-primary);justify-content:space-between;padding:var(--space-4);position:-webkit-sticky;position:sticky;top:0;z-index:10}.server-name{color:var(--text-primary);flex:1 1;font-size:var(--font-size-lg);font-weight:600;margin:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.server-name-skeleton{animation:pulse 2s infinite;background:var(--bg-tertiary);border-radius:var(--radius-sm);height:24px;width:60%}.server-dropdown-button{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;padding:var(--space-2);transition:all var(--transition-base)}.server-dropdown-button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.dropdown-icon{font-size:var(--font-size-lg);transform:rotate(0deg);transition:transform var(--transition-base)}.channels-container{flex:1 1;overflow-y:auto;padding:var(--space-2) 0}.channel-group{margin-bottom:var(--space-4)}.category-header{margin-bottom:var(--space-1);padding:var(--space-1) var(--space-4)}.category-toggle{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;font-size:var(--font-size-xs);font-weight:600;gap:var(--space-2);letter-spacing:.5px;padding:var(--space-1);text-align:left;text-transform:uppercase;transition:all var(--transition-base);width:100%}.category-toggle:hover{color:var(--text-secondary)}.category-arrow{font-size:10px;transition:transform var(--transition-base)}.category-arrow.collapsed{transform:rotate(-90deg)}.empty-channels{padding:var(--space-6) var(--space-4);text-align:center}.empty-channels p{color:var(--text-muted);font-size:var(--font-size-sm);margin:0 0 var(--space-2) 0}.empty-hint{font-size:var(--font-size-xs)!important;opacity:.7}.category-name{flex:1 1}.category-channels{padding-left:var(--space-2)}.channel-item{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-base);gap:var(--space-3);margin:0 var(--space-2) var(--space-1) var(--space-2);padding:var(--space-2) var(--space-4);text-align:left;transition:all var(--transition-base);width:100%}.channel-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.channel-item.active{background:var(--bg-elevated);color:var(--text-primary)}.channel-item.voice{color:var(--accent-secondary)}.channel-item.voice.active,.channel-item.voice:hover{background:#06b6d41a;color:var(--accent-secondary)}.channel-icon{flex-shrink:0;font-size:var(--font-size-lg);text-align:center;width:20px}.channel-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.channel-sidebar{max-height:200px}.channels-container{max-height:140px}.server-header{padding:var(--space-3)}.server-name{font-size:var(--font-size-base)}.channel-item{margin:0 var(--space-1) var(--space-1) var(--space-1);padding:var(--space-2) var(--space-3)}}.message-item{border-radius:var(--radius-sm);padding:var(--space-1) 0;position:relative;transition:background-color var(--transition-base)}.message-item:hover{background:#ffffff05}.message-content-wrapper{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-2)}.message-text{word-wrap:break-word;color:var(--text-primary);flex:1 1;font-size:var(--font-size-base);line-height:1.5;min-width:0;overflow-wrap:break-word}.message-text strong{font-weight:700}.message-text em{font-style:italic}.message-text code{background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--accent-secondary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em;padding:2px var(--space-1)}.message-text del{opacity:.7;text-decoration:line-through}.message-text .emoji{display:inline-block;height:1.2em;margin:0 .05em;vertical-align:-.1em;width:1.2em}.reaction-emoji .emoji{display:inline-block;height:1em;margin:0;vertical-align:-.1em;width:1em}.edited-indicator{cursor:help;font-style:italic}.edited-indicator,.message-time{color:var(--text-muted);font-size:var(--font-size-xs)}.message-time{opacity:0;transition:opacity var(--transition-base);white-space:nowrap}.message-item:hover .message-time{opacity:1}.message-actions{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex;gap:var(--space-1);padding:var(--space-1);position:absolute;right:var(--space-4);top:-12px;z-index:10}.action-btn{align-items:center;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;font-size:var(--font-size-sm);height:28px;justify-content:center;transition:all var(--transition-base);width:28px}.action-btn:hover{background:var(--bg-tertiary);transform:scale(1.1)}.action-btn.danger:hover{background:#ef44441a}.message-attachments{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.attachment{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);max-width:300px;padding:var(--space-2) var(--space-3)}.attachment-link{align-items:center;color:var(--accent-primary);display:flex;font-size:var(--font-size-sm);gap:var(--space-2);text-decoration:none}.attachment-link:hover{color:var(--accent-primary-hover);text-decoration:underline}.message-reactions{flex-wrap:wrap;margin-top:var(--space-2)}.message-reactions,.reaction{display:flex;gap:var(--space-1)}.reaction{align-items:center;background:#7c3aed1a;border:1px solid #7c3aed4d;border-radius:var(--radius-full);cursor:pointer;font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);transition:all var(--transition-base)}.reaction:hover{background:#7c3aed33;border-color:#7c3aed80;transform:scale(1.05)}.reaction-emoji{font-size:var(--font-size-sm)}.reaction-count{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600}.message-item.own .message-text{color:var(--text-primary)}@media (max-width:768px){.message-text{font-size:var(--font-size-sm)}.message-actions{justify-content:flex-end;margin-top:var(--space-2);position:static}.action-btn{height:32px;width:32px}.attachment{max-width:100%}}.message-list{display:flex;flex-direction:column;gap:var(--space-4);padding:0 var(--space-4)}.message-list-empty{align-items:center;display:flex;flex:1 1;justify-content:center;padding:var(--space-8)}.empty-state{color:var(--text-secondary);text-align:center}.empty-icon{color:var(--text-muted);font-size:4rem;margin-bottom:var(--space-4)}.empty-state h3{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:600;margin:0 0 var(--space-2) 0}.empty-state p{font-size:var(--font-size-base);line-height:1.6;margin:0}.message-group{display:flex;flex-direction:column;gap:var(--space-2)}.message-group:hover{background:#ffffff05;border-radius:var(--radius-md);margin:0 calc(var(--space-2)*-1);padding:var(--space-2)}.message-header{align-items:center;display:flex;gap:var(--space-3);margin-bottom:var(--space-1)}.avatar-placeholder{font-size:var(--font-size-lg)}.message-meta{align-items:baseline;display:flex;gap:var(--space-3)}.user-name{font-size:var(--font-size-base)}.message-timestamp{color:var(--text-muted);font-size:var(--font-size-xs)}.message-content{display:flex;flex-direction:column;gap:var(--space-1);margin-left:calc(40px + var(--space-3))}@media (max-width:768px){.message-list{gap:var(--space-3);padding:0 var(--space-3)}.user-avatar{height:32px;width:32px}.avatar-placeholder{font-size:var(--font-size-base)}.message-header,.message-meta{gap:var(--space-2)}.user-name{font-size:var(--font-size-sm)}.message-timestamp{font-size:10px}.message-content{margin-left:calc(32px + var(--space-2))}}.message-input-container{display:flex;flex-direction:column;gap:var(--space-2)}.message-input-form{width:100%}.input-wrapper{align-items:flex-end;background:var(--bg-tertiary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);display:flex;gap:var(--space-2);padding:var(--space-3);transition:all var(--transition-base)}.input-wrapper:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px #7c3aed1a}.input-actions-left,.input-actions-right{align-items:center;display:flex;gap:var(--space-1)}.input-action-btn{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-lg);height:32px;justify-content:center;transition:all var(--transition-base);width:32px}.input-action-btn:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary);transform:scale(1.1)}.input-action-btn:disabled{cursor:not-allowed;opacity:.5}.input-action-btn.active{background:var(--accent-primary);color:var(--text-primary)}.emoji-picker-wrapper{position:relative}.emoji-picker{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-lg);bottom:100%;box-shadow:var(--shadow-lg);margin-bottom:var(--space-2);min-width:200px;padding:var(--space-3);position:absolute;right:0;z-index:1000}.emoji-grid{grid-gap:var(--space-1);display:grid;gap:var(--space-1);grid-template-columns:repeat(6,1fr)}.emoji-btn{align-items:center;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:var(--font-size-lg);height:32px;justify-content:center;transition:all var(--transition-base);width:32px}.emoji-btn:hover{background:var(--bg-tertiary);transform:scale(1.1)}.message-textarea{background:none;border:none;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:var(--font-size-base);line-height:1.5;max-height:120px;min-height:24px;outline:none;overflow-y:auto;resize:none;scrollbar-width:thin}.message-textarea::placeholder{color:var(--text-muted)}.message-textarea::-webkit-scrollbar{width:4px}.message-textarea::-webkit-scrollbar-track{background:#0000}.message-textarea::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:2px}.send-button{align-items:center;background:var(--bg-elevated);border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all var(--transition-base);width:32px}.send-button:hover:not(:disabled){transform:scale(1.1)}.send-button.active,.send-button:hover:not(:disabled){background:var(--accent-primary);color:var(--text-primary)}.send-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.input-hints{align-items:center;display:flex;justify-content:space-between;padding:0 var(--space-2)}.character-count,.hint-text{color:var(--text-muted);font-size:var(--font-size-xs)}.character-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:768px){.input-wrapper{gap:var(--space-1);padding:var(--space-2)}.input-action-btn{font-size:var(--font-size-base)}.input-action-btn,.send-button{height:28px;width:28px}.message-textarea{font-size:var(--font-size-sm)}.input-hints{padding:0 var(--space-1)}.character-count,.hint-text{font-size:10px}}.chat-area{flex-direction:column;height:100%}.chat-area,.chat-header{background:var(--bg-primary);display:flex}.chat-header{align-items:center;border-bottom:1px solid var(--border-primary);box-shadow:var(--shadow-sm);justify-content:space-between;padding:var(--space-4);position:-webkit-sticky;position:sticky;top:0;z-index:10}.channel-info{flex:1 1}.channel-icon{font-size:var(--font-size-xl)}.channel-name{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:600;margin:0}.channel-name-skeleton{animation:pulse 2s infinite;background:var(--bg-tertiary);border-radius:var(--radius-sm);height:24px;width:120px}.channel-description{border-left:1px solid var(--border-secondary);color:var(--text-muted);font-size:var(--font-size-sm);margin-left:var(--space-2);padding-left:var(--space-2)}.channel-actions{align-items:center;display:flex;gap:var(--space-2)}.chat-messages{flex:1 1;overflow-y:auto;padding:var(--space-4) 0;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:#0000}.chat-messages::-webkit-scrollbar-thumb{background:var(--primary-600);border-radius:var(--radius-sm)}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--primary-500)}.chat-input-container{background:var(--bg-primary);border-top:1px solid var(--border-primary);padding:var(--space-4)}.chat-loading{color:var(--text-secondary);gap:var(--space-4)}.chat-error,.chat-loading{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center}.chat-error{gap:var(--space-2);padding:var(--space-8);text-align:center}.chat-error h3{color:var(--text-primary);font-size:var(--font-size-xl);margin:0}.chat-error p{color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.6;margin:0;max-width:400px}@media (max-width:768px){.chat-header{padding:var(--space-3)}.channel-info{gap:var(--space-2)}.channel-name{font-size:var(--font-size-base)}.channel-description{display:none}.chat-messages{padding:var(--space-2) 0}.chat-input-container{padding:var(--space-3)}}.voice-area{background:var(--bg-primary);display:flex;flex-direction:column;height:100%}.voice-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);padding:var(--space-4) var(--space-6)}.channel-info{align-items:center;display:flex;gap:var(--space-3)}.channel-icon{color:var(--text-secondary)}.channel-details h2{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:600;margin:0 0 var(--space-1) 0}.channel-details p{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.voice-content{display:flex;flex:1 1;flex-direction:column}.voice-connect{align-items:center;display:flex;flex:1 1;justify-content:center;padding:var(--space-8)}.connect-prompt{max-width:400px;text-align:center}.connect-icon{color:var(--text-muted);margin-bottom:var(--space-4)}.connect-prompt h3{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:600;margin:0 0 var(--space-3) 0}.connect-prompt p{color:var(--text-secondary);line-height:1.5;margin:0 0 var(--space-6) 0}.connect-button{align-items:center;background:var(--accent-primary);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:500;gap:var(--space-2);padding:var(--space-3) var(--space-6);transition:all .2s ease}.connect-button:hover{background:var(--accent-secondary);transform:translateY(-1px)}.voice-connected{display:flex;flex:1 1;flex-direction:column;padding:var(--space-4)}.connection-status{align-items:center;background:rgba(var(--success-primary-rgb),.1);border:1px solid rgba(var(--success-primary-rgb),.3);border-radius:var(--border-radius-md);display:flex;justify-content:space-between;margin-bottom:var(--space-6);padding:var(--space-4)}.connection-indicator{align-items:center;color:var(--success-primary);display:flex;font-weight:500;gap:var(--space-2)}.connection-dot{animation:pulse 2s infinite;border-radius:50%;height:8px;width:8px}.connection-dot.connected{background:var(--success-primary)}.user-count{color:var(--text-secondary);font-size:var(--font-size-sm)}.voice-users{flex:1 1;margin-bottom:var(--space-6)}.voice-users h4{color:var(--text-primary);font-size:var(--font-size-base);font-weight:600;letter-spacing:.5px;margin:0 0 var(--space-4) 0;text-transform:uppercase}.user-list{display:flex;flex-direction:column;gap:var(--space-2)}.voice-user{align-items:center;background:var(--bg-secondary);border-radius:var(--border-radius-md);display:flex;gap:var(--space-3);padding:var(--space-3);transition:all .2s ease}.voice-user:hover{background:var(--bg-hover)}.voice-user.self{background:rgba(var(--accent-primary-rgb),.1);border:1px solid rgba(var(--accent-primary-rgb),.3)}.user-avatar{align-items:center;background:var(--accent-primary);border-radius:50%;color:#fff;display:flex;font-size:var(--font-size-sm);font-weight:600;height:40px;justify-content:center;width:40px}.user-name{display:block;font-weight:500;margin-bottom:var(--space-1)}.user-status{display:flex;gap:var(--space-1)}.status-badge{border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:500;letter-spacing:.5px;padding:2px var(--space-2);text-transform:uppercase}.status-badge.muted{background:var(--danger-primary);color:#fff}.status-badge.deafened{background:var(--warning-primary);color:#fff}.status-badge.speaking{animation:speaking .5s infinite alternate;background:var(--success-primary);color:#fff}.voice-controls-panel{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);padding:var(--space-4)}.control-group{display:flex;gap:var(--space-3);justify-content:center}.voice-control{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-2);min-width:80px;padding:var(--space-3);transition:all .2s ease}.voice-control:hover{background:var(--bg-hover);border-color:var(--border-secondary);color:var(--text-primary)}.voice-control.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.voice-control.disconnect{background:var(--danger-primary);border-color:var(--danger-primary);color:#fff}.voice-control.disconnect:hover{background:var(--danger-secondary);border-color:var(--danger-secondary)}.voice-control span{font-size:var(--font-size-xs);font-weight:500;letter-spacing:.5px;text-transform:uppercase}@keyframes speaking{0%{opacity:1;transform:scale(1)}to{opacity:.8;transform:scale(1.1)}}@media (max-width:768px){.voice-header{padding:var(--space-3) var(--space-4)}.voice-connected{padding:var(--space-3)}.control-group{flex-wrap:wrap;gap:var(--space-2)}.voice-control{min-width:70px;padding:var(--space-2)}}.settings-modal{height:600px;max-height:80vh;max-width:90vw;width:900px}.settings-content{border-radius:12px;display:flex;height:100%;overflow:hidden}.settings-sidebar{background:var(--background-secondary);border-right:1px solid var(--border-color);padding:20px 0;width:240px}.settings-tabs{display:flex;flex-direction:column;gap:2px}.settings-tab{align-items:center;background:none;border:none;border-radius:0;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;gap:12px;padding:12px 20px;text-align:left;transition:all .2s ease}.settings-tab:hover{background:var(--background-modifier-hover);color:var(--text-primary)}.settings-tab.active{background:var(--background-modifier-selected);color:var(--text-primary);position:relative}.settings-tab.active:before{background:var(--accent-primary);bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.settings-main{flex:1 1;overflow-y:auto;padding:20px 24px}.settings-section h3{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 24px}.setting-item{margin-bottom:24px}.setting-item label{display:block;font-weight:500;margin-bottom:8px}.setting-input,.setting-item label{color:var(--text-primary);font-size:14px}.setting-input{background:var(--input-background);border:1px solid var(--border-color);border-radius:8px;max-width:400px;padding:12px 16px;transition:border-color .2s ease;width:100%}.setting-input:focus{border-color:var(--accent-primary);outline:none}.setting-input.disabled{background:var(--background-secondary);color:var(--text-muted);cursor:not-allowed}.setting-select{background:var(--input-background);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;max-width:200px;padding:12px 16px;transition:border-color .2s ease;width:100%}.setting-select:focus{border-color:var(--accent-primary);outline:none}.setting-toggle{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.setting-toggle label{flex:1 1;margin:0}.setting-toggle input[type=checkbox]{cursor:pointer;height:20px;margin:0;width:20px}.setting-description{color:var(--text-secondary);font-size:13px;line-height:1.4;margin:8px 0 0}@media (max-width:768px){.settings-modal{border-radius:0;height:100vh;max-height:none;max-width:none;width:100vw}.settings-content{border-radius:0;flex-direction:column}.settings-sidebar{border-bottom:1px solid var(--border-color);border-right:none;max-height:200px;overflow-x:auto;width:100%}.settings-tabs{flex-direction:row;padding:0 20px}.settings-tab,.settings-tabs{min-width:-webkit-max-content;min-width:max-content}.settings-tab{white-space:nowrap}.settings-tab.active:before{bottom:0;height:3px;left:0;right:0;top:auto;width:auto}.settings-main{padding:16px}}.user-panel{background:var(--primary-800);border-top:1px solid var(--border-primary);justify-content:space-between;margin-top:auto;padding:var(--space-3);position:relative}.user-info,.user-panel{align-items:center;display:flex;gap:var(--space-3)}.user-info{flex:1 1;min-width:0}.user-avatar{border-radius:var(--radius-full);flex-shrink:0;height:32px;overflow:hidden;position:relative;width:32px}.user-avatar img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;background:var(--accent-primary);color:var(--text-primary);display:flex;font-size:var(--font-size-sm);font-weight:600;height:100%;justify-content:center;width:100%}.user-details{flex:1 1;min-width:0}.user-name{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600}.user-name,.user-username{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-username{color:var(--text-secondary);font-size:var(--font-size-xs);margin-top:1px}.user-actions{display:flex;gap:var(--space-1)}.action-button{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all var(--transition-base);width:28px}.action-button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.action-button svg{height:16px;width:16px}.user-menu{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-lg);bottom:100%;box-shadow:var(--shadow-lg);min-width:180px;padding:var(--space-2);position:absolute;right:var(--space-3);z-index:50}.menu-item{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);text-align:left;transition:all var(--transition-base);width:100%}.menu-item:hover{background:var(--bg-tertiary)}.menu-item.danger{color:var(--accent-danger)}.menu-item.danger:hover{background:#ef44441a}.menu-separator{background:var(--border-primary);height:1px;margin:var(--space-2) 0}@media (max-width:768px){.user-panel{gap:var(--space-2);padding:var(--space-2)}.user-avatar{height:28px;width:28px}.user-name{font-size:var(--font-size-xs)}.user-username{font-size:10px}.action-button{height:24px;width:24px}}.main-layout{background:var(--bg-primary);bottom:0;display:flex;height:100vh;overflow:hidden}.hanasu-header,.main-layout{left:0;position:fixed;right:0;top:0}.hanasu-header{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);z-index:1000}.header-content{align-items:center;display:flex;justify-content:center;margin:0 auto;max-width:1200px;padding:var(--space-3) var(--space-4)}.header-logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);background-clip:text;-webkit-background-clip:text;color:var(--text-primary);font-size:var(--font-size-lg);font-weight:700;letter-spacing:.5px;margin:0}.server-list-container{flex-shrink:0;margin-top:60px;width:72px}.server-list-wrapper{background:var(--primary-900);border-right:1px solid var(--border-primary);height:100%}.channel-sidebar-container{display:flex;flex-direction:column;flex-shrink:0;margin-top:60px;width:240px}.sidebar-glass-panel{flex:1 1}.sidebar-glass-panel,.user-panel-floating{background:var(--bg-secondary);border-right:1px solid var(--border-primary)}.user-panel-floating{border-top:1px solid var(--border-primary)}.chat-area-container{display:flex;flex:1 1;flex-direction:column;margin-top:60px;min-width:0}.chat-area-wrapper{overflow:hidden;position:relative}.chat-area-wrapper,.welcome-screen{background:var(--bg-primary);flex:1 1}.welcome-screen{align-items:center;display:flex;justify-content:center}.welcome-content{padding:var(--space-8);text-align:center}.welcome-logo h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);background-clip:text;-webkit-background-clip:text;font-size:4rem;font-weight:800;letter-spacing:-.05em;margin-bottom:var(--space-4)}.logo-accent-line{background:var(--accent-primary);border-radius:1px;height:2px;margin:0 auto var(--space-6);width:80px}.welcome-message{color:var(--text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--space-2)}.welcome-hint{color:var(--text-muted);font-size:var(--font-size-sm);font-style:italic}@media (max-width:768px){.main-layout{flex-direction:column}.hanasu-notch{padding:8px 24px 12px}.notch-text{font-size:var(--font-size-xs)}.server-list-container{height:80px;margin-top:50px;padding:var(--space-2);width:100%}.server-list-wrapper{animation:none;border-radius:16px;height:100%}.channel-sidebar-container{flex-direction:row;height:200px;margin-top:0;padding:var(--space-2);width:100%}.sidebar-glass-panel{animation:none;border-radius:16px;flex:1 1}.user-panel-floating{animation:none;border-radius:12px;width:200px}.chat-area-container{flex:1 1;margin-top:0;min-height:0;padding:var(--space-2)}.chat-area-wrapper{animation:none;border:1px solid #ffffff1a;border-radius:16px}.welcome-logo h1{font-size:3rem}.floating-orbs{gap:var(--space-2)}.orb{height:8px;width:8px}}.error-boundary{align-items:center;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;padding:var(--space-4)}.error-boundary-content{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);max-width:500px;padding:var(--space-8);text-align:center}.error-icon{align-items:center;color:var(--accent-warning);display:flex;justify-content:center;margin-bottom:var(--space-4)}.error-icon svg{height:56px;width:56px}.error-boundary-content h2{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:600;margin:0 0 var(--space-3) 0}.error-boundary-content p{color:var(--text-secondary);line-height:1.5;margin:0 0 var(--space-6) 0}.error-details{margin:var(--space-4) 0;text-align:left}.error-details summary{color:var(--text-muted);cursor:pointer;font-size:var(--font-size-sm);margin-bottom:var(--space-2)}.error-details summary:hover{color:var(--text-secondary)}.error-details pre{background:var(--bg-tertiary);border-radius:var(--border-radius-sm);color:var(--text-muted);font-size:var(--font-size-xs);max-height:200px;overflow-x:auto;overflow-y:auto;padding:var(--space-3)}.error-actions{display:flex;gap:var(--space-3);margin-top:var(--space-6)}.btn,.error-actions{justify-content:center}.btn{align-items:center;border:none;border-radius:var(--border-radius-md);cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:500;padding:var(--space-3) var(--space-6);text-decoration:none;transition:all .2s ease}.btn-primary:hover{background:var(--accent-secondary);transform:translateY(-1px)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.email-verification-container{align-items:center;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;padding:var(--space-4)}.email-verification-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:480px;padding:var(--space-8);width:100%}.verification-header{margin-bottom:var(--space-8);text-align:center}.verification-icon{align-items:center;background:var(--accent-primary);border-radius:var(--radius-full);color:#fff;display:inline-flex;height:80px;justify-content:center;margin-bottom:var(--space-4);width:80px}.verification-title{color:var(--text-primary);font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--space-2)}.verification-subtitle{color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.6}.verification-content{display:flex;flex-direction:column;gap:var(--space-6)}.verification-text{color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.6;text-align:center}.verification-message{border-radius:var(--radius-md);font-size:var(--font-size-sm);padding:var(--space-3) var(--space-4);text-align:center}.verification-message.success{background:var(--success-background);border:1px solid #10b9814d;color:var(--success-color)}.verification-message.error{background:var(--error-background);border:1px solid var(--error-border);color:var(--error-color)}.verification-message.info{background:#7c3aed1a;border:1px solid #7c3aed4d;color:var(--accent-primary)}.verification-actions{display:flex;flex-direction:column;gap:var(--space-3)}.btn-primary{background:var(--accent-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--font-size-base);font-weight:600;padding:var(--space-3) var(--space-6);transition:all var(--transition-base)}.btn-primary:hover:not(:disabled){background:var(--accent-primary-hover);transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:var(--font-size-base);font-weight:500;padding:var(--space-3) var(--space-6);transition:all var(--transition-base)}.btn-secondary:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--border-secondary)}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.verification-footer{border-top:1px solid var(--border-primary);padding-top:var(--space-6);text-align:center}.verification-note{color:var(--text-muted);margin-bottom:var(--space-3)}.btn-link,.verification-note{font-size:var(--font-size-sm)}.btn-link{background:none;border:none;color:var(--accent-primary);cursor:pointer;text-decoration:underline;transition:color var(--transition-base)}.btn-link:hover{color:var(--accent-primary-hover)}@media (max-width:768px){.email-verification-container{padding:var(--space-2)}.email-verification-card{padding:var(--space-6)}.verification-icon{height:64px;width:64px}.verification-title{font-size:var(--font-size-xl)}}.auth-container{align-items:center;background:linear-gradient(135deg,var(--primary-900) 0,var(--primary-800) 100%);display:flex;justify-content:center;min-height:100vh;padding:var(--space-4)}.auth-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:520px;padding:var(--space-4) var(--space-6);width:100%}.auth-header{margin-bottom:var(--space-4);text-align:center}.auth-title{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--space-1)}.auth-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.4}.auth-form{gap:var(--space-3)}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:var(--space-2)}.form-label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.form-input{background:var(--bg-tertiary);border:2px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-base);padding:var(--space-3);transition:all var(--transition-base)}.form-input:focus{background:var(--bg-elevated);border-color:var(--accent-primary);box-shadow:0 0 0 3px #7c3aed1a}.form-help,.form-input::placeholder{color:var(--text-muted)}.form-help{font-size:var(--font-size-xs);line-height:1.4;margin-top:var(--space-1)}.error-message{background:#ef44441a;border:1px solid var(--accent-danger);border-radius:var(--radius-md);color:var(--accent-danger);font-size:var(--font-size-sm);font-weight:500}.auth-button,.error-message{padding:var(--space-3) var(--space-4)}.auth-button{align-items:center;background:var(--accent-primary);border:none;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:600;gap:var(--space-2);justify-content:center;margin-top:var(--space-2);transition:all var(--transition-base)}.auth-button:hover:not(:disabled){background:var(--accent-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.auth-footer{align-items:center;border-top:1px solid var(--border-primary);display:flex;gap:var(--space-2);justify-content:center;margin-top:var(--space-3);padding-top:var(--space-3)}.auth-switch-text{color:var(--text-secondary);font-size:var(--font-size-sm)}.auth-switch-button{color:var(--accent-primary);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;transition:color var(--transition-base)}.auth-switch-button:hover{color:var(--accent-primary-hover);text-decoration:underline}@media (max-width:640px){.auth-container{padding:var(--space-2)}.auth-card{padding:var(--space-6)}.auth-title{font-size:var(--font-size-2xl)}}.landing-page{--landing-max-width:1200px;background:radial-gradient(circle at 10% 10%,rgba(var(--accent-secondary-rgb),.18),#0000 45%),radial-gradient(circle at 90% 20%,rgba(var(--accent-primary-rgb),.2),#0000 40%),linear-gradient(160deg,rgba(var(--primary-900-rgb),.96) 0,#16161afa 40%,#0c0c12 100%);color:var(--text-primary);min-height:100vh;overflow-x:hidden;padding:var(--space-6) var(--space-8) var(--space-16);position:relative}.landing-glow{border-radius:50%;filter:blur(100px);opacity:.5;position:absolute;z-index:0}.landing-glow-one{background:rgba(var(--accent-primary-rgb),.4);height:320px;left:-120px;top:-120px;width:320px}.landing-glow-two{background:rgba(var(--accent-secondary-rgb),.35);bottom:0;height:420px;right:-160px;width:420px}.landing-footer,.landing-header,.landing-main{margin:0 auto;max-width:var(--landing-max-width);position:relative;z-index:1}.landing-header{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#14141cb3;border:1px solid #ffffff0d;border-radius:var(--radius-xl);box-shadow:0 24px 48px #00000059;display:flex;gap:var(--space-6);justify-content:space-between;padding:var(--space-4) var(--space-6)}.landing-logo{font-size:var(--font-size-2xl);font-weight:700;letter-spacing:1.5px}.landing-nav{align-items:center;display:flex;font-size:var(--font-size-sm);gap:var(--space-6);letter-spacing:1px;text-transform:uppercase}.landing-nav a{border-bottom:2px solid #0000;color:var(--text-secondary);padding-bottom:4px}.landing-nav a:hover{border-color:rgba(var(--accent-primary-rgb),.6);color:var(--text-primary)}.landing-actions{align-items:center;display:flex;gap:var(--space-3)}.landing-button{align-items:center;border:2px solid #0000;border-radius:var(--radius-lg);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:600;height:44px;justify-content:center;letter-spacing:.5px;min-width:120px;padding:var(--space-3) var(--space-6);text-transform:uppercase;transition:all var(--transition-base)}.landing-button.ghost{background:#0000;border-color:#ffffff26;color:var(--text-secondary)}.landing-button.ghost:hover{background:#ffffff0d;border-color:#ffffff40;color:var(--text-primary);transform:translateY(-1px)}.landing-button.primary{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);border-color:#0000;color:var(--text-primary)}.landing-button.primary:hover{background:linear-gradient(135deg,var(--accent-primary-hover) 0,var(--accent-secondary) 100%);box-shadow:0 8px 24px rgba(var(--accent-primary-rgb),.4);transform:translateY(-1px)}.landing-main{margin-top:var(--space-12)}.landing-hero{grid-gap:var(--space-16);align-items:center;display:grid;gap:var(--space-16);grid-template-columns:1fr 1fr;margin-bottom:var(--space-20);min-height:80vh}.hero-content{display:flex;flex-direction:column;gap:var(--space-6)}.hero-content h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--text-primary) 0,rgba(var(--accent-primary-rgb),.9) 100%);-webkit-background-clip:text;background-clip:text;font-size:var(--font-size-6xl);font-weight:900;line-height:1.1}.hero-content p{color:var(--text-secondary);font-size:var(--font-size-xl);line-height:1.6;max-width:90%}.hero-badges{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-8)}.hero-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff14;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--space-3);padding:var(--space-4) var(--space-5);transition:all var(--transition-base)}.hero-badge:hover{background:#ffffff0d;border-color:rgba(var(--accent-primary-rgb),.2);transform:translateX(4px)}.badge-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.badge-icon svg{color:var(--accent-primary);height:20px;width:20px}.hero-preview{perspective:1000px}.preview-window{background:#0f0f14f2;border:1px solid #ffffff14;border-radius:var(--radius-xl);box-shadow:0 32px 64px #0006;padding:var(--space-6);transform:rotateY(-8deg) rotateX(4deg);transition:transform var(--transition-base)}.preview-window:hover{transform:rotateY(-4deg) rotateX(2deg)}.preview-toolbar{align-items:center;border-bottom:1px solid #ffffff0f;display:flex;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-3)}.preview-chip{background:rgba(var(--accent-secondary-rgb),.15);border:1px solid rgba(var(--accent-secondary-rgb),.2);border-radius:var(--radius-lg);color:#fffc;font-size:var(--font-size-xs);font-weight:600;letter-spacing:1px;padding:var(--space-1) var(--space-3);text-transform:uppercase}.preview-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--space-6)}.preview-header h2{font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--space-1)}.preview-header p{color:#fff9;font-size:var(--font-size-sm)}.preview-tag{background:rgba(var(--accent-primary-rgb),.12);border:1px solid rgba(var(--accent-primary-rgb),.2);border-radius:var(--radius-lg);color:#fffc;font-size:var(--font-size-xs);font-weight:600;letter-spacing:1px;padding:var(--space-2) var(--space-3);text-transform:uppercase}.preview-body{display:flex;flex-direction:column;gap:var(--space-4)}.preview-message{align-items:flex-start;display:flex;gap:var(--space-3)}.preview-avatar{align-items:center;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);border-radius:var(--radius-lg);display:flex;flex-shrink:0;font-size:var(--font-size-sm);font-weight:700;height:40px;justify-content:center;width:40px}.preview-avatar.alt{background:linear-gradient(135deg,var(--accent-secondary) 0,rgba(var(--accent-primary-rgb),.8) 100%)}.preview-avatar.typing{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.preview-content{flex:1 1}.preview-meta{align-items:center;display:flex;gap:var(--space-2);margin-bottom:var(--space-1)}.preview-author{font-size:var(--font-size-sm);font-weight:600}.preview-time{color:#ffffff80;font-size:var(--font-size-xs)}.preview-callout{grid-gap:var(--space-4);align-items:center;background:rgba(var(--accent-secondary-rgb),.08);border:1px solid rgba(var(--accent-secondary-rgb),.15);border-radius:var(--radius-lg);display:grid;gap:var(--space-4);grid-template-columns:auto 1fr auto;margin:var(--space-2) 0;padding:var(--space-4)}.callout-icon{font-size:var(--font-size-xl)}.callout-button{background:rgba(var(--accent-secondary-rgb),.2);border:1px solid rgba(var(--accent-secondary-rgb),.3);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:var(--font-size-xs);font-weight:600;padding:var(--space-2) var(--space-4);transition:all var(--transition-base)}.callout-button:hover{background:rgba(var(--accent-secondary-rgb),.3);transform:translateY(-1px)}.preview-typing{align-items:center;display:flex;gap:var(--space-3)}.typing-content{align-items:center;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:var(--radius-md);display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-4)}.typing-label{color:#fff9;font-size:var(--font-size-xs);letter-spacing:1px;text-transform:uppercase}.typing-dots{align-items:center;display:inline-flex;gap:4px}.typing-dots span{animation:typing 1.4s infinite;background:rgba(var(--accent-primary-rgb),.9);border-radius:50%;height:6px;width:6px}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.7;transform:translateY(0)}30%{opacity:1;transform:translateY(-8px)}}.preview-footer{align-items:center;border-top:1px solid #ffffff0f;display:flex;justify-content:space-between;margin-top:var(--space-6);padding-top:var(--space-4)}.footer-hint{color:#ffffff80;letter-spacing:1px;text-transform:uppercase}.footer-button,.footer-hint{font-size:var(--font-size-xs)}.footer-button{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);border:none;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-weight:600;padding:var(--space-2) var(--space-4);transition:all var(--transition-base)}.footer-button:hover{box-shadow:0 8px 24px rgba(var(--accent-primary-rgb),.4);transform:translateY(-1px)}.landing-section{margin-bottom:var(--space-20);padding:var(--space-8) 0}.section-header{margin-bottom:var(--space-12);text-align:center}.section-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--text-primary) 0,rgba(var(--accent-primary-rgb),.8) 100%);-webkit-background-clip:text;background-clip:text;font-size:var(--font-size-4xl);font-weight:800;margin-bottom:var(--space-4)}.section-header p{color:var(--text-secondary);font-size:var(--font-size-lg);line-height:1.6;margin:0 auto;max-width:600px}.features-grid{grid-gap:var(--space-8);display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.feature-card{background:#ffffff05;border:1px solid #ffffff0d;border-radius:var(--radius-xl);padding:var(--space-8);transition:all var(--transition-base)}.feature-card:hover{background:#ffffff0a;border-color:rgba(var(--accent-primary-rgb),.2);transform:translateY(-4px)}.feature-icon{font-size:var(--font-size-3xl);margin-bottom:var(--space-4)}.feature-card h3{font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--space-3)}.feature-card p{color:var(--text-secondary);line-height:1.6}.landing-security{background:linear-gradient(135deg,rgba(var(--accent-primary-rgb),.03) 0,rgba(var(--accent-secondary-rgb),.05) 100%);border-radius:var(--radius-2xl);margin:var(--space-16) 0;overflow:hidden;padding:var(--space-16) var(--space-8);position:relative}.landing-security:before{background:radial-gradient(circle at 20% 20%,rgba(var(--accent-primary-rgb),.1) 0,#0000 50%),radial-gradient(circle at 80% 80%,rgba(var(--accent-secondary-rgb),.08) 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.security-content{margin:0 auto;max-width:var(--landing-max-width);position:relative;z-index:1}.security-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:var(--space-12)}.security-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff05;border:1px solid #ffffff14;border-radius:var(--radius-xl);overflow:hidden;padding:var(--space-8);position:relative;transform-style:preserve-3d;transition:all .4s cubic-bezier(.4,0,.2,1)}.security-card:before{background:linear-gradient(90deg,var(--accent-primary) 0,var(--accent-secondary) 100%);content:"";height:2px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1)}.security-card:after{background:linear-gradient(45deg,#0000 30%,#ffffff05 50%,#0000 70%);content:"";height:200%;left:-50%;pointer-events:none;position:absolute;top:-50%;transform:rotate(45deg) translate(-100%,-100%);transition:transform .6s cubic-bezier(.4,0,.2,1);width:200%}.security-card:hover{background:#ffffff0a;border-color:rgba(var(--accent-primary-rgb),.2);box-shadow:0 20px 40px #0000004d,0 0 0 1px rgba(var(--accent-primary-rgb),.1),inset 0 1px 0 #ffffff1a;transform:translateY(-8px) rotateX(2deg)}.security-card:hover:before{transform:scaleX(1)}.security-card:hover:after{transform:rotate(45deg) translate(0)}.security-card h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--text-primary) 0,rgba(var(--accent-primary-rgb),.9) 100%);-webkit-background-clip:text;background-clip:text;font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--space-3);position:relative;z-index:2}.security-card p{color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.6;position:relative;z-index:2}.security-card:first-child{animation-delay:.1s}.security-card:nth-child(2){animation-delay:.2s}.security-card:nth-child(3){animation-delay:.3s}.security-card:nth-child(4){animation-delay:.4s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.security-card{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) both}.community-grid{grid-gap:var(--space-8);display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:var(--space-12)}.community-card{padding:var(--space-6);text-align:center}.community-card .card-icon{font-size:var(--font-size-4xl);margin-bottom:var(--space-4)}.community-card h3{font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--space-2)}.community-card p{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.5}.landing-footer{border-top:1px solid #ffffff0d;margin-top:var(--space-16);padding:var(--space-12) 0;text-align:center}.footer-content{align-items:center;display:flex;flex-direction:column;gap:var(--space-6)}.footer-logo{font-size:var(--font-size-2xl);font-weight:700;letter-spacing:1.5px}.footer-links{display:flex;font-size:var(--font-size-sm);gap:var(--space-6)}.footer-links a{color:var(--text-secondary);transition:color var(--transition-base)}.footer-links a:hover{color:var(--text-primary)}.footer-copyright{color:var(--text-muted);font-size:var(--font-size-xs);letter-spacing:1px;text-transform:uppercase}@media (max-width:768px){.landing-page{padding:var(--space-4) var(--space-4) var(--space-12)}.landing-header{flex-direction:column;gap:var(--space-4);text-align:center}.landing-nav{flex-wrap:wrap;gap:var(--space-4);justify-content:center}.landing-actions{gap:var(--space-2)}.landing-button{font-size:var(--font-size-xs);height:40px;min-width:100px;padding:var(--space-2) var(--space-4)}.hero-content h1{font-size:var(--font-size-4xl)}.hero-features{gap:var(--space-4);grid-template-columns:1fr}.hero-preview{margin-top:var(--space-8)}.preview-window{padding:var(--space-4)}.features-grid{gap:var(--space-6);grid-template-columns:1fr}.security-visual{gap:var(--space-4);grid-template-columns:1fr;margin-top:var(--space-6)}.community-grid{gap:var(--space-6);grid-template-columns:1fr}}.landing-auth-overlay{align-items:center;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-4);position:fixed;right:0;top:0;z-index:1000}.landing-auth-backdrop{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#000c;bottom:0;left:0;position:absolute;right:0;top:0}.landing-auth-modal{animation:modalSlideIn .3s cubic-bezier(.4,0,.2,1);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:75vh;max-width:520px;overflow-y:auto;padding:var(--space-4) var(--space-6);position:relative;width:100%;z-index:1001}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.landing-auth-close{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;padding:var(--space-2);position:absolute;right:var(--space-4);top:var(--space-4);transition:all var(--transition-base);width:36px}.landing-auth-close:hover{background:var(--bg-elevated);border-color:var(--border-secondary);color:var(--text-primary)}@media (max-width:1024px){.landing-hero{gap:var(--space-12);grid-template-columns:1fr;text-align:center}.hero-content{align-items:center}.community-grid{align-items:flex-start;grid-template-columns:1fr}}@media (max-width:768px){.landing-auth-modal{margin:var(--space-2);padding:var(--space-6)}.landing-auth-overlay{padding:var(--space-2)}}*{box-sizing:border-box;margin:0;padding:0}:root{--primary-900:#0f0f0f;--primary-800:#1a1a1a;--primary-700:#2d2d30;--primary-600:#3a3a3d;--primary-500:#4a4a4d;--primary-400:#6a6a6d;--primary-300:#8a8a8d;--primary-200:#b5b5b8;--primary-100:#e0e0e3;--primary-50:#f5f5f6;--accent-primary:#7c3aed;--accent-primary-hover:#8b5cf6;--accent-secondary:#06b6d4;--accent-secondary-hover:#0891b2;--accent-success:#10b981;--accent-warning:#f59e0b;--accent-danger:#ef4444;--primary-900-rgb:15,15,15;--primary-800-rgb:26,26,26;--primary-700-rgb:45,45,48;--accent-primary-rgb:124,58,237;--accent-secondary-rgb:6,182,212;--accent-success-rgb:16,185,129;--bg-primary-rgb:15,15,15;--bg-secondary-rgb:26,26,26;--bg-tertiary-rgb:45,45,48;--text-primary:#fff;--text-secondary:#b5b5b8;--text-muted:#8a8a8d;--text-disabled:#6a6a6d;--text-success:#10b981;--text-danger:#ef4444;--bg-primary:var(--primary-900);--bg-secondary:var(--primary-800);--bg-tertiary:var(--primary-700);--bg-elevated:var(--primary-600);--bg-overlay:#000c;--background-primary:var(--primary-900);--background-secondary:var(--primary-800);--background-tertiary:var(--primary-700);--background-modifier-hover:#ffffff0f;--background-modifier-selected:#7c3aed26;--success-color:#10b981;--success-background:#10b9811a;--error-color:#ef4444;--error-background:#ef44441a;--error-border:#ef44444d;--warning-color:#f59e0b;--warning-background:#f59e0b1a;--warning-border:#f59e0b4d;--border-primary:var(--primary-600);--border-secondary:var(--primary-500);--border-focus:var(--accent-primary);--border-color:var(--primary-600);--accent-color:var(--accent-primary);--accent-color-hover:var(--accent-primary-hover);--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0006;--shadow-lg:0 10px 15px #00000080;--shadow-xl:0 20px 25px #0009;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:50%;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--transition-fast:0.15s ease;--transition-base:0.2s ease;--transition-slow:0.3s ease}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0f0f0f;background-color:var(--bg-primary);color:#fff;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#1a1a1a;background:var(--primary-800)}::-webkit-scrollbar-thumb{background:#3a3a3d;background:var(--primary-600);border-radius:4px;border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:#4a4a4d;background:var(--primary-500)}:focus{outline:2px solid #7c3aed;outline:2px solid var(--accent-primary);outline-offset:2px}button{background:none;border:none;cursor:pointer;font-family:inherit;transition:all .2s ease;transition:all var(--transition-base)}button:disabled{cursor:not-allowed;opacity:.5}input,textarea{background:#2d2d30;background:var(--bg-tertiary);border:2px solid #3a3a3d;border:2px solid var(--border-primary);border-radius:8px;border-radius:var(--radius-md);color:#fff;color:var(--text-primary);font-family:inherit;padding:.75rem 1rem;padding:var(--space-3) var(--space-4);transition:all .2s ease;transition:all var(--transition-base)}input:focus,textarea:focus{background:#3a3a3d;background:var(--bg-elevated);border-color:#7c3aed;border-color:var(--border-focus)}input::placeholder,textarea::placeholder{color:#8a8a8d;color:var(--text-muted)}a{color:#7c3aed;color:var(--accent-primary);text-decoration:none;transition:color .2s ease;transition:color var(--transition-base)}a:hover{color:#8b5cf6;color:var(--accent-primary-hover)}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem;gap:var(--space-2)}.gap-4{gap:1rem;gap:var(--space-4)}.w-full{width:100%}.h-full{height:100%}.text-center{text-align:center}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-sm{font-size:.875rem;font-size:var(--font-size-sm)}.text-lg{font-size:1.125rem;font-size:var(--font-size-lg)}.text-xl{font-size:1.25rem;font-size:var(--font-size-xl)}.text-2xl{font-size:1.5rem;font-size:var(--font-size-2xl)}.opacity-50{opacity:.5}.opacity-75{opacity:.75}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .2s ease;animation:fadeIn var(--transition-base)}.animate-slide-in{animation:slideIn .2s ease;animation:slideIn var(--transition-base)}.app{background:var(--bg-primary);min-height:100vh}.app-loading{align-items:center;background:linear-gradient(135deg,var(--primary-900) 0,var(--primary-800) 100%);display:flex;justify-content:center;min-height:100vh}.loading-container{align-items:center;display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-8);text-align:center}.loading-logo h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);background-clip:text;-webkit-background-clip:text;font-size:4rem;font-weight:800;letter-spacing:-.05em;margin:0}.loading-spinner{animation:spin 1s linear infinite;border-top:3px solid var(--border-primary);border:3px solid var(--border-primary);border-radius:50%;border-top-color:var(--accent-primary);height:40px;width:40px}.loading-container p{color:var(--text-secondary);font-size:var(--font-size-lg);margin:0}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:640px){.loading-logo h1{font-size:3rem}.loading-container{padding:var(--space-6)}.loading-container p{font-size:var(--font-size-base)}}
/*# sourceMappingURL=main.2dfbe3ac.css.map*/