/* Desktop has one transition owner: the continuous document curtain. */
@view-transition { navigation: none; }
:root { --academy-chapter-duration: 1200ms; --academy-chapter-distance: 100px; }
@keyframes academy-curtain-cover { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0); } }
@keyframes academy-curtain-cover-back { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0); } }
@keyframes academy-curtain-reveal { from { clip-path: inset(0); } to { clip-path: inset(0 100% 0 0); } }
@keyframes academy-curtain-reveal-back { from { clip-path: inset(0); } to { clip-path: inset(0 0 0 100%); } }
@keyframes academy-curtain-rescue { to { opacity: 0; visibility: hidden; } }
::view-transition { background: #070709; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: var(--academy-chapter-duration); animation-timing-function: cubic-bezier(.22,1,.36,1); mix-blend-mode: normal; }
::view-transition-old(root) { animation-name: academy-page-out; }
::view-transition-new(root) { animation-name: academy-page-in; }
:root:active-view-transition-type(back)::view-transition-old(root) { animation-name: academy-page-back-out; }
:root:active-view-transition-type(back)::view-transition-new(root) { animation-name: academy-page-back-in; }
@keyframes academy-page-out { to { transform: translateX(calc(-1 * var(--academy-chapter-distance))); opacity: 0; } }
@keyframes academy-page-in { from { transform: translateX(var(--academy-chapter-distance)); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes academy-page-back-out { to { transform: translateX(var(--academy-chapter-distance)); opacity: 0; } }
@keyframes academy-page-back-in { from { transform: translateX(calc(-1 * var(--academy-chapter-distance))); opacity: 0; } to { transform: none; opacity: 1; } }
.academy-return-bar { box-sizing: border-box; height: 48px; position: fixed; inset: 0 0 auto; z-index: 1100; background: #070709; color: #edebe6; border-bottom: 1px solid #37332e; display: none; align-items: center; justify-content: space-between; gap: 16px; padding: 0 clamp(16px,4vw,64px); font: 12px/1.4 "Inter Tight",Arial,sans-serif; }
.academy-return-bar a { color: inherit; text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; transition: color 180ms ease; }
html:has([data-academy-journey]) .academy-return-bar { display: flex; }
.academy-return-bar svg { width: 18px; height: 18px; flex: none; transition: transform 180ms ease; }
.academy-return-bar a:hover { color: #c9b298; }
.academy-return-bar a:hover svg { transform: translateX(-3px); }
.academy-return-bar a:focus-visible { outline: 2px solid #c9b298; outline-offset: 2px; border-radius: 3px; }
html:has([data-academy-journey]) body:has(.academy-return-bar) { padding-top: 48px; overflow-x: clip; overflow-y: visible; }
html:has([data-academy-journey]) body:has(.academy-return-bar) :is(.da-topbar,.sc-topbar,.mi-topbar) { top: 62px; }
html:has([data-academy-journey]) body:has(.academy-return-bar) .site-header { top: 60px; }
html:has([data-academy-journey]) body:has(.academy-return-bar) [class*="CohortTopbar"][role="status"] { top: 48px; }
html:has([data-academy-journey]) body:has(.academy-return-bar) .cpRoute { overflow-x: clip; overflow-y: visible; }
@media (max-width: 899px), (pointer: coarse) {
  @view-transition { navigation: auto; }
  :root { --academy-chapter-duration: 420ms; --academy-chapter-distance: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*) { animation: none !important; }
  .academy-return-bar a,.academy-return-bar svg { transition: none; }
  .academy-return-bar a:hover svg { transform: none; }
}
