*{box-sizing:border-box;margin:0;padding:0}:root{--bg-color:#f5f5f7;--text-color:#333;--card-bg:#fff;--card-bg-rgb:255,255,255;--secondary-text:#666;--shadow-color:rgba(0,0,0,.1);--shadow-hover:rgba(0,0,0,.15);--gradient-primary:linear-gradient(135deg,#6e8efb,#a777e3);--gradient-primary-soft:linear-gradient(135deg,rgba(110,142,251,.9),rgba(167,119,227,.9));--border-radius:12px;--transition-speed:.3s;--border-color:rgba(0,0,0,.05)}.dark-theme{--bg-color:#1a1a1a;--text-color:#f0f0f0;--card-bg:#2a2a2a;--card-bg-rgb:42,42,42;--secondary-text:#b0b0b0;--shadow-color:rgba(0,0,0,.3);--shadow-hover:rgba(0,0,0,.4);--gradient-primary-soft:linear-gradient(135deg,rgba(110,142,251,.8),rgba(167,119,227,.8));--border-color:hsla(0,0%,100%,.05)}body{background-color:var(--bg-color);color:var(--text-color);font-family:Arial,sans-serif;line-height:1.6;min-height:100vh;overflow-x:hidden;transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background-color:var(--bg-color)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#6e8efb,#a777e3);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#5d7fe5,#9668d6)}a{color:#6e8efb;text-decoration:none;transition:color .3s ease}a:hover{color:#a777e3}::-moz-selection{background-color:#6e8efb4d;color:var(--text-color)}::selection{background-color:#6e8efb4d;color:var(--text-color)}.fade-enter-active,.fade-leave-active{transition:opacity .5s ease}.fade-enter-from,.fade-leave-to{opacity:0}*,:after,:before{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(prefers-contrast:more){:root{--shadow-color:rgba(0,0,0,.3);--shadow-hover:rgba(0,0,0,.5);--border-color:rgba(0,0,0,.2)}.dark-theme{--shadow-color:hsla(0,0%,100%,.2);--shadow-hover:hsla(0,0%,100%,.3);--border-color:hsla(0,0%,100%,.25)}.contact-link,.skill-tag{border:2px solid}}.transform-gpu{transform:translateZ(0);will-change:transform}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.loading-shimmer{animation:shimmer 1.5s linear infinite;background:linear-gradient(to right,var(--card-bg) 8%,#f0f0f0 18%,var(--card-bg) 33%);background-size:800px 104px}.dark-theme .loading-shimmer{background:linear-gradient(to right,var(--card-bg) 8%,#3a3a3a 18%,var(--card-bg) 33%)}@font-face{font-family:iconfont;src:url(iconfont.woff2?t=1746759224452) format("woff2"),url(iconfont.woff?t=1746759224452) format("woff"),url(iconfont.ttf?t=1746759224452) format("truetype")}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-xiangshang:before{content:""}.icon-phone:before{content:""}.icon-email:before{content:""}.icon-github:before{content:""}.icon-chaiquan:before{content:""}.entry-content{background-color:#fff;color:#334155;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,sans-serif;font-size:16px;line-height:1.8;margin:0 auto;max-width:800px;padding:20px;word-wrap:break-word}.tech-summary-box{background-color:#f1f5f9;border-left:5px solid #3b82f6;border-radius:4px;margin-bottom:32px;padding:16px 20px}.tech-summary-box strong{color:#1e293b;display:block;font-size:1.1em;font-weight:700;margin-bottom:8px}.tech-summary-box p{color:#475569;font-size:.95em;margin:0}.entry-content h2{border-bottom:1px solid #e2e8f0;color:#0f172a;font-size:1.75em;font-weight:700;margin-bottom:1em;margin-top:2.5em;padding-bottom:10px}.entry-content h3{color:#1e293b;font-size:1.4em;font-weight:600;margin-bottom:.8em;margin-top:2em}.entry-content p{margin-bottom:1.5em;text-align:justify}.entry-content strong{color:#0f172a;font-weight:700}.entry-content a{border-bottom:1px dashed #2563eb;color:#2563eb;text-decoration:none;transition:all .2s}.entry-content a:hover{background-color:#2563eb0d;border-bottom-style:solid;color:#1d4ed8}.entry-content ol,.entry-content ul{margin-bottom:1.5em;padding-left:20px}.entry-content li{margin-bottom:.5em;position:relative}.entry-content pre{background:#1e1e1e;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;color:#d4d4d4;font-size:14px;line-height:1.5;margin:1.5em 0;overflow-x:auto;padding:20px}.entry-content code,.entry-content pre{font-family:Menlo,Monaco,Courier New,monospace}.entry-content li code,.entry-content p code{background-color:#f1f5f9;border-radius:4px;color:#ef4444;font-size:.9em;margin:0 2px;padding:2px 6px}.entry-content blockquote{background-color:#f8fafc;border-left:4px solid #cbd5e1;color:#64748b;font-style:italic;margin:1.5em 0;padding:10px 20px}:root{--text-color:#333;--bg-color:#f8f9fa;--card-bg:#fff;--card-bg-rgb:255,255,255;--shadow-color:rgba(0,0,0,.08);--shadow-hover:rgba(0,0,0,.15);--border-radius:12px;--transition-speed:.3s;--gradient-primary:linear-gradient(135deg,#6e8efb,#a777e3);--scrollbar-track:#f1f1f1;--scrollbar-thumb:#c1c1c1;--scrollbar-thumb-hover:#a8a8a8;--header-bg:linear-gradient(135deg,#6e8efb,#a777e3);--footer-bg:linear-gradient(135deg,#6e8efb,#a777e3);--scroll-indicator-color:#fff;--scroll-indicator-shadow:rgba(0,0,0,.2)}.dark-theme{--text-color:#e0e0e0;--bg-color:#121212;--card-bg:#1e1e1e;--card-bg-rgb:30,30,30;--shadow-color:rgba(0,0,0,.3);--shadow-hover:rgba(0,0,0,.5);--scrollbar-track:#1a1a1a;--scrollbar-thumb:#333;--scrollbar-thumb-hover:#444;--header-bg:linear-gradient(135deg,#1e2642,#392a4d);--footer-bg:linear-gradient(135deg,#1e2642,#392a4d);--gradient-primary:linear-gradient(135deg,#364170,#573f7a);--scroll-indicator-color:hsla(0,0%,100%,.7);--scroll-indicator-shadow:rgba(0,0,0,.5)}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:3px solid var(--scrollbar-track);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}body{background-color:var(--bg-color);color:var(--text-color);transition:background-color .3s ease,color .3s ease}
