@font-face{font-family:Selawik;src:url(/fonts/selawkl.ttf) format("truetype");font-weight:300;font-display:swap}@font-face{font-family:Selawik;src:url(/fonts/selawksl.ttf) format("truetype");font-weight:350;font-display:swap}@font-face{font-family:Selawik;src:url(/fonts/selawk.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Selawik;src:url(/fonts/selawkb.ttf) format("truetype");font-weight:700;font-display:swap}:root{--ground: #000000;--ink: #ffffff;--ink-dim: rgba(255, 255, 255, .72);--cyan: #00bde3;--lime: #a4e600;--magenta: #e6007e;--line: #2d2d2d;--t-caption: 1.0625rem;--t-label: 1.25rem;--t-body: 1.3125rem;--t-sub: 1.625rem;--t-section: clamp(2.75rem, 5vw, 4rem);--t-hero: clamp(3.4rem, 11vw, 9.9rem);--grid: 8px;--margin: clamp(20px, 4.2vw, 60px)}*{box-sizing:border-box}html{scrollbar-color:#3a3d3f #000;scrollbar-width:thin;scroll-behavior:smooth}body{margin:0;background:var(--ground);color:var(--ink);font-family:Selawik,Segoe UI,-apple-system,sans-serif;font-size:var(--t-body);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--cyan);color:#000}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}input,textarea{caret-color:var(--cyan)}iframe{border:0}h1,h2,h3{font-weight:300;letter-spacing:-.015em;margin:0}h1{font-size:var(--t-hero);line-height:1.02}h2{font-size:var(--t-section);line-height:1.06}h3{font-size:var(--t-sub);font-weight:400;line-height:1.3}p{margin:0}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.82em}pre{border:2px solid var(--line);padding:calc(var(--grid) * 2.5);overflow-x:auto;line-height:1.6}pre code{font-size:.9rem}:where(pre) code{color:var(--ink)}.astro-code{background:#0a0f11!important;border:2px solid var(--line)}img,svg{display:block;max-width:100%}.page{min-height:100vh;display:flex;flex-direction:column;padding:0 var(--margin) calc(var(--grid) * 10)}.mast{display:flex;align-items:flex-start;justify-content:space-between;gap:calc(var(--grid) * 3);padding:clamp(16px,2.6vw,34px) 0 calc(var(--grid) * 5)}.brand{display:flex;align-items:center;gap:clamp(8px,1.1vw,14px);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:350;letter-spacing:.01em;color:var(--ink);white-space:nowrap}.brand .sigil{display:block;flex:none}.brand:hover .sigil polygon[fill="#00bde3"]{fill:#31cbef}.brand em{font-style:normal;color:var(--cyan)}.lede{font-size:var(--t-sub);color:var(--ink-dim);max-width:62ch;line-height:1.5}.small{font-size:var(--t-caption);color:var(--ink-dim)}.num{font-variant-numeric:tabular-nums}.cropped{white-space:nowrap;overflow:hidden;text-overflow:clip;padding-right:0;margin-right:calc(-1 * var(--margin))}@media(max-width:720px){.cropped{white-space:normal;overflow:visible;margin-right:0}}.tile-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid)}@media(max-width:900px){.tile-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.tile-row{grid-template-columns:1fr}}.tile{position:relative;display:block;padding:calc(var(--grid) * 3);min-height:clamp(150px,13.5vw,190px);background:transparent;border:2px solid var(--ink);color:var(--ink);font-size:var(--t-label);font-weight:400;text-align:left;cursor:pointer;transition:background-color .16s linear,color .16s linear;will-change:transform}.tile small{position:absolute;left:calc(var(--grid) * 3);bottom:calc(var(--grid) * 2.5);font-size:var(--t-caption);opacity:.62}.tile.cyan{background:var(--cyan);border-color:var(--cyan);color:#000}.tile.lime{background:var(--lime);border-color:var(--lime);color:#000}.tile.magenta{background:var(--magenta);border-color:var(--magenta);color:#fff}.tile.ghost{background:transparent}.tile:hover,.tile:focus-visible{background:var(--cyan);border-color:var(--cyan);color:#000}.tile.lime:hover,.tile.lime:focus-visible{background:var(--lime);border-color:var(--lime);color:#000}.tile.magenta:hover,.tile.magenta:focus-visible{background:var(--magenta);border-color:var(--magenta);color:#fff}.tile.cyan:hover{background:#31cbef}.tile:active{transform:perspective(600px) rotateY(3deg) rotateX(1.5deg) scale(.985)}.navbar{display:grid;grid-template-columns:repeat(4,minmax(72px,96px));gap:var(--grid)}.navbar .tile{min-height:58px;padding:14px;font-size:var(--t-caption)}.navbar .tile small{position:static;display:none}.navbar .tile[aria-current=page]{box-shadow:inset 0 -8px 0 currentColor}.field-cyan{background:var(--cyan);color:#000}.field-lime{background:var(--lime);color:#000}.field-magenta{background:var(--magenta);color:#fff}.pin{background-image:repeating-linear-gradient(90deg,var(--cyan) 0 1.5px,transparent 1.5px 9px);background-size:9px 9px}.slash{background-image:repeating-linear-gradient(45deg,var(--lime) 0 1.5px,transparent 1.5px 8px)}.band{padding:calc(var(--grid) * 9) 0 calc(var(--grid) * 5)}.band+.band{border-top:2px solid var(--line)}.band h2{margin-bottom:calc(var(--grid) * 4)}.stack>*+*{margin-top:calc(var(--grid) * 4)}.stack-tight>*+*{margin-top:calc(var(--grid) * 2)}@media(prefers-reduced-motion:no-preference){html.js .glide{transition:transform .56s cubic-bezier(.16,1,.3,1),opacity .56s cubic-bezier(.16,1,.3,1);transition-delay:var(--glide-delay, 0ms)}html.js .glide.arm{transform:translate(-26px);opacity:0}}.blockbtn{display:inline-block;background:var(--cyan);color:#000;font-size:var(--t-sub);font-weight:400;line-height:1;padding:22px 44px;text-align:left;transition:background-color .14s linear}.blockbtn:hover,.blockbtn:focus-visible{background:#31cbef}.blockbtn:active{transform:perspective(600px) rotateY(3deg) scale(.985)}.blockbtn.ghost{background:transparent;border:2px solid var(--ink);color:var(--ink);padding:20px 42px}.blockbtn.ghost:hover,.blockbtn.ghost:focus-visible{background:var(--ink);color:#000}.blockbtn.dark{background:#000;color:var(--ink)}.blockbtn.dark:hover,.blockbtn.dark:focus-visible{background:#101214}.form{max-width:760px}.form label{display:block;margin-top:calc(var(--grid) * 4);font-size:var(--t-label)}.form input,.form textarea{width:100%;margin-top:var(--grid);background:transparent;border:2px solid var(--ink);color:var(--ink);font:inherit;font-size:var(--t-body);padding:14px 16px;border-radius:0}.form input:focus-visible,.form textarea:focus-visible{outline:none;border-color:var(--cyan)}.form ::placeholder{color:#ffffff73}.form-status{display:none;margin-top:calc(var(--grid) * 3);padding:14px 18px}.form-status.show{display:block}.form-status.ok{background:var(--lime);color:#000}.form-status.err{background:var(--magenta);color:#fff}.foot{margin-top:auto;border-top:2px solid var(--line);padding:calc(var(--grid) * 8) 0 calc(var(--grid) * 4)}.foot-grid{display:flex;flex-wrap:wrap;gap:calc(var(--grid) * 4);justify-content:space-between;align-items:flex-end}.foot a:hover{color:var(--cyan)}.meta-line{display:flex;gap:calc(var(--grid) * 3);flex-wrap:wrap;font-size:var(--t-caption);color:var(--ink-dim)}.post{display:block;padding:calc(var(--grid) * 4) 0;border-top:2px solid var(--line)}.post:first-child{border-top:0}.post time{font-size:var(--t-caption);color:var(--ink-dim);font-variant-numeric:tabular-nums}.post:hover h3{color:var(--cyan)}.chip{display:inline-block;font-size:var(--t-caption);letter-spacing:.08em;border:2px solid currentColor;padding:3px 10px}.chip.warn{color:var(--magenta);border-color:var(--magenta)}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:700px){.work-grid{grid-template-columns:1fr}}.wchip{position:absolute;bottom:24px;left:32px}.wlink{position:absolute;bottom:24px;right:32px;color:var(--cyan)}@media(max-width:700px){.wchip{position:static;display:inline-block;margin:24px 0 0}.wlink{position:static;display:block;margin-top:16px}}.prose{max-width:68ch}.prose>*+*{margin-top:1.35em}.prose h2,.prose h3{margin-top:2.2em;font-weight:400}.prose ul,.prose ol{list-style:disc outside;padding-left:1.4em}.prose ol{list-style:decimal outside}.prose li+li{margin-top:.4em}.prose a{color:var(--cyan);text-decoration:underline;text-underline-offset:4px}.prose a:hover{color:#31cbef}.prose .chip{vertical-align:middle;margin-bottom:.5em}
