
:root{
  --bg:#080f1f;--side:#0b1427;--panel:#111c31;--panel2:#0c1628;--line:#263552;
  --text:#eef4ff;--muted:#a1afc7;--dim:#71809b;--accent:#85e4c4;--accent2:#81baff;
  --good:#8be7a9;--warn:#ffd378;--bad:#ff9b9b;--code:#050a13;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input{font:inherit}
.app{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}
.sidebar{height:100vh;position:sticky;top:0;background:var(--side);border-right:1px solid var(--line);padding:24px 18px;overflow:auto}
.brand{display:flex;gap:11px;align-items:center;margin-bottom:26px}
.brand-mark{width:40px;height:40px;border-radius:11px;border:1px solid #39506f;display:grid;place-items:center;color:var(--accent);font-weight:900}
.brand strong{display:block;font-size:13px}.brand span{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.progress-label{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-bottom:7px}
.progress-track{height:6px;background:#1b2942;border-radius:99px;overflow:hidden;margin-bottom:22px}
.progress-track>div{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));width:0}
#nav{display:grid;gap:5px}
.nav-item{width:100%;border:0;background:transparent;color:var(--muted);text-align:left;padding:10px;border-radius:9px;cursor:pointer;display:flex;gap:9px}
.nav-item:hover{background:#111d33}.nav-item.active{background:#16243e;color:var(--text);box-shadow:inset 3px 0 var(--accent)}
.nav-item.done .num{background:var(--good);color:#06120c;border-color:var(--good)}
.num{width:18px;height:18px;border:1px solid #435574;border-radius:50%;display:grid;place-items:center;font-size:9px;flex:none;margin-top:1px}
.nav-copy strong{display:block;font-size:11px}.nav-copy span{display:block;color:#75839c;font-size:10px;margin-top:2px;line-height:1.3}
.main{min-width:0;display:grid;grid-template-rows:auto 1fr auto}
.header{padding:28px 48px 18px;border-bottom:1px solid var(--line)}
.header h1{margin:5px 0 4px;font-size:clamp(28px,3vw,42px);letter-spacing:-.04em}
.eyebrow{font-size:10px;font-weight:900;color:var(--accent);letter-spacing:.15em}
.subtitle{margin:0;color:var(--muted);font-size:13px}
.workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.85fr);gap:26px;padding:28px 48px 34px;align-items:start}
.lesson,.status{min-width:0}.status{position:sticky;top:22px;display:grid;gap:14px}
.card,.status-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:0 16px 38px rgba(0,0,0,.22)}
.card+.card{margin-top:16px}.card h2,.status-card h3{margin:0 0 10px;letter-spacing:-.025em}.card h2{font-size:25px}.status-card h3{font-size:18px}
.card p,.card li,.status-card p{color:#bdc7d9;line-height:1.63}.card p:last-child,.status-card p:last-child{margin-bottom:0}
.mission{border-left:4px solid var(--accent);background:linear-gradient(135deg,rgba(133,228,196,.07),rgba(129,186,255,.035))}
.label,.status-kicker{font-size:10px;font-weight:900;letter-spacing:.13em;color:var(--accent);margin-bottom:9px}
.win,.tip,.callout{margin-top:16px;border-radius:12px;padding:14px 15px}
.win{border:1px solid #386556;background:#0d211d}.win strong,.callout strong{color:var(--accent)}
.tip{border:1px solid #31435f;background:#101a2e;color:#bfcbdf;line-height:1.5;font-size:13px}
.callout{border:1px solid #49613e;background:#172219}
.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.tool{padding:14px;border:1px solid var(--line);border-radius:11px;background:#0d172a}.tool strong{display:block;color:var(--accent);margin-bottom:5px}.tool span{font-size:12px;color:#aab7cc;line-height:1.45}
.platform-switch{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.platform-btn{border:1px solid #394a67;background:#0f1a2e;color:#c7d1e2;border-radius:9px;padding:10px 13px;cursor:pointer;font-weight:800}
.platform-btn.active{border-color:var(--accent);background:#14342d;color:#e8fff6}
.platform-panel.hidden{display:none}.steps{padding-left:22px}.steps li{margin:8px 0}
a{color:#9bc9ff}.terminal,.code-box{background:var(--code);border:1px solid #26334c;border-radius:13px;overflow:auto}
.terminal-head,.code-head{height:36px;border-bottom:1px solid #1b263d;display:flex;align-items:center;padding:0 13px;color:#6f7e98;font-size:10px}
.terminal pre,.code-box pre{margin:0;padding:17px;color:#dce5f4;white-space:pre-wrap;font:12.5px/1.6 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.cmd{color:var(--accent)}.good{color:var(--good)}.warn{color:var(--warn)}
.checklist{display:grid;gap:9px;margin-top:15px}.check{display:flex;gap:10px;align-items:center;border:1px solid var(--line);background:#0e192c;border-radius:10px;padding:11px 13px}.check input{width:17px;height:17px;accent-color:#7ee2bd}
.question{margin-top:16px;border:1px solid #34445e;background:#0f192d;border-radius:13px;padding:18px}
.question>strong{display:block;margin-bottom:12px}.options{display:grid;gap:8px}.option{border:1px solid #34445e;background:#121e34;color:#dde7f7;text-align:left;padding:11px 13px;border-radius:9px;cursor:pointer}.option:hover{border-color:#56749e}.option.selected{border-color:var(--accent2);background:#172b48}
.feedback{display:none;margin-top:10px;padding:11px 13px;border-radius:9px;font-size:12px;line-height:1.5}.feedback.show{display:block}.feedback.correct{border:1px solid #34704d;background:#0c2518;color:#bbedc9}.feedback.incorrect{border:1px solid #744545;background:#291717;color:#f0bcbc}
.action-check{margin-top:16px}
.file-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.file-tab{border:1px solid #374861;background:#111d31;color:#b9c5d8;border-radius:8px;padding:8px 10px;cursor:pointer;font-size:11px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left}.file-name{font:inherit}.file-role{font-size:8px;font-weight:900;letter-spacing:.08em;color:#70829d}.file-tab.active{border-color:var(--accent);color:var(--text);background:#17352e}.file-tab.active .file-role{color:var(--accent)}.file-tab.seen .file-name::after{content:" ✓";color:var(--good)}
.status-card{padding:19px}.status-progress{height:6px;background:#1b2942;border-radius:99px;overflow:hidden;margin-top:12px}.status-progress div{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2))}
.status-metric{display:flex;justify-content:space-between;color:#8090a8;font-size:11px;margin-top:8px}
.status-list{display:grid;gap:8px;margin-top:10px}.status-row{display:flex;gap:9px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.status-row:last-child{border-bottom:0}
.status-icon{width:19px;height:19px;border-radius:50%;border:1px solid #43536c;display:grid;place-items:center;font-size:9px;color:#75839b;flex:none}.status-row.done .status-icon{background:var(--good);border-color:var(--good);color:#07120a}.status-row.current .status-icon{border-color:var(--accent);color:var(--accent)}
.status-copy strong{display:block;font-size:11px}.status-copy span{display:block;color:#75839b;font-size:10px;margin-top:2px;line-height:1.35}
.status-highlight{border-color:#365f56;background:#0c1d1a}
.footer{position:sticky;bottom:0;border-top:1px solid var(--line);background:#0a1222;padding:14px 48px;display:flex;justify-content:space-between;align-items:center;gap:16px;color:#75839b;font-size:11px}
.btn{border:0;border-radius:9px;padding:10px 15px;font-weight:900;cursor:pointer}.btn.primary{background:var(--accent);color:#05120d}.btn.secondary{background:#17233a;color:#c5d0e1}.btn:disabled{opacity:.35;cursor:not-allowed}
.cap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.cap{border:1px solid var(--line);background:#0d172a;border-radius:11px;padding:13px}.cap strong{display:block;color:var(--good);font-size:11px;margin-bottom:5px}.cap span{font-size:12px;color:#aebacf}
.change{border-color:#735f31;background:linear-gradient(135deg,rgba(255,211,120,.09),rgba(255,255,255,.01))}.request{font-size:20px!important;color:#f4ebd8!important}
@media(max-width:1100px){.workspace{grid-template-columns:1fr}.status{position:static}}
@media(max-width:800px){.app{grid-template-columns:1fr}.sidebar{display:none}.header,.workspace,.footer{padding-left:22px;padding-right:22px}.tool-grid,.cap-grid{grid-template-columns:1fr}}

/* Screen 1 polish: grouped navigation and outcome-focused opening status */
.nav-group{border-top:1px solid rgba(255,255,255,.055);padding:8px 0 2px}.nav-group:first-child{border-top:0}.nav-group-head{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;color:#74839d;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.nav-group.open .nav-group-head{color:#b7c3d7}.nav-group-count{font-size:9px;letter-spacing:0;color:#63728b;font-weight:700}.nav-group .nav-item{margin-top:2px}.outcome-list .status-row{padding:10px 0}.outcome-list .status-icon{border-color:#3b6b5c;color:var(--accent)}


/* Screen 2 setup overview */
.tool-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:5px;
}
.tool-top strong{margin-bottom:0}
.tool-badge{
  flex:0 0 auto;
  border:1px solid #3e5a73;
  background:#132339;
  color:#9fc9ef;
  border-radius:999px;
  padding:3px 6px;
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
}
.tool-badge.built-in{
  border-color:#3f6859;
  background:#11261f;
  color:#8de4bf;
}
.tool-badge.included{
  border-color:#5b536f;
  background:#1b1830;
  color:#c7b9ef;
}
.small-note{
  color:#7f8da6 !important;
  font-size:11px;
  margin-top:10px !important;
}


/* Screen 3 install guidance */
.download-callout{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:18px 0;
  padding:14px 15px;
  border:1px solid #35506b;
  border-radius:12px;
  background:#0f1b2f;
}
.download-callout strong{
  display:block;
  color:var(--text);
  margin-bottom:3px;
}
.download-callout span{
  color:#93a2ba;
  font-size:12px;
}
.download-btn{
  display:inline-block;
  flex:0 0 auto;
  padding:10px 13px;
  border-radius:9px;
  background:var(--accent);
  color:#06130e;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
}
.download-btn:hover{
  filter:brightness(1.04);
}
@media(max-width:700px){
  .download-callout{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* Setup completion confirmation */
.completion-panel{
  margin-top:18px;
  padding:16px;
  border:1px solid #40506b;
  border-radius:13px;
  background:#0d1729;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  transition:border-color .18s ease, background .18s ease;
}
.completion-panel.complete{
  border-color:#3f7a64;
  background:#0d211c;
}
.completion-copy{
  min-width:0;
}
.completion-label{
  color:var(--warn);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  margin-bottom:5px;
}
.completion-panel.complete .completion-label{
  color:var(--good);
}
.completion-copy strong{
  display:block;
  color:var(--text);
  margin-bottom:4px;
}
.completion-copy span{
  display:block;
  color:#8f9db4;
  font-size:11px;
  line-height:1.45;
}
.completion-check{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid #52617a;
  border-radius:10px;
  padding:11px 13px;
  background:#132038;
  color:#e2eaf7;
  cursor:pointer;
  font-weight:800;
  font-size:12px;
}
.completion-check:hover{
  border-color:var(--accent);
}
.completion-check input{
  width:19px;
  height:19px;
  accent-color:var(--accent);
}
.completion-panel.complete .completion-check{
  border-color:#4a826e;
  background:#163329;
}
@media(max-width:700px){
  .completion-panel{
    align-items:stretch;
    flex-direction:column;
  }
  .completion-check{
    justify-content:center;
  }
}


/* Screen 6 explanation panel */
.inset-card{
  margin-top:18px;
  padding:18px;
  background:#0d1728;
  box-shadow:none;
}
.inset-card h2{
  font-size:18px;
}


/* Screen 8 setup celebration */
.setup-complete-card{position:relative;overflow:hidden}
.readiness-list{display:grid;gap:10px;margin-top:14px}
.readiness-row{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:11px;padding:12px 14px;background:#0d1729}
.ready-icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:var(--good);color:#07120a;font-size:12px;font-weight:900}
.readiness-row strong{display:block;font-size:12px;color:var(--text)}
.readiness-row div span{display:block;margin-top:2px;color:#8290a8;font-size:10px}
.celebration-wrap{position:fixed;inset:86px 0 auto 270px;height:290px;pointer-events:none;z-index:20;overflow:hidden}
.fireworks-wrap{filter:drop-shadow(0 0 10px rgba(122,245,210,.22))}
.firework{position:absolute;width:22px;height:22px;opacity:0;transform:translate(-50%,-50%) scale(.25);animation:firework-burst 1.5s ease-out forwards}
.firework .core{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,#eafffb 0%, var(--accent) 45%, rgba(122,245,210,0) 72%)}
.firework .ray{position:absolute;left:50%;top:50%;width:4px;height:42px;transform-origin:50% 0;border-radius:999px;background:linear-gradient(to bottom, rgba(234,255,251,.98), rgba(122,245,210,.92) 35%, rgba(122,245,210,.18) 100%)}
.firework .r1{transform:translate(-50%,-50%) rotate(0deg)}
.firework .r2{transform:translate(-50%,-50%) rotate(45deg)}
.firework .r3{transform:translate(-50%,-50%) rotate(90deg)}
.firework .r4{transform:translate(-50%,-50%) rotate(135deg)}
.firework .r5{transform:translate(-50%,-50%) rotate(180deg)}
.firework .r6{transform:translate(-50%,-50%) rotate(225deg)}
.firework .r7{transform:translate(-50%,-50%) rotate(270deg)}
.firework .r8{transform:translate(-50%,-50%) rotate(315deg)}
.fw1{left:18%;top:74px;animation-delay:.02s}
.fw2{left:51%;top:28px;animation-delay:.18s}
.fw3{left:82%;top:88px;animation-delay:.32s}
.spark{position:absolute;top:26px;color:var(--accent);opacity:0;font-size:18px;animation:celebrate-fall 1.9s ease-out forwards;text-shadow:0 0 8px rgba(122,245,210,.45)}
.s1{left:10%;animation-delay:.16s}.s2{left:14%;animation-delay:.28s}.s3{left:22%;animation-delay:.42s}.s4{left:46%;animation-delay:.36s}.s5{left:54%;animation-delay:.48s}.s6{left:58%;animation-delay:.62s}.s7{left:78%;animation-delay:.40s}.s8{left:86%;animation-delay:.56s}.s9{left:26%;animation-delay:.52s}.s10{left:66%;animation-delay:.72s}.s11{left:90%;animation-delay:.68s}
@keyframes firework-burst{0%{transform:translate(-50%,-50%) scale(.18);opacity:0}15%{opacity:1}55%{transform:translate(-50%,-50%) scale(1);opacity:1}100%{transform:translate(-50%,-50%) scale(1.18);opacity:0}}
@keyframes celebrate-fall{0%{transform:translateY(-10px) scale(.45);opacity:0}20%{opacity:1}100%{transform:translateY(205px) scale(1) rotate(135deg);opacity:0}}
@media (prefers-reduced-motion: reduce){.firework,.spark{animation:none;display:none}}
@media(max-width:800px){.celebration-wrap{left:0}}



/* Course introduction / Lead Scorer */
.project-teaser{border-color:rgba(122,245,210,.25)}
.teaser-flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.teaser-flow span{border:1px solid var(--line);background:#0d1729;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800;color:var(--text)}
.teaser-flow b{color:var(--accent)}
.lead-demo{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:stretch;margin-top:14px}
.lead-demo-card{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#0d1729;min-width:0}
.lead-demo-card strong{font-size:15px;color:var(--text)}
.lead-demo-card span:not(.demo-kicker):not(.lead-result){font-size:10px;color:#91a0b7}
.demo-kicker{font-size:9px;font-weight:900;letter-spacing:.11em;color:var(--accent)}
.lead-demo-card.result{justify-content:center;text-align:center;border-color:rgba(122,245,210,.32)}
.lead-result{display:inline-block;align-self:center;margin-top:4px;padding:7px 11px;border-radius:999px;background:rgba(122,245,210,.14);border:1px solid rgba(122,245,210,.35);color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.05em}
.lead-arrow{display:grid;place-items:center;color:var(--accent);font-size:22px;font-weight:900}
.outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.outcome-chip{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:10px;padding:12px;background:#0d1729}
.outcome-chip strong{font-size:10px;color:var(--accent)}
.outcome-chip span{font-size:10px;color:#91a0b7}
@media(max-width:900px){
  .lead-demo{grid-template-columns:1fr}
  .lead-arrow{transform:rotate(90deg)}
  .outcome-grid{grid-template-columns:1fr}
}


/* Chat-style copy control for terminal examples */
.terminal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.terminal-copy{
  appearance:none;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
  color:#aab5c8;
  border-radius:7px;
  padding:5px 8px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font:inherit;
  font-size:10px;
  line-height:1;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.terminal-copy:hover{
  color:var(--text);
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.2);
}
.terminal-copy:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.terminal-copy.copied{
  color:var(--accent);
  border-color:rgba(122,245,210,.35);
  background:rgba(122,245,210,.08);
}
.copy-icon{font-size:11px;font-weight:900}


/* Reusable course reference library + code focus */
.code-focus{display:block;margin:0 -8px;padding:0 8px;border-left:3px solid var(--accent);background:rgba(122,245,210,.08)}
.reference-link{appearance:none;border:0;background:transparent;color:var(--accent);padding:8px 0 0;font:inherit;font-size:11px;font-weight:800;cursor:pointer;text-align:left}
.reference-link:hover{text-decoration:underline}
.reference-link code{color:inherit}
.reference-modal{display:none;position:fixed;inset:0;z-index:100}
.reference-modal.open{display:block}
.reference-backdrop{position:absolute;inset:0;background:rgba(3,8,17,.72);backdrop-filter:blur(3px)}
.reference-dialog{position:relative;width:min(560px,calc(100% - 32px));margin:12vh auto 0;background:#111d31;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.45)}
.reference-kicker{font-size:9px;font-weight:900;letter-spacing:.12em;color:var(--accent);margin-bottom:8px}
.reference-dialog h2{margin:0 34px 12px 0;font-size:22px}
.reference-body{color:#c5cfdf;line-height:1.65;font-size:13px}
.reference-body code{color:#e5ecf7;background:#0b1423;border:1px solid var(--line);border-radius:5px;padding:1px 4px}
.reference-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:#9aa8bd;font-size:28px;line-height:1;cursor:pointer}
.reference-close:hover{color:var(--text)}

/* V28 front-door rebuild */
.belief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}
.belief-grid .card{margin-top:0}
.belief-card h2{font-size:20px}
.mission-cap-grid{margin:0 0 16px}
.setup-purpose-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.purpose-item{border:1px solid var(--line);background:#0d172a;border-radius:11px;padding:14px}
.purpose-item strong{display:block;color:var(--text);font-size:12px;margin-bottom:5px}
.purpose-item span{display:block;color:#97a5ba;font-size:11px;line-height:1.45}
.setup-commitment{border-color:#3c6659;background:linear-gradient(135deg,rgba(133,228,196,.06),rgba(17,28,49,.88))}
@media(max-width:800px){.belief-grid,.setup-purpose-grid{grid-template-columns:1fr}}

/* V29: Module 1 transition and two-step close */
.next-assignment{border-color:#3b5f77;background:linear-gradient(135deg,rgba(129,186,255,.08),rgba(133,228,196,.035))}
.module-path{display:grid;gap:10px;margin-top:15px}
.module-step{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);background:#0d172a;border-radius:11px;padding:13px}
.module-step>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#16372f;border:1px solid #3f7665;color:var(--accent);font-size:11px;font-weight:900;flex:none}
.module-step strong{display:block;font-size:13px;color:#e8effa;margin-bottom:3px}
.module-step small{display:block;color:#8796ae;font-size:11px;line-height:1.45}
.decision-stage{border-color:#4d607e;background:linear-gradient(150deg,rgba(129,186,255,.055),rgba(255,255,255,.01))}
.decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}
.decision-option{border:1px solid #344660;background:#0c172a;border-radius:12px;padding:15px}
.decision-option strong{display:block;color:#e6eefb;font-size:12px;line-height:1.35;margin-bottom:7px}
.decision-option span{display:block;color:#8f9db3;font-size:11px;line-height:1.5}
.curiosity-stop{margin-top:20px;border:1px solid #736036;background:linear-gradient(135deg,rgba(255,211,120,.08),rgba(255,255,255,.01));border-radius:13px;padding:17px}
.curiosity-stop>span{display:block;color:var(--warn);font-size:9px;font-weight:900;letter-spacing:.12em;margin-bottom:7px}
.curiosity-stop>strong{display:block;font-size:18px;line-height:1.35;color:#f2ead8}
.curiosity-stop p{font-size:12px;margin-bottom:0}
.close-card{border-color:#3e725f;background:linear-gradient(135deg,rgba(133,228,196,.08),rgba(129,186,255,.035))}
.enroll-cta{margin-top:8px;border:0;border-radius:10px;background:var(--accent);color:#06130e;padding:13px 17px;font-weight:900;cursor:pointer;font-size:13px}
.enroll-cta:hover{filter:brightness(1.04)}
.close-note{font-size:10px!important;color:#6f7e96!important;margin-top:10px!important}
@media(max-width:900px){.decision-grid{grid-template-columns:1fr}}

/* V31: assessment + Builder Profile foundation */
.profile-shortcut{width:100%;margin:14px 0 12px;padding:10px 12px;border:1px solid #2b4261;border-radius:10px;background:#0c1729;color:#d9e6f7;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}.profile-shortcut span{font-size:12px;font-weight:850}.profile-shortcut small{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#8394aa}.profile-shortcut.active-profile{border-color:#376a5d;background:rgba(132,229,194,.055)}.profile-shortcut.active-profile small{color:#84e5c2}
.assessment-grid{display:grid;gap:14px}.assessment-group{margin:0}.assessment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.assessment-choice{border:1px solid #2d405d;background:#0c1729;color:#c6d2e3;border-radius:10px;padding:12px 13px;text-align:left;line-height:1.35;cursor:pointer}.assessment-choice:hover{border-color:#4d698d;color:#fff}.assessment-choice.selected{border-color:#6bcfb0;background:rgba(132,229,194,.08);color:#effff9;box-shadow:inset 0 0 0 1px rgba(132,229,194,.15)}.assessment-result-btn{margin-top:10px}.assessment-result{display:none;margin-top:18px}.assessment-result.show{display:block}.assessment-result-inner{border:1px solid #376a5d;background:rgba(132,229,194,.055);border-radius:12px;padding:18px}.assessment-result-inner h3{margin-top:0}.starting-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.starting-summary>div{border:1px solid #293b55;background:#0a1423;border-radius:10px;padding:12px}.starting-summary span{display:block;font-size:8px;letter-spacing:.12em;font-weight:900;color:#7890aa;margin-bottom:5px}.starting-summary strong{font-size:12px;line-height:1.4;color:#e8f0fb}.muted-copy{color:#8fa0b4}.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.profile-growth-list{display:grid;gap:12px}.profile-growth-list>div{padding-bottom:12px;border-bottom:1px solid #24344c}.profile-growth-list>div:last-child{border-bottom:0;padding-bottom:0}.profile-growth-list strong,.profile-growth-list span{display:block}.profile-growth-list strong{font-size:12px;color:#edf4ff;margin-bottom:4px}.profile-growth-list span{font-size:11px;line-height:1.45;color:#8fa0b4}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.profile-fields label span{display:block;font-size:9px;font-weight:850;letter-spacing:.08em;color:#8ea0b7;margin-bottom:6px}.profile-fields input,.setup-question-box textarea{width:100%;border:1px solid #30445f;background:#081321;color:#edf4ff;border-radius:9px;padding:11px 12px;font:inherit}.profile-save-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:13px}.profile-save-status{font-size:10px;color:#8293a8}.setup-starting-point summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;list-style:none}.setup-starting-point summary::-webkit-details-marker{display:none}.details-hint{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#7590aa}.setup-starting-body{border-top:1px solid #263851;margin-top:14px;padding-top:14px}.setup-mini-check{display:flex;gap:9px;align-items:flex-start;margin:9px 0;color:#b9c5d7;font-size:12px}.setup-question-box{margin-top:16px;padding-top:14px;border-top:1px solid #263851}.setup-question-box label{display:block;margin-bottom:8px}.setup-question-box textarea{display:block;resize:vertical;margin-bottom:10px}.nav-item.locked{opacity:.48;cursor:not-allowed}.nav-group.future.locked{opacity:.45}.profile-dialog{max-width:700px}.profile-modal-section{border-top:1px solid #2a3a52;margin-top:18px;padding-top:16px}.profile-modal-label{display:block;font-size:8px;font-weight:900;letter-spacing:.12em;color:#84e5c2;margin-bottom:7px}.profile-modal-section p,.profile-modal-section li{color:#aab7ca;line-height:1.55;font-size:12px}.profile-modal-section ul{padding-left:18px}
@media(max-width:760px){.assessment-options,.starting-summary,.profile-layout,.profile-fields{grid-template-columns:1fr}}

/* V34: embedded reinforcement game */
.game-intro .game-profile-note{
  margin-top:16px;
  padding:14px 16px;
  border:1px solid rgba(124,92,255,.22);
  border-radius:14px;
  background:rgba(124,92,255,.06);
  line-height:1.55;
}
.game-frame-wrap{
  margin-top:18px;
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  background:#08111f;
  box-shadow:0 18px 50px rgba(17,24,39,.12);
}
.game-frame{
  display:block;
  width:100%;
  min-height:760px;
  border:0;
  background:#08111f;
}
.game-completion{
  margin-top:14px;
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--card);
}
.game-completion strong{white-space:nowrap;}
.game-completion span{color:var(--muted);line-height:1.45;}
@media (max-width:900px){
  .game-frame{min-height:820px;}
  .game-completion{flex-direction:column;}
}
