/* ============================================================
   APOLLO ACADEMY · MODULE 1 PILOT · DUOLINGO-STYLE LESSON
   ============================================================ */

.pilot-stage{
  position:relative;
  width:100%;
  min-height:560px;
  border-radius:16px;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(201,168,76,.06) 0%, transparent 60%),
    radial-gradient(ellipse at 50% 100%, rgba(184,92,92,.04) 0%, transparent 55%),
    linear-gradient(180deg, rgba(10,10,8,.55), rgba(10,10,8,.92));
  border:1px solid var(--glass-border);
  isolation:isolate;
}
[data-theme="light"] .pilot-stage{
  background:
    radial-gradient(ellipse at 50% 0%, rgba(201,168,76,.10) 0%, transparent 60%),
    linear-gradient(180deg, rgba(255,252,246,.6), rgba(255,252,246,.95));
}

/* WebGL canvas — sits behind content */
.pilot-3d{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:0;
  pointer-events:none;
}
.pilot-3d canvas{display:block;width:100%!important;height:100%!important;}

/* Content overlay */
.pilot-content{
  position:relative;
  z-index:2;
  padding:1.5rem 1.7rem 6.5rem;
  display:flex;
  flex-direction:column;
  min-height:560px;
}

/* === Top progress bar === */
.pilot-top{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:1.5rem;
}
.pilot-close{
  background:none;
  border:1px solid var(--glass-border);
  width:32px;height:32px;
  border-radius:50%;
  color:var(--text-secondary);
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:.8rem;
  transition:all .25s var(--apple-ease);
  flex-shrink:0;
}
.pilot-close:hover{color:var(--accent-rose);border-color:var(--accent-rose);}
.pilot-progress-track{
  flex:1;
  height:10px;
  background:rgba(201,168,76,.08);
  border:1px solid var(--glass-border);
  border-radius:99px;
  overflow:hidden;
  position:relative;
}
.pilot-progress-fill{
  height:100%;
  width:0%;
  background:linear-gradient(90deg, var(--accent-gold), var(--accent-gold-light));
  border-radius:99px;
  box-shadow:0 0 14px var(--neon-glow);
  transition:width .55s var(--apple-ease);
}
.pilot-xp{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-family:var(--font-display);
  font-size:.92rem;
  font-weight:600;
  color:var(--accent-gold);
  flex-shrink:0;
  text-shadow:0 0 12px var(--neon-glow);
}
.pilot-xp i{font-size:.78rem;}
.pilot-xp .xp-num{
  font-variant-numeric:tabular-nums;
  transition:transform .35s var(--apple-ease);
}
.pilot-xp.bump .xp-num{transform:scale(1.35);}

/* === Question header === */
.pilot-qkicker{
  font-size:.68rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent-gold);
  font-weight:700;
  margin-bottom:.6rem;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.pilot-qkicker::before{
  content:"";
  width:18px;height:1px;
  background:var(--accent-gold);
}
.pilot-qtitle{
  font-family:var(--font-display);
  font-size:clamp(1.4rem,2.6vw,1.85rem);
  font-weight:600;
  line-height:1.25;
  letter-spacing:-.02em;
  color:var(--text-primary);
  margin-bottom:.4rem;
}
.pilot-qsub{
  font-size:.88rem;
  color:var(--text-secondary);
  line-height:1.6;
  margin-bottom:1.3rem;
}

/* === Option grids === */
.pilot-options{
  display:grid;
  gap:10px;
  margin-bottom:1rem;
}
.pilot-options.cols-1{grid-template-columns:1fr;}
.pilot-options.cols-2{grid-template-columns:repeat(2,1fr);}
@media(max-width:560px){.pilot-options.cols-2{grid-template-columns:1fr;}}

.pilot-opt{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:.95rem 1.1rem;
  background:rgba(18,17,14,.55);
  border:1.5px solid var(--glass-border);
  border-radius:14px;
  color:var(--text-primary);
  font-family:var(--font-body);
  font-size:.92rem;
  line-height:1.45;
  text-align:left;
  cursor:pointer;
  transition:all .25s var(--apple-ease);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  position:relative;
  overflow:hidden;
}
[data-theme="light"] .pilot-opt{background:rgba(255,252,246,.7);}
.pilot-opt:hover:not(:disabled):not(.locked){
  border-color:var(--accent-gold);
  transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(201,168,76,.18);
}
.pilot-opt:disabled{cursor:default;}
.pilot-opt-marker{
  width:22px;height:22px;
  border:1.5px solid var(--glass-border);
  border-radius:50%;
  flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:.68rem;
  color:transparent;
  transition:all .25s var(--apple-ease);
  margin-top:1px;
}
.pilot-opt.selected .pilot-opt-marker{
  border-color:var(--accent-gold);
  background:var(--accent-gold);
  color:#0a0a08;
}
.pilot-opt.correct{
  border-color:var(--success);
  background:rgba(127,176,105,.10);
  box-shadow:0 0 0 1px var(--success) inset, 0 8px 28px rgba(127,176,105,.20);
}
.pilot-opt.correct .pilot-opt-marker{
  border-color:var(--success);
  background:var(--success);
  color:#0a0a08;
}
.pilot-opt.incorrect{
  border-color:var(--accent-rose);
  background:rgba(184,92,92,.10);
  box-shadow:0 0 0 1px var(--accent-rose) inset;
  animation:pilotShake .35s var(--apple-ease);
}
.pilot-opt.incorrect .pilot-opt-marker{
  border-color:var(--accent-rose);
  background:var(--accent-rose);
  color:#fff;
}
.pilot-opt.dim{opacity:.35;}

@keyframes pilotShake{
  0%,100%{transform:translateX(0);}
  25%{transform:translateX(-6px);}
  75%{transform:translateX(6px);}
}

