/* GSAP owns transforms only during gestures; reading surfaces always settle. */
.workspace-nav{position:relative;isolation:isolate}
.workspace-nav a{position:relative;z-index:1;transition:color .2s,background .2s}
.workspace-nav:has(.workspace-nav-marker) a[aria-current]{background:transparent;box-shadow:none}
.workspace-nav-marker{position:absolute;top:0;left:0;z-index:0;pointer-events:none;background:var(--hub-soft);border-radius:6px;box-shadow:inset 2px 0 var(--strong)}
.workspace .math-wrap,.workspace .wrap{position:relative}
.workspace button,.workspace a,.workspace summary{-webkit-tap-highlight-color:transparent}
.workspace button:focus-visible,.workspace a:focus-visible,.workspace summary:focus-visible{outline:2px solid var(--strong);outline-offset:4px}
.workspace button,.workspace .course-link,.workspace .tile .head,.workspace .assessment>summary{transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s}
.workspace input[type=checkbox]{transition:filter .18s}
.workspace details>summary:after{transition:transform .3s}
.workspace details[open]>summary:after{transform:rotate(180deg)}
.workspace .detail-sheet[open],.workspace .lab-dialog[open],.workspace .rail-event{animation:none}
.workspace dialog::backdrop{background-color:rgb(8 21 37 / calc(.60 * var(--guide-backdrop,1)));backdrop-filter:blur(calc(5px * var(--guide-backdrop,1)))}
.workspace .lab-dialog::backdrop{background-color:rgb(6 16 28 / calc(.85 * var(--guide-backdrop,1)));backdrop-filter:blur(calc(8px * var(--guide-backdrop,1)))}
.workspace .quick-find{transform-origin:top}
.workspace .workspace-panel[inert]{user-select:none}
.workspace .next-assessment,.workspace .cen-next-layout .next{box-shadow:0 9px 28px -20px var(--strong);transition:box-shadow .25s}
@media(hover:hover) and (pointer:fine){.workspace .course-link:hover{background:var(--hub-soft)}.workspace .tile .head:hover,.workspace .assessment>summary:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}.workspace .next-assessment:hover,.workspace .cen-next-layout .next:hover{box-shadow:0 12px 32px -18px var(--strong)}}
@media(max-width:760px){.workspace-nav-marker{background:transparent;border-radius:0;box-shadow:inset 0 -2px var(--strong)}}
@media(prefers-reduced-motion:reduce){.workspace *, .workspace *:before,.workspace *:after{animation-duration:0s!important;transition-duration:0s!important;scroll-behavior:auto!important}}
:root[data-motion=off] .workspace *,:root[data-motion=off] .workspace *:before,:root[data-motion=off] .workspace *:after{animation-duration:0s!important;transition-duration:0s!important;scroll-behavior:auto!important}
body.workspace,.workspace .hub-shell,.workspace .workspace-disclosure,.workspace .quick-find{transition:background-color .22s,color .22s,border-color .22s}
/* A perspective stage for every course and section transition. */
.course-workspace{perspective:1800px;perspective-origin:60% 260px}
body.workspace .wrap,body.workspace .math-wrap{transform-origin:50% 240px;backface-visibility:hidden}
.workspace-panel{backface-visibility:hidden;transform-origin:50% 40px}
.header-upgraded{transform-origin:50% 50%;backface-visibility:hidden}
.workspace dialog{backface-visibility:hidden;transform-origin:50% 100%}
@view-transition{navigation:none}
body.workspace{overflow-x:clip}
