.infinite-menu{position:relative;width:100%;height:100%;overflow:hidden;outline:none;container-type:inline-size;color:var(--infinite-menu-text);-webkit-tap-highlight-color:transparent}.infinite-menu:focus-visible{box-shadow:inset 0 0 0 2px var(--infinite-menu-text)}.infinite-menu__canvas{position:absolute;inset:0;display:block;width:100%;height:100%;cursor:grab;touch-action:none}.infinite-menu__canvas:active{cursor:grabbing}.infinite-menu__info{position:absolute;inset:0;pointer-events:none}.infinite-menu__title,.infinite-menu__description,.infinite-menu__action{transition:opacity .45s ease,transform .45s cubic-bezier(.22,1,.36,1)}.infinite-menu__title{position:absolute;top:50%;right:calc(50% + var(--infinite-menu-tile,160px) + 28px);max-width:calc(50% - var(--infinite-menu-tile,160px) - 48px);margin:0;font-size:clamp(1.2rem,calc((50cqw - var(--infinite-menu-tile,160px)) * .2),3.4rem);font-weight:600;line-height:1.05;letter-spacing:-.03em;text-align:right;text-shadow:var(--infinite-menu-shadow);transform:translateY(-50%);text-wrap:balance}.infinite-menu__description{position:absolute;top:50%;left:calc(50% + var(--infinite-menu-tile,160px) + 28px);max-width:min(22ch,calc(50% - var(--infinite-menu-tile,160px) - 48px));margin:0;font-size:clamp(.85rem,1.5cqw,1.05rem);line-height:1.55;text-shadow:var(--infinite-menu-shadow);opacity:.72;transform:translateY(-50%)}.infinite-menu__action{position:absolute;bottom:7%;left:50%;display:grid;place-items:center;width:52px;height:52px;padding:0;border:none;border-radius:50%;background:var(--infinite-menu-accent);color:var(--infinite-menu-on-accent);cursor:pointer;pointer-events:auto;transform:translateX(-50%)}.infinite-menu__action:hover{transform:translateX(-50%)scale(1.06)}.infinite-menu__action:focus-visible{outline:2px solid var(--infinite-menu-accent);outline-offset:3px}.infinite-menu__info[data-moving=true] .infinite-menu__title{opacity:0;transform:translate(16px,-50%);transition-duration:.18s}.infinite-menu__info[data-moving=true] .infinite-menu__description{opacity:0;transform:translate(-16px,-50%);transition-duration:.18s}.infinite-menu__info[data-moving=true] .infinite-menu__action{opacity:0;pointer-events:none;transform:translate(-50%,16px)scale(.6);transition-duration:.18s}.infinite-menu__info[data-layout=stacked] .infinite-menu__title{top:auto;right:88px;bottom:52px;left:20px;max-width:none;font-size:clamp(1.3rem,6cqw,1.8rem);text-align:left;transform:none}.infinite-menu__info[data-layout=stacked] .infinite-menu__description{top:auto;right:88px;bottom:22px;left:20px;max-width:36ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:none}.infinite-menu__info[data-layout=stacked] .infinite-menu__action{right:20px;bottom:22px;left:auto;transform:none}.infinite-menu__info[data-layout=stacked] .infinite-menu__action:hover{transform:scale(1.06)}.infinite-menu__info[data-layout=stacked][data-moving=true] .infinite-menu__title,.infinite-menu__info[data-layout=stacked][data-moving=true] .infinite-menu__description{transform:translateY(12px)}.infinite-menu__info[data-layout=stacked][data-moving=true] .infinite-menu__action{transform:translateY(12px)scale(.6)}.infinite-menu__viewer{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:color-mix(in srgb,#000000 82%,transparent);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}.infinite-menu__viewer.is-open{opacity:1;visibility:visible;pointer-events:auto}html:not(.dark) .infinite-menu__viewer{background:color-mix(in srgb,#ffffff 88%,transparent)}.infinite-menu__viewer-img{max-width:100%;max-height:calc(100% - 84px);object-fit:contain;border-radius:var(--radius-sm);box-shadow:0 24px 60px -20px rgba(0,0,0,.6);transform:scale(.96);transition:transform .28s cubic-bezier(.22,1,.36,1)}.infinite-menu__viewer.is-open .infinite-menu__viewer-img{transform:scale(1)}.infinite-menu__viewer-close{position:absolute;bottom:7%;left:50%;display:grid;place-items:center;width:52px;height:52px;padding:0;border:none;border-radius:50%;background:var(--infinite-menu-accent);color:var(--infinite-menu-on-accent);cursor:pointer;transform:translateX(-50%);transition:transform .2s ease}.infinite-menu__viewer-close:hover{transform:translateX(-50%)scale(1.06)}.infinite-menu__viewer-close:focus-visible{outline:2px solid var(--infinite-menu-accent);outline-offset:3px}.infinite-menu__viewer-close svg{width:22px;height:22px}.infinite-menu[data-viewer] .infinite-menu__info{opacity:0;pointer-events:none;transition:opacity .2s ease}.infinite-menu[data-viewer] .infinite-menu__canvas{cursor:default}@media(max-width:767px){.infinite-menu__viewer-close{right:20px;bottom:22px;left:auto;transform:none}.infinite-menu__viewer-close:hover{transform:scale(1.06)}}.lens-page{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}.lens-stage{position:relative;width:100%;flex:auto;min-height:320px}.lens-empty{display:grid;flex:auto;place-items:center;min-height:320px;color:var(--text-secondary-light,#525252);font-size:1rem}html.dark .lens-empty{color:var(--text-secondary-dark,#a3a3a3)}.lens-fallback{padding:1rem;overflow:auto}body.lens-viewport{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}body.lens-viewport>header,body.lens-viewport>footer{flex:none}body.lens-viewport>main{display:flex;flex-direction:column;flex:auto;min-height:0;padding:0}body.lens-viewport>footer{margin-top:0}body.lens-viewport .lens-page{flex:auto;min-height:0}