/* === Pillar chips (multi-select grid) === */
.pilot-chips{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:1rem;
}
@media(max-width:680px){.pilot-chips{grid-template-columns:repeat(2,1fr);}}
.pilot-chip{
  padding:1rem .6rem;
  text-align:center;
  border:1.5px solid var(--glass-border);
  background:rgba(18,17,14,.55);
  border-radius:14px;
  font-family:var(--font-display);
  font-size:1rem;
  font-weight:600;
  letter-spacing:.01em;
  color:var(--text-primary);
  cursor:pointer;
  transition:all .25s var(--apple-ease);
  position:relative;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
[data-theme="light"] .pilot-chip{background:rgba(255,252,246,.7);}
.pilot-chip:hover:not(:disabled){
  border-color:var(--accent-gold);
  color:var(--accent-gold);
  transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(201,168,76,.20);
}
.pilot-chip.picked{
  border-color:var(--accent-gold);
  background:rgba(201,168,76,.10);
  color:var(--accent-gold);
}
.pilot-chip.correct{
  border-color:var(--success);
  background:rgba(127,176,105,.15);
  color:var(--success);
  box-shadow:0 0 18px rgba(127,176,105,.30);
}
.pilot-chip.incorrect{
  border-color:var(--accent-rose);
  background:rgba(184,92,92,.12);
  color:var(--accent-rose);
  animation:pilotShake .35s var(--apple-ease);
}
.pilot-chip:disabled{cursor:default;}

/* === Fill-blank chips (compact, inline) === */
.pilot-blank-text{
  font-family:var(--font-display);
  font-size:1.25rem;
  font-style:italic;
  line-height:1.5;
  color:var(--text-primary);
  background:rgba(18,17,14,.55);
  border:1px solid var(--glass-border);
  border-radius:14px;
  padding:1.2rem 1.4rem;
  margin-bottom:1rem;
}
[data-theme="light"] .pilot-blank-text{background:rgba(255,252,246,.7);}
.pilot-blank-slot{
  display:inline-block;
  min-width:120px;
  padding:.1rem .6rem;
  margin:0 .15rem;
  border-bottom:2px solid var(--accent-gold);
  color:var(--accent-gold);
  font-style:normal;
  text-align:center;
  font-weight:600;
}
.pilot-blank-slot.empty{color:transparent;}
.pilot-blanks-options{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
  margin-bottom:1rem;
}
.pilot-blank-pick{
  padding:.55rem 1.1rem;
  font-family:var(--font-display);
  font-size:1rem;
  font-weight:600;
  background:rgba(18,17,14,.6);
  border:1.5px solid var(--glass-border);
  color:var(--text-primary);
  border-radius:99px;
  cursor:pointer;
  transition:all .2s var(--apple-ease);
}
[data-theme="light"] .pilot-blank-pick{background:rgba(255,252,246,.8);}
.pilot-blank-pick:hover:not(:disabled){
  border-color:var(--accent-gold);
  color:var(--accent-gold);
}
.pilot-blank-pick:disabled{opacity:.4;cursor:default;}

/* === True/False === */
.pilot-tf{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:1rem;
}
.pilot-tf .pilot-opt{
  justify-content:center;
  text-align:center;
  font-family:var(--font-display);
  font-size:1.4rem;
  font-weight:600;
  padding:1.4rem;
  flex-direction:column;
}
.pilot-tf .pilot-opt-marker{display:none;}

/* === Feedback strip (bottom) === */
.pilot-feedback{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:1.1rem 1.5rem 1.3rem;
  background:rgba(10,10,8,.92);
  border-top:1px solid var(--glass-border);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transform:translateY(100%);
  transition:transform .35s var(--apple-ease);
  display:flex;
  align-items:center;
  gap:14px;
  z-index:3;
}
[data-theme="light"] .pilot-feedback{background:rgba(255,252,246,.95);}
.pilot-feedback.show{transform:translateY(0);}
.pilot-feedback.right{box-shadow:0 -1px 0 var(--success);}
.pilot-feedback.wrong{box-shadow:0 -1px 0 var(--accent-rose);}
.pilot-feedback-icon{
  width:40px;height:40px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;
  flex-shrink:0;
}
.pilot-feedback.right .pilot-feedback-icon{
  background:rgba(127,176,105,.18);
  color:var(--success);
  border:1.5px solid var(--success);
}
.pilot-feedback.wrong .pilot-feedback-icon{
  background:rgba(184,92,92,.18);
  color:var(--accent-rose);
  border:1.5px solid var(--accent-rose);
}
.pilot-feedback-body{flex:1;min-width:0;}
.pilot-feedback-h{
  font-family:var(--font-display);
  font-size:1.05rem;
  font-weight:600;
  letter-spacing:-.01em;
  margin-bottom:.15rem;
}
.pilot-feedback.right .pilot-feedback-h{color:var(--success);}
.pilot-feedback.wrong .pilot-feedback-h{color:var(--accent-rose);}
.pilot-feedback-p{
  font-size:.84rem;
  line-height:1.5;
  color:var(--text-secondary);
}
.pilot-feedback-cta{
  padding:.7rem 1.4rem;
  background:var(--accent-gold);
  color:#0a0a08;
  border:none;
  border-radius:99px;
  font-family:var(--font-body);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.02em;
  cursor:pointer;
  transition:all .25s var(--apple-ease);
  text-transform:uppercase;
  flex-shrink:0;
  box-shadow:0 6px 18px rgba(201,168,76,.30);
}
.pilot-feedback-cta:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(201,168,76,.40);}

/* === Check button (multi-select submit) === */
.pilot-actions{
  margin-top:auto;
  padding-top:1rem;
  display:flex;
  justify-content:flex-end;
}
.pilot-check{
  padding:.85rem 1.7rem;
  background:transparent;
  border:1.5px solid var(--accent-gold);
  color:var(--accent-gold);
  border-radius:99px;
  font-family:var(--font-body);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .25s var(--apple-ease);
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.pilot-check:hover:not(:disabled){
  background:var(--accent-gold);
  color:#0a0a08;
  box-shadow:0 6px 18px rgba(201,168,76,.30);
}
.pilot-check:disabled{opacity:.35;cursor:not-allowed;}

/* === Complete screen === */
.pilot-complete{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:3rem 1.5rem;
  min-height:560px;
}
.pilot-complete-kicker{
  font-size:.7rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--accent-gold);
  font-weight:700;
  margin-bottom:1rem;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.pilot-complete-kicker::before,
.pilot-complete-kicker::after{
  content:"";
  width:24px;height:1px;
  background:var(--accent-gold);
}
.pilot-complete h2{
  font-family:var(--font-display);
  font-size:clamp(2rem,4vw,2.8rem);
  font-weight:600;
  letter-spacing:-.025em;
  margin-bottom:.8rem;
}
.pilot-complete h2 em{color:var(--accent-gold);font-style:italic;}
.pilot-complete-p{
  font-size:.95rem;
  line-height:1.7;
  color:var(--text-secondary);
  max-width:480px;
  margin:0 auto 2rem;
}
.pilot-stats{
  display:flex;
  gap:1px;
  background:var(--glass-border);
  border:1px solid var(--glass-border);
  border-radius:14px;
  overflow:hidden;
  margin-bottom:2rem;
}
.pilot-stat{
  padding:1.1rem 1.6rem;
  background:rgba(18,17,14,.78);
  display:flex;
  flex-direction:column;
  gap:.3rem;
  align-items:center;
}
[data-theme="light"] .pilot-stat{background:rgba(255,252,246,.85);}
.pilot-stat-num{
  font-family:var(--font-display);
  font-size:1.8rem;
  font-weight:600;
  color:var(--accent-gold);
  letter-spacing:-.02em;
}
.pilot-stat-label{
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--text-muted);
  font-weight:600;
}
.pilot-complete-cta{
  padding:1rem 2.4rem;
  background:linear-gradient(135deg, var(--accent-gold), var(--accent-gold-light));
  color:#0a0a08;
  border:none;
  border-radius:99px;
  font-family:var(--font-body);
  font-size:.85rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .25s var(--apple-ease);
  box-shadow:0 10px 30px rgba(201,168,76,.40);
}
.pilot-complete-cta:hover{transform:translateY(-2px);box-shadow:0 14px 38px rgba(201,168,76,.55);}

