@font-face{font-family:Paper Mono;src:url(/fonts/paper-mono.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#000;--green:#72e88d;--white:#f2f2f2;--mono:"Paper Mono", "Courier New", Courier, monospace}*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--white);font-family:var(--mono);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}::selection{background:var(--green);color:#000}a,button{font-family:var(--mono)}:focus-visible{outline:1px dashed var(--green);outline-offset:3px}.frame{grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;display:grid}.masthead{justify-content:center;padding:clamp(12px,2.6vh,30px) 16px clamp(4px,1vh,12px);display:flex}.masthead-link{line-height:0;display:block}.masthead-logo{width:clamp(170px,26vw,330px);max-width:72vw;height:auto;display:block}.stage{min-width:0;min-height:0;position:relative}.contact{justify-content:center;padding:clamp(8px,1.8vh,20px) 16px clamp(12px,2.6vh,28px);display:flex}.green-link{color:var(--green);letter-spacing:.18em;text-underline-offset:.35em;white-space:nowrap;font-size:clamp(11px,1.9vmin,16px);text-decoration:underline;text-decoration-thickness:1px}.green-link:hover{color:var(--white)}.home{height:100%;position:relative}.anim-field{width:100%;height:100%;display:block;position:absolute;inset:0}.home-links{pointer-events:none;height:26%;position:absolute;bottom:0;left:0;right:0}.home-links a{pointer-events:auto;position:absolute}.home-link-work{top:8%;left:clamp(8%,24vw,30%)}.home-link-github{bottom:22%;right:clamp(8%,22vw,28%)}.work{flex-direction:column;align-items:center;row-gap:clamp(5px,1.7vh,10px);height:100%;padding:clamp(2px,.8vh,10px) clamp(10px,4vw,32px);display:flex}.work>*{flex-shrink:0}.work-empty{justify-content:center}.work-empty .back-button{margin-bottom:0}.work-heading{color:var(--green);letter-spacing:.01em;text-indent:.42em;white-space:nowrap;margin:0;font-size:clamp(12px,2.6vmin,22px);font-weight:400}.work-slides{flex-shrink:1;justify-content:center;align-items:center;width:100%;height:min(46vh,min(88vw,920px)/1.6129);min-height:0;display:flex}.slideshow{aspect-ratio:1.62;border:2px solid var(--white);background:var(--bg);grid-template-columns:clamp(28px,9%,72px) minmax(0,1fr) clamp(28px,9%,72px);height:100%;margin:0;display:grid;box-shadow:5px 5px #49f72666}.slide-window{background:var(--bg);justify-content:center;align-items:center;min-width:0;display:flex;position:relative;overflow:hidden}.slide-img{object-fit:contain;width:100%;height:100%;display:block}.slide-empty{color:var(--white);letter-spacing:.3em;opacity:.6;font-size:clamp(10px,1.6vmin,14px)}.slide-arrow{background:var(--bg);cursor:pointer;border:1px solid #fff;justify-content:center;align-items:center;padding:0;display:flex}.slide-arrow svg{width:clamp(10px,34%,20px);fill:var(--white)}.slide-arrow:hover svg{fill:var(--green)}.slide-arrow:disabled{cursor:default;opacity:.3}.work-description{color:var(--green);letter-spacing:.14em;text-align:center;margin:0;padding-top:1em;font-size:clamp(10px,2.3vmin,18px)}.work-roles{color:var(--white);letter-spacing:.16em;text-align:center;margin:0;font-size:clamp(8px,1.7vmin,14px)}.work-visit{min-height:1px;margin-top:auto;margin-bottom:auto}.visit-button{background:var(--bg);color:#f2f2f2;letter-spacing:.16em;border:1px dashed #f2f2f2;padding:1em 1.6em;font-size:clamp(8px,1.8vmin,10px);text-decoration:none;display:inline-block}.visit-button:hover{background:var(--green);color:var(--bg)}.work-list{border:1px solid var(--green);grid-auto-rows:minmax(0,1fr);width:min(86vw,520px);max-height:30vh;display:grid;box-shadow:5px 5px #49f72666}.work-row{color:var(--green);letter-spacing:.05em;border-bottom:1px solid var(--green);white-space:nowrap;justify-content:center;align-items:center;min-height:0;padding:clamp(4px,1.2vh,13px) 8px;font-size:clamp(11px,1.9vmin,16px);text-decoration:none;display:flex;overflow:hidden}.work-row:last-child{border-bottom:none}.work-row:hover{color:#000;background:#5ab76f}.work-row.is-active{color:#000;background:#72e88d}.back-button{cursor:pointer;color:var(--white);background:0 0;border:none;margin-bottom:auto;padding:2px 10px;line-height:0}.back-button svg{width:auto;height:clamp(20px,3vh,26px)}.back-button:hover{color:var(--green)}@media (height<=480px){.masthead{padding-top:8px;padding-bottom:2px}.masthead-logo{width:clamp(130px,20vw,190px)}.contact{padding-top:4px;padding-bottom:8px}.work{row-gap:4px}}
