:root{--page-inline-space:50px}
@font-face{font-family:Monument;src:url('/assets/9de99f9b78f2-MonumentExtended-Regular.woff2') format('woff2');font-display:swap;font-weight:400;font-style:normal}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#080808;font:15px/1.35 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:#555}button,input,textarea{font:inherit}button{color:inherit;cursor:pointer}button:disabled{opacity:.25;cursor:default}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:1px solid #111;outline-offset:5px}img{max-width:100%}h2{font-family:Monument,Arial,sans-serif;font-size:15px;font-weight:400;line-height:1.25;margin:0 0 3px}p{margin:0 0 1em}.skip{position:fixed;left:16px;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:12px}.footer{display:flex;justify-content:space-between;align-items:center;padding:20px var(--page-inline-space);color:#646464;font-size:15px;margin-top:auto;min-height:62px}.social{display:flex;gap:20px}.social a{display:flex;align-items:center;justify-content:center;width:20px;height:24px}.social svg{width:17px;height:17px}.social a:first-child svg{fill:currentColor}.home-page,.center-page,.experiment-page{min-height:100svh;display:flex;flex-direction:column}.home-page main,.center-page main{flex:1;display:flex;align-items:center;justify-content:center}.menu{display:grid;grid-template-columns:repeat(5,1fr);width:min(800px,calc(100% - 80px));margin-top:48px;align-items:center}.menu-item{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;text-align:center}.braille{font-family:Monument,Arial,sans-serif;font-size:18px;letter-spacing:1px;white-space:nowrap;transition:transform .3s}.menu-label{position:absolute;font-size:10px;bottom:calc(100% - 9px);left:50%;transform:translate(-50%,6px);opacity:0;transition:opacity .2s,transform .2s}.menu-item:hover .menu-label,.menu-item:focus-visible .menu-label{opacity:1;transform:translate(-50%,0)}.menu-item:hover .braille{transform:scale(1.1)}.intro-page main{min-height:100svh;display:grid;place-items:center}.intro-logo{width:150px;height:auto;animation:fade-in 1.2s both}.about-copy{max-width:650px;padding:32px;line-height:1.6}.about-copy p:first-child{margin-bottom:24px}.chain-links{display:flex;gap:150px;font-family:Monument,Arial,sans-serif;font-size:18px}.project-list{max-width:1120px;margin:0 auto;padding:138px 0 70px}.project{margin-bottom:34px}.project>p{margin:0;line-height:1.35}.toggle{display:block;background:none;border:0;padding:0;text-align:left;min-width:44px;height:19px;line-height:19px;font-size:15px;touch-action:manipulation}.toggle.external{height:19px}.gallery{margin-top:34px;animation:fade-in .35s ease}.gallery[hidden]{display:none}.track{display:flex;align-items:center;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.track::-webkit-scrollbar{display:none}.slide{flex:0 0 50%;min-width:0;scroll-snap-align:start;padding:0;border:0;background:transparent;display:flex;align-items:center;justify-content:center;cursor:zoom-in}.slide img{width:100%;max-height:75vh;object-fit:contain;display:block}.lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;padding:50px;border:0;background:rgba(255,255,255,.98)}.lightbox::backdrop{background:white}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox img{max-height:85dvh;max-width:90vw;object-fit:contain}.lightbox button{position:absolute;background:white;border:0;width:44px;height:44px;font-size:25px}.lightbox-close{top:16px;right:16px}.experiment-page main{flex:1;display:flex;align-items:center;justify-content:center;width:100%;padding:120px 24px 48px}.experiment{width:min(100%,1120px);min-width:0}.experiment input{min-width:0}.experiment .c42-wrap,.experiment .ledger-wrap{max-width:100%}.reading-page main{display:block;max-width:1120px;margin:auto;padding-top:138px;line-height:1.6}.qrekt .experiment,.wth .experiment{text-align:center}.qrekt img{width:min(360px,80vw);height:auto}.surveillance-cam{text-align:center}.camera-start{border:1px solid #ddd;border-radius:20px;background:white;padding:10px 18px;margin-top:16px}.camera-status{font-size:13px;color:#666}.sudo-rm-rf main{min-height:500vh}.sudo-rm-rf .footer{display:none}.reading-page p{margin-bottom:20px}.experiment video{max-width:100%}.c42-inputRow{min-width:0}body:has(dialog[open]){overflow:hidden}@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media(min-width:768px) and (max-width:1199px){.project-list{margin:0 40px}.menu{width:calc(100% - 60px)}.reading-page main{padding-left:40px;padding-right:40px}}
@media(max-width:767px){:root{--page-inline-space:24px}.footer{padding:18px var(--page-inline-space);font-size:13px;min-height:64px}.social{gap:16px}.social a{width:32px;height:32px}.menu{grid-template-columns:1fr;gap:23px;width:100%;padding:48px 24px;margin-top:0}.menu-item{min-height:44px}.menu-label{opacity:1;transform:none;bottom:calc(100% - 3px);font-size:10px;color:#777}.braille{font-size:18px}.menu-item:hover .braille{transform:none}.project-list{padding:105px 24px 40px;margin:0}.project{margin-bottom:37px}h2{font-size:14px;line-height:1.4}.project>p{font-size:14px;line-height:1.45;max-width:100%}.toggle{height:34px;line-height:34px;min-width:44px;font-size:18px}.toggle.external{height:34px}.gallery{margin-top:16px}.slide{flex-basis:100%}.slide img{max-height:70svh}.about-copy{padding:80px 24px;font-size:14px}.chain-links{gap:80px;font-size:16px}.lightbox{padding:45px 12px}.lightbox img{max-width:100%;max-height:80dvh}.experiment-page main{padding:105px 24px 40px}.reading-page main{font-size:14px;line-height:1.6}.intro-logo{width:120px}.c42-wrap .c42-input{width:0}.surveillance-cam #cam{border-radius:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.track.dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;user-select:none}.track.dragging .slide{cursor:grabbing}.slide img{-webkit-user-drag:none;user-select:none}.lightbox img{touch-action:pan-y;-webkit-user-drag:none}
.ponzinomics-page .project-list{padding-top:140px}.ponzinomics-page .project{margin-bottom:50px}.ponzinomics-page h2{font-size:15px;line-height:15px;margin-bottom:5px}.ponzinomics-page .project>p{font-size:15px;line-height:15px}
@media(max-width:767px){.ponzinomics-page .project-list{padding:120px 20px 40px}}

/* Keep the original Regular face; avoid synthetic weight and heavy macOS rasterization. */
h2,.chain-links{font-weight:400;font-style:normal;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.about-page main{flex:none;min-height:85vh;margin-top:50px}.about-page .about-copy{width:100%;max-width:none;padding:0 var(--page-inline-space);text-align:left;font-size:15px;line-height:22.5px}.about-page .about-copy p{margin:0 0 14.4px}
@media(max-width:767px){.about-page main{min-height:75vh;margin-top:30px}}

/* Opening: the black layer and logo fade away together, revealing the menu underneath. */
body.intro-pending{overflow:hidden;background:#fff}
.intro-pending>main,.intro-pending>.footer{pointer-events:none}
.intro-overlay{position:fixed;inset:0;z-index:1000;overflow:hidden;background:#000;isolation:isolate}
.intro-enter{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:150px;height:150px;border:0;padding:0;background:transparent;opacity:0;transition:opacity .3s ease}
.intro-enter:focus-visible{outline-color:#fff;outline-offset:12px}
.intro-mark{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}
.intro-ready .intro-enter{opacity:1}
.intro-complete{background:#fff}
@media(max-width:767px){.intro-enter{width:120px;height:120px}}

/* Basic edition: no decorative motion. */
html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.menu-item:hover .braille{transform:none}

/* Shared frame within each collection keeps differently exported images aligned. */
.portfolio-page .track{align-items:stretch}
.portfolio-page .slide{aspect-ratio:var(--gallery-ratio);position:relative;overflow:hidden}
.portfolio-page .slide img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover}
