/* ════════════ KURIKULUM EXPLORER ════════════ */
.xpl{width:100%;display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:18px;align-items:start}
@media (max-width:880px){.xpl{grid-template-columns:1fr;gap:14px}}
/* rail */
.xpl-rail{display:flex;flex-direction:column;gap:8px}
@media (max-width:880px){
  .xpl-rail{flex-direction:row;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;
    gap:8px;padding:2px 2px 8px;scroll-snap-type:x mandatory;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
  .xpl-rail::-webkit-scrollbar{display:none}
}
.xpl-tab{position:relative;display:flex;align-items:center;gap:13px;width:100%;
  padding:14px 15px;border-radius:13px;border:1px solid var(--line);background:rgba(13,13,17,.6);
  overflow:hidden;transition:border-color .3s,background .3s,transform .3s var(--ease)}
.xpl-tab:hover{border-color:var(--line-2);background:rgba(22,22,28,.72)}
.xpl-tab.active{border-color:var(--o-soft);background:rgba(20,15,12,.8)}
@media (max-width:880px){.xpl-tab{flex:0 0 auto;width:auto;scroll-snap-align:center;padding:11px 15px}}
.xt-num{font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;color:var(--muted-2);flex-shrink:0;
  width:24px;text-align:center;transition:color .3s}
.xpl-tab.active .xt-num{color:var(--orange)}
.xt-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.xt-h{font-family:var(--f-disp);font-weight:600;font-size:.98rem;letter-spacing:.01em;color:#fff;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xt-s{font-family:var(--f-ui);font-size:.74rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:880px){.xt-s{display:none}}
.xt-arrow{margin-left:auto;flex-shrink:0;color:var(--orange);font-size:1rem;opacity:0;transform:translateX(-6px);transition:.3s var(--ease)}
.xpl-tab.active .xt-arrow{opacity:1;transform:none}
@media (max-width:880px){.xt-arrow{display:none}}
.xt-prog{position:absolute;left:0;bottom:0;height:2px;width:0;border-radius:2px;
  background:linear-gradient(90deg,var(--orange),var(--orange-2));box-shadow:0 0 8px var(--o-glow)}
.xpl-tab.active .xt-prog.run{animation:xtfill 7s linear forwards}
@keyframes xtfill{from{width:0}to{width:100%}}
/* stage */
.xpl-stage{position:relative;border-radius:18px;border:1px solid var(--line);background:rgba(13,13,17,.55);
  padding:14px;overflow:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 0 0 1px rgba(41, 155, 255,.05),0 18px 50px rgba(0,0,0,.5)}
.xs-visual{position:relative;border-radius:13px;overflow:hidden;border:1px solid var(--line-2);background:#000;aspect-ratio:16/10}
.xs-chrome{position:absolute;top:0;left:0;right:0;z-index:6;height:30px;display:flex;align-items:center;gap:7px;
  padding:0 13px;background:linear-gradient(#0e0e12,rgba(14,14,18,.15));border-bottom:1px solid var(--line)}
.xs-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.xs-dot.d1{background:#299bff}.xs-dot.d2{background:#66bbff;opacity:.6}.xs-dot.d3{background:#2ecc71;opacity:.5}
.xs-file{margin-left:6px;font-family:var(--f-mono);font-size:9px;letter-spacing:.13em;color:var(--muted)}
.xs-live{margin-left:auto;font-family:var(--f-mono);font-size:8px;letter-spacing:.16em;color:var(--orange);
  text-transform:uppercase;display:flex;align-items:center;gap:6px}
.xs-live i{width:5px;height:5px;border-radius:50%;background:var(--orange);box-shadow:0 0 7px var(--orange);animation:blink 1.5s infinite}
.xs-slides{position:absolute;inset:30px 0 0;overflow:hidden}
.xs-slide{position:absolute;inset:0;opacity:0;transform:scale(1.05);
  transition:opacity .5s var(--ease),transform .65s var(--ease);pointer-events:none}
.xs-slide.active{opacity:1;transform:none;pointer-events:auto}
.xs-slide svg{width:100%;height:100%;display:block}
.xs-scan{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.4;
  background:repeating-linear-gradient(transparent 0 2px,rgba(0,0,0,.22) 2px 4px)}
.xs-scanline{position:absolute;left:0;right:0;height:46px;z-index:4;pointer-events:none;top:-14%;
  background:linear-gradient(transparent,rgba(41, 155, 255,.08),transparent);animation:xscan 4.6s linear infinite}
@keyframes xscan{0%{top:-14%}100%{top:114%}}
.xframe{position:absolute;width:12px;height:12px;z-index:7;border-color:var(--orange);opacity:.7;pointer-events:none}
.xf-tl{top:38px;left:9px;border-top:1.5px solid;border-left:1.5px solid}
.xf-tr{top:38px;right:9px;border-top:1.5px solid;border-right:1.5px solid}
.xf-bl{bottom:9px;left:9px;border-bottom:1.5px solid;border-left:1.5px solid}
.xf-br{bottom:9px;right:9px;border-bottom:1.5px solid;border-right:1.5px solid}
/* copy */
.xs-copy{padding:18px 6px 4px;position:relative}
.xs-panel{display:none}
.xs-panel.active{display:block;animation:xfade .55s var(--ease)}
@keyframes xfade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.xs-meta{display:flex;align-items:center;gap:11px;margin-bottom:13px;flex-wrap:wrap}
.xs-tag{font-family:var(--f-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);
  padding:5px 11px;border:1px solid rgba(41, 155, 255,.3);border-radius:30px;background:rgba(41, 155, 255,.05)}
.xs-name{font-family:var(--f-disp);font-weight:600;font-size:.92rem;letter-spacing:.02em;color:#fff}
.xs-level{margin-left:auto;font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.xs-hook{font-family:var(--f-disp);font-weight:700;font-size:clamp(1.15rem,3vw,1.62rem);line-height:1.2;
  letter-spacing:.01em;color:#fff;margin-bottom:12px}
.xs-hook .o{color:var(--orange)}
.xs-desc{font-family:var(--f-ui);font-size:clamp(.88rem,2.2vw,.97rem);line-height:1.75;color:rgba(255,255,255,.66);max-width:680px}
.xs-desc b{color:#fff;font-weight:600}
.xs-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.xs-chip{font-family:var(--f-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72);
  padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.02);transition:border-color .3s,color .3s}
.xpl-stage:hover .xs-chip{border-color:var(--line-2)}
/* cta */
.xpl-cta{width:100%;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:22px 26px;border-radius:16px;border:1px solid var(--line);
  background:linear-gradient(120deg,rgba(41, 155, 255,.08),rgba(13,13,17,.5) 60%)}
.xpl-cta-txt{font-family:var(--f-disp);font-weight:600;font-size:clamp(1rem,2.6vw,1.25rem);color:#fff;letter-spacing:.01em;line-height:1.4;flex:1;min-width:240px}
.xpl-cta-txt b{color:var(--orange)}
.xpl-cta-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:10px;background:#0871c7;color:#fff;
  font-family:var(--f-disp);font-weight:700;font-size:.96rem;letter-spacing:.06em;text-transform:uppercase;
  padding:14px 30px;border-radius:100px;box-shadow:0 8px 30px rgba(41, 155, 255,.42);transition:transform .25s var(--ease),box-shadow .3s}
.xpl-cta-btn:hover{transform:translateY(-3px);box-shadow:0 16px 46px rgba(41, 155, 255,.20)}
@media (prefers-reduced-motion:reduce){.xs-slide{transition:none}.xs-scanline{display:none}.xpl-tab.active .xt-prog.run{animation:none}}


.dn-ex-panel .academy{grid-column:span 6;padding:26px 26px 22px;color:#fff;
  border:1.6px solid transparent;border-radius:18px;
  background:linear-gradient(155deg,#06101a,#0a0608) padding-box,
    linear-gradient(135deg,#0871c7,#1676ca 30%,#2a160a 82%) border-box;
  box-shadow:0 0 0 1px rgba(41, 155, 255,.16),0 0 30px -2px rgba(41, 155, 255,.26),0 16px 46px rgba(0,0,0,.6)}
.dn-ex-panel .academy::before{background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(41, 155, 255,.2),transparent 55%)}
.dn-ex-panel .academy:hover{transform:translateY(-3px);
  box-shadow:0 0 0 1px rgba(41, 155, 255,.32),0 0 40px -2px rgba(41, 155, 255,.42),0 22px 64px rgba(0,0,0,.62)}
.dn-ex-panel .academy .corner{opacity:1;border-color:var(--orange);width:13px;height:13px}
.dn-ex-panel .academy .ac-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.dn-ex-panel .academy .ac-badge{display:inline-flex;align-items:center;gap:7px;background:#0871c7;color:#fff;
  font-family:var(--f-mono);font-weight:700;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;
  padding:7px 13px;border-radius:7px;box-shadow:0 4px 14px var(--o-glow)}
.dn-ex-panel .academy .ac-live{display:flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:8.5px;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.58)}
.dn-ex-panel .academy .ac-live b{width:6px;height:6px;border-radius:50%;background:#1faf57;box-shadow:0 0 7px #1faf57;animation:blink 1.6s infinite}
.dn-ex-panel .academy .ac-main{display:flex;align-items:center;gap:18px;margin-bottom:14px}
.dn-ex-panel .academy .ac-ico{width:62px;height:62px;flex-shrink:0;border-radius:15px;
  background:linear-gradient(135deg,#299bff,#66bbff);border:none;
  display:flex;align-items:center;justify-content:center;
  transition:.35s var(--ease);box-shadow:0 8px 22px rgba(41, 155, 255,.5)}
.dn-ex-panel .academy .ac-ico img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.dn-ex-panel .academy:hover .ac-ico{transform:scale(1.05) rotate(-3deg)}
.dn-ex-panel .academy .ac-p{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(102, 187, 255,.92);margin-bottom:6px}
.dn-ex-panel .academy .ac-h{font-family:var(--f-disp);font-weight:700;font-size:clamp(1.5rem,5.8vw,2.2rem);line-height:1.02;letter-spacing:.01em;color:#fff}
.dn-ex-panel .academy .ac-desc{font-family:var(--f-ui);font-size:12px;color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:18px;max-width:92%}
.dn-ex-panel .academy .ac-stats{display:flex;gap:10px;margin-top:4px}
.dn-ex-panel .academy .ac-stat{flex:1;min-width:0;background:linear-gradient(#f6f6f7,#f1f1f2);border:1px solid rgba(41, 155, 255,.3);border-radius:11px;padding:12px 15px;
  box-shadow:0 6px 16px rgba(0,0,0,.4),0 0 14px -3px rgba(41, 155, 255,.28)}
.dn-ex-panel .academy .ac-stat .n{font-family:var(--f-disp);font-weight:700;font-size:1.28rem;color:#00070e}
.dn-ex-panel .academy .ac-stat .l{font-family:var(--f-mono);font-size:7px;letter-spacing:.12em;text-transform:uppercase;color:#0e7fe1;margin-top:2px}
.dn-ex-panel .academy .ac-cta{position:absolute;right:26px;bottom:24px;font-family:var(--f-mono);font-size:8.5px;
  letter-spacing:.16em;color:var(--orange-2);font-weight:700;opacity:0;transform:translateX(-6px);transition:.35s var(--ease)}
.dn-ex-panel .academy:hover .ac-cta{opacity:1;transform:none}


.xpl[data-curriculum-live="false"] *{animation-play-state:paused!important}
.mk-academy-join{font:700 clamp(1.7rem,4vw,2.6rem)/1.15 var(--f-disp);text-align:center;color:#fff;margin:32px 0 26px}
[data-topic="academy"] .dn-ex-panel>.mk-academy-join{margin:clamp(40px,4vw,56px) 0 clamp(44px,5vw,64px);text-shadow:0 0 14px rgba(41,155,255,.4),0 0 30px rgba(41,155,255,.2)}
[data-topic="academy"] .dn-ex-panel>.cert-section:has(+.label){padding-bottom:0}
[data-topic="academy"] .dn-ex-panel>.label:has(+.bento>.academy){margin-top:clamp(56px,6vw,80px)}
[data-topic="academy"] .dn-ex-panel>.bento:has(>.academy){margin:24px 0 clamp(44px,5vw,64px)}
.dn-ex-panel .academy .ac-stat:first-child{flex:1.4}
.dn-ex-panel .academy .ac-stat{padding:12px clamp(8px,1vw,15px)}
.dn-ex-panel .academy .ac-stat .n{font-size:clamp(1rem,2.2vw,1.28rem)}
.dn-ex-panel .academy .ac-stat .l{font-size:clamp(8px,.65vw,9px);line-height:1.5;letter-spacing:.08em}
/* Give the three Academy chapters their own breathing room on both pages. */
[data-topic="academy"] .dn-ex-panel>section.block:has([data-dn-ai-tools]){margin-block:clamp(80px,8vw,112px)}
[data-topic="academy"] .dn-ex-panel>section.block:has([data-dn-ai-tools])+section.block{margin-top:0}
[data-topic="academy"] .dn-ex-panel>section.block:has([data-dn-ai-tools])+.cert-section{margin-top:0;padding-top:0}
.dn-ex-community .bento{margin:0;width:100%}
.dn-ex-community .discord{padding:26px 26px 22px}
.dn-ex-community .dc-top{margin-bottom:20px}.dn-ex-community .dc-main{gap:18px;margin-bottom:14px}.dn-ex-community .dc-desc{margin-bottom:18px}.dn-ex-community .dc-stats{display:flex;gap:10px;margin-top:4px;padding:0;border:0;background:none;box-shadow:none}
.dn-ex-community .dc-ico{width:62px;height:62px}.dn-ex-community .dc-h{font-size:clamp(1.5rem,5.8vw,2.2rem)}
@media(min-width:980px){.dn-ex-community .discord{padding:32px 34px 26px}.dn-ex-community .dc-h{font-size:clamp(2rem,3vw,2.5rem)}}
@media(max-width:700px){.dn-ex-community .discord{padding:18px 16px}.dn-ex-community .dc-main{gap:12px}.dn-ex-community .dc-ico{width:42px;height:42px}.dn-ex-community .dc-h{font-size:1.24rem}.dn-ex-community .dc-top{margin-bottom:14px}.dn-ex-community .stat{padding:11px 10px}.dn-ex-community .stat .n{font-size:1.12rem}.dn-ex-community .stat .l{font-size:6.5px}.xpl-stage{backdrop-filter:none;-webkit-backdrop-filter:none}.xpl-cta{padding:18px 16px}.xpl-cta-txt{min-width:0}.xpl-cta-btn{max-width:100%}}
