.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}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/space-grotesk-latin-300-normal.DiSf0yqz.woff2)format("woff2"),url(/_astro/space-grotesk-latin-300-normal.Byd1NLsn.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/space-grotesk-latin-400-normal.CJ-V5oYT.woff2)format("woff2"),url(/_astro/space-grotesk-latin-400-normal.BnQMeOim.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/space-grotesk-latin-500-normal.lFbtlQH6.woff2)format("woff2"),url(/_astro/space-grotesk-latin-500-normal.CNSSEhBt.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff)format("woff")}:root{--bg:#f4f4f4;--ink:#1a1a1a;--ink-2:#4a4a4a;--ink-3:#7a7a7a;--ink-4:#b0b0b0;--rule:#e2e2e2;--rule-2:#d4d4d4;--paper:#fafafa;--accent-cobalt:#1e3aff;--accent-orange:#ff4d1f;--accent-red:#e5142a;--accent-pink:#ff3da1;--accent-yellow:#ffc400;--accent-purple:#7a2bff;--bio-accent: ;--sans:"Space Grotesk", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{min-height:100%}html{background:#f4f4f4}body{margin:0;padding:0}::selection{color:#f4f4f4;background:#1a1a1a}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-feature-settings:"ss01", "ss02";-webkit-font-smoothing:antialiased}.scrim{z-index:10;-webkit-backdrop-filter:blur(24px);pointer-events:none;opacity:0;background:#f4f4f49e;transition:opacity .2s ease-out;position:fixed;inset:0}.scrim[data-state=open]{opacity:1}.overlay-host-warm{z-index:11;cursor:zoom-out;flex-direction:column;justify-content:safe center;align-items:center;padding:56px 32px;display:flex;position:fixed;inset:0;overflow-y:auto}.overlay-host-warm>*{cursor:auto}.overlay-close-warm{font-family:var(--mono);color:var(--ink-2);letter-spacing:.04em;cursor:pointer;z-index:12;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:11px;display:flex;position:fixed;top:24px;right:28px}.overlay-close-warm .x{border:1px solid var(--rule-2);width:22px;height:22px;color:var(--ink);background:#f4f4f499;border-radius:50%;place-items:center;font-size:12px;display:grid}.overlay-close-warm:hover .x,.overlay-close-warm:focus-visible .x{border-color:var(--ink)}.overlay-close-warm:focus-visible{outline:1px solid var(--ink);outline-offset:4px}.is-blurred{filter:blur(8px)saturate(.9);transform-origin:50%;pointer-events:none;transition:filter .2s ease-out,transform .2s ease-out;transform:scale(1.01)}@keyframes overlay-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes overlay-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}.overlay-anim-in{animation:.28s ease-out forwards overlay-in}.overlay-anim-out{animation:.2s ease-in forwards overlay-out}.scroll-locked{overflow:hidden}.player-wrap{width:100%;max-width:880px;margin:0 auto}.player-wrap .meta-row{font-family:var(--mono);color:var(--ink-2);letter-spacing:.04em;justify-content:space-between;margin-bottom:12px;font-size:11px;display:flex}.player-wrap .now-playing{color:var(--accent)}.player-frame{aspect-ratio:16/9;background:var(--accent);box-sizing:border-box;width:100%;padding:4px;position:relative;overflow:hidden}.player{background:#1a1a1a;width:100%;height:100%;display:block}.player-frame>mux-player{display:block;width:100%!important;max-width:100%!important;height:100%!important}.player-frame.placeholder{overflow:hidden}.player-frame.placeholder .play-circle{background:#f4f4f4f0;border-radius:50%;width:56px;height:56px;margin:auto;position:absolute;inset:0}.player-wrap .placeholder-msg{font-family:var(--mono);color:#f4f4f4d9;letter-spacing:.04em;font-size:11px;position:absolute;bottom:16px;left:16px}.player-wrap .placeholder-duration{font-family:var(--mono);color:#f4f4f4d9;font-size:11px;position:absolute;bottom:16px;right:16px}.player-wrap>.title{font-family:var(--sans);letter-spacing:-.015em;text-wrap:pretty;max-width:720px;color:var(--ink);margin:18px 0 0;font-size:22px;font-weight:500;line-height:1.25}.article{border:4px solid var(--accent);background:var(--paper);width:min(820px,100%);padding:44px 56px 40px;position:relative}.article>.meta-row{font-family:var(--mono);color:var(--ink-3);letter-spacing:.06em;margin-bottom:16px;font-size:10px}.article>.title{font-family:var(--sans);letter-spacing:-.025em;color:var(--accent);text-wrap:pretty;margin:0;font-size:36px;font-weight:500;line-height:1.12}.article .body{font-family:var(--sans);color:var(--ink);text-wrap:pretty;max-width:640px;margin-top:24px;font-size:17px;line-height:1.65}.article .body>:first-child{color:var(--ink-2);margin-top:0;font-size:18px}.article .body p{margin:18px 0 0}.article .body p:last-child{margin-bottom:0}.article .body img{border-radius:4px;max-width:100%;height:auto;max-height:60vh;margin:24px auto;display:block}.article .body code{font-family:var(--mono);background:#1a1a1a0f;border-radius:3px;padding:1px 5px;font-size:14px}.article .body pre{font-family:var(--mono);color:#f4f4f4;background:#1a1a1a;border-radius:4px;margin:18px 0 0;padding:16px 20px;font-size:13px;line-height:1.5;overflow-x:auto}.article .body pre code{font-size:inherit;color:inherit;background:0 0;padding:0}.article .body h2{font-family:var(--sans);letter-spacing:-.015em;color:var(--ink);margin:36px 0 0;font-size:24px;font-weight:500;line-height:1.25}.article .body h3{font-family:var(--sans);letter-spacing:-.01em;color:var(--ink);margin:30px 0 0;font-size:20px;font-weight:500;line-height:1.3}.article .body ul,.article .body ol{margin:18px 0 0;padding-left:24px}.article .body li{margin-top:6px}.article .body a{color:var(--ink);border-bottom:1px solid var(--ink-4);padding-bottom:1px;text-decoration:none;transition:border-color .12s}.article .body a:hover,.article .body a:focus-visible{border-bottom-color:var(--accent)}.article .body blockquote{border-left:2px solid var(--rule-2);color:var(--ink-2);margin:18px 0 0;padding-left:16px}.article .body hr{border:0;border-top:1px solid var(--rule);margin:28px 0 0}