/* ============================================================
   MODULE 3 — TRIM (transcript airtime rebalance)
   ============================================================ */
.pilot-trim-meters{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:1.1rem;
}
.pilot-trim-meter{
  background:rgba(18,17,14,.55);
  border:1px solid var(--glass-border);
  border-radius:12px;
  padding:.75rem .9rem;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
[data-theme="light"] .pilot-trim-meter{background:rgba(255,252,246,.75);}
.pilot-trim-meter-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-secondary);
  font-weight:600;
  margin-bottom:.45rem;
}
.pilot-trim-meter-row span:last-child{
  font-family:var(--font-display);
  font-size:1.05rem;
  letter-spacing:0;
  text-transform:none;
  font-weight:600;
  color:var(--text-primary);
  font-variant-numeric:tabular-nums;
}
.pilot-trim-meter-track{
  height:7px;
  background:rgba(201,168,76,.07);
  border-radius:99px;
  overflow:hidden;
  border:1px solid rgba(201,168,76,.10);
}
.pilot-trim-meter-fill{
  height:100%;
  background:linear-gradient(90deg, var(--accent-gold), var(--accent-gold-light));
  transition:width .5s var(--apple-ease), background .35s ease;
}
.pilot-trim-meter-fill.her{
  background:linear-gradient(90deg, var(--accent-gold), var(--accent-gold-light));
}
.pilot-trim-meter-fill.you{
  background:linear-gradient(90deg, var(--success), #a3c485);
}
.pilot-trim-meter-fill.you.over{
  background:linear-gradient(90deg, var(--accent-rose), #d68585);
}

.pilot-trim-transcript{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:1rem;
  max-height:none;
}
.pilot-trim-bubble{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:.7rem .95rem;
  border-radius:14px;
  font-size:.88rem;
  line-height:1.45;
  max-width:88%;
  position:relative;
  transition:all .35s var(--apple-ease);
  border:1px solid var(--glass-border);
}
.pilot-trim-bubble.her{
  background:rgba(255,255,255,.04);
  align-self:flex-start;
  color:var(--text-secondary);
}
.pilot-trim-bubble.you{
  background:rgba(201,168,76,.07);
  border-color:rgba(201,168,76,.30);
  align-self:flex-end;
  color:var(--text-primary);
}
[data-theme="light"] .pilot-trim-bubble.her{background:rgba(0,0,0,.04);}
[data-theme="light"] .pilot-trim-bubble.you{background:rgba(201,168,76,.10);}
.pilot-trim-bubble-label{
  font-size:.6rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--text-muted);
}
.pilot-trim-bubble.you .pilot-trim-bubble-label{color:var(--accent-gold);}
.pilot-trim-bubble.trimmed{
  opacity:.35;
  background:rgba(127,176,105,.05);
  border-color:rgba(127,176,105,.25);
}
.pilot-trim-bubble.trimmed .pilot-trim-bubble-text{
  text-decoration:line-through;
  text-decoration-color:rgba(127,176,105,.55);
  text-decoration-thickness:1px;
}
.pilot-trim-x{
  align-self:flex-start;
  background:transparent;
  border:1px solid rgba(201,168,76,.35);
  color:var(--accent-gold);
  padding:.32rem .65rem;
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  border-radius:99px;
  cursor:pointer;
  transition:all .25s var(--apple-ease);
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:.2rem;
}
.pilot-trim-x:hover:not(:disabled){
  background:rgba(201,168,76,.10);
  border-color:var(--accent-gold);
}
.pilot-trim-x:disabled{opacity:.4;cursor:default;}
.pilot-trim-bubble.trimmed .pilot-trim-x{
  border-color:rgba(127,176,105,.45);
  color:var(--success);
}

/* ============================================================
   MODULE 3 — PAUSE (counter-intuitive silence exercise)
   ============================================================ */
.pilot-options.paused .pilot-pause-opt{
  opacity:.35;
  transition:opacity .6s var(--apple-ease);
}
.pilot-pause-stage{
  margin-top:1.2rem;
  text-align:center;
  padding:1.4rem 1rem;
  min-height:120px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.pilot-pause-breath{
  display:flex;
  gap:14px;
  margin-bottom:.8rem;
}
.pilot-pause-breath span{
  width:10px;height:10px;
  border-radius:50%;
  background:var(--accent-gold);
  opacity:.35;
}
.pilot-pause-breath.breathing span:nth-child(1){animation:pauseDot 3s ease 0s 1;}
.pilot-pause-breath.breathing span:nth-child(2){animation:pauseDot 3s ease .2s 1;}
.pilot-pause-breath.breathing span:nth-child(3){animation:pauseDot 3s ease .4s 1;}
@keyframes pauseDot{
  0%, 100%{opacity:.25;transform:scale(.9);}
  50%{opacity:1;transform:scale(1.5);box-shadow:0 0 12px var(--neon-glow);}
}
.pilot-pause-reveal{
  font-family:var(--font-display);
  font-style:italic;
  font-size:1.15rem;
  line-height:1.5;
  color:var(--accent-cream);
  max-width:520px;
  margin:0 auto;
  letter-spacing:-.005em;
}

/* ============================================================
   MODULE 3 — MIRROR (identity-engaging final exercise)
   ============================================================ */
.pilot-mirror-stage{
  margin-top:1.2rem;
  padding:1.3rem 1.2rem 1.1rem;
  background:rgba(18,17,14,.65);
  border:1px solid rgba(201,168,76,.18);
  border-radius:16px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
[data-theme="light"] .pilot-mirror-stage{background:rgba(255,252,246,.85);}
.pilot-mirror-prompt{
  font-family:var(--font-display);
  font-style:italic;
  font-size:1.1rem;
  line-height:1.55;
  color:var(--accent-cream);
  margin-bottom:.9rem;
  text-align:center;
}
.pilot-mirror-input{
  width:100%;
  min-height:120px;
  padding:.95rem 1.05rem;
  background:rgba(10,10,8,.55);
  border:1.5px solid var(--glass-border);
  border-radius:12px;
  color:var(--text-primary);
  font-family:var(--font-body);
  font-size:.95rem;
  line-height:1.55;
  resize:vertical;
  transition:border-color .25s var(--apple-ease);
  outline:none;
}
[data-theme="light"] .pilot-mirror-input{background:rgba(255,255,255,.78);}
.pilot-mirror-input:focus{
  border-color:var(--accent-gold);
  box-shadow:0 0 0 3px rgba(201,168,76,.10);
}
.pilot-mirror-input:disabled{opacity:.6;cursor:default;}
.pilot-mirror-meter{
  margin-top:.55rem;
  font-size:.72rem;
  letter-spacing:.04em;
  color:var(--text-muted);
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.pilot-mirror-meter strong, .pilot-mirror-meter #mirror-count{color:var(--accent-gold);font-weight:600;}
.pilot-mirror-reveal{
  margin-top:1.1rem;
  padding:1.1rem 1.2rem;
  background:rgba(201,168,76,.06);
  border-left:3px solid var(--accent-gold);
  border-radius:8px;
  font-family:var(--font-display);
  font-size:1.05rem;
  line-height:1.6;
  color:var(--text-primary);
  font-style:italic;
  letter-spacing:-.005em;
}
.pilot-mirror-reveal strong{
  font-style:normal;
  color:var(--accent-gold);
  font-weight:600;
}

/* ============================================================
   MODULE 4 — MANNEQUIN (interactive posture builder)
   ============================================================ */
.pilot-mannequin-wrap{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:24px;
  align-items:start;
  margin-bottom:1rem;
}
@media (max-width:640px){
  .pilot-mannequin-wrap{
    grid-template-columns:1fr;
    gap:14px;
  }
}
.pilot-mannequin-figure{
  position:relative;
  background:rgba(18,17,14,.55);
  border:1px solid var(--glass-border);
  border-radius:16px;
  padding:14px 12px 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  color:var(--accent-gold);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
[data-theme="light"] .pilot-mannequin-figure{background:rgba(255,252,246,.78);}
@media (max-width:640px){
  .pilot-mannequin-figure{
    padding:10px 10px 14px;
    max-width:200px;
    margin:0 auto;
  }
}
.svg-mannequin{
  width:100%;
  height:auto;
  max-height:300px;
  display:block;
  color:var(--accent-gold);
  transition:filter .4s ease;
}
/* Common transitions for body parts */
.svg-mannequin .m-shoulders-line,
.svg-mannequin .m-head,
.svg-mannequin .m-chest-path,
.svg-mannequin .m-arm-l, .svg-mannequin .m-arm-r,
.svg-mannequin .m-hand-l, .svg-mannequin .m-hand-r{
  transition:transform .4s var(--apple-ease), opacity .35s var(--apple-ease), d .4s var(--apple-ease);
  transform-box:view-box;
  transform-origin:center;
}

/* === SHOULDERS === */
.svg-mannequin.shoulders-hunched .m-shoulders-line{
  transform:translateY(4px) scaleX(.84);
}
.svg-mannequin.shoulders-hunched .m-arm-l{ transform:translate(4px, 4px) rotate(8deg); }
.svg-mannequin.shoulders-hunched .m-arm-r{ transform:translate(-4px, 4px) rotate(-8deg); }
.svg-mannequin.shoulders-military .m-shoulders-line{
  transform:translateY(-5px) scaleX(1.06);
}
.svg-mannequin.shoulders-military .m-arm-l{ transform:translate(-3px, -3px); }
.svg-mannequin.shoulders-military .m-arm-r{ transform:translate(3px, -3px); }
.svg-mannequin.shoulders-composed .m-shoulders-line{
  transform:translateY(0) scaleX(1.02);
}

/* === HEAD === */
.svg-mannequin.head-forward .m-head{ transform:translate(0, 6px); }
.svg-mannequin.head-centered .m-head{ transform:translate(0, 0); }
.svg-mannequin.head-crown .m-head{ transform:translate(0, -5px); }

/* === CHEST === */
.svg-mannequin.chest-caved .m-chest-path{
  d:path('M76 84 L124 84 L118 122 L82 122 L84 162 L116 162 L120 122 Z');
  opacity:.85;
}
.svg-mannequin.chest-open .m-chest-path{
  d:path('M70 82 L130 82 L122 162 L78 162 Z');
}
.svg-mannequin.chest-puffed .m-chest-path{
  d:path('M62 78 L138 78 L130 162 L70 162 Z');
}

/* === HANDS === */
.svg-mannequin.hands-pockets .m-hand-l{
  transform:translate(10px, -22px);
  opacity:.45;
}
.svg-mannequin.hands-pockets .m-hand-r{
  transform:translate(-10px, -22px);
  opacity:.45;
}
.svg-mannequin.hands-behind .m-hand-l{
  opacity:0;
}
.svg-mannequin.hands-behind .m-hand-r{
  opacity:0;
}
.svg-mannequin.hands-sides .m-hand-l,
.svg-mannequin.hands-sides .m-hand-r{
  transform:translate(0, 0);
  opacity:1;
}

.pilot-mannequin-verdict{
  font-family:var(--font-display);
  font-size:.88rem;
  font-style:italic;
  letter-spacing:.01em;
  color:var(--text-muted);
  text-align:center;
}
.pilot-mannequin-verdict.partial{ color:var(--accent-rose); }
.pilot-mannequin-verdict.right{ color:var(--success); }

.pilot-mannequin-controls{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.pilot-joint{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.pilot-joint-label{
  font-size:.66rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent-gold);
  font-weight:700;
}
.pilot-joint-opts{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.pilot-joint-opt{
  padding:.45rem .75rem;
  background:rgba(18,17,14,.55);
  border:1.5px solid var(--glass-border);
  color:var(--text-primary);
  border-radius:99px;
  font-family:var(--font-body);
  font-size:.78rem;
  font-weight:500;
  cursor:pointer;
  transition:all .2s var(--apple-ease);
}
[data-theme="light"] .pilot-joint-opt{background:rgba(255,252,246,.8);}
.pilot-joint-opt:hover:not(:disabled){
  border-color:var(--accent-gold);
  color:var(--accent-gold);
}
.pilot-joint-opt.selected{
  border-color:var(--accent-gold);
  background:rgba(201,168,76,.12);
  color:var(--accent-gold);
}
.pilot-joint-opt.correct{
  border-color:var(--success);
  background:rgba(127,176,105,.12);
  color:var(--success);
}
.pilot-joint-opt.incorrect{
  border-color:var(--accent-rose);
  background:rgba(184,92,92,.12);
  color:var(--accent-rose);
}
.pilot-joint-opt:disabled{cursor:default;}

/* ============================================================
   MODULE 4 — DRESS CODE SLIDER
   ============================================================ */
.pilot-slider-progress{
  display:flex;
  align-items:center;
  gap:8px;
  margin:.4rem 0 .8rem;
}
.pilot-slider-dot{
  width:9px;height:9px;
  border-radius:50%;
  background:rgba(201,168,76,.18);
  border:1px solid rgba(201,168,76,.30);
  transition:all .25s var(--apple-ease);
}
.pilot-slider-dot.active{
  background:var(--accent-gold);
  border-color:var(--accent-gold);
  box-shadow:0 0 10px var(--neon-glow);
}
.pilot-slider-dot.right{
  background:var(--success);
  border-color:var(--success);
}
.pilot-slider-dot.wrong{
  background:var(--accent-rose);
  border-color:var(--accent-rose);
}
.pilot-slider-progress-text{
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--text-muted);
  font-weight:600;
  margin-left:6px;
}
.pilot-slider-scenario{
  font-family:var(--font-display);
  font-size:1.05rem;
  font-style:italic;
  line-height:1.55;
  color:var(--accent-cream);
  background:rgba(18,17,14,.55);
  border-left:3px solid var(--accent-gold);
  border-radius:8px;
  padding:.95rem 1.2rem;
  margin-bottom:1rem;
}
[data-theme="light"] .pilot-slider-scenario{background:rgba(255,252,246,.78);}

.pilot-slider-preview{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:18px;
  align-items:center;
  background:rgba(18,17,14,.55);
  border:1px solid var(--glass-border);
  border-radius:14px;
  padding:1rem 1.2rem;
  margin-bottom:1rem;
}
[data-theme="light"] .pilot-slider-preview{background:rgba(255,252,246,.78);}
@media (max-width:560px){
  .pilot-slider-preview{
    grid-template-columns:100px 1fr;
    gap:14px;
    padding:.8rem .9rem;
  }
}
.pilot-slider-figure{
  width:140px;
  height:240px;
  display:flex;
  justify-content:center;
  align-items:center;
  transition:opacity .25s ease;
}
@media (max-width:560px){
  .pilot-slider-figure{ width:100px; height:180px; }
}
.pilot-outfit-svg{
  width:100%;
  height:100%;
  max-height:240px;
}
.pilot-slider-meta-label{
  font-family:var(--font-display);
  font-size:1.4rem;
  font-weight:600;
  letter-spacing:-.015em;
  color:var(--accent-gold);
  margin-bottom:.4rem;
}
.pilot-slider-meta-desc{
  font-size:.86rem;
  line-height:1.55;
  color:var(--text-secondary);
}

.pilot-slider-track-wrap{
  margin:1rem 0 .8rem;
  padding:0 6px;
}
.pilot-slider-input{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:8px;
  background:rgba(201,168,76,.10);
  border:1px solid var(--glass-border);
  border-radius:99px;
  outline:none;
  cursor:pointer;
}
.pilot-slider-input::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:22px; height:22px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--accent-gold), var(--accent-gold-light));
  border:2px solid #0a0a08;
  box-shadow:0 4px 14px rgba(201,168,76,.45);
  cursor:grab;
  transition:transform .15s ease;
}
.pilot-slider-input::-webkit-slider-thumb:hover{transform:scale(1.1);}
.pilot-slider-input::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.05);}
.pilot-slider-input::-moz-range-thumb{
  width:22px; height:22px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--accent-gold), var(--accent-gold-light));
  border:2px solid #0a0a08;
  box-shadow:0 4px 14px rgba(201,168,76,.45);
  cursor:grab;
}
.pilot-slider-input:disabled{ opacity:.6; cursor:default; }
.pilot-slider-input:disabled::-webkit-slider-thumb{ cursor:default; }
.pilot-slider-ticks{
  display:flex;
  justify-content:space-between;
  margin-top:8px;
  font-size:.65rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--text-muted);
  font-weight:600;
}
.pilot-slider-ticks span{ flex:1; text-align:center; }
.pilot-slider-ticks span:first-child{ text-align:left; }
.pilot-slider-ticks span:last-child{ text-align:right; }

