@font-face{font-family:Paper Mono;src:url(/fonts/PaperMono.woff2) format("woff2");font-weight:100 800;font-display:swap}:root{--bg: #131518;--ink: #e8ebef;--text: #c3c9d1;--muted: #8c95a1;--well: #1a1d21;--tile: #0b0c0f;--photo-filter: brightness(.72) saturate(.85);--pad: .5ch;--mono: "Paper Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--mono);font-size:.875rem;font-variant-ligatures:none;line-height:1.65;-webkit-font-smoothing:antialiased}::selection{background:var(--ink);color:var(--bg)}h1,h2,h3{margin:0;color:var(--ink);font-size:inherit;font-weight:500}p,ul{margin:0}ul{padding:0;list-style:none}.muted{color:var(--muted)}.ink{color:var(--ink)}a,.button>span{padding:0 var(--pad);margin:0 calc(var(--pad) * -1);color:var(--ink);text-decoration:none;-webkit-box-decoration-break:clone;box-decoration-break:clone}.button{padding:0;border:0;background:none;color:var(--muted);font:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button>span{color:inherit}@media (hover: hover){a:hover,.button:hover>span{background:var(--ink);color:var(--bg)}}a:focus-visible,.button:focus-visible>span{background:var(--ink);color:var(--bg);outline:1px dotted var(--ink);outline-offset:2px}.button:focus-visible{outline:none}.skip-link{position:absolute;left:1rem;top:-3rem;z-index:10;background:var(--ink);color:var(--bg)}.skip-link:focus-visible{top:1rem}.stage{--cart: clamp(7rem, var(--screen-h, 100svh) * .15, 10rem);overflow-x:clip;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100svh;padding:1.5rem 2rem}.side-heading,.section-heading{display:flex;justify-content:space-between;gap:1ch;color:var(--ink)}@property --rot{syntax: "<angle>"; inherits: true; initial-value: 0deg;}.hint-narrow{display:none}.side-hint{margin-top:.25rem;font-size:.8rem}.rack li{--a: calc(var(--slot, 0deg) - var(--rot) + var(--cap-a, 0deg));--near: calc((cos(var(--a)) + 1)/2) }.rack-cart{touch-action:pan-y;-webkit-tap-highlight-color:transparent}.rack-cart .rack-action{margin-top:-.6rem}.rack-cart:not(.is-front) .rack-action{visibility:hidden}.rack .rack-action{transition:opacity .2s}.rack.is-orbiting .rack-action{opacity:0}.rack.is-orbit{--front: calc(var(--cart) * .4);--mid: calc(var(--hero-w) * .953 / 2);--rx: 80vw;--ry: calc((var(--front) + var(--mid)) / 2);--ring-y: calc((var(--front) - var(--mid)) / 2);position:absolute;left:50%;top:var(--ring-y);width:0;height:0;pointer-events:none}.rack.is-orbit li{--grow: calc(.3 + 1.15 * var(--near) * var(--near) * var(--near) * var(--near) * var(--near));position:absolute;left:calc(var(--cart) / -2);top:calc(var(--cart) / -2);width:var(--cart)}.rack.is-orbit .rack-cart{pointer-events:auto;transform-origin:50% 12%;transform:translate(calc(sin(var(--a)) * var(--rx) * var(--cap-k, 1)),calc(cos(var(--a)) * var(--ry) * var(--cap-k, 1))) scale(var(--grow));opacity:calc(.4 + .6 * var(--near))}.rack.is-orbit .rack-cart .rack-action{transform:scale(calc(1 / var(--grow)));transform-origin:50% 0}.rack-cart{display:block;width:100%;padding:0;border:0;background:none;color:var(--muted);font:inherit;text-align:left;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.cartridge{display:block;width:100%;height:auto}.rack-action{display:block;margin-top:.35rem;text-align:center}.rack-action>span{padding:0 var(--pad);margin:0 calc(var(--pad) * -1);color:var(--ink)}.rack-cart.is-loaded{cursor:default}.rack-cart{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}@media (hover: hover) and (pointer: fine){.rack-cart .cartridge{cursor:grab}}html.is-carrying,html.is-carrying *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.rack-cart.is-loaded .rack-action{color:var(--accent)}@media (hover: hover){.rack-cart:not(.is-loaded):hover .rack-action>span{background:var(--ink);color:var(--bg)}}.rack-cart:focus-visible{outline:none}.rack-cart:focus-visible .rack-action>span{background:var(--ink);color:var(--bg);outline:1px dotted var(--ink);outline-offset:2px}.content{width:min(100% - 2.5rem,120ch);margin-inline:auto;padding:2rem 0 3rem}.ascii-art{position:relative;width:100%;aspect-ratio:3 / 2;overflow:hidden;background:var(--tile)}.ascii-art canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.hero{--hero-w: min(100vw - 4rem - var(--cart) * 1.6, 60rem, (var(--screen-h, 100svh) - 7.25rem - var(--cart) * 1.45) / .953);display:grid;width:var(--hero-w)}.rig-slot{position:relative;z-index:15;grid-area:1 / 1}.side{position:relative;grid-area:1 / 1;align-self:end;height:0}.side-heading,.side-hint{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.hero>.hero-caption{margin-top:calc(var(--cart) * 1.45 + 2.25rem)}.rig{position:relative;width:100%;container-type:inline-size}.rig-glass{position:absolute}.rig{--case: #cbbd9c}.mon-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg);width:100%;height:100%;pointer-events:none}.mon{position:absolute;top:0;right:0;bottom:0;left:0;color:var(--case);font-size:calc(100cqw / var(--frame-cols) / .606 / var(--text-zoom, 1));line-height:calc(100cqw / var(--frame-cols) / .6);white-space:pre;-webkit-user-select:none;user-select:none}.mon-line{height:calc(100cqw / var(--frame-cols) / .6)}.mon-title{color:var(--ink);font-weight:500}.mon-slot{color:var(--muted)}.mon-legend{position:absolute;display:flex;align-items:center;justify-content:center;color:color-mix(in srgb,var(--case) 70%,var(--bg));font-size:calc(100cqw / var(--frame-cols) / 2 / .606);letter-spacing:.08em;line-height:1;white-space:pre;pointer-events:none}.mon-flap-well{display:inline-block;vertical-align:top;background:var(--tile);perspective:6em;perspective-origin:50% 0}.mon-flap{display:inline-block;vertical-align:top;transform-origin:50% 0;backface-visibility:visible}.mon-eject{position:absolute;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:none;color:color-mix(in srgb,var(--case) 80%,var(--bg));cursor:pointer}.mon-eject svg{width:55%}.mon-eject:is(:hover,:focus-visible){color:var(--ink)}.mon-eject:active svg{transform:translateY(8%)}.mon-eject:disabled{color:color-mix(in srgb,var(--case) 35%,var(--bg));cursor:default}.rig.is-empty .mon-play{color:var(--muted);text-shadow:none;pointer-events:none}.rig.is-empty .mon-play-icon{filter:none}.mon-play{position:absolute;margin-left:-20px;display:flex;align-items:center;justify-content:center;gap:.3em;color:var(--accent);font-size:calc(100cqw / var(--frame-cols) / .606 / var(--text-zoom, 1));font-weight:600;line-height:1;text-decoration:none;text-shadow:0 0 .3em color-mix(in srgb,var(--accent) 80%,transparent),0 0 .9em color-mix(in srgb,var(--accent) 45%,transparent);white-space:pre}.mon-play-icon{font-size:2.1em;filter:drop-shadow(0 0 .1em var(--accent)) drop-shadow(0 0 .3em color-mix(in srgb,var(--accent) 50%,transparent))}.mon-play.is-busy .mon-play-icon{animation:led-blink .24s steps(2,jump-none) infinite}.mon-play-label{position:relative;display:inline-block}.mon-play-label:after{position:absolute;top:0;right:0;bottom:0;left:0;content:attr(data-text);color:transparent;text-shadow:none;background:linear-gradient(105deg,transparent 38%,rgb(255 255 255 / .7) 46%,#fff 50%,rgb(255 255 255 / .7) 54%,transparent 62%) 100% 0 / 300% 100% no-repeat;-webkit-background-clip:text;background-clip:text;opacity:0}.mon-play-glint{position:absolute;top:-.35em;right:-.45em;width:.9em;height:.9em;background:radial-gradient(circle,#fff 0 10%,transparent 32%),linear-gradient(to right,transparent 46%,#fff 50%,transparent 54%),linear-gradient(to bottom,transparent 46%,#fff 50%,transparent 54%);-webkit-mask-image:radial-gradient(circle,#000 15%,transparent 70%);mask-image:radial-gradient(circle,#000 15%,transparent 70%);filter:drop-shadow(0 0 .15em var(--accent));transform:scale(0);pointer-events:none}.mon-play-pixel{--px: calc(.6em / 11);--depth: calc(var(--px) * 3);position:relative;display:inline-block;width:.6em;height:.6em;margin-inline:.3em;vertical-align:baseline;transform-style:preserve-3d}.mon-play-pixel svg,.mon-play-pixel i{position:absolute;left:0}.mon-play-pixel svg{top:0;width:100%;height:100%;backface-visibility:hidden}.mon-play-front{transform:translateZ(calc(var(--depth) / 2))}.mon-play-back{transform:rotateX(180deg) translateZ(calc(var(--depth) / 2))}.mon-play-pixel i{top:calc(var(--r) * var(--px) - var(--depth) / 2);width:calc(var(--w) * var(--px));height:var(--depth);transform:rotateX(90deg)}.mon-play-pixel i.is-top{background:color-mix(in srgb,currentColor 80%,black)}.mon-play-pixel i.is-bottom{background:color-mix(in srgb,currentColor 60%,black)}@media (hover: hover){.mon-play:hover{background:none;color:var(--accent)}.mon-play:hover .mon-play-pixel{animation:play-spin 1.2s linear infinite}.mon-play:hover .mon-play-label:after{animation:play-sheen 2.2s ease-in-out infinite}.mon-play:hover .mon-play-glint{animation:play-glint 2.2s ease-out infinite}}.mon-play:focus-visible{background:none;color:var(--accent)}.mon-play:focus-visible .mon-play-pixel{animation:play-spin 1.2s linear infinite}.mon-play:focus-visible .mon-play-label:after{animation:play-sheen 2.2s ease-in-out infinite}.mon-play:focus-visible .mon-play-glint{animation:play-glint 2.2s ease-out infinite}@keyframes play-spin{0%{transform:perspective(4em) rotateX(0)}to{transform:perspective(4em) rotateX(360deg)}}@keyframes play-sheen{0%{background-position:100% 0;opacity:1}38%{background-position:0 0;opacity:1}39%,to{background-position:0 0;opacity:0}}@keyframes play-glint{0%,22%{transform:scale(0) rotate(0)}31%{transform:scale(1.15) rotate(45deg)}45%,to{transform:scale(0) rotate(90deg)}}.mon-play:focus-visible{outline:1px dotted var(--accent);outline-offset:2px}@keyframes led-blink{50%{opacity:.2}}.crt-screen{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:5%/7%;background:#07090c;box-shadow:0 0 2em -.6em color-mix(in srgb,var(--accent) 50%,transparent);transition:box-shadow .4s}.crt-screen:after{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:repeating-linear-gradient(to bottom,rgb(0 0 0 / .28) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 60%,rgb(0 0 0 / .5) 100%);box-shadow:inset 0 0 1.5em #000000bf;content:"";pointer-events:none}.crt-static{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.crt-static.is-dim{opacity:.18;transition:opacity .3s}.crt-screen.is-empty{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.crt-prompt{position:absolute;top:50%;left:50%;z-index:2;width:calc(100% * 36 / var(--cols));padding:calc(100% * 1 / var(--rows)) calc(100% * 3 / var(--cols));border:1px solid currentColor;background:#07090c;transform:translate(-50%,-50%);color:var(--ink);font-family:var(--mono);font-size:calc(100cqw / var(--cols) / .606 / var(--text-zoom, 1));line-height:calc(100cqh / var(--rows));text-shadow:0 0 .4em rgb(232 235 239 / .6);white-space:pre;cursor:auto}.crt-prompt p{margin:0}.crt-prompt-field{position:relative;display:block;cursor:text}.crt-prompt-field input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;padding:0;border:0;background:transparent;color:transparent;caret-color:transparent;font:16px var(--mono);outline:none;opacity:0}.crt-prompt-hint{color:var(--muted)}.crt-prompt.is-denied .crt-prompt-hint{color:#ff6b6b;text-shadow:0 0 .4em rgb(255 107 107 / .6)}.crt-prompt.is-granted{color:#7dffa0;text-shadow:0 0 .4em rgb(125 255 160 / .6)}.crt-content{position:absolute;top:50%;left:3%;width:94%;aspect-ratio:calc(var(--cols) * .6) / var(--rows);transform:translateY(-50%);container-type:size}.crt-shot{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.15) contrast(1.08) brightness(.9) blur(.35px);animation:crt-on .65s cubic-bezier(.2,.7,.2,1) both}@keyframes crt-on{0%{opacity:1;filter:brightness(4) saturate(0);transform:scale(.5,.004)}35%{filter:brightness(3) saturate(0);transform:scaleY(.006)}to{filter:saturate(1.15) contrast(1.08) brightness(.9) blur(.35px);transform:none}}.crt-screen:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:repeating-linear-gradient(90deg,#ff3c3c12 0,#ff3c3c12 1px,#3cff3c12 1px,#3cff3c12 2px,#3c3cff12 2px,#3c3cff12 3px);content:"";pointer-events:none;animation:crt-flicker 4s steps(1) infinite}@keyframes crt-flicker{0%,to{opacity:1}47%{opacity:.75}48%{opacity:1}81%{opacity:.85}82%{opacity:1}}.crt-boot{margin:0;color:var(--accent);font-family:var(--mono);font-size:calc(100cqw / var(--cols) / .606 / var(--text-zoom, 1));line-height:calc(100cqh / var(--rows));text-shadow:0 0 .4em color-mix(in srgb,var(--accent) 70%,transparent);white-space:pre}.crt-cursor{animation:led-blink 1s steps(2,jump-none) infinite}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.hero-caption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 2ch;margin-top:.75rem}.lede{max-width:64ch;margin-top:2.5rem}.lede>p+p{margin-top:.75rem}.contact{display:flex;flex-wrap:wrap;gap:0 1.5ch}.pieces{margin-top:3.5rem}.section-heading{margin-bottom:1rem}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 2ch}.piece{scroll-margin-top:2rem}.piece-art{display:block;margin:0 0 .75rem;padding:0}@media (hover: hover){.piece-art:hover{background:none}.piece-art:hover .piece-shot{outline:1px solid var(--ink);outline-offset:3px}}.piece-shot{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;background:var(--tile);filter:var(--photo-filter)}.piece-title{font-weight:500}.piece-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 2ch;margin-top:.5rem}.piece-why{margin-top:.5rem}@media (max-width: 900px){.grid{grid-template-columns:1fr}}@media (max-width: 640px){.stage{--cart: clamp(4.5rem, 22vw, 6rem);padding:1.5rem 1.25rem}.hero{--hero-w: min(100vw - 2.5rem, (var(--screen-h, 100svh) - 7.25rem - var(--cart) * 1.45) / .953)}}.space{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;pointer-events:none}html.galaxy-grab,html.galaxy-grab *{cursor:grab}html.galaxy-grabbing,html.galaxy-grabbing *{cursor:grabbing;-webkit-user-select:none;user-select:none}.stage,.content{position:relative;z-index:1}.hero-caption p,.lede,.section-heading,.piece,.side-heading,.side-hint,.rack-action{background:var(--bg);box-shadow:0 0 0 .6rem var(--bg)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.mon-play.is-busy .mon-play-icon,.mon-play:is(:hover,:focus-visible) .mon-play-pixel,.mon-play:is(:hover,:focus-visible) .mon-play-label:after,.mon-play:is(:hover,:focus-visible) .mon-play-glint,.crt-shot,.crt-screen:before,.crt-cursor{animation:none}}.intro-hint{display:none}html.has-intro{--intro: 0}html.has-intro .intro{height:calc(100dvh + var(--screen-h, 100svh) * 1.6)}html.has-intro .stage{position:sticky;top:0;height:100dvh;min-height:0}html.has-intro .intro-hint{display:block;position:fixed;left:50%;bottom:2.5rem;z-index:2;transform:translate(-50%);opacity:clamp(0,1 - var(--intro) * 10,1);pointer-events:none;animation:intro-hint 2.4s ease-in-out infinite}@keyframes intro-hint{50%{translate:0 .5rem}}.intro-tv{display:none}html.has-intro .intro-tv{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;pointer-events:none}html.has-intro .rig{opacity:clamp(0,(var(--intro) - .58) / .08,1)}html.has-intro .side-heading,html.has-intro .side-hint{opacity:clamp(0,(var(--intro) - .64) / .1,1)}html.has-intro .hero-caption{opacity:clamp(0,(var(--intro) - .86) / .12,1)}html.has-intro .content{opacity:0;transform:translateY(2rem);transition:opacity .7s ease,transform .7s ease}html.has-intro.intro-done .content{opacity:1;transform:none}
