/* EXOLUN public identity. Keep original layout and interactive components intact. */
:root {
  --exulon-navy: #0e2548;
  --exulon-blue: #2388e5;
  --exulon-gold: #c88c3e;
}
.exulon-brand-wordmark {
  display: inline-block;
  max-width: 100%;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(23px, 2.35vw, 35px);
  font-weight: 850;
  letter-spacing: .045em;
  line-height: 1.2;
  color: var(--exulon-navy);
  white-space: nowrap;
  text-shadow: 0 1px 0 rgba(255,255,255,.85);
}
.exulon-brand-wordmark .exulon-x {
  color: var(--exulon-blue);
  text-shadow: 0 0 12px rgba(35,136,229,.18);
}
.exulon-brand-wordmark::after {
  content: "";
  display: block;
  height: 2px;
  margin-top: 3px;
  background: linear-gradient(90deg, var(--exulon-gold), var(--exulon-blue), transparent);
  border-radius: 2px;
}
@media (max-width: 600px) {
  .exulon-brand-wordmark { font-size: 25px; letter-spacing: .025em; }
}
@media (prefers-reduced-motion: reduce) {
  .exulon-brand-wordmark { transition: none; animation: none; }
}

/* Customer-facing identity on both guest and signed-in task composers.
   The internal PaiLot V1 naming, UI controls and motion remain unchanged. */
.pilot-focus .exulon-focus-brand {
  color: var(--exulon-navy) !important;
  font-size: clamp(18px, 2.6vw, 23px) !important;
  font-weight: 850 !important;
  letter-spacing: -.025em !important;
  word-spacing: 0 !important;
  font-kerning: normal;
  white-space: nowrap;
  text-transform: none;
  margin-top: 17px;
}
.pilot-focus .exulon-focus-brand .exulon-x {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: inherit !important;
  color: var(--exulon-blue) !important;
  text-shadow: 0 0 15px rgba(35,136,229,.18);
}
@media (max-width: 600px) {
  .pilot-focus .exulon-focus-brand { font-size: 20px !important; }
}

/* Answer assurance: one restrained product highlight beneath the single intake.
   The wording intentionally promises a method, not verified factual certainty. */
.exulon-quality-promise {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 36px minmax(0,1fr);
  align-items: start;
  gap: 12px;
  width: min(740px, 100%);
  margin: 18px auto 0;
  padding: 14px 16px;
  text-align: left;
  border: 1px solid rgba(35,136,229,.24);
  border-radius: 16px;
  background: linear-gradient(112deg,rgba(35,136,229,.055),rgba(255,255,255,.97) 42%,rgba(200,140,62,.04));
  box-shadow: 0 9px 25px rgba(14,37,72,.035);
  color: var(--exulon-navy);
}
.exulon-quality-mark {
  display: grid;
  place-items: center;
  height: 34px;
  width: 34px;
  border-radius: 11px;
  background: rgba(35,136,229,.10);
  color: var(--exulon-blue);
  font-size: 18px;
  line-height: 1;
}
.exulon-quality-copy { min-width: 0; }
.exulon-quality-copy strong {
  display: block;
  font-weight: 800;
  font-size: 14px;
  line-height: 1.35;
}
.exulon-quality-copy p {
  margin: 4px 0 5px;
  color: #405773;
  font-size: 12px;
  line-height: 1.55;
}
.exulon-quality-copy small {
  display: block;
  color: #626c7b;
  font-size: 11px;
  line-height: 1.55;
}
@media (max-width: 600px) {
  .exulon-quality-promise { margin-top: 13px; padding: 12px; gap: 9px; grid-template-columns: 30px minmax(0,1fr); border-radius: 13px; }
  .exulon-quality-mark { width: 29px; height: 29px; border-radius: 9px; font-size: 16px; }
  .exulon-quality-copy strong { font-size: 13px; }
  .exulon-quality-copy p { font-size: 11px; }
  .exulon-quality-copy small { font-size: 10px; }
}

/* EXOLUN 2026 identity: luminous midnight blue, pearl white and warm gold.
   Additive skin: preserve the single composer, permission gates and layouts. */
