.learn-page{
  --academy-soft:#f7f8fa;
  --academy-border:#e2e6eb;
  --academy-muted:#64748b;
  --academy-muted-dark:#475569;
  --academy-lime:#c9ff20;
  --academy-lime-soft:#f8ffdf;
  --academy-lime-border:#dff58b;
  --academy-lime-ink:#405700;
  --academy-yellow:#fff200;
  --academy-yellow-soft:#fffde0;
  --academy-yellow-border:#eee37f;
  --academy-yellow-ink:#6a5e00;
  --academy-red:#ef476f;
  --academy-red-soft:#fff0f4;
  --academy-red-border:#f4b2c2;
  --academy-red-ink:#9b2140;
}
.learn-page>.page-heading{margin-bottom:18px}
.learn-page>.page-content{min-width:0}
.learn-shell{display:grid;gap:var(--space-3);min-width:0}
.learn-shell [data-learn-panel][hidden]{display:none!important}
.learn-mode-switch{
  display:inline-flex;
  width:fit-content;
  max-width:100%;
  gap:4px;
  padding:4px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f7f8fa;
}
.learn-mode-switch__item{
  min-height:40px;
  padding:0 15px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#596579;
  font:inherit;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
}
.learn-mode-switch__item span{
  margin-left:6px;
  color:#84909f;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.learn-mode-switch__item:hover{background:#fff}
.learn-mode-switch__item.is-active{
  border:1px solid #b2df18;
  background:var(--academy-lime);
  color:#172000;
  box-shadow:0 1px 4px rgba(15,23,42,.08);
}
.learn-mode-switch__item.is-active span{color:#405700}
.learn-mode-switch__item:focus-visible,
.learn-page a:focus-visible,
.learn-page button:focus-visible{
  outline:2px solid var(--page-accent);
  outline-offset:3px;
}
.learn-academy{display:grid;gap:var(--space-4);min-width:0}
.academy-hero{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:clamp(24px,3vw,54px);
  align-items:stretch;
  padding:clamp(28px,3vw,54px);
  border:1px solid var(--line);
  border-radius:var(--app-shell-radius);
  background:#fff;
}
.academy-hero__copy{align-self:center;max-width:850px}
.academy-kicker{
  margin:0 0 12px;
  color:var(--academy-muted-dark);
  font-size:11px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.academy-hero h2{
  margin:0;
  font-size:clamp(40px,4vw,68px);
  line-height:.98;
  letter-spacing:-.045em;
}
.academy-hero__tagline{
  margin:18px 0 0;
  color:#273244;
  font-size:clamp(19px,1.5vw,25px);
  font-weight:700;
}
.academy-hero__description{
  max-width:720px;
  margin:12px 0 0;
  color:var(--muted);
  font-size:var(--font-base);
}
.academy-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.academy-hero__start.button--primary{
  border-color:#b2df18;
  background:var(--academy-lime);
  color:#172000;
}
.academy-hero__start.button--primary:hover{
  border-color:#a6d10e;
  background:#d4ff55;
  color:#172000;
}
.academy-progress{
  display:grid;
  align-content:start;
  gap:22px;
  min-width:0;
  padding:24px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fafbfd;
}
.academy-progress__head>div:first-child{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
}
.academy-progress__head span{
  color:#445064;
  font-size:13px;
  font-weight:700;
}
.academy-progress__head strong{
  color:#344054;
  font-size:30px;
  line-height:1;
}
.academy-progress__track{
  height:7px;
  margin-top:12px;
  border-radius:999px;
  background:#fff;
  overflow:hidden;
}
.academy-progress__track span{
  display:block;
  width:0;
  height:100%;
  background:var(--page-accent);
}
.academy-progress__stats{display:grid;gap:0;margin:0}
.academy-progress__stats>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:11px 0;
  border-top:1px solid var(--line);
}
.academy-progress__stats dt{color:#5d687a;font-size:12px}
.academy-progress__stats dd{
  margin:0;
  color:#263244;
  font-size:13px;
  font-weight:800;
}
.academy-text-action{
  width:fit-content;
  padding:0;
  border:0;
  background:transparent;
  color:#475569;
  font:inherit;
  font-size:13px;
  font-weight:800;
  text-align:left;
  cursor:pointer;
}
.academy-text-action:hover{color:#334155;text-decoration:underline}
.academy-path,
.academy-topics{
  min-width:0;
  padding:clamp(22px,2.2vw,34px);
  border:1px solid var(--line);
  border-radius:var(--app-shell-radius);
  background:#fff;
}
.academy-section-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:22px;
  margin-bottom:24px;
}
.academy-section-heading h2{
  margin:0;
  font-size:clamp(25px,2vw,34px);
  letter-spacing:-.025em;
}
.academy-section-heading>.academy-text-action{flex:none}
.academy-path__steps{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
  gap:12px;
  align-items:center;
}
.academy-path-step{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:center;
  min-width:0;
  padding:15px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fafbfd;
}
.academy-path-step>span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid var(--academy-border);
  border-radius:10px;
  background:var(--academy-soft);
  color:var(--academy-muted-dark);
  font-weight:800;
}
.academy-path-step--foundations{
  border-color:var(--academy-lime-border);
  background:#fdfff7;
}
.academy-path-step--foundations>span{
  border-color:#b2df18;
  background:var(--academy-lime);
  color:#172000;
}
.academy-path-step--foundations strong{color:var(--academy-lime-ink)}
.academy-path-step--core{
  border-color:var(--academy-yellow-border);
  background:#fffef7;
}
.academy-path-step--core>span{
  border-color:#ddd200;
  background:var(--academy-yellow);
  color:#352f00;
}
.academy-path-step--core strong{color:var(--academy-yellow-ink)}
.academy-path-step--advanced{
  border-color:var(--academy-red-border);
  background:#fffafb;
}
.academy-path-step--advanced>span{
  border-color:#d93b60;
  background:var(--academy-red);
  color:#2b0b14;
}
.academy-path-step--advanced strong{color:var(--academy-red-ink)}
.academy-path-step strong,.academy-path-step small{display:block}
.academy-path-step strong{font-size:14px}
.academy-path-step small{
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
}
.academy-path-arrow{color:#a9b0bc;font-size:22px;font-weight:700}
.academy-topics{scroll-margin-top:120px}
.academy-topic-groups{display:grid;gap:28px}
.academy-topic-group{
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  gap:22px;
  align-items:start;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.academy-topic-group:first-child{padding-top:0;border-top:0}
.academy-topic-group--foundations{
  --group-color:var(--academy-lime);
  --group-soft:var(--academy-lime-soft);
  --group-border:var(--academy-lime-border);
  --group-ink:var(--academy-lime-ink);
  --group-contrast:#172000;
}
.academy-topic-group--core{
  --group-color:var(--academy-yellow);
  --group-soft:var(--academy-yellow-soft);
  --group-border:var(--academy-yellow-border);
  --group-ink:var(--academy-yellow-ink);
  --group-contrast:#352f00;
}
.academy-topic-group--advanced{
  --group-color:var(--academy-red);
  --group-soft:var(--academy-red-soft);
  --group-border:var(--academy-red-border);
  --group-ink:var(--academy-red-ink);
  --group-contrast:#2b0b14;
}
.academy-topic-group__head{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-width:0;
}
.academy-topic-group__head>span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid var(--group-color);
  border-radius:9px;
  background:var(--group-color);
  color:var(--group-contrast);
  font-size:11px;
  font-weight:800;
}
.academy-topic-group__head h3{
  margin:0;
  color:var(--group-ink);
  font-size:15px;
  line-height:1.2;
}
.academy-topic-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  min-width:0;
}
.academy-topic-group--foundations .academy-topic-grid{
  grid-template-columns:minmax(0,1fr);
}
.academy-topic-group--advanced .academy-topic-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.academy-topic-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:220px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.academy-topic-card:hover{
  border-color:var(--group-border);
  background:linear-gradient(180deg,var(--group-soft) 0,#fff 34%);
  box-shadow:0 8px 22px rgba(15,23,42,.05);
  transform:translateY(-1px);
}
.academy-topic-card__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.academy-topic-card__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:32px;
  height:28px;
  padding:0 8px;
  border:1px solid var(--group-color);
  border-radius:8px;
  background:var(--group-color);
  color:var(--group-contrast);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}
.academy-topic-card__label{
  color:var(--group-ink);
  font-size:10px;
  font-weight:800;
  letter-spacing:.07em;
  text-align:right;
  text-transform:uppercase;
}
.academy-topic-card h3{
  margin:24px 0 9px;
  color:var(--ink);
  font-size:21px;
  line-height:1.15;
  letter-spacing:-.02em;
}
.academy-topic-card p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.academy-topic-card__foot{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  margin-top:auto;
  padding-top:20px;
}
.academy-topic-card__meta{
  color:#758194;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.academy-topic-card__open{
  color:var(--group-ink);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.academy-topic-card:hover .academy-topic-card__open{
  color:var(--group-ink);
  text-decoration:underline;
}
.academy-topic-card.is-coming-soon{
  background:#fbfcfd;
}
.academy-topic-card.is-coming-soon .academy-topic-card__number{
  border-color:var(--group-color);
  background:var(--group-color);
  color:var(--group-contrast);
}
.academy-topic-card.is-coming-soon .academy-topic-card__open{color:var(--group-ink)}
.academy-validation-note{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fafbfd;
}
.academy-validation-note strong{color:#344054;font-size:12px}
.academy-validation-note p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
.learn-speakerlab-placeholder{
  max-width:920px;
  min-height:360px;
  padding:clamp(32px,4vw,64px);
  border:1px solid var(--line);
  border-radius:var(--app-shell-radius);
  background:#fff;
}
.learn-speakerlab-placeholder h2{
  max-width:650px;
  margin:0;
  font-size:clamp(34px,3vw,52px);
  line-height:1;
  letter-spacing:-.04em;
}
.learn-speakerlab-placeholder>p:not(.academy-kicker){
  max-width:700px;
  margin:18px 0 0;
  color:var(--muted);
  font-size:var(--font-lg);
}
.learn-speakerlab-placeholder__status{
  display:inline-flex;
  margin-top:28px;
  padding:8px 11px;
  border:1px solid var(--academy-border);
  border-radius:9px;
  background:var(--academy-soft);
  color:var(--academy-muted-dark);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
@media(max-width:1120px){
  .academy-topic-group{
    grid-template-columns:minmax(0,1fr);
    gap:14px;
  }
  .academy-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .academy-topic-group--foundations .academy-topic-grid{grid-template-columns:minmax(0,1fr)}
  .academy-topic-group--advanced .academy-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .academy-hero{grid-template-columns:minmax(0,1fr)}
  .academy-progress{max-width:none}
}
@media(max-width:700px){
  .learn-mode-switch{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .learn-mode-switch__item{
    height:auto;
    min-height:46px;
    padding:8px 10px;
    line-height:1.25;
  }
  .academy-hero,.academy-path,.academy-topics{padding:22px}
  .academy-hero h2{font-size:clamp(38px,11vw,54px)}
  .academy-section-heading{
    align-items:start;
    flex-direction:column;
    margin-bottom:18px;
  }
  .academy-validation-note{
    grid-template-columns:minmax(0,1fr);
    gap:6px;
  }
  .academy-path__steps{grid-template-columns:minmax(0,1fr)}
  .academy-path-arrow{transform:rotate(90deg);justify-self:center}
  .academy-topic-grid,
  .academy-topic-group--advanced .academy-topic-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .academy-topic-card{min-height:205px}
}
@media(max-width:420px){
  .learn-mode-switch{grid-template-columns:minmax(0,1fr)}
  .academy-hero,.academy-path,.academy-topics,.learn-speakerlab-placeholder{
    padding:18px;
    border-radius:12px;
  }
  .academy-hero__actions{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  .academy-hero__actions .button{
    width:100%;
    justify-content:center;
  }
  .academy-progress{padding:18px}
  .academy-topic-card__foot{align-items:start;flex-direction:column}
}

/* Academy account progress and certificates */
.learn-auth-gate{max-width:760px;margin:2rem auto;padding:2rem;border:1px solid #dfe7e9;border-radius:18px;background:#fff;box-shadow:0 18px 44px rgba(34,56,67,.08)}.learn-auth-gate h2{margin:.35rem 0 .6rem}.learn-auth-gate small{display:block;margin-top:1rem;color:#71818a}.deck-save-status{display:block;margin-top:.45rem;font-size:.82rem;color:#657983}.deck-save-status[data-state="saved"]{color:#53740e}.deck-save-status[data-state="error"]{color:#a7443e}.academy-certificate-page{max-width:1050px;margin:1.5rem auto 3rem}.academy-certificate-actions{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}.academy-certificate{position:relative;padding:4.2rem 5rem;border:1px solid #d6e0e3;background:#fff;box-shadow:0 24px 70px rgba(31,48,57,.12);text-align:center;overflow:hidden}.academy-certificate:before{content:"";position:absolute;inset:14px;border:1px solid rgba(83,116,14,.26);pointer-events:none}.academy-certificate header{display:flex;justify-content:center;align-items:baseline;gap:.7rem}.academy-certificate header p{margin:0;text-transform:uppercase;letter-spacing:.18em;color:#697981;font-size:.8rem}.academy-certificate-mark{font-weight:900;letter-spacing:.13em;color:#31424b}.academy-certificate-rule{width:64px;height:3px;background:#637f17;margin:1.4rem auto 2.2rem}.academy-certificate-label{font-size:.76rem;font-weight:800;letter-spacing:.2em;color:#637f17}.academy-certificate h1{font-size:clamp(2.4rem,6vw,4.8rem);margin:.4rem 0 2rem;letter-spacing:-.04em}.academy-certificate-awarded{margin:0;color:#7a888f}.academy-certificate h2{font-size:clamp(1.7rem,4vw,3rem);margin:.45rem 0}.academy-certificate-copy{max-width:620px;margin:0 auto 2.6rem;color:#63727a}.academy-certificate dl{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:left;margin:0;border-top:1px solid #e2e8ea;padding-top:1.4rem}.academy-certificate dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#849198}.academy-certificate dd{margin:.3rem 0 0;font-weight:700;overflow-wrap:anywhere}.certificate-verified{color:#53740e}.academy-certificate footer{display:flex;justify-content:space-between;margin-top:3rem;padding-top:1rem;border-top:1px solid #eef2f3;color:#849198;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.academy-certificate-verification{text-align:center;color:#74838a;font-size:.82rem;margin:1rem}.academy-certificate-state{max-width:720px;margin:4rem auto;padding:2rem;text-align:center;border:1px solid #dfe6e8;border-radius:16px;background:#fff}.academy-certificate-state.is-revoked{border-color:#e1c5c2}.certificate-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}@media(max-width:760px){.academy-certificate{padding:3rem 1.6rem}.academy-certificate dl{grid-template-columns:1fr 1fr}.academy-certificate footer{flex-direction:column;gap:.4rem}.academy-certificate-actions{flex-wrap:wrap}}@media print{body{background:#fff!important}.site-header,.site-footer,.academy-certificate-actions,.academy-certificate-verification{display:none!important}.academy-certificate-shell .page-shell,.academy-certificate-page{margin:0!important;padding:0!important;max-width:none!important}.academy-certificate{box-shadow:none!important;border:1px solid #cbd7d8!important;min-height:85vh;display:flex;flex-direction:column;justify-content:center;page-break-inside:avoid}.academy-certificate:before{inset:10px}}
