.about-section{padding:6rem 3rem 8rem;background-color:#eaeaea;border-top:1px solid #ccc;border-bottom:1px solid #ccc}.about-section__title-container{text-align:center;margin-bottom:3rem}.about-section__title{font-size:1.8rem;color:#333}.about-section__content{display:flex;flex-direction:row;gap:3rem;justify-content:center;flex-wrap:wrap;margin-top:-1.5rem}.about-section__column{flex:1;min-width:280px;max-width:500px}.about-section__subtitle{font-size:1.2rem;margin-bottom:1rem;color:#444}.about-section__list{padding-left:1.2rem;color:#555;margin-bottom:2rem}.about-section__list:last-child{margin-bottom:0}.about-section__list-item{margin-bottom:.5rem}.lang-en .about-section__list-item{margin-bottom:.3rem}.lang-en .about-section__attributes-list-item{margin-bottom:.5rem}.lang-zh .about-section__attributes-list-item{margin-bottom:.8rem}.skill-card{flex:1 1 250px;min-width:250px;max-width:260px;padding:1.5rem;background-color:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;text-align:center;word-break:break-word;overflow-wrap:break-word;transition:transform .3s ease,box-shadow .3s ease}.skill-card:hover{transform:translateY(-8px);box-shadow:0 10px 20px #00000026}.skill-card h3{font-size:1.1rem;color:#333;margin-bottom:.4rem}.skill-card .label{font-size:.9rem;color:#007bff;font-weight:500;margin-bottom:.4rem}.skill-card .description{font-size:.85rem;color:#555;line-height:1.4}.projects-section{position:relative;padding:5rem 3rem 8rem;background-color:#eaeaea;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif}.projects-title{text-align:center;font-size:1.8rem;color:#333;margin-bottom:2.5rem}.projects-tab-buttons{display:flex;justify-content:center;gap:1rem;margin-top:-1rem;margin-bottom:2.5rem}.tab-button{padding:.4rem 1rem;font-size:.9rem;font-weight:500;border:1px solid #ccc;background-color:#f4f4f4;border-radius:999px;cursor:pointer;transition:background-color .2s ease}.tab-button:hover{background-color:#e0e0e0}.tab-button.active{background-color:#ccc;color:#333}.carousel-focus-wrapper{position:relative;display:flex;justify-content:center;align-items:center;max-width:1060px;margin:0 auto;gap:2rem;overflow:visible;box-sizing:border-box;padding-top:0rem}.carousel-focus-container{display:flex;align-items:center;justify-content:center;gap:1rem;flex:1;max-width:100%;overflow:hidden;box-sizing:border-box}.carousel-focus-container .hover-card{transition:transform .4s ease,opacity .4s ease,filter .4s ease;opacity:.3;transform:scale(.8);filter:blur(1px);pointer-events:none;z-index:1}.carousel-focus-container .center-card{opacity:1;transform:scale(1);filter:none;pointer-events:auto;z-index:2}.carousel-arrow-wrapper{position:absolute;height:100%;top:50%;left:0;right:0;z-index:5;display:flex;justify-content:space-between;padding:0 1rem;transform:translateY(-50%);pointer-events:none}.carousel-arrow{font-size:2.5rem;background:none;border:none;color:#333;cursor:pointer;padding:.2rem .5rem;transition:color .2s ease;-webkit-user-select:none;user-select:none;pointer-events:auto}.carousel-arrow:hover{color:#007bff}.carousel-arrow:focus{outline:none}.hover-card{position:relative;width:500px;height:250px;border-radius:10px;overflow:hidden;box-shadow:0 4px 10px #0000001a;transition:transform .3s ease-in-out;cursor:pointer}.hover-card.tall-card{width:220px;height:420px}.hover-card:hover{transform:translateY(-4px)}.hover-card-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#28282899;color:#fff;opacity:0;transition:opacity .3s ease-in-out;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1.2rem;text-align:center}.hover-card:hover .hover-card-overlay{opacity:1}.hover-card-overlay-content{max-width:280px;margin:0 auto;padding-left:0}.hover-card-overlay h3{font-size:1rem;margin-bottom:.8rem;line-height:1.4;word-break:break-word;padding-right:1.7rem}.tall-card .hover-card-overlay h3{font-size:.9rem;text-align:left}.hover-card:not(.tall-card) .hover-card-buttons{display:flex;justify-content:center;padding-right:1rem;gap:.8rem}.tall-card .hover-card-buttons{display:flex;justify-content:flex-start;padding-left:1.2rem;text-align:left;width:100%;box-sizing:border-box;row-gap:.5rem}.project-button{background-color:#fff;color:#333;text-decoration:none;padding:.4rem .9rem;border-radius:999px;font-size:.75rem;font-weight:550;transition:background-color .3s ease}.project-button:hover{background-color:#ddd}.mockup-frame{width:100%;max-width:500px;margin:0 auto;height:100%;background:#111;border-radius:28px;padding:.9rem .35rem;box-shadow:inset 0 0 0 1.5px #333;display:flex;justify-content:center;align-items:center;box-sizing:border-box;position:relative}.mockup-screen-image{width:100%;height:100%;object-fit:fill;border-radius:10px}.desktop-mockup-frame{background:#111;border-radius:12px;overflow:hidden;box-shadow:0 4px 14px #0003;display:flex;flex-direction:column;width:100%;height:100%;box-sizing:border-box}.browser-bar{display:flex;align-items:center;gap:.4rem;height:18px;background:#2b2b2b;padding:0 .6rem}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.dot.red{background-color:#ff5f57}.dot.yellow{background-color:#ffbd2e}.dot.green{background-color:#28c840}.desktop-mockup-image{flex:1;width:100%;height:100%;object-fit:cover}.research-content{display:flex;flex-wrap:nowrap;gap:3rem;max-width:1000px;margin:0 auto;background-color:#fff;padding:1.5rem 2rem;border-radius:16px;box-shadow:0 6px 16px #0000001f;color:#222;font-size:1rem;align-items:center}.research-left{flex:1 1 280px;max-width:280px;display:flex;flex-direction:column;align-items:center;gap:1rem}.certificate-image{max-width:220px;width:100%;height:auto;border-radius:12px;box-shadow:0 6px 14px #00000026;object-fit:contain;-webkit-user-select:none;user-select:none;transition:transform .3s ease-in-out}.certificate-image:hover{transform:scale(1.5);z-index:10;position:relative}.research-download-button{background-color:#3b82f6;color:#fff;text-decoration:none;font-size:.8rem;font-weight:600;padding:.5rem 1.4rem;border-radius:999px;box-shadow:0 4px 12px #0000001a;transition:background-color .3s ease;display:inline-block;text-align:center}.research-download-button:hover{background-color:#2563eb}.research-right{flex:1 1 380px;max-width:650px;text-align:left}.research-right h3{font-size:1.2rem;margin-bottom:1rem;color:#333}.research-description{line-height:1.6;color:#444;white-space:pre-line}.research-description strong{color:#333}.homepage-container{min-height:100vh;background-color:#f5f5f5}.homepage-nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:#f5f5f5;border-bottom:1px solid #ddd;position:sticky;top:0;z-index:10}.nav-buttons{flex:1;display:flex;justify-content:center;gap:2rem}.nav-button:focus{outline:none;border-bottom:2px solid #007bff;background-color:#e0f0ff}.nav-button{background:none;border:none;cursor:pointer;font-size:1rem;color:#333;font-weight:500;padding:.3rem .5rem;transition:color .2s ease-in-out}.nav-button:hover{color:#007bff}.language-toggle{flex-shrink:0}.language-button{padding:.4rem 1rem;border-radius:20px;border:1px solid #ccc;background-color:#fff;cursor:pointer;font-weight:500;transition:background-color .3s,color .3s}.language-button:hover{background-color:#e0e0e0;color:#000}.homepage-main{display:flex;flex-direction:row;padding:2rem 3rem;min-height:80vh}.left-panel{flex:0 0 30%;display:flex;flex-direction:column;align-items:center;padding-right:2rem;border-right:1px solid #ddd;padding-top:2rem}.profile-image{width:150px;height:150px;border-radius:50%;box-shadow:0 4px 8px #0000001a;margin-bottom:1rem;object-fit:cover}.profile-name{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:#333}.contact-icons{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem}.contact-icons a{color:#333;font-size:1.8rem}.download-cv{display:inline-block;padding:.5rem 1.5rem;background-color:#e0e0e0;color:#333;border-radius:999px;font-weight:500;text-decoration:none;cursor:pointer;font-size:.95rem;transition:background-color .3s ease}.download-cv:hover{background-color:#d5d5d5}.right-panel{flex:1;padding-left:2rem;display:flex;flex-direction:column;justify-content:center;color:#333}.profile-subtitle{font-size:1.8rem;font-weight:700;margin-bottom:1rem;color:#333}.profile-intro{font-size:1.1rem;line-height:1.6;margin-bottom:2rem;color:#555}.footer{text-align:center;padding:2rem 1rem;font-size:.9rem;color:#666;background-color:#f5f5f5;border-top:1px solid #ccc}.subtitle-badge{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.cert-badge-inline{width:50px;height:auto;margin-top:.5rem;transition:transform .2s ease-in-out}.cert-badge-inline:hover{transform:scale(1.05)}: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;display:flex;place-items:center;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}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
