.viewer-wrap[data-v-c7f488d2]{position:relative;display:flex;flex:1;min-height:0;width:100%;height:100%}.category-filter[data-v-c7f488d2]{position:relative;margin-top:0}.category-filter .btn[data-v-c7f488d2]{width:100%;display:flex;align-items:center;justify-content:center;text-align:center}.filter-menu[data-v-c7f488d2]{position:absolute;left:0;right:0;top:calc(100% + 6px);font-size:.8rem;background:transparent;border:none;padding:0;z-index:12;box-sizing:border-box}.filter-list[data-v-c7f488d2]{max-height:26rem;overflow:auto;padding:0}.filter-menu[data-v-c7f488d2]{overflow:hidden}.filter-item[data-v-c7f488d2]{display:flex;align-items:center;gap:.3rem;padding:.1rem 0}.filter-item input[type=checkbox][data-v-c7f488d2]{margin:0}.filter-actions[data-v-c7f488d2]{display:flex;flex-direction:column;gap:.4rem;justify-content:flex-start;margin-top:.3rem}.filter-actions .btn[data-v-c7f488d2]{margin-left:0}.inspect-panel .filter-actions[data-v-c7f488d2]{width:calc(100% - 1.2rem);margin:.3rem .6rem 0}.filter-actions .btn[data-v-c7f488d2]{font-size:.7rem;height:1.2rem;padding:0 .3rem;width:100%}.inspect-panel .filter-actions .btn[data-v-c7f488d2]{border-left:1px solid var(--basegrey);border-top-left-radius:6px;border-bottom-left-radius:6px}.loading-overlay[data-v-c7f488d2]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:transparent;z-index:10;pointer-events:none}.lottie-host[data-v-c7f488d2]{width:120px;height:120px;pointer-events:none}.canvas-host[data-v-c7f488d2]{flex:1;min-height:0;width:100%;height:100%;background:var(--baseblack)}.panel-toggle[data-v-c7f488d2]{position:absolute;left:1rem;top:0rem;display:flex;align-items:center;gap:.5rem;background:#00000040;color:var(--basewhite);border:1px solid var(--basegrey);padding:.5rem .75rem;border-radius:8px}.inspect-panel[data-v-c7f488d2]{position:absolute;left:0;top:1rem;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;background:transparent;color:var(--basewhite);border:none;padding:0 .6rem 0 0;border-radius:0;font-size:.85rem;width:10rem;height:calc(100% - 2rem);overflow:visible}.btn[data-v-c7f488d2]{display:inline-flex;align-items:center;justify-content:center;height:1.8rem;font-size:.85rem;border:1px solid var(--basegrey);background:#00000060;color:var(--basewhite);border-radius:6px}.inspect-panel .btn[data-v-c7f488d2]{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.btn-primary[data-v-c7f488d2]{font-weight:500}.btn-secondary[data-v-c7f488d2]{font-size:.8rem;height:.5rem}.btn-square[data-v-c7f488d2]{width:auto;min-width:4rem;padding:0 .5rem}.inspect-panel .btn[data-v-c7f488d2]{transition:box-shadow .25s}.inspect-panel .btn[data-v-c7f488d2]:hover{box-shadow:0 0 6px 1px #ffffffc0}.toolbar-grid>.cell>.btn-primary[data-v-c7f488d2]:active{border:2px solid var(--basewhite);border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.ortho-views[data-v-c7f488d2]{display:flex;flex-direction:column;gap:.3rem;width:90%;margin:.3rem auto 0}.inspect-panel .ortho-views[data-v-c7f488d2]{width:calc(100% - 1.2rem);margin:.3rem .6rem 0}.view-row[data-v-c7f488d2]{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem;width:100%}.view-row .btn-secondary[data-v-c7f488d2]{width:100%;text-align:center}.material-quick[data-v-c7f488d2]{display:flex;align-items:center;gap:.6rem}.toolbar-grid[data-v-c7f488d2]{display:flex;flex-wrap:nowrap;gap:.4rem;align-items:center;width:100%}.toolbar-grid[data-v-c7f488d2]{flex-direction:column}.toolbar-grid .cell[data-v-c7f488d2],.toolbar-grid .cell .btn[data-v-c7f488d2]{width:100%}.toolbar-grid .cell>.btn-secondary[data-v-c7f488d2]{width:100%}.sub-tools[data-v-c7f488d2]{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:.3rem;width:100%;text-align:center}.inspect-panel .sub-tools .sub-label[data-v-c7f488d2]{font-size:.7rem;line-height:1.2rem;color:var(--basewhite)}.inspect-panel .sub-tools .color-input[data-v-c7f488d2]{width:3.6rem;height:1.2rem;padding:0;border:none;box-shadow:none;background:transparent;border-radius:4px;-webkit-appearance:none;appearance:none}.inspect-panel .sub-tools .color-input[data-v-c7f488d2]::-webkit-color-swatch-wrapper{padding:0}.inspect-panel .sub-tools .color-input[data-v-c7f488d2]::-webkit-color-swatch{border:none;border-radius:4px}.ortho-inline[data-v-c7f488d2]{display:flex;gap:.4rem;align-items:center;position:relative;width:100%;padding-right:6.8rem}.ortho-inline .ortho-views[data-v-c7f488d2]{position:absolute;right:0;top:50%;transform:translateY(-50%);width:auto;margin:0}.ortho-views .btn-secondary[data-v-c7f488d2]{font-size:.7rem;height:1.2rem;padding:0 .3rem}.inspect-panel .ortho-views .btn-secondary[data-v-c7f488d2]{border-left:1px solid var(--basegrey);border-top-left-radius:6px;border-bottom-left-radius:6px}.secondary-ortho[data-v-c7f488d2]{grid-column:2;grid-row:2;align-self:start;min-height:0rem}.secondary-isolate[data-v-c7f488d2]{grid-column:3;grid-row:2;align-self:start}.cell[data-v-c7f488d2]{display:flex;flex-direction:column;align-items:stretch}.toolbar-grid .cell>.btn-primary[data-v-c7f488d2]{width:100%}.secondary-ortho .ortho-views[data-v-c7f488d2]{width:100%;margin-top:0}.secondary-isolate .btn-secondary[data-v-c7f488d2]{width:100%}.row-spacer[data-v-c7f488d2]{flex:1}.isolate-btn[data-v-c7f488d2]{padding:.1rem .45rem;font-size:.8rem;border:1px solid var(--basegrey);background:#00000060;color:var(--basewhite);border-radius:6px}.help-btn[data-v-c7f488d2]{display:inline-flex;align-items:center;gap:.25rem;padding:0 .3rem;border:none;background:none;color:var(--basewhite);height:auto;min-height:1.4rem}.help-btn span[data-v-c7f488d2]{display:inline-block;font-size:.85rem;line-height:1.2}.help-btn img[data-v-c7f488d2]{width:.9rem;height:.9rem;display:inline-block;cursor:pointer}.help-modal[data-v-c7f488d2]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#000000b0;color:var(--basewhite);border:1px solid var(--basegrey);padding:1rem 1.2rem;border-radius:10px;z-index:10020;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.help-content h3[data-v-c7f488d2]{margin:0 0 .6rem;text-align:center}.help-content p[data-v-c7f488d2]{margin:.2rem 0}.help-content p small[data-v-c7f488d2]{line-height:1}.close-btn[data-v-c7f488d2]{display:block;margin:.8rem auto 0;padding:.2rem .8rem;border:1px solid var(--basegrey);background:#00000060;color:var(--basewhite);border-radius:6px}.color-panel[data-v-c7f488d2]{position:absolute;right:1rem;top:0rem;display:flex;align-items:center;gap:.5rem;background:#00000040;color:var(--basewhite);border:1px solid var(--basegrey);padding:.5rem .75rem;border-radius:8px}.group-modal[data-v-c7f488d2]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#000000b0;color:var(--basewhite);border:1px solid var(--basegrey);padding:.8rem 1rem;border-radius:10px;z-index:20}.group-content h3[data-v-c7f488d2]{margin:0 0 .6rem;text-align:center}.group-content .mini[data-v-c7f488d2]{width:100%;box-sizing:border-box}.group-members[data-v-c7f488d2]{max-height:12rem;overflow:auto;border:1px solid var(--basegrey);border-radius:6px;padding:.3rem;background:#1f1f1f}.select-item[data-v-c7f488d2]{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:.3rem;padding:2px}.select-text[data-v-c7f488d2]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shadow-panel[data-v-c7f488d2]{position:absolute;right:1rem;top:4.5rem;display:grid;grid-template-columns:1fr 1fr;row-gap:.4rem;column-gap:.6rem;background:#00000040;color:var(--basewhite);border:1px solid var(--basegrey);padding:.6rem .75rem;border-radius:8px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.shadow-panel .inline[data-v-c7f488d2]{display:flex;align-items:center;gap:.4rem}.shadow-panel input[type=number][data-v-c7f488d2]{width:6rem}.shadow-panel select[data-v-c7f488d2]{height:2rem}.color-panel input[type=color][data-v-c7f488d2]{width:2rem;height:2rem;padding:0;border:none;background:transparent}.error-overlay[data-v-c7f488d2]{position:absolute;left:50%;top:1rem;transform:translate(-50%);background:#00000080;color:var(--basewhite);border:1px solid var(--basered);padding:.75rem 1rem;border-radius:8px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.error-overlay .small[data-v-c7f488d2]{font-size:.9rem;color:var(--basegrey)}.tools-panel[data-v-c7f488d2]{position:absolute;left:50%;top:.5rem;transform:translate(-50%);background:#00000040;color:var(--basewhite);border:1px solid var(--basegrey);padding:.5rem .75rem;border-radius:8px;z-index:12;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.tools-row[data-v-c7f488d2]{display:flex;align-items:center;gap:.6rem}.part-info-panel[data-v-c7f488d2]{position:absolute;right:1rem;top:1rem;background:#00000040;color:var(--basewhite);border:1px solid var(--basegrey);padding:.5rem .75rem;border-radius:8px;width:18rem;box-sizing:border-box;overflow-wrap:anywhere;font-size:.95rem;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.debug-panel[data-v-c7f488d2]{position:absolute;right:1rem;top:16rem;background:#00000040;color:var(--basewhite);border:1px solid var(--basegrey);padding:.5rem .75rem;border-radius:8px;max-width:26rem;overflow-wrap:anywhere;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.bottom-swiper[data-v-c7f488d2]{position:absolute;left:50%;transform:translate(-50%);width:70%;bottom:.8rem;background:transparent;color:var(--basewhite);border:none;padding:0 1.2rem;overflow:visible}.swiper-track[data-v-c7f488d2]{display:flex;gap:.5rem;overflow-x:auto;padding:.4rem 1.2rem;-ms-overflow-style:none;scrollbar-width:none}.swiper-track.no-snap[data-v-c7f488d2]{scroll-snap-type:none}.swiper-track[data-v-c7f488d2]::-webkit-scrollbar{display:none}.swiper-arrow[data-v-c7f488d2]{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--basewhite);padding:0;font-size:1.1rem;cursor:pointer;outline:none;box-shadow:none}.swiper-arrow[data-v-c7f488d2]:focus{outline:none;box-shadow:none}.swiper-arrow[data-v-c7f488d2]:focus-visible{outline:none;box-shadow:none}.swiper-arrow.left[data-v-c7f488d2]{left:-1.2rem}.swiper-arrow.right[data-v-c7f488d2]{right:-1.2rem}.swiper-arrow[data-v-c7f488d2]:disabled{opacity:.3;cursor:default}.swiper-dots[data-v-c7f488d2]{display:flex;align-items:center;justify-content:center;gap:.3rem;margin-top:.2rem}.swiper-dots .dot[data-v-c7f488d2]{width:6px;height:6px;border-radius:50%;background:#888}.swiper-dots .dot.active[data-v-c7f488d2]{background:var(--basewhite)}.group-card[data-v-c7f488d2]{flex:0 0 auto;min-width:14rem;max-width:20rem;background:#00000060;border:1px solid var(--basegrey);border-radius:6px;padding:.5rem;cursor:pointer;user-select:none;-webkit-user-select:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);margin:0 .2rem}.group-card.selected[data-v-c7f488d2]{border:2px solid #00ff6a;box-shadow:0 0 0 2px #00ff6a40 inset}.group-title[data-v-c7f488d2],.group-desc[data-v-c7f488d2]{user-select:none;-webkit-user-select:none}.group-card[data-v-c7f488d2]:hover{background:#00000060;box-shadow:0 0 6px 1px #ffffffc0}.group-title[data-v-c7f488d2]{font-weight:600;margin-bottom:.2rem;font-size:.85rem}.group-desc[data-v-c7f488d2]{font-size:.75rem;color:var(--basegrey);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.gallery-tab[data-v-c7f488d2]{position:absolute;right:0;top:1rem;writing-mode:vertical-rl;text-orientation:mixed;font-size:.8rem;width:1.8rem;padding:.4rem 0;background:#00000040;color:var(--basewhite);border-left:1px solid var(--basegrey);border-top:1px solid var(--basegrey);border-bottom:1px solid var(--basegrey);border-right:none;border-radius:8px 0 0 8px}.settings-tab[data-v-c7f488d2]{position:absolute;left:0;top:1rem;writing-mode:vertical-rl;text-orientation:mixed;font-size:.8rem;width:1.8rem;padding:.4rem 0;background:#00000040;color:var(--basewhite);border-right:1px solid var(--basegrey);border-top:1px solid var(--basegrey);border-bottom:1px solid var(--basegrey);border-left:none;border-radius:0 8px 8px 0}.gallery-panel[data-v-c7f488d2]{position:absolute;right:0;top:1rem;background:#00000040;color:var(--basewhite);border-left:1px solid var(--basegrey);border-top:1px solid var(--basegrey);border-bottom:1px solid var(--basegrey);border-right:none;border-radius:8px 0 0 8px;padding:.5rem .75rem;box-sizing:border-box;transform:translate(100%);opacity:0;transition:transform .25s ease,opacity .25s ease;z-index:20;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;flex-direction:column}.gallery-panel.open[data-v-c7f488d2]{transform:translate(0);opacity:1}.gallery-header[data-v-c7f488d2]{display:flex;align-items:center;justify-content:flex-end}.gallery-header .close-link[data-v-c7f488d2]{background:transparent!important;border:none!important;color:var(--basewhite);font-size:.8rem;cursor:pointer;outline:none;box-shadow:none!important;-webkit-tap-highlight-color:transparent;appearance:none;display:inline;border-radius:0;padding:0;height:auto;line-height:normal}.gallery-header .close-link[data-v-c7f488d2]:focus,.gallery-header .close-link[data-v-c7f488d2]:focus-visible,.gallery-header .close-link[data-v-c7f488d2]:active{outline:none!important;box-shadow:none!important;background:transparent!important}.gallery-header .close-link[data-v-c7f488d2]:hover{background:transparent!important}.settings-header[data-v-c7f488d2]{display:flex;align-items:center;justify-content:flex-start}.settings-header .close-link[data-v-c7f488d2]{background:transparent;border:none;color:var(--basewhite);font-size:.8rem;cursor:pointer;outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent;appearance:none}.settings-header .close-link[data-v-c7f488d2]:focus,.settings-header .close-link[data-v-c7f488d2]:focus-visible,.settings-header .close-link[data-v-c7f488d2]:active{outline:none;box-shadow:none}.gallery-content[data-v-c7f488d2]{flex:1;overflow-y:auto;overflow-x:hidden;margin:.6rem 0;border-radius:6px}.photo-item[data-v-c7f488d2]{display:flex;align-items:center;justify-content:center;padding:.2rem;margin:.5rem;overflow:visible}.photo-img[data-v-c7f488d2]{max-width:100%;max-height:100%;width:100%;height:auto;object-fit:contain;border-radius:6px;transition:transform .2s ease,box-shadow .25s}.photo-item[data-v-c7f488d2]{cursor:pointer}.photo-img[data-v-c7f488d2]:hover{transform:scale(1.02);box-shadow:0 0 6px 1px #ffffffc0}.gallery-lightbox[data-v-c7f488d2]{position:fixed;inset:0;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10050}.lightbox-img[data-v-c7f488d2]{max-width:90vw;max-height:90vh;border-radius:8px;box-shadow:0 0 12px 2px #000000a0;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.lightbox-body[data-v-c7f488d2]{display:flex;flex-direction:column;align-items:center}.lightbox-body.anim-in-next[data-v-c7f488d2]{animation:lb-in-next-c7f488d2 .28s ease both}.lightbox-body.anim-in-prev[data-v-c7f488d2]{animation:lb-in-prev-c7f488d2 .28s ease both}.lightbox-body.anim-out-next[data-v-c7f488d2]{animation:lb-out-next-c7f488d2 .28s ease both}.lightbox-body.anim-out-prev[data-v-c7f488d2]{animation:lb-out-prev-c7f488d2 .28s ease both}@keyframes lb-in-next-c7f488d2{0%{transform:translate(100vw);opacity:0}to{transform:translate(0);opacity:1}}@keyframes lb-in-prev-c7f488d2{0%{transform:translate(-100vw);opacity:0}to{transform:translate(0);opacity:1}}@keyframes lb-out-next-c7f488d2{0%{transform:translate(0);opacity:1}to{transform:translate(-100vw);opacity:0}}@keyframes lb-out-prev-c7f488d2{0%{transform:translate(0);opacity:1}to{transform:translate(100vw);opacity:0}}.lightbox-caption[data-v-c7f488d2]{margin-top:8px;color:var(--basewhite);font-size:.8rem;background:transparent;border:none;padding:0;max-width:90vw}

:root{--moonstone:'ms:5a7c8eeff08d2d5f61b340398aae242a:v1';}