@font-face{font-family:JGS5;src:url(/assets/jgs5-B3mLTSvD.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:400}*{box-sizing:border-box}:root{--hue-deg:0deg;--kakemono-width:430px;--shell-pad:clamp(18px, 7.5vw, 28px);--browser-bottom-inset:0px;--mobile-browser-safe:12px}html,body,#root{min-width:320px;min-height:100vh;margin:0;overflow:hidden}body{background:#000;font-family:JGS5,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}#root{height:100dvh;height:var(--app-height,100dvh);background:#000}button{font:inherit}.shader-background{z-index:0;filter:hue-rotate(var(--hue-deg));transform:translate3d(var(--parallax-x,0), var(--parallax-y,0), 0);will-change:transform;background:#000;position:fixed;inset:-7vmax;overflow:hidden}.shader-background canvas{width:100%;height:100%;display:block}.site-header{z-index:1;flex:none;justify-content:center;width:100%;padding:0;display:flex;position:relative}.site-logo{aspect-ratio:2;object-fit:contain;width:min(336px,74%);height:auto;filter:hue-rotate(var(--hue-deg));image-rendering:pixelated;display:block}.app-shell{z-index:1;width:min(100%, var(--kakemono-width));height:100%;padding:calc(var(--shell-pad) + env(safe-area-inset-top,0px)) var(--shell-pad) calc(var(--shell-pad) + env(safe-area-inset-bottom,0px) + var(--browser-bottom-inset) + var(--mobile-browser-safe));flex-direction:column;gap:clamp(16px,2.5vh,30px);margin:0 auto;display:flex;position:relative;overflow:hidden}.site-body,.bottom-nav{-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15);width:100%;box-shadow:none;background:#000;border:1px solid #ffffff2e;border-radius:0;margin:0 auto}.site-body{z-index:1;scrollbar-color:#0f0 #000;scrollbar-width:thin;flex:auto;min-height:0;padding:clamp(26px,5vmin,58px);display:flex;position:relative;overflow:hidden auto}.site-body.is-image-panel{padding:0;overflow:hidden}.site-body.is-work-panel{padding:clamp(8px,1.8vmin,15px)}.site-body::-webkit-scrollbar{width:6px}.site-body::-webkit-scrollbar-track{background:#000}.site-body::-webkit-scrollbar-thumb{background:#0f0}.site-body:before{display:none}.frame-visual{z-index:0;color:inherit;cursor:pointer;opacity:1;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;position:absolute;inset:clamp(9px,2.5vw,15px);overflow:hidden}.frame-visual:focus-visible{outline-offset:-1px;outline:1px solid #0f0}.dithered-image-stack,.dithered-image-source,.dithered-image{width:100%;height:100%;display:block}.dithered-image-stack{position:relative;overflow:hidden}.dithered-image-source,.dithered-image{position:absolute;inset:0}.dithered-image-source{object-fit:cover;opacity:0;-webkit-user-select:none;user-select:none;z-index:2;transition:opacity .12s linear}.dithered-image{filter:hue-rotate(var(--hue-deg));image-rendering:pixelated;opacity:1;z-index:1;transition:opacity .12s linear}.dithered-image-stack.can-reveal:hover .dithered-image-source{opacity:1}.dithered-image-stack.can-reveal:hover .dithered-image{opacity:0}.dithered-image-stack.is-revealed .dithered-image-source{mix-blend-mode:normal;visibility:visible;filter:none!important;opacity:1!important}.dithered-image-stack.is-revealed .dithered-image{visibility:hidden;opacity:0!important}.dithered-image[hidden]{display:none!important}.content-section{z-index:2;color:#0f0;min-width:0;min-height:0;filter:hue-rotate(var(--hue-deg));text-transform:uppercase;flex-direction:column;flex:1;justify-content:space-between;display:flex;position:relative}.content-kicker,.content-copy,.content-section h1{margin:0}.content-kicker,.content-copy,.bottom-nav button{letter-spacing:0}.content-kicker{font-size:.875rem;line-height:1}.content-section h1{overflow-wrap:anywhere;max-width:100%;font-size:clamp(2.5rem,10vw,4rem);line-height:.9}.site-body.is-about-panel .content-section h1{text-align:center;width:100%}.site-body.is-contact-panel .content-section{justify-content:center;align-items:center}.content-copy{white-space:pre-line;max-width:34rem;font-size:clamp(.875rem,2.4vw,1rem);line-height:1.35}.contact-link{color:inherit;text-align:center;text-transform:none;text-decoration:none}.contact-link:hover,.contact-link:focus-visible{outline:none;text-decoration:underline}.work-grid{color:#0f0;text-transform:uppercase;flex:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,5.5vw,38px);width:100%;min-width:0;min-height:auto;padding-bottom:0;display:grid}.work-grid:after{content:"";grid-column:1/-1;height:clamp(2px,.6vh,6px)}.project-card{flex-direction:column;gap:4px;min-width:0;min-height:auto;padding:0;display:flex;overflow:visible}.project-link{color:inherit;text-decoration:none}.project-link:focus-visible{outline-offset:4px;outline:1px solid #0f0}.project-image{aspect-ratio:1;background:#000;border:1px solid #00ff0047;flex:none;width:100%;position:relative;overflow:hidden;filter:none!important}.project-image .dithered-image-stack,.project-image .dithered-image-source{filter:none!important}.project-image .dithered-image{filter:hue-rotate(var(--hue-deg))!important}.project-image .dithered-image-source{mix-blend-mode:normal;transition:none;filter:none!important}.project-image:hover .dithered-image-source,.project-image .dithered-image-stack.can-reveal:hover .dithered-image{transition:none}.project-image:hover .dithered-image,.project-image .dithered-image-stack.can-reveal:hover .dithered-image{visibility:hidden;opacity:0!important}.project-image:hover .dithered-image-source,.project-image .dithered-image-stack.can-reveal:hover .dithered-image-source{visibility:visible;opacity:1!important}.project-card h2,.project-card p,.project-card span{filter:hue-rotate(var(--hue-deg))}.project-card h2,.project-card p{margin:0}.project-card h2{font-size:clamp(.72rem,2.1vw,.88rem);line-height:1.05}.project-card p{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(.56rem,1.55vw,.66rem);line-height:1.12;display:-webkit-box;overflow:hidden}.project-card span{color:#00ff00b8;margin-top:auto;font-size:clamp(.52rem,1.45vw,.62rem);line-height:1.1}.bottom-nav{z-index:1;flex:none;gap:clamp(9px,2.5vw,15px);padding:clamp(9px,2.5vw,15px);display:flex;position:relative;overflow:hidden}.bottom-nav button{color:#0f0;cursor:pointer;min-width:0;height:clamp(40px,6vw,44px);filter:hue-rotate(var(--hue-deg));text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;background:0 0;border:1px solid #00ff0047;border-radius:0;flex:1 1 0;padding:0 6px;font-size:.75rem;overflow:hidden}.bottom-nav button:hover,.bottom-nav button:focus-visible{border-color:#0f0;outline:none}.bottom-nav button.is-active{color:#000;background:#0f0;border-color:#0f0}@media (width<=640px){:root{--mobile-browser-safe:16px}}
