:root{
  --bk:#060606;
  --s:#0d0d0d;
  --card:#121212;
  --wh:#f0f0ee;
  --mu:rgba(240,240,238,.62);
  --dim:rgba(240,240,238,.36);
  --line:rgba(240,240,238,.12);
  --g:#00CC84;
  --g2:#00ffaa;
  --danger:#ff6b7a;
  --font-display:'Syne',sans-serif;
  --font-body:'Inter',sans-serif;
  --font-mono:'DM Mono',monospace;
  --ease:cubic-bezier(.22,1,.36,1);
}
html.light-mode{
  --bk:#f6f5f2;
  --s:#eceae5;
  --card:#fff;
  --wh:#15131c;
  --mu:rgba(21,19,28,.64);
  --dim:rgba(21,19,28,.36);
  --line:rgba(21,19,28,.13);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bk);color:var(--wh);font-family:var(--font-body);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,h4,p,ul{margin:0}
h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:0}
ul{padding:0;list-style:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--g);outline-offset:3px}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.text-lo{color:var(--mu)}
@media(max-width:640px){.wrap{padding:0 20px}}

.spectrum{height:2px;background:linear-gradient(90deg,transparent,var(--g),var(--g2),var(--g),transparent);background-size:200% 100%}
.spectrum.animated{animation:signalMove 6s linear infinite}
@keyframes signalMove{0%{background-position:200% 0}100%{background-position:-200% 0}}

.page-loader{position:fixed;inset:0;z-index:9999;background:var(--bk);display:flex;align-items:center;justify-content:center;transition:opacity .45s,visibility .45s}
.page-loader.hide{opacity:0;visibility:hidden;pointer-events:none}
.page-loader-logo{width:clamp(112px,170px,170px)}
.page-loader-logo svg,.nav-logo-mark svg,.footer-logo-mark svg,.login-logo svg,.logo-animated svg{width:100%;height:100%;display:block;overflow:visible;aspect-ratio:1/1}
.page-loader-logo .lb,.nav-logo-mark .lb,.footer-logo-mark .lb,.login-logo .lb,.logo-animated .lb{clip-path:inset(100% 0 0 0)}
.page-loader-logo .arc,.nav-logo-mark .arc,.footer-logo-mark .arc,.login-logo .arc,.logo-animated .arc{opacity:0;transform:translateY(10px)}
.page-loader-logo.play .lb1,.nav-logo-mark .lb1,.footer-logo-mark .lb1,.login-logo .lb1,.logo-animated.play .lb1{animation:logoFillB .55s var(--ease) .1s forwards}
.page-loader-logo.play .lb2,.nav-logo-mark .lb2,.footer-logo-mark .lb2,.login-logo .lb2,.logo-animated.play .lb2{animation:logoFillB .55s var(--ease) .22s forwards}
.page-loader-logo.play .lb3,.nav-logo-mark .lb3,.footer-logo-mark .lb3,.login-logo .lb3,.logo-animated.play .lb3{animation:logoFillB .55s var(--ease) .34s forwards}
.page-loader-logo.play .arc,.nav-logo-mark .arc,.footer-logo-mark .arc,.login-logo .arc,.logo-animated.play .arc{animation:logoArcIn .55s var(--ease) .5s forwards}
@keyframes logoFillB{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes logoArcIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

.site-header{position:sticky;top:0;z-index:50;background:rgba(6,6,6,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
html.light-mode .site-header{background:rgba(246,245,242,.88)}
.nav{max-width:1240px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;letter-spacing:.08em}
.logo em{color:var(--g);font-style:normal}
.logo strong{font-family:var(--font-mono);font-size:.68rem;color:var(--g);letter-spacing:.12em}
.nav-logo-mark{width:52px;height:52px;flex:0 0 auto}
.nav-links{display:flex;align-items:center;gap:22px}
.nav-links a{font-size:.92rem;font-weight:600;color:var(--mu);position:relative}
.nav-links a:hover,.nav-links a.active{color:var(--wh)}
.nav-links a.active::after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--g)}
.nav-tools{display:flex;align-items:center;gap:10px}
.nav-tool-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--wh)}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 22px;border:1px solid transparent;font-weight:700;transition:transform .2s var(--ease),border-color .2s,background .2s,color .2s}
.nav-cta,.btn-primary{background:var(--wh);color:var(--bk)}
.nav-cta:hover,.btn-primary:hover{background:var(--g);transform:translateY(-2px)}
.btn-outline{border-color:var(--line);color:var(--wh);background:transparent}
.btn-outline:hover{border-color:var(--g);color:var(--g);transform:translateY(-2px)}
.btn-dark{background:var(--bk);color:var(--wh);border-color:var(--bk)}
.btn-dark:hover{background:var(--g);color:#050505}
.nav-toggle{display:none;background:none;border:0;color:var(--wh);font-size:1.4rem}
.nav-links-mobile-only{display:none}
@media(max-width:860px){
  .nav{padding:14px 20px}
  .nav-links{position:fixed;left:0;right:0;top:73px;background:var(--bk);border-top:1px solid var(--line);padding:28px;display:flex;flex-direction:column;align-items:flex-start;transform:translateY(-120%);transition:transform .25s var(--ease)}
  .nav-links.open{transform:translateY(0)}
  .nav-toggle{display:block}
  .nav-tool-desktop-only{display:none}
  .nav-links-mobile-only{display:block}
}

.section{padding:92px 0}
.section-light{background:var(--s)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px;flex-wrap:wrap}
.section-head h2{font-size:2.45rem;line-height:1.08;max-width:20ch}
.section-head p{max-width:46ch}
.section-tag,.hero-eyebrow,.academy-kicker{
  font-family:var(--font-mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--g);display:block;margin-bottom:14px;
}
.hero-sub{margin-top:24px;max-width:58ch;color:var(--mu);font-family:var(--font-body);font-size:1.05rem;line-height:1.75}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}

