@import "https://cdn.jsdelivr.net/npm/lxgw-wenkai-webfont/lxgwwenkai-light.css";
@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_ba8e995-module__12TLfq__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_ba8e995-module__12TLfq__variable{--font-outfit:"Outfit", "Outfit Fallback"}
:root{--font-sans:var(--font-outfit), "LXGW WenKai", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}html{background:#f7faff}html[data-theme=dark]{background:#07080b}body{min-width:320px;font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-weight:300}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}
.site-shell{--color-text:#252a38;--color-muted:#737b8e;--color-accent:#5f8df5;--color-focus:#5f8df5c2;--surface-frame:#ffffff6e;--surface-profile:linear-gradient(145deg, #ffffff4a, #ffffff0d);--surface-content:linear-gradient(145deg, #f7f7ff3b, #f0f2ff14);--surface-control:#ffffff75;--surface-control-hover:#ffffffb8;--surface-action:#ffffff7a;--surface-action-hover:#ffffffd1;--surface-project-hover:linear-gradient(106deg, #d3e6ff29, #e2daff17);--surface-arrow:#ffffff80;--surface-arrow-hover:#fffffff0;--shadow-frame:0 30px 78px #47518233;--shadow-control:0 8px 19px #3e4c7f17;--shadow-control-hover:0 15px 29px #3c4a832e;--shadow-action:0 10px 22px #4350871a;--shadow-action-hover:0 15px 26px #43508729;--shadow-avatar:0 16px 34px #74bbff52;--shadow-avatar-hover:0 21px 46px #e091ff8a;--radius-frame:36px;--radius-control:16px;--radius-item:20px;--duration-fast:.2s;--duration-theme:.28s;--duration-preview:.54s;--duration-avatar:1.1s;--ease-standard:cubic-bezier(.22, .61, .36, 1);--ease-emphasized:cubic-bezier(.16, 1, .3, 1)}html[data-theme=dark] .site-shell{--color-text:#f1eff5;--color-muted:#aaa7b4;--color-accent:#a8c5ff;--color-focus:#9dbeffd1;--surface-frame:#0d0d12d6;--surface-profile:linear-gradient(145deg, #17161dcc, #09090da8);--surface-content:linear-gradient(145deg, #111016b8, #07080b99);--surface-control:#beb7cb17;--surface-control-hover:#9777d933;--surface-action:#beb7cb1a;--surface-action-hover:#9777d938;--surface-project-hover:linear-gradient(106deg, #68519729, #854b971a);--surface-arrow:#beb7cb1a;--surface-arrow-hover:#5f8df542;--shadow-frame:0 38px 96px #000000ad, 0 14px 42px #4d306f1a;--shadow-control:none;--shadow-control-hover:0 15px 29px #3a206042;--shadow-action:none;--shadow-action-hover:0 15px 26px #3a206038;--shadow-avatar:0 16px 34px #669dff45;--shadow-avatar-hover:0 21px 46px #d886ff78}
.site-shell{isolation:isolate;min-height:100svh;color:var(--color-text);transition:color var(--duration-theme) ease, background var(--duration-theme) ease;background:radial-gradient(circle at 52% 6%,#ffffffe6,#0000 32rem),#f7faff;place-items:center;padding:18px clamp(12px,3vw,54px);display:grid;position:relative;overflow:clip auto}html[data-theme=dark] .site-shell{background:radial-gradient(circle at 22% 2%,#684a911f,#0000 31rem),radial-gradient(circle at 86% 92%,#7e469b17,#0000 29rem),#07080b}.aurora{z-index:-1;filter:blur(108px);opacity:.7;pointer-events:none;border-radius:50%;animation:16s ease-in-out infinite alternate aurora-drift;position:absolute}.aurora--sky{background:#68b5ffad;width:49rem;height:49rem;top:-19rem;left:-12rem}.aurora--mint{background:#75e1cf73;width:45rem;height:38rem;animation-delay:-7s;bottom:-22rem;left:25%}.aurora--lilac{background:#bfa5ff8c;width:47rem;height:47rem;animation-delay:-12s;top:4%;right:-16rem}html[data-theme=dark] .aurora{filter:blur(122px);opacity:.22}html[data-theme=dark] .aurora--sky{background:#4f456657}html[data-theme=dark] .aurora--mint{background:#42545024}html[data-theme=dark] .aurora--lilac{background:#8047ab57}.theme-toggle{z-index:20;width:46px;height:46px;color:var(--color-text);background:var(--surface-control);box-shadow:var(--shadow-control);cursor:pointer;-webkit-backdrop-filter:blur(22px)saturate(170%);transition:transform .18s ease, box-shadow .18s ease, background var(--duration-theme) ease;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;top:28px;right:30px}.theme-toggle:hover{box-shadow:var(--shadow-control-hover);transform:translateY(-2px)rotate(-8deg)scale(1.05)}.theme-toggle:active{transform:scale(.94)}.theme-toggle__icon{width:21px;height:21px;transition:opacity var(--duration-theme) ease, transform var(--duration-theme) ease;grid-area:1/1}.theme-toggle__icon--sun{opacity:0;transform:rotate(-35deg)scale(.72)}html[data-theme=dark] .theme-toggle__icon--moon{opacity:0;transform:rotate(35deg)scale(.72)}html[data-theme=dark] .theme-toggle__icon--sun{opacity:1;transform:rotate(0)scale(1)}.theme-toggle:focus-visible,.contact-link:focus-visible,.project-item:focus-visible,.contact-preview__cta:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.home-frame{border-radius:var(--radius-frame);background:var(--surface-frame);width:min(1032px,100%);min-height:min(680px,100svh - 42px);box-shadow:var(--shadow-frame);-webkit-backdrop-filter:blur(60px)saturate(190%);animation:frame-enter .72s var(--ease-emphasized) both;grid-template-columns:minmax(335px,.84fr) minmax(460px,1.16fr);display:grid;overflow:hidden}.profile-panel,.content-panel{min-width:0}.profile-panel{text-align:center;background:var(--surface-profile);flex-direction:column;justify-content:center;align-items:center;padding:52px 48px;display:flex;position:relative}.profile-avatar{width:154px;height:154px;position:relative}.profile-avatar__image{object-fit:cover;width:100%;height:100%;box-shadow:var(--shadow-avatar);transition:transform var(--duration-avatar) var(--ease-emphasized), box-shadow var(--duration-avatar) ease;border:2px solid #ffffffe6;border-radius:50%;display:block}.profile-avatar:hover .profile-avatar__image{box-shadow:var(--shadow-avatar-hover);transform:scale(1.045)}.profile-name{letter-spacing:-.04em;margin:31px 0 0;font-size:clamp(36px,4vw,44px);font-weight:300;line-height:1}.profile-tagline{color:var(--color-muted);gap:1px;margin:13px 0 0;font-size:13px;font-weight:300;line-height:1.55;display:grid}.contact-links{gap:12px;margin-top:24px;display:flex}.contact-link{border-radius:var(--radius-control);width:52px;height:52px;color:var(--color-text);background:var(--surface-control);box-shadow:var(--shadow-control);-webkit-backdrop-filter:blur(20px)saturate(160%);transition:transform var(--duration-fast) ease, box-shadow var(--duration-fast) ease, background var(--duration-fast) ease;place-items:center;text-decoration:none;display:grid}.contact-link:hover{background:var(--surface-control-hover);box-shadow:var(--shadow-control-hover);transform:translateY(-5px)scale(1.04)}.contact-link__glyph{color:#535862;width:23px;height:23px}html[data-theme=dark] .contact-link__glyph{color:#e8e6ef}.content-panel{background:var(--surface-content);padding:clamp(48px,5.8vw,72px) clamp(26px,4.2vw,50px) clamp(48px,5.8vw,72px) clamp(8px,2.3vw,26px);display:flex;position:relative;overflow:hidden}.content-panel:before{content:"";filter:blur(22px);opacity:.9;pointer-events:none;background:radial-gradient(circle,#bea4ff6b,#c5b2ff33 42%,#bfa6ff00 73%);border-radius:50%;width:27rem;height:27rem;position:absolute;top:-9rem;right:-9rem;box-shadow:0 0 92px 18px #bc9fff42}html[data-theme=dark] .content-panel:before{opacity:.76;background:radial-gradient(circle,#905ac23b,#69438f14 42%,#69438f00 73%);box-shadow:0 0 112px 22px #77489b1a}.content-stage{z-index:1;width:100%;min-height:100%;display:grid;position:relative}.projects,.contact-preview{grid-area:1/1;min-width:0}.projects{z-index:1;opacity:0;transform-origin:50%;pointer-events:none;transition:opacity var(--duration-preview) var(--ease-standard), transform var(--duration-preview) var(--ease-standard);align-self:stretch;padding:clamp(50px,11vh,98px) 0 12px;position:relative;overflow-y:auto;transform:scale(.985)}.projects[data-visible=true]{opacity:1;pointer-events:auto;transform:scale(1)}.projects__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.project-item{border-radius:var(--radius-item);width:100%;min-height:94px;color:var(--color-text);background:0 0;justify-content:space-between;align-items:center;gap:24px;padding:17px 16px 17px 18px;text-decoration:none;transition:background .22s,color .22s;display:flex}.project-item:hover,.project-item:focus-visible{background:var(--surface-project-hover)}.project-item__copy{gap:6px;display:grid}.project-item__copy strong{letter-spacing:-.025em;font-size:21px;font-weight:300;line-height:1.2;transition:color .22s}.project-item:hover .project-item__copy strong,.project-item:focus-visible .project-item__copy strong{color:#2f6fe3}html[data-theme=dark] .project-item:hover .project-item__copy strong,html[data-theme=dark] .project-item:focus-visible .project-item__copy strong{color:#d2b5ff}.project-item__copy small{color:var(--color-muted);letter-spacing:.01em;font-size:14px;font-weight:300;line-height:1.4}.project-item__arrow{color:#a5acb9;background:var(--surface-arrow);width:42px;height:42px;transition:transform .32s var(--ease-standard), background .26s ease, color .26s ease;border-radius:50%;flex:none;place-items:center;display:grid;transform:rotate(0)}.project-item__arrow svg{width:17px;height:17px}.project-item:hover .project-item__arrow,.project-item:focus-visible .project-item__arrow{color:var(--color-accent);background:var(--surface-arrow-hover);transform:rotate(45deg)scale(1.2)}.contact-preview{opacity:1;pointer-events:none;text-align:left;width:100%;min-height:100%;transition:opacity var(--duration-preview) var(--ease-standard), transform var(--duration-preview) var(--ease-standard);align-content:center;justify-items:start;padding:46px 34px 46px 0;display:grid;position:relative;transform:translate(0)}.contact-preview.phase-leaving{opacity:0;transform:translate(30px)}@starting-style{.contact-preview.phase-entering{opacity:0;transform:translate(30px)}}.contact-preview:before{content:"";filter:blur(8px);opacity:.56;pointer-events:none;border-radius:50%;width:18rem;height:18rem;position:absolute}.contact-preview.tone-blue:before{background:radial-gradient(circle,#6fa3ff5c,#0000 68%)}.contact-preview.tone-violet:before{background:radial-gradient(circle,#b88bff5c,#0000 68%)}.contact-preview.tone-coral:before{background:radial-gradient(circle,#ff97b557,#0000 68%)}.contact-preview__interaction{z-index:1;pointer-events:auto;transform-origin:0;justify-items:start;gap:20px;width:max-content;max-width:100%;display:grid;position:relative;transform:scale(1.15)}.contact-preview.phase-leaving .contact-preview__interaction{pointer-events:none}.contact-preview__mark{z-index:1;width:66px;height:66px;color:var(--color-text);place-items:center;display:grid;position:relative}.contact-preview__glyph{color:#343945;width:66px;height:66px}html[data-theme=dark] .contact-preview__glyph{color:#edf0f7}.contact-preview__copy{z-index:1;position:relative}.contact-preview__copy h2{letter-spacing:-.055em;margin:0;font-size:28px;font-weight:300}.contact-preview__copy p{color:var(--color-muted);margin:7px 0 0;font-size:14px;font-weight:300}.contact-preview__cta{z-index:1;color:var(--color-text);background:var(--surface-action);box-shadow:var(--shadow-action);border-radius:14px;align-items:center;gap:10px;padding:13px 17px;font-size:13px;font-weight:300;text-decoration:none;transition:transform .18s,background .18s,box-shadow .18s;display:inline-flex;position:relative}.contact-preview__cta:hover{background:var(--surface-action-hover);box-shadow:var(--shadow-action-hover);transform:translateY(-3px)}@keyframes frame-enter{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes aurora-drift{0%{transform:translate(-2%,-2%)scale(.96)}to{transform:translate(5%,4%)scale(1.06)}}@media (max-width:900px){.site-shell{padding:18px 24px}.home-frame{grid-template-columns:minmax(290px,.84fr) minmax(360px,1.16fr)}.profile-panel{padding:42px 32px}.content-panel{padding:48px 30px 48px 14px}}@media (max-width:700px){.site-shell{min-height:100svh;padding:74px 16px 20px;display:block}.theme-toggle{width:42px;height:42px;top:16px;right:16px}.home-frame{border-radius:30px;grid-template-columns:1fr;min-height:0}.profile-panel{padding:42px 28px 37px}.profile-avatar{width:132px;height:132px}.profile-name{margin-top:25px;font-size:38px}.content-panel{min-height:300px;padding:25px 22px}.content-stage{min-height:250px}.projects{padding-top:38px}.project-item{min-height:88px}.contact-preview{text-align:center;justify-items:center;min-height:250px;padding:34px}.contact-preview__interaction{transform-origin:50%;justify-items:center;transform:scale(1.06)}.contact-preview__mark,.contact-preview__glyph{width:62px;height:62px}}@media (max-width:390px){.site-shell{padding-left:10px;padding-right:10px}.contact-links{gap:8px}.contact-link{width:48px;height:48px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.theme-toggle,.contact-link,.project-item,.contact-preview__cta{outline:1px solid buttontext}.home-frame{outline:1px solid canvastext}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.home-frame{background:#f8f9fdf5}html[data-theme=dark] .home-frame{background:#0d0d12f7}}
