#hf-ai-chat { --hf-accent:#149fce; --hf-ink:#424354; --hf-chat-bottom:calc(76px + env(safe-area-inset-bottom, 0px)); font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--hf-ink); position:fixed; right:24px; bottom:var(--hf-chat-bottom); z-index:99990; text-align:left; }
#hf-ai-chat * { box-sizing:border-box; }
#hf-ai-chat [hidden] { display:none!important; }
#hf-ai-chat button,#hf-ai-chat select,#hf-ai-chat textarea { font:inherit; letter-spacing:normal; text-transform:none; }
#hf-ai-chat button { cursor:pointer; border:0; border-radius:8px; margin:0; min-height:40px; box-shadow:none; }
#hf-ai-chat button:disabled { opacity:.5; cursor:default; }
#hf-ai-chat button:focus-visible,#hf-ai-chat a:focus-visible,#hf-ai-chat select:focus-visible,#hf-ai-chat textarea:focus-visible { outline:3px solid #0879b5; outline-offset:3px; }
#hf-ai-chat .hf-chat-launch { position:relative; display:flex; align-items:center; justify-content:center; gap:10px; height:56px; border-radius:28px; background:var(--hf-accent); color:#fff; padding:0 20px; box-shadow:0 8px 28px #07365152,0 2px 8px #07365130,0 0 0 2px #ffffffd9; font-weight:600; }
#hf-ai-chat .hf-chat-launch::before { content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; }
#hf-ai-chat .hf-chat-reply-pulse::before { animation:hf-chat-reply-ring 1s ease-out 3; }
#hf-ai-chat .hf-chat-unread::after { content:''; position:absolute; top:0; right:1px; width:13px; height:13px; border-radius:50%; background:#ffbc45; border:2px solid #fff; pointer-events:none; }
@keyframes hf-chat-reply-ring { from { box-shadow:0 0 0 0 #149fce99; } to { box-shadow:0 0 0 12px #149fce00; } }
@media(prefers-reduced-motion:reduce) { #hf-ai-chat .hf-chat-reply-pulse::before { animation:none; box-shadow:0 0 0 4px #149fce66; } }
#hf-ai-chat .hf-chat-launch:hover { background:#087fa9; }
#hf-ai-chat .hf-chat-launch-icon { display:block; width:26px; height:26px; flex:none; fill:none; stroke:currentColor; }
#hf-chat-panel { width:410px; height:min(680px,calc(100dvh - var(--hf-chat-bottom) - 84px)); max-height:calc(100vh - var(--hf-chat-bottom) - 84px); background:#fff; border:1px solid #d5dde5; border-radius:16px; box-shadow:0 18px 60px #17284952,0 4px 16px #17284926; margin-bottom:12px; display:flex; flex-direction:column; overflow:hidden; position:absolute; right:0; bottom:100%; }
#hf-chat-panel header { display:flex; align-items:center; gap:8px; padding:16px 18px 8px; flex-shrink:0; }
#hf-chat-title { flex:1; min-width:0; font-size:17px; font-weight:600; overflow-wrap:anywhere; }
#hf-ai-chat .hf-chat-language-control { position:relative; display:block; flex:0 0 72px; height:40px; }
#hf-ai-chat .hf-chat-language-control::after { content:''; position:absolute; right:13px; top:15px; width:7px; height:7px; border-right:2px solid #24546b; border-bottom:2px solid #24546b; transform:rotate(45deg); pointer-events:none; }
#hf-ai-chat .hf-chat-language { appearance:none; -webkit-appearance:none; display:block; width:100%; min-width:0; height:40px; min-height:40px; margin:0; padding:0 28px 0 12px; border:1px solid #9abccc; border-radius:8px; color:#23495e; -webkit-text-fill-color:#23495e; background:#f0f8fc; font-size:14px; font-weight:600; line-height:normal; box-shadow:0 1px 3px #17284912; cursor:pointer; opacity:1; }
#hf-ai-chat .hf-chat-language:hover { border-color:#0879b5; background:#e4f3fa; }
#hf-ai-chat .hf-chat-language:disabled { cursor:default; opacity:.65; }
#hf-ai-chat .hf-chat-language option { color:#23495e; background:#fff; }
#hf-ai-chat .hf-chat-close,#hf-ai-chat .hf-chat-clear { color:#636678; font-size:23px; padding:0 8px; background:#fff; }
#hf-ai-chat .hf-chat-privacy { font-size:11px; color:#727586; padding:0 18px; margin:5px 0 12px; line-height:1.4; flex-shrink:0; }
#hf-ai-chat .hf-chat-messages { overflow-y:auto; overscroll-behavior:contain; flex:1; min-height:70px; padding:4px 18px 12px; }
#hf-ai-chat .hf-chat-message { padding:12px 14px; margin:8px 0; border-radius:12px; background:#f4f5f7; overflow-wrap:anywhere; }
#hf-ai-chat .hf-chat-user { background:#dbf6fd; margin-left:24px; }
#hf-ai-chat .hf-chat-message p { margin:0; white-space:pre-wrap; }
#hf-ai-chat a { color:#087ba5; font-size:13px; text-decoration:underline; display:inline-block; margin:8px 10px 0 0; }
#hf-ai-chat .hf-chat-suggestion { text-align:left; color:#087ba5; padding:8px 12px; background:#eefbff; border:1px solid #b8eaf6; font-size:13px; }
#hf-ai-chat .hf-chat-suggestions { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
#hf-ai-chat .hf-chat-suggestion { max-width:100%; white-space:normal; overflow-wrap:anywhere; line-height:1.45; }
#hf-ai-chat .hf-chat-suggestion:hover { background:#dbf6fd; border-color:var(--hf-accent); }
#hf-ai-chat .hf-chat-status { margin:0; padding:0 18px; font-size:13px; color:#626879; }
#hf-ai-chat .hf-chat-status:not(:empty) { padding:10px 18px; background:#e5f8fd; }
#hf-ai-chat .hf-chat-challenge { margin:8px 18px 0; flex-shrink:0; }
#hf-ai-chat .hf-chat-challenge:empty { display:none; }
#hf-ai-chat .hf-chat-fallback { padding:0 18px; }
#hf-ai-chat form { display:flex; gap:8px; padding:14px 18px 18px; margin:0; flex-shrink:0; align-items:flex-end; }
#hf-ai-chat textarea { flex:1; min-width:0; width:auto; max-height:120px; min-height:48px; resize:vertical; border:1px solid #b9bdc9; border-radius:8px; padding:10px; margin:0; color:var(--hf-ink); background:#fff; line-height:1.35; }
/* Theme placeholder rules can force low opacity or WebKit text fill. */
#hf-ai-chat textarea::placeholder { color:#626879!important; -webkit-text-fill-color:#626879!important; opacity:1!important; font-weight:400; }
#hf-ai-chat .hf-chat-send { color:#fff; background:var(--hf-accent); padding:10px 12px; }
#hf-ai-chat .hf-chat-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:480px) { #hf-ai-chat { right:12px; --hf-chat-bottom:calc(72px + env(safe-area-inset-bottom, 0px)); } #hf-ai-chat .hf-chat-launch { width:56px; padding:0; } #hf-ai-chat .hf-chat-launch-label { display:none; } #hf-chat-panel { width:calc(100vw - 24px); } #hf-chat-panel header { padding-left:14px; padding-right:14px; } #hf-ai-chat form { padding:12px; } #hf-ai-chat .hf-chat-challenge { margin-left:12px; margin-right:12px; } }