.academy-hero{padding:104px 0 90px;background:linear-gradient(135deg,rgba(0,204,132,.12),transparent 38%),linear-gradient(220deg,rgba(51,163,255,.10),transparent 42%),var(--bk)}
.academy-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}
.academy-hero h1,.academy-course-hero h1{font-size:5.2rem;line-height:.98;font-weight:800;max-width:13ch}
.academy-hero-panel,.academy-teaser-card,.academy-auth-card,.academy-dash-card,.academy-chat-card,.academy-course-card,.academy-feature-grid>div,.academy-timeline>div,.academy-material,.academy-assignment,.pricing-panel,.syllabus-card,.teacher-showcase-card,.assignment-preview-grid>div,.course-price-panel,.outcome-list>div,.faq-list details{
  border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
}
.academy-hero-panel{padding:30px;display:flex;flex-direction:column;gap:18px}
.academy-hero-signal{align-items:stretch}
.academy-panel-row{border-top:1px solid var(--line);padding-top:16px}
.academy-panel-row b,.academy-teaser-card b{display:block;font-family:var(--font-display);font-size:1.05rem}
.academy-panel-row span,.academy-teaser-card span{color:var(--mu);font-size:.92rem}
.academy-orbit-logo{width:min(260px,72vw);aspect-ratio:1;margin:0 auto 12px;border-radius:50%;border:1px solid rgba(0,204,132,.25);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(0,204,132,.15),rgba(255,255,255,.03) 58%,transparent 59%);box-shadow:0 0 80px rgba(0,204,132,.13)}
.academy-orbit-logo.small{width:124px;margin:0 0 4px}
.academy-orbit-logo svg{width:70%;height:70%;overflow:visible}
.academy-orbit-logo .lb{animation:logoFillB 1s var(--ease) both}
.academy-orbit-logo .lb2{animation-delay:.12s}
.academy-orbit-logo .lb3{animation-delay:.24s}
.academy-orbit-logo .arc{animation:logoArcIn .8s var(--ease) .38s both}
.academy-home-logo{width:min(310px,72vw);height:min(310px,72vw);margin:4px auto 22px;display:flex;align-items:center;justify-content:center}
.academy-home-logo svg{width:100%;height:100%;object-fit:contain}
.hero-price-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.hero-price-strip span{border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--mu);font-family:var(--font-mono);font-size:.72rem}
.hero-price-strip b{color:var(--wh)}

