.gpt-assistant{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(var(--gpt-assistant-bottom,22px),env(safe-area-inset-bottom));z-index:850;font-family:inherit;color:var(--text,#edf0f7);font-size:14px;line-height:1.6}
.gpt-assistant[hidden],.gpt-assistant [hidden]{display:none!important}
.gpt-assistant button,.gpt-assistant textarea{font:inherit}
.gpt-assistant button{cursor:pointer}
.gpt-assistant button:disabled{cursor:default;opacity:.45}
.gpt-assistant button:focus-visible,.gpt-assistant textarea:focus-visible{outline:2px solid var(--primary,#7eb29e);outline-offset:3px}
.gpt-assistant svg{width:20px;height:20px;flex-shrink:0}
.gpt-assistant-launcher{display:flex;align-items:center;gap:10px;margin-left:auto;border:1px solid var(--border,#37413d);border-radius:8px;padding:10px 14px;background:var(--bg2,#23282b);color:var(--text,#ecf0ed);box-shadow:none;transition:background-color .15s;font-weight:500}
.gpt-assistant-launcher:hover{background:var(--bg3,#2c3335)}
.gpt-assistant-launcher .gpt-unread{width:7px;height:7px;border-radius:50%;background:#b7ffd9}
.gpt-assistant-panel{width:380px;height:min(580px,calc(100dvh - var(--gpt-assistant-bottom,22px) - 84px));display:flex;flex-direction:column;margin-bottom:12px;border:1px solid var(--border,#34384c);border-radius:12px;overflow:hidden;background:var(--bg2,#23282b);box-shadow:0 14px 40px rgba(0,0,0,.18);animation:gpt-appear .16s ease-out}
.gpt-assistant-header{display:flex;align-items:center;gap:10px;padding:15px 16px;border-bottom:1px solid var(--border,#34384c);flex-shrink:0}
.gpt-assistant-mark{width:24px;height:24px;border-radius:0;background:transparent;color:var(--text2,#a0aba7);display:grid;place-items:center}
.gpt-assistant-heading{flex:1;min-width:0}
.gpt-assistant-title{font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px}
.gpt-assistant-tag{font-size:10px;letter-spacing:.7px;padding:1px 6px;color:#83d7b1;background:rgba(85,182,134,.12);border:1px solid rgba(85,182,134,.2);border-radius:5px}
.gpt-assistant-subtitle{font-size:11px;color:var(--text2,#9ba3ba);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:210px}
.gpt-assistant-icon{border:0;color:var(--text2,#9ba3ba);background:transparent;width:30px;height:32px;display:grid;place-items:center;border-radius:7px;padding:0}
.gpt-assistant-icon:hover{background:var(--bg3,#2a3043);color:var(--text,#edf0f7)}
.gpt-assistant-messages{flex:1;min-height:0;overflow:auto;padding:18px 16px;overscroll-behavior:contain;scrollbar-width:thin;display:flex;flex-direction:column;gap:16px}
.gpt-assistant-empty{margin:auto 0;padding:10px 5px;text-align:center}
.gpt-assistant-empty .gpt-assistant-mark{display:none}
.gpt-assistant-empty h3{font-size:18px;font-weight:600;margin:0 0 7px;letter-spacing:-.3px}
.gpt-assistant-empty p{font-size:12px;color:var(--text2,#9ba3ba);margin:0 0 22px;line-height:1.8}
.gpt-assistant-suggestions{display:flex;flex-direction:column;gap:8px;text-align:left}
.gpt-assistant-suggestions button{border:1px solid var(--border,#34384c);border-radius:9px;padding:9px 12px;background:var(--bg,#171b28);text-align:left;color:var(--text2,#aeb5c9);font-size:12px;transition:border-color .15s}
.gpt-assistant-suggestions button:hover{border-color:var(--primary,#7883fa);color:var(--text,#edf0f7)}
.gpt-assistant-message{max-width:100%;min-width:0}
.gpt-assistant-message.user{align-self:flex-end;max-width:90%}
.gpt-assistant-message-label{color:var(--text2,#9ba3ba);font-size:10px;letter-spacing:.5px;margin-bottom:5px}
.gpt-assistant-message.user .gpt-assistant-message-label{text-align:right}
.gpt-assistant-message-text{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.gpt-assistant-message.user .gpt-assistant-message-text{padding:9px 12px;background:var(--user-bg,#2b3333);color:var(--text,#ecf0ed);border-radius:8px}
.gpt-assistant-message.assistant .gpt-assistant-message-text{padding:0 2px}
.gpt-assistant-message-note{font-size:11px;color:var(--text2,#9ba3ba);margin-top:7px}
.gpt-assistant-status{min-height:18px;font-size:11px;color:var(--text2,#9ba3ba);padding:0 16px 6px;flex-shrink:0}
.gpt-assistant-status.error{color:var(--danger,#ef8d91)}
.gpt-assistant-retry{color:var(--primary-light,#a8b1ff);border:0;background:transparent;padding:0 0 0 7px;font-size:11px}
.gpt-assistant-form{padding:0 12px 12px;flex-shrink:0}
.gpt-assistant-input-wrap{border:1px solid var(--border,#34384c);border-radius:12px;padding:10px;background:var(--bg,#171b28)}
.gpt-assistant-input-wrap:focus-within{border-color:var(--primary,#7883fa)}
.gpt-assistant textarea{width:100%;min-height:46px;max-height:100px;resize:none;border:0;outline:none!important;background:transparent;color:var(--text,#edf0f7);font-size:13px;line-height:1.7;padding:0;display:block;box-sizing:border-box}
.gpt-assistant textarea::placeholder{color:var(--text2,#9ba3ba)}
.gpt-assistant-input-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px}
.gpt-assistant-hint{font-size:10px;color:var(--text2,#9ba3ba)}
.gpt-assistant-send{display:grid;place-items:center;width:30px;height:30px;padding:0;background:var(--action-bg,#dce9e1);color:var(--action-text,#20352b);border:0;border-radius:6px}
@keyframes gpt-appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.gpt-assistant{right:12px;bottom:max(var(--gpt-assistant-bottom,12px),env(safe-area-inset-bottom))}.gpt-assistant-panel{width:calc(100vw - 24px);height:min(560px,calc(100dvh - var(--gpt-assistant-bottom,12px) - 76px));margin-bottom:10px}.gpt-assistant-launcher{padding:10px 14px}.gpt-assistant textarea{font-size:16px}.gpt-assistant-hint{font-size:10px}}
@media(prefers-reduced-motion:reduce){.gpt-assistant *{animation:none!important;transition:none!important}}
@media(max-height:760px){.gpt-assistant-empty{padding:0}.gpt-assistant-empty .gpt-assistant-mark{display:none}.gpt-assistant-empty h3{font-size:16px;margin-bottom:4px}.gpt-assistant-empty p{font-size:11px;line-height:1.6;margin-bottom:10px}.gpt-assistant-suggestions button{padding:7px 10px}.gpt-assistant-suggestions button:last-child{display:none}}
