/* Chat del asistente Dreams. Usa los tokens de :root de index.html. */
.dc{--dc-bg:var(--canvas,#0E0C12);--dc-panel:var(--panel,#17141D);--dc-panel-2:var(--panel-2,#1E1A25);--dc-line:var(--line,#2A2531);--dc-text:var(--text,#F2ECE4);--dc-text-2:var(--text-2,#B5ABA2);--dc-text-3:var(--text-3,#8E847B);--dc-accent:var(--accent,#F3B95F);--dc-accent-hover:var(--accent-hover,#FFCB7A);--dc-accent-ink:var(--accent-ink,#1A1308);--dc-ease:var(--ease,cubic-bezier(.16,1,.3,1));font-family:var(--font,'Geist',system-ui,sans-serif)}

/* ---- botón flotante ---- */
.dc-launch{position:fixed;right:24px;bottom:24px;z-index:56;display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 20px 0 16px;border:1px solid rgba(243,185,95,.45);border-radius:999px;background:var(--dc-panel);color:var(--dc-text);font:600 .95rem/1 var(--font,'Geist',system-ui,sans-serif);cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.4),0 0 0 1px rgba(0,0,0,.2);transition:transform .3s var(--dc-ease),border-color .25s var(--dc-ease),bottom .35s var(--dc-ease),opacity .3s var(--dc-ease)}
.dc-launch:hover{transform:translateY(-2px);border-color:var(--dc-accent)}
.dc-launch:focus-visible{outline:2px solid var(--dc-accent);outline-offset:3px}
.dc-launch svg{width:22px;height:22px;color:var(--dc-accent);flex:none}
.dc-launch .dc-dot{width:8px;height:8px;border-radius:50%;background:#7FD1A4;box-shadow:0 0 0 3px rgba(127,209,164,.18);flex:none}
.dc-open .dc-launch{opacity:0;pointer-events:none;transform:translateY(8px)}

/* burbuja de invitación */
.dc-teaser{position:fixed;right:24px;bottom:92px;z-index:56;max-width:260px;padding:12px 36px 12px 14px;border:1px solid var(--dc-line);border-radius:14px 14px 4px 14px;background:var(--dc-panel-2);color:var(--dc-text);font-size:.9rem;line-height:1.45;box-shadow:0 12px 32px rgba(0,0,0,.45);cursor:pointer;animation:dc-up .35s var(--dc-ease) both}
.dc-teaser[hidden]{display:none}
.dc-teaser-x{position:absolute;top:4px;right:4px;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--dc-text-3);font-size:18px;line-height:1;cursor:pointer}
.dc-teaser-x:hover{color:var(--dc-text)}

/* ---- panel ---- */
.dc-panel{position:fixed;right:24px;bottom:24px;z-index:70;width:384px;height:min(620px,calc(100vh - 120px));display:flex;flex-direction:column;border:1px solid var(--dc-line);border-radius:18px;background:var(--dc-bg);color:var(--dc-text);box-shadow:0 24px 64px rgba(0,0,0,.6);overflow:hidden;animation:dc-up .3s var(--dc-ease) both}
.dc-panel[hidden]{display:none}
.dc-head{display:flex;align-items:center;gap:12px;padding:14px 12px 14px 16px;border-bottom:1px solid var(--dc-line);background:var(--dc-panel)}
.dc-head svg.dc-mark{width:30px;height:30px;color:var(--dc-accent);flex:none}
.dc-title{font-weight:600;font-size:1rem;letter-spacing:-.01em}
.dc-sub{font-size:.78rem;color:var(--dc-text-2);margin-top:2px}
.dc-close{margin-left:auto;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:var(--dc-text-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.dc-close:hover{background:var(--dc-panel-2);color:var(--dc-text)}
.dc-close:focus-visible{outline:2px solid var(--dc-accent);outline-offset:-2px}
.dc-close svg{width:20px;height:20px}

.dc-log{flex:1;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain;scroll-behavior:smooth}
.dc-msg{max-width:86%;padding:10px 13px;border-radius:14px;font-size:.92rem;line-height:1.55;white-space:normal;overflow-wrap:anywhere;animation:dc-up .3s var(--dc-ease) both}
.dc-msg strong{color:var(--dc-text);font-weight:600}
.dc-bot{align-self:flex-start;background:var(--dc-panel-2);border:1px solid var(--dc-line);border-top-left-radius:4px;color:var(--dc-text)}
.dc-user{align-self:flex-end;background:rgba(243,185,95,.14);border:1px solid rgba(243,185,95,.3);border-top-right-radius:4px}
.dc-typing{display:inline-flex;gap:5px;padding:14px}
.dc-typing i{width:6px;height:6px;border-radius:50%;background:var(--dc-text-2);animation:dc-dot 1.2s ease-in-out infinite}
.dc-typing i:nth-child(2){animation-delay:.2s}.dc-typing i:nth-child(3){animation-delay:.4s}

.dc-chips{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0 4px}
.dc-chip{min-height:40px;padding:8px 13px;border:1px solid rgba(243,185,95,.35);border-radius:999px;background:transparent;color:var(--dc-accent);font:500 .85rem/1.2 var(--font,'Geist',system-ui,sans-serif);cursor:pointer;text-align:left;transition:background-color .2s var(--dc-ease),border-color .2s var(--dc-ease)}
.dc-chip:hover{background:rgba(243,185,95,.1);border-color:var(--dc-accent)}
.dc-chip:focus-visible{outline:2px solid var(--dc-accent);outline-offset:2px}

.dc-cta{align-self:stretch;padding:12px;border:1px solid rgba(243,185,95,.35);border-radius:14px;background:linear-gradient(180deg,rgba(243,185,95,.1),rgba(243,185,95,.03));animation:dc-up .3s var(--dc-ease) both}
.dc-cta p{margin:0 0 10px;font-size:.88rem;line-height:1.5;color:var(--dc-text)}
.dc-cta-row{display:flex;gap:8px}
.dc-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 12px;border-radius:10px;border:0;font:600 .85rem/1.2 var(--font,'Geist',system-ui,sans-serif);text-decoration:none;cursor:pointer;transition:background-color .2s var(--dc-ease)}
.dc-btn-primary{background:var(--dc-accent);color:var(--dc-accent-ink)}
.dc-btn-primary:hover{background:var(--dc-accent-hover)}
.dc-btn-wa{background:#1FAF5A;color:#fff}
.dc-btn-wa:hover{background:#178F49}
.dc-btn:focus-visible{outline:2px solid var(--dc-text);outline-offset:2px}

.dc-form{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--dc-line);background:var(--dc-panel)}
.dc-input{flex:1;min-height:44px;max-height:120px;resize:none;padding:11px 13px;border:1px solid var(--dc-line);border-radius:12px;background:var(--dc-bg);color:var(--dc-text);font:400 16px/1.4 var(--font,'Geist',system-ui,sans-serif);transition:border-color .2s var(--dc-ease),box-shadow .2s var(--dc-ease)}
.dc-input::placeholder{color:var(--dc-text-3)}
.dc-input:focus{outline:none;border-color:rgba(243,185,95,.6);box-shadow:0 0 0 3px rgba(243,185,95,.12)}
.dc-send{width:44px;height:44px;flex:none;border:0;border-radius:12px;background:var(--dc-accent);color:var(--dc-accent-ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s var(--dc-ease),opacity .2s}
.dc-send:hover{background:var(--dc-accent-hover)}
.dc-send:disabled{opacity:.45;cursor:not-allowed}
.dc-send:focus-visible{outline:2px solid var(--dc-text);outline-offset:2px}
.dc-send svg{width:20px;height:20px}
.dc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px 12px;background:var(--dc-panel);font-size:.72rem;color:var(--dc-text-3)}
.dc-foot a{color:var(--dc-text-2);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.dc-foot a:hover{color:var(--dc-accent)}

@keyframes dc-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes dc-dot{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}

/* ---- celular: botón sobre la barra inferior y panel de pantalla completa ---- */
@media (max-width:899px){
  .dc-launch{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));height:52px;padding:0 16px 0 14px}
  .dc-lift .dc-launch{bottom:calc(80px + env(safe-area-inset-bottom))}
  .dc-teaser{right:16px;bottom:calc(80px + env(safe-area-inset-bottom));max-width:min(260px,calc(100vw - 32px))}
  .dc-lift .dc-teaser{bottom:calc(144px + env(safe-area-inset-bottom))}
  .dc-panel{inset:0;width:auto;height:100%;height:100dvh;border-radius:0;border:0}
  .dc-form{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
}
@media (max-width:340px){.dc-launch .dc-label{display:none}.dc-launch{padding:0 15px}}

@media (prefers-reduced-motion:reduce){
  .dc-launch,.dc-teaser,.dc-panel,.dc-msg,.dc-cta{animation:none!important;transition:none!important}
  .dc-typing i{animation:none}
  .dc-log{scroll-behavior:auto}
}