.academy-course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.academy-course-card{min-height:390px;padding:24px;display:flex;flex-direction:column;gap:15px;position:relative;overflow:hidden;border-top:3px solid var(--course-accent,var(--g));transition:transform .25s var(--ease),border-color .25s}
.academy-course-card:hover{transform:translateY(-5px);border-color:var(--course-accent,var(--g))}
.academy-course-card h3{font-size:1.55rem;line-height:1.12}
.academy-course-card p{color:var(--mu);font-size:.92rem;line-height:1.65}
.academy-course-card b,.academy-material a,.academy-submission-state a,.academy-admin-submission a,.academy-auth-note a{color:var(--course-accent,var(--g));font-weight:800}
.course-card-list{display:flex;flex-direction:column;gap:7px;color:var(--wh);font-size:.84rem}
.course-card-list li{padding-left:14px;position:relative}
.course-card-list li::before{content:'';position:absolute;left:0;top:.7em;width:5px;height:5px;border-radius:50%;background:var(--course-accent,var(--g))}
.academy-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.academy-meta span,.academy-tags span{border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-family:var(--font-mono);font-size:.68rem;color:var(--mu)}
.academy-tags{display:flex;flex-wrap:wrap;gap:7px}
.academy-tags span{border-radius:6px;color:var(--wh);background:rgba(255,255,255,.055)}

.pricing-layout,.faq-layout,.course-outcome-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start}
.pricing-layout h2,.faq-layout h2,.course-outcome-grid h2{font-size:2.8rem;line-height:1.08;margin-bottom:16px}
.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pricing-panel{padding:28px;min-height:230px;display:flex;flex-direction:column;gap:14px}
.pricing-panel.featured{border-color:rgba(0,204,132,.35);background:linear-gradient(180deg,rgba(0,204,132,.15),rgba(255,255,255,.03))}
.pricing-panel b,.course-price-panel b{font-family:var(--font-display);font-size:3rem;line-height:1;color:var(--wh)}
.pricing-panel p,.course-price-panel p{color:var(--mu)}
.syllabus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.syllabus-card{padding:22px;border-top:3px solid var(--course-accent,var(--g))}
.syllabus-card h3{font-size:1.18rem;margin-bottom:14px}
.syllabus-card ul{display:flex;flex-direction:column;gap:7px;color:var(--mu);font-size:.88rem;margin-bottom:16px}
.syllabus-card li{padding-left:13px;position:relative}
.syllabus-card li::before{content:'';position:absolute;left:0;top:.68em;width:5px;height:5px;border-radius:50%;background:var(--course-accent,var(--g))}
.syllabus-card p{color:var(--mu);font-size:.86rem}
.syllabus-card p b{color:var(--wh)}

.teacher-showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.teacher-showcase-card{overflow:hidden;background:var(--card);display:flex;flex-direction:column}
.teacher-showcase-card img{width:100%;aspect-ratio:1.05/1;object-fit:cover;filter:saturate(.92) contrast(1.05)}
.teacher-showcase-card div{padding:20px}
.teacher-showcase-card span{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--g);display:block;margin-bottom:10px}
.teacher-showcase-card h3{font-size:1.35rem;line-height:1.12}
.teacher-showcase-card b{display:block;margin-top:6px;color:var(--wh)}
.teacher-showcase-card p{color:var(--mu);font-size:.9rem;margin-top:10px}

