/* ============================================================
   AWAKIN AI — ask/ bot interface, First Light reskin
   Loads AFTER assets/css/openbot.css and overrides it. The DOM
   and the engine (openbot2.js / openbot-threads.js) are untouched;
   this file only changes how they look. Iterate freely here.
   ============================================================ */
:root{
  --night:#1B2236; --night-deep:#141A2C; --dusk:#252E4A;
  --mist:#AEB7CC; --mist-bright:#E7EAF2; --mist-dim:#7D87A2;
  --paper:#F5F5F1; --paper-deep:#ECEDE7; --card:#FBFBF8; --haze:#DFE1DA;
  --ink:#272B3A; --ink-soft:#4E5468; --muted:#81879A;
  --dawn:#9C5847; --dawn-deep:#7F4638; --dawn-mid:#C07C6B; --dawn-pale:#EDBFA8; --sun:#F2D8A4;
  --line-l:rgba(39,43,58,.12); --line-d:rgba(174,183,204,.16);
  --display:'Fraunces',Georgia,serif; --body-f:'Hanken Grotesk',sans-serif; --mono:'Jost',sans-serif;
}

/* ---------- ground ---------- */
body.ask-body{
  font-family:var(--body-f) !important;
  font-weight:300; font-size:17px; line-height:1.7;
  color:var(--ink) !important;
  background:var(--paper) !important;
  padding-top:64px;
  -webkit-font-smoothing:antialiased;
}
.ask-body ::selection{background:rgba(156,88,71,.18)}
.ask-body .container{max-width:760px}

/* ---------- loading bar: the horizon, loading ---------- */
#loadingBar.ask-loading{
  position:fixed; top:0; left:0; height:2.5px; width:0; z-index:90;
  background:linear-gradient(90deg,var(--dawn-mid),var(--sun),var(--dawn-pale));
  box-shadow:0 0 10px rgba(242,216,164,.6);
  transition:width .4s ease, opacity .4s;
  opacity:0; border-radius:0 2px 2px 0;
}
#loadingBar.ask-loading.active{opacity:1; width:82%}

