.chat-shell {
--chat-bg:#0b0b0b;
--chat-panel:#0f0f0f;
--chat-border:#242424;
--chat-text:#eaeaea;
--chat-muted:#a9a9a9;
--chat-input-bg:#111;
--chat-pill:#161616;
}
.chat-shell * { box-sizing:border-box }
.chat-shell {
width:min(980px, 100%);
border:1px solid var(--chat-border);
border-radius:10px;
overflow:hidden;
background:var(--chat-bg);
box-shadow:0 12px 30px rgba(0,0,0,.45);
font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
color: var(--chat-text);
margin-top: 2rem;
}
.chat-topbar{ display:flex; align-items:center; justify-content:space-between; padding:14px 16px; background:linear-gradient(#0c0c0c, #090909); border-bottom:1px solid var(--chat-border); }
.chat-title{ font-weight:700; letter-spacing:.2px; }
.right-meta{ display:flex; align-items:center; gap:10px; color:var(--chat-muted); font-size:0.875rem; user-select:none; }
.badge{ font-size:0.75rem; padding:6px 10px; border:1px solid var(--chat-border); border-radius:999px; background:var(--chat-pill); color:var(--chat-muted); }
.dot{ width:7px;height:7px;border-radius:50%; background:#36d399; box-shadow:0 0 12px rgba(54,211,153,.55); }
.demo-banner{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 14px; border-bottom:1px solid var(--chat-border); background:#0c0c0c; color:#ffd36a; font-size:0.75rem; }
.demo-banner strong{color:#ffe29a}
.demo-banner button{ border:1px solid #3a3a3a; background:#111; color:#eee; border-radius:10px; padding:8px 10px; cursor:pointer; font-size:0.75rem; }
.demo-banner button:hover{filter:brightness(1.1)}
.chat-body{ height:min(520px, 64vh); overflow:auto; padding:16px 14px; background:radial-gradient(1200px 600px at 50% 0%, rgba(255,255,255,.04), transparent 55%); }
.row{ display:flex; gap:12px; padding:10px 6px; align-items:flex-start; }
.avatar{ width:36px;height:36px;border-radius:50%; display:grid; place-items:center; font-weight:800; color:#fff; flex:0 0 auto; user-select:none; }
.msg{ min-width:0; flex:1; }
.name{ font-weight:700; margin-bottom:4px; color:#f3f3f3; }
.text{ color:#d9d9d9; line-height:1.35; word-wrap:break-word; }
.meta{ margin-top:6px; font-size:0.75rem; color:var(--chat-muted); }
.chat-input{ padding:12px 12px; border-top:1px solid var(--chat-border); background:linear-gradient(#0c0c0c, #090909); display:flex; gap:10px; align-items:center; }
.input-wrap{ flex:1; display:flex; align-items:center; gap:10px; background:var(--chat-input-bg); border:1px solid var(--chat-border); border-radius:26px; padding:10px 12px; }
.chat-shell input{ width:100%; border:none; outline:none; background:transparent; color:#eee; font-size:0.875rem; }
.counter{ color:var(--chat-muted); font-size:0.75rem; min-width:46px; text-align:right; user-select:none; }
.send{ width:42px;height:42px; border-radius:50%; border:1px solid var(--chat-border); background:#111; color:#fff; cursor:pointer; display:grid; place-items:center; }
.send:hover{filter:brightness(1.12)}
.send:active{transform:translateY(1px)}
.send svg{width:18px;height:18px}
.chat-body::-webkit-scrollbar{width:10px}
.chat-body::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:999px;border:2px solid #101010}
.chat-body::-webkit-scrollbar-track{background:#0c0c0c}
0/200