.app-container{min-height:100vh;min-height:calc(var(--vh, 1vh)*100);overflow-x:hidden;width:100%}.page-enter-active,.page-leave-active{transition:all .3s ease}.page-enter-from{opacity:0;transform:translate(30px)}.page-leave-to{opacity:0;transform:translate(-30px)}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:all .4s ease}.slide-enter-from{opacity:0;transform:translate(100%)}.slide-leave-to{opacity:0;transform:translate(-100%)}.scale-enter-active,.scale-leave-active{transition:all .3s ease}.scale-enter-from{opacity:0;transform:scale(.9)}.scale-leave-to{opacity:0;transform:scale(1.1)}.slide-up-enter-active,.slide-up-leave-active{transition:all .4s ease}.slide-up-enter-from{opacity:0;transform:translateY(50px)}.slide-up-leave-to{opacity:0;transform:translateY(-50px)}.scroll-progress-container{background-color:#0000001a;height:4px;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:9999}.scroll-progress-bar{background:linear-gradient(90deg,#667eea,#764ba2);height:100%;position:relative;transition:width .1s ease-out}.scroll-progress-bar:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3) 50%,transparent);content:"";height:100%;position:absolute;right:0;top:0;width:20px}.scroll-percentage-indicator{background:#000c;border-radius:12px;color:#fff;font-size:12px;font-weight:600;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;right:20px;top:8px;transform:translateY(-10px);transition:all .3s ease}.scroll-progress-container:hover .scroll-percentage-indicator{opacity:1;transform:translateY(0)}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.scroll-to-top-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;bottom:30px;box-shadow:0 4px 20px #00000026;cursor:pointer;display:flex;height:60px;justify-content:center;overflow:hidden;position:fixed;right:30px;transition:all .3s cubic-bezier(.4,0,.2,1);width:60px;z-index:1000}.scroll-to-top-btn:hover{box-shadow:0 8px 30px #00000040;transform:translateY(-3px) scale(1.05)}.scroll-to-top-btn:active{transform:translateY(-1px) scale(1.02)}.progress-circle{height:100%;left:0;position:absolute;top:0;transform:rotate(-90deg);width:100%}.progress-circle-bg{fill:none;stroke:#fff3}.progress-circle-fill{fill:none;stroke:#fff;stroke-linecap:round;transition:stroke-dashoffset .3s ease}.arrow-icon{color:#fff;font-size:18px;font-weight:700;position:relative;transition:transform .3s ease;z-index:2}.scroll-to-top-btn:hover .arrow-icon{transform:translateY(-2px)}.percentage-text{background:#fff;border-radius:10px;bottom:-25px;box-shadow:0 2px 8px #0000001a;color:#667eea;font-size:10px;font-weight:600;left:50%;opacity:0;padding:2px 6px;position:absolute;transform:translate(-50%);transition:opacity .3s ease;white-space:nowrap}.scroll-to-top-btn:hover .percentage-text{opacity:1}.scroll-to-top-enter-active,.scroll-to-top-leave-active{transition:all .3s cubic-bezier(.4,0,.2,1)}.scroll-to-top-enter-from,.scroll-to-top-leave-to{opacity:0;transform:translateY(20px) scale(.8)}@media (max-width:768px){.page-enter-active,.page-leave-active{transition:all .2s ease}.page-enter-from{transform:translate(20px)}.page-leave-to{transform:translate(-20px)}.scroll-to-top-btn{bottom:20px;height:50px;right:20px;width:50px}.arrow-icon{font-size:16px}.percentage-text{bottom:-20px;font-size:9px}.scroll-percentage-indicator{font-size:10px;padding:2px 6px;right:10px}}@media (max-width:480px){.scroll-to-top-btn{bottom:15px;height:45px;right:15px;width:45px}.arrow-icon{font-size:14px}.percentage-text{bottom:-18px;font-size:8px}}@media (prefers-contrast:high){.scroll-to-top-btn{background:#000;border:2px solid #fff}.progress-circle-bg{stroke:#ffffff4d}.progress-circle-fill{stroke:#fff}.scroll-progress-container{background-color:#000}.scroll-progress-bar{background:#fff}.scroll-percentage-indicator{background:#000;border:1px solid #fff}}@media (prefers-reduced-motion:reduce){.arrow-icon,.progress-circle-fill,.scroll-percentage-indicator,.scroll-progress-bar,.scroll-to-top-btn,.scroll-to-top-enter-active,.scroll-to-top-leave-active{transition:none}.scroll-to-top-btn:hover,.scroll-to-top-btn:hover .arrow-icon{transform:none}.scroll-progress-bar:after{animation:none}}@media (prefers-color-scheme:dark){.scroll-to-top-btn{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.percentage-text{background:#1f2937;color:#e5e7eb}}
