:root{--paper:#f6f3eb;--ink:#303329;--muted:#68695e;--rule:#d3d1c4;--rust:#97462f;--olive:#e6e7d9;--rose:#ede0db;--blue:#dee7e8;--yellow:#eee7cc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"PingFang SC",sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--rust);outline-offset:6px}::selection{background:#e1c7b9}.wrap{width:min(1280px,calc(100% - 112px));margin:auto}.site-header{display:flex;justify-content:space-between;align-items:center;min-height:112px;border-bottom:1px solid var(--rule);gap:24px}.wordmark{font:600 33px Georgia,serif;letter-spacing:-1.7px;display:inline-flex;align-items:center;gap:8px}.brand-dot{font:30px Georgia,serif;color:var(--rust)}nav{display:flex;gap:29px;font-size:13px}nav a{padding:6px 0;border-bottom:1px solid transparent}nav a:hover,nav a[aria-current]{border-color:var(--rust);color:var(--rust)}.menu-button{display:none}.skip{position:absolute;left:12px;top:-80px;background:var(--ink);color:white;padding:12px;z-index:20}.skip:focus{top:10px}.eyebrow{font-size:10px;font-weight:500;letter-spacing:2px;line-height:1.8}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;font-family:Georgia,'Times New Roman',serif}h1{font-size:clamp(48px,5.4vw,78px);line-height:1.07;letter-spacing:-3px}h1 em{font-weight:400;color:var(--rust)}.hero{display:grid;grid-template-columns:1.22fr 1fr;align-items:center;gap:24px;padding:72px 0 64px}.hero h1{margin:27px 0}.intro{max-width:490px;font-size:16px;line-height:1.9;color:var(--muted)}.text-link{display:inline-flex;gap:24px;align-items:center;border-bottom:1px solid var(--ink);padding:0 0 7px;font-size:13px}.text-link:hover{color:var(--rust);border-color:var(--rust)}.hero .text-link{margin-top:28px}.hero-art{position:relative}.hero-art img{width:100%;height:auto;display:block}.hero-art figcaption{text-align:center;font:italic 15px Georgia,serif;color:var(--muted);margin-top:-10px;transform:rotate(-3deg)}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:16px 0 24px;gap:16px}.section-heading h2{font-size:26px;letter-spacing:-.5px}.topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.topic{padding:23px 24px 22px;min-height:245px;display:flex;flex-direction:column;transition:transform .2s}.topic:hover{transform:translateY(-5px)}.projects{background:var(--olive)}.writing{background:var(--rose)}.life{background:var(--blue)}.comedy{background:var(--yellow)}.topic-top{display:flex;justify-content:space-between;font-size:11px;align-items:center;margin-bottom:23px}.topic-symbol{font:39px Georgia,serif;line-height:1}.topic h3{font-size:25px;line-height:1.15;letter-spacing:-.6px;margin-bottom:12px}.topic p{font-size:12px;line-height:1.7;max-width:180px;color:#56584d}.topic-link{font-size:11px;margin-top:auto;padding-top:25px;display:flex;justify-content:space-between}.margin-note{text-align:center;padding:69px 0 67px}.margin-note p{font:italic 31px/1.4 Georgia,serif;margin:20px 0}.margin-note .text-link{font-size:11px}footer{border-top:1px solid var(--rule);padding:30px 0 35px;display:flex;justify-content:space-between;align-items:center;gap:30px}.wordmark.small{font-size:25px}.small .brand-dot{font-size:23px}footer p,.footer-note,.top-link{font-size:11px;color:var(--muted)}footer p{margin-top:6px}.footer-note{line-height:1.9}.page-heading{padding:70px 0 48px}.page-heading h1{margin:23px 0;max-width:900px}.page-heading .intro{max-width:600px}.about-layout{display:grid;grid-template-columns:350px 1fr;gap:85px;padding:0 0 85px}.name-card{background:var(--olive);padding:35px;position:relative;align-self:start}.name-zh{font:56px/1.5 Georgia,serif;margin-top:32px}.name-card h2{font-size:28px}.name-card>p:last-child{margin-top:54px;font-size:12px;max-width:220px}.name-star{position:absolute;right:30px;top:25px;font-size:42px;color:var(--rust)}.prose{font-size:16px;line-height:1.95;max-width:650px}.prose p{margin-bottom:24px}.lede{font:26px/1.5 Georgia,serif}.prose .text-link{margin-top:12px}.empty-state{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:36px 0;display:grid;grid-template-columns:260px 1fr;gap:50px;align-items:center}.empty-art{height:250px;display:flex;align-items:center;justify-content:center;font:140px Georgia,serif;color:#535848}.empty-state h2{font-size:32px;margin:10px 0}.empty-state p:not(.eyebrow){color:var(--muted);max-width:480px;font-size:14px}.status-label{display:inline-block;border:1px solid var(--rule);border-radius:20px;padding:6px 13px;margin-top:25px;font-size:10px;letter-spacing:.4px}.page-bottom{padding:40px 0 70px}.comedy-note{padding:35px;background:var(--yellow);margin-top:40px}.comedy-note h2{font-size:30px;margin:9px 0 17px}.contact-layout{position:relative;min-height:620px;padding:80px 0 95px}.contact-layout h1{max-width:760px;margin:25px 0 30px}.contact-pending{max-width:490px;margin:40px 0 25px;font-size:14px;color:var(--muted)}.contact-email{display:block;font:30px Georgia,serif;margin-top:50px;overflow-wrap:anywhere}.contact-email:hover{color:var(--rust)}.contact-star{position:absolute;right:40px;bottom:65px;font:150px Georgia,serif;color:var(--rust);transform:rotate(12deg)}.entry-row{display:grid;grid-template-columns:140px 1fr 30px;gap:30px;padding:30px 0;border-top:1px solid var(--rule)}.entry-row h2{font-size:32px}.entry-row p{color:var(--muted);font-size:14px;margin-top:10px}.entry-row:hover h2{color:var(--rust)}.article{max-width:760px;margin:70px auto 95px}.article h1{margin:35px 0}.article .lede{margin-bottom:40px}.article .prose{max-width:none}h1,h2,h3,.prose{overflow-wrap:anywhere}
@media(min-width:1450px){.hero{padding-top:90px;padding-bottom:85px}}@media(max-width:1050px){.wrap{width:calc(100% - 64px)}nav{gap:20px}.hero{gap:0}.hero h1{font-size:59px}.topic{padding:20px 17px}.topic h3{font-size:23px}.about-layout{gap:45px;grid-template-columns:300px 1fr}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{min-height:88px;flex-wrap:wrap;padding:22px 0;gap:0}.wordmark{font-size:29px}.menu-button{display:block;border:1px solid var(--rule);padding:5px 12px;background:transparent;font-size:12px;color:var(--ink)}.menu-button span{margin-left:10px}nav{display:none;width:100%;flex-direction:column;gap:6px;padding-top:22px}nav.open{display:flex}nav a{padding:9px 0}.hero{grid-template-columns:1fr;padding:44px 0 42px}.hero h1{font-size:clamp(43px,9vw,64px);letter-spacing:-2px}.hero .intro{font-size:15px}.hero-art{max-width:420px;margin:15px auto 0}.hero-art figcaption{font-size:13px}.section-heading{align-items:flex-start;flex-direction:column;gap:6px}.section-heading h2{font-size:25px}.topic-grid{grid-template-columns:repeat(2,1fr);gap:12px}.topic{min-height:245px;padding:20px}.topic h3{font-size:25px}.margin-note{padding:50px 0}.margin-note p{font-size:27px}footer{align-items:flex-start;flex-wrap:wrap;gap:22px}.footer-note{flex-basis:50%}.top-link{margin-left:auto}.page-heading{padding:45px 0 25px}.page-heading h1{font-size:48px;letter-spacing:-2px}.about-layout{grid-template-columns:1fr;gap:35px;padding-bottom:50px}.name-card{max-width:400px}.empty-state{grid-template-columns:1fr;gap:30px}.empty-art{height:180px;font-size:110px}.empty-state h2{font-size:29px}.page-bottom{padding-bottom:45px}.contact-layout{min-height:680px;padding:48px 0 170px}.contact-layout h1{font-size:52px;letter-spacing:-2px}.contact-star{font-size:95px;right:15px;bottom:35px}.entry-row{grid-template-columns:1fr 20px;gap:10px}.entry-row>.eyebrow{grid-column:1/-1}.entry-row h2{font-size:28px}.article{margin:45px auto}.article h1{font-size:46px;letter-spacing:-2px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.topic{transition:none}.topic:hover{transform:none}}

@media(max-width:760px){nav{display:flex}.js nav{display:none}.js nav.open{display:flex}html:not(.js) .menu-button{display:none}}

/* The original notebook wombat, selected by Yiting. */
.brand-mascot{width:40px;height:40px;object-fit:contain;flex:none}.small .brand-mascot{width:32px;height:32px}.hero-art .hero-mascot{width:min(100%,390px);height:auto;margin:0 auto 22px}.hero-art figcaption{margin-top:0;transform:none}.name-mascot{position:absolute;right:25px;top:22px;width:72px;height:72px;object-fit:contain}.contact-mascot{position:absolute;right:30px;bottom:45px;width:160px;height:160px;object-fit:contain;pointer-events:none}@media(max-width:760px){.brand-mascot{width:35px;height:35px}.hero-art .hero-mascot{max-width:290px;margin-bottom:20px}.contact-mascot{right:8px;bottom:22px;width:125px;height:125px}}
