@import "https://fonts.googleapis.com/css2?family=Archivo+Black&family=Caveat:wght@500;700&family=IBM+Plex+Sans:wght@400;500;600;700&family=Long+Cang&family=Noto+Sans+SC:wght@400;500;700&family=Noto+Serif+SC:wght@400;600&family=Source+Serif+4:ital,wght@0,400;0,600;1,400&family=ZCOOL+QingKe+HuangYou&display=swap";:root,[data-theme=day]{--paper:#fbf3e6;--sheet:#fffbf3;--wall:#eeede3;--desk:#ebd2ac;--ink:#2b2925;--ink-muted:#675e54;--sage:#bcd4b0;--butter:#f3de9a;--peach:#f6b99f;--mist:#afcde8;--rose:#f0aeb6;--shell:#d5d6d0;--glow:#f0dd98;--highlight:#ffe96b;--screen:#23262b;--on-screen:#f2f3f5;--pop-red:#d9432b;--pop-blue:#1f4fb5;--pop-yellow:#f2c230;--on-pop:#2b2925;--shadow-cast:6px 8px 14px #966e3c3d;--shadow-print:3px 3px 0 #2b2925}[data-theme=night]{--paper:#1a202b;--sheet:#263043;--wall:#11151c;--desk:#5a4630;--ink:#ede6d8;--ink-muted:#a9b0bc;--sage:#506547;--butter:#75652a;--peach:#8a5644;--mist:#46607c;--rose:#84505a;--shell:#6e6b60;--glow:#e9c46a;--highlight:#6a5620;--screen:#0f131a;--on-screen:#f2f3f5;--pop-red:#e2553d;--pop-blue:#6f95ea;--pop-yellow:#f2c230;--on-pop:#2b2925;--shadow-cast:6px 8px 16px #0000008c;--shadow-print:3px 3px 0 #ede6d8}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-paper:3px;--radius-ui:8px;--radius-device:18px;--radius-pill:999px;--line-fine:1.5px;--line-ink:2.5px;--line-bold:4px;--font-display:"Archivo Black", "ZCOOL QingKe HuangYou", sans-serif;--font-ui:"IBM Plex Sans", "Noto Sans SC", system-ui, sans-serif;--font-serif:"Source Serif 4", "Noto Serif SC", Georgia, serif;--font-hand:Caveat, "Long Cang", cursive}.pop-title{font-family:var(--font-display);font-size:40px;font-weight:400;line-height:44px}.ui-title{font-family:var(--font-ui);font-size:22px;font-weight:600;line-height:28px}.ui-body{font-family:var(--font-ui);font-size:16px;font-weight:400;line-height:28px}.ui-small{font-family:var(--font-ui);font-size:13px;font-weight:400;line-height:20px}.ui-label{font-family:var(--font-ui);letter-spacing:.04em;font-size:13px;font-weight:600;line-height:16px}.paper-title{font-family:var(--font-serif);font-size:24px;font-weight:600;line-height:32px}.paper-body{font-family:var(--font-serif);font-size:17px;font-weight:400;line-height:29px}.paper-caption{font-family:var(--font-serif);font-size:13px;font-style:italic;font-weight:400;line-height:20px}.card-name{font-family:var(--font-serif);letter-spacing:.14em;font-size:24px;font-weight:600;line-height:30px}.card-line{font-family:var(--font-serif);letter-spacing:.08em;font-size:13px;font-weight:400;line-height:22px}.hand-title{font-family:var(--font-hand);font-size:32px;font-weight:700;line-height:36px}.hand-note{font-family:var(--font-hand);font-size:24px;font-weight:500;line-height:30px}.ew{font-family:var(--font-ui);color:var(--ink);font-size:16px;line-height:28px}.ew *{box-sizing:border-box}.ew a{color:var(--ink);text-decoration-color:var(--pop-blue);text-underline-offset:3px;text-decoration-thickness:2px}.ew :focus-visible{outline:3px solid var(--ink);outline-offset:3px}.ew-ink{border:var(--line-ink) solid var(--ink);border-radius:255px 14px 225px/14px 225px 14px 255px}.ew-wash{background-image:radial-gradient(at 18% 24%,#ffffff61,#fff0 58%),radial-gradient(at 84% 82%,#3c281424,#3c281400 56%)}.ew-btn{font:600 13px/16px var(--font-ui);letter-spacing:.04em;min-height:44px;padding:var(--space-3) var(--space-4);color:var(--ink);background:var(--sheet);border:var(--line-ink) solid var(--ink);box-shadow:var(--shadow-print);cursor:pointer;align-items:center;gap:var(--space-2);border-radius:255px 14px 225px/14px 225px 14px 255px;display:inline-flex}.ew-btn:hover{box-shadow:2px 2px 0 var(--ink);transform:translate(1px,1px)}.ew-btn:active{box-shadow:none;transform:translate(3px,3px)}.ew-btn--primary{background:var(--ink);color:var(--paper)}.ew-btn--pop{background:var(--pop-yellow);color:var(--on-pop);border-color:var(--on-pop);box-shadow:3px 3px 0 var(--on-pop)}.ew-btn--pop:hover{box-shadow:2px 2px 0 var(--on-pop)}.ew-btn--quiet{box-shadow:none;text-underline-offset:4px;background:0 0;border-color:#0000;text-decoration:underline 2px}.ew-btn--quiet:hover{box-shadow:none;border-color:var(--ink);transform:none}.ew-btn svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.ew-tag{font:600 13px/16px var(--font-ui);letter-spacing:.04em;padding:var(--space-1) var(--space-3);color:var(--ink);background-color:var(--sheet);border:var(--line-fine) solid var(--ink);border-radius:var(--radius-pill);display:inline-block}.ew-tag.ew-sage{background-color:var(--sage)}.ew-tag.ew-butter{background-color:var(--butter)}.ew-tag.ew-peach{background-color:var(--peach)}.ew-tag.ew-mist{background-color:var(--mist)}.ew-tag.ew-rose{background-color:var(--rose)}.ew-tag[aria-pressed=true]{background:var(--ink);color:var(--paper)}button.ew-tag{cursor:pointer;min-height:32px}.ew strong,.ew-strong{font-weight:700}.ew-mark{background:linear-gradient(transparent 12%,var(--highlight) 12%,var(--highlight) 92%,transparent 92%);color:var(--ink);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:6px 2px 5px;padding:0 3px}.ew-margin-note{font:500 24px/30px var(--font-hand);color:var(--ink);display:inline-block;transform:rotate(-2deg)}.ew-workcard{gap:var(--space-2);text-align:left;width:100%;padding:var(--space-3);background:var(--sheet);color:var(--ink);font:inherit;border:var(--line-ink) solid var(--ink);border-radius:var(--radius-ui);cursor:pointer;flex-direction:column;display:flex}.ew-workcard:hover{box-shadow:var(--shadow-print);transform:translate(-2px,-2px)}.ew-workcard__shot{aspect-ratio:16/10;border:var(--line-fine) solid var(--ink);background-color:var(--sage);border-radius:4px}.ew-workcard__name{font:600 18px/24px var(--font-ui)}.ew-workcard__line{font:400 13px/20px var(--font-ui);color:var(--ink-muted)}.ew-row{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-4);width:100%;min-height:44px;padding:var(--space-3) 0;border:0;border-bottom:var(--line-fine) solid var(--ink);color:var(--ink);text-align:left;cursor:pointer;font:600 18px/26px var(--font-serif);background:0 0;flex-wrap:wrap;display:flex}.ew-row:hover .ew-row__title{background:linear-gradient(transparent 60%,var(--highlight) 60%)}.ew-row__meta{gap:var(--space-3);font:400 13px/20px var(--font-ui);color:var(--ink-muted);font-variant-numeric:tabular-nums;align-items:center;display:flex}.ew-chat{gap:var(--space-3);flex-direction:column;max-width:420px;display:flex}.ew-bubble{max-width:85%;padding:var(--space-3) var(--space-4);background:var(--sheet);border:var(--line-ink) solid var(--ink);border-radius:var(--radius-device) var(--radius-device) var(--radius-device) 4px;align-self:flex-start}.ew-bubble--me{background:var(--ink);color:var(--paper);border-radius:var(--radius-device) var(--radius-device) 4px var(--radius-device);align-self:flex-end}.ew-chat__ask{gap:var(--space-2);align-items:center;display:flex}.ew-input{min-width:0;min-height:44px;padding:0 var(--space-4);font:400 16px/28px var(--font-ui);color:var(--ink);background:var(--sheet);border:var(--line-ink) solid var(--ink);border-radius:var(--radius-pill);flex:1}.ew-input::placeholder{color:var(--ink-muted)}.ew-browser{background:var(--paper);border:var(--line-ink) solid var(--ink);border-radius:var(--radius-ui);overflow:hidden}.ew-browser__bar{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:var(--line-ink) solid var(--ink);background:var(--sheet);display:flex}.ew-browser__close{border:var(--line-ink) solid var(--ink);background:var(--pop-red);width:28px;height:28px;color:var(--ink);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.ew-browser__close svg{fill:none;stroke:currentColor;width:12px;height:12px;stroke-width:var(--line-ink);stroke-linecap:round}.ew-browser__url{min-width:0;font:400 13px/20px var(--font-ui);color:var(--ink-muted);padding:2px var(--space-3);border:var(--line-fine) solid var(--ink);border-radius:var(--radius-pill);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ew-browser__body{padding:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.ew-browser__title{font:600 22px/28px var(--font-ui);margin:0}.ew-browser__filters{gap:var(--space-2);flex-wrap:wrap;display:flex}.ew-browser__grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(170px,1fr));display:grid}.ew-phone{width:300px;max-width:100%;padding:var(--space-3);background:var(--shell);border:var(--line-ink) solid var(--ink);border-radius:var(--radius-device)}.ew-phone__screen{background:var(--sheet);border:var(--line-fine) solid var(--ink);padding:0 var(--space-4);border-radius:10px}.ew-post{gap:var(--space-1);padding:var(--space-4) 0;border-bottom:var(--line-fine) solid var(--ink);flex-direction:column;display:flex}.ew-post:last-child{border-bottom:0}.ew-post__meta{font:400 13px/20px var(--font-ui);color:var(--ink-muted);font-variant-numeric:tabular-nums}.ew-paper{font-family:var(--font-serif);background:var(--sheet);color:var(--ink);padding:var(--space-8);border:var(--line-ink) solid var(--ink);border-radius:var(--radius-paper);box-shadow:var(--shadow-cast);gap:var(--space-4);flex-direction:column;max-width:560px;display:flex}.ew-paper__title{font:600 24px/32px var(--font-serif);text-align:center;text-wrap:balance;margin:0}.ew-paper__meta{font:italic 400 13px/20px var(--font-serif);color:var(--ink-muted);text-align:center}.ew-paper__abstract{font:400 17px/29px var(--font-serif);margin:0}.ew-paper__abstract b{font-variant:small-caps;letter-spacing:.06em}.ew-paper__fig{aspect-ratio:16/8;border:var(--line-fine) solid var(--ink);background-color:var(--mist)}.ew-paper__foot{justify-content:space-between;align-items:center;gap:var(--space-4);font:italic 400 13px/20px var(--font-serif);color:var(--ink-muted);flex-wrap:wrap;display:flex}.ew-notebook{background-color:var(--sheet);color:var(--ink);border:var(--line-ink) solid var(--ink);border-radius:var(--radius-paper) 12px 12px var(--radius-paper);box-shadow:var(--shadow-cast);max-width:560px;padding:var(--space-6) var(--space-6) var(--space-6) 56px;gap:var(--space-3);flex-direction:column;display:flex;position:relative}.ew-notebook:before{content:"";background:radial-gradient(circle,var(--ink) 0 5px,transparent 6px) 0 0/14px 30px repeat-y;width:14px;position:absolute;top:14px;bottom:14px;left:18px}.ew-notebook:after{content:"";border-left:var(--line-fine) solid var(--rose);position:absolute;top:0;bottom:0;left:44px}.ew-notebook__title{font:700 32px/36px var(--font-hand);margin:0}.ew-notebook__body{font:400 17px/29px var(--font-serif);background:repeating-linear-gradient(transparent 0 27.5px,var(--mist) 27.5px 29px);background-size:100% 29px;margin:0}.ew-notebook__corner{align-self:flex-end}.ew-polaroid{background:var(--sheet);border:var(--line-ink) solid var(--ink);border-radius:var(--radius-paper);width:220px;max-width:100%;box-shadow:var(--shadow-cast);padding:var(--space-3) var(--space-3) var(--space-8);cursor:pointer;color:var(--ink);text-align:left;font:inherit;display:block}.ew-polaroid__photo{aspect-ratio:1;border:var(--line-fine) solid var(--ink);background-color:var(--peach)}.ew-polaroid--back{padding:var(--space-4);justify-content:center;gap:var(--space-2);flex-direction:column;min-height:268px;display:flex}.ew-polaroid__when{font:500 24px/30px var(--font-hand)}.ew-polaroid__what{font:700 32px/36px var(--font-hand)}.ew-polaroid__line{font:400 16px/28px var(--font-serif)}.ew-bizcard{aspect-ratio:9/5;background:var(--sheet);width:400px;max-width:100%;color:var(--ink);border:var(--line-ink) solid var(--ink);border-radius:var(--radius-paper);box-shadow:var(--shadow-cast);padding:var(--space-8);font-family:var(--font-serif);flex-direction:column;justify-content:space-between;display:flex}.ew-bizcard__name{font:600 24px/30px var(--font-serif);letter-spacing:.14em;text-transform:uppercase;margin:0}.ew-bizcard__role{font:italic 400 13px/20px var(--font-serif);color:var(--ink-muted)}.ew-bizcard__lines{font:400 13px/22px var(--font-serif);letter-spacing:.08em;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ew-bizcard__lines button{font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;min-height:44px;text-decoration:underline;text-decoration-color:var(--pop-blue);text-underline-offset:4px;background:0 0;border:0;padding:0;text-decoration-thickness:2px}.ew-bizcard__rule{border:0;border-top:var(--line-fine) solid var(--ink);width:48px;margin:0}.ew{line-break:strict;overflow-wrap:break-word;text-autospace:normal;font-variant-numeric:tabular-nums}.ew p{text-wrap:pretty}.ew h1,.ew h2,.ew h3{text-wrap:balance}:lang(zh) .ew-paper__meta,:lang(zh) .ew-paper__foot,:lang(zh) .ew-bizcard__role{font-style:normal}.ew-prose{max-width:34em;display:block}.ew-prose p{margin:0}.ew-prose:lang(zh) p{text-indent:2em}.ew-prose:lang(en) p+p{text-indent:1.5em}.ew-bizcard__name:lang(zh){letter-spacing:.3em}.ew-sage{background-color:var(--sage)}.ew-butter{background-color:var(--butter)}.ew-peach{background-color:var(--peach)}.ew-mist{background-color:var(--mist)}.ew-rose{background-color:var(--rose)}html,body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.ew a.ew-btn{text-decoration:none}.ew a.ew-btn--primary{color:var(--paper)}.ew a.ew-btn--quiet{text-decoration-line:underline}.resume[data-astro-cid-zsqrgqoq]{flex-direction:column;display:flex}.resume__section[data-astro-cid-zsqrgqoq]{gap:var(--space-4);padding:var(--space-8) 0;border-top:var(--line-fine) solid var(--ink);flex-direction:column;display:flex}.resume__section[data-astro-cid-zsqrgqoq]:first-child{border-top:0}.resume__title[data-astro-cid-zsqrgqoq]{align-items:baseline;gap:var(--space-3);font:600 22px/28px var(--font-ui);margin:0;display:flex}.resume__num[data-astro-cid-zsqrgqoq]{font:600 13px/16px var(--font-ui);letter-spacing:.04em;color:var(--ink-muted)}.resume__list[data-astro-cid-zsqrgqoq]{gap:var(--space-6);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.resume__list--tight[data-astro-cid-zsqrgqoq]{gap:var(--space-2)}.resume__item[data-astro-cid-zsqrgqoq]{gap:var(--space-1);flex-direction:column;display:flex}.resume__item-title[data-astro-cid-zsqrgqoq]{align-items:center;gap:var(--space-3);font:600 18px/24px var(--font-ui);flex-wrap:wrap;margin:0;display:flex}.resume__meta[data-astro-cid-zsqrgqoq]{font:400 13px/20px var(--font-ui);color:var(--ink-muted);margin:0}.resume__role[data-astro-cid-zsqrgqoq]{font:500 15px/24px var(--font-ui);margin:0}.resume__me[data-astro-cid-zsqrgqoq]{color:var(--ink);font-weight:600}.resume__text[data-astro-cid-zsqrgqoq]{font:400 16px/28px var(--font-ui);margin:0}.resume__links[data-astro-cid-zsqrgqoq]{gap:var(--space-4);margin:var(--space-1) 0 0;flex-wrap:wrap;display:flex}.resume__pick[data-astro-cid-zsqrgqoq]{align-self:flex-start;align-items:center;gap:var(--space-2);min-height:44px;font:500 24px/30px var(--font-hand);color:var(--ink);text-decoration:none;display:inline-flex}.resume__pick[data-astro-cid-zsqrgqoq] svg[data-astro-cid-zsqrgqoq]{fill:none;stroke:currentColor;width:32px;height:20px;stroke-width:var(--line-ink);stroke-linecap:round;stroke-linejoin:round;transition:transform .15s ease-out}.resume__pick[data-astro-cid-zsqrgqoq]:hover svg[data-astro-cid-zsqrgqoq]{transform:translate(3px)}
