/*
 * NAIPTV Help — floating assistant widget.
 * Reuses the design tokens from help.css (:root --hc-*) so it reads as part of the same
 * product rather than a bolted-on plugin. Loaded on every Help Center page except /assistant/.
 */

.hcw-launcher{position:fixed;right:20px;bottom:20px;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:9998;width:58px;height:58px;border-radius:50%;border:0;background:var(--hc-blue);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 24px rgba(37,99,235,.35),0 2px 6px rgba(15,23,42,.12);transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}
.hcw-launcher:hover{background:var(--hc-blue-dark);transform:translateY(-1px);box-shadow:0 14px 28px rgba(37,99,235,.4),0 3px 8px rgba(15,23,42,.14)}
.hcw-launcher:active{transform:translateY(0)}
.hcw-launcher__icon{grid-area:1/1;display:grid;place-items:center;transition:opacity .15s ease,transform .15s ease}
.hcw-launcher__icon--close{opacity:0;transform:scale(.6) rotate(-45deg)}
.hcw.is-open .hcw-launcher__icon--open{opacity:0;transform:scale(.6) rotate(45deg)}
.hcw.is-open .hcw-launcher__icon--close{opacity:1;transform:scale(1) rotate(0)}

.hcw-panel{position:fixed;z-index:9999;right:20px;bottom:90px;right:max(20px,env(safe-area-inset-right));bottom:calc(max(20px,env(safe-area-inset-bottom)) + 70px);width:392px;max-width:calc(100vw - 40px);height:min(640px,calc(100vh - 120px));background:var(--hc-white);border:1px solid var(--hc-line);border-radius:16px;box-shadow:0 24px 48px rgba(15,23,42,.18),0 4px 14px rgba(15,23,42,.08);display:flex;flex-direction:column;overflow:hidden;animation:hcw-in .18s ease-out}
.hcw-panel[hidden]{display:none}
@keyframes hcw-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}

.hcw-header{flex:none;display:flex;align-items:center;gap:12px;padding:16px 14px 16px 18px;border-bottom:1px solid var(--hc-line);background:var(--hc-white)}
.hcw-header__logo{display:block;flex:none}
.hcw-header__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.hcw-header__text strong{font-family:var(--hc-head);font-size:16px;font-weight:700;color:var(--hc-ink);line-height:1.2}
.hcw-header__status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--hc-muted)}
.hcw-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;flex:none}
.hcw-iconbtn{flex:none;width:34px;height:34px;border-radius:8px;border:0;background:none;color:var(--hc-muted);display:grid;place-items:center;cursor:pointer}
.hcw-iconbtn:hover{background:var(--hc-bg);color:var(--hc-ink)}

.hcw-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;padding:16px 16px 8px}
.hcw-welcome__title{margin:4px 0 0;font-family:var(--hc-head);font-size:22px;font-weight:700;color:var(--hc-ink)}
.hcw-welcome__sub{margin:8px 0 0;font-size:14px;line-height:1.55;color:var(--hc-text)}
.hcw-quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.hcw-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--hc-line-strong);border-radius:999px;background:#fff;color:var(--hc-ink)!important;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none!important;transition:border-color .15s,background-color .15s}
.hcw-chip:hover{border-color:var(--hc-blue-line);background:var(--hc-blue-soft)}
.hcw-chip .hc-icon{color:var(--hc-blue);flex:none}

.hcw-log{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px}
.hcw-log[hidden]{display:none}
.hcw-msg{max-width:86%;padding:11px 14px;border-radius:14px;font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.hcw-msg--bot{align-self:flex-start;background:var(--hc-bg);color:var(--hc-ink);border-bottom-left-radius:4px}
.hcw-msg--user{align-self:flex-end;background:var(--hc-blue);color:#fff;border-bottom-right-radius:4px}
.hcw-msg--typing{display:flex;align-items:center;padding-top:14px;padding-bottom:14px}
.hcw-typing{display:inline-flex;gap:4px}
.hcw-typing i{width:6px;height:6px;border-radius:50%;background:var(--hc-soft);display:block;animation:hcw-bounce 1.1s ease-in-out infinite}
.hcw-typing i:nth-child(2){animation-delay:.15s}
.hcw-typing i:nth-child(3){animation-delay:.3s}
@keyframes hcw-bounce{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

.hcw-sources,.hcw-escalate{margin-top:10px;padding-top:10px;border-top:1px solid rgba(15,23,42,.08);font-size:13px}
.hcw-sources strong{display:block;margin-bottom:4px;font-size:12px;color:var(--hc-muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.hcw-link{display:block;color:var(--hc-blue)!important;text-decoration:underline;text-underline-offset:2px}
.hcw-msg--user .hcw-link{color:#fff!important}
.hcw-escalate{display:flex}
.hcw-btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border-radius:8px;font-size:13px;font-weight:600;border:1px solid var(--hc-line-strong);background:#fff;color:var(--hc-ink)!important;text-decoration:none!important;cursor:pointer}
.hcw-btn--outline:hover{border-color:var(--hc-blue-line);color:var(--hc-blue)!important}

.hcw-form{flex:none;display:flex;align-items:flex-end;gap:10px;padding:12px 14px;border-top:1px solid var(--hc-line)}
.hcw-form textarea{flex:1;resize:none;border:1px solid var(--hc-line-strong);border-radius:12px;padding:11px 14px;font:inherit;font-size:14px;line-height:1.4;max-height:120px;min-height:44px}
.hcw-form textarea:focus-visible{outline:2px solid var(--hc-blue);outline-offset:1px}
.hcw-send{flex:none;width:40px;height:40px;border-radius:10px;border:0;background:var(--hc-blue);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background-color .15s,opacity .15s}
.hcw-send:hover:not(:disabled){background:var(--hc-blue-dark)}
.hcw-send:disabled{opacity:.4;cursor:default}

.hcw-privacy{flex:none;margin:0;padding:0 16px 12px;font-size:11px;line-height:1.4;color:var(--hc-soft)}

@media (max-width:767px){
	.hcw-panel{right:0;left:0;bottom:0;top:0;width:100%;max-width:100%;height:100%;border-radius:0;border:0}
	.hcw-panel{padding-bottom:env(safe-area-inset-bottom)}
	.hcw-header{padding-top:max(16px,env(safe-area-inset-top))}
	.hcw-launcher{right:16px;bottom:16px;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
	.hcw-msg{max-width:92%}
}

@media (prefers-reduced-motion:reduce){
	.hcw-panel{animation:none}
	.hcw-typing i{animation:none;opacity:1}
	.hcw-launcher,.hcw-launcher__icon{transition:none}
}