/* ---------- header: a sliver of night with the dawn seam ---------- */
.ask-top{
  position:fixed; top:0; left:0; right:0; z-index:60;
  background:linear-gradient(180deg,var(--night-deep),var(--night));
  color:var(--mist-bright);
}
.ask-top::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px;
  background:linear-gradient(90deg,transparent 0%,#8A6A6E 18%,#C08573 38%,var(--sun) 50%,#C08573 62%,#8A6A6E 82%,transparent 100%);
  opacity:.9;
}
.ask-top-in{max-width:1100px; margin:0 auto; padding:.6rem clamp(.9rem,3vw,1.6rem); display:flex; align-items:center; gap:.9rem}
.ask-home{display:flex; align-items:baseline; font-family:var(--display); font-size:1.05rem; font-weight:500; color:var(--mist-bright); opacity:.92; text-decoration:none}
.ask-home:hover{color:var(--mist-bright); opacity:1}
.ask-home .k{color:var(--dawn-pale)}
.ask-home .tld{font-size:.6em; opacity:.7}
.ask-sep{width:1px; height:1.2rem; background:var(--line-d); flex:none}
.ask-bot{display:flex; align-items:center; gap:.6rem; min-width:0}
.ask-bot-logo{width:30px; height:30px; border-radius:50%; object-fit:cover; flex:none; box-shadow:0 0 0 1.5px rgba(237,191,168,.55); background:var(--paper-deep)}
.ask-bot-tx{display:flex; flex-direction:column; min-width:0}
.ask-bot-name{font-family:var(--display); font-size:1rem; font-weight:480; line-height:1.1; color:var(--mist-bright); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.ask-bot-tag{font-family:var(--mono); font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; color:var(--mist-dim); line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:38ch}
.ask-actions{margin-left:auto; display:flex; align-items:center; gap:.4rem}
.ask-btn{font-family:var(--mono); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; color:var(--mist); text-decoration:none; padding:.42rem .8rem; border:1px solid var(--line-d); border-radius:100px; transition:.25s; white-space:nowrap}
.ask-btn:hover{color:var(--night-deep); background:var(--dawn-pale); border-color:var(--dawn-pale)}
.ask-btn.ghost{border-color:transparent}
.ask-btn i{font-size:.7rem; opacity:.8}

/* ---------- welcome: the companion greets ---------- */
.welcome-message.ask-hail{
  display:flex; flex-direction:column; align-items:center; text-align:center;
  padding:1.1rem 0 1.4rem !important; margin:0 0 .9rem !important;
  border:none !important; border-bottom:1px solid var(--line-l) !important;
  border-radius:0 !important; background:none !important; box-shadow:none !important;
}
.ask-hail-logo{width:52px; height:52px; border-radius:50%; object-fit:cover; margin-bottom:.7rem;
  box-shadow:0 0 0 2px rgba(237,191,168,.5), 0 0 24px 2px rgba(237,191,168,.32)}
.ask-hail-name{font-family:var(--display) !important; font-weight:400 !important; font-size:1.45rem !important; letter-spacing:-.01em; color:var(--ink); margin:0}
.ask-hail-tag{font-family:var(--display); font-style:italic; font-size:.97rem; color:var(--ink-soft) !important; max-width:46ch; margin:.3rem 0 0}
.ask-hail-intro{font-size:.9rem; line-height:1.65; color:var(--ink-soft); max-width:56ch; margin:.65rem 0 0}
.ask-hail-intro p{margin:0 0 .5rem}
.ask-hail-intro a{color:var(--dawn-deep); border-bottom:1px solid rgba(156,88,71,.3); text-decoration:none}

/* v1m: the host's introduction moved off the welcome and behind this
   quiet trigger — the greeting stays a greeting, the instructions wait */
.ask-hail-about{
  font-family:var(--mono); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); background:transparent; border:none; padding:.25rem .4rem;
  margin:.6rem 0 0; cursor:pointer; transition:color .25s;
}
.ask-hail-about i{font-size:.72rem; color:var(--dawn-mid); transition:color .25s}
.ask-hail-about:hover{color:var(--dawn-deep)}
.ask-hail-about:hover i{color:var(--dawn)}

/* ---------- starter questions ---------- */
.suggestion-card.ask-suggest{
  display:flex; align-items:center; gap:.8rem;
  background:var(--card) !important; border:1px solid var(--haze) !important; border-radius:12px !important;
  padding:.95rem 1.05rem !important; cursor:pointer; height:100%;
  transition:border-color .25s, transform .25s, box-shadow .25s; box-shadow:none !important;
}
.suggestion-card.ask-suggest:hover{border-color:var(--dawn-mid) !important; transform:none !important; box-shadow:0 4px 18px rgba(39,43,58,.06) !important}
.ask-suggest-node{flex:none; width:9px; height:9px; border-radius:50%;
  background:var(--dawn); box-shadow:0 0 0 4px rgba(156,88,71,.1); transition:.25s}
.suggestion-card.ask-suggest:hover .ask-suggest-node{background:var(--dawn-mid); box-shadow:0 0 0 4px rgba(237,191,168,.35)}
.ask-suggest-t{font-family:var(--display) !important; font-weight:440 !important; font-size:1.02rem !important; line-height:1.3; color:var(--ink); margin:0 0 .15rem}
.ask-suggest-d{font-size:.82rem !important; color:var(--muted) !important; line-height:1.5; margin:0}
.load-more-questions-btn{
  font-family:var(--mono) !important; font-size:.7rem !important; letter-spacing:.1em; text-transform:uppercase;
  color:var(--dawn-deep) !important; background:transparent !important; border:1px solid var(--haze) !important;
  border-radius:100px !important; padding:.5rem 1.2rem !important; box-shadow:none !important;
}
.load-more-questions-btn:hover{border-color:var(--dawn) !important; color:var(--dawn) !important; background:transparent !important}
.load-more-questions-btn .btn-shimmer{display:none}

/* ---------- the conversation ---------- */
.chat-area{padding-bottom:1rem}
.message-row{margin:0 0 1.9rem; gap:.85rem}
.message-avatar{width:34px !important; height:34px !important; border:none !important; box-shadow:none !important; background:transparent !important}
.bot-message .message-avatar img{width:30px; height:30px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 1.5px rgba(237,191,168,.6)}
.user-message .message-avatar{display:none !important}

