.dt-launch{position:fixed;right:20px;bottom:20px;z-index:50;display:inline-flex;align-items:center;gap:10px;background:var(--pen);color:#fff;border:2px solid var(--pen);font:700 1rem/1 var(--sans);padding:14px 18px;border-radius:2px;cursor:pointer;box-shadow:0 2px 0 rgba(28,31,36,.15),0 10px 18px -10px rgba(28,31,36,.45);transition:background .2s,color .2s}
.dt-launch svg{width:20px;height:20px}
.dt-launch:hover,.dt-launch.dt-on{background:var(--print);border-color:var(--print)}
.dt-panel{position:fixed;right:20px;bottom:84px;z-index:50;width:min(400px,calc(100vw - 32px));height:min(600px,calc(100vh - 120px));display:flex;flex-direction:column;background:#fff;border:2px solid var(--rule-strong);box-shadow:0 2px 0 rgba(28,31,36,.12),0 18px 30px -18px rgba(28,31,36,.5)}
.dt-panel[hidden]{display:none}
.dt-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px 12px 18px;border-bottom:2px solid var(--rule-strong)}
.dt-head strong{display:block;font-size:1.15rem;letter-spacing:-.01em}
.dt-head span{font-family:var(--type);font-size:.82rem;color:var(--print-2)}
.dt-close{background:none;border:0;color:var(--print);width:40px;height:40px;display:grid;place-items:center;cursor:pointer}
.dt-close svg{width:18px;height:18px}
.dt-log{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:14px;overscroll-behavior:contain}
.dt-msg p{margin:0 0 8px;white-space:pre-wrap;line-height:1.5}
.dt-msg p:last-child{margin-bottom:0}
.dt-bot{color:var(--print);max-width:92%}
.dt-who{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--print-2);font-weight:600;margin-bottom:4px}
.dt-user{align-self:flex-end;max-width:85%;font-family:var(--type);color:var(--pen);border-bottom:1px solid var(--rule);padding:0 2px 6px}
.dt-wait p{color:var(--print-2);animation:dtpulse 1.2s ease-in-out infinite}
@keyframes dtpulse{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.dt-wait p{animation:none}}
.dt-starters{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 12px}
.dt-starters[hidden]{display:none}
.dt-chip{font:600 .88rem/1.3 var(--sans);text-align:left;background:var(--paper-2);color:var(--print);border:1px solid var(--rule);padding:8px 10px;border-radius:2px;cursor:pointer}
.dt-chip:hover{border-color:var(--print)}
.dt-form{display:flex;align-items:flex-end;gap:8px;border-top:1px solid var(--rule-strong);padding:10px 10px 10px 18px}
.dt-form textarea{flex:1;resize:none;border:0;background:transparent;font:1rem/1.5 var(--type);color:var(--print);padding:8px 0;max-height:140px;border-bottom:1px solid var(--rule)}
.dt-form textarea:focus{outline:none;border-bottom-color:var(--pen)}
.dt-form textarea::placeholder{color:var(--print-2)}
.dt-send{flex:none;width:44px;height:44px;background:var(--print);color:#fff;border:0;border-radius:2px;display:grid;place-items:center;cursor:pointer}
.dt-send:hover{background:var(--pen)}
.dt-send svg{width:18px;height:18px}
.dt-foot{margin:0;padding:0 18px 12px;font-size:.78rem;color:var(--print-2)}
.dt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:520px){
  .dt-launch{right:12px;bottom:12px;padding:12px 16px}
  .dt-panel{right:0;left:0;bottom:0;top:0;width:auto;height:auto;border:0}
  .dt-launch.dt-on{display:none}
}
.dt-log{position:relative}
