:root{--night:#0b1030;--panel:#171d45;--light:#3d4888;--shade:#070a20;--edge:#000;--ink:#eef0ff;--muted:#b7bde0;--link:#ffe08a;--console:#05071a;--tile:64px;--pixel:"Pixelify Sans", "Courier New", monospace;--text:"Lexend", system-ui, sans-serif;--code:"JetBrains Mono", "Courier New", monospace}*{box-sizing:border-box;margin:0}body{background:var(--night);color:var(--ink);font:400 1.125rem / 1.65 var(--text);position:relative}body:before,body:after{content:"";z-index:-1;pointer-events:none;position:fixed;inset:0}body:before{background:url(/tiles/stars.svg) 0 0/480px}body:after{background:url(/tiles/twinkle.svg) 90px 40px/633px;animation:3.2s steps(3,end) infinite twinkle}@keyframes twinkle{50%{opacity:.2}}a{color:var(--link);text-underline-offset:.2em}a:hover{color:#fff}:focus-visible{outline-offset:2px;outline:3px solid #ffd93b}ul{padding:0;list-style:none}img{image-rendering:pixelated}h1,h2,h3{font-weight:600;line-height:1.2}time,.meta{color:var(--muted);font-size:.9375rem}.wrap{max-width:56rem;margin:0 auto;padding:0 20px}.sky{padding:20px 0 56px}main.wrap{padding-bottom:72px}.grass{height:var(--tile);background:url(/tiles/grass.svg) repeat-x 0 0 / var(--tile)}.astronaut{z-index:10;pointer-events:none;background:url(/tiles/astronaut.svg) 50%/contain no-repeat;width:112px;height:140px;animation:5s ease-in-out infinite drift;position:fixed;bottom:24px;left:24px;transform:rotate(-10deg)}@keyframes drift{50%{transform:translateY(-10px)rotate(-5deg)}}.ground{height:calc(var(--tile) * 2);background:url(/tiles/dirt.svg) 0 0 / var(--tile)}.block{color:var(--ink);font:500 1rem / 1.3 var(--text);border:4px solid;border-color:#5563ad var(--shade) var(--shade) #5563ad;outline:2px solid var(--edge);background:#232b5e;padding:6px 14px;text-decoration:none;display:inline-block}.block:hover{color:#fff;background:#313c7e}.block:active{border-color:var(--shade) #5563ad #5563ad var(--shade);transform:translateY(2px)}nav{flex-wrap:wrap;justify-content:space-between;gap:14px;margin-bottom:72px;display:flex}nav div{flex-wrap:wrap;gap:12px;display:flex}.hero{position:relative}.hero:after{content:"";aspect-ratio:1;background:url(/tiles/moon.svg) 50%/contain no-repeat;width:clamp(72px,13vw,144px);position:absolute;top:-8px;right:0}.wordmark{color:#fff;font-family:var(--pixel);text-shadow:.06em .06em #3f4fb0;font-size:clamp(3.75rem,14vw,9rem);font-weight:700;line-height:1}.hero .lead{background:var(--night);width:fit-content;max-width:40rem;margin:12px 0 0 -8px;padding:4px 8px}.lead{font-size:1.375rem;line-height:1.45}.panel{background:var(--panel);border:6px solid;border-color:var(--light) var(--shade) var(--shade) var(--light);outline:3px solid var(--edge);margin-bottom:32px;padding:24px clamp(18px,4vw,36px)}.panel img{background:#aeb7ea;flex:none;padding:3px}.panel h1,.panel h2{align-items:center;gap:12px;display:flex}.panel h1{margin-bottom:12px;font-size:clamp(2rem,6vw,2.75rem)}.panel h2{margin-bottom:12px;font-size:1.5rem}.panel h2 a{color:inherit;text-decoration:none}.panel h2 a:hover{text-decoration:underline}.rows li{justify-content:space-between;align-items:baseline;gap:24px;padding:4px 0;display:flex}.rows time{flex:none}.entries{margin-top:32px}.entries li{margin-bottom:28px}.entries a{font-size:1.25rem;font-weight:500}article>a{margin-bottom:16px;display:inline-block}article h1{display:block}.meta{margin-top:12px}.prose{margin-top:32px}.prose>*+*{margin-top:.8em}.prose h2{margin-top:1.6em;font-size:1.5rem;display:block}.prose ul{padding-left:1.25em;list-style:square}.prose ol{padding-left:1.5em}.prose blockquote{outline:3px solid var(--edge);background:#2c3470;padding:12px 18px}.prose code{font-family:var(--code);font-size:.9em}.prose pre{background:var(--console);color:#d9ecff;outline:3px solid var(--edge);padding:18px;line-height:1.6;overflow-x:auto}@media (width<=1180px){.astronaut{width:64px;height:80px;bottom:8px;left:8px}}@media (width<=600px){body{font-size:1.0625rem}.rows li{flex-direction:column;gap:0;padding:8px 0}.hero:after{width:56px;top:-66px}nav{margin-bottom:80px}}@media (prefers-reduced-motion:reduce){body:after,.astronaut{animation:none}.block:active{transform:none}}