.pilot-slider-result{
  margin-top:1rem;
  padding:1.1rem 1.2rem;
  border-radius:12px;
  border:1px solid var(--glass-border);
}
.pilot-slider-result.right{
  background:rgba(127,176,105,.07);
  border-color:rgba(127,176,105,.30);
}
.pilot-slider-result.wrong{
  background:rgba(184,92,92,.07);
  border-color:rgba(184,92,92,.30);
}
.pilot-slider-result-h{
  font-family:var(--font-display);
  font-size:1.1rem;
  font-weight:600;
  margin-bottom:.4rem;
  display:flex;
  align-items:center;
  gap:8px;
}
.pilot-slider-result.right .pilot-slider-result-h{ color:var(--success); }
.pilot-slider-result.wrong .pilot-slider-result-h{ color:var(--accent-rose); }
.pilot-slider-result-p{
  font-size:.88rem;
  line-height:1.6;
  color:var(--text-secondary);
  margin-bottom:.9rem;
}
.pilot-slider-next{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:.65rem 1.3rem;
  background:var(--accent-gold);
  color:#0a0a08;
  border:none;
  border-radius:99px;
  font-family:var(--font-body);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .25s var(--apple-ease);
  box-shadow:0 6px 18px rgba(201,168,76,.30);
}
.pilot-slider-next:hover{ transform:translateY(-1px); box-shadow:0 8px 22px rgba(201,168,76,.40); }

