:root { --teryzon-chat-accent: var(--terracotta, #af533b); --teryzon-chat-ink: var(--ink, #f4eee9); --teryzon-chat-muted: var(--muted, #a89d96); --teryzon-chat-line: var(--line, #30221e); --teryzon-chat-panel: var(--panel, #0b0807); }
.teryzon-chatbot-launcher { align-items:center; background:var(--teryzon-chat-accent); border:1px solid rgba(255,255,255,.18); border-radius:50%; bottom:max(24px,env(safe-area-inset-bottom)); box-shadow:0 12px 30px rgba(0,0,0,.3); color:#000; cursor:pointer; display:flex; height:58px; justify-content:center; position:fixed; right:max(24px,env(safe-area-inset-right)); transition:transform .2s ease,box-shadow .2s ease; width:58px; z-index:1000; }
.teryzon-chatbot-launcher:hover { box-shadow:0 16px 36px rgba(0,0,0,.38); transform:translateY(-3px); }
.teryzon-chatbot-launcher:focus-visible,.teryzon-chatbot-button:focus-visible,.teryzon-chatbot-quick:focus-visible { outline:2px solid var(--teryzon-chat-ink); outline-offset:3px; }
.teryzon-chatbot-launcher svg { height:27px; width:27px; }
.teryzon-chatbot-panel { background:var(--teryzon-chat-panel); border:1px solid var(--teryzon-chat-line); border-radius:18px; bottom:96px; box-shadow:0 24px 70px rgba(0,0,0,.42); color:var(--teryzon-chat-ink); display:flex; flex-direction:column; height:min(650px,calc(100vh - 130px)); max-height:calc(100dvh - 130px); opacity:0; overflow:hidden; pointer-events:none; position:fixed; right:24px; transform:translateY(12px) scale(.98); transition:opacity .2s ease,transform .2s ease,visibility .2s ease; visibility:hidden; width:min(410px,calc(100vw - 48px)); z-index:1001; }
.teryzon-chatbot-panel.is-open { opacity:1; pointer-events:auto; transform:none; visibility:visible; }
.teryzon-chatbot-header { align-items:center; border-bottom:1px solid var(--teryzon-chat-line); display:flex; gap:11px; padding:17px 18px; }
.teryzon-chatbot-logo { align-items:center; background:var(--teryzon-chat-accent); border-radius:10px; color:#000; display:flex; flex:none; height:34px; justify-content:center; width:34px; }
.teryzon-chatbot-logo svg { height:20px; width:20px; }
.teryzon-chatbot-heading { flex:1; min-width:0; }.teryzon-chatbot-heading strong { display:block; font-size:.95rem; }.teryzon-chatbot-status { color:var(--teryzon-chat-muted); font-size:.72rem; }.teryzon-chatbot-status::before { background:#78b886; border-radius:50%; content:""; display:inline-block; height:6px; margin:0 6px 1px 0; width:6px; }
.teryzon-chatbot-button { align-items:center; background:transparent; border:0; color:var(--teryzon-chat-muted); cursor:pointer; display:flex; height:34px; justify-content:center; padding:0; width:34px; }.teryzon-chatbot-button:hover { color:var(--teryzon-chat-ink); }.teryzon-chatbot-button svg { height:18px; width:18px; }
.teryzon-chatbot-messages { flex:1; min-height:0; overflow-y:auto; padding:20px 16px; scrollbar-width:none; }.teryzon-chatbot-messages::-webkit-scrollbar,.teryzon-chatbot-quick-wrap::-webkit-scrollbar { display:none; }.teryzon-chatbot-message { display:flex; margin:0 0 14px; }.teryzon-chatbot-message.is-user { justify-content:flex-end; }.teryzon-chatbot-bubble { background:rgba(255,255,255,.055); border:1px solid var(--teryzon-chat-line); border-radius:14px 14px 14px 4px; font-size:.87rem; line-height:1.55; max-width:88%; overflow-wrap:anywhere; padding:11px 13px; }.teryzon-chatbot-message.is-user .teryzon-chatbot-bubble { background:var(--teryzon-chat-accent); border-color:transparent; border-radius:14px 14px 4px; color:#000; }.teryzon-chatbot-bubble p { margin:0 0 8px; }.teryzon-chatbot-bubble p:last-child { margin-bottom:0; }.teryzon-chatbot-bubble ul,.teryzon-chatbot-bubble ol { margin:6px 0 0; padding-left:20px; }.teryzon-chatbot-bubble a { color:var(--teryzon-chat-accent); text-decoration:underline; }.teryzon-chatbot-message.is-user .teryzon-chatbot-bubble a { color:#000; }.teryzon-chatbot-bubble code { background:rgba(0,0,0,.24); border-radius:4px; font-size:.8em; padding:2px 4px; }.teryzon-chatbot-bubble pre { background:#000; border:1px solid var(--teryzon-chat-line); border-radius:8px; overflow:auto; padding:10px; }.teryzon-chatbot-bubble pre code { background:none; padding:0; }.teryzon-chatbot-time { color:var(--teryzon-chat-muted); display:block; font-size:.65rem; margin-top:5px; opacity:.8; }.teryzon-chatbot-typing { color:var(--teryzon-chat-muted); font-size:1.1rem; letter-spacing:3px; padding:3px 2px; }.teryzon-chatbot-typing span { animation:teryzonChatTyping 1s infinite; display:inline-block; }.teryzon-chatbot-typing span:nth-child(2) { animation-delay:.15s; }.teryzon-chatbot-typing span:nth-child(3) { animation-delay:.3s; }
.teryzon-chatbot-quick-wrap { border-top:1px solid var(--teryzon-chat-line); display:flex; gap:7px; overflow-x:auto; padding:10px 16px; }.teryzon-chatbot-quick { background:transparent; border:1px solid var(--teryzon-chat-line); border-radius:999px; color:var(--teryzon-chat-muted); cursor:pointer; flex:none; font:inherit; font-size:.72rem; padding:7px 10px; }.teryzon-chatbot-quick:hover { border-color:var(--teryzon-chat-accent); color:var(--teryzon-chat-ink); }.teryzon-chatbot-form { align-items:flex-end; border-top:1px solid var(--teryzon-chat-line); display:flex; gap:8px; padding:12px 14px max(12px,env(safe-area-inset-bottom)); }.teryzon-chatbot-input { background:rgba(255,255,255,.045); border:1px solid var(--teryzon-chat-line); border-radius:10px; color:var(--teryzon-chat-ink); flex:1; font:inherit; line-height:1.4; max-height:120px; min-height:42px; padding:10px 11px; resize:none; }.teryzon-chatbot-input:focus { border-color:var(--teryzon-chat-accent); outline:0; }.teryzon-chatbot-send { align-items:center; background:var(--teryzon-chat-accent); border:0; border-radius:10px; color:#000; cursor:pointer; display:flex; height:42px; justify-content:center; width:42px; }.teryzon-chatbot-send:disabled { cursor:not-allowed; opacity:.45; }.teryzon-chatbot-send svg { height:18px; width:18px; }
@keyframes teryzonChatTyping { 0%,60%,100% { opacity:.25; transform:translateY(0); } 30% { opacity:1; transform:translateY(-3px); } }
@media (max-width:560px) { .teryzon-chatbot-launcher { bottom:max(18px,env(safe-area-inset-bottom)); right:max(18px,env(safe-area-inset-right)); }.teryzon-chatbot-panel { border-radius:0; bottom:0; height:100dvh; max-height:100dvh; right:0; width:100vw; }.teryzon-chatbot-panel.is-open ~ * { overflow:hidden; } }
@media (prefers-reduced-motion:reduce) { .teryzon-chatbot-launcher,.teryzon-chatbot-panel { transition:none; } .teryzon-chatbot-typing span { animation:none; } }
html[data-theme="light"] .teryzon-chatbot-panel { --teryzon-chat-panel:#fff; --teryzon-chat-ink:#211714; --teryzon-chat-muted:#685d56; --teryzon-chat-line:#d8c9c0; box-shadow:0 24px 70px rgba(33,23,20,.18); }
html[data-theme="light"] .teryzon-chatbot-bubble { background:#f4eee9; }
html[data-theme="light"] .teryzon-chatbot-message.is-user .teryzon-chatbot-bubble { background:#9e4a35; color:#fff; }
html[data-theme="light"] .teryzon-chatbot-input { background:#fff; color:#211714; }
html[data-theme="light"] .teryzon-chatbot-bubble pre { background:#211714; }
html[data-theme="light"] .contact-page { background:#f4eee9; color:#211714; }
html[data-theme="light"] .support-form { background:#fff; border-color:#d8c9c0; }
html[data-theme="light"] .support-form input,html[data-theme="light"] .support-form select,html[data-theme="light"] .support-form textarea { background:#fff; border-color:#d8c9c0; color:#211714; }
html[data-theme="light"] .contact-option,html[data-theme="light"] .contact-options,html[data-theme="light"] .support-form hr { border-color:#d8c9c0; }
html[data-theme="light"] .contact-page .intro,html[data-theme="light"] .contact-option span,html[data-theme="light"] .support-form .muted,html[data-theme="light"] .form-status { color:#685d56; }