/* labels above each message (text injected by askbot.js) */
.ask-msg-label{display:block; font-family:var(--mono); font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin:0 0 .45rem}
.bot-message .ask-msg-label{color:var(--dawn-deep)}

/* the user's question: something worth asking */
.user-message{justify-content:flex-start !important}
.user-message .message-bubble{
  background:transparent !important; border:none !important; box-shadow:none !important;
  padding:0 !important; max-width:100% !important; color:var(--ink) !important; border-radius:0 !important;
}
.user-message .message-content{
  font-family:var(--display); font-style:italic; font-weight:360;
  font-size:clamp(1.2rem, 2.6vw, 1.42rem); line-height:1.45; color:var(--ink); max-width:36ch;
}
.user-message .message-bubble::before,.bot-message .message-bubble::before{display:none !important}

/* the companion's answer: a reading surface, not a bubble */
.bot-message .message-bubble{
  background:transparent !important; border:none !important; box-shadow:none !important;
  padding:0 !important; max-width:100% !important; border-radius:0 !important;
}
.bot-message .message-content{font-size:1.01rem; color:var(--ink); max-width:64ch}
.bot-message .message-content p{margin-bottom:1rem}
.bot-message .message-content strong{font-weight:500}
.bot-message .message-content em{color:var(--dawn-deep)}
.bot-message .message-content a{color:var(--dawn-deep); text-decoration:none; border-bottom:1px solid rgba(156,88,71,.35)}
.bot-message .message-content a:hover{color:var(--dawn); border-color:var(--dawn)}
.bot-message .message-content blockquote{border-left:3px solid var(--dawn); background:var(--card); padding:.7rem 1rem; border-radius:0 8px 8px 0; font-family:var(--display); font-style:italic; color:var(--ink-soft)}
.bot-message .message-content ul,.bot-message .message-content ol{padding-left:1.2rem; margin-bottom:1rem}

/* thinking state */
.hybrid-loader{font-family:var(--mono) !important; font-size:.72rem !important; letter-spacing:.08em; color:var(--muted) !important}
.hybrid-loader .fa-spin,.typing-indicator{color:var(--dawn-pale) !important}

