:root{
  --academy-accent:#F4376B;
  --academy-accent-2:#B344E0;
  --academy-ink:#29242D;
  --academy-muted:#766E7D;
  --academy-paper:#FAF6EF;
  --academy-line:#E8DECE;
  --academy-panel:#FFFFFF;
  --academy-shadow:0 26px 70px rgba(41,36,45,.14);
  --academy-fast:cubic-bezier(.2,.8,.2,1);
}
html[data-academy-route="build"]{
  --academy-accent:#1FB39E;
  --academy-accent-2:#6E91FF;
  --academy-ink:#F8F4EC;
  --academy-muted:#A8A5B5;
  --academy-paper:#11121A;
  --academy-line:rgba(255,255,255,.14);
  --academy-panel:#1A1C27;
  --academy-shadow:0 28px 76px rgba(0,0,0,.28);
  --nav-active:#F8F4EC;
  --nav-muted:#D9D2DF;
}
html[data-academy-route="architect"]{--academy-accent:#EE9F33;--academy-accent-2:#F4376B}
html[data-academy-route="prompt"]{--academy-accent:#B344E0;--academy-accent-2:#F4376B}
html[data-academy-route="smart-play"]{--academy-accent:#4C86F0;--academy-accent-2:#B344E0}

@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
  ::view-transition-old(root){animation:academy-out .24s var(--academy-fast) both}
  ::view-transition-new(root){animation:academy-in .42s var(--academy-fast) both}
}
@keyframes academy-in{from{opacity:0;transform:translateY(16px) scale(.992)}to{opacity:1;transform:none}}
@keyframes academy-out{from{opacity:1;transform:none}to{opacity:.2;transform:translateY(-10px) scale(.996)}}

body.academy-enhanced{
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  background-image:
    linear-gradient(90deg,rgba(41,36,45,.045) 1px,transparent 1px),
    linear-gradient(180deg,rgba(41,36,45,.035) 1px,transparent 1px),
    repeating-linear-gradient(135deg,transparent 0 22px,rgba(244,55,107,.035) 22px 23px,transparent 23px 44px);
  background-size:72px 72px,72px 72px,100% 100%;
  background-attachment:fixed;
}
html[data-academy-route="build"] body.academy-enhanced{
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.04) 1px,transparent 1px),
    repeating-linear-gradient(135deg,transparent 0 22px,rgba(31,179,158,.055) 22px 23px,transparent 23px 44px);
  background-size:72px 72px,72px 72px,100% 100%;
  background-attachment:fixed;
}

.academy-scroll-meter{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:3px;
  z-index:9999;
  pointer-events:none;
  background:transparent;
}
.academy-scroll-meter span{
  display:block;
  width:0;
  height:100%;
  background:linear-gradient(90deg,var(--academy-accent),var(--academy-accent-2));
  box-shadow:0 0 22px color-mix(in srgb,var(--academy-accent) 58%,transparent);
}

body.academy-enhanced nav{
  box-shadow:0 10px 34px rgba(41,36,45,.08);
  transition:background .3s var(--academy-fast),border-color .3s var(--academy-fast),box-shadow .3s var(--academy-fast);
}
html[data-academy-route="build"] body.academy-enhanced nav{box-shadow:0 12px 36px rgba(0,0,0,.28)}
body.academy-enhanced nav>div{min-height:68px}
body.academy-enhanced nav .links{
  position:relative;
  padding:4px;
  border-radius:999px;
  background:color-mix(in srgb,var(--nav-muted,#766E7D) 8%,transparent);
  border:1px solid color-mix(in srgb,var(--nav-muted,#766E7D) 16%,transparent);
}
body.academy-enhanced nav .navlink{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  padding:0 10px;
  border-radius:999px;
  transition:color .22s var(--academy-fast),background .22s var(--academy-fast),transform .22s var(--academy-fast);
}
body.academy-enhanced nav .navlink:hover{transform:translateY(-1px)}
body.academy-enhanced nav .navlink[aria-current="page"]{
  background:color-mix(in srgb,var(--academy-accent) 14%,transparent);
  color:var(--nav-active,#29242D)!important;
}
body.academy-enhanced nav .navlink:after{display:none}

.academy-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.academy-hero:before{
  content:"";
  position:absolute;
  inset:18px;
  z-index:-1;
  pointer-events:none;
  border:1px solid color-mix(in srgb,var(--academy-accent) 22%,transparent);
  border-radius:28px;
  opacity:.72;
}
.academy-hero:after{
  content:attr(data-academy-kicker);
  position:absolute;
  right:clamp(16px,4vw,54px);
  top:clamp(88px,13vw,156px);
  z-index:-1;
  font-family:var(--latin,'Poppins',sans-serif);
  font-weight:800;
  font-size:clamp(44px,10vw,142px);
  line-height:.82;
  letter-spacing:0;
  color:color-mix(in srgb,var(--academy-accent) 16%,transparent);
  text-transform:uppercase;
  max-width:7ch;
  text-align:right;
}
.academy-hero h1{
  filter:drop-shadow(0 18px 34px color-mix(in srgb,var(--academy-accent) 16%,transparent));
}
.academy-hero p{
  max-width:900px!important;
}

.academy-enhanced .card,
.academy-enhanced article,
.academy-enhanced [style*="border-radius:22px"],
.academy-enhanced [style*="border-radius:24px"]{
  transform-origin:center;
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .academy-enhanced .card:hover,
  .academy-enhanced article:hover{
    transform:translateY(-8px);
    box-shadow:var(--academy-shadow)!important;
  }
}

.academy-enhanced section{
  scroll-margin-top:96px;
}
.academy-enhanced main>section,
.academy-enhanced #page>section,
.academy-enhanced #hub>section{
  position:relative;
}
.academy-enhanced .academy-inview{
  animation:academy-rise .72s var(--academy-fast) both;
}
@keyframes academy-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

.academy-rail{
  position:fixed;
  left:18px;
  top:50%;
  z-index:20;
  transform:translateY(-50%);
  pointer-events:none;
  font-family:var(--latin,'Poppins',sans-serif);
  font-weight:800;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:color-mix(in srgb,var(--academy-accent) 72%,var(--academy-muted));
  writing-mode:vertical-rl;
  opacity:.58;
}
.academy-rail:before,
.academy-rail:after{
  content:"";
  display:inline-block;
  width:1px;
  height:52px;
  margin:14px auto;
  background:linear-gradient(180deg,transparent,var(--academy-accent),transparent);
}

.academy-page-leaving .academy-transition-veil{transform:scaleX(1);transform-origin:left}
.academy-transition-veil{
  position:fixed;
  inset:0;
  z-index:10000;
  pointer-events:none;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .28s var(--academy-fast);
  background:
    linear-gradient(90deg,var(--academy-accent),var(--academy-accent-2)),
    var(--academy-paper);
}

@media(max-width:880px){
  body.academy-enhanced nav .links{
    order:3;
    width:100%;
    display:flex!important;
    gap:4px!important;
    overflow-x:auto;
    padding:4px!important;
    scrollbar-width:none;
  }
  body.academy-enhanced nav .links::-webkit-scrollbar{display:none}
  body.academy-enhanced nav .navlink{
    flex:0 0 auto;
    min-height:34px;
    padding:0 11px!important;
    font-size:13px!important;
  }
  .academy-rail{display:none}
  .academy-hero:before{inset:10px;border-radius:20px}
  .academy-hero:after{top:auto;bottom:18px;right:18px;font-size:54px;opacity:.5}
  body.academy-enhanced nav>div{min-height:0}
}
