/* Valley Desk - skeleton loading + scroll-in. Loaded on every page; inert in lite mode / reduced motion. */
.vd-sk{pointer-events:none;box-shadow:none}
.vd-sk .tc-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:9px}
.vd-sk-b{display:block;position:relative;overflow:hidden;border-radius:7px;background:var(--bg3,#e9eef7)}
.vd-sk-b::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:vdSk 1.3s ease-in-out infinite}
[data-theme=dark] .vd-sk-b::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent)}
@keyframes vdSk{to{transform:translateX(100%)}}
.vd-sk-t{height:14px;width:62%}
.vd-sk-s{height:10px;width:38%}
.vd-sk-l{height:10px;width:92%}
.vd-sk-l2{height:10px;width:70%}
.vd-sk-row{display:flex;gap:8px;margin-top:4px}
.vd-sk-btn{height:30px;width:110px;border-radius:10px}
.vd-rv{opacity:0;translate:0 16px}
.vd-rv.vd-rv-in{opacity:1;translate:0 0;transition:opacity .5s ease var(--rv-d,0ms),translate .55s cubic-bezier(.2,.7,.2,1) var(--rv-d,0ms)}
.vd-lite .vd-sk-b::after{display:none}
.vd-lite .vd-rv{opacity:1;translate:none}
@media (prefers-reduced-motion:reduce){.vd-sk-b::after{display:none}.vd-rv{opacity:1;translate:none}}
@media print{.vd-sk{display:none}.vd-rv{opacity:1;translate:none}}
