/* academy.css — Academy surface, scoped under .acad. Reuses style.css tokens. */
.acad{ --crit:#ff5d6c; --warn:#ffb454; --ok:#3ad29f; }
.acad .a-hero{position:relative;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  padding:36px 28px;margin-bottom:22px;
  background:radial-gradient(900px 500px at 85% -20%,rgba(124,108,255,.16),transparent 60%),
    radial-gradient(700px 400px at -8% 0,rgba(57,211,255,.12),transparent 55%),
    linear-gradient(180deg,#0a0e16,#070a11)}
.acad .a-hero::before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:linear-gradient(rgba(57,211,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(57,211,255,.06) 1px,transparent 1px);
  background-size:46px 46px;mask-image:radial-gradient(120% 90% at 50% 0,#000 30%,transparent 80%)}
.acad .a-hero .kick{font-family:var(--mono);font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--accent);margin:0 0 12px}
.acad .a-hero h1{margin:0;font-size:clamp(1.9rem,5vw,3rem);line-height:1;letter-spacing:-.03em;font-weight:800}
.acad .a-hero h1 span{background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.acad .a-hero p{color:var(--muted);max-width:64ch;margin:14px 0 0}

.acad .paths{display:grid;gap:12px;margin:0 0 24px}
@media(min-width:760px){.acad .paths{grid-template-columns:repeat(4,1fr)}}
.acad .path{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:14px 16px}
.acad .path b{display:block;letter-spacing:.02em}
.acad .path span{font-size:.82rem;color:var(--muted)}
.acad .path .seq{font-family:var(--mono);font-size:.72rem;color:var(--faint);margin-top:8px}

.acad .sectitle{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:6px 4px 14px}
.acad .sectitle h2{margin:0;font-size:1.1rem}
.acad .sectitle .ov{font-family:var(--mono);font-size:.74rem;color:var(--faint)}

.acad .mods{display:grid;gap:16px}
@media(min-width:720px){.acad .mods{grid-template-columns:1fr 1fr}}
@media(min-width:1080px){.acad .mods{grid-template-columns:1fr 1fr 1fr}}
.acad .mod{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);
  border-radius:14px;background:linear-gradient(180deg,var(--panel),var(--panel-2));padding:18px;text-decoration:none;color:var(--ink);
  transition:transform .18s,border-color .18s,box-shadow .18s}
.acad .mod:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 16px 40px rgba(0,0,0,.4);text-decoration:none}
.acad .mod .num{font-family:var(--mono);font-size:.78rem;color:var(--accent);letter-spacing:.2em}
.acad .mod .lvl{position:absolute;top:16px;right:16px;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:4px 9px;color:var(--muted)}
.acad .mod .lvl.expert{color:var(--crit);border-color:rgba(255,93,108,.5)}
.acad .mod h3{margin:8px 0 6px;font-size:1.06rem;line-height:1.2}
.acad .mod p{margin:0;color:var(--muted);font-size:.88rem;flex:1}
.acad .mod .bar{height:6px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);margin-top:14px;overflow:hidden}
.acad .mod .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .3s}
.acad .mod .foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-family:var(--mono);font-size:.72rem;color:var(--faint)}
.acad .mod .done{color:var(--ok)}

/* module page */
.acad .crumb{font-family:var(--mono);font-size:.74rem;color:var(--faint);margin:0 0 10px}
.acad .crumb a{color:var(--muted)}
.acad .m-head h1{margin:.2rem 0 6px;font-size:clamp(1.5rem,4vw,2.2rem);letter-spacing:-.02em}
.acad .m-head .ov{color:var(--muted);max-width:70ch}
.acad .lesson{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:22px;margin:18px 0}
.acad .lesson > h2{margin:0 0 4px;font-size:1.2rem}
.acad .lesson .ltag{font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-2)}
.acad .lesson h4{margin:18px 0 8px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);
  display:flex;align-items:center;gap:8px}
