.login-screen{display:flex;align-items:center;justify-content:center;height:100vh;padding:16px;background:radial-gradient(ellipse at center,#2b2d31,#1e1f22)}.login-card{width:100%;max-width:400px;background:var(--uplink-bg-secondary);border:none;border-radius:var(--uplink-radius-lg);padding:32px;box-shadow:var(--uplink-shadow-elevated)}.login-card__header{text-align:center;margin-bottom:28px}.login-card__logo{font-size:32px;font-weight:700;color:var(--uplink-text-primary);margin-bottom:4px;letter-spacing:-.5px}.login-card__subtitle{font-size:13px;color:var(--uplink-text-muted)}.login-card__field{margin-bottom:16px}.login-card__label{display:block;font-size:11px;font-weight:700;color:var(--uplink-text-secondary);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}.login-card__input{width:100%;padding:12px;background:var(--uplink-input-bg);border:none;border-radius:var(--uplink-radius-md);color:var(--uplink-text-primary);font-size:15px;font-family:var(--uplink-font);outline:none;transition:box-shadow .15s}.login-card__input:focus{box-shadow:0 0 0 2px var(--uplink-accent)}.login-card__input::placeholder{color:var(--uplink-text-faint)}.login-card__button{width:100%;padding:0;height:44px;margin-top:8px;background:var(--uplink-accent);color:#fff;border:none;border-radius:var(--uplink-radius-md);font-size:15px;font-weight:500;font-family:var(--uplink-font);cursor:pointer;transition:background .15s}.login-card__button:hover:not(:disabled){background:var(--uplink-accent-hover)}.login-card__button:disabled{opacity:.5;cursor:not-allowed}.login-card__error{margin-top:12px;padding:8px 12px;background:#da373c1a;border:none;border-radius:var(--uplink-radius-md);color:var(--uplink-danger);font-size:13px;text-align:center}.login-card__error p{margin:0}.login-card__error-hint{margin-top:6px!important;font-size:12px;opacity:.8}@media (max-width: 480px){.login-card{padding:24px 20px}}.chat-layout{display:flex;height:100%;overflow:hidden}.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;background:var(--uplink-bg-primary)}.chat-main__empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--uplink-text-faint);font-size:15px}@media (max-width: 768px){.chat-layout{position:relative}.chat-sidebar{width:100%;min-width:100%;position:absolute;top:0;left:0;bottom:0;z-index:10;transition:transform .2s ease}.chat-sidebar--hidden{transform:translate(-100%)}.chat-main{width:100%}.room-header__back{display:block}.chat-sidebar:after{content:"";position:fixed;top:0;left:var(--uplink-sidebar-width);right:0;bottom:0;background:#00000080;opacity:0;pointer-events:none;transition:opacity .2s ease}.chat-sidebar:not(.chat-sidebar--hidden):after{opacity:1;pointer-events:auto}}.create-modal__toggle-row{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:4px 0}.create-modal__toggle-label{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--uplink-text-primary);font-weight:500}.create-modal__toggle{width:44px;height:24px;background:#ffffff1f;border-radius:12px;position:relative;transition:background .2s;cursor:pointer;flex-shrink:0}.create-modal__toggle--on{background:var(--uplink-accent)}.create-modal__toggle-knob{width:20px;height:20px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s;box-shadow:0 1px 3px #0000004d}.create-modal__toggle--on .create-modal__toggle-knob{transform:translate(20px)}.create-modal__toggle-warning{font-size:12px;color:#f0a030;margin-top:6px;line-height:1.4;padding:6px 8px;background:#f0a03014;border-radius:var(--uplink-radius-sm)}.create-modal__toggle-hint{font-size:12px;color:var(--uplink-text-faint);margin-top:4px}.room-header__encryption-badge{display:flex;align-items:center;padding:4px 6px;opacity:.5;cursor:default;color:var(--uplink-text-secondary)}.typing-indicator{display:flex;align-items:center;gap:8px;padding:4px 16px 8px 72px;font-size:12px;color:var(--uplink-text-muted);min-height:24px}.typing-indicator__dots{display:flex;gap:3px}.typing-indicator__dots span{width:5px;height:5px;border-radius:50%;background:var(--uplink-text-muted);animation:typing-bounce 1.4s infinite ease-in-out}.typing-indicator__dots span:nth-child(2){animation-delay:.2s}.typing-indicator__dots span:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes typing-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.chat-sidebar{width:var(--uplink-sidebar-width);min-width:var(--uplink-sidebar-width);background:var(--uplink-bg-tertiary);display:flex;flex-direction:column;overflow:hidden}.chat-sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;box-shadow:0 1px #0000004d;min-height:52px}.chat-sidebar__title{font-size:16px;font-weight:700;color:var(--uplink-text-primary);letter-spacing:-.2px}.chat-sidebar__header-actions{display:flex;align-items:center;gap:8px}.chat-sidebar__profile-btn{background:#ffffff0f;border:none;color:var(--uplink-text-secondary);padding:4px 10px;border-radius:var(--uplink-radius-sm);font-size:13px;cursor:pointer;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .15s,color .15s}.chat-sidebar__profile-btn:hover{background:#ffffff1a;color:var(--uplink-text-primary)}.chat-sidebar__logout{background:none;border:none;color:var(--uplink-text-faint);cursor:pointer;padding:4px;font-size:18px;line-height:1;border-radius:var(--uplink-radius-sm);transition:color .15s,background .15s}.chat-sidebar__logout:hover{color:var(--uplink-danger);background:#da373c1a}.chat-sidebar__search{padding:8px 12px}.chat-sidebar__search-input{width:100%;padding:8px 12px;background:var(--uplink-bg-primary);border:none;border-radius:var(--uplink-radius-md);color:var(--uplink-text-primary);font-size:13px;font-family:var(--uplink-font);outline:none;transition:box-shadow .15s}.chat-sidebar__search-input:focus{box-shadow:0 0 0 2px var(--uplink-accent)}.chat-sidebar__search-input::placeholder{color:var(--uplink-text-faint)}.chat-sidebar__rooms{flex:1;overflow-y:auto;padding-bottom:8px}.chat-sidebar__section{padding:4px 0}.chat-sidebar__section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--uplink-text-faint);padding:16px 8px 4px 20px;cursor:pointer;user-select:none}.sidebar-space{padding:2px 0}.sidebar-space__header{display:flex;align-items:center;gap:4px;padding:6px 8px 6px 12px;cursor:pointer;user-select:none;border-radius:var(--uplink-radius-sm);margin:1px 8px;transition:background .1s}.sidebar-space__header:hover{background:#ffffff0a}.sidebar-space__arrow{font-size:10px;color:var(--uplink-text-faint);transition:transform .15s;width:16px;text-align:center;flex-shrink:0}.sidebar-space__arrow--collapsed{transform:rotate(-90deg)}.sidebar-space__name{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--uplink-text-faint);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-space__add-btn{background:none;border:none;color:var(--uplink-text-faint);font-size:16px;cursor:pointer;padding:0 4px;line-height:1;border-radius:var(--uplink-radius-sm);opacity:0;transition:opacity .15s,color .15s,background .15s}.sidebar-space__header:hover .sidebar-space__add-btn{opacity:1}.sidebar-space__add-btn:hover{color:var(--uplink-text-primary);background:#ffffff14}.sidebar-space__empty{padding:4px 20px 4px 44px;font-size:12px;color:var(--uplink-text-faint);font-style:italic}.chat-sidebar__section-title-row{display:flex;align-items:center;justify-content:space-between;padding:16px 12px 4px 20px}.chat-sidebar__section-title--inline{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--uplink-text-faint);padding:0;cursor:default}.chat-sidebar__section-add-btn{background:none;border:none;color:var(--uplink-text-faint);font-size:16px;cursor:pointer;padding:0 4px;line-height:1;border-radius:var(--uplink-radius-sm);opacity:0;transition:opacity .15s,color .15s}.chat-sidebar__section-title-row:hover .chat-sidebar__section-add-btn{opacity:1}.chat-sidebar__section-add-btn:hover{color:var(--uplink-text-primary)}.sidebar-room-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--uplink-radius-sm);cursor:pointer;transition:background .1s;min-height:34px;margin:1px 8px}.sidebar-room-item:hover{background:#ffffff0a}.sidebar-room-item--active{background:#ffffff14}.sidebar-room-item--active .sidebar-room-item__name{color:var(--uplink-text-primary);font-weight:600}.sidebar-room-item--indent{padding-left:28px}.sidebar-room-item__icon{font-size:18px;color:var(--uplink-text-faint);flex-shrink:0;width:20px;text-align:center;font-weight:400}.sidebar-room-item__name{flex:1;font-size:15px;font-weight:500;color:var(--uplink-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-room-item__badge{background:var(--uplink-danger);color:#fff;font-size:12px;font-weight:700;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:9px;padding:0 5px;flex-shrink:0}.sidebar-user-item .avatar{width:24px;height:24px;font-size:11px}.chat-sidebar__empty{padding:4px 20px;font-size:13px;color:var(--uplink-text-faint)}.presence-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.presence-dot--online{background:var(--uplink-success)}.presence-dot--unavailable{background:var(--uplink-warning)}.presence-dot--offline{background:var(--uplink-text-faint)}.room-header{display:flex;align-items:center;gap:10px;padding:12px 16px;box-shadow:0 1px #0000004d;min-height:52px;background:var(--uplink-bg-secondary)}.room-header__back{display:none;background:none;border:none;color:var(--uplink-text-primary);cursor:pointer;font-size:20px;padding:4px;line-height:1}.room-header__info{flex:1;min-width:0;display:flex;align-items:baseline;gap:12px}.room-header__name{font-size:16px;font-weight:600;color:var(--uplink-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-header__topic{font-size:13px;color:var(--uplink-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:1px solid var(--uplink-border);padding-left:12px}.room-header__meta{font-size:12px;color:var(--uplink-text-muted);display:flex;align-items:center;gap:6px;flex-shrink:0}.room-header__call{flex-shrink:0}.room-header__call-btn{background:transparent;border:none;color:var(--uplink-interactive-normal);width:36px;height:36px;border-radius:var(--uplink-radius-md);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.room-header__call-btn--join:hover{background:#ffffff14;color:var(--uplink-success)}.room-header__call-btn--leave{color:var(--uplink-danger)}.room-header__call-btn--leave:hover{background:#da373c1a}.room-header__call-btn:disabled{opacity:.3;cursor:not-allowed}.room-header__actions{display:flex;align-items:center;gap:4px;margin-left:auto}.room-header__pin-wrapper{position:relative}.room-header__pin-btn{background:transparent;border:none;color:var(--uplink-text-secondary);padding:4px 10px;border-radius:var(--uplink-radius-md);cursor:pointer;font-size:13px;display:flex;align-items:center;gap:4px;transition:background .15s,color .15s}.room-header__pin-btn:hover,.room-header__pin-btn--active{background:#ffffff14;color:var(--uplink-text-primary)}.pinned-panel{position:absolute;top:100%;right:0;margin-top:8px;width:360px;max-height:400px;background:var(--uplink-bg-floating);border:1px solid var(--uplink-border);border-radius:var(--uplink-radius-lg);box-shadow:0 8px 24px #0006;z-index:100;overflow:hidden;display:flex;flex-direction:column}.pinned-panel__header{padding:12px 16px;font-size:14px;font-weight:600;color:var(--uplink-text-primary);border-bottom:1px solid var(--uplink-border)}.pinned-panel__list{overflow-y:auto;flex:1}.pinned-panel__item{padding:10px 16px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s;position:relative}.pinned-panel__item:hover{background:#ffffff0a}.pinned-panel__item:last-child{border-bottom:none}.pinned-panel__sender{font-size:13px;font-weight:600;color:var(--uplink-text-primary);margin-bottom:2px}.pinned-panel__body{font-size:13px;color:var(--uplink-text-secondary);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pinned-panel__unpin{position:absolute;top:8px;right:8px;background:none;border:none;color:var(--uplink-text-faint);cursor:pointer;font-size:12px;padding:2px 6px;border-radius:var(--uplink-radius-sm);opacity:0;transition:opacity .15s,color .15s,background .15s}.pinned-panel__item:hover .pinned-panel__unpin{opacity:1}.pinned-panel__unpin:hover{color:var(--uplink-danger);background:#da373c1a}.room-header__btn{background:none;border:none;color:var(--uplink-text-faint);cursor:pointer;font-size:13px;font-weight:700;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.room-header__btn:hover{background:#ffffff0f;color:var(--uplink-text-secondary)}.room-header__btn--active{color:var(--uplink-accent);background:#5865f21f}.message-list{flex:1;overflow-y:auto;padding:8px 0 24px;background:var(--uplink-bg-primary)}.message-list__load-more{text-align:center;padding:8px}.message-list__load-more button{background:none;border:1px solid var(--uplink-border);color:var(--uplink-text-muted);padding:6px 16px;border-radius:var(--uplink-radius-sm);cursor:pointer;font-size:13px;font-family:var(--uplink-font);transition:background .15s,color .15s}.message-list__load-more button:hover{background:#ffffff0a;color:var(--uplink-text-primary)}.message-day-divider{display:flex;align-items:center;gap:12px;padding:12px 16px;font-size:12px;font-weight:700;color:var(--uplink-text-muted)}.message-day-divider:before,.message-day-divider:after{content:"";flex:1;height:1px;background:#ffffff0f}.message-bubble{position:relative;padding:2px 48px 2px 72px;transition:background .1s}.message-bubble:hover{background:#0000000f}.message-bubble--highlight{background:#5865f214;transition:background .3s}.message-bubble--full{margin-top:16px}.message-bubble__action-bar{position:absolute;top:-14px;right:16px;display:flex;gap:2px;background:var(--uplink-bg-secondary);border:1px solid rgba(255,255,255,.08);border-radius:var(--uplink-radius-sm);padding:2px;opacity:0;transition:opacity .1s;z-index:5}.message-bubble:hover .message-bubble__action-bar{opacity:1}.message-bubble__action-btn{background:none;border:none;cursor:pointer;padding:4px 6px;font-size:16px;border-radius:var(--uplink-radius-sm);color:var(--uplink-text-faint);transition:background .1s,color .1s}.message-bubble__action-btn:hover{background:#ffffff14;color:var(--uplink-text-primary)}.message-bubble__emoji-picker{position:absolute;top:-44px;right:16px;display:flex;gap:2px;background:var(--uplink-bg-secondary);border:1px solid rgba(255,255,255,.08);border-radius:var(--uplink-radius-md);padding:4px;box-shadow:var(--uplink-shadow-elevated);z-index:10}.message-bubble__emoji-picker-btn{background:none;border:none;cursor:pointer;padding:4px 6px;font-size:20px;border-radius:var(--uplink-radius-sm);transition:background .1s,transform .1s}.message-bubble__emoji-picker-btn:hover{background:#ffffff14;transform:scale(1.2)}.message-bubble__pin-badge{font-size:12px;opacity:.6}.message-bubble__avatar-col{position:absolute;left:16px;top:4px;width:40px}.message-bubble__avatar-col--compact{visibility:hidden}.message-bubble__avatar-col .avatar{cursor:pointer;transition:transform .15s}.message-bubble__avatar-col .avatar:hover{transform:scale(1.05)}.message-bubble__content{min-width:0}.message-bubble__header{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.message-bubble__sender{font-size:15px;font-weight:600;color:var(--uplink-text-primary)}.message-bubble__time{font-size:11px;color:var(--uplink-text-faint);font-weight:400}.message-bubble__body{font-size:15px;line-height:1.375;color:var(--uplink-text-secondary);word-break:break-word;white-space:pre-wrap}.message-bubble__body a{color:var(--uplink-accent);text-decoration:none}.message-bubble__body a:hover{text-decoration:underline}.md-inline-code{background:#ffffff0f;padding:1px 5px;border-radius:3px;font-family:var(--uplink-font-mono);font-size:.9em;color:var(--uplink-text-primary)}.md-code-block{background:var(--uplink-code-bg);border:1px solid var(--uplink-border);border-radius:var(--uplink-radius-md);padding:10px 12px;margin:4px 0;overflow-x:auto;max-width:600px}.md-code-block code{font-family:var(--uplink-font-mono);font-size:13px;line-height:1.5;white-space:pre}.md-quote{border-left:3px solid var(--uplink-text-faint);padding-left:10px;color:var(--uplink-text-muted);margin:4px 0}.message-bubble__reply-quote{padding:4px 8px;margin-bottom:4px;border-left:3px solid var(--uplink-accent);border-radius:0 var(--uplink-radius-sm) var(--uplink-radius-sm) 0;background:#ffffff08;cursor:pointer;max-width:400px}.message-bubble__reply-quote:hover{background:#ffffff0f}.message-bubble__reply-sender{font-size:12px;font-weight:600;color:var(--uplink-accent);margin-right:6px}.message-bubble__reply-text{font-size:13px;color:var(--uplink-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;max-width:300px;vertical-align:bottom}.message-bubble__reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.reaction-chip{display:flex;align-items:center;gap:4px;padding:2px 8px;background:#ffffff0f;border:1px solid transparent;border-radius:12px;cursor:pointer;font-size:14px;transition:background .15s,border-color .15s}.reaction-chip:hover{background:#ffffff1a}.reaction-chip--active{background:#5865f226;border-color:var(--uplink-accent)}.reaction-chip__count{font-size:12px;color:var(--uplink-text-muted);font-weight:600}.message-bubble__encrypted{color:var(--uplink-text-faint);font-style:italic;font-size:13px}.code-snippet{margin:4px 0;border:1px solid var(--uplink-border);border-radius:var(--uplink-radius-md);overflow:hidden;max-width:600px}.code-snippet__header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--uplink-bg-tertiary);border-bottom:1px solid var(--uplink-border);font-size:12px;color:var(--uplink-text-muted)}.code-snippet__file{font-family:var(--uplink-font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-snippet__copy{background:none;border:none;color:var(--uplink-text-muted);cursor:pointer;font-size:12px;font-family:var(--uplink-font);padding:2px 6px;border-radius:var(--uplink-radius-sm);transition:color .15s,background .15s}.code-snippet__copy:hover{color:var(--uplink-text-primary);background:#ffffff0f}.code-snippet__body{padding:10px 12px;background:var(--uplink-code-bg);overflow-x:auto}.code-snippet__body pre{margin:0;font-family:var(--uplink-font-mono);font-size:13px;line-height:1.5;color:var(--uplink-text-primary);white-space:pre}.message-input__wrapper{display:flex;flex-direction:column;background:var(--uplink-bg-tertiary);border:1px solid rgba(255,255,255,.1);border-radius:22px;overflow:hidden;transition:border-color .2s}.message-bubble__image{margin-top:4px}.message-bubble__image-img{border-radius:var(--uplink-radius-md);cursor:pointer;display:block;object-fit:contain;transition:opacity .15s;border:1px solid rgba(255,255,255,.06)}.message-bubble__image-img:hover{opacity:.9}.message-bubble__file{display:flex;align-items:center;gap:10px;background:var(--uplink-bg-secondary);border:1px solid rgba(255,255,255,.08);border-radius:var(--uplink-radius-md);padding:10px 14px;margin-top:4px;max-width:350px;transition:background .15s}.message-bubble__file:hover{background:var(--uplink-bg-tertiary)}.message-bubble__file-icon{font-size:28px;flex-shrink:0}.message-bubble__file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.message-bubble__file-name{font-size:14px;font-weight:500;color:var(--uplink-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-bubble__file-size{font-size:12px;color:var(--uplink-text-faint)}.message-bubble__file-download{font-size:20px;text-decoration:none;color:var(--uplink-accent);padding:4px 8px;border-radius:var(--uplink-radius-sm);transition:background .15s;flex-shrink:0}.message-bubble__file-download:hover{background:#5865f21a;text-decoration:none}.avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;flex-shrink:0;user-select:none;position:relative}.avatar__online-dot{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-radius:50%;background:var(--uplink-success);border:2px solid var(--uplink-bg-tertiary)}.avatar__bot-indicator{position:absolute;bottom:-2px;right:-2px;font-size:8px;font-weight:700;background:var(--uplink-accent);color:#fff;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border:2px solid var(--uplink-bg-primary)}.message-bubble__bot-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--uplink-accent);background:#5865f21f;padding:1px 5px;border-radius:3px;margin-left:6px;vertical-align:middle}.message-input{padding:0 16px 20px}.message-input__wrapper{position:relative;display:flex;flex-direction:column;background:var(--uplink-bg-tertiary);border:1px solid rgba(255,255,255,.1);border-radius:22px;transition:border-color .2s}.message-input__wrapper:focus-within{border-color:#fff3}.message-input__reply-preview{display:flex;align-items:center;gap:8px;padding:10px 16px 0}.message-input__reply-line{width:3px;height:28px;background:var(--uplink-accent);border-radius:2px;flex-shrink:0}.message-input__reply-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.message-input__reply-sender{font-size:12px;font-weight:600;color:var(--uplink-accent)}.message-input__reply-text{font-size:13px;color:var(--uplink-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-input__reply-close{background:none;border:none;color:var(--uplink-text-faint);cursor:pointer;font-size:14px;padding:4px 6px;border-radius:50%;flex-shrink:0;transition:background .15s,color .15s}.message-input__reply-close:hover{color:var(--uplink-text-primary);background:#ffffff14}.message-input__row{display:flex;align-items:flex-end;padding:4px 6px 4px 18px;gap:2px}.message-input__textarea{flex:1;background:none;border:none;color:var(--uplink-text-primary);font-size:15px;font-family:var(--uplink-font);line-height:1.45;resize:none;outline:none;padding:8px 0;max-height:150px;min-height:38px}.message-input__textarea::placeholder{color:var(--uplink-text-faint)}.message-input__actions{display:flex;align-items:center;gap:2px;flex-shrink:0;padding-bottom:4px}.message-input__action-btn{background:none;border:none;color:var(--uplink-text-faint);cursor:pointer;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0}.message-input__action-btn:hover{background:#ffffff0f;color:var(--uplink-text-secondary)}.message-input__action-btn:disabled{opacity:.3;cursor:not-allowed}.message-input__send-btn{background:var(--uplink-accent);border:none;color:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,opacity .15s}.message-input__send-btn:hover{background:var(--uplink-accent-hover)}.message-input__send-btn:disabled{background:#ffffff0f;color:var(--uplink-text-faint);cursor:default}.message-input__uploading{padding:6px 18px;font-size:13px;color:var(--uplink-text-muted);animation:pulse 1.5s ease-in-out infinite}.message-input--drag-over{position:relative}.message-input__drop-overlay{position:absolute;inset:-100px 0 0;background:#5865f214;border:2px dashed var(--uplink-accent);border-radius:22px;display:flex;align-items:center;justify-content:center;color:var(--uplink-accent);font-size:16px;font-weight:600;z-index:10;pointer-events:none}.command-suggestions{position:absolute;bottom:100%;left:0;right:0;background:var(--uplink-bg-tertiary);border:1px solid rgba(255,255,255,.08);border-radius:var(--uplink-radius-md, 8px);padding:4px;margin-bottom:4px;max-height:280px;overflow-y:auto;z-index:10;box-shadow:0 -4px 16px #0000004d}.command-suggestions__item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--uplink-radius-sm, 4px);cursor:pointer;transition:background .1s}.command-suggestions__item:hover,.command-suggestions__item--active{background:#ffffff0f}.command-suggestions__command{font-family:var(--uplink-font-mono, monospace);font-size:14px;font-weight:600;color:var(--uplink-accent);white-space:nowrap}.command-suggestions__bot{font-size:11px;color:var(--uplink-text-faint);background:#ffffff0a;padding:1px 6px;border-radius:4px;white-space:nowrap}.command-suggestions__desc{font-size:13px;color:var(--uplink-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.call-error{background:#da373c26;color:#f99;padding:8px 16px;font-size:13px}.call-bar{background:#1a1e1b;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.call-bar__info{display:flex;align-items:center;gap:12px}.call-bar__title{font-size:14px;font-weight:600;color:var(--uplink-success)}.call-bar__icon{margin-right:4px}.call-bar__duration{font-size:13px;color:var(--uplink-text-muted);font-variant-numeric:tabular-nums}.call-bar__participants{display:flex;flex-wrap:wrap;gap:8px}.call-bar__participant{font-size:12px;color:#ffffffb3;padding:2px 10px;background:#ffffff14;border-radius:12px}.call-bar__participant--speaking{color:var(--uplink-success);background:#23a55926;box-shadow:0 0 0 1px var(--uplink-success),0 0 8px #23a55933}.call-bar__participant--muted{opacity:.5}.call-bar__controls{display:flex;gap:8px}.call-bar__btn{width:40px;height:40px;padding:0;border:none;border-radius:50%;font-size:13px;font-family:var(--uplink-font);cursor:pointer;transition:background .15s,opacity .15s;display:flex;align-items:center;justify-content:center}.call-bar__btn--mute{background:#ffffff1a;color:#fff}.call-bar__btn--mute:hover{background:#ffffff26}.call-bar__btn--mute.call-bar__btn--active{background:#da373c4d;color:#fca5a5}.call-bar__btn--camera{background:#ffffff1a;color:#fff}.call-bar__btn--camera:hover{background:#ffffff26}.call-bar__btn--camera.call-bar__btn--active{background:#5865f24d;color:#93c5fd}.call-bar__btn--leave{background:var(--uplink-danger);color:#fff;border-radius:20px}.call-bar__btn--leave:hover{opacity:.85}.video-grid{display:flex;gap:6px;padding:8px 16px;background:var(--uplink-bg-floating);max-height:140px}.video-tile{position:relative;border-radius:var(--uplink-radius-md);overflow:hidden;background:#000;aspect-ratio:16 / 9;height:120px;flex-shrink:0}.video-tile__video{width:100%;height:100%;object-fit:cover;display:block}.video-tile__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#000}.video-tile__placeholder-icon{font-size:36px}.video-tile__name{position:absolute;bottom:4px;left:6px;font-size:11px;font-weight:600;color:#fff;background:#00000080;backdrop-filter:blur(8px);padding:2px 8px;border-radius:var(--uplink-radius-sm)}.incoming-call-overlay{position:fixed;inset:0;background:#000000d9;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.incoming-call-overlay__card{background:var(--uplink-bg-secondary);border-radius:var(--uplink-radius-lg);padding:40px 48px;text-align:center;min-width:280px;box-shadow:var(--uplink-shadow-elevated)}.incoming-call-overlay__icon{font-size:48px;margin-bottom:12px;animation:pulse 1.5s ease-in-out infinite}.incoming-call-overlay__title{font-size:14px;color:var(--uplink-text-muted);margin-bottom:8px}.incoming-call-overlay__caller{font-size:22px;font-weight:600;color:var(--uplink-text-primary);margin-bottom:24px}.incoming-call-overlay__actions{display:flex;gap:16px;justify-content:center}.incoming-call-overlay__btn{width:56px;height:56px;border:none;border-radius:50%;font-size:22px;cursor:pointer;transition:opacity .2s,transform .15s;display:flex;align-items:center;justify-content:center;padding:0}.incoming-call-overlay__btn:hover{opacity:.85;transform:scale(1.05)}.incoming-call-overlay__btn--accept{background:var(--uplink-success);color:#fff}.incoming-call-overlay__btn--reject{background:var(--uplink-danger);color:#fff}.profile-modal-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.profile-modal{background:var(--uplink-bg-secondary);border-radius:var(--uplink-radius-lg);width:380px;max-width:90vw;max-height:90vh;overflow-y:auto;padding:24px;border:none;box-shadow:var(--uplink-shadow-elevated)}.profile-modal__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.profile-modal__title{font-size:18px;font-weight:600;color:var(--uplink-text-primary)}.profile-modal__close{background:none;border:none;color:var(--uplink-text-muted);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:var(--uplink-radius-sm);transition:background .15s,color .15s}.profile-modal__close:hover{background:#ffffff0f;color:var(--uplink-text-primary)}.profile-modal__avatar-section{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.profile-modal__avatar{position:relative;width:80px;height:80px;border-radius:50%;overflow:hidden;cursor:pointer;transition:transform .15s}.profile-modal__avatar:hover{transform:scale(1.05)}.profile-modal__avatar--uploading{opacity:.5;pointer-events:none}.profile-modal__avatar-img{width:100%;height:100%;object-fit:cover}.profile-modal__avatar .avatar{width:80px!important;height:80px!important;font-size:32px!important}.profile-modal__avatar-overlay{position:absolute;bottom:0;left:0;right:0;background:#0009;color:#fff;text-align:center;font-size:16px;padding:4px 0;opacity:0;transition:opacity .15s}.profile-modal__avatar:hover .profile-modal__avatar-overlay{opacity:1}.profile-modal__avatar-hint{font-size:12px;color:var(--uplink-text-faint);margin-top:8px}.profile-modal__section{margin-bottom:16px}.profile-modal__label{display:block;font-size:11px;font-weight:700;color:var(--uplink-text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.profile-modal__input{width:100%;padding:10px 12px;background:var(--uplink-input-bg);border:none;border-radius:var(--uplink-radius-md);color:var(--uplink-text-primary);font-size:14px;margin-bottom:8px;box-sizing:border-box;transition:box-shadow .15s}.profile-modal__input:focus{outline:none;box-shadow:0 0 0 2px var(--uplink-accent)}.profile-modal__input::placeholder{color:var(--uplink-text-faint)}.profile-modal__btn{width:100%;padding:10px;border:none;border-radius:var(--uplink-radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;margin-top:4px;height:40px}.profile-modal__btn:disabled{opacity:.5;cursor:not-allowed}.profile-modal__btn--primary{background:var(--uplink-accent);color:#fff}.profile-modal__btn--primary:hover:not(:disabled){background:var(--uplink-accent-hover)}.profile-modal__btn--danger{background:transparent;color:var(--uplink-danger);border:1px solid var(--uplink-danger)}.profile-modal__btn--danger:hover{background:var(--uplink-danger);color:#fff}.profile-modal__error{color:var(--uplink-danger);font-size:13px;margin-top:6px}.profile-modal__divider{height:1px;background:#ffffff0f;margin:16px 0}.chat-sidebar__admin-btn{background:none;border:none;color:var(--uplink-text-faint);font-size:16px;cursor:pointer;padding:4px 6px;border-radius:var(--uplink-radius-sm);transition:color .15s,background .15s;line-height:1}.chat-sidebar__admin-btn:hover{color:var(--uplink-text-primary);background:#ffffff14}.admin-panel{width:480px;max-height:85vh;position:relative}.admin-panel__success{color:var(--uplink-success);font-size:13px;margin-top:6px;margin-bottom:6px}.admin-panel__loading{color:var(--uplink-text-muted);font-size:13px;padding:8px 0}.admin-panel__user-list{display:flex;flex-direction:column;gap:2px;max-height:300px;overflow-y:auto}.admin-panel__user{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:var(--uplink-radius-sm);transition:background .1s}.admin-panel__user:hover{background:#ffffff0a}.admin-panel__user--deactivated{opacity:.4}.admin-panel__user-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.admin-panel__user-details{display:flex;flex-direction:column;min-width:0}.admin-panel__user-name{font-size:14px;font-weight:500;color:var(--uplink-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-panel__user-id{font-size:11px;color:var(--uplink-text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-panel__badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:8px;flex-shrink:0;text-transform:uppercase;letter-spacing:.3px}.admin-panel__badge--admin{background:#5865f233;color:var(--uplink-accent)}.admin-panel__badge--blocked{background:#da373c33;color:var(--uplink-danger)}.admin-panel__user-actions{display:flex;gap:4px;flex-shrink:0;opacity:0;transition:opacity .15s}.admin-panel__user:hover .admin-panel__user-actions{opacity:1}.admin-panel__action-btn{background:#ffffff0f;border:none;font-size:14px;cursor:pointer;padding:4px 8px;border-radius:var(--uplink-radius-sm);transition:background .15s}.admin-panel__action-btn:hover{background:#ffffff1f}.admin-panel__action-btn--danger:hover{background:#da373c33}.admin-panel__confirm-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;border-radius:var(--uplink-radius-lg);z-index:10}.admin-panel__confirm{background:var(--uplink-bg-secondary);padding:20px 24px;border-radius:var(--uplink-radius-md);text-align:center;max-width:300px}.admin-panel__confirm p{color:var(--uplink-text-primary);font-size:14px;margin:0 0 8px}.admin-panel__confirm-warning{color:var(--uplink-danger)!important;font-size:12px!important;margin-bottom:16px!important}.admin-panel__confirm-actions{display:flex;gap:8px;justify-content:center}.admin-panel__confirm-actions .profile-modal__btn{width:auto;padding:8px 20px}.admin-panel__confirm-cancel{background:#ffffff0f;color:var(--uplink-text-secondary)}.admin-panel__confirm-cancel:hover{background:#ffffff1a}.thread-panel{width:380px;min-width:380px;background:var(--uplink-bg-secondary);border-left:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;overflow:hidden}.thread-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;box-shadow:0 1px #0000004d;min-height:52px}.thread-panel__title{font-size:16px;font-weight:600;color:var(--uplink-text-primary)}.thread-panel__close{background:none;border:none;color:var(--uplink-text-muted);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:var(--uplink-radius-sm);transition:background .15s,color .15s}.thread-panel__close:hover{background:#ffffff0f;color:var(--uplink-text-primary)}.thread-panel__root{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.thread-panel__root-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.thread-panel__root-sender{font-size:14px;font-weight:600;color:var(--uplink-text-primary)}.thread-panel__root-time{font-size:11px;color:var(--uplink-text-faint)}.thread-panel__root-body{font-size:14px;color:var(--uplink-text-secondary);line-height:1.4;word-break:break-word;padding-left:32px}.thread-panel__divider{display:flex;align-items:center;padding:8px 16px;font-size:12px;font-weight:600;color:var(--uplink-text-muted);border-bottom:1px solid rgba(255,255,255,.06)}.thread-panel__messages{flex:1;overflow-y:auto;padding:8px 0}.thread-panel__message{display:flex;gap:8px;padding:6px 16px;transition:background .1s}.thread-panel__message:hover{background:#0000000f}.thread-panel__message-content{flex:1;min-width:0}.thread-panel__message-header{display:flex;align-items:baseline;gap:6px;margin-bottom:2px}.thread-panel__message-sender{font-size:13px;font-weight:600;color:var(--uplink-text-primary)}.thread-panel__message-time{font-size:11px;color:var(--uplink-text-faint)}.thread-panel__message-body{font-size:14px;color:var(--uplink-text-secondary);line-height:1.375;word-break:break-word}.thread-panel__input{display:flex;align-items:flex-end;gap:4px;padding:10px 12px;margin:0 12px 12px;background:var(--uplink-bg-tertiary);border:1px solid rgba(255,255,255,.1);border-radius:18px;transition:border-color .2s}.thread-panel__input:focus-within{border-color:#fff3}.thread-panel__textarea{flex:1;background:none;border:none;color:var(--uplink-text-primary);font-size:14px;font-family:var(--uplink-font);padding:4px 0;resize:none;outline:none;max-height:120px;min-height:32px;line-height:1.4}.thread-panel__textarea::placeholder{color:var(--uplink-text-faint)}.thread-panel__send{background:var(--uplink-accent);border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,opacity .15s}.thread-panel__send:hover{background:var(--uplink-accent-hover)}.thread-panel__send:disabled{opacity:.3;cursor:not-allowed}.thread-indicator{display:flex;align-items:center;gap:6px;padding:4px 8px;margin-top:4px;border-radius:var(--uplink-radius-sm);cursor:pointer;font-size:12px;color:var(--uplink-accent);transition:background .1s;width:fit-content}.thread-indicator:hover{background:#5865f214}.thread-indicator__icon{font-size:14px}.thread-indicator__count{font-weight:600}.thread-indicator__last{color:var(--uplink-text-muted);font-weight:400}.thread-indicator__arrow{font-size:10px;opacity:0;transition:opacity .15s}.thread-indicator:hover .thread-indicator__arrow{opacity:1}@media (max-width: 1024px) and (min-width: 769px){.thread-panel{width:320px;min-width:320px}}.bot-settings{position:absolute;top:100%;right:0;width:360px;max-height:480px;background:var(--uplink-bg-secondary);border:1px solid rgba(255,255,255,.08);border-radius:8px;box-shadow:0 8px 32px #0006;z-index:100;overflow:hidden;display:flex;flex-direction:column}.bot-settings__header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.bot-settings__title{font-size:15px;font-weight:600;color:var(--uplink-text-primary)}.bot-settings__close{background:none;border:none;color:var(--uplink-text-faint);cursor:pointer;font-size:16px;padding:4px 6px;border-radius:4px;transition:background .15s,color .15s}.bot-settings__close:hover{background:#ffffff0f;color:var(--uplink-text-primary)}.bot-settings__loading{padding:24px;text-align:center;color:var(--uplink-text-muted);font-size:14px}.bot-settings__list{overflow-y:auto;padding:8px}.bot-settings__item{padding:12px;border-radius:6px;margin-bottom:4px;transition:background .15s}.bot-settings__item:hover{background:#ffffff08}.bot-settings__item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.bot-settings__item-name{font-size:14px;font-weight:600;color:var(--uplink-text-primary)}.bot-settings__item-desc{font-size:13px;color:var(--uplink-text-muted);margin:0 0 8px;line-height:1.4}.bot-settings__commands{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.04)}.bot-settings__command{display:flex;align-items:baseline;gap:8px;font-size:12px}.bot-settings__command code{font-family:var(--uplink-font-mono, monospace);color:var(--uplink-accent);font-size:12px;white-space:nowrap}.bot-settings__command span{color:var(--uplink-text-faint)}.bot-settings__toggle{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.bot-settings__toggle input{opacity:0;width:0;height:0}.bot-settings__toggle-slider{position:absolute;inset:0;background:#ffffff1a;border-radius:10px;transition:background .2s}.bot-settings__toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:transform .2s}.bot-settings__toggle input:checked+.bot-settings__toggle-slider{background:var(--uplink-accent)}.bot-settings__toggle input:checked+.bot-settings__toggle-slider:before{transform:translate(16px)}.bot-settings__tabs{display:flex;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.06)}.bot-settings__tab{flex:1;padding:10px 8px;background:none;border:none;border-bottom:2px solid transparent;color:var(--uplink-text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s}.bot-settings__tab:hover{color:var(--uplink-text-primary)}.bot-settings__tab.active{color:var(--uplink-accent);border-bottom-color:var(--uplink-accent)}.bot-manage{padding:8px;overflow-y:auto;flex:1}.bot-manage__loading{padding:24px;text-align:center;color:var(--uplink-text-muted);font-size:14px}.bot-manage__empty{padding:32px 16px;text-align:center;color:var(--uplink-text-muted);font-size:13px}.bot-manage__empty p{margin:0 0 16px}.bot-manage__list{display:flex;flex-direction:column;gap:4px}.bot-manage__item{padding:10px 12px;border-radius:6px;transition:background .15s}.bot-manage__item:hover{background:#ffffff08}.bot-manage__item-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.bot-manage__item-info{display:flex;align-items:center;gap:8px}.bot-manage__status{width:8px;height:8px;border-radius:50%;flex-shrink:0}.bot-manage__status--online{background:#43b581}.bot-manage__status--offline{background:#fff3}.bot-manage__item-name{font-size:14px;font-weight:600;color:var(--uplink-text-primary)}.bot-manage__item-mode{font-size:11px;color:var(--uplink-text-faint);background:#ffffff0f;padding:1px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px}.bot-manage__expand{color:var(--uplink-text-faint);font-size:12px}.bot-manage__item-desc{font-size:12px;color:var(--uplink-text-muted);margin:4px 0 0;padding-left:16px}.bot-manage__details{margin-top:8px;padding:8px 0 0 16px;border-top:1px solid rgba(255,255,255,.04)}.bot-manage__label{font-size:11px;color:var(--uplink-text-faint);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;display:block}.bot-manage__commands{margin-bottom:8px}.bot-manage__command{display:flex;align-items:baseline;gap:8px;font-size:12px;margin-top:2px}.bot-manage__command code{font-family:var(--uplink-font-mono, monospace);color:var(--uplink-accent);font-size:12px}.bot-manage__command span{color:var(--uplink-text-faint)}.bot-manage__meta{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--uplink-text-faint);margin-bottom:8px}.bot-manage__webhook-url{word-break:break-all}.bot-manage__actions{display:flex;gap:8px;margin-top:8px}.bot-manage__action-btn{padding:4px 10px;font-size:12px;border:1px solid rgba(255,255,255,.1);border-radius:4px;background:none;color:var(--uplink-text-muted);cursor:pointer;transition:background .15s,color .15s}.bot-manage__action-btn:hover{background:#ffffff0f;color:var(--uplink-text-primary)}.bot-manage__action-btn--danger{color:#f04747;border-color:#f047474d}.bot-manage__action-btn--danger:hover{background:#f047471a;color:#f04747}.bot-manage__create-btn{width:100%;padding:10px;margin-top:8px;font-size:13px;font-weight:500;border:1px dashed rgba(255,255,255,.15);border-radius:6px;background:none;color:var(--uplink-text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.bot-manage__create-btn:hover{background:#ffffff08;color:var(--uplink-accent);border-color:var(--uplink-accent)}.bot-modal-overlay{position:fixed;inset:0;background:#0009;z-index:200;display:flex;align-items:center;justify-content:center}.bot-modal{width:460px;max-height:85vh;background:var(--uplink-bg-secondary);border:1px solid rgba(255,255,255,.08);border-radius:10px;box-shadow:0 12px 40px #00000080;display:flex;flex-direction:column;overflow:hidden}.bot-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06)}.bot-modal__title{font-size:16px;font-weight:600;color:var(--uplink-text-primary)}.bot-modal__close{background:none;border:none;color:var(--uplink-text-faint);cursor:pointer;font-size:16px;padding:4px 6px;border-radius:4px}.bot-modal__close:hover{background:#ffffff0f}.bot-modal__body{padding:16px 20px;overflow-y:auto;flex:1}.bot-modal__error{padding:8px 12px;margin-bottom:12px;background:#f047471a;border:1px solid rgba(240,71,71,.3);border-radius:6px;color:#f04747;font-size:13px}.bot-modal__field{margin-bottom:16px}.bot-modal__field label{display:block;font-size:12px;font-weight:600;color:var(--uplink-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.bot-modal__field input[type=text],.bot-modal__field input[type=url]{width:100%;padding:8px 12px;background:var(--uplink-bg-primary);border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--uplink-text-primary);font-size:14px;outline:none;transition:border-color .15s;box-sizing:border-box}.bot-modal__field input:focus{border-color:var(--uplink-accent)}.bot-modal__mode-toggle{display:flex;gap:0;border:1px solid rgba(255,255,255,.1);border-radius:6px;overflow:hidden;margin-bottom:6px}.bot-modal__mode-btn{flex:1;padding:8px;background:none;border:none;color:var(--uplink-text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.bot-modal__mode-btn.active{background:var(--uplink-accent);color:#fff}.bot-modal__mode-hint{font-size:11px;color:var(--uplink-text-faint)}.bot-modal__command-row{display:flex;gap:6px;margin-bottom:6px;align-items:center}.bot-modal__command-input{width:120px!important;flex-shrink:0}.bot-modal__command-desc{flex:1}.bot-modal__command-remove{background:none;border:none;color:var(--uplink-text-faint);cursor:pointer;font-size:14px;padding:4px}.bot-modal__command-remove:hover{color:#f04747}.bot-modal__add-cmd{background:none;border:none;color:var(--uplink-accent);cursor:pointer;font-size:12px;padding:4px 0}.bot-modal__add-cmd:hover{text-decoration:underline}.bot-modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid rgba(255,255,255,.06)}.bot-modal__btn{padding:8px 16px;font-size:13px;font-weight:500;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:none;color:var(--uplink-text-muted);cursor:pointer;transition:background .15s}.bot-modal__btn:hover{background:#ffffff0f}.bot-modal__btn--primary{background:var(--uplink-accent);border-color:var(--uplink-accent);color:#fff}.bot-modal__btn--primary:hover{opacity:.9}.bot-modal__btn--primary:disabled{opacity:.5;cursor:not-allowed}.bot-modal__success p{margin:0 0 12px;font-size:14px;color:var(--uplink-text-primary)}.bot-modal__token-block{margin-bottom:12px}.bot-modal__token-block label{display:block;font-size:12px;color:var(--uplink-text-muted);margin-bottom:4px}.bot-modal__token{display:block;padding:8px 12px;background:var(--uplink-bg-primary);border:1px solid rgba(255,255,255,.1);border-radius:6px;font-family:var(--uplink-font-mono, monospace);font-size:12px;color:var(--uplink-accent);word-break:break-all;user-select:all}.bot-modal__hint{margin-top:12px}.bot-modal__hint p{font-size:12px;color:var(--uplink-text-muted);margin:0 0 6px}.bot-modal__hint pre{padding:10px 12px;background:var(--uplink-bg-primary);border:1px solid rgba(255,255,255,.06);border-radius:6px;font-family:var(--uplink-font-mono, monospace);font-size:11px;color:var(--uplink-text-primary);overflow-x:auto;white-space:pre;margin:0}@media (max-width: 768px){body,#root,.chat-layout{height:var(--vh, 100dvh)}html,body{overscroll-behavior:none;-webkit-overflow-scrolling:touch}*{-webkit-tap-highlight-color:transparent}button,a,input,textarea,select,.sidebar-room-item,.message-bubble,.reaction-chip,.thread-indicator{touch-action:manipulation}button,.message-bubble__action-btn{-webkit-touch-callout:none}.chat-sidebar__header,.room-header{padding-top:calc(12px + env(safe-area-inset-top,0px));min-height:calc(52px + env(safe-area-inset-top,0px))}.message-input{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.thread-panel__input{margin-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.call-bar{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.incoming-call-overlay__card{margin:env(safe-area-inset-top,20px) 16px env(safe-area-inset-bottom,20px);padding:32px 24px;min-width:auto;width:calc(100% - 32px);max-width:340px}.chat-sidebar{width:85vw;min-width:85vw;max-width:320px}.chat-sidebar__search-input{font-size:16px}.sidebar-room-item{min-height:48px;padding:8px 12px}.sidebar-room-item__name{font-size:15px}.sidebar-space__header{min-height:40px;padding:8px 12px}.chat-sidebar__profile-btn{font-size:14px;padding:6px 12px;min-height:36px}.chat-sidebar__logout{padding:8px;font-size:20px;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center}.room-header{padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top,0px));gap:8px}.room-header__back{display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;font-size:22px;padding:0}.room-header__info{flex-direction:column;gap:1px;min-width:0}.room-header__name{font-size:15px}.room-header__topic{border-left:none;padding-left:0;font-size:12px;max-width:100%}.room-header__actions{gap:2px}.room-header__call-btn,.room-header__btn{width:36px;height:36px;min-width:36px}.pinned-panel{position:fixed;inset:0;width:100%;max-height:100%;border-radius:0;margin-top:0;z-index:50}.pinned-panel__header{padding-top:calc(12px + env(safe-area-inset-top,0px))}.room-header__pin-btn{padding:4px 8px;font-size:12px}.message-bubble{padding:2px 12px 2px 52px}.message-bubble--full{margin-top:12px}.message-bubble__avatar-col{left:10px;width:32px}.message-bubble__avatar-col .avatar{width:32px!important;height:32px!important;font-size:13px!important}.message-bubble__body{font-size:15px}.message-bubble__reply-quote{max-width:100%}.message-bubble__reply-text{max-width:calc(100vw - 120px)}.code-snippet,.md-code-block{max-width:100%}.code-snippet__body{font-size:12px}.message-bubble__image-img{max-width:calc(100vw - 80px);max-height:300px}.message-bubble__file{max-width:100%}.message-bubble__action-bar{display:none}.message-bubble__emoji-picker{position:fixed;inset:auto 0 0;border-radius:var(--uplink-radius-lg) var(--uplink-radius-lg) 0 0;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));justify-content:center;gap:8px;z-index:50}.message-bubble__emoji-picker-btn{font-size:28px;padding:8px 10px}.reaction-chip{padding:4px 10px;min-height:32px}.message-input{padding:0 10px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.message-input__wrapper{border-radius:20px}.message-input__textarea{font-size:16px;min-height:36px;padding:6px 0}.message-input__row{padding:3px 4px 3px 14px}.message-input__action-btn{width:38px;height:38px}.message-input__send-btn{width:36px;height:36px}.message-input__reply-preview{padding:8px 12px 0}.message-input__reply-line{height:24px}.command-suggestions{max-height:200px}.command-suggestions__bot{display:none}.thread-panel{position:fixed;inset:0;width:100%;min-width:100%;z-index:20;border-left:none}.thread-panel__header{padding-top:calc(12px + env(safe-area-inset-top,0px));min-height:calc(52px + env(safe-area-inset-top,0px))}.thread-panel__close{min-width:36px;min-height:36px;font-size:20px;display:flex;align-items:center;justify-content:center}.thread-panel__input{margin-bottom:calc(8px + env(safe-area-inset-bottom,0px))}.thread-panel__textarea{font-size:16px}.call-bar{padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.call-bar__controls{flex-wrap:wrap;justify-content:center}.call-bar__btn{min-height:44px;padding:8px 16px;font-size:14px}.video-grid{flex-direction:column;max-height:none;padding:4px 8px}.video-tile{height:auto;width:100%;max-height:200px}.incoming-call-overlay__btn{width:64px;height:64px;font-size:26px}.incoming-call-overlay__actions{gap:32px}.incoming-call-overlay__caller{font-size:20px}.profile-modal__overlay{align-items:flex-end}.profile-modal{width:100%!important;max-width:100%!important;max-height:90vh;border-radius:var(--uplink-radius-lg) var(--uplink-radius-lg) 0 0;margin:0}.create-room-modal,.create-space-modal{width:100%!important;max-width:100%!important;max-height:90vh;border-radius:var(--uplink-radius-lg) var(--uplink-radius-lg) 0 0;margin:0;position:fixed;bottom:0;left:0;right:0}.bot-create-modal{width:100%!important;max-width:100%!important;max-height:100vh;border-radius:0}.bot-settings{position:fixed;inset:0;width:100%;z-index:30;border-radius:0}.bot-settings__header{padding-top:calc(12px + env(safe-area-inset-top,0px))}.admin-panel{position:fixed;inset:0;width:100%;z-index:25}.profile-modal input,.profile-modal textarea,.create-room-modal input,.create-room-modal textarea,.create-space-modal input,.bot-create-modal input,.bot-create-modal textarea,.admin-panel input,.admin-panel textarea{font-size:16px}.login-container{padding:20px 16px;padding-top:calc(20px + env(safe-area-inset-top,0px))}.login-card{max-width:100%;padding:24px 20px}.login-card input{font-size:16px;min-height:44px}.login-card button{min-height:48px;font-size:16px}.typing-indicator{padding:2px 12px 4px 52px;font-size:11px}.message-list::-webkit-scrollbar,.chat-sidebar__rooms::-webkit-scrollbar,.thread-panel__messages::-webkit-scrollbar{display:none}.message-list,.chat-sidebar__rooms,.thread-panel__messages{scrollbar-width:none}}.mobile-action-sheet-overlay{position:fixed;inset:0;background:#00000080;z-index:60;display:flex;align-items:flex-end;animation:fadeIn .15s ease}.mobile-action-sheet{width:100%;background:var(--uplink-bg-secondary);border-radius:var(--uplink-radius-lg) var(--uplink-radius-lg) 0 0;padding:8px 0;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));animation:slideUp .2s ease}.mobile-action-sheet button{display:flex;align-items:center;gap:12px;width:100%;padding:14px 20px;background:none;border:none;color:var(--uplink-text-primary);font-size:16px;font-family:var(--uplink-font);text-align:left;cursor:pointer}.mobile-action-sheet button:active{background:#ffffff0f}.mobile-action-sheet__cancel{margin-top:8px;border-top:1px solid rgba(255,255,255,.06)!important;color:var(--uplink-text-muted)!important;text-align:center!important}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (pointer: coarse){.sidebar-room-item{min-height:44px}.room-header__call-btn,.room-header__btn{min-width:44px;min-height:44px}.call-bar__btn{min-height:44px}.incoming-call-overlay__btn{width:64px;height:64px}.message-input__textarea,.thread-panel__textarea,.chat-sidebar__search-input{font-size:16px}.message-bubble__action-bar{display:none}.chat-sidebar__section-add-btn,.sidebar-space__add-btn{opacity:1}}@media (max-width: 768px) and (orientation: landscape){.room-header{min-height:40px;padding:4px 12px;padding-left:calc(12px + env(safe-area-inset-left,0px));padding-right:calc(12px + env(safe-area-inset-right,0px))}.message-input{padding-left:calc(10px + env(safe-area-inset-left,0px));padding-right:calc(10px + env(safe-area-inset-right,0px))}.message-bubble{padding-left:calc(52px + env(safe-area-inset-left,0px));padding-right:calc(12px + env(safe-area-inset-right,0px))}.incoming-call-overlay__card{flex-direction:row;max-width:500px}.video-grid{flex-direction:row;max-height:50vh}.video-tile{width:auto;height:100%;flex:1}}@media (display-mode: standalone){.chat-sidebar,.room-header,.call-bar,.message-input,.thread-panel__header,button{-webkit-user-select:none;user-select:none}.message-bubble__body,.code-snippet__body,.thread-panel__message-body{-webkit-user-select:text;user-select:text}html{overscroll-behavior:none}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:none}}@media (max-width: 360px){.message-bubble{padding-left:46px}.message-bubble__avatar-col{left:8px;width:28px}.message-bubble__avatar-col .avatar{width:28px!important;height:28px!important;font-size:11px!important}.message-bubble__sender,.room-header__name{font-size:14px}.chat-sidebar__title{font-size:15px}.typing-indicator{padding-left:46px}}.sticker-gif-panel{position:absolute;bottom:100%;left:0;right:0;max-width:420px;height:380px;background:var(--uplink-bg-tertiary);border:1px solid rgba(255,255,255,.08);border-radius:var(--uplink-radius-lg);margin-bottom:4px;display:flex;flex-direction:column;overflow:hidden;z-index:20;box-shadow:0 -4px 24px #0006}.sticker-gif-panel__tabs{display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.sticker-gif-panel__tab{flex:1;padding:10px;background:none;border:none;color:var(--uplink-text-muted);font-size:13px;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.sticker-gif-panel__tab:hover{color:var(--uplink-text-secondary)}.sticker-gif-panel__tab--active{color:var(--uplink-accent);border-bottom-color:var(--uplink-accent)}.sticker-gif-panel__close{background:none;border:none;color:var(--uplink-text-muted);cursor:pointer;padding:8px 10px;display:flex;align-items:center;flex-shrink:0}.sticker-gif-panel__close:hover{color:var(--uplink-text-primary)}.sticker-gif-panel__search{padding:8px;flex-shrink:0;position:relative}.sticker-gif-panel__search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--uplink-text-faint);pointer-events:none}.sticker-gif-panel__search-input{width:100%;background:var(--uplink-input-bg);border:none;border-radius:var(--uplink-radius-md);padding:8px 12px 8px 32px;color:var(--uplink-text-primary);font-size:13px;outline:none}.sticker-gif-panel__search-input::placeholder{color:var(--uplink-text-faint)}.sticker-gif-panel__search-input:focus{box-shadow:0 0 0 1px var(--uplink-accent)}.sticker-gif-panel__content{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 8px}.sticker-gif-panel__content::-webkit-scrollbar{width:6px}.sticker-gif-panel__content::-webkit-scrollbar-thumb{background:var(--uplink-scrollbar-thumb);border-radius:3px}.sticker-gif-panel__gif-grid{columns:2;column-gap:4px}.sticker-gif-panel__gif-item{break-inside:avoid;margin-bottom:4px;border-radius:var(--uplink-radius-sm);overflow:hidden;cursor:pointer;transition:transform .1s,opacity .1s}.sticker-gif-panel__gif-item:hover{transform:scale(1.03);opacity:.85}.sticker-gif-panel__gif-item img{width:100%;display:block;background:#ffffff08}.sticker-gif-panel__sticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.sticker-gif-panel__sticker-item{aspect-ratio:1;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--uplink-radius-sm);padding:4px;transition:background .1s,transform .1s}.sticker-gif-panel__sticker-item:hover{background:#ffffff0f;transform:scale(1.1)}.sticker-gif-panel__sticker-item img{max-width:100%;max-height:100%;object-fit:contain}.sticker-gif-panel__empty{text-align:center;padding:40px 20px;color:var(--uplink-text-faint);font-size:13px;grid-column:1 / -1}.sticker-gif-panel__loading{text-align:center;padding:12px;color:var(--uplink-text-faint);font-size:12px;column-span:all}.sticker-gif-panel__packs{display:flex;align-items:center;gap:2px;padding:6px 8px;border-top:1px solid rgba(255,255,255,.06);overflow-x:auto;flex-shrink:0}.sticker-gif-panel__packs::-webkit-scrollbar{height:4px}.sticker-gif-panel__packs::-webkit-scrollbar-thumb{background:var(--uplink-scrollbar-thumb);border-radius:2px}.sticker-gif-panel__pack-btn{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--uplink-radius-sm);cursor:pointer;font-size:14px;color:var(--uplink-text-muted);transition:background .1s}.sticker-gif-panel__pack-btn:hover{background:#ffffff0f}.sticker-gif-panel__pack-btn--active{background:#5865f226;color:var(--uplink-accent)}.sticker-gif-panel__pack-btn img{width:24px;height:24px;border-radius:4px;object-fit:cover}.sticker-gif-panel__pack-btn--add{color:var(--uplink-text-faint)}.sticker-gif-panel__pack-btn--add:hover{color:var(--uplink-accent)}.sticker-gif-panel__tenor-attr{text-align:center;padding:4px;font-size:10px;color:var(--uplink-text-faint);border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.message-bubble--sticker{background:none!important;box-shadow:none!important}.message-bubble--sticker:hover{background:none!important}.message-bubble__sticker-content{display:flex;flex-direction:column;align-items:flex-start}.sticker-image{border-radius:var(--uplink-radius-md);object-fit:contain}.lottie-sticker__placeholder{background:#ffffff08;border-radius:var(--uplink-radius-md);animation:sticker-pulse 1.5s infinite}@keyframes sticker-pulse{0%,to{opacity:.3}50%{opacity:.6}}.message-bubble__gif{border-radius:var(--uplink-radius-md);overflow:hidden;max-width:350px}.message-bubble__gif img{width:100%;display:block;border-radius:var(--uplink-radius-md)}.create-sticker-modal{background:var(--uplink-bg-secondary);border-radius:var(--uplink-radius-lg);width:480px;max-width:95vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--uplink-shadow-elevated)}.create-sticker-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--uplink-border)}.create-sticker-modal__header h3{margin:0;font-size:16px;color:var(--uplink-text-primary)}.create-sticker-modal__close{background:none;border:none;color:var(--uplink-text-muted);cursor:pointer;padding:4px}.create-sticker-modal__close:hover{color:var(--uplink-text-primary)}.create-sticker-modal__body{padding:16px 20px;flex:1;overflow-y:auto}.create-sticker-modal__name-input{width:100%;background:var(--uplink-input-bg);border:none;border-radius:var(--uplink-radius-md);padding:10px 14px;color:var(--uplink-text-primary);font-size:14px;outline:none;margin-bottom:12px}.create-sticker-modal__name-input:focus{box-shadow:0 0 0 1px var(--uplink-accent)}.create-sticker-modal__name-input::placeholder{color:var(--uplink-text-faint)}.create-sticker-modal__dropzone{border:2px dashed rgba(255,255,255,.1);border-radius:var(--uplink-radius-md);padding:24px;text-align:center;cursor:pointer;color:var(--uplink-text-faint);font-size:13px;display:flex;flex-direction:column;align-items:center;gap:8px;transition:border-color .15s,background .15s;margin-bottom:12px}.create-sticker-modal__dropzone:hover,.create-sticker-modal__dropzone--active{border-color:var(--uplink-accent);background:#5865f20d}.create-sticker-modal__stickers{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.create-sticker-modal__sticker-item{display:flex;align-items:center;gap:10px;padding:6px 8px;background:#ffffff05;border-radius:var(--uplink-radius-sm)}.create-sticker-modal__sticker-preview{width:56px;height:56px;flex-shrink:0;border-radius:var(--uplink-radius-sm);overflow:hidden;position:relative;background:#ffffff08;display:flex;align-items:center;justify-content:center}.create-sticker-modal__sticker-preview img{max-width:100%;max-height:100%;object-fit:contain}.create-sticker-modal__lottie-placeholder{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--uplink-text-faint);font-size:10px}.create-sticker-modal__uploading{position:absolute;inset:0;background:#5865f24d;display:flex;align-items:center;justify-content:center}.create-sticker-modal__uploading:after{content:"";width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.create-sticker-modal__sticker-body{flex:1;background:var(--uplink-input-bg);border:none;border-radius:var(--uplink-radius-sm);padding:6px 10px;color:var(--uplink-text-primary);font-size:13px;outline:none}.create-sticker-modal__sticker-body::placeholder{color:var(--uplink-text-faint)}.create-sticker-modal__sticker-remove{background:none;border:none;color:var(--uplink-text-faint);cursor:pointer;padding:4px;flex-shrink:0}.create-sticker-modal__sticker-remove:hover{color:var(--uplink-danger)}.create-sticker-modal__error{color:var(--uplink-danger);font-size:13px;margin-top:8px}.create-sticker-modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--uplink-border)}.create-sticker-modal__cancel{background:none;border:none;color:var(--uplink-text-muted);cursor:pointer;padding:8px 16px;font-size:14px;border-radius:var(--uplink-radius-sm)}.create-sticker-modal__cancel:hover{color:var(--uplink-text-primary)}.create-sticker-modal__submit{background:var(--uplink-accent);border:none;color:#fff;cursor:pointer;padding:8px 20px;font-size:14px;font-weight:600;border-radius:var(--uplink-radius-sm);transition:background .15s}.create-sticker-modal__submit:hover{background:var(--uplink-accent-hover)}.create-sticker-modal__submit:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.sticker-gif-panel{position:fixed;bottom:0;left:0;right:0;max-width:100%;height:50vh;border-radius:var(--uplink-radius-lg) var(--uplink-radius-lg) 0 0;margin-bottom:0;z-index:100}.sticker-gif-panel__sticker-grid{grid-template-columns:repeat(4,1fr)}.create-sticker-modal{width:100%;max-height:90vh;border-radius:var(--uplink-radius-lg) var(--uplink-radius-lg) 0 0}}:root{--uplink-bg-primary: #313338;--uplink-bg-secondary: #2b2d31;--uplink-bg-tertiary: #1e1f22;--uplink-bg-floating: #111214;--uplink-bg: var(--uplink-bg-primary);--uplink-sidebar-bg: var(--uplink-bg-tertiary);--uplink-text-primary: #f2f3f5;--uplink-text-secondary: #b5bac1;--uplink-text-muted: #949ba4;--uplink-text-faint: #6d6f78;--uplink-text: var(--uplink-text-primary);--uplink-sidebar-text: var(--uplink-text-secondary);--uplink-sidebar-text-muted: var(--uplink-text-faint);--uplink-accent: #5865f2;--uplink-accent-hover: #4752c4;--uplink-success: #23a559;--uplink-danger: #da373c;--uplink-warning: #f0b232;--uplink-interactive-normal: #b5bac1;--uplink-interactive-hover: #dbdee1;--uplink-interactive-active: #fff;--uplink-sidebar-active: rgba(255, 255, 255, .08);--uplink-sidebar-hover: rgba(255, 255, 255, .04);--uplink-input-bg: #1e1f22;--uplink-code-bg: #2b2d31;--uplink-border: rgba(255, 255, 255, .06);--uplink-message-hover: rgba(0, 0, 0, .06);--uplink-scrollbar: transparent;--uplink-scrollbar-thumb: rgba(255, 255, 255, .12);--uplink-shadow: 0 1px 4px rgba(0, 0, 0, .3);--uplink-shadow-elevated: 0 4px 32px rgba(0, 0, 0, .5);--uplink-radius-sm: 4px;--uplink-radius-md: 8px;--uplink-radius-lg: 12px;--uplink-radius: var(--uplink-radius-sm);--uplink-sidebar-width: 260px;--uplink-avatar-size: 40px;--uplink-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--uplink-font-mono: "SF Mono", "Fira Code", "Cascadia Code", Consolas, monospace}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--uplink-font);font-size:15px;color:var(--uplink-text-primary);background:var(--uplink-bg-primary);overflow:hidden;height:100vh;height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}::selection{background:#5865f24d}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--uplink-scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}a{color:var(--uplink-accent);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--uplink-accent);outline-offset:2px}.uplink-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;color:var(--uplink-text-muted)}.uplink-loading__spinner{width:32px;height:32px;border:3px solid var(--uplink-border);border-top-color:var(--uplink-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
