:root{--bg: #0a0a0a;--fg: #ededed;--muted: #8a8a8a;--line: #262626;--gutter: 24px;--bar-height: 48px;--page-max-width: 1920px;--dpr: 1;color-scheme:dark}*{box-sizing:border-box}html{scroll-padding-top:var(--bar-height)}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit}main{max-width:calc(var(--page-max-width) + 2 * var(--gutter));margin-inline:auto}.bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--bar-height);padding:0 var(--gutter);background:var(--bg);border-bottom:1px solid var(--line)}.name{font-weight:600;text-decoration:none;white-space:nowrap}.back{display:none;margin-right:auto;color:var(--muted);text-decoration:none;white-space:nowrap}.back:hover{color:var(--fg)}[data-view=project] .back{display:block}[data-view=project] .years{display:none}.years ul{display:flex;gap:16px;margin:0;padding:0;list-style:none}.years a{color:var(--muted);text-decoration:none;font-variant-numeric:tabular-nums}.years a:hover,.years a[aria-current=true]{color:var(--fg)}#year-select{display:none;padding:4px 8px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--fg);font:inherit}@media(max-width:800px){:root{--gutter: 16px}.years ul{display:none}#year-select{display:block}}.intro{padding:32px var(--gutter);max-width:70ch}.intro p{margin:0}.intro p+p{color:var(--muted)}.year-title{margin:0;padding:32px var(--gutter) 0;border-top:1px solid var(--line);color:var(--muted);font-size:16px;font-weight:400;font-variant-numeric:tabular-nums}.project{padding:24px var(--gutter) 48px}.project h3{margin:0;font-size:20px;font-weight:600}.project h3 a{text-decoration:none}.project h3 a:hover{text-decoration:underline}.project h1{margin:0;font-size:28px;font-weight:600;outline:none}.project .project-year{margin:0;font-variant-numeric:tabular-nums}#project-page .project{padding-top:32px}.cover{display:block}.cover .media{width:min(100cqw,var(--page-max-width),var(--w) * 1px / var(--dpr),(100vh - var(--bar-height) - 32px) * var(--w) / var(--h))}.project p{max-width:70ch;margin:4px 0 0;color:var(--muted)}.gallery{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:16px;container-type:inline-size}.media{display:block;flex:none;width:min(100%,var(--page-max-width),var(--w) * 1px / var(--dpr),(100vh - var(--bar-height) - 32px) * var(--w) / var(--h));height:auto;aspect-ratio:var(--w) / var(--h);background:#000}.demo{position:relative;flex:none;width:min(100%,var(--page-max-width));aspect-ratio:16 / 9;overflow:hidden;background:#000}.demo iframe,.demo>img,.demo-shield{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.demo img{object-fit:cover}.demo-stage{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;overflow:hidden;background:none;color:inherit}.demo-stage:popover-open{position:fixed;background:#000}.demo-expanded{overflow:hidden}.demo-close{display:none;position:absolute;top:12px;left:12px;padding:4px 12px;border:1px solid var(--line);background:#000000b3;color:var(--fg);font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;cursor:pointer}.demo-stage:popover-open .demo-close{display:block}.demo-shield{display:flex;align-items:flex-end;justify-content:flex-end;padding:8px 12px;background:none;color:var(--fg);font:13px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;cursor:pointer}.demo-shield span{padding:2px 8px;background:#000000b3}.demo.active .demo-shield{display:none}.demo-message{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px;color:var(--muted);text-align:center}.demo img+.demo-message{align-items:flex-end;justify-content:flex-start;color:var(--fg)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.zoom-frame{position:relative;flex:none}.zoom-frame .media{width:min(100cqw,var(--page-max-width),var(--w) * 1px / var(--dpr),(100vh - var(--bar-height) - 32px) * var(--w) / var(--h))}.zoomable img{cursor:zoom-in}.zoom-button{display:none;position:absolute;top:8px;right:8px;padding:2px 8px;border:0;background:#000000b3;color:var(--fg);font:13px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;cursor:zoom-in}.zoomable .zoom-button{display:block}.zoom-open{overflow:hidden}.zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;overflow:auto;background:#000000eb;cursor:zoom-out;overscroll-behavior:contain}.zoom-overlay.dragging{cursor:grabbing}.zoom-media{display:block;flex:none;max-width:none;margin:auto;background:#000;-webkit-user-select:none;user-select:none}video.zoom-media{cursor:auto}.zoom-close{position:fixed;top:12px;right:12px;z-index:1;padding:4px 12px;border:1px solid var(--line);background:#000000b3;color:var(--fg);font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;cursor:pointer}
