:root{--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--bg:#050505;--panel:#0b0b0b;--fg:#f2f2f2;--muted:#f2f2f29e;--faint:#f2f2f224;--line:#f2f2f247}*{box-sizing:border-box}html{background:var(--bg);color:var(--fg);font-family:var(--font-mono);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:geometricprecision}body{background:var(--bg);min-width:320px;margin:0}a{color:var(--fg);text-underline-offset:.18em;text-decoration-line:underline;text-decoration-thickness:1px}a:hover{color:var(--bg);background:var(--fg);text-decoration-color:#0000}a:focus-visible{outline:1px solid var(--fg);outline-offset:3px}pre{font-family:var(--font-mono);letter-spacing:0;margin:0}::selection{background:var(--fg);color:var(--bg)}.site{min-height:100vh;color:var(--fg);filter:grayscale();background:linear-gradient(90deg, #f2f2f20d 1px, transparent 1px), linear-gradient(0deg, #f2f2f20a 1px, transparent 1px), var(--bg);background-size:36px 36px}.hero{align-items:center;min-height:68vh;padding:22px;display:grid}.hero-grid{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:stretch;gap:16px;width:min(100%,1280px);margin:0 auto;display:grid}.hero-terminal,.hero-signal,.project-block{border:1px solid var(--line);background:#050505f0;position:relative;overflow:hidden}.hero-terminal:before,.hero-signal:before,.project-block:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff05 0 1px,#0000 1px 9px);position:absolute;inset:0}.hero-terminal{align-content:center;min-width:0;min-height:360px;padding:22px;display:grid}.boot-line{color:var(--muted);overflow-wrap:anywhere;margin:0 0 30px;font-size:14px;line-height:1.5}.terminal-line{color:var(--fg);margin:0;font-size:22px;line-height:1.62}.terminal-line>span{color:var(--muted);margin-right:.75ch;display:inline-block}.terminal-line>span:before{content:"["}.terminal-line>span:after{content:"]"}.contact-strip{flex-wrap:wrap;gap:16px;margin-top:30px;display:flex}.contact-link{color:var(--fg);overflow-wrap:anywhere;font-size:14px;line-height:1.2}.hero-signal{min-width:0;min-height:360px}.signal-canvas,.canvas-panel{z-index:1;width:100%;height:100%;min-height:360px;display:block;position:relative}.projects{width:min(100% - 44px,1280px);margin:0 auto;padding:12px 0 76px}.section-heading{margin:0 0 18px}.section-heading h2{color:var(--fg);letter-spacing:0;margin:0;font-size:24px;font-weight:600;line-height:1}.project-list{gap:18px;display:grid}.project-block{grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);min-height:400px;display:grid}.project-output{border-right:1px solid var(--line);min-width:0;display:grid}.project-terminal{min-width:0;padding:22px}.project-terminal .terminal-line{font-size:19px;line-height:1.38}.paper-authors{color:var(--muted);margin:18px 0 0;font-size:14px;line-height:1.55}.paper-authors strong{color:var(--fg);font-weight:700}.paper-links{color:var(--muted);margin:14px 0 0;font-size:14px;line-height:1.5}.paper-links em{color:var(--fg);font-style:normal}.project-description{color:var(--fg);margin:18px 0 0;font-size:16px;line-height:1.65}.site-footer{width:min(100% - 44px,1280px);color:var(--muted);text-align:right;margin:0 auto;padding:0 0 34px;font-size:12px}.site-footer p{margin:0}.not-found-container{width:min(100% - 40px,680px);color:var(--fg);text-align:center;margin:64px auto}.not-found-title{letter-spacing:0;margin:12px 0;font-size:56px;line-height:1}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=980px){.hero{min-height:0;padding:16px}.hero-grid,.project-block{grid-template-columns:1fr}.hero-terminal,.hero-signal{min-height:260px}.project-output{border-right:0;border-bottom:1px solid var(--line)}}@media (width<=640px){.hero{padding:12px}.hero-grid{gap:12px}.hero-terminal,.project-terminal{padding:14px}.terminal-line,.project-terminal .terminal-line{font-size:15px}.boot-line,.contact-link,.paper-authors,.paper-links{font-size:13px}.signal-canvas,.canvas-panel{min-height:260px}.projects,.site-footer{width:min(100% - 24px,1280px)}.project-description{font-size:14px}.site-footer{text-align:left}}