:root{
  --exulon-navy:#101d35;--exulon-blue:#4b8fce;--exulon-gold:#d79a42;
  --bg:#f7f9fd;--l:#e0e8f1;--t:#1b2940;--m:#66768d;
  --g:#5d9bd4;--g2:#4387c2;--o:#d79a42;--o2:#bb7c2a;
}
body{
  background:radial-gradient(circle at 77% 4%,rgba(93,155,212,.10),transparent 25rem),
    radial-gradient(circle at 10% 83%,rgba(215,154,66,.08),transparent 22rem),#f7f9fd!important;
}
.pilot-focus .exulon-focus-brand .exulon-x,
.exulon-brand-wordmark .exulon-x{
  color:#dc9b40!important;text-shadow:0 0 16px rgba(220,155,64,.22);
}
.exulon-brand-wordmark::after{
  background:linear-gradient(90deg,#db9e4e,#85bfff,transparent);
}
.pilot-focus .pilot-machine-core{
  border-color:rgba(127,166,205,.34)!important;
  background:linear-gradient(145deg,#fff,#eaf4ff 62%,#fdf2df)!important;
  box-shadow:0 0 0 13px rgba(255,255,255,.52),0 16px 55px rgba(32,73,120,.13),
    0 0 42px rgba(215,154,66,.10)!important;
}
.pilot-focus .pilot-machine-core>span{color:#d49a47!important}
.pilot-focus :is(#homeComposeTitle,#guestComposeTitle){
  color:#172741!important;
}
.pilot-focus .pilot-neon-keyword{
  color:#bb8037!important;-webkit-text-fill-color:#bb8037!important;
}
.pilot-focus .pilot-focus-composer{
  border-color:#d6e2ef!important;background:rgba(255,255,255,.98)!important;
  box-shadow:0 14px 49px rgba(26,66,112,.09),0 1px 5px rgba(30,68,112,.04)!important;
}
.pilot-focus .pilot-focus-composer:focus-within{
  border-color:#83b1da!important;
  box-shadow:0 14px 49px rgba(35,105,177,.13),0 0 0 3px rgba(93,155,212,.12)!important;
}
.pilot-focus .launch-primary,
.pilot-focus .btn.ai,
.auth .btn.primary{
  background:linear-gradient(130deg,#1a365b,#0e1b31)!important;
  border-color:#243c5a!important;color:#fff!important;
  box-shadow:0 8px 22px rgba(15,35,65,.13)!important;
}
.pilot-focus .launch-primary:focus-visible,
.pilot-focus .btn.ai:focus-visible,
.auth .btn.primary:focus-visible{outline:3px solid #b98135;outline-offset:3px}
.side .nav.active,.side .nav:hover{box-shadow:inset 3px 0 0 #d79a42!important}
.pilot-ai-chat-turn{border-color:#d8e4f0;color:#1b2d49}
.pilot-ai-chat-turn[data-speaker="user"]{background:#edf5ff;border-color:#cddded}
.pilot-ai-chat-turn small,.pilot-ai-chat-status{color:#3d6998}
.pilot-ai-chat-sources a{color:#205b98}
.pilot-ai-chat-head,.pilot-ai-chat-head button{color:#45617f}
.exulon-quality-promise{border-color:rgba(93,155,212,.25)}
.exulon-quality-mark{background:rgba(93,155,212,.12);color:#377bb9}

/* The assistant appears within the existing entry only on actual context.
   No overlay, no fixed-position floating button, no independent chat entry. */
.exulon-pailot-presence{
  display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:10px;
  width:min(700px,100%);margin:10px auto 0;padding:8px 13px 8px 9px;
  text-align:left;border:1px solid #d9e5f1;border-radius:17px;
  background:linear-gradient(112deg,rgba(230,241,255,.94),rgba(255,255,255,.97) 60%,rgba(250,236,209,.42));
  color:#142b47;box-shadow:0 8px 25px rgba(31,60,96,.065);
  pointer-events:none;
}
.exulon-pailot-presence[hidden]{display:none!important}
.exulon-pailot-presence img{
  display:block;width:58px;height:62px;object-fit:contain;
  filter:drop-shadow(0 3px 5px rgba(20,39,67,.12));
}
.exulon-pailot-copy{min-width:0}
.exulon-pailot-copy strong{display:block;font-size:12px;line-height:1.4;font-weight:800}
.exulon-pailot-copy p{font-size:11px;line-height:1.5;color:#526a84;margin:3px 0 0}
.exulon-pailot-presence[data-state="attention"]{
  border-color:#e4c18b;
  background:linear-gradient(110deg,#fff6e7,#fffefa 72%);
}
.exulon-pailot-presence[data-state="attention"] strong{color:#83521f}
.exulon-pailot-presence[data-state="error"]{border-color:#d9a4a4;background:#fff8f6}
.exulon-pailot-presence[data-state="working"] img,
.exulon-pailot-presence[data-state="task"] img{animation:exulonGuideBreathe 2.5s ease-in-out infinite}
@keyframes exulonGuideBreathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}

/* Reuse the proven flight/landing lifecycle; replace the old human worker
   with the new robot identity, without moving the attention target. */
#pilotFlightLayer .pilot-worker-figure>*{display:none!important}
#pilotFlightLayer .pilot-worker-figure{
  flex:0 0 55px;width:55px;height:92px;
  background:url("./pailot-v1-avatar.svg") no-repeat center bottom / contain;
}
#pilotFlightLayer .pilot-worker-speech{
  border-color:#dfc496!important;color:#1d3350!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 5px 18px rgba(18,44,77,.12)!important;
}
#pilotFlightLayer .pilot-worker-speech strong{color:#a26c27!important}
@media(max-width:600px){
  .exulon-pailot-presence{grid-template-columns:44px minmax(0,1fr);gap:8px;margin-top:9px;padding:6px 10px;border-radius:14px}
  .exulon-pailot-presence img{width:44px;height:50px}
  .exulon-pailot-copy strong{font-size:11px}
  .exulon-pailot-copy p{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .exulon-pailot-presence img{animation:none!important}
}
