/* ============================================================================
   ROOM 101 · BETTY — HEALTH PLAN INTELLIGENCE GUIDE SKIN (2026-10-11, v2)
   · violet + white surface for contrast against the dark room
   · deep violet identity band with a live voice core (the Room 101 mark)
   · credentials as text, never clickable prompts; no suggested questions
   · voice is the primary control; typing is the quiet alternative
   · a full-width processing wave whenever she is working, so no one is lost
   · THE HALO: a light that orbits the outside edge of her box. It drifts
     while she stands by, brightens while she listens, races while she works,
     and pulses while she speaks.
   Loaded after betty.css and kickoff.css. Only .betty-* and .rail-ask rules.
   ========================================================================== */

@property --bk-angle{syntax:'<angle>';inherits:false;initial-value:0deg}

:root{
  --bk-white:#FFFFFF;
  --bk-surface:#FBF9FF;
  --bk-surface-2:#EFE9FD;
  --bk-ink:#150D26;
  --bk-ink-2:#33284D;
  --bk-dim:#5F5680;
  --bk-line:rgba(91,33,182,.14);
  --bk-violet:#6D28D9;
  --bk-violet-deep:#4C1D95;
  --bk-violet-ink:#2E1065;
  --bk-lilac:#C4B5FD;
  --bk-glow:rgba(139,92,246,.55);
}

/* ---------- THE HALO: frame around the box ---------- */
.betty-frame{
  position:relative;border-radius:19px;padding:3px;
  background:
    conic-gradient(from var(--bk-angle),
      rgba(167,139,250,.38) 0deg,
      rgba(167,139,250,.38) 230deg,
      #8B5CF6 280deg,
      #DDD6FE 315deg,
      #FFFFFF 330deg,
      #C4B5FD 342deg,
      rgba(167,139,250,.38) 360deg);
  animation:bk-orbit 9s linear infinite;
  box-shadow:0 0 0 1px rgba(139,92,246,.18),0 0 42px -10px var(--bk-glow),0 30px 70px -30px rgba(0,0,0,.85);
  transition:box-shadow .4s ease;
  display:flex;flex-direction:column;min-height:0;
}
/* a soft bloom that follows the comet */
.betty-frame::before{
  content:"";position:absolute;inset:-6px;border-radius:24px;z-index:-1;pointer-events:none;
  background:conic-gradient(from var(--bk-angle),transparent 0deg,transparent 270deg,rgba(167,139,250,.75) 318deg,rgba(255,255,255,.55) 330deg,transparent 360deg);
  filter:blur(16px);opacity:.95;
  animation:inherit;
}
@keyframes bk-orbit{to{--bk-angle:360deg}}
.betty-frame:has(.betty-console[data-state="listening"]){animation-duration:3.2s;box-shadow:0 0 0 1px rgba(196,181,253,.55),0 0 60px -6px var(--bk-glow),0 30px 70px -30px rgba(0,0,0,.85)}
.betty-frame:has(.betty-console[data-state="thinking"]){animation-duration:1.4s;box-shadow:0 0 0 1px rgba(196,181,253,.6),0 0 70px -4px var(--bk-glow),0 30px 70px -30px rgba(0,0,0,.85)}
.betty-frame:has(.betty-console[data-state="speaking"]){animation-duration:4s;box-shadow:0 0 0 1px rgba(196,181,253,.5),0 0 54px -6px var(--bk-glow),0 30px 70px -30px rgba(0,0,0,.85)}

/* ---------- the panel ---------- */
.betty-console{
  border:0!important;border-radius:16px;
  background:linear-gradient(180deg,var(--bk-white) 0%,var(--bk-surface) 40%,var(--bk-surface-2) 100%);
  color:var(--bk-ink-2);
  box-shadow:none!important;
  overflow:hidden;
}
.betty-console::before,.betty-console::after{display:none}
.betty-main{padding:0 0 16px}
.betty-main > :not(.betty-head){margin-left:clamp(18px,1.7vw,24px);margin-right:clamp(18px,1.7vw,24px)}