/* ---------- sources: where this comes from ---------- */
.sources-and-actions{margin-top:1rem}
.message-sources{display:flex; flex-wrap:wrap; gap:.5rem; padding-top:.7rem; position:relative}
.message-sources::before{
  content:"where this comes from"; display:block; width:100%;
  font-family:var(--mono); font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted);
  margin-bottom:.15rem;
}
.source-link{
  display:inline-flex; align-items:center; gap:.45rem;
  font-family:var(--mono) !important; font-size:.72rem !important; color:var(--ink-soft) !important;
  background:var(--card) !important; border:1px solid var(--haze) !important; border-radius:9px !important;
  padding:.42rem .75rem !important; transition:.25s; text-decoration:none !important; box-shadow:none !important;
}
.source-link:hover{border-color:var(--dawn-mid) !important; color:var(--dawn-deep) !important; background:#FDFCF9 !important}
.source-link i{color:var(--dawn-mid) !important; font-size:.66rem}

/* excerpt panels / source popups the engine renders */
.source-excerpt, .source-popup, .source-detail{
  background:var(--card) !important; border:1px solid var(--haze) !important; border-left:3px solid var(--dawn) !important;
  border-radius:10px !important; color:var(--ink-soft) !important;
}
.source-excerpt em{font-family:var(--display); font-style:italic}

/* message actions: quiet until wanted */
.message-actions{opacity:.4; transition:opacity .25s}
.message-row:hover .message-actions{opacity:1}
.action-btn{color:var(--muted) !important; background:transparent !important; border:none !important}
.action-btn:hover{color:var(--dawn-deep) !important}
.action-btn.voted, .action-btn.active{color:var(--dawn) !important}

/* follow-ups: wander further */
.follow-up-section, .follow-up-container{background:none !important; border:none !important; padding:0 !important}
.follow-up-title, .follow-up-container h3{
  font-family:var(--mono) !important; font-size:.6rem !important; letter-spacing:.18em; text-transform:uppercase;
  color:var(--muted) !important; font-weight:400 !important; margin-bottom:.55rem !important;
}
.follow-up-questions{display:flex; flex-wrap:wrap; gap:.5rem}
.follow-up-questions .follow-up-question, .follow-up-questions button, .follow-up-questions a{
  font-family:var(--mono) !important; font-size:.74rem !important; color:var(--ink-soft) !important;
  background:transparent !important; border:1px solid var(--haze) !important; border-radius:100px !important;
  padding:.4rem .95rem !important; transition:.25s; cursor:pointer; text-decoration:none !important;
}
.follow-up-questions .follow-up-question:hover, .follow-up-questions button:hover{border-color:var(--dawn-mid) !important; color:var(--dawn-deep) !important}

/* ---------- the ask bar: the horizon, docked ---------- */
footer.fixed-bottom{
  background:linear-gradient(180deg, rgba(245,245,241,0), var(--paper) 34%) !important;
  border-top:none !important; padding:2rem 0 .9rem !important; box-shadow:none !important;
}
.input-container{
  background:rgba(255,255,255,.72) !important; border:1px solid rgba(156,88,71,.22) !important;
  border-radius:12px !important; box-shadow:0 2px 14px rgba(39,43,58,.05) !important; padding:.5rem .9rem !important;
  display:flex; align-items:flex-end; gap:.7rem; position:relative; max-width:760px; margin:0 auto;
  transition:border-color .3s ease, box-shadow .3s ease, background .3s ease;
}
.input-container::after{
  content:""; position:absolute; left:12px; right:12px; bottom:5px; height:1.5px;
  background:linear-gradient(90deg,var(--dawn-mid),var(--sun)); border-radius:1px;
  transform:scaleX(0); transform-origin:left center; transition:transform .55s ease;
}
.input-container:focus-within{border-color:rgba(156,88,71,.45) !important; background:#fff !important; box-shadow:0 4px 20px rgba(39,43,58,.08), 0 0 0 3px rgba(156,88,71,.07) !important}
.input-container:focus-within::after{transform:scaleX(1)}
#messageInput{
  font-family:var(--body-f) !important; font-size:1.02rem !important; font-weight:300;
  color:var(--ink) !important; background:transparent !important;
}
#messageInput::placeholder{color:var(--muted) !important; font-style:italic}
.send-button{
  width:31px !important; height:31px !important; border-radius:8px !important; flex:none;
  background:transparent !important; border:1px solid var(--haze) !important; color:var(--dawn-deep) !important;
  box-shadow:none !important; transition:.25s;
}
.send-button:not(:disabled):hover, .input-container:focus-within .send-button:not(:disabled){border-color:var(--dawn) !important; color:var(--dawn) !important; background:transparent !important}
.send-button:disabled{opacity:.35; color:var(--muted) !important}
.disclaimer p{font-family:var(--mono); font-size:.64rem !important; letter-spacing:.03em; color:var(--muted) !important}
.register-nudge{color:var(--dawn-deep) !important; text-decoration:none; border-bottom:1px solid transparent}
.register-nudge:hover{border-color:var(--dawn-deep)}

/* ---------- permalink controls ---------- */
.permalink-controls .toggle-btn, .permalink-controls .copy-link-btn, .status-badge{
  font-family:var(--mono) !important; font-size:.66rem !important; letter-spacing:.08em; text-transform:uppercase;
  border-radius:100px !important; border:1px solid var(--haze) !important; background:var(--card) !important; color:var(--ink-soft) !important;
}
.permalink-controls .toggle-btn.active{border-color:var(--dawn) !important; color:var(--dawn-deep) !important; background:rgba(156,88,71,.07) !important}

/* ---------- threads drawer: dusk panel ---------- */
.threads-drawer{background:var(--dusk) !important; color:var(--mist-bright) !important; border-left:1px solid var(--line-d) !important}
.threads-drawer-title{font-family:var(--display) !important; font-weight:420 !important; color:var(--mist-bright) !important}
.threads-drawer-header{border-bottom:1px solid var(--line-d) !important; background:transparent !important}
.threads-drawer-close{color:var(--mist) !important; background:transparent !important; border:none !important}
.threads-search-section{background:transparent !important; border-bottom:1px solid var(--line-d) !important}
.threads-search-input{background:rgba(17,23,38,.5) !important; border:1px solid var(--line-d) !important; color:var(--mist-bright) !important; border-radius:9px !important; font-family:var(--body-f) !important}
.threads-search-input::placeholder{color:var(--mist-dim) !important}
.threads-drawer .thread-item{background:transparent !important; border-bottom:1px solid var(--line-d) !important; color:var(--mist) !important; transition:background .25s}
.threads-drawer .thread-item:hover, .threads-drawer .thread-item.active{background:rgba(237,191,168,.08) !important}
.threads-drawer .thread-item .thread-title, .threads-drawer .thread-item h6{color:var(--mist-bright) !important; font-family:var(--body-f) !important; font-weight:400 !important}
.threads-drawer .thread-item .thread-date, .threads-drawer .thread-item small{color:var(--mist-dim) !important; font-family:var(--mono) !important; font-size:.64rem !important}
.threads-overlay{background:rgba(17,23,38,.45) !important}

/* ---------- alerts the engine emits ---------- */
.ask-body .alert{border-radius:10px !important; font-family:var(--body-f) !important; box-shadow:none !important}
.ask-body .alert-warning{background:#FBF4E4 !important; border:1px solid #EAD9AE !important; color:#6B5A33 !important}
.ask-body .alert-danger{background:#FAF0EE !important; border:1px solid rgba(156,88,71,.35) !important; color:var(--dawn-deep) !important}
.rate-limit-message{font-size:.92rem !important}

/* ---------- modals ---------- */
.ask-body .modal-content{border-radius:14px !important; border:1px solid var(--haze) !important; background:var(--card) !important}
.ask-body .modal-title{font-family:var(--display) !important; font-weight:450 !important}
.ask-body .btn-danger{background:var(--dawn) !important; border-color:var(--dawn) !important; font-family:var(--mono) !important; font-size:.72rem !important; letter-spacing:.08em; text-transform:uppercase; border-radius:100px !important}
.ask-body .btn-danger:hover{background:var(--dawn-deep) !important; border-color:var(--dawn-deep) !important}
.ask-body .btn-secondary{background:transparent !important; color:var(--ink-soft) !important; border:1px solid var(--haze) !important; font-family:var(--mono) !important; font-size:.72rem !important; letter-spacing:.08em; text-transform:uppercase; border-radius:100px !important}

/* ---------- small screens ---------- */
@media (max-width: 640px){
  .ask-bot-tag{display:none}
  .ask-btn-t{display:none}
  .ask-btn{padding:.42rem .6rem}
  body.ask-body{padding-top:56px}
  .user-message .message-content{font-size:1.15rem}
}

/* ============================================================
   v1b additions (from first pilot screenshots)
   ============================================================ */

/* (a) never show the "where this comes from" label over an empty container */
.message-sources:not(:has(.source-link)){display:none}

/* (c) visibility pills, header edition */
.ask-vis{display:flex; align-items:center; gap:.3rem; margin-right:.2rem}
.ask-vis .toggle-btn, .ask-vis .status-badge{
  font-family:var(--mono) !important; font-size:.6rem !important; letter-spacing:.1em; text-transform:uppercase;
  color:var(--mist-dim) !important; background:transparent !important;
  border:1px solid transparent !important; border-radius:100px !important; padding:.36rem .62rem !important;
  display:inline-flex; align-items:center; cursor:pointer; transition:.25s; box-shadow:none !important;
}
.ask-vis .toggle-btn i, .ask-vis .status-badge i{font-size:.62rem; opacity:.85}
.ask-vis .toggle-btn:hover{color:var(--mist-bright) !important}
.ask-vis .toggle-btn.active, .ask-vis .status-badge{
  color:var(--dawn-pale) !important; border-color:rgba(237,191,168,.45) !important; background:rgba(237,191,168,.08) !important;
}
.ask-vis .ask-copylink{
  width:26px; height:26px; border-radius:50% !important; display:grid; place-items:center;
  color:var(--mist) !important; background:transparent !important; border:1px solid var(--line-d) !important;
  font-size:.6rem !important; cursor:pointer; transition:.25s; padding:0 !important;
}
.ask-vis .ask-copylink:hover{color:var(--night-deep) !important; background:var(--dawn-pale) !important; border-color:var(--dawn-pale) !important}

/* (d) user menu */
.ask-user{position:relative; display:flex; align-items:center}
.ask-avatar{
  width:30px; height:30px; border-radius:50%; padding:0; overflow:hidden; cursor:pointer;
  background:var(--dusk); border:1px solid var(--line-d); color:var(--mist); display:grid; place-items:center;
  font-size:.72rem; transition:border-color .25s;
}
.ask-avatar img{width:100%; height:100%; object-fit:cover; display:block}
.ask-avatar:hover, .ask-avatar[aria-expanded="true"]{border-color:var(--dawn-pale)}
.ask-user-menu{
  position:absolute; top:calc(100% + 12px); right:0; min-width:172px; display:none; flex-direction:column;
  padding:.4rem; border-radius:10px; background:rgba(17,23,38,.97); border:1px solid var(--line-d);
  box-shadow:0 16px 40px rgba(0,0,0,.45); z-index:80;
}
.ask-user-menu.open{display:flex}
.ask-user-menu a{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.04em; color:var(--mist);
  padding:.5rem .65rem; border-radius:6px; text-decoration:none; transition:.2s;
}
.ask-user-menu a:hover{color:var(--mist-bright); background:rgba(237,191,168,.1)}
.ask-um-div{height:1px; background:var(--line-d); margin:.3rem .4rem}
.ask-um-out{color:var(--dawn-pale) !important}

@media (max-width:640px){
  .ask-vis .toggle-btn{padding:.36rem .5rem !important}
}

/* ============================================================
   v1c additions (second pilot screenshot)
   ============================================================ */

/* the visibility pill group inherited a light card background from
   openbot.css — strip the container so the pills sit on the night bar */
.ask-vis.visibility-toggle, .ask-vis.visibility-indicator{
  background:transparent !important; border:none !important; box-shadow:none !important;
  padding:0 !important; border-radius:0 !important;
}
/* readability on dark: inactive pills brighter, active unmistakable */
.ask-vis .toggle-btn{color:var(--mist) !important; opacity:.75}
.ask-vis .toggle-btn:hover{opacity:1}
.ask-vis .toggle-btn.active{opacity:1; color:var(--night-deep) !important; background:var(--dawn-pale) !important; border-color:var(--dawn-pale) !important}

/* header breathing room */
.ask-top-in{gap:.75rem}
.ask-bot-name{max-width:26ch}

/* the thinking indicator ("Searching… Gathering insights…") carried
   left padding from openbot.css — align it with the answer text */
.hybrid-loader, .typing-indicator, .bot-message .message-content .hybrid-loader{
  padding:0 !important; margin:0 !important; text-align:left !important;
}
.hybrid-loader *{margin-left:0 !important; padding-left:0 !important}

/* copy / vote actions: quiet, right-aligned on the sources row */
.sources-and-actions{display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:flex-end; gap:.6rem 1rem}
.message-sources{flex:1 1 100%}
.message-actions{display:flex; gap:.1rem; margin-left:auto}

/* v1d: bot identity is a link home */
a.ask-bot{text-decoration:none; border-radius:8px; padding:.15rem .3rem; margin:-.15rem -.3rem; transition:background .25s}
a.ask-bot:hover{background:rgba(237,191,168,.08)}
a.ask-bot:hover .ask-bot-name{color:var(--dawn-pale)}

/* ============================================================
   v1e: the thinking indicator, properly First Light
   ============================================================ */
/* the phantom indent: the engine emits an fa-sparkles icon before the
   thinking text — a Font Awesome PRO glyph, which renders on the free CDN
   as an invisible box that still takes width, plus the 8px flex gap.
   Drop the icon; the text sits flush with the answer column. */
.thinking-status{gap:0 !important; color:var(--muted) !important; font-family:var(--mono) !important;
  font-size:.72rem !important; letter-spacing:.14em; text-transform:uppercase; font-weight:400 !important}
.thinking-status i{display:none !important}

/* skeleton shimmer in morning tones instead of gray */
.skeleton-line{
  background:linear-gradient(90deg, var(--paper-deep) 25%, #F1EBE2 50%, var(--paper-deep) 75%) !important;
  background-size:200% 100% !important; height:11px !important;
}

/* avatar pulse: dawn glow instead of the classic blue */
.ask-body .message-avatar.thinking-pulse img{animation-name:askAvatarPulse !important}
@keyframes askAvatarPulse{
  0%,100%{transform:scale(1); box-shadow:0 0 0 0 rgba(237,191,168,.5)}
  50%{transform:scale(1.05); box-shadow:0 0 0 7px rgba(237,191,168,0)}
}

/* v1f: admin gear */
.ask-btn.ask-admin{padding:.42rem .55rem}
.ask-btn.ask-admin i{font-size:.72rem; opacity:.85}


/* v1i: reclaim the vertical the suggestions block was reserving */
.suggestions{min-height:0 !important; padding-top:6px !important; margin-bottom:1.2rem !important}

/* v1j: the adopted live-share controls sit flush in the header */
.ask-actions .permalink-controls{
  position:static !important; background:transparent !important; border:none !important;
  box-shadow:none !important; padding:0 !important; margin:0 !important;
  display:flex; align-items:center; border-radius:0 !important;
}

/* v1k/v1m: the intro no longer sits inline, so the hail is always compact —
   no hairline needed when there's no prose to seat above the question cards.
   (Kept as a :has() guard in case a bot ever renders inline intro again.) */
.welcome-message.ask-hail:not(:has(.ask-hail-intro)){
  border-bottom:none !important; padding-bottom:.4rem !important; margin-bottom:.4rem !important;
}

/* ============================================================
   v1l — the source modal: a passage from a text, not a data dump
   (all scoped to #sourcePopupModal; engine markup untouched)
   ============================================================ */
#sourcePopupModal .modal-content{
  background:var(--card) !important; border:1px solid var(--haze) !important;
  border-radius:16px !important; box-shadow:0 24px 70px rgba(17,23,38,.28) !important;
  position:relative; overflow:hidden;
}
/* the horizon, carried in: a dawn hairline across the top of the modal */
#sourcePopupModal .modal-content::before{
  content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,#C08573 30%,var(--sun) 50%,#C08573 70%,transparent);
}
#sourcePopupModal + .modal-backdrop, .modal-backdrop.show{background:#141A2C; opacity:.55 !important}

/* title: ink, book face; the engine's quote icon goes quiet */
#sourcePopupModal .modal-title{
  color:var(--ink) !important; font-family:var(--display) !important;
  font-weight:450 !important; font-size:1.18rem !important; letter-spacing:-.005em;
}
#sourcePopupModal .modal-title i{display:none}
#sourcePopupModal .modal-header{padding:1.35rem 1.5rem .4rem !important}
#sourcePopupModal .btn-close{opacity:.45}
#sourcePopupModal .btn-close:hover{opacity:.8}

/* source-info: the h6 repeats the modal title — collapse to origin only */
#sourcePopupModal .source-info{
  background:transparent !important; padding:0 !important; margin:0 0 1rem !important; border-radius:0 !important;
}
#sourcePopupModal .source-info h6{display:none}
#sourcePopupModal .source-info small{
  font-family:var(--mono) !important; font-size:.66rem !important; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted) !important;
}
#sourcePopupModal .source-info small i{color:var(--dawn-mid); margin-right:.3rem}

