.paper-header{background:linear-gradient(135deg,#fff 0%,#f9f9f9 100%);border-bottom:1px solid #e0e0e0;margin-top:3rem;margin-bottom:2rem;padding:1.25rem 2rem 2rem;position:relative}.paper-header:before{content:"";background:#111;height:4px;position:absolute;top:0;left:2rem;right:2rem}.paper-header .header-container{text-align:center;flex-direction:column;align-items:center;gap:1rem;max-width:1000px;margin:0 auto;display:flex}@media (width<=768px){.paper-header .header-container{gap:1rem}}.paper-header .title-section{max-width:700px}.paper-header .title-section .paper-title{color:#1a1a1a;letter-spacing:-.5px;margin:0 0 .5rem;font-family:Georgia,serif;font-size:2.5rem;font-weight:700}@media (width<=768px){.paper-header .title-section .paper-title{font-size:2rem}}.paper-header .title-section .paper-subtitle{color:#666;margin:0 0 1rem;font-family:Georgia,serif;font-size:1.3rem;font-style:italic;font-weight:500}.paper-header .bio-section{text-align:left;background:#fff;border-radius:6px;width:min(760px,100% - 4rem);margin:0 auto;padding:1rem 1.25rem 1.25rem;box-shadow:0 1px 4px #0000000a}@media (width<=768px){.paper-header .bio-section{width:calc(100% - 1rem);padding:.9rem .95rem 1rem}}.paper-header .bio-text{color:#555;text-align:justify;text-justify:inter-word;margin:0;font-size:.95rem;line-height:1.5}.paper-header .contact-links{flex-wrap:wrap;justify-content:center;gap:.75rem;padding-top:.5rem;display:flex}@media (width<=768px){.paper-header .contact-links{gap:1rem}}.paper-header .contact-link{color:#2f2f2f;border:1px solid #0000;border-radius:4px;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.9rem;text-decoration:none;transition:all .2s;display:inline-flex}.paper-header .contact-link:hover{color:#111;background-color:#f0f0f0;border-color:#5a5a5a}.paper-header .contact-link .contact-icon{font-size:1rem;display:inline-block}@media (width<=768px){.paper-header .contact-link{padding:.4rem .6rem;font-size:.85rem}}.paper-header .header-divider{opacity:.8;background:linear-gradient(90deg,#0000,#d0d0d0,#0000);width:calc(100vw - 4rem);max-width:calc(100vw - 4rem);height:2px}.paper-header .abstract-label{color:#1a1a1a;text-align:center;margin-bottom:.5rem;font-family:Georgia,serif;font-size:1.2rem;font-weight:600}.paper-header .sponsor-section{justify-content:center;align-items:center;gap:1.5rem;margin-top:.5rem;display:flex}@media (width<=768px){.paper-header .sponsor-section{flex-direction:column}}.paper-header .sponsor-iframe{border:0;border-radius:6px}.paper-header .resume-button{color:#2f2f2f;background-color:#f0f0f0;border:1px solid #d0d0d0;border-radius:4px;align-items:center;gap:.5rem;padding:.45rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.paper-header .resume-button:hover{color:#111;background-color:#e4e4e4;border-color:#5a5a5a}.project-card{background:#fff;border:1px solid #e8e8e8;border-radius:6px;flex-direction:column;gap:1rem;padding:1.5rem;transition:transform .25s,box-shadow .25s,border-color .25s,background .25s;display:flex}.project-card:hover{border-color:#595959;transform:translateY(-6px);box-shadow:0 12px 28px #00000024}.project-card.featured{background:linear-gradient(135deg,#fff 0%,#f3f3f3 100%);border:2px solid #3d3d3d;box-shadow:0 2px 8px #00000012}.project-card.featured:hover{background:linear-gradient(135deg,#fff 0%,#ebebeb 100%);border-color:#1f1f1f;transform:translateY(-8px)scale(1.01);box-shadow:0 16px 34px #0003,0 0 0 3px #00000014}.project-card.featured .project-title{color:#202020}.project-card .project-image{border-radius:6px;justify-content:center;align-items:center;width:auto;height:clamp(220px,50vw,220px);margin:-1.5rem -1.5rem 0;overflow:hidden}.project-card .project-image img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.project-card:not(.featured) .project-image{width:min(75%,400px);height:300px;margin:.8rem auto 0}.project-card .project-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.project-card .project-title{color:#1a1a1a;flex:1;margin:0;font-family:Georgia,serif;font-size:1.3rem;font-weight:600}.project-card .project-title:hover{color:#111}.project-card .project-year{color:#999;white-space:nowrap;background:#f5f5f5;border-radius:12px;padding:.3rem .8rem;font-size:.85rem;font-weight:500}.project-card .project-abstract{color:#333;background:#f9f9f9;border-left:3px solid #4d4d4d;border-radius:3px;margin:0;padding:.8rem;font-size:.95rem;font-weight:500;line-height:1.6}.project-card .project-description{color:#555;margin:0;font-size:.9rem;line-height:1.6}.project-card .project-highlights{margin:0}.project-card .project-highlights h4{text-transform:uppercase;color:#666;letter-spacing:.5px;margin:0 0 .5rem;font-size:.85rem;font-weight:600}.project-card .project-highlights ul{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.project-card .project-highlights ul li{color:#555;padding-left:1.2rem;font-size:.85rem;position:relative}.project-card .project-highlights ul li:before{content:"→";color:#3f3f3f;font-weight:700;position:absolute;left:0}.project-card .project-technologies{border-top:1px solid #f0f0f0;flex-wrap:wrap;align-items:center;gap:.8rem;margin:.5rem 0 0;padding-top:.8rem;display:flex}.project-card .project-technologies .tech-label{text-transform:uppercase;color:#999;letter-spacing:.5px;font-size:.75rem;font-weight:700}.project-card .project-technologies .tech-list{flex-wrap:wrap;gap:.6rem;display:flex}.project-card .project-technologies .tech-badge{color:#555;background:#f0f0f0;border:1px solid #e0e0e0;border-radius:12px;padding:.3rem .7rem;font-size:.8rem;transition:all .2s}.project-card .project-technologies .tech-badge:hover{background:#e8e8e8;border-color:#ccc}.project-card .project-technologies .tech-badge.tech-language{color:#3d3d3d;background:#f1f1f1;border-color:#d5d5d5}.project-card .project-technologies .tech-badge.tech-framework{color:#343434;background:#ececec;border-color:#d0d0d0}.project-card .project-technologies .tech-badge.tech-tool{color:#2d2d2d;background:#e7e7e7;border-color:#cbcbcb}.project-card .project-technologies .tech-badge.tech-model{color:#2a2a2a;background:#dfdfdf;border-color:#c7c7c7}.project-card .project-links{gap:.8rem;margin-top:.5rem;display:flex}.project-card .project-links .project-link{color:#fff;background:#2e2e2e;border:1px solid #2e2e2e;border-radius:4px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.project-card .project-links .project-link:hover{background:#1f1f1f;border-color:#111;transform:scale(1.05)}.project-card .project-links .project-link.github{background:#333;border-color:#333}.project-card .project-links .project-link.github:hover{background:#1a1a1a;border-color:#1a1a1a}@media (width<=768px){.project-card .project-image{height:180px}.project-card:not(.featured) .project-image{width:min(100%,240px);height:130px}}.projects-section{max-width:1000px;margin:0 auto;padding:2rem}@media (width<=768px){.projects-section{padding:1.5rem}}.projects-section .section-title{color:#1a1a1a;letter-spacing:-.5px;margin:0 0 1rem;font-family:Georgia,serif;font-size:2rem;font-weight:700}.projects-section .section-divider{opacity:.7;background:linear-gradient(90deg,#2f2f2f,#0000);height:2px;margin-bottom:2rem}.projects-section .featured-projects{margin-bottom:3rem}.projects-section .other-projects{margin-top:2rem}.projects-section .subsection-title{color:#333;text-transform:uppercase;letter-spacing:1px;margin:0 0 1.5rem;font-size:.85rem;font-weight:600}.projects-section .projects-grid{grid-template-columns:1fr;gap:1rem;display:grid}.projects-section .projects-grid.featured-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}@media (width<=1024px){.projects-section .projects-grid.featured-grid{grid-template-columns:1fr}}.tech-stack-section{text-align:center;margin:0 0 2rem}.tech-stack-section h2{margin-bottom:1rem;font-size:2rem}.tech-stack-list{flex-wrap:wrap;justify-content:center;gap:1rem;padding:0;list-style:none;display:flex}.tech-item{background:#f5f5f5;border:1px solid #e2e2e2;border-radius:20px;align-items:center;gap:.55rem;padding:.55rem 1.15rem;transition:background .2s,transform .2s;display:inline-flex;box-shadow:0 1px 4px #0000000a}.tech-item:hover{background:#e6e6e6;transform:translateY(-2px)}.tech-icon{color:#1a1a1a;font-size:1rem;display:inline-flex}.tech-name{color:#111;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:1rem;font-weight:500;line-height:1}.github-stats-section{flex-direction:column;gap:1.5rem;display:flex}.stats-title{color:#1a1a1a;border-bottom:2px solid #2f2f2f;margin:0;padding-bottom:1rem;font-family:Georgia,serif;font-size:1.4rem;font-weight:700}.github-stats-container{flex-direction:column;align-items:center;gap:1.5rem;display:flex}@media (width<=768px){.github-stats-container{gap:1rem}}.github-stat-img{border:1px solid #e0e0e0;border-radius:8px;width:100%;max-width:500px;height:auto;transition:all .3s}.github-stat-img:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.github-stat-img.streak{max-width:600px}.stats-section{text-align:center;margin:0 0 2rem}.stats-section h2{margin-bottom:1.5rem;font-size:2rem}.stats-cards{flex-wrap:wrap;justify-content:center;gap:2rem;display:flex}.github-stats-card,.leetcode-stats-card{border-radius:16px;flex-direction:column;align-items:center;min-width:320px;padding:.5rem 2rem 1.5rem;display:flex;box-shadow:0 1px 8px #0000000f}.github-stats-grid{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.github-stat-image{border:1px solid #e0e0e0;border-radius:10px;width:100%;max-width:500px;height:auto;transition:transform .25s,box-shadow .25s}.github-stat-image:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.github-stat-image.streak{max-width:600px}.leetcode-profile img{margin-bottom:.5rem}.leetcode-profile p{margin:.2rem 0}.lc-chart-wrapper{background:0 0;border:1px solid #e0e0e0;border-radius:4px;margin-bottom:1rem;padding:1rem 1.25rem .75rem;font-family:inherit}.lc-chart-wrapper .lc-chart-header{flex-direction:column;align-items:flex-start;gap:.1rem;margin-bottom:.5rem;display:flex}.lc-chart-wrapper .lc-chart-title{color:#888;letter-spacing:.03em;text-transform:uppercase;font-size:.75rem;font-weight:500}.lc-chart-wrapper .lc-rating-value{color:#1a1a1a;font-size:1.9rem;font-weight:700;line-height:1;display:block}.lc-chart-wrapper .lc-chart-meta{flex-direction:column;align-items:flex-start;gap:.15rem;margin-top:.15rem;font-size:.78rem;display:flex}.lc-chart-wrapper .lc-chart-meta .lc-meta-date{color:#aaa;font-size:.72rem}.lc-chart-wrapper .lc-chart-meta .lc-meta-contest{color:#333;font-weight:600}.lc-chart-wrapper .lc-chart-meta .lc-meta-row{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.lc-chart-wrapper .lc-chart-meta .lc-meta-sep{color:#ccc;font-size:.75rem}.lc-chart-wrapper .lc-chart-meta .lc-meta-item{color:#666}.lc-chart-wrapper .lc-chart-meta .lc-meta-item strong{color:#222}.lc-chart-wrapper .lc-chart-svg-container{margin:0 -.25rem}.lc-solved-wrapper{background:0 0;border:1px solid #e0e0e0;border-radius:4px;margin-bottom:1rem;padding:1rem 1.25rem;font-family:inherit}.lc-solved-wrapper .lc-solved-header{margin-bottom:.85rem}.lc-solved-wrapper .lc-solved-title{color:#888;letter-spacing:.03em;text-transform:uppercase;font-size:.75rem;font-weight:500}.lc-solved-wrapper .lc-solved-inner{align-items:center;gap:1.5rem;display:flex}.lc-solved-wrapper .lc-solved-inner svg{flex-shrink:0}.lc-solved-wrapper .lc-solved-legend{flex-direction:column;flex:1;gap:.55rem;display:flex}.lc-solved-wrapper .lc-legend-row{cursor:pointer;border-radius:3px;grid-template-columns:10px 38px 1fr auto;align-items:center;gap:.4rem;padding:.2rem .4rem;transition:background .15s;display:grid}.lc-solved-wrapper .lc-legend-row:hover,.lc-solved-wrapper .lc-legend-row.active{background:#f5f5f5}.lc-solved-wrapper .lc-legend-row .lc-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.lc-solved-wrapper .lc-legend-row .lc-legend-label{color:#444;font-size:.8rem;font-weight:500}.lc-solved-wrapper .lc-legend-row .lc-legend-count{color:#1a1a1a;font-size:.8rem}.lc-solved-wrapper .lc-legend-row .lc-legend-count strong{font-weight:700}.lc-solved-wrapper .lc-legend-row .lc-legend-count .lc-legend-total{color:#aaa;font-size:.73rem}.lc-solved-wrapper .lc-legend-row .lc-legend-beats{color:#888;white-space:nowrap;font-size:.72rem}*{box-sizing:border-box}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;background:#fff;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{flex-direction:column;min-height:100vh;display:flex}body{line-height:1.5}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}p{margin:0}a{color:#2f2f2f;text-decoration:none}a:hover{text-decoration:underline}code{color:#2a2a2a;background:#f5f5f5;border-radius:3px;padding:.2rem .4rem;font-family:Courier New,Courier,monospace;font-size:.9em}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}::selection{color:#111;background:#cfcfcf}::selection{color:#111;background:#cfcfcf}