/* ---------- identity band ---------- */
.betty-head{
  display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;
  column-gap:14px;row-gap:3px;align-items:center;
  padding:16px clamp(18px,1.7vw,24px);
  background:
    radial-gradient(120% 140% at 0% 0%,rgba(167,139,250,.45) 0%,rgba(167,139,250,0) 55%),
    linear-gradient(135deg,var(--bk-violet-deep) 0%,var(--bk-violet) 100%);
  border-bottom:1px solid rgba(46,16,101,.35);
}
.betty-core{
  grid-row:1 / span 2;
  width:50px;height:50px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;gap:3px;
  background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.28),rgba(46,16,101,.55) 72%);
  border:1px solid rgba(255,255,255,.45);
  box-shadow:0 0 20px -6px rgba(255,255,255,.6),inset 0 0 10px rgba(255,255,255,.12);
  position:relative;
}
.betty-core i{
  display:block;width:3px;border-radius:2px;background:#FFFFFF;
  animation:bk-breathe 3.2s ease-in-out infinite;
}
.betty-core i:nth-child(1){height:9px;animation-delay:-.2s}
.betty-core i:nth-child(2){height:16px;animation-delay:-.5s}
.betty-core i:nth-child(3){height:22px;animation-delay:-.8s}
.betty-core i:nth-child(4){height:16px;animation-delay:-1.1s}
.betty-core i:nth-child(5){height:9px;animation-delay:-1.4s}
@keyframes bk-breathe{0%,100%{opacity:.6;transform:scaleY(.82)}50%{opacity:1;transform:scaleY(1)}}
@keyframes bk-bounce{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1.2)}}
.betty-console[data-state="speaking"] .betty-core i,
.betty-console[data-state="listening"] .betty-core i,
.betty-console[data-state="thinking"] .betty-core i{animation:bk-bounce .7s ease-in-out infinite;opacity:1}
.betty-console[data-state="thinking"] .betty-core i:nth-child(1){animation-delay:0s}
.betty-console[data-state="thinking"] .betty-core i:nth-child(2){animation-delay:.1s}
.betty-console[data-state="thinking"] .betty-core i:nth-child(3){animation-delay:.2s}
.betty-console[data-state="thinking"] .betty-core i:nth-child(4){animation-delay:.3s}
.betty-console[data-state="thinking"] .betty-core i:nth-child(5){animation-delay:.4s}
.betty-console[data-state="speaking"] .betty-core i:nth-child(2){animation-duration:.5s}
.betty-console[data-state="speaking"] .betty-core i:nth-child(4){animation-duration:.56s}
.betty-console[data-state="listening"] .betty-core{box-shadow:0 0 0 5px rgba(255,255,255,.18),0 0 28px -2px rgba(255,255,255,.7)}
.betty-name{
  grid-column:2;grid-row:1;
  font-family:var(--font-display);font-weight:600;
  font-size:30px;line-height:1;letter-spacing:-.02em;color:#FFFFFF;
  align-self:end;margin:0;
}
.betty-role{
  font-family:var(--font-mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:#E4DBFF;align-self:start;margin:0;
  grid-column:2 / -1;grid-row:2;white-space:nowrap;
}
.betty-status{
  grid-column:3;grid-row:1;justify-self:end;align-self:center;margin:0;
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:#FFFFFF;
  padding:5px 9px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(46,16,101,.35);
  white-space:nowrap;
}
.betty-status i{background:#FFFFFF!important;box-shadow:0 0 8px rgba(255,255,255,.8)}
.betty-console[data-state] .betty-status{color:#FFFFFF!important;font-size:9px!important;font-weight:600!important}

/* ---------- credentials ---------- */
.betty-cred{margin-top:16px!important;display:grid;gap:7px}
.betty-cred > div{display:grid;grid-template-columns:78px 1fr;gap:10px;align-items:baseline}
.betty-cred dt{
  font-family:var(--font-mono);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--bk-violet);font-weight:600;
}
.betty-cred dd{margin:0;font-size:12.5px;line-height:1.45;color:var(--bk-ink-2)}

/* ---------- lead + standby ---------- */
.betty-lead{
  margin-top:14px;padding-top:14px;border-top:1px solid var(--bk-line);
  font-size:14px;line-height:1.5;color:var(--bk-ink-2);border-bottom:0!important;padding-bottom:0;
}
.betty-lead b{display:block;font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--bk-ink);margin-bottom:3px}
.betty-standby{margin-top:8px;font-size:12.5px;line-height:1.5;color:var(--bk-dim)}

/* ---------- no suggested questions, anywhere ---------- */
.betty-chips,.betty-chip{display:none!important}

/* ---------- PROCESSING WAVE: impossible to miss ---------- */
.betty-wave{display:none;margin-top:16px;padding:14px 14px 12px;border-radius:12px;
  background:linear-gradient(135deg,var(--bk-violet-deep),var(--bk-violet));
  box-shadow:0 12px 26px -16px rgba(76,29,149,.9);}
.betty-console[data-state="thinking"] .betty-wave{display:block;animation:bk-wave-in .25s ease-out}
@keyframes bk-wave-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.betty-wave-bars{display:flex;align-items:center;justify-content:space-between;height:38px;gap:2px}
.betty-wave-bars i{
  flex:1 1 0;max-width:5px;height:100%;border-radius:3px;background:#FFFFFF;
  transform:scaleY(.15);transform-origin:50% 50%;
  animation:bk-wave 1.25s ease-in-out infinite;
  animation-delay:calc(var(--i) * -0.06s);
}
@keyframes bk-wave{0%,100%{transform:scaleY(.15);opacity:.45}50%{transform:scaleY(1);opacity:1}}
.betty-wave-label{
  margin-top:9px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#F1EBFF;
}
.betty-wave-label::after{content:"";display:inline-block;width:1.2em;text-align:left;animation:bk-dots 1.2s steps(4) infinite}
@keyframes bk-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}

