.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.footer-inner[data-astro-cid-lv5damgc]{justify-content:flex-start;align-items:center;gap:var(--space-5);max-width:var(--content-width-wide);padding:var(--space-5);font-size:var(--text-sm);color:var(--color-text-faint);margin-inline:auto;display:flex}.footer-inner[data-astro-cid-lv5damgc] a[data-astro-cid-lv5damgc]{color:var(--color-text-muted)}.footer-inner[data-astro-cid-lv5damgc] a[data-astro-cid-lv5damgc]:hover{color:var(--color-accent)}.brand-corner[data-astro-cid-bsspqklq],.nav-corner[data-astro-cid-bsspqklq]{--margin:var(--space-5);--inset-x:calc(var(--margin) + mod(50% - var(--margin), var(--field-cell)));--inset-y:calc(var(--margin) + mod(50svh - var(--margin), var(--field-cell)));z-index:20}.brand-corner[data-astro-cid-bsspqklq]{top:var(--inset-y);left:var(--inset-x);position:absolute}.nav-corner[data-astro-cid-bsspqklq]{bottom:var(--inset-y);right:var(--inset-x);position:fixed}.brand[data-astro-cid-bsspqklq]{width:round(up, calc(var(--brand-chars) * 1ch + 2 * var(--space-3)), var(--field-cell));line-height:var(--field-cell);text-align:center;border-radius:var(--radius-md);background:var(--color-bg);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text);font-weight:600;display:block}.brand[data-astro-cid-bsspqklq] span[data-astro-cid-bsspqklq]{color:var(--color-accent)}.nav-links[data-astro-cid-bsspqklq]{min-width:calc(var(--field-cell) * 3);padding:0 var(--space-3);border-radius:var(--radius-md);background:var(--color-bg);flex-direction:column;align-items:flex-end;margin:0;list-style:none;display:flex}.nav-links[data-astro-cid-bsspqklq] a[data-astro-cid-bsspqklq]{line-height:var(--field-cell);font-size:var(--text-sm);color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-out);display:block}.nav-links[data-astro-cid-bsspqklq] a[data-astro-cid-bsspqklq]:hover{color:var(--color-text)}.nav-links[data-astro-cid-bsspqklq] a[data-astro-cid-bsspqklq][aria-current=page]{color:var(--color-accent)}@media (width<=64rem){.nav-corner[data-astro-cid-bsspqklq]{height:calc(var(--field-cell) * 2 + mod(50svh, var(--field-cell)));background:var(--color-bg);bottom:0;left:0;right:0}.nav-links[data-astro-cid-bsspqklq]{justify-content:flex-end;align-items:center;gap:var(--space-5);height:calc(var(--field-cell) * 2);padding:0 var(--space-5);border-top:1px solid var(--color-border);border-radius:0;flex-direction:row}}@media (width<=30rem){.brand-corner[data-astro-cid-bsspqklq]{--margin:var(--space-4)}}:root{--color-bg:#0a0a0d;--color-bg-raised:#131316;--color-bg-overlay:#1c1c20;--color-border:#232327;--color-border-strong:#333338;--color-text:#e8e8ea;--color-text-muted:#9a9aa2;--color-text-faint:#5c5c63;--color-accent:#f2b134;--color-accent-dim:#c98f1f;--color-accent-text:#0a0a0d;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", "Consolas", "Liberation Mono", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.563rem;--text-2xl:1.953rem;--text-3xl:2.441rem;--text-4xl:3.052rem;--text-5xl:3.815rem;--text-fluid:clamp(var(--text-sm), 4.2vw, var(--text-xl));--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--field-cell:28px;--grid-cell:calc(var(--field-cell) * 2);--page-padding:calc(var(--grid-cell) * 2) var(--grid-cell);--content-width:42rem;--content-width-wide:64rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.15s;--duration-base:.3s}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;color-scheme:dark}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}p,h1,h2,h3,h4{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);flex-direction:column;display:flex}main{flex:1}.cursor-reveal{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}body.fixed-viewport{height:100dvh;overflow:hidden}h1,h2,h3,h4{letter-spacing:-.02em;font-weight:600;line-height:1.15}code,pre,kbd{font-family:var(--font-mono)}::selection{background:var(--color-accent);color:var(--color-accent-text)}@media (width<=64rem){body:not(.fixed-viewport){padding-bottom:calc(var(--field-cell) * 3)}}@media (width<=45rem){:root{--grid-cell:var(--field-cell);--page-padding:calc(var(--grid-cell) * 3) var(--grid-cell) calc(var(--grid-cell) * 2)}}@media print{.cursor-reveal,.brand-corner,.nav-corner,.site-footer{display:none}body{color:#000;background:#fff;padding-bottom:0}a{color:#000}}.typewriter{display:flow-root;position:relative}.typewriter.is-typing{mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-position:0 0, 0 var(--typed-top);mask-size:100% var(--typed-top), var(--typed-width) var(--typed-band);overflow:hidden;mask-repeat:no-repeat}.typewriter.is-typing:after{content:"";width:var(--caret-width);height:var(--caret-height);background:var(--color-accent);translate:var(--caret-x) var(--caret-y);position:absolute;top:0;left:0}.keycap{place-items:center;gap:var(--space-2);min-width:2.5rem;height:1.625rem;padding:0 var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-raised);box-shadow:inset 0 1px 0 color-mix(in oklab, var(--color-text) 7%, transparent);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);border-bottom-width:3px;grid-auto-flow:column;line-height:1;display:inline-grid}.keycap:hover,.keycap:focus-visible{color:var(--color-accent);border-color:color-mix(in oklab, var(--color-accent) 45%, var(--color-border-strong))}.keycap kbd{color:var(--color-text-faint)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.is-over-pikachu{cursor:pointer}
