.sh-effects-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 13px;border-radius:24px;border:1px solid var(--line,#c5cdd4);color:var(--ink,#17344b);background:var(--surface,#fff);font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.sh-effects-toggle:disabled{opacity:.65;cursor:default}.sh-effects-floating{position:fixed;right:18px;top:18px;z-index:50}.sh-reading-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#c49b59,#f3dba2,#ac7e3c);z-index:90;pointer-events:none}html:not([data-theme=dark]) body:not(.dark) .sh-reading-progress{background:linear-gradient(90deg,#cf909d,#a497cb,#70b7bc,#c0b074)}.sh-back-top{position:fixed;right:22px;bottom:85px;z-index:45;width:44px;height:44px;border:1px solid var(--line,#71828f);border-radius:50%;background:var(--surface,#fff);color:var(--ink,#17344b);box-shadow:0 5px 18px #08253a1c;font-size:22px;cursor:pointer}.sh-back-top[hidden]{display:none}.sh-surface{position:relative;isolation:isolate}.sh-surface:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(280px circle at var(--sh-x,50%) var(--sh-y,25%),#d3af7422,transparent 72%);opacity:0;transition:opacity .25s;z-index:-1}html[data-theme=light] .sh-surface:after{background:radial-gradient(220px circle at var(--sh-x,50%) var(--sh-y,25%),#b29ad326,transparent 72%)}.sh-trail{position:fixed;inset:0;pointer-events:none;z-index:80;overflow:hidden}.sh-spark{position:absolute;width:7px;height:7px;pointer-events:none;background:#efb9ab;border-radius:50%;box-shadow:0 0 9px #d99787;animation:sh-spark-fade .7s ease-out forwards}.sh-spark:nth-child(3n){clip-path:polygon(50% 0,62% 37%,100% 50%,62% 62%,50% 100%,37% 62%,0 50%,37% 37%);width:12px;height:12px}html:not([data-theme=dark]) body:not(.dark) .sh-spark{background:hsl(var(--sh-hue) 65% 48%);box-shadow:0 0 8px hsl(var(--sh-hue) 65% 60%)}@keyframes sh-spark-fade{from{opacity:.85;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,12px) scale(.15)}}
@media(hover:hover) and (pointer:fine){html:not(.effects-off) .sh-surface:is(:hover,:focus-within):after{opacity:1}html:not(.effects-off) :is(.member-page,.public-detail,.courses-page) :is(.btn,.button,.text-link){transition:transform .2s,filter .2s,box-shadow .2s}html:not(.effects-off) :is(.member-page,.public-detail,.courses-page) :is(.btn,.button):hover{transform:translateY(-2px);filter:brightness(1.07)}html:not(.effects-off) :is(.member-page,.public-detail,.courses-page) :is(.btn,.button):active{transform:translateY(0) scale(.985)}}
.sh-effects-toggle:focus-visible,.sh-back-top:focus-visible{outline:3px solid var(--teal,#188a81);outline-offset:4px}.member-header,.detail-nav{flex-wrap:wrap;gap:14px}.member-header>.sh-effects-toggle{margin-left:0}.topbar>div{flex-wrap:wrap}.auth-appearance{display:flex;gap:10px;flex-wrap:wrap}body.dark .sh-effects-toggle,body.dark .sh-back-top{background:#142333;color:#e4edf4;border-color:#435464}
html.effects-off *,html.effects-off *:before,html.effects-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html.effects-off .reveal-pending{opacity:1!important;transform:none!important}html.effects-off .sh-trail,html.effects-off .sh-surface:after{display:none}html.effects-off .hero-photo{transform:none!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-pending{opacity:1!important;transform:none!important}.sh-trail{display:none}}
@media(max-width:700px){.sh-back-top{right:14px;bottom:80px}.sh-effects-toggle{padding:7px 10px;min-height:40px}.sh-trail{display:none}}

/* Shared interaction language across public pages, account screens and the console. */
html:not(.effects-off) :where(main,header,footer,.sidebar) :is(a,button,input,select,textarea,summary){transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,filter .2s,translate .2s,scale .16s}
html:not(.effects-off) :where(main,header,footer,.sidebar) :is(a.button,a.btn,button):not(:disabled):active{scale:.98}
:where(main,header,footer,.sidebar) :is(a,button,summary):focus-visible{outline:2px solid var(--teal,#188a81);outline-offset:4px}
:where(main) :is(input:not([type=checkbox]):not([type=radio]),textarea,select):focus{outline:2px solid var(--teal,#188a81);outline-offset:2px;box-shadow:0 0 0 4px #188a811a}
html:not(.effects-off) .sh-surface{transition:border-color .25s,box-shadow .25s,translate .25s}
html:not(.effects-off) .sh-surface:focus-within{border-color:var(--teal,#188a81);box-shadow:0 5px 22px #188a8112}
@media(hover:hover) and (pointer:fine){
 html:not(.effects-off) :where(main,header,footer,.sidebar) :is(a.button,a.btn,button):not(:disabled):hover{filter:brightness(1.06)}
 html:not(.effects-off) :is(.knowledge-card,.about-person,.about-direction,.course-card,.companion-card,.direction-list>a){will-change:auto}
 html:not(.effects-off) :is(.knowledge-card,.about-direction,.course-session,.course-lecturer,.course-topics>article,.result-panel,.stat-card):hover{translate:0 -3px;border-color:var(--teal,#188a81);box-shadow:0 10px 28px #102a3d12}
 html:not(.effects-off) main :is(.text-link,.about-inline):hover{translate:3px 0}
 html:not(.effects-off) :is(.sidebar nav,.links) a:hover{box-shadow:inset 0 -2px var(--gold,#c49b59)}
 html:not(.effects-off) tbody tr{transition:background-color .2s}
 html:not(.effects-off) tbody tr:hover{background-color:#188a810c}
}
html.effects-off .sh-surface,html.effects-off [data-sh-motion]{translate:none!important;scale:none!important}
@media(prefers-reduced-motion:reduce){.sh-surface,[data-sh-motion]{translate:none!important;scale:none!important}}
