/* ============================================================
   IslandBuiltAI — Maya chat widget (2026)
   Dark conversational UI. Class names must match maya-chat.js.
   Included on EVERY page.
   ============================================================ */
.chat-launcher{
  position:fixed;z-index:1000;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));
  width:68px;height:68px;display:block;border-radius:50%;padding:7px;cursor:pointer;
  background:radial-gradient(circle at 30% 25%,#0a2a40,#011724 70%);
  border:2px solid var(--teal);box-shadow:0 12px 34px rgba(0,0,0,.55),0 0 0 0 rgba(0,219,226,.5);
  -webkit-tap-highlight-color:transparent;overflow:visible;transition:transform .18s var(--ease);
  animation:chat-ring 2.6s ease-out 3; /* ping 3x on load, then rest — no infinite nag */
}
.chat-launcher:hover{transform:scale(1.07)}
.chat-launcher img{width:100%;height:100%;display:block;object-fit:contain;border-radius:50%}
.chat-launcher::after{content:"";position:absolute;right:4px;bottom:4px;width:15px;height:15px;border-radius:50%;
  background:#35d07f;border:3px solid #011724}
@keyframes chat-ring{
  0%{box-shadow:0 12px 34px rgba(0,0,0,.55),0 0 0 0 rgba(0,219,226,.45)}
  70%{box-shadow:0 12px 34px rgba(0,0,0,.55),0 0 0 16px rgba(0,219,226,0)}
  100%{box-shadow:0 12px 34px rgba(0,0,0,.55),0 0 0 0 rgba(0,219,226,0)}
}
.chat-panel{
  position:fixed;z-index:999;right:max(20px,env(safe-area-inset-right));bottom:102px;
  width:min(410px,calc(100vw - 32px));height:min(640px,calc(100dvh - 130px));
  display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  background:rgba(4,24,38,.96);color:var(--bone);
  border:1px solid rgba(0,219,226,.3);border-radius:22px;overflow:hidden;
  box-shadow:0 30px 90px rgba(0,0,0,.65);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.chat-panel[hidden]{display:none}
.chat-head{display:flex;align-items:center;gap:12px;padding:16px 18px;
  background:linear-gradient(120deg,rgba(0,219,226,.14),transparent 60%);
  border-bottom:1px solid rgba(0,219,226,.16)}
.chat-head img{width:38px;height:38px;object-fit:contain}
.chat-head-copy{display:flex;flex-direction:column;line-height:1.3}
.chat-head-copy strong{color:var(--cream);font-size:1rem;letter-spacing:.01em}
.chat-head-copy span{color:var(--grey);font-size:.8rem}
.chat-close{margin-left:auto;background:rgba(0,219,226,.08);border:1px solid rgba(0,219,226,.25);color:var(--bone);
  width:36px;height:36px;border-radius:50%;font-size:1.3rem;line-height:1;cursor:pointer;transition:background .15s}
.chat-close:hover{background:rgba(0,219,226,.2)}
.chat-log{padding:20px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin}
.chat-message{max-width:86%;padding:12px 16px;border-radius:16px;font-size:.94rem;line-height:1.55;
  animation:msg-in .25s var(--ease)}
@keyframes msg-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.chat-message.bot{background:rgba(0,219,226,.09);border:1px solid rgba(0,219,226,.18);color:var(--bone);
  border-bottom-left-radius:6px;align-self:flex-start}
.chat-message.user{background:var(--teal);color:#011724;font-weight:500;border-bottom-right-radius:6px;align-self:flex-end}
.chat-options{display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start;max-width:100%}
.chat-option{background:rgba(0,219,226,.07);border:1px solid rgba(0,219,226,.35);color:var(--bone);
  font:inherit;font-size:.86rem;font-weight:600;padding:10px 16px;border-radius:999px;cursor:pointer;transition:all .15s}
.chat-option:hover{background:rgba(0,219,226,.18);border-color:var(--teal)}
.chat-option.wide{flex:1 1 100%;text-align:center}
.chat-option.primary{background:var(--teal);border-color:var(--teal);color:#011724;font-weight:700}
.chat-option.primary:hover{box-shadow:0 6px 20px rgba(0,219,226,.4)}
.chat-typing{align-self:flex-start;display:flex;gap:6px;padding:14px 18px;background:rgba(0,219,226,.09);
  border:1px solid rgba(0,219,226,.18);border-radius:16px;border-bottom-left-radius:6px}
.chat-typing span{width:8px;height:8px;border-radius:50%;background:var(--teal);animation:tp 1.2s infinite}
.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}
@keyframes tp{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-4px)}}
.chat-summary{background:rgba(0,219,226,.06);border:1px solid rgba(0,219,226,.25);border-radius:14px;
  padding:16px;display:grid;gap:10px;align-self:stretch}
.chat-summary-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.9rem;color:var(--grey)}
.chat-summary-row strong{color:var(--bone)}
.chat-edit{background:none;border:1px solid rgba(0,219,226,.4);color:var(--teal);font:inherit;font-size:.78rem;
  font-weight:700;padding:6px 12px;border-radius:999px;cursor:pointer}
.chat-edit:hover{background:rgba(0,219,226,.15)}
.chat-disclosure{font-size:.82rem;color:var(--grey);border-top:1px dashed rgba(157,180,182,.3);padding-top:10px}
.chat-disclosure strong{color:var(--bone);display:block;margin-bottom:4px}
.chat-send-status{font-size:.82rem;color:var(--grey);align-self:center;text-align:center}
.chat-form{display:flex;gap:10px;padding:14px;border-top:1px solid rgba(0,219,226,.16);background:rgba(0,11,19,.6)}
.chat-input{flex:1;font:inherit;font-size:.94rem;color:var(--bone);background:rgba(0,11,19,.7);
  border:1px solid rgba(157,180,182,.3);border-radius:14px;padding:12px 14px;resize:none;max-height:110px}
.chat-input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,219,226,.15)}
.chat-input::placeholder{color:var(--grey-dim)}
.chat-send{background:var(--teal);color:#011724;border:0;border-radius:14px;font:inherit;font-weight:700;
  padding:0 22px;cursor:pointer;transition:transform .15s}
.chat-send:hover{transform:translateY(-1px)}
.chat-input-hint{font-size:.78rem;color:var(--grey-dim);padding:8px 18px 0;text-align:right}
@media (prefers-reduced-motion:reduce){
  .chat-launcher{animation:none}
  .chat-message{animation:none}
  .chat-typing span{animation:none;opacity:.7}
}
@media print{.chat-launcher,.chat-panel{display:none!important}}
