/* celeb-chat.css — AiChat UI copied VERBATIM from public-tools/tools.css (nt-aichat block).
   Reused 1:1 for /charts celebrity AiChat so look + behaviour match the tools chat. */
.nt-lede{ color:rgba(255,255,255,.62); font-size:1.05rem; text-align:center; max-width:56ch;
  margin:0 auto 2em; line-height:1.6; }
.nt-h2{ font-family:var(--font-serif,'Cormorant Garamond',serif); font-weight:600;
  color:rgba(255,255,255,.88); font-size:1.5rem; margin:1.6em 0 .5em; }
.nt-card{ background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07);
  border-radius:14px; padding:22px; margin:0 0 18px; }
.nt-row{ margin:0 0 15px; }
.nt-grid{ display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.nt-row label{ display:block; font-size:.72rem; font-weight:600; letter-spacing:.06em;
  text-transform:uppercase; color:rgba(255,255,255,.5); margin:0 0 6px; }
.nt-card input, .nt-card textarea, .nt-card select{ box-sizing:border-box; max-width:100%; }
.nt-aichat{
  --an-gold:#d4af37; --an-bg-deep:#090a0f; --an-bg-glow:#1b2735;
  --an-text-body:rgba(255,255,255,.85); --an-text-soft:rgba(255,255,255,.65);
  --an-text-muted:rgba(255,255,255,.42); --an-font-display:var(--font-display,'Cormorant Garamond',serif);
  padding:0; overflow:hidden; display:flex; flex-direction:column;
}
.nt-aichat .an-chat-messages{ flex:none; min-height:300px; max-height:560px; overflow-y:auto;
  overscroll-behavior:contain; display:flex; flex-direction:column; gap:10px; padding:16px 14px 20px;
  scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.08) transparent; }
.nt-aichat .an-chat-messages::-webkit-scrollbar{ width:4px; }
.nt-aichat .an-chat-messages::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.1); border-radius:4px; }
.nt-aichat .an-chat-welcome{ display:flex; flex-direction:column; align-items:center; text-align:center; padding:30px 18px 24px; gap:10px; }
.nt-aichat .an-chat-welcome__icon{ font-size:1.8rem; color:var(--an-gold); opacity:.7; margin-bottom:4px; }
.nt-aichat .an-chat-welcome__title{ color:rgba(255,255,255,.9); font-family:var(--an-font-display); font-size:1.3rem; font-weight:600; }
.nt-aichat .an-chat-welcome__text{ color:rgba(255,255,255,.45); font-size:.88rem; line-height:1.6; max-width:380px; }
.nt-aichat .an-chat-starters{ display:flex; flex-wrap:wrap; justify-content:center; gap:9px; margin-top:20px; max-width:440px; }
.nt-aichat .an-chat-starter{ display:inline-flex; align-items:center; gap:7px; padding:9px 15px; border-radius:999px;
  border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.04); color:rgba(255,255,255,.82);
  font-size:.84rem; font-family:inherit; cursor:pointer; transition:background .18s, border-color .18s, transform .12s; }
.nt-aichat .an-chat-starter:hover{ background:rgba(255,255,255,.09); border-color:rgba(212,175,120,.5); transform:translateY(-1px); }
.nt-aichat .an-chat-starter:disabled{ opacity:.4; cursor:default; transform:none; }
.nt-aichat .an-chat-suggest-label{ margin-top:24px; margin-bottom:10px; font-size:.74rem; letter-spacing:.04em; text-transform:uppercase; color:rgba(255,255,255,.3); }
.nt-aichat .an-chat-suggests{ display:flex; flex-direction:column; gap:8px; width:100%; max-width:420px; }
.nt-aichat .an-chat-suggest{ border-radius:12px; border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.02);
  color:rgba(255,255,255,.6); font-size:.85rem; text-align:left; justify-content:flex-start; padding:11px 14px; line-height:1.35; }