/* ---------- voice first ---------- */
.betty-ask{margin-top:16px;display:flex;flex-direction:column;gap:10px;align-items:stretch;flex-wrap:nowrap}
.betty-btn.betty-mic{
  display:flex;align-items:center;justify-content:flex-start;gap:14px;width:100%;min-height:64px;height:auto;
  padding:10px 16px 10px 10px;border-radius:999px;text-align:left;cursor:pointer;
  background:linear-gradient(135deg,var(--bk-violet-deep),var(--bk-violet));
  border:1px solid var(--bk-violet-deep);color:#FFFFFF;
  font-family:var(--font-body);letter-spacing:0;text-transform:none;
  box-shadow:0 14px 28px -16px rgba(76,29,149,.95);
  transition:box-shadow .2s ease,transform .2s ease,filter .2s ease;
}
.betty-btn.betty-mic:hover{filter:brightness(1.08);box-shadow:0 16px 32px -14px rgba(76,29,149,1)}
.betty-btn.betty-mic:active{transform:scale(.99)}
.betty-btn.betty-mic:focus-visible{outline:2px solid var(--bk-violet);outline-offset:3px}
.betty-btn.betty-mic[hidden]{display:none}
.betty-mic-dot{
  flex:none;width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#FFFFFF;color:var(--bk-violet);
}
.betty-mic-dot svg{width:18px;height:18px}
.betty-mic-label{display:flex;flex-direction:column;gap:2px;min-width:0}
.betty-mic-label b{font-family:var(--font-display);font-weight:600;font-size:15.5px;letter-spacing:-.005em;color:#FFFFFF}
.betty-mic-label small{font-size:11.5px;color:#E4DBFF}
.betty-btn.betty-mic[aria-pressed="true"] .betty-mic-dot{animation:bk-pulse 1.2s ease-out infinite}
.betty-btn.betty-mic::after{display:none!important}
@keyframes bk-pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.75)}100%{box-shadow:0 0 0 14px rgba(255,255,255,0)}}
.betty-btn.betty-mic:disabled{opacity:.55;cursor:default}

