.dvora-launch{position:relative;z-index:50;margin:24px auto 100px;display:flex;align-items:center;gap:10px;padding:12px 22px;border:1px solid #dfb44c;border-radius:40px;background:#10203a;color:#fff;font:700 16px Heebo,Arial;box-shadow:0 8px 24px #10203a22;cursor:pointer;max-width:calc(100% - 32px)}.dvora-launch img{width:40px;height:40px;object-fit:contain}.dvora-dialog{padding:0;border:0;border-radius:24px;width:min(440px,calc(100vw - 20px));height:min(780px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);overflow:hidden;background:#fff}.dvora-dialog::backdrop{background:#091a32aa}.dvora-dialog iframe{border:0;width:100%;height:calc(100% - 40px)}.dvora-close{height:40px;border:0;width:100%;background:#10203a;color:white;font:inherit;cursor:pointer}

/* ── the DEMONSTRATION (6.10.2026) ────────────────────────────────────────
   The live launcher opens an iframe app. The demo holds its whole
   conversation in the dialog itself: it has ten questions, a visible
   counter and a different ending, and teaching the paid inbox app about
   the demonstration would have been the wrong place to put all three. */
.dvora-dialog.dvora-demo{flex-direction:column;height:min(680px,calc(100dvh - 24px))}.dvora-dialog.dvora-demo[open]{display:flex}.dvora-dialog.dvora-demo:not([open]){display:none}
.dvora-demo-intro{margin:14px 18px 8px;font:600 14.5px Heebo,Arial;color:#0a1628;line-height:1.55}
.dvora-demo-chips{display:flex;flex-wrap:wrap;gap:7px;margin:0 18px 10px}
.dvora-demo-chip{border:1px solid #dfb44c88;background:#fffaf0;color:#7a5a10;border-radius:30px;padding:7px 13px;font:700 13px Heebo,Arial;cursor:pointer}
.dvora-demo-log{flex:1 1 auto;overflow-y:auto;padding:4px 18px 10px;display:flex;flex-direction:column;gap:9px}
.dvora-demo-msg{max-width:84%;padding:10px 13px;border-radius:16px;font:500 15px Heebo,Arial;line-height:1.6;white-space:pre-wrap}
.dvora-demo-me{align-self:flex-start;background:#eef2f8;color:#0a1628;border-bottom-left-radius:5px}
.dvora-demo-bee{align-self:flex-end;background:#10203a;color:#fff;border-bottom-right-radius:5px}
.dvora-demo form{display:flex;gap:8px;padding:10px 18px}
.dvora-demo-input{flex:1;border:1.5px solid #d6dbe4;border-radius:13px;padding:12px;font:500 16px Heebo,Arial}
.dvora-demo-send{border:0;border-radius:13px;padding:12px 18px;background:#dfb44c;color:#10203a;font:800 15px Heebo,Arial;cursor:pointer}
.dvora-demo-send:disabled,.dvora-demo-input:disabled{opacity:.55;cursor:default}
.dvora-demo-left{margin:0 18px 14px;font:600 12.5px Heebo,Arial;color:#6b7686}
.dvora-card-section{grid-column:1 / -1}
.dvora-card-panel{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid #eee6cf;border-radius:var(--radius,18px);background:linear-gradient(100deg,#fffdf4,#fff9e7);color:var(--ink,#12334f);font-family:inherit}
.dvora-card-brand{flex:0 0 96px;text-align:center}.dvora-card-brand img{display:block;width:44px;height:44px;object-fit:contain;margin:0 auto 4px}.dvora-card-brand strong{display:block;font-size:21px;line-height:1.3}.dvora-card-brand span{display:block;font-size:13px;color:var(--muted,#798594);line-height:1.4;margin-top:3px}
.dvora-card-invitation{flex:1;min-width:0}.dvora-card-greeting{margin:0 0 9px;padding:10px;background:white;border:1px solid #e7eaf0;border-radius:14px;text-align:center;font-size:14px;line-height:1.5}.dvora-card-talk{display:block;width:100%;min-height:44px;border:0;border-radius:24px;background:#ffd044;color:#12334f;padding:10px 12px;font-family:inherit;font-size:16px;font-weight:700;line-height:1.4;cursor:pointer}.dvora-card-talk:focus-visible{outline:3px solid var(--accent,#12334f);outline-offset:3px}
@media(max-width:360px){.dvora-card-panel{gap:9px;padding:12px}.dvora-card-brand{flex-basis:80px}.dvora-card-greeting{font-size:13px;padding:8px}}

/* Reachable while scrolling; chat opens only on an explicit click. */
button.dvora-launch{position:fixed;left:16px;right:auto;bottom:calc(20px + env(safe-area-inset-bottom,0px));margin:0;z-index:100;box-sizing:border-box;height:60px;min-width:60px;padding:9px;gap:0;max-width:calc(100vw - 32px);border-radius:999px;direction:ltr;box-shadow:0 8px 26px #10203a35}
.dvora-launch img{width:40px;height:40px;flex-shrink:0}
.dvora-launch-label{direction:rtl;white-space:nowrap;overflow:hidden;max-width:240px;padding:0 12px;opacity:1;transition:max-width .25s ease,padding .25s ease,opacity .2s ease}
.dvora-launch.is-scrolling .dvora-launch-label{max-width:0;padding:0;opacity:0}
.dvora-launch:focus-visible{outline:3px solid #dfb44c;outline-offset:3px}
/* ── the chat window ──────────────────────────────────────────────────────
 *
 * On a phone it fills the screen. It used to be 50dvh — half a phone, for a
 * conversation — and the half it left was not enough to read an answer in.
 *
 * ⚠ THE HEIGHT COMES FROM --dvora-vvh, NOT FROM dvh. dvh is the viewport
 * WITHOUT the keyboard and never changes when one opens, so a full-height
 * panel keeps its composer at the bottom of a screen the keyboard is now
 * covering: you can see the conversation and not the box you type into.
 * launcher.js keeps --dvora-vvh at visualViewport.height, which is the only
 * number that moves. The dvh is the fallback for anything without
 * visualViewport, where the keyboard problem does not arise either. */
dialog.dvora-dialog:not([open]){display:none}dialog.dvora-dialog[open]{display:flex}dialog.dvora-dialog,dialog.dvora-dialog.dvora-demo{position:fixed;inset:0;margin:auto;box-sizing:border-box;flex-direction:column;width:min(440px,calc(100vw - 32px));height:min(780px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);min-height:0;padding:0;border:0;border-radius:22px;overflow:hidden}
@media(max-width:640px){
 dialog.dvora-dialog,dialog.dvora-dialog.dvora-demo{inset:0 auto auto 0;transform:none;width:100vw;max-width:100vw;height:var(--dvora-vvh,100dvh);max-height:var(--dvora-vvh,100dvh);border-radius:0}
}
/* flex, so the composer inside the frame is bounded by the panel rather than
   running past the bottom of it */
.dvora-dialog iframe{display:block;flex:1 1 auto;min-width:0;min-height:0;margin:0;width:100%;height:auto}
/* the way out stays on screen whatever the conversation does */
.dvora-close{flex-shrink:0;min-height:44px;position:sticky;top:0;z-index:1}
.dvora-demo-log{min-height:0;overscroll-behavior:contain}
.dvora-demo-input{min-width:0}
@media(prefers-reduced-motion:reduce){.dvora-launch-label{transition:none}}
