:root{--motion-violet:139 111 240;--motion-orange:236 151 87}
body{isolation:isolate}.shell{position:relative;z-index:1}
.motion-atmosphere{position:fixed;inset:0;overflow:clip;pointer-events:none;z-index:0;contain:strict;opacity:1;transition:opacity .4s}
.motion-atmosphere span{position:absolute;inline-size:75vmax;block-size:75vmax;border-radius:50%;background:radial-gradient(ellipse,rgb(var(--motion-violet)/.065),transparent 65%);inset:-25vmax -25vmax auto auto;animation:school-aurora 19s ease-in-out infinite alternate;animation-play-state:paused}
.motion-atmosphere span+span{inset:auto auto -28vmax -26vmax;background:radial-gradient(ellipse,rgb(var(--motion-orange)/.06),transparent 65%);animation-direction:alternate-reverse;animation-duration:23s}
[data-theme=dark] .motion-atmosphere span{background:radial-gradient(ellipse,rgb(var(--motion-violet)/.12),transparent 65%)}
[data-theme=dark] .motion-atmosphere span+span{background:radial-gradient(ellipse,rgb(var(--motion-orange)/.08),transparent 65%)}
.pointer-effects{position:fixed;inset:0;z-index:7;pointer-events:none;overflow:clip;contain:strict;opacity:0;transition:opacity .3s}
.pointer-effects.is-active{opacity:1}
.pointer-effects>span,.pointer-thread{position:absolute;inset:0 auto auto 0;display:block;pointer-events:none}
.pointer-halo{width:190px;height:190px;background:radial-gradient(ellipse at 35% 40%,rgb(var(--motion-violet)/.16),transparent 63%),radial-gradient(ellipse at 68% 58%,rgb(var(--motion-orange)/.16),transparent 58%);border-radius:50%;will-change:transform}
.pointer-orbit{width:36px;height:36px;border-radius:50%;background:conic-gradient(from 20deg,transparent 10%,rgb(var(--motion-violet)/.75),rgb(var(--motion-orange)/.85),transparent 90%);mask-image:radial-gradient(farthest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1px));will-change:transform}
.pointer-thread{border-radius:3px;background:rgb(var(--thread-color)/var(--thread-opacity));box-shadow:0 0 12px rgb(var(--thread-color)/.12)}
.pointer-pulse{width:44px;height:44px;border:1px solid rgb(var(--motion-orange)/.8);border-radius:50%;opacity:0}
[data-theme=dark] .pointer-halo{background:radial-gradient(ellipse at 35% 40%,rgb(var(--motion-violet)/.25),transparent 63%),radial-gradient(ellipse at 68% 58%,rgb(var(--motion-orange)/.2),transparent 58%)}
.motion-choice{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 12px;font-size:12px;color:var(--muted);min-height:40px;white-space:nowrap}
.motion-choice svg{width:18px;height:18px;flex-shrink:0}.motion-choice[aria-pressed=true]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.motion-choice:disabled{opacity:.6;cursor:default}
[data-motion=on] .motion-atmosphere span{animation-play-state:running}
.is-motion-visible .course-art,.is-motion-visible .intent-icon svg{animation:school-float 5.5s ease-in-out infinite alternate;animation-play-state:paused}
[data-motion=on] .is-motion-visible .course-art,[data-motion=on] .is-motion-visible .intent-icon svg{animation-play-state:running}
.is-motion-visible:nth-child(2n) .course-art{animation-delay:-2s;animation-direction:alternate-reverse}
[data-motion-paused] .motion-atmosphere span,[data-motion-paused] .course-art,[data-motion-paused] .intent-icon svg{animation-play-state:paused!important}
[data-motion=off] .motion-atmosphere{opacity:0}
[data-motion=off] .pointer-effects,[data-motion=reduced] .pointer-effects{display:none}
@keyframes school-aurora{to{transform:translate3d(-8vw,7vh,0) scale(1.12)}}
@keyframes school-float{from{transform:translate3d(0,2px,0) rotate(-1deg)}to{transform:translate3d(0,-5px,0) rotate(2deg)}}
@media(max-width:650px){.motion-choice{padding:8px 10px;margin-left:auto}.motion-atmosphere span{opacity:.65}.pointer-effects{display:none}}
@media(hover:none),(pointer:coarse){.pointer-effects{display:none}}
@media(prefers-reduced-motion:reduce){.motion-atmosphere span,.is-motion-visible .course-art,.is-motion-visible .intent-icon svg{animation:none!important}.motion-atmosphere,.pointer-effects{transition:none}.pointer-effects{display:none}}
@media print{.motion-atmosphere,.pointer-effects,.motion-choice{display:none}}
