html,body{margin:0;padding:0}#root{width:100%;min-height:100vh}:root{--primary-color:#1677ff}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.app{background:#f0f2f5;flex-direction:column;height:100vh;display:flex;overflow:hidden}.navbar{z-index:100;background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 20px;display:flex;box-shadow:0 2px 8px #00000014}.navbar-logo{flex-shrink:0;align-items:center;gap:8px;display:flex;overflow:visible}.logo-text{color:#1677ff;letter-spacing:2px;font-size:20px;font-weight:700}.logo-slogan{color:#999;white-space:nowrap;font-size:12px}.logo-drive-in{transform-origin:0;animation:1.2s cubic-bezier(.22,.61,.36,1) forwards driveIn;display:inline-block}@keyframes driveIn{0%{opacity:0;transform:translate(-200px)scaleX(1.3)}50%{opacity:1;transform:translate(10px)scaleX(.95)}70%{transform:translate(-5px)scaleX(1.02)}85%{transform:translate(2px)scaleX(.99)}to{opacity:1;transform:translate(0)scaleX(1)}}.logo-icon{animation:1.2s cubic-bezier(.22,.61,.36,1) forwards iconBounce;display:inline-block}@keyframes iconBounce{0%{opacity:0;transform:translate(-220px)}50%{opacity:1;transform:translate(5px)}70%{transform:translate(-3px)}to{opacity:1;transform:translate(0)}}.navbar-search{flex:1;justify-content:center;align-items:center;max-width:480px;display:flex}.navbar-actions{flex-shrink:0}.main-content{flex:1;display:flex;position:relative;overflow:visible}.content-left{flex-direction:column;flex:1;min-width:0;transition:all .3s;display:flex}.content-left.full-width{flex:100%}.content-right{background:#fff;border-left:1px solid #e8e8e8;flex-direction:column;flex-shrink:0;width:320px;transition:all .3s;display:flex;overflow-y:auto}.show-sidebar-btn{cursor:pointer;color:#1677ff;z-index:20;background:#fff;border:1px solid #e8e8e8;border-right:none;border-radius:6px 0 0 6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:all .2s;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%);box-shadow:-2px 0 6px #0000000f}.show-sidebar-btn:hover{color:#fff;background:#1677ff;box-shadow:-2px 0 8px #1677ff4d}.hide-sidebar-btn{cursor:pointer;color:#1677ff;z-index:20;background:#fff;border:1px solid #e8e8e8;border-right:none;border-radius:6px 0 0 6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:all .2s;display:flex;position:absolute;top:50%;right:320px;transform:translateY(-50%);box-shadow:-2px 0 6px #0000000f}.hide-sidebar-btn:hover{color:#fff;background:#1677ff;box-shadow:-2px 0 8px #1677ff4d}.map-wrapper{background:#e8f0fe;flex:1;width:100%;min-height:500px;position:relative}.map-container{width:100%;height:100%;min-height:500px}.map-loading{color:#666;flex-direction:column;align-items:center;gap:12px;font-size:14px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-tip{color:#fff;white-space:nowrap;z-index:10;background:#000000b3;border-radius:20px;padding:8px 16px;font-size:13px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.loading-spinner{border:3px solid #e8e8e8;border-top-color:#1677ff;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.drag-handle{cursor:ns-resize;background:#fafafa;border-top:2px solid #e8e8e8;flex-shrink:0;justify-content:center;align-items:center;width:100%;height:10px;display:flex;position:relative}.drag-handle:after{content:"";background:#bbb;border-radius:2px;width:60px;height:4px;transition:background .2s,width .2s}.drag-handle:hover:after{background:#1677ff;width:80px}.result-table{z-index:30;background:#fff;border-radius:8px 8px 0 0;flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -2px 12px #00000026}.result-table.collapsed{height:40px!important}.result-table.collapsed .drag-handle{display:flex}.result-table.expanded{overflow-y:auto}.result-table .ant-table-row:hover{background:#e6f4ff!important}.sidebar-panel{flex:1;padding:12px;overflow-y:auto}.panel-section{border-bottom:1px solid #f0f0f0;padding:12px 14px}.panel-title{color:#333;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.keyword-section{border:none;border-radius:0;width:100%;margin:0;padding:8px 0}.keyword-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s}.keyword-toggle:hover{color:#1677ff}.keyword-tags-container{flex-wrap:wrap;gap:6px;padding:8px 0 4px 20px;display:flex}.kw-tag{cursor:pointer;color:#666;white-space:nowrap;background:#f5f5f5;border-radius:10px;padding:3px 8px;font-size:11px;transition:all .2s;display:inline-block}.kw-tag:hover{color:#1677ff;background:#e6f4ff}.expert-item{cursor:pointer;transition:background .2s;padding:6px 0!important}.expert-item:hover{background:#f5f5f5}.expert-info{align-items:center;gap:4px;display:flex}.expert-desc{color:#999;align-items:center;gap:6px;font-size:11px;display:flex}.expert-keywords{gap:2px;display:flex}.profile-modal{padding:8px 0}.profile-header{align-items:flex-start;gap:16px;display:flex}.profile-header-info{flex:1}.profile-stars{align-items:center;margin-top:6px;display:flex}.profile-tags{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.profile-location{color:#666;margin-top:6px;font-size:13px}.profile-value{background:#fafafa;border-radius:8px;padding:12px 16px}.value-title{color:#1677ff;margin-bottom:4px;font-size:13px;font-weight:600}.profile-tabs{gap:8px;margin-bottom:12px;display:flex}.profile-content{min-height:120px}.profile-detail-row{margin-bottom:8px;font-size:14px;display:flex}.profile-detail-row .label{color:#999;flex-shrink:0;width:80px}.article-item{border-bottom:1px solid #f5f5f5;padding:10px 0}.article-item:last-child{border-bottom:none}.article-title{color:#333;font-size:14px;font-weight:500}.article-meta{color:#999;gap:16px;margin-top:4px;font-size:12px;display:flex}.resume-editor{max-height:500px;padding:4px 0;overflow-y:auto}.resume-header{align-items:center;gap:16px;display:flex}.resume-photo-section{flex-direction:column;align-items:center;display:flex}.resume-photo{object-fit:cover;border:2px solid #e8e8e8;border-radius:50%;width:80px;height:80px}.resume-photo-placeholder{background:#f5f5f5;border:2px dashed #d9d9d9;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:80px;height:80px;display:flex}.resume-name-section{flex:1}.resume-body{gap:20px;display:flex}.resume-main{flex:2}.resume-sidebar{flex:1;min-width:180px}.resume-section{margin-bottom:16px}.resume-section-title{color:#333;border-bottom:2px solid #1677ff;margin-bottom:8px;padding-bottom:4px;font-size:14px;font-weight:600}.resume-section-title-input{background:0 0;border:none!important;border-bottom:2px solid #1677ff!important;border-radius:0!important;padding:2px 6px!important}.resume-section-title-input:focus{box-shadow:none!important;border-bottom-color:#4096ff!important}.resume-input{width:100%;margin-bottom:4px}.resume-input:focus{border-bottom:2px solid #1677ff!important}.resume-textarea{resize:vertical;width:100%}.resume-experience-item{background:#fafafa;border-radius:6px;margin-bottom:8px;padding:10px 12px}.resume-detail-item{align-items:center;margin-bottom:8px;font-size:13px;display:flex}.resume-detail-item .resume-input{flex:1}.resume-skill-item{margin-bottom:12px}.resume-skill-bar{background:#f0f0f0;border-radius:3px;width:100%;height:6px;overflow:hidden}.resume-skill-fill{background:#1677ff;border-radius:3px;height:100%;transition:width .3s}.photo-album{max-height:500px;overflow-y:auto}.photo-upload-btn{cursor:pointer;border:2px dashed #d9d9d9;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:104px;height:104px;margin:8px;transition:border-color .3s;display:flex}.photo-upload-btn:hover{border-color:#1677ff}.photo-grid{grid-template-columns:repeat(3,1fr);gap:12px;padding:12px 0;display:grid}.photo-card{background:#fafafa;border-radius:8px;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000014}.photo-card img{display:block}.photo-caption{color:#666;cursor:pointer;min-height:28px;padding:6px 8px;font-size:12px}.photo-caption:hover{background:#f5f5f5}.photo-caption-input{border:none;border-bottom:1px solid #1677ff;outline:none;width:100%;padding:2px 0;font-size:12px}.photo-actions{justify-content:flex-end;gap:4px;padding:4px 8px;display:flex}@media (width<=1024px){.content-right{width:280px}.navbar-search{max-width:360px}}@media (width<=768px){.main-content{flex-direction:column}.content-right{border-top:1px solid #e8e8e8;border-left:none;width:100%;max-height:250px}.navbar{flex-wrap:wrap;gap:8px;padding:8px 12px}.navbar-search{order:3;width:100%;max-width:100%}.navbar-search .ant-input-affix-wrapper{width:100%!important}.logo-slogan{display:none}.logo-text{font-size:16px}.map-wrapper,.map-container{min-height:200px}.result-table{padding:0 8px 8px;overflow-x:auto}.ant-table{font-size:12px}.ant-table-cell{padding:6px 8px!important}}@media (width<=480px){.navbar{padding:6px 10px}.logo-text{letter-spacing:1px;font-size:14px}.navbar-actions .ant-btn-round{padding:4px 12px;font-size:12px}.map-wrapper{min-height:180px}.content-right{max-height:200px}.panel-section{padding:8px 10px}.kw-tag{padding:2px 6px;font-size:10px}}.register-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:flex-start;min-height:100vh;padding:20px;display:flex;overflow-y:auto}.register-container{width:100%;max-width:600px}.register-card{border-radius:12px;box-shadow:0 8px 32px #0000001a}.back-btn{margin-bottom:16px;font-size:14px;color:#fff!important}.id-info-box{background:#f6ffed;border:1px solid #b7eb8f;border-radius:6px;margin-bottom:16px;padding:12px}.confirm-info{background:#fafafa;border-radius:8px;padding:16px}.confirm-row{margin-bottom:8px;font-size:14px}.success-section{text-align:center;padding:40px 20px}.admin-page{background:#f0f2f5;min-height:100vh;padding:20px}.admin-container{max-width:1200px;margin:0 auto}.admin-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}@media (width<=768px){.admin-page{padding:12px}.admin-header{flex-direction:column;align-items:flex-start;gap:8px}.ant-card{margin-bottom:12px}.ant-statistic{text-align:center}.ant-statistic-title{font-size:12px}.ant-statistic-content{font-size:20px}.register-page{align-items:flex-start;padding:40px 12px 12px}.register-container{max-width:100%}.register-card{padding:16px}.ant-steps,.ant-steps-item-title{font-size:12px}}
