@import"https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500&family=VT323&display=swap";:root{--fluor: #dfff00;--void: #000000;--white: #ffffff}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--void);color:var(--white);font-family:Fira Code,Courier New,monospace;overflow:hidden}.gallery-page{min-height:100vh;background:var(--void)}.gallery-header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid color-mix(in srgb,var(--fluor) 30%,transparent);background:#000000c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.gallery-header-brand{display:inline-flex;align-items:center;gap:.75rem;color:var(--white);text-decoration:none}.gallery-header-title{margin:0;font-family:VT323,monospace;font-size:1.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fluor)}.gallery-header-nav{display:flex;flex-wrap:wrap;gap:.75rem 1rem;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}.gallery-header-nav a{color:var(--white);text-decoration:none}.gallery-header-nav a:hover{color:var(--fluor)}.btn-twitter{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid color-mix(in srgb,var(--white) 30%,transparent);background:var(--void);color:var(--white);text-decoration:none;transition:border-color .2s,color .2s,box-shadow .2s}.btn-twitter:hover{border-color:var(--fluor);color:var(--fluor);box-shadow:0 0 14px color-mix(in srgb,var(--fluor) 50%,transparent)}#gallery-container{position:fixed;top:0;right:0;bottom:0;left:0}#gallery-container canvas{display:none}.gallery-intro{position:fixed;top:5.5rem;left:1.5rem;z-index:10;max-width:22rem;pointer-events:none}.gallery-intro-label{margin:0 0 .5rem;font-size:.7rem;letter-spacing:.35em;text-transform:uppercase;color:var(--fluor)}.gallery-intro-title{margin:0 0 .75rem;font-family:VT323,monospace;font-size:clamp(2rem,4vw,3rem);line-height:1;color:var(--white)}.gallery-intro-copy{margin:0;font-size:.8rem;line-height:1.6;color:#ffffffd1}.gallery-intro-note{margin:.75rem 0 0;font-size:.65rem;line-height:1.55;letter-spacing:.08em;text-transform:uppercase;color:var(--fluor)}.gallery-showcase{position:fixed;top:5.5rem;right:1.5rem;z-index:12;display:flex;flex-direction:column;align-items:stretch;gap:.55rem;width:min(12.5rem,30vw);pointer-events:none}.gallery-showcase-label{margin:0;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb,var(--fluor) 85%,white)}.gallery-showcase-details{width:100%;margin:0;display:flex;flex-direction:column;gap:.45rem;padding-top:.15rem}.gallery-showcase-detail{margin:0;display:flex;flex-direction:column;gap:.15rem}.gallery-showcase-detail dt{margin:0;font-size:.5rem;letter-spacing:.16em;text-transform:uppercase;color:#ffffff80}.gallery-showcase-detail dd{margin:0;font-size:.62rem;line-height:1.35;letter-spacing:.04em;color:var(--white);word-break:break-all}.gallery-showcase-detail dd.is-fluor{color:var(--fluor)}.gallery-showcase-details.is-updating .gallery-showcase-detail dd{animation:gallery-detail-fade .35s ease}@keyframes gallery-detail-fade{0%{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.gallery-showcase-frame{width:100%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--fluor) 45%,transparent);background:#000000e0;box-shadow:0 0 24px color-mix(in srgb,var(--fluor) 28%,transparent),0 0 48px color-mix(in srgb,var(--fluor) 12%,transparent);transition:transform .35s cubic-bezier(.34,1.4,.64,1)}.gallery-showcase-frame.is-jumping{transform:translateY(-8px) scale(1.04)}.gallery-showcase-frame svg{display:block;width:100%;height:100%}.gallery-showcase-frame :is(rect,path){transform-box:fill-box;transform-origin:center}.gallery-showcase-shape{opacity:0;animation:gallery-shape-pop .42s cubic-bezier(.34,1.45,.64,1) forwards}@keyframes gallery-shape-pop{0%{opacity:0;transform:scale(.15)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}#gallery-menu{position:fixed;bottom:1.5rem;left:50%;z-index:20;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;width:min(100% - 2rem,40rem);transform:translate(-50%)}#gallery-menu button{border:1px solid color-mix(in srgb,var(--fluor) 55%,transparent);background:#000000b8;color:var(--fluor);padding:.55rem .9rem;font-family:inherit;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}#gallery-menu button:hover{background:color-mix(in srgb,var(--fluor) 18%,black);box-shadow:0 0 18px color-mix(in srgb,var(--fluor) 35%,transparent)}#gallery-menu button:active,#gallery-menu button.is-active{color:var(--void);background:var(--fluor);box-shadow:0 0 20px color-mix(in srgb,var(--fluor) 45%,transparent)}#gallery-menu button.is-active:hover{color:var(--void);background:var(--fluor)}.hash-element{position:relative;width:128px;height:128px;border:1px solid color-mix(in srgb,var(--fluor) 28%,transparent);background:#000000eb;box-shadow:0 0 16px color-mix(in srgb,var(--fluor) 12%,transparent);cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hash-element:hover{border-color:var(--fluor);box-shadow:0 0 22px color-mix(in srgb,var(--fluor) 45%,transparent)}.hash-element-active{border-color:var(--fluor);box-shadow:0 0 28px color-mix(in srgb,var(--fluor) 55%,transparent),0 0 48px color-mix(in srgb,var(--fluor) 22%,transparent)}.hash-element-number{position:absolute;top:.45rem;right:.5rem;margin:0;font-size:.62rem;letter-spacing:.14em;color:color-mix(in srgb,var(--fluor) 80%,white)}.hash-element-art{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:1.35rem .85rem 1.1rem}.hash-element-art svg{width:72px;height:72px;display:block}.hash-element-label{position:absolute;left:0;right:0;bottom:.45rem;margin:0;text-align:center;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:#ffffffb8}@media(max-width:768px){.gallery-intro{display:none}.gallery-showcase{top:auto;right:auto;left:50%;bottom:5.75rem;width:min(13rem,90vw);transform:translate(-50%)}}.gallery-showcase.is-empty .gallery-showcase-frame{opacity:.35}#gallery-container.is-empty,#gallery-menu.is-hidden{display:none}@media(prefers-reduced-motion:reduce){.gallery-showcase-frame.is-jumping{transform:none}.gallery-showcase-shape,.gallery-showcase-details.is-updating .gallery-showcase-detail dd{animation:none;opacity:1;transform:none}}