/* "Referenced excerpt:" label, quiet small caps */
#sourcePopupModal .excerpt-content > p.text-muted{
  font-family:var(--mono) !important; font-size:.62rem !important; letter-spacing:.18em;
  text-transform:uppercase; color:var(--muted) !important; margin-bottom:1.15rem !important;
}
#sourcePopupModal .excerpt-content > p.text-muted i{display:none}

/* THE PASSAGE — no border, no callout box, no monospace: a quotation */
#sourcePopupModal .excerpt-content blockquote{
  border:none !important; background:transparent !important;
  padding:0 .25rem 0 2.1rem !important; margin:0 !important; position:relative;
  max-height:46vh; overflow-y:auto; overscroll-behavior:contain;
}
#sourcePopupModal .excerpt-content blockquote::before{
  content:"\201C"; position:absolute; left:-.15rem; top:-.55rem;
  font-family:var(--display); font-size:3.4rem; line-height:1; color:var(--dawn-pale);
}
#sourcePopupModal .excerpt-content blockquote p{
  font-family:var(--body-f) !important; font-size:.98rem !important; font-weight:300;
  line-height:1.78 !important; color:var(--ink-soft) !important;
}
#sourcePopupModal .modal-body{padding:0 1.5rem .5rem !important}

/* footer: quiet provenance line, dawn pill action */
#sourcePopupModal .modal-footer{padding:.9rem 1.5rem 1.25rem !important}
#sourcePopupModal .modal-footer small{
  font-family:var(--mono) !important; font-size:.62rem !important; letter-spacing:.03em; color:var(--muted) !important;
}
#sourcePopupModal .modal-footer small i{color:var(--dawn-mid)}
#sourcePopupModal .btn-primary, #sourcePopupModal .btn-outline-primary{
  background:var(--dawn) !important; border:1px solid var(--dawn) !important; color:#FDFCF9 !important;
  border-radius:100px !important; font-family:var(--mono) !important; font-size:.68rem !important;
  letter-spacing:.1em; text-transform:uppercase; padding:.5rem 1.1rem !important; box-shadow:none !important;
}
#sourcePopupModal .btn-primary:hover, #sourcePopupModal .btn-outline-primary:hover{
  background:var(--dawn-deep) !important; border-color:var(--dawn-deep) !important;
}
/* video variant: embed excerpt panel in morning tones */
#sourcePopupModal .modal-body .bg-light:not(.source-info){background:var(--paper-deep) !important; border-radius:10px !important}
#sourcePopupModal .modal-body .bg-light p{font-family:var(--body-f) !important; color:var(--ink-soft) !important}

