.opus-orbit__item{position:absolute;top:0;left:0;margin-top:calc(var(--orbit-item-size) / -2);margin-left:calc(var(--orbit-item-size) / -2);width:var(--orbit-item-size);height:var(--orbit-item-size);border-radius:50%!important;background:#0a254066;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1);box-shadow:0 0 15px #0000004d,inset 0 0 10px #ffffff0d;color:#ffffffb3;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;font-size:11px;cursor:pointer;pointer-events:auto;transform:rotate(var(--orbit-angle)) translate(0) rotate(calc(-1 * var(--orbit-angle))) scale(0);opacity:0;transition:all .3s cubic-bezier(.25,.8,.25,1)}.opus-orbit__item:hover{background:#0f172acc;border-color:var(--item-color);color:#fff;box-shadow:0 0 20px color-mix(in srgb,var(--item-color),transparent 70%),inset 0 0 5px #fff3;transform:rotate(var(--orbit-angle)) translate(var(--active-radius)) rotate(calc(-1 * var(--orbit-angle))) scale(1.1);z-index:50}.opus-orbit-unified{--active-radius: 185px;--size-grade: 58px;--size-subject: 72px;position:relative;width:1px;height:1px;display:flex;justify-content:center;align-items:center}.opus-orbit__item--grade{border-color:color-mix(in srgb,var(--item-color),transparent 70%);box-shadow:0 0 10px color-mix(in srgb,var(--item-color),transparent 90%),inset 0 0 10px color-mix(in srgb,var(--item-color),transparent 90%)}.opus-orbit-unified.expanded .opus-orbit__item{opacity:1;transform:rotate(var(--orbit-angle)) translate(var(--active-radius)) rotate(calc(-1 * var(--orbit-angle))) scale(1);transition-delay:0s}.opus-orbit__item[data-selected=true]{background:var(--item-color);border:1px solid white;color:#0a2540;font-weight:800;box-shadow:0 0 30px var(--item-color),inset 0 0 15px #fff9;text-shadow:none;z-index:60;animation:none;transform:rotate(var(--orbit-angle)) translate(var(--active-radius)) rotate(calc(-1 * var(--orbit-angle))) scale(1.2)}.opus-sphere-wrapper{perspective:260px;width:90px;height:90px;display:flex;align-items:center;justify-content:center;pointer-events:none}.opus-sphere{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:opusSphereRot 16s linear infinite reverse}@keyframes opusSphereRot{to{transform:rotateY(360deg) rotate(360deg)}}@keyframes opusSphereColorCycle{0%,to{box-shadow:0 0 12px #ffffff1a,inset 0 0 12px #fff3;border-color:#ffffff1a;opacity:.6}50%{box-shadow:0 0 18px color-mix(in srgb,var(--sphere-accent),transparent 60%),inset 0 0 18px color-mix(in srgb,var(--sphere-accent),transparent 60%);border-color:color-mix(in srgb,var(--sphere-accent),transparent 70%);opacity:.9}}.opus-sphere i{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;backface-visibility:visible;border:1px solid rgba(255,255,255,.1);animation:opusSphereColorCycle 8s ease-in-out infinite}.lesson-content a{display:inline-flex;align-items:center;gap:3px;background-color:#0f766e14;color:#0f766e;padding:1px 6px;border-radius:9999px;text-decoration:none;border:1px solid rgba(15,118,110,.15);transition:all .2s;vertical-align:baseline;font-size:0;line-height:0;height:18px}.lesson-content a:before{content:"SOURCE";font-size:9px;line-height:1;font-weight:800;letter-spacing:.05em;font-family:Inter,sans-serif}.lesson-content a:after{content:"↗";font-size:9px;line-height:1;font-weight:800;font-family:sans-serif}.lesson-content a:hover{background-color:#0f766e26;border-color:#0f766e4d;transform:translateY(-1px)}@media print{.lesson-content a{font-size:inherit;line-height:inherit;height:auto;background:none!important;border:none!important;padding:0!important;color:#000!important;text-decoration:underline!important;display:inline}.lesson-content a:before{display:none}.lesson-content a:after{content:" (" attr(href) ")";font-size:.8em;font-weight:400;text-decoration:none;color:#444}}:root{--stagger-base: 40ms;--settle-duration: .42s;--settle-ease: cubic-bezier(.26,.91,.24,1);--entrance-duration: .38s}.animate-in{animation:enterFadeUp var(--entrance-duration) var(--settle-ease) both;will-change:opacity,transform}@keyframes enterFadeUp{0%{opacity:0;transform:translateY(8px) scale(.997)}to{opacity:1;transform:translateY(0) scale(1)}}.tile-settle{animation:settle var(--settle-duration) var(--settle-ease) both}@keyframes settle{0%{transform:translateY(8px) scale(.998)}60%{transform:translateY(-2px) scale(1.002)}to{transform:translateY(0) scale(1)}}.stagger>*{opacity:0;transform:translateY(6px);animation-fill-mode:forwards}.stagger>*:nth-child(1){animation:enterFadeUp calc(var(--entrance-duration)) var(--settle-ease) 0ms both}.stagger>*:nth-child(2){animation:enterFadeUp calc(var(--entrance-duration)) var(--settle-ease) calc(var(--stagger-base) * 1) both}.stagger>*:nth-child(3){animation:enterFadeUp calc(var(--entrance-duration)) var(--settle-ease) calc(var(--stagger-base) * 2) both}.stagger>*:nth-child(4){animation:enterFadeUp calc(var(--entrance-duration)) var(--settle-ease) calc(var(--stagger-base) * 3) both}.stagger>*:nth-child(5){animation:enterFadeUp calc(var(--entrance-duration)) var(--settle-ease) calc(var(--stagger-base) * 4) both}.stagger>*:nth-child(6){animation:enterFadeUp calc(var(--entrance-duration)) var(--settle-ease) calc(var(--stagger-base) * 5) both}.stagger>*:nth-child(7){animation:enterFadeUp calc(var(--entrance-duration)) var(--settle-ease) calc(var(--stagger-base) * 6) both}.stagger>*:nth-child(8){animation:enterFadeUp calc(var(--entrance-duration)) var(--settle-ease) calc(var(--stagger-base) * 7) both}.stagger>*:nth-child(9){animation:enterFadeUp calc(var(--entrance-duration)) var(--settle-ease) calc(var(--stagger-base) * 8) both}.stagger>*:nth-child(10){animation:enterFadeUp calc(var(--entrance-duration)) var(--settle-ease) calc(var(--stagger-base) * 9) both}.stagger>*:nth-child(11){animation:enterFadeUp calc(var(--entrance-duration)) var(--settle-ease) calc(var(--stagger-base) * 10) both}.stagger>*:nth-child(12){animation:enterFadeUp calc(var(--entrance-duration)) var(--settle-ease) calc(var(--stagger-base) * 11) both}.press-scale{transition:transform .12s var(--settle-ease)}:active .press-scale{transform:scale(.98)}@keyframes shadowPulse{0%,to{box-shadow:0 0 15px var(--glow-color, rgba(255,255,255,.5)),inset 0 0 10px #fff3}50%{box-shadow:0 0 35px var(--glow-color, rgba(255,255,255,.8)),inset 0 0 5px #fff6}}.animate-shadow-pulse{animation:shadowPulse 4s infinite cubic-bezier(.4,0,.6,1)}@media(prefers-reduced-motion:reduce){.animate-in,.tile-settle,.stagger>*,.animate-shadow-pulse{animation:none!important;transform:none!important}}@media print{html,body,#root{height:auto!important;min-height:0!important;overflow:visible!important;position:static!important;background:#fff!important;color:#000!important;display:block!important}.background-container,.sidebar,.system-hud,.control-deck,.opus-grid,.glass-slab,.input-bar,form,button,.glass-container,nav,.app-header,header:not(.lesson-header),footer:not(.lesson-footer){display:none!important}.overflow-y-auto,.flex-1{overflow:visible!important;height:auto!important;display:block!important}.w-full.bg-\[\#E2E8F0\]{background:#fff!important;padding:0!important;margin:0!important;box-shadow:none!important;border:none!important;ring:0!important}.lesson-output{display:block!important;width:100%!important;margin:0!important;padding:0!important;box-shadow:none!important;background:#fff!important;color:#0a0a0a!important;position:static!important;border:none!important;min-height:0!important}h1,h2,h3,h4,h5,h6{color:#000!important;page-break-after:avoid}p,li,span,div{color:#1a1a1a!important;text-shadow:none!important}a{text-decoration:underline!important;color:#000!important}a:after{content:" (" attr(href) ")";font-size:.8em;font-weight:400}a[href^="#"]:after{content:""}.lesson-section,section{page-break-inside:avoid;margin-bottom:2em;border:1px solid #eee!important;border-radius:8px!important}.lesson-output button{display:none!important}.lesson-output svg.absolute{display:none!important}@page{margin:20mm;size:auto}}:root{--focus-ring: 3px;--focus-color: rgba(59,130,246,.95);--high-contrast-bg: #081022;--high-contrast-text: #ffffff}:focus{outline:none;box-shadow:0 0 0 var(--focus-ring) var(--focus-color);border-radius:calc(var(--radius-sm) / 1.2)}@media(prefers-contrast:more){body{background:var(--high-contrast-bg);color:var(--high-contrast-text)}.opus-tile{background:#0b1220;border-color:#fff}.opus-icon-box{filter:none}}.sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.enlarge-hit{padding:6px;margin:-6px}[role=status]{color:var(--color-emerald)}[role=alert]{color:var(--color-rose)}
