.typewriter[data-v-db02cb32]{display:inline-flex;align-items:center;font-size:24px;font-weight:500;color:var(--text-secondary);min-height:40px}.typewriter-text[data-v-db02cb32]{background:var(--bg-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.typewriter-cursor[data-v-db02cb32]{display:inline-block;width:3px;height:24px;background:var(--primary-color);margin-left:4px;border-radius:2px}.cursor-blink[data-v-db02cb32]{animation:blink-db02cb32 1s infinite}@keyframes blink-db02cb32{0%,50%{opacity:1}51%,to{opacity:0}}@media (max-width:768px){.typewriter[data-v-db02cb32]{font-size:18px;min-height:30px}.typewriter-cursor[data-v-db02cb32]{height:18px}}.skill-radar[data-v-34713d72]{display:flex;flex-direction:column;align-items:center;gap:20px}.radar-container[data-v-34713d72]{position:relative}.radar-container canvas[data-v-34713d72]{display:block}.skill-legend[data-v-34713d72]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 20px;width:100%;max-width:280px}.legend-item[data-v-34713d72]{display:flex;align-items:center;gap:8px;font-size:13px}.legend-color[data-v-34713d72]{width:10px;height:10px;border-radius:50%}.legend-name[data-v-34713d72]{color:var(--text-secondary);flex:1}.legend-value[data-v-34713d72]{color:var(--text-primary);font-weight:600}@media (max-width:768px){.skill-legend[data-v-34713d72]{grid-template-columns:repeat(2,1fr);gap:8px 15px}.legend-item[data-v-34713d72]{font-size:12px}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color:#2563eb;--primary-dark:#1d4ed8;--secondary-color:#64748b;--text-primary:#1e293b;--text-secondary:#64748b;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-gradient:linear-gradient(135deg,#667eea,#764ba2);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--radius-sm:8px;--radius-md:12px;--radius-lg:20px}html{scroll-behavior:smooth}body{font-family:Inter,Noto Sans SC,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-secondary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;min-height:100vh}.resume-container{max-width:1400px;margin:0 auto;position:relative;z-index:1}.bg-decoration{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden;z-index:0}.bg-circle{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;animation:float 20s ease-in-out infinite}.circle-1{width:600px;height:600px;background:linear-gradient(135deg,#667eea,#764ba2);top:-200px;right:-200px;animation-delay:0s}.circle-2{width:400px;height:400px;background:linear-gradient(135deg,#f093fb,#f5576c);bottom:20%;left:-100px;animation-delay:-5s}.circle-3{width:300px;height:300px;background:linear-gradient(135deg,#4facfe,#00f2fe);bottom:-100px;right:10%;animation-delay:-10s}@keyframes float{0%,to{transform:translate(0) scale(1)}25%{transform:translate(50px,-50px) scale(1.1)}50%{transform:translate(-30px,30px) scale(.95)}75%{transform:translate(30px,50px) scale(1.05)}}.resume-layout{display:grid;grid-template-columns:320px 1fr;gap:40px;padding:40px;position:relative;z-index:2;min-height:100vh}.left-sidebar{position:sticky;top:40px;height:-moz-fit-content;height:fit-content;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:40px 30px;text-align:center}.sidebar-content{display:flex;flex-direction:column;align-items:center}.avatar-wrapper{margin-bottom:25px}.avatar{width:100px;height:100px;border-radius:50%;background:var(--bg-gradient);display:flex;align-items:center;justify-content:center;margin:0 auto;box-shadow:var(--shadow-lg);animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 0 rgba(102,126,234,.4)}50%{box-shadow:0 0 0 15px rgba(102,126,234,0)}}.avatar-text{font-size:40px;font-weight:700;color:#fff}.name{font-size:28px;font-weight:700;background:var(--bg-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px}.title-wrapper{min-height:36px;margin-bottom:25px}.contact-info{display:flex;flex-direction:column;gap:12px;width:100%}.contact-item{display:flex;align-items:center;gap:10px;padding:12px 15px;background:var(--bg-secondary);border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary);transition:all .3s ease}.contact-item:hover{background:rgba(37,99,235,.1);transform:translateX(5px)}.contact-item i{color:var(--primary-color);width:16px}.right-content{display:flex;flex-direction:column;gap:30px}.section{background:#fff;border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow-sm)}.radar-section{background:linear-gradient(135deg,rgba(102,126,234,.05),rgba(118,75,162,.05))}.radar-wrapper{display:flex;justify-content:center;padding:20px 0}.section-header{display:flex;align-items:center;gap:15px;margin-bottom:30px}.section-number{font-size:14px;font-weight:700;color:var(--primary-color);padding:5px 12px;background:rgba(37,99,235,.1);border-radius:20px}.section-title{font-size:24px;font-weight:700;color:var(--text-primary);position:relative}.skills-section{background:linear-gradient(135deg,rgba(102,126,234,.03),rgba(118,75,162,.03))}.skill-categories{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.skill-category{background:#fff;padding:20px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.category-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:15px;display:flex;align-items:center;gap:8px}.category-title i{color:var(--primary-color)}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{padding:6px 12px;background:var(--bg-secondary);border-radius:50px;font-size:13px;color:var(--text-secondary);transition:all .3s ease;animation:fadeInUp .5s ease backwards}.skill-tag:hover{background:var(--primary-color);color:#fff;transform:translateY(-2px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.timeline{position:relative;padding-left:35px}.timeline-item{position:relative;padding-bottom:35px;opacity:1;transform:translateX(0)}.timeline-marker{position:absolute;left:-35px;top:0;display:flex;flex-direction:column;align-items:center}.timeline-dot{width:14px;height:14px;border-radius:50%;background:var(--bg-gradient);border:3px solid #fff;box-shadow:var(--shadow-md)}.timeline-line{width:2px;flex:1;background:linear-gradient(to bottom,var(--primary-color),transparent);margin-top:8px;min-height:50px}.timeline-content{background:var(--bg-secondary);padding:25px;border-radius:var(--radius-md);transition:all .3s ease}.timeline-content:hover{box-shadow:var(--shadow-md);transform:translateX(5px)}.timeline-period{font-size:13px;color:var(--primary-color);font-weight:600;margin-bottom:10px;display:inline-block;padding:4px 12px;background:rgba(37,99,235,.1);border-radius:20px;opacity:0;transform:translateX(-30px);transition:all .5s cubic-bezier(.4,0,.2,1)}.timeline-period.period-visible{opacity:1;transform:translateX(0)}.timeline-item:first-child .timeline-period{transition-delay:0s}.timeline-item:nth-child(2) .timeline-period{transition-delay:.1s}.timeline-item:nth-child(3) .timeline-period{transition-delay:.2s}.timeline-item:nth-child(4) .timeline-period{transition-delay:.3s}.timeline-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:5px}.timeline-position{margin-bottom:12px}.timeline-desc,.timeline-position{font-size:14px;color:var(--text-secondary)}.timeline-desc{line-height:1.7}.projects-grid{display:flex;flex-direction:column;gap:25px}.project-card{background:var(--bg-secondary);padding:30px;border-radius:var(--radius-md);transition:all .3s ease;border-left:4px solid var(--primary-color)}.project-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.project-header{display:flex;align-items:center;gap:12px;margin-bottom:15px}.project-number{font-size:12px;font-weight:700;color:var(--primary-color);padding:4px 10px;background:rgba(37,99,235,.1);border-radius:15px}.project-name{font-size:20px;font-weight:700;color:var(--text-primary)}.project-meta{display:flex;gap:20px;margin-bottom:12px;flex-wrap:wrap}.project-meta span{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:5px}.project-meta i{color:var(--primary-color)}.project-desc{font-size:14px;color:var(--text-secondary);line-height:1.7;margin-bottom:15px}.project-achievements{background:#fff;padding:18px;border-radius:var(--radius-sm)}.achievement-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:10px}.project-achievements ul{list-style:none;padding:0}.project-achievements li{font-size:13px;color:var(--text-secondary);padding:6px 0;padding-left:18px;position:relative;line-height:1.6}.project-achievements li:before{content:"▸";position:absolute;left:0;color:var(--primary-color);font-weight:700}.footer{background:var(--text-primary);color:#fff;padding:40px;text-align:center;border-radius:var(--radius-md);margin-top:10px}.footer-text{font-size:18px;font-weight:500;margin-bottom:20px}.contact-links{gap:15px;margin-bottom:25px}.contact-link,.contact-links{display:flex;justify-content:center}.contact-link{width:45px;height:45px;border-radius:50%;background:hsla(0,0%,100%,.1);align-items:center;color:#fff;font-size:18px;transition:all .3s ease;text-decoration:none}.contact-link:hover{background:var(--primary-color);transform:translateY(-3px)}.copyright{font-size:13px;color:hsla(0,0%,100%,.6)}.back-to-top{position:fixed;bottom:30px;right:30px;width:45px;height:45px;border-radius:50%;background:var(--bg-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;cursor:pointer;box-shadow:var(--shadow-lg);z-index:1000;transition:all .3s ease}.back-to-top:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(102,126,234,.4)}.fade-enter-active,.fade-leave-active{transition:opacity .3s,transform .3s}.fade-enter,.fade-leave-to{opacity:0;transform:translateY(20px)}.scroll-reveal,.scroll-reveal.revealed,.scroll-reveal.scroll-hidden{opacity:1;transform:translateY(0)}@media(max-width:1024px){.resume-layout{grid-template-columns:280px 1fr;gap:30px;padding:30px}.left-sidebar{padding:30px 20px}.avatar{width:80px;height:80px}.avatar-text{font-size:32px}.name{font-size:22px}.skill-categories{grid-template-columns:1fr}.section{padding:30px}}@media(max-width:768px){.resume-layout{grid-template-columns:1fr;gap:25px;padding:20px}.left-sidebar{position:relative;top:0;padding:30px 25px}.avatar{width:90px;height:90px}.avatar-text{font-size:36px}.name{font-size:26px}.title-wrapper{min-height:32px}.contact-info{flex-direction:row;flex-wrap:wrap;justify-content:center}.contact-item{width:calc(50% - 6px);justify-content:center;padding:10px 12px}.section{padding:25px 20px}.section-title{font-size:20px}.skill-categories{grid-template-columns:1fr}.timeline{padding-left:30px}.timeline-marker{left:-30px}.timeline-content{padding:20px}.timeline-title{font-size:16px}.timeline-desc{font-size:13px}.project-card{padding:20px}.project-name{font-size:17px}.project-achievements li{font-size:12px}.footer{padding:30px 20px}}@media(max-width:480px){.resume-layout{padding:15px;gap:20px}.left-sidebar{padding:25px 20px}.avatar{width:80px;height:80px}.avatar-text{font-size:32px}.name{font-size:22px}.contact-info{flex-direction:column}.contact-item{width:100%}.section{padding:20px 15px}.timeline{padding-left:25px}.timeline-marker{left:-25px}.timeline-dot{width:12px;height:12px}.timeline-content{padding:18px}.project-header{align-items:flex-start}.project-header,.project-meta{flex-direction:column;gap:8px}}