
:root{
  --stage:#060913;
  --stage2:#090e1c;
  --panel:#0c1323;
  --panel2:#0f192d;
  --panel3:#111d33;
  --line:#263750;
  --line-hi:#52657b;
  --text:#eef3fb;
  --muted:#8e9bad;
  --dim:#5f6d80;
  --amber:#ff4f9e;
  --amber-hi:#ff9eca;
  --green:#46f58a;
  --green-deep:#0b5d36;
  --red:#ff5438;
  --blue:#87b9ff;
  --cyan:#8ed9e8;
  --shadow:0 16px 50px rgba(0,0,0,.34);
  --glow-amber:0 0 0 1px rgba(255,79,158,.28),0 0 28px rgba(255,79,158,.10);
  --glow-green:0 0 0 1px rgba(70,245,138,.26),0 0 22px rgba(70,245,138,.08);
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
}
*{box-sizing:border-box}
html{background:var(--stage)}
body{
  margin:0;
  min-height:100vh;
  color:var(--text);
  font-family:var(--sans);
  background:
    radial-gradient(circle at 50% -10%,rgba(40,72,118,.16),transparent 34%),
    radial-gradient(circle at 10% 18%,rgba(70,245,138,.035),transparent 22%),
    linear-gradient(180deg,var(--stage),var(--stage2) 48%,#070b16);
}
body:before{
  content:"";
  position:fixed;inset:0;pointer-events:none;z-index:-1;
  background-image:
    linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.009) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.62),transparent 78%);
}
header{
  position:sticky;top:0;z-index:20;
  background:rgba(6,9,19,.91);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(104,129,158,.28);
  box-shadow:0 10px 32px rgba(0,0,0,.22);
}
.wrap{max-width:1180px;margin:auto;padding:16px 18px}
.brand{display:flex;align-items:center;gap:13px;min-height:54px}
.mark{
  position:relative;
  width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  color:var(--amber-hi);font-family:var(--mono);font-weight:800;font-size:.78rem;
  background:radial-gradient(circle at 50% 50%,rgba(255,79,158,.20),rgba(8,14,27,.96) 47%,#070b15 70%);
  border:1px solid #6c7f95;
  box-shadow:0 0 0 4px rgba(96,126,158,.08),0 0 20px rgba(255,79,158,.12);
}
.mark:before,.mark:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(139,181,225,.34)}
.mark:before{inset:-5px}.mark:after{inset:7px;border-color:rgba(255,79,158,.42)}
h1,h2,h3{letter-spacing:-.025em}
h1{font-size:1.28rem;margin:0 0 3px;font-weight:720}
h2{font-size:1.78rem;margin:.18em 0 .58em;font-weight:680;line-height:1.12}
h3{font-size:1.02rem;margin:1.25em 0 .55em;font-weight:680}
.sub,.small{color:var(--muted)}
.sub{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.63rem;
}
.grid{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(290px,.68fr);gap:15px}
@media(max-width:860px){.grid{grid-template-columns:1fr}.wrap{padding:13px}.brand{min-height:48px}}
.card{
  position:relative;
  background:linear-gradient(180deg,rgba(15,25,45,.93),rgba(10,17,31,.95));
  border:1px solid rgba(83,106,135,.48);
  border-radius:13px;
  padding:17px;
  margin:0 0 15px;
  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.025);
  overflow:hidden;
}
.card:before{
  content:"";
  position:absolute;left:0;top:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(145,187,230,.25),transparent)
}
.instrument-rail{
  display:flex;gap:7px;flex-wrap:wrap;align-items:center;
  margin:0 0 13px;padding:0 0 11px;border-bottom:1px solid rgba(83,106,135,.25);
  font-family:var(--mono);font-size:.63rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)
}
.status-pill,.tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 8px;border-radius:5px;
  background:#0a1221;
  border:1px solid #2b4059;
  color:var(--blue);
  font-family:var(--mono);
  font-size:.62rem;
  letter-spacing:.065em;
  text-transform:uppercase;
  margin:0 5px 5px 0;
}
.status-pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 9px currentColor}
.status-pill.live{color:var(--green);border-color:rgba(70,245,138,.30)}
.status-pill.human{color:var(--amber-hi);border-color:rgba(255,79,158,.34)}
.status-pill.risk{color:var(--red);border-color:rgba(255,84,56,.33)}
p,li{line-height:1.56}
strong{color:#f6f8fc}
.phase{
  display:grid;grid-template-columns:74px 1fr;gap:12px;
  padding:12px 0;border-top:1px solid rgba(88,111,140,.24)
}
.phase:first-of-type{border-top:0}
.time{
  font-family:var(--mono);font-size:.75rem;color:var(--amber-hi);font-weight:750;
  letter-spacing:.04em
}
button,select,input,textarea{font:inherit}
button{
  position:relative;
  border:1px solid rgba(70,245,138,.35);
  border-radius:6px;
  padding:9px 13px;
  background:linear-gradient(180deg,#126337,#0d4d2d);
  color:#eafff2;
  font-family:var(--mono);font-size:.72rem;font-weight:760;
  letter-spacing:.045em;text-transform:uppercase;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 16px rgba(70,245,138,.05);
}
button:hover{filter:brightness(1.09)}
button.secondary{
  background:linear-gradient(180deg,#15233a,#0d1728);
  color:#d7e3f3;border-color:#334b67;box-shadow:none
}
button.danger{background:linear-gradient(180deg,#76291d,#551d16);color:#ffe4df;border-color:rgba(255,84,56,.45)}
button:disabled{opacity:.45;cursor:not-allowed}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.grow{flex:1}
.timer{
  font-family:var(--mono);font-size:2.15rem;font-weight:760;letter-spacing:.06em;
  color:var(--amber-hi);text-shadow:0 0 18px rgba(255,79,158,.16)
}
.progress{
  height:6px;background:#070c16;border:1px solid #26384f;border-radius:99px;overflow:hidden
}
.bar{height:100%;background:linear-gradient(90deg,#1d8c53,var(--green));width:0;box-shadow:0 0 12px rgba(70,245,138,.32)}
textarea,input,select{
  background:#070d19;color:var(--text);border:1px solid #31445d;border-radius:6px;padding:10px;
  outline:none
}
textarea:focus,input:focus,select:focus{border-color:#658bb8;box-shadow:0 0 0 2px rgba(135,185,255,.08)}
textarea{width:100%;min-height:145px;resize:vertical}
.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.day{
  aspect-ratio:1;border-radius:7px;background:#080f1c;border:1px solid #283b52;
  display:grid;place-items:center;cursor:pointer;
  font-family:var(--mono);font-weight:730;font-size:.72rem;color:#9aabbe;
  transition:.15s ease
}
.day:hover{border-color:#55718f;color:#e5edf7}
.day.done{background:#0c2b1d;border-color:#21633f;color:var(--green);box-shadow:inset 0 0 12px rgba(70,245,138,.05)}
.day.active{outline:1px solid var(--amber);box-shadow:0 0 15px rgba(255,79,158,.12);color:var(--amber-hi)}
.scoregrid{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center}
.scoregrid label{font-size:.85rem;color:#c4cfdd}
.scoregrid input{width:65px;font-family:var(--mono)}
.metric{padding:9px 0;border-bottom:1px solid rgba(88,111,140,.22)}
.metric:last-child{border:0}
.feedback li{margin:.42em 0}
.good{color:var(--green)!important}.warn{color:var(--amber-hi)!important}.red{color:var(--red)!important}
.analogy{
  background:linear-gradient(90deg,rgba(255,79,158,.095),rgba(12,19,35,.4));
  border:1px solid rgba(255,79,158,.25);
  border-left:3px solid var(--amber);
  padding:12px 14px;border-radius:8px;box-shadow:var(--glow-amber)
}
.scenario{
  background:linear-gradient(90deg,rgba(135,185,255,.07),rgba(12,19,35,.35));
  border:1px solid rgba(135,185,255,.18);
  border-left:3px solid var(--blue);
  padding:12px 14px;border-radius:8px
}
details{border-top:1px solid rgba(88,111,140,.24);padding-top:11px;margin-top:12px}
summary{cursor:pointer;font-family:var(--mono);font-size:.74rem;color:var(--blue);letter-spacing:.03em}
.quizopt{
  display:block;margin:7px 0;padding:10px;border-radius:6px;background:#08101d;
  border:1px solid #2d4057;cursor:pointer;color:#dce5f1
}
.quizopt.correct{border-color:rgba(70,245,138,.55);background:#0d2c1e;color:#dffff0}
.quizopt.wrong{border-color:rgba(255,84,56,.55);background:#2f1616;color:#ffe2dc}
code{
  font-family:var(--mono);font-size:.86em;background:#060b14;border:1px solid #24374f;
  padding:2px 5px;border-radius:4px;color:#b9d7ff
}
footer{
  color:var(--dim);font-family:var(--mono);font-size:.64rem;letter-spacing:.055em;
  text-transform:uppercase;padding-bottom:34px
}
.section-kicker{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;color:var(--amber-hi)
}
.panel-title{
  display:flex;align-items:center;justify-content:space-between;gap:10px
}
.panel-title:after{
  content:"";height:1px;flex:1;max-width:80px;background:linear-gradient(90deg,rgba(102,132,166,.5),transparent)
}


/* Chorix Narrator / Vocx companion */
.voice-console{border-color:rgba(255,79,158,.34)!important;box-shadow:var(--shadow),0 0 26px rgba(255,79,158,.055)!important}
.voice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.voice-orb{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,79,158,.62);color:var(--amber-hi);background:radial-gradient(circle,rgba(255,79,158,.18),rgba(9,14,27,.95) 67%);box-shadow:0 0 16px rgba(255,79,158,.14);font-family:var(--mono);font-size:.68rem}
.voice-status{font-family:var(--mono);font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);min-height:1.4em;margin-top:9px}
.voice-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}
.voice-controls button{padding:9px 7px}
.voice-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.voice-settings label{font-family:var(--mono);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.voice-settings select{display:block;width:100%;margin-top:5px;font-size:.72rem}
.voice-active{
  outline:1px solid rgba(255,79,158,.7)!important;
  outline-offset:3px;
  background-color:rgba(255,79,158,.045)!important;
  transition:outline-color .2s ease,background-color .2s ease
}
.voice-primary{grid-column:span 2;background:linear-gradient(180deg,#7a264c,#571b36)!important;border-color:rgba(255,79,158,.55)!important;color:#ffdfee!important;box-shadow:0 0 16px rgba(255,79,158,.08)!important}
.voice-dictate{margin-top:8px}
@media(max-width:480px){.voice-controls{grid-template-columns:1fr 1fr}.voice-primary{grid-column:span 2}.voice-settings{grid-template-columns:1fr}}


/* hands-free training bridge */
.hf-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:9px}
.hf-led{width:7px;height:7px;border-radius:50%;background:var(--dim);box-shadow:none}
.hf-led.on{background:var(--green);box-shadow:0 0 12px rgba(70,245,138,.65)}
.hf-led.speaking{background:var(--amber);box-shadow:0 0 12px rgba(255,79,158,.65)}
.hf-led.listening{background:var(--blue);box-shadow:0 0 12px rgba(135,185,255,.65)}
.hf-transcript{font-family:var(--mono);font-size:.66rem;color:#b7c7da;background:#060c16;border:1px solid #25384f;border-radius:6px;padding:9px;margin-top:9px;min-height:36px}
.hf-command-help{font-family:var(--mono);font-size:.61rem;color:var(--muted);line-height:1.5;margin-top:8px}
.hf-toggle.on{border-color:rgba(70,245,138,.5)!important;background:linear-gradient(180deg,#126337,#0d4d2d)!important}

/* PitchForge Pro substantive training */
.pacebar{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:12px 0 18px}
.pace{padding:8px 6px;border:1px solid #2b4059;border-radius:6px;background:#09111e;text-align:center}
.pace b{display:block;font-family:var(--mono);font-size:.65rem;color:var(--amber-hi);margin-bottom:3px}
.pace span{display:block;font-size:.66rem;color:var(--muted)}
.lesson-section{border-top:1px solid rgba(88,111,140,.25);padding-top:14px;margin-top:16px}
.qa{background:#08101c;border:1px solid #2b3f57;border-radius:8px;padding:10px 12px;margin:9px 0}
.qa summary{font-family:var(--sans);font-size:.93rem;color:var(--text);font-weight:680}
.answer{padding:10px 3px 2px}.answer-label,.code-label{font-family:var(--mono);font-size:.61rem;letter-spacing:.08em;text-transform:uppercase}
.answer-label{color:var(--green)}.example{background:#0b1524;border-left:3px solid var(--blue);padding:9px 11px;border-radius:6px;color:#cad6e4}
.examplecase{margin:13px 0 18px}.examplecase-title{font-weight:700;margin-bottom:8px}
.phrase{padding:11px;border-radius:7px;margin:7px 0;line-height:1.5}.phrase.bad{background:#251216;border:1px solid rgba(255,84,56,.28)}.phrase.goodbox{background:#0b2418;border:1px solid rgba(70,245,138,.28)}
.code-label.risk{color:var(--red);margin-bottom:4px}.code-label.good{color:var(--green);margin-bottom:4px}
.objection-card{background:#07101c;border:1px solid rgba(255,79,158,.28);border-left:3px solid var(--amber);border-radius:8px;padding:12px}
.model-answer{background:#0a1724;border:1px solid #2a435d;border-radius:7px;padding:10px;margin:8px 0}
.decision-grid{display:grid;gap:7px;margin:10px 0}.decision-opt{text-align:left;text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:.86rem}
.decision-opt.correct{border-color:rgba(70,245,138,.55)!important;background:#0d2c1e!important;color:#dffff0!important}
.decision-opt.wrong{border-color:rgba(255,84,56,.58)!important;background:#321817!important;color:#ffe1dc!important}
.reveal{background:#07101c;border:1px dashed #324962;border-radius:8px;padding:11px;margin-top:10px}
.time-chip{font-family:var(--mono);font-size:.63rem;color:var(--amber-hi);letter-spacing:.07em;text-transform:uppercase;margin-bottom:5px}
.takeaway{background:linear-gradient(90deg,rgba(70,245,138,.075),rgba(12,19,35,.3));border-left:3px solid var(--green);padding:11px 13px;border-radius:7px}
.scoregrid{display:grid;grid-template-columns:1fr 70px;gap:8px 10px;align-items:center}.scoregrid input{width:100%}
audio{width:100%;margin-top:10px}
@media(max-width:760px){.pacebar{grid-template-columns:1fr 1fr}.pace:last-child{grid-column:span 2}}