/* ============================================================
   v1m — the about modal: the host's own introduction, kept whole
   (sibling of the source modal; same dawn-hairline language)
   ============================================================ */
#aboutBotModal .modal-content{
  background:var(--card) !important; border:1px solid var(--haze) !important;
  border-radius:16px !important; box-shadow:0 24px 70px rgba(17,23,38,.28) !important;
  position:relative; overflow:hidden;
}
#aboutBotModal .modal-content::before{
  content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,#C08573 30%,var(--sun) 50%,#C08573 70%,transparent);
}
#aboutBotModal .modal-title{
  color:var(--ink) !important; font-family:var(--display) !important;
  font-weight:450 !important; font-size:1.18rem !important; letter-spacing:-.005em;
}
#aboutBotModal .modal-header{padding:1.35rem 1.5rem .4rem !important}
#aboutBotModal .btn-close{opacity:.45}
#aboutBotModal .btn-close:hover{opacity:.8}
#aboutBotModal .modal-body{padding:0 1.5rem 1.35rem !important}
#aboutBotModal .about-kicker{
  font-family:var(--mono); font-size:.62rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--muted); margin:0 0 1rem;
}
#aboutBotModal .about-intro-body{
  font-family:var(--body-f); font-size:.94rem; font-weight:300;
  line-height:1.75; color:var(--ink-soft);
}
#aboutBotModal .about-intro-body p{margin:0 0 .8rem}
#aboutBotModal .about-intro-body ul{padding-left:1.2rem; margin:0 0 .8rem}
#aboutBotModal .about-intro-body li{margin-bottom:.35rem}
#aboutBotModal .about-intro-body strong{font-weight:500; color:var(--ink)}
#aboutBotModal .about-intro-body a{color:var(--dawn-deep); border-bottom:1px solid rgba(156,88,71,.3); text-decoration:none}
#aboutBotModal .about-intro-body a:hover{color:var(--dawn)}
