.chat-helper{position:fixed;right:24px;bottom:24px;z-index:1000;font-family:'Manrope',sans-serif;color:#f4f6f9}
.chat-helper button,.chat-helper input{font:inherit}
.chat-helper button{cursor:pointer}
.chat-helper button:focus-visible,.chat-helper input:focus-visible{outline:2px solid #dce3ec;outline-offset:3px}
.chat-helper [hidden]{display:none!important}
.chat-launcher{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-left:auto;border:1px solid #84909d;border-radius:50%;background:linear-gradient(150deg,#292f37,#0c0e12 75%);box-shadow:0 10px 36px #0009,0 1px 0 #ffffff30 inset;transition:transform .2s,box-shadow .2s}
.chat-launcher:hover{transform:translateY(-3px);box-shadow:0 10px 36px #0009,0 0 20px #c7cfd820}
.chat-launcher img,.chat-header img{object-fit:contain}
.chat-panel{display:flex;flex-direction:column;position:absolute;right:0;bottom:80px;width:370px;height:510px;max-height:calc(100dvh - 128px);overflow:hidden;border:1px solid #39414b;border-radius:20px;background:#101318;box-shadow:0 24px 80px #000b}
.chat-header{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:18px 18px 16px;border-bottom:1px solid #ffffff14;background:linear-gradient(150deg,#1c2129,#12161c)}
.chat-header h2{font-family:'Cinzel',serif;font-size:13px;font-weight:600;letter-spacing:.05em;line-height:1.4;color:#f4f6f9}
.chat-header p{font-size:11px;color:#9ca7b4;margin-top:4px}
.chat-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin-left:auto;flex-shrink:0;border:1px solid #ffffff16;border-radius:50%;background:transparent;color:#aeb9c5}
.chat-close:hover{background:#ffffff0c;color:#fff}
.chat-close svg,.chat-form svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.chat-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 18px;scrollbar-width:thin;scrollbar-color:#46505d transparent}
.chat-welcome h3{font-size:20px;font-weight:700;letter-spacing:-.03em;margin:0 0 8px}
.chat-welcome p{font-size:13px;line-height:1.65;color:#a6b0ba;margin:0}
.chat-topics{display:grid;gap:8px;margin:20px 0}
.chat-topics button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:11px 12px;text-align:left;font-size:12px;line-height:1.5;color:#cdd5df;background:#171c23;border:1px solid #ffffff16;border-radius:10px}
.chat-topics button:hover{border-color:#798696;background:#202730}
.chat-topics span{font-size:17px;color:#95a2b1}
.chat-messages{display:flex;flex-direction:column;gap:12px}
.chat-message{max-width:92%;padding:11px 13px;border-radius:13px;font-size:13px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}
.chat-message-user{align-self:flex-end;background:#dce3eb;color:#141920;border-bottom-right-radius:4px}
.chat-message-assistant{align-self:flex-start;background:#1c222b;border:1px solid #ffffff10;color:#c7cfd8;border-bottom-left-radius:4px}
.chat-form{display:flex;align-items:center;gap:8px;margin:0;padding:14px;border-top:1px solid #ffffff14;background:#11161c;flex-shrink:0}
.chat-form input{width:0;flex:1;min-width:0;padding:11px 12px;border:1px solid #ffffff20;border-radius:10px;background:#090c10;color:#f4f6f9;font-size:14px;line-height:1.5}
.chat-form input::placeholder{color:#7f8a97}
.chat-form button{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex-shrink:0;border:0;border-radius:11px;color:#101318;background:linear-gradient(145deg,#f3f6fa,#a9b6c4)}
.chat-form button:disabled{opacity:.35;cursor:default}
.chat-sr-only{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:600px){.chat-helper{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:calc(100% - 32px);max-width:370px;pointer-events:none}.chat-launcher{width:52px;height:52px;pointer-events:auto}.chat-panel{width:100%;bottom:66px;height:500px;max-height:calc(100dvh - 104px - env(safe-area-inset-bottom));pointer-events:auto}.chat-close{width:44px;height:44px}.chat-form button{width:44px;height:44px}.chat-form input{font-size:16px}}
@media(prefers-reduced-motion:reduce){.chat-launcher{transition:none}}
