.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--light{border-color:#18181b1f;box-shadow:#18181b0a 0 1px 2px,#18181b0d 0 8px 24px}.border-glow-card--light:after,.border-glow-card--light>.edge-light{mix-blend-mode:normal}.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}.tilted-card-figure{position:relative;width:100%;height:100%;perspective:800px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0}.tilted-card-mobile-alert{position:absolute;top:1rem;text-align:center;font-size:.875rem;display:none}@media (max-width: 640px){.tilted-card-mobile-alert{display:block}.tilted-card-caption{display:none}}.tilted-card-inner{position:relative;transform-style:preserve-3d}.tilted-card-img{position:absolute;top:0;left:0;object-fit:cover;border-radius:15px;will-change:transform;transform:translateZ(0)}.tilted-card-overlay{position:absolute;top:0;left:0;z-index:2;will-change:transform;transform:translateZ(30px)}.tilted-card-caption{pointer-events:none;position:absolute;left:0;top:0;border-radius:4px;background-color:#fff;padding:4px 10px;font-size:10px;color:#2d2d2d;opacity:0;z-index:3}.folder-float{--ff-w: 200px;--ff-h: 148px;--ff-r: 14px;--ff-tab: 14px;--ff-back: #3f3f46;--ff-front: #52525b;--ff-paper: #f5f5f5;--ff-item: #f5f5f5;--ff-item-ink: #18181b;--ff-label: #f5f5f5;--ff-spread: 180px;--ff-lift: 26px;--ff-angle: 34deg;--ff-rest: 16deg;--ff-open: .52s;--ff-close: 312ms;--ff-stagger: 45ms;--ff-n: 6;--ff-spring: cubic-bezier(.34, 1.57, .64, 1);--ff-ease-out: cubic-bezier(.23, 1, .32, 1);position:relative;display:inline-block;width:var(--ff-w);padding-top:var(--ff-tab);font-family:inherit;font-size:13px;font-weight:500;line-height:1}.folder-float__folder{position:relative;width:var(--ff-w);height:var(--ff-h)}.folder-float__back{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:var(--ff-r);background:var(--ff-back);transform:perspective(600px) rotateX(8deg);transform-origin:50% 100%}.folder-float__back:before{content:"";position:absolute;top:calc(-1 * var(--ff-tab));left:0;width:42%;height:calc(var(--ff-tab) + var(--ff-r));border-radius:var(--ff-r) var(--ff-r) 0 0;background:inherit}.folder-float__paper{position:absolute;top:10%;z-index:1;right:8%;left:8%;height:50%;border-radius:6px;background:var(--ff-paper);opacity:0;transform:translateY(10px);transition:transform var(--ff-close) var(--ff-ease-out),opacity var(--ff-close) ease}.folder-float__front{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;gap:5px;height:76%;padding:14px 16px;box-sizing:border-box;border-radius:var(--ff-r);background:linear-gradient(180deg,color-mix(in srgb,var(--ff-front) 92%,#fff),var(--ff-front) 60%);color:var(--ff-label);box-shadow:0 -10px 24px #00000047;transform:perspective(600px) rotateX(calc(-1 * var(--ff-rest)));transform-origin:50% 100%;transition:transform var(--ff-open) var(--ff-ease-out);overflow:hidden}.folder-float__front-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;pointer-events:none}.folder-float__front:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(180deg,#06060800 46%,#0606089e);pointer-events:none}.folder-float__label,.folder-float__sub{position:relative;z-index:1}.folder-float__label{font-size:13px;font-weight:500}.folder-float__sub{font-size:11px;opacity:.55}.folder-float__trigger{position:absolute;right:0;bottom:0;left:0;z-index:3;height:76%;margin:0;padding:0;border:0;border-radius:var(--ff-r);background:transparent;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}.folder-float[data-open] .folder-float__front{transform:perspective(600px) rotateX(calc(-1 * var(--ff-angle)))}.folder-float[data-open] .folder-float__paper{opacity:1;transform:translateY(0);transition:transform var(--ff-open) var(--ff-ease-out),opacity .2s ease}.folder-float__items{position:absolute;top:var(--ff-tab);left:50%;z-index:1;width:0;height:0}.folder-float[data-open] .folder-float__items:before{content:"";position:absolute;top:calc(-1 * (var(--ff-lift) + 120px));left:calc(-1 * (var(--ff-spread) + 100px));width:calc(2 * var(--ff-spread) + 200px);height:calc(var(--ff-lift) + 120px)}.folder-float__item{position:absolute;top:0;left:50%;margin:0;padding:0 14px;height:34px;border:0;border-radius:17px;background:var(--ff-item);color:var(--ff-item-ink);font:inherit;white-space:nowrap;box-shadow:0 4px 12px #00000024;cursor:pointer;outline:none;opacity:0;transform:translate(-50%,44px) scale(.6);transform-origin:50% 50%;pointer-events:none;-webkit-tap-highlight-color:transparent;transition:transform var(--ff-close) var(--ff-ease-out) calc((var(--ff-n) - 1 - var(--i)) * var(--ff-stagger) * .5),opacity .16s ease calc((var(--ff-n) - 1 - var(--i)) * var(--ff-stagger) * .5 + var(--ff-close) * .45),scale .16s var(--ff-ease-out)}.folder-float[data-open] .folder-float__item{opacity:1;transform:translate(calc(-50% + var(--x)),var(--y)) rotate(var(--r)) scale(1);pointer-events:auto;transition:transform var(--ff-open) var(--ff-spring) calc(var(--i) * var(--ff-stagger)),opacity .16s ease calc(var(--i) * var(--ff-stagger)),scale .16s var(--ff-ease-out)}.folder-float[data-live] .folder-float__item{cursor:grab;transition:scale .16s var(--ff-ease-out)}.folder-float__item[data-drag]{cursor:grabbing}@media (hover: hover) and (pointer: fine){.folder-float[data-open] .folder-float__item:hover{scale:1.05}}.folder-float[data-open] .folder-float__item:active{scale:.97}.folder-float__item[data-pop]{animation:folder-float-pop .32s var(--ff-ease-out)}.folder-float__drift{display:block;animation:folder-float-drift 3.2s ease-in-out infinite;animation-delay:calc(var(--i) * -.7s);animation-play-state:paused}.folder-float[data-open] .folder-float__drift{animation-play-state:running}.folder-float[data-physics] .folder-float__drift,.folder-float[data-live] .folder-float__drift{animation:none}@keyframes folder-float-drift{0%,to{translate:0 0}50%{translate:0 -3px}}@keyframes folder-float-pop{30%{scale:1.1}to{scale:1}}@media (prefers-reduced-motion: reduce){.folder-float__front,.folder-float__paper{transition:opacity .2s ease}.folder-float[data-open] .folder-float__front{transform:perspective(600px) rotateX(calc(-1 * var(--ff-rest)))}.folder-float__paper{transform:none!important}.folder-float__item{transition:opacity .2s ease}.folder-float[data-open] .folder-float__item{transition:opacity .2s ease calc(var(--i) * var(--ff-stagger))}.folder-float__drift{animation:none}}@font-face{font-family:Noto Sans SC;src:url(/fonts/noto-sans-sc-lite.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg: #0a0a0c;--bg-2: #0e0e12;--bg-3: #131318;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--text: #e8e8ea;--text-2: #a2a2ac;--text-3: #5f5f6a;--accent: #ff8c00;--accent-soft: rgba(255, 140, 0, .14);--strength-accent: #f0881a;--container: 1400px;--work-gallery: 820px;--ct-size: clamp(54px, 6.2vw, 108px);--ct-cn-ratio: .82;--ease: cubic-bezier(.22, 1, .36, 1);--font-cn: "Noto Sans SC", "Source Han Sans SC", "Source Han Sans CN", "MiSans", "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", "SimHei", sans-serif;--font-en: "Noto Sans SC", "Helvetica Neue", "Segoe UI", "Arial", sans-serif;--font-mono: "SFMono-Regular", "JetBrains Mono", "Cascadia Mono", "Consolas", "Courier New", "Noto Sans SC", "Source Han Sans SC", "Source Han Sans CN", "MiSans", "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", "SimHei", monospace}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-en),var(--font-cn);-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--accent);color:#0a0a0c}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.container{width:min(var(--container),100% - 240px);margin:0 auto}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;font-size:14px;letter-spacing:.12em;border:1px solid var(--line-strong);border-radius:999px;transition:all .35s var(--ease);cursor:pointer;white-space:nowrap}.btn-arrow{transition:transform .35s var(--ease)}.btn:hover .btn-arrow{transform:translate(4px)}.btn-primary{background:var(--text);color:#0a0a0c;border-color:var(--text);font-weight:600}.btn-primary:hover{background:var(--accent);border-color:var(--accent)}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.btn-ghost:hover{border-color:var(--line-strong);color:var(--text)}.btn-ghost{border-color:transparent;color:var(--text-2);font-family:var(--font-mono);font-size:13px}.section{padding:clamp(64px,5.6vw,96px) 0;position:relative}section[id]{scroll-margin-top:84px}.section-head{margin-bottom:52px}.section-index{display:inline-block;font-family:var(--font-mono);font-size:11px;letter-spacing:.28em;color:var(--accent);margin-bottom:18px}.section-title{font-size:clamp(34px,3.4vw,60px);font-weight:800;line-height:1.05;letter-spacing:-.005em;display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}.section-title-en{font-size:clamp(11px,.9vw,14px);font-weight:400;letter-spacing:.36em;color:var(--text-3);font-family:var(--font-mono)}.section-sub{margin-top:16px;color:var(--text-2);font-size:14px;letter-spacing:.06em}.title-big{display:inline-block}.nav{position:fixed;inset:0 0 auto 0;z-index:100;padding:18px 32px 0;pointer-events:none}.nav-bar{pointer-events:auto;position:relative;width:min(1240px,100%);margin:0 auto;height:56px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0e;backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);box-shadow:inset 0 1px #ffffff2e,0 18px 50px #00000052;transition:background .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease)}.nav-scrolled .nav-bar{background:#0e0e12b8;border-color:#ffffff2e;box-shadow:inset 0 1px #fff3,0 22px 60px #00000080}.nav-logo{display:inline-flex;align-items:center;gap:10px}.nav-logo-pill{display:inline-flex;align-items:center;background:var(--accent);color:#17130b;font-size:14px;font-weight:800;letter-spacing:.06em;line-height:1;padding:9px 16px;border-radius:999px}.nav-logo-dot{color:#17130b}.nav-logo-sub{font-family:var(--font-mono);font-size:9px;font-weight:400;letter-spacing:.26em;color:var(--text-3)}.nav-links{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:36px}.nav-link{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--text-2);transition:color .3s}.nav-link-cn{font-size:13px;letter-spacing:.12em}.nav-link-en{font-family:var(--font-mono);font-size:8px;letter-spacing:.28em;color:var(--text-3);transition:color .3s}.nav-link:hover{color:var(--text)}.nav-link:hover .nav-link-en{color:var(--accent)}.nav-cta{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;font-family:inherit;font-size:12.5px;letter-spacing:.08em;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#ffffff0f;color:var(--text);cursor:pointer;white-space:nowrap;transition:all .35s var(--ease)}.nav-cta-arrow{transition:transform .35s var(--ease)}.nav-cta:hover{background:var(--accent);border-color:var(--accent);color:#17130b}.nav-cta:hover .nav-cta-arrow{transform:translate(3px,-3px)}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;z-index:2}.page-shell{position:relative;z-index:1}.page-shell-aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.4s var(--ease)}.page-shell-on .page-shell-aurora{opacity:1}.page-shell-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0a0a0c4d,#0a0a0c0f 45%,#0a0a0c61)}.page-shell-content{position:relative;z-index:1}.border-glow-btn{display:inline-flex;border:none;background:transparent;box-shadow:none}.border-glow-btn>.border-glow-inner{overflow:visible}.border-glow-btn .btn,.border-glow-btn .nav-cta{border-color:transparent}.border-glow-block{border:none;background:transparent;box-shadow:none}.border-glow-block>.border-glow-inner{overflow:visible;height:100%}.border-glow-block .contact-mail{border:none;height:100%}.border-glow-media{display:block;border:none;background:transparent;box-shadow:none}.border-glow-media>.border-glow-inner{overflow:hidden;border-radius:inherit;height:100%;width:100%;display:block}.tilted-card-overlay{width:100%;height:100%}.tilted-card-inner>.border-glow-card{width:100%;height:100%}.strength-card{border-radius:14px}.proj-media-glow,.proj-media-glow>.border-glow-inner,.proj-media-glow .proj-media,.proj-media-glow .proj-media img{border-radius:6px}.profile-photo,.profile-photo>.border-glow-inner,.profile-photo img{border-radius:14px}.border-glow-block .tilted-card-inner,.border-glow-nav .tilted-card-inner{width:100%;height:100%}.border-glow-nav{width:min(1240px,100%);margin:0 auto;border:none;background:transparent;box-shadow:none}.border-glow-nav>.border-glow-inner{overflow:visible}.border-glow-nav .nav-bar{width:100%;margin:0}.border-glow-nav:before,.border-glow-nav:after{display:none}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:opacity 1s}.hero-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s}.hero-video-on{opacity:.72}.hero-bg-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 50% 10%,transparent 30%,rgba(10,10,12,.86) 100%),linear-gradient(180deg,rgba(10,10,12,.55) 0%,rgba(10,10,12,.25) 45%,var(--bg) 100%)}.hero-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:120px 120px;-webkit-mask-image:radial-gradient(90% 70% at 50% 40%,#000 20%,transparent 100%);mask-image:radial-gradient(90% 70% at 50% 40%,#000 20%,transparent 100%)}.hero-inner{position:relative;z-index:2;padding-top:40px}.hero-lanyard{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1}.hero-lanyard .lanyard-wrapper{height:100%}.hero-inner{pointer-events:none}.hero-lanyard{animation:lanyardIn .9s var(--ease) both}@keyframes lanyardIn{0%{opacity:0}to{opacity:1}}.hero-inner a,.hero-inner button,.hero-inner .border-glow-btn{pointer-events:auto}@media (max-width: 1400px){.hero-lanyard{display:none}}.hero-curtain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;pointer-events:none}.hero-curtain-panel{flex:1 1 0;background:linear-gradient(180deg,#0c0c10,#0a0a0c)}.hero-curtain-panel+.hero-curtain-panel{border-left:1px solid rgba(255,255,255,.045)}@media (prefers-reduced-motion: reduce){.hero-curtain{display:none}}.hero-meta{display:flex;align-items:center;gap:16px;font-family:var(--font-mono);font-size:11px;letter-spacing:.3em;color:var(--text-2);margin-bottom:30px}.hero-meta-sep{width:42px;height:1px;background:var(--line-strong)}.hero-title{font-weight:800;line-height:.98;margin-bottom:32px}.hero-title-line{display:flex;align-items:baseline;gap:24px;flex-wrap:wrap}.hero-title-outline{font-size:clamp(72px,9.5vw,168px);letter-spacing:.02em;color:transparent;-webkit-text-stroke:1.5px rgba(232,232,234,.55)}.hero-title-solid{font-size:clamp(52px,6vw,112px);letter-spacing:.08em;background:linear-gradient(120deg,#f2f2f4 30%,#9d9da8);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-title-cn-sub{font-size:clamp(15px,1.3vw,22px);font-weight:400;letter-spacing:.5em;color:var(--accent)}.hero-tagline{max-width:520px;font-size:15px;line-height:1.9;color:var(--text-2);letter-spacing:.04em;margin-bottom:38px}.hero-actions{display:flex;align-items:center;gap:20px}.hero-foot{position:absolute;left:0;right:0;bottom:0;z-index:2}.hero-scroll{position:absolute;left:48px;bottom:96px;display:flex;flex-direction:column;align-items:center;gap:12px}.hero-scroll-text{font-family:var(--font-mono);font-size:10px;letter-spacing:.4em;color:var(--text-3);writing-mode:vertical-rl}.hero-scroll-line{width:1px;height:56px;background:var(--line-strong);position:relative;overflow:hidden}.hero-scroll-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);animation:scrollHint 1.8s var(--ease) infinite}@keyframes scrollHint{0%{transform:translateY(-100%)}60%,to{transform:translateY(100%)}}.hero-marquee{border-top:1px solid var(--line);overflow:hidden;padding:20px 0;background:#0a0a0c66;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hero-marquee-track{display:flex;width:max-content;animation:marquee 36s linear infinite}.hero-marquee-item{font-family:var(--font-mono);font-size:12px;letter-spacing:.32em;color:var(--text-3);padding:0 28px;white-space:nowrap}.hero-marquee-item i{color:var(--accent);font-style:normal;margin-left:28px}@keyframes marquee{to{transform:translate(-50%)}}.about{background:#0a0a0c42;padding:34px 0 30px}.about-head{margin-bottom:18px}.about-title{display:flex;align-items:center;gap:10px;font-size:clamp(26px,2.6vw,38px);font-weight:800;line-height:1.05;letter-spacing:.01em}.about-title-arrow{font-size:.46em;color:var(--accent);transform:translateY(.12em)}.about-title-cn{margin-top:5px;font-size:12px;letter-spacing:.18em;color:var(--text-2)}.profile{display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:clamp(28px,3vw,56px);align-items:start}.profile-photo-item{aspect-ratio:3 / 4}.profile-photo{position:relative;border-radius:14px;height:100%}.profile-photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:top center;filter:grayscale(.15) contrast(1.02)}.profile-badge{position:absolute;left:14px;bottom:14px;background:var(--accent);color:#17130b;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;padding:6px 12px;border-radius:999px;white-space:nowrap}.profile-body{display:flex;flex-direction:column}.profile-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.26em;color:var(--accent);margin-bottom:10px}.profile-name{font-size:clamp(20px,1.8vw,28px);font-weight:800;line-height:1.15;letter-spacing:.01em;margin-bottom:10px}.profile-desc p{font-size:11.5px;line-height:1.55;color:var(--text-2);letter-spacing:.03em;max-width:none;text-align:justify;text-justify:inter-ideograph}.profile-desc p+p{margin-top:5px}@media (min-width: 1450px){.profile-desc p{text-align-last:justify}}.profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 40px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.fact{display:flex;flex-direction:column;gap:5px}.fact-k{font-size:11px;letter-spacing:.12em;color:var(--text-3)}.fact-v{font-size:13.5px;font-weight:600;color:var(--text)}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px;padding-top:13px;border-top:1px solid var(--line)}.pstat{display:flex;flex-direction:column;gap:6px}.pstat-value{font-size:clamp(19px,1.6vw,25px);font-weight:800;line-height:1;letter-spacing:.02em;color:var(--accent)}.pstat-suffix{font-size:.7em}.pstat-label{font-size:11px;letter-spacing:.08em;color:#fff}.profile-skills{margin-top:16px;padding-top:13px;border-top:1px solid var(--line)}.profile-skills-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:10px}.profile-skills-en{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.26em;color:var(--accent)}.profile-skills-cn{font-size:12px;letter-spacing:.1em;color:var(--text-3)}.skill-cloud{display:flex;flex-wrap:wrap;gap:7px}.skill-tag{padding:4px 11px;font-size:11px;letter-spacing:.08em;color:var(--text-2);border:1px solid var(--line);border-radius:999px;transition:all .3s var(--ease);cursor:default}.skill-tag:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.career{margin-top:18px}.career-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:10px}.career-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.26em;color:var(--text-3)}.career-title{font-size:clamp(17px,1.5vw,22px);font-weight:700;letter-spacing:.06em}.career-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,3vw,48px);border-top:1px solid var(--line-strong);padding-top:18px}.career-item{position:relative;display:flex;flex-direction:column;align-items:flex-start}.career-mark{position:absolute;top:-27px;left:0;color:var(--accent);font-size:11px;line-height:1}.career-period{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--accent);margin-bottom:8px}.career-org{font-size:15px;font-weight:700;letter-spacing:.05em;margin-bottom:8px}.career-role{font-size:10.5px;letter-spacing:.1em;color:var(--text-2);border:1px solid var(--line-strong);border-radius:999px;padding:4px 11px;margin-bottom:7px}.career-points{list-style:none}.career-points li{position:relative;font-size:11.5px;line-height:1.5;color:var(--text-2);padding-left:12px}.career-points li:before{content:"";position:absolute;left:0;top:.8em;width:5px;height:1px;background:var(--accent)}.works{background:#0e0e1238}.works:before{content:"";position:absolute;top:0;left:48px;right:48px;height:1px;background:var(--line)}.works-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.proj{border-bottom:1px solid var(--line)}.proj-link{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:clamp(20px,2.2vw,40px);align-items:center;padding:18px 4px;transition:background .5s var(--ease)}.proj:hover .proj-link{background:linear-gradient(90deg,rgba(255,255,255,.025),transparent 70%)}.proj-media-glow{aspect-ratio:var(--proj-media-ratio, 16 / 9);border-radius:6px}.proj-media{position:relative;overflow:hidden;height:100%;border-radius:inherit;background:var(--bg-3)}.proj-media img{width:100%;height:100%;object-fit:contain;object-position:center;scale:1;transition:scale .9s var(--ease),filter .9s var(--ease);filter:brightness(.92)}.proj:hover .proj-media img{scale:1.04;filter:brightness(1.02)}.proj-media-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(200deg,transparent 55%,rgba(6,6,8,.7) 100%);opacity:.8;transition:opacity .6s}.proj:hover .proj-media-shade{opacity:1}.proj-index{position:absolute;top:14px;left:16px;font-family:var(--font-mono);font-size:11px;letter-spacing:.28em;color:#fffc;padding:5px 10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0c4d}.proj-body{display:flex;flex-direction:column;gap:10px}.proj-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.proj-title{font-size:clamp(19px,1.5vw,24px);font-weight:700;letter-spacing:.05em;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.proj-title-en{font-family:var(--font-mono);font-size:10px;font-weight:400;letter-spacing:.24em;color:var(--text-3)}.proj-year{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;color:var(--accent);white-space:nowrap}.proj-desc{font-size:13px;line-height:1.8;color:var(--text-2);max-width:760px}.proj-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:4px}.proj-cat{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--text-3)}.proj-view{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.14em;color:var(--text-2);opacity:0;transform:translate(-8px);transition:all .45s var(--ease)}.proj-view i{font-style:normal;color:var(--accent)}.proj:hover .proj-view{opacity:1;transform:none;color:var(--text)}.strengths{background:#0a0a0c42}.strengths:before{content:"";position:absolute;top:0;left:48px;right:48px;height:1px;background:var(--line)}.strength-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start}.strength-item{position:relative;display:block;aspect-ratio:1 / 1;min-height:220px}.strength-card{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:radial-gradient(120% 120% at 0% 0%,rgba(255,255,255,.055),transparent 62%),linear-gradient(180deg,#17161d,#0f0e13);transition:border-color .42s var(--ease),box-shadow .42s var(--ease)}.strength-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:var(--strength-accent, #f0881a);opacity:0;transition:opacity .42s var(--ease)}.strength-card:hover{border-color:#0000001f;box-shadow:0 26px 56px -26px #f0881acc}.strength-card:hover:before{opacity:1}.strength-card-head{position:absolute;top:15px;left:16px;right:16px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:10px}.strength-card-index{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:22px;padding:0 9px;border-radius:999px;border:1px solid rgba(240,136,26,.32);background:#f0881a24;color:var(--strength-accent, #f0881a);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;transition:background .42s var(--ease),color .42s var(--ease),border-color .42s var(--ease)}.strength-card-en{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:#ffffff4d;white-space:nowrap;transition:color .42s var(--ease)}.strength-card-title{position:absolute;top:52px;left:20px;right:20px;z-index:3;display:flex;align-items:center;gap:9px;font-size:clamp(17px,1.15vw,21px);font-weight:700;letter-spacing:.03em;line-height:1.2;color:#f4f2f0;transition:color .42s var(--ease)}.strength-card-dot{width:7px;height:7px;border-radius:1px;background:var(--strength-accent, #f0881a);transform:rotate(45deg);box-shadow:0 0 10px #f0881ad9;transition:background .42s var(--ease),box-shadow .42s var(--ease)}.strength-card:hover .strength-card-title{color:#17120b}.strength-card:hover .strength-card-dot{background:#17120b;box-shadow:none}.strength-card:hover .strength-card-index{border-color:#ffffffe6;background:#ffffffe0;color:#17120b}.strength-card:hover .strength-card-en{color:#17120b8c}.strength-card-icon{position:absolute;right:-6%;bottom:-10%;z-index:2;width:63%;mix-blend-mode:screen;pointer-events:none;transition:opacity .42s var(--ease),transform .7s var(--ease)}.strength-card:hover .strength-card-icon{opacity:0;transform:scale(1.06)}.strength-pills{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding-top:0;z-index:4;font-size:11px}.strength-pills .folder-float__folder{display:none}.strength-pills .folder-float__items{top:85%}.strength-pills .folder-float__item{height:calc(var(--ff-host-w, 335px) * .167);padding:0 calc(var(--ff-host-w, 335px) * .0716);border-radius:calc(var(--ff-host-w, 335px) * .0836);font-family:var(--font-mono);font-size:calc(var(--ff-host-w, 335px) * .0567);letter-spacing:.06em;box-shadow:0 6px 16px #00000057;transform:translate(calc(-50% + (var(--i) - 1) * var(--ff-host-w, 335px) * .155),calc(var(--ff-host-w, 335px) * -.221)) scale(.55)}.strength-item:hover{z-index:5}.contact{position:relative;min-height:100vh;display:flex;align-items:center;background:#0e0e125c;border-top:1px solid var(--line);overflow:hidden;padding:108px 0 48px}.contact-inner{position:relative;z-index:2;width:min(var(--container),100% - 240px)}.contact-head{margin-bottom:40px}.contact-title{position:relative;font-weight:800;line-height:1.02;margin-bottom:30px}.contact-title-row{position:relative;z-index:1;display:flex;align-items:baseline;gap:28px;flex-wrap:wrap}.contact-title-outline{font-size:var(--ct-size);letter-spacing:.04em;color:transparent;-webkit-text-stroke:1.5px rgba(232,232,234,.46)}.contact-title-solid{font-size:calc(var(--ct-size) * var(--ct-cn-ratio));letter-spacing:.08em;color:var(--text);position:relative;top:calc(var(--ct-size) * -.056)}.contact-sub{font-size:14px;line-height:1.9;color:var(--text-2);max-width:620px;letter-spacing:.04em}.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:52px 0 72px;max-width:1100px}.contact-mail{display:flex;align-items:center;gap:18px;padding:22px 26px;border:1px solid var(--line);border-radius:4px;transition:all .4s var(--ease);background:#0a0a0c66}.contact-mail:hover{border-color:var(--line-strong);background:#ffffff0d}.contact-mail-k{font-family:var(--font-mono);font-size:11px;letter-spacing:.3em;color:var(--text-3)}.contact-mail-v{font-size:clamp(17px,1.6vw,24px);letter-spacing:.04em;font-weight:600;flex:1}.contact-mail-arrow{color:var(--accent);font-size:20px;transition:transform .4s var(--ease)}.contact-mail:hover .contact-mail-arrow{transform:translate(4px,-4px)}.contact-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-top:32px;border-top:1px solid var(--line)}.contact-foot-left{display:flex;align-items:baseline;gap:18px}.contact-logo{font-size:18px;font-weight:800;letter-spacing:.08em}.contact-foot-note{font-size:12.5px;color:var(--text-3);letter-spacing:.1em}.contact-foot-right{display:flex;align-items:center;gap:18px;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--text-3)}.contact-foot-sep{width:32px;height:1px;background:var(--line-strong)}.contact-bg-text{position:absolute;bottom:-4vw;left:50%;transform:translate(-50%);font-size:26vw;font-weight:800;letter-spacing:.06em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.045);pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:1}.work-page{min-height:100vh;background:var(--bg);color:var(--text)}.work-page-head-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 40px;background:#0a0a0cb8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.work-page-back{font-size:13px;letter-spacing:.08em;color:var(--text-2);transition:color .3s}.work-page-back:hover{color:var(--accent)}.work-page-logo{font-size:15px;font-weight:800;letter-spacing:.08em}.work-page-logo span{color:var(--accent)}.work-page-inner{width:min(var(--container),100% - 200px);margin:0 auto;padding:64px 0 120px}.work-page-title-block{display:flex;flex-direction:column;gap:12px;margin-bottom:36px}.work-page-index{display:inline-block;font-family:var(--font-mono);font-size:11px;letter-spacing:.28em;color:var(--accent)}.work-page-title{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;font-size:clamp(34px,3.6vw,62px);font-weight:800;line-height:1.05}.work-page-title-en{font-family:var(--font-mono);font-size:clamp(12px,1vw,15px);font-weight:400;letter-spacing:.32em;color:var(--text-3)}.work-page-year{font-family:var(--font-mono);font-size:13px;letter-spacing:.2em;color:var(--text-3)}.work-page-cover{margin:0;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--bg-3)}.work-page-cover img{display:block;width:100%;height:auto;max-height:90vh;object-fit:contain}.work-page-info{display:grid;grid-template-columns:1.618fr 1fr;gap:clamp(32px,4vw,72px);margin-top:44px;padding-top:32px;border-top:1px solid var(--line)}.work-page-gallery{display:flex;flex-direction:column;gap:24px;margin-top:44px;max-width:var(--work-gallery);margin-inline:auto}.work-page-gallery-item{margin:0;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--bg-3)}.work-page-gallery-item img{display:block;width:100%;height:auto}.work-page-desc{font-size:15px;line-height:1.95;color:var(--text-2)}.work-page-facts{display:flex;flex-direction:column;gap:18px}.work-page-facts div{display:flex;flex-direction:column;gap:6px}.work-page-facts dt{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;color:var(--text-3)}.work-page-facts dd{font-size:14px;font-weight:600}.work-page-pager{display:flex;justify-content:space-between;gap:24px;margin-top:68px;padding-top:26px;border-top:1px solid var(--line)}.work-page-pager-link{display:flex;flex-direction:column;gap:8px}.work-page-pager-link--next{text-align:right}.work-page-pager-k{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;color:var(--text-3)}.work-page-pager-v{font-size:16px;font-weight:600;transition:color .3s}.work-page-pager-link:hover .work-page-pager-v{color:var(--accent)}@media (max-width: 1200px){.profile{grid-template-columns:1fr}.profile-photo{max-width:460px}.career-grid{grid-template-columns:1fr;gap:56px}.strength-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.container{width:calc(100% - 48px)}.nav-links{display:none}.contact-actions,.profile-facts,.strength-list{grid-template-columns:1fr}.strength-item{aspect-ratio:auto;height:380px}.strength-card-title{top:50px;font-size:21px}.strength-card-icon{width:auto;height:62%;right:-4%;bottom:-10%}.strength-pills .folder-float__item{height:56px;padding:0 24px;border-radius:28px;font-size:19px}.proj-link{grid-template-columns:1fr;gap:18px}.hero-scroll{display:none}.section{padding:100px 0 80px}.profile-stats{grid-template-columns:1fr 1fr}.work-page-head-bar{padding:14px 20px}.work-page-inner{width:calc(100% - 48px);padding:40px 0 80px}.work-page-info{grid-template-columns:1fr;gap:28px}}
