/* Ayush Academy extra effects. Small, fast, and switched off for people who prefer less motion. */
/* scroll progress */
.fx-prog{position:fixed;left:0;top:0;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,#2997ff,#bf5af2 60%,#ff6482);z-index:120;pointer-events:none}
/* word-by-word headlines */
.fx-words .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.fx-words .wi{display:inline-block;transform:translateY(110%);opacity:0;transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .7s;transition-delay:calc(var(--i)*70ms)}
.fx-words.fx-in .wi{transform:none;opacity:1}
/* shimmering gradient text */
.grad{background-size:220% 100%;animation:fxshine 6s ease-in-out infinite}
@keyframes fxshine{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
/* light that follows the mouse on cards */
.tile::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(41,151,255,.20),transparent 60%)}
.tile.fx-hot::before{opacity:1}
/* glow that follows the mouse in the top section */
.hero .fx-glow{position:absolute;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(circle,rgba(41,151,255,.22),rgba(191,90,242,.10) 45%,transparent 70%);will-change:transform}
.hero.fx-hot .fx-glow{opacity:1}
/* button shine */
.btn{position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transition:left .6s}
.btn:hover::after{left:130%}
/* search button and palette */
.fxs{order:2;width:40px;height:40px;border-radius:50%;border:1px solid rgba(0,0,0,.12);background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;flex:none;margin-left:auto}
.fxs svg{width:18px;height:18px;fill:none;stroke:#1d1d1f;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
html[data-theme="dark"] .fxs{border-color:rgba(255,255,255,.22)}html[data-theme="dark"] .fxs svg{stroke:#f5f5f7}
.fxs~.themebtn{margin-left:0}

.fxp{position:fixed;inset:0;z-index:200;display:none;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.fxp.on{display:flex;animation:fxfade .2s}
@keyframes fxfade{from{opacity:0}}
.fxp-box{width:100%;max-width:560px;background:#fff;color:#1d1d1f;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.45);overflow:hidden;animation:fxpop .28s cubic-bezier(.2,.8,.2,1)}
@keyframes fxpop{from{transform:translateY(14px) scale(.97);opacity:0}}
html[data-theme="dark"] .fxp-box{background:#1d1d1f;color:#f5f5f7}
.fxp-box input{width:100%;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:1.05rem;padding:18px 20px;border-bottom:1px solid rgba(128,128,128,.25)}
.fxp-list{list-style:none;margin:0;padding:8px;max-height:50vh;overflow:auto}
.fxp-list a{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;color:inherit;text-decoration:none;font-weight:600}
.fxp-list a small{font-weight:500;opacity:.6}
.fxp-list a.sel,.fxp-list a:hover{background:rgba(0,113,227,.12);color:#0071e3}
html[data-theme="dark"] .fxp-list a.sel,html[data-theme="dark"] .fxp-list a:hover{color:#2997ff}
.fxp-empty{padding:22px;text-align:center;opacity:.65}
.fxp-hint{padding:10px 18px;font-size:.78rem;opacity:.55;border-top:1px solid rgba(128,128,128,.2)}
@media(prefers-reduced-motion:reduce){.fx-words .wi{transform:none;opacity:1;transition:none}.grad{animation:none}.btn::after,.fx-glow,.tile::before{display:none}}
