:root{
  --red:#8B0000;--red-d:#5F0000;--cream:#FFF8EB;
  --bubble:#FFF1D2;--border:#E6CE97;--text:#3A1C1C;
  --soft:#8A5A2A;--white:#fff;--green:#1E5C0A;--gbg:#EEE;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;overflow:hidden}
body{font-family:Arial,sans-serif;background:var(--cream);display:flex;flex-direction:column;color:var(--text)}
header{background:var(--red);color:#fff;padding:0 18px;height:56px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.htitle{font-size:20px;font-weight:bold}
.htitle small{font-weight:normal;font-size:13px;opacity:.75;margin-left:10px}
.hstat{font-size:12px;background:rgba(255,255,255,.15);padding:4px 12px;border-radius:20px;display:flex;align-items:center;gap:6px}
.dot{width:7px;height:7px;border-radius:50%;background:#ccc;flex-shrink:0}
.dot.ok{background:#6fdd6f;box-shadow:0 0 5px rgba(111,221,111,.6)}
.dot.go{background:#f0c040;animation:blink .7s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}

#chat{flex:1;overflow-y:auto;padding:14px 14px 6px;display:flex;flex-direction:column;scroll-behavior:smooth}
#chat::-webkit-scrollbar{width:5px}
#chat::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}

.row{display:flex;align-items:flex-end;gap:8px;margin:5px 0;animation:fi .25s cubic-bezier(.22,1,.36,1) both}
@keyframes fi{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.row.u{flex-direction:row-reverse}
.av{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.avb{background:var(--red);color:#fff;border:2px solid var(--border)}
.avu{background:var(--red-d);color:#fff}
.msg{max-width:min(80%,640px);padding:10px 14px;border-radius:14px;line-height:1.58;font-size:14.5px;word-break:break-word}
.msg.b{background:var(--bubble);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:4px}
.msg.u{background:var(--red);color:#fff;border-bottom-right-radius:4px;box-shadow:0 3px 10px rgba(139,0,0,.3)}
.msg.b b,.msg.b strong{color:var(--red-d)}
.msg.b h3{font-size:16px;color:var(--red);margin-bottom:7px;border-bottom:1px solid var(--border);padding-bottom:5px}
.msg.b h4{font-size:13.5px;color:var(--red-d);margin:9px 0 4px}
.msg.b ul,.msg.b ol{padding-left:18px;margin:5px 0}
.msg.b li{margin:3px 0}
.msg.b p{margin:5px 0}
.msg.b hr{border:none;border-top:1px solid var(--border);margin:9px 0}
.msg.b table{border-collapse:collapse;width:100%;font-size:13px;margin:7px 0}
.msg.b th{background:var(--red);color:#fff;padding:6px 9px;text-align:left;font-size:12px}
.msg.b td{padding:5px 9px;border-bottom:1px solid var(--border)}
.msg.b tr:nth-child(even) td{background:rgba(230,206,151,.2)}

.cc{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-top:4px}
.cct{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.cce{font-size:26px}
.ccn{font-size:18px;font-weight:bold;color:var(--red)}
.ccs{font-size:12px;color:var(--soft);margin-top:1px}
.tr{background:rgba(139,0,0,.1);color:var(--red);border:1px solid rgba(139,0,0,.2)}
.tg{background:rgba(30,92,10,.1);color:var(--green);border:1px solid rgba(30,92,10,.2)}
.ty{background:rgba(160,110,0,.1);color:#7a5500;border:1px solid rgba(160,110,0,.2)}
.tags{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}
.tag{font-size:11px;padding:2px 8px;border-radius:20px;font-weight:bold}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:13px;margin:7px 0}
.gf{display:flex;flex-direction:column}
.gl{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--soft);font-weight:bold}
.gv{color:var(--text);font-weight:500}
.bw{margin:4px 0}
.bl{font-size:11px;color:var(--soft);display:flex;justify-content:space-between;margin-bottom:2px}
.bb{height:5px;background:var(--border);border-radius:3px;overflow:hidden}
.bf{height:100%;background:var(--red);border-radius:3px}
.chips{display:flex;flex-wrap:wrap;gap:4px;margin:3px 0 7px}
.chip{font-size:12px;padding:3px 9px;background:rgba(139,0,0,.07);border:1px solid rgba(139,0,0,.18);border-radius:20px;color:var(--red)}
.acts{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.ab{font-size:12px;padding:4px 11px;border-radius:10px;background:transparent;border:1.5px solid rgba(139,0,0,.3);color:var(--red);cursor:pointer;font-family:Arial,sans-serif;margin:0;transition:all .15s}
.ab:hover{background:var(--red);color:#fff}
.mb{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--soft);background:rgba(230,206,151,.5);border:1px solid var(--border);border-radius:20px;padding:2px 8px;margin-bottom:7px}

.suw{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:13px;max-width:640px}
.sut{font-weight:bold;color:var(--red);font-size:14px;margin-bottom:9px}
.suc{display:flex;flex-wrap:wrap;gap:7px}
.sc{background:var(--red);color:#fff;border:none;padding:6px 13px;border-radius:12px;font-size:13px;cursor:pointer;font-family:Arial,sans-serif;margin:0;transition:background .15s,transform .1s;box-shadow:0 2px 5px rgba(139,0,0,.2)}
.sc:hover{background:var(--red-d);transform:translateY(-1px)}

.think{display:flex;gap:4px;padding:3px 0}
.td{width:7px;height:7px;border-radius:50%;background:var(--red);animation:bo 1.1s ease-in-out infinite}
.td:nth-child(2){animation-delay:.17s}.td:nth-child(3){animation-delay:.34s}
@keyframes bo{0%,60%,100%{transform:translateY(0);opacity:.6}30%{transform:translateY(-7px);opacity:1}}

.qq{font-weight:bold;color:var(--red);margin-bottom:9px;font-size:14px}
.qopts{display:flex;flex-direction:column;gap:6px}
.qo{background:var(--white);border:1.5px solid var(--border);color:var(--text);padding:7px 13px;border-radius:10px;font-size:13.5px;cursor:pointer;text-align:left;font-family:Arial,sans-serif;margin:0;transition:all .15s}
.qo:hover:not(:disabled){border-color:var(--red);background:rgba(139,0,0,.05)}
.qo.ok{background:rgba(30,92,10,.1);border-color:var(--green);color:var(--green);font-weight:bold}
.qo.no{background:rgba(180,30,30,.08);border-color:#b43030;color:#b43030}

.rcp{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:14px;margin-top:4px}
.rcp h3{color:var(--red);font-size:16px;margin-bottom:4px;border-bottom:1px solid var(--border);padding-bottom:6px}
.rcp-meta{font-size:12px;color:var(--soft);margin-bottom:10px}
.rcp-sec{font-size:12px;font-weight:bold;text-transform:uppercase;letter-spacing:.07em;color:var(--soft);margin:10px 0 5px}
.rcp ol{padding-left:18px}.rcp li{margin:4px 0;font-size:13.5px}
.rcp ul{padding-left:18px;list-style:disc}.rcp-tip{font-size:12.5px;color:var(--soft);font-style:italic;border-top:1px solid var(--border);margin-top:10px;padding-top:8px}

.ct{width:100%;border-collapse:collapse;font-size:13px;margin-top:7px}
.ct th{background:var(--red);color:#fff;padding:6px 9px;text-align:left}
.ct td{padding:5px 9px;border-bottom:1px solid var(--border)}
.ct tr:nth-child(even) td{background:rgba(230,206,151,.15)}
.win{color:var(--green);font-weight:bold}

#ia{padding:9px 12px 12px;background:var(--gbg);border-top:1px solid var(--border);flex-shrink:0}
.ir{display:flex;gap:8px;align-items:flex-end}
#ui{flex:1;padding:10px 13px;border:1.5px solid var(--border);border-radius:10px;font-size:15px;font-family:Arial,sans-serif;background:var(--white);color:var(--text);outline:none;resize:none;min-height:43px;max-height:100px;overflow-y:auto;transition:border-color .18s}
#ui:focus{border-color:var(--red)}#ui::placeholder{color:#bba}
#sb{background:var(--red);border:none;color:#fff;padding:10px 16px;font-size:15px;border-radius:10px;cursor:pointer;font-family:Arial,sans-serif;margin:0;flex-shrink:0;transition:background .15s}
#sb:hover{background:var(--red-d)}
.hr{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.hb{font-size:12px;padding:3px 10px;background:transparent;border:1px solid rgba(139,0,0,.22);color:var(--red);border-radius:20px;cursor:pointer;font-family:Arial,sans-serif;margin:0;transition:all .13s}
.hb:hover{background:rgba(139,0,0,.07)}