|
|
| * {
|
| margin: 0;
|
| padding: 0;
|
| box-sizing: border-box;
|
| }
|
|
|
|
|
| :root {
|
| --tg-bg-color: #f2f2f2;
|
| --tg-sidebar-bg-color: #ffffff;
|
| --tg-chat-bg-color: #e5ddd5;
|
| --tg-text-color: #2a2a2a;
|
| --tg-link-color: #0088cc;
|
| --tg-sent-message-bg: #d9f0fd;
|
| --tg-received-message-bg: #ffffff;
|
| --tg-border-color: #e0e0e0;
|
| --tg-input-bg-color: #f9f9f9;
|
| --tg-input-border-color: #d9d9d9;
|
| --tg-input-placeholder-color: #9a9a9a;
|
| --tg-active-item-bg: #e8f4fd;
|
| --tg-hover-item-bg: #f8f8f8;
|
|
|
|
|
| --tg-message-radius: 12px;
|
| --tg-message-padding-vertical: 10px;
|
| --tg-message-padding-horizontal: 14px;
|
| --tg-chat-item-avatar-size: 42px;
|
| --tg-chat-item-padding-vertical: 10px;
|
| --tg-chat-item-padding-horizontal: 16px;
|
| --tg-header-height: 56px;
|
| --tg-input-height: 48px;
|
| --tg-scrollbar-width: 8px;
|
| --tg-scrollbar-color: rgba(0, 0, 0, 0.2);
|
| --tg-scrollbar-track-color: transparent;
|
| }
|
|
|
| body {
|
| font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
| background: var(--tg-bg-color);
|
| overflow: hidden;
|
| }
|
|
|
|
|
| .app {
|
| display: flex;
|
| height: 100vh;
|
| }
|
|
|
|
|
| .chat-list {
|
| width: 320px;
|
| background: var(--tg-sidebar-bg-color);
|
| border-right: 1px solid var(--tg-border-color);
|
| display: flex;
|
| flex-direction: column;
|
| }
|
|
|
| .chat-list-header {
|
| padding: 14px 16px;
|
| background: var(--tg-sidebar-bg-color);
|
| border-bottom: 1px solid var(--tg-border-color);
|
| display: flex;
|
| flex-direction: column;
|
| }
|
|
|
| .chat-list-header h2 {
|
| margin-bottom: 7px;
|
| font-size: 1.1em;
|
| color: var(--tg-text-color);
|
| font-weight: 500;
|
| }
|
|
|
| .chat-list-header button.connect-btn {
|
| width: 100%;
|
| padding: 8px 14px;
|
| border: 1px solid var(--tg-input-border-color);
|
| border-radius: 24px;
|
| outline: none;
|
| font-size: 0.95em;
|
| background-color: var(--tg-link-color);
|
| color: white;
|
| margin-bottom: 8px;
|
| text-align: left;
|
| display: flex;
|
| align-items: center;
|
| justify-content: center;
|
| gap: 8px;
|
| }
|
|
|
| .chat-list-header input {
|
| width: 100%;
|
| padding: 8px 14px;
|
| border: 1px solid var(--tg-input-border-color);
|
| border-radius: 24px;
|
| outline: none;
|
| font-size: 0.95em;
|
| background-color: var(--tg-input-bg-color);
|
| color: var(--tg-text-color);
|
| transition: border-color 0.2s;
|
| }
|
|
|
| .chat-list-header input:focus {
|
| border-color: var(--tg-link-color);
|
| box-shadow: 0 0 0 1px var(--tg-link-color);
|
| }
|
|
|
| .chat-items {
|
| list-style: none;
|
| overflow-y: auto;
|
| flex-grow: 1;
|
| scrollbar-width: thin;
|
| scrollbar-color: var(--tg-scrollbar-color) var(--tg-scrollbar-track-color);
|
| }
|
| .chat-items::-webkit-scrollbar {
|
| width: var(--tg-scrollbar-width);
|
| }
|
| .chat-items::-webkit-scrollbar-track {
|
| background: var(--tg-scrollbar-track-color);
|
| }
|
| .chat-items::-webkit-scrollbar-thumb {
|
| background-color: var(--tg-scrollbar-color);
|
| border-radius: 4px;
|
| }
|
|
|
| .chat-item {
|
| display: flex;
|
| align-items: center;
|
| justify-content: space-between;
|
| padding: var(--tg-chat-item-padding-vertical) var(--tg-chat-item-padding-horizontal);
|
| cursor: pointer;
|
| transition: background 0.2s;
|
| border-bottom: 1px solid var(--tg-border-color);
|
| }
|
|
|
| .chat-item.active {
|
| background: var(--tg-active-item-bg);
|
| }
|
|
|
| .chat-item:hover {
|
| background-color: var(--tg-hover-item-bg);
|
| }
|
|
|
| .chat-item .avatar {
|
| margin-right: 14px;
|
| display: flex;
|
| align-items: center;
|
| justify-content: center;
|
| width: var(--tg-chat-item-avatar-size);
|
| height: var(--tg-chat-item-avatar-size);
|
| background: var(--tg-border-color);
|
| border-radius: 50%;
|
| font-weight: 600;
|
| font-size: 18px;
|
| color: var(--tg-chat-bg-color);
|
| overflow: hidden;
|
| }
|
|
|
| .chat-item .avatar svg {
|
| width: 100%;
|
| height: 100%;
|
| }
|
|
|
| .chat-item .chat-info {
|
| display: flex;
|
| flex-direction: column;
|
| overflow: hidden;
|
| flex-grow: 1;
|
| margin-right: 10px;
|
| }
|
|
|
| .chat-name {
|
| font-weight: 500;
|
| margin-bottom: 3px;
|
| color: var(--tg-text-color);
|
| white-space: nowrap;
|
| overflow: hidden;
|
| text-overflow: ellipsis;
|
| font-size: 1.05em;
|
| }
|
|
|
| .chat-snippet {
|
| font-size: 0.9em;
|
| color: var(--tg-input-placeholder-color);
|
| white-space: nowrap;
|
| overflow: hidden;
|
| text-overflow: ellipsis;
|
| }
|
|
|
| .chat-item .chat-time {
|
| font-size: 0.8em;
|
| color: var(--tg-input-placeholder-color);
|
| align-self: flex-start;
|
| }
|
|
|
| .chat-item .unread-badge {
|
| background-color: var(--tg-link-color);
|
| color: white;
|
| font-size: 0.75em;
|
| padding: 4px 8px;
|
| border-radius: 12px;
|
| font-weight: bold;
|
| align-self: flex-end;
|
| }
|
|
|
| .chat-item .unread-badge.hidden {
|
| display: none;
|
| }
|
|
|
| .chat-item .channel-info {
|
| display: flex;
|
| flex-direction: column;
|
| gap: 4px;
|
| }
|
|
|
| .channel-users-count {
|
| font-size: 0.8em;
|
| color: var(--tg-input-placeholder-color);
|
| }
|
|
|
|
|
| .chat-window {
|
| flex-grow: 1;
|
| display: grid;
|
| grid-template-columns: 1fr 300px;
|
| grid-template-rows: var(--tg-header-height) 1fr auto;
|
| background: var(--tg-chat-bg-color);
|
| position: relative;
|
| }
|
|
|
| .chat-header {
|
| grid-column: 1 / -1;
|
| padding: 0 16px;
|
| height: var(--tg-header-height);
|
| background: var(--tg-sidebar-bg-color);
|
| border-bottom: 1px solid var(--tg-border-color);
|
| display: flex;
|
| justify-content: space-between;
|
| align-items: center;
|
| }
|
|
|
| .chat-header-info {
|
| display: flex;
|
| align-items: center;
|
| }
|
|
|
| .chat-header .avatar {
|
| width: 40px;
|
| height: 40px;
|
| font-size: 18px;
|
| margin-right: 12px;
|
| display: flex;
|
| align-items: center;
|
| justify-content: center;
|
| background: #5288c1;
|
| border-radius: 50%;
|
| font-weight: 600;
|
| color: white;
|
| }
|
|
|
| .chat-header h2 {
|
| font-size: 1.1em;
|
| color: var(--tg-text-color);
|
| font-weight: 500;
|
| }
|
|
|
| .settings-btn {
|
| background: none;
|
| border: none;
|
| cursor: pointer;
|
| padding: 8px;
|
| color: var(--tg-input-placeholder-color);
|
| transition: transform 0.3s;
|
| }
|
|
|
| .settings-btn:hover {
|
| transform: rotate(20deg);
|
| }
|
|
|
| .messages {
|
| grid-column: 1;
|
| padding-right: 300px;
|
| flex-grow: 1;
|
| overflow-y: auto;
|
| padding: 14px 16px;
|
| display: flex;
|
| flex-direction: column;
|
| gap: 8px;
|
| scrollbar-width: thin;
|
| scrollbar-color: var(--tg-scrollbar-color) var(--tg-scrollbar-track-color);
|
| }
|
| .messages::-webkit-scrollbar {
|
| width: var(--tg-scrollbar-width);
|
| }
|
| .messages::-webkit-scrollbar-track {
|
| background: var(--tg-scrollbar-track-color);
|
| }
|
| .messages::-webkit-scrollbar-thumb {
|
| background-color: var(--tg-scrollbar-color);
|
| border-radius: 4px;
|
| }
|
|
|
|
|
| .message {
|
| display: flex;
|
| max-width: 78%;
|
| animation: fadeIn 0.3s ease-in-out;
|
| margin-bottom: 3px;
|
| }
|
| .message.sent {
|
| align-self: flex-end;
|
| }
|
| .message.received {
|
| align-self: flex-start;
|
| }
|
| .message-bubble {
|
| padding: var(--tg-message-padding-vertical) var(--tg-message-padding-horizontal);
|
| border-radius: var(--tg-message-radius) calc(var(--tg-message-radius) * 2) calc(var(--tg-message-radius) * 2) var(--tg-message-radius);
|
| background: var(--tg-received-message-bg);
|
| box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
|
| font-size: 0.98em;
|
| line-height: 1.3;
|
| position: relative;
|
| word-wrap: break-word;
|
| }
|
| .message.sent .message-bubble {
|
| background: var(--tg-sent-message-bg);
|
| color: var(--tg-text-color);
|
| border-radius: calc(var(--tg-message-radius) * 2) var(--tg-message-radius) var(--tg-message-radius) calc(var(--tg-message-radius) * 2);
|
| }
|
| .message.received .message-bubble {
|
| background: var(--tg-received-message-bg);
|
| padding: var(--tg-message-padding-vertical) var(--tg-message-padding-horizontal);
|
| border-radius: var(--tg-message-radius);
|
| max-width: 85%;
|
| box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
| }
|
|
|
| .message-time {
|
| position: absolute;
|
| right: 10px;
|
| bottom: 6px;
|
| font-size: 0.7em;
|
| color: var(--tg-input-placeholder-color);
|
| }
|
| .message.sent .message-time {
|
| right: 10px;
|
| left: auto;
|
| text-align: right;
|
| }
|
|
|
|
|
| .message-input {
|
| grid-column: 1;
|
| padding-right: 300px;
|
| display: flex;
|
| padding: 9px 16px;
|
| background: var(--tg-sidebar-bg-color);
|
| border-top: 1px solid var(--tg-border-color);
|
| height: var(--tg-input-height);
|
| }
|
| .message-input input {
|
| flex-grow: 1;
|
| padding: 10px 16px;
|
| border: 1px solid var(--tg-input-border-color);
|
| border-radius: 24px;
|
| outline: none;
|
| font-size: 1em;
|
| margin-right: 10px;
|
| background-color: var(--tg-input-bg-color);
|
| color: var(--tg-text-color);
|
| height: auto;
|
| transition: border-color 0.2s;
|
| }
|
|
|
| .message-input input:focus {
|
| border-color: var(--tg-link-color);
|
| box-shadow: 0 0 0 1px var(--tg-link-color);
|
| }
|
|
|
| .message-input input::placeholder {
|
| color: var(--tg-input-placeholder-color);
|
| }
|
| .message-input button {
|
| background: transparent;
|
| border: none;
|
| padding: 0;
|
| width: 40px;
|
| display: flex;
|
| align-items: center;
|
| justify-content: center;
|
| cursor: pointer;
|
| color: var(--tg-link-color);
|
| }
|
|
|
|
|
| .bot-commands {
|
| display: flex;
|
| flex-wrap: wrap;
|
| gap: 8px;
|
| margin: 10px 0;
|
| padding: 0 16px;
|
| }
|
| .bot-command {
|
| background: var(--tg-sidebar-bg-color);
|
| border: none;
|
| padding: 8px 16px;
|
| border-radius: 18px;
|
| cursor: pointer;
|
| color: var(--tg-link-color);
|
| font-size: 0.95em;
|
| transition: background-color 0.2s;
|
| }
|
| .bot-command:hover {
|
| background: var(--tg-active-item-bg);
|
| }
|
|
|
|
|
| .bot-keyboard {
|
| display: flex;
|
| flex-direction: column;
|
| gap: 8px;
|
| margin-top: 10px;
|
| }
|
| .keyboard-row {
|
| display: flex;
|
| gap: 8px;
|
| }
|
| .keyboard-button {
|
| flex: 1;
|
| background: var(--tg-sidebar-bg-color);
|
| border: none;
|
| padding: 8px 16px;
|
| border-radius: 8px;
|
| cursor: pointer;
|
| color: var(--tg-link-color);
|
| font-size: 0.95em;
|
| transition: background-color 0.2s;
|
| text-align: center;
|
| }
|
| .keyboard-button:hover {
|
| background: var(--tg-active-item-bg);
|
| }
|
| .bot-badge {
|
| background: var(--tg-link-color);
|
| color: white;
|
| font-size: 0.7em;
|
| padding: 2px 6px;
|
| border-radius: 4px;
|
| margin-left: 8px;
|
| text-transform: uppercase;
|
| }
|
|
|
|
|
| @keyframes fadeIn {
|
| from {
|
| opacity: 0;
|
| transform: translateY(3px);
|
| }
|
| to {
|
| opacity: 1;
|
| transform: translateY(0);
|
| }
|
| }
|
|
|
|
|
| .dialog {
|
| display: none;
|
| position: fixed;
|
| top: 0;
|
| left: 0;
|
| right: 0;
|
| bottom: 0;
|
| background: rgba(0, 0, 0, 0.5);
|
| align-items: center;
|
| justify-content: center;
|
| z-index: 1000;
|
| }
|
| .dialog-content {
|
| background: var(--tg-sidebar-bg-color);
|
| padding: 24px;
|
| border-radius: 16px;
|
| width: 100%;
|
| max-width: 420px;
|
| box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
|
| }
|
| .dialog h3 {
|
| margin: 0 0 24px;
|
| color: var(--tg-text-color);
|
| font-size: 1.3em;
|
| font-weight: 500;
|
| }
|
| .form-group {
|
| margin-bottom: 18px;
|
| }
|
| .form-group label {
|
| display: block;
|
| margin-bottom: 6px;
|
| color: var(--tg-text-color);
|
| font-size: 0.95em;
|
| }
|
| .form-group input {
|
| width: 100%;
|
| padding: 10px 14px;
|
| border: 1px solid var(--tg-input-border-color);
|
| border-radius: 10px;
|
| font-size: 1em;
|
| background: var(--tg-input-bg-color);
|
| color: var(--tg-text-color);
|
| transition: border-color 0.2s;
|
| }
|
|
|
| .form-group input:focus {
|
| border-color: var(--tg-link-color);
|
| box-shadow: 0 0 0 1px var(--tg-link-color);
|
| }
|
|
|
| .buttons {
|
| display: flex;
|
| gap: 12px;
|
| justify-content: flex-end;
|
| margin-top: 24px;
|
| }
|
| .buttons button {
|
| padding: 10px 20px;
|
| border: none;
|
| border-radius: 10px;
|
| cursor: pointer;
|
| font-size: 0.95em;
|
| transition: background-color 0.2s;
|
| }
|
| .buttons button[type="submit"] {
|
| background: var(--tg-link-color);
|
| color: white;
|
| }
|
| .buttons button.cancel {
|
| background: var(--tg-hover-item-bg);
|
| color: var(--tg-text-color);
|
| }
|
| .message-sender {
|
| display: block;
|
| font-weight: 500;
|
| margin-bottom: 4px;
|
| color: var(--tg-link-color);
|
| }
|
| .message.action {
|
| align-self: center;
|
| font-style: italic;
|
| color: var(--tg-input-placeholder-color);
|
| }
|
| .message.system {
|
| align-self: center;
|
| color: var(--tg-input-placeholder-color);
|
| font-size: 0.9em;
|
| }
|
| .message.error {
|
| align-self: center;
|
| color: #ff4444;
|
| font-size: 0.9em;
|
| }
|
| .header-actions {
|
| display: flex;
|
| gap: 10px;
|
| }
|
| .connect-btn {
|
| background: none;
|
| border: none;
|
| cursor: pointer;
|
| padding: 8px;
|
| color: var(--tg-input-placeholder-color);
|
| transition: transform 0.3s;
|
| }
|
| .connect-btn:hover {
|
| transform: scale(1.1);
|
| }
|
|
|
|
|
| .user-list {
|
| grid-column: 2;
|
| grid-row: 2 / span 2;
|
| position: relative;
|
| width: 300px;
|
| background: var(--tg-sidebar-bg-color);
|
| border-left: 1px solid var(--tg-border-color);
|
| display: flex;
|
| flex-direction: column;
|
| }
|
|
|
| .user-list-header {
|
| padding: 14px 16px;
|
| border-bottom: 1px solid var(--tg-border-color);
|
| display: flex;
|
| }
|
| .user-list-header h3 {
|
| font-size: 1em;
|
| font-weight: 500;
|
| color: var(--tg-text-color);
|
| }
|
| .user-list-header input.user-search-input {
|
| padding: 8px 14px;
|
| border: 1px solid var(--tg-input-border-color);
|
| border-radius: 24px;
|
| outline: none;
|
| font-size: 0.95em;
|
| background-color: var(--tg-input-bg-color);
|
| color: var(--tg-text-color);
|
| margin-left: auto;
|
| width: 60%;
|
| }
|
|
|
| .user-list-content {
|
| overflow-y: auto;
|
| flex-grow: 1;
|
| scrollbar-width: thin;
|
| scrollbar-color: var(--tg-scrollbar-color) var(--tg-scrollbar-track-color);
|
| }
|
| .user-list-content::-webkit-scrollbar {
|
| width: var(--tg-scrollbar-width);
|
| }
|
| .user-list-content::-webkit-scrollbar-track {
|
| background: var(--tg-scrollbar-track-color);
|
| }
|
| .user-list-content::-webkit-scrollbar-thumb {
|
| background-color: var(--tg-scrollbar-color);
|
| border-radius: 4px;
|
| }
|
|
|
| .user-item {
|
| display: flex;
|
| align-items: center;
|
| padding: 10px 16px;
|
| cursor: pointer;
|
| transition: background 0.2s;
|
| }
|
| .user-item:hover {
|
| background: var(--tg-hover-item-bg);
|
| }
|
| .user-avatar {
|
| width: 36px;
|
| height: 36px;
|
| border-radius: 50%;
|
| background: var(--tg-link-color);
|
| color: white;
|
| display: flex;
|
| align-items: center;
|
| justify-content: center;
|
| margin-right: 12px;
|
| font-weight: 500;
|
| font-size: 1em;
|
| overflow: hidden;
|
| }
|
|
|
| .user-avatar svg {
|
| width: 100%;
|
| height: 100%;
|
| }
|
|
|
| .user-name {
|
| color: var(--tg-text-color);
|
| font-size: 0.95em;
|
| }
|
|
|
|
|
| .channel-topic {
|
| font-size: 0.8em;
|
| color: var(--tg-input-placeholder-color);
|
| margin-top: 4px;
|
| white-space: nowrap;
|
| overflow: hidden;
|
| text-overflow: ellipsis;
|
| }
|
|
|
|
|
| .server-info {
|
| padding: 8px 16px;
|
| font-size: 0.8em;
|
| color: var(--tg-input-placeholder-color);
|
| background: var(--tg-sidebar-bg-color);
|
| border-bottom: 1px solid var(--tg-border-color);
|
| }
|
|
|
|
|
| .connection-status {
|
| position: fixed;
|
| top: 0;
|
| left: 50%;
|
| transform: translateX(-50%);
|
| padding: 10px 18px;
|
| background: var(--tg-link-color);
|
| color: white;
|
| border-radius: 0 0 10px 10px;
|
| font-size: 0.9em;
|
| z-index: 1000;
|
| transition: transform 0.3s;
|
| }
|
| .connection-status.hidden {
|
| transform: translateX(-50%) translateY(-100%);
|
| }
|
|
|
|
|
| .pm-dialog {
|
| position: fixed;
|
| bottom: 20px;
|
| right: 20px;
|
| width: 320px;
|
| background: var(--tg-sidebar-bg-color);
|
| border-radius: 16px;
|
| box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
|
| z-index: 1000;
|
| display: flex;
|
| flex-direction: column;
|
| max-height: 80vh;
|
| }
|
| .pm-header {
|
| padding: 14px 16px;
|
| border-bottom: 1px solid var(--tg-border-color);
|
| display: flex;
|
| justify-content: space-between;
|
| align-items: center;
|
| flex-shrink: 0;
|
| }
|
| .pm-messages {
|
| height: auto;
|
| overflow-y: auto;
|
| padding: 14px 16px;
|
| scrollbar-width: thin;
|
| scrollbar-color: var(--tg-scrollbar-color) var(--tg-scrollbar-track-color);
|
| flex-grow: 1;
|
| display: flex;
|
| flex-direction: column-reverse;
|
| }
|
| .pm-messages::-webkit-scrollbar {
|
| width: var(--tg-scrollbar-width);
|
| }
|
| .pm-messages::-webkit-scrollbar-track {
|
| background: var(--tg-scrollbar-track-color);
|
| }
|
| .pm-messages::-webkit-scrollbar-thumb {
|
| background-color: var(--tg-scrollbar-color);
|
| border-radius: 4px;
|
| }
|
| .pm-input {
|
| padding: 14px 16px;
|
| border-top: 1px solid var(--tg-border-color);
|
| flex-shrink: 0;
|
| }
|
| .pm-input input {
|
| width: 100%;
|
| padding: 10px 14px;
|
| border: 1px solid var(--tg-input-border-color);
|
| border-radius: 24px;
|
| outline: none;
|
| font-size: 1em;
|
| background-color: var(--tg-input-bg-color);
|
| color: var(--tg-text-color);
|
| transition: border-color 0.2s;
|
| }
|
|
|
| .pm-input input:focus {
|
| border-color: var(--tg-link-color);
|
| box-shadow: 0 0 0 1px var(--tg-link-color);
|
| }
|
| .pm-message {
|
| margin-bottom: 8px;
|
| }
|
|
|
|
|
| .settings-panel {
|
| position: fixed;
|
| top: 0;
|
| right: 0;
|
| bottom: 0;
|
| width: 320px;
|
| background: var(--tg-sidebar-bg-color);
|
| border-left: 1px solid var(--tg-border-color);
|
| transform: translateX(100%);
|
| transition: transform 0.3s;
|
| z-index: 1000;
|
| }
|
| .settings-panel.open {
|
| transform: translateX(0);
|
| }
|
| .settings-header {
|
| padding: 16px;
|
| border-bottom: 1px solid var(--tg-border-color);
|
| display: flex;
|
| justify-content: space-between;
|
| align-items: center;
|
| }
|
| .settings-content {
|
| padding: 16px;
|
| }
|
| .settings-group {
|
| margin-bottom: 20px;
|
| }
|
| .settings-group h3 {
|
| margin-bottom: 12px;
|
| font-size: 1em;
|
| font-weight: 500;
|
| }
|
|
|
|
|
| .hidden {
|
| display: none;
|
| }
|
|
|
|
|
| .search-results {
|
| position: absolute;
|
| top: 100%;
|
| left: 0;
|
| right: 0;
|
| background: var(--tg-sidebar-bg-color);
|
| border: 1px solid var(--tg-border-color);
|
| border-radius: 0 0 12px 12px;
|
| max-height: 320px;
|
| overflow-y: auto;
|
| z-index: 1000;
|
| box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
| }
|
|
|
| .search-result-item {
|
| padding: 12px 16px;
|
| border-bottom: 1px solid var(--tg-border-color);
|
| cursor: pointer;
|
| display: flex;
|
| align-items: center;
|
| justify-content: space-between;
|
| }
|
|
|
| .search-result-item:hover {
|
| background: var(--tg-hover-item-bg);
|
| }
|
|
|
| .join-button {
|
| padding: 8px 16px;
|
| background: var(--tg-link-color);
|
| color: white;
|
| border: none;
|
| border-radius: 6px;
|
| cursor: pointer;
|
| }
|
|
|
| .join-button:hover {
|
| opacity: 0.9;
|
| }
|
|
|
|
|
| .section-header {
|
| padding: 10px 16px;
|
| font-weight: 500;
|
| color: var(--tg-input-placeholder-color);
|
| background: var(--tg-hover-item-bg);
|
| font-size: 0.9em;
|
| }
|
|
|
|
|
| .channel-category {
|
| margin-bottom: 10px;
|
| }
|
|
|
|
|
| .loading-spinner {
|
| display: inline-block;
|
| width: 20px;
|
| height: 20px;
|
| border: 2px solid var(--tg-border-color);
|
| border-radius: 50%;
|
| border-top-color: var(--tg-link-color);
|
| animation: spin 1s linear infinite;
|
| }
|
|
|
| @keyframes spin {
|
| to { transform: rotate(360deg); }
|
| }
|
|
|
|
|
| .theme-switcher {
|
| padding: 12px 16px;
|
| background: var(--tg-sidebar-bg-color);
|
| border-top: 1px solid var(--tg-border-color);
|
| }
|
|
|
| .theme-option {
|
| display: flex;
|
| align-items: center;
|
| padding: 8px 0;
|
| cursor: pointer;
|
| }
|
|
|
| .theme-option label {
|
| font-size: 0.95em;
|
| }
|
|
|
| .theme-option input[type="radio"] {
|
| margin-right: 8px;
|
| }
|
|
|
|
|
| .channel-info {
|
| display: flex;
|
| flex-direction: column;
|
| position: relative;
|
| background: var(--tg-sidebar-bg-color);
|
| border-top: 1px solid var(--tg-border-color);
|
| height: 100%;
|
| }
|
|
|
| .channel-info.hidden {
|
| display: none;
|
| }
|
|
|
| .channel-info-header {
|
| display: flex;
|
| align-items: center;
|
| padding: 14px 16px;
|
| border-bottom: 1px solid var(--tg-border-color);
|
| }
|
|
|
| .channel-info-header h3 {
|
| font-size: 1em;
|
| font-weight: 500;
|
| color: var(--tg-text-color);
|
| }
|
|
|
| .back-btn {
|
| background: none;
|
| border: none;
|
| cursor: pointer;
|
| padding: 8px;
|
| color: var(--tg-input-placeholder-color);
|
| transition: transform 0.3s;
|
| }
|
|
|
| .back-btn:hover {
|
| transform: scale(1.1);
|
| }
|
|
|
| .channel-info-content {
|
| flex-grow: 1;
|
| display: flex;
|
| flex-direction: column;
|
| padding: 14px;
|
| height: calc(100% - 72px);
|
| overflow-y: auto;
|
| scrollbar-width: thin;
|
| scrollbar-color: var(--tg-scrollbar-color) var(--tg-scrollbar-track-color);
|
| }
|
| .channel-info-content::-webkit-scrollbar {
|
| width: var(--tg-scrollbar-width);
|
| }
|
| .channel-info-content::-webkit-scrollbar-track {
|
| background: var(--tg-scrollbar-track-color);
|
| }
|
| .channel-info-content::-webkit-scrollbar-thumb {
|
| background-color: var(--tg-scrollbar-color);
|
| border-radius: 4px;
|
| }
|
|
|
| .channel-topic {
|
| margin-bottom: 10px;
|
| font-size: 0.8em;
|
| color: var(--tg-input-placeholder-color);
|
| white-space: nowrap;
|
| overflow: hidden;
|
| text-overflow: ellipsis;
|
| }
|
|
|
|
|
| .user-search-input {
|
| padding: 8px 14px;
|
| border: 1px solid var(--tg-input-border-color);
|
| border-radius: 24px;
|
| outline: none;
|
| font-size: 0.95em;
|
| background-color: var(--tg-input-bg-color);
|
| color: var(--tg-text-color);
|
| margin-bottom: 10px;
|
| width: 100%;
|
| } |