@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap";:root{color:#1d2730;background:#f3f5f6;font-family:Noto Sans SC,Manrope,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{overflow:hidden}button{font:inherit}.navbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;border-bottom:1px solid #dce2e5;align-items:center;height:72px;padding:0 56px;display:flex;position:fixed;inset:0 0 auto}.nav-logo{letter-spacing:.06em;background:linear-gradient(135deg,#007aff,#5856d6);color:#0000;-webkit-background-clip:text;margin-right:auto;font:800 18px/1 Manrope,sans-serif}.nav-logo span{background:linear-gradient(135deg,#5856d6,#ff2d55);color:#0000;-webkit-background-clip:text}.nav-links{gap:30px;margin-right:24px;display:flex}.nav-links button{color:#66747e;cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:13px;font-weight:600;transition:color .2s}.nav-links button:hover,.nav-links button.active{color:#007aff}.language-switcher{background:#fff;border:1px solid #dce2e5;border-radius:4px;display:flex;overflow:hidden}.language-switcher button{color:#66747e;cursor:pointer;background:0 0;border:0;width:34px;height:28px;font:600 11px Manrope,sans-serif}.language-switcher button.active{color:#fff;background:#1d2730}.main-container{height:100vh;position:relative}.section{text-align:center;opacity:0;pointer-events:none;visibility:hidden;flex-direction:column;justify-content:center;align-items:center;padding:112px 56px 72px;transition:opacity .45s,visibility .45s;display:flex;position:absolute;inset:0}.section.active{opacity:1;pointer-events:auto;visibility:visible}.hero-avatar{object-fit:cover;border:3px solid #fff;border-radius:50%;width:112px;height:112px;margin-bottom:26px;box-shadow:0 10px 30px #1d273029}.hero-title{letter-spacing:0;background:linear-gradient(135deg,#007aff 0%,#5856d6 52%,#ff2d55 100%) 0 0/300% 100%;color:#0000;-webkit-background-clip:text;margin:0;font:800 clamp(48px,7vw,88px)/1 Manrope,Noto Sans SC,sans-serif}.hero-subtitle{color:#66747e;margin:18px 0 0;font-size:clamp(16px,2vw,21px)}.section-header{margin-bottom:34px}.section-header h2{color:#1d2730;margin:0 0 12px;font:800 clamp(32px,4vw,52px)/1.1 Manrope,Noto Sans SC,sans-serif}.section-header p{color:#66747e;max-width:720px;margin:0;font-size:16px}.about-content{color:#51616d;width:min(820px,100%);font-size:19px;line-height:1.85}.about-content p{margin:0}.about-content p+p{margin-top:18px}.section-arrow{color:#007aff;cursor:pointer;background:#fff;border:1px solid #d6dde1;border-radius:50%;place-items:center;width:38px;height:38px;transition:border-color .2s,background .2s;display:grid;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.section-arrow:hover{background:#007aff1a;border-color:#007aff}.section-arrow.up{top:88px;bottom:auto}.scroll-dots{z-index:15;flex-direction:column;gap:12px;display:flex;position:fixed;top:50%;right:24px;transform:translateY(-50%)}.scroll-dots button{cursor:pointer;background:#c4cdd2;border:0;border-radius:50%;width:8px;height:8px;padding:0}.scroll-dots button.active{background:#007aff;box-shadow:0 0 0 4px #007aff24}.portfolio-section{justify-content:center}.portfolio-section .section-header{margin-bottom:26px}.projects-grid{flex-wrap:wrap;justify-content:center;gap:20px;width:min(1200px,100%);display:flex}.project-card{text-align:center;background:#fff;border:1px solid #dce2e5;border-radius:8px;flex-direction:column;flex:0 0 calc(33.3333% - 13.3333px);align-items:center;min-height:218px;padding:24px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 18px #23313a0a}.project-card:first-child{animation-delay:80ms}.project-card:nth-child(2){animation-delay:.14s}.project-card:nth-child(3){animation-delay:.2s}.project-card:nth-child(4){animation-delay:.26s}.project-card:nth-child(5){animation-delay:.32s}.project-card:hover{border-color:#007aff8c;transform:translateY(-5px);box-shadow:0 12px 24px #1d273014}.award-card{background:#fffdf8;border-color:#e7e0cf}.award-card:hover{border-color:#d8c58e}.entry-date{z-index:0;color:#edf1f3;font:500 43px/1 DM Mono,monospace;position:absolute;top:14px;right:16px}.card-meta,.project-card h3,.project-desc,.project-tags{z-index:1;position:relative}.card-meta{margin-bottom:10px}.award-label,.project-label{letter-spacing:.08em;font-size:11px;font-weight:700}.award-label{color:#93742a}.project-label{color:#007aff}.project-card h3{margin:2px 0 12px;font:700 18px/1.35 Manrope,Noto Sans SC,sans-serif}.project-desc{color:#66747e;margin:0 0 16px;font-size:13px;line-height:1.65}.project-tags{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:auto;display:flex}.tag{color:#007aff;background:#007aff1a;border:1px solid #007aff38;border-radius:3px;padding:4px 8px;font-size:11px;font-weight:600}.award-tag{color:#876000;background:#fff1cd;border-color:#f1d998}.skills-container{flex-wrap:wrap;justify-content:center;gap:11px;max-width:760px;display:flex}.skill-tag{color:#46545e;background:#fff;border:1px solid #dce2e5;border-radius:999px;padding:10px 16px;font-size:14px}.skill-tag:first-child{animation-delay:50ms}.skill-tag:nth-child(2){animation-delay:.1s}.skill-tag:nth-child(3){animation-delay:.15s}.skill-tag:nth-child(4){animation-delay:.2s}.skill-tag:nth-child(5){animation-delay:.25s}.skill-tag:nth-child(6){animation-delay:.3s}.skill-tag:nth-child(7){animation-delay:.35s}.skill-tag:nth-child(8){animation-delay:.4s}.skill-tag:nth-child(9){animation-delay:.45s}.skill-tag:nth-child(10){animation-delay:.5s}.skill-tag:nth-child(11){animation-delay:.55s}.skill-tag:nth-child(12){animation-delay:.6s}.certification{color:#66747e;justify-content:center;align-items:center;gap:10px;margin-top:28px;font-size:13px;display:flex}.certification-label{color:#007aff;letter-spacing:.08em;font-size:11px;font-weight:700}.certification-name{color:#46545e;background:#fff;border:1px solid #dce2e5;border-radius:4px;padding:7px 11px;font-weight:600}.certification-date{color:#8a969e;font:12px DM Mono,monospace}.contact-info{grid-template-columns:repeat(3,1fr);gap:12px;width:min(650px,100%);display:grid}.contact-item{text-align:left;background:#fff;border-top:3px solid #007aff;min-height:100px;padding:17px 12px}.contact-item span{color:#007aff;letter-spacing:.08em;font-size:11px;font-weight:700;display:block}.contact-item a,.contact-item strong{color:#66747e;overflow-wrap:anywhere;margin-top:8px;font-size:13px;font-weight:400;display:block}.contact-item a{color:#007aff}.section.active .hero-avatar{animation:.7s ease-out both fade-scale}.section.active .hero-title{animation:.75s ease-out .1s both fade-up,8s infinite shift}.section.active .hero-subtitle{animation:.75s ease-out .18s both fade-up}.section.active .section-header{animation:.6s ease-out both fade-up}.section.active .about-content{animation:.6s ease-out .12s both fade-up}.section.active .project-card{animation:.5s both fade-scale}.section.active .skill-tag{animation:.45s both fade-scale}.section.active .certification{animation:.5s .7s both fade-up}.section.active .contact-info{animation:.6s .12s both fade-up}.section.active .project-card:first-child{animation-delay:80ms}.section.active .project-card:nth-child(2){animation-delay:.14s}.section.active .project-card:nth-child(3){animation-delay:.2s}.section.active .project-card:nth-child(4){animation-delay:.26s}.section.active .project-card:nth-child(5){animation-delay:.32s}.section.active .skill-tag:first-child{animation-delay:50ms}.section.active .skill-tag:nth-child(2){animation-delay:.1s}.section.active .skill-tag:nth-child(3){animation-delay:.15s}.section.active .skill-tag:nth-child(4){animation-delay:.2s}.section.active .skill-tag:nth-child(5){animation-delay:.25s}.section.active .skill-tag:nth-child(6){animation-delay:.3s}.section.active .skill-tag:nth-child(7){animation-delay:.35s}.section.active .skill-tag:nth-child(8){animation-delay:.4s}.section.active .skill-tag:nth-child(9){animation-delay:.45s}.section.active .skill-tag:nth-child(10){animation-delay:.5s}.section.active .skill-tag:nth-child(11){animation-delay:.55s}.section.active .skill-tag:nth-child(12){animation-delay:.6s}@keyframes fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-scale{0%{opacity:0;transform:translateY(22px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes shift{0%,to{background-position:0%}50%{background-position:100%}}@media (width<=760px){.navbar{height:60px;padding:0 18px}.nav-links{display:none}.section{padding:88px 22px 52px}.section-arrow{display:none}.scroll-dots{right:12px}.hero-avatar{width:86px;height:86px;margin-bottom:20px}.about-content{font-size:17px}.projects-grid{max-height:calc(100vh - 240px);padding-right:4px;overflow-y:auto}.project-card{flex-basis:100%;min-height:180px}.portfolio-section .section-header{margin-bottom:18px}.contact-info{grid-template-columns:1fr}.contact-item{min-height:72px}.certification{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
