.particle-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000}.sparkle{position:absolute;width:4px;height:4px;border-radius:50%;background-color:#fff;box-shadow:0 0 4px #fff,0 0 8px #fff,0 0 12px #fff,0 0 16px #ffeb3b,0 0 20px #ffeb3b;animation:sparkle 1s linear infinite}@keyframes sparkle{0%{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1) rotate(180deg);opacity:1}to{transform:scale(0) rotate(360deg);opacity:0}}.star{position:absolute;width:2px;height:2px;background:linear-gradient(45deg,#FFD700,#FFA500);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);animation:starFloat 3s ease-in-out infinite}@keyframes starFloat{0%,to{transform:translateY(0) scale(1) rotate(0)}50%{transform:translateY(-20px) scale(1.2) rotate(180deg)}}.ribbon{position:absolute;width:2px;height:40px;background:linear-gradient(to bottom,#0B5ED7,#06B6D4);transform-origin:50% 0;animation:ribbonFall 2s ease-in infinite}@keyframes ribbonFall{0%{transform:translateY(-40px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.glow{position:absolute;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.8) 0%,rgba(255,255,255,0) 70%);animation:glowPulse 2s ease-in-out infinite}@keyframes glowPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.2);opacity:.8}}.achievement-modal .ant-modal-content{border-radius:16px;overflow:hidden}.achievement-unlocked{text-align:center;padding:32px 0;background:linear-gradient(135deg,#0B5ED7 0%,#06B6D4 100%);margin:-24px -24px 24px;color:#fff;position:relative;overflow:hidden}.achievement-icon{width:80px;height:80px;margin:0 auto 16px;position:relative;animation:iconPop .6s cubic-bezier(.175,.885,.32,1.275)}.achievement-icon img{width:100%;height:100%;object-fit:contain;position:relative;z-index:1}.achievement-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;background:radial-gradient(circle,rgba(255,215,0,.4) 0%,rgba(255,215,0,0) 70%);animation:glowPulse 2s ease-in-out infinite}.achievement-item{padding:16px;border-radius:8px;margin-bottom:16px;background:#f8f9fa;transition:all .3s ease}.achievement-item:hover{transform:translate(4px);box-shadow:0 2px 8px #0000001a}.achievement-item.unlocked{background:linear-gradient(to right,rgba(46,49,146,.05),rgba(27,255,255,.05));border-left:4px solid #0B5ED7}.achievement-icon.small{width:40px;height:40px;margin:0;position:relative}.status-icon{position:absolute;bottom:-4px;right:-4px;background:white;border-radius:50%;padding:2px;font-size:12px}.achievement-info{flex:1}.achievement-info h4{margin:0;font-weight:700}.achievement-info p{color:#666;font-size:14px;margin:4px 0 8px}.achievement-info .ant-progress{margin-bottom:8px}@keyframes iconPop{0%{transform:scale(0) rotate(-180deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes glowPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.4}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.6}}.dashboard-card{transition:all .3s ease}.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.stat-number{font-size:28px;font-weight:700;background:linear-gradient(135deg,#0B5ED7,#06B6D4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;transition:transform .3s ease}.stat-number:hover{transform:scale(1.1)}.level-progress .ant-progress-inner{background:rgba(46,49,146,.1)}.level-progress .ant-progress-bg{background:linear-gradient(90deg,#0B5ED7,#06B6D4)}.notification-item{transition:all .3s ease}.stat-card{position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0B5ED7,#06B6D4);transform:scaleX(0);transition:transform .3s ease}.stat-card:hover:before{transform:scaleX(1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .5s ease forwards}.skeleton-card{background:#fff;padding:24px;border-radius:8px}.three-line-table{width:100%;border-collapse:collapse;table-layout:fixed;border-top:2px solid #000;border-bottom:2px solid #000}.three-line-table th,.three-line-table td{padding:8px 12px;text-align:center;line-height:1}.three-line-table thead tr{border-bottom:1.5px solid #000}.three-line-table thead,.three-line-table tbody{display:table-row-group}.three-line-table tbody tr{border-bottom:none}@media (prefers-color-scheme: dark){.three-line-table{border-top-color:#e8e8e8;border-bottom-color:#e8e8e8}.three-line-table thead tr{border-bottom-color:#e8e8e8}}.word-like-editor{border:1px solid #d9d9d9;border-radius:6px;background:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%}.word-like-editor.focused{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33}.editor-toolbar{border-bottom:1px solid #f0f0f0;padding:8px 12px;background:#fafafa;display:flex;flex-wrap:wrap;gap:4px;align-items:center;flex-shrink:0}.editor-content{min-height:200px;padding:16px;outline:none;line-height:1.6;font-size:14px;color:#333;overflow-y:auto;overscroll-behavior:contain}.editor-content{scrollbar-width:thin;scrollbar-color:#bfbfbf #f0f0f0}.editor-content::-webkit-scrollbar{width:8px}.editor-content::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.editor-content::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.editor-content::-webkit-scrollbar-thumb:hover{background:#999}.editor-content .editor-page{width:210mm;min-height:297mm;margin:12px auto;padding:25mm 20mm;background:#fff;box-shadow:0 0 6px #00000014;border:1px solid #eaeaea}.editor-content .page-break{position:relative;height:0;margin:24px 0;border-top:2px dashed #bfbfbf}.editor-content:empty:before{content:attr(data-placeholder);color:#999;font-style:italic;pointer-events:none}.editor-content table:not(.three-line-table){border-collapse:collapse;margin:16px 0;width:100%;border:1px solid #d9d9d9}.editor-content table:not(.three-line-table) td,.editor-content table:not(.three-line-table) th{border:1px solid #d9d9d9;padding:8px 12px;min-width:60px;position:relative}.editor-content table th{background:#fafafa;font-weight:600}.editor-content table.three-line-table,.three-line-table{border-left:none!important;border-right:none!important;width:100%;border-collapse:collapse;margin:16px 0}.three-line-table thead tr{border-bottom:.5pt solid #000}.three-line-table{border-top:1.5pt solid #000!important;border-bottom:1.5pt solid #000!important}.three-line-table th,.three-line-table td{border:none!important;padding:10px 8px;text-align:center}.three-line-table th{font-weight:700}.editor-content table .table-cell-selected{background:#e6f7ff!important;outline:2px solid rgba(24,144,255,.5);position:relative}.word-like-editor .editor-content .table-title{font-family:SimHei,黑体,Arial,sans-serif;font-size:10.5pt;font-weight:700;text-align:center;text-indent:0;margin:6pt 0}.editor-content table .table-resize-handle{position:absolute;right:-3px;top:0;bottom:0;width:6px;cursor:col-resize;background:transparent}.editor-content table .table-resize-handle:hover{background:#1890ff}.editor-content .chart-container{margin:16px 0;text-align:center;position:relative;border:1px solid #d9d9d9;border-radius:4px;padding:16px;background:#fff}.editor-content .chart-container .chart-actions{position:absolute;top:8px;right:8px;opacity:0;transition:opacity .2s}.editor-content .chart-container:hover .chart-actions{opacity:1}.editor-content .image-container{margin:16px 0;text-align:center;position:relative;display:inline-block}.editor-content .image-container img{max-width:100%;height:auto;border:1px solid #d9d9d9;border-radius:4px}.editor-content .image-container .image-resize-handle{position:absolute;bottom:-4px;right:-4px;width:8px;height:8px;background:#1890ff;cursor:se-resize;border-radius:50%;border:1px solid #fff}.editor-content .image-container .image-actions{position:absolute;top:8px;right:8px;opacity:0;transition:opacity .2s}.editor-content .image-container:hover .image-actions{opacity:1}.editor-content .collaboration-cursor{position:absolute;width:2px;height:20px;background:#1890ff;pointer-events:none;z-index:1000}.editor-content .collaboration-cursor:after{content:attr(data-user);position:absolute;top:-20px;left:-2px;background:#1890ff;color:#fff;padding:2px 6px;border-radius:3px;font-size:12px;white-space:nowrap}.editor-content .collaboration-selection{background:rgba(24,144,255,.2);position:absolute;pointer-events:none}.toolbar-group{display:flex;align-items:center;gap:4px;padding:0 8px;border-right:1px solid #e8e8e8}.toolbar-group:last-child{border-right:none}.toolbar-button{padding:4px 8px;border:1px solid #d9d9d9;background:#fff;border-radius:4px;cursor:pointer;transition:all .2s;font-size:14px;display:flex;align-items:center;gap:4px}.toolbar-button:hover{border-color:#40a9ff;color:#40a9ff}.toolbar-button.active{background:#1890ff;color:#fff;border-color:#1890ff}.toolbar-button:disabled{cursor:not-allowed;opacity:.5}.toolbar-select{padding:4px 8px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;font-size:14px;min-width:80px}.toolbar-color-input{width:32px;height:32px;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;padding:2px}.collaboration-users{position:absolute;top:8px;right:12px;display:flex;gap:8px;align-items:center}.collaboration-user{display:flex;align-items:center;gap:4px;padding:4px 8px;background:#f0f0f0;border-radius:16px;font-size:12px}.collaboration-user-avatar{width:16px;height:16px;border-radius:50%;background:#1890ff;color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px}.context-menu{position:absolute;background:white;border:1px solid #d9d9d9;border-radius:6px;box-shadow:0 2px 8px #00000026;z-index:1000;min-width:120px}.context-menu-item{padding:8px 12px;cursor:pointer;transition:background .2s;font-size:14px;display:flex;align-items:center;gap:8px}.context-menu-item:hover{background:#f5f5f5}.context-menu-item:first-child{border-radius:6px 6px 0 0}.context-menu-item:last-child{border-radius:0 0 6px 6px}.context-menu-divider{height:1px;background:#f0f0f0;margin:4px 0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:white;border-radius:8px;padding:24px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-title{font-size:18px;font-weight:600;color:#333}.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:#999;padding:4px}.modal-close:hover{color:#333}.modal-body{margin-bottom:16px}.modal-footer{display:flex;justify-content:flex-end;gap:12px}.btn{padding:8px 16px;border:1px solid #d9d9d9;border-radius:6px;background:white;cursor:pointer;font-size:14px;transition:all .2s}.btn-primary{background:#1890ff;color:#fff;border-color:#1890ff}.btn-primary:hover{background:#40a9ff;border-color:#40a9ff}.btn-secondary:hover{border-color:#40a9ff;color:#40a9ff}.form-group{margin-bottom:16px}.form-label{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-input,.form-select,.form-textarea{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33}.form-textarea{resize:vertical;min-height:80px}.drag-over{border:2px dashed #1890ff!important;background:rgba(24,144,255,.05)!important}.resize-handle{position:absolute;width:8px;height:8px;background:#1890ff;border:1px solid white;border-radius:50%;cursor:se-resize}.resize-handle.nw{top:-4px;left:-4px;cursor:nw-resize}.resize-handle.ne{top:-4px;right:-4px;cursor:ne-resize}.resize-handle.sw{bottom:-4px;left:-4px;cursor:sw-resize}.resize-handle.se{bottom:-4px;right:-4px;cursor:se-resize}.loading{display:flex;align-items:center;justify-content:center;padding:40px;color:#999}.error{color:#ff4d4f;background:#fff2f0;border:1px solid #ffccc7;padding:12px;border-radius:6px;margin:16px 0}.success{color:#52c41a;background:#f6ffed;border:1px solid #b7eb8f;padding:12px;border-radius:6px;margin:16px 0}@media (max-width: 768px){.editor-toolbar{padding:6px 8px;gap:2px}.toolbar-group{padding:0 4px;gap:2px}.toolbar-button{padding:3px 6px;font-size:12px}.editor-content{padding:12px;font-size:13px}.modal-content{margin:16px;width:calc(100% - 32px);padding:16px}}.a4-reports-editor{height:100%!important;overflow:hidden;display:flex;flex-direction:column}.a4-reports-editor .editor-content{padding:0!important;background:#f5f5f5;overflow-y:auto!important;height:auto;flex:1}.a4-reports-editor .editor-page{width:210mm;min-height:297mm;margin:20px auto;padding:25mm 20mm;background:#fff;box-shadow:0 0 12px #0000001a;border:1px solid #e0e0e0;position:relative;page-break-after:always}.a4-reports-editor .editor-content>div{min-height:100%}.a4-reports-editor .editor-content .editor-page:last-child{margin-bottom:100px}.a4-reports-editor .page-content{min-height:247mm;font-family:SimSun,宋体,Times New Roman,serif;font-size:12pt;line-height:1.5;color:#000}.a4-reports-editor .page-content:empty:before{content:"在此开始输入内容...";color:#999;font-style:italic;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}@media print{.editor-toolbar,.collaboration-users,.context-menu,.modal-overlay,.chart-actions,.image-actions{display:none!important}.word-like-editor{border:none!important;box-shadow:none!important}.editor-content{padding:0!important}.page-break{break-after:page}.editor-page{break-after:page;box-shadow:none;border:none;padding:25mm 20mm}}.page-indicator{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.95);border:1px solid #e8e8e8;border-radius:16px;padding:6px 10px;z-index:10;box-shadow:0 2px 8px #0000001a}.page-scrollbar{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:36px;height:320px;background:rgba(255,255,255,.95);border:1px solid #d9d9d9;border-radius:18px;padding:16px 4px;z-index:20;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 8px 24px #0000001a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .3s ease}.page-scrollbar:hover{transform:translateY(-50%) scale(1.02);box-shadow:0 12px 32px #00000026}.page-scrollbar-left{right:auto;left:20px}.page-scrollbar-left .page-scrollbar-preview{right:auto;left:48px}.page-scrollbar-track{width:6px;height:200px;background:#f0f0f0;border-radius:3px;position:relative;cursor:pointer;transition:background .2s}.page-scrollbar-track:hover{background:#e6e6e6}.page-scrollbar-thumb{width:16px;background:linear-gradient(135deg,#1890ff,#40a9ff);border-radius:8px;position:absolute;left:-5px;cursor:grab;transition:all .2s ease;box-shadow:0 2px 8px #1890ff4d;border:2px solid white}.page-scrollbar-thumb:hover{background:linear-gradient(135deg,#40a9ff,#69c0ff);transform:scale(1.05);box-shadow:0 4px 12px #1890ff66}.page-scrollbar-thumb:active{cursor:grabbing;background:linear-gradient(135deg,#096dd9,#1890ff);transform:scale(.95)}.page-scrollbar-info{font-size:11px;color:#333;text-align:center;font-weight:600;background:rgba(255,255,255,.8);padding:4px 6px;border-radius:8px;border:1px solid #e8e8e8;min-width:36px}.page-scrollbar-preview{position:absolute;right:48px;top:50%;transform:translateY(-50%);width:120px;height:160px;background:white;border:1px solid #d9d9d9;border-radius:8px;padding:8px;box-shadow:0 8px 24px #00000026;opacity:0;visibility:hidden;transition:all .3s ease;z-index:25}.page-scrollbar:hover .page-scrollbar-preview{opacity:1;visibility:visible}.page-scrollbar-preview-content{width:100%;height:100%;background:#f9f9f9;border-radius:4px;border:1px solid #e8e8e8;display:flex;align-items:center;justify-content:center;font-size:12px;color:#666;text-align:center;padding:8px}.page-scrollbar-actions{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.page-scrollbar-btn{width:24px;height:24px;border:1px solid #d9d9d9;background:white;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;color:#666;transition:all .2s}.page-scrollbar-btn:hover{background:#f0f0f0;color:#1890ff;border-color:#1890ff}.page-scrollbar-btn:active{background:#e6e6e6;transform:scale(.9)}.page-indicator{position:absolute;bottom:16px;right:16px;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.98);border:1px solid #e8e8e8;border-radius:20px;padding:8px 16px;z-index:10;box-shadow:0 4px 16px #0000001a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .3s ease}.page-indicator:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-2px)}.page-indicator .pi-btn{border:1px solid #d9d9d9;background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:16px;font-size:12px;padding:6px 12px;cursor:pointer;transition:all .2s ease;font-weight:500;color:#333;box-shadow:0 2px 4px #0000000d}.page-indicator .pi-btn:hover:not(:disabled){background:linear-gradient(135deg,#f0f0f0,#e6e6e6);border-color:#1890ff;color:#1890ff;transform:translateY(-1px);box-shadow:0 4px 8px #1890ff26}.page-indicator .pi-btn:disabled{opacity:.4;cursor:not-allowed;background:#f5f5f5;color:#999;transform:none;box-shadow:none}.page-indicator .pi-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.page-indicator .pi-text{font-size:13px;color:#333;font-weight:600;min-width:60px;text-align:center;background:rgba(24,144,255,.1);padding:4px 8px;border-radius:12px;border:1px solid rgba(24,144,255,.2)}.page-indicator .pi-input{width:56px;padding:4px 8px;border:1px solid #d9d9d9;border-radius:12px;font-size:12px;text-align:center;font-weight:500;transition:all .2s ease;background:#fff}.page-indicator .pi-input:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33;background:#f6fffe}.page-indicator .pi-input:hover{border-color:#40a9ff}@keyframes pageJump{0%{opacity:.8;transform:translateY(10px)}50%{opacity:1;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.page-indicator.page-jumping{animation:pageJump .3s ease}.project-item{cursor:pointer;transition:all .3s;border-radius:4px;padding:8px 12px;margin:2px 0}.project-item:hover{background-color:#f5f5f5}.project-item.selected{background-color:#e6f7ff;border:1px solid #1890ff}.template-item{cursor:pointer;transition:all .3s;border-radius:4px;padding:8px 12px;margin:2px 0}.template-item:hover{background-color:#f5f5f5}.chart-item{cursor:move;transition:all .3s;border-radius:4px;padding:8px 12px;margin:2px 0;border:1px solid #d9d9d9;background-color:#fafafa}.chart-item:hover{background-color:#f0f0f0;border-color:#1890ff}.chart-item:active{cursor:grabbing;transform:scale(.98)}.navigation-section-item{transition:all .3s ease;border:1px solid transparent}.navigation-section-item:hover{background-color:#f0f9ff;border-color:#1890ff}.navigation-table-item{transition:all .3s ease;border:1px solid transparent}.navigation-table-item:hover{background-color:#f6ffed;border-color:#52c41a}.report-content{min-height:400px}.report-section{margin-bottom:24px;border-radius:8px;background-color:#fff;box-shadow:0 2px 8px #0000001a;transition:all .3s}.report-section:hover{box-shadow:0 4px 12px #00000026}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.section-charts{margin-top:16px;padding:12px;background-color:#fafafa;border-radius:4px}.drop-hint{margin-top:16px;padding:12px;text-align:center;background-color:#e6f7ff;border:1px dashed #1890ff;border-radius:4px;color:#1890ff}.rich-text-editor{background-color:#fff;border-radius:6px;overflow:hidden}.editor-toolbar{border-bottom:1px solid #d9d9d9;background-color:#fafafa}.editor-content{min-height:300px;padding:16px;font-size:14px;line-height:1.6;outline:none;background-color:#fff}.editor-content:empty:before{content:attr(placeholder);color:#999;font-style:italic}.editor-content:focus{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.drag-drop-table{background-color:#fff;border-radius:6px}.table-container{border:1px solid #f0f0f0;border-radius:6px;overflow:hidden}.table-container .ant-table{margin:0}.table-container .ant-table-cell{padding:8px 12px!important}.table-container .ant-table-thead>tr>th{background-color:#fafafa;font-weight:600;border-bottom:1px solid #f0f0f0}.right-navigation-panel{background-color:#fff;box-shadow:0 2px 8px #00000026;border-radius:8px 0 0 8px}.right-navigation-panel .nav-item{transition:all .2s}.right-navigation-panel .nav-item:hover{background-color:#f5f5f5;transform:translate(2px)}.right-navigation-panel .chapter-item{border-left:3px solid #1890ff}.right-navigation-panel .table-item{border-left:3px solid #52c41a}.right-navigation-panel .ant-collapse-header{padding:12px 16px!important;font-weight:500}.right-navigation-panel .ant-collapse-content{padding:0}@media (max-width: 1400px){.right-navigation-panel{width:260px!important}}@media (max-width: 1200px){.right-navigation-panel{width:240px!important}}@media (max-width: 768px){.right-navigation-panel{display:none}}.dragging{opacity:.5;transform:rotate(5deg)}.drag-over{background-color:#f0f8ff!important;border-color:#1890ff!important;box-shadow:0 0 0 2px #1890ff inset!important}.chart-item.dragging{opacity:.5;transform:scale(.95);box-shadow:0 4px 12px #0003}.drag-preview{background:#1890ff;color:#fff;padding:8px 12px;border-radius:4px;font-size:14px;box-shadow:0 2px 8px #0000004d;border:1px solid #096dd9;pointer-events:none;z-index:9999}.ant-tag[draggable=true]{cursor:move;-webkit-user-select:none;user-select:none;transition:all .2s}.ant-tag[draggable=true]:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.ant-tag[draggable=true]:active{cursor:grabbing;transform:scale(.95)}.drop-zone-active{border:2px dashed #1890ff!important;background-color:#f0f8ff!important;position:relative}.drop-zone-active:after{content:"释放鼠标添加图表";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#1890ff;color:#fff;padding:8px 16px;border-radius:4px;font-size:14px;pointer-events:none;z-index:1000}.report-section{position:relative}.report-section.drag-over:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(24,144,255,.1);border:2px dashed #1890ff;border-radius:8px;pointer-events:none;z-index:1}.report-section.drag-over:after{content:"释放鼠标添加图表到此处";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#1890ff;color:#fff;padding:8px 16px;border-radius:4px;font-size:14px;pointer-events:none;z-index:2}@media (max-width: 1200px){.ant-row{flex-direction:column}.ant-col{width:100%!important;margin-bottom:16px}}.ant-card-body{scrollbar-width:thin;scrollbar-color:#bfbfbf #f0f0f0}.ant-card-body::-webkit-scrollbar{width:6px}.ant-card-body::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px}.ant-card-body::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:3px}.ant-card-body::-webkit-scrollbar-thumb:hover{background:#999}.ant-tag{margin:2px!important}.ant-card-extra .ant-space{flex-wrap:wrap;gap:8px}.ant-card-extra .ant-btn{margin-bottom:4px}.ant-empty{margin:32px 0}.ant-collapse{background:transparent;border:none}.ant-collapse-item{border-bottom:1px solid #f0f0f0}.ant-collapse-header{padding:12px 0!important}.ant-collapse-content{border-top:none;padding:0}.ant-list-item{border-bottom:1px solid #f0f0f0}.ant-list-item:last-child{border-bottom:none}.ant-typography h5{color:#262626;font-weight:600}.ant-tooltip-inner{max-width:300px}.ant-modal-body{max-height:70vh;overflow-y:auto}.ant-form-item-label>label{font-weight:600}.ant-spin-container{position:relative}@media (max-width: 768px){.ant-typography{font-size:14px}.ant-card-head-title{font-size:16px}}@media (prefers-color-scheme: dark){.report-section{background-color:#1f1f1f;color:#fff}.section-charts{background-color:#141414}.drop-hint{background-color:#001529;color:#1890ff}.project-item:hover,.template-item:hover{background-color:#262626}.project-item.selected{background-color:#003a8c}}.word-like-editor{border:1px solid #d9d9d9;border-radius:6px;background-color:#fff;box-shadow:0 2px 8px #0000001a}.word-like-editor .editor-toolbar{border-bottom:1px solid #f0f0f0;background-color:#fafafa;padding:8px 12px;border-radius:6px 6px 0 0}.word-like-editor .editor-content{min-height:300px;padding:20px;font-size:14px;line-height:1.8;color:#262626;background-color:#fff;border-radius:0 0 6px 6px;outline:none}.word-like-editor .editor-content:focus{box-shadow:0 0 0 2px #1890ff33}.word-like-editor.a4 .editor-content{width:210mm;min-height:297mm;margin:0 auto;padding:25mm 20mm;box-shadow:0 0 8px #00000014;font-family:SimSun,宋体,Times New Roman,serif;font-size:12pt;line-height:1.5;color:#000}.word-like-editor.a4 .editor-content p{text-indent:2em;text-align:justify;margin:8pt 0}.word-like-editor.a4 .editor-content h1,.word-like-editor.a4 .editor-content h2,.word-like-editor.a4 .editor-content h3,.word-like-editor.a4 .editor-content h4{text-indent:0;margin:12pt 0 6pt}.word-like-editor.a4 .editor-content h1{text-align:center;font-weight:700;font-size:18pt}.word-like-editor.a4 .editor-content h2{font-weight:700;font-size:14pt}.word-like-editor.a4 .editor-content h3{font-weight:600;font-size:12pt}.word-like-editor.a4 .editor-content h4{font-weight:400;font-size:11pt}.word-like-editor.a4 .editor-content{counter-reset:h1 h2 h3 h4}.word-like-editor.a4 .editor-content h1{counter-reset:h2}.word-like-editor.a4 .editor-content h1:before{counter-increment:h1;content:counter(h1) " "}.word-like-editor.a4 .editor-content h2{counter-reset:h3}.word-like-editor.a4 .editor-content h2:before{counter-increment:h2;content:counter(h1) "." counter(h2) " "}.word-like-editor.a4 .editor-content h3{counter-reset:h4}.word-like-editor.a4 .editor-content h3:before{counter-increment:h3;content:counter(h1) "." counter(h2) "." counter(h3) " "}.word-like-editor.a4 .editor-content h4:before{counter-increment:h4;content:counter(h1) "." counter(h2) "." counter(h3) "." counter(h4) " "}@media print{.word-like-editor.a4 .editor-content{box-shadow:none;padding:25mm 20mm!important}@page{size:A4;margin:25mm 20mm}}.report-chart{margin:16px 0;padding:16px;border:1px solid #f0f0f0;border-radius:6px;background-color:#fafafa}.report-chart .chart-header{margin-bottom:12px}.report-chart .chart-header h4{margin:0 0 4px;color:#262626;font-size:16px}.report-chart .chart-header p{margin:0;color:#8c8c8c;font-size:12px}.report-chart .chart-placeholder{display:flex;align-items:center;justify-content:center;min-height:200px;background:linear-gradient(135deg,#f5f5f5 0%,#fafafa 100%);border:2px dashed #d9d9d9;border-radius:4px;color:#bfbfbf;font-size:14px;text-align:center}.word-like-editor table{border-collapse:collapse;width:100%;margin:16px 0;border:1px solid #f0f0f0;border-radius:4px;overflow:hidden}.word-like-editor table th,.word-like-editor table td{border:1px solid #f0f0f0;padding:8px 12px;text-align:left}.word-like-editor table th{background-color:#fafafa;font-weight:600;color:#262626}.word-like-editor table td{background-color:#fff;color:#595959}.word-like-editor table tr:nth-child(2n) td{background-color:#fafafa}.word-like-editor.drag-over{border-color:#1890ff;background-color:#f0f8ff}.word-like-editor.drag-over:after{content:"释放鼠标插入内容";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#1890ff;color:#fff;padding:8px 16px;border-radius:4px;font-size:14px;pointer-events:none;z-index:1000}.collaboration-cursor{position:absolute;width:2px;height:20px;background-color:#1890ff;pointer-events:none;z-index:100}.collaboration-cursor:after{content:attr(data-user);position:absolute;top:-20px;left:0;background:#1890ff;color:#fff;padding:2px 6px;border-radius:3px;font-size:12px;white-space:nowrap}@media (max-width: 768px){.word-like-editor .editor-toolbar{padding:6px 8px}.word-like-editor .editor-content{padding:12px;font-size:13px}.report-chart{padding:12px;margin:12px 0}}.auth-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#E0F2FF 0%,#1890FF 100%);padding:24px}.auth-card{width:400px;border-radius:8px;box-shadow:0 4px 12px #00000014}.auth-card .ant-card-body{padding:32px}.auth-header{text-align:center;margin-bottom:32px}.auth-header h2.ant-typography{margin-bottom:8px;color:#1890ff}.auth-subtitle{color:#8c8c8c;font-size:14px;margin:0}.auth-links{display:flex;justify-content:space-between;margin-top:16px}.auth-links a{color:#1890ff;font-size:14px}.auth-links a:hover{color:#40a9ff}.auth-divider{margin:24px 0;color:#8c8c8c}.auth-social{display:flex;justify-content:center;gap:16px;margin-top:24px}.auth-social .auth-social-btn{border:1px solid #d9d9d9;border-radius:20px;padding:8px 24px;display:flex;align-items:center;gap:8px;transition:all .3s}.auth-social .auth-social-btn:hover{border-color:#1890ff;color:#1890ff}.notifications-page{max-width:1200px;margin:24px auto;padding:0 16px}.notifications-page .ant-card{border-radius:12px}.notification-item{padding:16px;border-radius:8px;margin:8px 0;transition:all .3s ease}.notification-item:hover{background:rgba(46,49,146,.05);transform:translate(4px)}.notification-item.unread{background:rgba(46,49,146,.02)}.notification-time{color:#999;font-size:12px}.loading-container{padding:48px 0;text-align:center}.settings-section{margin-bottom:32px}.settings-section h3{font-size:16px;margin-bottom:16px;color:#0b5ed7}.setting-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:8px 0}.setting-item span{color:#666}@keyframes checkmark{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.ant-btn-primary .anticon-check{animation:checkmark .3s ease forwards}.notification-item .ant-checkbox{transition:all .3s ease}.notification-item:hover .ant-checkbox{transform:scale(1.1)}.ant-picker{width:100%;border-radius:6px}html,body,#root{height:100%}*{margin:0;padding:0;box-sizing:border-box}body{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;background-color:#f5f5f5}:root{--primary-color: #0B5ED7;--secondary-color: #06B6D4;--background-color: #f8f9fa;--text-color: #333;--border-color: #e8e8e8;--shadow-color: rgba(0, 0, 0, .1)}.container{max-width:1200px;margin:0 auto;padding:0 24px}@media (max-width: 768px){.container{padding:0 16px}}.fade-in{animation:fadeIn .6s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .8s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-10px) rotate(1deg)}66%{transform:translateY(5px) rotate(-1deg)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.card-shadow{box-shadow:0 4px 20px #00000014;transition:all .3s ease}.card-shadow:hover{box-shadow:0 12px 40px #00000026;transform:translateY(-8px)}.gradient-bg{background:linear-gradient(135deg,#0B5ED7 0%,#06B6D4 100%)}.gradient-bg-animated{background:linear-gradient(-45deg,var(--primary-color),var(--secondary-color));background-size:400% 400%;animation:gradientShift 15s ease infinite}.gradient-text{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-hover-effect{transition:all .3s ease;position:relative;overflow:hidden}.btn-hover-effect:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-hover-effect:hover:before{left:100%}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,var(--secondary-color),var(--primary-color))}.loading-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}
