:root{--acp-primary:#CC0000;--acp-primary-dk:#990000;--acp-radius:14px;--acp-shadow:0 8px 40px rgba(0,0,0,0.16);--acp-z:9999;}
#acp-root *{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}

/* ── Launcher ── */
#acp-launcher{position:fixed;bottom:24px;right:24px;height:52px;padding:0 18px 0 10px;border-radius:100px;background:var(--acp-primary);box-shadow:0 4px 20px rgba(204,0,0,0.35);border:none;cursor:pointer;outline:none;display:flex;align-items:center;gap:10px;z-index:var(--acp-z);min-width:170px;transition:transform .2s,background .2s;}
#acp-launcher:hover{background:var(--acp-primary-dk);transform:scale(1.04);}
#acp-launcher.acp-left{right:auto;left:24px;}
.acp-pill-avatar{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,0.22);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
.acp-pill-label{flex:1;color:#fff;font-size:13px;font-weight:600;text-align:center;white-space:nowrap;letter-spacing:.01em;}
.acp-pill-dot{width:11px;height:11px;border-radius:50%;background:#22c55e;flex-shrink:0;animation:tawPulse 1.8s infinite;}
@keyframes tawPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.7)}70%{box-shadow:0 0 0 9px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}

/* ── Window ── */
#acp-window{position:fixed;bottom:88px;right:24px;width:375px;height:600px;background:#fff;border-radius:var(--acp-radius);box-shadow:var(--acp-shadow);display:flex;flex-direction:column;z-index:var(--acp-z);overflow:hidden;transition:opacity .25s,transform .25s;}
#acp-window.acp-hidden{opacity:0;pointer-events:none;transform:translateY(16px) scale(.97);}
#acp-window.acp-left{right:auto;left:24px;}

/* ── Header ── */
#acp-header{background:var(--acp-primary);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
#acp-hdr-info{display:flex;align-items:center;gap:10px;}
.acp-avatar{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.22);display:flex;align-items:center;justify-content:center;font-size:17px;}
#acp-header h4{margin:0;color:#fff;font-size:14px;font-weight:600;}
#acp-header p{margin:0;color:rgba(255,255,255,0.75);font-size:11px;}
#acp-hdr-actions{display:flex;gap:4px;}
#acp-hdr-actions button{background:transparent;border:none;cursor:pointer;color:rgba(255,255,255,0.85);padding:4px 7px;font-size:17px;line-height:1;border-radius:4px;transition:background .15s;}
#acp-hdr-actions button:hover{background:rgba(255,255,255,0.15);}

