@font-face{font-family:"Local SF";src:local("SF Pro Text"),local("SF Pro Display"),local(".SF NS Text");unicode-range:U+0000-024F;font-display:swap}
:root{font-family:"Local SF",-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue","Microsoft YaHei",sans-serif;color:#1d1d1f;background:#fff;font-synthesis:none;-webkit-font-smoothing:antialiased;--font-display:"Times New Roman",Times,serif;--muted:#6e6e73;--accent:var(--personal-red);--accent-fill:#852d20;--accent-soft:#f4eae6;--rule:#e8e8ed;--personal-red:#852d20}
*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-decoration:none;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:wait}[hidden]{display:none!important}
h1{font-size:52px;line-height:1.2;font-weight:600;letter-spacing:-.03em;margin:0}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.personal-main:focus:not(:focus-visible),.selected-work:focus:not(:focus-visible),.direct-contact:focus:not(:focus-visible){outline:none}
.global-header{height:72px}
.global-nav{max-width:1040px;height:100%;padding:0 40px;margin:auto;display:flex;align-items:center;justify-content:space-between}
.name{color:inherit;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:28px;font-weight:400;letter-spacing:-.5px;text-decoration:none}
.brand-icon,.brand-icon img{display:block;width:28px;height:28px;flex-shrink:0}
.nav-links{display:flex;align-items:center;gap:32px;font-size:13px}
.nav-links a{color:inherit;display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.nav-links a:hover{text-decoration:none}
.nav-links .contact-link{color:var(--personal-red)}
.personal-main{max-width:760px;padding:0 40px;margin:0 auto}
.personal-hero{padding:48px 0 80px}
.personal-intro h1{font-family:var(--font-display);font-size:clamp(92px,9.2vw,124px);font-weight:400;line-height:.94;letter-spacing:-.04em;text-align:center;margin:0}
.personal-intro h1>span{display:block;white-space:nowrap}
.letter-accent{font:inherit;color:var(--personal-red)}
.identity{color:var(--muted);font-size:14px;line-height:1.6;text-align:center;margin:28px 0 0}
.personal-copy{max-width:560px;margin:40px auto 0}
.introduction{font-size:17px;line-height:2;margin:0;text-indent:2em;text-wrap:pretty}
.belief{font-size:17px;line-height:2;color:inherit;margin:16px 0 0;text-indent:2em;text-wrap:pretty}
.selected-work{margin-top:56px;scroll-margin-top:32px}
.selected-work h2,.direct-contact h2{font-size:15px;line-height:1.6;font-weight:500;margin:0 0 12px}
.work-list{list-style:none;margin:0;padding:0}
.work-item{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px;align-items:baseline;padding:16px 0;border-top:1px solid var(--rule)}
.work-link{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;align-items:baseline;text-decoration:none;line-height:1.7}
.work-name{color:var(--accent);font-size:16px;font-weight:500;text-decoration:none;text-decoration-color:#b6b6bd;text-decoration-thickness:1px}
.work-link:hover .work-name{text-decoration-color:currentColor}
.work-english{font-size:14px;color:inherit;white-space:nowrap}
.work-info p{font-size:14px;line-height:1.85;color:var(--muted);margin:0}
.work-info .work-note,.work-info .work-download{font-size:13px;font-variant-numeric:tabular-nums}
.direct-contact{margin-top:48px;scroll-margin-top:32px}
.direct-contact dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px;margin:0}
.direct-contact dt{font-size:12px;line-height:1.6;color:var(--muted);margin-bottom:4px}
.direct-contact dd{font-size:14px;line-height:1.6;margin:0;overflow-wrap:anywhere}
.direct-contact .email-contact{grid-column:1/-1;display:flex;align-items:baseline;gap:16px}
.email-contact dt{margin:0}
.direct-contact a{color:var(--accent);text-decoration:none;text-decoration-color:#b6b6bd;text-decoration-thickness:1px}
.direct-contact a:hover{text-decoration-color:currentColor}
.social-account{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.social-account>a:first-child,.social-account>span:first-child{min-height:22px;line-height:22px}
.qr-link{display:block;width:112px;height:112px;line-height:0}
.qr-link img{display:block;width:112px;height:112px;object-fit:contain;background:white}
.douyin-code,.douyin-code img{border-radius:50%}
.skip-link{position:fixed;top:8px;left:16px;z-index:10;background:#fff;color:var(--accent);padding:12px 16px;border-radius:8px;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}

dialog{width:min(480px,calc(100% - 40px));padding:32px;color:#1d1d1f;background:#fff;border:0;border-radius:20px;box-shadow:0 20px 80px #0002}dialog::backdrop{background:#0005;backdrop-filter:blur(5px)}
@media(max-width:620px){
 .global-header{height:64px}.global-nav{padding:0 24px}.nav-links{gap:20px}
 .personal-main{padding:0 24px}.personal-hero{padding:40px 0 56px}
 .personal-intro h1{font-size:clamp(64px,20.5vw,96px);line-height:.96}
 .identity{font-size:13px;margin-top:24px}
 .personal-copy{margin-top:32px}.introduction,.belief{font-size:16px}
 .selected-work{margin-top:40px}
 .work-item{grid-template-columns:1fr;gap:4px;padding:16px 0}
 .work-info{margin-left:92px}.work-name{color:var(--accent);font-size:15px}
 .direct-contact{margin-top:36px}.direct-contact dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
 dialog{padding:24px}
}
@media(prefers-color-scheme:dark){
 :root{color-scheme:dark;color:#f5f5f7;background:#0d0d0d;--muted:#a1a1a6;--accent:var(--personal-red);--accent-soft:#30211d;--rule:#303034;--personal-red:#c45b45}
 .skip-link{background:#1c1c1e}
 .work-name,.direct-contact a{text-decoration-color:#636366}
 .read-link,.back-link,.reading-footer a,.prose a{color:var(--accent)}
 dialog{background:#1c1c1e;color:#f5f5f7;box-shadow:0 20px 80px #0006}
 .button-secondary{color:var(--accent);border-color:var(--accent)}.button-secondary:hover{background:var(--accent-fill);color:#fff}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

.inline-project{color:var(--accent);text-decoration:none;text-decoration-thickness:1px;text-underline-offset:4px}
