@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-400-normal.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-500-normal.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-600-normal.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2)format("woff2")}:root{--black:#000;--white:#fff;--dim:#a3a3a3;--rule:#2a2a2a;--amber:#ffb000;--sans:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0}html{background:var(--black);color:var(--white)}body{font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;-webkit-text-decoration-color:var(--amber);text-decoration-color:var(--amber);text-underline-offset:3px}a:hover{color:var(--amber)}:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.page{width:min(1080px,100% - 40px);margin-inline:auto;padding-block:56px 40px}.seg{font:400 13px/1.5 var(--mono);color:var(--dim);white-space:pre;scrollbar-width:none;overflow-x:auto}.seg b{color:var(--amber);font-weight:400}header{grid-template-columns:1fr auto;align-items:end;gap:24px;margin-block:40px 28px;display:grid}h1{font:600 clamp(44px, 7vw, 80px)/1 var(--sans);letter-spacing:-.025em}.dim{color:var(--dim)}.site-nav{gap:20px;font-weight:500;display:flex}.site-nav a[aria-current=page]{color:var(--amber);text-decoration:none}.site-top{justify-content:space-between;align-items:baseline;gap:24px;margin-top:40px;display:flex}.site-top .name{font-size:18px;font-weight:600;text-decoration:none}.page-title{margin-top:40px;margin-bottom:28px}.lede{max-width:62ch;font-size:20px;line-height:1.5}.lede+.lede{margin-top:12px}section{border-top:1px solid var(--rule);grid-template-columns:200px 1fr;gap:24px;padding-block:28px;display:grid}section:first-of-type{margin-top:48px}h2{font:500 16px/1.55 var(--sans)}.rows{gap:22px;display:grid}.row{grid-template-columns:220px 1fr;gap:24px;display:grid}.row h3{font:600 16px/1.55 var(--sans)}.row .meta{color:var(--dim)}.row p{max-width:64ch}.row ul{max-width:64ch;margin-top:6px;padding-left:18px}.row li{margin-top:4px}.row li::marker{color:var(--amber)}.kv{grid-template-columns:220px 1fr;gap:6px 24px;display:grid}.kv dt{color:var(--dim)}.project h2 .meta{color:var(--amber);font-weight:400}.project .updated{color:var(--dim);font-weight:400}.project .summary{font-size:18px}.project .details>p{margin-top:14px;font-weight:500}.contact-form{gap:18px;max-width:640px;display:grid}.form-status{color:var(--amber)}.field{gap:6px;display:grid}.field label{font-weight:500}input,textarea{font:inherit;color:var(--white);background:var(--black);border:1px solid #3a3a3a;border-radius:0;width:100%;padding:10px 12px}textarea{resize:vertical;min-height:180px;line-height:1.5}input:focus-visible,textarea:focus-visible{outline:2px solid var(--amber);outline-offset:0;border-color:#0000}.button{font:600 16px/1 var(--sans);background:var(--amber);color:#000;cursor:pointer;border:0;border-radius:0;padding:12px 22px}.button:hover{background:#fff}.send{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.sent{font-size:22px;line-height:1.4}.sent-sub{margin-top:10px}footer{margin-top:40px}@media (width<=760px){.page{padding-top:28px}header{grid-template-columns:1fr}.site-top{flex-direction:column;gap:10px;margin-top:24px}section,.row{grid-template-columns:1fr;gap:6px}.rows{gap:20px}.kv{grid-template-columns:1fr;gap:0}.kv dd{margin-bottom:8px}}.decode{padding-top:0}.decode-bar{z-index:1;background:var(--black);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:20px;padding-block:14px 10px;display:flex;position:sticky;top:0}.decode-bar .site-top{flex:1;margin-top:0}.decode-bar label{font:400 13px/1.5 var(--mono);color:var(--dim);cursor:pointer;white-space:nowrap}.decode-bar input{width:auto;accent-color:var(--amber);margin-right:6px}.cue{max-width:62ch;color:var(--dim);padding-top:34px;font-size:20px;line-height:1.5}.cue strong{color:var(--white);font-weight:500}.cue a{background:var(--amber);color:#000;margin-top:14px;padding:9px 16px;font-weight:600;text-decoration:none;display:table}.cue a:hover{background:var(--white);color:#000}.decode .seg{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.wire{padding-block:22px 40px}.loop{border-bottom:1px solid var(--rule);padding-block:30px;scroll-margin-top:50px}.loop .raw{color:var(--amber)}.translated{margin-top:18px}.translated h1{margin-bottom:20px}.decode section{border-top:0;margin-top:0;padding-block:0}.decode footer{margin-top:30px;padding-bottom:60px}.decode:has(#raw-only:checked) .translated{display:none}.decode:has(#raw-only:checked) .loop .raw{color:var(--white);animation:none}@media (prefers-reduced-motion:no-preference){html:has(.decode){scroll-behavior:smooth}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.loop .raw{animation:linear both sent;animation-timeline:view();animation-range:entry 160px entry 420px}@keyframes sent{0%{color:var(--amber)}to{color:#6b6b6b}}.translated{animation:linear both decode;animation-timeline:view();animation-range:entry 80px entry 400px}.loop:has(+footer) .translated{animation-range:entry 0 entry 200px}@keyframes decode{0%{opacity:0;translate:0 28px}to{opacity:1;translate:0}}}}@media (width<=760px){.decode-bar .site-top{flex-flow:wrap;gap:4px 16px;margin-top:0}.decode-bar{flex-wrap:wrap}}