.betty-type{display:flex;align-items:center;gap:8px;border:1px solid rgba(91,33,182,.28);border-radius:999px;padding:4px 4px 4px 16px;background:#FFFFFF;transition:border-color .2s ease,box-shadow .2s ease}
.betty-type:focus-within{border-color:var(--bk-violet);box-shadow:0 0 0 3px rgba(109,40,217,.14)}
.betty-field{
  flex:1 1 auto;min-width:0;height:40px;border:0!important;border-radius:0;
  background:transparent!important;color:var(--bk-ink);font-size:14px;padding:0;
  box-shadow:none!important;outline:none;
}
.betty-field::placeholder{color:#7D74A0}
.betty-btn.betty-send{
  flex:none;height:36px;min-height:36px;padding:0 16px;border-radius:999px;
  background:var(--bk-violet);border:1px solid var(--bk-violet);color:#FFFFFF;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
}
.betty-btn.betty-send:hover{background:var(--bk-violet-deep);border-color:var(--bk-violet-deep)}
.betty-btn.betty-send:focus-visible{outline:2px solid var(--bk-violet);outline-offset:2px}

/* ---------- the answer: a briefing, not a bubble ---------- */
.betty-answer{
  margin-top:16px;padding:14px 14px 12px 16px;border-radius:12px;
  background:#FFFFFF;border:1px solid var(--bk-line);border-left:3px solid var(--bk-violet);
  box-shadow:0 10px 24px -18px rgba(46,16,101,.5);
}
.betty-answer::before{
  content:"Betty\2019s read";display:block;margin-bottom:9px;
  font-family:var(--font-mono);font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--bk-violet);font-weight:600;
}
.betty-answer li{color:var(--bk-ink);font-size:14.5px;line-height:1.58}
.betty-answer li::before{background:var(--bk-violet)}
.betty-followup{color:var(--bk-violet-deep)}
.betty-cta{color:var(--bk-dim)}
.betty-cta a,.betty-source a{color:var(--bk-violet);border-bottom-color:rgba(109,40,217,.35)}

/* ---------- foot ---------- */
.betty-foot{border-top-color:var(--bk-line)}
.betty-hear{color:var(--bk-ink-2)}
.betty-hear .sw{background:#FFFFFF;border-color:rgba(91,33,182,.45)}
.betty-hear input:checked + .sw{background:rgba(109,40,217,.16);border-color:var(--bk-violet)}
.betty-hear input:checked + .sw::after{background:var(--bk-violet)}

/* ---------- case trail ---------- */
.betty-trail{border-top-color:var(--bk-line);margin:0 clamp(18px,1.7vw,24px)}

/* ---------- docked mode: the frame carries the height ---------- */
@media (min-width:1180px){
  .betty-frame{max-height:100%}
  .betty-console{max-height:100%;overflow-y:auto}
}

/* ---------- phones ---------- */
@media (max-width:620px){
  .betty-name{font-size:27px}
  .betty-role{font-size:8.5px;letter-spacing:.14em}
  .betty-cred > div{grid-template-columns:66px 1fr}
  .betty-field{flex:1 1 auto}
  .betty-btn.betty-send{flex:none}
  .betty-btn.betty-mic{flex:none}
}

@media (prefers-reduced-motion:reduce){
  .betty-frame,.betty-frame::before,.betty-core i,.betty-btn.betty-mic[aria-pressed="true"] .betty-mic-dot{animation:none!important}
  .betty-wave-bars i{animation:none!important;transform:scaleY(.6)}
}

/* ---------- free-question meter + last-question warning (2026-10-12) ---------- */
.betty-free{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:10px;font-size:12.5px;line-height:1.45;color:var(--bk-violet-deep);font-weight:600}
.betty-allowance{
  font-style:normal;font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  color:var(--bk-violet);background:rgba(109,40,217,.08);border:1px solid rgba(109,40,217,.25);border-radius:999px;padding:3px 9px;white-space:nowrap;
}
.betty-allowance[data-left="1"]{color:#FFFFFF;background:var(--bk-violet);border-color:var(--bk-violet)}
.betty-allowance[data-left="0"]{color:#FFFFFF;background:var(--bk-violet-deep);border-color:var(--bk-violet-deep)}
.betty-cta.betty-cta-warn{
  margin-top:12px;padding:10px 12px;border-radius:10px;
  background:rgba(109,40,217,.08);border:1px solid rgba(109,40,217,.28);
  color:var(--bk-violet-deep);font-weight:600;font-size:13.5px;line-height:1.45;
}
.betty-door{border:1px solid rgba(109,40,217,.3);background:#FFFFFF;box-shadow:0 12px 28px -18px rgba(46,16,101,.55)}
.betty-door-head{color:var(--bk-ink)}
.betty-door-sub{color:var(--bk-ink-2)}
.betty-door-act.is-primary{background:var(--bk-violet);border-color:var(--bk-violet);color:#FFFFFF}
.betty-door-act.is-secondary{color:var(--bk-violet-deep)}

/* ---------- Betty reads the scoreboard: in-box upload (2026-10-12) ---------- */
.betty-door-privacy{display:none;margin-top:8px;font-size:11.5px;line-height:1.45;color:var(--bk-dim)}
.betty-door:not([hidden]) + .betty-door-privacy{display:block}
.betty-score{margin-top:16px}
.betty-score .bs-card,.betty-score .bs-result{
  padding:16px;border-radius:12px;background:#FFFFFF;
  border:1px solid rgba(109,40,217,.28);border-left:3px solid var(--bk-violet);
  box-shadow:0 12px 26px -18px rgba(46,16,101,.55);
}
.betty-score .bs-card.is-over,#dropzone.is-over{outline:2px dashed var(--bk-violet);outline-offset:3px}
.betty-score .bs-working{display:block;margin-top:0}
.betty-score .bs-working[hidden]{display:none}
.betty-console.is-scoring .betty-core i{animation:bk-bounce .7s ease-in-out infinite;opacity:1}
.betty-frame:has(.betty-console.is-scoring){animation-duration:1.4s;box-shadow:0 0 0 1px rgba(196,181,253,.6),0 0 70px -4px var(--bk-glow),0 30px 70px -30px rgba(0,0,0,.85)}
.bs-eyebrow{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--bk-violet);font-weight:600;margin:0 0 10px}
.bs-line{font-size:14px;line-height:1.55;color:var(--bk-ink-2);margin:0}
.bs-line strong{color:var(--bk-ink)}
.bs-meta{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--bk-dim)}
.bs-meta a{color:var(--bk-violet);font-weight:600}
.bs-privacy{margin:10px 0 0;font-size:11.5px;line-height:1.45;color:var(--bk-dim)}
.bs-details{display:grid;gap:5px;margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid var(--bk-line)}
.bs-details > div{display:grid;grid-template-columns:118px 1fr;gap:10px;align-items:baseline}
.bs-details dt{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--bk-dim)}
.bs-details dd{margin:0;font-size:13px;color:var(--bk-ink);font-weight:600;overflow-wrap:anywhere}
.bs-number{display:flex;flex-direction:column;gap:4px;margin:2px 0 4px}
.bs-num{font-family:var(--font-display);font-weight:700;font-size:clamp(34px,3.4vw,44px);line-height:1;letter-spacing:-.02em;color:var(--bk-violet-deep)}
.bs-num-label{font-size:13px;line-height:1.45;color:var(--bk-ink-2)}
.bs-read{margin-top:12px;padding:12px;border-radius:10px;background:rgba(109,40,217,.06);border:1px solid rgba(109,40,217,.18)}
.bs-read p{margin:0;font-size:13.5px;line-height:1.55;color:var(--bk-ink)}
.bs-read p + p{margin-top:8px}
.bs-k{font-family:var(--font-mono);font-size:8.5px!important;letter-spacing:.22em;text-transform:uppercase;color:var(--bk-violet)!important;font-weight:600;margin-bottom:6px!important}
.bs-actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.bs-actions[hidden]{display:none}
.bs-btn{
  min-height:44px;padding:0 18px;border-radius:999px;cursor:pointer;
  font-family:var(--font-display);font-weight:600;font-size:14.5px;
  background:#FFFFFF;color:var(--bk-violet-deep);border:1px solid rgba(109,40,217,.45);
}
.bs-btn.is-primary{background:linear-gradient(135deg,var(--bk-violet-deep),var(--bk-violet));color:#FFFFFF;border-color:var(--bk-violet-deep);box-shadow:0 12px 24px -14px rgba(76,29,149,.95);width:100%}
.bs-btn:hover{filter:brightness(1.06)}
.bs-btn:disabled{opacity:.6;cursor:default}
.bs-btn:focus-visible{outline:2px solid var(--bk-violet);outline-offset:3px}
.bs-activate{margin-top:14px;padding-top:14px;border-top:1px solid var(--bk-line)}
.bs-activate[hidden],.bs-wire[hidden]{display:none}
.bs-activate p{margin:0;font-size:13.5px;line-height:1.55;color:var(--bk-ink-2)}
.bs-step{font-family:var(--font-mono);font-size:9px!important;letter-spacing:.18em;text-transform:uppercase;color:var(--bk-violet)!important;font-weight:600;margin-bottom:6px!important}
.bs-wire{margin-top:14px}
.bs-wire-dl{margin-top:6px}
.bs-status{margin-top:4px!important;font-weight:600;color:var(--bk-violet-deep)!important}
@media (max-width:620px){
  .bs-details > div{grid-template-columns:96px 1fr}
}

/* ---------- Truth Room: ONE Invitation and decision (2026-10-12) ---------- */
.bs-invite{margin-top:14px}
.bs-invite[hidden]{display:none}
.bs-invite-card .bs-read{margin:12px 0}
.bs-ask-yn{margin-top:12px!important}
.bs-actions .bs-btn.is-primary + .bs-btn{flex:0 0 auto}
#bettyYN .bs-btn.is-primary{width:auto;flex:1 1 auto}
.bs-field{display:grid;gap:4px;margin:8px 0 0}
.bs-field span{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--bk-dim)}
.bs-field input{min-height:44px;padding:0 12px;border-radius:10px;border:1px solid rgba(109,40,217,.35);background:#FFFFFF;color:var(--bk-ink);font-size:15px}
.bs-field input:focus-visible{outline:2px solid var(--bk-violet);outline-offset:2px}
.bs-status.is-error{color:#9F1239!important}
.bs-status[hidden]{display:none}
.bs-ask-yn[hidden]{display:none}
.bs-contact{margin-top:14px;padding-top:12px;border-top:1px solid rgba(109,40,217,.18)}
