.soft-aurora-container{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.line-sidebar{--accent-color: #a855f7;--text-color: #c4c4c4;--marker-color: #6c6c6c;--marker-length: 60px;--marker-gap: 0px;--tick-scale: .5;--max-shift: 30px;--item-gap: 20px;--font-size: .75rem;--smoothing: .1s;position:relative;display:flex;justify-content:flex-start}.line-sidebar--markers{padding-left:calc(var(--marker-length) + var(--marker-gap))}.line-sidebar--reverse{padding-left:0;justify-content:flex-end}.line-sidebar--reverse .line-sidebar__label{flex-direction:row}.line-sidebar__list{list-style:none;margin:0;padding:1rem 0;display:flex;flex-direction:column;gap:var(--item-gap)}.line-sidebar__item{position:relative;cursor:pointer}.line-sidebar__item:before{content:"";position:absolute;top:-6px;right:-48px;bottom:-6px;left:-48px}.line-sidebar__label{position:relative;display:inline-flex;align-items:baseline;font-size:var(--font-size);font-family:var(--font-display);font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.2;color:color-mix(in srgb,var(--accent-color) calc(var(--effect, 0) * 100%),var(--text-color));transform:translate(calc(var(--effect, 0) * var(--max-shift)))}.line-sidebar--reverse .line-sidebar__label{transform:translate(calc(var(--effect, 0) * -1 * var(--max-shift)));transform-origin:left center}.line-sidebar__index{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-right:.6rem;font-size:.85em;opacity:calc(.55 + var(--effect, 0) * .45)}.line-sidebar__marker{position:absolute;top:50%;left:calc(-1 * var(--marker-length) - var(--marker-gap));height:1px;width:var(--marker-length);background-color:color-mix(in srgb,var(--accent-color) calc(var(--effect, 0) * 100%),var(--marker-color));transform-origin:left center;transform:translateY(-50%) scaleX(calc(.7 + var(--effect, 0) * .5))}.line-sidebar--reverse .line-sidebar__marker{left:auto;right:calc(-1 * var(--marker-length) - var(--marker-gap));transform-origin:right center;transform:translate(calc(var(--effect, 0) * -1 * var(--max-shift))) translateY(-50%) scaleX(calc(.7 + var(--effect, 0) * .5));background-color:color-mix(in srgb,var(--accent-color) calc(var(--effect, 0) * 100%),var(--marker-color))}.line-sidebar--markers .line-sidebar__item:not(:last-child):after{content:"";position:absolute;top:calc(100% + var(--item-gap) / 2);left:calc(-1 * var(--marker-length) - var(--marker-gap));height:1px;width:calc(var(--marker-length) * var(--tick-scale));background-color:var(--marker-color);opacity:.5;transform:translateY(-50%)}.line-sidebar--reverse.line-sidebar--markers .line-sidebar__item:not(:last-child):after{left:auto;right:calc(-1 * var(--marker-length) - var(--marker-gap));transform-origin:right center;transform:translate(calc(var(--effect, 0) * -1 * var(--max-shift) * .5)) translateY(-50%)}.line-sidebar--scale-tick .line-sidebar__item:not(:last-child):after{transform-origin:left center;transform:translateY(-50%) scaleX(calc(.7 + var(--effect, 0) * .6))}.line-sidebar--reverse.line-sidebar--scale-tick .line-sidebar__item:not(:last-child):after{transform-origin:right center;transform:translateY(-50%) scaleX(calc(.7 + var(--effect, 0) * .6))}.specular-button{--sb-radius: 18px;--sb-tint: #ffffff;--sb-tint-opacity: 0;--sb-blur: 0px;--sb-text-color: #f5f5f5;position:relative;display:inline-flex;align-items:center;justify-content:center;border:none;margin:0;font-family:inherit;font-weight:500;letter-spacing:.01em;line-height:1;color:var(--sb-text-color);background:color-mix(in srgb,var(--sb-tint) calc(var(--sb-tint-opacity) * 100%),transparent);border-radius:var(--sb-radius);backdrop-filter:blur(var(--sb-blur));-webkit-backdrop-filter:blur(var(--sb-blur));box-shadow:inset 0 1px #ffffff0a,0 8px 24px #00000040;cursor:pointer;outline:none;transition:transform .15s ease}.specular-button:active{transform:scale(.97)}.specular-button:focus-visible{outline:2px solid color-mix(in srgb,var(--sb-text-color) 60%,transparent);outline-offset:3px}.specular-button:disabled{opacity:.55;cursor:default}.specular-button:disabled:active{transform:none}.specular-button--sm{font-size:.85rem;padding:10px 22px}.specular-button--md{font-size:1rem;padding:14px 30px}.specular-button--lg{font-size:1.15rem;padding:18px 40px}.specular-button__fx{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;pointer-events:none;z-index:1}.specular-button__fx canvas{display:block;width:100%;height:100%}.specular-button__label{position:relative;z-index:2}.shiny-text{display:inline-block}:root{--pfm-bg: #0a0a0e;--pfm-bg-elev: #111118;--pfm-border: rgba(255, 255, 255, .08);--pfm-border-strong: rgba(255, 255, 255, .18);--pfm-text: #e5e7eb;--pfm-text-muted: #9ca3af;--pfm-accent: #60a5fa;--pfm-accent-glow: rgba(96, 165, 250, .35)}.portfolio-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px;animation:pfmFadeIn .25s ease-out}.portfolio-modal__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#06060ad1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer}.portfolio-modal__dialog{position:relative;display:flex;flex-direction:column;width:960px;max-width:calc(100vw - 48px);max-height:calc(100vh - 48px);background:linear-gradient(180deg,var(--pfm-bg-elev) 0%,var(--pfm-bg) 100%);border:1px solid var(--pfm-border-strong);border-radius:18px;box-shadow:0 0 0 1px #ffffff0a inset,0 30px 80px -20px #000000bf,0 0 60px -10px var(--pfm-accent-glow);overflow:hidden;animation:pfmZoomIn .3s cubic-bezier(.22,1,.36,1)}.portfolio-modal__header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px 14px 22px;border-bottom:1px solid var(--pfm-border);background:linear-gradient(180deg,#ffffff08,#fff0);position:relative;z-index:5}.portfolio-modal__title{margin:0;font-family:var(--font-display, system-ui, sans-serif);font-size:1rem;font-weight:600;letter-spacing:.02em;color:var(--pfm-text, #e5e7eb);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-modal__actions{display:flex;align-items:center;gap:8px}.portfolio-modal__action{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid var(--pfm-border);border-radius:10px;color:var(--pfm-text-muted);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .25s ease}.portfolio-modal__action:hover{background:#ffffff1f;color:#fff;border-color:var(--pfm-border-strong)}.portfolio-modal__action[aria-label=关闭弹窗]:hover{transform:rotate(90deg)}.portfolio-modal__action[aria-label=下载作品集]:hover{transform:translateY(2px)}.portfolio-modal__action:focus-visible{outline:2px solid var(--pfm-accent);outline-offset:2px}.portfolio-modal__scroll{flex:1 1 auto;width:100%;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.portfolio-modal__scroll::-webkit-scrollbar{width:8px}.portfolio-modal__scroll::-webkit-scrollbar-track{background:transparent}.portfolio-modal__scroll::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.portfolio-modal__scroll::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.portfolio-modal__image{display:block;width:960px;height:auto;max-width:100%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@keyframes pfmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes pfmZoomIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:1024px){.portfolio-modal{padding:16px}.portfolio-modal__dialog{max-height:calc(100vh - 32px)}}@media(max-width:960px){.portfolio-modal__dialog{width:100%;max-width:calc(100vw - 32px)}.portfolio-modal__image{width:100%}}@media(max-width:600px){.portfolio-modal{padding:8px}.portfolio-modal__dialog{border-radius:14px;max-height:calc(100vh - 16px)}.portfolio-modal__header{padding:12px 14px}.portfolio-modal__title{font-size:.9375rem}.portfolio-modal__action{width:36px;height:36px}.portfolio-modal__action svg{width:18px;height:18px}}.section-header{margin-bottom:48px;padding:0}.section-header--left{text-align:left}.section-header--center{text-align:center}.section-header__top{display:flex;align-items:center;gap:8px;margin-bottom:12px}.section-header__icon{color:#3b82f6;display:flex;align-items:center}.section-header__label{font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:28px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#60a5fab3}.section-header__title{font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:clamp(36px,5vw,52px);font-weight:700;line-height:1.1;color:#fff;margin:0 0 16px;letter-spacing:-.02em;text-align:left}.section-header__desc{font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;font-weight:400;line-height:1.6;color:#ffffff80;margin:0;max-width:560px}.section-header--center .section-header__desc{margin:0 auto}.card-spotlight{position:relative;border-radius:1.5rem;border:1px solid #222;background-color:#111;padding:2rem;overflow:hidden;--mouse-x: 50%;--mouse-y: 50%;--spotlight-color: rgba(255, 255, 255, .05)}.card-spotlight:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at var(--mouse-x) var(--mouse-y),var(--spotlight-color),transparent 80%);opacity:0;transition:opacity .5s ease;pointer-events:none}.card-spotlight:hover:before,.card-spotlight:focus-within:before{opacity:.6}:root{--border-color: #2F293A;--background-dark: #120F17;--blue-primary: rgba(59, 130, 246, 1);--blue-glow: rgba(59, 130, 246, .2)}.magic-bento-card{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;width:100%;max-width:100%;padding:1.25em;border-radius:20px;border:1px solid var(--border-color);background:var(--background-dark);font-weight:300;overflow:hidden;transition:all .3s ease;text-align:center;--glow-x: 50%;--glow-y: 50%;--glow-intensity: 0;--glow-radius: 200px}.magic-bento-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.magic-bento-card--border-glow:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:6px;background:radial-gradient(var(--glow-radius) circle at var(--glow-x) var(--glow-y),rgba(59,130,246,calc(var(--glow-intensity) * .8)) 0%,rgba(59,130,246,calc(var(--glow-intensity) * .4)) 30%,transparent 60%);border-radius:inherit;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;opacity:1;transition:opacity .3s ease;z-index:1}.magic-bento-card--border-glow:hover{border-color:#3b82f64d;box-shadow:0 4px 20px #18284e66,0 0 30px var(--blue-glow),0 0 60px #3b82f626}.about__career{margin-bottom:16px;flex-shrink:0}.about__cert-tag{display:inline-flex!important;align-items:center;gap:8px;padding:8px 16px!important;font-size:.8125rem;border:1px solid rgba(125,211,252,.15);border-radius:100px!important;cursor:pointer;transition:border-color .3s ease,transform .3s ease,color .3s ease;color:inherit;font-family:inherit;background:transparent}.about__cert-tag:hover{border-color:#ffffff40;transform:translateY(-1px)}.about__cert-tag:focus-visible{outline:2px solid var(--accent, #c4b5fd);outline-offset:2px}.about__cert-dot{width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#c4b5fd,#7c3aed);flex-shrink:0}.about__cert-text{letter-spacing:.02em}.about__cert-icon{display:flex;align-items:center;color:#c4b5fdb3;transition:color .3s ease;flex-shrink:0}.about__cert-tag:hover .about__cert-icon{color:#c4b5fd}.about__career-list{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto;padding-right:6px}.about__career-list::-webkit-scrollbar{width:3px}.about__career-list::-webkit-scrollbar-track{background:#ffffff05;border-radius:2px}.about__career-list::-webkit-scrollbar-thumb{background:#7dd3fc33;border-radius:2px}.about__career-list::-webkit-scrollbar-thumb:hover{background:#7dd3fc59}.about__career-item{flex-shrink:0;background:#121218cc;border:1px solid rgba(255,255,255,.05);border-radius:6px;transition:border-color .25s ease,background-color .25s ease}.about__career-item:hover{border-color:#ffffff1a;background:#121218}.about__career-item.is-expanded{border-color:#7dd3fc33}.about__career-header{display:flex;align-items:center;width:100%;padding:10px 12px;cursor:pointer;background:transparent;border:none;color:inherit;text-align:left;gap:8px;transition:background-color .2s ease}.about__career-header:hover{background:#ffffff05}.about__career-period{font-size:.75rem;color:var(--text-muted);flex-shrink:0}.about__career-sep{font-size:.6875rem;color:#ffffff26;flex-shrink:0}.about__career-company{font-size:.8125rem;font-weight:600;color:var(--text-primary);flex-shrink:0}.about__career-position{font-size:.75rem;color:var(--text-secondary);flex-shrink:0;margin-left:auto;padding-right:4px}.about__career-arrow{width:14px;height:14px;color:var(--text-muted);transition:transform .3s ease,color .25s ease;flex-shrink:0}.about__career-item.is-expanded .about__career-arrow{transform:rotate(180deg);color:var(--accent)}.about__career-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.about__career-item.is-expanded .about__career-content{max-height:80px}.about__career-responsibilities{padding:0 12px 10px}.about__career-text{font-size:.8125rem;color:var(--text-secondary);line-height:1.6;padding-left:0}.accordion-gallery{--ag-accent: #c4b5fd;--ag-overlay: #0e0e12;--ag-text: #ffffff;--ag-gap: 10px;--ag-radius: 16px;--ag-media-size: 320px;display:flex;flex-direction:row;align-items:stretch;gap:var(--ag-gap);width:100%;max-width:100%;min-height:520px;max-height:520px;height:520px;perspective:1400px;perspective-origin:50% 50%}.accordion-gallery--vertical{flex-direction:column}.ag-panel{position:relative;flex:1 1 0;min-width:0;min-height:0;overflow:hidden;border-radius:var(--ag-radius);cursor:pointer;display:block;text-decoration:none;outline:none;transform-style:preserve-3d;transform-origin:center center;background:#0a0713;box-shadow:0 10px 30px -18px #000c;will-change:flex-grow,transform;-webkit-tap-highlight-color:transparent;transition:transform .3s ease,box-shadow .3s ease}.ag-panel:hover{transform:scale(1.02);box-shadow:0 20px 40px -18px #000000e6}.ag-panel:focus-visible{box-shadow:0 0 0 2px var(--ag-accent),0 10px 30px -18px #000c}.ag-panel__frame{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:inherit}.ag-panel__media{--ag-gray: 1;--ag-dim: .35;position:absolute;top:50%;left:50%;width:var(--ag-media-size);height:100%;filter:grayscale(var(--ag-gray));will-change:transform,filter}.accordion-gallery--vertical .ag-panel__media{width:100%;height:var(--ag-media-size)}.ag-panel__media img,.ag-panel__media video{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ag-panel__media video{object-fit:cover;opacity:1;transition:opacity .3s ease}.ag-panel:hover .ag-panel__media video{opacity:1}.ag-panel__overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,transparent 45%,color-mix(in srgb,var(--ag-overlay) 78%,transparent) 100%),color-mix(in srgb,var(--ag-overlay) calc(var(--ag-dim, .35) * 100%),transparent)}.ag-panel__label{position:absolute;left:20px;bottom:20px;right:20px;display:flex;align-items:center;gap:12px;pointer-events:none;z-index:2}.ag-panel__bar{flex:0 0 auto;width:3px;height:26px;border-radius:3px;background:var(--ag-accent);opacity:0;box-shadow:0 0 12px color-mix(in srgb,var(--ag-accent) 60%,transparent)}.ag-panel__text{color:var(--ag-text);font-family:inherit;font-weight:600;font-size:clamp(1rem,1.4vw,1.4rem);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;text-shadow:0 2px 14px rgba(0,0,0,.55)}@media(max-width:520px){.accordion-gallery{flex-direction:column;perspective:none;height:auto!important}.ag-panel{min-height:84px;transform:none!important}.accordion-gallery .ag-panel__media{width:100%;height:var(--ag-media-size)}}@media(prefers-reduced-motion:reduce){.ag-panel,.ag-panel__media{will-change:auto}}.ag-panel:hover .ag-panel__overlay{background-color:#2d65ff1e}.project-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.project-modal__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#060608eb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0}.project-modal__content{position:relative;width:100%;max-width:1200px;max-height:90vh;background:var(--bg-card, #0e0e12);border-radius:24px;border:1px solid var(--border, rgba(255, 255, 255, .08));box-shadow:0 0 0 1px #ffffff0d,0 25px 50px -12px #000c,0 0 80px -20px #c4b5fd26;display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(20px)}.project-modal__header{position:relative;flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;padding:12px 16px;background:#0e0e12b8;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border-bottom:1px solid var(--border, rgba(255, 255, 255, .06));z-index:5}.project-modal__close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid var(--border, rgba(255, 255, 255, .08));border-radius:10px;color:var(--text-secondary, #a1a1aa);cursor:pointer;transition:all .2s ease}.project-modal__close:hover{background:#ffffff1a;color:var(--text-primary, #fff);border-color:#ffffff26;transform:rotate(90deg)}.project-modal__close:focus-visible{outline:2px solid var(--accent, #c4b5fd);outline-offset:2px}.project-modal__body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.project-modal__body::-webkit-scrollbar{width:8px}.project-modal__body::-webkit-scrollbar-track{background:transparent}.project-modal__body::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.project-modal__body::-webkit-scrollbar-thumb:hover{background:#ffffff38}.project-modal__media{width:100%;aspect-ratio:16 / 9;background:#060608;overflow:hidden}.project-modal__video,.project-modal__image{width:100%;height:100%;object-fit:cover;display:block}.project-modal__info{padding:32px 48px 24px}.project-modal__title{font-family:var(--font-display, system-ui, sans-serif);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;letter-spacing:-.02em;color:var(--text-primary, #fff);margin-bottom:16px}.project-modal__description{font-size:1.0625rem;line-height:1.7;color:var(--text-secondary, #a1a1aa);margin-bottom:16px}.project-modal__details{font-size:.9375rem;line-height:1.8;color:var(--text-muted, #71717a)}.project-modal__gallery{display:flex;flex-direction:column;gap:18px;padding:8px 48px 32px}.project-modal__gallery-item{margin:0;border-radius:6px;overflow:hidden;background:#ffffff05;border:1px solid var(--border, rgba(255, 255, 255, .06));transition:border-color .3s ease}.project-modal__gallery-item:hover{border-color:#c4b5fd40}.project-modal__gallery-item img{width:100%;height:auto;display:block}.project-modal__footer{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:20px 48px 28px;border-top:1px solid var(--border, rgba(255, 255, 255, .06));background:#ffffff04}.project-modal__tag{display:inline-flex;align-items:center;padding:6px 12px;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent, #c4b5fd);background:#c4b5fd14;border:1px solid rgba(196,181,253,.2);border-radius:999px}.project-modal__tag-year{color:var(--text-muted, #a1a1aa);background:#ffffff0a;border-color:var(--border, rgba(255, 255, 255, .08));text-transform:none;letter-spacing:.05em}@media(max-width:768px){.project-modal{padding:16px}.project-modal__content{max-height:85vh;border-radius:20px}.project-modal__header{padding:10px 12px}.project-modal__close{width:32px;height:32px}.project-modal__info{padding:24px 24px 20px}.project-modal__gallery{padding:8px 24px 24px;gap:14px}.project-modal__footer{padding:16px 24px 22px}}.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 / 12%);background:var(--card-bg, #120F17);overflow:visible;box-shadow:#00000026 0 2px 4px,#00000026 0 4px 8px,#00000026 0 8px 16px}.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 .4s 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 1s 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 4%,transparent 12%,transparent 88%,black 96%);mask-image:conic-gradient(from var(--cursor-angle) at center,black 4%,transparent 12%,transparent 88%,black 96%);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 2px 1px var(--glow-color-60, hsl(40deg 80% 80% / 60%)),inset 0 0 6px 1px var(--glow-color-50, hsl(40deg 80% 80% / 50%)),inset 0 0 14px 1px var(--glow-color-40, hsl(40deg 80% 80% / 40%)),inset 0 0 28px 2px var(--glow-color-30, hsl(40deg 80% 80% / 30%)),inset 0 0 48px 4px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),inset 0 0 80px 6px var(--glow-color-10, hsl(40deg 80% 80% / 10%)),0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),0 0 4px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),0 0 10px 1px var(--glow-color-40, hsl(40deg 80% 80% / 40%)),0 0 22px 2px var(--glow-color-30, hsl(40deg 80% 80% / 30%)),0 0 40px 3px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),0 0 80px 6px var(--glow-color-10, hsl(40deg 80% 80% / 10%))}.border-glow-inner{display:flex;flex-direction:column;position:relative;overflow:auto;z-index:1}.software-carousel{position:relative;width:100%;max-width:100%;overflow:hidden;padding:24px 0;margin-top:48px}.software-carousel:before,.software-carousel:after{content:"";position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}.software-carousel:before{left:0;background:linear-gradient(to right,#0a0a0f,transparent)}.software-carousel:after{right:0;background:linear-gradient(to left,#0a0a0f,transparent)}.software-carousel__track{display:flex;gap:16px;width:max-content;will-change:transform}.software-carousel__card{display:flex;align-items:center;gap:10px;padding:14px 22px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:50px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:default;flex-shrink:0}.software-carousel__card:hover{background:#60a5fa14;border-color:#60a5fa4d;box-shadow:0 0 20px #60a5fa26,0 4px 12px #0000004d,inset 0 1px #ffffff0d;transform:translateY(-2px)}.software-carousel__icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0}.software-carousel__icon svg{width:100%;height:100%;fill:#60a5fa;filter:drop-shadow(0 0 4px rgba(96,165,250,.3));transition:all .3s ease}.software-carousel__card:hover .software-carousel__icon svg{fill:#93c5fd;filter:drop-shadow(0 0 8px rgba(96,165,250,.5));transform:scale(1.1)}.software-carousel__name{font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:500;color:#ffffffd9;letter-spacing:.02em;white-space:nowrap;transition:color .3s ease}.software-carousel__card:hover .software-carousel__name{color:#fff}.software-carousel__img{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 0 4px rgba(96,165,250,.3));transition:all .3s ease}.software-carousel__card:hover .software-carousel__img{filter:drop-shadow(0 0 8px rgba(96,165,250,.5));transform:scale(1.1)}:root{--max-width: 1700px;--gutter: clamp(24px, 4vw, 64px);--bg-base: #060608;--bg-elevated: #0e0e12;--bg-card: #121218;--bg-card-hover: #18181f;--text-primary: #f0f0f3;--text-secondary: #9898a6;--text-muted: #5c5c6a;--accent: #7dd3fc;--accent-dim: rgba(125, 211, 252, .12);--accent-glow: rgba(125, 211, 252, .25);--border: rgba(255, 255, 255, .06);--border-hover: rgba(255, 255, 255, .12);--font-display: "Barlow Condensed", "Syne", sans-serif;--font-body: "Instrument Sans", system-ui, sans-serif;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--nav-height: 80px;--section-gap: clamp(100px, 12vh, 160px);--ease-out: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--bg-base);color:var(--text-primary);line-height:1.6;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-gap)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;font-size:.875rem;font-weight:500;letter-spacing:.02em;border-radius:100px;transition:all .35s var(--ease-out);white-space:nowrap}.btn--primary{background:var(--text-primary);color:var(--bg-base)}.btn--primary:hover{background:var(--accent);color:var(--bg-base);box-shadow:0 0 40px var(--accent-glow)}.btn--outline{border:1px solid var(--border-hover);color:var(--text-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff08}.btn--outline:hover{border-color:var(--accent);color:var(--accent)}.btn--ghost{color:var(--text-secondary);padding-inline:0}.btn--ghost:hover{color:var(--accent)}.section-header{margin-bottom:clamp(48px,6vw,80px)}.section-header--row{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.section-label{display:block;font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}.section-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.25rem);font-weight:700;letter-spacing:-.02em;line-height:1.1}.section-desc{max-width:420px;font-size:1rem;color:var(--text-secondary);line-height:1.7}.section-desc--center{max-width:560px;margin-inline:auto;text-align:center}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-height);background:#06060899;backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);border-bottom:1px solid var(--border)}.navbar__inner{display:flex;align-items:center;justify-content:space-between;height:100%;padding-inline:120px}.navbar__logo{display:flex;align-items:center;gap:12px;flex-shrink:0}.navbar__logo-mark{display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-family:var(--font-display);font-size:.75rem;font-weight:800;letter-spacing:.05em;background:var(--accent-dim);color:var(--accent);border:1px solid rgba(125,211,252,.2);border-radius:var(--radius-sm)}.navbar__logo-text{font-family:var(--font-display);font-size:.7rem;font-weight:600;letter-spacing:.2em;color:var(--text-secondary);text-transform:uppercase}.navbar__nav{list-style:none;display:flex;align-items:center;gap:0}.navbar__nav-item{display:flex;align-items:center;gap:0}.navbar__link{display:flex;align-items:center;gap:6px;padding:8px 20px;cursor:pointer;text-decoration:none;position:relative;transition:color .25s}.navbar__link-en{font-family:var(--font-display);font-size:.8125rem;font-weight:600;letter-spacing:.04em;line-height:1;color:var(--text-secondary);transition:color .25s}.navbar__link-cn{font-size:.75rem;color:var(--text-muted);transition:color .25s}.navbar__link:hover .navbar__link-en,.navbar__link.is-active .navbar__link-en{color:var(--text-primary)}.navbar__link:hover .navbar__link-cn,.navbar__link.is-active .navbar__link-cn{color:var(--accent)}.navbar__link.is-active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:20px;height:1.5px;background:var(--accent);border-radius:1px}.navbar__nav-dot{width:3px;height:3px;border-radius:50%;background:var(--accent);opacity:.5;flex-shrink:0;margin:0 2px}@media(max-width:900px){.navbar__logo-text{display:none}.navbar__link{padding:8px 14px}}@media(max-width:600px){.navbar__nav-dot{display:none}.navbar__link{padding:8px 10px}.navbar__link-cn{display:none}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding-top:var(--nav-height)}.hero__video-wrap{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.hero__video{width:100%;height:100%;object-fit:cover;opacity:.45}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgba(6,6,8,.15) 0%,rgba(6,6,8,.55) 60%,var(--bg-base) 100%)}.hero__grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,black 20%,transparent 70%);mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,black 20%,transparent 70%)}.hero__content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;width:100%;min-height:calc(100vh - var(--nav-height))}.hero__center{display:flex;flex-direction:column;gap:20px;max-width:700px;animation:fadeUp .8s var(--ease-out) both;padding-block:clamp(40px,6vh,80px);margin-top:-80px}.hero__eyebrow-tag{display:inline-block;font-size:.5625rem;font-weight:700;letter-spacing:.4em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.hero__title{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;animation:fadeUp .8s .1s var(--ease-out) both}.hero__title-en{font-family:var(--font-display);font-size:clamp(3.5rem,9.5vw,9.5rem);font-weight:800;letter-spacing:-.03em;line-height:.86;background:linear-gradient(135deg,#fff,#a5b4fc 60%,#f0abfc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-transform:uppercase}.hero__title-cn{font-family:var(--font-display);font-size:clamp(.875rem,1.5vw,1.25rem);font-weight:400;letter-spacing:.6em;color:var(--text-secondary);padding-left:.6em;position:relative;display:inline-block}.hero__title-cn:after{content:"";display:block;position:absolute;left:.6em;bottom:-6px;width:36px;height:2px;background:#ef4444;border-radius:1px}.hero__subtitle{font-size:clamp(.875rem,1.1vw,1rem);color:var(--text-secondary);line-height:1.9;margin-bottom:16px;max-width:480px;animation:fadeUp .8s .2s var(--ease-out) both}.hero__actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;animation:fadeUp .8s .3s var(--ease-out) both}.hero__sidebar{position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%) translateY(-80px);z-index:10}.hero__scroll-hint{position:absolute;right:var(--gutter);bottom:clamp(40px,6vh,80px);display:flex;flex-direction:column;align-items:center;gap:12px;font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);animation:fadeUp .8s .5s var(--ease-out) both}.hero__scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,var(--accent),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}.about{background:var(--bg-base);border-top:1px solid var(--border)}.about__grid{display:grid;grid-template-columns:380px 1fr;gap:clamp(40px,5vw,80px);align-items:stretch;--stat-card-h: clamp(140px, 14vw, 200px)}.about__portrait{display:flex;flex-direction:column;gap:8px;width:380px;min-height:0}.about__portrait-frame{position:relative;aspect-ratio:3 / 4;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);min-height:0;flex:1}.about__content{display:flex;flex-direction:column;min-width:0}.about__top{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.about__stats-row{display:flex;align-items:flex-end;gap:8px;flex-shrink:0;margin-top:auto}.about__stat-inline{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:var(--bg-card);border-radius:var(--radius-lg);height:var(--stat-card-h);width:var(--stat-card-h);flex:1;min-width:0}.about__portrait-img{width:100%;height:100%;object-fit:cover;filter:grayscale(20%) contrast(1.05);transition:filter .5s var(--ease-out)}.about__portrait-frame:hover .about__portrait-img{filter:grayscale(0%) contrast(1)}.about__portrait-glow{position:absolute;bottom:-20%;left:50%;transform:translate(-50%);width:80%;height:40%;background:radial-gradient(ellipse,var(--accent-glow),transparent 70%);pointer-events:none}.magic-bento-card.about__contact-card{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;padding:20px 24px;gap:4px;width:100%;background:var(--bg-card);border-radius:var(--radius-lg);height:var(--stat-card-h)}.magic-bento-card.about__contact-card .about__contact-value{font-size:.9375rem;color:var(--text-primary);word-break:break-all}a.magic-bento-card.about__contact-card .about__contact-value:hover{color:var(--accent)}.magic-bento-card.about__contact-card .about__contact-label{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-top:12px}.magic-bento-card.about__contact-card .about__contact-label:first-child{margin-top:0}.about__contact-label{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-top:12px}.about__contact-label:first-child{margin-top:0}.about__contact-value{font-size:.9375rem;color:var(--text-primary)}a.about__contact-value:hover{color:var(--accent)}.about__content{display:flex;flex-direction:column}.about__intro{font-size:clamp(1.125rem,1.8vw,1.375rem);line-height:1.75;color:var(--text-primary);margin-bottom:24px}.about__experience{font-size:1rem;color:var(--text-secondary);line-height:1.8;margin-bottom:24px}.about__quote{font-size:.9375rem;font-style:italic;color:var(--text-muted);line-height:1.7;margin-bottom:24px;padding-left:16px;border-left:2px solid var(--accent)}.about__roles{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.about__role-tag{display:inline-flex!important;align-items:center;gap:8px;padding:8px 16px!important;font-size:.8125rem;font-weight:500;color:var(--accent);background:var(--accent-dim)!important;border:1px solid rgba(125,211,252,.15);border-radius:100px!important;transition:border-color .3s ease,transform .3s ease}.about__role-tag:hover{border-color:#ffffff40;transform:translateY(-1px)}.about__role-dot{width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#60a5fa,#c084fc,#f472b6);box-shadow:0 0 8px #c084fc99;flex-shrink:0}.about__role-text{letter-spacing:.02em}.about__stat-value{font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.about__stat-label{font-size:.8125rem;color:var(--text-muted)}.projects{background:var(--bg-elevated);border-top:1px solid var(--border)}.projects__grid{display:flex;flex-direction:column;gap:clamp(48px,6vw,80px)}.projects__gallery{margin-top:48px}.project-card-wrap{display:block}.project-card{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;background:var(--bg-elevated);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);width:100%;min-height:400px}.project-card--borderless{border:none}.project-card--borderless .project-card__media{border-radius:var(--radius-lg);border:none}.project-card--borderless .project-card__body{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);margin:12px}.project-card-wrap--reverse>.border-glow-inner>.project-card{direction:rtl}.project-card-wrap--reverse>.border-glow-inner>.project-card>*{direction:ltr}.project-card__media{position:relative;overflow:hidden;border-radius:var(--radius-lg) 0 0 var(--radius-lg);border:1px solid var(--border);border-right:none;min-height:320px}.project-card__img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:0}.project-card__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.8;transition:opacity .3s ease;z-index:1}.project-card__media:hover .project-card__video{opacity:1}.project-card__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(6,6,8,.5),transparent 50%);opacity:0;transition:opacity .3s ease;z-index:2;pointer-events:none}.project-card__media:hover+.project-card__body .project-card__overlay{opacity:1}.project-card__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,4vw,48px)}.project-card__meta{display:flex;align-items:center;gap:16px;margin-bottom:16px}.project-card__category{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.project-card__year{font-size:.8125rem;color:var(--text-muted)}.project-card__title{font-family:var(--font-display);font-size:clamp(1.5rem,2.5vw,2.25rem);font-weight:700;letter-spacing:-.02em;margin-bottom:16px}.project-card__desc{font-size:1rem;color:var(--text-secondary);line-height:1.75;margin-bottom:28px}.project-card__link{font-size:.875rem;font-weight:500;color:var(--text-primary);transition:color .3s,gap .3s;display:inline-flex;align-items:center;gap:4px}.project-card__link:hover{color:var(--accent)}.strengths{background:var(--bg-base);border-top:1px solid var(--border)}.strengths .section-header{text-align:center}.strength-card-wrap,.project-card-wrap,.about__contact-card-wrap,.about__stat-wrap,.contact__email-wrap,.contact__social-wrap{border:0!important;box-shadow:none!important;background:transparent!important}.strength-card-wrap>.border-glow-inner,.project-card-wrap>.border-glow-inner,.about__contact-card-wrap>.border-glow-inner,.about__stat-wrap>.border-glow-inner,.contact__email-wrap>.border-glow-inner,.contact__social-wrap>.border-glow-inner{overflow:visible}.strengths__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.strength-card{position:relative;width:100%;height:100%}.strength-card__icon{display:block;font-size:1.5rem;color:var(--accent);margin-bottom:20px;opacity:.8}.strength-card__icon img{width:1.5rem;height:1.5rem;object-fit:contain;display:block}.strength-card__title{font-family:var(--font-display);font-size:1.125rem;font-weight:600;margin-bottom:12px}.strength-card__desc{font-size:.9375rem;color:var(--text-secondary);line-height:1.7}.strength-card__line{position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .4s}.strength-card:hover .strength-card__line{opacity:.6}.contact{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;border-top:1px solid var(--border)}.contact__bg{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-elevated)}.contact__orb{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none}.contact__orb--1{width:500px;height:500px;top:-10%;left:20%;background:#7dd3fc14}.contact__orb--2{width:400px;height:400px;bottom:-5%;right:15%;background:#6366f10f}.contact__inner{position:relative;z-index:1;padding-block:clamp(80px,12vh,140px);text-align:left}.contact__title{text-align:left;font-family:var(--font-display);font-size:clamp(2.5rem,6vw,5.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;margin-bottom:24px}.contact__title-accent{background:linear-gradient(135deg,var(--accent),#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contact__desc{max-width:480px;font-size:1.0625rem;color:var(--text-secondary);line-height:1.75;margin-bottom:40px}.contact__email-wrap{display:block;width:100%;margin-bottom:48px}.contact__email-row{display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 24px}.contact__email{display:inline-block;font-family:var(--font-display);font-size:clamp(1.25rem,2.5vw,2rem);font-weight:600;color:var(--text-primary);padding:12px 0;transition:color .3s}.contact__email:hover{color:var(--accent)}.contact__copy-btn{display:flex;align-items:center;justify-content:center;padding:10px;background:transparent;border:none;color:#ccc;cursor:pointer;border-radius:8px;transition:color .25s,opacity .25s,background-color .25s}.contact__copy-btn:hover{color:#fff;opacity:.85}.contact__copy-btn:active{opacity:.7}.contact__email:hover{color:var(--accent);border-color:var(--accent)}.contact__social{display:flex;justify-content:center;gap:16px;margin-bottom:64px;flex-wrap:wrap}.contact__social-wrap{display:inline-block}.contact__social-link{display:inline-block;font-size:.875rem;font-weight:500;letter-spacing:.05em;color:var(--text-muted);padding:10px 22px;border:1px solid var(--border);border-radius:100px;transition:color .3s,border-color .3s}.contact__social-link:hover{color:var(--accent)}.contact__toast{position:fixed;bottom:40px;left:50%;transform:translate(-50%);padding:10px 24px;background:#ffffff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);border-radius:100px;font-size:.875rem;color:var(--text-primary);animation:toastFadeIn .3s ease-out;z-index:9999}@keyframes toastFadeIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.contact__footer{font-size:.8125rem;color:var(--text-muted);display:flex;justify-content:center;align-items:center;gap:12px}.contact__footer-divider{opacity:.4}@media(max-width:1200px){.about__grid{grid-template-columns:1fr}.about__portrait{max-width:380px}.about__portrait-frame{flex:none;max-height:none}}@media(max-width:900px){.navbar__dock{display:none}.project-card,.project-card--reverse{grid-template-columns:1fr;direction:ltr}.project-card__media{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-right:1px solid var(--border);border-bottom:none;min-height:240px}.project-card--borderless .project-card__body{margin:12px}.about__grid{grid-template-columns:1fr}.about__portrait{width:100%;max-width:380px;margin:0 auto}.about__portrait-frame{max-height:400px}.about__top{overflow:visible}.about__career-list{max-height:180px}.about__stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.about__stat-inline{width:100%;height:var(--stat-card-h);flex:none}.strengths__grid{grid-template-columns:repeat(2,1fr)}.section-header--row{flex-direction:column;align-items:flex-start}.hero__scroll-hint{display:none}}
