.swot-analysis-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:24px}.swot-content{max-width:1400px;margin:0 auto}.swot-header-section{margin-bottom:32px;text-align:center}.swot-title-section{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:32px;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2)}.swot-main-title{margin-bottom:16px!important;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.title-icon{margin-right:12px;font-size:28px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.swot-subtitle{font-size:16px;color:#666}.stats-row{margin-bottom:32px}.swot-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:24px;margin-bottom:32px;min-height:600px}.swot-quadrant{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:24px;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);transition:all .3s ease;position:relative;overflow:hidden}.swot-quadrant:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--quadrant-color),var(--quadrant-color-light))}.swot-quadrant:hover{transform:translateY(-8px);box-shadow:0 16px 48px #00000026}.swot-strength{--quadrant-color: #52c41a;--quadrant-color-light: #73d13d}.swot-weakness{--quadrant-color: #ff4d4f;--quadrant-color-light: #ff7875}.swot-opportunity{--quadrant-color: #1890ff;--quadrant-color-light: #40a9ff}.swot-threat{--quadrant-color: #faad14;--quadrant-color-light: #ffc53d}.swot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.swot-title{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:600;color:#333}.quadrant-icon{font-size:24px;padding:8px;border-radius:12px;background:rgba(var(--quadrant-color-rgb),.1)}.strength-icon{color:#52c41a;background:#52c41a1a}.weakness-icon{color:#ff4d4f;background:#ff4d4f1a}.opportunity-icon{color:#1890ff;background:#1890ff1a}.threat-icon{color:#faad14;background:#faad141a}.swot-badge{background:linear-gradient(135deg,var(--quadrant-color),var(--quadrant-color-light));border:none}.tag-pool{margin-bottom:20px}.tag-container{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.swot-tag{margin:0;cursor:pointer;transition:all .3s ease;border-radius:16px;padding:4px 12px;font-size:12px;border:1px solid #e8e8e8;background:#fafafa}.swot-tag:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;background:var(--quadrant-color);color:#fff;border-color:var(--quadrant-color)}.swot-divider{margin:20px 0;border-color:#0000000f}.swot-items{max-height:300px;overflow-y:auto;padding-right:8px}.swot-items::-webkit-scrollbar{width:6px}.swot-items::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.swot-items::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.swot-items::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.swot-item{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;border-left:4px solid var(--quadrant-color);box-shadow:0 2px 8px #00000014;transition:all .3s ease;position:relative;overflow:hidden}.swot-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(var(--quadrant-color-rgb),.02),rgba(var(--quadrant-color-rgb),.05));opacity:0;transition:opacity .3s ease}.swot-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.swot-item:hover:before{opacity:1}.swot-item.ai-generated{border-left-color:#667eea;background:linear-gradient(135deg,#667eea0d,#764ba20d)}.swot-item-content{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;position:relative;z-index:1}.swot-item-text{flex:1;display:flex;align-items:center;gap:8px}.swot-item-actions{display:flex;align-items:center;gap:8px;opacity:.6;transition:opacity .3s ease}.swot-item:hover .swot-item-actions{opacity:1}.action-button{padding:4px;border-radius:6px;transition:all .3s ease}.action-button:hover{background:#0000000d;transform:scale(1.1)}.ai-generated-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:10px;padding:2px 8px;border-radius:10px;display:inline-flex;align-items:center;gap:4px;font-weight:500}.empty-quadrant{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999;background:#ffffff80;border-radius:16px;border:2px dashed #e8e8e8;text-align:center;transition:all .3s ease}.empty-quadrant:hover{border-color:var(--quadrant-color);background:rgba(var(--quadrant-color-rgb),.02)}.completion-alert{margin-bottom:32px;border-radius:16px;border:none;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #00000014}.progress-section{margin-top:12px}.completion-progress{margin-bottom:8px}.completion-progress .ant-progress-bg{background:linear-gradient(90deg,#667eea,#764ba2)}.ai-section{text-align:center;margin-top:32px;padding:32px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2)}.ai-suggestion{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;padding:12px 32px;height:auto;font-size:16px;font-weight:600;box-shadow:0 8px 24px #667eea4d;transition:all .3s ease;position:relative;overflow:hidden}.ai-suggestion:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:rotate(45deg);animation:shine 3s infinite}@keyframes shine{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.ai-suggestion:hover{transform:translateY(-4px);box-shadow:0 12px 32px #667eea66;background:linear-gradient(135deg,#7c8ff0,#8a5bb8)}.ai-description{margin-top:16px;color:#666}.swot-modal .ant-modal-content{border-radius:16px;overflow:hidden}.swot-modal .ant-modal-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:none}.swot-modal .ant-modal-title{color:#fff;font-weight:600}.modal-title{display:flex;align-items:center;gap:12px}.category-tag{border:none;font-weight:500}.modal-content{padding:20px 0}.swot-textarea{border-radius:12px;border:1px solid #e8e8e8;transition:all .3s ease;font-size:14px}.swot-textarea:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.modal-tip{margin-top:16px;padding:12px;background:#667eea0d;border-radius:8px;border-left:4px solid #667eea}@media (max-width: 1200px){.swot-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,auto);gap:20px}.swot-quadrant{min-height:400px}}@media (max-width: 768px){.swot-analysis-container{padding:16px}.swot-title-section{padding:24px 16px}.swot-quadrant{padding:20px}.swot-header{flex-direction:column;gap:12px;align-items:flex-start}.stats-row .ant-col{margin-bottom:16px}.ai-section{padding:24px 16px}}@media (max-width: 480px){.swot-grid{gap:16px}.swot-quadrant{padding:16px}.swot-item-content{flex-direction:column;gap:8px}.swot-item-actions{align-self:flex-end}}.slide-in{animation:slideIn .6s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.loading-pulse{animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #0000001a}.gradient-text{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass-morphism{background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #1f26875e}.mind-map-board{display:flex;flex-direction:column;height:100vh;background:#f5f5f5;overflow:hidden}.mind-map-toolbar{padding:12px 16px;background:#fff;border-bottom:1px solid #d9d9d9;box-shadow:0 2px 4px #0000001a;z-index:100}.mind-map-canvas{flex:1;position:relative;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(24,144,255,.05) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(82,196,26,.05) 0%,transparent 50%),radial-gradient(circle at 40% 60%,rgba(250,173,20,.05) 0%,transparent 50%);cursor:grab}.mind-map-canvas:active{cursor:grabbing}.connections-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.mind-map-node{position:absolute;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #d9d9d9;border-radius:20px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000001a;z-index:2;-webkit-user-select:none;user-select:none;min-width:80px;min-height:40px;padding:8px 12px}.mind-map-node:hover{box-shadow:0 4px 12px #00000026;transform:scale(1.02)}.mind-map-node.selected{border-color:#ff4d4f;box-shadow:0 0 0 2px #ff4d4f33}.node-content{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}.node-title{font-weight:600;font-size:12px;color:#262626;line-height:1.2;word-break:break-word;max-width:100%}.node-date{font-size:10px;color:#8c8c8c;margin-top:2px;display:flex;align-items:center;gap:2px}.status-indicator{position:absolute;top:-4px;right:-4px;width:12px;height:12px;border-radius:50%;border:2px solid white;box-shadow:0 1px 3px #0003}.priority-indicator{position:absolute;bottom:-4px;right:-4px;width:12px;height:12px;border-radius:50%;border:2px solid white;box-shadow:0 1px 3px #0003}.node-actions{position:absolute;top:80px;right:16px;background:#fff;border:1px solid #d9d9d9;border-radius:6px;padding:8px;box-shadow:0 4px 12px #00000026;z-index:1000}.mind-map-node[data-type=root]{background:linear-gradient(135deg,#1890ff,#40a9ff);color:#fff;border-color:#1890ff;font-weight:700;min-width:120px;min-height:60px;border-radius:30px}.mind-map-node[data-type=root] .node-title{color:#fff;font-size:14px}.mind-map-node[data-type=timeline]{background:linear-gradient(135deg,#52c41a,#73d13d);color:#fff;border-color:#52c41a;min-width:140px;min-height:50px;border-radius:25px}.mind-map-node[data-type=timeline] .node-title{color:#fff;font-size:13px}.mind-map-node[data-type=milestone]{background:linear-gradient(135deg,#ff4d4f,#ff7875);color:#fff;border-color:#ff4d4f;min-width:100px;min-height:40px;border-radius:20px}.mind-map-node[data-type=milestone] .node-title{color:#fff;font-size:12px}.mind-map-node[data-type=task]{background:linear-gradient(135deg,#faad14,#ffc53d);color:#fff;border-color:#faad14;min-width:100px;min-height:40px;border-radius:20px}.mind-map-node[data-type=task] .node-title{color:#fff;font-size:12px}.mind-map-node[data-type=event]{background:linear-gradient(135deg,#722ed1,#9254de);color:#fff;border-color:#722ed1;min-width:100px;min-height:40px;border-radius:20px}.mind-map-node[data-type=event] .node-title{color:#fff;font-size:12px}.connections-svg line{stroke-dasharray:5,5;animation:dash 20s linear infinite}@keyframes dash{to{stroke-dashoffset:-1000}}.mind-map-toolbar .ant-btn{border-radius:6px;font-weight:500}.mind-map-toolbar .ant-btn-primary{background:linear-gradient(135deg,#1890ff,#40a9ff);border:none}.mind-map-toolbar .ant-btn-primary:hover{background:linear-gradient(135deg,#40a9ff,#69c0ff)}.ant-modal-content{border-radius:8px}.ant-modal-header{border-radius:8px 8px 0 0;background:linear-gradient(135deg,#f0f2f5,#fafafa)}@media (max-width: 768px){.mind-map-toolbar{padding:8px 12px}.mind-map-toolbar .ant-space{gap:4px}.mind-map-toolbar .ant-btn{padding:4px 8px;font-size:12px}.mind-map-node{min-width:60px;min-height:30px;padding:4px 8px}.node-title{font-size:10px}.node-date{font-size:8px}}.mind-map-node.dragging{opacity:.8;transform:scale(1.05);z-index:1000}.mind-map-canvas *{transition:transform .1s ease}.mind-map-node.selected{animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #ff4d4f66}70%{box-shadow:0 0 0 10px #ff4d4f00}to{box-shadow:0 0 #ff4d4f00}}.mind-map-board.loading{position:relative}.mind-map-board.loading:after{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:4px solid #f3f3f3;border-top:4px solid #1890ff;border-radius:50%;animation:spin 1s linear infinite;z-index:1000}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mind-map-canvas.empty{display:flex;align-items:center;justify-content:center;color:#8c8c8c;font-size:16px}.mind-map-canvas.empty:before{content:'点击"添加节点"开始创建思维导图'}.mind-map-tooltip{background:#000c;color:#fff;padding:8px 12px;border-radius:4px;font-size:12px;max-width:200px;word-wrap:break-word}.shortcut-hint{position:absolute;bottom:16px;left:16px;background:#000000b3;color:#fff;padding:8px 12px;border-radius:4px;font-size:12px;z-index:100}.shortcut-hint kbd{background:#333;border:1px solid #555;border-radius:3px;padding:2px 4px;margin:0 2px;font-family:monospace}*{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}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-content{width:100%;max-width:400px}.login-card{border-radius:12px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2}.login-header{text-align:center;margin-bottom:32px}.login-header .ant-typography{margin-bottom:8px}.gradient-bg{background:linear-gradient(135deg,#667eea,#764ba2)}.gradient-bg-light{background:linear-gradient(135deg,#7c8ff0,#8a5bb8)}.glass-effect{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px}.glass-effect-dark{background:#0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.hover-card{transition:all .3s ease;border-radius:16px;overflow:hidden}.hover-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.gradient-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;transition:all .3s ease;color:#fff;font-weight:600}.gradient-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66;background:linear-gradient(135deg,#7c8ff0,#8a5bb8);color:#fff}.gradient-button-success{background:linear-gradient(135deg,#52c41a,#13c2c2)}.gradient-button-success:hover{background:linear-gradient(135deg,#73d13d,#36cfc9);box-shadow:0 6px 20px #52c41a66}.gradient-button-warning{background:linear-gradient(135deg,#fa8c16,#faad14)}.gradient-button-warning:hover{background:linear-gradient(135deg,#ffa940,#ffc53d);box-shadow:0 6px 20px #fa8c1666}.gradient-button-danger{background:linear-gradient(135deg,#f5222d,#ff4d4f)}.gradient-button-danger:hover{background:linear-gradient(135deg,#ff7875,#ff7875);box-shadow:0 6px 20px #f5222d66}.stat-card{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid rgba(102,126,234,.2);border-radius:16px;transition:all .3s ease;overflow:hidden}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #667eea33;border-color:#667eea66}.stat-card-primary{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-color:#667eea33}.stat-card-success{background:linear-gradient(135deg,#52c41a1a,#13c2c21a);border-color:#52c41a33}.stat-card-warning{background:linear-gradient(135deg,#fa8c161a,#faad141a);border-color:#fa8c1633}.stat-card-danger{background:linear-gradient(135deg,#f5222d1a,#ff4d4f1a);border-color:#f5222d33}.ant-table{border-radius:12px;overflow:hidden}.ant-table-thead>tr>th{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-bottom:1px solid rgba(102,126,234,.2);font-weight:600}.ant-table-tbody>tr:hover>td{background:#667eea0d}.ant-form-item-label>label{font-weight:600;color:#333}.ant-input,.ant-select-selector,.ant-picker{border-radius:8px;border:1px solid #d9d9d9;transition:all .3s ease}.ant-input:focus,.ant-select-focused .ant-select-selector,.ant-picker-focused{border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.ant-pagination-item-active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea}.ant-pagination-item-active a{color:#fff}.ant-tag{border-radius:6px;font-weight:500}.ant-modal-content{border-radius:16px;overflow:hidden}.ant-modal-header{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-bottom:1px solid rgba(102,126,234,.2)}.ant-layout-sider{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid rgba(255,255,255,.2)}.ant-menu-item:hover{background:#667eea1a}.ant-menu-item-selected{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important}.ant-layout-header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.2);padding:0 24px}.fade-in{animation:fadeIn .5s ease-in}.slide-up{animation:slideUp .5s ease-out}.scale-in{animation:scaleIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.ant-layout-sider{width:80px!important}.ant-layout-sider .logo{font-size:14px!important}.ant-card{margin-bottom:16px}.ant-row{margin:0!important}.ant-col{padding:0 8px!important}.login-container{padding:16px}.login-content{max-width:100%}}@media (max-width: 576px){.ant-layout-content{margin:12px!important;padding:12px!important}.ant-card{margin-bottom:12px}.ant-table{font-size:12px}}@media (min-width: 769px) and (max-width: 1024px){.ant-layout-sider{width:160px!important}.ant-card{margin-bottom:20px}}.dashboard-card{transition:all .3s ease}.dashboard-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-card .ant-statistic-title{color:#fffc}.stat-card .ant-statistic-content{color:#fff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media print{.ant-layout-sider,.ant-layout-header,.ant-btn{display:none!important}.ant-layout-content{margin:0!important;padding:0!important}}
