.horizon-chat-fab{position:fixed;bottom:24px;right:24px;z-index:10000;width:60px;height:60px;border-radius:50%;border:2px solid var(--hc-cyan,#4ec7ff);background:#111;color:var(--hc-cyan,#4ec7ff);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,.4),0 0 24px rgba(78,199,255,.12);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.horizon-chat-fab:hover{transform:scale(1.08);background:#1a1a1a;box-shadow:0 6px 28px rgba(0,0,0,.5),0 0 32px rgba(78,199,255,.2)}.horizon-chat-fab.horizon-chat-fab--hidden{display:none}.horizon-chat-widget{--hc-cyan:#4ec7ff;--hc-cyan-hover:#3db8f0;--hc-purple:#db95ff;--hc-black:#0a0a0a;--hc-text:#e8e8e8;--hc-text-muted:#888;--hc-border:#2a2a2a;--hc-page-bg:#0d0d0d;--hc-card:#161616;--hc-error:#ef4444;--primary:var(--hc-cyan);--primary-hover:var(--hc-cyan-hover);--bg:var(--hc-page-bg);--card:var(--hc-card);--text:var(--hc-text);--text-secondary:var(--hc-text-muted);--border:var(--hc-border);--error:var(--hc-error);--user-bg:var(--hc-cyan);--user-text:#000;--bot-bg:#1a1a1a;font-family:"Darker Grotesque",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;display:flex!important;flex-direction:column!important;background:var(--bg);border-radius:16px 16px 0 0;box-shadow:0 -4px 40px rgba(0,0,0,.5),0 0 48px rgba(78,199,255,.06);overflow:hidden;transition:opacity .25s ease,transform .3s ease;border:1px solid var(--border);border-bottom:none}.horizon-chat-widget.horizon-chat-closed{display:none!important}.horizon-chat-widget[data-position=bottom-right]{position:fixed;bottom:0;right:24px;width:480px;height:min(680px,85vh);z-index:9999}.horizon-chat-widget[data-position=bottom-left]{position:fixed;bottom:0;left:24px;width:480px;height:min(680px,85vh);z-index:9999}html body .horizon-chat-widget.horizon-chat-widget,html body.home .horizon-chat-widget.horizon-chat-widget{display:flex!important;flex-direction:column!important}html body .horizon-chat-widget.horizon-chat-closed,html body.home .horizon-chat-widget.horizon-chat-closed{display:none!important}.horizon-chat-widget[data-position=bottom]{position:fixed;left:0;right:0;bottom:0;width:100%!important;max-width:100%;z-index:9998;border-radius:0;height:min(520px,58vh);max-height:calc(100vh - 48px)}.horizon-chat-widget[data-position=bottom] .horizon-chat-messages,.horizon-chat-widget[data-position=bottom] .horizon-chat-input-container,.horizon-chat-widget[data-position=bottom] .horizon-chat-cta{max-width:960px;margin-left:auto;margin-right:auto;width:100%;box-sizing:border-box}.horizon-chat-widget[data-position=bottom] .horizon-chat-header{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}.horizon-chat-widget[data-position=inline]{position:relative;border-radius:16px;border:1px solid var(--border);box-shadow:0 5px 20px rgba(0,0,0,.3)}.horizon-chat-header{flex-shrink:0;background:var(--hc-black);color:#fff;padding:14px 18px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:3px solid var(--hc-cyan)}.horizon-chat-header-title{display:flex;flex-direction:column;gap:2px;min-width:0}.horizon-chat-title{font-size:.95rem;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.horizon-chat-subtitle{font-size:.72rem;font-weight:400;color:rgba(255,255,255,.55);text-transform:none;letter-spacing:0;line-height:1.3;font-family:Roboto,sans-serif}.horizon-chat-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.horizon-chat-token-usage{font-size:.65rem;color:rgba(255,255,255,.55);padding:2px 8px;font-weight:500;text-transform:none;letter-spacing:0;font-family:Roboto,sans-serif}.horizon-chat-token-usage:empty{display:none}.horizon-chat-token-usage.warning{color:#ffe08a}.horizon-chat-token-usage.critical{background:rgba(239,68,68,.3);color:#fca5a5}.horizon-chat-counter{font-size:.7rem;color:#fff;background:rgba(78,199,255,.15);border:1px solid rgba(78,199,255,.35);padding:4px 10px;border-radius:20px;font-weight:600;text-transform:none;letter-spacing:0;font-family:Roboto,sans-serif}.horizon-chat-counter.limit-reached{background:rgba(239,68,68,.25);border-color:rgba(255,255,255,.25);color:#fca5a5}.horizon-chat-minimize{background:0 0;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,border-color .2s,color .2s}.horizon-chat-minimize:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.35);color:#fff}.horizon-chat-messages{flex:1 1 0%!important;min-height:0!important;max-height:none;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--bg)}.horizon-chat-welcome{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--hc-cyan);border-radius:12px;padding:16px 18px;font-size:.92rem;line-height:1.6;color:var(--text);font-family:Roboto,sans-serif;font-weight:400}.horizon-chat-welcome-text{margin:0 0 4px}.horizon-chat-welcome-limit{margin:0;font-size:.78rem;color:var(--text-secondary);font-style:italic}.horizon-chat-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.horizon-chat-quick-btn{background:0 0;border:1px solid rgba(78,199,255,.35);color:var(--hc-cyan);padding:7px 14px;border-radius:20px;font-size:.82rem;font-weight:500;font-family:Roboto,sans-serif;cursor:pointer;transition:background .2s,border-color .2s,color .2s;line-height:1.3}.horizon-chat-quick-btn:hover{background:rgba(78,199,255,.1);border-color:var(--hc-cyan);color:#fff}.horizon-chat-message{max-width:88%;animation:hcFadeIn .3s ease}.horizon-chat-message-content{padding:12px 16px;border-radius:12px;line-height:1.6;word-wrap:break-word;font-size:.92rem;font-family:Roboto,sans-serif}.horizon-chat-message-user{align-self:flex-end}.horizon-chat-message-user .horizon-chat-message-content{background:var(--user-bg);color:var(--user-text);border-radius:12px 12px 4px 12px}.horizon-chat-message-bot{align-self:flex-start}.horizon-chat-message-bot .horizon-chat-message-content{background:var(--bot-bg);border:1px solid var(--border);color:var(--text);border-radius:12px 12px 12px 4px}.horizon-chat-message-bot.streaming .horizon-chat-message-content::after{content:"◌";animation:hcBlink 1s infinite;color:var(--hc-cyan);margin-left:4px}.horizon-topic-id{color:var(--hc-cyan);font-weight:700;font-family:"Courier New",monospace;font-size:.88em}.horizon-chat-message-bot a{color:var(--hc-cyan);font-weight:500;text-decoration:underline;text-underline-offset:2px}.horizon-chat-message-bot a:hover{color:var(--hc-purple)}.horizon-chat-error{color:var(--error)}.horizon-chat-status{display:inline-block;color:var(--text-secondary);font-style:italic;font-size:.9em;opacity:.85;animation:hcStatusPulse 1.6s ease-in-out infinite}.horizon-chat-input-container{flex-shrink:0!important;flex-grow:0;flex-basis:auto;padding:12px 16px 10px;background:var(--card);border-top:1px solid var(--border);min-height:fit-content}.horizon-chat-file-section{display:flex;align-items:center;gap:8px;margin-bottom:8px}.horizon-chat-attach-btn{width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:0 0;color:var(--text-secondary);cursor:pointer;font-size:1rem;transition:background .2s,color .2s,border-color .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.horizon-chat-attach-btn:hover{background:rgba(78,199,255,.1);color:var(--hc-cyan);border-color:var(--hc-cyan)}.horizon-chat-filename{flex:1;font-size:.82rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Roboto,sans-serif}.horizon-chat-filename.has-file{color:var(--hc-cyan);font-weight:600}.horizon-chat-clear-file{background:var(--error);color:white;border:none;width:24px;height:24px;border-radius:6px;cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .2s}.horizon-chat-clear-file:hover{opacity:.85}.horizon-chat-input-row{display:flex;gap:8px;align-items:flex-end}.horizon-chat-input{flex:1 1 auto;min-width:0;padding:10px 14px;border:1px solid var(--border);border-radius:10px;font-size:.9rem;font-family:Roboto,sans-serif;resize:none;outline:none;transition:border-color .2s;min-height:42px;max-height:120px;color:var(--text);background:var(--bg)}.horizon-chat-input:focus{border-color:var(--hc-cyan)}.horizon-chat-input::placeholder{color:#666}.horizon-chat-send-button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:90px;height:42px;padding:0 14px;background:var(--hc-cyan);color:#000;border:none;border-radius:10px;cursor:pointer;font-size:.85rem;font-weight:600;font-family:"Darker Grotesque",sans-serif;transition:background .2s,opacity .2s;flex-shrink:0}.horizon-chat-send-label{line-height:1}.horizon-chat-send-button:hover:not(:disabled){background:var(--hc-cyan-hover)}.horizon-chat-send-button:disabled{background:#2a2a2a;color:#555;cursor:not-allowed}.horizon-chat-send-button--stop{background:var(--error);color:#fff;min-width:42px;padding:0;width:42px}.horizon-chat-send-button--stop .horizon-chat-send-label{display:none}.horizon-chat-send-button--stop:hover:not(:disabled){background:#b91c1c}.horizon-chat-input-hints{display:flex;justify-content:space-between;align-items:center;padding:4px 2px 0;min-height:16px}.horizon-chat-char-count{font-size:.65rem;color:rgba(255,255,255,.3);font-family:Roboto,sans-serif}.horizon-chat-char-count:empty{visibility:hidden}.horizon-chat-char-count.warning{color:var(--error);font-weight:600}.horizon-chat-enter-hint{font-size:.65rem;color:rgba(255,255,255,.25);font-family:Roboto,sans-serif}.horizon-chat-disclaimer{margin:6px 0 0;padding:0;font-size:.68rem;color:rgba(255,255,255,.3);text-align:center;line-height:1.4;font-family:Roboto,sans-serif}.horizon-chat-disclaimer a{color:var(--hc-cyan);text-decoration:underline;text-underline-offset:2px}.horizon-chat-disclaimer a:hover{color:var(--hc-purple)}.horizon-chat-cta{padding:18px 16px;background:var(--card);border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.horizon-chat-cta-message{font-size:.9rem;color:var(--text);line-height:1.5;font-family:Roboto,sans-serif}.horizon-chat-cta-button{display:inline-block;padding:12px 24px;background:0 0;color:var(--hc-cyan);border:2px solid var(--hc-cyan);border-radius:10px;font-size:.9rem;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.03em;transition:background .2s,color .2s,transform .15s;font-family:"Darker Grotesque",sans-serif}.horizon-chat-cta-button:hover{background:var(--hc-purple);color:#fff;border-color:var(--hc-purple);transform:translateY(-1px);text-decoration:none}.horizon-chat-messages::-webkit-scrollbar{width:6px}.horizon-chat-messages::-webkit-scrollbar-track{background:0 0}.horizon-chat-messages::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.horizon-chat-messages::-webkit-scrollbar-thumb:hover{background:#555}.horizon-gdpr-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.horizon-gdpr-modal{background:var(--card);border-radius:12px;padding:24px;max-width:440px;width:100%;border:1px solid var(--border);border-top:3px solid var(--hc-cyan);box-shadow:0 16px 48px rgba(0,0,0,.4);max-height:90%;overflow-y:auto}.horizon-gdpr-modal h3{margin:0 0 14px;color:var(--error);font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.horizon-gdpr-body{font-size:.85rem;line-height:1.6;color:var(--text);font-family:Roboto,sans-serif}.horizon-gdpr-body ul{padding-left:18px;margin:10px 0}.horizon-gdpr-body li{margin-bottom:6px}.horizon-gdpr-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap}.horizon-gdpr-btn{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;font-family:"Darker Grotesque",sans-serif;transition:opacity .2s,background .2s}.horizon-gdpr-btn:hover{opacity:.9}.horizon-gdpr-cancel{background:#2a2a2a;color:var(--text)}.horizon-gdpr-accept{background:var(--hc-cyan);color:#000}@media (max-width:768px){.horizon-chat-fab{bottom:16px;right:16px;width:56px;height:56px}.horizon-chat-widget[data-position=bottom-right],.horizon-chat-widget[data-position=bottom-left]{width:100%!important;height:90vh!important;max-height:calc(100vh - 20px);bottom:0!important;right:0!important;left:0!important;border-radius:16px 16px 0 0}.horizon-chat-widget[data-position=bottom]{height:min(80vh,600px)!important;max-height:calc(100vh - 20px);border-radius:0}.horizon-chat-message{max-width:92%}.horizon-chat-header{padding-left:14px;padding-right:14px}.horizon-chat-title{font-size:.85rem}.horizon-chat-subtitle{font-size:.68rem}.horizon-chat-send-button{min-width:42px;padding:0 10px}.horizon-chat-send-label{display:none}.horizon-chat-enter-hint{display:none}.horizon-chat-quick-btn{font-size:.78rem;padding:6px 12px}}