.acad .lesson h4::before{content:"";width:14px;height:1px;background:var(--accent)}
.acad .lesson p{color:var(--ink);opacity:.92;margin:.4rem 0}
.acad .lesson ul,.acad .lesson ol{margin:.4rem 0 .4rem 1.2rem;color:var(--muted)}
.acad .lesson li{margin:.3rem 0}
.acad pre{background:#06090f;border:1px solid var(--line);border-radius:10px;padding:14px 16px;overflow:auto;
  font-family:var(--mono);font-size:.82rem;line-height:1.5;color:#cfe3f5}
.acad pre.diagram{color:var(--accent);background:#070b12}
.acad .callout{border-left:3px solid var(--accent);background:var(--panel-2);border-radius:8px;padding:10px 14px;margin:.5rem 0}
.acad .callout.observe{border-left-color:var(--warn)}
.acad .rb{display:grid;gap:12px;margin:.4rem 0}
@media(min-width:680px){.acad .rb{grid-template-columns:1fr 1fr}}
.acad .rb .red{border:1px solid rgba(255,93,108,.4);border-radius:10px;padding:12px 14px;background:rgba(255,93,108,.05)}
.acad .rb .blue{border:1px solid rgba(57,211,255,.4);border-radius:10px;padding:12px 14px;background:rgba(57,211,255,.05)}
.acad .rb b{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px}
.acad .rb .red b{color:var(--crit)} .acad .rb .blue b{color:var(--accent)}
.acad .scenario{border:1px dashed var(--line);border-radius:10px;padding:12px 14px;color:var(--muted);font-style:italic}

/* assessment */
.acad .quiz{border:1px solid var(--line);border-radius:14px;background:var(--panel-2);padding:20px;margin:18px 0}
.acad .quiz h3{margin:0 0 4px}
.acad .q{margin:16px 0;padding-top:14px;border-top:1px dashed var(--line)}
.acad .q:first-of-type{border-top:0}
.acad .q .opt{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--panel);
  color:var(--ink);border-radius:9px;padding:10px 13px;margin:6px 0;cursor:pointer;font:inherit;transition:border-color .15s,background .15s}
.acad .q .opt:hover{border-color:var(--accent)}
.acad .q .opt.correct{border-color:var(--ok);background:rgba(58,210,159,.12)}
.acad .q .opt.wrong{border-color:var(--crit);background:rgba(255,93,108,.12)}
.acad .q .exp{display:none;margin-top:8px;font-size:.86rem;color:var(--muted);border-left:3px solid var(--ok);padding-left:10px}
.acad .q.answered .exp{display:block}
.acad .score{font-family:var(--mono);color:var(--accent)}

.acad .takeaways{border:1px solid var(--line);border-left:3px solid var(--ok);border-radius:12px;background:var(--panel);padding:18px 20px;margin:18px 0}
.acad .takeaways h3{margin:0 0 8px}
.acad .navrow{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:22px 0}
.acad .markdone{cursor:pointer}
.acad .markdone.done{background:transparent;border:1px solid var(--ok);color:var(--ok)}

@media (prefers-reduced-motion: reduce){.acad .mod{transition:none}.acad .mod .bar i{transition:none}}

/* practical hands-on block on the pentest track */
.acad .pt-lab{margin-top:10px;border:1px solid var(--line);border-radius:9px;background:#070b12;overflow:hidden}
.acad .pt-lab > summary{cursor:pointer;padding:9px 13px;font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent);list-style:none;user-select:none}
.acad .pt-lab > summary::-webkit-details-marker{display:none}
.acad .pt-lab > summary::before{content:"▸ ";color:var(--accent)}
.acad .pt-lab[open] > summary::before{content:"▾ "}
.acad .pt-lab[open] > summary{border-bottom:1px solid var(--line)}
.acad .pt-lab > *:not(summary){margin-left:13px;margin-right:13px}
.acad .pt-h{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2);margin:12px 0 5px}
.acad .pt-steps{margin:.2rem 0 .2rem 1.1rem;color:var(--ink);opacity:.92;font-size:.86rem}
.acad .pt-steps li{margin:.28rem 0}
.acad .pt-pre{background:#05080d;border:1px solid var(--line);border-radius:8px;padding:11px 13px;overflow:auto;
  font-family:var(--mono);font-size:.8rem;line-height:1.5;color:#cfe3f5;margin:.2rem 0 .4rem}
.acad .pt-meta{font-size:.84rem;color:var(--muted);margin:.3rem 0}
.acad .pt-meta b{color:var(--ink)}
.acad .pt-detect b{color:var(--ok)}
.acad .pt-lab > *:last-child{margin-bottom:13px}

/* ============================================================================
   QUANTUM X Academy — UI refresh (design-only, additive, scoped to .acad)
   ============================================================================ */

/* module cards: smoother lift + accent sweep on hover */
.acad .mod{transition:transform .2s cubic-bezier(.4,0,.2,1),border-color .2s,box-shadow .2s,background .2s}
.acad .mod::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(135deg,rgba(57,211,255,.10),transparent 40%);opacity:0;transition:opacity .2s}
.acad .mod:hover::after{opacity:1}
.acad .mod:hover{box-shadow:0 20px 50px rgba(0,0,0,.42)}
.acad .mod .bar i{box-shadow:0 0 10px rgba(57,211,255,.45);transition:width .7s cubic-bezier(.4,0,.2,1)}
.acad .mod .foot .state.done{color:var(--ok);font-weight:600}

