#g21ts-root, #g21ts-root * { box-sizing: border-box; }
#g21ts-root { --g21-red:#d90429; --g21-deep:#a50825; --g21-ink:#172033; --g21-muted:#718096; --g21-line:#e4e9f0; position:fixed; right:18px; bottom:18px; z-index:2147483000; font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif; color:var(--g21-ink); line-height:1.45; }
#g21ts-root.g21ts-position-left { right:auto; left:18px; }
.g21ts-launcher { height:54px; max-width:220px; display:flex; align-items:center; gap:10px; border:0; border-radius:999px; padding:6px 14px 6px 6px; color:#fff; background:linear-gradient(135deg,var(--g21-red),var(--g21-deep)); box-shadow:0 12px 32px rgba(107,12,30,.28); cursor:pointer; font-weight:700; font-size:14px; }
.g21ts-launcher:hover,.g21ts-launcher:focus-visible { color:#fff; background:linear-gradient(135deg,#ef173c,#b40829); transform:translateY(-1px); }
.g21ts-launcher img { width:42px; height:42px; border-radius:50%; object-fit:cover; border:2px solid rgba(255,255,255,.75); }
.g21ts-status-dot { width:9px; height:9px; background:#3ddc97; border:2px solid #fff; border-radius:50%; box-shadow:0 0 0 3px rgba(61,220,151,.2); }
.g21ts-panel { width:min(370px,calc(100vw - 24px)); height:min(520px,calc(100vh - 30px)); display:flex; flex-direction:column; border:1px solid rgba(21,31,49,.08); border-radius:24px; overflow:clip; background:#f6f8fb; box-shadow:0 24px 70px rgba(20,25,35,.25); }
.g21ts-panel[hidden],.g21ts-launcher[hidden] { display:none!important; }
.g21ts-header { height:76px; flex:0 0 76px; display:flex; align-items:center; justify-content:space-between; padding:12px 14px 12px 16px; color:#fff; background:linear-gradient(125deg,#e70b31 0%,#be0828 100%); }
.g21ts-brand { display:flex; align-items:center; gap:10px; min-width:0; }
.g21ts-brand img { width:44px; height:44px; flex:0 0 auto; object-fit:cover; border-radius:14px; border:1px solid rgba(255,255,255,.55); box-shadow:0 5px 14px rgba(93,0,18,.22); }
.g21ts-brand strong,.g21ts-brand small { display:block; color:#fff; }
.g21ts-brand strong { font-size:15px; line-height:1.2; letter-spacing:-.01em; }
.g21ts-brand small { margin-top:3px; width:max-content; max-width:190px; padding:2px 7px; border-radius:999px; background:rgba(255,255,255,.16); font-size:10px; font-weight:600; line-height:1.25; }
.g21ts-brand small::first-letter { color:#4ee39e; }
.g21ts-close { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border:0; border-radius:50%; background:rgba(255,255,255,.15); color:#fff; cursor:pointer; }
.g21ts-close:hover,.g21ts-close:focus-visible { background:rgba(255,255,255,.27); color:#fff; }
.g21ts-icon,.g21ts-icon svg { width:19px; height:19px; display:block; fill:currentColor; }
.g21ts-messages { min-height:0; flex:1 1 auto; overflow-y:auto; overscroll-behavior:contain; padding:16px 12px 10px; scroll-behavior:smooth; scrollbar-width:thin; scrollbar-color:#c6ced9 transparent; }
.g21ts-message-row { display:flex; align-items:flex-end; gap:7px; margin:0 0 12px; }
.g21ts-message-row.g21ts-user { justify-content:flex-end; }
.g21ts-message-avatar { width:26px; height:26px; flex:0 0 26px; object-fit:cover; border-radius:50%; box-shadow:0 2px 7px rgba(38,43,55,.16); }
.g21ts-bubble { max-width:78%; padding:10px 12px; border-radius:18px 18px 18px 5px; background:#fff; border:1px solid #e1e6ee; box-shadow:0 3px 10px rgba(28,39,57,.06); color:var(--g21-ink); font-size:13px; overflow-wrap:anywhere; }
.g21ts-user .g21ts-bubble { color:#fff; background:linear-gradient(135deg,var(--g21-red),#b50827); border-color:transparent; border-radius:18px 18px 5px 18px; }
.g21ts-bubble p { margin:0 0 7px; color:inherit; font-size:inherit; line-height:1.5; }
.g21ts-bubble p:last-child { margin-bottom:0; }
.g21ts-bubble ul { margin:5px 0 5px 18px; padding:0; }
.g21ts-bubble li { margin:3px 0; }
.g21ts-bubble strong { font-weight:750; }
.g21ts-bubble a { color:#b50827; text-decoration:underline; font-weight:650; }
.g21ts-user .g21ts-bubble a { color:#fff; }
.g21ts-feedback { display:flex; align-items:center; gap:5px; flex-wrap:wrap; margin-top:9px; padding-top:7px; border-top:1px solid var(--g21-line); color:var(--g21-muted); font-size:10px; }
.g21ts-feedback button { border:1px solid #d7dde7; border-radius:999px; padding:2px 7px; background:#fff; color:#4b5565; font-size:10px; cursor:pointer; }
.g21ts-feedback button:hover { color:var(--g21-red); border-color:#f0a8b6; background:#fff6f8; }
.g21ts-typing .g21ts-bubble { display:flex; gap:4px; padding:12px 14px; }
.g21ts-typing .g21ts-bubble span { width:6px; height:6px; border-radius:50%; background:#aab3c0; animation:g21ts-bounce 1.1s infinite ease-in-out; }
.g21ts-typing .g21ts-bubble span:nth-child(2) { animation-delay:.14s; }.g21ts-typing .g21ts-bubble span:nth-child(3) { animation-delay:.28s; }
@keyframes g21ts-bounce { 0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-4px);opacity:1} }
.g21ts-topics { height:79px; flex:0 0 79px; display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:7px 10px; border-top:1px solid var(--g21-line); background:#fff; }
.g21ts-topics[hidden] { display:none; }
.g21ts-topic { min-width:0; display:flex; align-items:center; gap:7px; border:1px solid #f1b5c1; border-radius:12px; padding:6px 8px; color:#8f0a23; background:#fffafb; cursor:pointer; font-size:11px; font-weight:680; text-align:left; white-space:nowrap; overflow:hidden; }
.g21ts-topic span { width:21px; height:21px; flex:0 0 21px; display:grid; place-items:center; border-radius:7px; color:var(--g21-red); background:#ffe8ed; font-size:11px; }
.g21ts-topic:hover,.g21ts-topic:focus-visible { color:#fff; background:var(--g21-red); border-color:var(--g21-red); }
.g21ts-topic:hover span,.g21ts-topic:focus-visible span { color:var(--g21-red); background:#fff; }
.g21ts-composer { min-height:62px; flex:0 0 auto; display:flex; align-items:flex-end; gap:8px; padding:8px 10px; border-top:1px solid var(--g21-line); background:#fff; }
.g21ts-composer textarea { width:100%; min-height:42px; max-height:92px; resize:none; border:1px solid #d7deea; border-radius:20px; padding:10px 13px; outline:0; color:var(--g21-ink); background:#f8fafc; font:13px/1.45 inherit; box-shadow:none; }
.g21ts-composer textarea:focus { border-color:#e87a90; box-shadow:0 0 0 3px rgba(217,4,41,.08); }
.g21ts-submit { width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; border:0; border-radius:50%; color:#fff; background:var(--g21-red); box-shadow:0 5px 14px rgba(217,4,41,.24); cursor:pointer; }
.g21ts-submit:hover,.g21ts-submit:focus-visible { color:#fff; background:#b50827; transform:translateY(-1px); }
.g21ts-submit:disabled { opacity:.45; cursor:wait; transform:none; }
.g21ts-privacy { height:31px; flex:0 0 31px; display:grid; place-items:center; color:#8a94a3; background:#fff; font-size:9px; }
.g21ts-privacy::first-letter { color:#22b573; }
@media (max-width:480px) { #g21ts-root { right:12px; bottom:12px; } #g21ts-root.g21ts-position-left{left:12px}.g21ts-panel{height:min(520px,calc(100dvh - 24px));border-radius:21px}.g21ts-launcher span{display:none}.g21ts-launcher{width:54px;padding:6px}.g21ts-status-dot{position:absolute;right:2px;top:2px} }
@media (prefers-reduced-motion:reduce) { #g21ts-root * { scroll-behavior:auto!important; animation-duration:.01ms!important; transition:none!important; } }