:root{color-scheme:light;--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:72px;--space-4xl:104px;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.9375rem;--text-body:1.0625rem;--text-lg:1.1875rem;--text-xl:1.5rem;--text-2xl:1.875rem;--text-3xl:2.5rem;--text-4xl:3.25rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-micro:.12s;--dur-short:.2s;--color-paper:oklch(95.4% .009 92);--color-paper-2:oklch(92.8% .01 90);--color-paper-3:oklch(89.6% .011 88);--color-sheet:oklch(97.8% .006 92);--color-ink:oklch(24% .014 60);--color-ink-2:oklch(33% .012 60);--color-muted:oklch(48% .014 60);--color-rule:oklch(89% .01 80);--color-rule-2:oklch(74% .012 75);--color-accent:oklch(42% .105 352);--color-accent-2:oklch(35% .1 352);--color-accent-ink:oklch(97% .005 92);--color-focus:oklch(43% .115 352);--color-scrim:oklch(24% .015 60/.34);--color-error:oklch(48% .15 27);--color-success:oklch(46% .09 150);--container:1200px;--gutter:40px;--measure:34em;--control-h:28px;--font-display:"Newsreader", "Noto Serif CJK SC", "Source Han Serif SC", "Songti SC", "SimSun", Georgia, serif;--font-body:"Newsreader", "Noto Serif CJK SC", "Source Han Serif SC", "Songti SC", "SimSun", Georgia, serif;--font-ui:"Hanken Grotesk", "Noto Sans CJK SC", "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", ui-sans-serif, system-ui, sans-serif;--font-outlier:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--radius-card:2px;--radius-pill:2px;--rule-hair:1px;--rule-bar:1px;--shadow-card:none;--z-raised:10;--z-sticky:200;--z-sticky-nav:300;--z-modal:400;--z-toast:500;--z-tooltip:600}@media (width<=60rem){:root{--gutter:28px}}@media (width<=40rem){:root{--gutter:20px;--text-3xl:2.125rem;--text-4xl:2.5rem}}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{scrollbar-color:var(--color-rule-2) var(--color-paper);scroll-padding-top:5rem}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);font-kerning:normal;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;caret-color:var(--color-accent);margin:0;line-height:1.72}::selection{background:color-mix(in oklab, var(--color-accent) 16%, transparent);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:1px}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:0;text-wrap:balance;overflow-wrap:break-word;min-width:0;margin:0;font-weight:500;line-height:1.22}h1{font-size:var(--text-3xl)}p{text-wrap:pretty;margin:0}ul,ol{margin:0}img,video{max-width:100%;height:auto;display:block}svg{display:block}[hidden]{display:none!important}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}table{border-collapse:collapse}.wrap{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.measure{max-width:var(--measure)}.num,time,td.num{font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ui{font-family:var(--font-ui)}.mono{font-family:var(--font-outlier)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.home{padding-top:var(--space-xl);grid-template-columns:13.5rem minmax(0,1fr);align-items:start;gap:clamp(2.5rem,6vw,5rem);display:grid}.identity{top:var(--space-lg);position:sticky}.identity__avatar{object-fit:cover;border:var(--rule-hair) solid var(--color-rule-2);width:56px;height:56px;margin-bottom:var(--space-sm);filter:saturate(.75)contrast(.98)}.identity__name{letter-spacing:.06em;font-size:1.75rem;font-weight:600;line-height:1}.identity__handle{font-family:var(--font-outlier);letter-spacing:.03em;color:var(--color-muted);margin-top:5px;font-size:.6875rem}.identity__note{margin-top:var(--space-sm);color:var(--color-ink-2);font-size:.9375rem;line-height:1.68}.identity__note a{color:var(--color-ink);text-underline-offset:2px;text-decoration:underline 1px;text-decoration-color:color-mix(in oklch, var(--color-accent) 45%, transparent)}.identity__note a:hover{color:var(--color-accent-2)}.identity__facts{margin:var(--space-md) 0 0;border-top:var(--rule-hair) solid var(--color-rule)}.identity__facts>div{gap:var(--space-xs);border-bottom:var(--rule-hair) solid var(--color-rule);grid-template-columns:3.25rem minmax(0,1fr);padding:6px 0;display:grid}.identity__facts dt{font-family:var(--font-ui);color:var(--color-muted);padding-top:1px;font-size:.6875rem}.identity__facts dd{font-family:var(--font-ui);color:var(--color-ink-2);text-align:right;font-variant-numeric:tabular-nums;margin:0;font-size:.75rem}.identity__links{gap:3px var(--space-md);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}.identity__links a{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-muted);text-decoration:none}.identity__links a:hover{color:var(--color-accent-2)}.stream{min-width:0;max-width:50rem}.stream-section+.stream-section{margin-top:var(--space-xl)}.stream-head{justify-content:space-between;align-items:baseline;gap:var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule-2);padding-bottom:7px;display:flex}.stream-head h2{font-size:1.125rem;font-weight:600}.stream-head .more{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-muted);text-decoration:none}.stream-head .more:hover{color:var(--color-accent-2)}.stream-note{padding-top:var(--space-sm);color:var(--color-ink-2);max-width:52ch;font-size:.9375rem;line-height:1.7}.stream-note a{text-decoration-color:var(--color-rule-2)}.pr-list{padding:var(--space-xs) 0 0;margin:0;list-style:none}.pr{gap:1px var(--space-sm);border-bottom:var(--rule-hair) solid var(--color-rule);grid-template-columns:minmax(0,1fr) auto;padding:7px 0;display:grid}.pr:first-child{border-top:var(--rule-hair) solid var(--color-rule)}.pr a{color:var(--color-ink);font-size:.9375rem;line-height:1.45;text-decoration:none}.pr a:hover{color:var(--color-accent-2)}.pr .meta{font-family:var(--font-ui);color:var(--color-muted);grid-column:1;font-size:.625rem}.pr .badge{grid-area:1/2;align-self:start}.project-list{margin:0;padding:0;list-style:none}.project{gap:1px var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule);grid-template-columns:minmax(0,1fr) auto;padding:9px 0;display:grid}.project:first-child{border-top:var(--rule-hair) solid var(--color-rule)}.project__name{font-family:var(--font-display);font-size:1rem;font-weight:600;line-height:1.35}.project__name a{text-decoration:none}.project__name a:hover{color:var(--color-accent-2)}.project__links{flex-direction:column;grid-area:1/2/span 2;align-items:flex-end;gap:3px;display:flex}.project__links a{font-family:var(--font-outlier);color:var(--color-muted);align-items:center;gap:5px;font-size:.625rem;text-decoration:none;display:inline-flex}.project__links a:hover{color:var(--color-accent-2)}.project__desc{color:var(--color-ink-2);grid-area:2/1;max-width:46ch;font-size:.875rem;line-height:1.55}.post-list{margin:0;padding:0;list-style:none}.post{gap:var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule);grid-template-columns:5.25rem minmax(0,1fr) auto;align-items:baseline;padding:8px 0;display:grid}.post:first-child{border-top:var(--rule-hair) solid var(--color-rule)}.post__date{font-family:var(--font-outlier);color:var(--color-muted);font-size:.6875rem}.post__title{font-size:1rem;line-height:1.45;text-decoration:none}.post__title:hover{color:var(--color-accent-2)}.post__cat{font-family:var(--font-ui);color:var(--color-muted);text-align:right;white-space:nowrap;font-size:.6875rem}@media (width<=60rem){.home{gap:var(--space-lg);padding-top:var(--space-lg);grid-template-columns:minmax(0,1fr)}.identity{gap:0 var(--space-md);grid-template-columns:56px minmax(0,1fr);align-items:center;display:grid;position:static}.identity__avatar{grid-row:1/span 2;margin-bottom:0}.identity__name{font-size:1.5rem}.identity__handle{margin-top:2px}.identity__note,.identity__facts,.identity__links{grid-column:1/-1}.identity__note{max-width:52ch}.stream{max-width:none}}@media (width<=44rem){.identity__facts{gap:0 var(--space-md);margin-top:var(--space-sm);border-top:var(--rule-hair) solid var(--color-rule);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.identity__facts>div{border-bottom:0;flex-direction:column;gap:1px;padding:6px 0;display:flex}.identity__facts dd{text-align:left}.post{gap:1px var(--space-sm);grid-template-columns:minmax(0,1fr) auto}.post__date{grid-column:1}.post__cat{grid-area:1/2}.post__title{grid-area:2/1/auto/-1}.project{grid-template-columns:minmax(0,1fr)}.project__links{flex-flow:wrap;grid-area:auto/1;align-items:center;margin-top:4px}}
