#scroll-up { bottom: 82px !important; right: 20px !important; z-index: 99970 !important; transition: opacity 0.2s ease, transform 0.2s ease !important; } body.t101-chat-open #scroll-up { opacity: 0 !important; pointer-events: none !important; } .t101-chat-launcher { position: fixed; right: 20px; bottom: 20px; z-index: 99982; height: 50px; padding: 0 18px 0 14px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.16); background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); color: #ffffff; display: inline-flex; align-items: center; gap: 10px; cursor: pointer; box-shadow: 0 12px 30px rgba(2, 6, 23, 0.38), 0 0 0 1px rgba(225, 29, 46, 0.28); transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease; font-family: inherit; } .t101-chat-launcher:hover { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(2, 6, 23, 0.48), 0 0 0 2px rgba(225, 29, 46, 0.55); } body.t101-chat-open .t101-chat-launcher { opacity: 0; pointer-events: none; transform: scale(0.9) translateY(8px); } .t101-chat-launcher-ico { width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg, #e11d2e 0%, #be123c 100%); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; position: relative; } .t101-chat-launcher-ico svg { width: 16px; height: 16px; color: #ffffff; } .t101-chat-live-dot { position: absolute; top: -1px; right: -1px; width: 9px; height: 9px; border-radius: 50%; background: #22c55e; border: 2px solid #0f172a; box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7); animation: t101ChatPulse 2.2s infinite; } @keyframes t101ChatPulse { 0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.65); } 70% { box-shadow: 0 0 0 7px rgba(34, 197, 94, 0); } 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); } } .t101-chat-launcher-txt { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.15; } .t101-chat-launcher-title { font-size: 13.5px; font-weight: 800; color: #ffffff; letter-spacing: 0.1px; } .t101-chat-launcher-sub { font-size: 10.5px; font-weight: 600; color: #94a3b8; } .t101-chat-unread { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: #e11d2e; color: #ffffff; font-size: 11px; font-weight: 900; display: inline-flex; align-items: center; justify-content: center; } .t101-chat-unread[hidden] { display: none !important; } .t101-chat-panel { position: fixed; right: 20px; bottom: 20px; width: 392px; height: 560px; max-height: calc(100dvh - 40px); z-index: 99988; background: #ffffff; border: 1px solid #cbd5e1; border-radius: 20px; box-shadow: 0 24px 64px rgba(2, 6, 23, 0.34); display: flex; flex-direction: column; overflow: hidden; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(18px) scale(0.97); transform-origin: bottom right; transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease; } .t101-chat-panel.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0) scale(1); } .t101-chat-head { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); color: #ffffff; padding: 13px 15px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid rgba(255, 255, 255, 0.08); flex-shrink: 0; } .t101-chat-head-left { display: flex; align-items: center; gap: 10px; min-width: 0; } .t101-chat-head-badge { width: 36px; height: 36px; border-radius: 11px; background: linear-gradient(135deg, #e11d2e 0%, #be123c 100%); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; position: relative; } .t101-chat-head-badge svg { width: 19px; height: 19px; color: #ffffff; } .t101-chat-head-info strong { display: flex; align-items: center; gap: 6px; font-size: 14.5px; font-weight: 900; color: #ffffff; line-height: 1.2; } .t101-chat-ttl-note { display: block; font-size: 11px; color: #94a3b8; font-weight: 600; margin-top: 2px; } .t101-chat-close-btn { width: 34px; height: 34px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.14); background: rgba(255, 255, 255, 0.08); color: #e2e8f0; font-size: 20px; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background 0.16s ease, color 0.16s ease; } .t101-chat-close-btn:hover { background: #e11d2e; border-color: #e11d2e; color: #ffffff; } .t101-chat-Subbar { background: #f8fafc; border-bottom: 1px solid #e2e8f0; padding: 6px 14px; font-size: 11px; font-weight: 700; color: #475569; display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-shrink: 0; } .t101-chat-Subbar span { display: inline-flex; align-items: center; gap: 4px; } .t101-chat-stream { flex: 1; overflow-y: auto; padding: 14px 13px; display: flex; flex-direction: column; gap: 11px; background: #f1f5f9; scroll-behavior: smooth; overscroll-behavior: contain; } .t101-chat-stream::-webkit-scrollbar { width: 6px; } .t101-chat-stream::-webkit-scrollbar-thumb { background: rgba(100, 116, 139, 0.35); border-radius: 999px; } .t101-chat-empty { margin: auto 0; text-align: center; padding: 26px 18px; color: #64748b; } .t101-chat-empty-ico { font-size: 32px; margin-bottom: 8px; } .t101-chat-empty strong { display: block; font-size: 14.5px; color: #0f172a; margin-bottom: 4px; } .t101-chat-empty p { margin: 0 !important; font-size: 12.5px !important; line-height: 1.5 !important; color: #64748b !important; } .t101-chat-msg { display: flex; align-items: flex-start; gap: 9px; max-width: 92%; } .t101-chat-msg.is-mine { align-self: flex-end; flex-direction: row-reverse; } .t101-chat-av { width: 32px !important; height: 32px !important; border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 2px solid var(--t101-msg-color, #cbd5e1); background: #0f172a; margin-top: 2px; } .t101-chat-bubble { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 4px 14px 14px 14px; padding: 8px 11px; box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04); min-width: 0; } .t101-chat-msg.is-mine .t101-chat-bubble { background: #fff1f2; border-color: #fecdd3; border-radius: 14px 4px 14px 14px; } .t101-chat-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; margin-bottom: 3px; line-height: 1.2; } .t101-chat-author { font-size: 12px; font-weight: 800; color: #0f172a; } .t101-chat-rank { font-size: 10px; font-weight: 800; padding: 1px 6px; border-radius: 999px; background: rgba(15, 23, 42, 0.06); color: var(--t101-msg-color, #475569); } .t101-chat-rank.is-editor { background: #e11d2e; color: #ffffff; } .t101-chat-time { font-size: 10.5px; color: #94a3b8; font-weight: 600; margin-left: auto; } .t101-chat-del-btn { border: none; background: transparent; color: #ef4444; font-size: 11px; font-weight: 800; padding: 0 3px; cursor: pointer; opacity: 0.75; } .t101-chat-del-btn:hover { opacity: 1; text-decoration: underline; } .t101-chat-text { font-size: 13.5px; line-height: 1.45; color: #1e293b; white-space: pre-wrap; word-break: break-word; overflow-wrap: anywhere; } .t101-chat-alert { padding: 8px 12px; font-size: 12px; font-weight: 700; background: #fef2f2; color: #b91c1c; border-top: 1px solid #fecaca; flex-shrink: 0; } .t101-chat-alert[hidden] { display: none !important; } .t101-emoji-popover { background: #ffffff; border-top: 1px solid #e2e8f0; display: flex; flex-direction: column; height: 215px; flex-shrink: 0; } .t101-emoji-popover[hidden] { display: none !important; } .t101-emoji-cats { display: flex; align-items: center; gap: 4px; padding: 6px 8px; border-bottom: 1px solid #f1f5f9; overflow-x: auto; scrollbar-width: none; flex-shrink: 0; } .t101-emoji-cats::-webkit-scrollbar { display: none; } .t101-emoji-cat-btn { height: 30px; padding: 0 9px; border-radius: 8px; border: 1px solid transparent; background: transparent; font-size: 14px; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; color: #475569; font-weight: 700; flex-shrink: 0; } .t101-emoji-cat-btn span { font-size: 11px; } .t101-emoji-cat-btn.is-active { background: #fff1f2; border-color: #fecdd3; color: #be123c; } .t101-emoji-grid { flex: 1; overflow-y: auto; padding: 8px 10px; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 4px; align-content: start; } .t101-emoji-item { height: 36px; border: none; border-radius: 8px; background: transparent; font-size: 20px; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: background 0.12s ease, transform 0.12s ease; padding: 0; } .t101-emoji-item:hover { background: #f1f5f9; transform: scale(1.15); } .t101-chat-foot { background: #ffffff; border-top: 1px solid #e2e8f0; padding: 10px 11px; flex-shrink: 0; } .t101-chat-composer-row { display: flex; align-items: flex-end; gap: 7px; } .t101-chat-emoji-toggle { width: 38px; height: 38px; border-radius: 11px; border: 1px solid #cbd5e1; background: #f8fafc; font-size: 19px; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; padding: 0; transition: border-color 0.15s ease, background 0.15s ease; } .t101-chat-emoji-toggle:hover, .t101-chat-emoji-toggle.is-active { border-color: #e11d2e; background: #fff1f2; } .t101-chat-input-wrap { flex: 1; min-width: 0; position: relative; } .t101-chat-input { width: 100%; min-height: 38px; max-height: 84px; padding: 8px 11px; border-radius: 11px; border: 1px solid #cbd5e1; background: #f8fafc; color: #0f172a; font-size: 13.5px; line-height: 1.38; resize: none; box-sizing: border-box; font-family: inherit; display: block; } .t101-chat-input:focus { outline: none; border-color: #e11d2e; background: #ffffff; box-shadow: 0 0 0 3px rgba(225, 29, 46, 0.12); } .t101-chat-send-btn { height: 38px; min-width: 44px; padding: 0 12px; border-radius: 11px; border: none; background: linear-gradient(135deg, #e11d2e 0%, #be123c 100%); color: #ffffff; font-size: 12.5px; font-weight: 800; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 5px; flex-shrink: 0; transition: opacity 0.15s ease, transform 0.15s ease; } .t101-chat-send-btn:disabled { opacity: 0.58; cursor: not-allowed; } .t101-chat-send-btn svg { width: 16px; height: 16px; } .t101-chat-composer-meta { display: flex; align-items: center; justify-content: space-between; margin-top: 5px; font-size: 10.5px; color: #94a3b8; font-weight: 600; padding: 0 2px; } .t101-chat-guest-box { display: flex; align-items: center; justify-content: space-between; gap: 10px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 9px 11px; } .t101-chat-guest-box span { font-size: 12px; font-weight: 700; color: #334155; line-height: 1.35; } .t101-chat-guest-btns { display: inline-flex; gap: 6px; flex-shrink: 0; } .t101-chat-gbtn { height: 32px; padding: 0 11px; border-radius: 8px; font-size: 12px; font-weight: 800; cursor: pointer; border: 1px solid #cbd5e1; background: #ffffff; color: #0f172a; } .t101-chat-gbtn.is-primary { background: #e11d2e; border-color: #e11d2e; color: #ffffff; } html[data-theme="dark"] .t101-chat-panel { background: #0f172a; border-color: #1e293b; box-shadow: 0 26px 70px rgba(0, 0, 0, 0.68); } html[data-theme="dark"] .t101-chat-Subbar { background: #131c2e; border-bottom-color: #1e293b; color: #94a3b8; } html[data-theme="dark"] .t101-chat-stream { background: #0b1120; } html[data-theme="dark"] .t101-chat-empty strong { color: #f8fafc; } html[data-theme="dark"] .t101-chat-bubble { background: #162033; border-color: #253248; } html[data-theme="dark"] .t101-chat-msg.is-mine .t101-chat-bubble { background: rgba(225, 29, 46, 0.16); border-color: rgba(244, 63, 94, 0.36); } html[data-theme="dark"] .t101-chat-author { color: #f8fafc; } html[data-theme="dark"] .t101-chat-rank:not(.is-editor) { background: rgba(255, 255, 255, 0.08); } html[data-theme="dark"] .t101-chat-text { color: #e2e8f0; } html[data-theme="dark"] .t101-chat-alert { background: rgba(225, 29, 46, 0.18); border-top-color: rgba(244, 63, 94, 0.35); color: #fda4af; } html[data-theme="dark"] .t101-emoji-popover, html[data-theme="dark"] .t101-chat-foot { background: #0f172a; border-top-color: #1e293b; } html[data-theme="dark"] .t101-emoji-cats { border-bottom-color: #1e293b; } html[data-theme="dark"] .t101-emoji-cat-btn { color: #94a3b8; } html[data-theme="dark"] .t101-emoji-cat-btn.is-active { background: rgba(225, 29, 46, 0.18); border-color: rgba(244, 63, 94, 0.35); color: #fda4af; } html[data-theme="dark"] .t101-emoji-item:hover { background: #1e293b; } html[data-theme="dark"] .t101-chat-emoji-toggle, html[data-theme="dark"] .t101-chat-input { background: #162033; border-color: #2d3d56; color: #f8fafc; } html[data-theme="dark"] .t101-chat-input:focus { background: #1a2740; border-color: #f43f5e; } html[data-theme="dark"] .t101-chat-guest-box { background: #162033; border-color: #253248; } html[data-theme="dark"] .t101-chat-guest-box span { color: #e2e8f0; } html[data-theme="dark"] .t101-chat-gbtn:not(.is-primary) { background: #0f172a; border-color: #334155; color: #f8fafc; } @media (max-width: 640px) { #scroll-up { bottom: 76px !important; right: 14px !important; } .t101-chat-launcher { right: 14px; bottom: 16px; height: 46px; padding: 0 14px 0 11px; gap: 8px; } .t101-chat-launcher-sub { display: none; } .t101-chat-launcher-title { font-size: 13px; } .t101-chat-panel { right: 0; left: 0; bottom: 0; width: 100%; height: var(--t101-chat-vvh, 100dvh); max-height: var(--t101-chat-vvh, 100dvh); border-radius: 0; border: none; } .t101-chat-composer-hint { display: none; } .t101-emoji-popover { height: 195px; } .t101-emoji-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); } body.t101-chat-open { overflow: hidden !important; } }