.email-btn[data-astro-cid-rpnzu7cg]{font:inherit;font-size:var(--fs-sm);line-height:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin:0;padding:0;transition:color .2s;display:inline-flex;position:relative}.email-btn[data-astro-cid-rpnzu7cg]:hover,.email-btn[data-astro-cid-rpnzu7cg]:focus-visible{color:var(--color-text);text-decoration:none}.email-btn__tip[data-astro-cid-rpnzu7cg]{white-space:nowrap;border-radius:var(--radius-sm,6px);background:var(--color-surface,#fff);border:1px solid var(--color-border);box-shadow:var(--shadow-lg,0 6px 20px #0000002e);font-size:var(--fs-xs,12px);color:var(--color-text,#111);font-family:var(--font-mono,monospace);z-index:30;padding:4px 10px;animation:.18s email-tip-in;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.email-btn__tip[data-astro-cid-rpnzu7cg][hidden]{display:none}@media (scripting:none){.email-btn[data-astro-cid-rpnzu7cg]{display:none}}.email-noscript[data-astro-cid-rpnzu7cg]{font-size:var(--fs-sm);color:var(--color-text-muted);padding-left:23px;line-height:1.6;display:block}.email-noscript__addr[data-astro-cid-rpnzu7cg]{font-family:var(--font-mono,monospace)}@keyframes email-tip-in{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--color-border);padding-block:var(--space-10) 0;margin-top:var(--space-12);background:0 0;overflow-x:clip}.footer__grid[data-astro-cid-jo6i4kqk]{gap:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border);grid-template-columns:2fr 1fr 1fr;display:grid}.footer__logo[data-astro-cid-jo6i4kqk]{align-items:center;gap:8px;display:inline-flex}.footer__brand-mark-wrap[data-astro-cid-jo6i4kqk]{margin:var(--space-3) 0;width:300px;color:var(--color-text);display:block}.footer__brand-mark-wrap[data-astro-cid-jo6i4kqk] svg[data-astro-cid-jo6i4kqk]{width:100%;height:auto;display:block}.footer__tag[data-astro-cid-jo6i4kqk]{margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--fs-sm);max-width:34ch;line-height:1.6}.footer__head[data-astro-cid-jo6i4kqk]{font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:var(--space-4);font-weight:600;display:block}.footer__col[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{gap:var(--space-2);list-style:none;display:grid}.footer__col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--color-text-muted);font-size:var(--fs-sm);align-items:center;gap:7px;display:inline-flex}.footer__col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--color-text);text-decoration:none}.footer__soon[data-astro-cid-jo6i4kqk]{color:var(--color-text-muted);font-size:var(--fs-sm);cursor:default;align-items:center;gap:7px;transition:color .2s;display:inline-flex;position:relative}.footer__soon[data-astro-cid-jo6i4kqk] svg[data-astro-cid-jo6i4kqk]{color:var(--color-text-muted)}.footer__soon[data-astro-cid-jo6i4kqk]:hover,.footer__soon[data-astro-cid-jo6i4kqk]:focus-within{color:var(--color-text)}.footer__soon[data-astro-cid-jo6i4kqk] svg[data-astro-cid-jo6i4kqk]{transition:color .2s}.footer__soon[data-astro-cid-jo6i4kqk]:hover svg[data-astro-cid-jo6i4kqk],.footer__soon[data-astro-cid-jo6i4kqk]:focus-within svg[data-astro-cid-jo6i4kqk]{color:var(--color-text)}.qr[data-astro-cid-jo6i4kqk]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:148px;box-shadow:var(--shadow-lg);z-index:20;opacity:0;pointer-events:none;visibility:hidden;flex-direction:column;align-items:center;gap:6px;padding:8px;transition:opacity .2s,transform .2s,visibility .2s;display:flex;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)translate(-6px)}.footer__soon[data-astro-cid-jo6i4kqk]:hover .qr[data-astro-cid-jo6i4kqk],.footer__soon[data-astro-cid-jo6i4kqk]:focus-within .qr[data-astro-cid-jo6i4kqk]{opacity:1;visibility:visible;transform:translateY(-50%)translate(0)}.qr__img[data-astro-cid-jo6i4kqk]{border-radius:var(--radius-sm);background:#fff;width:120px;height:120px}.qr__cap[data-astro-cid-jo6i4kqk]{font-size:var(--fs-xs);font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-text-muted)}.footer__bar[data-astro-cid-jo6i4kqk]{padding-top:var(--space-2);padding-bottom:var(--space-2);font-size:var(--fs-xs);color:var(--color-text-faint);justify-content:space-between;align-items:center;display:flex}.footer__top[data-astro-cid-jo6i4kqk]{color:var(--color-text-muted);align-items:center;gap:6px;display:inline-flex}.footer__top[data-astro-cid-jo6i4kqk]:hover{color:var(--color-primary);text-decoration:none}@media (width<=900px){.qr[data-astro-cid-jo6i4kqk]{top:auto;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(6px)}.footer__soon[data-astro-cid-jo6i4kqk]:hover .qr[data-astro-cid-jo6i4kqk],.footer__soon[data-astro-cid-jo6i4kqk]:focus-within .qr[data-astro-cid-jo6i4kqk]{transform:translate(-50%)translateY(0)}}@media (width<=768px){.footer__grid[data-astro-cid-jo6i4kqk]{gap:var(--space-6);grid-template-columns:1fr}.footer__bar[data-astro-cid-jo6i4kqk]{gap:var(--space-3);flex-direction:column;align-items:flex-start}}.cosmic-bg{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.cosmic-bg__layer{position:absolute;inset:0}.cosmic-bg__layer svg{width:100%;height:100%;display:block}.cosmic-bg__scrim{background:var(--color-bg);opacity:.34;pointer-events:none;position:absolute;inset:0}:root[data-theme=dark] .cosmic-bg__scrim{opacity:.3;background:#070b14}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .cosmic-bg__scrim{opacity:.3;background:#070b14}}:root[data-theme=light] .cosmic-bg{--c-strand-a:#1b365d;--c-strand-b:#2e5f95;--c-rung:#3b6fa8;--c-filament:#6e92c0;--c-star:#224a7a;--c-trail:#224a7a;--c-flow:#1f4a7a;--c-dust:#2e5f95;--c-node:#1b365d;--c-line:#6e92c0;--c-arc:#4a6fa5;--c-orbit:#5a7fad;--c-gal:#5a7fad}:root[data-theme=dark] .cosmic-bg{--c-strand-a:#cfe0ff;--c-strand-b:#8fb3e8;--c-rung:#a8c4ee;--c-filament:#5c7fb8;--c-star:#eaf2ff;--c-trail:#b9d2f7;--c-flow:#dcebff;--c-dust:#7c9bd0;--c-node:#eaf2ff;--c-line:#7c9bd0;--c-arc:#9fb8e0;--c-orbit:#9fb8e0;--c-gal:#9fb8e0}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .cosmic-bg{--c-strand-a:#1b365d;--c-strand-b:#2e5f95;--c-rung:#3b6fa8;--c-filament:#6e92c0;--c-star:#224a7a;--c-trail:#224a7a;--c-flow:#1f4a7a;--c-dust:#2e5f95;--c-node:#1b365d;--c-line:#6e92c0;--c-arc:#4a6fa5;--c-orbit:#5a7fad;--c-gal:#5a7fad}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .cosmic-bg{--c-strand-a:#cfe0ff;--c-strand-b:#8fb3e8;--c-rung:#a8c4ee;--c-filament:#5c7fb8;--c-star:#eaf2ff;--c-trail:#b9d2f7;--c-flow:#dcebff;--c-dust:#7c9bd0;--c-node:#eaf2ff;--c-line:#7c9bd0;--c-arc:#9fb8e0;--c-orbit:#9fb8e0;--c-gal:#9fb8e0}}:root[data-theme=light] .cosmic-bg{--orb-void-1:#f8f6ee;--orb-void-2:#e9e6d8;--orb-star:#2e5f95;--orb-star-op:.1;--orb-star-op-1:.18;--orb-star-op-2:.3;--orb-orbit:#9fb6d0;--orb-orbit-op:.32;--orb-planet:#4a6fa5;--orb-core:#c48b3c;--orb-meteor:#3b6fa8;--orb-vig:#dedac9;--orb-read:#f8f6ee;--orb-read-op:.55}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .cosmic-bg{--orb-void-1:#f8f6ee;--orb-void-2:#e9e6d8;--orb-star:#2e5f95;--orb-star-op:.1;--orb-star-op-1:.18;--orb-star-op-2:.3;--orb-orbit:#9fb6d0;--orb-orbit-op:.32;--orb-planet:#4a6fa5;--orb-core:#c48b3c;--orb-meteor:#3b6fa8;--orb-vig:#dedac9;--orb-read:#f8f6ee;--orb-read-op:.55}}:root[data-theme=light] .cosmic-bg{--wk-void-1:#f8f6ee;--wk-void-2:#e9e6d8;--wk-vig:#dedac9;--wk-read:#f8f6ee;--wk-fil-op:.16;--wk-node-op:.34;--wk-star-op:.09;--wk-star-op-1:.16;--wk-star-op-2:.28}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .cosmic-bg{--wk-void-1:#f8f6ee;--wk-void-2:#e9e6d8;--wk-vig:#dedac9;--wk-read:#f8f6ee;--wk-fil-op:.16;--wk-node-op:.34;--wk-star-op:.09;--wk-star-op-1:.16;--wk-star-op-2:.28}}:root[data-theme=light] .cosmic-bg{--rd-void-1:#f8f6ee;--rd-void-2:#e9e6d8;--rd-vig:#dedac9;--rd-read:#f8f6ee;--rd-arc-op:.13;--rd-mark-op:.2;--rd-star-op:.07;--rd-star-op-1:.12;--rd-star-op-2:.2}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .cosmic-bg{--rd-void-1:#f8f6ee;--rd-void-2:#e9e6d8;--rd-vig:#dedac9;--rd-read:#f8f6ee;--rd-arc-op:.13;--rd-mark-op:.2;--rd-star-op:.07;--rd-star-op-1:.12;--rd-star-op-2:.2}}:root[data-theme=light] .cosmic-bg{--blg-void-1:#f8f6ee;--blg-void-2:#e9e6d8;--blg-vig:#dedac9;--blg-read:#f8f6ee;--blg-arm-op:.13;--blg-leaf-op:.08;--blg-star-op:.07;--blg-star-op-1:.12;--blg-star-op-2:.2;--tl-void-1:#f8f6ee;--tl-void-2:#e9e6d8;--tl-vig:#dedac9;--tl-read:#f8f6ee;--tl-glow-op:.32;--tl-star-op:.06;--tl-star-op-1:.1;--tl-star-op-2:.18}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .cosmic-bg{--blg-void-1:#f8f6ee;--blg-void-2:#e9e6d8;--blg-vig:#dedac9;--blg-read:#f8f6ee;--blg-arm-op:.13;--blg-leaf-op:.08;--blg-star-op:.07;--blg-star-op-1:.12;--blg-star-op-2:.2;--tl-void-1:#f8f6ee;--tl-void-2:#e9e6d8;--tl-vig:#dedac9;--tl-read:#f8f6ee;--tl-glow-op:.32;--tl-star-op:.06;--tl-star-op-1:.1;--tl-star-op-2:.18}}:root[data-theme=dark] .cosmic-bg--about .cosmic-bg__scrim,:root[data-theme=light] .cosmic-bg--about .cosmic-bg__scrim,:root[data-theme=dark] .cosmic-bg--work .cosmic-bg__scrim,:root[data-theme=light] .cosmic-bg--work .cosmic-bg__scrim,:root[data-theme=dark] .cosmic-bg--reading .cosmic-bg__scrim,:root[data-theme=light] .cosmic-bg--reading .cosmic-bg__scrim,:root[data-theme=dark] .cosmic-bg--blog .cosmic-bg__scrim,:root[data-theme=light] .cosmic-bg--blog .cosmic-bg__scrim,:root[data-theme=dark] .cosmic-bg--tools .cosmic-bg__scrim,:root[data-theme=light] .cosmic-bg--tools .cosmic-bg__scrim{opacity:.12}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .cosmic-bg--about .cosmic-bg__scrim,:root:not([data-theme=light]) .cosmic-bg--work .cosmic-bg__scrim,:root:not([data-theme=light]) .cosmic-bg--reading .cosmic-bg__scrim,:root:not([data-theme=light]) .cosmic-bg--blog .cosmic-bg__scrim,:root:not([data-theme=light]) .cosmic-bg--tools .cosmic-bg__scrim{opacity:.12}}
