/* Support stays below consent dialogs and above page content. No generated utility classes in JS. */
#support-widget { position:fixed; right:1rem; bottom:calc(1rem + env(safe-area-inset-bottom) + var(--support-keyboard-offset,0px)); z-index:45; font-size:.875rem; }
#support-widget [hidden] { display:none!important; }
#support-toggle, #support-widget-send { background:var(--color-signal,#f8c619); color:var(--color-ink,#0a0c0f); border:1px solid currentColor; border-radius:.65rem; padding:.8rem 1rem; font-weight:600; }
#support-badge { background:var(--color-ink,#0a0c0f); color:white; border-radius:1rem; padding:.15rem .45rem; }
#support-nudge, #support-unread-notice { background:white; border:1px solid var(--color-ink); border-radius:.65rem; padding:1rem; margin-bottom:.5rem; width:min(20rem,calc(100vw - 2rem)); font-size:1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
#support-toggle { display:block; margin-left:auto; }
#support-toggle.support-has-unread { background:var(--color-ink,#0a0c0f); color:var(--color-white,#fff); }
#support-toggle.support-has-unread #support-badge { background:var(--color-signal,#f8c619); color:var(--color-ink,#0a0c0f); }
#support-unread-notice p { margin:0 0 .5rem; }
#support-unread-open { text-decoration:underline; font-weight:600; }
#support-unread-close { align-self:flex-start; }
#support-unread-notice button:focus-visible { outline:3px solid var(--color-signal,#f8c619); outline-offset:3px; }
#support-panel { width:min(28rem,calc(100vw - 2rem)); max-height:calc(var(--support-viewport-height,100dvh) - 2rem); overflow:auto; padding:1rem; background:white; border:1px solid var(--color-ink); border-radius:1rem; box-shadow:0 8px 30px #0002; }
#support-panel header { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
#support-panel h2 { font-size:1.2rem; font-weight:600; }
#support-panel p { margin:.6rem 0; }
#support-panel a, #support-widget-older, #support-new { text-decoration:underline; }
#support-panel label { display:block; font-weight:600; margin-top:.6rem; }
#support-panel input, #support-panel textarea { display:block; width:100%; border:1px solid var(--color-rule,#d9dadd); border-radius:.4rem; padding:.5rem; font-size:1rem; }
#support-panel button:focus-visible, #support-panel a:focus-visible, #support-toggle:focus-visible { outline:3px solid var(--color-signal); outline-offset:3px; }
#support-widget-history { max-height:15rem; overflow:auto; overscroll-behavior:contain; overflow-wrap:anywhere; }
.support-live-message { padding:.65rem; margin:.5rem 0; border:1px solid var(--color-rule,#d9dadd); border-radius:.5rem; }
.support-live-message p { white-space:pre-wrap; overflow-wrap:anywhere; }
#support-widget-status:empty, #support-live-presence:empty { display:none; }
#support-widget button:disabled { opacity:.5; }
@media(max-width:600px) { #support-widget { right:.5rem; bottom:calc(.5rem + env(safe-area-inset-bottom) + var(--support-keyboard-offset,0px)); } #support-panel { width:calc(100vw - 1rem); max-height:calc(var(--support-viewport-height,100dvh) - 1rem); } }
body:has(dialog[open]) #support-widget { visibility:hidden; }


#support-widget.support-inline { position:static; margin:1rem; align-self:flex-end; }
#support-widget.support-inline #support-panel { position:fixed; right:.5rem; bottom:calc(.5rem + env(safe-area-inset-bottom) + var(--support-keyboard-offset,0px)); }

.support-typing[hidden] { display:none!important; }
.support-typing { display:flex; align-items:center; gap:.5rem; font-size:.875rem; min-height:1.5rem; }
.support-typing-dots { display:inline-flex; gap:.25rem; }
.support-typing-dots i { width:.375rem; height:.375rem; border-radius:50%; background:currentColor; animation:support-typing 1.2s infinite ease-in-out; }
.support-typing-dots i:nth-child(2) { animation-delay:.15s; }
.support-typing-dots i:nth-child(3) { animation-delay:.3s; }
@keyframes support-typing { 0%,60%,100% { opacity:.4; transform:translateY(0); } 30% { opacity:1; transform:translateY(-.25rem); } }
@media(prefers-reduced-motion:reduce) { .support-typing-dots i { animation:none; } }
