/* EMS Boost AI Speak - modern look, matching the IELTS Studio and the new dashboard.
   Loaded after ai-speak.css; only restyles, never changes how AI Speak works. */
#speakMain > .gx-aiart{ display:none !important; }
.ais{ max-width:1136px; padding:18px 18px 40px; }
.ais h2,.ais .ais-step,.ais-bar-title,.ais-mode b{ font-family:'Sora','Manrope',sans-serif !important; letter-spacing:-.01em; }

/* hero */
.ais-hero{ position:relative; overflow:hidden; align-items:center !important; padding:28px 30px; border-radius:28px; color:#fff; margin-bottom:16px !important;
  background:radial-gradient(520px 260px at 92% -20%,rgba(79,141,253,.7),transparent 70%),radial-gradient(380px 220px at -5% 120%,rgba(139,92,246,.5),transparent 70%),linear-gradient(135deg,#060b22,#10216a);
  box-shadow:0 20px 44px rgba(15,33,106,.25); }
.ais-hero:before{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:34px 34px; pointer-events:none; mask-image:linear-gradient(90deg,transparent,#000 60%); }
.ais-hero:after{ content:""; position:absolute; right:-60px; bottom:-90px; width:260px; height:260px; border-radius:50%; background:radial-gradient(circle at 35% 30%,rgba(191,224,255,.55),rgba(79,141,253,.35) 45%,rgba(91,61,245,.2) 75%,transparent 76%); pointer-events:none; }
.ais-hero > *{ position:relative; z-index:1; }
.ais-eyebrow{ display:inline-flex; align-items:center; gap:6px; color:#ffd36b !important; letter-spacing:.06em !important; font-size:12px !important; }
.ais-hero h2{ color:#fff !important; font-size:32px !important; margin:10px 0 6px !important; }
.ais-hero p{ color:#c3d0f2 !important; font-size:15px !important; max-width:540px; }
.ais-pill{ background:rgba(255,255,255,.1) !important; border-color:rgba(255,255,255,.2) !important; color:#fff !important; }
.ais-avatar{ background:linear-gradient(135deg,#ffd24a,#ff8a1f) !important; color:#2b1d00 !important; }
.ais-views{ background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.16) !important; border-radius:14px !important; padding:4px !important; }
.ais-views button{ color:#c3d0f2 !important; background:none !important; border-radius:10px !important; font-weight:700 !important; }
.ais-views button.on{ background:#fff !important; color:#0b1b33 !important; box-shadow:0 4px 12px rgba(0,0,0,.18) !important; }

/* meter */
.ais-meter{ background:#fff; border:1px solid #e3eaf9; border-radius:18px; padding:14px 18px; box-shadow:0 8px 26px rgba(15,40,90,.05); margin-bottom:14px !important; }
.ais-meter-bar{ height:8px !important; border-radius:8px !important; background:#eef2fb !important; overflow:hidden; }
.ais-meter-bar i{ background:linear-gradient(90deg,#2f5bff,#5b3df5) !important; border-radius:8px; }
.ais-buy{ border-radius:12px !important; }

/* cards */
#speakMain .section-card{ border:1px solid #e3eaf9 !important; border-radius:24px !important; padding:24px 26px !important; box-shadow:0 10px 30px rgba(15,40,90,.06) !important; }
.ais-step{ font-size:16px !important; display:flex; align-items:center; gap:10px; }
.ais-level, .ais-mode, .ais-chip{ border-radius:18px !important; border:1.5px solid #e3eaf9 !important; transition:transform .15s, box-shadow .15s, border-color .15s, background .15s !important; }
.ais-level:hover, .ais-mode:hover, .ais-chip:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(15,40,90,.1); border-color:#c9d6fb !important; }
.ais-level.on, .ais-mode.on, .ais-chip.on{ background:linear-gradient(140deg,#eef2ff,#f6f3ff) !important; border-color:#5b6cff !important; box-shadow:0 12px 26px rgba(47,91,255,.16) !important; }
.ais-level{ padding:14px 16px !important; }
.ais-mode{ min-height:150px !important; padding:18px !important; }
.ais-mode svg{ width:44px !important; height:44px !important; padding:11px; border-radius:14px; color:#fff !important; background:linear-gradient(135deg,#2f5bff,#5b3df5); box-shadow:0 8px 18px rgba(47,91,255,.3); }
.ais-mode:nth-child(2) svg{ background:linear-gradient(135deg,#0f9d77,#2dd4a7); box-shadow:0 8px 18px rgba(18,184,134,.3); }
.ais-mode:nth-child(3) svg{ background:linear-gradient(135deg,#e8590c,#ff9f43); box-shadow:0 8px 18px rgba(232,89,12,.3); }
.ais-mode:nth-child(4) svg{ background:linear-gradient(135deg,#5b3df5,#9b7bff); box-shadow:0 8px 18px rgba(91,61,245,.3); }
.ais-daily{ border-radius:20px !important; background:linear-gradient(135deg,#0a1238,#1d3fbf) !important; border:0 !important; color:#fff; }
.ais-daily .ais-day{ color:#ffd36b !important; } .ais-daily .ais-topic{ color:#fff !important; } .ais-daily p{ color:#c3d0f2 !important; }
#speakMain .btn-primary{ background:linear-gradient(135deg,#2f5bff,#5b3df5) !important; border:0 !important; border-radius:14px !important; box-shadow:0 10px 22px rgba(47,91,255,.28) !important; font-weight:800 !important; }
#speakMain .btn-ghost{ border-radius:12px !important; }
.ais-start{ padding:15px !important; font-size:16px !important; }

/* session */
.ais-bar{ border-radius:20px !important; background:linear-gradient(135deg,#0a1238,#1d3fbf) !important; border:0 !important; color:#fff; padding:14px 18px !important; }
.ais-bar-title{ color:#fff !important; } .ais-bar-sub{ color:#c3d0f2 !important; }
.ais-bar .btn-ghost{ background:rgba(255,255,255,.12) !important; color:#fff !important; border:1px solid rgba(255,255,255,.22) !important; }
.ais-msg.me .ais-bubble{ background:linear-gradient(135deg,#2f5bff,#5b3df5) !important; }
.ais-msg.ai .ais-bubble{ background:#f2f5fd !important; border:1px solid #e6ecf8; }
.ais-fix{ border-radius:16px !important; border-color:#e3eaf9 !important; box-shadow:0 6px 18px rgba(15,40,90,.05); }
.ais-dock{ background:linear-gradient(180deg,#fff,#f6f8ff) !important; }
.ais-mic{ background:linear-gradient(135deg,#ff5a5f,#e8590c) !important; box-shadow:0 10px 26px rgba(232,89,12,.38) !important; border-radius:999px !important; }
.ais-mic:disabled{ background:#c3cbe0 !important; box-shadow:none !important; }
.ais-overall{ background:linear-gradient(140deg,#eef2ff,#fff) !important; border:1px solid #dfe8fb; border-radius:16px !important; }
.ais-overall-n{ font-family:'Sora',sans-serif !important; color:#2f5bff !important; }

/* link to the IELTS examiner (added by ielts.js) */
.ais-ielts{ display:flex; align-items:center; gap:16px; margin-top:16px; padding:16px 18px; border-radius:20px; color:#fff; cursor:pointer; border:0; width:100%; text-align:left; font:inherit;
  background:radial-gradient(300px 140px at 100% 0,rgba(255,211,107,.35),transparent 70%),linear-gradient(135deg,#1d3fbf,#5b3df5); box-shadow:0 12px 26px rgba(47,91,255,.25); }
.ais-ielts i{ font-style:normal; width:46px; height:46px; flex:0 0 auto; border-radius:15px; display:grid; place-items:center; font-size:22px; background:linear-gradient(135deg,#ffd24a,#ff9f1f); }
.ais-ielts b{ display:block; font-family:'Sora',sans-serif; font-size:16px; } .ais-ielts span{ display:block; color:#dbe4ff; font-size:13.5px; line-height:1.45; }
.ais-ielts em{ margin-left:auto; font-style:normal; font-weight:800; font-size:13px; background:#fff; color:#1d3fbf; border-radius:999px; padding:8px 14px; white-space:nowrap; }

@media(max-width:760px){
  .ais{ padding:12px 12px 90px; }
  .ais-hero{ padding:22px !important; border-radius:22px; }
  .ais-hero h2{ font-size:24px !important; }
  .ais-hero p{ display:none; }
  .ais-hero-side{ align-items:flex-start !important; width:100%; }
  #speakMain .section-card{ padding:18px 16px !important; border-radius:20px !important; }
  .ais-ielts em{ display:none; }
}
/* first-day plan: point at the Start button */
.ais-plan{ margin:0 0 12px; padding:12px 14px; border-radius:14px; background:#fff8e1; border:1.5px solid #f1d78a; color:#6b4a00; font-size:14.5px; font-weight:600; }
.ais-pulse{ animation:aisPulse 1.6s ease-in-out 3; }
@keyframes aisPulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(47,91,255,.45); } 50%{ box-shadow:0 0 0 10px rgba(47,91,255,0); } }
@media(prefers-reduced-motion:reduce){ .ais-pulse{ animation:none; } }
/* first interview after onboarding: one card, one big button */
.ais-chooser[hidden]{ display:none !important; }
#speakMain .section-card.ais-first, .ais-first{ border:2px solid #2f5bff !important; background:linear-gradient(160deg,#f3f7ff,#fff) !important; }
.ais-first-k{ display:inline-block; font-size:12.5px; font-weight:800; color:#7a5600; background:#fff4cc; border-radius:99px; padding:4px 11px; margin-bottom:8px; }
.ais-first h3{ margin:0 0 4px; font-family:'Sora','Manrope',sans-serif; font-size:21px; line-height:1.25; color:#0b1b4a; }
.ais-first-m{ margin:0 0 16px; color:#46557a; font-size:15px; font-weight:600; }
.ais-first .ais-first-go{ width:100%; min-height:56px; font-size:18px; border-radius:16px; }
.ais-first-ch{ display:block; margin:12px auto 0; background:none; border:0; padding:6px 4px; font:inherit; font-size:14.5px; font-weight:700; color:#1d4ed8; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
/* IELTS students: a small link instead of the big promo */
.ais-ielts-link{ display:block; margin:14px auto 0; background:none; border:0; padding:6px 4px; font:inherit; font-size:14.5px; font-weight:700; color:#1d4ed8; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
/* live session (round 4): no hero, no turns card; turns left as a pill; the mic stays above the bottom bar */
.ais-live .ais-hero, .ais-live #aisMeter{ display:none !important; }
.ais-bar-main{ min-width:0; flex:1 1 auto; }
.ais-turnpill{ display:inline-block; vertical-align:1px; margin-left:8px; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.14); color:#fff; font:inherit; font-size:12px; font-weight:800; line-height:1; padding:4px 9px; border-radius:999px; white-space:nowrap; cursor:pointer; }
.ais-bar{ scroll-margin-top:10px; }
.ais-turnpill.low{ background:#fff4e5; color:#9a3412; border-color:#fdba74; }
.ais-turnpill[hidden]{ display:none !important; }
.ais-dockrow{ display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; margin-bottom:10px; }
.ais-dockrow .ais-status{ margin-bottom:0; }
.ais-dockrow .ais-typelink{ margin:0; padding:4px 2px; }
@media(max-width:760px){
  .ais-live{ padding-top:4px; }
  .ais-live .ais-bar{ display:flex !important; flex-wrap:wrap; align-items:center; gap:10px; padding:12px 14px !important; margin-bottom:10px; }
  .ais-live .ais-bar .btn{ width:100%; min-height:40px; padding:8px 12px; font-size:13.5px; }
  .ais-live .ais-chat{ overflow:visible !important; }
  .ais-live .ais-stream{ max-height:46vh; min-height:180px; }
  .ais-live .ais-dock{ position:sticky; bottom:var(--ais-nav, 84px); z-index:6; padding:8px 12px 10px; border-radius:0 0 20px 20px; box-shadow:0 -10px 22px rgba(15,40,90,.08); }
  .ais-live .ais-dockrow{ margin-bottom:6px; justify-content:space-between; flex-wrap:nowrap; gap:8px; }
  .ais-live .ais-dockrow .ais-status{ justify-content:flex-start; text-align:left; font-size:12px; gap:6px; min-width:0; }
  .ais-live .ais-dockrow .ais-typelink{ white-space:nowrap; flex:none; font-size:12px; }
  .ais-live .ais-mic, .ais-live .ais-stop{ min-height:56px; }
}