.academy-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.academy-feature-grid>div{padding:24px}
.academy-feature-grid span{font-family:var(--font-mono);color:var(--g);font-size:.74rem}
.academy-feature-grid h3{font-size:1.1rem;margin:16px 0 8px}
.academy-feature-grid p{color:var(--mu);font-size:.92rem}
.cta-band{padding:84px 0;text-align:center}
.cta-band h2{font-size:3rem;line-height:1.08;max-width:18ch;margin:0 auto 26px}

.academy-course-hero{padding:70px 0;background:linear-gradient(135deg,rgba(0,204,132,.10),transparent 44%),var(--bk)}
.academy-back{display:inline-flex;margin-bottom:26px;color:var(--mu);font-family:var(--font-mono);font-size:.78rem}
.academy-course-hero-meta{margin-top:32px}
.academy-detail-grid,.academy-auth-grid,.academy-teaser{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:start}
.academy-detail-grid h2,.academy-auth-grid h2,.academy-teaser h2{font-size:2.8rem;line-height:1.08;margin-bottom:18px}
.academy-timeline{display:flex;flex-direction:column;gap:16px}
.academy-timeline>div{padding:24px}
.academy-timeline b{color:var(--g);font-family:var(--font-mono);font-size:.76rem}
.academy-timeline h3{margin:8px 0;font-size:1.2rem}
.academy-timeline p{color:var(--mu)}
.assignment-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.assignment-preview-grid>div{padding:24px}
.assignment-preview-grid span{font-family:var(--font-mono);color:var(--g);font-size:.76rem}
.assignment-preview-grid h3{font-size:1.14rem;margin:14px 0 8px}
.assignment-preview-grid p{color:var(--mu);font-size:.9rem}
.outcome-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.outcome-list>div{padding:16px;color:var(--wh)}
.course-price-panel{padding:30px;display:flex;flex-direction:column;gap:16px;border-color:rgba(0,204,132,.3)}
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-list details{padding:18px 20px}
.faq-list summary{cursor:pointer;font-weight:800;font-family:var(--font-display)}
.faq-list p{color:var(--mu);margin-top:10px}
.academy-teaser-card{padding:28px;display:flex;flex-direction:column;gap:18px}
.academy-teaser-card>div:not(.academy-orbit-logo){border-top:1px solid var(--line);padding-top:16px}

.academy-auth-section{min-height:calc(100vh - 120px);display:flex;align-items:center}
.academy-auth-card{padding:30px;background:var(--card)}
.academy-auth-note{margin-top:18px;color:var(--mu);font-size:.92rem}
.form-group{margin-bottom:18px}
.form-group label{display:block;margin-bottom:7px;font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--g)}
.form-group input,.form-group textarea,.form-group select{
  width:100%;border:1px solid var(--line);border-radius:8px;background:var(--bk);color:var(--wh);padding:12px 14px;
}
.form-group textarea{min-height:120px;resize:vertical}
.course-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.course-choice{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);padding:12px;display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.course-choice:has(input:checked){border-color:var(--course-accent,var(--g));background:rgba(0,204,132,.08)}
.course-choice input{width:18px;height:18px;margin-top:3px;accent-color:var(--course-accent,var(--g))}
.course-choice b{display:block;font-size:.92rem}
.course-choice small{display:block;color:var(--mu);font-family:var(--font-mono);font-size:.7rem}
.bundle-summary{margin-top:10px;border:1px solid rgba(0,204,132,.22);border-radius:8px;background:rgba(0,204,132,.08);color:var(--g);padding:10px 12px;font-family:var(--font-mono);font-size:.74rem}
.alert{padding:14px 16px;border-radius:8px;margin-bottom:18px;font-size:.92rem}
.alert-success{border:1px solid var(--g);background:rgba(0,204,132,.12);color:var(--g)}
.alert-error{border:1px solid var(--danger);background:rgba(255,107,122,.12);color:var(--danger)}

