:root{font-family: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;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{max-width:1280px;margin:0 auto;padding:2rem;text-align:center;width:100%}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}*{margin:0;padding:0}body{font-family:Microsoft YaHei,sans-serif;background:linear-gradient(135deg,#f5f7fa,#e4e8eb);min-height:100vh;overflow-x:hidden}.app{padding:0;width:100%}.container{max-width:800px;margin:32px auto 0;display:block;padding:0 15px;width:100%}.card{background:#ffffffd9;color:#222;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:25px;box-shadow:0 4px 12px #0000001a;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.2)}.card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 30px #00000026}.card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(to bottom,#1890ff,#36cfc9);opacity:0;transition:opacity .4s ease}.card:hover:before{opacity:1}.card-header{font-size:1.8em;color:#1a1a1a;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #eee;position:relative;font-weight:600}.card-header:after{content:"";position:absolute;bottom:-2px;left:0;width:50px;height:2px;background:linear-gradient(to right,#1890ff,#36cfc9);transition:width .4s ease}.card:hover .card-header:after{width:100%}.card ul,.card li{color:#222}.card ul li:nth-child(1){color:#1890ff;background:#eaf4ff}.card ul li:nth-child(2){color:#36cfc9;background:#e6fcfa}.card ul li:nth-child(3){color:#ffb300;background:#fff8e1}.card ul li:nth-child(4){color:#f56c6c;background:#ffeaea}.card ul li:nth-child(5){color:#7c4dff;background:#f3e8ff}.card ul li:nth-child(6){color:#00bfae;background:#e0f7fa}.card ul li:nth-child(7){color:#ff6f91;background:#ffe3ec}.card ul li:nth-child(8){color:#3d5afe;background:#e3eaff}.card ul li{border-radius:10px;margin-bottom:10px;padding:10px 18px;font-weight:500;transition:background .2s,color .2s}.nav-menu{position:fixed;top:20px;left:50%;transform:translate(-50%);right:auto;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:15px;border-radius:15px;box-shadow:0 4px 12px #0000001a;z-index:1000;width:95%;max-width:600px;transition:opacity .3s ease-in-out,transform .3s ease-in-out}.nav-menu.is-hidden{opacity:0;transform:translateY(-100%);pointer-events:none}.nav-menu ul{display:flex;gap:15px;list-style:none;margin:0;padding:0;justify-content:center;flex-wrap:wrap}.nav-menu li{margin:0;padding:0}.nav-menu a{color:#666;text-decoration:none;padding:8px 15px;border-radius:20px;transition:all .3s ease;font-size:.9em}.nav-menu a:hover,.nav-menu a.active{background:#1890ff;color:#fff}.basic-info{display:flex;flex-direction:column;align-items:center;gap:20px;background:linear-gradient(135deg,#f6f8fa,#fff);padding:20px;width:100%}.avatar{width:100px;height:100px;border-radius:50%;background:#e0e0e0;border:4px solid #fff;box-shadow:0 8px 20px #0000001a;transition:all .4s ease;position:relative;overflow:hidden;margin-bottom:10px}.download-btn{display:block;width:120px;margin:0 auto 10px;padding:8px 0;background:linear-gradient(90deg,#1890ff 60%,#36cfc9);color:#fff;font-weight:600;font-size:1.2em;font-family:zhengkai;border:none;border-radius:22px;box-shadow:0 2px 8px #1890ff1a;cursor:pointer;transition:background .2s,box-shadow .2s;text-align:center;letter-spacing:1px}.download-btn:hover{background:linear-gradient(90deg,#36cfc9,#1890ff);box-shadow:0 4px 16px #1890ff2e}.info-content{flex:1;width:100%}.info-content h2{font-size:2em;font-weight:800;background:linear-gradient(90deg,#1890ff 20%,#36cfc9 80%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px;letter-spacing:1px;text-align:center}.info-content .job-title{display:inline-block;background:#eaf4ff;color:#1890ff;font-size:1em;font-weight:600;border-radius:16px;padding:4px 15px;margin-bottom:10px;margin-top:0;letter-spacing:1px}.info-content .info-list{margin-top:15px;margin-bottom:10px}.info-content .info-row{display:flex;align-items:center;gap:8px;font-size:1em;color:#333;margin-bottom:6px;padding-left:0}.info-content .info-icon{font-size:1.1em;color:#36cfc9;margin-right:4px;min-width:1.2em;text-align:center}.skill-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px;justify-content:center}.skill-tag{background:#1890ff1a;padding:6px 15px;border-radius:20px;font-size:.9em;color:#1890ff;transition:all .3s ease;border:1px solid rgba(24,144,255,.2)}.skill-tag:hover{background:#1890ff;color:#fff;transform:scale(1.05) translateY(-2px);box-shadow:0 4px 12px #1890ff33}.info-list{margin-top:15px;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #1890ff0a}.info-row{display:flex;align-items:center;padding:12px 15px;font-size:1em;transition:background .3s}.info-row:nth-child(odd){background:#1890ff0a}.info-row:nth-child(2n){background:#fff}.info-label{min-width:60px;color:#1890ff;font-weight:500;margin-right:10px}.info-value{flex:1;color:#222;word-break:break-all}.timeline{position:relative;padding-left:20px}.timeline:before{content:"";position:absolute;left:0;top:0;height:100%;width:2px;background:linear-gradient(to bottom,#1890ff,#36cfc9)}.timeline-item{position:relative;padding-bottom:20px;transition:all .3s ease}.timeline-item:hover{transform:translate(5px)}.timeline-item:before{content:"";position:absolute;left:-24px;top:0;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #1890ff;box-shadow:0 0 0 3px #1890ff1a;transition:all .3s ease}.timeline-item:hover:before{transform:scale(1.1);box-shadow:0 0 0 5px #1890ff33}.timeline-item:hover .timeline-content{color:#1890ff;font-weight:600;background:#eaf4ff;border-radius:8px;transition:color .2s,background .2s}.project-list{max-width:none;margin:0 auto}.project-block{background:#fafafae6;padding:20px;border-radius:15px;transition:all .4s ease;border:1px solid rgba(0,0,0,.05);margin-bottom:20px}.project-block:hover{transform:translateY(-8px);box-shadow:0 8px 20px #0000001a;background:#fff}.project-title{color:#1890ff;margin-bottom:10px;font-size:1.3em}.project-section{margin-bottom:12px;padding:12px 0;border-bottom:1px solid #f0f0f0}.project-section.alt{background:#f7fafd;border-radius:8px;padding:12px}.section-title{font-weight:600;color:#36cfc9;margin-bottom:4px}.section-content{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:#222;font-size:1em;line-height:1.6}.section-list{margin:10px 0 0;padding-left:15px;color:#1890ff}.section-list li{background:#1890ff0d;border-radius:6px;margin-bottom:6px;padding:8px 12px;transition:background .2s}.section-list li:nth-child(2n){background:#f7fafd}.project-link{margin-top:10px;font-size:.95em}.project-link a{color:#1890ff;text-decoration:underline}.project-section .section-content .skill-tag{font-size:.65em;padding:4px 10px;color:#0070c9}.project-section .section-content .skill-tag:hover{background:#1890ff;color:#fff;transform:scale(1.05) translateY(-2px);box-shadow:0 4px 12px #1890ff33}.organization-stack{perspective:1000px}.org-card{background:#fafafae6;padding:20px;margin-bottom:20px;border-radius:15px;transform-style:preserve-3d;transition:all .4s ease;border:1px solid rgba(0,0,0,.05)}.org-card:hover{transform:translateZ(20px) rotateX(3deg);box-shadow:0 8px 20px #0000001a;background:#fff}.org-card h3{margin-bottom:8px}.org-card p{margin-bottom:6px;font-size:.95em;color:#555}.org-card ul.timeline{margin:10px 0 0;padding:0;list-style:none}.org-card .timeline-item{background:#f7fafd;border-radius:8px;margin-bottom:8px;padding:10px 12px;color:#222;font-size:.95em;line-height:1.6;transition:background .2s;position:relative;left:0}.tree-node.tree-main{font-size:1.2em;color:#1769aa;border-width:2px;background:#eaf4ff;padding:5px 12px}.tree-node.tree-branch{font-size:1em;color:#1890ff;border-color:#36cfc9;background:#f7fafd;font-weight:600;padding:5px 10px}.tree-node{display:inline-block;border:2px solid #1890ff;border-radius:8px;padding:6px 16px;background:#fff;color:#1890ff;font-weight:700;margin-bottom:4px;box-shadow:0 2px 8px #1890ff0f;min-width:80px;text-align:center}@media (max-width: 768px){.container{padding:0 8px;width:100%;margin-left:auto;margin-right:auto}.basic-info{flex-direction:column;text-align:center;gap:10px;padding:10px}.avatar{width:70px;height:70px}.download-btn{margin:0 auto 8px;width:100px;font-size:1.1em}.info-content h2{font-size:1.6em}.info-content .job-title{font-size:.8em;padding:3px 10px}.info-content .info-row{font-size:.9em;gap:4px}.info-content .info-icon{min-width:1em;margin-right:2px}.skill-tags{gap:6px;margin-top:8px}.skill-tag{padding:4px 10px;font-size:.7em}.info-list{margin-top:8px}.info-row{padding:8px 10px}.info-label{min-width:40px;margin-right:6px}.timeline{padding-left:10px}.timeline-item{padding-bottom:10px}.timeline-item:before{left:-14px;width:6px;height:6px;border-width:1px;box-shadow:0 0 0 2px #1890ff14}.timeline-item:hover:before{box-shadow:0 0 0 3px #1890ff26}.project-block{padding:10px;margin-bottom:10px}.project-section.alt{padding:8px}.section-content{gap:6px;line-height:1.5}.section-list{margin-top:6px;padding-left:8px}.section-list li{padding:4px 8px;font-size:.8em}.project-link{margin-top:6px;font-size:.85em}.project-section .section-content .skill-tag{padding:2px 6px;font-size:.55em}.org-card{padding:10px;margin-bottom:10px}.org-card h3{font-size:.9em}.org-card p{font-size:.85em}.org-card ul.timeline{margin-top:6px}.org-card .timeline-item{padding:6px 8px;font-size:.85em}.tree{padding:10px 0 0}.tree ul{padding-top:8px}.tree li{padding:8px 1px 0}.tree li:before,.tree li:after{height:8px}.tree-node.tree-main{font-size:1em;padding:3px 8px}.tree-node.tree-branch{font-size:.8em;padding:3px 6px}.tree-node{padding:4px 8px;min-width:60px}.nav-menu{padding:8px 5px;width:100%;transform:translate(-50%);left:50%;right:auto}.nav-menu ul{gap:5px;justify-content:center;flex-wrap:wrap}.nav-menu a{padding:5px 8px;font-size:.7em}}.org-card ul.timeline{margin:12px 0 0;padding:0;list-style:none}.org-card .timeline-item{background:#f7fafd;border-radius:8px;margin-bottom:8px;padding:10px 16px;color:#222;font-size:1em;line-height:1.7;transition:background .2s;position:relative;left:0}.org-card .timeline-item:nth-child(2n){background:#eaf4ff}.tree{width:100%;overflow-x:auto;padding:20px 0 0}.tree ul{padding-top:15px;position:relative;display:flex;justify-content:center;flex-wrap:wrap;transition:all .5s}.tree li{display:flex;flex-direction:column;align-items:center;list-style-type:none;position:relative;padding:15px 3px 0;transition:all .5s}.tree li:before,.tree li:after{content:"";position:absolute;top:0;right:50%;border-top:2px solid #b3d8ff;width:50%;height:15px}.tree li:after{right:auto;left:50%;border-left:2px solid #b3d8ff}.tree li:only-child:before,.tree li:only-child:after{display:none}.tree li:only-child{padding-top:0}.tree li:first-child:before,.tree li:last-child:after{border:0 none}.tree li:last-child:before{border-right:2px solid #b3d8ff;border-radius:0 5px 0 0}.tree li:first-child:after{border-radius:5px 0 0}.tree-node.tree-main{font-size:1.1em;color:#1769aa;border-width:2px;background:#eaf4ff;padding:4px 10px}.tree-node.tree-branch{font-size:.9em;color:#1890ff;border-color:#36cfc9;background:#f7fafd;font-weight:600;padding:4px 8px}.tree-node{display:inline-block;border:2px solid #1890ff;border-radius:8px;padding:5px 10px;background:#fff;color:#1890ff;font-weight:700;margin-bottom:4px;box-shadow:0 2px 8px #1890ff0f;min-width:70px;text-align:center}@keyframes timelineFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card.active .timeline-item{opacity:0;animation:timelineFadeInUp .5s ease-out forwards}.card.active .timeline-item:nth-child(1){animation-delay:.1s}.card.active .timeline-item:nth-child(2){animation-delay:.2s}.card.active .timeline-item:nth-child(3){animation-delay:.3s}.card.active .timeline-item:nth-child(4){animation-delay:.4s}.card.active .timeline-item:nth-child(5){animation-delay:.5s}.card.active .timeline-item:nth-child(6){animation-delay:.6s}.card.active .timeline-item:nth-child(7){animation-delay:.7s}