/* ── Welcome ── */
#acp-welcome{flex:1;overflow-y:auto;padding:18px 14px;display:flex;flex-direction:column;gap:10px;background:#fff;}
.acp-welcome-title{font-size:15px;font-weight:600;color:#1a1a1a;margin-bottom:2px;}
.acp-welcome-sub{font-size:13px;color:#666;margin-bottom:6px;}
.acp-starter{display:flex;align-items:center;gap:10px;padding:12px 13px;border-radius:10px;cursor:pointer;border:1px solid #e0e0e0;background:#fff;text-align:left;width:100%;transition:border-color .15s,background .15s;}
.acp-starter:hover{border-color:var(--acp-primary);background:#fff8f8;}
.acp-starter-icon{width:34px;height:34px;border-radius:8px;background:#CC000012;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.acp-starter-text{flex:1;}
.acp-starter-text strong{display:block;font-size:13px;font-weight:600;color:#1a1a1a;line-height:1.2;}
.acp-starter-text small{display:block;font-size:11px;color:#888;margin-top:2px;}
.acp-starter-arrow{color:#ccc;font-size:18px;margin-left:auto;}

/* ── Chat ── */
#acp-chat{overflow:hidden;background:#0F0F0F;}
#acp-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:9px;background:#0F0F0F;}
#acp-messages::-webkit-scrollbar{width:3px;}
#acp-messages::-webkit-scrollbar-thumb{background:#333;border-radius:3px;}

/* ── Bubbles ── */
.acp-msg{display:flex;align-items:flex-end;gap:6px;animation:acpUp .2s ease;}
.acp-msg.acp-user{flex-direction:row-reverse;}
@keyframes acpUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.acp-bubble{max-width:80%;padding:9px 13px;border-radius:14px;font-size:13px;line-height:1.5;color:#D2D2D2;background:#222222;border:1px solid #333333;box-shadow:none;}
/* user bubble unchanged visually; border matches its own bg so both bubble
   types keep identical box sizing */
.acp-msg.acp-user .acp-bubble{background:var(--acp-primary);color:#fff;border-color:var(--acp-primary);box-shadow:none;}
.acp-msg-avatar{width:26px;height:26px;border-radius:50%;background:var(--acp-primary);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}

/* ── Typing ── */
#acp-typing .acp-bubble{padding:11px 15px;}
.acp-dot{width:6px;height:6px;border-radius:50%;background:#aaa;display:inline-block;margin:0 2px;animation:acpBounce 1.2s infinite;}
.acp-dot:nth-child(2){animation-delay:.2s;}.acp-dot:nth-child(3){animation-delay:.4s;}
@keyframes acpBounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}}

/* ── Offer card ── */
.acp-offer-card{background:#222222;border-radius:14px;padding:16px;color:#D2D2D2;max-width:80%;border:1px solid #333333;}
.acp-offer-label{font-size:11px;color:#8A8A8A;text-transform:uppercase;letter-spacing:.07em;}
.acp-offer-amount{font-size:38px;font-weight:800;line-height:1.1;margin:3px 0 2px;color:#FFFFFF;}
.acp-offer-note{font-size:11px;color:#8A8A8A;margin-bottom:10px;}
.acp-offer-timer{font-size:12px;color:#E8A33D;font-weight:600;margin-bottom:12px;}
.acp-offer-actions{display:flex;flex-direction:column;gap:7px;}
.acp-offer-link-btn{background:#2E2E2E;color:#D2D2D2;border:1px solid #3A3A3A;border-radius:7px;padding:9px;font-size:12px;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;display:block;transition:background .15s;}
.acp-offer-link-btn:hover{background:#383838;color:#fff;}
.acp-btn-inspect{background:#C8102E;color:#fff;border:none;border-radius:7px;padding:10px;font-size:13px;font-weight:700;cursor:pointer;text-align:center;transition:background .15s;}
.acp-btn-inspect:hover{background:#A50D26;color:#fff;}
.acp-btn-call{background:transparent;color:#D2D2D2;border:1px solid #3A3A3A;border-radius:7px;padding:9px;font-size:12px;font-weight:500;cursor:pointer;text-align:center;text-decoration:none;display:block;transition:background .15s;}
.acp-btn-call:hover{background:#2A2A2A;color:#fff;}
/* tall card: line the avatar up with the card's top edge (normal bubbles stay
   bottom-aligned). Ignored by browsers without :has() — harmless. */
.acp-msg:has(.acp-offer-card){align-items:flex-start;}

/* ── Input ── */
#acp-input-area{padding:10px 12px;border-top:1px solid #1E1E1E;display:flex;gap:8px;align-items:flex-end;background:#060606;flex-shrink:0;}
#acp-input{flex:1;border:1px solid #D2D2D2;border-radius:20px;padding:8px 14px;font-size:13px;outline:none;resize:none;max-height:100px;line-height:1.4;font-family:inherit;transition:border-color .2s;background:#141414;color:#D2D2D2;}
#acp-input:focus{border-color:#C8102E;}
#acp-input::placeholder{color:#8A8A8A;}
#acp-send{width:38px;height:38px;border-radius:50%;background:#C8102E;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,transform .15s;}
#acp-send:hover:not(:disabled){background:#A50D26;transform:scale(1.05);}
#acp-send svg{width:16px;height:16px;fill:#fff;}
#acp-send:disabled{background:#5D0917;cursor:not-allowed;transform:none;}
#acp-send:disabled svg{fill:#D2D2D2;}

/* ── Mobile ── */
@media(max-width:480px){
  #acp-window{width:100vw;height:100vh;bottom:0;right:0;border-radius:0;}
  #acp-window.acp-left{left:0;}
  #acp-launcher{bottom:16px;right:16px;}
}

/* ── Hero mode (homepage centerpiece via [taw_chat]) ── */
.taw-hero{width:100%;padding:56px 16px 64px;display:flex;justify-content:center;}
.taw-hero-inner{width:100%;max-width:780px;text-align:center;}
.taw-hero-title{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:clamp(28px,4.4vw,46px);line-height:1.08;font-weight:800;letter-spacing:-.02em;color:#141414;margin:0 0 12px;}
.taw-hero-sub{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:clamp(15px,1.8vw,18px);line-height:1.5;color:#5a5a5a;margin:0 auto 28px;max-width:560px;}
#taw-hero-mount{display:flex;justify-content:center;}

/* The shared chat panel, restyled as a large centered card while in the hero */
#acp-window.taw-hero-mode{position:static;inset:auto;width:100%;max-width:680px;height:min(74vh,660px);margin:0 auto;transform:none;opacity:1;border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,0.16);}
#acp-window.taw-hero-mode #acp-hdr-actions{display:none;}
#acp-window.taw-hero-mode #acp-header{padding:18px 20px;}
#acp-window.taw-hero-mode #acp-messages{padding:18px;}
#acp-window.taw-hero-mode .acp-bubble{font-size:14px;}

@media(max-width:480px){
  .taw-hero{padding:32px 12px 40px;}
  #acp-window.taw-hero-mode{max-width:100%;height:72vh;border-radius:14px;}
}