.academy-dashboard{padding:58px 0 90px}
.academy-dashboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.academy-dashboard-head h1{font-size:2.9rem;line-height:1.05}
.academy-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.academy-main-column{display:flex;flex-direction:column;gap:24px}
.student-course-picker{
  display:grid;grid-template-columns:minmax(240px,420px) auto;gap:14px;align-items:end;
  border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);padding:16px;margin-bottom:24px;
}
.student-course-picker label{display:block;margin-bottom:7px;font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--g)}
.student-course-picker select{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--bk);color:var(--wh);padding:12px 14px;font-weight:700}
.academy-dash-card,.academy-chat-card{padding:24px;background:var(--card)}
.academy-dash-card{border-top:3px solid var(--course-accent,var(--g))}
.academy-dash-card-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:20px}
.academy-dash-card-head h2{font-size:1.45rem}
.academy-status{font-family:var(--font-mono);font-size:.7rem;padding:6px 10px;border-radius:999px;background:rgba(0,204,132,.14);color:var(--g);border:1px solid rgba(0,204,132,.25)}
.student-progress-panel{border:1px solid var(--line);border-radius:8px;padding:18px;background:rgba(255,255,255,.035);margin-bottom:24px}
.progress-main{display:flex;align-items:center;gap:18px}
.progress-ring{
  width:74px;height:74px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;
  background:conic-gradient(var(--course-accent,var(--g)) calc(var(--progress)*1%), rgba(255,255,255,.09) 0);
  position:relative;
}
.progress-ring::after{content:'';position:absolute;inset:7px;border-radius:50%;background:var(--card)}
.progress-ring span{position:relative;z-index:1;font-family:var(--font-display);font-weight:800}
.progress-main h3{font-size:1.12rem;margin-top:2px}
.progress-line,.assignment-score div,.admin-progress-cell>div,.admin-submission-score div{
  height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;
}
.progress-line{margin:16px 0 14px}
.progress-line span,.assignment-score div span,.admin-progress-cell>div span,.admin-submission-score div span{
  display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--g),var(--g2));
}
.score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.score-grid>div{border:1px solid var(--line);border-radius:8px;padding:12px;background:rgba(255,255,255,.03)}
.score-grid b{display:block;font-family:var(--font-display);font-size:1.35rem}
.score-grid span{display:block;color:var(--mu);font-size:.78rem}
.academy-dash-title{font-family:var(--font-mono);font-size:.78rem;text-transform:uppercase;color:var(--mu);margin:28px 0 12px}
.academy-material-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.academy-material,.academy-assignment{padding:16px;background:rgba(255,255,255,.035)}
.academy-material p,.academy-assignment p{color:var(--mu);font-size:.9rem;margin-top:6px}
.academy-assignment-list{display:flex;flex-direction:column;gap:14px}
.academy-assignment{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}
.academy-submit-form{display:flex;flex-direction:column;gap:9px}
.academy-submit-form label{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;color:var(--g)}
.academy-submit-form input,.academy-submit-form textarea,.academy-comment-form input,.academy-chat-form textarea{
  width:100%;border:1px solid var(--line);background:var(--bk);color:var(--wh);border-radius:8px;padding:10px 12px;
}
.academy-submit-form textarea{min-height:76px;resize:vertical}
.academy-submission-state{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px;font-size:.86rem;color:var(--g)}
.grade-pill{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:6px 10px;font-family:var(--font-mono);font-size:.72rem}
.grade-pill.graded{background:rgba(0,204,132,.14);border:1px solid rgba(0,204,132,.28);color:var(--g)}
.grade-pill.pending{background:rgba(255,180,0,.13);border:1px solid rgba(255,180,0,.28);color:#ffb400}
.grade-pill.not-started{background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--mu)}
.assignment-score{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:12px}
.assignment-score b{font-family:var(--font-mono);font-size:.76rem;color:var(--g)}
.academy-feedback{margin-top:12px;padding:12px;border-left:3px solid var(--g);background:rgba(0,204,132,.08);color:var(--wh)!important}
.academy-comments{grid-column:1/-1;border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:10px}
.academy-comments>div{border-radius:8px;background:rgba(255,255,255,.04);padding:10px 12px}
.academy-comments b{color:var(--g);margin-right:8px}
.academy-comments span{color:var(--mu);font-size:.78rem}
.academy-comment-form{display:flex;gap:8px}
.academy-comment-form button{border:1px solid var(--g);background:var(--g);color:#050505;border-radius:8px;padding:0 14px;font-weight:800}
.academy-chat-card{position:sticky;top:92px}
.academy-chat-list{display:flex;flex-direction:column;gap:10px;max-height:520px;overflow:auto;padding-right:4px}
.academy-chat-message{border:1px solid var(--line);border-radius:8px;padding:12px;background:rgba(255,255,255,.04)}
.academy-chat-message.mine{border-color:rgba(0,204,132,.28);background:rgba(0,204,132,.08)}
.academy-chat-message b{color:var(--g);font-size:.82rem}
.academy-chat-message p{margin:6px 0;color:var(--wh)}
.academy-chat-message span{color:var(--mu);font-size:.74rem}
.academy-chat-form{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.academy-chat-form textarea{min-height:92px;resize:vertical}

.site-footer{background:var(--s);border-top:1px solid var(--line);padding:68px 0 30px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;margin-bottom:46px}
.footer-logo{margin-bottom:16px}
.footer-logo-mark{width:58px;height:58px;flex:0 0 auto}
.footer-grid h4{font-family:var(--font-mono);font-size:.78rem;text-transform:uppercase;color:var(--mu);margin-bottom:16px}
.footer-grid li{margin-bottom:10px;color:var(--mu)}
.footer-grid a:hover{color:var(--g)}
.footer-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;color:var(--mu);font-size:.84rem}

.admin-body{background:#0e0d13;color:#edebf2;min-height:100vh}
.admin-shell{display:flex;min-height:100vh}
.admin-sidebar{width:240px;flex:0 0 auto;background:#151320;border-right:1px solid rgba(255,255,255,.08);padding:28px 20px;display:flex;flex-direction:column;gap:6px}
.admin-sidebar .brand{font-family:var(--font-display);font-weight:800;margin-bottom:28px;display:flex;align-items:center;gap:10px}
.admin-sidebar .mark{width:32px;height:32px}
.admin-sidebar a{padding:11px 14px;border-radius:8px;color:#a6a2b8;font-size:.92rem}
.admin-sidebar a:hover,.admin-sidebar a.active{background:var(--g);color:#050505;font-weight:800}
.admin-main{flex:1;max-width:1380px;padding:36px 44px}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px}
.admin-eyebrow{display:block;margin-bottom:6px;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;color:var(--g);letter-spacing:.1em}
.admin-topbar h1{font-size:1.7rem}
.admin-card,.admin-stat{background:#171520;border:1px solid rgba(255,255,255,.08);border-radius:8px}
.admin-card{padding:28px;margin-bottom:24px}
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}
.admin-stat{padding:22px}
.admin-stat b{display:block;font-family:var(--font-display);font-size:2rem}
.admin-stat span{color:#8e8aa0;font-size:.84rem}
.admin-section-title{display:flex;justify-content:space-between;gap:16px;margin-bottom:20px}
.admin-section-title h2{font-size:1.25rem}
.admin-section-title span{color:#8e8aa0}
.admin-table{width:100%;border-collapse:collapse}
.admin-table th{text-align:left;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;color:#8e8aa0;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.admin-table td{padding:14px;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:middle}
.admin-progress-cell{min-width:180px}
.admin-progress-cell>div{height:7px;margin-bottom:7px}
.admin-progress-cell small{color:#8e8aa0;font-size:.76rem}
.admin-actions{display:flex;gap:8px;flex-wrap:wrap}
.admin-actions a,.admin-actions button{font-size:.82rem;padding:7px 12px;border-radius:7px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#edebf2}
.admin-actions button:hover{background:rgba(255,255,255,.08)}
.admin-actions .danger:hover{background:var(--danger);border-color:var(--danger)}
.admin-row-link{display:inline-flex;border:1px solid rgba(255,255,255,.12);border-radius:7px;padding:7px 11px;color:#edebf2;font-size:.82rem}
.admin-row-link:hover{border-color:var(--g);color:var(--g)}
.admin-badge{font-family:var(--font-mono);font-size:.72rem;padding:5px 10px;border-radius:999px;display:inline-block}
.academy-status-pending{background:rgba(255,180,0,.14);color:#ffb400}
.academy-status-approved{background:rgba(0,204,132,.14);color:#00cc84}
.academy-status-rejected{background:rgba(255,107,122,.14);color:#ff6b7a}
.admin-two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.compact-admin-form textarea{min-height:92px}
.academy-access-form{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end}
.academy-course-admin-form{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.academy-course-admin-form .wide{grid-column:1/-1}
.academy-course-admin-form button{grid-column:1/span 2;width:max-content}
.academy-admin-submission{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;border-top:1px solid rgba(255,255,255,.08);padding:22px 0}
.academy-admin-submission:first-of-type{border-top:0;padding-top:0}
.academy-admin-submission p{color:#c9c6d6;margin-top:6px}
.admin-submission-score{display:grid;grid-template-columns:max-content minmax(140px,1fr);gap:12px;align-items:center;margin-top:12px;max-width:420px}
.academy-admin-chat-list{display:flex;flex-direction:column;gap:12px;max-height:420px;overflow:auto}
.academy-admin-chat-list>div{border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px;background:rgba(255,255,255,.03)}
.academy-admin-chat-list p{color:#c9c6d6;margin:6px 0}
.academy-admin-chat-list span{color:#8e8aa0;font-size:.75rem}
.academy-admin-chat-list.compact{max-height:330px;margin-bottom:16px}
.sidebar-user{display:block;color:#8e8aa0;font-size:.78rem;padding:10px 14px;border-top:1px solid rgba(255,255,255,.08);margin-top:10px}
.teacher-space-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.teacher-space-card{border:1px solid rgba(255,255,255,.08);border-top:3px solid var(--course-accent,var(--g));border-radius:8px;background:rgba(255,255,255,.035);padding:18px;min-height:160px;display:flex;flex-direction:column;gap:9px;transition:transform .2s,border-color .2s,background .2s}
.teacher-space-card:hover,.teacher-space-card.active{transform:translateY(-2px);border-color:var(--course-accent,var(--g));background:rgba(255,255,255,.06)}
.teacher-space-card span{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;color:var(--course-accent,var(--g))}
.teacher-space-card h3{font-size:1.18rem}
.teacher-space-card p{color:#aaa5bc;font-size:.88rem}
.teacher-space-card b{margin-top:auto;color:#edebf2}
.group-workspace{border-top:3px solid var(--course-accent,var(--g))}
.inline-date-form{display:flex;gap:8px;align-items:center}
.inline-date-form input,.inline-date-form button,.teacher-student-table select,.teacher-student-table input{
  border:1px solid rgba(255,255,255,.12);border-radius:7px;background:#0e0d13;color:#edebf2;padding:9px 10px;
}
.inline-date-form button{font-weight:800}
.teacher-table-wrap{width:100%;overflow:auto;margin-bottom:18px}
.teacher-student-table{min-width:1020px}
.teacher-student-table select{width:118px;margin-bottom:7px}
.teacher-student-table input{width:170px}
.teacher-student-table small,.text-muted-admin{color:#8e8aa0;font-size:.76rem}
.student-detail-panel{border-top:3px solid var(--g)}
.student-detail-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:20px}
.student-detail-grid h3{font-size:1.02rem;margin-bottom:12px}
.teacher-assignment-list,.attendance-history,.teacher-list{display:flex;flex-direction:column;gap:10px}
.teacher-assignment-list>div,.attendance-history>div,.teacher-list>div{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.035);padding:12px}
.teacher-assignment-list span{display:block;color:#edebf2;font-weight:800}
.teacher-assignment-list b{display:inline-flex;margin:8px 8px 0 0;color:var(--g)}
.teacher-assignment-list a{color:var(--g);font-size:.84rem;font-weight:800}
.teacher-assignment-list p,.attendance-history p{color:#c9c6d6;margin-top:6px;font-size:.86rem}
.attendance-history b{color:#edebf2;margin-right:8px}
.attendance-history span{font-family:var(--font-mono);font-size:.72rem;color:var(--g)}
.teacher-list{margin-top:16px}
.teacher-list span{display:block;color:#8e8aa0;font-size:.8rem}
.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0e0d13;padding:24px}
.login-card{width:390px;background:#171520;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:34px}
.login-logo{width:66px;height:66px;margin-bottom:18px}
.login-card h1{font-size:1.5rem;margin-bottom:8px}
.login-card p{color:#8e8aa0;font-size:.92rem;margin-bottom:22px}
.login-hint{margin-top:20px!important;font-size:.8rem!important}
.empty-state{text-align:center;padding:54px 20px;color:#8e8aa0}
.error-page{padding:130px 0;text-align:center}
.error-page h1{font-size:6rem;color:var(--g)}

.reveal{opacity:1;transform:none}
body.js-reveal .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
body.js-reveal .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .page-loader{display:none!important}
}
@media(max-width:1100px){
  .academy-course-grid,.academy-feature-grid,.syllabus-grid,.teacher-showcase-grid,.assignment-preview-grid{grid-template-columns:repeat(2,1fr)}
  .academy-dashboard-grid,.academy-admin-submission{grid-template-columns:1fr}
  .teacher-space-grid{grid-template-columns:repeat(2,1fr)}
  .student-detail-grid{grid-template-columns:1fr}
  .academy-chat-card{position:static}
  .academy-material-list{grid-template-columns:1fr}
  .academy-assignment{grid-template-columns:1fr}
}
@media(max-width:900px){
  .academy-hero-grid,.academy-detail-grid,.academy-auth-grid,.academy-teaser,.admin-two-col,.pricing-layout,.faq-layout,.course-outcome-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .academy-access-form{grid-template-columns:1fr}
  .academy-course-admin-form{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .academy-hero h1,.academy-course-hero h1,.academy-dashboard-head h1{font-size:3rem;line-height:1.03}
  .section-head h2,.academy-detail-grid h2,.academy-auth-grid h2,.academy-teaser h2,.cta-band h2,.pricing-layout h2,.faq-layout h2,.course-outcome-grid h2{font-size:2rem}
  .academy-course-grid,.academy-feature-grid,.academy-course-admin-form,.pricing-grid,.syllabus-grid,.teacher-showcase-grid,.assignment-preview-grid,.outcome-list,.course-choice-grid{grid-template-columns:1fr}
  .academy-dashboard-head,.admin-topbar{flex-direction:column;align-items:flex-start}
  .student-course-picker{grid-template-columns:1fr}
  .progress-main{align-items:flex-start;flex-direction:column}
  .score-grid{grid-template-columns:1fr}
  .admin-submission-score{grid-template-columns:1fr}
  .admin-shell{display:block}
  .admin-sidebar{width:auto;min-height:auto}
  .admin-main{padding:28px 20px}
  .admin-stats{grid-template-columns:1fr 1fr}
  .teacher-space-grid{grid-template-columns:1fr}
  .inline-date-form{width:100%;align-items:stretch;flex-direction:column}
  .inline-date-form input,.inline-date-form button{width:100%}
  .academy-comment-form{flex-direction:column}
  .footer-grid{grid-template-columns:1fr}
}
