
:root{
  --deep:#060912;--pane:#0f1527;--edge:#202a45;--light:#e7ecf7;--fade:#97a3bd;
  --rose:#f472b6;--aurora:#6ee7b7;--ice:#60a5fa;
  --type:'Lexend', 'Segoe UI', system-ui, sans-serif;--code:'Fragment Mono', Consolas, monospace
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.au-night{margin:0;min-height:100vh;background:var(--deep);color:var(--light);font:16.5px/1.7 var(--type);overflow-x:hidden}
a{color:var(--aurora)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{color:#fff;line-height:1.15;margin:0 0 .5em;font-weight:600;letter-spacing:-.02em}
h1{font-size:clamp(2.3rem,5.4vw,4.2rem);font-weight:700}
h2{font-size:clamp(1.5rem,3vw,2.3rem)}
h3{font-size:1.08rem}

/* aurora backdrop */
.au-sky{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.au-sky i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.42}
.au-sky i:nth-child(1){width:60vw;height:38vw;left:-12vw;top:-14vw;background:var(--aurora);animation:au-drift 22s ease-in-out infinite alternate}
.au-sky i:nth-child(2){width:50vw;height:30vw;right:-10vw;top:-8vw;background:var(--rose);opacity:.3;animation:au-drift 28s ease-in-out infinite alternate-reverse}
.au-sky i:nth-child(3){width:40vw;height:26vw;left:30vw;top:6vw;background:var(--ice);opacity:.22;animation:au-drift 34s ease-in-out infinite alternate}
@keyframes au-drift{to{transform:translate3d(6vw,4vw,0) scale(1.15)}}

/* nav */
.au-nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1200px;margin:0 auto;padding:22px 24px}
.au-home-link img{height:70px;width:auto}
.au-nav{display:flex;gap:26px;flex-wrap:wrap}
.au-nav a{color:var(--light);text-decoration:none;font-size:15px;opacity:.85}
.au-nav a:hover{opacity:1;color:var(--rose)}

.au-main{max-width:1200px;margin:0 auto;padding:0 24px}
.au-chip{display:inline-block;font:500 12.5px var(--code);letter-spacing:.06em;color:var(--aurora);border:1px solid color-mix(in srgb,var(--aurora) 35%,transparent);background:color-mix(in srgb,var(--aurora) 8%,transparent);padding:5px 14px;border-radius:999px;margin:0 0 20px}
.au-chip a{color:inherit}
.au-lead{color:var(--fade);font-size:1.15rem;max-width:62ch}

/* hero + glass panel */
.au-glow{text-align:center;padding:60px 0 40px}
.au-glow h1{max-width:20ch;margin:0 auto .45em;background:linear-gradient(100deg,#fff 30%,color-mix(in srgb,var(--aurora) 80%,#fff) 60%,var(--rose));-webkit-background-clip:text;background-clip:text;color:transparent}
.au-glow .au-lead{margin:0 auto}
.au-glow-sm{padding:40px 0 20px}
.au-glow-sm h1{font-size:clamp(2rem,4.2vw,3rem)}
.au-glass{background:color-mix(in srgb,var(--pane) 70%,transparent);border:1px solid color-mix(in srgb,#fff 12%,transparent);border-radius:26px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 40px 90px -50px #000}
.au-glow .au-glass{max-width:900px;margin:44px auto 0;padding:14px;text-align:left}
.au-primary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;border-radius:18px;background:linear-gradient(120deg,color-mix(in srgb,var(--rose) 22%,transparent),color-mix(in srgb,var(--aurora) 12%,transparent))}
.au-mini{font:500 12px var(--code);text-transform:uppercase;letter-spacing:.1em;color:var(--fade);margin:0 0 8px}
.au-on .au-mini span,.au-on .au-mirror-copy span{color:var(--aurora)}
.au-primary h2{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 6px}
.au-primary-desc{margin:0;color:var(--fade);font-size:15px;max-width:48ch}
.au-cta{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:15px 30px;border-radius:999px;font-weight:600;font-size:16px;text-decoration:none;color:#1a0612;background:linear-gradient(100deg,var(--rose),color-mix(in srgb,var(--rose) 60%,var(--aurora)));box-shadow:0 12px 30px -12px var(--rose)}
.au-cta:hover{filter:brightness(1.1)}
.au-cta.is-off{background:transparent;color:var(--fade);border:1px dashed color-mix(in srgb,var(--fade) 45%,transparent);box-shadow:none;cursor:not-allowed}
.au-cta-sm{padding:10px 18px;font-size:14px}
.au-mirrors{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.au-mirror{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:16px;border:1px solid var(--edge);background:color-mix(in srgb,var(--deep) 50%,transparent)}
.au-mirror .au-dot{width:10px;height:10px;border-radius:50%;background:var(--fade)}
.au-on .au-dot{background:var(--aurora);box-shadow:0 0 12px var(--aurora)}
.au-mirror-copy h3{margin:0 0 2px}
.au-mirror-copy p{margin:0;font:12.5px var(--code);color:var(--fade)}
.au-mirror .au-cta{margin-top:auto}
.au-glass-foot{margin:12px 10px 4px;font-size:13.5px;color:var(--fade)}
.au-glass-foot time{color:var(--aurora);font-family:var(--code)}

/* horizontal lesson strip */
.au-strip-sec{padding:90px 0 40px}
.au-strip-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}
.au-strip-head h2{margin:0}
.au-strip-ctrl{display:flex;gap:8px}
.au-strip-ctrl button{width:46px;height:46px;border-radius:50%;border:1px solid var(--edge);background:var(--pane);color:var(--light);font-size:18px;cursor:pointer}
.au-strip-ctrl button:hover{border-color:var(--rose);color:var(--rose)}
.au-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,30%);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 18px;scrollbar-width:thin;scrollbar-color:var(--edge) transparent}
.au-rail:focus-visible{outline:2px solid var(--aurora);outline-offset:4px}
.au-lesson{scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;min-height:250px;padding:24px;border-radius:22px;border:1px solid var(--edge);background:linear-gradient(170deg,color-mix(in srgb,var(--pane) 92%,var(--aurora)),var(--pane));text-decoration:none;color:var(--light);transition:border-color .2s,transform .2s}
.au-lesson:hover{border-color:var(--rose);transform:translateY(-4px)}
.au-lesson-n{font:500 12px var(--code);color:var(--rose)}
.au-lesson-topic{font:12px var(--code);color:var(--fade);text-transform:uppercase;letter-spacing:.08em}
.au-lesson strong{font-size:1.15rem;line-height:1.3;color:#fff;font-weight:600}
.au-lesson-desc{color:var(--fade);font-size:14.5px}
.au-strip-all{text-align:right;margin:8px 0 0}
.au-strip-all a{color:var(--rose);font-weight:600;text-decoration:none}

/* path */
.au-path{padding:70px 0}
.au-path-row{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative}
.au-path-row::before{content:"";position:absolute;left:24px;right:24px;top:24px;height:2px;background:linear-gradient(90deg,var(--aurora),var(--rose));opacity:.5}
.au-path-row li{position:relative}
.au-star{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--deep);border:2px solid var(--aurora);font:600 15px var(--code);color:var(--aurora);margin-bottom:18px;box-shadow:0 0 22px -4px var(--aurora)}
.au-path-row p{color:var(--fade);font-size:14.5px;margin:0}

/* faq in columns */
.au-qa{padding:40px 0 70px}
.au-qa-cols{columns:2;column-gap:48px;margin-top:26px}
.au-qa-item{break-inside:avoid;padding:0 0 26px}
.au-qa-item h3{color:var(--rose);font-size:1.02rem;margin-bottom:6px}
.au-qa-item p{margin:0;color:var(--fade)}
.au-fine{font-size:13px;color:var(--fade);border-top:1px solid var(--edge);padding-top:22px;margin-top:10px}

/* lesson pages */
.au-lesson-body{max-width:760px;margin:0 auto;padding:10px 0 80px}
.au-progress{appearance:none;-webkit-appearance:none;width:100%;height:4px;border:0;border-radius:4px;background:var(--edge);overflow:hidden;margin-bottom:14px}
.au-progress::-webkit-progress-bar{background:var(--edge)}
.au-progress::-webkit-progress-value{background:linear-gradient(90deg,var(--aurora),var(--rose))}
.au-progress::-moz-progress-bar{background:linear-gradient(90deg,var(--aurora),var(--rose))}
.au-meta-line{font:13px var(--code);color:var(--fade)}
.au-lesson-body h2{display:flex;gap:14px;align-items:baseline;font-size:1.45rem;margin-top:1.6em}
.au-lesson-body h2 span{font:500 13px var(--code);color:var(--rose)}
.au-lesson-body p{color:color-mix(in srgb,var(--light) 88%,var(--fade))}
.au-remember{padding:22px 26px;margin:34px 0}
.au-remember p:last-child{margin:0;color:#fff;font-size:1.08rem}
.au-lesson-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px}
.au-lesson-nav a{padding:16px 18px;border-radius:16px;border:1px solid var(--edge);background:var(--pane);color:#fff;text-decoration:none;font-weight:600;font-size:15px}
.au-lesson-nav a:hover{border-color:var(--rose)}
.au-lesson-nav small{display:block;font:500 12px var(--code);color:var(--rose);margin-bottom:4px}
.au-lesson-next{grid-column:2;text-align:right}
.au-back-status{margin-top:30px;color:var(--fade);font-size:14.5px}
.au-syllabus{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px 0 80px}
.au-module{padding:26px;border-radius:22px;border:1px solid var(--edge);background:color-mix(in srgb,var(--pane) 80%,transparent)}
.au-module h2{font-size:1.35rem}
.au-module h2 span{display:block;font:500 12px var(--code);color:var(--rose);margin-bottom:6px;letter-spacing:.08em;text-transform:uppercase}
.au-module ol{margin:0;padding-left:28px}
.au-module li{margin-bottom:14px}
.au-module li::marker{color:var(--aurora);font-family:var(--code)}
.au-module li a{color:#fff;font-weight:600;text-decoration:none}
.au-module li a:hover{color:var(--rose)}
.au-module li p{margin:2px 0 0;color:var(--fade);font-size:14.5px}

/* footer */
.au-end{max-width:760px;margin:0 auto;padding:50px 24px 40px;text-align:center;border-top:1px solid var(--edge)}
.au-end img{margin:0 auto 14px;height:60px;width:auto}
.au-end-text{color:var(--fade);font-size:14.5px}
.au-end-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:10px 0}
.au-end-links a{color:var(--light);text-decoration:none;font-size:14.5px}
.au-end-links a:hover{color:var(--rose)}
.au-end-note{font:12.5px var(--code);color:var(--fade);margin-top:18px}

@media (max-width:900px){
  .au-mirrors{grid-template-columns:1fr}
  .au-mirror{flex-direction:row;align-items:center}
  .au-mirror .au-cta{margin:0 0 0 auto}
  .au-rail{grid-auto-columns:minmax(260px,46%)}
  .au-path-row{grid-template-columns:1fr 1fr;row-gap:30px}
  .au-path-row::before{display:none}
  .au-syllabus{grid-template-columns:1fr}
}
@media (max-width:640px){
  .au-nav-wrap{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}
  .au-nav{gap:16px}
  .au-home-link img{height:54px}
  .au-main{padding:0 16px}
  .au-glow{padding:18px 0 24px;text-align:left}
  .au-glow h1{margin-left:0;font-size:2.05rem}
  .au-glow .au-lead{font-size:1rem}
  .au-glow .au-glass{margin-top:22px;padding:10px;border-radius:20px}
  .au-primary{flex-direction:column;align-items:stretch;padding:20px}
  .au-primary .au-cta{width:100%}
  .au-mirror{flex-wrap:wrap}
  .au-mirror-copy{flex:1;min-width:150px}
  .au-rail{grid-auto-columns:82%}
  .au-strip-sec{padding-top:60px}
  .au-strip-ctrl{display:none}
  .au-path-row{grid-template-columns:1fr}
  .au-qa-cols{columns:1}
  .au-lesson-nav{grid-template-columns:1fr}
  .au-lesson-next{grid-column:auto;text-align:left}
}
@media (prefers-reduced-motion:reduce){.au-sky i{animation:none}*{transition:none!important;scroll-behavior:auto!important}}