:root{--color-primary-400: #6c7ffa;--color-primary-500: #4e6ef2;--color-primary-600: #3e5be8;--color-bg-page: #f5f7fb;--color-bg-card: #ffffff;--color-bg-subtle: #f0f3fa;--color-bg-hover: #eef1fb;--color-text-primary: #1a2238;--color-text-secondary: #5a6478;--color-text-tertiary: #9aa3b8;--color-text-inverse: #ffffff;--color-success: #22c55e;--color-warning: #f59e0b;--color-danger: #ef4444;--color-info: #3b82f6;--color-border: #e3e8f2;--color-border-strong: #cdd6ea;--font-family-base: PingFang SC, Microsoft YaHei, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;--font-family-mono: JetBrains Mono, Cascadia Code, Consolas, Courier New, monospace;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--line-height-base: 1.6;--line-height-tight: 1.3;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 999px;--shadow-card: 0 1px 3px rgba(26, 34, 56, .08);--shadow-card-hover: 0 8px 24px rgba(78, 110, 242, .16);--shadow-panel: 0 2px 12px rgba(26, 34, 56, .06);--shadow-modal: 0 12px 40px rgba(26, 34, 56, .18);--gradient-primary: linear-gradient(135deg, #6c7ffa 0%, #3e5be8 100%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:PingFang SC,Microsoft YaHei,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}#app{min-height:100vh}.page-container{max-width:1280px;margin:0 auto;padding:0 var(--spacing-6)}.tool-container{max-width:1280px;margin:0 auto;padding:var(--spacing-6);padding-bottom:var(--spacing-12)}.mono-text{font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:1.6;word-break:break-all;white-space:pre-wrap}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:transparent}.page-fade-enter-active,.page-fade-leave-active{transition:opacity .18s ease}.page-fade-enter-from,.page-fade-leave-to{opacity:0}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}:root{--el-color-primary: #4e6ef2;--el-color-primary-light-3: #839af6;--el-color-primary-light-5: #a7b7f9;--el-color-primary-light-7: #cad4fb;--el-color-primary-light-8: #dce2fc;--el-color-primary-light-9: #edf1fe;--el-color-primary-dark-2: #3e58c2;--el-color-success: #22c55e;--el-color-warning: #f59e0b;--el-color-danger: #ef4444;--el-color-error: #ef4444;--el-color-info: #3b82f6;--el-text-color-primary: #1a2238;--el-text-color-regular: #5a6478;--el-text-color-secondary: #9aa3b8;--el-border-color: #e3e8f2;--el-border-color-light: #e3e8f2;--el-border-color-lighter: #f0f3fa;--el-fill-color: #f0f3fa;--el-fill-color-light: #eef1fb;--el-fill-color-blank: #ffffff;--el-border-radius-base: 6px;--el-border-radius-small: 4px;--el-border-radius-round: 999px;--el-font-family: var(--font-family-base)}.el-button--primary{background-image:var(--gradient-primary);border-color:transparent}.el-button--primary:hover,.el-button--primary:focus{background-image:none;background-color:var(--color-primary-400);border-color:var(--color-primary-400)}.el-card{border-radius:var(--radius-lg);border-color:var(--color-border)}