/* ============================================================
   MODULE 5 — RED FLAG SPOTTER (timed REDIRECT/SAFE tap)
   ============================================================ */
.pilot-redflag-stage{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-bottom:1rem;
}
.pilot-redflag-progress{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--text-muted);
  font-weight:600;
}
.pilot-redflag-progress strong{
  font-family:var(--font-display);
  font-size:1.1rem;
  color:var(--accent-gold);
  letter-spacing:0;
  text-transform:none;
  font-variant-numeric:tabular-nums;
}
.pilot-redflag-score{
  color:var(--success);
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.pilot-redflag-score strong{
  color:var(--success);
}
.pilot-redflag-card{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:1.2rem 1.3rem;
  background:rgba(18,17,14,.65);
  border:1.5px solid var(--glass-border);
  border-radius:18px;
  transition:border-color .25s var(--apple-ease), background .25s var(--apple-ease);
  min-height:90px;
}
[data-theme="light"] .pilot-redflag-card{background:rgba(255,252,246,.85);}
.pilot-redflag-card.right{
  border-color:var(--success);
  background:rgba(127,176,105,.08);
}
.pilot-redflag-card.wrong{
  border-color:var(--accent-rose);
  background:rgba(184,92,92,.08);
}
.pilot-redflag-avatar{
  width:38px; height:38px;
  border-radius:50%;
  background:rgba(201,168,76,.15);
  border:1.5px solid rgba(201,168,76,.30);
  color:var(--accent-gold);
  display:flex; align-items:center; justify-content:center;
  font-size:.95rem;
  flex-shrink:0;
}
.pilot-redflag-bubble{
  font-family:var(--font-body);
  font-size:.95rem;
  line-height:1.5;
  color:var(--text-primary);
  padding-top:5px;
}
.pilot-redflag-timer{
  display:flex;
  justify-content:center;
  align-items:center;
  position:relative;
  margin:-4px 0 -4px;
}
.pilot-redflag-timer-svg{
  width:48px; height:48px;
}
.rf-timer-bg{
  stroke:rgba(201,168,76,.18);
}
.rf-timer-fg{
  stroke:var(--accent-gold);
  transition:stroke .2s ease;
}
.pilot-redflag-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.pilot-redflag-btn{
  padding:.95rem 1rem;
  border-radius:99px;
  border:2px solid;
  background:transparent;
  font-family:var(--font-body);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .2s var(--apple-ease);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.pilot-redflag-btn:disabled{ opacity:.4; cursor:default; }
.pilot-redflag-btn.redirect{
  border-color:var(--accent-rose);
  color:var(--accent-rose);
}
.pilot-redflag-btn.redirect:hover:not(:disabled){
  background:var(--accent-rose);
  color:#fff;
}
.pilot-redflag-btn.safe{
  border-color:var(--success);
  color:var(--success);
}
.pilot-redflag-btn.safe:hover:not(:disabled){
  background:var(--success);
  color:#0a0a08;
}
.pilot-redflag-flash{
  text-align:center;
  font-family:var(--font-display);
  font-size:1rem;
  font-style:italic;
  min-height:1.4rem;
  color:transparent;
  transition:color .25s ease;
}
.pilot-redflag-flash.right{ color:var(--success); }
.pilot-redflag-flash.wrong{ color:var(--accent-rose); }

/* ============================================================
   MODULE 5 — FRAME DEFENSE SIM (branching chat + integrity)
   ============================================================ */
.pilot-framesim-stage{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-bottom:1rem;
}
.pilot-framesim-integrity{
  background:rgba(18,17,14,.55);
  border:1px solid var(--glass-border);
  border-radius:12px;
  padding:.7rem .9rem;
}
[data-theme="light"] .pilot-framesim-integrity{background:rgba(255,252,246,.85);}
.pilot-framesim-integrity-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--text-secondary);
  font-weight:600;
  margin-bottom:.4rem;
}
.pilot-framesim-integrity-value{
  font-family:var(--font-display);
  font-size:1.05rem;
  letter-spacing:0;
  text-transform:none;
  color:var(--text-primary);
  font-variant-numeric:tabular-nums;
}
.pilot-framesim-integrity-track{
  height:8px;
  background:rgba(201,168,76,.10);
  border-radius:99px;
  overflow:hidden;
}
.pilot-framesim-integrity-fill{
  height:100%;
  transition:width .5s var(--apple-ease), background .35s ease;
  border-radius:99px;
}
.pilot-framesim-integrity-fill.high{ background:linear-gradient(90deg, var(--success), #a3c485); }
.pilot-framesim-integrity-fill.mid{ background:linear-gradient(90deg, var(--accent-gold), var(--accent-gold-light)); }
.pilot-framesim-integrity-fill.low{ background:linear-gradient(90deg, var(--accent-rose), #d68585); }

.pilot-framesim-thread{
  min-height:220px;
  max-height:340px;
  overflow-y:auto;
  padding:.4rem;
  scroll-behavior:smooth;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.pilot-framesim-msg{
  display:flex;
  flex-direction:column;
  gap:4px;
  max-width:80%;
  animation:pilotFadeIn .35s var(--apple-ease) both;
}
.pilot-framesim-msg.client{ align-self:flex-start; }
.pilot-framesim-msg.you{ align-self:flex-end; align-items:flex-end; }
.pilot-framesim-bubble{
  padding:.65rem .95rem;
  border-radius:16px;
  font-size:.92rem;
  line-height:1.45;
  border:1px solid var(--glass-border);
}
.pilot-framesim-msg.client .pilot-framesim-bubble{
  background:rgba(255,255,255,.04);
  color:var(--text-secondary);
  border-bottom-left-radius:4px;
}
.pilot-framesim-msg.you .pilot-framesim-bubble{
  background:rgba(201,168,76,.10);
  border-color:rgba(201,168,76,.35);
  color:var(--text-primary);
  border-bottom-right-radius:4px;
}
[data-theme="light"] .pilot-framesim-msg.client .pilot-framesim-bubble{background:rgba(0,0,0,.04);}
.pilot-framesim-react{
  font-family:var(--font-display);
  font-style:italic;
  font-size:.78rem;
  color:var(--text-muted);
  padding:.2rem .4rem;
  letter-spacing:.005em;
}
.pilot-framesim-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.pilot-framesim-opt{
  padding:.85rem 1rem;
  background:rgba(18,17,14,.55);
  border:1.5px solid var(--glass-border);
  border-radius:12px;
  color:var(--text-primary);
  font-family:var(--font-body);
  font-size:.88rem;
  line-height:1.45;
  text-align:left;
  cursor:pointer;
  transition:all .2s var(--apple-ease);
}
[data-theme="light"] .pilot-framesim-opt{background:rgba(255,252,246,.85);}
.pilot-framesim-opt:hover{
  border-color:var(--accent-gold);
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(201,168,76,.18);
}
.pilot-framesim-finale{
  margin-top:.5rem;
  padding:1.1rem 1.2rem;
  border-radius:12px;
  border:1px solid var(--glass-border);
}
.pilot-framesim-finale.right{
  background:rgba(127,176,105,.07);
  border-color:rgba(127,176,105,.30);
}
.pilot-framesim-finale.soft{
  background:rgba(201,168,76,.06);
  border-color:rgba(201,168,76,.30);
}
.pilot-framesim-finale-h{
  font-family:var(--font-display);
  font-size:1.15rem;
  font-weight:600;
  letter-spacing:-.005em;
  margin-bottom:.35rem;
}
.pilot-framesim-finale.right .pilot-framesim-finale-h{ color:var(--success); }
.pilot-framesim-finale.soft .pilot-framesim-finale-h{ color:var(--accent-gold); }
.pilot-framesim-finale-p{
  font-size:.88rem;
  line-height:1.6;
  color:var(--text-secondary);
}

/* ============================================================
   MODULE 5 — HARD RULES SPEED-SWIPE
   ============================================================ */
.pilot-swipe-stage{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:1rem;
}
.pilot-swipe-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--text-muted);
  font-weight:600;
}
.pilot-swipe-meta strong{
  font-family:var(--font-display);
  font-size:1.1rem;
  color:var(--accent-gold);
  letter-spacing:0;
  text-transform:none;
  font-variant-numeric:tabular-nums;
}
.pilot-swipe-score{
  color:var(--success);
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.pilot-swipe-score strong{ color:var(--success); }
.pilot-swipe-deck{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:160px;
}
.pilot-swipe-card{
  background:rgba(18,17,14,.78);
  border:1.5px solid var(--glass-border);
  border-radius:18px;
  padding:1.6rem 1.5rem;
  max-width:520px;
  width:100%;
  font-family:var(--font-display);
  font-size:1.18rem;
  font-style:italic;
  line-height:1.55;
  color:var(--text-primary);
  letter-spacing:-.005em;
  text-align:center;
  transition:transform .45s var(--apple-ease), opacity .35s ease, border-color .25s ease, background .25s ease;
  box-shadow:0 10px 30px rgba(0,0,0,.30);
}
[data-theme="light"] .pilot-swipe-card{background:rgba(255,252,246,.92);}
.pilot-swipe-card.right{
  border-color:var(--success);
  background:rgba(127,176,105,.12);
}
.pilot-swipe-card.wrong{
  border-color:var(--accent-rose);
  background:rgba(184,92,92,.12);
}
.pilot-swipe-card.swipe-left{
  transform:translateX(-180px) rotate(-12deg);
  opacity:0;
}
.pilot-swipe-card.swipe-right{
  transform:translateX(180px) rotate(12deg);
  opacity:0;
}
.pilot-swipe-card.swipe-timeout{
  transform:scale(.92);
  opacity:.3;
}
.pilot-swipe-timer{
  display:flex;
  justify-content:center;
  align-items:center;
}
.pilot-swipe-timer svg{
  width:42px; height:42px;
}
.sw-timer-bg{ stroke:rgba(201,168,76,.18); }
.sw-timer-fg{ stroke:var(--accent-gold); transition:stroke .2s ease; }
.pilot-swipe-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.pilot-swipe-btn{
  padding:1rem;
  border-radius:99px;
  border:2px solid;
  background:transparent;
  font-family:var(--font-body);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .2s var(--apple-ease);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.pilot-swipe-btn:disabled{ opacity:.4; cursor:default; }
.pilot-swipe-btn.breach{
  border-color:var(--accent-rose);
  color:var(--accent-rose);
}
.pilot-swipe-btn.breach:hover:not(:disabled){
  background:var(--accent-rose);
  color:#fff;
}
.pilot-swipe-btn.ok{
  border-color:var(--success);
  color:var(--success);
}
.pilot-swipe-btn.ok:hover:not(:disabled){
  background:var(--success);
  color:#0a0a08;
}
.pilot-swipe-flash{
  text-align:center;
  font-family:var(--font-display);
  font-size:.95rem;
  font-style:italic;
  min-height:1.3rem;
  color:transparent;
  transition:color .25s ease;
}
.pilot-swipe-flash.right{ color:var(--success); }
.pilot-swipe-flash.wrong{ color:var(--accent-rose); }

/* ============================================================
   MODULE 6 — TIER DRILL (4-step escalation scenario)
   ============================================================ */
.pilot-tier-stage{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-bottom:1rem;
}
.pilot-tier-progress{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--text-muted);
  font-weight:600;
}
.pilot-tier-dot{
  width:9px;height:9px;
  border-radius:50%;
  background:rgba(201,168,76,.18);
  border:1px solid rgba(201,168,76,.30);
  transition:all .25s var(--apple-ease);
}
.pilot-tier-dot.active{
  background:var(--accent-gold);
  border-color:var(--accent-gold);
  box-shadow:0 0 10px var(--neon-glow);
}
.pilot-tier-dot.right{ background:var(--success); border-color:var(--success); }
.pilot-tier-dot.wrong{ background:var(--accent-rose); border-color:var(--accent-rose); }
.pilot-tier-progress-text{ margin-left:6px; }

.pilot-tier-situation{
  font-family:var(--font-display);
  font-size:1.08rem;
  font-style:italic;
  line-height:1.6;
  color:var(--accent-cream);
  background:rgba(18,17,14,.65);
  border-left:3px solid var(--accent-gold);
  border-radius:8px;
  padding:1.1rem 1.3rem;
  letter-spacing:-.005em;
}
[data-theme="light"] .pilot-tier-situation{ background:rgba(255,252,246,.85); }

.pilot-tier-options{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.pilot-tier-opt{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:.95rem 1.1rem;
  background:rgba(18,17,14,.55);
  border:1.5px solid var(--glass-border);
  border-left-width:4px;
  border-radius:12px;
  color:var(--text-primary);
  font-family:var(--font-body);
  font-size:.92rem;
  line-height:1.5;
  text-align:left;
  cursor:pointer;
  transition:all .25s var(--apple-ease);
}
[data-theme="light"] .pilot-tier-opt{ background:rgba(255,252,246,.85); }
.pilot-tier-opt:hover:not(:disabled){
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(201,168,76,.18);
}
.pilot-tier-opt:disabled{ cursor:default; }
/* Tier color cues on the left edge */
.pilot-tier-opt.tier-1{ border-left-color:var(--success); }
.pilot-tier-opt.tier-2{ border-left-color:var(--accent-gold); }
.pilot-tier-opt.tier-3{ border-left-color:var(--accent-rose); }
.pilot-tier-opt:hover:not(:disabled){
  border-color:var(--accent-gold);
}
.pilot-tier-opt.correct{
  background:rgba(127,176,105,.10);
  border-color:var(--success);
  border-left-color:var(--success);
  box-shadow:0 0 0 1px var(--success) inset;
}
.pilot-tier-opt.incorrect{
  background:rgba(184,92,92,.10);
  border-color:var(--accent-rose);
  border-left-color:var(--accent-rose);
  animation:pilotShake .35s var(--apple-ease);
}
.pilot-tier-opt.dim{ opacity:.35; }

.pilot-tier-opt-label{
  font-size:.66rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--text-muted);
}
.pilot-tier-opt.tier-1 .pilot-tier-opt-label{ color:var(--success); }
.pilot-tier-opt.tier-2 .pilot-tier-opt-label{ color:var(--accent-gold); }
.pilot-tier-opt.tier-3 .pilot-tier-opt-label{ color:var(--accent-rose); }

.pilot-tier-opt-text{
  color:var(--text-primary);
}

.pilot-tier-consequence{
  margin-top:.4rem;
  padding:1.1rem 1.2rem;
  border-radius:12px;
  border:1px solid var(--glass-border);
}
.pilot-tier-consequence.right{
  background:rgba(127,176,105,.07);
  border-color:rgba(127,176,105,.30);
}
.pilot-tier-consequence.wrong{
  background:rgba(184,92,92,.07);
  border-color:rgba(184,92,92,.30);
}
.pilot-tier-con-h{
  font-family:var(--font-display);
  font-size:1.1rem;
  font-weight:600;
  letter-spacing:-.005em;
  margin-bottom:.4rem;
}
.pilot-tier-consequence.right .pilot-tier-con-h{ color:var(--success); }
.pilot-tier-consequence.wrong .pilot-tier-con-h{ color:var(--accent-rose); }
.pilot-tier-con-h strong{ font-weight:700; }
.pilot-tier-con-p{
  font-size:.92rem;
  line-height:1.6;
  color:var(--text-secondary);
  margin-bottom:.9rem;
  font-style:italic;
}
.pilot-tier-next{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:.65rem 1.3rem;
  background:var(--accent-gold);
  color:#0a0a08;
  border:none;
  border-radius:99px;
  font-family:var(--font-body);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .25s var(--apple-ease);
  box-shadow:0 6px 18px rgba(201,168,76,.30);
}
.pilot-tier-next:hover{ transform:translateY(-1px); box-shadow:0 8px 22px rgba(201,168,76,.40); }

/* ============================================================
   MODULE 7 — SEQUENCER (timeline placement)
   ============================================================ */
.pilot-seq-stage{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-bottom:1rem;
}
.pilot-seq-phases{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.pilot-seq-phase{
  display:grid;
  grid-template-columns:160px 1fr;
  align-items:stretch;
  gap:14px;
  padding:.85rem 1rem;
  background:rgba(18,17,14,.55);
  border:1.5px solid var(--glass-border);
  border-radius:14px;
  transition:all .25s var(--apple-ease);
  min-height:64px;
}
[data-theme="light"] .pilot-seq-phase{ background:rgba(255,252,246,.85); }
.pilot-seq-phase.targetable{
  border-color:rgba(201,168,76,.45);
  background:rgba(201,168,76,.04);
  cursor:pointer;
}
.pilot-seq-phase.targetable:hover{
  border-color:var(--accent-gold);
  background:rgba(201,168,76,.08);
}
@media (max-width:560px){
  .pilot-seq-phase{
    grid-template-columns:1fr;
    gap:8px;
  }
}
.pilot-seq-phase-meta{
  display:flex;
  flex-direction:column;
  gap:2px;
  justify-content:center;
  border-right:1px solid var(--glass-border);
  padding-right:14px;
}
@media (max-width:560px){
  .pilot-seq-phase-meta{ border-right:none; border-bottom:1px solid var(--glass-border); padding-right:0; padding-bottom:6px; }
}
.pilot-seq-phase-label{
  font-family:var(--font-display);
  font-size:1rem;
  font-weight:600;
  color:var(--accent-gold);
  letter-spacing:-.01em;
}
.pilot-seq-phase-sub{
  font-size:.7rem;
  letter-spacing:.04em;
  color:var(--text-muted);
}
.pilot-seq-phase-slot{
  display:flex;
  align-items:center;
}
.pilot-seq-empty{
  font-size:.78rem;
  font-style:italic;
  color:var(--text-muted);
  letter-spacing:.02em;
}

.pilot-seq-poolwrap{
  margin-top:6px;
  padding:.85rem 1rem;
  background:rgba(18,17,14,.40);
  border:1px dashed var(--glass-border);
  border-radius:14px;
}
[data-theme="light"] .pilot-seq-poolwrap{ background:rgba(255,252,246,.55); }
.pilot-seq-poollabel{
  font-size:.66rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--text-muted);
  font-weight:700;
  margin-bottom:.55rem;
}
.pilot-seq-pool{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.pilot-seq-chip{
  display:inline-block;
  padding:.6rem .85rem;
  background:rgba(255,255,255,.04);
  border:1.5px solid var(--glass-border);
  border-radius:12px;
  color:var(--text-primary);
  font-family:var(--font-body);
  font-size:.85rem;
  line-height:1.45;
  text-align:left;
  cursor:pointer;
  transition:all .2s var(--apple-ease);
  width:100%;
}
[data-theme="light"] .pilot-seq-chip{ background:rgba(0,0,0,.04); }
.pilot-seq-chip.pool:hover{
  border-color:var(--accent-gold);
  transform:translateY(-1px);
}
.pilot-seq-chip.pool.selected{
  border-color:var(--accent-gold);
  background:rgba(201,168,76,.12);
  color:var(--accent-gold);
  box-shadow:0 0 0 2px rgba(201,168,76,.20);
}
.pilot-seq-chip.placed{
  border-color:rgba(201,168,76,.55);
  background:rgba(201,168,76,.08);
  color:var(--text-primary);
}
.pilot-seq-chip.placed:hover:not(:disabled){
  border-color:var(--accent-rose);
  background:rgba(184,92,92,.08);
}
.pilot-seq-chip.placed.correct{
  border-color:var(--success);
  background:rgba(127,176,105,.10);
  color:var(--success);
}
.pilot-seq-chip.placed.incorrect{
  border-color:var(--accent-rose);
  background:rgba(184,92,92,.10);
  color:var(--accent-rose);
  animation:pilotShake .35s var(--apple-ease);
}
.pilot-seq-chip:disabled{ cursor:default; }

/* === Reveal animations === */
.pilot-fade-in{animation:pilotFadeIn .45s var(--apple-ease) both;}
@keyframes pilotFadeIn{
  from{opacity:0;transform:translateY(8px);}
  to{opacity:1;transform:translateY(0);}
}

/* Hide the existing modal action footer + zero out body padding while pilot is mounted */
#modal.pilot-mounted .modal-foot{display:none;}
#modal.pilot-mounted .modal-body{padding:0;background:#0a0a08;}
[data-theme="light"] #modal.pilot-mounted .modal-body{background:#f5f0e8;}
#modal.pilot-mounted .modal-head{border-bottom:1px solid var(--glass-border);}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .pilot-progress-fill,.pilot-feedback,.pilot-opt,.pilot-chip,.pilot-fade-in{
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
  }
}

@media (max-width:680px){
  .pilot-content{padding:1.1rem 1.1rem 6rem;}
  .pilot-feedback{padding:1rem 1.1rem 1.2rem;flex-wrap:wrap;}
  .pilot-feedback-cta{width:100%;padding:.85rem;}
}
