.hy-cs-root,
.hy-cs-root * { box-sizing: border-box; }
.hy-cs-root { --hy-blue:#0759d6; --hy-blue-dark:#06245a; --hy-text:#0b1736; --hy-muted:#627086; --hy-line:#e4ebf4; --hy-soft:#f4f8fd; position:fixed; right:max(24px,env(safe-area-inset-right)); bottom:max(24px,env(safe-area-inset-bottom)); z-index:2147480000; color:var(--hy-text); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif; }
.hy-cs-root button,.hy-cs-root textarea { font:inherit; }
.hy-cs-root button { -webkit-tap-highlight-color:transparent; }
.hy-cs-launcher { position:relative; min-width:174px; height:58px; display:flex; align-items:center; gap:11px; padding:8px 18px 8px 9px; border:1px solid rgba(255,255,255,.3); border-radius:18px; color:#fff; background:linear-gradient(135deg,#0759d6,#063b91); box-shadow:0 16px 38px rgba(6,36,90,.28); cursor:pointer; transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease; }
.hy-cs-launcher:hover { transform:translateY(-2px); box-shadow:0 20px 44px rgba(6,36,90,.34); }
.hy-cs-launcher:focus-visible,.hy-cs-panel button:focus-visible,.hy-cs-panel textarea:focus-visible { outline:3px solid rgba(26,133,235,.4); outline-offset:3px; }
.hy-cs-launcher-icon { width:40px; height:40px; display:grid; place-items:center; border-radius:13px; color:var(--hy-blue); background:#fff; }
.hy-cs-launcher-icon svg { width:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.hy-cs-launcher-copy { display:grid; gap:2px; text-align:left; }
.hy-cs-launcher-copy strong { font-size:15px; letter-spacing:.04em; }
.hy-cs-launcher-copy small { font-size:11px; color:rgba(255,255,255,.78); }
.hy-cs-launcher-dot { position:absolute; top:8px; right:10px; width:8px; height:8px; border:2px solid var(--hy-blue); border-radius:50%; background:#67e39d; }
.hy-cs-root.is-open .hy-cs-launcher { pointer-events:none; opacity:0; transform:translateY(8px) scale(.96); }
.hy-cs-panel[hidden] { display:none!important; }
.hy-cs-panel { position:absolute; right:0; bottom:0; width:min(390px,calc(100vw - 32px)); height:min(650px,calc(100vh - 40px)); display:flex; flex-direction:column; overflow:hidden; border:1px solid rgba(9,48,99,.12); border-radius:22px; background:#fff; box-shadow:0 24px 70px rgba(6,36,90,.26); animation:hy-cs-enter .22s ease-out; }
@keyframes hy-cs-enter { from { opacity:0; transform:translateY(14px) scale(.98); } }
.hy-cs-header { min-height:72px; display:flex; align-items:center; gap:10px; padding:12px 13px 12px 15px; color:#fff; background:linear-gradient(135deg,#06245a,#0759d6); }
.hy-cs-avatar { width:42px; height:42px; flex:0 0 auto; display:grid; place-items:center; border:1px solid rgba(255,255,255,.26); border-radius:14px; background:rgba(255,255,255,.14); font-size:17px; font-weight:800; }
.hy-cs-heading { min-width:0; flex:1; display:grid; gap:3px; }
.hy-cs-heading strong { font-size:15px; letter-spacing:.04em; }
.hy-cs-heading small { color:rgba(255,255,255,.78); font-size:11px; white-space:nowrap; }
.hy-cs-heading small i { display:inline-block; width:7px; height:7px; margin-right:3px; border-radius:50%; background:#67e39d; }
.hy-cs-human,.hy-cs-close { border:0; color:#fff; background:transparent; cursor:pointer; }
.hy-cs-human { display:flex; align-items:center; gap:4px; padding:7px 9px; border:1px solid rgba(255,255,255,.25); border-radius:9px; font-size:11px; }
.hy-cs-human:hover { background:rgba(255,255,255,.12); }
.hy-cs-human svg,.hy-cs-close svg { width:16px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.hy-cs-close { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; }
.hy-cs-close:hover { background:rgba(255,255,255,.12); }
.hy-cs-disclosure { display:grid; grid-template-columns:auto 1fr; gap:6px 9px; padding:10px 14px; border-bottom:1px solid #e8eef6; color:#526178; background:#f2f7fd; font-size:10px; line-height:1.55; }
.hy-cs-disclosure strong { color:var(--hy-blue); }
.hy-cs-messages { flex:1; min-height:0; padding:17px 15px 8px; overflow-y:auto; overscroll-behavior:contain; background:linear-gradient(180deg,#fbfdff,#f6f9fd); }
.hy-cs-message { display:flex; align-items:flex-start; gap:8px; margin-bottom:13px; }
.hy-cs-message.is-user { justify-content:flex-end; }
.hy-cs-message-avatar { width:27px; height:27px; flex:0 0 auto; display:grid; place-items:center; border-radius:9px; color:#fff; background:var(--hy-blue); font-size:10px; font-weight:700; }
.hy-cs-bubble { max-width:82%; padding:10px 12px; border:1px solid var(--hy-line); border-radius:5px 14px 14px; color:var(--hy-text); background:#fff; box-shadow:0 5px 18px rgba(8,45,93,.06); }
.hy-cs-bubble p { margin:0; white-space:pre-wrap; font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.hy-cs-bubble small { display:block; margin-top:8px; padding-top:7px; border-top:1px solid var(--hy-line); color:#64748b; font-size:10px; line-height:1.55; }
.hy-cs-message.is-user .hy-cs-bubble { border:0; border-radius:14px 5px 14px 14px; color:#fff; background:var(--hy-blue); box-shadow:none; }
.hy-cs-message.is-loading .hy-cs-bubble p::after { content:""; display:inline-block; width:21px; height:6px; margin-left:5px; background:radial-gradient(circle,var(--hy-blue) 2px,transparent 3px) 0 0/7px 7px; animation:hy-cs-dots 1s linear infinite; }
@keyframes hy-cs-dots { to { background-position:7px 0; } }
.hy-cs-quick { display:flex; gap:7px; padding:8px 14px 5px; overflow-x:auto; background:#f6f9fd; scrollbar-width:none; }
.hy-cs-quick::-webkit-scrollbar { display:none; }
.hy-cs-quick button { flex:0 0 auto; max-width:230px; padding:7px 10px; border:1px solid #cedcec; border-radius:999px; color:#174b86; background:#fff; cursor:pointer; font-size:10px; white-space:nowrap; }
.hy-cs-quick button:hover { border-color:var(--hy-blue); color:var(--hy-blue); }
.hy-cs-composer { display:flex; align-items:flex-end; gap:9px; margin:8px 13px 5px; padding:7px 7px 7px 12px; border:1px solid #d9e2ee; border-radius:14px; background:#fff; }
.hy-cs-composer:focus-within { border-color:#659de9; box-shadow:0 0 0 3px rgba(7,89,214,.08); }
.hy-cs-composer textarea { flex:1; min-height:32px; max-height:96px; resize:none; padding:7px 0 4px; border:0; outline:0; color:var(--hy-text); background:transparent; font-size:13px; line-height:1.55; }
.hy-cs-composer textarea::placeholder { color:#929eb0; }
.hy-cs-composer>button { width:36px; height:36px; flex:0 0 auto; display:grid; place-items:center; border:0; border-radius:11px; color:#fff; background:var(--hy-blue); cursor:pointer; }
.hy-cs-composer>button:hover { background:#064aae; }
.hy-cs-composer>button:disabled { cursor:wait; opacity:.55; }
.hy-cs-composer svg { width:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.hy-cs-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:3px 15px 11px; color:#8490a1; font-size:9px; }
.hy-cs-footer button { padding:2px 0; border:0; color:#63738a; background:transparent; cursor:pointer; font-size:10px; }
.hy-cs-footer button:hover { color:var(--hy-blue); }
.hy-cs-root.has-handoff .hy-cs-human { pointer-events:none; opacity:.55; }
.hy-cs-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media (max-width:520px) {
  .hy-cs-root { right:12px; bottom:max(12px,env(safe-area-inset-bottom)); }
  .hy-cs-launcher { min-width:58px; width:58px; padding:8px; border-radius:18px; }
  .hy-cs-launcher-copy { display:none; }
  .hy-cs-launcher-dot { right:5px; top:5px; }
  .hy-cs-panel { position:fixed; inset:8px 8px max(8px,env(safe-area-inset-bottom)); width:auto; height:auto; border-radius:20px; }
  .hy-cs-header { padding-top:max(12px,env(safe-area-inset-top)); }
}
@media (prefers-reduced-motion:reduce) {
  .hy-cs-panel { animation:none; }
  .hy-cs-launcher { transition:none; }
}
