/* Self-contained POLI CV: independent presentation, no changes to global theme. */
#poliAgent .assistant-topline{display:flex;align-items:center;gap:9px 15px;flex-wrap:wrap}
#poliAgent .assistant-topline .assistant-brand{flex:1 1 190px;min-width:185px}
#poliAgent .poli-mode-switch{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid rgba(64,224,208,.25);border-radius:14px;background:#181e1c;flex:0 0 auto;margin-left:auto}
#poliAgent .poli-mode-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 10px;border:0;border-radius:10px;color:#d2d7cf;background:transparent;font-size:11px;font-weight:700;transition:background .2s ease, color .2s ease}
#poliAgent .poli-mode-btn svg{height:16px;width:16px}
#poliAgent .poli-mode-btn.selected{background:#42d6c2;color:#13201d}
#poliAgent .poli-mode-btn:hover:not(.selected){background:rgba(64,224,208,.12);color:#fff}
#poliAgent .poli-mode-btn:focus-visible{outline:2px solid #a0f3dd;outline-offset:2px}
#poliAgent .agent-state{font-size:9px;opacity:.8;letter-spacing:.03em;white-space:nowrap;flex:0 0 auto}
#poliAgent[data-poli-mode="text"] .voice-button{display:none!important}
#poliAgent[data-poli-mode="voice"] .voice-button{display:inline-flex}
#poliAgent[data-poli-mode="voice"] .voice-button:not(.listening){border:1px solid #43c9b6;background:rgba(64,224,208,.1);border-radius:9px}
#poliAgent[data-poli-mode="voice"] .voice-button.listening{box-shadow:0 0 0 3px rgba(64,224,208,.24);animation:poliCvPulse 1.3s ease-in-out infinite}
#poliAgent .poli-sources{display:flex;flex-wrap:wrap;gap:7px 10px;margin-top:7px}
#poliAgent .poli-sources a{display:inline-flex;align-items:center;color:#60dfc6!important;font-size:10px;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
#poliAgent .poli-sources a::after{content:' ↗';font-size:10px}
#poliAgent .chat-bubble p{white-space:pre-wrap}
#poliAgent .chat-bubble.bot{max-width:min(100%,750px)}
#poliAgent .send-button:disabled{opacity:.5;cursor:wait}
@keyframes poliCvPulse{0%,100%{box-shadow:0 0 0 3px rgba(64,224,208,.16)}50%{box-shadow:0 0 0 7px rgba(64,224,208,.07)}}
@media(max-width:700px){
 #poliAgent .assistant-topline{gap:8px}
 #poliAgent .assistant-topline .assistant-brand{min-width:160px;flex:1 1 170px}
 #poliAgent .poli-mode-switch{margin-left:auto}
 #poliAgent .agent-state{width:100%;margin-top:2px;font-size:8px}
 #poliAgent .poli-mode-btn{font-size:10px;min-height:31px;padding:6px 8px}
 #poliAgent .poli-mode-btn svg{width:14px;height:14px}
}
@media(prefers-reduced-motion:reduce){#poliAgent .poli-mode-btn{transition:none}#poliAgent .voice-button.listening{animation:none}}