/* ===VT-GUIDES-POLISH=== */
::selection{background:rgba(143,124,245,.4)}
@keyframes vtShift{from{background-position:0% 50%}to{background-position:100% 50%}}
@keyframes vtPulse{0%,100%{box-shadow:0 0 0 0 rgba(72,205,222,.45)}50%{box-shadow:0 0 0 7px rgba(72,205,222,0)}}
@keyframes vtDrift{from{transform:translate(0,0) scale(1)}to{transform:translate(-4vw,3vh) scale(1.15)}}
@keyframes vtIn{from{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:none}}
@keyframes vtBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
body:after{content:"";position:fixed;inset:-20% -10% auto auto;width:60vw;height:60vw;max-width:760px;max-height:760px;border-radius:50%;background:radial-gradient(closest-side,rgba(124,83,203,.18),transparent);z-index:-1;pointer-events:none;animation:vtDrift 16s ease-in-out infinite alternate}
.top{box-shadow:0 8px 30px rgba(0,0,0,.25)}
.top:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:linear-gradient(90deg,#48cdde,#8f7cf5,#f0c36a);transform-origin:0 50%;transform:scaleX(0);box-shadow:0 0 12px rgba(143,124,245,.7)}
.brand svg,.brand img{transition:transform .35s}.brand:hover svg,.brand:hover img{transform:rotate(-8deg) scale(1.1)}
nav.main a{transition:color .2s,background .2s,transform .2s}nav.main a:hover{transform:translateY(-1px);background:rgba(143,124,245,.12)}
nav.main a.on{background:linear-gradient(135deg,rgba(72,205,222,.2),rgba(143,124,245,.22));box-shadow:inset 0 0 0 1px rgba(143,124,245,.4)}
.eyebrow{animation:vtPulse 2.8s ease-in-out infinite}
.hero h1{letter-spacing:-.03em}
.hero .grad,.grad{background:linear-gradient(110deg,#48cdde,#8f7cf5,#f0c36a,#48cdde);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:vtShift 8s linear infinite alternate}
.bigsearch input{transition:box-shadow .25s,border-color .25s,transform .25s}.bigsearch input:hover{transform:translateY(-1px)}
.bigsearch:before{content:"";position:absolute;inset:-2px;border-radius:18px;background:var(--grad);opacity:.28;filter:blur(14px);z-index:-1;transition:opacity .3s}.bigsearch:focus-within:before{opacity:.6}
.stat{position:relative;overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s}.stat:hover{transform:translateY(-3px);border-color:var(--cyan);box-shadow:0 14px 40px rgba(0,0,0,.3)}
.stat b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cat,.gcard,.tblock{position:relative;isolation:isolate}
.cat:before,.gcard:before,.tblock:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(72,205,222,.9),transparent 45%,rgba(143,124,245,.9));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s;pointer-events:none;z-index:-1}
.cat:hover:before,.gcard:hover:before,.tblock:hover:before{opacity:1}
.cat:hover,.gcard:hover{box-shadow:0 18px 50px rgba(0,0,0,.35),0 0 40px rgba(72,205,222,.12)}
.cat .ic{box-shadow:0 8px 24px rgba(72,205,222,.28);transition:transform .35s}.cat:hover .ic{transform:rotate(-6deg) scale(1.1)}
.cat .n{transition:transform .25s}.cat:hover .n{transform:translateX(5px)}
.btn{position:relative;overflow:hidden;box-shadow:0 10px 28px rgba(72,205,222,.22);transition:transform .2s,box-shadow .2s,filter .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(143,124,245,.4)}
.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s}.btn:hover:after{transform:translateX(120%)}
.btn-ghost{box-shadow:none}.btn-ghost:hover{box-shadow:0 0 28px rgba(72,205,222,.25)}
.chip{transition:transform .2s,border-color .2s,color .2s}.chip:hover{transform:translateY(-2px);border-color:var(--cyan);color:var(--text)}
.chip.on{box-shadow:0 0 22px rgba(72,205,222,.4)}
.band{position:relative;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.25)}.band:before{content:"";position:absolute;width:320px;height:320px;right:-80px;top:-120px;border-radius:50%;background:radial-gradient(closest-side,rgba(143,124,245,.35),transparent);animation:vtDrift 12s ease-in-out infinite alternate}
.steps3 div{transition:transform .25s,border-color .25s}.steps3 div:hover{transform:translateY(-3px);border-color:var(--cyan)}
.steps3 div:before{box-shadow:0 0 20px rgba(72,205,222,.4)}
h2{position:relative}main>.wrap>h2:not(.grp h2):after{content:"";display:block;width:54px;height:3px;margin-top:10px;border-radius:3px;background:var(--grad)}
.article h1{background:linear-gradient(135deg,var(--text) 40%,var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.toc a{transition:padding .2s,border-color .2s,color .2s}.toc a:hover{padding-left:18px}
footer{background:linear-gradient(180deg,var(--bg2),rgba(124,83,203,.1))}footer a{transition:color .2s,transform .2s}footer a:hover{color:var(--cyan);transform:translateX(3px)}
::-webkit-scrollbar{width:11px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:linear-gradient(#48cdde,#8f7cf5);border-radius:99px;border:3px solid var(--bg)}
@supports(animation-timeline:view()){.cat,.gcard,.tblock,.stat,.steps3 div,.band,.note,.card{animation:vtIn both linear;animation-timeline:view();animation-range:entry 0% entry 38%}.top:after{animation:vtBar linear both;animation-timeline:scroll(root)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important}}
