@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,figure,ul{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}img,svg{max-width:100%;display:block}[hidden]{display:none!important}}@layer base{:root{color-scheme:light;--paper:#fbfaf6;--ink:#293b3c;--muted:#606f70;--green:#326b68;--rust:#ae6541;--line:#dce4df;--letter:#eaf3ef;--serif:"Baiyiyu Serif", "Songti SC", "STSong", "Noto Serif CJK SC", "Noto Serif SC", "Source Han Serif SC", serif;--sans:"Baiyiyu Sans", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--ease:cubic-bezier(.22, .61, .36, 1)}html{scroll-padding-top:32px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.8}::selection{color:#254c49;background:#d1ebe5}a{color:inherit;text-underline-offset:.24em;text-decoration-thickness:1px}button{cursor:pointer}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--green);outline-offset:5px;border-radius:2px}button:disabled{cursor:wait}h1,h2,h3{font-family:var(--serif);font-weight:500}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--paper);padding:8px 16px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}}@layer layout{.site-shell{width:min(1080px,100% - 112px);margin-inline:auto}.site-header{justify-content:space-between;align-items:center;gap:24px;min-height:116px;display:flex}.brand{letter-spacing:.12em;min-height:44px;font-size:19px;font-family:var(--serif);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand-mark{width:30px;height:34px;color:var(--green);display:inline-flex}.brand-mark svg{width:100%;height:100%}.header-link{min-height:44px;color:var(--muted);align-items:center;gap:8px;font-size:14px;text-decoration:none;transition:color .18s;display:inline-flex}.header-link:hover{color:var(--green)}.header-link svg{width:16px;height:16px}.hero{grid-template-columns:1.03fr 1fr;align-items:center;gap:28px;min-height:570px;padding-block:49px 88px;display:grid}.hero-copy{padding-bottom:20px}.section-grid{grid-template-columns:270px minmax(0,1fr);column-gap:74px;display:grid}.about{border-top:1px solid var(--line);padding-block:90px 100px;scroll-margin-top:24px}.site-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:20px;padding-block:39px 34px;font-size:13px;display:flex}.footer-note{align-items:center;gap:9px;display:flex}.footer-links{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.footer-links a,.footer-links button{min-height:44px;color:inherit;background:0 0;border:0;align-items:center;padding:0;text-decoration:none;transition:color .18s;display:inline-flex}.footer-links a:hover,.footer-links button:hover{color:var(--green);text-underline-offset:4px;text-decoration:underline}}@layer components{.welcome-note{color:var(--muted);letter-spacing:.08em;align-items:center;gap:10px;margin-bottom:27px;font-size:13px;display:flex}.welcome-note span{background:#d8936c;border-radius:50%;width:5px;height:5px}.hero h1{letter-spacing:-.045em;font-size:clamp(47px,4.3vw,65px);line-height:1.4}.greeting,.name-line{display:block}.name{white-space:nowrap;position:relative}.name:after{content:"";opacity:.65;border-top:1px solid #c88f73;border-radius:50%;height:7px;position:absolute;bottom:-3px;left:2px;right:1px;transform:rotate(-2deg)}.full-stop{color:var(--rust)}.hero-intro{color:var(--muted);letter-spacing:.01em;margin-top:29px;font-size:15px}.reading-phrase{text-wrap:balance;max-width:100%;display:inline-block}.hero-thought{margin-top:15px;font-size:18px;line-height:1.85}.text-link{min-height:44px;color:var(--green);align-items:center;gap:12px;font-size:14px;text-decoration:none;display:inline-flex}.text-link svg{stroke:currentColor;stroke-width:1.3px;width:18px;height:18px;transition:transform .25s var(--ease)}.hero-link{margin-top:27px}.hero-link:hover svg{transform:translateY(4px)}.hero-link:hover{text-decoration:underline}.window-scene{margin:0 -9px 0 -18px;position:relative}.window-art{width:100%;height:auto}.window-scene figcaption{color:var(--muted);font-family:var(--serif);letter-spacing:.12em;justify-content:center;align-items:center;gap:12px;margin-top:-20px;padding-left:20px;font-size:13px;display:flex}.window-scene figcaption span{background:#aec7c1;width:24px;height:1px}.scene-depth{transition:transform .7s var(--ease)}.scene-far{transform:translate(var(--scene-x,0px), var(--scene-y,0px))}.scene-near{transform:translate(calc(var(--scene-x,0px) * -.6), calc(var(--scene-y,0px) * -.6))}.section-rule{background:#80aba1;width:24px;height:2px;margin:5px 0 23px;display:block}.section-heading h2{letter-spacing:.02em;font-size:29px;line-height:1.6}.sprig{color:#80a692;width:70px;height:70px;margin:28px 0 0 -3px}.about-prose{max-width:680px;padding-top:4px}.about-prose p{letter-spacing:.018em;font-size:17px;line-height:2}.about-prose p+p{margin-top:22px}.about-prose .closing-thought{color:var(--green);font-family:var(--serif);margin-top:27px;font-size:20px}.products{padding-block:0 96px}.product-list{padding:0;list-style:none}.product-list li+li{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.product-link{text-decoration:none;display:block}.product-link h3{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:25px;display:flex}.product-link h3 span{transition:transform .18s}.product-link:hover h3 span{transform:translate(2px,-2px)}.product-link p{color:var(--muted)}.product-link img{width:100%;height:auto;margin-bottom:20px}.contact-letter{background:var(--letter);border:1px solid #d2e2db;grid-template-columns:1fr 1.06fr;align-items:center;gap:35px;padding:36px 45px 38px;display:grid;position:relative}.dialogue-mark{--dialogue-back-fill:color-mix(in srgb, var(--green) 20%, var(--letter));--dialogue-front-fill:color-mix(in srgb, var(--paper) 70%, var(--letter));color:var(--green);margin:0 0 18px -2px;overflow:visible}.dialogue-back,.dialogue-front{transform-box:fill-box;transform-origin:50%}.dialogue-back{transform:translate(-3px,-2px)rotate(-8deg)}.dialogue-front{transform:translate(4px,3px)rotate(6deg)}.letter-copy h2{font-size:31px;line-height:1.5}.letter-copy p{color:var(--muted);margin-top:10px;font-size:14px;line-height:1.9}.contact-details{--contact-font-size:clamp(17px, 1.5vw, 20px);min-width:0;padding-top:20px}.email-row{border-bottom:1px solid #c6ddd4;align-items:center;gap:9px;padding-block:0 14px;display:flex}.email-link{min-width:0;min-height:44px;color:var(--green);flex:1;align-items:center;gap:12px;text-decoration:none;display:flex}.contact-address{overflow-wrap:anywhere;min-width:0;font-family:Baiyiyu Lora,Georgia,serif;font-size:var(--contact-font-size);font-synthesis:none;font-style:italic;font-weight:500;line-height:1.6}.contact-icon{flex-shrink:0;width:20px;height:20px}.email-icon{stroke:currentColor;stroke-width:1.6px}.contact-arrow{stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform .22s var(--ease);flex-shrink:0;margin-left:auto}.email-link:hover .contact-arrow{transform:translate(3px)}.email-link:hover{text-decoration:underline}.copy-control{flex-shrink:0;width:44px;height:44px;position:relative}.copy-email{--copy-glow:#64bca6;isolation:isolate;width:44px;height:44px;color:var(--green);background:0 0;border:0;border-radius:50%;flex-shrink:0;padding:12px;transition:color .18s,transform .18s;position:relative}.copy-email:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle, color-mix(in srgb, var(--copy-glow) 34%, transparent), color-mix(in srgb, var(--copy-glow) 12%, transparent) 45%, transparent 72%);opacity:0;transition:opacity .22s ease, transform .3s var(--ease);border-radius:50%;position:absolute;inset:-3px;transform:scale(.8)}.copy-email:focus-visible{--copy-glow-rest:1}.copy-email:focus-visible:before{opacity:1;transform:scale(1)}@media (hover:hover){.copy-email:hover:before{opacity:1;transform:scale(1)}.copy-email:hover{--copy-glow-rest:1;color:#205d51}}.copy-email:active{transform:scale(.94)}.copy-email:active:before{opacity:1;transform:scale(1.15)}.copy-email svg{stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;transition:opacity .26s ease, transform .3s var(--ease);position:absolute;inset:12px}.copied-icon{opacity:0;transform:scale(.92)}.copy-email[data-copied] .copied-icon{opacity:1;transform:scale(1)}.copy-email[data-copied] .copy-icon{opacity:0;transform:scale(.92)}.contact-meta{padding-top:14px}.github-link{min-height:44px;color:var(--green);align-items:center;gap:12px;padding-right:53px;text-decoration:none;display:flex}.github-link:hover{text-decoration:underline}.github-link:hover .contact-arrow{transform:translate(2px,-2px)}.copy-status{z-index:2;border:1px solid var(--line);background:var(--paper);width:max-content;max-width:min(240px,100vw - 96px);color:var(--green);font:12px/1.6 var(--sans);box-shadow:0 4px 14px color-mix(in srgb, var(--green) 10%, transparent);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .26s ease, transform .3s var(--ease), visibility 0s .3s;border-radius:7px;padding:6px 11px;position:absolute;bottom:calc(100% + 8px);right:0;transform:translateY(4px)}.copy-status[data-visible]{opacity:1;visibility:visible;transition-delay:0s;transform:translateY(0)}.letter-fold{background:linear-gradient(45deg,#d2e2db 49%,#fbfaf6 50%);width:23px;height:23px;position:absolute;top:-1px;right:-1px}.prose-page{max-width:720px;margin:34px auto 74px}.prose-page h1{margin-bottom:28px;font-size:clamp(32px,5vw,44px);line-height:1.4}.prose-page h2{margin:34px 0 14px;font-size:25px}.prose-page p,.prose-page ul{margin-bottom:20px}.prose-page ul{padding-left:1.5em}.prose-page a{color:var(--green)}.prose-page button{background:var(--letter);border:1px solid #bfd7cc;border-radius:3px;min-height:44px;padding:8px 16px}}@layer motion{@keyframes copy-glow{0%{opacity:.85;transform:scale(.8)}45%{opacity:1;transform:scale(1.25)}to{opacity:var(--copy-glow-rest,0);transform:scale(1)}}@keyframes arrive{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes scene-arrive{0%{opacity:0;clip-path:inset(9% 0 0 round 45% 45% 0 0);transform:translateY(32px)scale(.94)}to{opacity:1;clip-path:inset(0);transform:translateY(0)scale(1)}}@keyframes ink-draw{0%{transform:scaleX(0)rotate(-2deg)}to{transform:scaleX(1)rotate(-2deg)}}@keyframes shutter-open{0%{transform:scaleX(.08)}to{transform:scaleX(1)}}@keyframes steam-rise{0%{opacity:0;transform:translateY(9px)scaleX(.8)}25%{opacity:.85}75%{opacity:.5}to{opacity:0;transform:translate(5px,-20px)scaleX(1.2)}}@keyframes leaf-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}.scene-motion-toggle{width:44px;height:44px;color:var(--green);background:0 0;border:1px solid #cbded6;border-radius:50%;flex-shrink:0;place-items:center;transition:background .18s;display:inline-grid}.scene-motion-toggle:hover{background:var(--letter)}.scene-motion-toggle .play-symbol,[data-motion-paused=true] .pause-symbol{display:none}[data-motion-paused=true] .play-symbol{display:block}.window-scene figcaption{gap:10px;min-height:44px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.welcome-note{animation:arrive .7s var(--ease) both}.greeting{animation:arrive .85s .1s var(--ease) both}.name-line{animation:arrive .95s .24s var(--ease) both}.hero-intro{animation:arrive .85s .38s var(--ease) both}.hero-thought{animation:arrive .85s .48s var(--ease) both}.hero-link{animation:arrive .85s .58s var(--ease) both}.name:after{transform-origin:0;animation:ink-draw .8s .75s var(--ease) both}.window-art{animation:1.4s cubic-bezier(.16,1,.3,1) .18s both scene-arrive}.window-scene figcaption{animation:arrive .9s .8s var(--ease) both}.window-shutter{transform-origin:130px 260px;animation:1.4s cubic-bezier(.16,1,.3,1) .5s both shutter-open}.window-scene[data-motion-ready] .tea-steam{transform-box:fill-box;transform-origin:50%;animation:3.4s linear infinite steam-rise}.window-scene[data-motion-ready] .steam-two{animation-delay:-1700ms}.window-scene[data-motion-ready] .window-plant{transform-origin:108px 375px;animation:4.8s ease-in-out infinite leaf-sway}.contact-letter{transition:box-shadow .35s,border-color .35s}.contact-letter:focus-within{border-color:#94bcae;box-shadow:0 12px 28px -22px #578b7c}.dialogue-back,.dialogue-front{transition:transform .5s cubic-bezier(.2,.75,.25,1)}.contact-letter:has(:focus-visible) .dialogue-back{transform:translate(1px)rotate(-3deg)}.contact-letter:has(:focus-visible) .dialogue-front{transform:translate(0)rotate(0)}.copy-email.copy-pulse:before{animation:.6s ease-out copy-glow}@media (hover:hover){.contact-letter:hover{border-color:#94bcae;box-shadow:0 12px 28px -22px #578b7c}.contact-letter:hover .dialogue-back{transform:translate(1px)rotate(-3deg)}.contact-letter:hover .dialogue-front{transform:translate(0)rotate(0)}.brand-mark{transition:transform .4s var(--ease)}.brand:hover .brand-mark{transform:rotate(-9deg)}}}.window-scene:is([data-motion-paused=true],.scene-outside,.scene-background) .tea-steam,.window-scene:is([data-motion-paused=true],.scene-outside,.scene-background) .window-plant{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.scene-motion-toggle{display:none}}}@layer responsive{@media (width>=1440px){.hero{min-height:610px;padding-block:57px 95px}}@media (width<=1050px){.site-shell{width:calc(100% - 80px)}.hero{gap:12px;min-height:530px;padding-block:32px 84px}.hero h1{font-size:51px}.hero-intro{max-width:260px}.window-scene{margin-left:-24px;margin-right:-18px}.section-grid{grid-template-columns:220px minmax(0,1fr);gap:40px}.contact-letter{grid-template-columns:.85fr 1.15fr;gap:30px;padding:32px}.contact-details{--contact-font-size:18px}.email-link .contact-arrow{display:none}}@media (width<=760px){.site-shell{width:calc(100% - 48px)}.site-header{min-height:89px}.hero{grid-template-columns:1fr;gap:10px;padding-block:39px 57px}.hero-copy{padding-bottom:0}.welcome-note{margin-bottom:24px}.hero h1{font-size:clamp(45px,8.5vw,62px);line-height:1.4}.hero-intro{max-width:none;margin-top:22px;font-size:14px}.hero-thought{margin-top:13px;font-size:17px}.hero-link{margin-top:16px}.window-scene{justify-self:center;width:min(100%,420px);margin:-8px 0 0}.window-scene figcaption{margin-top:-17px;padding-left:0;font-size:12px}.section-grid{grid-template-columns:1fr;gap:23px}.about{padding-block:52px 64px}.products{padding-bottom:84px}.section-heading{position:relative}.section-rule{margin-bottom:16px}.section-heading h2{font-size:25px}.section-heading h2 br{display:none}.sprig{width:50px;height:50px;margin:0;position:absolute;top:0;right:5px}.about-prose p{letter-spacing:0;font-size:16px;line-height:1.95}.about-prose p+p{margin-top:18px}.about-prose .closing-thought{margin-top:22px;font-size:18px}.contact-letter{grid-template-columns:1fr;gap:20px;padding:28px 22px 20px}.letter-copy h2{font-size:28px}.dialogue-mark{width:48px;height:42px;margin-bottom:16px}.contact-details{--contact-font-size:clamp(16px, 4.2vw, 20px);padding-top:0}.email-link .contact-arrow{display:none}.email-row{gap:8px;padding-bottom:8px}.contact-meta{padding-top:10px}.github-link{padding-right:0}.github-link .contact-arrow{margin-left:0}.site-footer{align-items:flex-start;gap:8px;padding-block:28px;font-size:12px}.footer-note{min-height:44px}.footer-links{gap:10px}.prose-page{margin-top:26px}}@media (width>=540px) and (width<=760px){.hero{grid-template-columns:1.05fr .95fr;gap:0;padding-block:43px 62px}.hero h1{font-size:42px}.window-scene{min-width:285px;margin-left:-35px;margin-right:-20px}.hero-intro{max-width:250px}.window-scene figcaption{letter-spacing:0;font-size:11px}.contact-letter{padding-inline:25px}.contact-details{--contact-font-size:17px}.email-link .contact-arrow,.desktop-break{display:none}}@media (width<=370px){.site-shell{width:calc(100% - 40px)}.hero h1{font-size:42px}.hero-intro{max-width:245px}.contact-letter{padding-inline:19px}.contact-details{--contact-font-size:16px}.email-link .contact-arrow{display:none}.email-row{gap:4px}.email-link,.github-link{gap:8px}.site-footer{flex-direction:column;gap:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}.scene-depth{transform:none}.dialogue-back{transform:translate(-3px,-2px)rotate(-8deg)!important}.dialogue-front{transform:translate(4px,3px)rotate(6deg)!important}.hero-link:hover svg,.email-link:hover .contact-arrow,.github-link:hover .contact-arrow,.product-link:hover h3 span{transform:none}}@media (pointer:coarse){.scene-depth{transform:none}}}@font-face{font-family:Baiyiyu Serif;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/baiyiyu-serif.woff2)format("woff2");unicode-range:U+20-7E,U+A9,U+B7,U+2014,U+2019,U+3001-3002,U+4E00,U+4E0A,U+4E0D-4E0E,U+4E1C,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E4E,U+4E5F,U+4E66,U+4E86,U+4E8B,U+4E8E,U+4E9B,U+4EA4,U+4EA7,U+4EAB,U+4ECA,U+4EE5,U+4EF6,U+4F19-4F1A,U+4F3C,U+4F46,U+4F5C,U+4F60,U+4F7F,U+4FCA,U+4FE1,U+505A,U+505C,U+5165,U+5173,U+518D,U+5199,U+51B5,U+51E0,U+51FB,U+5206-5207,U+521B,U+5230,U+5236,U+524D,U+52A0-52A1,U+52A8,U+533A,U+539F,U+53BB,U+53CA,U+53D1,U+53E3,U+53EA,U+53EF,U+53F6,U+5411,U+5439,U+5446,U+5468,U+547C,U+548C,U+5496,U+54C1,U+5561,U+559C-559D,U+5668,U+56DE,U+5728,U+5730,U+5740,U+5751,U+5899,U+5904,U+5907,U+590D,U+591A,U+5927,U+5929,U+5976,U+597D,U+5B50,U+5B83,U+5B87,U+5BB6,U+5BFC,U+5C0F,U+5C11,U+5C1D,U+5C31,U+5C71,U+5DE5,U+5DF1-5DF2,U+5E38,U+5E74,U+5E76,U+5E94,U+5EA7,U+5F00,U+5F97,U+5FC6,U+606F,U+60C5,U+60F3,U+6162,U+6210-6211,U+6216,U+6247,U+6253,U+627E,U+628A,U+62DB,U+6309,U+6362,U+636E,U+63A5,U+63D2,U+642C,U+6478,U+64AD,U+653E,U+6548,U+6570,U+6587,U+65B0,U+65E5,U+65F6,U+660E,U+662F,U+666F,U+6682,U+6709,U+670D,U+671D,U+672A,U+672C,U+6765,U+676F,U+679D,U+6807,U+6B21-6B22,U+6B63,U+6C5F,U+6CD5,U+6D3B,U+6D45,U+6D4F,U+6DF1,U+6E29,U+6E90,U+6F7C,U+7070,U+70B9,U+70E6,U+70ED,U+7231,U+725B,U+73B0,U+7406,U+74E6,U+751F,U+7528,U+7531,U+753B,U+7591,U+767D,U+7684,U+76F4,U+7740,U+79C1,U+79E4,U+7A97,U+7AD9,U+7B14,U+7B49,U+7B7E,U+7BB1,U+7D22,U+7ECF,U+7EDF,U+7EFF,U+7F51,U+7FFB,U+8005,U+804A,U+80FD,U+8111,U+81EA,U+81F4,U+822A,U+8272,U+888B,U+897F,U+8981,U+89C1,U+89C8,U+89E3,U+8A00,U+8BA1,U+8BA4,U+8BA9,U+8BB0,U+8BB8,U+8BBE-8BBF,U+8BC6,U+8BD5,U+8BE6,U+8BED,U+8BEF,U+8BF4,U+8BF7,U+8D70,U+8D76,U+8DF3,U+8E29,U+8F6F,U+8F7D,U+8FC7,U+8FD4,U+8FD8-8FD9,U+8FDB-8FDC,U+9009,U+9014,U+90AE,U+91CC,U+91CE-91CF,U+957F,U+95EE,U+95F4,U+9635,U+9690,U+9752,U+9762,U+9875,U+9898,U+98CE,U+9996,U+9EBB,U+FF08-FF09,U+FF0C,U+FF1A,U+FF1F,U+FF5C}@font-face{font-family:Baiyiyu Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/baiyiyu-sans.woff2)format("woff2");unicode-range:U+20-7E,U+A9,U+B7,U+2014,U+2019,U+3001-3002,U+4E00,U+4E0A,U+4E0D-4E0E,U+4E1C,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E4E,U+4E5F,U+4E66,U+4E86,U+4E8B,U+4E8E,U+4E9B,U+4EA4,U+4EA7,U+4EAB,U+4ECA,U+4EE5,U+4EF6,U+4F19-4F1A,U+4F3C,U+4F46,U+4F5C,U+4F60,U+4F7F,U+4FCA,U+4FE1,U+505A,U+505C,U+5165,U+5173,U+518D,U+5199,U+51B5,U+51E0,U+51FB,U+5206-5207,U+521B,U+5230,U+5236,U+524D,U+52A0-52A1,U+52A8,U+533A,U+539F,U+53BB,U+53CA,U+53D1,U+53E3,U+53EA,U+53EF,U+53F6,U+5411,U+5439,U+5446,U+5468,U+547C,U+548C,U+5496,U+54C1,U+5561,U+559C-559D,U+5668,U+56DE,U+5728,U+5730,U+5740,U+5751,U+5899,U+5904,U+5907,U+590D,U+591A,U+5927,U+5929,U+5976,U+597D,U+5B50,U+5B83,U+5B87,U+5BB6,U+5BFC,U+5C0F,U+5C11,U+5C1D,U+5C31,U+5C71,U+5DE5,U+5DF1-5DF2,U+5E38,U+5E74,U+5E76,U+5E94,U+5EA7,U+5F00,U+5F97,U+5FC6,U+606F,U+60C5,U+60F3,U+6162,U+6210-6211,U+6216,U+6247,U+6253,U+627E,U+628A,U+62DB,U+6309,U+6362,U+636E,U+63A5,U+63D2,U+642C,U+6478,U+64AD,U+653E,U+6548,U+6570,U+6587,U+65B0,U+65E5,U+65F6,U+660E,U+662F,U+666F,U+6682,U+6709,U+670D,U+671D,U+672A,U+672C,U+6765,U+676F,U+679D,U+6807,U+6B21-6B22,U+6B63,U+6C5F,U+6CD5,U+6D3B,U+6D45,U+6D4F,U+6DF1,U+6E29,U+6E90,U+6F7C,U+7070,U+70B9,U+70E6,U+70ED,U+7231,U+725B,U+73B0,U+7406,U+74E6,U+751F,U+7528,U+7531,U+753B,U+7591,U+767D,U+7684,U+76F4,U+7740,U+79C1,U+79E4,U+7A97,U+7AD9,U+7B14,U+7B49,U+7B7E,U+7BB1,U+7D22,U+7ECF,U+7EDF,U+7EFF,U+7F51,U+7FFB,U+8005,U+804A,U+80FD,U+8111,U+81EA,U+81F4,U+822A,U+8272,U+888B,U+897F,U+8981,U+89C1,U+89C8,U+89E3,U+8A00,U+8BA1,U+8BA4,U+8BA9,U+8BB0,U+8BB8,U+8BBE-8BBF,U+8BC6,U+8BD5,U+8BE6,U+8BED,U+8BEF,U+8BF4,U+8BF7,U+8D70,U+8D76,U+8DF3,U+8E29,U+8F6F,U+8F7D,U+8FC7,U+8FD4,U+8FD8-8FD9,U+8FDB-8FDC,U+9009,U+9014,U+90AE,U+91CC,U+91CE-91CF,U+957F,U+95EE,U+95F4,U+9635,U+9690,U+9752,U+9762,U+9875,U+9898,U+98CE,U+9996,U+9EBB,U+FF08-FF09,U+FF0C,U+FF1A,U+FF1F,U+FF5C}@font-face{font-family:Baiyiyu Lora;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/lora-latin-500.woff2)format("woff2")}@font-face{font-family:Baiyiyu Source Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-sans-3-latin-400.woff2)format("woff2")}@font-face{font-family:Baiyiyu Lora;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/lora-latin-500-italic.woff2)format("woff2")}.brand{letter-spacing:.16em;font-size:23px;font-weight:500;position:relative}.brand>span{display:block}.brand:after{content:"";background:var(--rust);border-radius:50%;align-self:flex-end;width:4px;height:4px;margin-bottom:11px;margin-left:-8px}.header-link{color:var(--green);gap:9px;padding:3px 0 3px 10px;transition:color .18s;position:relative}.header-link-label{position:relative}.header-link-label:after{content:"";transform-origin:0;width:100%;height:1px;transition:transform .25s var(--ease);background:currentColor;position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.header-link .header-arrow{stroke:currentColor;stroke-width:1.35px;width:20px;height:20px;transition:transform .26s var(--ease)}.header-link:is(:hover,:focus-visible) .header-link-label:after{transform:scaleX(1)}.header-link:is(:hover,:focus-visible) .header-arrow{transform:translate(3px,-3px)}.header-link:active .header-arrow{transform:translate(1px,-1px)scale(.92)}.header-link:active{color:var(--rust)}:root{--scroll-track:#eff3ee;--scroll-thumb:#93b8af;--scroll-hover:#63978c;--scroll-active:#326b68}html{scrollbar-color:var(--scroll-thumb) var(--scroll-track);scrollbar-width:thin;scrollbar-gutter:auto}@supports selector(::-webkit-scrollbar){html{scrollbar-width:auto;scrollbar-color:auto}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:3px solid var(--scroll-track);border-radius:20px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}::-webkit-scrollbar-thumb:active{background:var(--scroll-active)}::-webkit-scrollbar-corner{background:var(--scroll-track)}}@media (prefers-reduced-motion:no-preference){.section-rule{transform-origin:0}}@media (forced-colors:active){.page-atmosphere{display:none}html{scrollbar-color:auto}html,body,a,button,summary,[role=button]{cursor:auto}}@media (prefers-reduced-motion:reduce){.header-link .header-arrow,.header-link:active .header-arrow{transform:none}}html[data-theme=dark]{color-scheme:dark;--paper:#142126;--ink:#e4e9e4;--muted:#adbcbd;--green:#91cfc3;--rust:#e6ad85;--line:#34494c;--letter:#203739;--scroll-track:#142126;--scroll-thumb:#496c70;--scroll-hover:#69958f;--scroll-active:#91cfc3}html[data-theme=dark] ::selection{color:#fff5e8;background:#426b68}html[data-theme=dark] .paper-grain{opacity:.08}html[data-theme=dark] .window-glow{background:radial-gradient(at 78% 21%,#507a9429,#0000 43%),radial-gradient(at 4% 86%,#bf8b6412,#0000 35%)}html[data-theme=dark] .dot-field{background:#80b5b23d}html[data-theme=dark] .dot-light{background:linear-gradient(90deg,#0000,#d6a582 37%,#a7d8e6 53%,#b0a6d5 70%,#0000)}html[data-theme=dark] .margin-leaves{color:#769e93}html[data-theme=dark] .leaf-spray{opacity:.15}html[data-theme=dark] .leaf-stem{opacity:.24}html[data-theme=dark] .margin-breeze{stroke:#a9acd2;opacity:.13}html[data-theme=dark] .welcome-note span{background:#e6ad85}html[data-theme=dark] .name:after{border-color:#d6a483}html[data-theme=dark] .section-rule{background:#79b7aa}html[data-theme=dark] .sprig{color:#88b5a4}html[data-theme=dark] .contact-letter{border-color:#3c5b59}html[data-theme=dark] .copy-email{--copy-glow:#91e5cf}@media (hover:hover){html[data-theme=dark] .copy-email:hover{color:#c1f1e3}}html[data-theme=dark] .email-row{border-color:#3c5b59}html[data-theme=dark] .letter-fold{background:linear-gradient(45deg, #3c5b59 49%, var(--paper) 50%)}html[data-theme=dark] .prose-page button{border-color:#52756f}html[data-theme=dark] .scene-motion-toggle{border-color:#0000}html[data-theme=dark] .contact-letter:focus-within{border-color:#729d91;box-shadow:0 12px 28px -22px #050e10}@media (hover:hover){html[data-theme=dark] .contact-letter:hover{border-color:#729d91;box-shadow:0 12px 28px -22px #050e10}}html[data-theme=dark] .window-art{--scene-sky-top:#172a45;--scene-sky-middle:#2f5064;--scene-sky-horizon:#6b8586;--scene-wall-light:#344b50;--scene-wall-shade:#253b40;--scene-arch-line:#4b6165;--scene-frame-dark:#385b58;--scene-frame-mid:#63837c;--scene-frame-edge:#8fa89a;--scene-shutter-panel:#465e58;--scene-shutter-line:#698c7a;--scene-cloud:#bed7e2;--scene-bird:#7da3b4;--scene-mountain-far:#53717c;--scene-mountain-mid:#456f71;--scene-mountain-near:#315e5b;--scene-field:#557767;--scene-path:#9aab8c;--scene-house-light:#b3b6a2;--scene-house-shade:#85988d;--scene-roof:#263e40;--scene-house-window:#e4b873;--scene-tree:#233f3d;--scene-field-line:#748c70;--scene-brass:#b7a57b;--scene-sill-top:#797a64;--scene-sill-edge:#a29c7e;--scene-light:#d4b485;--scene-table-line:#68716a;--scene-table-shadow:#26363a;--scene-book-cover:#b87559;--scene-paper-light:#cfccb3;--scene-paper-shade:#b5b89f;--scene-paper-line:#7d8a7b;--scene-ribbon:#a498bb;--scene-cup-light:#bebda6;--scene-cup-shade:#929e8c;--scene-cup-line:#778677;--scene-drink:#806643;--scene-steam:#bcc2ad;--scene-vase:#b67c5d;--scene-vase-light:#d3a178;--scene-vase-dark:#795c47;--scene-plant-stem:#81a08a;--scene-plant-dark:#587e68;--scene-plant-mid:#6c9074;--scene-plant-light:#8ba17c}@media (prefers-reduced-motion:no-preference){body{transition:background-color .22s,color .18s}}@media (forced-colors:active){html[data-theme=dark]{--paper:Canvas;--ink:CanvasText;--muted:CanvasText;--green:LinkText;--rust:LinkText;--line:CanvasText;--letter:Canvas;scrollbar-color:auto}html[data-theme=dark] .contact-letter,html[data-theme=dark] .copy-email{border-color:buttontext}html[data-theme=dark] .letter-fold{display:none}}.header-actions{align-items:center;gap:14px;display:flex}.language-switch,.theme-toggle{min-width:44px;min-height:44px;color:var(--green);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.language-switch{font-family:var(--sans);letter-spacing:.03em;font-size:13px;text-decoration:none}.theme-toggle{background:0 0;border:0;padding:10px}.theme-toggle svg{stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.theme-toggle .theme-sun{display:none}html[data-theme=dark] .theme-toggle .theme-sun{display:block}html[data-theme=dark] .theme-toggle .theme-moon{display:none}.language-switch:hover,.theme-toggle:hover{background:var(--letter)}@media (prefers-reduced-motion:no-preference){.theme-toggle{transition:background-color .2s,transform .2s}.theme-toggle:active{transform:scale(.9)}body{transition:background-color .22s,color .22s}}html[lang=en]{--serif:"Baiyiyu Lora", Georgia, serif;--sans:"Baiyiyu Source Sans", system-ui, sans-serif}html[lang=en] .brand{letter-spacing:-.02em}html[lang=en] .brand:after{margin-left:0}html[lang=en] .welcome-note{letter-spacing:.06em}html[lang=en] .hero h1{letter-spacing:-.045em;font-size:clamp(43px,4.2vw,63px);line-height:1.25}html[lang=en] .hero-intro{max-width:360px;font-size:17px;line-height:1.6}html[lang=en] .hero-thought{font-size:22px;line-height:1.6}html[lang=en] .section-heading h2{letter-spacing:-.02em;font-size:30px;line-height:1.4}html[lang=en] .about-prose p{letter-spacing:0;font-size:19px;line-height:1.7}html[lang=en] .letter-copy h2{font-size:29px;line-height:1.3}html[lang=en] .window-scene figcaption{letter-spacing:0}@media (width<=760px){.header-actions{gap:4px}.site-header{gap:10px}.header-link{padding-left:4px}html[lang=en] .hero-intro{max-width:370px}html[lang=en] .hero-thought{font-size:20px}html[lang=en] .about-prose p{font-size:18px}html[lang=en] .section-heading h2{font-size:25px}}@media (width>=540px) and (width<=760px){html[lang=en] .hero{grid-template-columns:1fr}html[lang=en] .window-scene{margin:0}}@media (width<=420px){.brand{letter-spacing:.08em;gap:4px;font-size:20px}.header-actions{gap:0}.header-link{gap:4px;font-size:12px}.header-link .header-arrow{width:15px;height:15px}html[lang=en] .hero h1{font-size:42px}}body{isolation:isolate}.page-atmosphere{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:clip}.paper-grain{opacity:.16;background:url(/paper-grain.svg);position:absolute;inset:0}.window-glow{transform:translateY(var(--light-scroll,0px));background:radial-gradient(at 78% 21%,#c6e7f459,#0000 43%),radial-gradient(at 4% 86%,#f0c6a932,#0000 35%);position:absolute;inset:-120px -60px}.atmosphere-dots{width:224px;height:300px;transform:translateY(var(--dots-scroll,0px));position:absolute;mask-image:radial-gradient(#000 12%,#0000 72%)}.atmosphere-dots--window{top:15%;right:max(-36px,50vw - 700px)}.atmosphere-dots--margin{width:180px;height:230px;top:61%;left:-30px}.dot-field{background:#6eaca059;position:absolute;inset:0;overflow:hidden;mask-image:radial-gradient(circle,#000 1.6px,#0000 1.9px);mask-size:14px 14px}.dot-light{opacity:0;background:linear-gradient(90deg,#0000,#e3a176 37%,#a5d9eb 53%,#b3a2d2 70%,#0000);width:85%;height:160%;position:absolute;top:-30%;left:0}.margin-leaves{color:#79a493;width:clamp(145px,14vw,210px);max-width:none;height:auto;transform:translateY(var(--leaves-scroll,0px)) rotate(-4deg);transform-origin:50% 100%;position:absolute;top:47%;right:-49px}.leaf-stem{stroke:currentColor;stroke-width:1.15px;opacity:.31}.leaf-spray{fill:currentColor;opacity:.22}.margin-breeze{stroke:#a8a1c4;stroke-width:1px;opacity:.19;width:210px;max-width:none;height:170px;transform:translateY(var(--dots-scroll,0px));position:absolute;top:39%;left:-58px}@media (width>=1600px){.atmosphere-dots--margin{left:max(12px,50vw - 765px)}.margin-leaves{right:max(-20px,50vw - 795px)}}@media (width<=1100px){.atmosphere-dots--window{width:194px;right:-94px}.atmosphere-dots--margin{left:-92px}.margin-leaves{opacity:.75;right:-83px}.margin-breeze{opacity:.13;left:-116px}}@media (width<=760px){.atmosphere-dots--window{width:170px;height:210px;top:39%;right:-104px}.atmosphere-dots--margin,.margin-breeze{display:none}.dot-field{background:#6eaca040;mask-size:16px 16px}.margin-leaves{opacity:.6;width:135px;top:74%;right:-88px}.window-glow{background:radial-gradient(at 90%,#c6e7f442,#0000 49%)}}@media (prefers-reduced-motion:reduce){.window-glow,.margin-leaves,.margin-breeze,.atmosphere-dots{transform:none}.dot-light{display:none}}@media (forced-colors:active){.page-atmosphere{display:none}}.wind-cursor-effects{z-index:1000;pointer-events:none;fill:none;stroke:#71876a;stroke-width:1.3px;stroke-linecap:round;contain:strict;width:100%;height:100%;display:none;position:fixed;inset:0;overflow:hidden}@media (hover:hover) and (pointer:fine) and (forced-colors:none){html,body,body *,:where(p,h1,h2,h3,h4,h5,h6,li,dt,dd,blockquote,figcaption,address,label,small,time,code,pre,span,strong,em),:where(input:not([type]),input[type=text],input[type=email],input[type=search],input[type=url],input[type=tel],input[type=password],input[type=number],textarea,[contenteditable=true]){cursor:url(/cursors/wind-arrow.svg) 5 4,default}a,button,summary,[role=button],input[type=submit],input[type=button],input[type=checkbox],input[type=radio]{cursor:url(/cursors/wind-link.svg) 5 4,pointer}a:active,button:active,summary:active,[role=button]:active{cursor:url(/cursors/wind-pressed.svg) 5 4,pointer}:is(a,button,summary,[role=button]) :where(*){cursor:inherit}html[data-theme=dark],html[data-theme=dark] body,html[data-theme=dark] body *{cursor:url(/cursors/dark-arrow.svg) 5 4,default}html[data-theme=dark] :is(a,button,summary,[role=button],input[type=submit],input[type=button],input[type=checkbox],input[type=radio]){cursor:url(/cursors/dark-link.svg) 5 4,pointer}html[data-theme=dark] :is(a,button,summary,[role=button]):active{cursor:url(/cursors/dark-pressed.svg) 5 4,pointer}html[data-theme=dark] :is(a,button,summary,[role=button]) :where(*){cursor:inherit}:disabled,[aria-disabled=true],[aria-disabled=true] *,html[data-theme=dark] :is(:disabled,[aria-disabled=true],[aria-disabled=true] *){cursor:not-allowed}html[data-theme=dark] [data-wind-trail] path{stroke:#a0d5cc}html[data-theme=dark] [data-wind-clicks]{filter:brightness(1.12)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) and (forced-colors:none){.wind-cursor-effects{display:block}}
