.ai-fab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:70;padding:20px 12px;border:0;border-radius:12px 0 0 12px;background:var(--gold);color:var(--navy);font:700 .98rem var(--head);cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;box-shadow:-4px 6px 20px rgba(15,23,42,.22);transition:padding .18s ease}
.ai-fab span{display:block;transform:rotate(180deg);white-space:nowrap}
.ai-fab:hover{padding-right:18px;background:var(--gold-2)}
.ai-panel{position:fixed;right:84px;bottom:22px;z-index:80;width:min(380px,calc(100vw - 24px));height:min(520px,calc(100vh - 120px));max-height:calc(100vh - 24px);display:none;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(11,42,74,.25);overflow:hidden}
.ai-panel.on{display:flex}
.ai-h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--navy);color:#fff}
.ai-h b{font:600 1rem var(--head)}
.ai-h small{display:block;opacity:.75;font-size:.78rem;margin-top:2px}
.ai-x{border:0;background:transparent;color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;padding:4px 8px}
.ai-log{flex:1;overflow-y:auto;padding:14px;background:var(--bg);display:flex;flex-direction:column;gap:10px}
.ai-m{max-width:86%;padding:10px 13px;border-radius:12px;font:400 .93rem/1.5 var(--body);color:var(--text);word-wrap:break-word;overflow-wrap:anywhere}
.ai-m a{color:var(--blue);text-decoration:underline}
.ai-bot{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}
.ai-me{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:4px}
.ai-me a{color:var(--gold-2)}
.ai-dots{letter-spacing:3px;color:var(--muted)}
.ai-f{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line);background:#fff}
.ai-f input{flex:1;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font:400 16px var(--body)}
.ai-f button{border:0;border-radius:8px;padding:0 16px;background:var(--gold);color:var(--navy);font:600 .92rem var(--head);cursor:pointer}
.ai-f button:disabled{opacity:.55;cursor:default}
@media (max-width:720px){.ai-fab{padding:16px 10px;font-size:.92rem}.ai-panel{left:8px;right:8px;width:auto;bottom:72px;height:min(500px,calc(100vh - 150px))}}
@supports (height:100dvh){@media (max-width:720px){.ai-panel{height:min(500px,calc(100dvh - 150px))}}}
@media (max-height:520px){.ai-panel{top:8px;bottom:8px;height:auto;max-height:none}.ai-h{padding:8px 14px}.ai-h small{display:none}.ai-log{padding:10px}.ai-f{padding:8px}.ai-f input{padding:8px 10px}}
@media (max-height:520px) and (max-width:720px){.ai-panel{bottom:68px}}

