@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&display=swap";*{box-sizing:border-box;margin:0;padding:0}html,body{color:#fff;background-color:#000;width:100vw;height:100vh;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}#root{width:100%;height:100%}.App{width:100vw;height:100vh;overflow:hidden}#infinite-grid-menu-canvas{cursor:grab;outline:none;width:100%;height:100%;position:relative;overflow:hidden}#infinite-grid-menu-canvas:active{cursor:grabbing}.action-button{z-index:10;cursor:pointer;color:#000;background:#66fcf1;border:none;border-radius:50%;place-content:center;width:96px;height:96px;font-family:inherit;font-weight:600;transition:background .3s,transform .2s;display:grid;position:absolute;left:50%;box-shadow:0 0 0 10px #0b0c10}.action-button__text{pointer-events:none;border-radius:50%;animation:8s linear infinite ab-text-rotation;position:absolute;inset:0}.action-button__text>span{transform:rotate(calc(22.5deg * var(--i)));letter-spacing:.02em;text-transform:uppercase;text-align:center;font-size:10px;font-weight:800;line-height:1;position:absolute;inset:7px}.action-button__circle{color:#66fcf1;z-index:1;background:#000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:relative;overflow:hidden}.action-button__icon{flex-shrink:0;width:14px;height:14px}.action-button__icon--copy{position:absolute;transform:translate(-150%,150%)}.action-button:hover{color:#66fcf1;background:#000;transform:scale(1.08)}.action-button:hover .action-button__circle{color:#000;background:#66fcf1}.action-button:hover .action-button__icon:not(.action-button__icon--copy){transition:transform .3s ease-in-out;transform:translate(150%,-150%)}.action-button:hover .action-button__icon--copy{transition:transform .3s ease-in-out .1s;transform:translate(0)}@keyframes ab-text-rotation{to{rotate:360deg}}.face-title{-webkit-user-select:none;user-select:none;text-align:right;text-shadow:0 2px 16px #000000f2,0 4px 32px #000000b3;font-size:3rem;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(calc(-50% - 36vh - 60px),-50%)}@keyframes fade-from-depth{0%{opacity:0;transform-origin:50%;filter:blur(8px);scale:.82}to{opacity:1;filter:blur();scale:1}}#infinite-grid-menu-canvas{animation:1.4s cubic-bezier(.16,1,.3,1) forwards fade-from-depth}.face-title.active{opacity:1;filter:blur();pointer-events:auto;transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1),filter .65s cubic-bezier(.16,1,.3,1);transform:translate(calc(-50% - 36vh - 60px),-50%)scale(1)}.face-title.inactive{pointer-events:none;opacity:0;filter:blur(6px);transition:opacity .18s,transform .18s,filter .18s;transform:translate(calc(-50% - 36vh - 60px),-50%)scale(.8)}.face-description{-webkit-user-select:none;user-select:none;text-shadow:0 1px 10px #000000f2,0 2px 20px #000c;max-width:15ch;font-size:1.2rem;position:absolute;top:50%;left:50%;transform:translate(calc(36vh - 50% + 60px),-50%)}.face-description.active{opacity:1;filter:blur();pointer-events:auto;transition:opacity .7s cubic-bezier(.16,1,.3,1) 50ms,transform .7s cubic-bezier(.16,1,.3,1) 50ms,filter .7s cubic-bezier(.16,1,.3,1) 50ms;transform:translate(calc(36vh - 50% + 60px),-50%)scale(1)}.face-description.inactive{pointer-events:none;opacity:0;filter:blur(6px);transition:opacity .18s,transform .18s,filter .18s;transform:translate(calc(36vh - 50% + 60px),-50%)scale(.8)}.action-button{position:absolute;top:50%;left:50%}.action-button.active{opacity:1;filter:blur();pointer-events:auto;transition:opacity .6s cubic-bezier(.16,1,.3,1) .1s,transform .6s cubic-bezier(.16,1,.3,1) .1s,filter .6s cubic-bezier(.16,1,.3,1) .1s;transform:translate(-50%,calc(36vh - 45px))scale(1)}.action-button.inactive{opacity:0;filter:blur(8px);pointer-events:none;transition:opacity .15s,transform .15s,filter .15s;transform:translate(-50%,calc(36vh - 45px))scale(.5)}@media (width<=1024px){.face-title{text-align:center;top:15%;transform:translate(-50%,-50%)}.face-title.active{filter:blur();opacity:1;transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1),filter .65s cubic-bezier(.16,1,.3,1);transform:translate(-50%,-50%)scale(1)}.face-title.inactive{filter:blur(6px);opacity:0;transition:opacity .18s,transform .18s,filter .18s;transform:translate(-50%,-50%)scale(.8)}.face-description{text-align:center;max-width:92vw;font-size:1rem;line-height:1.45;top:auto;bottom:3%;transform:translate(-50%)}.face-description.active{filter:blur();opacity:1;pointer-events:auto;transition:opacity .7s cubic-bezier(.16,1,.3,1) 50ms,transform .7s cubic-bezier(.16,1,.3,1) 50ms,filter .7s cubic-bezier(.16,1,.3,1) 50ms;transform:translate(-50%)scale(1)}.face-description.inactive{filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s,filter .18s;transform:translate(-50%)scale(.82)}.action-button{top:73%;left:50%}.action-button.active{filter:blur();opacity:1;pointer-events:auto;transition:opacity .6s cubic-bezier(.16,1,.3,1) .1s,transform .6s cubic-bezier(.16,1,.3,1) .1s,filter .6s cubic-bezier(.16,1,.3,1) .1s;transform:translate(-50%,-50%)scale(1)}.action-button.inactive{filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .15s,transform .15s,filter .15s;transform:translate(-50%,-50%)scale(.5)}}.gallery-hint{z-index:50;-webkit-backdrop-filter:blur(6px);cursor:pointer;-webkit-user-select:none;user-select:none;background:#0000009e;flex-direction:column;justify-content:center;align-items:center;animation:.7s forwards hint-appear;display:flex;position:absolute;inset:0}.gallery-hint--fading{pointer-events:none;animation:.5s forwards hint-disappear!important}@keyframes hint-appear{0%{opacity:0}to{opacity:1}}@keyframes hint-disappear{0%{opacity:1}to{opacity:0}}.hint-gesture{width:150px;height:80px;margin-bottom:32px;position:relative}.hint-trail{background:linear-gradient(90deg,#66fcf1e6,#66fcf10d);border-radius:3px;width:0;height:3px;animation:2.4s ease-in-out infinite hint-trail;position:absolute;top:50%;left:34px;transform:translateY(-50%)}@keyframes hint-trail{0%,20%{opacity:0;width:0}55%{opacity:1;width:88px}80%{opacity:.6;width:88px}90%,to{opacity:0;width:88px}}.hint-cursor{width:30px;height:30px;animation:2.4s ease-in-out infinite hint-cursor-move;position:absolute;top:50%;left:6px;transform:translateY(-50%)}@keyframes hint-cursor-move{0%{opacity:1;transform:translateY(-50%)translate(0)scale(1)}12%{opacity:1;transform:translateY(-50%)translate(0)scale(.78)}22%{opacity:1;transform:translateY(-50%)translate(0)scale(1)}72%{opacity:1;transform:translateY(-50%)translate(88px)scale(1)}85%{opacity:0;transform:translateY(-50%)translate(88px)scale(1)}86%{opacity:0;transform:translateY(-50%)translate(0)scale(1)}to{opacity:1;transform:translateY(-50%)translate(0)scale(1)}}.hint-cursor-inner{background:#66fcf1;border-radius:50%;position:absolute;inset:5px;box-shadow:0 0 14px #66fcf1e6,0 0 28px #66fcf166}.hint-ring{border:2px solid #66fcf1a6;border-radius:50%;animation:2.4s ease-in-out infinite hint-ring-pulse;position:absolute;inset:0}.hint-ring--2{border-color:#66fcf14d;animation-delay:.18s;inset:-8px}@keyframes hint-ring-pulse{0%,5%{opacity:.7;transform:scale(1)}18%{opacity:0;transform:scale(2.2)}20%,to{opacity:0;transform:scale(1)}}.hint-label{color:#fff;text-align:center;letter-spacing:.04em;text-shadow:0 2px 12px #000000e6;margin:0 0 10px;font-size:1.3rem;font-weight:700}.hint-sublabel{color:#fff9;text-align:center;letter-spacing:.02em;margin:0 0 28px;font-size:.92rem}.hint-tap{color:#66fcf1;text-align:center;letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.78rem;animation:1.6s ease-in-out infinite hint-tap-blink}@keyframes hint-tap-blink{0%,to{opacity:.85}50%{opacity:.25}}.gallery-welcome{z-index:60;-webkit-backdrop-filter:blur(12px);cursor:pointer;-webkit-user-select:none;user-select:none;background:#000000e6;flex-direction:column;justify-content:center;align-items:center;animation:.8s forwards hint-appear;display:flex;position:absolute;inset:0}.gallery-welcome--fading{pointer-events:none;animation:.6s forwards hint-disappear!important}.welcome-content{text-align:center;flex-direction:column;align-items:center;max-width:600px;padding:0 2rem;animation:1s cubic-bezier(.16,1,.3,1) forwards welcome-slide-up;display:flex;transform:translateY(20px)}@keyframes welcome-slide-up{to{transform:translateY(0)}}.welcome-tag{color:#66fcf1;text-transform:uppercase;letter-spacing:.1em;margin:0 0 1rem;font-size:.85rem;font-weight:600}.welcome-title{color:#fff;text-shadow:0 4px 20px #00000080;margin:0;font-size:3.5rem;font-weight:800;line-height:1.1}.welcome-divider{background:#66fcf1;border-radius:2px;width:40px;height:3px;margin:1.5rem 0}.welcome-subtitle{color:#ffffffbf;margin:0 0 3rem;font-size:1.15rem;line-height:1.6}.welcome-enter{color:#66fcf1;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;font-weight:600;animation:1.8s ease-in-out infinite hint-tap-blink}.welcome-logo{letter-spacing:.25em;color:#0000;-webkit-text-stroke:1px #fff6;text-transform:uppercase;-webkit-user-select:none;user-select:none;font-size:1.5rem;font-weight:900;animation:3s ease-in-out infinite logo-glow;position:absolute;bottom:40px}@keyframes logo-glow{0%,to{text-shadow:0 0 10px #66fcf133;-webkit-text-stroke:1px #fff6}50%{text-shadow:0 0 20px #66fcf199;-webkit-text-stroke:1px #66fcf1cc}}@media (width<=768px){.welcome-title{font-size:2.5rem}.welcome-subtitle{font-size:1rem}}.staggered-menu-wrapper{z-index:40;pointer-events:none;width:100%;height:100%;position:relative}.staggered-menu-wrapper.fixed-wrapper{z-index:40;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.staggered-menu-header{pointer-events:none;z-index:20;background:0 0;justify-content:space-between;align-items:center;width:100%;padding:2em;animation:1s cubic-bezier(.16,1,.3,1) .3s both fade-from-depth;display:flex;position:absolute;top:0;left:0}.staggered-menu-header>*{pointer-events:auto}.sm-logo{-webkit-user-select:none;user-select:none;align-items:center;display:flex}.sm-logo-img{-o-object-fit:contain;object-fit:contain;width:auto;height:32px;display:block}.sm-toggle{cursor:pointer;color:#e9e9ef;background:0 0;border:none;border-radius:6px;align-items:center;gap:.3rem;margin:-12px -16px;padding:12px 16px;font-weight:500;line-height:1;display:inline-flex;position:relative;overflow:visible}.sm-toggle:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #fffa}.sm-line:last-of-type{margin-top:6px}.sm-toggle-textWrap{white-space:nowrap;height:1em;width:var(--sm-toggle-width,auto);min-width:var(--sm-toggle-width,auto);display:inline-block;position:relative;overflow:hidden}.sm-toggle-textInner{flex-direction:column;line-height:1;display:flex}.sm-toggle-line{height:1em;line-height:1;display:block}.sm-icon{will-change:transform;flex:0 0 14px;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex;position:relative}.sm-panel-itemWrap{line-height:1;position:relative;overflow:hidden}.sm-icon-line{will-change:transform;background:currentColor;border-radius:2px;width:100%;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sm-line{display:none!important}.staggered-menu-panel{-webkit-backdrop-filter:blur(12px);z-index:10;pointer-events:auto;background:#fff;flex-direction:column;width:clamp(260px,38vw,420px);height:100%;padding:6em 2em 2em;display:flex;position:absolute;top:0;right:0;overflow-y:auto}[data-position=left] .staggered-menu-panel{left:0;right:auto}.sm-prelayers{pointer-events:none;z-index:5;width:clamp(260px,38vw,420px);position:absolute;top:0;bottom:0;right:0}[data-position=left] .sm-prelayers{left:0;right:auto}.sm-prelayer{width:100%;height:100%;position:absolute;top:0;right:0;transform:translate(0)}.sm-panel-inner{flex-direction:column;flex:1;gap:1.25rem;display:flex}.sm-socials{flex-direction:column;gap:.75rem;margin-top:auto;padding-top:2rem;display:flex}.sm-socials-title{color:var(--sm-accent,red);margin:0;font-size:1rem;font-weight:500}.sm-socials-list{flex-flow:wrap;align-items:center;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.sm-socials-list .sm-socials-link{opacity:1}.sm-socials-list:hover .sm-socials-link{opacity:.35}.sm-socials-list:hover .sm-socials-link:hover{opacity:1}.sm-socials-link:focus-visible{outline:2px solid var(--sm-accent,red);outline-offset:3px}.sm-socials-list:focus-within .sm-socials-link{opacity:.35}.sm-socials-list:focus-within .sm-socials-link:focus-visible{opacity:1}.sm-socials-link{color:#111;padding:2px 0;font-size:1.2rem;font-weight:500;text-decoration:none;transition:color .3s,opacity .3s;display:inline-block;position:relative}.sm-socials-link:hover{color:var(--sm-accent,red)}.sm-panel-title{color:#fff;text-transform:uppercase;margin:0;font-size:1rem;font-weight:600}.sm-panel-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.sm-panel-item{color:#000;cursor:pointer;letter-spacing:-2px;text-transform:uppercase;padding-right:1.4em;font-size:3.5rem;font-weight:600;line-height:1;text-decoration:none;transition:background .25s,color .25s;display:inline-block;position:relative}.staggered-menu-panel .sm-socials-list .sm-socials-link{opacity:1;transition:opacity .3s}.staggered-menu-panel .sm-socials-list:hover .sm-socials-link:not(:hover),.staggered-menu-panel .sm-socials-list:focus-within .sm-socials-link:not(:focus-visible){opacity:.35}.staggered-menu-panel .sm-socials-list .sm-socials-link:hover,.staggered-menu-panel .sm-socials-list .sm-socials-link:focus-visible{opacity:1}.sm-panel-itemLabel{will-change:transform;transform-origin:50% 100%;display:inline-block}.sm-panel-item:hover{color:var(--sm-accent,#5227ff)}.sm-panel-list[data-numbering]{counter-reset:smItem}.sm-panel-list[data-numbering] .sm-panel-item:after{counter-increment:smItem;content:counter(smItem, decimal-leading-zero);color:var(--sm-accent,#5227ff);letter-spacing:0;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--sm-num-opacity,0);font-size:18px;font-weight:400;position:absolute;top:.1em;right:2.8em}@media (width<=1024px){.staggered-menu-panel{width:100%;left:0;right:0}.staggered-menu-wrapper[data-open] .sm-logo-img{filter:invert()}.staggered-menu-wrapper[data-open] .sm-toggle{color:#000}.sm-toggle{margin:-8px -12px;padding:8px 12px}}@media (width<=640px){.staggered-menu-panel{width:100%;left:0;right:0}.staggered-menu-wrapper[data-open] .sm-logo-img{filter:invert()}.staggered-menu-wrapper[data-open] .sm-toggle{color:#000}.sm-toggle{margin:-8px -12px;padding:8px 12px}}
