/* КОНТУР / conversational diagnostic console */
.chat-card{width:min(760px,100%);background:var(--paper-hi);color:var(--ink);border:1px solid var(--paper-hi);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}
.chat-head{min-height:72px;padding:13px 16px;display:flex;align-items:center;gap:12px;background:var(--paper-hi);border-bottom:2px solid var(--ink)}
.chat-logo{width:42px;height:42px;display:grid;place-items:center;flex:none;background:var(--signal);color:#fff;font:800 19px var(--display)}
.chat-head>div{display:grid;line-height:1.2;min-width:0}.chat-name{font:600 11px var(--mono);letter-spacing:.06em}.chat-sub{font-size:7px;color:var(--steel);margin-top:4px}
.chat-status{display:inline-flex;align-items:center;gap:7px;margin-left:auto;padding:7px 9px;border:1px solid var(--line);font:500 8px var(--mono);letter-spacing:.08em;white-space:nowrap}.chat-status i{width:7px;height:7px;background:var(--signal);border-radius:50%;animation:pulse 1.6s ease-in-out infinite}
.chat-demo-btn{min-height:36px;padding:0 10px;border:1px solid var(--line);font:600 8px var(--mono);letter-spacing:.08em}.chat-demo-btn:hover{background:var(--ink);color:var(--paper-hi)}.chat-demo-btn:disabled{opacity:.45;cursor:default}
.chat-scroll{min-height:330px;max-height:440px;overflow:auto;padding:24px 18px 10px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:32px 32px}
.chat-system{align-self:center;padding:5px 8px;background:var(--paper-hi);color:var(--steel);font-size:7px;text-align:center}
.chat-msgs{display:flex;flex-direction:column;gap:12px;min-width:0}.msg{display:flex;max-width:88%;animation:msg-in .35s var(--ease)}@keyframes msg-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.msg-user{align-self:flex-end}.msg-assistant,.msg-system{align-self:flex-start}.msg-body{padding:12px 14px;font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);background:var(--paper-hi)}
.msg-user .msg-body{background:var(--signal);border-color:var(--signal);color:#fff}.msg-assistant .msg-body{box-shadow:6px 6px 0 rgba(16,17,15,.08)}.msg-system .msg-body{font-family:var(--mono);font-size:10px;border-style:dashed;color:var(--steel)}
.msg-typing .msg-body{padding:15px}.typing-dots{display:inline-flex;gap:5px}.typing-dots i{width:6px;height:6px;background:var(--signal);border-radius:50%;animation:pulse 1.1s infinite}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,100%{opacity:.28}50%{opacity:1}}
.chat-quick{display:flex;gap:6px;flex-wrap:wrap;padding:10px 18px 14px;background:var(--paper-hi)}.chip-quick{min-height:38px;padding:6px 11px;background:transparent;border:1px solid var(--line);font:500 9px var(--mono);text-transform:none}.chip-quick:hover{background:var(--ink);border-color:var(--ink);color:var(--paper-hi)}
.chat-composer{display:grid;grid-template-columns:1fr 54px;gap:8px;padding:12px;border-top:2px solid var(--ink);background:var(--paper-hi)}.chat-input{width:100%;min-height:54px;max-height:138px;resize:none;padding:15px;border:1px solid var(--line);border-radius:0;background:transparent;font-size:15px;outline:none}.chat-input:focus{border-color:var(--signal);box-shadow:inset 4px 0 var(--signal)}.chat-input::placeholder{color:#898c86}.chat-send{height:54px;background:var(--signal);color:#fff;font-size:21px;transition:background .2s,transform .2s}.chat-send:hover{background:var(--ink);transform:translateY(-2px)}.chat-send:disabled{opacity:.45;cursor:default;transform:none}
.chat-fallback{margin:12px 0;padding:16px;border:1px solid var(--signal);background:var(--paper-hi)}.chat-fallback-label{font-size:8px;color:var(--signal)}.chat-fallback-text{margin:8px 0 14px;font-size:14px}.chat-fallback-actions{display:flex;gap:8px;flex-wrap:wrap}
.chat-local .chat-status{border-color:var(--line)}.chat-local .chat-status i{background:var(--steel);animation:none}
.chat-fallback.is-visible{display:block}.chat-unavailable .chat-composer{opacity:.5;pointer-events:none}
@media(max-width:620px){.chat-head{padding:10px}.chat-logo{width:38px;height:38px}.chat-demo-btn{display:none}.chat-status{padding:6px;font-size:7px}.chat-scroll{min-height:300px;max-height:48svh;padding-inline:12px}.chat-quick{padding-inline:12px}.msg{max-width:94%}.msg-body{font-size:13px}.chat-composer{padding:9px;grid-template-columns:1fr 50px}.chat-input,.chat-send{min-height:50px;height:50px}}

/* The assistant is a working tool, so every system state stays legible. */
.chat-name{font-size:12px;line-height:1.35}
.chat-sub,.chat-system,.chat-status,.chat-fallback-label{font-size:12px;line-height:1.45;letter-spacing:.04em}
.msg-system .msg-body{font-size:13px;line-height:1.5}
@media(max-width:620px){.chat-status{font-size:12px}.msg-body{font-size:14px}.chat-sub{font-size:12px}}
@media(prefers-reduced-motion:reduce){.chat-status i,.typing-dots i{animation:none}}
