.chat-toggle{position:fixed;bottom:24px;right:24px;height:48px;background:var(--accent-color);color:#fff;border:2px solid var(--primary-color);cursor:pointer;font-family:var(--font-family);font-size:1rem;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;z-index:1000;transition:background .15s;white-space:nowrap}.chat-toggle:hover{background:var(--primary-color)}.chat-toggle::after{content:"Talk to Ostap's AI";position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);background:var(--background-color);color:var(--primary-color);border:1px solid var(--border-color);padding:4px 8px;font-size:.7rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s}.chat-toggle:hover::after{opacity:1}@keyframes chat-pulse{0%{transform:scale(1);box-shadow:0 0 rgba(0,55,255,.4)}50%{transform:scale(1.08);box-shadow:0 0 0 10px rgba(0,55,255,0)}100%{transform:scale(1);box-shadow:0 0 rgba(0,55,255,0)}}.chat-toggle--pulse{animation:chat-pulse .6s ease-out 3s 1}.chat-toggle[aria-expanded=true]{display:none}.chat-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000;display:none}.chat-backdrop.open{display:block}.chat-panel{position:fixed;inset:0;margin:auto;width:clamp(500px,45vw,900px);height:clamp(600px,70vh,850px);background:var(--background-color);border:2px solid var(--primary-color);display:none;flex-direction:column;z-index:1001;font-family:var(--font-family)}.chat-panel.open{display:flex}.chat-header{background:var(--accent-color);color:#fff;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.chat-header-titlegroup{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.chat-header-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.chat-beta-badge{position:relative;display:inline-flex;align-items:center;gap:5px;background:#f5a524;color:#1a1a1a;font-family:var(--font-family);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px 3px 6px;border:1px solid #b8770f;cursor:help;user-select:none;flex-shrink:0;outline-offset:2px;transform:rotate(-3.5deg);transform-origin:center center;transition:transform .15s ease-out;box-shadow:1px 1px rgba(0,0,0,.25)}.chat-beta-badge:hover,.chat-beta-badge:focus,.chat-beta-badge:focus-within{transform:rotate(0)}.chat-beta-badge-dot{width:6px;height:6px;background:#1a1a1a;border-radius:50%;animation:chat-beta-pulse 2s ease-in-out infinite}.chat-beta-badge-sep{opacity:.55;padding:0 1px}@keyframes chat-beta-pulse{0%,100%{opacity:1}50%{opacity:.35}}.chat-beta-tooltip{position:absolute;top:calc(100% + 8px);left:0;background:var(--background-color);color:var(--primary-color);border:1px solid #f5a524;border-left:3px solid #f5a524;padding:8px 10px;font-size:.7rem;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.45;white-space:normal;width:max-content;max-width:280px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility 0s linear .15s;z-index:1002}.chat-beta-tooltip::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px;background:0 0}.chat-beta-tooltip a{color:var(--link-color);text-decoration:underline;text-underline-offset:2px}.chat-beta-tooltip a:hover{color:var(--link-hover)}.chat-beta-badge:hover .chat-beta-tooltip,.chat-beta-badge:focus .chat-beta-tooltip,.chat-beta-badge:focus-within .chat-beta-tooltip{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .15s,transform .15s,visibility 0s linear 0s}.chat-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.chat-clear{background:0 0;border:1px solid rgba(255,255,255,.5);color:rgba(255,255,255,.7);font-family:var(--font-family);font-size:.7rem;cursor:pointer;padding:2px 6px;text-transform:uppercase;letter-spacing:.03em}.chat-clear:hover{color:#fff;border-color:#fff}.chat-close{background:0 0;border:none;color:#fff;font-family:var(--font-family);font-size:1.1rem;cursor:pointer;padding:0 4px;line-height:1}.chat-close:hover{opacity:.7}.chat-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.chat-message{font-size:.9rem;line-height:1.55;color:var(--text-color);padding:8px 10px;border-left:3px solid var(--border-color);max-width:90%;word-wrap:break-word;overflow-wrap:break-word}.chat-message.user{border-left-color:var(--accent-color);align-self:flex-end;text-align:right;border-left:none;border-right:3px solid var(--accent-color);padding:8px 10px}.chat-message.assistant{align-self:flex-start}.chat-message a{color:var(--link-color);text-decoration:underline;text-underline-offset:2px}.chat-message a:hover{color:var(--link-hover)}.chat-thinking{font-size:.8rem;color:var(--secondary-color);font-style:italic}.chat-cursor{display:inline-block;width:.55em;height:1.05em;background:var(--accent-color);vertical-align:text-bottom;animation:blink .7s step-end infinite}@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}.chat-input-area{display:flex;border-top:2px solid var(--primary-color);flex-shrink:0}.chat-input{flex:1;padding:10px 12px;border:2px solid var(--primary-color);border-right:none;background:var(--input-bg);font-family:var(--font-family);font-size:.9rem;color:var(--primary-color);outline:none}.chat-input::placeholder{color:var(--secondary-color)}.chat-send{background:var(--accent-color);color:#fff;border:2px solid var(--primary-color);border-left:none;padding:10px 14px;font-family:var(--font-family);font-size:.9rem;font-weight:700;cursor:pointer;text-transform:uppercase}.chat-send:hover{background:var(--primary-color)}.chat-send:disabled{opacity:.4;cursor:not-allowed}.chat-status{font-size:.75rem;color:var(--secondary-color);padding:6px 14px;text-align:center;border-top:1px solid var(--border-color);display:none}.chat-status.visible{display:block}.chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0;align-self:flex-start}.chat-chip{background:0 0;border:1px solid var(--accent-color);color:var(--accent-color);font-family:var(--font-family);font-size:.75rem;padding:5px 10px;cursor:pointer;transition:background .15s,color .15s}.chat-chip:hover{background:var(--accent-color);color:#fff}@media(max-width:600px){.chat-toggle{bottom:16px;right:16px;height:42px;font-size:.9rem;padding:0 12px;background:var(--accent-color);border-color:var(--background-color)}.chat-toggle::after{display:none}.chat-toggle:hover{background:var(--accent-color)}}