:root{color-scheme:light;--surface:#f7f7f2;--surface-subtle:#eeeee8;--ink:#292b2b;--ink-secondary:#606663;--ink-faint:#767b77;--line:#e7e8e4;--link:#303d38;--link-hover:#101c16;--selection:#dce6dc;--dot:#dcdfd9;--dock:oklab(98.9998% -.0001 .001/.68);--dock-ink:lab(48.9698% .2748 1.4969);--dock-active-ink:lab(10.6818% .5292 1.6301);--dock-active:lab(94.2127% -.0656 .7584);--dock-line:lab(89.5742% -.0373 .9518);--dock-rule:oklab(23% .0015 .0042/.16);--dock-shadow:0 8px 30px #0000001f;--sans:inter, "Geist", -apple-system, blinkmacsystemfont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono:"SFMono-Regular", consolas, monospace;--text-prose:1.0625rem;--ease-swift:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-ui:.2s;--duration-object:.35s;--space-section:68px;--shadow-small:0 5px 10px #0000001f;--shadow-medium:0 8px 30px #0000001f;--shadow-large:0 30px 60px #0000001f}:root[data-theme=dark]{color-scheme:dark;--surface:#11110f;--surface-subtle:#1b1b18;--ink:#eeede7;--ink-secondary:#a4a39a;--ink-faint:#77776f;--line:#22221e;--link:#d6e1d6;--link-hover:#fff;--selection:#354b3a;--dot:#303b30;--dock:#141412e8;--dock-ink:var(--ink-secondary);--dock-active-ink:var(--ink);--dock-active:var(--surface-subtle);--dock-line:var(--line);--dock-rule:var(--line);--dock-shadow:0 4px 28px #00000045}*{box-sizing:border-box}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}html{scroll-behavior:smooth;scrollbar-gutter:stable;scroll-padding-top:32px}body{background:var(--surface);color:var(--ink);font:16px/1.8 var(--sans);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--selection);color:var(--ink)}a{color:inherit;text-underline-offset:4px;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:hover{color:var(--link-hover)}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--ink-secondary);outline-offset:5px;border-radius:4px}img{max-width:100%;height:auto}h1,h2,h3,h4{text-wrap:balance;overflow-wrap:break-word;color:var(--ink)}h1{letter-spacing:-.03em;margin:0;font-size:30px;font-weight:600;line-height:1.4}h2{font-size:19px;font-weight:550;line-height:1.6}p{text-wrap:pretty}time{font-variant-numeric:tabular-nums}.skip-link{z-index:20;background:var(--ink);color:var(--surface);border-radius:6px;padding:12px 20px;position:fixed;top:-100px;left:24px}.skip-link:focus{top:16px}.page-frame{background:var(--surface);border-inline:1px dashed var(--line);max-width:600px;margin:0 auto;padding:56px 24px 0}main{outline:none;min-height:55vh;padding-top:8px}.page-header{margin:0 0 40px;padding-top:16px}.page-header p{color:var(--ink-secondary);margin:14px 0 0;font-size:14px}.text-link{color:var(--link);text-decoration:underline;text-decoration-color:var(--ink-faint)}.text-link:hover{text-decoration-color:var(--ink)}.site-footer{border-top:1px solid var(--line);color:var(--ink-faint);margin:80px -24px 0;padding:36px 24px 112px;font-size:12px}.footer-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.footer-columns>div{flex-direction:column;align-items:flex-start;gap:7px;display:flex}.footer-columns h2{color:var(--ink-faint);margin:0 0 10px;font-size:13px;font-weight:400}.footer-columns a{transition:color .15s}.footer-tree ul{flex-direction:column;align-self:stretch;margin:0;padding:0;list-style:none;display:flex}.footer-tree li{align-items:center;min-height:28px;padding-left:18px;display:flex;position:relative}.footer-tree li:before,.footer-tree li:after{content:"";background:color-mix(in oklab, var(--ink-faint) 22%, transparent);position:absolute;left:0}.footer-tree li:before{width:1px;top:0;bottom:0}.footer-tree li:last-child:before{height:50%;bottom:auto}.footer-tree li:after{width:10px;height:1px;top:50%}.footer-external-mark{vertical-align:-.125em;opacity:.6;margin-inline-start:.08em;transition:opacity .15s;display:inline-block}.footer-tree a:focus-visible .footer-external-mark{opacity:.95}@media (hover:hover) and (pointer:fine){.footer-external-mark{transition:opacity .15s,transform .18s}.footer-tree a:hover .footer-external-mark{opacity:.95;transform:translate(1.5px,-1.5px)}}@media (prefers-reduced-motion:reduce){.footer-tree a:hover .footer-external-mark{transform:none}}.footer-attribution{flex-direction:column;gap:7px;display:flex}.footer-details{margin-top:24px}.footer-identity p{margin:0}.footer-copyright{font-size:13px;line-height:1.8}.footer-credit{font-size:10px}.footer-credit a{text-decoration:underline;text-decoration-color:var(--line)}.footer-clock,.footer-location{font:11px/1.5 var(--mono);align-items:center;gap:10px;display:flex}.footer-location{margin-top:6px}.footer-clock span,.footer-clock time,.footer-location span{display:block}.footer-clock time{font-variant-numeric:tabular-nums;min-block-size:1.5em;min-inline-size:5ch}.footer-grid{margin-top:3px;font-size:10px}.dock-avatar{object-fit:cover;filter:grayscale();border-radius:50%;width:24px;height:24px;display:block;overflow:hidden}.dock{z-index:10;bottom:max(18px, env(safe-area-inset-bottom));border:1px solid var(--dock-line);background:var(--dock);box-shadow:var(--dock-shadow);backdrop-filter:blur(12px);border-radius:40px;align-items:center;gap:4px;padding:6px 10px;transition:border-color .18s,box-shadow .18s,background-color .18s;display:flex;position:fixed;left:50%;transform:translate(-50%)}.dock [aria-current]{color:var(--dock-active-ink);background:var(--dock-active)}.dock-indicator{background:var(--dock-active);height:38px;box-shadow:inset 0 0 0 1px var(--dock-line);pointer-events:none;opacity:0;border-radius:50%;position:absolute;top:6px;left:0}.dock[data-ready] .dock-indicator{opacity:1;transition:transform var(--duration-object) var(--ease-swift), opacity var(--duration-fast)}.dock[data-ready]:not([data-pointer]) .dock-indicator{transition:none}.dock[data-ready] [aria-current]{background:0 0}.dock-label kbd{font:9px var(--mono);opacity:.6}.dock svg{width:20px;height:20px}.dock-divider{background:var(--dock-rule);width:1px;height:22px;margin-inline:3px}.dock-label{background:var(--ink);color:var(--surface);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s, transform var(--duration-ui) var(--ease-swift);border-radius:6px;align-items:center;gap:7px;padding:5px 8px;font-size:11px;display:flex;position:absolute;bottom:calc(100% + 13px);left:50%;transform:translate(-50%,4px)scale(.96)}.dock a:focus-visible .dock-label,.dock button:focus-visible .dock-label{opacity:1;transform:translate(-50%)scale(1)}@media (hover:hover) and (pointer:fine){.dock a:hover,.dock button:hover{color:var(--dock-active-ink)}.dock a:hover .dock-label,.dock button:hover .dock-label{opacity:1;transition-delay:.15s;transform:translate(-50%)scale(1)}.dock:hover{border-color:color-mix(in srgb, var(--dock-ink) 42%, var(--dock-line));box-shadow:0 10px 34px #0000001f,0 1px 5px #0000000d}}.moon-icon,[data-theme=dark] .sun-icon{display:none}[data-theme=dark] .moon-icon{display:block}.section-heading{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:18px;display:flex}.section-heading h2{color:var(--ink-faint);align-items:center;gap:10px;margin:0;font-size:12px;font-weight:400;display:flex}.section-heading .view-arrow{opacity:0;margin-left:5px;transition:opacity .15s,transform .18s;display:inline-block;transform:translate(-4px)}.section-heading a:hover .view-arrow,.section-heading a:focus-visible .view-arrow{opacity:1;transform:translate(0)}.post-list{margin:0;padding:0;list-style:none}.post-link{padding:13px 0;display:block}.post-title-row{justify-content:space-between;align-items:baseline;gap:24px;display:flex}.post-title-row h2,.post-title-row h3,.post-title-row h4{margin:0;font-size:15px;font-weight:400;line-height:1.8}.archive-year{grid-template-columns:62px minmax(0,1fr);gap:24px;margin-top:36px;display:grid}.archive-year>h2{color:var(--ink-secondary);margin:13px 0 0;font-size:14px;font-weight:400}.article-header{margin-bottom:40px}.article-back{color:var(--ink-secondary);align-items:center;gap:8px;min-height:32px;margin-bottom:28px;font-size:13px;display:inline-flex}.article-back svg{width:15px;height:15px}.article-header h1{margin-bottom:18px;font-size:2rem;line-height:1.5}.article-meta{color:var(--ink-secondary);flex-wrap:wrap;gap:8px 24px;font-size:13px;display:flex}.prose{font-size:var(--text-prose);overflow-wrap:break-word;max-width:70ch;line-height:1.95}.prose p{margin:0 0 1.4em}.prose h2{letter-spacing:-.015em;margin:2.3em 0 .8em;font-size:1.35em;font-weight:650}.prose h3{margin:2em 0 .7em;font-size:1.12em;font-weight:600}.prose h4{margin:1.6em 0 .6em;font-size:1em}.post-link:hover h2,.post-link:hover h3,.post-link:hover h4{text-decoration:underline;text-decoration-color:var(--ink-faint)}.prose ul,.prose ol{margin:1.2em 0 1.6em;padding-left:1.5em}.prose li{margin:.45em 0;padding-left:.2em}.prose img{border-radius:4px;margin:28px auto;display:block}.prose iframe,.prose video{max-width:100%}.prose blockquote{color:var(--ink-secondary);border-left:1px solid var(--line);margin:1.8em 0;padding:0 0 0 1.2em}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}code{font-family:var(--mono);font-size:.85em}:not(pre)>code{background:var(--surface-subtle);border-radius:4px;padding:2px 5px}pre{font:13px/1.7 var(--mono);border-radius:8px;margin:1.5em 0;padding:24px;overflow-x:auto;background:var(--surface-subtle)!important}pre code{font-size:inherit}table{border-collapse:collapse;max-width:100%;margin:1.5em 0;font-size:.9em;display:block;overflow-x:auto}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 14px}th{background:var(--surface-subtle);font-weight:600}.toc{border:1px solid var(--line);border-radius:8px;margin-bottom:40px;padding:14px 20px;font-size:14px}.toc summary{cursor:pointer;color:var(--ink-secondary)}.toc ul{margin:12px 0 0;padding:4px 0;list-style:none}.toc li{padding:3px 0}.article-end{border-top:1px solid var(--line);margin-top:48px;padding-top:24px}.article-end .article-back{margin:0}.code-block{position:relative}.code-block pre{padding-top:52px}.copy-code{background:var(--surface);color:var(--ink-secondary);border:1px solid var(--line);border-radius:5px;padding:7px 10px;font-size:12px;position:absolute;top:8px;right:8px}.copy-code:hover{color:var(--link);border-color:var(--link)}.quote{margin:32px 0;padding:0}.quote p{margin-bottom:12px;font-size:17px;line-height:1.9}.prose li>p{margin:.5em 0}.prose blockquote p:last-child{margin-bottom:0}.quote footer{color:var(--ink-secondary);font-size:13px}.back{color:var(--ink-secondary);margin-top:32px;font-size:14px}@media (width<=800px){.site-header{padding:22px 24px}.top-nav{gap:22px}.page-frame{max-width:680px;margin:0 auto;padding-inline:28px}}@media (width<=600px){.site-header{padding:18px 18px 12px}.site-brand img{width:26px;height:26px}.top-nav{gap:20px}.top-nav a{font-size:13px}.top-nav .header-icon{display:none}.page-frame{border:0;margin-top:0;padding-inline:24px}main{padding-top:20px}h1{font-size:26px}.page-header{margin-bottom:32px;padding-top:0}.article-header h1{font-size:26px}.prose{font-size:16px;line-height:1.95}.post-title-row{gap:14px}.post-title-row h2,.post-title-row h3{font-size:14px}.post-title-row time{font-size:11px}.archive-year{grid-template-columns:42px minmax(0,1fr);gap:16px}.site-footer{margin-top:56px;padding-bottom:124px}.dock{bottom:max(18px, env(safe-area-inset-bottom));gap:3px;padding:7px 9px}.dock a,.dock button{width:40px;height:40px}.dock svg{width:19px;height:19px}}@media (width<=380px){.page-frame{padding-inline:20px}.top-nav{gap:16px}.post-title-row{flex-wrap:wrap;gap:2px}.post-title-row h2,.post-title-row h3{flex-basis:100%}.archive-year{display:block}.archive-year>h2{margin-bottom:8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.section-marker{font-family:var(--mono)}.section-number{font:10px/18px var(--mono);border:1px solid var(--line);align-items:center;padding-left:5px;display:inline-flex}.section-number:after{content:"";background:repeating-linear-gradient(130deg, transparent 0 2px, var(--ink-faint) 2px 3px);opacity:.6;width:12px;height:18px;margin-left:5px}.post-list-illustrated li{border-top:1px solid var(--line);transition:opacity var(--duration-ui) var(--ease-swift)}.post-list-illustrated .post-link{align-items:center;gap:12px;padding:8px 0;display:flex}.post-list-illustrated .post-title-row{flex:1;align-items:center;gap:12px;min-width:0}.post-leader{opacity:.35;min-width:8px;height:1px;transition:opacity var(--duration-ui);background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--ink-faint) 50%, transparent) 0 1px, transparent 1px 6px);flex:1 0}.post-art{border:1px solid var(--line);background-color:var(--surface);isolation:isolate;filter:brightness(.65);width:64px;height:44px;transition:transform var(--duration-object) var(--ease-swift), filter .22s, box-shadow .22s;border-radius:2px;flex-shrink:0;display:block;position:relative;overflow:hidden}.post-art:before,.post-art:after{content:"";z-index:-1;border:1px solid var(--line);background:var(--surface);transition:transform var(--duration-object) var(--ease-swift);position:absolute;inset:1px}.post-art:before{transform:rotate(-3deg)translate(-2px,1px)}.post-art:after{transform:rotate(2deg)translate(2px,1px)}.post-art span{background-color:var(--ink);background-image:repeating-linear-gradient(135deg, var(--surface) 0 4px, transparent 4px 9px);height:100%;display:block;position:relative}.post-art span:after{content:"";background:repeating-conic-gradient(var(--surface) 0 25%, var(--ink) 0 50%) 0 / 4px 4px;opacity:.24;pointer-events:none;position:absolute;inset:0}.post-art-1 span{background-image:conic-gradient(from 45deg, var(--surface) 0 25%, transparent 0 50%, var(--surface) 0 75%, transparent 0);background-size:20px 20px;transform:rotate(45deg)scale(1.8)}.post-art-2 span{background-image:conic-gradient(from 30deg at 50% 75%, transparent 0 300deg, var(--surface) 0);background-size:20px 18px}.post-art-3 span{background-image:repeating-linear-gradient(90deg, var(--surface) 0 3px, transparent 3px 8px)}.post-art-4 span{background-image:linear-gradient(var(--surface) 2px, transparent 2px), linear-gradient(90deg, var(--surface) 2px, transparent 2px);background-size:12px 12px}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}@media (hover:hover) and (pointer:fine){.post-list-illustrated:hover li:not(:hover,:focus-within),.post-list-illustrated:focus-within li:not(:focus-within){opacity:.42}.post-list-illustrated .post-link:hover .post-art{filter:brightness()contrast(1.18);box-shadow:var(--shadow-small);transform:translateY(-2px)rotate(-1deg)scale(1.025)}.post-link:hover .post-art:before{transform:rotate(-7deg)translate(-4px,1px)}.post-link:hover .post-art:after{transform:rotate(5deg)translate(4px,1px)}.post-list-illustrated .post-link:hover :is(h2,h3,h4){text-decoration-color:currentColor}.post-list-illustrated .post-link:hover .post-leader{opacity:1;background-position:5px 0}}@media (width<=800px){.page-frame{padding-top:56px;max-width:600px;padding-inline:24px}}@media (width<=600px){.page-frame{padding-top:32px;border-inline:1px dashed var(--line);max-width:calc(100% - 24px);padding-inline:20px}.site-footer{margin-inline:-20px;padding-inline:20px}.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}.footer-columns>.footer-identity{display:contents}.footer-tree{grid-row:1}.footer-attribution{grid-area:2/1;align-self:center}.footer-details{grid-area:2/2;margin-top:12px}.post-list-illustrated .post-title-row{gap:8px}.post-list-illustrated :is(h2,h3,h4){font-size:13px}.post-art{width:48px;height:34px}.post-leader{display:none}.dock a,.dock button{width:44px;height:44px}.dock-indicator{height:44px;top:7px}:root{--space-section:48px}}@media (prefers-reduced-motion:no-preference){.home-section,.project-card,.writing-year,.prose>:is(p,h2,h3,ul,ol,blockquote,pre,figure){transition:opacity var(--duration-object) var(--ease-swift), transform var(--duration-object) var(--ease-swift)}[data-reveal]{opacity:0;transform:translateY(6px)}}[data-theme-changing] *,[data-theme-changing] :before,[data-theme-changing] :after{transition:none!important}.footer-tree li>*{flex:1;min-width:0}.footer-clock svg,.footer-location svg{opacity:.65;flex:none}.dock a,.dock button{width:38px;height:38px;color:var(--dock-ink);background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .15s;display:flex;position:relative}.section-heading a{color:var(--ink-secondary);padding:6px 0;font-size:12px}.post-title-row time{color:var(--ink-secondary);flex-shrink:0;font-size:12px;font-style:italic}.prose a,.event-text a{color:var(--link);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--link) 35%, transparent)}.toc a{color:var(--ink-secondary);border-left:1px solid var(--line);transition:color var(--duration-fast), border-color var(--duration-fast);padding-left:12px;display:block}.back a,.quote footer a{color:var(--link)}.footer-columns a:hover,.footer-tree a:focus-visible{color:var(--ink)}.section-heading a:hover{text-decoration:underline}.prose a:hover,.event-text a:hover{text-decoration-color:currentColor}.toc a[aria-current]{color:var(--ink);border-color:var(--ink)}.toc a:hover{color:var(--link)}.post-list-illustrated :is(h2,h3,h4){white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;font-size:14px;overflow:hidden}.post-list-illustrated time{font:11px/1.5 var(--sans);color:var(--ink-faint)}@media (prefers-reduced-motion:reduce){.post-link:hover .post-art,.post-link:hover .post-art:before,.post-link:hover .post-art:after,.project-card:hover,.intro-spark:hover,.intro-spark:hover i{transform:none!important}}.dock .dock-avatar svg{width:100%;height:100%}[data-astro-cid-acpyfftr][data-preview-trigger]{flex:none}button[data-astro-cid-acpyfftr]{color:inherit;font:inherit;text-align:left;background:0 0;border:0;padding:0;transition:color .15s}button[data-astro-cid-acpyfftr]:is(:hover,:focus-visible,[aria-expanded=true]){color:var(--ink)}.contact-card[data-astro-cid-acpyfftr]{z-index:20;border:1px solid var(--line);background:var(--surface-subtle);max-width:calc(100vw - 24px);color:var(--ink-faint);box-shadow:var(--shadow-medium);font:12px/1.5 var(--sans);opacity:1;transform-origin:bottom;transition:opacity var(--duration-ui) var(--ease-swift), transform var(--duration-ui) var(--ease-swift), display var(--duration-ui) allow-discrete, overlay var(--duration-ui) allow-discrete;border-radius:3px;margin:0;padding:10px 12px;position:fixed;inset:auto;overflow:visible;transform:none}.contact-card[data-astro-cid-acpyfftr]:after{content:"";position:absolute;inset:100% 0 -12px}.contact-card[data-astro-cid-acpyfftr]:not(:popover-open){opacity:0;transform:translateY(4px)scale(.96)}@starting-style{.contact-card[data-astro-cid-acpyfftr]:popover-open{opacity:0;transform:translateY(4px)scale(.96)}}.email-card[data-astro-cid-acpyfftr],.wechat-card[data-astro-cid-acpyfftr]{background:#faf9f5;border:0;border-radius:8px;padding:0;box-shadow:0 12px 36px #0003,0 1px 3px #0002}.email-card[data-astro-cid-acpyfftr]{width:256px}.wechat-card[data-astro-cid-acpyfftr]{width:164px}.wechat-card[data-astro-cid-acpyfftr] a[data-astro-cid-acpyfftr]{border-radius:inherit;display:block}.email-card[data-astro-cid-acpyfftr] img[data-astro-cid-acpyfftr],.wechat-card[data-astro-cid-acpyfftr] img[data-astro-cid-acpyfftr]{border-radius:inherit;width:100%;height:auto;display:block}.github-card[data-astro-cid-acpyfftr]{width:258px;min-height:108px}.contrib-grid[data-astro-cid-acpyfftr]{grid-template-rows:repeat(7,7px);grid-template-columns:repeat(26,minmax(0,1fr));grid-auto-flow:column;gap:2px;display:grid}.contrib-grid[data-astro-cid-acpyfftr] i[data-astro-cid-acpyfftr]{background:color-mix(in oklab, var(--ink) 8%, transparent);border-radius:2px;display:block}.contrib-grid[data-astro-cid-acpyfftr] i[data-astro-cid-acpyfftr][data-level="1"]{background:color-mix(in oklab, var(--ink) 30%, transparent)}.contrib-grid[data-astro-cid-acpyfftr] i[data-astro-cid-acpyfftr][data-level="2"]{background:color-mix(in oklab, var(--ink) 45%, transparent)}.contrib-grid[data-astro-cid-acpyfftr] i[data-astro-cid-acpyfftr][data-level="3"]{background:color-mix(in oklab, var(--ink) 65%, transparent)}.contrib-grid[data-astro-cid-acpyfftr] i[data-astro-cid-acpyfftr][data-level="4"]{background:color-mix(in oklab, var(--ink) 90%, transparent)}.contrib-grid[data-astro-cid-acpyfftr] i[data-astro-cid-acpyfftr][data-level="-1"]{visibility:hidden}.github-card[data-astro-cid-acpyfftr]:popover-open[data-loaded] .contrib-grid[data-astro-cid-acpyfftr] i[data-astro-cid-acpyfftr]{animation:.48s cubic-bezier(.2,.8,.2,1) backwards cell-in;animation-delay:calc(var(--cell-index) * 2ms)}.github-stats[data-astro-cid-acpyfftr]{border-top:1px solid var(--line);white-space:nowrap;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:8px;display:flex}.github-stats[data-astro-cid-acpyfftr] b{font-family:var(--mono);color:var(--ink);font-weight:500}@keyframes cell-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.contact-card[data-astro-cid-acpyfftr]{transition:none}.github-card[data-astro-cid-acpyfftr]:popover-open .contrib-grid[data-astro-cid-acpyfftr] i[data-astro-cid-acpyfftr]{animation:none}}
