.site-header[data-astro-cid-dmqpwcec]{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border);padding-block:var(--s-4)}nav[data-astro-cid-dmqpwcec]{display:flex;align-items:center;justify-content:space-between;gap:var(--s-8)}.wordmark[data-astro-cid-dmqpwcec]{display:inline-flex;align-items:center;gap:var(--s-1);font-size:var(--text-sm);font-weight:700;letter-spacing:var(--tracking-widest);color:var(--text-bright);text-decoration:none;text-transform:uppercase;flex-shrink:0;transition:text-shadow var(--dur-fast),scale var(--dur-fast)}.wordmark[data-astro-cid-dmqpwcec]:active{scale:.96}@media(hover:hover){.wordmark[data-astro-cid-dmqpwcec]:hover{text-shadow:var(--glow-subtle)}}.nav-links[data-astro-cid-dmqpwcec]{display:flex;align-items:center;gap:var(--s-6)}.nav-link[data-astro-cid-dmqpwcec]{font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-dim);text-decoration:none;transition:color var(--dur-fast),opacity var(--dur-fast)}@media(hover:hover){.nav-link[data-astro-cid-dmqpwcec]:hover{color:var(--text)}}.nav-link[data-astro-cid-dmqpwcec].active{color:var(--accent);text-shadow:var(--glow-subtle)}.nav-link[data-astro-cid-dmqpwcec].active:before{content:"[ ";color:var(--accent);user-select:none}.nav-link[data-astro-cid-dmqpwcec].active:after{content:" ]";color:var(--accent);user-select:none}.nav-toggle[data-astro-cid-dmqpwcec]{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:var(--s-2);min-width:44px;min-height:44px;transition:scale var(--dur-fast)}.nav-toggle[data-astro-cid-dmqpwcec]:active{scale:.96}.nav-toggle[data-astro-cid-dmqpwcec] span[data-astro-cid-dmqpwcec]{display:block;width:22px;height:1px;background:var(--text-dim);transition:background var(--dur-fast);pointer-events:none}@media(hover:hover){.nav-toggle[data-astro-cid-dmqpwcec]:hover span[data-astro-cid-dmqpwcec]{background:var(--accent)}}@media(max-width:600px){.nav-toggle[data-astro-cid-dmqpwcec]{display:flex}.nav-links[data-astro-cid-dmqpwcec]{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--bg-surface);border-bottom:1px solid var(--border);padding:var(--s-4) var(--s-6)}.nav-links[data-astro-cid-dmqpwcec].is-open{display:flex}.nav-link[data-astro-cid-dmqpwcec]{padding-block:var(--s-3);width:100%}}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--border);padding-block:var(--s-6);margin-top:var(--s-24)}.footer-inner[data-astro-cid-sz7xmlte]{display:flex;align-items:center;justify-content:space-between;gap:var(--s-6);flex-wrap:wrap}.footer-meta[data-astro-cid-sz7xmlte]{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-dim);margin:0;min-width:0}@media(min-width:640px){.footer-meta[data-astro-cid-sz7xmlte]{white-space:nowrap}}nav[data-astro-cid-sz7xmlte] ul[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;gap:var(--s-6)}nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-dim);text-decoration:none;transition:color var(--dur-fast)}@media(hover:hover){nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent)}}:root{--bg: #070510;--bg-surface: #0e0a1a;--bg-raised: #160f28;--bg-overlay: #1e1440;--text: #d0c6e8;--text-bright: #f2ecfc;--text-dim: #b0a4c8;--text-invert: #070510;--accent: #9966ff;--accent-glow: #9966ff33;--accent-dim: #1a0a30;--cyan: #4fc3d8;--cyan-dim: #0d3040;--amber: #d4921e;--amber-dim: #2a1a00;--red: #d84040;--red-dim: #2a0808;--border: #221438;--border-mid: #2e2048;--border-bright: #463070;--font: "Geist Mono", ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.5rem;--text-4xl: 3.5rem;--leading-tight: 1.15;--leading-normal: 1.55;--leading-loose: 1.8;--tracking-tight: -.02em;--tracking-normal: .02em;--tracking-wide: .1em;--tracking-wider: .2em;--tracking-widest: .35em;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.25rem;--s-6: 1.5rem;--s-8: 2rem;--s-10: 2.5rem;--s-12: 3rem;--s-16: 4rem;--s-20: 5rem;--s-24: 6rem;--s-32: 8rem;--max-prose: 680px;--max-wide: 1120px;--glow: 0 0 8px var(--accent-glow), 0 0 20px var(--accent-glow);--glow-subtle: 0 0 12px var(--accent-glow);--glow-text: 0 0 8px currentColor;--glow-border: 0 0 6px var(--accent-glow), inset 0 0 6px var(--accent-glow);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: 80ms;--dur-base: .16s;--dur-slow: .32s}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;color-scheme:dark;overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;scroll-padding-top:5rem}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}img,video,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit}ul,ol{list-style:none}body{font-family:var(--font);font-size:var(--text-md);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);color:var(--text);background-color:var(--bg);background-image:radial-gradient(1px 1px at 12% 18%,rgba(153,102,255,.35),transparent),radial-gradient(1px 1px at 78% 12%,rgba(79,195,216,.3),transparent),radial-gradient(1px 1px at 34% 72%,rgba(153,102,255,.25),transparent),radial-gradient(1px 1px at 88% 68%,rgba(79,195,216,.2),transparent),radial-gradient(1px 1px at 52% 42%,rgba(232,223,248,.15),transparent),linear-gradient(rgba(46,32,72,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(46,32,72,.22) 1px,transparent 1px);background-size:100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,40px 40px,40px 40px;min-height:100dvh;position:relative;overflow-x:hidden}::selection{background:var(--accent-dim);color:var(--text-bright);text-shadow:0 0 6px var(--accent-glow)}body:before{content:"";position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.06) 2px,rgba(0,0,0,.06) 4px);pointer-events:none;z-index:9999}body:after{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.42) 100%);pointer-events:none;z-index:9998}h1,h2,h3,h4,h5,h6{font-family:var(--font);font-weight:700;color:var(--text-bright);line-height:var(--leading-tight);letter-spacing:var(--tracking-wide);text-transform:uppercase;text-wrap:balance;scroll-margin-top:5rem}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-md)}h6{font-size:var(--text-sm)}p{line-height:var(--leading-loose);max-width:68ch;overflow-wrap:break-word;text-wrap:pretty}p+p{margin-top:var(--s-4)}a{color:var(--accent);text-decoration:underline;text-decoration-thickness:from-font;text-underline-position:from-font;text-underline-offset:.18em;text-decoration-skip-ink:auto;transition:text-shadow var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}@media(hover:hover){a:hover{text-shadow:var(--glow-text)}}strong,b{color:var(--text-bright);font-weight:700}em,i{color:var(--cyan);font-style:normal}small{font-size:var(--text-xs);color:var(--text-dim);letter-spacing:var(--tracking-wide);text-transform:uppercase}code{font-family:var(--font);font-size:.88em;color:var(--accent);background:var(--accent-dim);padding:.1em .35em;border:1px solid var(--border-mid)}blockquote{border-left:2px solid var(--accent);padding-left:var(--s-6);color:var(--text-dim);font-style:normal}hr{border:none;border-top:1px solid var(--border);margin:var(--s-8) 0}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}thead tr{border-bottom:1px solid var(--border-bright)}th{text-align:left;color:var(--accent);letter-spacing:var(--tracking-wider);text-transform:uppercase;font-size:var(--text-xs);padding:var(--s-2) var(--s-4)}td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border);color:var(--text)}tr:hover td{background:var(--bg-raised)}.terminal-frame{position:relative}.terminal-frame:before,.terminal-frame:after{content:"";position:absolute;width:8px;height:8px;border-color:var(--accent);border-style:solid;opacity:.35;pointer-events:none;z-index:1;transition:opacity var(--dur-base),border-color var(--dur-base)}.terminal-frame:before{top:-1px;left:-1px;border-width:2px 0 0 2px}.terminal-frame:after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}.terminal-frame:hover:before,.terminal-frame:hover:after,.terminal-frame:focus-within:before,.terminal-frame:focus-within:after{opacity:.85}#main-content{position:relative}#main-content:before{content:"";position:fixed;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),var(--accent),var(--cyan),transparent);box-shadow:0 0 14px var(--accent-glow),0 0 4px var(--cyan);z-index:10001;pointer-events:none;animation:boot-scan .75s var(--ease-out) forwards}@keyframes boot-scan{0%{top:0;opacity:.9}85%{opacity:.6}to{top:100vh;opacity:0}}.status-led{display:inline-block;width:.45em;height:.45em;margin-right:.5em;background:var(--cyan);border-radius:50%;box-shadow:0 0 6px var(--cyan);vertical-align:middle;animation:led-pulse 2.4s ease-in-out infinite}.status-led--active{background:var(--cyan);box-shadow:0 0 6px var(--cyan)}.status-led--on-mission{background:var(--amber);box-shadow:0 0 6px var(--amber);animation-duration:1.6s}.status-led--docked{background:var(--accent);box-shadow:0 0 4px var(--accent-glow);animation:none;opacity:.65}.status-led--deceased{background:var(--text-dim);box-shadow:none;animation:none;opacity:.5}@keyframes led-pulse{0%,to{opacity:1}50%{opacity:.45}}.sprite{image-rendering:pixelated;image-rendering:crisp-edges;image-rendering:-moz-crisp-edges;display:block;outline:1px solid oklch(1 0 0 / .1)}.sprite--2x{width:128px;height:128px}.sprite--3x{width:192px;height:192px}.sprite--4x{width:256px;height:256px}.sprite-frame{display:inline-flex;align-items:center;justify-content:center;padding:var(--s-2);background:var(--bg-surface);border:1px solid var(--border-mid);position:relative;transition:border-color var(--dur-base),box-shadow var(--dur-base)}.sprite-frame:hover,.sprite-frame:focus-within{border-color:var(--accent);box-shadow:var(--glow-border)}.sprite-frame:before,.sprite-frame:after{content:"";position:absolute;width:8px;height:8px;border-color:var(--accent);border-style:solid;opacity:.6}.sprite-frame:before{top:-1px;left:-1px;border-width:2px 0 0 2px}.sprite-frame:after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}.sprite-frame[data-label]:before{content:attr(data-label);width:auto;height:auto;top:-.7em;left:var(--s-2);border:none;font-family:var(--font);font-size:var(--text-2xs);letter-spacing:var(--tracking-widest);color:var(--accent);background:var(--bg);padding:0 var(--s-2);text-transform:uppercase;opacity:1}.cursor{display:inline-block;width:.6em;height:1.05em;background:var(--accent);vertical-align:text-bottom;animation:blink 1.1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.cursor--line{width:.8em;height:2px;vertical-align:baseline;margin-bottom:.15em}.prompt:before{content:"> ";color:var(--accent);user-select:none}.prompt-sys:before{content:"// ";color:var(--cyan);user-select:none}.prompt-warn:before{content:"! ";color:var(--amber);user-select:none}.prompt-err:before{content:"✕ ";color:var(--red);user-select:none}.divider{display:flex;align-items:center;gap:var(--s-4);color:var(--text);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;user-select:none}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border-mid)}.badge{display:inline-block;font-size:var(--text-2xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--accent);border:1px solid var(--border-mid);padding:.15em .5em;background:var(--accent-dim)}.badge--cyan{color:var(--cyan);background:var(--cyan-dim)}.badge--amber{color:var(--amber);background:var(--amber-dim)}.glow{text-shadow:var(--glow)}.glow-soft{text-shadow:var(--glow-subtle)}.glow-box{box-shadow:var(--glow)}.scanlines{position:relative;overflow:hidden}.scanlines:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.06) 3px,rgba(0,0,0,.06) 4px);pointer-events:none}@keyframes flicker{0%{opacity:1}2%{opacity:.92}4%{opacity:1}60%{opacity:1}62%{opacity:.88}64%{opacity:1}to{opacity:1}}.flicker{animation:flicker 6s ease-in-out infinite}.typewriter{display:inline-block;overflow:hidden;white-space:nowrap;border-right:2px solid var(--accent);width:calc(var(--chars, 20) * 1ch);animation:type calc(var(--chars, 20) * 60ms) steps(var(--chars, 20)) forwards,blink 1.1s step-end infinite}@keyframes type{0%{width:0}to{width:calc(var(--chars, 20) * 1ch)}}.container{width:100%;max-width:var(--max-wide);margin-inline:auto;padding-inline:var(--s-6)}.container--prose{max-width:var(--max-prose)}@media(max-width:640px){.container{padding-inline:var(--s-4)}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;box-shadow:var(--glow-subtle)}@media(forced-colors:active){:focus-visible{outline:2px solid Highlight;box-shadow:none}}.skip-link{position:absolute;inset-inline-start:var(--s-4);top:var(--s-4);z-index:10002;padding:var(--s-2) var(--s-4);background:var(--bg-raised);color:var(--text-bright);border:1px solid var(--accent);text-decoration:none;transform:translateY(-150%)}.skip-link:focus{transform:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tabular{font-variant-numeric:tabular-nums}.wordmark,.nav-link,.section-link,.card-link,.link-badge,.cta,.back,.profile-link,.site-footer nav a,.skip-link{text-decoration:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}#main-content:before{display:none}.status-led,.cursor,.flicker,.typewriter{animation:none}.status-led,.cursor{opacity:1}}
