:root{
  --bg:#080b10;--panel:#111827;--line:#252b35;--text:#f4f5f7;
  --muted:#9ca3af;--brand:#4f7df3;--bubble:#1d2430;--user:#315fdb;--success:#66b35a
}
*{box-sizing:border-box}html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input{font:inherit}
.chat-shell{min-height:100vh;display:grid;grid-template-rows:118px 1fr 88px;background:var(--bg)}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line);background:#090d12}
.profile-wrap{display:flex;align-items:center;gap:14px}.avatar{position:relative;flex:0 0 auto}
.avatar img{width:100%;height:100%;display:block;border-radius:50%;object-fit:cover;border:1px solid #303745}
.avatar-small{width:76px;height:76px}.avatar-large{width:170px;height:170px;margin:20px auto 26px}
.online-dot{position:absolute;right:2%;bottom:8%;width:24%;height:24%;min-width:18px;min-height:18px;background:var(--success);border:3px solid #0b0f15;border-radius:50%}
.name-row{display:flex;align-items:center;gap:8px}.name-row strong{font-size:25px;letter-spacing:-.02em}
.ai-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:22px;padding:0 7px;border-radius:999px;background:#315fdb;color:white;font-size:11px;font-weight:800;letter-spacing:.05em}
.subtitle{display:block;margin-top:5px;color:var(--muted);font-size:15px}
.top-actions{display:flex;align-items:center;gap:12px}.icon-button{border:0;background:transparent;color:#d7dbe2;font-size:28px;padding:8px 10px;cursor:pointer}
.chat-area{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:0}
.waiting-card{width:min(610px,calc(100% - 36px));margin:auto;padding:34px 32px 28px;text-align:center;background:#121827;border:1px solid #273043;border-radius:14px;box-shadow:0 0 0 3px rgba(66,93,150,.12),0 18px 50px rgba(0,0,0,.32);transition:opacity .45s ease,transform .45s ease}
.waiting-card.fade-out{opacity:0;transform:translateY(-10px) scale(.985);pointer-events:none}.waiting-card.hidden{display:none}
.waiting-card h1{margin:0;font-size:clamp(31px,4vw,52px);line-height:1.12;letter-spacing:-.035em}
.waiting-card p{margin:0 0 24px;color:#c4c8d0;font-size:18px}
.waiting-card button{padding:12px 22px;color:#6e9bff;background:#16213b;border:1px solid #3c5d9e;border-radius:999px}
.waiting-card small{display:block;margin-top:14px;color:#7f8794;font-size:12px}
.messages{flex:1;overflow:auto;padding:30px 24px 18px;display:flex;flex-direction:column;gap:12px}
.message{max-width:min(78%,620px);padding:12px 15px;border-radius:19px;line-height:1.4;font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere;animation:messageIn .22s ease-out}
.message.bot{align-self:flex-start;background:var(--bubble);border-bottom-left-radius:6px}
.message.user{align-self:flex-end;background:var(--user);color:white;border-bottom-right-radius:6px}
@keyframes messageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.typing{margin:0 24px 14px;width:64px;padding:12px 13px;display:flex;gap:5px;background:var(--bubble);border-radius:18px 18px 18px 6px}
.typing span{width:7px;height:7px;border-radius:50%;background:#98a1ae;animation:bounce 1s infinite}
.typing span:nth-child(2){animation-delay:.14s}.typing span:nth-child(3){animation-delay:.28s}
@keyframes bounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-4px)}}
.offer{margin:0 24px 16px;padding:14px;border:1px solid #2f477d;border-radius:15px;background:#111a2c;text-align:center}
.offer p{margin:0 0 10px;font-size:14px}.offer a{display:block;padding:12px;border-radius:10px;background:var(--brand);color:#fff;text-decoration:none;font-weight:800}
.offer small{display:block;margin-top:8px;color:var(--muted);font-size:10px}
.composer{display:flex;align-items:center;gap:10px;margin:0 18px 18px;padding:10px 12px;border:1px solid #20262f;border-radius:999px;background:#10141a}
.composer input{min-width:0;flex:1;color:#f3f4f6;background:transparent;border:0;outline:0;font-size:16px}
.composer input::placeholder{color:#555d69}.composer-icon,.send-button{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#858d98;font-size:24px}
.send-button{background:#2b55c7;color:white;cursor:pointer}.send-button:disabled{opacity:.4;cursor:not-allowed}.hidden{display:none!important}
@media(max-width:700px){.chat-shell{grid-template-rows:88px 1fr 78px}.topbar{padding:12px 14px}.avatar-small{width:56px;height:56px}.name-row strong{font-size:20px}.waiting-card{padding:28px 20px 24px}.avatar-large{width:132px;height:132px}.messages{padding:20px 14px 12px}.message{max-width:86%}.composer{margin:0 10px 10px}}
