*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;width:100%}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;color:var(--text-primary);background-color:var(--bg-page);line-height:1.5;overflow-x:hidden;transition:background-color .3s ease,color .3s ease}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;outline:none}ul,ol{list-style:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::selection{background:#ff6a1a4d;color:var(--text-primary)}:root{--bg-page: #07070b;--bg-deep: #050508;--bg-card: #14141a;--bg-card-hover: #1c1c24;--bg-card-2: #181820;--bg-sidebar: #0a0a10;--bg-topbar: rgba(10, 10, 16, .85);--bg-glass: rgba(20, 20, 26, .65);--bg-input: rgba(255, 255, 255, .04);--text-primary: #ffffff;--text-secondary: #a8a8b0;--text-tertiary: #6a6a72;--text-quaternary: #4a4a52;--border-default: rgba(255, 255, 255, .08);--border-light: rgba(255, 255, 255, .04);--border-strong: rgba(255, 255, 255, .14);--shadow-card: 0 4px 24px rgba(0, 0, 0, .35);--shadow-card-hover: 0 8px 32px rgba(0, 0, 0, .5);--scrollbar-thumb: rgba(255, 255, 255, .12);--scrollbar-thumb-hover: rgba(255, 255, 255, .2)}.theme-light{--bg-page: #f0f2f7;--bg-deep: #e6e9f0;--bg-card: #ffffff;--bg-card-hover: #f5f6fa;--bg-card-2: #f8f9fc;--bg-sidebar: #ffffff;--bg-topbar: rgba(255, 255, 255, .9);--bg-glass: rgba(255, 255, 255, .75);--bg-input: rgba(0, 0, 0, .04);--text-primary: #1a1a2e;--text-secondary: #555568;--text-tertiary: #9090a0;--text-quaternary: #c0c0d0;--border-default: rgba(0, 0, 0, .08);--border-light: rgba(0, 0, 0, .04);--border-strong: rgba(0, 0, 0, .14);--shadow-card: 0 2px 12px rgba(0, 0, 0, .08);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .12);--scrollbar-thumb: rgba(0, 0, 0, .15);--scrollbar-thumb-hover: rgba(0, 0, 0, .25)}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-col{display:flex;flex-direction:column}.text-primary{color:#ff6a1a}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.gradient-text{background:linear-gradient(135deg,#ff7a2a,#ff5a1a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.glass-card{background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-default);border-radius:16px}.surface-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:16px;transition:all .25s cubic-bezier(.4,0,.2,1)}.surface-card:hover{background:var(--bg-card-hover);border-color:var(--border-strong)}.scroll-y{overflow-y:auto;overflow-x:hidden}@keyframes float-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes float-horizontal{0%,to{transform:translate(0)}50%{transform:translate(8px)}}@keyframes pulse-glow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fade-in-up .5s ease both}.page-fade-enter-active,.page-fade-leave-active{transition:opacity .25s ease,transform .25s ease}.page-fade-enter-from{opacity:0;transform:translateY(8px)}.page-fade-leave-to{opacity:0;transform:translateY(-8px)}
