:root{--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--breakpoint-xxl: 1600px}:root{--spacing-2xs: 2px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--spacing-4xl: 48px}:root{--container-max-width: 1200px;--container-max-width-wide: 1400px;--container-padding-xs: 12px;--container-padding-sm: 16px;--container-padding-md: 24px;--container-padding-lg: 32px}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #3b82f6;--color-primary-lighter: #60a5fa;--color-primary-bg: #eff6ff;--color-primary-border: #bfdbfe;--color-success: #10b981;--color-success-light: #34d399;--color-success-bg: #ecfdf5;--color-warning: #f59e0b;--color-warning-light: #fbbf24;--color-warning-bg: #fffbeb;--color-danger: #ef4444;--color-danger-light: #f87171;--color-danger-bg: #fef2f2;--color-info: #6366f1;--color-info-bg: #eef2ff;--color-text-primary: #111827;--color-text-secondary: #4b5563;--color-text-tertiary: #9ca3af;--color-text-quaternary: #d1d5db;--color-text-inverse: #ffffff;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--color-border-focus: #2563eb;--color-bg-page: #f9fafb;--color-bg-card: #ffffff;--color-bg-elevated: #ffffff;--color-bg-hover: #f3f4f6;--color-bg-active: #e5e7eb;--color-bg-mask: rgba(0, 0, 0, .5);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .04);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--transition-spring: .3s cubic-bezier(.34, 1.56, .64, 1);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{height:100%;font-size:16px;scroll-behavior:smooth}body{min-height:100%;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}img{max-width:100%;height:auto;display:block}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;outline:none}input,textarea,select{font-family:inherit;font-size:inherit}ul,ol{list-style:none}.page-container{padding:var(--container-padding-xs);max-width:100%;margin:0 auto;box-sizing:border-box}@media (min-width: var(--breakpoint-sm)){.page-container{padding:var(--container-padding-sm)}}@media (min-width: var(--breakpoint-md)){.page-container{padding:var(--container-padding-md);max-width:var(--container-max-width)}}@media (min-width: var(--breakpoint-lg)){.page-container{padding:var(--container-padding-lg)}}.content-wrapper{max-width:var(--container-max-width);margin:0 auto;width:100%;padding:var(--spacing-lg)}.card-item{margin-bottom:var(--spacing-lg)}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.text-ellipsis-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-start{display:flex;align-items:center;justify-content:flex-start}.flex-end{display:flex;align-items:center;justify-content:flex-end}.flex-col{display:flex;flex-direction:column}.flex-wrap{display:flex;flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.gap-2xl{gap:var(--spacing-2xl)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-inverse{color:var(--color-text-inverse)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.transition-fast{transition:all var(--transition-fast)}.transition-normal{transition:all var(--transition-normal)}.transition-slow{transition:all var(--transition-slow)}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}*{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}::selection{background-color:var(--color-primary-bg);color:var(--color-primary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fadeIn{animation:fadeIn var(--transition-normal)}.animate-fadeInUp{animation:fadeInUp var(--transition-normal)}.animate-fadeInDown{animation:fadeInDown var(--transition-normal)}.animate-slideInRight{animation:slideInRight var(--transition-normal)}.animate-slideInLeft{animation:slideInLeft var(--transition-normal)}.animate-scaleIn{animation:scaleIn var(--transition-normal)}.animate-pulse{animation:pulse 2s infinite}.animate-spin{animation:spin 1s linear infinite}em.highlight{color:#ff4d4f;font-style:normal;font-weight:700;background-color:#fff2f0;padding:0 2px;border-radius:2px}.category-tag-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin:var(--spacing-lg) 0}.category-tag-item{background:#f0f2f5;padding:5px 15px;border-radius:20px;font-size:14px;cursor:pointer;transition:all .3s ease}.category-tag-item:hover{background:#e6f7ff;color:#1890ff}.category-tag-item.active{background:#1890ff;color:#fff}
