.grainient-container{position:relative;width:100%;height:100%;overflow:hidden}.border-glow-card{--edge-proximity: 0;--cursor-angle: 45deg;--edge-sensitivity: 30;--color-sensitivity: calc(var(--edge-sensitivity) + 20);--border-radius: 28px;--glow-padding: 40px;--cone-spread: 25;position:relative;border-radius:var(--border-radius);isolation:isolate;transform:translateZ(.01px);display:grid;border:1px solid rgb(255 255 255 / 15%);background:var(--card-bg, #120F17);overflow:visible;box-shadow:#0000001a 0 1px 2px,#0000001a 0 2px 4px,#0000001a 0 4px 8px,#0000001a 0 8px 16px,#0000001a 0 16px 32px,#0000001a 0 32px 64px}.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;transition:opacity .25s ease-out;z-index:-1}.border-glow-card:not(:hover):not(.sweep-active):before,.border-glow-card:not(:hover):not(.sweep-active):after,.border-glow-card:not(:hover):not(.sweep-active)>.edge-light{opacity:0;transition:opacity .75s ease-in-out}.border-glow-card:before{border:1px solid transparent;background:linear-gradient(var(--card-bg, #120F17) 0 100%) padding-box,linear-gradient(#fff0,#fff0) border-box,var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) border-box,var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) border-box,var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) border-box,var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) border-box,var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) border-box,var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) border-box,var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) border-box,var(--gradient-base, linear-gradient(#c299ff 0 100%)) border-box;opacity:calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black calc(var(--cone-spread) * 1%),transparent calc((var(--cone-spread) + 15) * 1%),transparent calc((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%));mask-image:conic-gradient(from var(--cursor-angle) at center,black calc(var(--cone-spread) * 1%),transparent calc((var(--cone-spread) + 15) * 1%),transparent calc((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%))}.border-glow-card:after{border:1px solid transparent;background:var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) padding-box,var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) padding-box,var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) padding-box,var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) padding-box,var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) padding-box,var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) padding-box,var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) padding-box,var(--gradient-base, linear-gradient(#c299ff 0 100%)) padding-box;-webkit-mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);-webkit-mask-composite:source-out,source-over,source-over,source-over,source-over,source-over;mask-composite:subtract,add,add,add,add,add;opacity:calc(var(--fill-opacity, .5) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));mix-blend-mode:soft-light}.border-glow-card>.edge-light{inset:calc(var(--glow-padding) * -1);pointer-events:none;z-index:1;-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%);mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%);opacity:calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));mix-blend-mode:plus-lighter}.border-glow-card>.edge-light:before{content:"";position:absolute;inset:var(--glow-padding);border-radius:inherit;box-shadow:inset 0 0 0 1px var(--glow-color, hsl(40deg 80% 80% / 100%)),inset 0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),inset 0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),inset 0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),inset 0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),inset 0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),inset 0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%)),0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%))}.border-glow-inner{display:flex;flex-direction:column;position:relative;overflow:auto;z-index:1}:root{--cream: #f4eedd;--green: #1d3f2c;--green-deep: #14301f;--gold: #c7a23c;--gold-light: #e7d291;--color-bg: #f7f3ea;--color-bg-dark: var(--green-deep);--color-bg-alt: #ede6d4;--color-text: #1d2a20;--color-text-light: #5c6a5d;--color-text-white: #eef0e6;--color-text-muted: #95a093;--color-accent: var(--green);--color-accent-hover: #14301f;--color-border: #e2dcc9;--color-card-bg: #ffffff;--font-cn: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-en: "Playfair Display", Georgia, serif;--font-serif-cn: "Noto Serif SC", "Noto Sans SC", serif;--max-width: 1200px;--section-padding: 128px 48px;--transition: .4s cubic-bezier(.25, .46, .45, .94)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-cn);background:var(--color-bg);color:var(--color-text);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{text-decoration:none;color:inherit;transition:var(--transition)}img{max-width:100%;display:block}ul{list-style:none}button{font-family:inherit}.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:26px 56px;display:flex;justify-content:space-between;align-items:center;transition:var(--transition)}.nav.scrolled{background:#f7f3eae6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:16px 56px;box-shadow:0 1px 30px #14301f14}.nav-logo{font-size:18px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--green)}.nav-logo span{font-family:var(--font-en);font-weight:400;opacity:.55;margin-left:6px}.nav-links{display:flex;gap:40px}.nav-links a{font-size:13px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:#1d3f2c9e;position:relative;padding:4px 0}.nav-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1.5px;background:var(--green);transition:width .3s ease}.nav-links a:hover{color:var(--green)}.nav-links a:hover:after{width:100%}.hero{min-height:100vh;display:flex;flex-direction:column;background:var(--cream);color:var(--green);overflow:hidden;position:relative}.hero-sky{position:relative;flex:1 1 auto;display:flex;align-items:center;justify-content:center;text-align:center;padding:118px 40px 30px;background:radial-gradient(ellipse 75% 62% at 50% 0%,#f9f4e7,#f3ecd9 55%,#eee3ca);overflow:hidden}.hero-sky:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 66% at 50% 108%,#ffe27cc7,#ffe27c00 70%),repeating-conic-gradient(from -90deg at 50% 108%,rgba(255,205,74,.2) 0deg 4deg,transparent 4deg 15deg);-webkit-mask-image:linear-gradient(to top,#000 0%,#000 42%,transparent 90%);mask-image:linear-gradient(to top,#000 0%,#000 42%,transparent 90%);pointer-events:none}.hero-sky-inner{position:relative;z-index:2;max-width:1040px}.h-mask{display:block;overflow:hidden;padding-bottom:.08em}.hero-title-en{font-family:var(--font-en);font-weight:700;font-size:clamp(50px,8.4vw,112px);letter-spacing:2px;line-height:1.02;color:var(--green)}.hero-mini{margin:18px auto 0;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#1d3f2c8c}.hero-name-row{margin-top:36px;display:flex;align-items:center;justify-content:center;gap:24px;color:var(--green)}.hero-name-row .swallow{position:static;flex:0 0 auto;opacity:.9}.hero-name-cn{font-family:var(--font-serif-cn);font-weight:700;font-size:clamp(42px,5.6vw,82px);letter-spacing:10px;text-indent:10px;color:var(--green)}.hero-sub-en{margin-top:22px;font-family:var(--font-en);font-size:15px;letter-spacing:4px;text-transform:uppercase;color:#1d3f2cb8}.hero-tagline{margin:22px auto 0;max-width:560px;font-size:15px;font-weight:300;line-height:1.9;color:#1c2a20bd}.hero-actions{margin-top:40px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap}.swallow{position:absolute;color:var(--green);z-index:1}.hero-hill{position:relative;flex:0 0 auto;background:var(--green-deep);color:var(--gold)}.hill-curve{display:block;width:100%;height:92px;margin-top:-91px;position:relative;z-index:3}.hill-content{padding:8px 48px 48px;text-align:center}.hill-en{font-family:var(--font-en);font-size:15px;letter-spacing:5px;color:var(--gold)}.hill-cn{font-family:var(--font-serif-cn);font-size:clamp(22px,2.8vw,34px);letter-spacing:6px;margin-top:12px;color:var(--gold-light)}.hill-x{display:block;margin-top:14px;font-size:18px;color:#e7d29199}.hill-footer{margin-top:28px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.hill-col{flex:1;font-size:10.5px;letter-spacing:2px;line-height:1.9;text-transform:uppercase;color:#e7d2918c}.hill-col.center{text-transform:none;letter-spacing:1px;font-size:11.5px;color:#e7d291c7}.hill-col.right{color:#e7d291b3}.section{padding:var(--section-padding);position:relative}.section-inner{max-width:var(--max-width);margin:0 auto}.section-header{margin-bottom:76px;overflow:hidden}.section-label{font-size:11px;font-weight:500;letter-spacing:4px;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:20px}.section-title{font-size:clamp(38px,4.5vw,68px);font-weight:800;line-height:1.14;letter-spacing:-1.5px}.section-title .en{font-family:var(--font-en);font-weight:400;display:block;font-size:.46em;color:var(--color-text-muted);margin-top:14px;letter-spacing:3px}.about{background:var(--color-bg-alt)}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:start}.about-text p{font-size:17px;line-height:2;color:var(--color-text-light);margin-bottom:28px}.about-text p:last-child{margin-bottom:0}.about-info{display:flex;flex-direction:column;gap:30px}.info-item{padding-bottom:30px;border-bottom:1px solid var(--color-border)}.info-item:last-child{border-bottom:none}.info-label{font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:8px}.info-value{font-size:17px;font-weight:500}.info-value .highlight{color:var(--color-accent)}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.tag{padding:6px 16px;font-size:12px;font-weight:500;background:#1d3f2c14;color:var(--color-accent);border-radius:2px;letter-spacing:.5px}.skills{background:var(--color-bg-dark);color:var(--color-text-white)}.skills .section-label{color:#eef0e666}.skills .section-title{color:#f2f3ea}.skills .section-title .en{color:#eef0e666}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;background:transparent}.skill-card{background:var(--color-bg-dark);padding:52px 40px;transition:var(--transition);position:relative;overflow:hidden}.skill-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.skill-card:hover:before{transform:scaleX(1)}.skill-card:hover{background:#eef0e60a}.skill-number{font-family:var(--font-en);font-size:13px;font-weight:400;color:#eef0e647;letter-spacing:2px;margin-bottom:20px}.skill-name{font-size:22px;font-weight:700;margin-bottom:16px;color:#f2f3ea}.skill-desc{font-size:14px;line-height:1.9;color:#eef0e68c}.skill-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}.skill-tag{font-size:11px;padding:4px 12px;background:#eef0e614;color:#eef0e69e;border-radius:2px;letter-spacing:.5px}.skill-glow{height:100%;border-color:#e7d29138;box-shadow:#00000047 0 10px 30px,#0000002e 0 2px 8px}.skill-glow .border-glow-inner{overflow:visible}.skill-glow .skill-card{background:#1d3f2c;height:100%;padding:50px 40px}.skill-glow .skill-card:before{display:none}.skill-glow .skill-card:hover{background:transparent}.experience{background:var(--color-bg)}.timeline{position:relative;padding-left:52px}.timeline:before{content:"";position:absolute;left:17px;top:8px;bottom:8px;width:1px;background:var(--color-border)}.timeline-item{position:relative;padding-bottom:60px}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-45px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--color-bg);border:2px solid var(--color-accent);transition:var(--transition)}.timeline-item:hover .timeline-dot{background:var(--color-accent);box-shadow:0 0 0 6px #1d3f2c2e}.timeline-date{font-size:12px;font-weight:600;letter-spacing:2px;color:var(--color-accent);margin-bottom:10px}.timeline-org{font-size:19px;font-weight:700;margin-bottom:6px}.timeline-role{font-size:14px;color:var(--color-text-light);margin-bottom:16px}.timeline-role span{display:inline-block;padding:2px 10px;background:#1d3f2c14;color:var(--color-accent);font-size:11px;font-weight:600;border-radius:2px;margin-left:8px}.timeline-desc{font-size:14px;line-height:1.9;color:var(--color-text-light)}.timeline-desc li{position:relative;padding-left:16px;margin-bottom:6px}.timeline-desc li:before{content:"";position:absolute;left:0;top:10px;width:4px;height:4px;border-radius:50%;background:var(--color-text-muted)}.education{background:var(--color-bg-alt)}.edu-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;padding:56px;background:var(--color-card-bg);border:1px solid var(--color-border);transition:var(--transition)}.edu-card:hover{box-shadow:0 20px 60px #14301f14;transform:translateY(-4px)}.edu-school{font-size:28px;font-weight:800;letter-spacing:-.5px;margin-bottom:12px}.edu-major{font-size:15px;color:var(--color-text-light);margin-bottom:16px}.edu-date{font-size:13px;font-weight:600;color:var(--color-accent);letter-spacing:1px}.edu-details h4{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--color-text-muted);margin-bottom:22px}.edu-details ul li{font-size:14px;line-height:2;color:var(--color-text-light);padding-left:16px;position:relative;margin-bottom:4px}.edu-details ul li:before{content:"";position:absolute;left:0;top:11px;width:5px;height:5px;border-radius:50%;background:var(--color-accent);opacity:.5}.portfolio{background:var(--color-bg-dark);color:var(--color-text-white);overflow:hidden}.portfolio .section-label{color:#eef0e666}.portfolio .section-title{color:#f2f3ea}.portfolio .section-title .en{color:#eef0e666}.portfolio-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:32px;margin-top:48px}.portfolio-card{background:#eef0e608;border:1px solid rgba(238,240,230,.08);border-radius:18px;overflow:hidden;transition:transform .4s ease,border-color .4s ease,box-shadow .4s ease}.portfolio-card:hover{transform:translateY(-4px);border-color:#c7a23c59;box-shadow:0 16px 50px #00000059}.portfolio-card-cover{position:relative;aspect-ratio:16 / 10;overflow:hidden;cursor:pointer;background:#111}.portfolio-card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.portfolio-card:hover .portfolio-card-cover img{transform:scale(1.05)}.portfolio-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(15,35,24,.82) 0%,rgba(15,35,24,.1) 55%,transparent 100%);display:flex;align-items:flex-end;justify-content:flex-start;padding:22px 26px;opacity:0;transition:opacity .35s ease}.portfolio-card:hover .portfolio-card-overlay{opacity:1}.portfolio-card-overlay span{font-size:14px;letter-spacing:2px;color:var(--gold);font-weight:600}.portfolio-card-meta{padding:26px 28px 30px}.portfolio-card-cat{font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:10px}.portfolio-card-title{font-size:22px;font-weight:700;color:#fff;line-height:1.4;margin-bottom:6px}.portfolio-card-en{font-family:var(--font-en);font-size:13px;color:#eef0e66b;font-style:italic}.project-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#08120ce0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:40px 24px;animation:modalIn .3s ease-out}@keyframes modalIn{0%{opacity:0}to{opacity:1}}.project-modal-panel{position:relative;width:100%;max-width:1080px;max-height:90vh;background:#102318;border:1px solid rgba(199,162,60,.18);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 100px #0009}.project-modal-close{position:absolute;top:18px;right:20px;width:42px;height:42px;border:1px solid rgba(255,255,255,.15);background:#00000059;color:#fff;font-size:26px;border-radius:50%;cursor:pointer;line-height:1;z-index:5;transition:background .2s,transform .2s}.project-modal-close:hover{background:#c7a23c4d;transform:rotate(90deg)}.project-modal-scroll{overflow-y:auto;padding:48px 56px 56px}.project-modal-scroll .portfolio-category{font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:12px}.project-modal-scroll .portfolio-title{font-size:30px;font-weight:700;color:#fff;line-height:1.4;margin-bottom:6px}.project-modal-scroll .portfolio-title-en{font-family:var(--font-en);font-size:15px;color:#eef0e673;margin-bottom:24px;font-style:italic}.project-modal-scroll .portfolio-desc{font-size:15px;color:#eef0e6b8;line-height:1.9;margin-bottom:22px}.project-modal-scroll .portfolio-tags{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px}.project-modal-scroll .portfolio-tag{font-size:12px;padding:5px 16px;background:#c7a23c1f;border:1px solid rgba(199,162,60,.25);color:var(--gold);border-radius:20px;letter-spacing:.8px}.project-flow{margin-bottom:44px;padding:32px 32px 36px;border-radius:16px;background:#c7a23c0d;border:1px solid rgba(199,162,60,.16)}.project-flow-heading{font-size:14px;font-weight:600;letter-spacing:3px;color:var(--gold);margin-bottom:22px}.project-flow-tools{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.flow-tool{display:flex;flex-direction:column;gap:3px;padding:10px 16px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07)}.flow-tool-name{font-size:14px;font-weight:600;color:#f2f3ea}.flow-tool-role{font-size:11px;color:#eef0e680;letter-spacing:.5px}.project-flow-scenarios{display:flex;flex-direction:column;gap:26px}.flow-scenario-title{font-size:16px;font-weight:700;color:#fff;padding-left:14px;border-left:3px solid var(--gold);margin-bottom:16px}.flow-steps{list-style:none;display:flex;flex-direction:column;gap:14px}.flow-step{display:flex;gap:16px;align-items:flex-start}.flow-step-key{flex:0 0 auto;min-width:88px;font-size:13px;font-weight:600;color:var(--gold);padding-top:2px;letter-spacing:.5px}.flow-step-desc{font-size:14px;color:#eef0e6c7;line-height:1.8}.project-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.project-gallery-item{aspect-ratio:16 / 10;border-radius:12px;overflow:hidden;cursor:zoom-in;background:#0a140d;border:1px solid rgba(255,255,255,.05)}.project-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.project-gallery-item:hover img{transform:scale(1.06)}.project-modal .lightbox{z-index:9500}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000eb;display:flex;align-items:center;justify-content:center;animation:lightboxIn .25s ease-out}@keyframes lightboxIn{0%{opacity:0}to{opacity:1}}.lightbox img{max-width:88vw;max-height:82vh;object-fit:contain;border-radius:6px;box-shadow:0 20px 80px #0009}.lightbox-close{position:absolute;top:24px;right:28px;background:none;border:none;color:#fff;font-size:38px;cursor:pointer;line-height:1;opacity:.7;transition:opacity .2s;z-index:10}.lightbox-close:hover{opacity:1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:#fff;font-size:36px;width:52px;height:52px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:10;line-height:1;padding:0}.lightbox-nav:hover{background:#ffffff2e}.lightbox-prev{left:24px}.lightbox-next{right:24px}.lightbox-counter{position:absolute;bottom:24px;left:50%;transform:translate(-50%);font-size:13px;color:#ffffff8c;letter-spacing:2px;font-family:var(--font-en)}.contact{background:var(--color-bg);text-align:center}.contact .section-header{max-width:680px;margin-left:auto;margin-right:auto}.contact-desc{font-size:17px;color:var(--color-text-light);line-height:1.9;margin-top:24px}.contact-info{display:flex;justify-content:center;gap:80px;margin-top:64px;flex-wrap:wrap}.contact-item{text-align:center}.contact-item-label{font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:10px}.contact-item-value{font-size:17px;font-weight:500;color:var(--color-text)}.contact-item-value a:hover{color:var(--color-accent)}.footer{background:var(--color-bg-dark);color:#eef0e666;padding:52px;text-align:center}.footer-text{font-size:12px;letter-spacing:2px;line-height:2}.page-indicator{position:fixed;bottom:34px;right:40px;z-index:900;font-family:var(--font-en);font-size:13px;letter-spacing:2px;color:var(--green);background:#f7f3eabd;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:7px 15px;border:1px solid rgba(29,63,44,.12);border-radius:2px;pointer-events:none}.page-indicator span{opacity:.5;margin:0 2px}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}.grainient-band{position:relative;width:100%;height:560px;overflow:hidden;background:var(--green-deep)}.grainient-band .grainient-container{position:absolute;top:0;right:0;bottom:0;left:0}.grainient-band-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;padding:0 24px}.grainient-band-en{margin:0 0 18px;font-family:var(--font-en);font-size:15px;letter-spacing:.3em;color:var(--gold-light);opacity:.9}.grainient-band-cn{margin:0;max-width:760px;font-family:var(--font-serif-cn);font-size:32px;font-weight:500;line-height:1.6;letter-spacing:.08em;color:var(--color-bg);text-shadow:0 2px 24px rgba(20,48,31,.55)}@media (max-width: 1024px){.skills-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.edu-card{grid-template-columns:1fr;gap:40px}.portfolio-cards{grid-template-columns:1fr;gap:24px}.project-gallery{grid-template-columns:1fr;gap:12px}.project-modal-scroll{padding:40px 28px 44px}}@media (max-width: 768px){:root{--section-padding: 80px 24px}.nav{padding:18px 24px}.nav-links{gap:22px}.hero-sky{padding:96px 22px 24px}.hero-name-cn{letter-spacing:6px;text-indent:6px}.hill-content{padding:4px 22px 36px}.hill-footer{flex-direction:column;align-items:center;gap:14px}.swallow{display:none}.contact-info{gap:36px}.skills-grid{grid-template-columns:1fr}}@media (max-width: 768px){.grainient-band{height:420px}.grainient-band-cn{font-size:22px}.grainient-band-en{font-size:12px;letter-spacing:.22em}.portfolio-title{font-size:22px}.project-modal-scroll .portfolio-title{font-size:24px}.project-gallery{grid-template-columns:1fr;gap:10px}.lightbox img{max-width:94vw;max-height:80vh}}
