:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button,.btn{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#fff;cursor:pointer;transition:border-color .25s;color:#333;box-shadow:0 1px 3px #0000001a}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.primary-button,.btn-primary{background-color:#3b82f6;color:#fff;border:none;box-shadow:0 2px 4px #3b82f64d}.card{padding:2em}#app{max-width:1440px;margin:0 auto;padding:0;text-align:center;width:100%}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.form-group label{margin-bottom:.25rem;display:block;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.form-group input{width:100%;border-radius:.375rem;border-width:1px;padding:.5rem .75rem}.form-group input:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1)) }button[type=submit]:where(:not(.el-button)){width:100%;border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1));padding:.5rem 1rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}button[type=submit]:where(:not(.el-button)):hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}:root{--mobile-nav-height: 50px;--mobile-toolbar-height: 50px;--mobile-spacing-xs: 6px;--mobile-spacing-sm: 10px;--mobile-spacing-md: 14px;--mobile-spacing-lg: 20px;--mobile-font-xs: 12px;--mobile-font-sm: 14px;--mobile-font-md: 16px;--mobile-font-lg: 18px;--mobile-font-xl: 20px;--touch-target-size: 44px;--swipe-threshold: 50px;--mobile-padding: 16px;--mobile-padding-sm: 8px;--mobile-padding-xs: 4px;--mobile-page-padding: 12px;--mobile-card-padding: 16px;--mobile-item-spacing: 10px;--mobile-safe-bottom: env(safe-area-inset-bottom, 0px);--mobile-icon-size: 22px;--mobile-avatar-size: 36px;--mobile-button-height: 42px;--mobile-input-height: 40px;--mobile-radius: 8px;--mobile-radius-sm: 4px}@media (max-width: 768px){html{writing-mode:horizontal-tb;text-orientation:mixed}body{font-size:var(--mobile-font-md);-webkit-tap-highlight-color:transparent;overscroll-behavior:contain}button,.el-button{min-height:var(--touch-target-size)}input,select,.el-input__inner{height:var(--touch-target-size)!important;font-size:var(--mobile-font-md)!important}h1{font-size:var(--mobile-font-xl)}h2{font-size:var(--mobile-font-lg)}h3{font-size:var(--mobile-font-md)}a:active,button:active,.el-button:active{transform:scale(.96)}.el-dialog{width:90%!important;max-width:500px;margin:10vh auto!important}.el-card,.el-form-item{margin-bottom:var(--mobile-spacing-md)}.el-form-item__label{font-size:var(--mobile-font-sm)}}@media (max-width: 640px){body{font-size:var(--mobile-font-sm)}.el-button{padding:8px 15px}.el-form-item{margin-bottom:var(--mobile-spacing-sm)}}:root{--navbar-height: 60px;--navbar-height-mobile: 56px;--navbar-collapsed-width: 64px;--navbar-padding-x: 16px;--navbar-padding-y: 8px;--navbar-item-gap: 8px;--navbar-item-gap-collapsed: 4px;--navbar-font-size: 14px;--navbar-font-size-sm: 12px;--navbar-font-size-lg: 16px;--navbar-font-weight: 500;--navbar-font-weight-bold: 600;--navbar-bg: rgba(240, 242, 245, .98);--navbar-bg-mobile: rgba(235, 238, 242, .99);--navbar-border: rgba(0, 0, 0, .12);--navbar-text: #4a5568;--navbar-text-active: #409EFF;--navbar-text-hover: #409EFF;--nav-item-height: 40px;--nav-item-height-collapsed: 40px;--nav-item-padding: 8px 12px;--nav-item-padding-collapsed: 8px;--nav-item-radius: 6px;--nav-item-bg-hover: rgba(64, 158, 255, .1);--nav-item-bg-active: rgba(64, 158, 255, .15);--collapse-btn-size: 28px;--collapse-btn-bg: linear-gradient(135deg, #409EFF, #337ECC);--collapse-btn-shadow: 0 2px 8px rgba(64, 158, 255, .3);--hamburger-size: 24px;--hamburger-line-height: 2px;--hamburger-gap: 4px;--user-avatar-size: 36px;--user-dropdown-width: 180px;--user-dropdown-bg: rgba(255, 255, 255, .98);--dropdown-min-width: 160px;--dropdown-bg: rgba(255, 255, 255, .98);--dropdown-shadow: 0 4px 12px rgba(0, 0, 0, .15);--dropdown-border: rgba(0, 0, 0, .08);--dropdown-item-height: 36px;--dropdown-item-padding: 8px 12px;--navbar-transition: all .3s cubic-bezier(.4, 0, .2, 1);--navbar-transition-fast: all .2s cubic-bezier(.4, 0, .2, 1);--navbar-z-index: 10000;--navbar-overlay-z-index: 10001;--navbar-dropdown-z-index: 10002;--navbar-hamburger-z-index: 10003;--navbar-mobile-menu-z-index: 10001;--navbar-mobile-breakpoint: 768px;--navbar-tablet-breakpoint: 992px}.dark-mode{--navbar-bg: rgba(26, 28, 32, .98);--navbar-bg-mobile: rgba(22, 24, 28, .99);--navbar-border: rgba(255, 255, 255, .15);--navbar-text: #E4E7ED;--navbar-text-active: #409EFF;--navbar-text-hover: #66B1FF;--nav-item-bg-hover: rgba(64, 158, 255, .15);--nav-item-bg-active: rgba(64, 158, 255, .2);--user-dropdown-bg: rgba(26, 28, 32, .98);--dropdown-bg: rgba(26, 28, 32, .98);--dropdown-border: rgba(255, 255, 255, .15)}@media (max-width: 768px){:root{--navbar-height: var(--navbar-height-mobile);--navbar-padding-x: 12px;--nav-item-height: 44px;--nav-item-padding: 12px 16px;--user-avatar-size: 32px}}:root{--mobile-primary: #2196F3;--mobile-primary-light: #E3F2FD;--mobile-primary-lighter: #F3F9FF;--mobile-primary-dark: #1976D2;--mobile-primary-darker: #0D47A1;--mobile-secondary: #FF9800;--mobile-secondary-light: #FFE0B2;--mobile-secondary-dark: #F57C00;--mobile-success: #4CAF50;--mobile-success-light: #E8F5E8;--mobile-warning: #FF9800;--mobile-warning-light: #FFF3E0;--mobile-danger: #F44336;--mobile-danger-light: #FFEBEE;--mobile-info: #2196F3;--mobile-info-light: #E3F2FD;--mobile-bg-primary: #FAFAFA;--mobile-bg-secondary: #F5F5F5;--mobile-bg-tertiary: #EEEEEE;--mobile-surface: #FFFFFF;--mobile-surface-elevated: #FFFFFF;--mobile-overlay: rgba(0, 0, 0, .5);--mobile-card-bg: #FFFFFF;--mobile-card-bg-hover: #F8F9FA;--mobile-card-bg-active: #E3F2FD;--mobile-text-primary: #212121;--mobile-text-secondary: #757575;--mobile-text-tertiary: #9E9E9E;--mobile-text-disabled: #BDBDBD;--mobile-text-inverse: #FFFFFF;--mobile-text-link: #2196F3;--mobile-text-link-hover: #1976D2;--mobile-border-light: #E0E0E0;--mobile-border-medium: #BDBDBD;--mobile-border-dark: #9E9E9E;--mobile-divider: #E0E0E0;--mobile-space-xs: 4px;--mobile-space-sm: 8px;--mobile-space-md: 12px;--mobile-space-lg: 16px;--mobile-space-xl: 20px;--mobile-space-xxl: 24px;--mobile-space-xxxl: 32px;--mobile-page-padding: 8px;--mobile-section-margin: 12px;--mobile-card-padding: 12px;--mobile-card-margin: 6px;--mobile-font-size-xs: 12px;--mobile-font-size-sm: 14px;--mobile-font-size-md: 16px;--mobile-font-size-lg: 18px;--mobile-font-size-xl: 20px;--mobile-font-size-xxl: 24px;--mobile-font-size-xxxl: 28px;--mobile-title-h1: 28px;--mobile-title-h2: 24px;--mobile-title-h3: 20px;--mobile-title-h4: 18px;--mobile-title-h5: 16px;--mobile-title-h6: 14px;--mobile-font-weight-light: 300;--mobile-font-weight-normal: 400;--mobile-font-weight-medium: 500;--mobile-font-weight-semibold: 600;--mobile-font-weight-bold: 700;--mobile-line-height-tight: 1.2;--mobile-line-height-normal: 1.4;--mobile-line-height-relaxed: 1.6;--mobile-line-height-loose: 1.8;--mobile-radius-xs: 2px;--mobile-radius-sm: 4px;--mobile-radius-md: 8px;--mobile-radius-lg: 12px;--mobile-radius-xl: 16px;--mobile-radius-xxl: 20px;--mobile-radius-round: 50%;--mobile-card-radius: 8px;--mobile-button-radius: 6px;--mobile-input-radius: 6px;--mobile-badge-radius: 12px;--mobile-shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--mobile-shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--mobile-shadow-md: 0 2px 6px rgba(0, 0, 0, .1);--mobile-shadow-lg: 0 4px 12px rgba(0, 0, 0, .1);--mobile-shadow-xl: 0 8px 24px rgba(0, 0, 0, .12);--mobile-card-shadow: 0 2px 8px rgba(0, 0, 0, .08);--mobile-button-shadow: 0 2px 4px rgba(0, 0, 0, .1);--mobile-modal-shadow: 0 8px 32px rgba(0, 0, 0, .2);--mobile-container-width: 100%;--mobile-content-max-width: 100%;--mobile-header-height: 56px;--mobile-navbar-height: 56px;--mobile-tabbar-height: 50px;--mobile-card-min-height: 120px;--mobile-cover-width: 80px;--mobile-cover-height: 100px;--mobile-cover-ratio: .8;--mobile-list-item-height: 60px;--mobile-list-item-padding: 12px;--mobile-transition-fast: .15s;--mobile-transition-normal: .25s;--mobile-transition-slow: .35s;--mobile-ease-out: cubic-bezier(.25, .46, .45, .94);--mobile-ease-in: cubic-bezier(.55, .055, .675, .19);--mobile-ease-in-out: cubic-bezier(.645, .045, .355, 1);--mobile-touch-target-min: 44px;--mobile-button-min-height: 44px;--mobile-button-min-width: 44px;--mobile-touch-feedback-bg: rgba(33, 150, 243, .1);--mobile-touch-feedback-duration: .2s;--mobile-z-dropdown: 1000;--mobile-z-sticky: 1020;--mobile-z-fixed: 1030;--mobile-z-modal-backdrop: 1040;--mobile-z-modal: 1050;--mobile-z-popover: 1060;--mobile-z-tooltip: 1070;--mobile-z-toast: 1080;--mobile-read-bg: #E8F5E8;--mobile-read-border: #C8E6C9;--mobile-read-text: #2E7D32;--mobile-unread-bg: #FFF3E0;--mobile-unread-border: #FFCC02;--mobile-unread-text: #E65100;--mobile-reading-bg: #E3F2FD;--mobile-reading-border: #90CAF9;--mobile-reading-text: #1565C0;--mobile-favorite-color: #F44336;--mobile-favorite-bg: #FFEBEE;--mobile-gradient-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);--mobile-gradient-secondary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);--mobile-gradient-card: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);--mobile-gradient-global: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);--mobile-gradient-border: 1px solid rgba(195, 207, 226, .3);--mobile-gradient-border-hover: 1px solid rgba(195, 207, 226, .5);--mobile-gradient-shadow: 0 2px 8px rgba(195, 207, 226, .2);--mobile-backdrop-filter: blur(10px);--mobile-backdrop-bg: rgba(255, 255, 255, .8);--mobile-safe-area-top: env(safe-area-inset-top, 0px);--mobile-safe-area-right: env(safe-area-inset-right, 0px);--mobile-safe-area-bottom: env(safe-area-inset-bottom, 0px);--mobile-safe-area-left: env(safe-area-inset-left, 0px)}:root[data-theme=dark]{--mobile-primary: #1E88E5;--mobile-primary-light: #1A237E;--mobile-primary-lighter: #0D1421;--mobile-bg-primary: #121212;--mobile-bg-secondary: #1E1E1E;--mobile-bg-tertiary: #2D2D2D;--mobile-surface: #1E1E1E;--mobile-surface-elevated: #2D2D2D;--mobile-card-bg: #1E1E1E;--mobile-card-bg-hover: #2D2D2D;--mobile-card-bg-active: #1A237E;--mobile-text-primary: #FFFFFF;--mobile-text-secondary: #B0B0B0;--mobile-text-tertiary: #808080;--mobile-text-disabled: #606060;--mobile-border-light: #404040;--mobile-border-medium: #606060;--mobile-border-dark: #808080;--mobile-divider: #404040;--mobile-card-shadow: 0 2px 8px rgba(0, 0, 0, .3);--mobile-button-shadow: 0 2px 4px rgba(0, 0, 0, .3);--mobile-modal-shadow: 0 8px 32px rgba(0, 0, 0, .5);--mobile-read-bg: #1B5E20;--mobile-read-border: #2E7D32;--mobile-unread-bg: #E65100;--mobile-unread-border: #FF9800;--mobile-reading-bg: #0D47A1;--mobile-reading-border: #1976D2}:root{--desktop-primary: #1976D2;--desktop-primary-light: #E3F2FD;--desktop-primary-lighter: #F3F9FF;--desktop-primary-dark: #1565C0;--desktop-primary-darker: #0D47A1;--desktop-secondary: #757575;--desktop-secondary-light: #F5F5F5;--desktop-secondary-dark: #424242;--desktop-success: #4CAF50;--desktop-success-light: #E8F5E8;--desktop-warning: #FF9800;--desktop-warning-light: #FFF3E0;--desktop-danger: #F44336;--desktop-danger-light: #FFEBEE;--desktop-info: #2196F3;--desktop-info-light: #E3F2FD;--desktop-bg-primary: #FFFFFF;--desktop-bg-secondary: #FAFAFA;--desktop-bg-tertiary: #F5F5F5;--desktop-surface: #FFFFFF;--desktop-surface-elevated: #FFFFFF;--desktop-overlay: rgba(0, 0, 0, .5);--desktop-card-bg: #FFFFFF;--desktop-card-bg-hover: #F8F9FA;--desktop-card-bg-active: #E3F2FD;--desktop-text-primary: #212121;--desktop-text-secondary: #757575;--desktop-text-tertiary: #9E9E9E;--desktop-text-disabled: #BDBDBD;--desktop-text-inverse: #FFFFFF;--desktop-text-link: #1976D2;--desktop-text-link-hover: #1565C0;--desktop-border-light: #E0E0E0;--desktop-border-medium: #BDBDBD;--desktop-border-dark: #9E9E9E;--desktop-divider: #E0E0E0;--desktop-space-xs: 4px;--desktop-space-sm: 8px;--desktop-space-md: 16px;--desktop-space-lg: 24px;--desktop-space-xl: 32px;--desktop-space-xxl: 40px;--desktop-space-xxxl: 48px;--desktop-page-padding: 24px;--desktop-section-margin: 32px;--desktop-card-padding: 24px;--desktop-card-margin: 16px;--desktop-font-size-xs: 12px;--desktop-font-size-sm: 14px;--desktop-font-size-md: 16px;--desktop-font-size-lg: 18px;--desktop-font-size-xl: 20px;--desktop-font-size-xxl: 24px;--desktop-font-size-xxxl: 32px;--desktop-title-h1: 32px;--desktop-title-h2: 28px;--desktop-title-h3: 24px;--desktop-title-h4: 20px;--desktop-title-h5: 18px;--desktop-title-h6: 16px;--desktop-font-weight-light: 300;--desktop-font-weight-normal: 400;--desktop-font-weight-medium: 500;--desktop-font-weight-semibold: 600;--desktop-font-weight-bold: 700;--desktop-line-height-tight: 1.2;--desktop-line-height-normal: 1.5;--desktop-line-height-relaxed: 1.6;--desktop-line-height-loose: 1.8;--desktop-radius-xs: 2px;--desktop-radius-sm: 4px;--desktop-radius-md: 6px;--desktop-radius-lg: 8px;--desktop-radius-xl: 12px;--desktop-radius-xxl: 16px;--desktop-radius-round: 50%;--desktop-card-radius: 6px;--desktop-button-radius: 4px;--desktop-input-radius: 4px;--desktop-badge-radius: 12px;--desktop-shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--desktop-shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--desktop-shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--desktop-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--desktop-shadow-xl: 0 20px 25px rgba(0, 0, 0, .1);--desktop-card-shadow: 0 2px 8px rgba(0, 0, 0, .1);--desktop-button-shadow: 0 2px 4px rgba(0, 0, 0, .1);--desktop-modal-shadow: 0 20px 40px rgba(0, 0, 0, .15);--desktop-container-width: 1200px;--desktop-content-max-width: 1000px;--desktop-header-height: 64px;--desktop-navbar-height: 64px;--desktop-sidebar-width: 280px;--desktop-card-min-height: 200px;--desktop-cover-width: 120px;--desktop-cover-height: 160px;--desktop-cover-ratio: .75;--desktop-list-item-height: 80px;--desktop-list-item-padding: 16px;--desktop-grid-cols-sm: 2;--desktop-grid-cols-md: 3;--desktop-grid-cols-lg: 4;--desktop-grid-cols-xl: 5;--desktop-grid-gap: 24px;--desktop-transition-fast: .15s;--desktop-transition-normal: .3s;--desktop-transition-slow: .5s;--desktop-ease-out: cubic-bezier(.25, .46, .45, .94);--desktop-ease-in: cubic-bezier(.55, .055, .675, .19);--desktop-ease-in-out: cubic-bezier(.645, .045, .355, 1);--desktop-hover-bg: rgba(0, 0, 0, .04);--desktop-hover-border: #BDBDBD;--desktop-hover-shadow: 0 4px 12px rgba(0, 0, 0, .15);--desktop-focus-ring: 0 0 0 2px rgba(25, 118, 210, .2);--desktop-focus-border: #1976D2;--desktop-z-dropdown: 1000;--desktop-z-sticky: 1020;--desktop-z-fixed: 1030;--desktop-z-modal-backdrop: 1040;--desktop-z-modal: 1050;--desktop-z-popover: 1060;--desktop-z-tooltip: 1070;--desktop-z-toast: 1080;--desktop-read-bg: #E8F5E8;--desktop-read-border: #C8E6C9;--desktop-read-text: #2E7D32;--desktop-unread-bg: #FFF3E0;--desktop-unread-border: #FFCC02;--desktop-unread-text: #E65100;--desktop-reading-bg: #E3F2FD;--desktop-reading-border: #90CAF9;--desktop-reading-text: #1565C0;--desktop-favorite-color: #F44336;--desktop-favorite-bg: #FFEBEE;--desktop-gradient-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);--desktop-gradient-secondary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);--desktop-gradient-card: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);--desktop-gradient-global: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);--desktop-gradient-border: 1px solid rgba(195, 207, 226, .3);--desktop-gradient-border-hover: 1px solid rgba(195, 207, 226, .5);--desktop-gradient-shadow: 0 2px 8px rgba(195, 207, 226, .2);--desktop-backdrop-filter: blur(8px);--desktop-backdrop-bg: rgba(255, 255, 255, .9);--desktop-breakpoint-sm: 576px;--desktop-breakpoint-md: 768px;--desktop-breakpoint-lg: 992px;--desktop-breakpoint-xl: 1200px;--desktop-breakpoint-xxl: 1400px}:root[data-theme=dark]{--desktop-primary: #2196F3;--desktop-primary-light: #1A237E;--desktop-primary-lighter: #0D1421;--desktop-bg-primary: #1E1E1E;--desktop-bg-secondary: #2D2D2D;--desktop-bg-tertiary: #3D3D3D;--desktop-surface: #2D2D2D;--desktop-surface-elevated: #3D3D3D;--desktop-card-bg: #2D2D2D;--desktop-card-bg-hover: #3D3D3D;--desktop-card-bg-active: #1A237E;--desktop-text-primary: #FFFFFF;--desktop-text-secondary: #B0B0B0;--desktop-text-tertiary: #808080;--desktop-text-disabled: #606060;--desktop-border-light: #404040;--desktop-border-medium: #606060;--desktop-border-dark: #808080;--desktop-divider: #404040;--desktop-hover-bg: rgba(255, 255, 255, .08);--desktop-hover-border: #808080;--desktop-hover-shadow: 0 4px 12px rgba(0, 0, 0, .3);--desktop-card-shadow: 0 2px 8px rgba(0, 0, 0, .3);--desktop-button-shadow: 0 2px 4px rgba(0, 0, 0, .3);--desktop-modal-shadow: 0 20px 40px rgba(0, 0, 0, .4);--desktop-read-bg: #1B5E20;--desktop-read-border: #2E7D32;--desktop-unread-bg: #E65100;--desktop-unread-border: #FF9800;--desktop-reading-bg: #0D47A1;--desktop-reading-border: #1976D2}.mobile-layout{*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:var(--mobile-font-size-md);line-height:var(--mobile-line-height-normal);color:var(--mobile-text-primary);background-color:var(--mobile-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%}.safe-area{padding-top:var(--mobile-safe-area-top);padding-right:var(--mobile-safe-area-right);padding-bottom:var(--mobile-safe-area-bottom);padding-left:var(--mobile-safe-area-left)}}.mobile-layout{.mobile-container{width:100%;max-width:var(--mobile-container-width);margin:0 auto;padding:0 var(--mobile-page-padding)}.mobile-page{min-height:100vh;background-color:var(--mobile-bg-primary);padding-bottom:var(--mobile-safe-area-bottom)}.mobile-content{padding:var(--mobile-page-padding)}.mobile-section{margin-bottom:var(--mobile-section-margin);&:last-child{margin-bottom:0}}}.mobile-layout{.mobile-header{position:sticky;top:0;z-index:var(--mobile-z-sticky);height:var(--mobile-header-height);background:var(--mobile-surface);border-bottom:1px solid var(--mobile-border-light);display:flex;align-items:center;padding:0 var(--mobile-page-padding);backdrop-filter:var(--mobile-backdrop-filter);.header-title{flex:1;font-size:var(--mobile-title-h4);font-weight:var(--mobile-font-weight-medium);color:var(--mobile-text-primary);text-align:center;margin:0}.header-action{min-width:var(--mobile-touch-target-min);min-height:var(--mobile-touch-target-min);display:flex;align-items:center;justify-content:center;color:var(--mobile-text-secondary);cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{background-color:var(--mobile-touch-feedback-bg);border-radius:var(--mobile-radius-sm)}}}}.mobile-layout{.mobile-card{background:var(--mobile-card-bg);border-radius:var(--mobile-card-radius);box-shadow:var(--mobile-card-shadow);margin-bottom:var(--mobile-card-margin);overflow:hidden;transition:all var(--mobile-transition-normal) var(--mobile-ease-out);&:active{transform:scale(.98);box-shadow:var(--mobile-shadow-sm)}.card-content{padding:var(--mobile-card-padding)}.card-header{padding:var(--mobile-space-lg) var(--mobile-card-padding) var(--mobile-space-md);border-bottom:1px solid var(--mobile-border-light);.card-title{font-size:var(--mobile-title-h5);font-weight:var(--mobile-font-weight-medium);color:var(--mobile-text-primary);margin:0}.card-subtitle{font-size:var(--mobile-font-size-sm);color:var(--mobile-text-secondary);margin:var(--mobile-space-xs) 0 0}}.card-footer{padding:var(--mobile-space-md) var(--mobile-card-padding) var(--mobile-space-lg);border-top:1px solid var(--mobile-border-light);background:var(--mobile-bg-secondary)}}}.mobile-layout{.mobile-list{background:var(--mobile-surface);border-radius:var(--mobile-card-radius);overflow:hidden;.list-item{display:flex;align-items:center;min-height:var(--mobile-list-item-height);padding:var(--mobile-list-item-padding);border-bottom:1px solid var(--mobile-border-light);transition:background-color var(--mobile-transition-fast) var(--mobile-ease-out);&:last-child{border-bottom:none}&:active{background-color:var(--mobile-touch-feedback-bg)}.item-avatar{width:40px;height:40px;border-radius:var(--mobile-radius-round);margin-right:var(--mobile-space-md);flex-shrink:0}.item-content{flex:1;min-width:0;.item-title{font-size:var(--mobile-font-size-md);font-weight:var(--mobile-font-weight-normal);color:var(--mobile-text-primary);margin:0 0 var(--mobile-space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-subtitle{font-size:var(--mobile-font-size-sm);color:var(--mobile-text-secondary);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}.item-action{margin-left:var(--mobile-space-md);flex-shrink:0;.action-button{min-width:var(--mobile-touch-target-min);min-height:var(--mobile-touch-target-min);display:flex;align-items:center;justify-content:center;color:var(--mobile-text-tertiary)}}}}}.mobile-layout{.mobile-button{min-height:var(--mobile-button-min-height);min-width:var(--mobile-button-min-width);padding:var(--mobile-space-md) var(--mobile-space-lg);border:none;border-radius:var(--mobile-button-radius);font-size:var(--mobile-font-size-md);font-weight:var(--mobile-font-weight-medium);cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;&:active{transform:scale(.95)}&.primary{background:var(--mobile-primary);color:var(--mobile-text-inverse);box-shadow:var(--mobile-button-shadow);&:active{background:var(--mobile-primary-dark)}}&.secondary{background:var(--mobile-bg-secondary);color:var(--mobile-text-primary);border:1px solid var(--mobile-border-light);&:active{background:var(--mobile-bg-tertiary)}}&.ghost{background:transparent;color:var(--mobile-primary);&:active{background:var(--mobile-primary-light)}}&.small{min-height:36px;padding:var(--mobile-space-sm) var(--mobile-space-md);font-size:var(--mobile-font-size-sm)}&.large{min-height:52px;padding:var(--mobile-space-lg) var(--mobile-space-xl);font-size:var(--mobile-font-size-lg)}&:disabled{opacity:.5;cursor:not-allowed;&:active{transform:none}}}}.mobile-layout{.mobile-input{width:100%;min-height:var(--mobile-button-min-height);padding:var(--mobile-space-md);border:1px solid var(--mobile-border-light);border-radius:var(--mobile-input-radius);font-size:var(--mobile-font-size-md);color:var(--mobile-text-primary);background:var(--mobile-surface);transition:border-color var(--mobile-transition-fast) var(--mobile-ease-out);-webkit-user-select:auto;-moz-user-select:auto;user-select:auto;&:focus{outline:none;border-color:var(--mobile-primary)}&::-moz-placeholder{color:var(--mobile-text-tertiary)}&::placeholder{color:var(--mobile-text-tertiary)}}.mobile-search{position:relative;.search-input{padding-left:40px;border-radius:var(--mobile-radius-xl);background:var(--mobile-bg-secondary);border:none}.search-icon{position:absolute;left:var(--mobile-space-md);top:50%;transform:translateY(-50%);color:var(--mobile-text-tertiary);pointer-events:none}}.el-input__wrapper,.el-input__inner,.el-textarea__inner{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}}.mobile-layout{.mobile-tag{display:inline-flex;align-items:center;padding:var(--mobile-space-xs) var(--mobile-space-sm);border-radius:var(--mobile-badge-radius);font-size:var(--mobile-font-size-xs);font-weight:var(--mobile-font-weight-medium);&.primary{background:var(--mobile-primary-light);color:var(--mobile-primary-dark)}&.success{background:var(--mobile-success-light);color:var(--mobile-success)}&.warning{background:var(--mobile-warning-light);color:var(--mobile-warning)}&.danger{background:var(--mobile-danger-light);color:var(--mobile-danger)}&.read{background:var(--mobile-read-bg);color:var(--mobile-read-text)}&.unread{background:var(--mobile-unread-bg);color:var(--mobile-unread-text)}&.reading{background:var(--mobile-reading-bg);color:var(--mobile-reading-text)}}}.mobile-layout{.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--mobile-text-primary)}.text-secondary{color:var(--mobile-text-secondary)}.text-tertiary{color:var(--mobile-text-tertiary)}.text-link{color:var(--mobile-text-link)}.font-bold{font-weight:var(--mobile-font-weight-bold)}.font-medium{font-weight:var(--mobile-font-weight-medium)}.font-normal{font-weight:var(--mobile-font-weight-normal)}.m-0{margin:0}.mt-sm{margin-top:var(--mobile-space-sm)}.mt-md{margin-top:var(--mobile-space-md)}.mt-lg{margin-top:var(--mobile-space-lg)}.mb-sm{margin-bottom:var(--mobile-space-sm)}.mb-md{margin-bottom:var(--mobile-space-md)}.mb-lg{margin-bottom:var(--mobile-space-lg)}.p-0{padding:0}.pt-sm{padding-top:var(--mobile-space-sm)}.pt-md{padding-top:var(--mobile-space-md)}.pt-lg{padding-top:var(--mobile-space-lg)}.pb-sm{padding-bottom:var(--mobile-space-sm)}.pb-md{padding-bottom:var(--mobile-space-md)}.pb-lg{padding-bottom:var(--mobile-space-lg)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex:1}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.rounded-sm{border-radius:var(--mobile-radius-sm)}.rounded-md{border-radius:var(--mobile-radius-md)}.rounded-lg{border-radius:var(--mobile-radius-lg)}.rounded-full{border-radius:var(--mobile-radius-round)}}.mobile-layout{@keyframes mobile-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes mobile-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes mobile-scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.fade-in{animation:mobile-fade-in var(--mobile-transition-normal) var(--mobile-ease-out)}.slide-in{animation:mobile-slide-in var(--mobile-transition-normal) var(--mobile-ease-out)}.scale-in{animation:mobile-scale-in var(--mobile-transition-normal) var(--mobile-ease-out)}}.mobile-layout .novel-list-container{min-height:100vh;background:var(--mobile-bg-primary);padding-bottom:var(--mobile-safe-area-bottom)}.mobile-layout .novel-list-header{position:sticky;top:0;z-index:var(--mobile-z-sticky);background:var(--mobile-surface);border-bottom:1px solid var(--mobile-border-light);backdrop-filter:var(--mobile-backdrop-filter);.header-content{padding:var(--mobile-page-padding);padding-top:calc(var(--mobile-page-padding) + var(--mobile-safe-area-top));.header-title{font-size:var(--mobile-title-h2);font-weight:var(--mobile-font-weight-bold);color:var(--mobile-text-primary);margin:0 0 var(--mobile-space-lg);text-align:center}.header-stats{display:flex;justify-content:space-around;margin-bottom:var(--mobile-space-lg);.stat-item{text-align:center;.stat-number{font-size:var(--mobile-title-h4);font-weight:var(--mobile-font-weight-bold);color:var(--mobile-primary);margin:0}.stat-label{font-size:var(--mobile-font-size-sm);color:var(--mobile-text-secondary);margin:var(--mobile-space-xs) 0 0}}}.header-search{position:relative;.search-input{width:100%;height:44px;padding:0 var(--mobile-space-lg) 0 44px;border:none;border-radius:var(--mobile-radius-xl);background:var(--mobile-bg-secondary);font-size:var(--mobile-font-size-md);color:var(--mobile-text-primary);&::-moz-placeholder{color:var(--mobile-text-tertiary)}&::placeholder{color:var(--mobile-text-tertiary)}&:focus{outline:none;background:var(--mobile-surface);box-shadow:0 0 0 2px var(--mobile-primary-light)}}.search-icon{position:absolute;left:var(--mobile-space-md);top:50%;transform:translateY(-50%);color:var(--mobile-text-tertiary);font-size:18px}.search-clear{position:absolute;right:var(--mobile-space-md);top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--mobile-text-tertiary);cursor:pointer;&:active{color:var(--mobile-text-primary)}}}}}.mobile-layout .novel-list-filters{background:var(--mobile-surface);border-bottom:1px solid var(--mobile-border-light);.filter-tabs{display:flex;padding:0 var(--mobile-page-padding);overflow-x:auto;-webkit-overflow-scrolling:touch;&::-webkit-scrollbar{display:none}.filter-tab{flex-shrink:0;padding:var(--mobile-space-md) var(--mobile-space-lg);margin-right:var(--mobile-space-sm);font-size:var(--mobile-font-size-md);color:var(--mobile-text-secondary);background:transparent;border:none;border-radius:var(--mobile-radius-lg);cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);white-space:nowrap;&.active{color:var(--mobile-primary);background:var(--mobile-primary-light);font-weight:var(--mobile-font-weight-medium)}&:active{transform:scale(.95)}}}.filter-actions{display:flex;align-items:center;justify-content:space-between;padding:var(--mobile-space-md) var(--mobile-page-padding);.sort-button{display:flex;align-items:center;padding:var(--mobile-space-sm) var(--mobile-space-md);color:var(--mobile-text-secondary);background:var(--mobile-bg-secondary);border:none;border-radius:var(--mobile-radius-md);font-size:var(--mobile-font-size-sm);cursor:pointer;.sort-icon{margin-left:var(--mobile-space-xs);font-size:14px}&:active{background:var(--mobile-bg-tertiary)}}.view-toggle{display:flex;background:var(--mobile-bg-secondary);border-radius:var(--mobile-radius-md);overflow:hidden;.toggle-button{width:36px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--mobile-text-secondary);background:transparent;border:none;cursor:pointer;&.active{color:var(--mobile-primary);background:var(--mobile-surface)}&:active{background:var(--mobile-bg-tertiary)}}}}}.mobile-layout .novel-list-content{padding:var(--mobile-page-padding);&.list-view{.novel-item{display:flex;background:var(--mobile-card-bg);border-radius:var(--mobile-card-radius);margin-bottom:var(--mobile-card-margin);padding:var(--mobile-space-lg);box-shadow:var(--mobile-card-shadow);transition:all var(--mobile-transition-normal) var(--mobile-ease-out);&:active{transform:scale(.98);box-shadow:var(--mobile-shadow-sm)}.novel-cover{width:var(--mobile-cover-width);height:var(--mobile-cover-height);border-radius:var(--mobile-radius-md);overflow:hidden;flex-shrink:0;margin-right:var(--mobile-space-lg);img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.cover-placeholder{width:100%;height:100%;background:var(--mobile-gradient-primary);display:flex;align-items:center;justify-content:center;color:var(--mobile-primary-dark);font-size:var(--mobile-font-size-lg);font-weight:var(--mobile-font-weight-bold)}}.novel-info{flex:1;min-width:0;.novel-title{font-size:var(--mobile-font-size-lg);font-weight:var(--mobile-font-weight-medium);color:var(--mobile-text-primary);margin:0 0 var(--mobile-space-sm);line-height:var(--mobile-line-height-tight);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.novel-author{font-size:var(--mobile-font-size-sm);color:var(--mobile-text-secondary);margin:0 0 var(--mobile-space-md)}.novel-description{font-size:var(--mobile-font-size-sm);color:var(--mobile-text-tertiary);line-height:var(--mobile-line-height-normal);margin:0 0 var(--mobile-space-md);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.novel-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--mobile-space-sm);.meta-tag{padding:var(--mobile-space-xs) var(--mobile-space-sm);border-radius:var(--mobile-badge-radius);font-size:var(--mobile-font-size-xs);font-weight:var(--mobile-font-weight-medium);&.status-reading{background:var(--mobile-reading-bg);color:var(--mobile-reading-text)}&.status-completed{background:var(--mobile-read-bg);color:var(--mobile-read-text)}&.status-new{background:var(--mobile-unread-bg);color:var(--mobile-unread-text)}}.meta-info{font-size:var(--mobile-font-size-xs);color:var(--mobile-text-tertiary)}}}.novel-actions{display:flex;flex-direction:column;align-items:center;justify-content:space-between;margin-left:var(--mobile-space-md);.action-button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--mobile-text-tertiary);background:transparent;border:none;border-radius:var(--mobile-radius-round);cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{background:var(--mobile-touch-feedback-bg);transform:scale(.9)}&.favorited{color:var(--mobile-favorite-color)}}.progress-indicator{width:32px;height:4px;background:var(--mobile-bg-tertiary);border-radius:var(--mobile-radius-sm);overflow:hidden;margin-top:var(--mobile-space-sm);.progress-bar{height:100%;background:var(--mobile-primary);border-radius:var(--mobile-radius-sm);transition:width var(--mobile-transition-normal) var(--mobile-ease-out)}}}}}&.grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--mobile-space-lg);.novel-item{background:var(--mobile-card-bg);border-radius:var(--mobile-card-radius);overflow:hidden;box-shadow:var(--mobile-card-shadow);transition:all var(--mobile-transition-normal) var(--mobile-ease-out);&:active{transform:scale(.95);box-shadow:var(--mobile-shadow-sm)}.novel-cover{width:100%;aspect-ratio:var(--mobile-cover-ratio);position:relative;img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.cover-placeholder{width:100%;height:100%;background:var(--mobile-gradient-primary);display:flex;align-items:center;justify-content:center;color:var(--mobile-primary-dark);font-size:var(--mobile-font-size-lg);font-weight:var(--mobile-font-weight-bold)}.cover-overlay{position:absolute;top:0;right:0;padding:var(--mobile-space-xs);.status-badge{padding:var(--mobile-space-xs) var(--mobile-space-sm);border-radius:var(--mobile-badge-radius);font-size:var(--mobile-font-size-xs);font-weight:var(--mobile-font-weight-medium);background:#000000b3;color:#fff}}.favorite-button{position:absolute;bottom:var(--mobile-space-sm);right:var(--mobile-space-sm);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffffe6;border:none;border-radius:var(--mobile-radius-round);color:var(--mobile-text-tertiary);cursor:pointer;backdrop-filter:blur(4px);&.favorited{color:var(--mobile-favorite-color)}&:active{transform:scale(.9)}}}.novel-info{padding:var(--mobile-space-md);.novel-title{font-size:var(--mobile-font-size-md);font-weight:var(--mobile-font-weight-medium);color:var(--mobile-text-primary);margin:0 0 var(--mobile-space-xs);line-height:var(--mobile-line-height-tight);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.novel-author{font-size:var(--mobile-font-size-xs);color:var(--mobile-text-secondary);margin:0 0 var(--mobile-space-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.novel-progress{display:flex;align-items:center;justify-content:space-between;.progress-text{font-size:var(--mobile-font-size-xs);color:var(--mobile-text-tertiary)}.progress-bar{flex:1;height:3px;background:var(--mobile-bg-tertiary);border-radius:var(--mobile-radius-sm);margin:0 var(--mobile-space-sm);overflow:hidden;.progress-fill{height:100%;background:var(--mobile-primary);border-radius:var(--mobile-radius-sm);transition:width var(--mobile-transition-normal) var(--mobile-ease-out)}}}}}}}.mobile-layout .novel-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--mobile-space-xxxl) var(--mobile-page-padding);text-align:center;.empty-icon{width:80px;height:80px;margin-bottom:var(--mobile-space-lg);opacity:.5}.empty-title{font-size:var(--mobile-title-h4);font-weight:var(--mobile-font-weight-medium);color:var(--mobile-text-secondary);margin:0 0 var(--mobile-space-md)}.empty-description{font-size:var(--mobile-font-size-md);color:var(--mobile-text-tertiary);line-height:var(--mobile-line-height-relaxed);margin:0 0 var(--mobile-space-xl)}.empty-action{padding:var(--mobile-space-md) var(--mobile-space-xl);background:var(--mobile-primary);color:var(--mobile-text-inverse);border:none;border-radius:var(--mobile-button-radius);font-size:var(--mobile-font-size-md);font-weight:var(--mobile-font-weight-medium);cursor:pointer;&:active{transform:scale(.95);background:var(--mobile-primary-dark)}}}.mobile-layout .novel-list-loading{padding:var(--mobile-page-padding);.loading-item{display:flex;background:var(--mobile-card-bg);border-radius:var(--mobile-card-radius);margin-bottom:var(--mobile-card-margin);padding:var(--mobile-space-lg);.loading-cover{width:var(--mobile-cover-width);height:var(--mobile-cover-height);background:var(--mobile-bg-secondary);border-radius:var(--mobile-radius-md);margin-right:var(--mobile-space-lg);animation:mobile-skeleton-loading 1.5s ease-in-out infinite}.loading-content{flex:1;.loading-line{height:16px;background:var(--mobile-bg-secondary);border-radius:var(--mobile-radius-sm);margin-bottom:var(--mobile-space-sm);animation:mobile-skeleton-loading 1.5s ease-in-out infinite;&.title{width:80%;height:20px}&.author{width:40%;height:14px}&.description{width:100%;height:14px;&:last-child{width:60%}}}}}}.mobile-layout .novel-list-fab{position:fixed;bottom:calc(var(--mobile-space-xl) + var(--mobile-safe-area-bottom));right:var(--mobile-space-xl);z-index:var(--mobile-z-fixed);.fab-button{width:56px;height:56px;background:var(--mobile-primary);color:var(--mobile-text-inverse);border:none;border-radius:var(--mobile-radius-round);box-shadow:var(--mobile-shadow-lg);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--mobile-transition-normal) var(--mobile-ease-out);&:active{transform:scale(.9);box-shadow:var(--mobile-shadow-md)}.fab-icon{font-size:24px}}}.mobile-layout .novel-list-refresh{position:relative;.refresh-indicator{position:absolute;top:-60px;left:50%;transform:translate(-50%);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--mobile-surface);border-radius:var(--mobile-radius-round);box-shadow:var(--mobile-card-shadow);transition:all var(--mobile-transition-normal) var(--mobile-ease-out);&.visible{top:var(--mobile-space-lg)}.refresh-icon{color:var(--mobile-primary);animation:mobile-spin 1s linear infinite}}}@keyframes mobile-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mobile-layout .chapter-list-container{min-height:100vh;background:var(--mobile-bg-primary);display:flex;flex-direction:column}.mobile-layout .chapter-list-header{background:var(--mobile-surface);border-bottom:1px solid var(--mobile-border-light);position:sticky;top:0;z-index:var(--mobile-z-header);backdrop-filter:blur(10px);.header-content{padding:var(--mobile-safe-area-top) var(--mobile-page-padding) var(--mobile-space-md);.header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--mobile-space-md);.back-button{width:var(--mobile-touch-target);height:var(--mobile-touch-target);display:flex;align-items:center;justify-content:center;color:var(--mobile-text-primary);background:transparent;border:none;border-radius:var(--mobile-radius-round);font-size:20px;cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{background:var(--mobile-active-bg);transform:scale(.95)}}.header-title{flex:1;text-align:center;font-size:var(--mobile-title-h3);font-weight:var(--mobile-font-weight-semibold);color:var(--mobile-text-primary);margin:0 var(--mobile-space-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:var(--mobile-space-xs);.action-button{width:var(--mobile-touch-target);height:var(--mobile-touch-target);display:flex;align-items:center;justify-content:center;color:var(--mobile-text-secondary);background:transparent;border:none;border-radius:var(--mobile-radius-round);font-size:18px;cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{background:var(--mobile-active-bg);transform:scale(.95)}&.active{color:var(--mobile-primary);background:var(--mobile-primary-light)}}}}.novel-info{display:flex;align-items:center;padding:var(--mobile-space-md);background:var(--mobile-card-bg);border-radius:var(--mobile-card-radius);margin-bottom:var(--mobile-space-md);.novel-cover{width:60px;height:80px;border-radius:var(--mobile-radius-md);overflow:hidden;flex-shrink:0;margin-right:var(--mobile-space-md);img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.cover-placeholder{width:100%;height:100%;background:var(--mobile-gradient-primary);display:flex;align-items:center;justify-content:center;color:var(--mobile-primary-dark);font-size:var(--mobile-font-size-lg);font-weight:var(--mobile-font-weight-bold)}}.novel-details{flex:1;min-width:0;.novel-title{font-size:var(--mobile-font-size-lg);font-weight:var(--mobile-font-weight-semibold);color:var(--mobile-text-primary);margin:0 0 var(--mobile-space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.novel-author{font-size:var(--mobile-font-size-sm);color:var(--mobile-text-secondary);margin:0 0 var(--mobile-space-sm)}.novel-stats{display:flex;align-items:center;gap:var(--mobile-space-md);.stat-item{font-size:var(--mobile-font-size-xs);color:var(--mobile-text-tertiary);.stat-value{color:var(--mobile-primary);font-weight:var(--mobile-font-weight-medium)}}}}}.chapter-search{position:relative;margin-bottom:var(--mobile-space-md);.search-input{width:100%;height:var(--mobile-input-height);padding:0 var(--mobile-space-md) 0 40px;border:1px solid var(--mobile-border-light);border-radius:var(--mobile-input-radius);background:var(--mobile-surface);font-size:var(--mobile-font-size-md);color:var(--mobile-text-primary);transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&::-moz-placeholder{color:var(--mobile-text-tertiary)}&::placeholder{color:var(--mobile-text-tertiary)}&:focus{outline:none;border-color:var(--mobile-focus-border);box-shadow:var(--mobile-focus-ring)}}.search-icon{position:absolute;left:var(--mobile-space-md);top:50%;transform:translateY(-50%);color:var(--mobile-text-tertiary);font-size:16px;pointer-events:none}.search-clear{position:absolute;right:var(--mobile-space-md);top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--mobile-text-tertiary);cursor:pointer;border-radius:var(--mobile-radius-round);transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{background:var(--mobile-active-bg);transform:translateY(-50%) scale(.9)}}}}}.mobile-layout .chapter-list-filters{background:var(--mobile-surface);border-bottom:1px solid var(--mobile-border-light);position:sticky;top:var(--mobile-header-height);z-index:var(--mobile-z-sticky);.filter-tabs{display:flex;padding:0 var(--mobile-page-padding);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}.filter-tab{flex-shrink:0;padding:var(--mobile-space-md) var(--mobile-space-lg);font-size:var(--mobile-font-size-md);color:var(--mobile-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);position:relative;&:active{transform:scale(.95)}&.active{color:var(--mobile-primary);border-bottom-color:var(--mobile-primary);font-weight:var(--mobile-font-weight-medium)}}}.filter-controls{display:flex;align-items:center;justify-content:space-between;padding:var(--mobile-space-sm) var(--mobile-page-padding);.chapter-count{font-size:var(--mobile-font-size-sm);color:var(--mobile-text-secondary)}.filter-actions{display:flex;align-items:center;gap:var(--mobile-space-sm);.sort-button{display:flex;align-items:center;padding:var(--mobile-space-xs) var(--mobile-space-sm);background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-light);border-radius:var(--mobile-radius-md);color:var(--mobile-text-primary);font-size:var(--mobile-font-size-sm);cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{background:var(--mobile-active-bg);transform:scale(.95)}.sort-icon{margin-left:var(--mobile-space-xs);font-size:12px;transition:transform var(--mobile-transition-fast) var(--mobile-ease-out)}&.desc .sort-icon{transform:rotate(180deg)}}.view-toggle{display:flex;background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-light);border-radius:var(--mobile-radius-md);overflow:hidden;.toggle-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--mobile-text-secondary);background:transparent;border:none;cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{transform:scale(.9)}&.active{color:var(--mobile-primary);background:var(--mobile-surface)}}}}}}.mobile-layout .chapter-list-content{flex:1;padding:var(--mobile-page-padding);padding-bottom:calc(var(--mobile-page-padding) + var(--mobile-safe-area-bottom));&.list-view{.chapter-item{display:flex;align-items:center;padding:var(--mobile-space-md);background:var(--mobile-card-bg);border:1px solid var(--mobile-border-light);border-radius:var(--mobile-card-radius);margin-bottom:var(--mobile-card-margin);cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{background:var(--mobile-active-bg);transform:scale(.98)}&.current{border-color:var(--mobile-primary);background:var(--mobile-primary-light);.chapter-title{color:var(--mobile-primary);font-weight:var(--mobile-font-weight-semibold)}}&.read{.chapter-title{color:var(--mobile-text-tertiary)}.chapter-meta{color:var(--mobile-text-quaternary)}}.chapter-index{width:40px;text-align:center;font-size:var(--mobile-font-size-sm);color:var(--mobile-text-tertiary);font-weight:var(--mobile-font-weight-medium);flex-shrink:0}.chapter-info{flex:1;min-width:0;margin-left:var(--mobile-space-md);.chapter-title{font-size:var(--mobile-font-size-md);font-weight:var(--mobile-font-weight-medium);color:var(--mobile-text-primary);margin:0 0 var(--mobile-space-xs);line-height:var(--mobile-line-height-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-meta{display:flex;align-items:center;gap:var(--mobile-space-md);font-size:var(--mobile-font-size-xs);color:var(--mobile-text-tertiary);.meta-item{display:flex;align-items:center;gap:var(--mobile-space-xs);.meta-icon{font-size:10px}}}}.chapter-status{display:flex;align-items:center;gap:var(--mobile-space-sm);margin-left:var(--mobile-space-md);.status-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--mobile-radius-round);font-size:12px;&.downloaded{background:var(--mobile-success-bg);color:var(--mobile-success-text)}&.downloading{background:var(--mobile-warning-bg);color:var(--mobile-warning-text);animation:mobile-pulse 1.5s ease-in-out infinite}&.vip{background:var(--mobile-vip-bg);color:var(--mobile-vip-text)}}.chapter-price{font-size:var(--mobile-font-size-xs);color:var(--mobile-warning-text);font-weight:var(--mobile-font-weight-medium)}}}}&.grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--mobile-space-md);.chapter-item{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--mobile-space-sm);background:var(--mobile-card-bg);border:1px solid var(--mobile-border-light);border-radius:var(--mobile-card-radius);cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);position:relative;&:active{background:var(--mobile-active-bg);transform:scale(.95)}&.current{border-color:var(--mobile-primary);background:var(--mobile-primary-light);.chapter-number{color:var(--mobile-primary)}}&.read{.chapter-number{color:var(--mobile-text-tertiary)}}.chapter-number{font-size:var(--mobile-title-h4);font-weight:var(--mobile-font-weight-bold);color:var(--mobile-text-primary);margin-bottom:var(--mobile-space-xs)}.chapter-title{font-size:var(--mobile-font-size-xs);color:var(--mobile-text-secondary);text-align:center;line-height:var(--mobile-line-height-tight);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chapter-status{position:absolute;top:var(--mobile-space-xs);right:var(--mobile-space-xs);width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:var(--mobile-radius-round);font-size:10px;&.downloaded{background:var(--mobile-success-bg);color:var(--mobile-success-text)}&.vip{background:var(--mobile-vip-bg);color:var(--mobile-vip-text)}}}}&.compact-view{.chapter-item{display:flex;align-items:center;padding:var(--mobile-space-sm) var(--mobile-space-md);background:var(--mobile-card-bg);border-bottom:1px solid var(--mobile-border-light);cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:last-child{border-bottom:none}&:active{background:var(--mobile-active-bg)}&.current{background:var(--mobile-primary-light);.chapter-title{color:var(--mobile-primary);font-weight:var(--mobile-font-weight-semibold)}}&.read{.chapter-title{color:var(--mobile-text-tertiary)}}.chapter-index{width:32px;text-align:center;font-size:var(--mobile-font-size-sm);color:var(--mobile-text-tertiary);font-weight:var(--mobile-font-weight-medium);flex-shrink:0}.chapter-title{flex:1;font-size:var(--mobile-font-size-md);color:var(--mobile-text-primary);margin:0 var(--mobile-space-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-status{display:flex;align-items:center;gap:var(--mobile-space-xs);.status-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:var(--mobile-radius-round);font-size:10px;&.downloaded{background:var(--mobile-success-bg);color:var(--mobile-success-text)}&.vip{background:var(--mobile-vip-bg);color:var(--mobile-vip-text)}}}}}}.mobile-layout .chapter-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--mobile-space-xxxl);text-align:center;.empty-icon{width:80px;height:80px;margin-bottom:var(--mobile-space-xl);opacity:.5}.empty-title{font-size:var(--mobile-title-h4);font-weight:var(--mobile-font-weight-semibold);color:var(--mobile-text-secondary);margin:0 0 var(--mobile-space-md)}.empty-description{font-size:var(--mobile-font-size-md);color:var(--mobile-text-tertiary);line-height:var(--mobile-line-height-relaxed);margin:0 0 var(--mobile-space-xl)}.empty-action{padding:var(--mobile-space-md) var(--mobile-space-xl);background:var(--mobile-primary);color:var(--mobile-text-inverse);border:none;border-radius:var(--mobile-button-radius);font-size:var(--mobile-font-size-md);font-weight:var(--mobile-font-weight-medium);cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{background:var(--mobile-primary-dark);transform:scale(.95)}}}.mobile-layout .chapter-list-loading{.loading-item{display:flex;align-items:center;padding:var(--mobile-space-md);background:var(--mobile-card-bg);border:1px solid var(--mobile-border-light);border-radius:var(--mobile-card-radius);margin-bottom:var(--mobile-card-margin);.loading-index{width:40px;height:16px;background:var(--mobile-bg-secondary);border-radius:var(--mobile-radius-sm);animation:mobile-skeleton-loading 1.5s ease-in-out infinite}.loading-content{flex:1;margin-left:var(--mobile-space-md);.loading-line{height:16px;background:var(--mobile-bg-secondary);border-radius:var(--mobile-radius-sm);margin-bottom:var(--mobile-space-xs);animation:mobile-skeleton-loading 1.5s ease-in-out infinite;&.title{width:70%}&.meta{width:40%;height:12px}}}.loading-status{width:20px;height:20px;background:var(--mobile-bg-secondary);border-radius:var(--mobile-radius-round);animation:mobile-skeleton-loading 1.5s ease-in-out infinite}}}.mobile-layout .chapter-list-fab{position:fixed;bottom:calc(var(--mobile-space-xl) + var(--mobile-safe-area-bottom));right:var(--mobile-space-lg);z-index:var(--mobile-z-fab);.fab-button{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--mobile-primary);color:var(--mobile-text-inverse);border:none;border-radius:var(--mobile-radius-round);font-size:24px;cursor:pointer;box-shadow:var(--mobile-fab-shadow);transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{transform:scale(.9);box-shadow:var(--mobile-fab-shadow-active)}}.fab-menu{position:absolute;bottom:70px;right:0;display:flex;flex-direction:column;gap:var(--mobile-space-md);opacity:0;transform:translateY(20px);transition:all var(--mobile-transition-normal) var(--mobile-ease-out);pointer-events:none;&.open{opacity:1;transform:translateY(0);pointer-events:auto}.fab-menu-item{display:flex;align-items:center;gap:var(--mobile-space-md);.menu-label{padding:var(--mobile-space-xs) var(--mobile-space-md);background:var(--mobile-surface);border:1px solid var(--mobile-border-light);border-radius:var(--mobile-radius-md);font-size:var(--mobile-font-size-sm);color:var(--mobile-text-primary);white-space:nowrap;box-shadow:var(--mobile-card-shadow)}.menu-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--mobile-surface);color:var(--mobile-text-primary);border:1px solid var(--mobile-border-light);border-radius:var(--mobile-radius-round);font-size:18px;cursor:pointer;box-shadow:var(--mobile-card-shadow);transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{transform:scale(.9)}}}}}.mobile-layout .chapter-list-refresh{position:relative;.refresh-indicator{position:absolute;top:-60px;left:50%;transform:translate(-50%);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--mobile-surface);border:1px solid var(--mobile-border-light);border-radius:var(--mobile-radius-round);color:var(--mobile-primary);font-size:18px;opacity:0;transition:all var(--mobile-transition-normal) var(--mobile-ease-out);&.visible{opacity:1;top:var(--mobile-space-lg)}&.loading{animation:mobile-spin 1s linear infinite}}}@keyframes mobile-pulse{0%,to{opacity:1}50%{opacity:.5}}.mobile-layout .novel-detail-container{min-height:100vh;background:var(--mobile-bg-primary);display:flex;flex-direction:column}.mobile-layout .novel-detail-header{position:relative;background:var(--mobile-surface);overflow:hidden;.header-background{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(20px) brightness(.3);transform:scale(1.1)}.header-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0000004d,#0009)}.header-content{position:relative;z-index:2;padding:var(--mobile-safe-area-top) var(--mobile-page-padding) var(--mobile-space-xl);.header-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--mobile-space-xl);.back-button{width:var(--mobile-touch-target);height:var(--mobile-touch-target);display:flex;align-items:center;justify-content:center;color:#fff;background:#fff3;border:none;border-radius:var(--mobile-radius-round);font-size:20px;cursor:pointer;backdrop-filter:blur(10px);transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{background:#ffffff4d;transform:scale(.95)}}.header-actions{display:flex;align-items:center;gap:var(--mobile-space-sm);.action-button{width:var(--mobile-touch-target);height:var(--mobile-touch-target);display:flex;align-items:center;justify-content:center;color:#fff;background:#fff3;border:none;border-radius:var(--mobile-radius-round);font-size:18px;cursor:pointer;backdrop-filter:blur(10px);transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{background:#ffffff4d;transform:scale(.95)}&.favorited{color:var(--mobile-favorite-color);background:#ffffffe6}}}}.novel-hero{display:flex;align-items:flex-start;gap:var(--mobile-space-lg);.novel-cover{width:120px;height:160px;border-radius:var(--mobile-radius-lg);overflow:hidden;flex-shrink:0;box-shadow:var(--mobile-card-shadow);img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.cover-placeholder{width:100%;height:100%;background:var(--mobile-gradient-primary);display:flex;align-items:center;justify-content:center;color:var(--mobile-primary-dark);font-size:var(--mobile-font-size-xl);font-weight:var(--mobile-font-weight-bold)}}.novel-info{flex:1;min-width:0;.novel-title{font-size:var(--mobile-title-h3);font-weight:var(--mobile-font-weight-bold);color:#fff;margin:0 0 var(--mobile-space-sm);line-height:var(--mobile-line-height-tight);text-shadow:0 2px 4px rgba(0,0,0,.5)}.novel-author{font-size:var(--mobile-font-size-md);color:#ffffffe6;margin:0 0 var(--mobile-space-md);text-shadow:0 1px 2px rgba(0,0,0,.5)}.novel-tags{display:flex;flex-wrap:wrap;gap:var(--mobile-space-xs);margin-bottom:var(--mobile-space-md);.novel-tag{padding:var(--mobile-space-xs) var(--mobile-space-sm);background:#fff3;color:#fff;border-radius:var(--mobile-badge-radius);font-size:var(--mobile-font-size-xs);font-weight:var(--mobile-font-weight-medium);backdrop-filter:blur(10px)}}.novel-rating{display:flex;align-items:center;gap:var(--mobile-space-sm);.rating-stars{display:flex;gap:var(--mobile-space-xs);.star{color:var(--mobile-warning-text);font-size:16px;&.empty{color:#ffffff4d}}}.rating-text{font-size:var(--mobile-font-size-sm);color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.5)}}}}}}.mobile-layout .novel-stats{background:var(--mobile-surface);border-bottom:1px solid var(--mobile-border-light);.stats-content{display:grid;grid-template-columns:repeat(4,1fr);.stat-item{padding:var(--mobile-space-lg);text-align:center;border-right:1px solid var(--mobile-border-light);&:last-child{border-right:none}.stat-value{font-size:var(--mobile-title-h4);font-weight:var(--mobile-font-weight-bold);color:var(--mobile-primary);margin:0 0 var(--mobile-space-xs)}.stat-label{font-size:var(--mobile-font-size-xs);color:var(--mobile-text-secondary);margin:0}}}}.mobile-layout .novel-actions{background:var(--mobile-surface);border-bottom:1px solid var(--mobile-border-light);.actions-content{display:flex;padding:var(--mobile-space-lg) var(--mobile-page-padding);gap:var(--mobile-space-md);.action-button{flex:1;height:var(--mobile-button-height);display:flex;align-items:center;justify-content:center;gap:var(--mobile-space-sm);border:none;border-radius:var(--mobile-button-radius);font-size:var(--mobile-font-size-md);font-weight:var(--mobile-font-weight-medium);cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{transform:scale(.98)}&.primary{background:var(--mobile-primary);color:var(--mobile-text-inverse);&:active{background:var(--mobile-primary-dark)}}&.secondary{background:var(--mobile-bg-secondary);color:var(--mobile-text-primary);border:1px solid var(--mobile-border-light);&:active{background:var(--mobile-active-bg)}}.action-icon{font-size:18px}}}}.mobile-layout .novel-detail-content{flex:1;background:var(--mobile-bg-primary);.content-tabs{background:var(--mobile-surface);border-bottom:1px solid var(--mobile-border-light);position:sticky;top:0;z-index:var(--mobile-z-sticky);.tab-list{display:flex;padding:0 var(--mobile-page-padding);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}.tab-item{flex-shrink:0;padding:var(--mobile-space-md) var(--mobile-space-lg);font-size:var(--mobile-font-size-md);color:var(--mobile-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{transform:scale(.95)}&.active{color:var(--mobile-primary);border-bottom-color:var(--mobile-primary);font-weight:var(--mobile-font-weight-medium)}}}}.tab-content{padding:var(--mobile-page-padding);padding-bottom:calc(var(--mobile-page-padding) + var(--mobile-safe-area-bottom));.description-tab{.description-text{font-size:var(--mobile-font-size-md);color:var(--mobile-text-primary);line-height:var(--mobile-line-height-relaxed);margin-bottom:var(--mobile-space-xl);&.collapsed{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}}.expand-button{width:100%;padding:var(--mobile-space-sm);background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-light);border-radius:var(--mobile-radius-md);color:var(--mobile-primary);font-size:var(--mobile-font-size-sm);cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{background:var(--mobile-active-bg);transform:scale(.98)}}.novel-meta{background:var(--mobile-card-bg);border:1px solid var(--mobile-border-light);border-radius:var(--mobile-card-radius);padding:var(--mobile-space-lg);margin-top:var(--mobile-space-xl);.meta-title{font-size:var(--mobile-font-size-lg);font-weight:var(--mobile-font-weight-semibold);color:var(--mobile-text-primary);margin:0 0 var(--mobile-space-md)}.meta-list{.meta-item{display:flex;justify-content:space-between;align-items:center;padding:var(--mobile-space-sm) 0;border-bottom:1px solid var(--mobile-border-light);&:last-child{border-bottom:none}.meta-label{font-size:var(--mobile-font-size-sm);color:var(--mobile-text-secondary)}.meta-value{font-size:var(--mobile-font-size-sm);color:var(--mobile-text-primary);font-weight:var(--mobile-font-weight-medium)}}}}}.chapters-tab{.chapters-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--mobile-space-lg);.chapters-count{font-size:var(--mobile-font-size-md);color:var(--mobile-text-secondary)}.chapters-actions{display:flex;gap:var(--mobile-space-sm);.action-button{padding:var(--mobile-space-xs) var(--mobile-space-sm);background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-light);border-radius:var(--mobile-radius-md);color:var(--mobile-text-primary);font-size:var(--mobile-font-size-sm);cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{background:var(--mobile-active-bg);transform:scale(.95)}}}}.chapters-list{.chapter-item{display:flex;align-items:center;padding:var(--mobile-space-md);background:var(--mobile-card-bg);border:1px solid var(--mobile-border-light);border-radius:var(--mobile-card-radius);margin-bottom:var(--mobile-card-margin);cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{background:var(--mobile-active-bg);transform:scale(.98)}&.current{border-color:var(--mobile-primary);background:var(--mobile-primary-light);.chapter-title{color:var(--mobile-primary);font-weight:var(--mobile-font-weight-semibold)}}&.read{.chapter-title{color:var(--mobile-text-tertiary)}}.chapter-index{width:40px;text-align:center;font-size:var(--mobile-font-size-sm);color:var(--mobile-text-tertiary);font-weight:var(--mobile-font-weight-medium);flex-shrink:0}.chapter-info{flex:1;min-width:0;margin-left:var(--mobile-space-md);.chapter-title{font-size:var(--mobile-font-size-md);font-weight:var(--mobile-font-weight-medium);color:var(--mobile-text-primary);margin:0 0 var(--mobile-space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-meta{font-size:var(--mobile-font-size-xs);color:var(--mobile-text-tertiary)}}.chapter-status{display:flex;align-items:center;gap:var(--mobile-space-sm);.status-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--mobile-radius-round);font-size:12px;&.vip{background:var(--mobile-vip-bg);color:var(--mobile-vip-text)}&.free{background:var(--mobile-success-bg);color:var(--mobile-success-text)}}}}.load-more{width:100%;padding:var(--mobile-space-md);background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-light);border-radius:var(--mobile-radius-md);color:var(--mobile-primary);font-size:var(--mobile-font-size-md);cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);margin-top:var(--mobile-space-lg);&:active{background:var(--mobile-active-bg);transform:scale(.98)}&:disabled{opacity:.5;cursor:not-allowed}}}}.comments-tab{.comments-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--mobile-space-lg);.comments-count{font-size:var(--mobile-font-size-md);color:var(--mobile-text-secondary)}.sort-button{padding:var(--mobile-space-xs) var(--mobile-space-sm);background:var(--mobile-bg-secondary);border:1px solid var(--mobile-border-light);border-radius:var(--mobile-radius-md);color:var(--mobile-text-primary);font-size:var(--mobile-font-size-sm);cursor:pointer;transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{background:var(--mobile-active-bg);transform:scale(.95)}}}.comments-list{.comment-item{background:var(--mobile-card-bg);border:1px solid var(--mobile-border-light);border-radius:var(--mobile-card-radius);padding:var(--mobile-space-lg);margin-bottom:var(--mobile-card-margin);.comment-header{display:flex;align-items:center;margin-bottom:var(--mobile-space-md);.user-avatar{width:32px;height:32px;border-radius:var(--mobile-radius-round);background:var(--mobile-gradient-primary);margin-right:var(--mobile-space-md);overflow:hidden;img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}}.comment-info{flex:1;.user-name{font-size:var(--mobile-font-size-sm);font-weight:var(--mobile-font-weight-medium);color:var(--mobile-text-primary);margin:0 0 var(--mobile-space-xs)}.comment-time{font-size:var(--mobile-font-size-xs);color:var(--mobile-text-tertiary);margin:0}}.comment-rating{display:flex;gap:var(--mobile-space-xs);.star{color:var(--mobile-warning-text);font-size:12px;&.empty{color:var(--mobile-text-quaternary)}}}}.comment-content{font-size:var(--mobile-font-size-md);color:var(--mobile-text-primary);line-height:var(--mobile-line-height-relaxed);margin-bottom:var(--mobile-space-md)}.comment-actions{display:flex;align-items:center;gap:var(--mobile-space-lg);.action-button{display:flex;align-items:center;gap:var(--mobile-space-xs);padding:var(--mobile-space-xs) var(--mobile-space-sm);background:transparent;border:none;color:var(--mobile-text-tertiary);font-size:var(--mobile-font-size-sm);cursor:pointer;border-radius:var(--mobile-radius-sm);transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{background:var(--mobile-active-bg);transform:scale(.95)}&.liked{color:var(--mobile-favorite-color)}.action-icon{font-size:14px}}}}}.write-comment{position:fixed;bottom:calc(var(--mobile-space-lg) + var(--mobile-safe-area-bottom));right:var(--mobile-space-lg);width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--mobile-primary);color:var(--mobile-text-inverse);border:none;border-radius:var(--mobile-radius-round);font-size:24px;cursor:pointer;box-shadow:var(--mobile-fab-shadow);z-index:var(--mobile-z-fab);transition:all var(--mobile-transition-fast) var(--mobile-ease-out);&:active{transform:scale(.9);box-shadow:var(--mobile-fab-shadow-active)}}}}}.mobile-layout .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--mobile-space-xxxl);text-align:center;.empty-icon{width:80px;height:80px;margin-bottom:var(--mobile-space-xl);opacity:.5}.empty-title{font-size:var(--mobile-title-h4);font-weight:var(--mobile-font-weight-semibold);color:var(--mobile-text-secondary);margin:0 0 var(--mobile-space-md)}.empty-description{font-size:var(--mobile-font-size-md);color:var(--mobile-text-tertiary);line-height:var(--mobile-line-height-relaxed);margin:0}}.mobile-layout .loading-state{padding:var(--mobile-space-xl);.loading-item{background:var(--mobile-card-bg);border:1px solid var(--mobile-border-light);border-radius:var(--mobile-card-radius);padding:var(--mobile-space-lg);margin-bottom:var(--mobile-card-margin);.loading-line{height:16px;background:var(--mobile-bg-secondary);border-radius:var(--mobile-radius-sm);margin-bottom:var(--mobile-space-sm);animation:mobile-skeleton-loading 1.5s ease-in-out infinite;&.title{width:70%;height:20px}&.content{width:100%}&.meta{width:40%;height:12px}}}}.mobile-layout .pull-refresh{position:relative;.refresh-indicator{position:absolute;top:-60px;left:50%;transform:translate(-50%);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--mobile-surface);border:1px solid var(--mobile-border-light);border-radius:var(--mobile-radius-round);color:var(--mobile-primary);font-size:18px;opacity:0;transition:all var(--mobile-transition-normal) var(--mobile-ease-out);&.visible{opacity:1;top:var(--mobile-space-lg)}&.loading{animation:mobile-spin 1s linear infinite}}}@keyframes mobile-skeleton-loading{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@keyframes mobile-spin{0%{transform:translate(-50%) rotate(0)}to{transform:translate(-50%) rotate(360deg)}}@media (max-width: 375px){.mobile-layout .novel-detail-header .header-content .novel-hero{flex-direction:column;align-items:center;text-align:center;.novel-cover{margin-bottom:var(--mobile-space-lg)}}.mobile-layout .novel-stats .stats-content{grid-template-columns:repeat(2,1fr);.stat-item{border-right:none;border-bottom:1px solid var(--mobile-border-light);&:nth-child(odd){border-right:1px solid var(--mobile-border-light)}&:nth-last-child(-n+2){border-bottom:none}}}}.desktop-layout{*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--desktop-font-size-md);line-height:var(--desktop-line-height-normal);color:var(--desktop-text-primary);background-color:var(--desktop-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}::-moz-selection{background-color:var(--desktop-primary-light);color:var(--desktop-primary-dark)}::selection{background-color:var(--desktop-primary-light);color:var(--desktop-primary-dark)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--desktop-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--desktop-border-medium);border-radius:var(--desktop-radius-sm);&:hover{background:var(--desktop-border-dark)}}}.desktop-layout{.desktop-container{width:100%;max-width:var(--desktop-container-width);margin:0 auto;padding:0 var(--desktop-page-padding)}.desktop-page{min-height:100vh;background-color:var(--desktop-bg-primary)}.desktop-content{padding:var(--desktop-page-padding)}.desktop-section{margin-bottom:var(--desktop-section-margin);&:last-child{margin-bottom:0}}.desktop-grid{display:grid;gap:var(--desktop-grid-gap);&.cols-2{grid-template-columns:repeat(2,1fr)}&.cols-3{grid-template-columns:repeat(3,1fr)}&.cols-4{grid-template-columns:repeat(4,1fr)}&.cols-5{grid-template-columns:repeat(5,1fr)}&.responsive{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.desktop-flex{display:flex;gap:var(--desktop-space-md);&.wrap{flex-wrap:wrap}&.column{flex-direction:column}&.center{align-items:center;justify-content:center}&.between{justify-content:space-between}&.around{justify-content:space-around}}}.desktop-layout{.desktop-header{position:sticky;top:0;z-index:var(--desktop-z-sticky);height:var(--desktop-header-height);background:var(--desktop-surface);border-bottom:1px solid var(--desktop-border-light);display:flex;align-items:center;padding:0 var(--desktop-page-padding);backdrop-filter:var(--desktop-backdrop-filter);.header-brand{display:flex;align-items:center;margin-right:var(--desktop-space-xl);.brand-logo{width:32px;height:32px;margin-right:var(--desktop-space-md)}.brand-title{font-size:var(--desktop-title-h4);font-weight:var(--desktop-font-weight-bold);color:var(--desktop-text-primary);margin:0}}.header-nav{flex:1;display:flex;align-items:center;.nav-item{padding:var(--desktop-space-sm) var(--desktop-space-md);margin-right:var(--desktop-space-sm);color:var(--desktop-text-secondary);text-decoration:none;border-radius:var(--desktop-radius-sm);transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-hover-bg);color:var(--desktop-text-primary)}&.active{background:var(--desktop-primary-light);color:var(--desktop-primary-dark)}}}.header-actions{display:flex;align-items:center;gap:var(--desktop-space-sm);.action-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--desktop-text-secondary);border-radius:var(--desktop-radius-sm);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-hover-bg);color:var(--desktop-text-primary)}}}}}.desktop-layout{.desktop-card{background:var(--desktop-card-bg);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-card-radius);box-shadow:var(--desktop-card-shadow);margin-bottom:var(--desktop-card-margin);overflow:hidden;transition:all var(--desktop-transition-normal) var(--desktop-ease-out);&:hover{border-color:var(--desktop-hover-border);box-shadow:var(--desktop-hover-shadow);transform:translateY(-2px)}.card-content{padding:var(--desktop-card-padding)}.card-header{padding:var(--desktop-space-lg) var(--desktop-card-padding) var(--desktop-space-md);border-bottom:1px solid var(--desktop-border-light);.card-title{font-size:var(--desktop-title-h5);font-weight:var(--desktop-font-weight-semibold);color:var(--desktop-text-primary);margin:0}.card-subtitle{font-size:var(--desktop-font-size-sm);color:var(--desktop-text-secondary);margin:var(--desktop-space-xs) 0 0}}.card-footer{padding:var(--desktop-space-md) var(--desktop-card-padding) var(--desktop-space-lg);border-top:1px solid var(--desktop-border-light);background:var(--desktop-bg-secondary)}&.elevated{border:none;box-shadow:var(--desktop-shadow-lg)}&.outlined{box-shadow:none;border:2px solid var(--desktop-border-light)}&.filled{background:var(--desktop-bg-secondary);border:none;box-shadow:none}}}.desktop-layout{.desktop-list{background:var(--desktop-surface);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-card-radius);overflow:hidden;.list-item{display:flex;align-items:center;min-height:var(--desktop-list-item-height);padding:var(--desktop-list-item-padding);border-bottom:1px solid var(--desktop-border-light);transition:background-color var(--desktop-transition-fast) var(--desktop-ease-out);cursor:pointer;&:last-child{border-bottom:none}&:hover{background-color:var(--desktop-hover-bg)}&:focus{outline:none;box-shadow:inset var(--desktop-focus-ring)}.item-avatar{width:48px;height:48px;border-radius:var(--desktop-radius-md);margin-right:var(--desktop-space-md);flex-shrink:0}.item-content{flex:1;min-width:0;.item-title{font-size:var(--desktop-font-size-md);font-weight:var(--desktop-font-weight-medium);color:var(--desktop-text-primary);margin:0 0 var(--desktop-space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-subtitle{font-size:var(--desktop-font-size-sm);color:var(--desktop-text-secondary);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}.item-meta{margin-left:var(--desktop-space-md);flex-shrink:0;text-align:right;.meta-text{font-size:var(--desktop-font-size-sm);color:var(--desktop-text-tertiary);margin:0}.meta-badge{margin-top:var(--desktop-space-xs)}}.item-action{margin-left:var(--desktop-space-md);flex-shrink:0;.action-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--desktop-text-tertiary);border-radius:var(--desktop-radius-sm);transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-hover-bg);color:var(--desktop-text-primary)}}}}}}.desktop-layout{.desktop-button{min-height:40px;padding:var(--desktop-space-sm) var(--desktop-space-lg);border:1px solid transparent;border-radius:var(--desktop-button-radius);font-size:var(--desktop-font-size-md);font-weight:var(--desktop-font-weight-medium);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;&:focus{outline:none;box-shadow:var(--desktop-focus-ring)}&.primary{background:var(--desktop-primary);color:var(--desktop-text-inverse);box-shadow:var(--desktop-button-shadow);&:hover{background:var(--desktop-primary-dark);box-shadow:var(--desktop-shadow-md)}}&.secondary{background:var(--desktop-bg-secondary);color:var(--desktop-text-primary);border-color:var(--desktop-border-light);&:hover{background:var(--desktop-bg-tertiary);border-color:var(--desktop-border-medium)}}&.outline{background:transparent;color:var(--desktop-primary);border-color:var(--desktop-primary);&:hover{background:var(--desktop-primary-light)}}&.ghost{background:transparent;color:var(--desktop-primary);&:hover{background:var(--desktop-primary-light)}}&.small{min-height:32px;padding:var(--desktop-space-xs) var(--desktop-space-md);font-size:var(--desktop-font-size-sm)}&.large{min-height:48px;padding:var(--desktop-space-md) var(--desktop-space-xl);font-size:var(--desktop-font-size-lg)}&:disabled{opacity:.5;cursor:not-allowed;&:hover{transform:none;box-shadow:none}}.button-icon{margin-right:var(--desktop-space-xs);&.right{margin-right:0;margin-left:var(--desktop-space-xs)}}}}.desktop-layout{.desktop-input{width:100%;min-height:40px;padding:var(--desktop-space-sm) var(--desktop-space-md);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-input-radius);font-size:var(--desktop-font-size-md);color:var(--desktop-text-primary);background:var(--desktop-surface);transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{border-color:var(--desktop-border-medium)}&:focus{outline:none;border-color:var(--desktop-focus-border);box-shadow:var(--desktop-focus-ring)}&::-moz-placeholder{color:var(--desktop-text-tertiary)}&::placeholder{color:var(--desktop-text-tertiary)}&:disabled{background:var(--desktop-bg-secondary);color:var(--desktop-text-disabled);cursor:not-allowed}}.desktop-search{position:relative;.search-input{padding-left:40px;border-radius:var(--desktop-radius-lg)}.search-icon{position:absolute;left:var(--desktop-space-md);top:50%;transform:translateY(-50%);color:var(--desktop-text-tertiary);pointer-events:none}.search-clear{position:absolute;right:var(--desktop-space-md);top:50%;transform:translateY(-50%);color:var(--desktop-text-tertiary);cursor:pointer;&:hover{color:var(--desktop-text-primary)}}}}.desktop-layout{.desktop-tag{display:inline-flex;align-items:center;padding:var(--desktop-space-xs) var(--desktop-space-sm);border-radius:var(--desktop-badge-radius);font-size:var(--desktop-font-size-xs);font-weight:var(--desktop-font-weight-medium);&.primary{background:var(--desktop-primary-light);color:var(--desktop-primary-dark)}&.success{background:var(--desktop-success-light);color:var(--desktop-success)}&.warning{background:var(--desktop-warning-light);color:var(--desktop-warning)}&.danger{background:var(--desktop-danger-light);color:var(--desktop-danger)}&.read{background:var(--desktop-read-bg);color:var(--desktop-read-text)}&.unread{background:var(--desktop-unread-bg);color:var(--desktop-unread-text)}&.reading{background:var(--desktop-reading-bg);color:var(--desktop-reading-text)}}}.desktop-layout{.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--desktop-text-primary)}.text-secondary{color:var(--desktop-text-secondary)}.text-tertiary{color:var(--desktop-text-tertiary)}.text-link{color:var(--desktop-text-link)}.font-bold{font-weight:var(--desktop-font-weight-bold)}.font-semibold{font-weight:var(--desktop-font-weight-semibold)}.font-medium{font-weight:var(--desktop-font-weight-medium)}.font-normal{font-weight:var(--desktop-font-weight-normal)}.m-0{margin:0}.mt-sm{margin-top:var(--desktop-space-sm)}.mt-md{margin-top:var(--desktop-space-md)}.mt-lg{margin-top:var(--desktop-space-lg)}.mb-sm{margin-bottom:var(--desktop-space-sm)}.mb-md{margin-bottom:var(--desktop-space-md)}.mb-lg{margin-bottom:var(--desktop-space-lg)}.p-0{padding:0}.pt-sm{padding-top:var(--desktop-space-sm)}.pt-md{padding-top:var(--desktop-space-md)}.pt-lg{padding-top:var(--desktop-space-lg)}.pb-sm{padding-bottom:var(--desktop-space-sm)}.pb-md{padding-bottom:var(--desktop-space-md)}.pb-lg{padding-bottom:var(--desktop-space-lg)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.flex-1{flex:1}.flex-none{flex:none}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.rounded-sm{border-radius:var(--desktop-radius-sm)}.rounded-md{border-radius:var(--desktop-radius-md)}.rounded-lg{border-radius:var(--desktop-radius-lg)}.rounded-xl{border-radius:var(--desktop-radius-xl)}.rounded-full{border-radius:var(--desktop-radius-round)}.shadow-sm{box-shadow:var(--desktop-shadow-sm)}.shadow-md{box-shadow:var(--desktop-shadow-md)}.shadow-lg{box-shadow:var(--desktop-shadow-lg)}.shadow-xl{box-shadow:var(--desktop-shadow-xl)}}.desktop-layout{@keyframes desktop-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes desktop-slide-in{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes desktop-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fade-in{animation:desktop-fade-in var(--desktop-transition-normal) var(--desktop-ease-out)}.slide-in{animation:desktop-slide-in var(--desktop-transition-normal) var(--desktop-ease-out)}.scale-in{animation:desktop-scale-in var(--desktop-transition-normal) var(--desktop-ease-out)}.hover-lift{transition:transform var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{transform:translateY(-2px)}}.hover-scale{transition:transform var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{transform:scale(1.02)}}}.desktop-layout .novel-list-container{min-height:100vh;background:var(--desktop-bg-primary)}.desktop-layout .novel-list-header{background:var(--desktop-surface);border-bottom:1px solid var(--desktop-border-light);.header-content{max-width:var(--desktop-container-width);margin:0 auto;padding:var(--desktop-page-padding);.header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--desktop-space-xl);.header-title{font-size:var(--desktop-title-h1);font-weight:var(--desktop-font-weight-bold);color:var(--desktop-text-primary);margin:0}.header-actions{display:flex;align-items:center;gap:var(--desktop-space-md);.action-button{padding:var(--desktop-space-sm) var(--desktop-space-lg);background:var(--desktop-primary);color:var(--desktop-text-inverse);border:none;border-radius:var(--desktop-button-radius);font-size:var(--desktop-font-size-md);font-weight:var(--desktop-font-weight-medium);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-primary-dark);box-shadow:var(--desktop-button-shadow)}&.secondary{background:var(--desktop-bg-secondary);color:var(--desktop-text-primary);border:1px solid var(--desktop-border-light);&:hover{background:var(--desktop-bg-tertiary);border-color:var(--desktop-border-medium)}}}}}.header-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--desktop-space-lg);margin-bottom:var(--desktop-space-xl);.stat-card{background:var(--desktop-card-bg);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-card-radius);padding:var(--desktop-space-lg);text-align:center;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{border-color:var(--desktop-hover-border);box-shadow:var(--desktop-hover-shadow)}.stat-number{font-size:var(--desktop-title-h2);font-weight:var(--desktop-font-weight-bold);color:var(--desktop-primary);margin:0 0 var(--desktop-space-sm)}.stat-label{font-size:var(--desktop-font-size-md);color:var(--desktop-text-secondary);margin:0}.stat-change{font-size:var(--desktop-font-size-sm);margin-top:var(--desktop-space-xs);&.positive{color:var(--desktop-success)}&.negative{color:var(--desktop-danger)}}}}.header-search{position:relative;max-width:600px;margin:0 auto;.search-input{width:100%;height:48px;padding:0 var(--desktop-space-lg) 0 48px;border:1px solid var(--desktop-border-light);border-radius:var(--desktop-radius-lg);background:var(--desktop-surface);font-size:var(--desktop-font-size-md);color:var(--desktop-text-primary);transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&::-moz-placeholder{color:var(--desktop-text-tertiary)}&::placeholder{color:var(--desktop-text-tertiary)}&:hover{border-color:var(--desktop-border-medium)}&:focus{outline:none;border-color:var(--desktop-focus-border);box-shadow:var(--desktop-focus-ring)}}.search-icon{position:absolute;left:var(--desktop-space-lg);top:50%;transform:translateY(-50%);color:var(--desktop-text-tertiary);font-size:18px;pointer-events:none}.search-clear{position:absolute;right:var(--desktop-space-lg);top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--desktop-text-tertiary);cursor:pointer;border-radius:var(--desktop-radius-sm);transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-hover-bg);color:var(--desktop-text-primary)}}}}}.desktop-layout .novel-list-filters{background:var(--desktop-surface);border-bottom:1px solid var(--desktop-border-light);.filter-content{max-width:var(--desktop-container-width);margin:0 auto;padding:0 var(--desktop-page-padding);.filter-tabs{display:flex;align-items:center;padding:var(--desktop-space-md) 0;border-bottom:1px solid var(--desktop-border-light);.filter-tab{padding:var(--desktop-space-sm) var(--desktop-space-lg);margin-right:var(--desktop-space-md);font-size:var(--desktop-font-size-md);color:var(--desktop-text-secondary);background:transparent;border:none;border-radius:var(--desktop-radius-md);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);position:relative;&:hover{background:var(--desktop-hover-bg);color:var(--desktop-text-primary)}&.active{color:var(--desktop-primary);background:var(--desktop-primary-light);font-weight:var(--desktop-font-weight-medium);&:after{content:"";position:absolute;bottom:-13px;left:50%;transform:translate(-50%);width:24px;height:2px;background:var(--desktop-primary);border-radius:1px}}}}.filter-controls{display:flex;align-items:center;justify-content:space-between;padding:var(--desktop-space-md) 0;.filter-left{display:flex;align-items:center;gap:var(--desktop-space-md);.filter-dropdown{position:relative;.dropdown-button{display:flex;align-items:center;padding:var(--desktop-space-sm) var(--desktop-space-md);background:var(--desktop-bg-secondary);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-radius-md);color:var(--desktop-text-primary);font-size:var(--desktop-font-size-sm);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-bg-tertiary);border-color:var(--desktop-border-medium)}.dropdown-icon{margin-left:var(--desktop-space-xs);font-size:12px;transition:transform var(--desktop-transition-fast) var(--desktop-ease-out)}&.open .dropdown-icon{transform:rotate(180deg)}}}.results-count{font-size:var(--desktop-font-size-sm);color:var(--desktop-text-secondary)}}.filter-right{display:flex;align-items:center;gap:var(--desktop-space-md);.view-toggle{display:flex;background:var(--desktop-bg-secondary);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-radius-md);overflow:hidden;.toggle-button{width:40px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--desktop-text-secondary);background:transparent;border:none;cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-hover-bg)}&.active{color:var(--desktop-primary);background:var(--desktop-surface)}}}.sort-button{display:flex;align-items:center;padding:var(--desktop-space-sm) var(--desktop-space-md);background:var(--desktop-bg-secondary);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-radius-md);color:var(--desktop-text-primary);font-size:var(--desktop-font-size-sm);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-bg-tertiary);border-color:var(--desktop-border-medium)}.sort-icon{margin-left:var(--desktop-space-xs);font-size:12px}}}}}}.desktop-layout .novel-list-content{max-width:var(--desktop-container-width);margin:0 auto;padding:var(--desktop-page-padding);&.list-view{.novel-item{display:flex;background:var(--desktop-card-bg);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-card-radius);margin-bottom:var(--desktop-card-margin);padding:var(--desktop-card-padding);transition:all var(--desktop-transition-normal) var(--desktop-ease-out);cursor:pointer;&:hover{border-color:var(--desktop-hover-border);box-shadow:var(--desktop-hover-shadow);transform:translateY(-2px)}.novel-cover{width:var(--desktop-cover-width);height:var(--desktop-cover-height);border-radius:var(--desktop-radius-md);overflow:hidden;flex-shrink:0;margin-right:var(--desktop-space-xl);img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--desktop-transition-normal) var(--desktop-ease-out)}.cover-placeholder{width:100%;height:100%;background:var(--desktop-gradient-primary);display:flex;align-items:center;justify-content:center;color:var(--desktop-primary-dark);font-size:var(--desktop-font-size-xl);font-weight:var(--desktop-font-weight-bold)}}&:hover .novel-cover img{transform:scale(1.05)}.novel-info{flex:1;min-width:0;.novel-title{font-size:var(--desktop-title-h4);font-weight:var(--desktop-font-weight-semibold);color:var(--desktop-text-primary);margin:0 0 var(--desktop-space-sm);line-height:var(--desktop-line-height-tight);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.novel-author{font-size:var(--desktop-font-size-md);color:var(--desktop-text-secondary);margin:0 0 var(--desktop-space-md)}.novel-description{font-size:var(--desktop-font-size-md);color:var(--desktop-text-tertiary);line-height:var(--desktop-line-height-relaxed);margin:0 0 var(--desktop-space-lg);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.novel-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--desktop-space-md);.meta-tag{padding:var(--desktop-space-xs) var(--desktop-space-sm);border-radius:var(--desktop-badge-radius);font-size:var(--desktop-font-size-xs);font-weight:var(--desktop-font-weight-medium);&.status-reading{background:var(--desktop-reading-bg);color:var(--desktop-reading-text)}&.status-completed{background:var(--desktop-read-bg);color:var(--desktop-read-text)}&.status-new{background:var(--desktop-unread-bg);color:var(--desktop-unread-text)}}.meta-info{font-size:var(--desktop-font-size-sm);color:var(--desktop-text-tertiary);.meta-separator{margin:0 var(--desktop-space-xs);color:var(--desktop-border-medium)}}}}.novel-actions{display:flex;flex-direction:column;align-items:center;justify-content:space-between;margin-left:var(--desktop-space-lg);min-width:80px;.action-buttons{display:flex;gap:var(--desktop-space-sm);.action-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--desktop-text-tertiary);background:transparent;border:1px solid var(--desktop-border-light);border-radius:var(--desktop-radius-sm);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-hover-bg);border-color:var(--desktop-border-medium);color:var(--desktop-text-primary)}&.favorited{color:var(--desktop-favorite-color);border-color:var(--desktop-favorite-color);background:var(--desktop-favorite-bg)}}}.progress-info{text-align:center;margin-top:var(--desktop-space-md);.progress-text{font-size:var(--desktop-font-size-xs);color:var(--desktop-text-tertiary);margin-bottom:var(--desktop-space-xs)}.progress-bar{width:60px;height:4px;background:var(--desktop-bg-tertiary);border-radius:var(--desktop-radius-sm);overflow:hidden;.progress-fill{height:100%;background:var(--desktop-primary);border-radius:var(--desktop-radius-sm);transition:width var(--desktop-transition-normal) var(--desktop-ease-out)}}}}}}&.grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--desktop-grid-gap);.novel-item{background:var(--desktop-card-bg);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-card-radius);overflow:hidden;transition:all var(--desktop-transition-normal) var(--desktop-ease-out);cursor:pointer;&:hover{border-color:var(--desktop-hover-border);box-shadow:var(--desktop-hover-shadow);transform:translateY(-4px)}.novel-cover{width:100%;aspect-ratio:var(--desktop-cover-ratio);position:relative;overflow:hidden;img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--desktop-transition-normal) var(--desktop-ease-out)}.cover-placeholder{width:100%;height:100%;background:var(--desktop-gradient-primary);display:flex;align-items:center;justify-content:center;color:var(--desktop-primary-dark);font-size:var(--desktop-font-size-xl);font-weight:var(--desktop-font-weight-bold)}.cover-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.7) 100%);opacity:0;transition:opacity var(--desktop-transition-fast) var(--desktop-ease-out);display:flex;align-items:flex-end;padding:var(--desktop-space-md);.overlay-actions{display:flex;gap:var(--desktop-space-sm);.overlay-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffffe6;border:none;border-radius:var(--desktop-radius-round);color:var(--desktop-text-primary);cursor:pointer;backdrop-filter:blur(4px);transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:#fff;transform:scale(1.1)}&.favorited{color:var(--desktop-favorite-color)}}}}.status-badge{position:absolute;top:var(--desktop-space-sm);right:var(--desktop-space-sm);padding:var(--desktop-space-xs) var(--desktop-space-sm);border-radius:var(--desktop-badge-radius);font-size:var(--desktop-font-size-xs);font-weight:var(--desktop-font-weight-medium);background:#000c;color:#fff;backdrop-filter:blur(4px)}}&:hover .novel-cover{img{transform:scale(1.1)}.cover-overlay{opacity:1}}.novel-info{padding:var(--desktop-space-lg);.novel-title{font-size:var(--desktop-font-size-lg);font-weight:var(--desktop-font-weight-semibold);color:var(--desktop-text-primary);margin:0 0 var(--desktop-space-sm);line-height:var(--desktop-line-height-tight);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.novel-author{font-size:var(--desktop-font-size-sm);color:var(--desktop-text-secondary);margin:0 0 var(--desktop-space-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.novel-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--desktop-space-md);.meta-tag{padding:var(--desktop-space-xs) var(--desktop-space-sm);border-radius:var(--desktop-badge-radius);font-size:var(--desktop-font-size-xs);font-weight:var(--desktop-font-weight-medium);&.status-reading{background:var(--desktop-reading-bg);color:var(--desktop-reading-text)}&.status-completed{background:var(--desktop-read-bg);color:var(--desktop-read-text)}&.status-new{background:var(--desktop-unread-bg);color:var(--desktop-unread-text)}}.meta-info{font-size:var(--desktop-font-size-xs);color:var(--desktop-text-tertiary)}}.novel-progress{.progress-text{font-size:var(--desktop-font-size-xs);color:var(--desktop-text-tertiary);margin-bottom:var(--desktop-space-xs);text-align:center}.progress-bar{width:100%;height:4px;background:var(--desktop-bg-tertiary);border-radius:var(--desktop-radius-sm);overflow:hidden;.progress-fill{height:100%;background:var(--desktop-primary);border-radius:var(--desktop-radius-sm);transition:width var(--desktop-transition-normal) var(--desktop-ease-out)}}}}}}&.compact-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--desktop-space-lg);.novel-item{background:var(--desktop-card-bg);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-card-radius);overflow:hidden;transition:all var(--desktop-transition-normal) var(--desktop-ease-out);cursor:pointer;&:hover{border-color:var(--desktop-hover-border);box-shadow:var(--desktop-hover-shadow);transform:translateY(-2px)}.novel-cover{width:100%;aspect-ratio:var(--desktop-cover-ratio);position:relative;overflow:hidden;img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.favorite-button{position:absolute;top:var(--desktop-space-sm);right:var(--desktop-space-sm);width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#ffffffe6;border:none;border-radius:var(--desktop-radius-round);color:var(--desktop-text-tertiary);cursor:pointer;opacity:0;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&.favorited{color:var(--desktop-favorite-color);opacity:1}}}&:hover .novel-cover .favorite-button{opacity:1}.novel-info{padding:var(--desktop-space-md);.novel-title{font-size:var(--desktop-font-size-sm);font-weight:var(--desktop-font-weight-medium);color:var(--desktop-text-primary);margin:0;line-height:var(--desktop-line-height-tight);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}}}}.desktop-layout .novel-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--desktop-space-xxxl);text-align:center;.empty-icon{width:120px;height:120px;margin-bottom:var(--desktop-space-xl);opacity:.5}.empty-title{font-size:var(--desktop-title-h3);font-weight:var(--desktop-font-weight-semibold);color:var(--desktop-text-secondary);margin:0 0 var(--desktop-space-md)}.empty-description{font-size:var(--desktop-font-size-lg);color:var(--desktop-text-tertiary);line-height:var(--desktop-line-height-relaxed);margin:0 0 var(--desktop-space-xl);max-width:400px}.empty-actions{display:flex;gap:var(--desktop-space-md);.empty-action{padding:var(--desktop-space-md) var(--desktop-space-xl);border:none;border-radius:var(--desktop-button-radius);font-size:var(--desktop-font-size-md);font-weight:var(--desktop-font-weight-medium);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&.primary{background:var(--desktop-primary);color:var(--desktop-text-inverse);&:hover{background:var(--desktop-primary-dark);box-shadow:var(--desktop-button-shadow)}}&.secondary{background:var(--desktop-bg-secondary);color:var(--desktop-text-primary);border:1px solid var(--desktop-border-light);&:hover{background:var(--desktop-bg-tertiary);border-color:var(--desktop-border-medium)}}}}}.desktop-layout .novel-list-loading{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--desktop-grid-gap);.loading-item{background:var(--desktop-card-bg);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-card-radius);overflow:hidden;.loading-cover{width:100%;aspect-ratio:var(--desktop-cover-ratio);background:var(--desktop-bg-secondary);animation:desktop-skeleton-loading 1.5s ease-in-out infinite}.loading-content{padding:var(--desktop-space-lg);.loading-line{height:16px;background:var(--desktop-bg-secondary);border-radius:var(--desktop-radius-sm);margin-bottom:var(--desktop-space-sm);animation:desktop-skeleton-loading 1.5s ease-in-out infinite;&.title{width:80%;height:20px}&.author{width:60%;height:14px}&.meta{width:40%;height:12px}}}}}.desktop-layout .novel-list-pagination{display:flex;justify-content:center;align-items:center;padding:var(--desktop-space-xl) 0;margin-top:var(--desktop-space-xl);border-top:1px solid var(--desktop-border-light);.pagination-button{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;margin:0 var(--desktop-space-xs);padding:0 var(--desktop-space-md);background:var(--desktop-surface);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-radius-md);color:var(--desktop-text-primary);font-size:var(--desktop-font-size-sm);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-hover-bg);border-color:var(--desktop-border-medium)}&.active{background:var(--desktop-primary);border-color:var(--desktop-primary);color:var(--desktop-text-inverse)}&:disabled{opacity:.5;cursor:not-allowed;&:hover{background:var(--desktop-surface);border-color:var(--desktop-border-light)}}}.pagination-info{margin:0 var(--desktop-space-lg);font-size:var(--desktop-font-size-sm);color:var(--desktop-text-secondary)}}.desktop-layout .chapter-list-container{min-height:100vh;background:var(--desktop-bg-primary);display:flex;flex-direction:column}.desktop-layout .chapter-list-header{background:var(--desktop-surface);border-bottom:1px solid var(--desktop-border-light);position:sticky;top:0;z-index:var(--desktop-z-header);.header-content{max-width:var(--desktop-container-width);margin:0 auto;padding:var(--desktop-page-padding);.header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--desktop-space-xl);.header-left{display:flex;align-items:center;gap:var(--desktop-space-lg);.back-button{display:flex;align-items:center;padding:var(--desktop-space-sm) var(--desktop-space-md);color:var(--desktop-text-secondary);background:var(--desktop-bg-secondary);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-radius-md);font-size:var(--desktop-font-size-sm);text-decoration:none;cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-bg-tertiary);border-color:var(--desktop-border-medium);color:var(--desktop-text-primary)}.back-icon{margin-right:var(--desktop-space-xs);font-size:16px}}.header-title{font-size:var(--desktop-title-h2);font-weight:var(--desktop-font-weight-bold);color:var(--desktop-text-primary);margin:0}}.header-actions{display:flex;align-items:center;gap:var(--desktop-space-md);.action-button{display:flex;align-items:center;padding:var(--desktop-space-sm) var(--desktop-space-lg);background:var(--desktop-bg-secondary);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-button-radius);color:var(--desktop-text-primary);font-size:var(--desktop-font-size-sm);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-bg-tertiary);border-color:var(--desktop-border-medium)}&.primary{background:var(--desktop-primary);border-color:var(--desktop-primary);color:var(--desktop-text-inverse);&:hover{background:var(--desktop-primary-dark);box-shadow:var(--desktop-button-shadow)}}.action-icon{margin-right:var(--desktop-space-xs);font-size:16px}}}}.novel-info{display:flex;align-items:flex-start;padding:var(--desktop-space-xl);background:var(--desktop-card-bg);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-card-radius);margin-bottom:var(--desktop-space-xl);.novel-cover{width:var(--desktop-cover-width);height:var(--desktop-cover-height);border-radius:var(--desktop-radius-md);overflow:hidden;flex-shrink:0;margin-right:var(--desktop-space-xl);img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.cover-placeholder{width:100%;height:100%;background:var(--desktop-gradient-primary);display:flex;align-items:center;justify-content:center;color:var(--desktop-primary-dark);font-size:var(--desktop-font-size-xl);font-weight:var(--desktop-font-weight-bold)}}.novel-details{flex:1;min-width:0;.novel-title{font-size:var(--desktop-title-h3);font-weight:var(--desktop-font-weight-bold);color:var(--desktop-text-primary);margin:0 0 var(--desktop-space-md);line-height:var(--desktop-line-height-tight)}.novel-author{font-size:var(--desktop-font-size-lg);color:var(--desktop-text-secondary);margin:0 0 var(--desktop-space-lg)}.novel-description{font-size:var(--desktop-font-size-md);color:var(--desktop-text-tertiary);line-height:var(--desktop-line-height-relaxed);margin:0 0 var(--desktop-space-lg);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.novel-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--desktop-space-lg);.stat-item{text-align:center;.stat-value{font-size:var(--desktop-title-h4);font-weight:var(--desktop-font-weight-bold);color:var(--desktop-primary);margin:0 0 var(--desktop-space-xs)}.stat-label{font-size:var(--desktop-font-size-sm);color:var(--desktop-text-secondary);margin:0}}}}.novel-actions{display:flex;flex-direction:column;gap:var(--desktop-space-md);margin-left:var(--desktop-space-xl);.novel-action{padding:var(--desktop-space-md) var(--desktop-space-lg);border:none;border-radius:var(--desktop-button-radius);font-size:var(--desktop-font-size-md);font-weight:var(--desktop-font-weight-medium);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);white-space:nowrap;&.primary{background:var(--desktop-primary);color:var(--desktop-text-inverse);&:hover{background:var(--desktop-primary-dark);box-shadow:var(--desktop-button-shadow)}}&.secondary{background:var(--desktop-bg-secondary);color:var(--desktop-text-primary);border:1px solid var(--desktop-border-light);&:hover{background:var(--desktop-bg-tertiary);border-color:var(--desktop-border-medium)}}}}}.chapter-search{position:relative;max-width:600px;margin:0 auto var(--desktop-space-xl);.search-input{width:100%;height:48px;padding:0 var(--desktop-space-lg) 0 48px;border:1px solid var(--desktop-border-light);border-radius:var(--desktop-radius-lg);background:var(--desktop-surface);font-size:var(--desktop-font-size-md);color:var(--desktop-text-primary);transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&::-moz-placeholder{color:var(--desktop-text-tertiary)}&::placeholder{color:var(--desktop-text-tertiary)}&:hover{border-color:var(--desktop-border-medium)}&:focus{outline:none;border-color:var(--desktop-focus-border);box-shadow:var(--desktop-focus-ring)}}.search-icon{position:absolute;left:var(--desktop-space-lg);top:50%;transform:translateY(-50%);color:var(--desktop-text-tertiary);font-size:18px;pointer-events:none}.search-clear{position:absolute;right:var(--desktop-space-lg);top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--desktop-text-tertiary);cursor:pointer;border-radius:var(--desktop-radius-sm);transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-hover-bg);color:var(--desktop-text-primary)}}}}}.desktop-layout .chapter-list-filters{background:var(--desktop-surface);border-bottom:1px solid var(--desktop-border-light);position:sticky;top:var(--desktop-header-height);z-index:var(--desktop-z-sticky);.filter-content{max-width:var(--desktop-container-width);margin:0 auto;padding:0 var(--desktop-page-padding);.filter-tabs{display:flex;align-items:center;padding:var(--desktop-space-md) 0;border-bottom:1px solid var(--desktop-border-light);.filter-tab{padding:var(--desktop-space-sm) var(--desktop-space-lg);margin-right:var(--desktop-space-md);font-size:var(--desktop-font-size-md);color:var(--desktop-text-secondary);background:transparent;border:none;border-radius:var(--desktop-radius-md);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);position:relative;&:hover{background:var(--desktop-hover-bg);color:var(--desktop-text-primary)}&.active{color:var(--desktop-primary);background:var(--desktop-primary-light);font-weight:var(--desktop-font-weight-medium);&:after{content:"";position:absolute;bottom:-13px;left:50%;transform:translate(-50%);width:24px;height:2px;background:var(--desktop-primary);border-radius:1px}}}}.filter-controls{display:flex;align-items:center;justify-content:space-between;padding:var(--desktop-space-md) 0;.filter-left{display:flex;align-items:center;gap:var(--desktop-space-md);.chapter-count{font-size:var(--desktop-font-size-sm);color:var(--desktop-text-secondary)}.filter-dropdown{position:relative;.dropdown-button{display:flex;align-items:center;padding:var(--desktop-space-sm) var(--desktop-space-md);background:var(--desktop-bg-secondary);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-radius-md);color:var(--desktop-text-primary);font-size:var(--desktop-font-size-sm);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-bg-tertiary);border-color:var(--desktop-border-medium)}.dropdown-icon{margin-left:var(--desktop-space-xs);font-size:12px;transition:transform var(--desktop-transition-fast) var(--desktop-ease-out)}&.open .dropdown-icon{transform:rotate(180deg)}}}}.filter-right{display:flex;align-items:center;gap:var(--desktop-space-md);.view-toggle{display:flex;background:var(--desktop-bg-secondary);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-radius-md);overflow:hidden;.toggle-button{width:40px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--desktop-text-secondary);background:transparent;border:none;cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-hover-bg)}&.active{color:var(--desktop-primary);background:var(--desktop-surface)}}}.sort-button{display:flex;align-items:center;padding:var(--desktop-space-sm) var(--desktop-space-md);background:var(--desktop-bg-secondary);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-radius-md);color:var(--desktop-text-primary);font-size:var(--desktop-font-size-sm);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-bg-tertiary);border-color:var(--desktop-border-medium)}.sort-icon{margin-left:var(--desktop-space-xs);font-size:12px;transition:transform var(--desktop-transition-fast) var(--desktop-ease-out)}&.desc .sort-icon{transform:rotate(180deg)}}}}}}.desktop-layout .chapter-list-content{flex:1;max-width:var(--desktop-container-width);margin:0 auto;padding:var(--desktop-page-padding);&.list-view{.chapter-item{display:flex;align-items:center;padding:var(--desktop-space-lg);background:var(--desktop-card-bg);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-card-radius);margin-bottom:var(--desktop-card-margin);cursor:pointer;transition:all var(--desktop-transition-normal) var(--desktop-ease-out);&:hover{border-color:var(--desktop-hover-border);box-shadow:var(--desktop-hover-shadow);transform:translateY(-2px)}&.current{border-color:var(--desktop-primary);background:var(--desktop-primary-light);.chapter-title{color:var(--desktop-primary);font-weight:var(--desktop-font-weight-semibold)}}&.read{.chapter-title{color:var(--desktop-text-tertiary)}.chapter-meta{color:var(--desktop-text-quaternary)}}.chapter-index{width:60px;text-align:center;font-size:var(--desktop-font-size-lg);color:var(--desktop-text-tertiary);font-weight:var(--desktop-font-weight-semibold);flex-shrink:0}.chapter-info{flex:1;min-width:0;margin-left:var(--desktop-space-xl);.chapter-title{font-size:var(--desktop-font-size-lg);font-weight:var(--desktop-font-weight-medium);color:var(--desktop-text-primary);margin:0 0 var(--desktop-space-sm);line-height:var(--desktop-line-height-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-meta{display:flex;align-items:center;gap:var(--desktop-space-lg);font-size:var(--desktop-font-size-sm);color:var(--desktop-text-tertiary);.meta-item{display:flex;align-items:center;gap:var(--desktop-space-xs);.meta-icon{font-size:12px}}}}.chapter-status{display:flex;align-items:center;gap:var(--desktop-space-md);margin-left:var(--desktop-space-xl);.status-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--desktop-radius-round);font-size:14px;&.downloaded{background:var(--desktop-success-bg);color:var(--desktop-success-text)}&.downloading{background:var(--desktop-warning-bg);color:var(--desktop-warning-text);animation:desktop-pulse 1.5s ease-in-out infinite}&.vip{background:var(--desktop-vip-bg);color:var(--desktop-vip-text)}}.chapter-price{font-size:var(--desktop-font-size-sm);color:var(--desktop-warning-text);font-weight:var(--desktop-font-weight-medium)}.chapter-actions{display:flex;gap:var(--desktop-space-sm);.action-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--desktop-text-tertiary);background:transparent;border:1px solid var(--desktop-border-light);border-radius:var(--desktop-radius-sm);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-hover-bg);border-color:var(--desktop-border-medium);color:var(--desktop-text-primary)}}}}}}&.grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--desktop-grid-gap);.chapter-item{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--desktop-space-lg);background:var(--desktop-card-bg);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-card-radius);cursor:pointer;transition:all var(--desktop-transition-normal) var(--desktop-ease-out);position:relative;&:hover{border-color:var(--desktop-hover-border);box-shadow:var(--desktop-hover-shadow);transform:translateY(-4px)}&.current{border-color:var(--desktop-primary);background:var(--desktop-primary-light);.chapter-number{color:var(--desktop-primary)}}&.read{.chapter-number,.chapter-title{color:var(--desktop-text-tertiary)}}.chapter-number{font-size:var(--desktop-title-h2);font-weight:var(--desktop-font-weight-bold);color:var(--desktop-text-primary);margin-bottom:var(--desktop-space-md)}.chapter-title{font-size:var(--desktop-font-size-sm);color:var(--desktop-text-secondary);text-align:center;line-height:var(--desktop-line-height-tight);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.chapter-status{position:absolute;top:var(--desktop-space-md);right:var(--desktop-space-md);width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--desktop-radius-round);font-size:12px;&.downloaded{background:var(--desktop-success-bg);color:var(--desktop-success-text)}&.vip{background:var(--desktop-vip-bg);color:var(--desktop-vip-text)}}.chapter-overlay{position:absolute;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--desktop-transition-fast) var(--desktop-ease-out);border-radius:var(--desktop-card-radius);.overlay-actions{display:flex;gap:var(--desktop-space-md);.overlay-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffffe6;border:none;border-radius:var(--desktop-radius-round);color:var(--desktop-text-primary);cursor:pointer;backdrop-filter:blur(4px);transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:#fff;transform:scale(1.1)}}}}&:hover .chapter-overlay{opacity:1}}}&.compact-view{.chapter-item{display:flex;align-items:center;padding:var(--desktop-space-md) var(--desktop-space-lg);background:var(--desktop-card-bg);border-bottom:1px solid var(--desktop-border-light);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:last-child{border-bottom:none}&:hover{background:var(--desktop-hover-bg)}&.current{background:var(--desktop-primary-light);.chapter-title{color:var(--desktop-primary);font-weight:var(--desktop-font-weight-semibold)}}&.read{.chapter-title{color:var(--desktop-text-tertiary)}}.chapter-index{width:50px;text-align:center;font-size:var(--desktop-font-size-md);color:var(--desktop-text-tertiary);font-weight:var(--desktop-font-weight-medium);flex-shrink:0}.chapter-title{flex:1;font-size:var(--desktop-font-size-md);color:var(--desktop-text-primary);margin:0 var(--desktop-space-lg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-meta{display:flex;align-items:center;gap:var(--desktop-space-md);font-size:var(--desktop-font-size-sm);color:var(--desktop-text-tertiary);margin-right:var(--desktop-space-lg);.meta-item{white-space:nowrap}}.chapter-status{display:flex;align-items:center;gap:var(--desktop-space-sm);.status-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--desktop-radius-round);font-size:12px;&.downloaded{background:var(--desktop-success-bg);color:var(--desktop-success-text)}&.vip{background:var(--desktop-vip-bg);color:var(--desktop-vip-text)}}}}}}.desktop-layout .chapter-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--desktop-space-xxxl);text-align:center;.empty-icon{width:120px;height:120px;margin-bottom:var(--desktop-space-xl);opacity:.5}.empty-title{font-size:var(--desktop-title-h3);font-weight:var(--desktop-font-weight-semibold);color:var(--desktop-text-secondary);margin:0 0 var(--desktop-space-md)}.empty-description{font-size:var(--desktop-font-size-lg);color:var(--desktop-text-tertiary);line-height:var(--desktop-line-height-relaxed);margin:0 0 var(--desktop-space-xl);max-width:400px}.empty-actions{display:flex;gap:var(--desktop-space-md);.empty-action{padding:var(--desktop-space-md) var(--desktop-space-xl);border:none;border-radius:var(--desktop-button-radius);font-size:var(--desktop-font-size-md);font-weight:var(--desktop-font-weight-medium);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&.primary{background:var(--desktop-primary);color:var(--desktop-text-inverse);&:hover{background:var(--desktop-primary-dark);box-shadow:var(--desktop-button-shadow)}}&.secondary{background:var(--desktop-bg-secondary);color:var(--desktop-text-primary);border:1px solid var(--desktop-border-light);&:hover{background:var(--desktop-bg-tertiary);border-color:var(--desktop-border-medium)}}}}}.desktop-layout .chapter-list-loading{.loading-item{display:flex;align-items:center;padding:var(--desktop-space-lg);background:var(--desktop-card-bg);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-card-radius);margin-bottom:var(--desktop-card-margin);.loading-index{width:60px;height:20px;background:var(--desktop-bg-secondary);border-radius:var(--desktop-radius-sm);animation:desktop-skeleton-loading 1.5s ease-in-out infinite}.loading-content{flex:1;margin-left:var(--desktop-space-xl);.loading-line{height:20px;background:var(--desktop-bg-secondary);border-radius:var(--desktop-radius-sm);margin-bottom:var(--desktop-space-sm);animation:desktop-skeleton-loading 1.5s ease-in-out infinite;&.title{width:60%}&.meta{width:40%;height:16px}}}.loading-status{width:24px;height:24px;background:var(--desktop-bg-secondary);border-radius:var(--desktop-radius-round);animation:desktop-skeleton-loading 1.5s ease-in-out infinite}}}.desktop-layout .chapter-list-pagination{display:flex;justify-content:center;align-items:center;padding:var(--desktop-space-xl) 0;margin-top:var(--desktop-space-xl);border-top:1px solid var(--desktop-border-light);.pagination-button{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;margin:0 var(--desktop-space-xs);padding:0 var(--desktop-space-md);background:var(--desktop-surface);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-radius-md);color:var(--desktop-text-primary);font-size:var(--desktop-font-size-sm);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-hover-bg);border-color:var(--desktop-border-medium)}&.active{background:var(--desktop-primary);border-color:var(--desktop-primary);color:var(--desktop-text-inverse)}&:disabled{opacity:.5;cursor:not-allowed;&:hover{background:var(--desktop-surface);border-color:var(--desktop-border-light)}}}.pagination-info{margin:0 var(--desktop-space-lg);font-size:var(--desktop-font-size-sm);color:var(--desktop-text-secondary)}}@keyframes desktop-pulse{0%,to{opacity:1}50%{opacity:.5}}.desktop-layout .novel-detail-container{min-height:100vh;background:var(--desktop-bg-primary);display:flex;flex-direction:column}.desktop-layout .novel-detail-header{position:relative;background:var(--desktop-surface);border-bottom:1px solid var(--desktop-border-light);overflow:hidden;.header-background{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(30px) brightness(.2);transform:scale(1.1)}.header-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#000000b3,#00000080,#000c)}.header-content{position:relative;z-index:2;max-width:var(--desktop-container-max-width);margin:0 auto;padding:var(--desktop-space-xl) var(--desktop-page-padding);.header-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--desktop-space-xl);.back-button{display:flex;align-items:center;gap:var(--desktop-space-sm);padding:var(--desktop-space-sm) var(--desktop-space-md);color:#fff;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--desktop-radius-md);font-size:var(--desktop-font-size-md);text-decoration:none;cursor:pointer;backdrop-filter:blur(10px);transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-1px)}.back-icon{font-size:16px}}.header-actions{display:flex;align-items:center;gap:var(--desktop-space-md);.action-button{display:flex;align-items:center;gap:var(--desktop-space-sm);padding:var(--desktop-space-sm) var(--desktop-space-md);color:#fff;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--desktop-radius-md);font-size:var(--desktop-font-size-sm);cursor:pointer;backdrop-filter:blur(10px);transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-1px)}&.favorited{color:var(--desktop-favorite-color);background:#ffffffe6;border-color:var(--desktop-favorite-color)}.action-icon{font-size:16px}}}}.novel-hero{display:flex;align-items:flex-start;gap:var(--desktop-space-xxl);.novel-cover{width:200px;height:280px;border-radius:var(--desktop-radius-lg);overflow:hidden;flex-shrink:0;box-shadow:var(--desktop-card-shadow);transition:transform var(--desktop-transition-normal) var(--desktop-ease-out);&:hover{transform:scale(1.02)}img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.cover-placeholder{width:100%;height:100%;background:var(--desktop-gradient-primary);display:flex;align-items:center;justify-content:center;color:var(--desktop-primary-dark);font-size:var(--desktop-font-size-xxl);font-weight:var(--desktop-font-weight-bold)}}.novel-info{flex:1;min-width:0;.novel-title{font-size:var(--desktop-title-h1);font-weight:var(--desktop-font-weight-bold);color:#fff;margin:0 0 var(--desktop-space-md);line-height:var(--desktop-line-height-tight);text-shadow:0 2px 8px rgba(0,0,0,.5)}.novel-author{font-size:var(--desktop-font-size-lg);color:#ffffffe6;margin:0 0 var(--desktop-space-lg);text-shadow:0 1px 4px rgba(0,0,0,.5)}.novel-tags{display:flex;flex-wrap:wrap;gap:var(--desktop-space-sm);margin-bottom:var(--desktop-space-lg);.novel-tag{padding:var(--desktop-space-sm) var(--desktop-space-md);background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:var(--desktop-badge-radius);font-size:var(--desktop-font-size-sm);font-weight:var(--desktop-font-weight-medium);backdrop-filter:blur(10px);transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:#ffffff40;border-color:#ffffff4d}}}.novel-rating{display:flex;align-items:center;gap:var(--desktop-space-md);margin-bottom:var(--desktop-space-lg);.rating-stars{display:flex;gap:var(--desktop-space-xs);.star{color:var(--desktop-warning-text);font-size:20px;&.empty{color:#ffffff4d}}}.rating-text{font-size:var(--desktop-font-size-md);color:#ffffffe6;text-shadow:0 1px 4px rgba(0,0,0,.5)}}.novel-description{font-size:var(--desktop-font-size-md);color:#fffc;line-height:var(--desktop-line-height-relaxed);max-width:600px;text-shadow:0 1px 4px rgba(0,0,0,.5);&.collapsed{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}}}}}}.desktop-layout .novel-stats{background:var(--desktop-surface);border-bottom:1px solid var(--desktop-border-light);.stats-content{max-width:var(--desktop-container-max-width);margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr);.stat-item{padding:var(--desktop-space-xl);text-align:center;border-right:1px solid var(--desktop-border-light);transition:background-color var(--desktop-transition-fast) var(--desktop-ease-out);&:last-child{border-right:none}&:hover{background:var(--desktop-hover-bg)}.stat-value{font-size:var(--desktop-title-h2);font-weight:var(--desktop-font-weight-bold);color:var(--desktop-primary);margin:0 0 var(--desktop-space-sm)}.stat-label{font-size:var(--desktop-font-size-sm);color:var(--desktop-text-secondary);margin:0;font-weight:var(--desktop-font-weight-medium)}}}}.desktop-layout .novel-actions{background:var(--desktop-surface);border-bottom:1px solid var(--desktop-border-light);.actions-content{max-width:var(--desktop-container-max-width);margin:0 auto;display:flex;padding:var(--desktop-space-xl) var(--desktop-page-padding);gap:var(--desktop-space-lg);.action-button{display:flex;align-items:center;justify-content:center;gap:var(--desktop-space-sm);padding:var(--desktop-space-md) var(--desktop-space-xl);border:none;border-radius:var(--desktop-button-radius);font-size:var(--desktop-font-size-md);font-weight:var(--desktop-font-weight-medium);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);min-width:140px;&:hover{transform:translateY(-2px);box-shadow:var(--desktop-button-shadow-hover)}&:active{transform:translateY(0)}&.primary{background:var(--desktop-primary);color:var(--desktop-text-inverse);&:hover{background:var(--desktop-primary-dark)}}&.secondary{background:var(--desktop-bg-secondary);color:var(--desktop-text-primary);border:1px solid var(--desktop-border-light);&:hover{background:var(--desktop-hover-bg);border-color:var(--desktop-border-dark)}}&.outline{background:transparent;color:var(--desktop-primary);border:1px solid var(--desktop-primary);&:hover{background:var(--desktop-primary);color:var(--desktop-text-inverse)}}.action-icon{font-size:18px}}}}.desktop-layout .novel-detail-content{flex:1;background:var(--desktop-bg-primary);.content-wrapper{max-width:var(--desktop-container-max-width);margin:0 auto;display:grid;grid-template-columns:1fr 300px;gap:var(--desktop-space-xxl);padding:var(--desktop-space-xxl) var(--desktop-page-padding);.main-content{.content-tabs{background:var(--desktop-surface);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-card-radius);margin-bottom:var(--desktop-space-xl);overflow:hidden;.tab-list{display:flex;background:var(--desktop-bg-secondary);border-bottom:1px solid var(--desktop-border-light);.tab-item{flex:1;padding:var(--desktop-space-lg);font-size:var(--desktop-font-size-md);font-weight:var(--desktop-font-weight-medium);color:var(--desktop-text-secondary);background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-hover-bg);color:var(--desktop-text-primary)}&.active{color:var(--desktop-primary);background:var(--desktop-surface);border-bottom-color:var(--desktop-primary)}}}.tab-content{padding:var(--desktop-space-xl);.description-tab{.description-text{font-size:var(--desktop-font-size-md);color:var(--desktop-text-primary);line-height:var(--desktop-line-height-relaxed);margin-bottom:var(--desktop-space-xl);&.collapsed{display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}}.expand-button{padding:var(--desktop-space-sm) var(--desktop-space-lg);background:var(--desktop-bg-secondary);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-radius-md);color:var(--desktop-primary);font-size:var(--desktop-font-size-sm);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-hover-bg);border-color:var(--desktop-primary)}}}.chapters-tab{.chapters-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--desktop-space-lg);.chapters-count{font-size:var(--desktop-font-size-lg);font-weight:var(--desktop-font-weight-semibold);color:var(--desktop-text-primary)}.chapters-actions{display:flex;gap:var(--desktop-space-md);.action-button{padding:var(--desktop-space-sm) var(--desktop-space-md);background:var(--desktop-bg-secondary);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-radius-md);color:var(--desktop-text-primary);font-size:var(--desktop-font-size-sm);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-hover-bg);border-color:var(--desktop-border-dark)}}}}.chapters-list{.chapter-item{display:flex;align-items:center;padding:var(--desktop-space-lg);background:var(--desktop-card-bg);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-card-radius);margin-bottom:var(--desktop-card-margin);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-hover-bg);border-color:var(--desktop-border-dark);transform:translateY(-1px);box-shadow:var(--desktop-card-shadow-hover)}&.current{border-color:var(--desktop-primary);background:var(--desktop-primary-light);.chapter-title{color:var(--desktop-primary);font-weight:var(--desktop-font-weight-semibold)}}&.read{.chapter-title{color:var(--desktop-text-tertiary)}}.chapter-index{width:60px;text-align:center;font-size:var(--desktop-font-size-sm);color:var(--desktop-text-tertiary);font-weight:var(--desktop-font-weight-medium);flex-shrink:0}.chapter-info{flex:1;min-width:0;margin-left:var(--desktop-space-lg);.chapter-title{font-size:var(--desktop-font-size-md);font-weight:var(--desktop-font-weight-medium);color:var(--desktop-text-primary);margin:0 0 var(--desktop-space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-meta{font-size:var(--desktop-font-size-sm);color:var(--desktop-text-tertiary)}}.chapter-status{display:flex;align-items:center;gap:var(--desktop-space-sm);.status-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--desktop-radius-sm);font-size:12px;font-weight:var(--desktop-font-weight-bold);&.vip{background:var(--desktop-vip-bg);color:var(--desktop-vip-text)}&.free{background:var(--desktop-success-bg);color:var(--desktop-success-text)}}}}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--desktop-space-md);margin-top:var(--desktop-space-xl);.page-button{padding:var(--desktop-space-sm) var(--desktop-space-md);background:var(--desktop-bg-secondary);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-radius-md);color:var(--desktop-text-primary);font-size:var(--desktop-font-size-sm);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);min-width:40px;&:hover{background:var(--desktop-hover-bg);border-color:var(--desktop-border-dark)}&.active{background:var(--desktop-primary);color:var(--desktop-text-inverse);border-color:var(--desktop-primary)}&:disabled{opacity:.5;cursor:not-allowed;&:hover{background:var(--desktop-bg-secondary);border-color:var(--desktop-border-light)}}}}}}.comments-tab{.comments-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--desktop-space-lg);.comments-count{font-size:var(--desktop-font-size-lg);font-weight:var(--desktop-font-weight-semibold);color:var(--desktop-text-primary)}.comments-actions{display:flex;gap:var(--desktop-space-md);.action-button{padding:var(--desktop-space-sm) var(--desktop-space-md);background:var(--desktop-bg-secondary);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-radius-md);color:var(--desktop-text-primary);font-size:var(--desktop-font-size-sm);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-hover-bg);border-color:var(--desktop-border-dark)}}}}.comments-list{.comment-item{background:var(--desktop-card-bg);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-card-radius);padding:var(--desktop-space-xl);margin-bottom:var(--desktop-card-margin);transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{border-color:var(--desktop-border-dark);box-shadow:var(--desktop-card-shadow-hover)}.comment-header{display:flex;align-items:center;margin-bottom:var(--desktop-space-lg);.user-avatar{width:40px;height:40px;border-radius:var(--desktop-radius-round);background:var(--desktop-gradient-primary);margin-right:var(--desktop-space-lg);overflow:hidden;img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}}.comment-info{flex:1;.user-name{font-size:var(--desktop-font-size-md);font-weight:var(--desktop-font-weight-semibold);color:var(--desktop-text-primary);margin:0 0 var(--desktop-space-xs)}.comment-time{font-size:var(--desktop-font-size-sm);color:var(--desktop-text-tertiary);margin:0}}.comment-rating{display:flex;gap:var(--desktop-space-xs);.star{color:var(--desktop-warning-text);font-size:16px;&.empty{color:var(--desktop-text-quaternary)}}}}.comment-content{font-size:var(--desktop-font-size-md);color:var(--desktop-text-primary);line-height:var(--desktop-line-height-relaxed);margin-bottom:var(--desktop-space-lg)}.comment-actions{display:flex;align-items:center;gap:var(--desktop-space-xl);.action-button{display:flex;align-items:center;gap:var(--desktop-space-sm);padding:var(--desktop-space-sm) var(--desktop-space-md);background:transparent;border:1px solid transparent;border-radius:var(--desktop-radius-md);color:var(--desktop-text-tertiary);font-size:var(--desktop-font-size-sm);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:hover{background:var(--desktop-hover-bg);border-color:var(--desktop-border-light);color:var(--desktop-text-primary)}&.liked{color:var(--desktop-favorite-color)}.action-icon{font-size:16px}}}}}}}}}.sidebar{.sidebar-section{background:var(--desktop-card-bg);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-card-radius);padding:var(--desktop-space-xl);margin-bottom:var(--desktop-space-xl);.section-title{font-size:var(--desktop-font-size-lg);font-weight:var(--desktop-font-weight-semibold);color:var(--desktop-text-primary);margin:0 0 var(--desktop-space-lg);padding-bottom:var(--desktop-space-md);border-bottom:1px solid var(--desktop-border-light)}.section-content{.meta-list{.meta-item{display:flex;justify-content:space-between;align-items:center;padding:var(--desktop-space-md) 0;border-bottom:1px solid var(--desktop-border-light);&:last-child{border-bottom:none}.meta-label{font-size:var(--desktop-font-size-sm);color:var(--desktop-text-secondary)}.meta-value{font-size:var(--desktop-font-size-sm);color:var(--desktop-text-primary);font-weight:var(--desktop-font-weight-medium)}}}.related-novels{.novel-item{display:flex;gap:var(--desktop-space-md);padding:var(--desktop-space-md) 0;border-bottom:1px solid var(--desktop-border-light);cursor:pointer;transition:all var(--desktop-transition-fast) var(--desktop-ease-out);&:last-child{border-bottom:none}&:hover{background:var(--desktop-hover-bg);margin:0 calc(-1 * var(--desktop-space-md));padding-left:var(--desktop-space-md);padding-right:var(--desktop-space-md);border-radius:var(--desktop-radius-md)}.novel-cover{width:60px;height:80px;border-radius:var(--desktop-radius-md);overflow:hidden;flex-shrink:0;img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}}.novel-info{flex:1;min-width:0;.novel-title{font-size:var(--desktop-font-size-sm);font-weight:var(--desktop-font-weight-medium);color:var(--desktop-text-primary);margin:0 0 var(--desktop-space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.novel-author{font-size:var(--desktop-font-size-xs);color:var(--desktop-text-tertiary);margin:0}}}}}}}}}.desktop-layout .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--desktop-space-xxxl);text-align:center;.empty-icon{width:120px;height:120px;margin-bottom:var(--desktop-space-xl);opacity:.5}.empty-title{font-size:var(--desktop-title-h3);font-weight:var(--desktop-font-weight-semibold);color:var(--desktop-text-secondary);margin:0 0 var(--desktop-space-md)}.empty-description{font-size:var(--desktop-font-size-md);color:var(--desktop-text-tertiary);line-height:var(--desktop-line-height-relaxed);margin:0;max-width:400px}}.desktop-layout .loading-state{padding:var(--desktop-space-xl);.loading-item{background:var(--desktop-card-bg);border:1px solid var(--desktop-border-light);border-radius:var(--desktop-card-radius);padding:var(--desktop-space-xl);margin-bottom:var(--desktop-card-margin);.loading-line{height:20px;background:var(--desktop-bg-secondary);border-radius:var(--desktop-radius-sm);margin-bottom:var(--desktop-space-md);animation:desktop-skeleton-loading 1.5s ease-in-out infinite;&.title{width:60%;height:24px}&.content{width:100%}&.meta{width:30%;height:16px}}}}@keyframes desktop-skeleton-loading{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@media (max-width: 1200px){.desktop-layout .novel-detail-content .content-wrapper{grid-template-columns:1fr;.sidebar{order:-1;.sidebar-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--desktop-space-xl);.section-title{grid-column:1 / -1}}}}}@media (max-width: 768px){.desktop-layout .novel-stats .stats-content{grid-template-columns:repeat(3,1fr)}.desktop-layout .novel-detail-header .header-content .novel-hero{flex-direction:column;align-items:center;text-align:center;.novel-cover{margin-bottom:var(--desktop-space-xl)}}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar-track{background:var(--bg-secondary, #f5f5f5);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--border-dark, #d0d0d0);border-radius:4px;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary, #999)}.mobile-layout ::-webkit-scrollbar{display:none}.mobile-layout{scrollbar-width:none;-ms-overflow-style:none}::selection{background:var(--primary-light, rgba(64, 158, 255, .2));color:var(--text-primary, #333)}::-moz-selection{background:var(--primary-light, rgba(64, 158, 255, .2));color:var(--text-primary, #333)}:focus{outline:2px solid var(--primary, #409eff);outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--primary, #409eff);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast: high){:root{--border-light: #000;--border-dark: #000;--text-secondary: #000;--text-tertiary: #000}}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.no-print{display:none!important}}.show{display:block!important}.hide{display:none!important}.invisible{visibility:hidden!important}.visible{visibility:visible!important}.mobile-only{display:none}.desktop-only,.mobile-layout .mobile-only{display:block}.mobile-layout .desktop-only,.desktop-layout .mobile-only{display:none}.desktop-layout .desktop-only{display:block}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-justify{text-align:justify!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.text-truncate-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.clearfix:after{content:"";display:table;clear:both}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:6px;background:var(--primary, #409eff);color:#fff;padding:8px;text-decoration:none;border-radius:4px;z-index:9999}.skip-link:focus{top:6px}.fade-in{animation:fadeIn .3s ease-in-out}#unified-toast-container,.unified-toast-container,.v-overlay-container .v-snackbar,.swal2-container,.el-message,.el-notification,.el-message-box__wrapper{z-index:24000!important}.custom-swal-popup{z-index:24010!important}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.slide-in-up{animation:slideInUp .3s ease-out}@keyframes slideInDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.slide-in-down{animation:slideInDown .3s ease-out}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.scale-in{animation:scaleIn .3s ease-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 2s ease-in-out infinite}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-30px,0)}70%{transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}.bounce{animation:bounce 1s ease infinite}.transition-all{transition:all .3s ease}.transition-colors{transition:color .3s ease,background-color .3s ease,border-color .3s ease}.transition-transform{transition:transform .3s ease}.transition-opacity{transition:opacity .3s ease}.shadow-sm{box-shadow:0 1px 2px #0000000d}.shadow{box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.shadow-none{box-shadow:none}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-md{border-radius:.375rem}.rounded-full{border-radius:9999px}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-5{margin:1.25rem}.m-6{margin:1.5rem}.m-8{margin:2rem}.m-10{margin:2.5rem}.m-12{margin:3rem}.m-16{margin:4rem}.m-20{margin:5rem}.m-24{margin:6rem}.m-32{margin:8rem}.m-40{margin:10rem}.m-48{margin:12rem}.m-56{margin:14rem}.m-64{margin:16rem}.m-auto{margin:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-8{padding:2rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-16{padding:4rem}.p-20{padding:5rem}.p-24{padding:6rem}.inline-grid{display:inline-grid}.inline-block{display:inline-block}.flex-row{flex-direction:row}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.flex-grow-0{flex-grow:0}.flex-grow{flex-grow:1}.navbar-container[data-v-083c2d0b]{position:fixed;top:0;left:0;right:0;z-index:1000}.navbar[data-v-083c2d0b]{display:flex;align-items:center;justify-content:space-between;height:70px;padding:0 32px;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;font-family:var(--font-sans);position:relative;z-index:10}.nav-style-classic[data-v-083c2d0b]{background:linear-gradient(135deg,#0f172a,#1e293b);border-bottom:1px solid rgba(255,255,255,.05);box-shadow:0 4px 20px #0003}.nav-style-glass[data-v-083c2d0b]{background:linear-gradient(120deg,#fdfbf7f2,#f0f4fff2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(99,102,241,.08);box-shadow:0 4px 24px -1px #00000005,0 2px 8px -1px #6366f108}.nav-style-glass .nav-item[data-v-083c2d0b],.nav-style-glass .brand-text[data-v-083c2d0b],.nav-style-glass .material-icons[data-v-083c2d0b]{color:#334155;font-weight:500}.nav-style-glass .brand-text[data-v-083c2d0b]{color:#1e293b;font-family:var(--font-serif);font-weight:700;text-shadow:none}.nav-style-glass .nav-item[data-v-083c2d0b]:hover{background:linear-gradient(to right,#6366f114,#8b5cf614);color:#4338ca;transform:translateY(-1px)}.nav-style-glass .nav-item.router-link-active[data-v-083c2d0b]{color:#4f46e5;background:#6366f114;box-shadow:inset 0 0 0 1px #6366f126;font-weight:600}.nav-style-minimal[data-v-083c2d0b]{background:#fffffffa;border-bottom:1px solid #e2e8f0}.nav-style-minimal .nav-item[data-v-083c2d0b]{color:#475569}.nav-style-minimal .nav-item[data-v-083c2d0b]:hover{background:#f8fafc;color:#0f172a}.nav-style-floating[data-v-083c2d0b]{margin:16px 24px 0;border-radius:24px;background:#ffffffe6;backdrop-filter:blur(20px);box-shadow:0 10px 40px -10px #00000014;border:1px solid rgba(255,255,255,.6);width:auto}.dark-theme{background:linear-gradient(135deg,#1a0b2e,#2e1065,#1e1b4b)!important;backdrop-filter:blur(24px)!important;border-bottom:1px solid rgba(167,139,250,.15)!important;box-shadow:0 10px 30px -10px #00000080,0 0 20px #7c3aed1a!important}.dark-theme{color:#e2e8f0!important;text-shadow:0 0 10px rgba(167,139,250,.3)}.dark-theme{background:linear-gradient(to right,#fff,#e9d5ff,#c4b5fd)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;text-shadow:0 0 20px rgba(167,139,250,.5);font-weight:800}.dark-theme{background:linear-gradient(to right,#8b5cf633,#7c3aed1a)!important;color:#fff!important;box-shadow:0 0 15px #8b5cf666!important;border:1px solid rgba(167,139,250,.3)!important;text-shadow:0 0 8px rgba(255,255,255,.8)!important}.dark-theme{background:linear-gradient(90deg,#7c3aed4d,#8b5cf61a)!important;color:#fff!important;border:1px solid rgba(167,139,250,.5)!important;box-shadow:inset 0 0 20px #7c3aed33,0 0 15px #7c3aed66!important;font-weight:700}.navbar-brand[data-v-083c2d0b]{display:flex;align-items:center}.brand-link[data-v-083c2d0b]{display:flex;align-items:center;text-decoration:none;transition:color .2s ease,opacity .2s ease,transform .2s ease}.brand-link[data-v-083c2d0b]:hover{transform:scale(1.02)}.brand-logo[data-v-083c2d0b]{position:relative;display:flex;align-items:center}.ink-drop[data-v-083c2d0b]{position:relative;width:40px;height:40px;margin-right:12px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#8b5cf6,#ec4899);box-shadow:0 4px 12px #6366f14d;transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}.dark-theme{background:linear-gradient(135deg,#6366f1,#a855f7,#d946ef);box-shadow:0 4px 15px #8b5cf666}.brand-link:hover .ink-drop[data-v-083c2d0b]{transform:rotate(15deg);box-shadow:0 6px 20px #6366f180}.ink-drop[data-v-083c2d0b]:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:22px;height:22px;background:#fffffff2;border-radius:50%;box-shadow:0 0 15px #fff9}.brand-text[data-v-083c2d0b]{font-family:"Noto Serif SC",serif;font-size:24px;font-weight:700;color:#fffffff2;text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:1px}.navbar-nav[data-v-083c2d0b]{display:flex;align-items:center;gap:8px}.nav-item[data-v-083c2d0b]{display:flex;align-items:center;gap:8px;padding:12px 16px;color:#fffc;text-decoration:none;border-radius:8px;font-weight:500;font-size:14px;position:relative;overflow:hidden}@media (prefers-reduced-motion: no-preference){.nav-item[data-v-083c2d0b]{transition:background-color .2s ease,color .2s ease}}.nav-item[data-v-083c2d0b]:hover{color:#fff;background:#3b82f626}@media (prefers-reduced-motion: no-preference){.nav-item[data-v-083c2d0b]:hover{transform:translateY(-1px)}}.nav-item.router-link-active[data-v-083c2d0b]{color:#3b82f6;background:#3b82f61a;box-shadow:0 0 0 1px #3b82f64d}.nav-item i[data-v-083c2d0b]{font-size:18px}.nav-author-group[data-v-083c2d0b]{display:flex;align-items:center}.nav-author-toggle[data-v-083c2d0b]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:32px;margin-left:-8px;padding:0;border:0;border-radius:6px;color:inherit;background:transparent;box-shadow:none;cursor:pointer}.nav-author-toggle .material-icons[data-v-083c2d0b]{font-size:17px}.nav-author-toggle[data-v-083c2d0b]:focus-visible{outline:2px solid currentColor;outline-offset:2px}.mobile-author-submodule[data-v-083c2d0b]{padding-left:46px;font-size:13px}.nav-dropdown[data-v-083c2d0b]{position:relative}.dropdown-trigger[data-v-083c2d0b]{cursor:pointer}.dropdown-arrow[data-v-083c2d0b]{font-size:16px!important;transition:transform .3s ease}.nav-dropdown:hover .dropdown-arrow[data-v-083c2d0b]{transform:rotate(180deg)}.dropdown-menu[data-v-083c2d0b]{position:absolute;top:100%;left:0;min-width:220px;margin-top:12px;background:#ffffffe6;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);border-radius:16px;box-shadow:0 10px 40px -5px #0000001a;z-index:1001;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;transform:translateY(10px)}.dark-theme{background:#1e143cf2;border:1px solid rgba(139,92,246,.2);box-shadow:0 10px 40px -5px #00000080}@media (prefers-reduced-motion: no-preference){.dropdown-menu[data-v-083c2d0b]{transition:opacity .2s ease,visibility .2s ease,transform .2s ease}}.dropdown-menu.dropdown-visible[data-v-083c2d0b],.user-dropdown.dropdown-visible[data-v-083c2d0b]{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-backdrop[data-v-083c2d0b]{position:absolute;inset:0;background:linear-gradient(to bottom right,#fff3,#ffffff0d);z-index:-1}.dropdown-content[data-v-083c2d0b]{position:relative;z-index:1;padding:8px}.dropdown-item[data-v-083c2d0b]{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#475569;text-decoration:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .2s ease;margin-bottom:2px}.dropdown-item[data-v-083c2d0b]:hover{background:linear-gradient(to right,#6366f11a,#8b5cf61a);color:#4f46e5;transform:translate(4px)}.dark-theme{background:linear-gradient(to right,#8b5cf633,#7c3aed33);color:#fff}.dropdown-item i[data-v-083c2d0b]{font-size:18px;width:24px;text-align:center;opacity:.8;transition:transform .2s}.dropdown-item:hover i[data-v-083c2d0b]{transform:scale(1.1);opacity:1}.dropdown-sub-item[data-v-083c2d0b]{margin-left:34px;padding-left:12px;font-size:14px;color:#64748b}.dropdown-sub-item i[data-v-083c2d0b]{font-size:17px}.dropdown-divider[data-v-083c2d0b]{height:1px;background:linear-gradient(to right,transparent,rgba(0,0,0,.05),transparent);margin:8px 0}.dark-theme{background:linear-gradient(to right,transparent,rgba(255,255,255,.1),transparent)}.navbar-user[data-v-083c2d0b]{position:relative;display:flex;align-items:center}.user-menu[data-v-083c2d0b]{display:flex;align-items:center;gap:12px;padding:6px 12px 6px 6px;border-radius:50px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;border:1px solid transparent}.user-menu[data-v-083c2d0b]:hover{background:#ffffff80;box-shadow:0 4px 12px #0000000d;border-color:#fffc}.dark-theme{background:#ffffff0d;box-shadow:0 4px 12px #0000004d;border-color:#ffffff1a}.user-avatar[data-v-083c2d0b]{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;box-shadow:0 2px 8px #6366f166;border:2px solid rgba(255,255,255,.8)}.user-name[data-v-083c2d0b]{color:#334155;font-weight:600;font-size:14px}.dark-theme{color:#e2e8f0}.user-dropdown[data-v-083c2d0b]{position:absolute;top:100%;right:0;min-width:240px;margin-top:12px;background:#fffffff2;backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.6);border-radius:16px;box-shadow:0 10px 40px -5px #0000001a;z-index:1001;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;transform:translateY(10px)}.theme-toggle[data-v-083c2d0b]{margin-left:auto}.toggle-switch[data-v-083c2d0b]{width:44px;height:24px;background:#94a3b84d;border-radius:12px;position:relative;cursor:pointer;transition:background-color .2s ease}.toggle-switch.active[data-v-083c2d0b]{background:#3b82f699}.toggle-slider[data-v-083c2d0b]{width:20px;height:20px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 2px 4px #0003}.toggle-switch.active .toggle-slider[data-v-083c2d0b]{transform:translate(20px)}.style-grid[data-v-083c2d0b]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.style-option[data-v-083c2d0b]{display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:4px;border-radius:8px;transition:background-color .2s ease,color .2s ease,transform .2s ease}.style-option[data-v-083c2d0b]:hover{background:#0000000d}.style-option.active[data-v-083c2d0b]{background:#6366f11a}.dark-theme{background:#8b5cf633}.style-preview[data-v-083c2d0b]{width:100%;height:24px;border-radius:6px;margin-bottom:4px;border:1px solid rgba(0,0,0,.1);position:relative;overflow:hidden}.dark-theme{border-color:#fff3}.style-label[data-v-083c2d0b]{font-size:11px;color:#64748b}.style-option.active .style-label[data-v-083c2d0b]{color:#4f46e5;font-weight:600}.dark-theme{color:#c4b5fd}.preview-classic[data-v-083c2d0b]{background:linear-gradient(135deg,#0f172a,#334155)}.preview-glass[data-v-083c2d0b]{background:linear-gradient(120deg,#fdfbf7,#e0e7ff)}.preview-minimal[data-v-083c2d0b]{background:#fff;border:1px solid #e2e8f0}.preview-floating[data-v-083c2d0b]{background:#f1f5f9;box-shadow:inset 0 0 0 2px #fffc}.dark-theme{background:linear-gradient(120deg,#1e1b4b,#312e81)}.dark-theme{background:#0f172a;border-color:#334155}.dark-theme{background:#1e293b}.mobile-menu[data-v-083c2d0b]{position:fixed;top:0;right:0;width:280px;height:100vh;background:#fffffff2;backdrop-filter:blur(16px);border-left:1px solid rgba(255,255,255,.5);z-index:1000;overflow-y:auto;box-shadow:-5px 0 20px #0000001a;opacity:0;transform:translate3d(100%,0,0);transition:opacity .2s ease,transform .2s ease;will-change:opacity,transform}.dark-theme{background:#1e143cf2;border-left:1px solid rgba(139,92,246,.2)}.mobile-menu.mobile-menu-open[data-v-083c2d0b]{opacity:1;transform:translateZ(0)}.mobile-nav-items[data-v-083c2d0b]{padding:80px 20px 20px}.mobile-nav-item[data-v-083c2d0b]{display:flex;align-items:center;gap:12px;padding:16px;color:#475569;text-decoration:none;border-radius:12px;margin-bottom:8px;transition:background-color .2s ease,color .2s ease,transform .2s ease}.dark-theme{color:#cbd5e1}.mobile-nav-item[data-v-083c2d0b]:hover,.mobile-nav-item-clickable[data-v-083c2d0b]{cursor:pointer}.mobile-nav-item[data-v-083c2d0b]:hover{background:#6366f11a;color:#4f46e5}.dark-theme{background:#8b5cf633;color:#fff}.mobile-dropdown-content[data-v-083c2d0b]{margin-left:20px;margin-top:8px;border-left:2px solid rgba(0,0,0,.05);padding-left:10px}.mobile-menu-divider[data-v-083c2d0b]{height:1px;background:#00000014;margin:12px 0}.dark-theme{background:#ffffff1a}.dark-theme{border-left:2px solid rgba(255,255,255,.1)}.mobile-dropdown-item[data-v-083c2d0b]{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#64748b;text-decoration:none;border-radius:10px;margin-bottom:4px;font-size:14px;transition:background-color .2s ease,color .2s ease,transform .2s ease}.dark-theme{color:#94a3b8}.mobile-dropdown-item[data-v-083c2d0b]:hover{background:#6366f10d;color:#4f46e5;transform:translate(4px)}.mobile-dropdown-sub-item[data-v-083c2d0b]{margin-left:28px;font-size:14px;color:#64748b}.dark-theme{background:#8b5cf626;color:#fff}@media (min-width: 769px) and (max-width: 1500px){.navbar[data-v-083c2d0b]{padding:0 20px}.navbar-nav[data-v-083c2d0b]{gap:4px}.nav-item[data-v-083c2d0b]{gap:6px;padding:12px 10px}}@media (min-width: 769px) and (max-width: 1280px){.navbar[data-v-083c2d0b]{padding:0 14px}.navbar-nav[data-v-083c2d0b]{gap:2px}.nav-item[data-v-083c2d0b]{gap:4px;padding:10px 7px;font-size:12px}.nav-item i[data-v-083c2d0b]{font-size:16px}}@media (max-width: 768px){.navbar-nav[data-v-083c2d0b],.navbar-user[data-v-083c2d0b]{display:none!important}.navbar[data-v-083c2d0b]{padding:0 16px;height:var(--navbar-height-mobile, 56px)}.navbar-brand .brand-text[data-v-083c2d0b]{font-size:20px}.mobile-menu-btn[data-v-083c2d0b]{display:flex!important;align-items:center;justify-content:center}}.mobile-menu-btn[data-v-083c2d0b]{display:none;position:fixed;top:20px;right:20px;width:44px;height:44px;background:#fffc;backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.1);border-radius:12px;color:#334155;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;z-index:1002;box-shadow:0 4px 12px #0000000d}.dark-theme{background:#1e143ccc;border:1px solid rgba(255,255,255,.1);color:#e2e8f0}@media (prefers-reduced-motion: no-preference){@keyframes slideInDown-083c2d0b{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}}@media (prefers-reduced-motion: no-preference){.navbar[data-v-083c2d0b]>*{position:relative;z-index:1}.dropdown-menu[data-v-083c2d0b],.user-dropdown[data-v-083c2d0b]{animation:slideInDown-083c2d0b .2s ease-out}}@media print{.navbar-container[data-v-083c2d0b]{display:none!important}}.fade-enter-active[data-v-53282cd1],.slide-left-enter-active[data-v-53282cd1],.slide-right-enter-active[data-v-53282cd1]{transition:opacity var(--routeTransitionDuration) ease-out,transform var(--routeTransitionDuration) cubic-bezier(.22,1,.36,1)}.fade-enter-from[data-v-53282cd1],.slide-left-enter-from[data-v-53282cd1],.slide-right-enter-from[data-v-53282cd1]{opacity:0;transform:translateY(5px)}.fade-leave-active[data-v-53282cd1],.slide-left-leave-active[data-v-53282cd1],.slide-right-leave-active[data-v-53282cd1],.route-none-enter-active[data-v-53282cd1],.route-none-leave-active[data-v-53282cd1]{transition:none}.route-none-enter-from[data-v-53282cd1],.route-none-leave-to[data-v-53282cd1]{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.fade-enter-active[data-v-53282cd1],.slide-left-enter-active[data-v-53282cd1],.slide-right-enter-active[data-v-53282cd1]{transition:none}.fade-enter-from[data-v-53282cd1],.slide-left-enter-from[data-v-53282cd1],.slide-right-enter-from[data-v-53282cd1]{opacity:1;transform:none}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);line-height:1.5;background-color:var(--background-color);color:var(--text-color);overflow-x:hidden;position:relative;min-height:100vh}@media (prefers-reduced-motion: no-preference){.page-enter-active,.page-leave-active{transition:opacity .2s ease}.page-enter-from,.page-leave-to{opacity:0}}html.is-mobile{touch-action:manipulation;-webkit-tap-highlight-color:transparent}html.is-ios{-webkit-overflow-scrolling:touch}.app-container{display:block;min-height:100vh;position:relative}.content-wrapper{position:fixed;top:var(--navbar-height);left:0;right:0;bottom:0;width:100%;height:calc(100vh - var(--navbar-height));overflow-y:auto;overflow-x:hidden;z-index:1;will-change:scroll-position;transform:translateZ(0);-webkit-overflow-scrolling:touch;contain:layout style paint}@media (min-width: 769px){.deepseek-route-shell .navbar{gap:12px;padding-inline:20px}.deepseek-route-shell .navbar-brand,.deepseek-route-shell .navbar-user{flex:0 0 auto}.deepseek-route-shell .navbar-nav{min-width:0;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.45) transparent}.deepseek-route-shell .navbar-nav>*,.deepseek-route-shell .navbar-nav .nav-item{flex:0 0 auto;white-space:nowrap}}.content-wrapper.fullscreen-mode{top:0!important;height:100vh!important;z-index:100;background:#fff}.main-content.fullscreen-content{padding:0!important;width:100%;max-width:none}.main-content{width:100%;min-height:100%;padding:var(--content-padding)}.global-loading-indicator{position:fixed;inset:0 0 auto;height:3px;z-index:24001;pointer-events:none;background:#6663d514}.global-loading-progress{display:block;width:34%;height:100%;background:linear-gradient(90deg,transparent,#7773df,#a5a2ed,transparent);transform:translate(-100%);animation:app-loading-progress 1.8s cubic-bezier(.45,0,.25,1) infinite}.global-loading-label{position:absolute;top:calc(var(--navbar-height, 60px) + 12px);right:max(20px,env(safe-area-inset-right));display:flex;align-items:center;gap:10px;max-width:calc(100vw - 40px);padding:10px 16px;color:var(--art-text-primary, #334155);background:var(--glass-bg, rgba(255, 255, 255, .95));border:1px solid rgba(130,128,185,.18);border-radius:12px;box-shadow:0 8px 28px -16px #232a5147;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.global-loading-label__mark{flex:0 0 10px;height:14px;border:1px solid #8b87d9;border-radius:3px;box-shadow:-3px 3px 0 -1px var(--glass-bg, #fff),-3px 3px #c6c3e8}.global-loading-indicator--fullscreen .global-loading-label{top:16px}.route-bootstrap-error{width:min(480px,100%);padding:36px;border:1px solid #e5e7ef;border-radius:20px;background:var(--glass-bg, #fff);color:var(--art-text-primary, #252b43);box-shadow:0 24px 72px -48px #232a514d}.route-bootstrap-error__icon{display:grid;place-items:center;width:36px;height:36px;margin-bottom:20px;border:1px solid #d7d3ed;border-radius:10px;color:#7268a0;font-weight:600}.route-bootstrap-error h1{font-size:20px;margin-bottom:10px}.route-bootstrap-error p{font-size:13px;line-height:1.8;color:var(--art-text-secondary, #68728a)}.route-bootstrap-error button{margin-top:24px;padding:10px 18px;border:1px solid #625bc7;border-radius:9px;background:#625bc7;color:#fff;cursor:pointer;font:inherit;font-size:13px}.route-bootstrap-error button:focus-visible{outline:3px solid #b7b2f1;outline-offset:3px}@keyframes app-loading-progress{to{transform:translate(390%)}}@media (prefers-reduced-motion: reduce){.global-loading-progress{width:100%;transform:none;animation:none;opacity:.5}}:is(.disable-animations,.disable-transitions,.low-performance-mode,.reduced-motion) .global-loading-progress{width:100%;transform:none;animation:none;opacity:.5}@media (max-width: 768px){.global-loading-label{top:calc(var(--navbar-height-mobile, 55px) + 10px);right:16px;max-width:calc(100vw - 32px)}}@media (max-width: 768px){.content-wrapper{top:var(--navbar-height-mobile);height:calc(100vh - var(--navbar-height-mobile))}}body.nav-menu-open{overflow:hidden;position:fixed;width:100%;height:100%}@media print{.content-wrapper{top:0!important;height:auto!important;position:static!important}.main-content{margin-top:0!important}.geometric-background{display:none!important}}:root,:host{--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";--fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";--fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";--fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"}svg.svg-inline--fa:not(:root),svg.svg-inline--fa:not(:host){overflow:visible;box-sizing:content-box}.svg-inline--fa{display:var(--fa-display, inline-block);height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0em}.svg-inline--fa.fa-sm{vertical-align:-.07143em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left{margin-right:var(--fa-pull-margin, .3em);width:auto}.svg-inline--fa.fa-pull-right{margin-left:var(--fa-pull-margin, .3em);width:auto}.svg-inline--fa.fa-li{width:var(--fa-li-width, 2em);top:.25em}.svg-inline--fa.fa-fw{width:var(--fa-fw-width, 1.25em)}.fa-layers svg.svg-inline--fa{inset:0;margin:auto;position:absolute}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{transform-origin:center center}.fa-layers-text{left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color, #ff253a);border-radius:var(--fa-counter-border-radius, 1em);box-sizing:border-box;color:var(--fa-inverse, #fff);line-height:var(--fa-counter-line-height, 1);max-width:var(--fa-counter-max-width, 5em);min-width:var(--fa-counter-min-width, 1.5em);overflow:hidden;padding:var(--fa-counter-padding, .25em .5em);right:var(--fa-right, 0);text-overflow:ellipsis;top:var(--fa-top, 0);transform:scale(var(--fa-counter-scale, .25));transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom, 0);right:var(--fa-right, 0);top:auto;transform:scale(var(--fa-layers-scale, .25));transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom, 0);left:var(--fa-left, 0);right:auto;top:auto;transform:scale(var(--fa-layers-scale, .25));transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top, 0);right:var(--fa-right, 0);transform:scale(var(--fa-layers-scale, .25));transform-origin:top right}.fa-layers-top-left{left:var(--fa-left, 0);right:auto;top:var(--fa-top, 0);transform:scale(var(--fa-layers-scale, .25));transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(-1 * var(--fa-li-width, 2em));position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color, #eee);border-radius:var(--fa-border-radius, .1em);border-style:var(--fa-border-style, solid);border-width:var(--fa-border-width, .08em);padding:var(--fa-border-padding, .2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.28, .84, .42, 1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.4, 0, .6, 1))}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.4, 0, .6, 1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 2s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, steps(8))}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle, 0))}.fa-stack{display:inline-block;vertical-align:middle;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{inset:0;margin:auto;position:absolute;z-index:var(--fa-stack-z-index, auto)}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:var(--fa-inverse, #fff)}.sr-only,.fa-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:not(:focus),.fa-sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color, currentColor);opacity:var(--fa-primary-opacity, 1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color, currentColor);opacity:var(--fa-secondary-opacity, .4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity, .4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity, 1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body,h1,h2,h3,h4,h5,h6,p,ol,ul,li,figure,figcaption,blockquote,dl,dd{margin:0;padding:0}html,body{height:100%;scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}ol,ul{list-style:none}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}textarea:not(.el-textarea__inner){resize:vertical}a{text-decoration:none;color:inherit}table{border-collapse:collapse;border-spacing:0}button{background:none;border:none;cursor:pointer;font:inherit;color:inherit;padding:0}[tabindex="-1"]{outline:none!important}[hidden]{display:none!important}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a,button,input,select,textarea,label{-webkit-tap-highlight-color:transparent}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:var(--font-family);font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--text-primary);background-color:#f5faffcc}body{min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:var(--space-4);color:var(--text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-md)}p{margin-bottom:var(--space-4)}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast) var(--transition-timing)}a:hover{color:var(--primary-dark);text-decoration:underline}img,svg,video,canvas,audio,iframe,embed,object{display:block;max-width:100%}button,input,optgroup,select{font-family:inherit;font-size:100%;line-height:1.15}textarea:not(.el-textarea__inner){font-family:inherit;font-size:100%;line-height:1.15}.el-textarea__inner{font-family:inherit;line-height:var(--line-height-normal);min-height:auto;height:auto}.container{width:100%;max-width:var(--max-content-width);margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}.card{background-color:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--border-light)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);text-align:center;cursor:pointer;transition:background-color var(--transition-fast) var(--transition-timing),color var(--transition-fast) var(--transition-timing),border-color var(--transition-fast) var(--transition-timing),box-shadow var(--transition-fast) var(--transition-timing);border:1px solid transparent}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-dark);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--neutral-200);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--neutral-300)}.btn-outline{background-color:transparent;border-color:var(--primary-color);color:var(--primary-color)}.btn-outline:hover{background-color:var(--primary-color);color:#fff}.form-control{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-md);line-height:var(--line-height-normal);border:1px solid var(--border-regular);border-radius:var(--radius-md);background-color:#f0f8ff99;transition:border-color var(--transition-fast) var(--transition-timing)}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.2)}.hidden-xs{display:none}@media (min-width: var(--breakpoint-sm)){.hidden-xs{display:initial}.hidden-sm-up{display:none}}@media (min-width: var(--breakpoint-md)){.hidden-md-up{display:none}}@media (min-width: var(--breakpoint-lg)){.hidden-lg-up{display:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn var(--transition-normal) var(--transition-timing)}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mx-auto{margin-left:auto;margin-right:auto}.p-2{padding:var(--space-2)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.text-sm{font-size:var(--font-size-sm)}.text-lg{font-size:var(--font-size-lg)}.text-primary{color:var(--primary-color)}.text-secondary{color:var(--text-secondary)}.text-light{color:var(--text-tertiary)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:var(--font-weight-medium);text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:var(--font-size-base);line-height:var(--line-height-base);border-radius:var(--radius-base);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);cursor:pointer;position:relative;overflow:hidden;text-decoration:none}.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(var(--primary-rgb),.25)}.btn:disabled,.btn.disabled{opacity:.65;pointer-events:none}.btn-primary{color:#fff;background-color:var(--primary-color);border-color:var(--primary-color)}.btn-primary:hover,.btn-primary:focus{color:#fff;background-color:var(--primary-dark);border-color:var(--primary-dark)}.btn-secondary{color:#fff;background-color:var(--secondary-color);border-color:var(--secondary-color)}.btn-secondary:hover,.btn-secondary:focus{color:#fff;background-color:var(--secondary-dark);border-color:var(--secondary-dark)}.btn-success{color:#fff;background-color:var(--success-color);border-color:var(--success-color)}.btn-success:hover,.btn-success:focus{color:#fff;background-color:var(--success-dark);border-color:var(--success-dark)}.btn-danger{color:#fff;background-color:var(--danger-color);border-color:var(--danger-color)}.btn-danger:hover,.btn-danger:focus{color:#fff;background-color:var(--danger-dark);border-color:var(--danger-dark)}.btn-warning{color:#212529;background-color:var(--warning-color);border-color:var(--warning-color)}.btn-warning:hover,.btn-warning:focus{color:#212529;background-color:var(--warning-dark);border-color:var(--warning-dark)}.btn-info{color:#fff;background-color:var(--info-color);border-color:var(--info-color)}.btn-info:hover,.btn-info:focus{color:#fff;background-color:var(--info-dark);border-color:var(--info-dark)}.btn-light{color:#212529;background-color:var(--light-color);border-color:var(--light-color)}.btn-light:hover,.btn-light:focus{color:#212529;background-color:var(--light-dark);border-color:var(--light-dark)}.btn-dark{color:#fff;background-color:var(--dark-color);border-color:var(--dark-color)}.btn-dark:hover,.btn-dark:focus{color:#fff;background-color:var(--dark-light);border-color:var(--dark-light)}.btn-outline-primary{color:var(--primary-color);background-color:transparent;border-color:var(--primary-color)}.btn-outline-primary:hover,.btn-outline-primary:focus{color:#fff;background-color:var(--primary-color);border-color:var(--primary-color)}.btn-outline-secondary{color:var(--secondary-color);background-color:transparent;border-color:var(--secondary-color)}.btn-outline-secondary:hover,.btn-outline-secondary:focus{color:#fff;background-color:var(--secondary-color);border-color:var(--secondary-color)}.btn-outline-success{color:var(--success-color);background-color:transparent;border-color:var(--success-color)}.btn-outline-success:hover,.btn-outline-success:focus{color:#fff;background-color:var(--success-color);border-color:var(--success-color)}.btn-outline-danger{color:var(--danger-color);background-color:transparent;border-color:var(--danger-color)}.btn-outline-danger:hover,.btn-outline-danger:focus{color:#fff;background-color:var(--danger-color);border-color:var(--danger-color)}.btn-outline-warning{color:var(--warning-color);background-color:transparent;border-color:var(--warning-color)}.btn-outline-warning:hover,.btn-outline-warning:focus{color:#212529;background-color:var(--warning-color);border-color:var(--warning-color)}.btn-outline-info{color:var(--info-color);background-color:transparent;border-color:var(--info-color)}.btn-outline-info:hover,.btn-outline-info:focus{color:#fff;background-color:var(--info-color);border-color:var(--info-color)}.btn-outline-light{color:var(--gray-600);background-color:transparent;border-color:var(--light-color)}.btn-outline-light:hover,.btn-outline-light:focus{color:#212529;background-color:var(--light-color);border-color:var(--light-color)}.btn-outline-dark{color:var(--dark-color);background-color:transparent;border-color:var(--dark-color)}.btn-outline-dark:hover,.btn-outline-dark:focus{color:#fff;background-color:var(--dark-color);border-color:var(--dark-color)}.btn-link{font-weight:var(--font-weight-normal);color:var(--primary-color);text-decoration:none;background-color:transparent;border:none}.btn-link:hover,.btn-link:focus{color:var(--primary-dark);text-decoration:underline;background-color:transparent;border-color:transparent}.btn-sm{padding:.25rem .5rem;font-size:var(--font-size-sm);line-height:1.5;border-radius:var(--radius-sm)}.btn-lg{padding:.5rem 1rem;font-size:var(--font-size-lg);line-height:1.5;border-radius:var(--radius-lg)}.btn-group{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle;flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn{position:relative;flex:0 1 auto;width:100%}.btn-group-vertical>.btn:not(:first-child){margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.btn-group-vertical>.btn:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .btn-group{margin-right:.5rem}.btn-toolbar .btn-group:last-child{margin-right:0}.btn-loading{color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:1rem;height:1rem;top:calc(50% - .5rem);left:calc(50% - .5rem);border-radius:50%;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;animation:btn-spinner .6s linear infinite}.btn-outline-primary.btn-loading:after,.btn-outline-secondary.btn-loading:after,.btn-outline-success.btn-loading:after,.btn-outline-danger.btn-loading:after,.btn-outline-warning.btn-loading:after,.btn-outline-info.btn-loading:after,.btn-outline-light.btn-loading:after,.btn-outline-dark.btn-loading:after,.btn-link.btn-loading:after{border:2px solid rgba(var(--primary-rgb),.5);border-top-color:var(--primary-color)}@keyframes btn-spinner{to{transform:rotate(360deg)}}.btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:.375rem;font-size:var(--font-size-base);line-height:1;border-radius:var(--radius-base);height:2.5rem;width:2.5rem}.btn-icon-sm{padding:.25rem;font-size:var(--font-size-sm);height:2rem;width:2rem;border-radius:var(--radius-sm)}.btn-icon-lg{padding:.5rem;font-size:var(--font-size-lg);height:3rem;width:3rem;border-radius:var(--radius-lg)}.btn-with-icon{display:inline-flex;align-items:center;justify-content:center}.btn-with-icon>*:first-child{margin-right:.5rem}.btn-with-icon>*:last-child{margin-left:.5rem}.btn-fab{position:fixed;bottom:1.5rem;right:1.5rem;width:3.5rem;height:3.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:var(--shadow-lg);z-index:var(--z-index-fixed)}.btn-fab-sm{width:3rem;height:3rem;font-size:1.25rem}.btn-fab-lg{width:4rem;height:4rem;font-size:1.75rem}.btn-block{display:flex;width:100%}.form-control{display:block;width:100%;height:var(--input-height);padding:.375rem .75rem;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-base);color:var(--text-color);background-color:var(--input-bg);background-clip:padding-box;border:var(--input-border-width) solid var(--input-border-color);border-radius:var(--radius-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-control:focus{color:var(--text-color);background-color:var(--input-bg);border-color:var(--input-focus-border-color);outline:0;box-shadow:0 0 0 .2rem rgba(var(--primary-rgb),.25)}.form-control::-moz-placeholder{color:var(--input-placeholder-color);opacity:1}.form-control::placeholder{color:var(--input-placeholder-color);opacity:1}.form-control:disabled,.form-control[readonly]{background-color:var(--input-disabled-bg);opacity:1;cursor:not-allowed}.form-control-sm{height:var(--input-height-sm);padding:.25rem .5rem;font-size:var(--font-size-sm);line-height:1.5;border-radius:var(--radius-sm)}.form-control-lg{height:var(--input-height-lg);padding:.5rem 1rem;font-size:var(--font-size-lg);line-height:1.5;border-radius:var(--radius-lg)}.form-group{margin-bottom:1rem}.form-group label{display:inline-block;margin-bottom:.5rem;font-weight:var(--font-weight-medium);color:var(--label-color)}.form-group .form-text{display:block;margin-top:.25rem;font-size:var(--font-size-sm);color:var(--text-muted)}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{width:auto}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-control:not(:last-child),.input-group>.custom-select:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-base);color:var(--input-group-addon-color);text-align:center;white-space:nowrap;background-color:var(--input-group-addon-bg);border:var(--input-border-width) solid var(--input-border-color);border-radius:var(--radius-base)}.form-check{position:relative;display:block;padding-left:1.5rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.5rem}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.form-switch{position:relative;display:inline-block;width:3rem;height:1.5rem}.form-switch input{opacity:0;width:0;height:0}.form-switch .slider{position:absolute;cursor:pointer;inset:0;background-color:var(--gray-400);transition:var(--transition-normal);border-radius:1.5rem}.form-switch .slider:before{position:absolute;content:"";height:1.1rem;width:1.1rem;left:.2rem;bottom:.2rem;background-color:#fff;transition:var(--transition-normal);border-radius:50%}.form-switch input:checked+.slider{background-color:var(--primary-color)}.form-switch input:focus+.slider{box-shadow:0 0 1px var(--primary-color)}.form-switch input:checked+.slider:before{transform:translate(1.5rem)}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--success-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--success-color);box-shadow:0 0 0 .2rem rgba(var(--success-rgb),.25)}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--danger-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--danger-color);box-shadow:0 0 0 .2rem rgba(var(--danger-rgb),.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:var(--danger-color)}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:var(--success-color)}.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:valid~.valid-feedback,.form-control.is-invalid~.invalid-feedback,.form-control.is-valid~.valid-feedback{display:block}.custom-file{position:relative;display:inline-block;width:100%;height:var(--input-height);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:var(--input-height);margin:0;opacity:0}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:var(--input-height);padding:.375rem .75rem;font-weight:var(--font-weight-normal);line-height:var(--line-height-base);color:var(--text-color);background-color:var(--input-bg);border:var(--input-border-width) solid var(--input-border-color);border-radius:var(--radius-base)}.custom-file-label:after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(var(--input-height) - var(--input-border-width) * 2);padding:.375rem .75rem;line-height:var(--line-height-base);color:var(--text-color);content:"浏览";background-color:var(--gray-200);border-left:inherit;border-radius:0 var(--radius-base) var(--radius-base) 0}.form-floating{position:relative}.form-floating>.form-control{height:calc(3.5rem + var(--input-border-width) * 2);padding:1rem .75rem}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:var(--input-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;color:var(--input-placeholder-color)}.form-floating>.form-control:not(:-moz-placeholder){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder)~label{opacity:.65;transform:scale(.85) translateY(-.5rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem)}textarea.form-control{height:auto;min-height:var(--input-height)}.form-control-search{padding-left:2.25rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%238f959e' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:.75rem center;background-size:1rem}.input-number{position:relative;width:100%}.input-number input[type=number]{-moz-appearance:textfield}.input-number input[type=number]::-webkit-inner-spin-button,.input-number input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input-number-controls{position:absolute;top:1px;right:1px;bottom:1px;display:flex;flex-direction:column;width:1.5rem;border-left:1px solid var(--input-border-color);border-top-right-radius:var(--radius-base);border-bottom-right-radius:var(--radius-base);overflow:hidden}.input-number-up,.input-number-down{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-color);background-color:var(--gray-100);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.input-number-up{border-bottom:1px solid var(--input-border-color)}.input-number-up:hover,.input-number-down:hover{background-color:var(--gray-200)}.form-control[type=date]{padding-right:1.5rem}.table{width:100%;margin-bottom:1rem;color:var(--text-color);border-collapse:collapse}.table th,.table td{padding:.75rem;vertical-align:top;border-top:1px solid var(--border-color)}.table thead th{vertical-align:bottom;border-bottom:2px solid var(--border-color);font-weight:var(--font-weight-medium);color:var(--text-color-secondary);text-align:left}.table tbody+tbody{border-top:2px solid var(--border-color)}.table-sm th,.table-sm td{padding:.3rem}.table-bordered,.table-bordered th,.table-bordered td{border:1px solid var(--border-color)}.table-bordered thead th,.table-bordered thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:var(--gray-50)}.table-hover tbody tr:hover{background-color:var(--gray-100)}.table-primary,.table-primary>th,.table-primary>td{background-color:var(--primary-color-lighter)}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:var(--secondary-color-lighter)}.table-success,.table-success>th,.table-success>td{background-color:var(--success-color-lighter)}.table-danger,.table-danger>th,.table-danger>td{background-color:var(--danger-color-lighter)}.table-warning,.table-warning>th,.table-warning>td{background-color:var(--warning-color-lighter)}.table-info,.table-info>th,.table-info>td{background-color:var(--info-color-lighter)}.table-light,.table-light>th,.table-light>td{background-color:var(--gray-100)}.table-dark,.table-dark>th,.table-dark>td{background-color:var(--gray-800);color:#fff}.table-dark{color:#fff;background-color:var(--gray-800)}.table-dark th,.table-dark td,.table-dark thead th{border-color:var(--gray-700)}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:#ffffff0d}.table-dark.table-hover tbody tr:hover{background-color:#ffffff13}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm{max-width:576px}.table-responsive-md{max-width:768px}.table-responsive-lg{max-width:992px}.table-responsive-xl{max-width:1200px}.table-sortable th{cursor:pointer;position:relative}.table-sortable th.sort-asc:after,.table-sortable th.sort-desc:after{position:absolute;right:.5rem;display:inline-block;font-weight:400}.table-sortable th.sort-asc:after{content:"↑"}.table-sortable th.sort-desc:after{content:"↓"}.table-filter{margin-bottom:1rem}.table-search{position:relative;margin-bottom:1rem}.table-search input{padding-right:2.5rem}.table-search:after{content:"🔍";position:absolute;right:.75rem;top:50%;transform:translateY(-50%);opacity:.5}.table-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.table-pagination-info{color:var(--text-muted)}.table-pagination-controls{display:flex;gap:.25rem}.table-actions{display:flex;gap:.5rem;justify-content:flex-end}.table-actions button{padding:.25rem .5rem;background:none;border:none;color:var(--primary-color);cursor:pointer;opacity:.8;transition:opacity var(--transition-normal)}.table-actions button:hover{opacity:1}.table-actions button.delete{color:var(--danger-color)}.table-actions button.edit{color:var(--warning-color)}.table-actions button.view{color:var(--info-color)}.table-row-selectable tbody tr{cursor:pointer}.table-row-selectable tbody tr.selected{background-color:var(--primary-color-lighter)!important}.table-checkbox{width:2rem;text-align:center}.table-checkbox input[type=checkbox]{margin:0}.table-fixed-header{position:relative;max-height:400px;overflow-y:auto}.table-fixed-header thead{position:sticky;top:0;background-color:#f5fafff2;z-index:1}.table-expandable .expandable-row{cursor:pointer}.table-expandable .expandable-row td:first-child{position:relative;padding-left:2.25rem}.table-expandable .expandable-row td:first-child:before{content:"+";position:absolute;left:.75rem;font-weight:700;width:1rem;text-align:center}.table-expandable .expandable-row.expanded td:first-child:before{content:"-"}.table-expandable .expanded-content{background-color:var(--gray-50);padding:1rem}.table-cell-truncate{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-resizable th{position:relative}.table-resizable .resize-handle{position:absolute;top:0;right:0;width:5px;height:100%;cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;transition:background-color var(--transition-normal)}.table-resizable .resize-handle:hover,.table-resizable .resize-handle.active{background-color:var(--primary-color)}.table-empty{text-align:center;padding:2rem;color:var(--text-muted)}.table-empty-icon{font-size:2rem;margin-bottom:1rem;opacity:.5}.table-empty-message{font-weight:var(--font-weight-medium)}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--radius-base)}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#f5faffcc;border:1px solid var(--border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.list-group-item+.list-group-item{border-top-width:0}.list-group-item-action{width:100%;color:var(--text-color);text-align:inherit;text-decoration:none;cursor:pointer}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--text-color);text-decoration:none;background-color:var(--gray-100)}.list-group-item-action:active{color:var(--text-color);background-color:var(--gray-200)}.list-group-item.active{z-index:2;color:#fff;background-color:var(--primary-color);border-color:var(--primary-color)}.list-group-item.disabled,.list-group-item:disabled{color:var(--text-muted);pointer-events:none;background-color:#f0f8ff99}.list-group-item-primary{color:var(--primary-color-darker);background-color:var(--primary-color-lighter)}.list-group-item-secondary{color:var(--secondary-color-darker);background-color:var(--secondary-color-lighter)}.list-group-item-success{color:var(--success-color-darker);background-color:var(--success-color-lighter)}.list-group-item-danger{color:var(--danger-color-darker);background-color:var(--danger-color-lighter)}.list-group-item-warning{color:var(--warning-color-darker);background-color:var(--warning-color-lighter)}.list-group-item-info{color:var(--info-color-darker);background-color:var(--info-color-lighter)}.list-group-horizontal{flex-direction:row}.list-group-horizontal .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal .list-group-item:first-child{border-top-right-radius:0;border-bottom-left-radius:inherit}.list-group-horizontal .list-group-item:last-child{margin-right:0;border-top-right-radius:inherit;border-bottom-left-radius:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-item .badge{float:right}.list-group-item-icon{display:flex;align-items:center}.list-group-item-icon .icon{margin-right:.75rem;font-size:1.25rem;color:var(--text-muted)}.list-group-item-icon.active .icon{color:#fff}.list-group-collapsible .list-group-item{display:flex;justify-content:space-between;align-items:center}.list-group-collapsible .list-group-item:after{content:"▼";font-size:.75rem;transition:transform var(--transition-fast)}.list-group-collapsible .list-group-item.collapsed:after{transform:rotate(-90deg)}.list-group-item-heading{margin-top:0;margin-bottom:.5rem;font-weight:var(--font-weight-medium)}.list-group-item-text{margin-bottom:0;line-height:1.3;color:var(--text-muted)}.list-group-flush{border-radius:0}.list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-sm .list-group-item{padding:.5rem 1rem;font-size:var(--font-size-sm)}.list-group-lg .list-group-item{padding:1rem 1.5rem;font-size:var(--font-size-lg)}.list-divider{padding:0;margin:0;list-style:none}.list-divider li{padding:.75rem 0;border-bottom:1px solid var(--border-color)}.list-divider li:last-child{border-bottom:none}.list-simple{padding:0;margin:0;list-style:none}.list-simple li{padding:.5rem 0}.list-styled{padding-left:1.25rem}.list-styled li{padding:.25rem 0}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.list-icons{padding-left:0;list-style:none}.list-icons li{position:relative;padding-left:1.75rem;margin-bottom:.5rem}.list-icons li:before{position:absolute;left:0;content:"•";color:var(--primary-color);font-weight:700}.list-check li:before{content:"✓";color:var(--success-color)}.list-cross li:before{content:"✕";color:var(--danger-color)}.list-arrow li:before{content:"→";color:var(--primary-color)}@keyframes float{0%{transform:translateY(0)}to{transform:translateY(-20px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes wave{0%{transform:translate(0) translateY(0)}to{transform:translate(-20px) translateY(15px)}}@keyframes drift{0%{transform:translate(0)}50%{transform:translate(15px,8px)}to{transform:translate(0)}}.float{animation:float 20s ease-in-out infinite alternate}.pulse{animation:pulse 15s ease-in-out infinite}.rotate{animation:rotate 30s linear infinite}.wave{animation:wave 25s ease-in-out infinite alternate}.drift{animation:drift 22s ease-in-out infinite}.soft-grid{background-image:linear-gradient(rgba(180,210,240,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(180,210,240,.1) 1px,transparent 1px);background-size:40px 40px;background-position:center center}.soft-dots{background-image:radial-gradient(rgba(140,180,230,.15) 1px,transparent 1px);background-size:25px 25px;background-position:center center}.gentle-wave{position:absolute;width:100%;height:100%;opacity:.03;overflow:hidden}.wave-path{fill:#64a0dc4d}.blue-gradient-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at top right,rgba(120,170,250,.08) 0%,rgba(230,245,255,.02) 50%,transparent 70%)}.dynamic-background{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#bee1ff0d,#96c8ff12,#64aaf00d,#78b4fa12,#bee1ff0d);background-size:400% 400%;animation:gradient-shift 20s ease infinite}.glass-effect{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background-color:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:10px}.bottom-fade{position:absolute;bottom:0;left:0;width:100%;height:30%;background:linear-gradient(to bottom,transparent 0%,rgba(245,250,255,.5) 100%)}.geometric-bg-1{--shape-count: 5;--shape-opacity: .08}.geometric-bg-2{--shape-count: 10;--shape-opacity: .05}.geometric-bg-3{--shape-count: 15;--shape-opacity: .03}.bg-grid{background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size);background-position:center center}:root{--grid-color: rgba(0, 0, 0, .05);--grid-size: 20px}:root.dark-mode{--grid-color: rgba(255, 255, 255, .05)}.bg-dots{background-image:radial-gradient(var(--dots-color) 1px,transparent 1px);background-size:var(--dots-spacing) var(--dots-spacing);background-position:center center}:root{--dots-color: rgba(0, 0, 0, .1);--dots-spacing: 20px}:root.dark-mode{--dots-color: rgba(255, 255, 255, .1)}.bg-waves{position:relative}.wave-svg{position:absolute;bottom:0;left:0;width:100%;height:50%;z-index:-1}.wave-path{opacity:.03;fill:var(--primary-color)}.bg-hexagons{background-color:transparent;background-image:radial-gradient(var(--hex-color) 2px,transparent 2px),radial-gradient(var(--hex-color) 2px,transparent 2px);background-size:60px 60px;background-position:0 0,30px 30px}:root{--hex-color: rgba(0, 0, 0, .07)}:root.dark-mode{--hex-color: rgba(255, 255, 255, .07)}.pattern-bg{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.05;z-index:-1}.pattern-triangles{background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000000' fill-opacity='0.1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.pattern-squares{background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000000' fill-opacity='0.1'%3E%3Cpath d='M0 0h10v10H0zm20 0h10v10H20zm20 0h10v10H40zm20 0h10v10H60zm0 20h10v10H60zm0 20h10v10H60zm0 20h10v10H60zm-20-60h10v10H40zm-20 0h10v10H20zm-20 0h10v10H0zm0 20h10v10H0zm0 20h10v10H0zm0 20h10v10H0zm20-40h10v10H20zm20 0h10v10H40zm20 0h10v10H60zm-40 20h10v10H20zm20 0h10v10H40zm20 0h10v10H60zm-40 20h10v10H20zm20 0h10v10H40z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.pattern-circles{background-image:url("data:image/svg+xml,%3Csvg width='56' height='28' viewBox='0 0 56 28' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000000' fill-opacity='0.1'%3E%3Cpath d='M56 26v2h-7.75c2.3-1.27 4.94-2 7.75-2zm-26 2a2 2 0 1 0-4 0h-4.09A25.98 25.98 0 0 0 0 16v-2c.67 0 1.34.02 2 .07V14a2 2 0 0 0-2-2v-2a4 4 0 0 1 3.98 3.6 28.09 28.09 0 0 1 2.8-3.86A8 8 0 0 0 0 6V4a9.99 9.99 0 0 1 8.17 4.23c.94-.95 1.96-1.83 3.03-2.63A13.98 13.98 0 0 0 0 0h7.75c2 1.1 3.73 2.63 5.1 4.45 1.12-.72 2.3-1.37 3.53-1.93A20.1 20.1 0 0 0 14.28 0h2.7c.45.56.88 1.14 1.29 1.74 1.3-.48 2.63-.87 4-1.15-.11-.2-.23-.4-.36-.59H26v.07a28.4 28.4 0 0 1 4 0V0h4.09l-.37.59c1.38.28 2.72.67 4.01 1.15.4-.6.84-1.18 1.3-1.74h2.69a20.1 20.1 0 0 0-2.1 2.52c1.23.56 2.41 1.2 3.54 1.93A16.08 16.08 0 0 1 48.25 0H56c-4.58 0-8.65 2.2-11.2 5.6 1.07.8 2.09 1.68 3.03 2.63A9.99 9.99 0 0 1 56 4v2a8 8 0 0 0-6.77 3.74c1.03 1.2 1.97 2.5 2.79 3.86A4 4 0 0 1 56 10v2a2 2 0 0 0-2 2.07 28.4 28.4 0 0 1 2-.07v2c-9.2 0-17.3 4.78-21.91 12H30zM7.75 28H0v-2c2.81 0 5.46.73 7.75 2zM56 20v2c-5.6 0-10.65 2.3-14.28 6h-2.7c4.04-4.89 10.15-8 16.98-8zm-39.03 8h-2.69C10.65 24.3 5.6 22 0 22v-2c6.83 0 12.94 3.11 16.97 8zm15.01-.4a28.09 28.09 0 0 1 2.8-3.86 8 8 0 0 0-13.55 0c1.03 1.2 1.97 2.5 2.79 3.86a4 4 0 0 1 7.96 0zm14.29-11.86c1.3-.48 2.63-.87 4-1.15a25.99 25.99 0 0 0-44.55 0c1.38.28 2.72.67 4.01 1.15a21.98 21.98 0 0 1 36.54 0zm-5.43 2.71c1.13-.72 2.3-1.37 3.54-1.93a19.98 19.98 0 0 0-32.76 0c1.23.56 2.41 1.2 3.54 1.93a15.98 15.98 0 0 1 25.68 0zm-4.67 3.78c.94-.95 1.96-1.83 3.03-2.63a13.98 13.98 0 0 0-22.4 0c1.07.8 2.09 1.68 3.03 2.63a9.99 9.99 0 0 1 16.34 0z'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}:root.dark-mode .pattern-triangles,:root.dark-mode .pattern-squares,:root.dark-mode .pattern-circles{filter:invert(1)}.radial-bg{background:radial-gradient(circle at center,transparent 0,var(--bg-body) 70%)}.radial-corners{background:radial-gradient(circle at top left,var(--primary-color-lighter) 0,transparent 30%),radial-gradient(circle at bottom right,var(--success-color-lighter) 0,transparent 30%);opacity:.1}.gradient-overlay{position:absolute;bottom:0;left:0;width:100%;height:50%;background:linear-gradient(to bottom,transparent,var(--bg-body));z-index:-1}.animated-gradient{background:linear-gradient(135deg,var(--primary-color-lighter) 0%,var(--secondary-color-lighter) 25%,var(--success-color-lighter) 50%,var(--info-color-lighter) 75%,var(--primary-color-lighter) 100%);background-size:400% 400%;animation:gradient-shift 15s ease infinite;opacity:.05}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.glass-card{border-radius:10px;border-width:1px;border-color:#e6f6ffb3;background-color:#fffc;--tw-shadow: 0 4px 15px rgba(160, 190, 230, .1);--tw-shadow-colored: 0 4px 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-backdrop-blur: blur(12px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.btn-primary{border-radius:.375rem;background-color:#64b4f5e6;padding:.5rem 1rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-primary:hover{background-color:#50a0e1e6}.btn-secondary{border-radius:.375rem;border-width:1px;border-color:#c8e6ffcc;background-color:#f0f8ff99;padding:.5rem 1rem;color:#3c8cd2e6;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-secondary:hover{background-color:#e6f6ffb3}.nav-item{border-radius:.375rem;padding:.5rem .75rem;--tw-text-opacity: 1;color:rgb(100 124 148 / var(--tw-text-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.nav-item:hover{background-color:#f0f8ff99;color:#50a0e1e6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.isolate{isolation:isolate}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:.75rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-auto{margin-right:auto}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.grid{display:grid}.contents{display:contents}.hidden{display:none}.flex-shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-wrap{text-wrap:wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-4{padding-bottom:1rem}.pr-4{padding-right:1rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-center{text-align:center}.text-right{text-align:right}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.\!outline{outline-style:solid!important}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.disable-animations *,.disable-animations *:before,.disable-animations *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.disable-transitions *,.disable-transitions *:before,.disable-transitions *:after{transition:none!important}.optimize-scroll{will-change:auto!important;-webkit-overflow-scrolling:touch}.gpu-accelerated{transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.low-performance-mode{box-shadow:none!important;text-shadow:none!important}.low-performance-mode *:before,.low-performance-mode *:after{box-shadow:none!important}.low-performance-mode{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important}.low-performance-mode .v-btn:hover{transform:none!important;box-shadow:none!important}.low-performance-mode .v-data-table__tbody tr:hover{background:#00000008!important;transform:none!important}:root{--max-content-width: 1300px;--navbar-height: 60px;--mobile-nav-height: 56px;--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--primary-color: rgba(80, 160, 225, .9);--primary-light: rgba(100, 180, 245, .9);--primary-dark: rgba(60, 140, 205, 1);--background-color: rgba(245, 250, 255, .8);--background-light: rgba(240, 248, 255, .9);--text-color: #334155;--text-light: #647C94;--text-muted: #7f8c8d;--shadow-sm: 0 2px 8px rgba(160, 190, 230, .15);--shadow-md: 0 4px 12px rgba(160, 190, 230, .15);--shadow-lg: 0 8px 24px rgba(160, 190, 230, .25);--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-light: 1px solid rgba(180, 210, 240, .2);--font-xs: .75rem;--font-sm: .875rem;--font-md: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--navbar-height-mobile: 55px;--content-padding: 1.5rem;--content-padding-mobile: 1rem;--mobile-icon-size: 1.2rem;--mobile-font-xs: .75rem;--gray-100: #f8f9fa;--gray-200: #e9ecef;--gray-300: #dee2e6;--gray-400: #ced4da;--gray-500: #adb5bd;--gray-600: #6c757d;--gray-700: #495057;--gray-800: #343a40;--gray-900: #212529;--text-primary: var(--gray-900);--text-secondary: var(--gray-700);--text-dark: var(--gray-900);--bg-primary: rgba(245, 250, 255, .8);--bg-secondary: rgba(240, 248, 255, .6);--bg-body: rgba(245, 250, 255, .8);--border-color: var(--gray-300);--border-dark: var(--gray-400);--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-family-base: var(--font-family-sans-serif);--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--line-height-base: 1.5;--line-height-lg: 1.8;--line-height-sm: 1.2;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: 1rem;--spacing-4: 1.5rem;--spacing-5: 2rem;--spacing-6: 2.5rem;--spacing-7: 3rem;--spacing-8: 4rem;--radius-none: 0;--radius-sm: .125rem;--radius-base: .25rem;--radius-lg: .5rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease-in-out;--transition-normal: .3s ease-in-out;--transition-slow: .5s ease-in-out;--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070;--container-sm: 540px;--container-md: 720px;--container-lg: 960px;--container-xl: 1140px;--input-height: 2.5rem;--input-border-width: 1px;--input-border-radius: var(--radius-base);--input-padding-y: .375rem;--input-padding-x: .75rem;--input-font-size: var(--font-size-base);--input-line-height: 1.5;--input-bg: #fff;--input-border-color: var(--gray-400);--input-color: var(--gray-900);--input-placeholder-color: var(--gray-500);--input-focus-border-color: var(--primary-light);--input-focus-box-shadow: 0 0 0 .2rem rgba(var(--primary-rgb), .25);--input-disabled-bg: var(--gray-200)}:root.dark-mode{--primary-color: rgba(120, 200, 255, .9);--background-color: #1a1e2a;--background-light: #282d3c;--text-color: #e9ecef;--text-light: #adb5bd;--text-muted: #868e96;--border-light: 1px solid rgba(60, 70, 90, .3);--bg-primary: rgba(26, 30, 42, .85);--bg-secondary: rgba(36, 40, 52, .8);--bg-light: rgba(46, 50, 62, .7);--bg-dark: rgba(16, 20, 32, .9);--bg-body: rgba(26, 30, 42, .85)}@media (max-width: 768px){:root{--content-padding: var(--content-padding-mobile)}}.geometric-background{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:hidden;background-color:#f5faffcc}.low-performance-mode .geometric-background,.disable-animations .geometric-background{display:none!important}.svg-background{width:100%;height:100%;position:relative}.svg-container{width:100%;height:100%;position:absolute;top:0;left:0}.background-svg{width:100%;height:100%;opacity:.05}:root.dark-mode .background-svg{opacity:.04}.shape{opacity:.07;transform-origin:center}.shape-primary{fill:#64b4f5cc}.shape-secondary{fill:#7dbeebb3}.shape-accent{fill:#96c8ff99}.shape-light{fill:#dcf0ffe6}.shape-highlight{fill:#b4d7fabf}.shape-soft{fill:#c8e1fa99}@media (prefers-reduced-motion: no-preference){@keyframes float{0%{transform:translateY(0)}to{transform:translateY(-15px)}}@keyframes pulse{0%,to{opacity:.05}50%{opacity:.08}}.float{animation:float 25s ease-in-out infinite alternate}.pulse{animation:pulse 20s ease-in-out infinite}}.modern-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(120deg,#e6f0ff80,#f5faff80)}.soft-grid{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(180,210,240,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(180,210,240,.05) 1px,transparent 1px);background-size:40px 40px}@media (max-width: 768px){.geometric-background{display:none!important}}@media print{.geometric-background{display:none!important}}:root.dark-mode .geometric-background{background-color:#0f172acc}:root.dark-mode .modern-bg{background:linear-gradient(120deg,#0f172a80,#1e293b80)}:root.dark-mode .soft-grid{background-image:linear-gradient(rgba(100,120,140,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(100,120,140,.03) 1px,transparent 1px)}.scroll-optimized{will-change:scroll-position;transform:translateZ(0);-webkit-overflow-scrolling:touch;contain:layout style paint;scroll-behavior:auto;overflow-x:hidden}.scroll-content-optimized{will-change:scroll-position;transform:translateZ(0);-webkit-overflow-scrolling:touch;contain:layout style;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.v-data-table__wrapper{will-change:scroll-position;transform:translateZ(0);-webkit-overflow-scrolling:touch}.v-data-table__tbody{will-change:transform;transform:translateZ(0)}.v-data-table__tr{will-change:transform;contain:layout style paint}.v-data-table__td,.v-data-table__th{contain:layout style paint}.v-data-table[data-virtual=true] .v-data-table__wrapper,.v-data-table.virtual .v-data-table__wrapper{will-change:scroll-position;transform:translateZ(0);-webkit-overflow-scrolling:touch}.v-dialog .v-card-text[style*=overflow]{will-change:scroll-position;transform:translateZ(0);-webkit-overflow-scrolling:touch;contain:layout style paint}.v-dialog__content{will-change:scroll-position;transform:translateZ(0);-webkit-overflow-scrolling:touch}.scroll-optimized::-webkit-scrollbar,.scroll-content-optimized::-webkit-scrollbar{width:8px;height:8px}.scroll-optimized::-webkit-scrollbar-track,.scroll-content-optimized::-webkit-scrollbar-track{background:#0000000d;border-radius:4px;will-change:background}.scroll-optimized::-webkit-scrollbar-thumb,.scroll-content-optimized::-webkit-scrollbar-thumb{background:#0003;border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}.scroll-optimized::-webkit-scrollbar-thumb:hover,.scroll-content-optimized::-webkit-scrollbar-thumb:hover{background:#0000004d}.v-list{will-change:scroll-position;transform:translateZ(0);-webkit-overflow-scrolling:touch}.v-list-item{contain:layout style paint}.v-textarea :deep(.v-field__input){will-change:scroll-position;transform:translateZ(0);-webkit-overflow-scrolling:touch}.v-textarea[readonly] :deep(.v-field__input),.v-textarea[disabled] :deep(.v-field__input){will-change:scroll-position;transform:translateZ(0);-webkit-overflow-scrolling:touch;contain:layout style;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.v-card-text[style*=overflow]{will-change:scroll-position;transform:translateZ(0);-webkit-overflow-scrolling:touch;contain:layout style paint}.v-btn,.v-card{transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1)}.v-btn:hover,.v-card:hover{will-change:transform;transform:translateZ(0)}@media (max-width: 768px){.scroll-optimized,.scroll-content-optimized{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}.scroll-large-data{will-change:scroll-position;transform:translateZ(0);-webkit-overflow-scrolling:touch;contain:strict}.scroll-frequent-update{will-change:scroll-position,transform;transform:translateZ(0);-webkit-overflow-scrolling:touch;contain:layout style paint}.scroll-long-text{will-change:scroll-position;transform:translateZ(0);-webkit-overflow-scrolling:touch;contain:layout style;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.8;letter-spacing:.3px}.scroll-table-data{will-change:scroll-position,transform;transform:translateZ(0);-webkit-overflow-scrolling:touch;contain:layout style paint}.scroll-dialog-content{will-change:scroll-position;transform:translateZ(0);-webkit-overflow-scrolling:touch;contain:layout style paint;max-height:70vh;overflow-y:auto;overflow-x:hidden}:root{--art-primary-rgb: 99, 102, 241;--art-secondary-rgb: 139, 92, 246;--art-surface-rgb: 255, 255, 255;--art-text-primary: #1e293b;--art-text-secondary: #64748b;--font-serif: "Noto Serif SC", "Songti SC", "Source Han Serif SC", "SimSun", "Times New Roman", serif;--font-sans: "Inter", "MiSans", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--glass-bg: rgba(255, 255, 255, .85);--glass-border: rgba(255, 255, 255, .6);--glass-blur: 12px}:root[theme=dark],.v-theme--dark{--art-primary-rgb: 129, 140, 248;--art-secondary-rgb: 167, 139, 250;--art-surface-rgb: 15, 23, 42;--art-text-primary: #f1f5f9;--art-text-secondary: #94a3b8;--glass-bg: rgba(30, 41, 59, .75);--glass-border: rgba(255, 255, 255, .08)}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;letter-spacing:.01em}::-moz-selection{background:rgba(var(--art-primary-rgb),.2);color:inherit}::selection{background:rgba(var(--art-primary-rgb),.2);color:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:4px;border:2px solid transparent;background-clip:content-box;-webkit-transition:background .3s ease;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:#94a3b899}.v-theme--dark ::-webkit-scrollbar-thumb{background:#94a3b833}.v-theme--dark ::-webkit-scrollbar-thumb:hover{background:#94a3b866}.artistic-bg{background-color:#f8f9fa;background-image:radial-gradient(rgba(var(--art-primary-rgb),.15) 1px,transparent 1px),radial-gradient(at 0% 0%,rgba(var(--art-primary-rgb),.08) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(var(--art-secondary-rgb),.08) 0px,transparent 50%),linear-gradient(180deg,rgba(var(--art-surface-rgb),1),#f1f5f9);background-size:24px 24px,100% 100%,100% 100%,100% 100%;background-position:0 0,0 0,0 0,0 0;min-height:100vh;transition:background .3s ease}.v-theme--dark .artistic-bg{background-color:#0f172a;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px),radial-gradient(at 50% 0%,rgba(30,41,59,.6) 0px,transparent 70%);background-size:24px 24px,100% 100%}html .glass-card{border-radius:20px!important;border:1px solid var(--glass-border)!important;background:var(--glass-bg)!important;backdrop-filter:blur(var(--glass-blur));box-shadow:0 12px 40px -8px #0000000f,0 4px 12px -2px #00000008,inset 0 0 0 1px #ffffff80!important;transition:transform .3s ease,box-shadow .3s ease}.glass-card:hover{box-shadow:0 16px 48px -8px #00000014,0 6px 16px -2px #0000000a,inset 0 0 0 1px #fff9!important}html .btn-artistic{font-weight:600!important;letter-spacing:.5px;border-radius:10px!important;transition:all .2s cubic-bezier(.4,0,.2,1);text-transform:none!important}.btn-artistic-primary{background:linear-gradient(135deg,rgb(var(--art-primary-rgb)),rgba(var(--art-primary-rgb),.9))!important;color:#fff!important;box-shadow:0 4px 12px rgba(var(--art-primary-rgb),.3)!important}.btn-artistic-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(var(--art-primary-rgb),.4)!important}.font-serif{font-family:var(--font-serif)!important}.font-sans{font-family:var(--font-sans)!important}.text-art-primary{color:var(--art-text-primary)!important}.text-art-secondary{color:var(--art-text-secondary)!important}html .v-field{border-radius:12px!important;transition:all .3s cubic-bezier(.4,0,.2,1)}.v-theme--light .v-field{background:#f1f5f9!important;box-shadow:inset 0 1px 2px #94a3b80f}.v-field--variant-outlined .v-field__outline__start,.v-field--variant-outlined .v-field__outline__notch,.v-field--variant-outlined .v-field__outline__end{border-color:#cbd5e1!important;opacity:1!important}.v-field:hover .v-field__outline__start,.v-field:hover .v-field__outline__notch,.v-field:hover .v-field__outline__end{border-color:#94a3b8!important}.v-field--focused .v-field__outline__start,.v-field--focused .v-field__outline__notch,.v-field--focused .v-field__outline__end{border-color:rgb(var(--art-primary-rgb))!important;box-shadow:0 0 0 1px rgba(var(--art-primary-rgb),.2);border-width:2px!important}.v-theme--light .v-field--focused{background:#fff!important;box-shadow:0 4px 12px rgba(var(--art-primary-rgb),.08)}.v-theme--dark .v-field{background:#0f172a99!important;box-shadow:inset 0 2px 4px #0003}.v-theme--dark .v-field--variant-outlined .v-field__outline__start,.v-theme--dark .v-field__outline__notch,.v-theme--dark .v-field__outline__end{border-color:#ffffff26!important}.v-theme--dark .v-field--focused{background:#1e293bcc!important}.v-dialog .v-card{border-radius:20px!important;backdrop-filter:blur(16px)!important;background:#fffffff2!important;border:1px solid rgba(255,255,255,.5)!important;box-shadow:0 25px 50px -12px #00000040!important}.v-theme--dark .v-dialog .v-card{background:#1e293bf2!important;border-color:#ffffff1a!important}.pagination-wrapper-modern{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;margin-top:24px;border-radius:16px!important;background:#ffffffa6!important;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4)!important;box-shadow:0 4px 20px #00000008,inset 0 1px #fffc!important;transition:all .3s ease}.v-theme--dark .pagination-wrapper-modern{background:#1e293ba6!important;border-color:#ffffff1a!important;box-shadow:0 4px 20px #0003!important}.pagination-info{display:flex;align-items:center;gap:16px;font-size:14px;color:var(--art-text-secondary);font-family:var(--font-sans);font-weight:500;letter-spacing:.3px}.pagination-info .highlight{color:rgb(var(--art-primary-rgb));font-weight:800;font-family:var(--font-sans);font-size:16px;position:relative;padding:0 4px;text-shadow:0 2px 4px rgba(var(--art-primary-rgb),.1)}.pagination-info .info-divider{width:1px;height:16px;background-color:rgba(var(--art-text-secondary),.2)}.pagination-compact :deep(.v-pagination__list){margin-bottom:0;padding-left:0;gap:6px}.pagination-compact :deep(.v-pagination__item){margin:0!important;border-radius:10px!important;font-size:14px!important;height:36px!important;min-width:36px!important;transition:all .25s cubic-bezier(.2,0,0,1)!important;border:1px solid transparent;color:var(--art-text-secondary)!important;background:transparent}.pagination-compact :deep(.v-pagination__item:not(.v-pagination__item--is-active):hover){transform:translateY(-2px);background:#ffffffe6;box-shadow:0 4px 12px rgba(var(--art-primary-rgb),.15);color:rgb(var(--art-primary-rgb))!important;border-color:rgba(var(--art-primary-rgb),.15);font-weight:600}.pagination-compact :deep(.v-pagination__item--is-active){background:linear-gradient(135deg,rgb(var(--art-primary-rgb)),rgb(var(--art-secondary-rgb)))!important;color:#fff!important;font-weight:700!important;font-size:15px!important;box-shadow:0 6px 16px rgba(var(--art-primary-rgb),.35),inset 0 1px #fff3!important;border:none!important;transform:scale(1.05);z-index:1}.pagination-compact :deep(.v-btn--icon){width:36px!important;height:36px!important;border-radius:10px!important;background:transparent;color:var(--art-text-secondary);opacity:.7}.pagination-compact :deep(.v-btn--icon:hover){background:rgba(var(--art-primary-rgb),.08);color:rgb(var(--art-primary-rgb));opacity:1;transform:scale(1.1)}.pagination-compact :deep(.v-btn--disabled){opacity:.3}.artistic-table-wrapper{position:relative;background:transparent!important;padding:0 4px}.artistic-table-wrapper:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(to right,rgba(var(--art-primary-rgb),.1),transparent);border-left:1px solid rgba(var(--art-primary-rgb),.1);pointer-events:none;z-index:0}.artistic-table-wrapper:after{content:"";position:absolute;top:0;right:0;width:4px;height:100%;background:linear-gradient(to left,rgba(var(--art-primary-rgb),.05),transparent);border-right:1px dashed rgba(var(--art-primary-rgb),.1);pointer-events:none;z-index:0}.artistic-table :deep(.v-data-table__tr){height:72px!important;border-bottom:1px dashed rgba(var(--art-text-secondary),.15)!important;transition:all .3s cubic-bezier(.34,1.56,.64,1);margin:4px 8px}.artistic-table :deep(.v-data-table__tr:hover){background:linear-gradient(90deg,#ffffffd9,#fffffffa,#ffffffd9)!important;box-shadow:0 8px 24px rgba(var(--art-primary-rgb),.08)!important;transform:scale(1.01) translateZ(0);z-index:2;position:relative;border-bottom-color:transparent!important;border-radius:12px}.v-theme--dark .artistic-table :deep(.v-data-table__tr:hover){background:linear-gradient(90deg,#1e293bd9,#1e293bfa,#1e293bd9)!important}:root{--nz-color-primary: #4f46e5;--nz-color-primary-hover: #6366f1;--nz-color-ink: #0f172a;--nz-color-text: #1e293b;--nz-color-text-2: #64748b;--nz-color-border: #e2e8f0;--nz-color-bg: #f8fafc;--nz-color-surface: #ffffff;--nz-color-danger: #dc2626;--nz-color-warning: #d97706;--nz-color-success: #059669;--nz-radius-sm: 6px;--nz-radius-md: 10px;--nz-radius-lg: 14px;--nz-shadow-panel: 0 8px 24px rgba(15, 23, 42, .12);--nz-shadow-dialog: 0 16px 48px rgba(15, 23, 42, .18);--nz-z-mask: 1000;--nz-z-panel: 1010;--nz-z-dialog: 1020;--nz-z-drawer: 1030;--nz-z-toast: 1100;--nz-z-max: 1200;--nz-space-1: 4px;--nz-space-2: 8px;--nz-space-3: 12px;--nz-space-4: 16px;--nz-space-6: 24px;--nz-space-8: 32px}.ai-novel-scroll,.novel-workbench-nav{scrollbar-width:thin;scrollbar-color:var(--nz-color-border, #e2e8f0) transparent}.ai-novel-scroll::-webkit-scrollbar,.novel-workbench-nav::-webkit-scrollbar{width:6px;height:6px}.ai-novel-scroll::-webkit-scrollbar-track,.novel-workbench-nav::-webkit-scrollbar-track{background:transparent}.ai-novel-scroll::-webkit-scrollbar-thumb,.novel-workbench-nav::-webkit-scrollbar-thumb{background:var(--nz-color-border, #e2e8f0);border-radius:var(--nz-radius-sm, 6px)}.ai-novel-scroll::-webkit-scrollbar-thumb:hover,.novel-workbench-nav::-webkit-scrollbar-thumb:hover{background:var(--nz-color-text-2, #64748b)}.el-loading-mask{--app-el-loading-accent-rgb: var(--art-primary-rgb, var(--el-color-primary-rgb, 99, 102, 241));--app-el-loading-accent: rgb(var(--app-el-loading-accent-rgb));--app-el-loading-mask: rgba(226, 232, 240, .54);--app-el-loading-panel: rgba(255, 255, 255, .94);--app-el-loading-border: rgba(var(--app-el-loading-accent-rgb), .2);--app-el-loading-ink: var(--art-text-primary, #334155);--app-el-loading-shadow: 0 10px 28px rgba(15, 23, 42, .12), 0 1px 2px rgba(15, 23, 42, .08), inset 0 1px 0 rgba(255, 255, 255, .9);background-color:var(--app-el-loading-mask)}.el-loading-mask .el-loading-spinner{box-sizing:border-box;left:50%;width:-moz-max-content;width:max-content;min-width:112px;max-width:calc(100% - 24px);min-height:72px;margin-top:0;padding:13px 16px;border:1px solid var(--app-el-loading-border);border-radius:10px;background-color:var(--app-el-loading-panel);box-shadow:var(--app-el-loading-shadow);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.el-loading-mask .el-loading-spinner .circular{box-sizing:border-box;display:block;flex:0 0 auto;width:28px;height:28px}.el-loading-mask .el-loading-spinner .path{stroke:var(--app-el-loading-accent);stroke-width:2.25px;stroke-linecap:round}.el-loading-mask .el-loading-spinner .el-loading-text{box-sizing:border-box;max-width:min(22rem,calc(100vw - 56px));margin:0;color:var(--app-el-loading-ink);font-size:12px;font-weight:550;line-height:1.45;letter-spacing:.01em;overflow-wrap:anywhere}.el-loading-mask.is-fullscreen{--app-el-loading-mask: rgba(15, 23, 42, .34)}.el-loading-mask.is-fullscreen .el-loading-spinner{min-width:132px;min-height:82px;margin-top:0;padding:15px 18px;border-radius:12px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{width:34px;height:34px}.el-loading-mask.is-fullscreen .el-loading-spinner .el-loading-text{max-width:min(28rem,calc(100vw - 64px));font-size:13px}:root.dark-theme .el-loading-mask,:root.dark-mode .el-loading-mask,:root[data-theme=dark] .el-loading-mask,:root[theme=dark] .el-loading-mask,.v-theme--dark .el-loading-mask{--app-el-loading-accent-rgb: 129, 140, 248;--app-el-loading-mask: rgba(2, 6, 23, .44);--app-el-loading-panel: rgba(15, 23, 42, .9);--app-el-loading-border: rgba(165, 180, 252, .28);--app-el-loading-ink: #eef2ff;--app-el-loading-shadow: 0 12px 30px rgba(2, 6, 23, .32), 0 1px 2px rgba(2, 6, 23, .26), inset 0 1px 0 rgba(255, 255, 255, .06)}.v-theme--dark .el-loading-mask.is-fullscreen,:root.dark-theme .el-loading-mask.is-fullscreen,:root.dark-mode .el-loading-mask.is-fullscreen,:root[data-theme=dark] .el-loading-mask.is-fullscreen,:root[theme=dark] .el-loading-mask.is-fullscreen{--app-el-loading-mask: rgba(2, 6, 23, .58)}@media (prefers-reduced-motion: reduce){.el-loading-mask{transition-duration:.01ms}.el-loading-mask .el-loading-spinner .circular,.el-loading-mask .el-loading-spinner .path{animation:none}}:root.disable-animations .el-loading-mask .el-loading-spinner .circular,:root.disable-animations .el-loading-mask .el-loading-spinner .path,:root.low-performance-mode .el-loading-mask .el-loading-spinner .circular,:root.low-performance-mode .el-loading-mask .el-loading-spinner .path,:root.reduced-motion .el-loading-mask .el-loading-spinner .circular,:root.reduced-motion .el-loading-mask .el-loading-spinner .path{animation:none}:root.disable-transitions .el-loading-mask,:root.reduced-motion .el-loading-mask{transition-duration:.01ms}:root.low-performance-mode .el-loading-mask .el-loading-spinner{box-shadow:none}@media (max-width: 360px){.el-loading-mask .el-loading-spinner{min-width:96px;max-width:calc(100% - 16px);padding:11px 12px}.el-loading-mask .el-loading-spinner .el-loading-text{max-width:calc(100vw - 40px)}}
