.hexagon-bg[data-v-16b606ea]{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}.layout-container[data-v-c9914278]{background-color:var(--el-bg-color-page);flex-direction:column;min-height:100vh;display:flex}.header[data-v-c9914278]{background-color:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--el-border-color-light);z-index:100;height:64px;padding:0;position:sticky;top:0;box-shadow:0 2px 8px #0000000a}.header .header-content[data-v-c9914278]{justify-content:space-between;align-items:center;max-width:1200px;height:100%;margin:0 auto;padding:0 20px;display:flex}.header .logo a[data-v-c9914278]{align-items:center;gap:10px;text-decoration:none;transition:opacity .3s;display:flex}.header .logo a[data-v-c9914278]:hover{opacity:.8}.header .logo .logo-icon[data-v-c9914278]{color:var(--el-color-primary);background:var(--el-color-primary-light-9);border-radius:8px;padding:6px;font-size:28px}.header .logo .logo-text[data-v-c9914278]{color:var(--el-text-color-primary);letter-spacing:.5px;font-size:20px;font-weight:700}.header .nav-right[data-v-c9914278]{align-items:center;gap:16px;display:flex}.header .theme-toggle[data-v-c9914278]{border:1px solid var(--el-border-color);cursor:pointer;width:32px;height:32px;color:var(--el-text-color-primary);background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex}.header .theme-toggle[data-v-c9914278]:hover{background-color:var(--el-fill-color);color:var(--el-color-primary)}.header .nav-menu[data-v-c9914278]{background:0 0;border-bottom:none}.header .nav-menu .el-menu-item[data-v-c9914278]{color:var(--el-text-color-regular);background:0 0;font-size:16px;font-weight:500}.header .nav-menu .el-menu-item[data-v-c9914278]:hover,.header .nav-menu .el-menu-item.is-active[data-v-c9914278]{color:var(--el-color-primary);background:0 0!important}.header .nav-menu .el-menu-item.is-active[data-v-c9914278]{border-bottom:2px solid var(--el-color-primary);font-weight:600}.header .mobile-menu-btn[data-v-c9914278]{cursor:pointer;color:var(--el-text-color-primary);border-radius:8px;padding:8px;font-size:24px;transition:background-color .2s;display:none}.header .mobile-menu-btn[data-v-c9914278]:hover{background-color:var(--el-fill-color)}.main[data-v-c9914278]{flex:1;padding:0;overflow:visible}.footer[data-v-c9914278]{background-color:var(--el-bg-color);border-top:1px solid var(--el-border-color-light);text-align:center;color:var(--el-text-color-secondary);padding:30px 0;font-size:14px}.footer .container[data-v-c9914278]{flex-direction:column;align-items:center;gap:15px;display:flex}.footer .social-links[data-v-c9914278]{align-items:center;gap:15px;display:flex}.footer .social-links a[data-v-c9914278]{color:var(--el-text-color-regular);transition:color .2s}.footer .social-links a[data-v-c9914278]:hover{color:var(--el-color-primary)}.footer .social-links .divider[data-v-c9914278]{color:var(--el-border-color)}@media (max-width:768px){.header .desktop-menu[data-v-c9914278]{display:none}.header .mobile-menu-btn[data-v-c9914278]{display:block}.header .logo-text[data-v-c9914278]{font-size:18px}}.mobile-menu-content[data-v-c9914278]{background:var(--el-bg-color);flex-direction:column;height:100%;padding:0;display:flex}.mobile-menu-content .mobile-menu-header[data-v-c9914278]{justify-content:space-between;align-items:center;margin-bottom:20px;padding:20px;display:flex}.mobile-menu-content .mobile-menu-header .menu-title[data-v-c9914278]{color:var(--el-text-color-primary);font-size:24px;font-weight:800}.mobile-menu-content .mobile-menu-header .close-btn[data-v-c9914278]{color:var(--el-text-color-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:8px;font-size:24px;transition:all .3s;display:flex}.mobile-menu-content .mobile-menu-header .close-btn[data-v-c9914278]:hover{background:var(--el-fill-color);color:var(--el-text-color-primary)}.mobile-menu-content .mobile-menu-items[data-v-c9914278]{flex-direction:column;flex:1;justify-content:center;padding:0 40px;display:flex}.mobile-menu-content .mobile-menu-items .mobile-menu[data-v-c9914278]{background:0 0;border:none}.mobile-menu-content .mobile-menu-items .mobile-menu .el-menu-item[data-v-c9914278]{height:60px;color:var(--el-text-color-regular);border-radius:12px;margin-bottom:10px;font-size:20px;font-weight:600;line-height:60px}.mobile-menu-content .mobile-menu-items .mobile-menu .el-menu-item[data-v-c9914278]:hover,.mobile-menu-content .mobile-menu-items .mobile-menu .el-menu-item.is-active[data-v-c9914278]{color:var(--el-color-primary);background:var(--el-color-primary-light-9)!important}.mobile-menu-content .mobile-menu-items .mobile-menu .el-menu-item .el-icon[data-v-c9914278]{margin-right:15px;font-size:22px}.mobile-menu-content .mobile-menu-footer[data-v-c9914278]{text-align:center;padding:30px}.mobile-menu-content .mobile-menu-footer .copyright[data-v-c9914278]{color:var(--el-text-color-secondary);font-size:14px}.decrypted-text[data-v-0331a50f]{white-space:pre;font-family:monospace;display:inline-block}.home[data-v-397feca9]{overflow-x:hidden}.hero-section[data-v-397feca9]{background:var(--el-color-primary-light-9);justify-content:center;align-items:center;min-height:550px;padding:40px 20px;display:flex;position:relative;overflow:hidden}.hero-section .hero-content[data-v-397feca9]{z-index:10;text-align:center;max-width:800px;position:relative}.hero-section .avatar-box[data-v-397feca9]{width:120px;height:120px;margin:0 auto 30px;position:relative}.hero-section .avatar-box .avatar-circle[data-v-397feca9]{color:#fff;z-index:2;background:linear-gradient(135deg,#409eff,#3a8ee6);border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:48px;font-weight:700;display:flex;position:relative;box-shadow:0 10px 25px #409eff4d}.hero-section .avatar-box .avatar-ring[data-v-397feca9]{border:3px solid var(--el-color-primary);opacity:.3;border-radius:50%;animation:2s infinite pulse-397feca9;position:absolute;inset:-10px}.hero-section .text-content[data-v-397feca9]{text-align:left;flex:1}.hero-section .name[data-v-397feca9]{color:var(--el-text-color-primary);margin:0 0 10px;font-size:42px;font-weight:800}.hero-section .name .highlight[data-v-397feca9]{color:var(--el-color-primary);display:inline-block;position:relative}.hero-section .name .highlight .name-text[data-v-397feca9]{font-family:inherit}.hero-section .name .highlight[data-v-397feca9]:after{content:"";background:var(--el-color-primary-light-8);z-index:-1;width:100%;height:8px;position:absolute;bottom:5px;left:0}.hero-section .title[data-v-397feca9]{color:var(--el-text-color-regular);margin:0 0 25px;font-size:24px;font-weight:500}.hero-section .intro[data-v-397feca9]{color:var(--el-text-color-secondary);max-width:800px;margin:0 auto 40px;font-size:18px;line-height:1.8}.hero-section .intro p[data-v-397feca9]{margin:8px 0}.hero-section .actions[data-v-397feca9]{justify-content:center;gap:20px;display:flex}.hero-section .actions .el-button[data-v-397feca9]{border-radius:8px;height:auto;padding:12px 30px;font-size:16px;font-weight:600;transition:transform .2s}.hero-section .actions .el-button[data-v-397feca9]:hover{transform:translateY(-2px)}.hero-section .actions .primary-btn[data-v-397feca9]{box-shadow:0 8px 15px #409eff40}.hero-section .bg-shape[data-v-397feca9]{filter:blur(80px);z-index:1;border-radius:50%;position:absolute}.hero-section .shape-1[data-v-397feca9]{background:var(--el-color-primary-light-9);width:400px;height:400px;top:-100px;right:-50px}.hero-section .shape-2[data-v-397feca9]{background:var(--el-color-success-light-9);width:300px;height:300px;bottom:-50px;left:-100px}.features-section[data-v-397feca9]{background:var(--el-bg-color);padding:60px 20px 80px}.features-section .container[data-v-397feca9]{max-width:1200px;margin:0 auto}.features-section .section-title[data-v-397feca9]{text-align:center;color:var(--el-text-color-primary);margin-bottom:50px;font-size:32px;font-weight:700}.features-section .features-grid[data-v-397feca9]{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;display:grid}@media (max-width:768px){.features-section .features-grid[data-v-397feca9]{grid-template-columns:1fr;gap:20px;margin:0;padding:0}}.features-section .feature-card[data-v-397feca9]{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);text-align:center;border-radius:16px;padding:40px 30px;transition:all .3s;position:relative;overflow:hidden}.features-section .feature-card[data-v-397feca9]:hover{border-color:var(--el-border-color-lighter);transform:translateY(-10px);box-shadow:0 20px 40px #00000014}.features-section .feature-card .icon-box[data-v-397feca9]{border-radius:20px;justify-content:center;align-items:center;width:70px;height:70px;margin:0 auto 25px;font-size:32px;transition:transform .3s;display:flex}.features-section .feature-card .icon-box.blue[data-v-397feca9]{background:var(--el-color-primary-light-9);color:var(--el-color-primary)}.features-section .feature-card .icon-box.green[data-v-397feca9]{background:var(--el-color-success-light-9);color:var(--el-color-success)}.features-section .feature-card .icon-box.purple[data-v-397feca9]{background:var(--el-color-danger-light-9);color:var(--el-color-danger)}.features-section .feature-card:hover .icon-box[data-v-397feca9]{transform:scale(1.1)rotate(5deg)}.features-section .feature-card h3[data-v-397feca9]{color:var(--el-text-color-primary);margin-bottom:15px;font-size:22px}.features-section .feature-card p[data-v-397feca9]{color:var(--el-text-color-regular);font-size:15px;line-height:1.6}.tech-section[data-v-397feca9]{background:var(--el-fill-color-light);border-top:1px solid var(--el-border-color-lighter);padding:40px 0}.tech-section .tech-bar[data-v-397feca9]{color:var(--el-text-color-secondary);flex-wrap:wrap;justify-content:center;align-items:center;gap:15px;font-size:18px;font-weight:500;display:flex}.tech-section .tech-bar .tech-item[data-v-397feca9]{color:var(--el-text-color-regular)}.tech-section .tech-bar .dot[data-v-397feca9]{color:var(--el-border-color)}@keyframes pulse-397feca9{0%{opacity:.5;transform:scale(1)}50%{opacity:.2;transform:scale(1.1)}to{opacity:.5;transform:scale(1)}}@media (max-width:768px){.hero-section[data-v-397feca9]{min-height:auto;padding:60px 20px 40px}.hero-section .hero-content[data-v-397feca9]{width:100%;padding:0}.hero-section .avatar-box[data-v-397feca9]{width:100px;height:100px;margin-bottom:20px}.hero-section .avatar-box .avatar-circle[data-v-397feca9]{font-size:40px}.hero-section .name[data-v-397feca9]{text-align:center;margin-bottom:5px;font-size:32px}.hero-section .title[data-v-397feca9]{text-align:center;margin-bottom:20px;font-size:16px}.hero-section .intro[data-v-397feca9]{text-align:center;margin-bottom:30px;padding:0 10px;font-size:15px}.hero-section .actions[data-v-397feca9]{flex-direction:column;gap:15px;max-width:100%;margin:0 auto}.hero-section .actions .el-button[data-v-397feca9]{width:100%;height:48px;margin:0}.hero-section .text-content[data-v-397feca9]{text-align:center}.features-section[data-v-397feca9]{padding:50px 20px}.features-section .section-title[data-v-397feca9]{margin-bottom:30px;font-size:26px}.features-section .feature-card[data-v-397feca9]{padding:30px 20px}}.resume-wrapper[data-v-09c207ec]{min-height:100vh;padding:40px 0;font-family:Helvetica Neue,Helvetica,PingFang SC,Microsoft YaHei,Arial,sans-serif}.resume-card[data-v-09c207ec]{background:var(--el-bg-color-overlay);border-radius:12px;max-width:1100px;min-height:1200px;margin:0 auto;display:flex;overflow:hidden;box-shadow:0 12px 24px #0000000a}.sidebar[data-v-09c207ec]{background:var(--el-color-primary-light-9);width:300px}.sidebar[data-v-09c207ec]{border-right:1px solid var(--el-border-color-light);flex-shrink:0;padding:40px 30px}.sidebar .profile-section[data-v-09c207ec]{text-align:center;margin-bottom:30px}.sidebar .profile-section .avatar-placeholder[data-v-09c207ec]{color:#fff;background:linear-gradient(135deg,#409eff,#3a8ee6);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 20px;font-size:36px;font-weight:700;display:flex;box-shadow:0 4px 10px #409eff4d}.sidebar .profile-section .name[data-v-09c207ec]{color:var(--el-text-color-primary);margin:0 0 8px;font-size:24px;font-weight:700}.sidebar .profile-section .title[data-v-09c207ec]{color:var(--el-text-color-regular);margin:0;font-size:16px;font-weight:500}.sidebar .divider[data-v-09c207ec]{background:var(--el-border-color);height:1px}.sidebar .divider[data-v-09c207ec]{margin:25px 0}.sidebar .sidebar-section[data-v-09c207ec]{margin-bottom:20px}.sidebar .sidebar-section .sidebar-title[data-v-09c207ec]{color:var(--el-text-color-primary);align-items:center;gap:10px;margin-bottom:20px;font-size:18px;font-weight:600;display:flex}.sidebar .sidebar-section .sidebar-title .el-icon[data-v-09c207ec]{color:#409eff}.sidebar .contact-info .info-item[data-v-09c207ec]{color:var(--el-text-color-regular);align-items:center;margin-bottom:15px;font-size:14px;line-height:1.5;display:flex}.sidebar .contact-info .info-item .el-icon[data-v-09c207ec]{color:var(--el-text-color-secondary);margin-right:12px;font-size:16px}.sidebar .contact-info .info-item a[data-v-09c207ec]{color:#409eff;text-decoration:none;transition:color .2s}.sidebar .contact-info .info-item a[data-v-09c207ec]:hover{color:var(--el-text-color-primary)}.sidebar .skills .skill-group[data-v-09c207ec]{margin-bottom:20px}.sidebar .skills .skill-group .skill-category[data-v-09c207ec]{color:var(--el-text-color-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;font-size:14px;font-weight:600}.sidebar .skills .skill-group .skill-tags[data-v-09c207ec]{flex-wrap:wrap;gap:8px;display:flex}.sidebar .skills .skill-group .skill-tags .skill-tag[data-v-09c207ec]{background:var(--el-fill-color-blank);border:1px solid var(--el-border-color);color:var(--el-text-color-regular);border-radius:6px;padding:4px 10px;font-size:13px;transition:all .2s}.sidebar .skills .skill-group .skill-tags .skill-tag[data-v-09c207ec]:hover{color:#409eff;background:#409eff0d;border-color:#409eff}.main-content[data-v-09c207ec]{background:var(--el-bg-color-overlay);flex:1;padding:50px 60px}.content-section[data-v-09c207ec]{margin-bottom:50px}.content-section .section-header[data-v-09c207ec]{align-items:center;margin-bottom:30px;display:flex}.content-section .section-header .header-icon-box[data-v-09c207ec]{background:#409eff1a;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;margin-right:15px;display:flex}.content-section .section-header .header-icon-box .el-icon[data-v-09c207ec]{color:#409eff;font-size:20px}.content-section .section-header h2[data-v-09c207ec]{color:var(--el-text-color-primary);margin:0;font-size:22px;font-weight:700}.items-grid[data-v-09c207ec]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.items-grid .project-card[data-v-09c207ec]{background:var(--el-bg-color);border:1px solid var(--el-border-color-lighter);border-radius:10px;padding:20px;transition:all .3s}.items-grid .project-card[data-v-09c207ec]:hover{border-color:var(--el-border-color);transform:translateY(-5px);box-shadow:0 8px 20px #0000000d}.items-grid .project-card .card-top[data-v-09c207ec]{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.items-grid .project-card .card-top .title-row[data-v-09c207ec]{align-items:center;gap:8px;display:flex}.items-grid .project-card .card-top .title-row .item-title[data-v-09c207ec]{color:var(--el-text-color-primary);margin:0;font-size:16px}.items-grid .project-card .card-top .title-row .link-icon[data-v-09c207ec]{color:var(--el-text-color-secondary);transition:color .2s}.items-grid .project-card .card-top .title-row .link-icon[data-v-09c207ec]:hover{color:#409eff}.items-grid .project-card .item-desc[data-v-09c207ec]{color:var(--el-text-color-regular);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 15px;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.items-grid .project-card .details-preview[data-v-09c207ec]{color:var(--el-text-color-secondary);align-items:flex-start;font-size:13px;display:flex}.items-grid .project-card .details-preview .detail-dot[data-v-09c207ec]{background:#409eff;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:6px;margin-right:8px}.items-grid .project-card .details-preview span[data-v-09c207ec] p{margin:0}.timeline-wrapper[data-v-09c207ec]{position:relative}.timeline-wrapper[data-v-09c207ec]:before{content:"";background:var(--el-border-color);width:2px;position:absolute;top:10px;bottom:0;left:140px}html.dark{background:#ffffff26}.timeline-wrapper .timeline-item[data-v-09c207ec]{margin-bottom:40px;display:flex;position:relative}.timeline-wrapper .timeline-item .timeline-left[data-v-09c207ec]{text-align:right;box-sizing:border-box;flex-shrink:0;width:160px;padding-right:40px}.timeline-wrapper .timeline-item .timeline-left .period[data-v-09c207ec]{color:var(--el-text-color-secondary);margin-top:2px;font-size:14px;font-weight:500;display:block}.timeline-wrapper .timeline-item .timeline-content[data-v-09c207ec]{flex:1;padding-left:10px}.timeline-wrapper .timeline-item .timeline-content[data-v-09c207ec]:before{content:"";background:var(--el-bg-color);z-index:1;border:3px solid #409eff;border-radius:50%;width:12px;height:12px;position:absolute;top:6px;left:135px}.timeline-wrapper .timeline-item .timeline-content .job-header[data-v-09c207ec]{margin-bottom:12px}.timeline-wrapper .timeline-item .timeline-content .job-header .company[data-v-09c207ec]{color:var(--el-text-color-primary);margin:0 0 4px;font-size:18px}.timeline-wrapper .timeline-item .timeline-content .job-header .role[data-v-09c207ec]{color:#409eff;font-size:14px;font-weight:500}.detail-list[data-v-09c207ec]{margin:0;padding:0;list-style:none}.detail-list li[data-v-09c207ec]{color:var(--el-text-color-regular);align-items:flex-start;margin-bottom:8px;font-size:14px;line-height:1.6;display:flex;position:relative}.detail-list li .list-icon[data-v-09c207ec]{color:#409eff;flex-shrink:0;margin-top:4px;margin-right:8px;font-size:12px}.detail-list li[data-v-09c207ec] strong{color:var(--el-text-color-primary);font-weight:600}.detail-list li[data-v-09c207ec] p{margin:0}.items-list .item-block[data-v-09c207ec]{border-bottom:1px solid var(--el-border-color-lighter);margin-bottom:35px;padding-bottom:30px}.items-list .item-block[data-v-09c207ec]:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.items-list .item-block .item-header[data-v-09c207ec]{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.items-list .item-block .item-header .header-main[data-v-09c207ec]{align-items:baseline;gap:12px;display:flex}.items-list .item-block .item-header .header-main .item-title[data-v-09c207ec]{color:var(--el-text-color-primary);margin:0;font-size:18px}.items-list .item-block .item-header .header-main .role-text[data-v-09c207ec]{color:#67c23a;background:#67c23a1a;border-radius:4px;padding:2px 8px;font-size:14px}.items-list .item-block .item-header .period[data-v-09c207ec]{color:var(--el-text-color-secondary);font-size:14px}.items-list .item-block .item-desc[data-v-09c207ec]{color:var(--el-text-color-regular);margin:0 0 15px;font-size:15px}@media (max-width:900px){.resume-wrapper[data-v-09c207ec]{padding:20px 0}.resume-card[data-v-09c207ec]{flex-direction:column;margin:0 15px;box-shadow:0 4px 12px #0000000d}.sidebar[data-v-09c207ec]{border-right:none;border-bottom:1px solid var(--el-border-color-light);box-sizing:border-box;width:100%;padding:30px 20px}.sidebar .profile-section[data-v-09c207ec]{flex-direction:column;align-items:center;display:flex}.sidebar .contact-info[data-v-09c207ec]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.sidebar .contact-info .info-item[data-v-09c207ec]{justify-content:center;margin-bottom:0}.main-content[data-v-09c207ec]{padding:30px 20px}.timeline-wrapper[data-v-09c207ec]:before{display:none}.timeline-wrapper .timeline-item[data-v-09c207ec]{background:var(--el-bg-color-page);border:1px solid var(--el-border-color-lighter);border-radius:12px;flex-direction:column;margin-bottom:20px;padding:20px}.timeline-wrapper .timeline-item .timeline-left[data-v-09c207ec]{text-align:left;box-sizing:border-box;width:100%;margin-bottom:12px;padding:0}.timeline-wrapper .timeline-item .timeline-left .period[data-v-09c207ec]{background:var(--el-color-primary-light-9);color:#1890ff;border-radius:4px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-block}.timeline-wrapper .timeline-item .timeline-content[data-v-09c207ec]{padding-left:0}.timeline-wrapper .timeline-item .timeline-content[data-v-09c207ec]:before{display:none}.timeline-wrapper .timeline-item .timeline-content .job-header[data-v-09c207ec]{margin-bottom:15px}.timeline-wrapper .timeline-item .timeline-content .job-header .company[data-v-09c207ec]{color:var(--el-text-color-primary);margin-bottom:6px;font-size:18px;display:block}.timeline-wrapper .timeline-item .timeline-content .job-header .role[data-v-09c207ec]{color:var(--el-text-color-regular);font-size:15px;font-weight:500}.timeline-wrapper .timeline-item .timeline-content .detail-list li[data-v-09c207ec]{margin-bottom:10px;padding-left:0}.timeline-wrapper .timeline-item .timeline-content .detail-list li .list-icon[data-v-09c207ec]{margin-top:5px}}@media (max-width:600px){.resume-wrapper[data-v-09c207ec]{padding:0}.resume-card[data-v-09c207ec]{box-shadow:none;border:none;border-radius:0;margin:0}.sidebar[data-v-09c207ec]{background:var(--el-bg-color);padding:30px 20px}.main-content[data-v-09c207ec]{padding:30px 20px}.timeline-item[data-v-09c207ec]{padding:15px!important}}@media (max-width:480px){.sidebar .contact-info[data-v-09c207ec]{grid-template-columns:1fr}.sidebar .contact-info .info-item[data-v-09c207ec]{justify-content:flex-start}}.projects .page-header[data-v-cd149dae]{text-align:center;margin-bottom:40px}.projects .page-header h1[data-v-cd149dae]{margin-bottom:10px;font-size:32px}.projects .page-header p[data-v-cd149dae]{color:var(--el-text-color-secondary);font-size:16px}.projects .col-item[data-v-cd149dae]{margin-bottom:20px}.projects .project-card[data-v-cd149dae]{flex-direction:column;height:100%;display:flex}.projects .project-card[data-v-cd149dae] .el-card__body{flex-direction:column;flex:1;display:flex}.projects .project-card .card-header[data-v-cd149dae]{justify-content:space-between;align-items:center;display:flex}.projects .project-card .card-header .header-left[data-v-cd149dae]{align-items:center;gap:10px;display:flex}.projects .project-card .card-header .header-left h3[data-v-cd149dae]{margin:0;font-size:18px}.projects .project-card .description[data-v-cd149dae]{color:var(--el-text-color-regular);min-height:48px;margin-bottom:20px;line-height:1.5}.projects .project-card .contributions[data-v-cd149dae]{background:var(--el-fill-color-light);border-radius:4px;margin-bottom:20px;padding:10px}.projects .project-card .contributions h4[data-v-cd149dae]{color:var(--el-text-color-primary);margin:0 0 10px;font-size:14px}.projects .project-card .contributions ul[data-v-cd149dae]{margin:0;padding-left:20px}.projects .project-card .contributions ul li[data-v-cd149dae]{color:var(--el-text-color-regular);margin-bottom:4px;font-size:13px}.projects .project-card .tags[data-v-cd149dae]{margin-top:auto}.projects .project-card .tags .tag-item[data-v-cd149dae]{margin-bottom:8px;margin-right:8px}@media (max-width:768px){.projects[data-v-cd149dae]{padding:0 10px}.projects .page-header[data-v-cd149dae]{margin-bottom:30px}.projects .page-header h1[data-v-cd149dae]{font-size:26px}.projects .page-header p[data-v-cd149dae]{padding:0 10px;font-size:14px}.projects .el-col[data-v-cd149dae]{margin-bottom:20px;flex:0 0 100%!important;width:100%!important;max-width:100%!important}.projects .project-card[data-v-cd149dae]{border-left:none;border-right:none;border-radius:0;margin:0 -10px}.projects .project-card .card-header[data-v-cd149dae]{flex-direction:column;align-items:flex-start;gap:12px}.projects .project-card .card-header .header-left[data-v-cd149dae]{justify-content:space-between;align-items:flex-start;width:100%}.projects .project-card .card-header .header-left h3[data-v-cd149dae]{white-space:normal;flex:1;margin-right:10px;font-size:18px;line-height:1.4}.projects .project-card .card-header .github-link[data-v-cd149dae]{width:100%}.projects .project-card .card-header .github-link .el-button[data-v-cd149dae]{background-color:var(--el-fill-color-lighter);justify-content:center;width:100%;height:40px}.projects .project-card .card-header .github-link .el-button[data-v-cd149dae]:hover{background-color:var(--el-fill-color)}.projects .project-card .description[data-v-cd149dae]{margin-bottom:15px;font-size:14px}.projects .project-card .contributions h4[data-v-cd149dae]{font-size:14px}.projects .project-card .contributions ul li[data-v-cd149dae]{font-size:13px}.projects .project-card .tags[data-v-cd149dae]{margin-top:15px}.projects .project-card .tags .tag-item[data-v-cd149dae]{margin-bottom:8px}}html,body{-webkit-font-smoothing:antialiased;background-color:var(--el-bg-color);color:var(--el-text-color-primary);margin:0;padding:0;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;transition:background-color .3s,color .3s}html.dark{--bg-color:#0f172a;--text-color:#e2e8f0;--primary-color:#3b82f6;--el-bg-color:var(--bg-color);--el-bg-color-page:#0f172a;--el-text-color-primary:var(--text-color);--el-text-color-regular:#cbd5e1;--el-text-color-secondary:#94a3b8;--el-text-color-placeholder:#64748b;--el-bg-color-overlay:#1e293b;--el-border-color:#334155;--el-border-color-light:#334155;--el-border-color-lighter:#1e293b;--el-fill-color:#334155;--el-fill-color-light:#1e293b;--el-fill-color-lighter:#0f172a;--el-mask-color:#000c;--hero-bg-gradient:linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--header-bg:#1e293bcc}:root{--bg-color:#fff;--text-color:#1e293b;--primary-color:#3b82f6;--hero-bg-gradient:linear-gradient(135deg, #f0f7ff 0%, #fff 100%);--header-bg:#ffffffe6}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:20px}::-webkit-scrollbar{display:none}html,body{scrollbar-width:none;-ms-overflow-style:none}
