.prose pre:is(.astro-code,.shiki){background-color:var(--code-content-bg)!important}.prose pre:is(.astro-code,.shiki) span{background-color:#0000!important}.prose pre:is(.astro-code,.shiki) span[style*=--shiki-light]{color:var(--shiki-light)!important}:root[data-theme=dark] .prose pre:is(.astro-code,.shiki) span[style*=--shiki-dark]{color:var(--shiki-dark)!important}:root[data-theme=dark] .prose pre:is(.astro-code,.shiki){color:var(--shiki-dark,var(--text))!important}.prose .code-block{border:1px solid var(--code-border);background:var(--code-content-bg);border-radius:8px;margin:1.5em 0;position:relative;overflow:hidden}.prose .code-block pre{background:var(--code-content-bg);border:none;border-radius:0;margin:0}.prose pre:is(.astro-code,.shiki){counter-reset:line;--ln-width:2.5ch;--ln-gap:3ch;--code-pad-x:16px}.prose pre:is(.astro-code,.shiki):has(.line){padding-left:0}.prose pre:is(.astro-code,.shiki) .line{vertical-align:top;width:100%;padding-left:var(--code-pad-x);display:inline-block;position:relative}.prose pre:is(.astro-code,.shiki) .line:before{counter-increment:line;content:counter(line);width:var(--ln-width);min-width:var(--ln-width);text-align:right;margin-right:var(--ln-gap);box-sizing:border-box;line-height:inherit;color:var(--muted);opacity:.7;font-variant-numeric:tabular-nums;user-select:none;pointer-events:none;font-size:.85em;display:inline-block;position:static}body[data-code-line-numbers=off] .prose pre:is(.astro-code,.shiki) .line:before{content:none}body[data-code-line-numbers=off] .prose pre:is(.astro-code,.shiki) .line{padding-left:0}@supports (color:color-mix(in oklab, black, white)){.prose pre:is(.astro-code,.shiki) .line:before{color:color-mix(in oklab, var(--muted) 70%, var(--code-content-bg));opacity:1}}.prose .code-block .code-toolbar{background:var(--code-header-bg);border-bottom:1px solid var(--code-border);height:38px;font-family:var(--font-mono);color:var(--muted);justify-content:space-between;align-items:center;padding:0 16px;font-size:13px;display:flex}.prose .code-block .code-lang{text-transform:uppercase;letter-spacing:.02em;color:var(--code-text);align-items:center;gap:8px;font-weight:600;display:inline-flex}.prose .code-block .code-meta{align-items:center;gap:8px;display:flex}.prose .code-block .code-info{color:var(--faint)}.prose .code-block .code-separator{color:var(--faint);user-select:none}.prose .code-block .code-copy{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:color .2s,background-color .2s;display:inline-flex}.prose .code-block .code-copy:disabled{cursor:default;opacity:.6}.prose .code-block .code-copy:hover:not(:disabled){color:var(--text);background:var(--code-action-hover-bg)}.prose .code-block .code-copy:focus-visible{outline-offset:2px;outline:2px solid}.prose .code-block .code-copy svg{width:14px;height:14px;display:block}.prose .code-block .code-copy .icon-check,.prose .code-block .code-copy[data-state=copied] .icon-copy{display:none}.prose .code-block .code-copy[data-state=copied] .icon-check{display:block}.prose .code-block .code-lang-icon{width:16px;height:16px;color:var(--muted);opacity:.8;flex:none;transition:color .2s,opacity .2s,filter .2s;display:inline-block}.prose .code-block .code-lang-icon.is-colored{color:inherit;filter:grayscale();opacity:.65}.prose .code-block .code-toolbar:hover .code-lang-icon:not(.is-colored){color:var(--code-text);opacity:1}.prose .code-block .code-toolbar:hover .code-lang-icon.is-colored{filter:grayscale(0%);opacity:1}@media (width<=640px){.prose .code-block .code-toolbar{flex-wrap:wrap;row-gap:6px;height:auto;padding:8px 12px}.prose .code-block .code-lang{font-size:12px}.prose .code-block .code-meta{margin-left:auto}.prose .code-block .code-info,.prose .code-block .code-separator{display:none}}@media (prefers-reduced-motion:reduce){.prose .code-block .code-lang-icon{transition:none}}.about-header{text-align:center;justify-items:center;gap:18px;margin:0 auto 42px;display:grid}.about-header__avatar{border:1px solid var(--border);background:var(--code-content-bg);border-radius:50%;width:120px;height:120px;overflow:hidden}.about-header__avatar img{object-fit:cover;width:100%;height:100%;display:block}.about-header__text{gap:6px;display:grid}.about-header .page-title,.about-header .page-subtitle{margin:0}.about-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:0;display:grid}.about-card{border:1px solid var(--border);background:var(--panel);min-width:0;min-height:220px;color:var(--text);text-align:center;overflow-wrap:anywhere;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;padding:32px 24px;transition:border-color .2s,transform .2s;animation:.45s both about-card-in;display:flex;position:relative;overflow:hidden}.about-card:nth-child(2){animation-delay:40ms}.about-card:nth-child(3){animation-delay:80ms}.about-card:nth-child(4){animation-delay:.12s}.about-card:hover,.about-card:focus-within{border-color:var(--muted);transform:translateY(-2px)}.about-card h2{z-index:1;font-family:var(--font-readable);margin:0 0 10px;font-size:17px;line-height:1.4}.about-card p{z-index:1;color:var(--muted);margin:0;line-height:1.75}.about-card a{z-index:1;color:var(--text);text-underline-offset:3px;text-decoration-thickness:1px}.about-card--intro,.about-card--contact,.about-card--stats{grid-column:1/-1}.about-card--intro h2{margin-bottom:6px;font-size:30px}.about-card__eyebrow{font-size:13px;color:var(--faint)!important;margin-bottom:8px!important}.about-card__decor{opacity:.1;color:var(--text);pointer-events:none;position:absolute;bottom:16px;right:18px}.about-card h2 span{color:var(--muted);font:500 13px var(--font-mono)}.about-card dl{z-index:1;gap:14px;width:100%;margin:0;display:grid}.about-card dl div{justify-content:center;align-items:baseline;gap:10px;display:flex}.about-card dt{color:var(--faint)}.about-card dd{color:var(--text);margin:0;font-size:22px;font-weight:700}.about-card--specialties strong{z-index:1;color:var(--text);margin-top:12px;font-size:24px;display:inline-block}.about-contact-links{z-index:1;flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.about-contact-links a{border:1px solid var(--border);background:var(--code-content-bg);border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;display:inline-flex}.about-contact-links a:hover{background:var(--panel)}.about-contact-links .icon{width:22px;height:22px}.about-card--stats{align-items:stretch}.about-card--stats h2,.about-card--stats>p{align-self:center}.about-card--stats dl{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;width:100%;margin:4px 0 0;display:grid}.about-card--stats dl div{border:1px solid var(--border);background:var(--code-content-bg);text-align:center;border-radius:14px;gap:6px;min-width:0;padding:14px 10px;display:grid}.about-card--stats dt{color:var(--faint);font-size:13px}.about-card--stats dd{margin:0;font-size:22px;font-weight:600}.about-body{font-family:var(--font-copy);margin:34px 0 0;font-size:16px;line-height:1.7}.about-body>:first-child{margin-top:0}.about-body>:last-child{margin-bottom:0}.about-body p,.about-body ul,.about-body ol{margin:12px 0}.about-body .code-block pre{font-size:15px}.about-body .code-block pre code{font-size:.92em}.about-body h2,.about-body h3{font-family:var(--font-readable);margin:38px 0 10px}.about-body h2{font-size:18px}.about-body h3{font-size:16px}.about-section{margin-top:34px}.about-section-title{margin-top:0}.friend-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 0;padding:0;list-style:none;display:grid}.friend-card{border:1px solid var(--border);background:var(--code-content-bg);min-height:84px;color:var(--text);border-radius:8px;align-items:center;gap:14px;padding:12px;display:flex}.friend-card:hover{background:var(--panel);border-color:var(--muted)}.friend-card__avatar{border:1px solid var(--border);background:var(--panel);width:56px;height:56px;color:var(--muted);border-radius:50%;flex:0 0 56px;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.friend-card__avatar img{object-fit:cover;width:100%;height:100%}.friend-card__body{gap:4px;min-width:0;display:grid}.friend-card__name{font-size:16px;font-weight:600;font-family:var(--font-readable)}.friend-card__description{color:var(--muted);font-size:14px;line-height:1.6}.about-site-info{border:1px solid var(--border);background:var(--code-content-bg);border-radius:8px;margin:16px 0;padding:12px 44px 12px 12px;position:relative}.about-site-info__copy{border:1px solid var(--border);background:var(--panel);width:30px;height:30px;color:var(--muted);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:8px;right:8px}.about-site-info__copy-icon,.about-site-info__check-icon{width:15px;height:15px}.about-site-info__check-icon{display:none}.about-site-info__copy:disabled{cursor:default;opacity:.62}.about-site-info__copy:hover:not(:disabled),.about-site-info__copy[data-state=copied]{border-color:var(--muted);background:var(--panel);color:var(--text)}.about-site-info__copy:focus-visible{outline-offset:2px;outline:2px solid}.about-site-info__copy[data-state=copied] .about-site-info__copy-icon{display:none}.about-site-info__copy[data-state=copied] .about-site-info__check-icon{display:block}.about-site-info__fields{gap:7px;margin:0;display:grid}.about-site-info__field{grid-template-columns:42px minmax(0,1fr);align-items:start;gap:10px;min-width:0;display:grid}.about-site-info__field-label,.about-site-info__field-value{margin:0}.about-site-info__field-label{color:var(--faint);font-size:13px;line-height:1.6}.about-site-info__field-value{min-width:0;color:var(--muted);font-size:14px;line-height:1.6;font-family:var(--font-copy);overflow-wrap:anywhere}.about-site-info__field-value a{color:var(--text);text-underline-offset:3px;text-decoration-thickness:1px}.qa-list{gap:18px;margin-top:12px;display:grid}.qa-item{padding:0}.qa-item>summary{cursor:pointer;list-style:none}.qa-item>summary::-webkit-details-marker{display:none}.qa-question{color:var(--text);font-size:16px;font-weight:400;line-height:1.75;font-family:var(--font-copy);align-items:center;gap:10px;margin:0;display:flex}.qa-icon{border:1px solid var(--border);width:22px;height:22px;color:var(--muted);border-radius:4px;flex:0 0 22px;justify-content:center;align-items:center;font-size:12px;line-height:1;display:inline-flex}.qa-answer{color:var(--muted);font-size:16px;line-height:1.75;font-family:var(--font-copy);grid-template-columns:22px minmax(0,1fr);align-items:start;column-gap:10px;margin:12px 0 0;display:grid}.qa-answer:before{content:"A";border:1px solid var(--border);background:var(--code-content-bg);width:22px;height:22px;color:var(--muted);border-radius:4px;justify-content:center;align-items:center;margin-top:3px;font-size:12px;line-height:1;display:inline-flex}.qa-answer>*{grid-column:2}.qa-answer>:first-child{margin-top:0}.qa-answer>:last-child{margin-bottom:0}.contact-block{margin-top:12px}.contact-list{flex-wrap:wrap;gap:10px 34px;margin:0;padding:0;list-style:none;display:flex}.contact-list li{color:var(--text);font-size:16px;line-height:1.75;font-family:var(--font-copy);flex-wrap:nowrap;align-items:center;gap:6px;display:inline-flex}.contact-link-head{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.contact-icon{width:16px;height:16px;display:block}@keyframes about-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.about-card--contact,.about-card--stats{grid-column:1/-1}.friend-list{grid-template-columns:1fr}}@media (width<=560px){.about-header{gap:14px;margin-bottom:30px}.about-header__avatar{width:100px;height:100px}.about-cards{gap:16px}.about-card{min-height:220px;padding:32px 24px}.about-card--intro,.about-card--contact,.about-card--stats{grid-column:1/-1}.about-card--intro h2{font-size:25px}.about-contact-links a{width:45px;height:45px}.about-card--stats dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.about-card{transition:none;animation:none}.about-card:hover,.about-card:focus-within{transform:none}}
