@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap";@import"https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap";*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;user-select:none}body{font-family:Manrope,Inter,sans-serif;font-variation-settings:"wght" 400;background-color:#fafafa;overflow:hidden}a,p{display:block;text-decoration:none;color:#fff;font-size:14px;font-weight:600;font-variation-settings:"wght" 600;letter-spacing:-.01rem;-webkit-font-smoothing:antialiased}nav,footer{position:absolute;left:0;width:100vw;padding:1em;display:flex;justify-content:center;gap:2em;mix-blend-mode:difference;z-index:10000}nav{top:0}footer{bottom:0}.links,.socials{display:flex;gap:2em}nav>*,.links a{flex:1}.socials a{white-space:nowrap;min-width:max-content;flex:none;cursor:pointer}.container{position:relative;width:100vw;height:100vh;overflow:hidden;cursor:all-scroll}.container:active{cursor:all-scroll}.canvas{position:absolute;will-change:transform}.item{position:absolute;width:280px;height:280px;cursor:grab;padding:16px;transition:opacity .2s ease;display:flex;align-items:center;justify-content:center;transition:transform .3s ease,opacity .2s ease}.item:hover{transform:rotate(0) translateZ(0)!important}.expanded-item{position:fixed;z-index:100;background-color:transparent;overflow:hidden;cursor:pointer;box-shadow:0 2px 2px #00000026}img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;pointer-events:auto;cursor:se-resize;display:block;transition:transform .2s ease}.item img:hover{transform:scale(1.02)}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#fafafa;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;cursor:pointer;transition:opacity .3s ease;opacity:0;z-index:2}.overlay.active{pointer-events:auto;opacity:.95}.project-title{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;text-align:center;pointer-events:none;z-index:10000}.project-title p{position:relative;height:42px;color:#fff;clip-path:polygon(0 0,100% 0,100% 100%,0% 100%);mix-blend-mode:difference}.project-title p .word{position:relative;display:inline-block;font-family:Manrope,Inter,sans-serif;font-size:36px;font-variation-settings:"wght" 700;letter-spacing:-.02rem;margin-right:.1em;transform:translateY(0);will-change:transform}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#fffffffa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s ease;z-index:20000;cursor:pointer}.modal-overlay.active{opacity:1;visibility:visible}.modal-content{background:transparent;border-radius:0;padding:2rem;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;position:relative;transform:translateY(20px);transition:transform .3s ease;cursor:default;text-align:center}.modal-overlay.active .modal-content{transform:translateY(0)}.modal-content h2{font-family:Manrope,Inter,sans-serif;font-size:2rem;font-variation-settings:"wght" 700;color:#333;margin-bottom:1.5rem;letter-spacing:-.02rem;text-align:center}.modal-content p{font-family:Manrope,DM Sans,sans-serif;font-size:1rem;font-variation-settings:"wght" 400;line-height:1.6;color:#666;margin:0 0 2rem;text-align:center;user-select:text;-webkit-user-select:text}.modal-link{font-family:Manrope,Inter,sans-serif;font-size:14px;font-variation-settings:"wght" 600;color:#333!important;text-decoration:underline;text-underline-offset:4px;transition:color .2s ease;cursor:pointer;display:inline-block}.modal-link:hover{color:#000!important}.caption-tooltip{font-family:Manrope,DM Sans,monospace;font-size:14px;font-variation-settings:"wght" 400;letter-spacing:0;color:#333;background:none;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;border-radius:0;max-width:280px;text-align:left;line-height:1.3;-webkit-font-smoothing:antialiased}.expanded-caption{font-family:Manrope,sans-serif;font-size:14px;font-variation-settings:"wght" 500;letter-spacing:0;color:#333;background:none;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;border-radius:0;text-align:center;line-height:1.3;-webkit-font-smoothing:antialiased;position:fixed;bottom:3.4em;left:50%;transform:translate(-50%);max-width:80vw;width:auto;white-space:nowrap;z-index:101}.expanded-caption.multiline{white-space:normal;max-width:60vw;text-align:center}@media (max-width: 768px){.project-title p .word{font-size:24px;font-variation-settings:"wght" 700}.item{width:200px;height:200px;padding:12px}.caption-tooltip{font-size:12px;max-width:200px}.expanded-caption{font-size:12px;max-width:90vw;bottom:1em}.expanded-caption.multiline{max-width:80vw}.socials{gap:1em}.socials a{font-size:12px;font-variation-settings:"wght" 800}.modal-content{padding:2rem;width:95%}.modal-content h2{font-size:1.5rem;font-variation-settings:"wght" 700}.modal-content p{font-size:.9rem;font-variation-settings:"wght" 400}}@media (max-width: 480px){.item{width:160px;height:160px;padding:10px}.project-title p .word{font-size:20px;font-variation-settings:"wght" 700}.caption-tooltip{font-size:11px;max-width:160px}.expanded-caption{font-size:11px;bottom:1em;max-width:95vw}.expanded-caption.multiline{max-width:90vw}.socials{gap:.5em}.socials a{font-size:11px;font-variation-settings:"wght" 600}.modal-content{padding:1.5rem;width:95%}.modal-content h2{font-size:1.25rem;margin-bottom:1rem;font-variation-settings:"wght" 600;letter-spacing:-.2em;line-height:1em}.modal-content p{font-size:.95rem;font-variation-settings:"wght" 400;line-height:1.5em;margin-bottom:2rem}}.container::-webkit-scrollbar{display:none}.container{-ms-overflow-style:none;scrollbar-width:none}.item[data-loading=true]{opacity:.7}.item[data-has-metadata=true] img{position:relative}.item[data-has-metadata=true] img:after{content:"ℹ️";position:absolute;top:4px;right:4px;font-size:12px;opacity:0;transition:opacity .2s ease;pointer-events:none}.item[data-has-metadata=true]:hover img:after{opacity:.7}
