.pl-chat { --chat-ink:#080813; --chat-blue:#a0bddb; font-family:Inter,Arial,sans-serif; color:var(--chat-ink); position:fixed; z-index:1000; left:24px; bottom:max(24px,env(safe-area-inset-bottom)); }
.pl-chat [hidden] { display:none!important; }
.pl-chat button,.pl-chat textarea { font:inherit; }
.pl-chat button { cursor:pointer; }
.pl-chat button:disabled { cursor:wait; opacity:.6; }
.pl-chat button:focus-visible,.pl-chat textarea:focus-visible,.pl-chat a:focus-visible { outline:3px solid #537fa9; outline-offset:3px; }
.pl-chat-launcher { display:grid; place-items:center; width:58px; height:58px; border:1px solid #c6d5e5; border-radius:50%; color:var(--chat-ink); background:var(--chat-blue); box-shadow:0 8px 28px #08081326; transition:transform .15s; }
.pl-chat-launcher:hover { transform:translateY(-2px); }
.pl-chat-launcher svg { width:26px; height:26px; }
.pl-chat-panel { position:absolute; bottom:74px; left:0; width:370px; height:min(580px,calc(100dvh - 125px)); display:flex; flex-direction:column; background:#f7f7f4; border:1px solid #d7dce1; border-radius:22px; box-shadow:0 18px 70px #08081330; overflow:hidden; }
.pl-chat-header { display:flex; align-items:center; justify-content:space-between; padding:18px 20px; background:var(--chat-ink); color:#fff; gap:12px; }
.pl-chat-header strong { display:block; font-size:15px; letter-spacing:-.02em; }
.pl-chat-header small { display:block; color:var(--chat-blue); font-size:11px; margin-top:4px; }
.pl-chat-close { border:0; color:white; background:transparent; font-size:26px!important; width:32px; height:32px; line-height:1; }
.pl-chat-log { flex:1; min-height:100px; overflow-y:auto; overscroll-behavior:contain; padding:18px; display:flex; flex-direction:column; gap:12px; }
.pl-chat-message { margin:0; max-width:94%; padding:12px 14px; border-radius:15px; font-size:13px; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; flex-shrink:0; }
.pl-chat-assistant { background:#e9edf0; align-self:flex-start; border-bottom-left-radius:4px; }
.pl-chat-user { background:var(--chat-blue); align-self:flex-end; border-bottom-right-radius:4px; }
.pl-chat-prompts { padding:0 18px 12px; display:flex; flex-wrap:wrap; gap:6px; }
.pl-chat-prompts button { border:1px solid #c7d2de; border-radius:20px; background:transparent; color:var(--chat-ink); padding:7px 10px; font-size:11px; }
.pl-chat-notice { font-size:10px; line-height:1.5; padding:0 18px; margin:0 0 10px; color:#4d5560; }
.pl-chat-notice a { color:inherit; text-decoration:underline; }
.pl-chat-form { border-top:1px solid #d7dce1; padding:12px 16px; display:flex; gap:8px; align-items:flex-end; }
.pl-chat-form textarea { min-width:0; flex:1; min-height:42px; max-height:90px; resize:vertical; border:1px solid #c7ced6; border-radius:12px; background:white; color:var(--chat-ink); padding:11px; font-size:13px; line-height:1.4; }
.pl-chat-send { width:42px; height:42px; border:0; border-radius:12px; background:var(--chat-ink); color:white; font-size:21px!important; }
.pl-chat-footer { padding:0 18px 13px; font-size:11px; color:#4d5560; }
.pl-chat-status { margin:0; font-size:11px; line-height:1.5; }
.pl-chat-tools { display:flex; justify-content:space-between; gap:8px; margin-top:7px; }
.pl-chat-tools button { border:0; padding:0; background:transparent; text-decoration:underline; color:inherit; font-size:10px; }
.pl-chat-sr { 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:480px) { .pl-chat { left:14px; bottom:max(16px,env(safe-area-inset-bottom)); } .pl-chat-panel { width:calc(100vw - 28px); height:min(550px,calc(100dvh - 110px)); bottom:72px; } .pl-chat-open .kontakt-knopf,.pl-chat-open .kontakt-box { visibility:hidden; } }
@media(prefers-reduced-motion:reduce) { .pl-chat-launcher { transition:none; } }
