.main-layout{min-height:100vh;background:#f5f7fa}.main-layout .header{background:#fff;box-shadow:0 1px 4px #00152914;height:64px;padding:0 20px}.main-layout .header .header-content{max-width:1200px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between}.main-layout .header .header-content .logo{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:20px;font-weight:600;color:var(--primary-color)}.main-layout .header .header-content .logo .logo-text{letter-spacing:1px}.main-layout .header .header-content .header-right{display:flex;align-items:center;gap:16px}.main-layout .header .header-content .header-right .user-info{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:20px;transition:background .3s;cursor:pointer}.main-layout .header .header-content .header-right .user-info:hover{background:#f5f7fa}.main-layout .header .header-content .header-right .user-info .username{font-size:14px;color:#606266}.main-layout .main-content{max-width:1200px;margin:0 auto;padding:24px 0}.main-layout .main-content .container{display:grid;grid-template-columns:1fr 280px;gap:24px;padding:0 20px}@media (max-width: 960px){.main-layout .main-content .container{grid-template-columns:1fr}.main-layout .main-content .container .side-bar{display:none}}.main-layout .main-content .content-area{min-width:0}.main-layout .main-content .side-bar .side-card{background:#fff;border-radius:var(--border-radius);padding:20px;box-shadow:var(--card-shadow);margin-bottom:20px}.main-layout .main-content .side-bar .side-card .side-title{font-size:16px;font-weight:600;margin-bottom:16px;color:#303133}.main-layout .main-content .side-bar .section-tree .section-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:6px;margin-bottom:8px;cursor:pointer;background:#fafafa;transition:all .3s}.main-layout .main-content .side-bar .section-tree .section-item:last-child{margin-bottom:0}.main-layout .main-content .side-bar .section-tree .section-item.active{background:#1677ff1a;color:var(--primary-color)}.main-layout .main-content .side-bar .section-tree .section-item .section-icon{width:40px;height:40px;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff;color:#909399;font-size:20px}.main-layout .main-content .side-bar .section-tree .section-item .section-icon img{width:100%;height:100%;object-fit:cover}.main-layout .main-content .side-bar .section-tree .section-item .section-info{flex:1;min-width:0}.main-layout .main-content .side-bar .section-tree .section-item .section-info .section-name{font-size:14px;font-weight:500;margin-bottom:4px}.main-layout .main-content .side-bar .section-tree .section-item .section-info .section-count{display:flex;gap:12px;font-size:12px;color:#909399}.main-layout .main-content .side-bar .stats-card{display:flex}.main-layout .main-content .side-bar .stats-card .stat-item{flex:1;text-align:center}.main-layout .main-content .side-bar .stats-card .stat-item .stat-value{font-size:24px;font-weight:600;color:var(--primary-color)}.main-layout .main-content .side-bar .stats-card .stat-item .stat-label{font-size:12px;color:#909399;margin-top:4px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.login-page .login-box{width:420px;background:#fff;border-radius:16px;padding:40px 32px;box-shadow:var(--card-shadow)}.login-page .login-box .login-header{text-align:center;margin-bottom:32px}.login-page .login-box .login-header .logo{display:flex;align-items:center;justify-content:center;gap:12px;font-size:28px;font-weight:600;color:var(--primary-color);margin-bottom:12px}.login-page .login-box .login-header .subtitle{color:#909399;font-size:14px;margin:0}.login-page .login-box .login-tabs :deep(.ant-tabs-nav){border-bottom:1px solid #e4e7ed;margin-bottom:20px}.login-page .login-box .login-tabs :deep(.ant-tabs-tab){font-size:15px}.login-page .login-box .login-form .ant-form-item{margin-bottom:20px}.login-page .login-box .submit-btn{width:100%;font-size:16px}.login-page .login-box .login-footer{margin-top:24px;text-align:center;color:#909399;font-size:14px}.register-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.register-page .register-box{width:560px;background:#fff;border-radius:16px;padding:40px 32px;box-shadow:var(--card-shadow)}.register-page .register-box .register-header{text-align:center;margin-bottom:32px}.register-page .register-box .register-header .logo{display:flex;align-items:center;justify-content:center;gap:12px;font-size:28px;font-weight:600;color:var(--primary-color);margin-bottom:12px}.register-page .register-box .register-header .subtitle{color:#909399;font-size:14px;margin:0}.register-page .register-box .register-form .ant-form-item{margin-bottom:16px}.register-page .register-box .submit-btn{width:100%;font-size:16px}.register-page .register-box .register-footer{margin-top:16px;text-align:center;color:#909399;font-size:14px}.post-card{background:#fff;border-radius:var(--border-radius);padding:24px;box-shadow:var(--card-shadow);cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.post-card:hover{transform:translateY(-4px);box-shadow:var(--hover-shadow)}.post-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--primary-color);transform:scaleY(0);transition:transform .3s ease}.post-card:hover:before{transform:scaleY(1)}.post-card .post-header{margin-bottom:12px}.post-card .post-header .post-title{font-size:19px;font-weight:600;color:#303133;line-height:1.4;margin-bottom:12px;transition:color .3s ease}.post-card .post-header .post-title:hover{color:var(--primary-color)}.post-card .post-header .post-title .badge{display:inline-block;padding:3px 10px;margin-right:10px;font-size:12px;background:var(--primary-color);color:#fff;border-radius:12px;font-weight:400;margin-bottom:4px}.post-card .post-header .post-title .badge.essence{background:#faad14}.post-card .post-summary{font-size:15px;color:#606266;line-height:1.7;margin-bottom:16px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.post-card .post-summary h1,.post-card .post-summary h2,.post-card .post-summary h3,.post-card .post-summary h4,.post-card .post-summary h5,.post-card .post-summary h6{font-size:15px;font-weight:600;color:#303133;margin:0 0 8px;line-height:1.4}.post-card .post-summary p{margin:0 0 8px;line-height:1.7}.post-card .post-summary ul,.post-card .post-summary ol{margin:0 0 8px;padding-left:20px}.post-card .post-summary ul li,.post-card .post-summary ol li{margin:4px 0;line-height:1.7}.post-card .post-summary a{color:var(--primary-color);text-decoration:none;transition:color .3s ease}.post-card .post-summary a:hover{color:#40a9ff;text-decoration:underline}.post-card .post-summary code{font-family:Courier New,Courier,monospace;font-size:14px;background:#f5f5f5;padding:2px 6px;border-radius:4px;color:#303133}.post-card .post-summary blockquote{border-left:4px solid #e0e0e0;padding-left:12px;margin:8px 0;color:#606266;font-style:italic}.post-card .post-summary strong{font-weight:600;color:#303133}.post-card .post-summary em{font-style:italic;color:#606266}.post-card .post-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #f0f0f0}.post-card .post-footer .post-meta-left{display:flex;gap:16px;align-items:center}.post-card .post-footer .post-meta-left .author{font-size:14px;color:#606266;font-weight:500;transition:color .3s ease}.post-card .post-footer .post-meta-left .author:hover{color:var(--primary-color)}.post-card .post-footer .post-meta-left .time{font-size:13px;color:#909399}.post-card .post-footer .post-meta-right{display:flex;gap:20px}.post-card .post-footer .post-meta-right .stat{display:flex;align-items:center;gap:6px;font-size:14px;color:#909399;transition:all .3s ease}.post-card .post-footer .post-meta-right .stat:hover{color:var(--primary-color)}.post-card .post-footer .post-meta-right .stat svg{font-size:14px}.home-page{max-width:840px;margin:0 auto;padding:24px 16px}.home-page .filter-bar{background:#fff;padding:20px 24px;border-radius:var(--border-radius);margin-bottom:24px;box-shadow:var(--card-shadow);transition:all .3s ease;display:flex;justify-content:space-between;align-items:center}.home-page .filter-bar:hover{box-shadow:var(--hover-shadow)}.home-page .filter-bar .sort-buttons{display:flex;gap:12px}.home-page .filter-bar .sort-buttons .ant-btn{font-size:14px;padding:6px 16px;border-radius:20px;transition:all .3s ease}.home-page .filter-bar .sort-buttons .ant-btn:hover{transform:translateY(-1px)}.home-page .filter-bar .sort-buttons .ant-btn.ant-btn-primary{background:var(--primary-color);border-color:var(--primary-color)}.home-page .filter-bar .sort-buttons .ant-btn.ant-btn-primary:hover{background:#40a9ff;border-color:#40a9ff}.home-page .filter-bar .search-box{display:flex;gap:8px;align-items:center}.home-page .filter-bar .search-box .ant-input{border-radius:20px;transition:all .3s ease}.home-page .filter-bar .search-box .ant-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #1677ff33}.home-page .filter-bar .search-box .ant-btn{border-radius:20px;font-size:14px;padding:6px 16px;transition:all .3s ease}.home-page .filter-bar .search-box .ant-btn:hover{transform:translateY(-1px)}.home-page .post-list{min-height:200px;display:flex;flex-direction:column;gap:16px}.home-page .empty-tip{background:#fff;border-radius:var(--border-radius);padding:60px 40px;box-shadow:var(--card-shadow);margin:40px 0;text-align:center;transition:all .3s ease}.home-page .empty-tip:hover{box-shadow:var(--hover-shadow)}.home-page .pagination{background:#fff;padding:20px;border-radius:var(--border-radius);margin-top:32px;display:flex;justify-content:center;box-shadow:var(--card-shadow);transition:all .3s ease}.home-page .pagination:hover{box-shadow:var(--hover-shadow)}.home-page .pagination .ant-pagination-item{border-radius:4px;transition:all .3s ease}.home-page .pagination .ant-pagination-item:hover{transform:translateY(-1px)}.home-page .pagination .ant-pagination-item.ant-pagination-item-active{border-color:var(--primary-color)}.home-page .pagination .ant-pagination-item.ant-pagination-item-active a{color:var(--primary-color)}.home-page .ant-spin{margin:60px 0}.post-detail-page{max-width:840px;margin:0 auto;padding:24px 16px}.post-detail-page .post-content-card{background:#fff;border-radius:var(--border-radius);padding:32px;margin-bottom:24px;box-shadow:var(--card-shadow);transition:all .3s ease}.post-detail-page .post-content-card:hover{box-shadow:var(--hover-shadow)}.post-detail-page .post-content-card .post-header{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #f0f0f0}.post-detail-page .post-content-card .post-header .post-title{font-size:28px;font-weight:600;color:#303133;line-height:1.4;margin:0 0 16px}.post-detail-page .post-content-card .post-header .post-meta{display:flex;justify-content:space-between;align-items:center}.post-detail-page .post-content-card .post-header .post-meta .author-info{display:flex;align-items:center;gap:16px}.post-detail-page .post-content-card .post-header .post-meta .author-info .author-name{font-size:15px;font-weight:500;color:#303133}.post-detail-page .post-content-card .post-header .post-meta .author-info .post-time{font-size:13px;color:#909399;margin-top:2px}.post-detail-page .post-content-card .post-header .post-meta .post-stats{display:flex;gap:24px;color:#909399;font-size:14px}.post-detail-page .post-content-card .post-header .post-meta .post-stats span{display:flex;align-items:center;gap:6px;transition:color .3s}.post-detail-page .post-content-card .post-header .post-meta .post-stats span:hover{color:var(--primary-color)}.post-detail-page .post-content-card .post-body{color:#303133;line-height:1.8;font-size:16px;margin-bottom:24px}.post-detail-page .post-content-card .post-body img{max-width:100%;border-radius:8px;margin:16px 0;box-shadow:0 2px 8px #0000001a}.post-detail-page .post-content-card .post-body p{margin-bottom:16px}.post-detail-page .post-content-card .post-body h1,.post-detail-page .post-content-card .post-body h2,.post-detail-page .post-content-card .post-body h3,.post-detail-page .post-content-card .post-body h4{margin:24px 0 16px;font-weight:600;color:#303133}.post-detail-page .post-content-card .post-body a{color:var(--primary-color);text-decoration:none;transition:color .3s}.post-detail-page .post-content-card .post-body a:hover{text-decoration:underline;color:#40a9ff}.post-detail-page .post-content-card .post-footer{padding-top:16px;border-top:1px solid #f0f0f0}.post-detail-page .post-content-card .post-footer .tags{display:flex;gap:8px}.post-detail-page .post-content-card .post-footer .tags .ant-tag{font-size:12px;padding:2px 8px}.post-detail-page .reply-box{background:#fff;border-radius:var(--border-radius);padding:24px;margin-bottom:24px;box-shadow:var(--card-shadow);transition:all .3s ease}.post-detail-page .reply-box:hover{box-shadow:var(--hover-shadow)}.post-detail-page .reply-box .reply-actions{margin-top:16px;text-align:right}.post-detail-page .reply-box .reply-actions .ant-btn{font-size:14px;padding:6px 16px}.post-detail-page .reply-box .reply-actions .ant-btn-primary{background:var(--primary-color);border-color:var(--primary-color)}.post-detail-page .reply-box .reply-actions .ant-btn-primary:hover{background:#40a9ff;border-color:#40a9ff}.post-detail-page .reply-box-inline{margin-top:16px;padding:20px;background:#f8f9fa;border-radius:var(--border-radius);margin-left:56px;transition:all .3s ease;border:1px solid #e9ecef}.post-detail-page .reply-box-inline:hover{background:#f0f2f5}.post-detail-page .reply-box-inline .reply-actions{margin-top:12px;text-align:right}.post-detail-page .reply-box-inline .reply-actions .ant-btn{font-size:13px;padding:4px 12px}.post-detail-page .reply-list{background:#fff;border-radius:var(--border-radius);padding:24px;margin-bottom:16px;box-shadow:var(--card-shadow);transition:all .3s ease}.post-detail-page .reply-list:hover{box-shadow:var(--hover-shadow)}.post-detail-page .reply-list .reply-title{font-size:18px;font-weight:600;margin:0 0 24px;color:#303133;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.post-detail-page .reply-list .reply-item{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #f0f0f0;transition:all .3s ease}.post-detail-page .reply-list .reply-item:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.post-detail-page .reply-list .reply-item:hover{background:#fafafa;border-radius:var(--border-radius);padding-left:12px;padding-right:12px}.post-detail-page .reply-list .reply-item .reply-main{display:flex;gap:16px}.post-detail-page .reply-list .reply-item .reply-main .reply-content{flex:1;min-width:0}.post-detail-page .reply-list .reply-item .reply-main .reply-content .reply-header{display:flex;align-items:center;gap:16px;margin-bottom:8px}.post-detail-page .reply-list .reply-item .reply-main .reply-content .reply-header .reply-username{font-size:15px;font-weight:500;color:#303133;transition:color .3s}.post-detail-page .reply-list .reply-item .reply-main .reply-content .reply-header .reply-username:hover{color:var(--primary-color)}.post-detail-page .reply-list .reply-item .reply-main .reply-content .reply-header .reply-time{font-size:13px;color:#909399}.post-detail-page .reply-list .reply-item .reply-main .reply-content .reply-header .ant-btn{font-size:13px;padding:0;height:auto;line-height:1;color:#909399}.post-detail-page .reply-list .reply-item .reply-main .reply-content .reply-header .ant-btn:hover{color:var(--primary-color)}.post-detail-page .reply-list .reply-item .reply-main .reply-content .reply-text{font-size:15px;line-height:1.7;color:#606266;margin-bottom:12px}.post-detail-page .reply-list .reply-item .reply-main .reply-content .reply-text .reply-to{color:var(--primary-color);margin-right:6px;font-weight:500}.post-detail-page .reply-list .reply-item .reply-main .reply-content .reply-footer{margin-top:8px}.post-detail-page .reply-list .reply-item .reply-main .reply-content .reply-footer .like-count{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:#909399;cursor:pointer;transition:all .3s;padding:4px 8px;border-radius:4px}.post-detail-page .reply-list .reply-item .reply-main .reply-content .reply-footer .like-count:hover{color:var(--primary-color);background:#1677ff0d}.post-detail-page .reply-list .reply-item .child-replies{margin-top:16px;padding-top:16px;border-top:1px dashed #e0e0e0}.post-detail-page .reply-list .reply-item .child-replies .child-reply{margin-bottom:16px;transition:all .3s ease}.post-detail-page .reply-list .reply-item .child-replies .child-reply:last-child{margin-bottom:0}.post-detail-page .reply-list .reply-item .child-replies .child-reply .reply-main{display:flex;gap:12px;padding:12px;border-radius:var(--border-radius)}.post-detail-page .reply-list .reply-item .child-replies .child-reply .reply-main:hover{background:#f8f9fa}.post-detail-page .reply-list .reply-item .child-replies .child-reply .reply-main .reply-content{flex:1;min-width:0}.post-detail-page .reply-list .reply-item .child-replies .child-reply .reply-main .reply-content .reply-header{display:flex;align-items:center;gap:12px;margin-bottom:6px}.post-detail-page .reply-list .reply-item .child-replies .child-reply .reply-main .reply-content .reply-header .reply-username{font-size:14px;font-weight:500;color:#303133}.post-detail-page .reply-list .reply-item .child-replies .child-reply .reply-main .reply-content .reply-header .reply-time{font-size:12px;color:#909399}.post-detail-page .reply-list .reply-item .child-replies .child-reply .reply-main .reply-content .reply-header .ant-btn{font-size:12px;padding:0;height:auto;line-height:1}.post-detail-page .reply-list .reply-item .child-replies .child-reply .reply-main .reply-content .reply-text{font-size:14px;line-height:1.6;color:#606266}.post-detail-page .reply-list .reply-item .child-replies .child-reply .reply-main .reply-content .reply-text .reply-to{color:var(--primary-color);margin-right:4px}.post-detail-page .reply-list .reply-item .child-replies .child-reply .reply-main .reply-content .reply-footer{margin-top:6px}.post-detail-page .reply-list .reply-item .child-replies .child-reply .reply-main .reply-content .reply-footer .like-count{font-size:12px;gap:4px}.post-detail-page .reply-list .reply-item .child-replies .child-reply .reply-box-inline{margin-left:44px;margin-top:8px}.post-detail-page .reply-list .reply-item .child-replies .child-reply .child-replies{margin-left:0;margin-top:12px;padding-top:12px}.post-detail-page .pagination{background:#fff;padding:20px;border-radius:var(--border-radius);display:flex;justify-content:center;box-shadow:var(--card-shadow);margin-top:24px}.post-detail-page .pagination .ant-pagination-item{border-radius:4px}.post-detail-page .pagination .ant-pagination-item.ant-pagination-item-active{border-color:var(--primary-color)}.post-detail-page .pagination .ant-pagination-item.ant-pagination-item-active a{color:var(--primary-color)}.post-detail-page .ant-empty,.post-detail-page .ant-spin{margin:48px 0}.post-detail-page .ant-input-textarea{border-radius:var(--border-radius);resize:vertical}.post-detail-page .ant-input-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #1677ff33}.post-detail-page .ant-avatar{transition:all .3s ease}.post-detail-page .ant-avatar:hover{transform:scale(1.05)}.create-post-page .create-card{border-radius:var(--border-radius);box-shadow:var(--card-shadow)}.create-post-page .create-card :deep(.ant-card-head){padding:20px 24px}.create-post-page .create-card :deep(.ant-card-head) h2{margin:0;font-size:20px;font-weight:600;color:#303133}.create-post-page .create-card :deep(.ant-card-body){padding:24px}.create-post-page .form-actions{display:flex;justify-content:flex-end;gap:12px}.create-post-page .markdown-preview{border:1px solid #f0f0f0;border-radius:var(--border-radius);padding:20px;min-height:400px;background:#fafafa;overflow-y:auto}.create-post-page .markdown-preview h1,.create-post-page .markdown-preview h2,.create-post-page .markdown-preview h3,.create-post-page .markdown-preview h4,.create-post-page .markdown-preview h5,.create-post-page .markdown-preview h6{margin:16px 0 8px;font-weight:600;color:#303133}.create-post-page .markdown-preview h1{font-size:24px}.create-post-page .markdown-preview h2{font-size:20px}.create-post-page .markdown-preview h3{font-size:18px}.create-post-page .markdown-preview p{margin:8px 0;line-height:1.6;color:#606266}.create-post-page .markdown-preview ul,.create-post-page .markdown-preview ol{margin:8px 0;padding-left:24px;color:#606266}.create-post-page .markdown-preview li{margin:4px 0;line-height:1.6}.create-post-page .markdown-preview code{background:#f0f0f0;padding:2px 6px;border-radius:4px;font-family:Courier New,Courier,monospace;font-size:14px}.create-post-page .markdown-preview pre{background:#f0f0f0;padding:12px;border-radius:4px;overflow-x:auto;margin:12px 0}.create-post-page .markdown-preview pre code{background:none;padding:0}.create-post-page .markdown-preview a{color:var(--primary-color);text-decoration:none}.create-post-page .markdown-preview a:hover{text-decoration:underline}.create-post-page .markdown-preview blockquote{border-left:4px solid var(--primary-color);padding-left:12px;margin:12px 0;color:#606266;font-style:italic}.create-post-page .empty-preview{text-align:center;color:#909399;padding:40px 0}:root{--primary-color: #1677ff;--success-color: #52c41a;--warning-color: #faad14;--danger-color: #ff4d4f;--info-color: #8c8c8c;--border-radius: 8px;--card-shadow: 0 2px 12px 0 rgba(0, 0, 0, .08);--hover-shadow: 0 4px 16px 0 rgba(0, 0, 0, .12)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa}a{text-decoration:none;color:inherit;transition:color .3s}ul{list-style:none}::-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}.card-hover{transition:all .3s ease}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--hover-shadow)}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.text-ellipsis-3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
