.dejo-chat { position: fixed; z-index: 10; right: clamp(1rem, 2.8vw, 2.5rem); bottom: clamp(1rem, 2.8vw, 2.5rem); color: var(--color-text); font: 400 1rem/1.45 system-ui, sans-serif; }
.dejo-chat button, .dejo-chat textarea { font: inherit; }
.dejo-chat button { cursor: pointer; }
.dejo-chat button:focus-visible, .dejo-chat textarea:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
.dejo-chat__launcher { display: flex; align-items: center; justify-content: flex-end; gap: .55rem; }
.dejo-chat__hint { max-width: 11rem; padding: .6rem .8rem; border: 1px solid var(--color-border); border-radius: .8rem; background: var(--color-surface); box-shadow: 0 .4rem 1.6rem rgba(0,0,0,.22); backdrop-filter: blur(1rem); color: var(--color-text); font-size: .78rem; }
.dejo-chat__toggle { display: grid; place-items: center; flex: none; width: 5.4rem; height: 5.4rem; padding: .15rem; border: 1px solid var(--color-border); border-radius: 1.5rem; background: linear-gradient(145deg, var(--color-surface), var(--spaced-bg-navy)); box-shadow: 0 .5rem 2rem rgba(0, 104, 228, .28), inset 0 1px rgba(255,255,255,.12); transition: transform .2s ease, box-shadow .2s ease; }
.dejo-chat__toggle:hover { transform: translateY(-3px); box-shadow: 0 .65rem 2.3rem rgba(0, 104, 228, .42); }
.dejo-chat__toggle img { display: block; width: 4.75rem; height: 4.75rem; object-fit: contain; }
.dejo-chat__panel { width: min(24rem, calc(100vw - 2rem)); height: min(34rem, calc(100dvh - 8.5rem)); min-height: 18rem; margin: 0 0 .8rem auto; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--color-border); border-radius: 1.2rem; background: var(--spaced-bg-navy); box-shadow: 0 1rem 3.5rem rgba(0,0,0,.38), 0 0 2rem rgba(25, 117, 233, .13); }
.dejo-chat__panel[hidden] { display: none; }
.dejo-chat__header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .8rem 1rem; border-bottom: 1px solid var(--color-border); background: var(--color-surface); }
.dejo-chat__identity { display: flex; align-items: center; gap: .65rem; min-width: 0; }
.dejo-chat__identity img { width: 2.75rem; height: 2.75rem; object-fit: contain; }
.dejo-chat__identity strong, .dejo-chat__identity span { display: block; }
.dejo-chat__identity strong { color: var(--color-text); font-size: .95rem; letter-spacing: .08em; }
.dejo-chat__identity span { color: var(--color-text-muted); font-size: .72rem; }
.dejo-chat__close { flex: none; display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid var(--color-border); border-radius: .55rem; color: var(--color-text); background: transparent; font-size: 1.35rem !important; line-height: 1; }
.dejo-chat__messages { flex: 1; display: flex; flex-direction: column; gap: .75rem; min-height: 0; padding: 1rem; overflow-y: auto; overscroll-behavior: contain; }
.dejo-chat__welcome, .dejo-chat__message { max-width: 88%; margin: 0; padding: .68rem .85rem; border-radius: .9rem; overflow-wrap: anywhere; white-space: pre-wrap; font-size: .88rem; }
.dejo-chat__welcome, .dejo-chat__message--dejo { align-self: flex-start; border: 1px solid var(--color-border); border-bottom-left-radius: .25rem; background: var(--color-surface); }
.dejo-chat__message--visitor { align-self: flex-end; border-bottom-right-radius: .25rem; color: #fff; background: linear-gradient(135deg, var(--color-accent), var(--color-accent-strong)); }
.dejo-chat__challenge { padding: 0 .7rem; }
.dejo-chat__status { min-height: 1.7rem; margin: 0; padding: .25rem 1rem; color: var(--color-text-muted); font-size: .75rem; }
.dejo-chat__form { display: flex; align-items: flex-end; gap: .5rem; padding: .7rem; border-top: 1px solid var(--color-border); background: var(--color-surface); }
.dejo-chat__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.dejo-chat__form textarea { flex: 1; min-width: 0; min-height: 2.5rem; max-height: 7rem; padding: .6rem .75rem; resize: vertical; border: 1px solid var(--color-border); border-radius: .7rem; color: var(--color-text); background: var(--spaced-bg); font-size: .85rem; }
.dejo-chat__form textarea::placeholder { color: var(--color-text-muted); }
.dejo-chat__send { display: grid; place-items: center; flex: none; width: 2.5rem; height: 2.5rem; border: 0; border-radius: .7rem; color: #fff; background: linear-gradient(135deg, var(--color-accent), var(--color-accent-strong)); }
.dejo-chat__send svg { width: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dejo-chat__send:disabled, .dejo-chat__retry:disabled { opacity: .5; cursor: not-allowed; }
.dejo-chat__retry { align-self: flex-start; margin: 0 0 .7rem 1rem; padding: .4rem .65rem; border: 1px solid var(--color-border); border-radius: .55rem; color: var(--color-accent); background: var(--color-surface); font-size: .78rem !important; }
.dejo-chat__retry[hidden] { display: none; }
@media (max-width: 34rem) { .dejo-chat { right: .75rem; bottom: .75rem; } .dejo-chat__panel { width: calc(100vw - 1.5rem); height: min(32rem, calc(100dvh - 7.5rem)); } .dejo-chat__hint { max-width: 8.5rem; font-size: .72rem; } .dejo-chat__toggle { width: 4.5rem; height: 4.5rem; } .dejo-chat__toggle img { width: 4rem; height: 4rem; } }
@media (prefers-reduced-motion: reduce) { .dejo-chat__toggle { transition: none; } }