.nt-aichat .an-chat-suggest::before{ content:"›"; margin-right:9px; color:rgba(212,175,120,.7); font-weight:700; }
.nt-aichat .an-chat-suggest:hover{ color:rgba(255,255,255,.92); background:rgba(255,255,255,.06); border-color:rgba(212,175,120,.35); }
.nt-aichat .an-chat-msg{ max-width:min(92%,680px); padding:12px 16px; border-radius:20px; line-height:1.7; font-size:.95rem; word-break:break-word; overflow-wrap:anywhere; white-space:pre-wrap; }
.nt-aichat .an-chat-msg strong{ color:#fff; font-weight:600; }
.nt-aichat .an-chat-msg--ai{ align-self:flex-start; background:transparent; border:none; color:rgba(255,255,255,.88); padding-left:4px; border-radius:0; }
.nt-aichat .an-chat-msg--user{ align-self:flex-end; background:rgba(255,255,255,.06); border:none; color:rgba(255,255,255,.95); border-radius:20px; border-bottom-right-radius:6px; }
.nt-aichat .an-chat-thinking{ color:rgba(255,255,255,.4)!important; font-style:italic; }
.nt-aichat .an-chat-msg.an-chat-typing::after,
.nt-aichat .an-chat-followup.an-chat-typing::after{ content:'▋'; color:var(--an-gold); margin-left:1px; animation:nt-blink 1s steps(2) infinite; }
@keyframes nt-blink{ 50%{ opacity:0; } }
/* the AI's trailing follow-up question, set apart from the answer for easy reading */
.nt-aichat .an-chat-followup{ align-self:flex-start; max-width:min(92%,680px); margin:4px 0 6px; padding:11px 15px;
  border-left:2px solid var(--an-gold); border-radius:0 12px 12px 0; background:rgba(244,215,122,.07);
  color:#f6e9c4; font-size:.97rem; line-height:1.55; white-space:pre-wrap; }
.nt-aichat .an-chat-quickreplies{ display:flex; gap:8px; flex-wrap:wrap; align-self:flex-start; margin:4px 0 8px; padding-left:4px; }
.nt-aichat .an-qr-chip{ padding:9px 18px; border-radius:18px; background:rgba(255,255,255,.05); border:1px solid rgba(212,175,120,.30);
  color:rgba(255,255,255,.9); font-size:.9rem; font-weight:500; cursor:pointer; font-family:inherit; transition:background .15s, border-color .15s, transform .1s; }
.nt-aichat .an-qr-chip:hover{ background:rgba(212,175,120,.18); border-color:rgba(212,175,120,.55); }
.nt-aichat .an-qr-chip:active{ transform:translateY(1px); }
.nt-aichat .an-qr-other{ color:rgba(255,255,255,.7); border-style:dashed; }
.nt-aichat .an-qr-sugg{ background:rgba(255,255,255,.04); }
.nt-aichat .an-chat-input-area{ flex-shrink:0; padding:10px 14px 14px; background:linear-gradient(to bottom,rgba(15,17,26,0),rgba(15,17,26,.6)); }
.nt-aichat .an-chat-quota{ margin:0 auto 9px; padding:0 2px; display:flex; align-items:center; gap:9px; font-size:.8rem; letter-spacing:.4px; color:var(--an-text-muted); }
.nt-aichat .an-chat-quota__dot{ width:6px; height:6px; border-radius:50%; flex-shrink:0; background:currentColor; }
.nt-aichat .an-chat-quota__text{ flex:1 1 auto; min-width:0; line-height:1.35; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nt-aichat .an-chat-quota__text strong{ font-weight:600; color:var(--an-text-body); }
.nt-aichat .an-chat-quota__cta{ flex-shrink:0; text-decoration:none; font-size:.66rem; letter-spacing:1.4px; text-transform:uppercase;
  color:var(--an-text-soft); border-bottom:1px solid rgba(255,255,255,.18); padding-bottom:1px; transition:color .25s, border-color .25s, background .25s; }
.nt-aichat .an-chat-quota__cta:hover{ color:#fff; border-color:rgba(255,255,255,.55); }
.nt-aichat .an-chat-quota.is-calm .an-chat-quota__dot{ background:var(--an-gold); opacity:.45; }
.nt-aichat .an-chat-quota.is-out{ color:#e56a4f; }
.nt-aichat .an-chat-quota.is-out .an-chat-quota__cta{ color:#1a1206; background:linear-gradient(180deg,#f4c272,var(--an-gold));
  border:none; padding:5px 14px; border-radius:2px; font-weight:700; box-shadow:0 0 16px rgba(212,175,55,.28); }
.nt-aichat .an-chat-quota.is-out .an-chat-quota__cta:hover{ color:#000; filter:brightness(1.08); }
.nt-aichat .an-chat-input-row{ display:flex; align-items:stretch; gap:12px; padding:14px;
  background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.05); margin:0 auto; transition:border-color .3s, box-shadow .3s; }
.nt-aichat .an-chat-input-row:focus-within{ border-color:var(--an-gold); box-shadow:0 0 15px rgba(212,175,55,.2); }
.nt-aichat .an-chat-input{ flex:1; background:rgba(0,0,0,.3); border:1px solid rgba(255,255,255,.1); color:#fff;
  font-size:.9rem; line-height:1.5; padding:14px 18px; outline:none; resize:none; font-family:var(--font-body,inherit);
  letter-spacing:1px; max-height:140px; min-height:52px; box-sizing:border-box; transition:.3s; }
.nt-aichat .an-chat-input:focus{ border-color:var(--an-gold); box-shadow:0 0 15px rgba(212,175,55,.2); }
.nt-aichat .an-chat-input::placeholder{ color:rgba(255,255,255,.28); letter-spacing:1px; text-transform:uppercase; font-size:.8rem; }
.nt-aichat .an-chat-input:disabled{ opacity:.55; }
.nt-aichat .an-chat-send{ background:transparent; border:1px solid var(--an-gold); color:var(--an-gold); width:55px; min-height:52px;
  display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0; transition:background .3s, color .3s, opacity .15s; }
.nt-aichat .an-chat-send:disabled{ opacity:.4; cursor:default; }
.nt-aichat .an-chat-send:not(:disabled):hover{ background:var(--an-gold); color:#000; }
.nt-aichat.is-locked .an-chat-input,
.nt-aichat.is-locked .an-chat-send,
.nt-aichat.is-locked .an-chat-starter{ opacity:.45; }
.nt-aichat.is-locked .an-chat-input{ cursor:pointer; }
.nt-chat-hint{ display:none; margin:0 auto 9px; padding:8px 12px; border-radius:8px; text-align:center;
  font-size:.82rem; color:#f6e9c4; background:rgba(244,215,122,.1); border:1px solid rgba(244,215,122,.28); }
.nt-chat-hint.show{ display:block; }

/* FAQ — mirrors /pricing */
.pp-faq{ width:100%; max-width:680px; margin:56px auto 0; }
.pp-faq-title{ font-family:var(--font-serif,'Cormorant Garamond',serif); font-size:1.6rem;
@keyframes nt-blink{ 50%{ opacity:0; } }
/* the AI's trailing follow-up question, set apart from the answer for easy reading */
.nt-aichat .an-chat-followup{ align-self:flex-start; max-width:min(92%,680px); margin:4px 0 6px; padding:11px 15px;
  border-left:2px solid var(--an-gold); border-radius:0 12px 12px 0; background:rgba(244,215,122,.07);