/* learning-path tiles: hover lift + progress-aware */
.acad .path{transition:transform .18s,border-color .18s,box-shadow .18s;position:relative}
.acad .path:hover{transform:translateY(-2px);border-color:rgba(57,211,255,.5);box-shadow:0 14px 36px rgba(0,0,0,.32)}
.acad .path .meter{margin-top:10px}

/* hero: a touch more depth */
.acad .a-hero{box-shadow:0 18px 50px rgba(0,0,0,.30)}

/* lessons: clearer rhythm + completed state */
.acad .lesson{transition:border-color .2s,background .2s,box-shadow .2s}
.acad .lesson:hover{border-color:rgba(124,108,255,.35)}
.acad .lesson.lesson-done{border-left:3px solid var(--ok);background:linear-gradient(180deg,rgba(58,210,159,.05),transparent 60%),var(--panel)}
.acad .lesson.lesson-done > h2::after{content:" ✓";color:var(--ok);font-size:.9em}
.acad .lesson-check{user-select:none;padding:8px 12px;border:1px solid var(--line);border-radius:999px;
  background:var(--panel-2);transition:border-color .15s,background .15s}
.acad .lesson-check:hover{border-color:var(--accent);background:rgba(57,211,255,.05)}

/* quiz options: smoother feedback + tactile press */
.acad .q .opt{transition:border-color .15s,background .15s,transform .1s}
.acad .q .opt:hover{transform:translateX(2px)}
.acad .q .opt.correct{box-shadow:0 0 0 1px rgba(58,210,159,.4) inset}
.acad .q .opt.wrong{box-shadow:0 0 0 1px rgba(255,93,108,.4) inset}

/* AI tutor block + dashboard meters */
.acad #acad-tutor{border-color:rgba(124,108,255,.30)}
.acad #acad-tutor textarea{font-family:var(--sans);font-size:.95rem}
.acad .meter{height:10px;border-radius:999px;background:#0a0e16;border:1px solid var(--line);overflow:hidden}
.acad .meter>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));
  box-shadow:0 0 12px rgba(57,211,255,.45);transition:width .8s cubic-bezier(.4,0,.2,1)}

/* mark-complete button when done */
.acad .acad-srv-markdone.done{background:transparent;border:1px solid var(--ok);color:var(--ok)}

@media (prefers-reduced-motion:reduce){
  .acad .mod,.acad .path,.acad .lesson,.acad .q .opt,.acad .meter>i,.acad .mod .bar i{transition:none!important}
}
