@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700;900&family=Cinzel:wght@500;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;min-height:100vh}body{color:#333;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.route-progress{z-index:9999;pointer-events:none;background:0 0;height:3px;position:fixed;top:0;left:0;right:0}.route-progress-bar{background:linear-gradient(90deg,#4facfe,#667eea,#f093fb) 0 0/200% 100%;height:100%;transition:width .2s ease-out;animation:1.5s linear infinite progress-shine;box-shadow:0 0 10px #667eea99}@keyframes progress-shine{0%{background-position:0 0}to{background-position:200% 0}}.page-enter-active,.page-leave-active{transition:opacity .35s,transform .35s}.page-enter-from{opacity:0;transform:translateY(12px)}.page-leave-to{opacity:0;transform:translateY(-8px)}.fade-enter-active,.fade-leave-active{transition:opacity .25s}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:opacity .4s,transform .4s cubic-bezier(.22,1,.36,1)}.slide-enter-from{opacity:0;transform:translate(30px)}.slide-leave-to{opacity:0;transform:translate(-30px)}
